diff --git a/.github/workflows/nightly-build.yml b/.github/workflows/nightly-build.yml index 53c3923f9..807129178 100644 --- a/.github/workflows/nightly-build.yml +++ b/.github/workflows/nightly-build.yml @@ -19,43 +19,19 @@ jobs: ref: develop fetch-depth: 0 - - name: Check if nightly build needed - id: check - run: | - # Get the latest commit hash on develop - COMMIT_HASH=$(git rev-parse --short HEAD) - echo "commit-hash=$COMMIT_HASH" >> "$GITHUB_OUTPUT" - - # Check if we already built this commit as nightly - LAST_NIGHTLY_TAG=$(git tag -l "*dev*" --sort=-version:refname | head -1) - if [ -n "$LAST_NIGHTLY_TAG" ]; then - # Get the commit that the last nightly tag points to - LAST_NIGHTLY_COMMIT=$(git rev-list -n 1 $LAST_NIGHTLY_TAG) - CURRENT_COMMIT=$(git rev-parse HEAD) - if [ "$CURRENT_COMMIT" = "$LAST_NIGHTLY_COMMIT" ]; then - echo "should-build=false" >> "$GITHUB_OUTPUT" - echo "No new commits since last nightly build" - exit 0 - fi - fi + - name: Install uv + uses: astral-sh/setup-uv@v2 + with: + version: ${{ vars.UV_VERSION || '0.6.9' }} - # Generate nightly version - BASE_VERSION=$(python -c " - try: - import tomllib - except ImportError: - import tomli as tomllib - with open('packages/ragbits/pyproject.toml', 'rb') as f: - data = tomllib.load(f) - print(data['project']['version']) - ") - # Use timestamp for unique nightly version (PEP 440 compliant) - TIMESTAMP=$(date +%Y%m%d%H%M) - NIGHTLY_VERSION="${BASE_VERSION}.dev${TIMESTAMP}" + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.10" - echo "should-build=true" >> "$GITHUB_OUTPUT" - echo "nightly-version=$NIGHTLY_VERSION" >> "$GITHUB_OUTPUT" - echo "Will build nightly version: $NIGHTLY_VERSION" + - name: Check if nightly build needed + id: check + run: uv run scripts/check_nightly_build.py build-and-publish: needs: check-for-changes @@ -100,6 +76,7 @@ jobs: git commit -m "chore: update package versions for nightly build ${{ env.NIGHTLY_VERSION }}" git tag "${{ env.NIGHTLY_VERSION }}" git push origin "${{ env.NIGHTLY_VERSION }}" + git push origin develop env: GH_TOKEN: ${{ secrets.GH_TOKEN }} NIGHTLY_VERSION: ${{ needs.check-for-changes.outputs.nightly-version }} @@ -114,7 +91,11 @@ jobs: - name: Deploy nightly documentation shell: bash - run: uv run mike deploy --push nightly + run: | + git config user.name "ds-ragbits-robot" + git config user.email "ds-ragbits-robot@users.noreply.github.com" + git fetch origin gh-pages + uv run mike deploy --push --alias-type copy nightly env: GH_TOKEN: ${{ secrets.GH_TOKEN }} diff --git a/.github/workflows/publish-docs.yaml b/.github/workflows/publish-docs.yaml index de307fb8e..0dda20d56 100644 --- a/.github/workflows/publish-docs.yaml +++ b/.github/workflows/publish-docs.yaml @@ -15,6 +15,9 @@ jobs: contents: write steps: - uses: actions/checkout@v4 + with: + ref: gh-pages + fetch-depth: 1 - name: Deploy docs shell: bash diff --git a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml index 2f6068dec..a0d81276a 100644 --- a/.github/workflows/publish-pypi.yml +++ b/.github/workflows/publish-pypi.yml @@ -56,6 +56,7 @@ jobs: - name: Deploy documentation run: | - uv run mike deploy --push stable + git fetch origin gh-pages + uv run mike deploy --push --alias-type copy stable env: GH_TOKEN: ${{ secrets.GH_TOKEN }} diff --git a/docs/api_reference/agents/index.md b/docs/api_reference/agents/index.md index 2608a8eb4..70fbb771a 100644 --- a/docs/api_reference/agents/index.md +++ b/docs/api_reference/agents/index.md @@ -9,3 +9,9 @@ ::: ragbits.agents.AgentResultStreaming ::: ragbits.agents.a2a.server.create_agent_server + +::: ragbits.agents.post_processors.base + +::: ragbits.agents.post_processors.supervisor + +::: ragbits.agents.AgentRunContext diff --git a/docs/how-to/agents/define_and_use_agents.md b/docs/how-to/agents/define_and_use_agents.md index da3ccb6d5..14f23157f 100644 --- a/docs/how-to/agents/define_and_use_agents.md +++ b/docs/how-to/agents/define_and_use_agents.md @@ -32,7 +32,7 @@ Use a structured prompt to instruct the LLM. For details on writing prompts with from pydantic import BaseModel from ragbits.core.prompt import Prompt ---8<-- "examples/agents/tool_use.py:51:70" +--8<-- "examples/agents/tool_use.py:51:72" ``` ### Run the agent @@ -49,6 +49,33 @@ The result is an [AgentResult][ragbits.agents.AgentResult], which includes the m You can find the complete code example in the Ragbits repository [here](https://github.com/deepsense-ai/ragbits/blob/main/examples/agents/tool_use.py). +### Alternative approach: inheritance with `prompt_config` + +In addition to explicitly attaching a Prompt instance, Ragbits also supports defining agents through a combination of inheritance and the `@Agent.prompt_config` decorator. + +This approach lets you bind input (and optionally output) models directly to your agent class. The agent then derives its prompt structure automatically, without requiring a prompt argument in the constructor. + +```python +from pydantic import BaseModel +from ragbits.agents import Agent + +--8<-- "examples/agents/with_decorator.py:51:71" +``` + +The decorator can also accept an output type, allowing you to strongly type both the inputs and outputs of the agent. If you do not explicitly define a `user_prompt`, Ragbits will default to `{{ input }}`. + +Once defined, the agent class can be used directly, just like any other subclass of Agent: + +```python +import asyncio +from ragbits.agents import Agent +from ragbits.core.llms import LiteLLM + +--8<-- "examples/agents/with_decorator.py:73:84" +``` + +You can find the complete code example in the Ragbits repository [here](https://github.com/deepsense-ai/ragbits/blob/main/examples/agents/with_decorator.py). + ## Tool choice To control what tool is used at first call you could use `tool_choice` parameter. There are the following options: - "auto": let model decide if tool call is needed diff --git a/docs/how-to/agents/stream_downstream_agents.md b/docs/how-to/agents/stream_downstream_agents.md new file mode 100644 index 000000000..1cbaccb62 --- /dev/null +++ b/docs/how-to/agents/stream_downstream_agents.md @@ -0,0 +1,48 @@ +# How-To: Stream downstream agents with Ragbits + +Ragbits [Agent][ragbits.agents.Agent] can call other agents as tools, creating a chain of reasoning where downstream agents provide structured results to the parent agent. + +Using the streaming API, you can observe every chunk of output as it is generated, including tool calls, tool results, and final text - perfect for real-time monitoring or chat interfaces. + +## Define a simple tool + +A tool is just a Python function returning a JSON-serializable result. Here’s an example tool returning the current time for a given location: + +```python +import json + +--8<-- "examples/agents/downstream_agents_streaming.py:33:51" +``` + +## Create a downstream agent + +The downstream agent wraps the tool with a prompt, allowing the LLM to use it as a function. + +```python +from pydantic import BaseModel +from ragbits.core.prompt import Prompt +from ragbits.agents import Agent +from ragbits.agents._main import AgentOptions +from ragbits.core.llms import LiteLLM + +--8<-- "examples/agents/downstream_agents_streaming.py:54:82" +``` + +## Create a parent QA agent + +The parent agent can call downstream agents as tools. This lets the LLM reason and decide when to invoke the downstream agent. + +```python +--8<-- "examples/agents/downstream_agents_streaming.py:85:111" +``` + +## Streaming output from downstream agents + +Use `run_streaming` with an [AgentRunContext][ragbits.agents.AgentRunContext] to see output as it happens. Each chunk contains either text, a tool call, or a tool result. You can print agent names when they change and handle downstream agent events. + +```python +import asyncio +from ragbits.agents import DownstreamAgentResult + +--8<-- "examples/agents/downstream_agents_streaming.py:114:133" +``` diff --git a/docs/how-to/agents/use_post_processors.md b/docs/how-to/agents/use_post_processors.md new file mode 100644 index 000000000..33893e63e --- /dev/null +++ b/docs/how-to/agents/use_post_processors.md @@ -0,0 +1,167 @@ +# How-To: Use Post-Processors with Ragbits Agents + +Ragbits Agents can be enhanced with post-processors to intercept, validate, log, filter, and modify their outputs. In this guide you will learn how to: + +- Create custom post-processors (streaming and non-streaming) +- Attach post-processors to agents in run and streaming modes +- Use and configure the built-in Supervisor post-processor + +## Post-Processors Overview + +Ragbits provides two types of post-processors: + +- **PostProcessor**: Processes the final output after generation, ideal for end-of-run processing. +- **StreamingPostProcessor**: Processes outputs as they are generated, suitable for real-time applications. + +### Implementing a custom Post-Processor + +To create a custom post-processor, inherit from the appropriate base class ([`PostProcessor`][ragbits.agents.post_processors.base.PostProcessor] or [`StreamingPostProcessor`][ragbits.agents.post_processors.base.StreamingPostProcessor]) and implement the required method. + +#### Post-Processor Example + +A non-streaming post-processor applies transformations after the entire content is generated. + +```python +class TruncateProcessor(PostProcessor): + def __init__(self, max_length: int = 50) -> None: + self.max_length = max_length + + async def process(self, result, agent, options=None, context=None): + content = result.content + if len(content) > self.max_length: + content = content[:self.max_length] + "... [TRUNCATED]" + result.content = content + return result +``` + +#### Streaming Post-Processor Example + +A streaming post-processor can manipulate all information returned during generation, including text, tool calls, etc. + +```python +class UpperCaseStreamingProcessor(StreamingPostProcessor): + async def process_streaming(self, chunk, agent): + if isinstance(chunk, str): + return chunk.upper() + return chunk +``` + +## Using Post-Processors + +To use post-processors, pass them to the `run` or `run_streaming` methods of the `Agent` class. If you pass a non-streaming processor to `run_streaming`, set `allow_non_streaming=True`. This allows streaming processors to handle content piece by piece during generation, while non-streaming processors apply transformations after the entire output is generated. + +```python +async def main() -> None: + llm = LiteLLM("gpt-4.1-mini") + agent = Agent(llm=llm, prompt="You are a helpful assistant.") + post_processors = [ + UpperCaseStreamingProcessor(), + TruncateProcessor(max_length=50), + ] + stream_result = agent.run_streaming( + "Tell me about the history of AI.", + post_processors=post_processors, + allow_non_streaming=True + ) + async for chunk in stream_result: + if isinstance(chunk, str): + print(chunk, end="") + print(f"\nFinal answer:\n{stream_result.content}") +``` + +Post-processors offer a flexible way to tailor agent outputs, whether filtering content in real-time or transforming final outputs. + +## Built-in Post-Processors + +### Supervisor + +The [`SupervisorPostProcessor`][ragbits.agents.post_processors.supervisor.SupervisorPostProcessor] validates the agent’s final response against the executed tool calls and, if needed, triggers an automatic rerun with a correction prompt. It helps catch inconsistencies (e.g., when the response contradicts tool output) and guide the agent to refine its answer. The Supervisor is a non-streaming post-processor: it runs after generation has completed, validating the final output before optionally issuing a correction rerun. + +Key capabilities: + +- Validates the last assistant response using an LLM-powered validation prompt +- Optionally reruns the agent with a formatted correction prompt derived from validation feedback +- Supports preserving or pruning intermediate history +- Attaches validation metadata to the final `AgentResult` + +#### Quick start + +```python +from ragbits.agents import Agent +from ragbits.agents.post_processors import SupervisorPostProcessor +from ragbits.agents.post_processors.supervisor import HistoryStrategy +from ragbits.core.llms.litellm import LiteLLM + +llm = LiteLLM("gpt-4o-mini", use_structured_output=True) +supervisor = SupervisorPostProcessor( + llm=llm, + max_retries=2, + fail_on_exceed=False, + history_strategy=HistoryStrategy.PRESERVE, # Default HistoryStrategy is REMOVE +) + +agent = Agent( + llm=llm, + prompt="You are a helpful assistant.", +) + +result = await agent.run( + "What is the weather in Tokyo?", + post_processors=[supervisor], +) +``` + +#### Configuration + +- **llm**: LLM used for validation and formatting structured outputs +- **validation_prompt**: Optional custom prompt class describing the validation output schema +- **correction_prompt**: Optional format string used to create a correction message from validation output +- **max_retries**: How many times to attempt correction-driven reruns +- **fail_on_exceed**: If `True`, raises when retries are exhausted; otherwise returns last result with metadata +- **history_strategy**: + - `PRESERVE`: keep all messages, including the correction user message and rerun assistant message + - `REMOVE`: prune the invalid assistant message and the correction user message, keeping the final assistant response succinctly + +#### Custom structured validation and correction + +You can define a custom validation output model and prompt to shape the supervisor feedback and correction message: + +```python +from pydantic import BaseModel +from ragbits.core.prompt.prompt import Prompt +from ragbits.agents.post_processors.supervisor import ValidationInput + +class MyValidationOutput(BaseModel): + is_valid: bool + errors: list[str] + fixes: list[str] + confidence: float + +class MyValidationPrompt(Prompt[ValidationInput, MyValidationOutput]): + system_prompt = "You are an expert validator. Provide clear, actionable feedback." + user_prompt = ( + "Chat History:\n" + "{% for message in chat_history %}" + "\n{{ message.role | title }}: {{ message.content }} (if None it means it's a tool call)" + "{% endfor %}" + "\n\nList all errors, possible fixes, and provide a confidence score (0.0-1.0) for your assessment.\n" + ) + +correction_prompt = ( + "Previous answer had issues:\n" + "Errors: {errors}\n" + "Fixes: {fixes}\n" + "Confidence: {confidence}\n" + "Please answer again using the fixes." +) + +supervisor = SupervisorPostProcessor( + llm=llm, + validation_prompt=MyValidationPrompt, + correction_prompt=correction_prompt, + max_retries=1, + history_strategy=HistoryStrategy.PRESERVE, +) +``` + +The Supervisor appends validation records to `result.metadata` under the `post_processors.supervisor` key as a list of dicts; each entry corresponds to a validation step. diff --git a/docs/tutorials/intro.md b/docs/tutorials/intro.md index 31fb830dc..49cad6e14 100644 --- a/docs/tutorials/intro.md +++ b/docs/tutorials/intro.md @@ -2,7 +2,7 @@ Let's walk through a quick example of **basic question answering**. Specifically, let's build **a system for answering tech questions**, e.g. about Linux or iPhone apps. -Install the latest Ragbits via `pip install -U ragbits` and follow along. +Install the latest Ragbits via `pip install -U ragbits ragbits-agents` and follow along. ## Configuring the environment diff --git a/examples/README.md b/examples/README.md index 981a2dc7a..d25dab54f 100644 --- a/examples/README.md +++ b/examples/README.md @@ -20,6 +20,7 @@ All necessary details are provided in the comments at the top of each script. | [Multimodal Prompt with PDF Input](/examples/core/prompt/multimodal_with_pdf.py) | [ragbits-core](/packages/ragbits-core) | Example of how to use the `Prompt` class to answer the question using an LLM with both text and PDF inputs. | | [Multimodal Prompt with Few Shots](/examples/core/prompt/multimodal_with_few_shots.py) | [ragbits-core](/packages/ragbits-core) | Example of how to use the `Prompt` class to generate themed text using an LLM with multimodal inputs and few-shot examples. | | [Tool Use with LLM](/examples/core/llms/tool_use.py) | [ragbits-core](/packages/ragbits-core) | Example of how to provide tools and return tool calls from LLM. | +| [Reasoning with LLM](/examples/core/llms/reasoning.py) | [ragbits-core](/packages/ragbits-core) | Example of how to use reasoning with LLM. | | [OpenTelemetry Audit](/examples/core/audit/otel.py) | [ragbits-core](/packages/ragbits-core) | Example of how to collect traces and metrics using Ragbits audit module with OpenTelemetry. | | [Logfire Audit](/examples/core/audit/logfire_.py) | [ragbits-core](/packages/ragbits-core) | Example of how to collect traces and metrics using Ragbits audit module with Logfire. | | [Basic Document Search](/examples/document-search/basic.py) | [ragbits-document-search](/packages/ragbits-document-search) | Example of how to use the `DocumentSearch` class to search for documents with the `InMemoryVectorStore` class to store the embeddings. | @@ -38,6 +39,13 @@ All necessary details are provided in the comments at the top of each script. | [Recontextualize Last Message](/examples/chat/recontextualize_message.py) | [ragbits-chat](/packages/ragbits-chat) | Example of how to use the `StandaloneMessageCompressor` compressor to recontextualize the last message in a conversation history. | | [Agents Tool Use](/examples/agents/tool_use.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to use agent with tools. | | [Agents OpenAI Native Tool Use](/examples/agents/openai_native_tool_use.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to use agent with OpenAI native tools. | +| [Agents Post Processors](/examples/agents/post_processors.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to use post-processors with agent. +| [Agents Downstream Streaming](/examples/agents/downstream_agents_streaming.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to stream outputs from downstream agents in real time. | | +| [Agents CLI](/examples/agents/cli_agent.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to use agent in CLI. | | [MCP Local](/examples/agents/mcp/local.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to use the `Agent` class to connect with a local MCP server. | | [MCP SSE](/examples/agents/mcp/sse.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to use the `Agent` class to connect with a remote MCP server via SSE. | | [MCP Streamable HTTP](/examples/agents/mcp/streamable_http.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to use the `Agent` class to connect with a remote MCP server via HTTP. | +| [A2A Orchestration](/examples/agents/a2a/run_orchestrator.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to setup A2A orchestration. | +| [Agent Benchmark: HotpotQA](/examples/evaluate/agent-benchmarking/run_hotpot.py) | [ragbits-evaluate](/packages/ragbits-evaluate) | Example of how to benchmark on HotpotQA comparing `Agent` and `TodoAgent`. | +| [Agent Benchmark: GAIA](/examples/evaluate/agent-benchmarking/run_gaia.py) | [ragbits-evaluate](/packages/ragbits-evaluate) | Example of how to benchmark on GAIA with tools comparing `Agent` and `TodoAgent`. | +| [Agent Benchmark: HumanEval](/examples/evaluate/agent-benchmarking/run_humaneval.py) | [ragbits-evaluate](/packages/ragbits-evaluate) | Example of how to benchmark on HumanEval comparing `Agent` and `TodoAgent`. | diff --git a/examples/agents/downstream_agents_streaming.py b/examples/agents/downstream_agents_streaming.py new file mode 100644 index 000000000..b68fb8dc3 --- /dev/null +++ b/examples/agents/downstream_agents_streaming.py @@ -0,0 +1,133 @@ +""" +Ragbits Agents Example: Multi-agent setup (QA agent + Time agent) + +This example demonstrates how to build a setup with two agents: +1. A Time Agent that returns the current time for a given location. +2. A QA Agent that answers user questions and can delegate to the Time Agent. + +To run the script, execute the following command: + + ```bash + uv run examples/agents/downstream_agents_streaming.py + ``` +""" + +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "ragbits-core", +# "ragbits-agents", +# ] +# /// + +import asyncio +import json + +from pydantic import BaseModel + +from ragbits.agents import Agent, AgentOptions, AgentRunContext, DownstreamAgentResult +from ragbits.core.llms import LiteLLM +from ragbits.core.prompt import Prompt + + +def get_time(location: str) -> str: + """ + Returns the current time for a given location. + + Args: + location: The location to get the time for. + + Returns: + The current time for the given location. + """ + loc = location.lower() + if "tokyo" in loc: + return json.dumps({"location": "Tokyo", "time": "10:00 AM"}) + elif "paris" in loc: + return json.dumps({"location": "Paris", "time": "04:00 PM"}) + elif "san francisco" in loc: + return json.dumps({"location": "San Francisco", "time": "07:00 PM"}) + else: + return json.dumps({"location": location, "time": "unknown"}) + + +class TimePromptInput(BaseModel): + """Input schema for the TimePrompt, containing the target location.""" + + location: str + + +class TimePrompt(Prompt[TimePromptInput]): + """ + Provides instructions for generating the current time in a user-specified + location. + """ + + system_prompt = """ + You are a helpful assistant that tells the current time in a given city. + """ + user_prompt = """ + What time is it in {{ location }}? + """ + + +llm = LiteLLM(model_name="gpt-4o-2024-08-06", use_structured_output=True) +time_agent = Agent( + name="time_agent", + description="Returns current time for a given location", + llm=llm, + prompt=TimePrompt, + tools=[get_time], + default_options=AgentOptions(max_total_tokens=1000, max_turns=5), +) + + +class QAPromptInput(BaseModel): + """Input schema for the QA agent, containing a natural-language question.""" + + question: str + + +class QAPrompt(Prompt[QAPromptInput]): + """ + Guides the agent to respond to user questions. + """ + + system_prompt = """ + You are a helpful assistant that responds to user questions. + """ + user_prompt = """ + {{ question }}. + """ + + +llm = LiteLLM(model_name="gpt-4o-2024-08-06", use_structured_output=True) +qa_agent = Agent( + name="qa_agent", + llm=llm, + prompt=QAPrompt, + tools=[(time_agent, {"name": "time_agent"})], + default_options=AgentOptions(max_total_tokens=1000, max_turns=5), +) + + +async def main() -> None: + """ + Run the QA agent with downstream streaming enabled. + + The QA agent processes a sample question ("What time is it in Paris?") and delegates to + the Time Agent when necessary. Streamed results from both agents are printed in real time, + tagged by the agent that produced them. + """ + context = AgentRunContext(stream_downstream_events=True) + + async for chunk in qa_agent.run_streaming(QAPromptInput(question="What time is it in Paris?"), context=context): + if isinstance(chunk, DownstreamAgentResult): + agent_name = context.get_agent(chunk.agent_id).name + print(f"[{agent_name}] {chunk.item}") + else: + print(f"[{qa_agent.name}] {chunk}") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/examples/agents/post_processors.py b/examples/agents/post_processors.py new file mode 100644 index 000000000..5e2e00695 --- /dev/null +++ b/examples/agents/post_processors.py @@ -0,0 +1,97 @@ +""" +Ragbits Agents Example: Post-Processors + +This example demonstrates how to use post-processors with Agent.run() and Agent.run_streaming() methods. + +To run the script, execute the following command: + + ```bash + uv run examples/agents/post_processors.py + ``` +""" + +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "ragbits-core", +# "ragbits-agents", +# ] +# /// + +import asyncio +from types import SimpleNamespace + +from ragbits.agents import Agent, AgentResult, PostProcessor, StreamingPostProcessor, ToolCallResult +from ragbits.core.llms.base import BasePrompt, ToolCall, Usage +from ragbits.core.llms.litellm import LiteLLM + + +class CustomStreamingPostProcessor(StreamingPostProcessor): + """ + Streaming post-processor that checks for forbidden words. + """ + + def __init__(self, forbidden_words: list[str]) -> None: + self.forbidden_words = forbidden_words + + async def process_streaming( + self, chunk: str | ToolCall | ToolCallResult | SimpleNamespace | BasePrompt | Usage, agent: Agent + ) -> str | ToolCall | ToolCallResult | SimpleNamespace | BasePrompt | Usage: + """ + Process chunks during streaming. + """ + if isinstance(chunk, str) and chunk.lower().strip() in self.forbidden_words: + return "[FORBIDDEN_WORD]" + return chunk + + +class CustomPostProcessor(PostProcessor): + """ + Non-streaming post-processor that truncates the content. + """ + + def __init__(self, max_length: int = 200) -> None: + self.max_length = max_length + + async def process(self, result: AgentResult, agent: Agent) -> AgentResult: + """ + Process the agent result. + """ + content = result.content + content_length = len(content) + + if content_length > self.max_length: + content = content[: self.max_length] + content += f"... [TRUNCATED] ({content_length} > {self.max_length} chars)" + + return AgentResult( + content=content, + metadata=result.metadata, + tool_calls=result.tool_calls, + history=result.history, + usage=result.usage, + ) + + +async def main() -> None: + """ + Run the example. + """ + llm = LiteLLM("gpt-4.1-mini") + agent: Agent = Agent(llm=llm, prompt="You are a helpful assistant.") + stream_result = agent.run_streaming( + "What is Python?", + post_processors=[ + CustomStreamingPostProcessor(forbidden_words=["python"]), + CustomPostProcessor(max_length=200), + ], + allow_non_streaming=True, + ) + async for chunk in stream_result: + if isinstance(chunk, str): + print(chunk, end="") + print(f"\n\nFinal answer:\n{stream_result.content}") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/examples/agents/todo_tools_example.py b/examples/agents/todo_tools_example.py new file mode 100644 index 000000000..b86cb9ca7 --- /dev/null +++ b/examples/agents/todo_tools_example.py @@ -0,0 +1,123 @@ +"""Example demonstrating the new orchestrator-based todo functionality with streaming.""" + +import asyncio +from types import SimpleNamespace + +from ragbits.agents import Agent, ToolCallResult +from ragbits.agents._main import DownstreamAgentResult +from ragbits.agents.tools.todo import TodoOrchestrator, TodoResult +from ragbits.core.llms import LiteLLM, ToolCall +from ragbits.core.llms.base import Usage +from ragbits.core.prompt.base import BasePrompt + +# Type alias for response types +ResponseType = ( + str | ToolCall | ToolCallResult | TodoResult | BasePrompt | Usage | SimpleNamespace | DownstreamAgentResult +) + + +def _handle_response(response: ResponseType) -> None: + """Handle different types of responses from the orchestrator.""" + match response: + case str(): + if response.strip(): + print(response, end="", flush=True) + case ToolCall(): + print(f"\n🔧 Tool Call: {response.name}") + if response.arguments: + print(f" Arguments: {response.arguments}") + case ToolCallResult(): + print(f"🔧 Tool Result: {response.result}") + case TodoResult(): + _handle_streaming_response(response) + + +def _handle_streaming_response(response: TodoResult) -> None: + """Handle TodoResult from the orchestrator.""" + if response.type in ("status"): + print(response.message or "") + elif response.type in ("task_list"): + for index, task in enumerate(response.tasks, 1): + print(f"{index}. {task.description}") + elif response.type in ("task_summary_start", "final_summary_start"): + print(response.message or "", end="", flush=True) + elif response.type in ("task_completed", "final_summary_end"): + print(response.message or "") + + +async def hiking_guide() -> None: + """Demonstrate the new orchestrator-based todo approach with streaming.""" + # Define the system prompt for hiking guide + hiking_system_prompt = """ + You are an expert hiking guide. Provide detailed, comprehensive information + about hiking routes, gear, transportation, and safety considerations. + """ + + # Create generic orchestrator with hiking domain context + todo_orchestrator = TodoOrchestrator(domain_context="hiking guide") + + # Create a simple agent - orchestrator handles the workflow + agent: Agent = Agent( + llm=LiteLLM("gpt-4o-mini"), + prompt=hiking_system_prompt, + ) + + # Test queries + query = ( + "Plan a 1-day hiking trip for 2 people in Tatra Mountains, Poland. " + "Focus on scenic routes under 15km, avoiding crowds." + ) + # query = "How long is hike to Giewont from Kuźnice?" + + print("=== Generic Todo Orchestrator - Hiking Example ===\n") + + # Run the complete workflow with orchestrator streaming + async for response in todo_orchestrator.run_todo_workflow_streaming(agent, query): + _handle_response(response) + + print("\n🎯 Workflow completed successfully!") + + +async def software_architecture_example() -> None: + """Example showing the orchestrator used for software architecture.""" + software_system_prompt = """ + You are an expert software architect. Provide detailed technical analysis, + system design recommendations, and implementation guidance. + + Always be specific with: + - Technology stack recommendations with versions + - Architecture patterns and design principles + - Performance and scalability considerations + - Security best practices + - Implementation roadmap with timelines + """ + + todo_orchestrator = TodoOrchestrator(domain_context="software architect") + + agent: Agent = Agent( + llm=LiteLLM("gpt-4o-mini"), + prompt=software_system_prompt, + ) + + query = ( + "Design a scalable e-commerce platform for 100k+ users with " + "real-time inventory management and payment processing." + ) + + print("\n" + "=" * 60) + print("=== Generic Todo Orchestrator - Software Architecture Example ===\n") + + async for response in todo_orchestrator.run_todo_workflow_streaming(agent, query): + _handle_response(response) + + print("\n🎯 Software architecture workflow completed!") + + +async def demonstrate_both() -> None: + """Demonstrate both hiking and software architecture examples.""" + await hiking_guide() + # await software_architecture_example() + + +if __name__ == "__main__": + asyncio.run(demonstrate_both()) diff --git a/examples/agents/with_decorator.py b/examples/agents/with_decorator.py new file mode 100644 index 000000000..c1ae47024 --- /dev/null +++ b/examples/agents/with_decorator.py @@ -0,0 +1,88 @@ +""" +Ragbits Agents Example: Syntax Sugar + +This example demonstrates how to use agent with tools by using new syntax sugar. +We provide a single method as a tool to the agent and expect it to call it when answering query. + +To run the script, execute the following command: + + ```bash + uv run examples/agents/tool_use.py + ``` +""" + +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "ragbits-core", +# "ragbits-agents", +# ] +# /// +import asyncio +import json + +from pydantic import BaseModel + +from ragbits.agents import Agent +from ragbits.agents._main import AgentOptions +from ragbits.core.llms import LiteLLM + + +def get_weather(location: str) -> str: + """ + Returns the current weather for a given location. + + Args: + location: The location to get the weather for. + + Returns: + The current weather for the given location. + """ + if "tokyo" in location.lower(): + return json.dumps({"location": "Tokyo", "temperature": "10", "unit": "celsius"}) + elif "san francisco" in location.lower(): + return json.dumps({"location": "San Francisco", "temperature": "72", "unit": "fahrenheit"}) + elif "paris" in location.lower(): + return json.dumps({"location": "Paris", "temperature": "22", "unit": "celsius"}) + else: + return json.dumps({"location": location, "temperature": "unknown"}) + + +class WeatherAgentInput(BaseModel): + """ + Input format for the WeatherAgent + """ + + location: str + + +@Agent.prompt_config(WeatherAgentInput) +class WeatherAgent(Agent): + """ + Agent that returns weather for a given location. + """ + + system_prompt = """ + You are a helpful assistant that responds to user questions about weather. + """ + user_prompt = """ + Tell me the temperature in {{ location }}. + """ + + +async def main() -> None: + """ + Run the example. + """ + llm = LiteLLM(model_name="gpt-4o-2024-08-06", use_structured_output=True) + agent = WeatherAgent( + llm=llm, + tools=[get_weather], + default_options=AgentOptions(max_total_tokens=500, max_turns=5), + ) + response = await agent.run(WeatherAgentInput(location="Paris"), tool_choice=get_weather) + print(response) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/examples/chat/chat.py b/examples/chat/chat.py index ccbac8bc6..5e81f72bf 100644 --- a/examples/chat/chat.py +++ b/examples/chat/chat.py @@ -7,7 +7,7 @@ To run the script, execute the following command: ```bash - ragbits api run examples.api.chat:MyChat + ragbits api run examples.chat.chat:MyChat ``` """ @@ -28,6 +28,7 @@ from ragbits.chat.interface import ChatInterface from ragbits.chat.interface.forms import FeedbackConfig, UserSettings +from ragbits.chat.interface.summary import HybridSummaryGenerator from ragbits.chat.interface.types import ChatContext, ChatResponse, LiveUpdateType from ragbits.chat.interface.ui_customization import HeaderCustomization, PageMetaCustomization, UICustomization from ragbits.core.llms import LiteLLM @@ -93,6 +94,7 @@ class MyChat(ChatInterface): def __init__(self) -> None: self.llm = LiteLLM(model_name="gpt-4o-mini") + self.summary_generator = HybridSummaryGenerator(self.llm) async def chat( self, diff --git a/examples/chat/hiking_agent.py b/examples/chat/hiking_agent.py new file mode 100644 index 000000000..2e8c8b6a6 --- /dev/null +++ b/examples/chat/hiking_agent.py @@ -0,0 +1,114 @@ +""" +Ragbits Chat Example: Chat Interface + +This example demonstrates how to use the ChatInterface to create a simple chat application with agent capabilities. +It showcases different response types, including text responses, live updates, and reference documents, as well as +the use of todo lists to help agents handle complex tasks. + +To run the script, execute the following command: + + ```bash + ragbits api run examples.chat.hiking_agent:MyChat + ``` +""" + +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "ragbits-agents", +# "ragbits-chat", +# ] +# /// +# + +from collections.abc import AsyncGenerator + +from ragbits.agents import Agent +from ragbits.agents.tools.todo import TodoOrchestrator, TodoResult +from ragbits.chat.interface import ChatInterface +from ragbits.chat.interface.types import ChatContext, ChatResponse, LiveUpdateType +from ragbits.chat.interface.ui_customization import HeaderCustomization, PageMetaCustomization, UICustomization +from ragbits.core.llms import LiteLLM +from ragbits.core.prompt import ChatFormat + + +class MyChat(ChatInterface): + """A simple example implementation of the ChatInterface that demonstrates different response types.""" + + ui_customization = UICustomization( + header=HeaderCustomization(title="Example Ragbits Agent Chat", subtitle="by deepsense.ai", logo="🐰"), + welcome_message=( + "Hello! I'm your AI hiking trip assistant.\n\n How can I help you today? " + "You can ask me **anything**! " + "I can provide information, answer questions, and assist you with various tasks." + ), + meta=PageMetaCustomization(favicon="🔨", page_title="Change me!"), + ) + + conversation_history = True + show_usage = True + + def __init__(self) -> None: + self.llm = LiteLLM(model_name="gpt-4o-mini") + self.todo_orchestrator = TodoOrchestrator() + self.agent = Agent( + llm=self.llm, + prompt=""" + You are an expert hiking guide. Provide detailed, comprehensive information + about hiking routes, gear, transportation, and safety considerations. + """, + ) + + async def chat( + self, + message: str, + history: ChatFormat, + context: ChatContext, + ) -> AsyncGenerator[ChatResponse, None]: + """ + Example implementation of the ChatInterface. + + Args: + message: The current user message + history: Optional list of previous messages in the conversation + context: Optional context + + Yields: + ChatResponse objects containing different types of content: + - Text chunks for the actual response + - Reference documents used to generate the response + """ + live_update_counter = 0 + + async for response in self.todo_orchestrator.run_todo_workflow_streaming( + self.agent, [*history, {"role": "user", "content": message}] + ): + match response: + case str(): + yield self.create_text_response(response) + case TodoResult(): + if response.type in ("status"): + yield self.create_live_update( + str(live_update_counter), LiveUpdateType.FINISH, response.message or "" + ) + live_update_counter += 1 + elif response.type in ("task_list"): + for task in response.tasks: + yield self.create_todo_item_response(task) + elif response.type in ("start_task"): + yield self.create_todo_item_response(response.current_task) + elif response.type in ("task_summary_start", "final_summary_start"): + yield self.create_live_update( + str(live_update_counter), LiveUpdateType.START, response.message or "" + ) + elif response.type in ("task_completed"): + yield self.create_live_update( + str(live_update_counter), LiveUpdateType.FINISH, response.message or "" + ) + yield self.create_todo_item_response(response.current_task) + live_update_counter += 1 + elif response.type in ("final_summary_end"): + yield self.create_live_update( + str(live_update_counter), LiveUpdateType.FINISH, response.message or "" + ) + live_update_counter += 1 diff --git a/examples/evaluate/agent-benchmarking/example_agents.py b/examples/evaluate/agent-benchmarking/example_agents.py new file mode 100644 index 000000000..aa5fab279 --- /dev/null +++ b/examples/evaluate/agent-benchmarking/example_agents.py @@ -0,0 +1,335 @@ +""" +Agent definitions for benchmarking examples. + +Each agent is encapsulated in a class and instances are +declared at the bottom so they can be imported via the CLI helper +`import_agent_from_path` using file path forms, e.g.: + + - file path: "examples/evaluate/agent-benchmarking/example_agents.py:gaia_agent" + +Todo-augmented variants are exported as `_todo_agent` and wrap the base +agent with the `TodoAgent` orchestrator. +""" + +from __future__ import annotations + +from collections.abc import Callable +from typing import Any, cast + +from ragbits.agents import Agent, AgentOptions, AgentResult +from ragbits.agents.tool import ToolCallResult +from ragbits.agents.tools.openai import get_web_search_tool +from ragbits.agents.tools.todo import TodoOrchestrator +from ragbits.core.llms import LiteLLM +from ragbits.core.llms.base import LLMClientOptionsT, Usage +from ragbits.core.prompt.base import BasePrompt + + +class TodoAgent(Agent[LLMClientOptionsT, None, str]): + """ + Agent wrapper that uses TodoOrchestrator to optionally decompose a query + into tasks and aggregate a final answer, while remaining compatible with + existing EvaluationPipelines that expect an Agent. + """ + + def __init__(self, agent: Agent[LLMClientOptionsT, None, str], domain_context: str = "") -> None: + super().__init__( + llm=agent.llm, + prompt=agent.prompt, + history=agent.history, + keep_history=False, + mcp_servers=agent.mcp_servers, + default_options=cast(AgentOptions[LLMClientOptionsT] | None, agent.default_options), + ) + self._inner_agent = agent + self._domain_context = domain_context + self._orchestrator = TodoOrchestrator(domain_context=domain_context) + + def __getattr__(self, name: str) -> object: + """Proxy missing attributes to the wrapped inner agent.""" + try: + return super().__getattribute__(name) + except AttributeError: + return getattr(self._inner_agent, name) + + async def run( + self, + input: str | None = None, + *_: Any, + **__: Any, + ) -> AgentResult[str]: + """Run the orchestrated flow and return a single final answer.""" + query = input or "" + + # Accumulate outputs from the orchestrated workflow + final_text: str = "" + tool_calls: list[ToolCallResult] | None = None + total_usage: Usage = Usage() + last_prompt: BasePrompt | None = None + + tasks_created = False + num_tasks = 0 + + async for item in self._orchestrator.run_todo_workflow_streaming(self._inner_agent, query): + match item: + case str(): + final_text += item + case ToolCallResult(): + if tool_calls is None: + tool_calls = [] + tool_calls.append(item) + case Usage(): + total_usage += item + case BasePrompt(): + last_prompt = item + case _: + # Inspect orchestrator internal state to populate metadata + tasks_created = len(self._orchestrator.todo_list.tasks) > 0 + num_tasks = len(self._orchestrator.todo_list.tasks) + + # Compose metadata with TODO info + complexity = "COMPLEX" if tasks_created else "SIMPLE" + todo_meta: dict[str, Any] = { + "was_decomposed": bool(tasks_created), + "complexity_classification": complexity, + "num_tasks": int(num_tasks), + "domain_context": self._domain_context, + } + + # Build result compatible with existing pipelines + history = last_prompt.chat if last_prompt is not None else [] + + return AgentResult( + content=final_text.strip(), + metadata={"todo": todo_meta}, + tool_calls=tool_calls, + history=history, + usage=total_usage, + ) + + +class AgentHumanEval: + """Factory for the HumanEval base agent.""" + + @staticmethod + def build_system_prompt() -> str: + """Return the system prompt for HumanEval.""" + return "\n".join( + [ + "You are an expert Python engineer.", + "Implement exactly one function that solves the problem.", + "Output ONLY the function as plain Python (no markdown). Include necessary imports.", + "Do not include explanations or comments.", + ] + ) + + @classmethod + def build(cls) -> Agent: + """Build the HumanEval agent and attach code sanitization callable.""" + agent: Agent = Agent( + llm=LiteLLM("gpt-4.1-mini"), + prompt=cls.build_system_prompt(), + tools=[], + default_options=AgentOptions(max_turns=30), + ) + agent.code_sanitize_fn = cls.sanitize_code # type: ignore[attr-defined] + return agent + + @staticmethod + def sanitize_code(text: str) -> str: + """Remove markdown fences and keep only Python function text returned by the model.""" + cleaned = text.replace("\r\n", "\n").replace("\r", "\n").strip() + if "```" in cleaned: + start = cleaned.find("```") + end = cleaned.find("```", start + 3) + if end != -1: + inside = cleaned[start + 3 : end].lstrip() + if "\n" in inside: + first, rest = inside.split("\n", 1) + cleaned = rest if first.strip().lower().startswith("python") else inside + else: + cleaned = inside + return cleaned.strip() + + +class AgentHotpot: + """Factory for the HotpotQA base agent.""" + + @staticmethod + def build_system_prompt() -> str: + """Return the system prompt for HotpotQA.""" + return ( + "You are a helpful assistant. Use the provided context to answer.\n" + "Respond on a single line as: 'Answer: '.\n" + "- If yes/no, respond 'Answer: yes' or 'Answer: no'.\n" + "- If a name or title is required, provide only that after 'Answer:'.\n" + "- Do not add any extra text beyond the Answer line.\n" + "Keep the answer concise." + ) + + @classmethod + def build(cls) -> Agent: + """Build the HotpotQA agent and attach parsing helpers.""" + agent: Agent = Agent( + llm=LiteLLM("gpt-4.1-mini"), + prompt=cls.build_system_prompt(), + tools=[], + default_options=AgentOptions(max_turns=5), + ) + agent.parse_final_answer = cls.parse_final_answer # type: ignore[attr-defined] + agent.question_generation_prompt_fn = cls.build_question_generation_prompt # type: ignore[attr-defined] + return agent + + @staticmethod + def parse_final_answer(text: str) -> str: + """Extract and normalize the final answer from model text output.""" + marker = "Answer:" + idx = text.rfind(marker) + if idx == -1: + return text.strip() + candidate = text[idx + len(marker) :].strip() + if candidate.startswith("<") and candidate.endswith(">"): + candidate = candidate[1:-1].strip() + return candidate + + @staticmethod + def build_question_generation_prompt(original_question: str, accumulated_context: str) -> str: + """Construct the next-hop question prompt for multi-hop retrieval.""" + return ( + f"Original question: {original_question}\n\n" + f"Context so far: \n{accumulated_context}\n\n" + "Write ONE new, specific search question that fills the key missing info.\n" + "Do not repeat known facts. Return ONLY the question." + ) + + +class AgentGAIA: + """Factory for the GAIA base agent with extra tools.""" + + @staticmethod + def add(a: int, b: int) -> int: + """Add two integers.""" + return a + b + + @staticmethod + def subtract(a: int, b: int) -> int: + """Subtract two integers.""" + return a - b + + @staticmethod + def multiply(a: int, b: int) -> int: + """Multiply two integers.""" + return a * b + + @staticmethod + def divide(a: int, b: int) -> float: + """Divide two integers as float.""" + if b == 0: + raise ValueError("Cannot divide by zero.") + return a / b + + @staticmethod + def modulus(a: int, b: int) -> int: + """Compute remainder a % b.""" + if b == 0: + raise ValueError("Cannot divide by zero.") + return a % b + + @classmethod + def get_extra_instruction_tpl(cls) -> str: + """Return tool usage instruction template.""" + return ( + "Tools (use when needed):\n" + "- add(a, b), subtract(a, b), multiply(a, b), divide(a, b), modulus(a, b)\n" + "- web_search -> OpenAI websearch tool\n" + ) + + @classmethod + def build_system_prompt(cls) -> str: + """Return the GAIA system prompt with tool instructions.""" + gaia_prompt = ( + "You are a general AI assistant. Provide a concise solution and finish with:\n" + "FINAL ANSWER: [your final answer].\n" + "Rules for FINAL ANSWER: use digits for numbers (no units unless requested);\n" + "prefer few words for strings; for lists, return a comma-separated list." + ) + return "\n".join([gaia_prompt, cls.get_extra_instruction_tpl()]) + + @classmethod + def build_tools(cls) -> list[Callable[..., Any]]: + """Return the callable toolset used by the GAIA agent.""" + tools: list[Callable[..., Any]] = [ + cls.add, + cls.subtract, + cls.multiply, + cls.divide, + cls.modulus, + cast(Callable[..., Any], get_web_search_tool(model_name="gpt-4.1-mini")), + ] + return tools + + @classmethod + def build(cls) -> Agent: + """Build the GAIA agent and attach final-answer parser.""" + agent: Agent = Agent( + llm=LiteLLM("gpt-4.1-mini"), + prompt=cls.build_system_prompt(), + tools=cls.build_tools(), + default_options=AgentOptions(max_turns=30), + ) + agent.parse_final_answer = cls.parse_final_answer # type: ignore[attr-defined] + return agent + + @staticmethod + def parse_final_answer(text: str) -> str: + """Extract the FINAL ANSWER segment from model output.""" + marker = "FINAL ANSWER:" + idx = text.rfind(marker) + if idx == -1: + return text.strip() + candidate = text[idx + len(marker) :].strip() + if candidate.startswith("[") and candidate.endswith("]"): + candidate = candidate[1:-1].strip() + return candidate + + +class AgentSOCRATES: + """Factory for the SOCRATES base agent for multi-hop reasoning.""" + + @staticmethod + def build_system_prompt() -> str: + """Return the SOCRATES system prompt.""" + return "You are a helpful AI assistant. Try to answer user query.\n" + + @staticmethod + def build_tools() -> list[Callable[..., Any]]: + """Return the callable toolset used by the SOCRATES agent.""" + tools: list[Callable[..., Any]] = [ + cast(Callable[..., Any], get_web_search_tool(model_name="gpt-4.1-mini")), + ] + return tools + + @classmethod + def build(cls) -> Agent: + """Build the SOCRATES agent and attach final-answer parser.""" + agent: Agent = Agent( + llm=LiteLLM("gpt-4.1-mini"), + prompt=cls.build_system_prompt(), + tools=cls.build_tools(), + default_options=AgentOptions(max_turns=30), + ) + return agent + + +# Export agent instances for import +humaneval_agent: Agent = AgentHumanEval.build() +humaneval_todo_agent: Agent = TodoAgent(agent=humaneval_agent, domain_context="python engineer") + +hotpot_agent: Agent = AgentHotpot.build() +hotpot_todo_agent: Agent = TodoAgent(agent=hotpot_agent, domain_context="research QA") + +gaia_agent: Agent = AgentGAIA.build() +gaia_todo_agent: Agent = TodoAgent(agent=gaia_agent, domain_context="general AI assistant") + +socrates_agent: Agent = AgentSOCRATES.build() +socrates_todo_agent: Agent = TodoAgent(agent=socrates_agent, domain_context="general AI assistant") diff --git a/examples/evaluate/agent-benchmarking/run_gaia.py b/examples/evaluate/agent-benchmarking/run_gaia.py new file mode 100644 index 000000000..a3720c4f3 --- /dev/null +++ b/examples/evaluate/agent-benchmarking/run_gaia.py @@ -0,0 +1,88 @@ +""" +Ragbits Evaluation Example: GAIA + +This example evaluates GAIA using any agent provided via a path compatible with +the CLI's `import_agent_from_path` utility, e.g.: + +uv run python examples/evaluate/agent-benchmarking/run_gaia.py \ + --agent_path examples/evaluate/agent-benchmarking/example_agents.py:gaia_agent + +To use the Todo-enabled variant, pass `gaia_todo_agent`. The script will +conditionally print TODO stats when the agent is Todo-based and extended logs +are enabled. +""" + +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "ragbits-agents", +# "ragbits-core", +# "ragbits-evaluate", +# ] +# /// + +import argparse +import asyncio +import logging +from pathlib import Path + +from ragbits.agents import Agent +from ragbits.agents.cli import import_agent_from_path +from ragbits.core.sources.hf import HuggingFaceSource +from ragbits.evaluate.dataloaders.gaia import GaiaDataLoader +from ragbits.evaluate.evaluator import Evaluator +from ragbits.evaluate.metrics.base import MetricSet +from ragbits.evaluate.metrics.gaia import GaiaEfficiency, GaiaOutcome, GaiaTooling +from ragbits.evaluate.pipelines.gaia import GaiaPipeline + + +async def main(agent_path: str | None) -> None: + """Run GAIA evaluation with a pluggable agent.""" + logging.getLogger("LiteLLM").setLevel(logging.ERROR) + + default_agent_path = "examples/evaluate/agent-benchmarking/example_agents.py:gaia_agent" + evaluation_target: Agent = import_agent_from_path(agent_path or default_agent_path) + + # Data loader + source = HuggingFaceSource(path="gaia-benchmark/GAIA", name="2023_level1", split="validation") + dataloader = GaiaDataLoader(source=source, split="data[:10]", skip_file_attachments=True) + + # Pipeline + use_todo = evaluation_target.__class__.__name__ == "TodoAgent" + log_file = "gaia_todo_examples.ndjson" if use_todo else "gaia_examples.ndjson" + log_path = Path(__file__).with_name(log_file) + + pipeline = GaiaPipeline( + evaluation_target=evaluation_target, + per_example_log_file=log_path, + extended_logs=use_todo, + parse_answer_fn=evaluation_target.parse_final_answer, + ) + + # Metrics + metrics = MetricSet(GaiaOutcome(), GaiaTooling(), GaiaEfficiency()) + + evaluator = Evaluator(batch_size=5, parallelize_batches=True) + results = await evaluator.compute(pipeline=pipeline, dataloader=dataloader, metricset=metrics) + + print("Metrics:") + for key, value in results.metrics.items(): + print(f" {key}: {value:.4f}") + + if use_todo: + from utils import print_todo_stats + + await print_todo_stats(log_path, dataloader) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="GAIA evaluation") + parser.add_argument( + "--agent_path", + type=str, + default=None, + help=("Path to agent 'path/to/file.py:var'. " "Defaults to exported gaia_agent in example_agents."), + ) + args = parser.parse_args() + + asyncio.run(main(args.agent_path)) diff --git a/examples/evaluate/agent-benchmarking/run_hotpot.py b/examples/evaluate/agent-benchmarking/run_hotpot.py new file mode 100644 index 000000000..e3cbed0c1 --- /dev/null +++ b/examples/evaluate/agent-benchmarking/run_hotpot.py @@ -0,0 +1,93 @@ +""" +Ragbits Evaluation Example: HotpotQA + +This example evaluates HotpotQA using any agent provided via a path compatible +with the CLI's `import_agent_from_path` utility, e.g.: + +uv run python examples/evaluate/agent-benchmarking/run_hotpot.py \ + --agent_path examples/evaluate/agent-benchmarking/example_agents.py:hotpot_agent + +If you want to use the Todo-enabled variant, pass `hotpot_todo_agent` instead. +The script will conditionally print TODO stats when the agent is Todo-based and +extended logs are enabled. +""" + +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "ragbits-agents", +# "ragbits-core", +# "ragbits-document-search", +# "ragbits-evaluate", +# ] +# /// + +import argparse +import asyncio +import logging +from pathlib import Path + +from utils import build_hotpot_retriever, print_todo_stats + +from ragbits.agents import Agent +from ragbits.agents.cli import import_agent_from_path +from ragbits.core.sources.hf import HuggingFaceSource +from ragbits.evaluate.dataloaders.hotpot_qa import HotpotQADataLoader +from ragbits.evaluate.evaluator import Evaluator +from ragbits.evaluate.metrics.base import MetricSet +from ragbits.evaluate.metrics.hotpot_qa import HotpotQAExactMatch, HotpotQAF1 +from ragbits.evaluate.pipelines.hotpot_qa import HotpotQAPipeline + + +async def main(agent_path: str | None) -> None: + """Run HotpotQA evaluation with a pluggable agent.""" + logging.getLogger("LiteLLM").setLevel(logging.ERROR) + + # Load agent from path or fall back to default exported example agent + default_agent_path = "examples/evaluate/agent-benchmarking/example_agents.py:hotpot_agent" + evaluation_target: Agent = import_agent_from_path(agent_path or default_agent_path) + + # Data loader + source = HuggingFaceSource(path="hotpotqa/hotpot_qa", name="distractor", split="validation") + dataloader = HotpotQADataLoader(source=source, split="data[:5]", level_filter="hard") + + # Pipeline + use_todo = evaluation_target.__class__.__name__ == "TodoAgent" + log_file = "hotpot_todo_examples.ndjson" if use_todo else "hotpot_examples.ndjson" + log_path = Path(__file__).with_name(log_file) + + pipeline = HotpotQAPipeline( + evaluation_target=evaluation_target, + retriever=build_hotpot_retriever(), + hops=3, + per_example_log_file=log_path, + extended_logs=use_todo, + parse_answer_fn=evaluation_target.parse_final_answer, + question_generation_prompt_fn=evaluation_target.question_generation_prompt_fn, + ) + + # Metrics + metrics = MetricSet(HotpotQAExactMatch(), HotpotQAF1()) + + evaluator = Evaluator(batch_size=5, parallelize_batches=True) + results = await evaluator.compute(pipeline=pipeline, dataloader=dataloader, metricset=metrics) + + print("Metrics:") + for key, value in results.metrics.items(): + print(f" {key}: {value:.4f}") + + if use_todo: + await print_todo_stats(log_path, dataloader) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="HotpotQA evaluation") + parser.add_argument( + "--agent_path", + type=str, + default=None, + help=("Path to agent 'path/to/file.py:var'. " "Defaults to exported hotpot_agent in example_agents."), + ) + args = parser.parse_args() + + asyncio.run(main(args.agent_path)) diff --git a/examples/evaluate/agent-benchmarking/run_humaneval.py b/examples/evaluate/agent-benchmarking/run_humaneval.py new file mode 100644 index 000000000..d5a775f88 --- /dev/null +++ b/examples/evaluate/agent-benchmarking/run_humaneval.py @@ -0,0 +1,91 @@ +""" +Ragbits Evaluation Example: HumanEval + +This example evaluates HumanEval using any agent provided via a path compatible +with the CLI's `import_agent_from_path` utility, e.g.: + +uv run python examples/evaluate/agent-benchmarking/run_humaneval.py \ + --agent_path=examples/evaluate/agent-benchmarking/example_agents.py:humaneval_agent + +To run in Todo-enabled mode, pass `humaneval_todo_agent`. The script will +conditionally print TODO stats when the agent is Todo-based and extended logs +are enabled. +""" + +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "ragbits-agents", +# "ragbits-core", +# "ragbits-evaluate", +# ] +# /// + +import argparse +import asyncio +import logging +from pathlib import Path + +from ragbits.agents import Agent +from ragbits.agents.cli import import_agent_from_path +from ragbits.core.sources.hf import HuggingFaceSource +from ragbits.evaluate.dataloaders.human_eval import HumanEvalDataLoader +from ragbits.evaluate.evaluator import Evaluator +from ragbits.evaluate.metrics.base import MetricSet +from ragbits.evaluate.metrics.human_eval import HumanEvalPassAtK, HumanEvalQualityPerf +from ragbits.evaluate.pipelines.human_eval import HumanEvalPipeline + + +async def main(agent_path: str | None) -> None: + """Run HumanEval with a pluggable agent.""" + logging.getLogger("LiteLLM").setLevel(logging.ERROR) + + default_agent_path = "examples/evaluate/agent-benchmarking/example_agents.py:humaneval_agent" + evaluation_target: Agent = import_agent_from_path(agent_path or default_agent_path) + + # Data + source = HuggingFaceSource(path="openai/openai_humaneval", split="test") + dataloader = HumanEvalDataLoader(source=source, split="data[:2]") + + # Pipeline + use_todo = evaluation_target.__class__.__name__ == "TodoAgent" + log_file = "humaneval_todo_examples.ndjson" if use_todo else "humaneval_examples.ndjson" + log_path = Path(__file__).with_name(log_file) + + pipeline = HumanEvalPipeline( + evaluation_target=evaluation_target, + n_samples=5, + timeout_sec=30, + per_example_log_file=log_path, + extended_logs=use_todo, + code_sanitize_fn=evaluation_target.code_sanitize_fn, + ) + + # Metrics + metrics = MetricSet(HumanEvalPassAtK(k=1), HumanEvalPassAtK(k=5), HumanEvalQualityPerf()) + + # Evaluate + evaluator = Evaluator(batch_size=5, parallelize_batches=True) + results = await evaluator.compute(pipeline=pipeline, dataloader=dataloader, metricset=metrics) + + print("Metrics:") + for key, value in results.metrics.items(): + print(f" {key}: {value:.4f}") + + if use_todo: + from utils import print_todo_stats + + await print_todo_stats(log_path, dataloader) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="HumanEval evaluation") + parser.add_argument( + "--agent_path", + type=str, + default=None, + help=("Path to agent 'path/to/file.py:var'. " "Defaults to exported humaneval_agent in example_agents."), + ) + args = parser.parse_args() + + asyncio.run(main(args.agent_path)) diff --git a/examples/evaluate/agent-benchmarking/run_socrates.py b/examples/evaluate/agent-benchmarking/run_socrates.py new file mode 100644 index 000000000..65541dde4 --- /dev/null +++ b/examples/evaluate/agent-benchmarking/run_socrates.py @@ -0,0 +1,93 @@ +""" +Ragbits Evaluation Example: SOCRATES + +This example evaluates SOCRATES using any agent provided via a path compatible with +the CLI's `import_agent_from_path` utility, e.g.: + +uv run python examples/evaluate/agent-benchmarking/run_socrates.py \ + --agent_path examples/evaluate/agent-benchmarking/example_agents.py:socrates_agent + +To use the Todo-enabled variant, pass `socrates_todo_agent`. The script will +conditionally print TODO stats when the agent is Todo-based and extended logs +are enabled. + +SOCRATES is a multi-hop reasoning benchmark that tests an agent's ability to follow +chains of reasoning over several steps. The dataset originates from Google DeepMind's +latent-multi-hop-reasoning repository available on GitHub. +""" + +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "ragbits-agents", +# "ragbits-core", +# "ragbits-evaluate", +# ] +# /// + +import argparse +import asyncio +import logging +from pathlib import Path + +from ragbits.agents import Agent +from ragbits.agents.cli import import_agent_from_path +from ragbits.core.sources.hf import HuggingFaceSource +from ragbits.evaluate.dataloaders.socrates import SocratesDataLoader +from ragbits.evaluate.evaluator import Evaluator +from ragbits.evaluate.metrics.base import MetricSet +from ragbits.evaluate.metrics.socrates import SocratesEfficiency, SocratesOutcome, SocratesTooling +from ragbits.evaluate.pipelines.socrates import SocratesPipeline + + +async def main(agent_path: str | None) -> None: + """Run SOCRATES evaluation with a pluggable agent.""" + logging.getLogger("LiteLLM").setLevel(logging.ERROR) + + default_agent_path = "examples/evaluate/agent-benchmarking/example_agents.py:socrates_agent" + evaluation_target: Agent = import_agent_from_path(agent_path or default_agent_path) + + source = HuggingFaceSource(path="soheeyang/SOCRATES", split="train") + + dataloader = SocratesDataLoader( + source=source, split="data[:1]" + ) # 9:14 includes 3 examples that didn't work for non-todo + + # Pipeline + use_todo = evaluation_target.__class__.__name__ == "TodoAgent" + log_file = "socrates_todo_examples.ndjson" if use_todo else "socrates_examples.ndjson" + log_path = Path(__file__).with_name(log_file) + + pipeline = SocratesPipeline( + evaluation_target=evaluation_target, + per_example_log_file=log_path, + extended_logs=use_todo, + ) + + # Metrics + metrics = MetricSet(SocratesOutcome(), SocratesTooling(), SocratesEfficiency()) + + evaluator = Evaluator(batch_size=5, parallelize_batches=True) + results = await evaluator.compute(pipeline=pipeline, dataloader=dataloader, metricset=metrics) + + print("Metrics:") + for key, value in results.metrics.items(): + print(f" {key}: {value:.4f}") + + if use_todo: + from utils import print_todo_stats + + await print_todo_stats(log_path, dataloader) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="SOCRATES evaluation") + parser.add_argument( + "--agent_path", + type=str, + default=None, + help=("Path to agent 'path/to/file.py:var'. " "Defaults to exported socrates_agent in example_agents."), + ) + args = parser.parse_args() + + asyncio.run(main(args.agent_path)) diff --git a/examples/evaluate/agent-benchmarking/utils.py b/examples/evaluate/agent-benchmarking/utils.py new file mode 100644 index 000000000..41eafa74e --- /dev/null +++ b/examples/evaluate/agent-benchmarking/utils.py @@ -0,0 +1,68 @@ +from __future__ import annotations + +import json +from collections.abc import Iterable +from pathlib import Path +from typing import Any, Protocol + +from ragbits.core.embeddings import LiteLLMEmbedder +from ragbits.core.vector_stores import VectorStoreOptions +from ragbits.core.vector_stores.in_memory import InMemoryVectorStore +from ragbits.document_search import DocumentSearch +from ragbits.document_search.ingestion.strategies import BatchedIngestStrategy + + +def build_hotpot_retriever() -> DocumentSearch: + """Create a lightweight in-memory retriever for HotpotQA.""" + return DocumentSearch( + vector_store=InMemoryVectorStore( + embedder=LiteLLMEmbedder(model_name="text-embedding-3-small"), + default_options=VectorStoreOptions(k=5), + ), + ingest_strategy=BatchedIngestStrategy(index_batch_size=1000), + ) + + +class _SupportsLoad(Protocol): + async def load(self) -> Iterable[Any]: ... + + +async def print_todo_stats(log_path: Path, dataloader: _SupportsLoad) -> None: + """Print aggregated TODO-agent statistics from extended logs. + + Works across benchmarks if extended logs include the orchestrator metadata. + """ + print("\nTODO Orchestrator Statistics:") + decomposed_count = 0 + total_tasks = 0 + simple_count = 0 + complex_count = 0 + + if log_path.exists(): + with open(log_path, encoding="utf-8") as f: + for line in f: + record = json.loads(line) + debug_log = record.get("extended_debug_logging", "[]") + if debug_log and debug_log != "[]": + debug_data = json.loads(debug_log) + if debug_data and len(debug_data) > 0: + metadata = (debug_data[0] or {}).get("metadata", {}) + todo_meta = metadata.get("todo", {}) + + if todo_meta.get("was_decomposed"): + decomposed_count += 1 + total_tasks += int(todo_meta.get("num_tasks", 0)) + + if todo_meta.get("complexity_classification") == "SIMPLE": + simple_count += 1 + elif todo_meta.get("complexity_classification") == "COMPLEX": + complex_count += 1 + + loaded = await dataloader.load() + items = list(loaded) + total = len(items) + rate = (decomposed_count / total * 100) if total else 0.0 + avg_tasks = (total_tasks / decomposed_count) if decomposed_count else 0.0 + print(f" Decomposition rate: {decomposed_count}/{total} ({rate:.1f}%)") + print(f" Average tasks per decomposed query: {avg_tasks:.1f}") + print(f" Complexity classification: {simple_count} simple, {complex_count} complex") diff --git a/mkdocs.yml b/mkdocs.yml index e90e422ad..a62180d7c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -40,6 +40,8 @@ nav: - "Define and use agents": how-to/agents/define_and_use_agents.md - "Provide tools with MCP": how-to/agents/provide_mcp_tools.md - "Serve agents with A2A": how-to/agents/serve_ragbits_agents.md + - "Use post-processors": how-to/agents/use_post_processors.md + - "Stream downstream agents": how-to/agents/stream_downstream_agents.md - Guardrails: - "Setup guardrails": how-to/guardrails/use_guardrails.md - Chatbots: diff --git a/package-lock.json b/package-lock.json index fb44e87a5..50f24ad59 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14988,7 +14988,7 @@ } }, "typescript/@ragbits/api-client": { - "version": "1.2.2", + "version": "1.3.0", "license": "MIT", "devDependencies": { "@eslint/js": "^9.17.0", @@ -15007,7 +15007,7 @@ } }, "typescript/@ragbits/api-client-react": { - "version": "1.2.2", + "version": "1.3.0", "license": "MIT", "dependencies": { "@ragbits/api-client": "*" @@ -15038,7 +15038,7 @@ } }, "typescript/ui": { - "version": "1.2.2", + "version": "1.3.0", "dependencies": { "@heroicons/react": "^2.2.0", "@heroui/react": "^2.8.1", diff --git a/packages/ragbits-agents/CHANGELOG.md b/packages/ragbits-agents/CHANGELOG.md index 52949840d..524d282b4 100644 --- a/packages/ragbits-agents/CHANGELOG.md +++ b/packages/ragbits-agents/CHANGELOG.md @@ -2,7 +2,20 @@ ## Unreleased +- TodoOrchestrator & Todo list for agent (#823) +- Support wrapping downstream agents as tools (#818) +- Add syntax sugar allowing easier Agents definition (#820) +- Add post-processors (#821) +- Support streaming from downstream agents (#812) +- Support wrapping downstream agents as tools (#818) +- Add syntax sugar allowing easier Agents definition (#820) +- Add post-processors (#821) +- Support streaming from downstream agents (#812) +- Add supervisor post-processor (#830) +- Add support for todo lists generated by agents with examples (#827) + ## 1.3.0 (2025-09-11) + ### Changed - ragbits-core updated to version v1.3.0 diff --git a/packages/ragbits-agents/pyproject.toml b/packages/ragbits-agents/pyproject.toml index 77a5137fb..c471c2af5 100644 --- a/packages/ragbits-agents/pyproject.toml +++ b/packages/ragbits-agents/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "ragbits-agents" -version = "1.3.0" +version = "1.4.0.dev202509121038" description = "Building blocks for rapid development of GenAI applications" readme = "README.md" requires-python = ">=3.10" @@ -31,7 +31,7 @@ classifiers = [ "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development :: Libraries :: Python Modules", ] -dependencies = ["ragbits-core==1.3.0"] +dependencies = ["ragbits-core==1.4.0.dev202509121038"] [project.optional-dependencies] a2a = [ diff --git a/packages/ragbits-agents/src/ragbits/agents/__init__.py b/packages/ragbits-agents/src/ragbits/agents/__init__.py index 7a7036895..edd8226cf 100644 --- a/packages/ragbits-agents/src/ragbits/agents/__init__.py +++ b/packages/ragbits-agents/src/ragbits/agents/__init__.py @@ -5,8 +5,11 @@ AgentResult, AgentResultStreaming, AgentRunContext, + DownstreamAgentResult, + ToolCall, ToolCallResult, ) +from ragbits.agents.post_processors.base import PostProcessor, StreamingPostProcessor from ragbits.agents.types import QuestionAnswerAgent, QuestionAnswerPromptInput, QuestionAnswerPromptOutput __all__ = [ @@ -16,8 +19,12 @@ "AgentResult", "AgentResultStreaming", "AgentRunContext", + "DownstreamAgentResult", + "PostProcessor", "QuestionAnswerAgent", "QuestionAnswerPromptInput", "QuestionAnswerPromptOutput", + "StreamingPostProcessor", + "ToolCall", "ToolCallResult", ] diff --git a/packages/ragbits-agents/src/ragbits/agents/_main.py b/packages/ragbits-agents/src/ragbits/agents/_main.py index d6e08f7a6..ed994310e 100644 --- a/packages/ragbits-agents/src/ragbits/agents/_main.py +++ b/packages/ragbits-agents/src/ragbits/agents/_main.py @@ -1,19 +1,25 @@ import asyncio +import types import uuid from collections.abc import AsyncGenerator, AsyncIterator, Callable +from collections.abc import AsyncGenerator as _AG from contextlib import suppress from copy import deepcopy from dataclasses import dataclass from datetime import timedelta from inspect import iscoroutinefunction from types import ModuleType, SimpleNamespace -from typing import ClassVar, Generic, TypeVar, cast, overload +from typing import Any, ClassVar, Generic, Literal, TypeVar, Union, cast, overload -from pydantic import BaseModel, Field +from pydantic import ( + BaseModel, + Field, +) from typing_extensions import Self from ragbits import agents from ragbits.agents.exceptions import ( + AgentInvalidPostProcessorError, AgentInvalidPromptInputError, AgentMaxTokensExceededError, AgentMaxTurnsExceededError, @@ -25,9 +31,15 @@ ) from ragbits.agents.mcp.server import MCPServer, MCPServerStdio, MCPServerStreamableHttp from ragbits.agents.mcp.utils import get_tools +from ragbits.agents.post_processors.base import ( + BasePostProcessor, + PostProcessor, + StreamingPostProcessor, + stream_with_post_processing, +) from ragbits.agents.tool import Tool, ToolCallResult, ToolChoice from ragbits.core.audit.traces import trace -from ragbits.core.llms.base import LLM, LLMClientOptionsT, LLMResponseWithMetadata, ToolCall, Usage +from ragbits.core.llms.base import LLM, LLMClientOptionsT, LLMOptions, LLMResponseWithMetadata, ToolCall, Usage from ragbits.core.options import Options from ragbits.core.prompt.base import BasePrompt, ChatFormat, SimplePrompt from ragbits.core.prompt.prompt import Prompt, PromptInputT, PromptOutputT @@ -42,6 +54,29 @@ from ragbits.core.llms import LiteLLM +_Input = TypeVar("_Input", bound=BaseModel) +_Output = TypeVar("_Output") + + +@dataclass +class DownstreamAgentResult: + """ + Represents a streamed item from a downstream agent while executing a tool. + """ + + agent_id: str | None + """ID of the downstream agent.""" + item: Union[ + str, + ToolCall, + ToolCallResult, + "DownstreamAgentResult", + BasePrompt, + Usage, + SimpleNamespace, + ] + """The streamed item from the downstream agent.""" + @dataclass class AgentResult(Generic[PromptOutputT]): @@ -144,13 +179,42 @@ def __contains__(self, key: str) -> bool: class AgentRunContext(BaseModel, Generic[DepsT]): """Context for the agent run.""" + model_config = {"arbitrary_types_allowed": True} + deps: AgentDependencies[DepsT] = Field(default_factory=lambda: AgentDependencies()) """Container for external dependencies.""" usage: Usage = Field(default_factory=Usage) """The usage of the agent.""" + stream_downstream_events: bool = False + """Whether to stream events from downstream agents when tools execute other agents.""" + downstream_agents: dict[str, "Agent"] = Field(default_factory=dict) + """Registry of all agents that participated in this run""" + + def register_agent(self, agent: "Agent") -> None: + """ + Register a downstream agent in this context. + + Args: + agent: The agent instance to register. + """ + self.downstream_agents[agent.id] = agent + + def get_agent(self, agent_id: str) -> "Agent | None": + """ + Retrieve a registered downstream agent by its ID. + + Args: + agent_id: The unique identifier of the agent. + + Returns: + The Agent instance if found, otherwise None. + """ + return self.downstream_agents.get(agent_id) -class AgentResultStreaming(AsyncIterator[str | ToolCall | ToolCallResult]): +class AgentResultStreaming( + AsyncIterator[str | ToolCall | ToolCallResult | BasePrompt | Usage | SimpleNamespace | DownstreamAgentResult] +): """ An async iterator that will collect all yielded items by LLM.generate_streaming(). This object is returned by `run_streaming`. It can be used in an `async for` loop to process items as they arrive. After the loop completes, @@ -158,21 +222,30 @@ class AgentResultStreaming(AsyncIterator[str | ToolCall | ToolCallResult]): """ def __init__( - self, generator: AsyncGenerator[str | ToolCall | ToolCallResult | SimpleNamespace | BasePrompt | Usage] + self, + generator: AsyncGenerator[ + str | ToolCall | ToolCallResult | DownstreamAgentResult | SimpleNamespace | BasePrompt | Usage + ], ): self._generator = generator self.content: str = "" self.tool_calls: list[ToolCallResult] | None = None + self.downstream: dict[str | None, list[str | ToolCall | ToolCallResult]] = {} self.metadata: dict = {} self.history: ChatFormat self.usage: Usage = Usage() - def __aiter__(self) -> AsyncIterator[str | ToolCall | ToolCallResult]: + def __aiter__( + self, + ) -> AsyncIterator[str | ToolCall | ToolCallResult | BasePrompt | Usage | SimpleNamespace | DownstreamAgentResult]: return self - async def __anext__(self) -> str | ToolCall | ToolCallResult: + async def __anext__( + self, + ) -> str | ToolCall | ToolCallResult | BasePrompt | Usage | SimpleNamespace | DownstreamAgentResult: try: item = await self._generator.__anext__() + match item: case str(): self.content += item @@ -182,23 +255,28 @@ async def __anext__(self) -> str | ToolCall | ToolCallResult: if self.tool_calls is None: self.tool_calls = [] self.tool_calls.append(item) + case DownstreamAgentResult(): + if item.agent_id not in self.downstream: + self.downstream[item.agent_id] = [] + if isinstance(item.item, str | ToolCall | ToolCallResult): + self.downstream[item.agent_id].append(item.item) case BasePrompt(): item.add_assistant_message(self.content) self.history = item.chat - item = await self._generator.__anext__() - item = cast(SimpleNamespace, item) - item.result = { - "content": self.content, - "metadata": self.metadata, - "tool_calls": self.tool_calls, - } - raise StopAsyncIteration case Usage(): self.usage = item + # continue loop instead of tail recursion return await self.__anext__() + case SimpleNamespace(): + result_dict = getattr(item, "result", {}) + self.content = result_dict.get("content", self.content) + self.metadata = result_dict.get("metadata", self.metadata) + self.tool_calls = result_dict.get("tool_calls", self.tool_calls) case _: raise ValueError(f"Unexpected item: {item}") + return item + except StopAsyncIteration: raise @@ -215,10 +293,17 @@ class Agent( options_cls: type[AgentOptions] = AgentOptions default_module: ClassVar[ModuleType | None] = agents configuration_key: ClassVar[str] = "agent" + # Syntax sugar fields + user_prompt: ClassVar[str] = "{{ input }}" + system_prompt: ClassVar[str | None] = None + input_type: PromptInputT | None = None + prompt_cls: ClassVar[type[Prompt] | None] = None def __init__( self, llm: LLM[LLMClientOptionsT], + name: str | None = None, + description: str | None = None, prompt: str | type[Prompt[PromptInputT, PromptOutputT]] | Prompt[PromptInputT, PromptOutputT] | None = None, *, history: ChatFormat | None = None, @@ -232,6 +317,8 @@ def __init__( Args: llm: The LLM to run the agent. + name: Optional name of the agent. Used to identify the agent instance. + description: Optional description of the agent. prompt: The prompt for the agent. Can be: - str: A string prompt that will be used as system message when combined with string input, or as the user message when no input is provided during run(). @@ -248,11 +335,27 @@ def __init__( self.id = uuid.uuid4().hex[:8] self.llm = llm self.prompt = prompt - self.tools = [Tool.from_callable(tool) for tool in tools or []] + self.name = name + self.description = description + self.tools = [] + for tool in tools or []: + if isinstance(tool, tuple): + agent, kwargs = tool + self.tools.append(Tool.from_agent(agent, **kwargs)) + elif isinstance(tool, Agent): + self.tools.append(Tool.from_agent(tool)) + else: + self.tools.append(Tool.from_callable(tool)) self.mcp_servers = mcp_servers or [] self.history = history or [] self.keep_history = keep_history + if getattr(self, "system_prompt", None) and not getattr(self, "input_type", None): + raise ValueError( + f"Agent {type(self).__name__} defines a system_prompt but has no input_type. ", + "Use Agent.prompt decorator to properly assign it.", + ) + @overload async def run( self: "Agent[LLMClientOptionsT, None, PromptOutputT]", @@ -260,6 +363,7 @@ async def run( options: AgentOptions[LLMClientOptionsT] | None = None, context: AgentRunContext | None = None, tool_choice: ToolChoice | None = None, + post_processors: list[PostProcessor[LLMClientOptionsT, PromptInputT, PromptOutputT]] | None = None, ) -> AgentResult[PromptOutputT]: ... @overload @@ -269,6 +373,7 @@ async def run( options: AgentOptions[LLMClientOptionsT] | None = None, context: AgentRunContext | None = None, tool_choice: ToolChoice | None = None, + post_processors: list[PostProcessor[LLMClientOptionsT, PromptInputT, PromptOutputT]] | None = None, ) -> AgentResult[PromptOutputT]: ... async def run( @@ -277,6 +382,7 @@ async def run( options: AgentOptions[LLMClientOptionsT] | None = None, context: AgentRunContext | None = None, tool_choice: ToolChoice | None = None, + post_processors: list[PostProcessor[LLMClientOptionsT, PromptInputT, PromptOutputT]] | None = None, ) -> AgentResult[PromptOutputT]: """ Run the agent. The method is experimental, inputs and outputs may change in the future. @@ -293,6 +399,7 @@ async def run( - "none": do not call tool - "required: enforce tool usage (model decides which one) - Callable: one of provided tools + post_processors: List of post-processors to apply to the response in order. Returns: The result of the agent run. @@ -304,6 +411,24 @@ async def run( AgentInvalidPromptInputError: If the prompt/input combination is invalid. AgentMaxTurnsExceededError: If the maximum number of turns is exceeded. """ + result = await self._run_without_post_processing(input, options, context, tool_choice) + + if post_processors: + for processor in post_processors: + result = await processor.process(result, self, options, context) + + return result + + async def _run_without_post_processing( + self, + input: str | PromptInputT | None, + options: AgentOptions[LLMClientOptionsT] | None = None, + context: AgentRunContext | None = None, + tool_choice: ToolChoice | None = None, + ) -> AgentResult[PromptOutputT]: + """ + Run the agent without applying post-processors. + """ if context is None: context = AgentRunContext() @@ -336,10 +461,12 @@ async def run( break for tool_call in response.tool_calls: - result = await self._execute_tool(tool_call=tool_call, tools_mapping=tools_mapping, context=context) - tool_calls.append(result) - - prompt_with_history = prompt_with_history.add_tool_use_message(**result.__dict__) + async for result in self._execute_tool( + tool_call=tool_call, tools_mapping=tools_mapping, context=context + ): + if isinstance(result, ToolCallResult): + tool_calls.append(result) + prompt_with_history = prompt_with_history.add_tool_use_message(**result.__dict__) turn_count += 1 else: @@ -371,6 +498,33 @@ def run_streaming( options: AgentOptions[LLMClientOptionsT] | None = None, context: AgentRunContext | None = None, tool_choice: ToolChoice | None = None, + post_processors: list[StreamingPostProcessor[LLMClientOptionsT, PromptInputT, PromptOutputT]] | None = None, + *, + allow_non_streaming: bool = False, + ) -> AgentResultStreaming: ... + + @overload + def run_streaming( + self: "Agent[LLMClientOptionsT, None, PromptOutputT]", + input: str | None = None, + options: AgentOptions[LLMClientOptionsT] | None = None, + context: AgentRunContext | None = None, + tool_choice: ToolChoice | None = None, + post_processors: list[BasePostProcessor[LLMClientOptionsT, PromptInputT, PromptOutputT]] | None = None, + *, + allow_non_streaming: Literal[True], + ) -> AgentResultStreaming: ... + + @overload + def run_streaming( + self: "Agent[LLMClientOptionsT, PromptInputT, PromptOutputT]", + input: PromptInputT, + options: AgentOptions[LLMClientOptionsT] | None = None, + context: AgentRunContext | None = None, + tool_choice: ToolChoice | None = None, + post_processors: list[StreamingPostProcessor[LLMClientOptionsT, PromptInputT, PromptOutputT]] | None = None, + *, + allow_non_streaming: bool = False, ) -> AgentResultStreaming: ... @overload @@ -380,6 +534,9 @@ def run_streaming( options: AgentOptions[LLMClientOptionsT] | None = None, context: AgentRunContext | None = None, tool_choice: ToolChoice | None = None, + post_processors: list[BasePostProcessor[LLMClientOptionsT, PromptInputT, PromptOutputT]] | None = None, + *, + allow_non_streaming: Literal[True], ) -> AgentResultStreaming: ... def run_streaming( @@ -388,6 +545,13 @@ def run_streaming( options: AgentOptions[LLMClientOptionsT] | None = None, context: AgentRunContext | None = None, tool_choice: ToolChoice | None = None, + post_processors: ( + list[StreamingPostProcessor[LLMClientOptionsT, PromptInputT, PromptOutputT]] + | list[BasePostProcessor[LLMClientOptionsT, PromptInputT, PromptOutputT]] + | None + ) = None, + *, + allow_non_streaming: bool = False, ) -> AgentResultStreaming: """ This method returns an `AgentResultStreaming` object that can be asynchronously @@ -402,6 +566,8 @@ def run_streaming( - "none": do not call tool - "required: enforce tool usage (model decides which one) - Callable: one of provided tools + post_processors: List of post-processors to apply to the response in order. + allow_non_streaming: Whether to allow non-streaming post-processors. Returns: A `StreamingResult` object for iteration and collection. @@ -412,8 +578,27 @@ def run_streaming( AgentToolNotAvailableError: If the selected tool is not available. AgentInvalidPromptInputError: If the prompt/input combination is invalid. AgentMaxTurnsExceededError: If the maximum number of turns is exceeded. + AgentInvalidPostProcessorError: If the post-processor is invalid. """ - generator = self._stream_internal(input, options, context, tool_choice) + generator = self._stream_internal( + input=input, + options=options, + context=context, + tool_choice=tool_choice, + ) + + if post_processors: + if not allow_non_streaming and any(not p.supports_streaming for p in post_processors): + raise AgentInvalidPostProcessorError( + reason="Non-streaming post-processors are not allowed when allow_non_streaming is False" + ) + + generator = cast( + _AG[str | ToolCall | ToolCallResult | SimpleNamespace | BasePrompt | Usage], + generator, + ) + generator = stream_with_post_processing(generator, post_processors, self) + return AgentResultStreaming(generator) async def _stream_internal( @@ -422,10 +607,12 @@ async def _stream_internal( options: AgentOptions[LLMClientOptionsT] | None = None, context: AgentRunContext | None = None, tool_choice: ToolChoice | None = None, - ) -> AsyncGenerator[str | ToolCall | ToolCallResult | SimpleNamespace | BasePrompt | Usage]: + ) -> AsyncGenerator[str | ToolCall | ToolCallResult | DownstreamAgentResult | SimpleNamespace | BasePrompt | Usage]: if context is None: context = AgentRunContext() + context.register_agent(cast(Agent[Any, Any, str], self)) + input = cast(PromptInputT, input) merged_options = (self.default_options | options) if options else self.default_options llm_options = merged_options.llm_options or self.llm.default_options @@ -435,24 +622,33 @@ async def _stream_internal( turn_count = 0 max_turns = merged_options.max_turns max_turns = 10 if max_turns is NOT_GIVEN else max_turns + with trace(input=input, options=merged_options) as outputs: while not max_turns or turn_count < max_turns: returned_tool_call = False self._check_token_limits(merged_options, context.usage, prompt_with_history, self.llm) + streaming_result = self.llm.generate_streaming( prompt=prompt_with_history, tools=[tool.to_function_schema() for tool in tools_mapping.values()], tool_choice=tool_choice if tool_choice and turn_count == 0 else None, options=self._get_llm_options(llm_options, merged_options, context.usage), ) + async for chunk in streaming_result: yield chunk if isinstance(chunk, ToolCall): - result = await self._execute_tool(tool_call=chunk, tools_mapping=tools_mapping, context=context) - yield result - prompt_with_history = prompt_with_history.add_tool_use_message(**result.__dict__) - returned_tool_call = True + async for result in self._execute_tool( + tool_call=chunk, + tools_mapping=tools_mapping, + context=context, + ): + yield result + if isinstance(result, ToolCallResult): + prompt_with_history = prompt_with_history.add_tool_use_message(**result.__dict__) + returned_tool_call = True + turn_count += 1 if streaming_result.usage: context.usage += streaming_result.usage @@ -504,14 +700,38 @@ def _get_llm_options( llm_options.max_tokens = min(actual_limits) - usage.total_tokens return llm_options - def _get_prompt_with_history(self, input: PromptInputT) -> SimplePrompt | Prompt[PromptInputT, PromptOutputT]: + def _prepare_synthesized_prompt( + self, input: PromptInputT + ) -> SimplePrompt | Prompt[PromptInputT, PromptOutputT] | None: curr_history = deepcopy(self.history) + if ( + hasattr(self, "prompt_cls") + and self.prompt_cls + and isinstance(self.prompt_cls, type) + and issubclass(self.prompt_cls, Prompt) + ): + prompt_cls = cast(type[Prompt[PromptInputT, PromptOutputT]], self.prompt_cls) + if self.keep_history: + self.prompt = cast(Prompt[PromptInputT, PromptOutputT], prompt_cls(input, curr_history)) + return self.prompt + else: + return cast(Prompt[PromptInputT, PromptOutputT], prompt_cls(input)) + if isinstance(self.prompt, type) and issubclass(self.prompt, Prompt): if self.keep_history: self.prompt = self.prompt(input, curr_history) return self.prompt else: - return self.prompt(input, curr_history) + return self.prompt(input) + + return None + + def _get_prompt_with_history(self, input: PromptInputT) -> SimplePrompt | Prompt[PromptInputT, PromptOutputT]: + curr_history = deepcopy(self.history) + new_prompt = self._prepare_synthesized_prompt(input) + + if new_prompt: + return new_prompt if isinstance(self.prompt, Prompt): self.prompt.add_user_message(input) @@ -555,11 +775,13 @@ async def _get_all_tools(self) -> dict[str, Tool]: return tools_mapping async def _execute_tool( - self, tool_call: ToolCall, tools_mapping: dict[str, Tool], context: AgentRunContext | None = None - ) -> ToolCallResult: + self, + tool_call: ToolCall, + tools_mapping: dict[str, Tool], + context: AgentRunContext, + ) -> AsyncGenerator[ToolCallResult | DownstreamAgentResult, None]: if tool_call.type != "function": raise AgentToolNotSupportedError(tool_call.type) - if tool_call.name not in tools_mapping: raise AgentToolNotAvailableError(tool_call.name) @@ -577,10 +799,23 @@ async def _execute_tool( else tool.on_tool_call(**call_args) ) + if isinstance(tool_output, AgentResultStreaming): + async for downstream_item in tool_output: + if context.stream_downstream_events: + yield DownstreamAgentResult(agent_id=tool.id, item=downstream_item) + + tool_output = { + "content": tool_output.content, + "metadata": tool_output.metadata, + "tool_calls": tool_output.tool_calls, + "usage": tool_output.usage, + } + outputs.result = { "tool_output": tool_output, "tool_call_id": tool_call.id, } + except Exception as e: outputs.result = { "error": str(e), @@ -588,7 +823,7 @@ async def _execute_tool( } raise AgentToolExecutionError(tool_call.name, e) from e - return ToolCallResult( + yield ToolCallResult( id=tool_call.id, name=tool_call.name, arguments=tool_call.arguments, @@ -758,3 +993,81 @@ def from_pydantic_ai(cls, pydantic_ai_agent: "PydanticAIAgent") -> Self: tools=[tool.function for _, tool in pydantic_ai_agent._function_tools.items()], mcp_servers=cast(list[MCPServer], mcp_servers), ) + + def to_tool(self, name: str | None = None, description: str | None = None) -> Tool: + """ + Convert the agent into a Tool instance. + + Args: + name: Optional override for the tool name. + description: Optional override for the tool description. + + Returns: + Tool instance representing the agent. + """ + return Tool.from_agent(self, name=name or self.name, description=description or self.description) + + @staticmethod + def _make_prompt_class_for_agent_subclass(agent_cls: type["Agent[Any, Any, Any]"]) -> type[Prompt] | None: + system = getattr(agent_cls, "system_prompt", None) + if not system: + raise ValueError(f"Agent {agent_cls.__name__} has no system_prompt") + user = getattr(agent_cls, "user_prompt", "{{ input }}") + + input_type: type[BaseModel] | None = getattr(agent_cls, "input_type", None) + if input_type is None: + raise ValueError(f"Agent {agent_cls.__name__} cannot build a Prompt without input_type") + + base_generic = Prompt + base = base_generic[input_type] + + attrs = { + "system_prompt": system, + "user_prompt": user, + } + + return types.new_class( + f"_{agent_cls.__name__}Prompt", + (base,), + exec_body=lambda ns: ns.update(attrs), + ) + + @overload + @staticmethod + def prompt_config( + input_model: type[_Input], + ) -> Callable[[type[Any]], type["Agent[LLMOptions, _Input, str]"]]: ... + @overload + @staticmethod + def prompt_config( + input_model: type[_Input], + output_model: type[_Output], + ) -> Callable[[type[Any]], type["Agent[LLMOptions, _Input, _Output]"]]: ... + @staticmethod + def prompt_config( + input_model: type[_Input], + output_model: type[_Output] | type[NotGiven] = NotGiven, + ) -> Callable[[type[Any]], type["Agent[LLMOptions, _Input, _Output]"]]: + """ + Decorator to bind both input and output types of an Agent subclass, with runtime checks. + + Raises: + TypeError: if the decorated class is not a subclass of Agent, + or if input_model is not a Pydantic BaseModel. + """ + if not isinstance(input_model, type) or not issubclass(input_model, BaseModel): + raise TypeError(f"input_model must be a subclass of pydantic.BaseModel, got {input_model}") + + if not isinstance(output_model, type): + raise TypeError(f"output_model must be a type, got {output_model}") + + def decorator(cls: type[Any]) -> type["Agent[LLMOptions, _Input, _Output]"]: + if not isinstance(cls, type) or not issubclass(cls, Agent): + raise TypeError(f"Can only decorate subclasses of Agent, got {cls}") + + cls.input_type = input_model + cls.prompt_cls = Agent._make_prompt_class_for_agent_subclass(cls) + + return cast(type["Agent[LLMOptions, _Input, _Output]"], cls) + + return decorator diff --git a/packages/ragbits-agents/src/ragbits/agents/exceptions.py b/packages/ragbits-agents/src/ragbits/agents/exceptions.py index c474e6ac7..a80e76314 100644 --- a/packages/ragbits-agents/src/ragbits/agents/exceptions.py +++ b/packages/ragbits-agents/src/ragbits/agents/exceptions.py @@ -106,3 +106,13 @@ def __init__( self.limit = limit self.actual = actual self.next_prompt_tokens = next_prompt_tokens + + +class AgentInvalidPostProcessorError(AgentError): + """ + Raised when the post-processor is invalid. + """ + + def __init__(self, reason: str) -> None: + super().__init__(f"Invalid post-processor: {reason}") + self.reason = reason diff --git a/packages/ragbits-agents/src/ragbits/agents/post_processors/__init__.py b/packages/ragbits-agents/src/ragbits/agents/post_processors/__init__.py new file mode 100644 index 000000000..f291a1d99 --- /dev/null +++ b/packages/ragbits-agents/src/ragbits/agents/post_processors/__init__.py @@ -0,0 +1,8 @@ +""" +Post-processors for agent responses. +""" + +from .base import BasePostProcessor, PostProcessor, StreamingPostProcessor +from .supervisor import SupervisorPostProcessor + +__all__ = ["BasePostProcessor", "PostProcessor", "StreamingPostProcessor", "SupervisorPostProcessor"] diff --git a/packages/ragbits-agents/src/ragbits/agents/post_processors/base.py b/packages/ragbits-agents/src/ragbits/agents/post_processors/base.py new file mode 100644 index 000000000..c1e46b1e7 --- /dev/null +++ b/packages/ragbits-agents/src/ragbits/agents/post_processors/base.py @@ -0,0 +1,154 @@ +from abc import ABC, abstractmethod +from collections.abc import AsyncGenerator +from types import SimpleNamespace +from typing import TYPE_CHECKING, Generic, Optional, cast + +from ragbits.agents.tool import ToolCallResult +from ragbits.core.llms.base import LLMClientOptionsT, ToolCall, Usage +from ragbits.core.prompt.base import BasePrompt +from ragbits.core.prompt.prompt import PromptInputT, PromptOutputT + +if TYPE_CHECKING: + from ragbits.agents._main import Agent, AgentOptions, AgentResult, AgentRunContext + + +class BasePostProcessor(Generic[LLMClientOptionsT, PromptInputT, PromptOutputT]): + """Base class for post-processors.""" + + @property + @abstractmethod + def supports_streaming(self) -> bool: + """ + Whether this post-processor supports streaming mode. + + If True, the processor can work with content during streaming + via process_streaming() method. + + If False, the processor will only be called after streaming is complete + with the full result via process() method. + """ + + +class PostProcessor(ABC, BasePostProcessor[LLMClientOptionsT, PromptInputT, PromptOutputT]): + """Base class for non-streaming post-processors.""" + + @property + def supports_streaming(self) -> bool: + """Whether this post-processor supports streaming mode.""" + return False + + @abstractmethod + async def process( + self, + result: "AgentResult[PromptOutputT]", + agent: "Agent[LLMClientOptionsT, PromptInputT, PromptOutputT]", + options: Optional["AgentOptions[LLMClientOptionsT]"] = None, + context: Optional["AgentRunContext"] = None, + ) -> "AgentResult[PromptOutputT]": + """ + Process the complete agent result. + + Args: + result: The complete AgentResult from the agent or previous post-processor. + agent: The Agent instance that generated the result. Can be used to re-run + the agent with modified input if needed. + options: The options for the agent run. + context: The context for the agent run. + + Returns: + Modified AgentResult to pass to the next processor or return as final result. + """ + + +class StreamingPostProcessor(ABC, BasePostProcessor[LLMClientOptionsT, PromptInputT, PromptOutputT]): + """Base class for streaming post-processors.""" + + @property + def supports_streaming(self) -> bool: + """Whether this post-processor supports streaming mode.""" + return True + + @abstractmethod + async def process_streaming( + self, + chunk: str | ToolCall | ToolCallResult | SimpleNamespace | BasePrompt | Usage, + agent: "Agent[LLMClientOptionsT, PromptInputT, PromptOutputT]", + ) -> str | ToolCall | ToolCallResult | SimpleNamespace | BasePrompt | Usage: + """ + Process chunks during streaming. + + Args: + chunk: The current chunk being streamed. + agent: The Agent instance generating the content. + + Returns: + Modified chunk to yield, or None to suppress this chunk. + Return the same chunk if no modification needed. + """ + + +async def stream_with_post_processing( + generator: AsyncGenerator[str | ToolCall | ToolCallResult | SimpleNamespace | BasePrompt | Usage], + post_processors: ( + list[StreamingPostProcessor[LLMClientOptionsT, PromptInputT, PromptOutputT]] + | list[BasePostProcessor[LLMClientOptionsT, PromptInputT, PromptOutputT]] + ), + agent: "Agent[LLMClientOptionsT, PromptInputT, PromptOutputT]", +) -> AsyncGenerator[str | ToolCall | ToolCallResult | SimpleNamespace | BasePrompt | Usage]: + """ + Stream with support for both streaming and non-streaming post-processors. + + Streaming processors get chunks in real-time via process_streaming(). + Non-streaming processors get the complete result via process(). + """ + from ragbits.agents import AgentResult + + streaming_processors = [p for p in post_processors or [] if isinstance(p, StreamingPostProcessor)] + non_streaming_processors = [p for p in post_processors or [] if isinstance(p, PostProcessor)] + + accumulated_content = "" + tool_call_results: list[ToolCallResult] = [] + usage: Usage = Usage() + prompt_with_history: BasePrompt | None = None + + async for chunk in generator: + processed_chunk = chunk + for streaming_processor in streaming_processors: + processed_chunk = await streaming_processor.process_streaming(chunk=processed_chunk, agent=agent) + if processed_chunk is None: + break + + if isinstance(processed_chunk, str): + accumulated_content += processed_chunk + elif isinstance(processed_chunk, ToolCallResult): + tool_call_results.append(processed_chunk) + elif isinstance(processed_chunk, Usage): + usage = processed_chunk + elif isinstance(processed_chunk, BasePrompt): + prompt_with_history = processed_chunk + + if processed_chunk is not None: + yield processed_chunk + + if non_streaming_processors and prompt_with_history: + agent_result = AgentResult( + content=cast(PromptOutputT, accumulated_content), + metadata={}, + tool_calls=tool_call_results or None, + history=prompt_with_history.chat, + usage=usage, + ) + + current_result = agent_result + for non_streaming_processor in non_streaming_processors: + current_result = await non_streaming_processor.process(current_result, agent) + + yield current_result.usage + yield prompt_with_history + yield SimpleNamespace( + result={ + "content": current_result.content, + "metadata": current_result.metadata, + "tool_calls": current_result.tool_calls, + } + ) diff --git a/packages/ragbits-agents/src/ragbits/agents/post_processors/exceptions.py b/packages/ragbits-agents/src/ragbits/agents/post_processors/exceptions.py new file mode 100644 index 000000000..f7588038d --- /dev/null +++ b/packages/ragbits-agents/src/ragbits/agents/post_processors/exceptions.py @@ -0,0 +1,17 @@ +class SupervisorMaxRetriesExceededError(Exception): + """Raised when SupervisorPostProcessor exceeds the maximum number of retries.""" + + def __init__(self, max_retries: int, last_validations: list | None = None) -> None: + self.max_retries = max_retries + self.last_validations = last_validations or [] + super().__init__(f"Supervisor: maximum retries ({max_retries}) exceeded.") + + +class SupervisorCorrectionPromptFormatError(Exception): + """Raised when SupervisorPostProcessor cannot format the correction prompt.""" + + def __init__(self, missing_keys: list[str] | None = None, original_error: Exception | None = None) -> None: + self.missing_keys = missing_keys or [] + self.original_error = original_error + details = f" Missing keys: {', '.join(self.missing_keys)}." if self.missing_keys else "" + super().__init__(f"Supervisor: failed to format correction prompt.{details}") diff --git a/packages/ragbits-agents/src/ragbits/agents/post_processors/supervisor.py b/packages/ragbits-agents/src/ragbits/agents/post_processors/supervisor.py new file mode 100644 index 000000000..4eece4b24 --- /dev/null +++ b/packages/ragbits-agents/src/ragbits/agents/post_processors/supervisor.py @@ -0,0 +1,236 @@ +from enum import Enum +from typing import TYPE_CHECKING, Any, Generic, Optional, Protocol, TypeVar, cast + +from pydantic import BaseModel + +from ragbits.agents.post_processors.base import PostProcessor +from ragbits.agents.post_processors.exceptions import ( + SupervisorCorrectionPromptFormatError, + SupervisorMaxRetriesExceededError, +) +from ragbits.core.llms.base import LLM, LLMClientOptionsT +from ragbits.core.prompt.prompt import ChatFormat, Prompt, PromptInputT, PromptOutputT + +if TYPE_CHECKING: + from ragbits.agents._main import Agent, AgentOptions, AgentResult, AgentRunContext + + +class HistoryStrategy(str, Enum): + """Strategy for handling the chat history.""" + + PRESERVE = "preserve" + REMOVE = "remove" + + +class SupportsValidation(Protocol): + """Protocol for post-processors that support validation.""" + + is_valid: bool + + def model_dump(self, *args: Any, **kwargs: Any) -> dict[str, Any]: + """Return a dict of model fields (compatible with BaseModel.model_dump).""" + ... + + +ValidationOutputT = TypeVar("ValidationOutputT", bound=SupportsValidation) + + +class ValidationOutput(BaseModel): + """Result of the validation process for agent responses.""" + + is_valid: bool + """Whether the response is valid based on tool calls.""" + + reasoning: str + """Explanation of the validation decision.""" + + suggestion: str + """Suggestion for correction.""" + + +class ValidationInput(BaseModel): + """Input data for the validation prompt.""" + + chat_history: ChatFormat + """The complete chat history for context.""" + + +class DefaultSupervisorPrompt(Prompt[ValidationInput, ValidationOutput]): + """ + Default prompt for validating agent responses against tool call results. + """ + + system_prompt = """ + You are an expert validator that analyzes whether an AI agent's response is logically consistent + with the tool calls it executed and their results. Your job is to determine if the response + could reasonably be generated based on the available information from the tools. + + Analyze the following: + 1. Whether the response content is supported by the tool call results + 2. If any claims in the response contradict the tool data + 3. If the response makes assumptions not supported by the tool results + 4. Whether the response appropriately handles cases where tools failed or returned no data + 5. Whether the response actually answers the user's question + 6. Whether the response is factually correct based on available evidence + + IMPORTANT VALIDATION RULES: + - Only flag as INVALID if the answer is clearly incorrect or contradicts the tool results + - If the answer cannot be determined to be true because it's basic/common knowledge not covered by tools, + consider it as VALID + - If the response doesn't directly answer the user's question, flag as INVALID + - Be strict but fair - flag clear inconsistencies while allowing for reasonable inference + and interpretation of the tool results + """ + + user_prompt = ( + "Chat History:\n" + "{% for message in chat_history %}\n" + "{{ message.role | title }}: " + "{% if message.content is none %}" + "{% for tool_call in message.tool_calls %}" + "called tool: " + "{{ tool_call.function.name }}({{ tool_call.function.arguments | tojson }})" + "{% if not loop.last %} {% endif %}" + "{% endfor %}" + "{% else %}{{ message.content }}{% endif %}" + "{% endfor %}\n" + "\nPlease validate whether the last assistant's response is logically consistent with the tool call results " + "and the conversation context." + ) + + +DEFAULT_CORRECTION_PROMPT = ( + "Your answer is incorrect. Below you will find the reasoning and suggestion for correction.\n" + "Reasoning: {reasoning}\n" + "Suggestion: {suggestion}\n" + "Please answer again, considering the reasoning and suggestion.\n" +) + + +class SupervisorPostProcessor( + PostProcessor[LLMClientOptionsT, PromptInputT, PromptOutputT], + Generic[LLMClientOptionsT, PromptInputT, ValidationOutputT, PromptOutputT], +): + """ + Post-processor that validates agent responses against executed tool calls. + + This supervisor uses an LLM to analyze whether the agent's final response + is logically consistent with the results of the tool calls it executed. + """ + + def __init__( + self, + llm: LLM[LLMClientOptionsT], + validation_prompt: type[Prompt[ValidationInput, ValidationOutputT]] | None = None, + correction_prompt: str | None = None, + max_retries: int = 3, + fail_on_exceed: bool = True, + history_strategy: HistoryStrategy = HistoryStrategy.REMOVE, + ) -> None: + self.llm = llm + self.validation_prompt: type[Prompt[ValidationInput, ValidationOutputT]] = cast( + type[Prompt[ValidationInput, ValidationOutputT]], + validation_prompt or DefaultSupervisorPrompt, + ) + self.correction_prompt = correction_prompt or DEFAULT_CORRECTION_PROMPT + self.max_retries = max_retries + self.fail_on_exceed = fail_on_exceed + self.history_strategy = history_strategy + + async def process( + self, + result: "AgentResult[PromptOutputT]", + agent: "Agent[LLMClientOptionsT, PromptInputT, PromptOutputT]", + options: Optional["AgentOptions[LLMClientOptionsT]"] = None, + context: Optional["AgentRunContext"] = None, + ) -> "AgentResult[PromptOutputT]": + """ + Validate the agent's response and, if necessary, rerun with corrections. + """ + retries = 0 + current_result = result + validations: list[ValidationOutputT] = [] + accumulated_tool_calls: list = [] + agent.history = result.history + + while retries <= self.max_retries: + validation = await self._validate(current_result) + validations.append(validation) + accumulated_tool_calls.extend(current_result.tool_calls or []) + current_result.tool_calls = accumulated_tool_calls + + if validation.is_valid: + if not agent.keep_history: + agent.history = [] + return self._attach_metadata(current_result, validations) + + if retries == self.max_retries: + if self.fail_on_exceed: + raise SupervisorMaxRetriesExceededError(self.max_retries, validations) + if not agent.keep_history: + agent.history = [] + return self._attach_metadata(current_result, validations) + + last_assistant_index = len(current_result.history) - 1 + current_result = await self._rerun(agent, validation, options, context) + current_result = self._handle_history(current_result, last_assistant_index) + retries += 1 + + if not agent.keep_history: + agent.history = [] + return self._attach_metadata(current_result, validations) + + async def _validate(self, result: "AgentResult[PromptOutputT]") -> ValidationOutputT: + """ + Run the validation prompt on the agent result. + """ + input_data = ValidationInput(chat_history=result.history) + prompt = self.validation_prompt(input_data) + return await self.llm.generate(prompt) + + async def _rerun( + self, + agent: "Agent[LLMClientOptionsT, PromptInputT, PromptOutputT]", + validation: ValidationOutputT, + options: Optional["AgentOptions[LLMClientOptionsT]"] = None, + context: Optional["AgentRunContext"] = None, + ) -> "AgentResult[PromptOutputT]": + """ + Rerun the agent with a correction prompt based on validation feedback. + """ + try: + correction_prompt = self.correction_prompt.format(**validation.model_dump()) + except KeyError as exc: + missing = [str(exc).strip("'\"")] + raise SupervisorCorrectionPromptFormatError(missing_keys=missing, original_error=exc) from exc + except Exception as exc: + raise SupervisorCorrectionPromptFormatError(original_error=exc) from exc + + return await agent._run_without_post_processing(correction_prompt, options, context) + + @staticmethod + def _attach_metadata( + result: "AgentResult[PromptOutputT]", + validations: list[ValidationOutputT], + ) -> "AgentResult[PromptOutputT]": + """ + Attach validation metadata to the agent result. + """ + result.metadata.setdefault("post_processors", {}).setdefault("supervisor", []).extend( + [v.model_dump() for v in validations] + ) + return result + + def _handle_history( + self, + result: "AgentResult[PromptOutputT]", + last_assistant_index: int, + ) -> "AgentResult[PromptOutputT]": + """ + Handle the chat history according to the configured strategy. + """ + if self.history_strategy == HistoryStrategy.REMOVE: + result.history.pop(last_assistant_index + 1) + result.history.pop(last_assistant_index) + + return result diff --git a/packages/ragbits-agents/src/ragbits/agents/tool.py b/packages/ragbits-agents/src/ragbits/agents/tool.py index eebdf5b21..c8e279f29 100644 --- a/packages/ragbits-agents/src/ragbits/agents/tool.py +++ b/packages/ragbits-agents/src/ragbits/agents/tool.py @@ -1,13 +1,19 @@ from collections.abc import Callable from contextlib import suppress from dataclasses import dataclass -from typing import Any, Literal +from typing import TYPE_CHECKING, Any, Literal, cast +from pydantic import BaseModel from typing_extensions import Self +from ragbits.core.llms.base import LLMClientOptionsT +from ragbits.core.prompt.prompt import PromptInputT, PromptOutputT from ragbits.core.utils.decorators import requires_dependencies from ragbits.core.utils.function_schema import convert_function_to_function_schema, get_context_variable_name +if TYPE_CHECKING: + from ragbits.agents import Agent, AgentResultStreaming, AgentRunContext + with suppress(ImportError): from pydantic_ai import Tool as PydanticAITool @@ -44,6 +50,7 @@ class Tool: """The actual callable function to execute when the tool is called.""" context_var_name: str | None = None """The name of the context variable that this tool accepts.""" + id: str | None = None @classmethod def from_callable(cls, callable: Callable) -> Self: @@ -96,5 +103,77 @@ def to_pydantic_ai(self) -> "PydanticAITool": description=self.description, ) + @classmethod + def from_agent( + cls, + agent: "Agent[LLMClientOptionsT, PromptInputT, PromptOutputT]", + name: str | None = None, + description: str | None = None, + ) -> "Tool": + """ + Wraps a downstream agent as a single tool. The tool parameters are inferred from + the downstream agent's prompt input. + + Args: + agent: The downstream agent to wrap as a tool. + name: Optional override for the tool name. + description: Optional override for the tool description. + + Returns: + Tool instance representing the agent. + """ + display_name = name or agent.name or "agent" + variable_name = display_name.replace(" ", "_").lower() + description = description or agent.description + + input_model_cls = getattr(agent.prompt, "input_type", None) + if input_model_cls and issubclass(input_model_cls, BaseModel): + fields = input_model_cls.model_fields + properties = {} + required = list(fields.keys()) + + for field_name in fields: + param_desc = None + for t in getattr(agent, "tools", []): + t_params = getattr(t, "parameters", {}).get("properties", {}) + if field_name in t_params: + param_desc = t_params[field_name].get("description") + break + + properties[field_name] = { + "type": "string", + "title": field_name.capitalize(), + "description": param_desc, + } + else: + properties = {"input": {"type": "string", "description": "Input for the downstream agent"}} + required = ["input"] + + parameters = {"type": "object", "properties": properties, "required": required} + + context_var_name = get_context_variable_name(agent.run) + + def _on_tool_call(**kwargs: dict) -> "AgentResultStreaming": + if context_var_name: + context = cast("AgentRunContext[Any] | None", kwargs.get(context_var_name)) + if context is not None: + context.register_agent(cast("Agent[Any, Any, str]", agent)) + + if input_model_cls and issubclass(input_model_cls, BaseModel): + model_input = input_model_cls(**kwargs) + else: + model_input = kwargs.get("input") + + return agent.run_streaming(model_input, context=context) + + return cls( + name=variable_name, + id=agent.id, + description=description, + parameters=parameters, + on_tool_call=_on_tool_call, + context_var_name=context_var_name, + ) + ToolChoice = Literal["auto", "none", "required"] | Callable diff --git a/packages/ragbits-agents/src/ragbits/agents/tools/__init__.py b/packages/ragbits-agents/src/ragbits/agents/tools/__init__.py index 9bb922491..182f1d405 100644 --- a/packages/ragbits-agents/src/ragbits/agents/tools/__init__.py +++ b/packages/ragbits-agents/src/ragbits/agents/tools/__init__.py @@ -1,3 +1,4 @@ from ragbits.agents.tools.openai import get_code_interpreter_tool, get_image_generation_tool, get_web_search_tool +from ragbits.agents.tools.todo import TodoOrchestrator -__all__ = ["get_code_interpreter_tool", "get_image_generation_tool", "get_web_search_tool"] +__all__ = ["TodoOrchestrator", "get_code_interpreter_tool", "get_image_generation_tool", "get_web_search_tool"] diff --git a/packages/ragbits-agents/src/ragbits/agents/tools/todo.py b/packages/ragbits-agents/src/ragbits/agents/tools/todo.py new file mode 100644 index 000000000..699c50dfb --- /dev/null +++ b/packages/ragbits-agents/src/ragbits/agents/tools/todo.py @@ -0,0 +1,486 @@ +"""Todo list management tool for agents.""" + +import uuid +from collections.abc import AsyncGenerator +from enum import Enum +from types import SimpleNamespace + +from pydantic import BaseModel, Field + +from ragbits.agents import Agent +from ragbits.agents._main import DownstreamAgentResult +from ragbits.agents.tool import ToolCallResult +from ragbits.core.llms import ToolCall +from ragbits.core.llms.base import Usage +from ragbits.core.prompt.base import BasePrompt + +# Constants +MAX_SUMMARY_LENGTH = 300 + + +class TaskStatus(str, Enum): + """Task status options.""" + + PENDING = "pending" + IN_PROGRESS = "in_progress" + COMPLETED = "completed" + FAILED = "failed" + CANCELLED = "cancelled" + RETRYING = "retrying" + + +class Task(BaseModel): + """Simple task representation.""" + + id: str + description: str + status: TaskStatus = TaskStatus.PENDING + order: int = 0 + summary: str | None = None + parent_id: str | None = None + full_response: str | None = None + dependencies: list[str] = Field(default_factory=list) + + +class TodoResult(BaseModel): + """Result type for todo workflow.""" + + type: str + message: str | None = None + current_task: Task | None = None + next_task: Task | None = None + tasks: list[Task] = Field(default_factory=list) + tasks_count: int | None = None + progress: str | None = None + + +# Type alias for the streaming response union +StreamingResponseType = ( + str | TodoResult | ToolCall | ToolCallResult | BasePrompt | Usage | SimpleNamespace | DownstreamAgentResult +) + + +class TodoList(BaseModel): + """Simple todo list for one agent run.""" + + tasks: list[Task] = Field(default_factory=list) + current_index: int = 0 + + def get_current_task(self) -> Task | None: + """Get current task to work on.""" + if self.current_index < len(self.tasks): + return self.tasks[self.current_index] + return None + + def advance_to_next(self) -> None: + """Move to next task.""" + self.current_index += 1 + + def create_tasks(self, task_descriptions: list[str]) -> TodoResult: + """Create tasks from descriptions.""" + if not task_descriptions: + raise ValueError("Tasks required for create action") + + # Clear existing tasks + self.tasks.clear() + self.current_index = 0 + + for i, desc in enumerate(task_descriptions): + task = Task(id=str(uuid.uuid4()), description=desc.strip(), order=i) + self.tasks.append(task) + + return TodoResult( + type="create", + message=f"Created {len(task_descriptions)} tasks", + tasks=self.tasks.copy(), + tasks_count=len(self.tasks), + ) + + def get_current(self) -> TodoResult: + """Get current task information.""" + current = self.get_current_task() + if not current: + return TodoResult(type="get_current", message="All tasks completed!", current_task=None) + + return TodoResult( + type="get_current", + message=f"Current task: {current.description}", + current_task=current, + progress=f"{self.current_index + 1}/{len(self.tasks)}", + ) + + def start_current_task(self) -> Task: + """Start the current task.""" + current = self.get_current_task() + if not current: + raise ValueError("No current task to start") + + current.status = TaskStatus.IN_PROGRESS + return current + + def complete_current_task(self, summary: str) -> TodoResult: + """Complete the current task with summary.""" + if not summary: + raise ValueError("Summary required for complete_task") + + current = self.get_current_task() + if not current: + raise ValueError("No current task to complete") + + if current.status != TaskStatus.IN_PROGRESS: + raise ValueError("Task must be started before completing") + + current.status = TaskStatus.COMPLETED + current.summary = summary.strip() + self.advance_to_next() + + next_task = self.get_current_task() + completed_count = sum(1 for t in self.tasks if t.status == TaskStatus.COMPLETED) + + return TodoResult( + type="complete_task", + message=f"Completed: {current.description}", + current_task=current, + next_task=next_task, + progress=f"{completed_count}/{len(self.tasks)}", + ) + + def get_completed_context(self) -> str: + """Get context from all completed tasks.""" + completed_tasks = [t for t in self.tasks if t.status == TaskStatus.COMPLETED] + if not completed_tasks: + return "No previous tasks completed yet." + + context_parts = [] + for i, task in enumerate(completed_tasks, 1): + context_parts.append(f"{i}. {task.description}: {task.summary or 'Completed'}") + + return "Previous completed tasks:\n" + "\n".join(context_parts) + + +class TodoOrchestrator(BaseModel): + """High-level orchestrator for managing todo workflow with context passing.""" + + todo_list: TodoList = Field(default_factory=TodoList) + domain_context: str = "" + + def __init__(self, domain_context: str = "") -> None: + """ + Initialize TodoOrchestrator with domain-specific prompts. + + Args: + domain_context: Additional context about the domain (e.g., "hiking guide", "software architect", etc.) + """ + super().__init__(domain_context=domain_context) + + async def run_todo_workflow_streaming( + self, agent: Agent, initial_query: str + ) -> AsyncGenerator[StreamingResponseType, None]: + """ + Run complete todo workflow with streaming responses. + + Yields: + Various response types: str, ToolCall, ToolResult, dict (status updates) + """ + yield TodoResult(type="status", message="🚀 Starting todo workflow...") + + # Step 1: Analyze complexity and create tasks if needed + yield TodoResult(type="status", message="🔍 Analyzing query complexity...") + + tasks = await self._create_tasks_simple(agent, initial_query) + + if not tasks: + # Query is simple - answer directly without task breakdown + yield TodoResult(type="status", message="💡 Simple query detected - providing direct answer...") + + # Create a focused prompt for direct answering + direct_prompt = f""" + Answer this query directly and comprehensively: + + "{initial_query}" + + {f"Context: You are working as a {self.domain_context}." if self.domain_context else ""} + + Provide a clear, complete answer without unnecessary complexity. + """ + + # Stream the direct answer + async for response in agent.run_streaming(direct_prompt): + if isinstance(response, str): + yield response + else: + yield response # Pass through tool calls, etc. + + yield TodoResult(type="status", message="\n🎯 Direct answer completed!") + return + + # Complex query - proceed with task breakdown + yield TodoResult(type="status", message=f"📋 Complex query - created {len(tasks)} tasks:") + yield TodoResult(type="task_list", tasks=tasks, tasks_count=len(tasks)) + + # Step 2: Execute each task with context from previous tasks + task_summaries = [] + + while True: + current_task_info = self.todo_list.get_current() + current_task = current_task_info.current_task + if current_task is None: + break + + yield TodoResult( + type="task_summary_start", + message=f"\n🔧 Task {current_task_info.progress}: {current_task.description}\n", + ) + + # Get context from previous completed tasks + context = self.todo_list.get_completed_context() + + # Execute single task with focused context and stream summary + async for task_response in self._execute_single_task_focused(agent, current_task, context, initial_query): + yield task_response + yield "\n\n" + + # Get the completed task summary + completed_tasks = [t for t in self.todo_list.tasks if t.status == TaskStatus.COMPLETED] + if completed_tasks: + latest_summary = completed_tasks[-1].summary + task_summaries.append(latest_summary) + yield TodoResult( + type="task_completed", message="\n✅ Task completed\n", current_task=completed_tasks[-1] + ) + + # Step 3: Generate comprehensive final summary with streaming + yield TodoResult(type="status", message="📝 Generating comprehensive final summary...") + yield TodoResult( + type="final_summary_start", + message=f"\n📊 Comprehensive {self.domain_context} summary:\n", + ) + + async for summary_response in self._generate_comprehensive_summary_streaming( + agent, initial_query, task_summaries + ): + yield summary_response + + yield TodoResult(type="final_summary_end", message="\n") + yield TodoResult(type="status", message="🎉 All tasks completed!") + + @staticmethod + async def _analyze_query_complexity(agent: Agent, query: str) -> bool: + """ + Analyze if the query requires task breakdown or can be answered directly. + Returns True if complex (needs tasks), False if simple (direct answer). + """ + complexity_prompt = f""" + Analyze this query and determine if it requires a multi-step breakdown or can be answered directly. + + Query: "{query}" + + Consider these factors: + - Simple factual questions (What is...? Who is...? When did...?) = SIMPLE + - Yes/No questions = SIMPLE + - Single concept explanations = SIMPLE + - Questions requiring research, planning, or multiple steps = COMPLEX + - Questions asking for comprehensive analysis, comparisons, or detailed guides = COMPLEX + - Questions with multiple parts or requiring extensive information = COMPLEX + + Respond with ONLY one word: "SIMPLE" or "COMPLEX" + """ + + agent_result = await agent.run(complexity_prompt) + response = agent_result.content.strip().upper() + + # Default to COMPLEX if we can't determine (safer approach) + return response != "SIMPLE" + + async def _create_tasks_simple(self, agent: Agent, initial_query: str) -> list[Task]: + """Create tasks based on initial query - simple, non-streaming.""" + # First, analyze if the query actually needs task breakdown + is_complex = await TodoOrchestrator._analyze_query_complexity(agent, initial_query) + + if not is_complex: + # Query is simple enough to answer directly - return empty task list + return [] + + task_creation_prompt = f""" + Based on this query: "{initial_query}" + + Create 3-5 specific, actionable tasks that will comprehensively address this query. + Each task should be clear and focused on one specific aspect. + + {f"Context: You are working as a {self.domain_context}." if self.domain_context else ""} + + CRITICAL: Respond with ONLY a Python list of task descriptions, nothing else: + ["Task 1: Specific description", "Task 2: Specific description", "Task 3: Specific description"] + """ + + agent_result = await agent.run(task_creation_prompt) + response = agent_result.content + + # Parse tasks from the response + tasks = self._parse_tasks_from_response(response) + if tasks: + self.todo_list.create_tasks(tasks) + return self.todo_list.tasks # Return the actual Task objects + + return [] + + async def _execute_single_task_focused( + self, agent: Agent, current_task: Task, context: str, original_query: str + ) -> AsyncGenerator[StreamingResponseType, None]: + """Execute a single task with focused context - stream only essential info.""" + task_prompt = f""" + You are working on ONE SPECIFIC TASK as part of a larger workflow. + + ORIGINAL QUERY: {original_query} + + YOUR CURRENT TASK: {current_task.description} + + CONTEXT FROM PREVIOUS TASKS: + {context} + + CRITICAL INSTRUCTIONS: + 1. Focus EXCLUSIVELY on your current task - do not overlap with other tasks + 2. Use previous context to avoid repetition but DO NOT duplicate their work + 3. Be comprehensive but stay within your task scope + 4. End with: TASK SUMMARY: [2-3 sentence summary] + + Complete ONLY your assigned task now. + """ + + # Mark task as started + current_task = self.todo_list.start_current_task() + yield TodoResult( + type="start_task", message=f"Started task: {current_task.description}", current_task=current_task + ) + + full_response = "" + last_summary_length = 0 + + # Stream the task execution but only show summary parts + async for response in agent.run_streaming(task_prompt): + if isinstance(response, str): + full_response += response + # Only stream text that comes after "TASK SUMMARY:" marker + if "TASK SUMMARY:" in full_response: + summary_start = full_response.find("TASK SUMMARY:") + len("TASK SUMMARY:") + summary_text = full_response[summary_start:].strip() + if summary_text and len(summary_text) > last_summary_length: + # Stream only new characters + new_chars = summary_text[last_summary_length:] + if new_chars: + yield new_chars + last_summary_length = len(summary_text) + else: + yield response # Pass through tool calls, etc. + + # Extract final summary and complete task + summary = self._extract_summary_from_response(full_response) + + # Store the full response for final summary generation + current_task_obj = self.todo_list.get_current_task() + if current_task_obj: + current_task_obj.full_response = full_response + + self.todo_list.complete_current_task(summary) + + async def _generate_comprehensive_summary_streaming( + self, agent: Agent, original_query: str, task_summaries: list[str | None] + ) -> AsyncGenerator[StreamingResponseType, None]: + """Generate a comprehensive final summary with streaming.""" + # Get full responses from completed tasks + full_responses = [] + for task in self.todo_list.tasks: + if task.status == TaskStatus.COMPLETED and hasattr(task, "full_response"): + full_responses.append(f"**{task.description}**:\n{task.full_response}") + + # Create domain-specific summary instructions + domain_instructions = "" + if self.domain_context: + domain_instructions = ( + f"Format as a comprehensive {self.domain_context} response that someone " + "could use to address their needs." + ) + else: + domain_instructions = "Format as a comprehensive, well-structured response." + + summary_prompt = f""" + You need to create a comprehensive final summary for this query: "{original_query}" + + Here are the detailed results from all completed tasks: + + {chr(10).join(full_responses)} + + Create a comprehensive, well-structured final summary that: + 1. Directly answers the original query + 2. Combines all the detailed information from the tasks + 3. Organizes information logically and coherently + 4. Provides actionable recommendations + 5. Is complete and self-contained + + {domain_instructions} + """ + + # Stream the comprehensive summary generation + async for response in agent.run_streaming(summary_prompt): + if isinstance(response, str): + yield response # Stream each character as it comes + else: + yield response # Pass through tool calls, etc. + + @staticmethod + def _parse_tasks_from_response(response: str) -> list[str]: + """Parse task list from agent response.""" + try: + import ast + + # The prompt asks for ONLY a Python list, so try direct parsing first + response = response.strip() + + # Try to parse the entire response as a Python literal + try: + tasks = ast.literal_eval(response) + if isinstance(tasks, list) and all(isinstance(t, str) for t in tasks): + return tasks + except (ValueError, SyntaxError): + pass + + # Fallback: Look for the first list in the response + import re + + list_pattern = r"\[.*?\]" + match = re.search(list_pattern, response, re.DOTALL) + if match: + try: + tasks = ast.literal_eval(match.group()) + if isinstance(tasks, list) and all(isinstance(t, str) for t in tasks): + return tasks + except (ValueError, SyntaxError): + pass + + print(f"Could not parse tasks from response: {response[:200]}...") + + except Exception as e: + print(f"Failed to parse tasks: {e}") + + return [] + + @staticmethod + def _extract_summary_from_response(response: str) -> str: + """Extract task summary from agent response.""" + summary_marker = "TASK SUMMARY:" + if summary_marker in response: + parts = response.split(summary_marker) + summary = parts[-1].strip() + # Clean up the summary (remove extra formatting) + summary = summary.replace("\n", " ").strip() + return summary + else: + # Fallback: use last paragraph as summary + paragraphs = [p.strip() for p in response.split("\n\n") if p.strip()] + if paragraphs: + summary = paragraphs[-1] + # Limit length and clean up + if len(summary) > MAX_SUMMARY_LENGTH: + summary = summary[:MAX_SUMMARY_LENGTH] + "..." + return summary + return "Task completed" diff --git a/packages/ragbits-agents/tests/unit/post_processors/test_base_post_processors.py b/packages/ragbits-agents/tests/unit/post_processors/test_base_post_processors.py new file mode 100644 index 000000000..1fa0d592b --- /dev/null +++ b/packages/ragbits-agents/tests/unit/post_processors/test_base_post_processors.py @@ -0,0 +1,173 @@ +from types import SimpleNamespace + +import pytest + +from ragbits.agents import Agent, AgentOptions, AgentResult, AgentRunContext, ToolCallResult +from ragbits.agents.exceptions import AgentInvalidPostProcessorError +from ragbits.agents.post_processors.base import PostProcessor, StreamingPostProcessor +from ragbits.core.llms.base import BasePrompt, ToolCall, Usage +from ragbits.core.llms.mock import MockLLM, MockLLMOptions + + +class MockPostProcessor(PostProcessor): + def __init__(self, append_content: str = " - processed"): + self.append_content = append_content + + async def process( + self, + result: AgentResult, + agent: Agent, + options: AgentOptions | None = None, + context: AgentRunContext | None = None, + ) -> AgentResult: + result.content += self.append_content + return result + + +class MockStreamingPostProcessor(StreamingPostProcessor): + def __init__(self, append_content: str = " - streamed"): + self.append_content = append_content + + async def process_streaming( + self, chunk: str | ToolCall | ToolCallResult | SimpleNamespace | BasePrompt | Usage, agent: Agent + ): + if isinstance(chunk, str): + return chunk + self.append_content + return chunk + + +@pytest.fixture +def mock_llm() -> MockLLM: + options = MockLLMOptions(response="Initial response") + return MockLLM(default_options=options) + + +@pytest.mark.asyncio +async def test_non_streaming_post_processor(mock_llm: MockLLM): + agent: Agent = Agent(llm=mock_llm, prompt="Test prompt") + post_processor = MockPostProcessor() + + result = await agent.run(post_processors=[post_processor]) + + assert result.content == "Initial response - processed" + + +@pytest.mark.asyncio +async def test_streaming_post_processor(mock_llm: MockLLM): + agent: Agent = Agent(llm=mock_llm, prompt="Test prompt") + post_processor = MockStreamingPostProcessor() + + result = agent.run_streaming(post_processors=[post_processor]) + async for chunk in result: + if isinstance(chunk, str): + assert chunk.endswith(" - streamed") + + +@pytest.mark.asyncio +async def test_non_streaming_processor_in_streaming_mode_raises_error(mock_llm: MockLLM): + agent: Agent = Agent(llm=mock_llm, prompt="Test prompt") + post_processor = MockPostProcessor() + + with pytest.raises(AgentInvalidPostProcessorError): + await anext(agent.run_streaming(post_processors=[post_processor])) # type: ignore # ignore type-checking to test raising the error + + +@pytest.mark.asyncio +async def test_non_streaming_processor_in_streaming_mode_with_allow_non_streaming(mock_llm: MockLLM): + agent: Agent = Agent(llm=mock_llm, prompt="Test prompt") + post_processor = MockPostProcessor() + + result = agent.run_streaming(post_processors=[post_processor], allow_non_streaming=True) + + async for _ in result: + pass + + assert result.content == "Initial response - processed" + + +@pytest.mark.asyncio +async def test_streaming_and_non_streaming_processors(mock_llm: MockLLM): + agent: Agent = Agent(llm=mock_llm, prompt="Test prompt") + non_streaming_processor = MockPostProcessor() + streaming_processor = MockStreamingPostProcessor() + + result = agent.run_streaming( + post_processors=[streaming_processor, non_streaming_processor], allow_non_streaming=True + ) + + async for _ in result: + pass + + assert result.content == "Initial response - streamed - processed" + + +@pytest.mark.asyncio +async def test_streaming_processor_always_runs_before_non_streaming_processor(mock_llm: MockLLM): + agent: Agent = Agent(llm=mock_llm, prompt="Test prompt") + non_streaming_processor = MockPostProcessor() + streaming_processor = MockStreamingPostProcessor() + + result = agent.run_streaming( + post_processors=[streaming_processor, non_streaming_processor], allow_non_streaming=True + ) + async for _ in result: + pass + + assert result.content == "Initial response - streamed - processed" + + result = agent.run_streaming( + post_processors=[non_streaming_processor, streaming_processor], allow_non_streaming=True + ) + async for _ in result: + pass + + assert result.content == "Initial response - streamed - processed" + + +@pytest.mark.asyncio +async def test_multiple_non_streaming_processors_order(mock_llm: MockLLM): + agent: Agent = Agent(llm=mock_llm, prompt="Test prompt") + non_streaming_processor_1 = MockPostProcessor(append_content=" - processed 1") + non_streaming_processor_2 = MockPostProcessor(append_content=" - processed 2") + + result = await agent.run(post_processors=[non_streaming_processor_2, non_streaming_processor_1]) + + assert result.content == "Initial response - processed 2 - processed 1" + + +@pytest.mark.asyncio +async def test_multiple_streaming_processors_order(mock_llm: MockLLM): + agent: Agent = Agent(llm=mock_llm, prompt="Test prompt") + streaming_processor_1 = MockStreamingPostProcessor(append_content=" - streamed 1") + streaming_processor_2 = MockStreamingPostProcessor(append_content=" - streamed 2") + + result = agent.run_streaming( + post_processors=[streaming_processor_2, streaming_processor_1], + ) + async for _ in result: + pass + + assert result.content == "Initial response - streamed 2 - streamed 1" + + +@pytest.mark.asyncio +async def test_multiple_streaming_and_non_streaming_processors_order(mock_llm: MockLLM): + agent: Agent = Agent(llm=mock_llm, prompt="Test prompt") + streaming_processor_1 = MockStreamingPostProcessor(append_content=" - streamed 1") + streaming_processor_2 = MockStreamingPostProcessor(append_content=" - streamed 2") + non_streaming_processor_1 = MockPostProcessor(append_content=" - processed 1") + non_streaming_processor_2 = MockPostProcessor(append_content=" - processed 2") + + result = agent.run_streaming( + post_processors=[ + non_streaming_processor_2, + streaming_processor_1, + non_streaming_processor_1, + streaming_processor_2, + ], + allow_non_streaming=True, + ) + async for _ in result: + pass + + assert result.content == "Initial response - streamed 1 - streamed 2 - processed 2 - processed 1" diff --git a/packages/ragbits-agents/tests/unit/post_processors/test_supervisor.py b/packages/ragbits-agents/tests/unit/post_processors/test_supervisor.py new file mode 100644 index 000000000..96057248c --- /dev/null +++ b/packages/ragbits-agents/tests/unit/post_processors/test_supervisor.py @@ -0,0 +1,263 @@ +import pytest +from pydantic import BaseModel + +from ragbits.agents import Agent +from ragbits.agents.post_processors.exceptions import ( + SupervisorCorrectionPromptFormatError, + SupervisorMaxRetriesExceededError, +) +from ragbits.agents.post_processors.supervisor import ( + HistoryStrategy, + SupervisorPostProcessor, + ValidationInput, + ValidationOutput, +) +from ragbits.core.llms.mock import MockLLM, MockLLMOptions +from ragbits.core.prompt.prompt import Prompt + + +class AlwaysValidPrompt(Prompt[ValidationInput, ValidationOutput]): + system_prompt = "You are a validator." + user_prompt = "Validate last response." + + +class AlwaysInvalidPrompt(Prompt[ValidationInput, ValidationOutput]): + system_prompt = "You are a validator." + user_prompt = "Validate last response." + + +@pytest.fixture +def agent_llm() -> MockLLM: + return MockLLM(default_options=MockLLMOptions(response="Agent answer")) + + +@pytest.mark.asyncio +async def test_supervisor_accepts_valid_response_and_attaches_metadata(agent_llm: MockLLM) -> None: + agent: Agent = Agent(llm=agent_llm, prompt="System prompt for agent") + + validation_llm = MockLLM( + default_options=MockLLMOptions(response='{"is_valid": true, "reasoning": "ok", "suggestion": ""}') + ) + + supervisor: SupervisorPostProcessor = SupervisorPostProcessor( + llm=validation_llm, + validation_prompt=AlwaysValidPrompt, + max_retries=2, + ) + + result = await agent.run("What is the weather in Tokyo?", post_processors=[supervisor]) + + assert result.content == "Agent answer" + assert "post_processors" in result.metadata + assert "supervisor" in result.metadata["post_processors"] + + validations = result.metadata["post_processors"]["supervisor"] + assert isinstance(validations, list) + assert len(validations) == 1 + assert validations[0]["is_valid"] is True + + +@pytest.mark.asyncio +async def test_supervisor_returns_after_retry_limit_when_fail_on_exceed_false(agent_llm: MockLLM) -> None: + agent: Agent = Agent(llm=agent_llm, prompt="System prompt for agent") + + validation_llm = MockLLM( + default_options=MockLLMOptions(response='{"is_valid": false, "reasoning": "bad", "suggestion": "fix"}') + ) + + supervisor: SupervisorPostProcessor = SupervisorPostProcessor( + llm=validation_llm, + validation_prompt=AlwaysInvalidPrompt, + max_retries=2, + fail_on_exceed=False, + history_strategy=HistoryStrategy.REMOVE, + ) + + result = await agent.run("Q?", post_processors=[supervisor]) + + assert "post_processors" in result.metadata + validations = result.metadata["post_processors"]["supervisor"] + assert isinstance(validations, list) + assert len(validations) == 3 + assert all(v["is_valid"] is False for v in validations) + + +@pytest.mark.asyncio +async def test_supervisor_raises_after_retry_limit_when_fail_on_exceed_true(agent_llm: MockLLM) -> None: + agent: Agent = Agent(llm=agent_llm, prompt="System prompt for agent") + + validation_llm = MockLLM( + default_options=MockLLMOptions(response='{"is_valid": false, "reasoning": "bad", "suggestion": "fix"}') + ) + + supervisor: SupervisorPostProcessor = SupervisorPostProcessor( + llm=validation_llm, + validation_prompt=AlwaysInvalidPrompt, + max_retries=2, + fail_on_exceed=True, + ) + + with pytest.raises(SupervisorMaxRetriesExceededError) as exc: + await agent.run("Q?", post_processors=[supervisor]) + + err = exc.value + assert err.max_retries == 2 + assert len(err.last_validations) == 3 + assert all(v.is_valid is False for v in err.last_validations) + + +@pytest.mark.asyncio +async def test_supervisor_history_remove_prunes_invalid_and_correction_user(agent_llm: MockLLM) -> None: + agent: Agent = Agent(llm=agent_llm, prompt="System prompt for agent") + + validation_llm = MockLLM( + default_options=MockLLMOptions(response='{"is_valid": false, "reasoning": "bad", "suggestion": "fix"}') + ) + + supervisor: SupervisorPostProcessor = SupervisorPostProcessor( + llm=validation_llm, + validation_prompt=AlwaysInvalidPrompt, + max_retries=1, + fail_on_exceed=False, + history_strategy=HistoryStrategy.REMOVE, + ) + + result = await agent.run("Q?", post_processors=[supervisor]) + + history = result.history + assert len(history) == 3 + assert history[0]["role"] == "system" + assert history[1]["role"] == "user" + assert history[1]["content"] == "Q?" + assert history[2]["role"] == "assistant" + assert history[2]["content"] == "Agent answer" + + +@pytest.mark.asyncio +async def test_supervisor_history_preserve_keeps_invalid_and_correction_user(agent_llm: MockLLM) -> None: + agent: Agent = Agent(llm=agent_llm, prompt="System prompt for agent") + + validation_llm = MockLLM( + default_options=MockLLMOptions(response='{"is_valid": false, "reasoning": "bad", "suggestion": "fix"}') + ) + + supervisor: SupervisorPostProcessor = SupervisorPostProcessor( + llm=validation_llm, + validation_prompt=AlwaysInvalidPrompt, + max_retries=1, + fail_on_exceed=False, + history_strategy=HistoryStrategy.PRESERVE, + ) + + result = await agent.run("Q?", post_processors=[supervisor]) + + history = result.history + assert len(history) == 5 + assert history[0]["role"] == "system" + assert history[1]["role"] == "user" + assert history[1]["content"] == "Q?" + assert history[2]["role"] == "assistant" + assert history[2]["content"] == "Agent answer" + assert history[3]["role"] == "user" + assert isinstance(history[3]["content"], str) + assert "Your answer is incorrect" in history[3]["content"] + assert history[4]["role"] == "assistant" + assert history[4]["content"] == "Agent answer" + + +class MyValidationOutput(BaseModel): + is_valid: bool + errors: list[str] + fixes: list[str] + confidence: float + + +class MyValidationPrompt(Prompt[ValidationInput, MyValidationOutput]): + system_prompt = "Mocked system prompt" + user_prompt = "Mocked user prompt" + + +@pytest.mark.asyncio +async def test_supervisor_custom_validation_and_correction_prompt_preserve_history(agent_llm: MockLLM) -> None: + agent: Agent = Agent(llm=agent_llm, prompt="You are a professional weather reporter.") + + validation_llm = MockLLM( + default_options=MockLLMOptions( + response=( + '{"is_valid": false, "errors": ["not detailed enough"], ' + '"fixes": ["add more details"], "confidence": 0.9}' + ) + ) + ) + + correction_prompt = ( + "Previous answer had issues:\n" + "Errors: {errors}\n" + "Fixes: {fixes}\n" + "Confidence: {confidence}\n" + "Please answer again using the fixes." + ) + + supervisor: SupervisorPostProcessor = SupervisorPostProcessor( + llm=validation_llm, + validation_prompt=MyValidationPrompt, + correction_prompt=correction_prompt, + max_retries=1, + fail_on_exceed=False, + history_strategy=HistoryStrategy.PRESERVE, + ) + + result = await agent.run("What is the weather in Tokyo?", post_processors=[supervisor]) + + validations = result.metadata["post_processors"]["supervisor"] + assert isinstance(validations, list) + assert len(validations) == 2 + assert all("errors" in v and "fixes" in v and v["is_valid"] is False for v in validations) + + history = result.history + assert len(history) == 5 + assert history[0]["role"] == "system" + assert history[0]["content"] + assert history[1]["role"] == "user" + assert history[1]["content"] + assert history[2]["role"] == "assistant" + assert history[3]["role"] == "user" + assert history[3]["content"] + + corr = history[3]["content"] + assert "Previous answer had issues:" in corr + assert "Errors:" in corr + assert "not detailed enough" in corr + assert "Fixes:" in corr + assert "add more details" in corr + assert "Confidence: 0.9" in corr + assert history[4]["role"] == "assistant" + + +@pytest.mark.asyncio +async def test_supervisor_raises_when_correction_prompt_has_missing_fields(agent_llm: MockLLM) -> None: + agent: Agent = Agent(llm=agent_llm, prompt="System prompt for agent") + + validation_llm = MockLLM( + default_options=MockLLMOptions(response='{"is_valid": false, "reasoning": "bad", "suggestion": "fix"}') + ) + + bad_correction_prompt = "Missing field here: {nonexistent}" + + supervisor: SupervisorPostProcessor = SupervisorPostProcessor( + llm=validation_llm, + validation_prompt=AlwaysInvalidPrompt, + correction_prompt=bad_correction_prompt, + max_retries=1, + fail_on_exceed=False, + history_strategy=HistoryStrategy.PRESERVE, + ) + + with pytest.raises(SupervisorCorrectionPromptFormatError) as exc: + await agent.run("Q?", post_processors=[supervisor]) + + err = exc.value + msg = str(err) + assert "failed to format correction prompt" in msg.lower() + assert "nonexistent" in msg.lower() + assert err.missing_keys == ["nonexistent"] diff --git a/packages/ragbits-agents/tests/unit/test_agent.py b/packages/ragbits-agents/tests/unit/test_agent.py index 10fd2efbf..4444e4c53 100644 --- a/packages/ragbits-agents/tests/unit/test_agent.py +++ b/packages/ragbits-agents/tests/unit/test_agent.py @@ -769,3 +769,47 @@ async def test_tool_choice_history_preservation(llm_with_tool_call: MockLLM, met # Should include tool call in history tool_call_messages = [msg for msg in agent.history if msg.get("role") == "tool"] assert len(tool_call_messages) >= 1 + + +async def test_explicit_input_type_prompt_creation(): + class CustomInput(BaseModel): + foo: int + bar: str + + @Agent.prompt_config(CustomInput) + class AgentWithExplicitInput(Agent): + system_prompt = "System prompt" + user_prompt = "{{ foo }} {{ bar }}" + + prompt_cls = AgentWithExplicitInput.prompt_cls + assert prompt_cls is not None + assert issubclass(prompt_cls, Prompt) + assert prompt_cls.system_prompt == "System prompt" + assert prompt_cls.user_prompt == "{{ foo }} {{ bar }}" + + +async def test_default_user_prompt_is_input_placeholder(): + class CustomInputModel(BaseModel): + input: int + + @Agent.prompt_config(CustomInputModel) + class AgentExplicitPrompt(Agent): + system_prompt = "Explicit system" + + prompt_cls2 = AgentExplicitPrompt.prompt_cls + assert prompt_cls2 is not None + assert issubclass(prompt_cls2, Prompt) + assert prompt_cls2.user_prompt == "{{ input }}" + + +async def test_input_type_check_with_system_prompt(llm_with_tool_call: MockLLM): + class AgentExplicitPrompt(Agent): + system_prompt = "Explicit system" + + with pytest.raises(ValueError): + AgentExplicitPrompt( + llm=llm_with_tool_call, + prompt="You are a helpful assistant", + tools=[get_weather], + keep_history=True, + ) diff --git a/packages/ragbits-chat/CHANGELOG.md b/packages/ragbits-chat/CHANGELOG.md index aebabd8c1..a46555766 100644 --- a/packages/ragbits-chat/CHANGELOG.md +++ b/packages/ragbits-chat/CHANGELOG.md @@ -1,6 +1,8 @@ # CHANGELOG ## Unreleased +- Add automatic topic extraction to be used as conversation title with ability to edit in the client side (#840) +- Add todo list component to the UI, add support for todo events in API (#827) ## 1.3.0 (2025-09-11) diff --git a/packages/ragbits-chat/pyproject.toml b/packages/ragbits-chat/pyproject.toml index 908e33ba4..21f6c1740 100644 --- a/packages/ragbits-chat/pyproject.toml +++ b/packages/ragbits-chat/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "ragbits-chat" -version = "1.3.0" +version = "1.4.0.dev202509121038" description = "Building blocks for rapid development of GenAI applications" readme = "README.md" requires-python = ">=3.10" @@ -31,7 +31,7 @@ classifiers = [ "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development :: Libraries :: Python Modules", ] -dependencies = ["fastapi>=0.115.0,<1.0.0", "uvicorn>=0.31.0,<1.0.0", "httpx>=0.28.1,<1.0.0", "bcrypt>=4.2.0", "python-jose[cryptography]>=3.5.0", "ragbits-core==1.3.0"] +dependencies = ["fastapi>=0.115.0,<1.0.0", "uvicorn>=0.31.0,<1.0.0", "httpx>=0.28.1,<1.0.0", "bcrypt>=4.2.0", "python-jose[cryptography]>=3.5.0", "ragbits-core==1.4.0.dev202509121038"] [project.urls] "Homepage" = "https://github.com/deepsense-ai/ragbits" diff --git a/packages/ragbits-chat/src/ragbits/chat/interface/_interface.py b/packages/ragbits-chat/src/ragbits/chat/interface/_interface.py index 8e4b73df2..ad0153212 100644 --- a/packages/ragbits-chat/src/ragbits/chat/interface/_interface.py +++ b/packages/ragbits-chat/src/ragbits/chat/interface/_interface.py @@ -9,6 +9,8 @@ from collections.abc import AsyncGenerator, Callable from typing import Any +from ragbits.agents.tools.todo import Task +from ragbits.chat.interface.summary import SummaryGenerator from ragbits.chat.interface.ui_customization import UICustomization from ragbits.core.audit.metrics import record_metric from ragbits.core.audit.metrics.base import MetricType @@ -84,6 +86,13 @@ async def wrapper( interface_class=self.__class__.__name__, ) + # Generate summary to serve as title for new conversations + try: + summary = await self.generate_conversation_summary(message, history, context) + yield ChatResponse(type=ChatResponseType.CONVERSATION_SUMMARY, content=summary) + except Exception: + logger.exception("Failed to generate conversation title") + responses = [] main_response = "" extra_responses = [] @@ -184,6 +193,7 @@ class ChatInterface(ABC): show_usage: bool = False ui_customization: UICustomization | None = None history_persistence: HistoryPersistenceStrategy | None = None + summary_generator: SummaryGenerator | None = None def __init_subclass__(cls, **kwargs: dict) -> None: """Automatically apply the with_chat_metadata decorator to the chat method in subclasses.""" @@ -251,6 +261,10 @@ def create_usage_response(usage: Usage) -> ChatResponse: content={model: MessageUsage.from_usage(usage) for model, usage in usage.model_breakdown.items()}, ) + @staticmethod + def create_todo_item_response(task: Task) -> ChatResponse: + return ChatResponse(type=ChatResponseType.TODO_ITEM, content=task) + @staticmethod def _sign_state(state: dict[str, Any]) -> str: """ @@ -366,3 +380,10 @@ async def save_feedback( ) logger.info(f"[{self.__class__.__name__}] Saving {feedback} for message {message_id} with payload {payload}") + + async def generate_conversation_summary(self, message: str, history: ChatFormat, context: ChatContext) -> str: + """Delegate to the configured summary generator.""" + if not self.summary_generator: + raise Exception("Tried to invoke `generate_conversation_summary`. No SummaryGenerator found.") + + return await self.summary_generator.generate(message, history, context) diff --git a/packages/ragbits-chat/src/ragbits/chat/interface/summary.py b/packages/ragbits-chat/src/ragbits/chat/interface/summary.py new file mode 100644 index 000000000..c27e3d513 --- /dev/null +++ b/packages/ragbits-chat/src/ragbits/chat/interface/summary.py @@ -0,0 +1,82 @@ +import asyncio +import logging +from abc import ABC, abstractmethod + +from ragbits.chat.interface.types import ChatContext +from ragbits.core.llms.base import LLM +from ragbits.core.prompt.base import ChatFormat + +logger = logging.getLogger(__name__) + + +class SummaryGenerator(ABC): + """Base class for summary generators.""" + + @abstractmethod + async def generate(self, message: str, history: ChatFormat, context: ChatContext) -> str: + """Generate a concise conversation title.""" + ... + + +class HeuristicSummaryGenerator(SummaryGenerator): + """Simple title generator using heuristics (no LLM).""" + + SIMPLE_MESSAGE_LENGTH = 2 + + def __init__(self, max_words: int = 6, fallback_title: str = "New chat"): + self.max_words = max_words + self.fallback_title = fallback_title + + async def generate(self, message: str, _history: ChatFormat, _context: ChatContext) -> str: + """Generate a concise conversation title using heuristic approach.""" + t = (message or "").strip() + if not t or len(t.split()) <= self.SIMPLE_MESSAGE_LENGTH: + return self.fallback_title + return " ".join(t.split()[: self.max_words]) + + +class LLMSummaryGenerator(SummaryGenerator): + """Generates a short conversation title using an LLM.""" + + DEFAULT_PROMPT = ( + "You are a concise title generator for conversation threads. " + "Given the user's first message, return a single short title (3–8 words) summarizing the topic. " + "If the message is just a greeting or otherwise generic, respond exactly with: New chat\n\n" + "User message:\n{message}\n\nTitle:" + ) + DEFAULT_TIMEOUT = 5 + + def __init__(self, llm: LLM, timeout: int = DEFAULT_TIMEOUT, prompt_template: str | None = None): + self.llm = llm + self.timeout = timeout + self.prompt_template = prompt_template or self.DEFAULT_PROMPT + + async def generate(self, message: str, _history: ChatFormat, _context: ChatContext) -> str: + """Generate a concise conversation title using LLM.""" + prompt = self.prompt_template.format(message=message) + try: + raw = await asyncio.wait_for(self.llm.generate(prompt), self.timeout) + title = str(raw).strip().splitlines()[0] + return title or "New chat" + except asyncio.TimeoutError: + logger.warning("LLM title generation timed out — using fallback.") + return "New chat" + except Exception: + logger.exception("Error generating title with LLM — using fallback.") + return "New chat" + + +class HybridSummaryGenerator(SummaryGenerator): + """Generates a short conversation title using an LLM with heuristic approach as a fallback.""" + + def __init__(self, llm: LLM): + self.llm_gen = LLMSummaryGenerator(llm) + self.heuristic = HeuristicSummaryGenerator() + + async def generate(self, message: str, history: ChatFormat, context: ChatContext) -> str: + """Generate summary using either LLM with heuristic approach as a fallback.""" + try: + title = await self.llm_gen.generate(message, history, context) + return title or await self.heuristic.generate(message, history, context) + except Exception: + return await self.heuristic.generate(message, history, context) diff --git a/packages/ragbits-chat/src/ragbits/chat/interface/types.py b/packages/ragbits-chat/src/ragbits/chat/interface/types.py index 920003651..6c465d5af 100644 --- a/packages/ragbits-chat/src/ragbits/chat/interface/types.py +++ b/packages/ragbits-chat/src/ragbits/chat/interface/types.py @@ -3,6 +3,7 @@ from pydantic import BaseModel, ConfigDict, Field +from ragbits.agents.tools.todo import Task from ragbits.chat.auth.types import User from ragbits.chat.interface.forms import UserSettings from ragbits.chat.interface.ui_customization import UICustomization @@ -116,12 +117,14 @@ class ChatResponseType(str, Enum): STATE_UPDATE = "state_update" MESSAGE_ID = "message_id" CONVERSATION_ID = "conversation_id" + CONVERSATION_SUMMARY = "conversation_summary" LIVE_UPDATE = "live_update" FOLLOWUP_MESSAGES = "followup_messages" IMAGE = "image" CHUNKED_CONTENT = "chunked_content" CLEAR_MESSAGE = "clear_message" USAGE = "usage" + TODO_ITEM = "todo_item" class ChatContext(BaseModel): @@ -140,7 +143,16 @@ class ChatResponse(BaseModel): type: ChatResponseType content: ( - str | Reference | StateUpdate | LiveUpdate | list[str] | Image | dict[str, MessageUsage] | ChunkedContent | None + str + | Reference + | StateUpdate + | LiveUpdate + | list[str] + | Image + | dict[str, MessageUsage] + | ChunkedContent + | None + | Task ) def as_text(self) -> str | None: @@ -217,6 +229,18 @@ def as_usage(self) -> dict[str, MessageUsage] | None: """ return cast(dict[str, MessageUsage], self.content) if self.type == ChatResponseType.USAGE else None + def as_task(self) -> Task | None: + """ + Return the content as Task if this is an todo_item response, else None. + """ + return cast(Task, self.content) if self.type == ChatResponseType.TODO_ITEM else None + + def as_conversation_summary(self) -> str | None: + """ + Return the content as string if this is an conversation summary response, else None + """ + return cast(str, self.content) if self.type == ChatResponseType.CONVERSATION_SUMMARY else None + class ChatMessageRequest(BaseModel): """Client-side chat request interface.""" diff --git a/packages/ragbits-chat/src/ragbits/chat/providers/model_provider.py b/packages/ragbits-chat/src/ragbits/chat/providers/model_provider.py index 6b1191c74..b94bfe4bc 100644 --- a/packages/ragbits-chat/src/ragbits/chat/providers/model_provider.py +++ b/packages/ragbits-chat/src/ragbits/chat/providers/model_provider.py @@ -10,6 +10,7 @@ from pydantic import BaseModel +from ragbits.agents.tools.todo import Task, TaskStatus from ragbits.chat.interface.types import AuthType @@ -82,6 +83,7 @@ def get_models(self) -> dict[str, type[BaseModel | Enum]]: "FeedbackType": FeedbackType, "LiveUpdateType": LiveUpdateType, "MessageRole": MessageRole, + "TaskStatus": TaskStatus, # Core data models "ChatContext": ChatContext, "ChunkedContent": ChunkedContent, @@ -93,6 +95,7 @@ def get_models(self) -> dict[str, type[BaseModel | Enum]]: "FeedbackItem": FeedbackItem, "Image": Image, "MessageUsage": MessageUsage, + "Task": Task, # Configuration models "HeaderCustomization": HeaderCustomization, "UICustomization": UICustomization, @@ -151,6 +154,8 @@ def get_categories(self) -> dict[str, list[str]]: "JWTToken", "User", "MessageUsage", + "Task", + "TaskStatus", ], "configuration": [ "HeaderCustomization", diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/AuthGuard-B3JOY-uC.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/AuthGuard-CLPypBq0.js similarity index 81% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/AuthGuard-B3JOY-uC.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/AuthGuard-CLPypBq0.js index e7e8303be..8ba84a9b9 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/AuthGuard-B3JOY-uC.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/AuthGuard-CLPypBq0.js @@ -1 +1 @@ -import{r as a,j as s,aN as c,h as x,aJ as g,bs as m,bt as p,bu as v,bv as b,bw as j}from"./index-C75huGqt.js";import{a as r}from"./authStore-DLhLSjcY.js";const k=a.createContext(null);function A({children:o}){const[n]=a.useState(()=>r);return s.jsx(k.Provider,{value:n,children:o})}function C(){const{token:o,tokenExpiration:n,logout:l}=c(r,e=>e),i=x(e=>e.isLoading),u=g(),d=a.useRef(i);a.useEffect(()=>{d.current=i},[i]);const t=a.useCallback(()=>{const e=()=>{d.current?setTimeout(e,500):(l(),u("/login"))};e()},[l,u]);return a.useEffect(()=>{if(!o||!n)return;const e=Date.now(),h=n-e;if(h<=0){t();return}const f=setTimeout(()=>{t()},h);return()=>clearTimeout(f)},[o,n,t]),null}function S({children:o}){const n=m(),l=c(r,t=>t.isAuthenticated),i=c(r,t=>t.hasHydrated),u=c(r,t=>t.token?.access_token),d=c(r,t=>t.logout);return i?n.pathname==="/login"?o:l&&u?s.jsx(A,{children:s.jsxs(v,{baseUrl:b,auth:{getToken:()=>u,onUnauthorized:d},children:[o,s.jsx(C,{})]})}):s.jsx(j,{to:"/login",replace:!0}):s.jsx(p,{})}export{S as default}; +import{r as a,j as s,aW as c,h as x,aE as g,bp as m,bq as p,br as v,bs as b,bt as j}from"./index-DaG4uPnK.js";import{a as r}from"./authStore-BmdbjFC4.js";const k=a.createContext(null);function A({children:o}){const[n]=a.useState(()=>r);return s.jsx(k.Provider,{value:n,children:o})}function C(){const{token:o,tokenExpiration:n,logout:l}=c(r,e=>e),i=x(e=>e.isLoading),u=g(),d=a.useRef(i);a.useEffect(()=>{d.current=i},[i]);const t=a.useCallback(()=>{const e=()=>{d.current?setTimeout(e,500):(l(),u("/login"))};e()},[l,u]);return a.useEffect(()=>{if(!o||!n)return;const e=Date.now(),h=n-e;if(h<=0){t();return}const f=setTimeout(()=>{t()},h);return()=>clearTimeout(f)},[o,n,t]),null}function S({children:o}){const n=m(),l=c(r,t=>t.isAuthenticated),i=c(r,t=>t.hasHydrated),u=c(r,t=>t.token?.access_token),d=c(r,t=>t.logout);return i?n.pathname==="/login"?o:l&&u?s.jsx(A,{children:s.jsxs(v,{baseUrl:b,auth:{getToken:()=>u,onUnauthorized:d},children:[o,s.jsx(C,{})]})}):s.jsx(j,{to:"/login",replace:!0}):s.jsx(p,{})}export{S as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatHistory-C9npR0N7.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatHistory-C9npR0N7.js new file mode 100644 index 000000000..a38fed748 --- /dev/null +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatHistory-C9npR0N7.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DYyF6Jyf.js","assets/index-DaG4uPnK.js","assets/index-IAfGflqy.css"])))=>i.map(i=>d[i]); +import{r as P,t as ae,k as Xe,Z as W,ax as Me,$ as Ze,j as t,q as me,L as xe,_ as Ye,n as ye,T as Pe,s as et,v as R,V as tt,d as X,l as se,aq as Ie,o as ot,H as ke,a9 as rt,J as Ne,ay as at,ac as pe,U as st,X as _e,af as he,az as nt,aA as lt,ag as it,K as dt,O as be,Q as ct,W as ut,a0 as pt,ah as ft,a2 as K,a3 as Ae,ai as vt,R as ht,aB as bt,a8 as gt,aC as mt,aD as xt,a5 as yt,a as Pt,aE as Ct,i as fe,aF as Ce,aG as ve,D as we,I as Q,as as wt,aH as $t,aI as $e}from"./index-DaG4uPnK.js";import{u as jt,b as St,c as je,d as Dt,e as Mt,m as It,$ as kt,a as Nt}from"./useMenuTriggerState-BKJ8iWug.js";import{$ as _t}from"./useSelectableItem-ChcXAf8h.js";import{i as At}from"./chunk-SSA7SXE4-CTW6lkmA.js";var Ot=(e,r)=>{var n;let s=[];const a=(n=P.Children.map(e,d=>P.isValidElement(d)&&d.type===r?(s.push(d),null):d))==null?void 0:n.filter(Boolean),u=s.length>=0?s:void 0;return[a,u]},Ft=ae({base:["w-full","p-1","min-w-[200px]"]});ae({slots:{base:["flex","group","gap-2","items-center","justify-between","relative","px-2","py-1.5","w-full","h-full","box-border","rounded-small","outline-hidden","cursor-pointer","tap-highlight-transparent","data-[pressed=true]:opacity-70",...Xe,"data-[focus-visible=true]:dark:ring-offset-background-content1"],wrapper:"w-full flex flex-col items-start justify-center",title:"flex-1 text-small font-normal truncate",description:["w-full","text-tiny","text-foreground-500","group-hover:text-current"],selectedIcon:["text-inherit","w-3","h-3","shrink-0"],shortcut:["px-1","py-0.5","rounded-sm","font-sans","text-foreground-500","text-tiny","border-small","border-default-300","group-hover:border-current"]},variants:{variant:{solid:{base:""},bordered:{base:"border-medium border-transparent bg-transparent"},light:{base:"bg-transparent"},faded:{base:"border-small border-transparent hover:border-default data-[hover=true]:bg-default-100"},flat:{base:""},shadow:{base:"data-[hover=true]:shadow-lg"}},color:{default:{},primary:{},secondary:{},success:{},warning:{},danger:{}},isDisabled:{true:{base:"opacity-disabled pointer-events-none"}},disableAnimation:{true:{},false:{}}},defaultVariants:{variant:"solid",color:"default"},compoundVariants:[{variant:"solid",color:"default",class:{base:"data-[hover=true]:bg-default data-[hover=true]:text-default-foreground"}},{variant:"solid",color:"primary",class:{base:"data-[hover=true]:bg-primary data-[hover=true]:text-primary-foreground"}},{variant:"solid",color:"secondary",class:{base:"data-[hover=true]:bg-secondary data-[hover=true]:text-secondary-foreground"}},{variant:"solid",color:"success",class:{base:"data-[hover=true]:bg-success data-[hover=true]:text-success-foreground"}},{variant:"solid",color:"warning",class:{base:"data-[hover=true]:bg-warning data-[hover=true]:text-warning-foreground"}},{variant:"solid",color:"danger",class:{base:"data-[hover=true]:bg-danger data-[hover=true]:text-danger-foreground"}},{variant:"shadow",color:"default",class:{base:"data-[hover=true]:shadow-default/50 data-[hover=true]:bg-default data-[hover=true]:text-default-foreground"}},{variant:"shadow",color:"primary",class:{base:"data-[hover=true]:shadow-primary/30 data-[hover=true]:bg-primary data-[hover=true]:text-primary-foreground"}},{variant:"shadow",color:"secondary",class:{base:"data-[hover=true]:shadow-secondary/30 data-[hover=true]:bg-secondary data-[hover=true]:text-secondary-foreground"}},{variant:"shadow",color:"success",class:{base:"data-[hover=true]:shadow-success/30 data-[hover=true]:bg-success data-[hover=true]:text-success-foreground"}},{variant:"shadow",color:"warning",class:{base:"data-[hover=true]:shadow-warning/30 data-[hover=true]:bg-warning data-[hover=true]:text-warning-foreground"}},{variant:"shadow",color:"danger",class:{base:"data-[hover=true]:shadow-danger/30 data-[hover=true]:bg-danger data-[hover=true]:text-danger-foreground"}},{variant:"bordered",color:"default",class:{base:"data-[hover=true]:border-default"}},{variant:"bordered",color:"primary",class:{base:"data-[hover=true]:border-primary data-[hover=true]:text-primary"}},{variant:"bordered",color:"secondary",class:{base:"data-[hover=true]:border-secondary data-[hover=true]:text-secondary"}},{variant:"bordered",color:"success",class:{base:"data-[hover=true]:border-success data-[hover=true]:text-success"}},{variant:"bordered",color:"warning",class:{base:"data-[hover=true]:border-warning data-[hover=true]:text-warning"}},{variant:"bordered",color:"danger",class:{base:"data-[hover=true]:border-danger data-[hover=true]:text-danger"}},{variant:"flat",color:"default",class:{base:"data-[hover=true]:bg-default/40 data-[hover=true]:text-default-foreground"}},{variant:"flat",color:"primary",class:{base:"data-[hover=true]:bg-primary/20 data-[hover=true]:text-primary"}},{variant:"flat",color:"secondary",class:{base:"data-[hover=true]:bg-secondary/20 data-[hover=true]:text-secondary"}},{variant:"flat",color:"success",class:{base:"data-[hover=true]:bg-success/20 data-[hover=true]:text-success "}},{variant:"flat",color:"warning",class:{base:"data-[hover=true]:bg-warning/20 data-[hover=true]:text-warning"}},{variant:"flat",color:"danger",class:{base:"data-[hover=true]:bg-danger/20 data-[hover=true]:text-danger"}},{variant:"faded",color:"default",class:{base:"data-[hover=true]:text-default-foreground"}},{variant:"faded",color:"primary",class:{base:"data-[hover=true]:text-primary"}},{variant:"faded",color:"secondary",class:{base:"data-[hover=true]:text-secondary"}},{variant:"faded",color:"success",class:{base:"data-[hover=true]:text-success"}},{variant:"faded",color:"warning",class:{base:"data-[hover=true]:text-warning"}},{variant:"faded",color:"danger",class:{base:"data-[hover=true]:text-danger"}},{variant:"light",color:"default",class:{base:"data-[hover=true]:text-default-500"}},{variant:"light",color:"primary",class:{base:"data-[hover=true]:text-primary"}},{variant:"light",color:"secondary",class:{base:"data-[hover=true]:text-secondary"}},{variant:"light",color:"success",class:{base:"data-[hover=true]:text-success"}},{variant:"light",color:"warning",class:{base:"data-[hover=true]:text-warning"}},{variant:"light",color:"danger",class:{base:"data-[hover=true]:text-danger"}}]});ae({slots:{base:"relative mb-2",heading:"pl-1 text-tiny text-foreground-500",group:"data-[has-title=true]:pt-1",divider:"mt-2"}});ae({base:"w-full flex flex-col gap-0.5 p-1"});var Et=(e,r)=>{if(!e&&!r)return{};const n=new Set([...Object.keys(e||{}),...Object.keys(r||{})]);return Array.from(n).reduce((s,a)=>({...s,[a]:W(e?.[a],r?.[a])}),{})},[Tt,Oe]=Me({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),Se=()=>Ye(()=>import("./index-DYyF6Jyf.js"),__vite__mapDeps([0,1,2])).then(e=>e.default),Fe=e=>{const{as:r,children:n,className:s,...a}=e,{Component:u,placement:d,backdrop:h,motionProps:l,disableAnimation:c,getPopoverProps:p,getDialogProps:w,getBackdropProps:b,getContentProps:x,isNonModal:I,onClose:j}=Oe(),f=P.useRef(null),{dialogProps:M,titleProps:D}=Ze({},f),y=w({ref:f,...M,...a}),S=r||u||"div",i=t.jsxs(t.Fragment,{children:[!I&&t.jsx(me,{onDismiss:j}),t.jsx(S,{...y,children:t.jsx("div",{...x({className:s}),children:typeof n=="function"?n(D):n})}),t.jsx(me,{onDismiss:j})]}),v=P.useMemo(()=>h==="transparent"?null:c?t.jsx("div",{...b()}):t.jsx(xe,{features:Se,children:t.jsx(ye.div,{animate:"enter",exit:"exit",initial:"exit",variants:Pe.fade,...b()})}),[h,c,b]),k=d?et(d==="center"?"top":d):void 0,o=t.jsx(t.Fragment,{children:c?i:t.jsx(xe,{features:Se,children:t.jsx(ye.div,{animate:"enter",exit:"exit",initial:"initial",style:k,variants:Pe.scaleSpringOpacity,...l,children:i})})});return t.jsxs("div",{...p(),children:[v,o]})};Fe.displayName="HeroUI.PopoverContent";var Rt=Fe,Ee=e=>{var r;const{triggerRef:n,getTriggerProps:s}=Oe(),{children:a,...u}=e,d=P.useMemo(()=>typeof a=="string"?t.jsx("p",{children:a}):P.Children.only(a),[a]),h=(r=d.props.ref)!=null?r:d.ref,{onPress:l,isDisabled:c,...p}=P.useMemo(()=>s(R(u,d.props),h),[s,d.props,u,h]),[,w]=Ot(a,X),{buttonProps:b}=tt({onPress:l,isDisabled:c},n),x=P.useMemo(()=>w?.[0]!==void 0,[w]);return x||delete p.preventFocusOnPress,P.cloneElement(d,R(p,x?{onPress:l,isDisabled:c}:b))};Ee.displayName="HeroUI.PopoverTrigger";var Ht=Ee,Te=se((e,r)=>{const{children:n,...s}=e,a=jt({...s,ref:r}),[u,d]=P.Children.toArray(n),h=t.jsx(ot,{portalContainer:a.portalContainer,children:d});return t.jsxs(Tt,{value:a,children:[u,a.disableAnimation&&a.isOpen?h:t.jsx(Ie,{children:a.isOpen?h:null})]})});Te.displayName="HeroUI.Popover";var Ut=Te,[Kt,Re]=Me({name:"DropdownContext",errorMessage:"useDropdownContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"});function Bt(e){const{isSelected:r,disableAnimation:n,...s}=e;return t.jsx("svg",{"aria-hidden":"true","data-selected":r,role:"presentation",viewBox:"0 0 17 18",...s,children:t.jsx("polyline",{fill:"none",points:"1 9 7 14 15 4",stroke:"currentColor",strokeDasharray:22,strokeDashoffset:r?44:66,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,style:n?{}:{transition:"stroke-dashoffset 200ms ease"}})})}const He=new WeakMap;function Vt(e,r,n){let{shouldFocusWrap:s=!0,onKeyDown:a,onKeyUp:u,...d}=e;!e["aria-label"]&&e["aria-labelledby"];let h=ke(e,{labelable:!0}),{listProps:l}=rt({...d,ref:n,selectionManager:r.selectionManager,collection:r.collection,disabledKeys:r.disabledKeys,shouldFocusWrap:s,linkBehavior:"override"});return He.set(r,{onClose:e.onClose,onAction:e.onAction,shouldUseVirtualFocus:e.shouldUseVirtualFocus}),{menuProps:Ne(h,{onKeyDown:a,onKeyUp:u},{role:"menu",...l,onKeyDown:c=>{var p;(c.key!=="Escape"||e.shouldUseVirtualFocus)&&((p=l.onKeyDown)===null||p===void 0||p.call(l,c))}})}}function Lt(e,r,n){let{id:s,key:a,closeOnSelect:u,isVirtualized:d,"aria-haspopup":h,onPressStart:l,onPressUp:c,onPress:p,onPressChange:w,onPressEnd:b,onHoverStart:x,onHoverChange:I,onHoverEnd:j,onKeyDown:f,onKeyUp:M,onFocus:D,onFocusChange:y,onBlur:S,selectionManager:i=r.selectionManager}=e,v=!!h,k=v&&e["aria-expanded"]==="true";var o;let C=(o=e.isDisabled)!==null&&o!==void 0?o:i.isDisabled(a);var _;let A=(_=e.isSelected)!==null&&_!==void 0?_:i.isSelected(a),N=He.get(r),g=r.collection.getItem(a),T=e.onClose||N.onClose,B=at(),$=m=>{var J;if(!v){if(!(g==null||(J=g.props)===null||J===void 0)&&J.onAction?g.props.onAction():e.onAction&&e.onAction(a),N.onAction){let ce=N.onAction;ce(a)}m.target instanceof HTMLAnchorElement&&g&&B.open(m.target,m,g.props.href,g.props.routerOptions)}},E="menuitem";v||(i.selectionMode==="single"?E="menuitemradio":i.selectionMode==="multiple"&&(E="menuitemcheckbox"));let O=pe(),H=pe(),q=pe(),V={id:s,"aria-disabled":C||void 0,role:E,"aria-label":e["aria-label"],"aria-labelledby":O,"aria-describedby":[H,q].filter(Boolean).join(" ")||void 0,"aria-controls":e["aria-controls"],"aria-haspopup":h,"aria-expanded":e["aria-expanded"]};i.selectionMode!=="none"&&!v&&(V["aria-checked"]=A),d&&(V["aria-posinset"]=g?.index,V["aria-setsize"]=St(r.collection));let G=m=>{m.pointerType==="keyboard"&&$(m),l?.(m)},Z=()=>{!v&&T&&(u??(i.selectionMode!=="multiple"||i.isLink(a)))&&T()},Y=m=>{m.pointerType==="mouse"&&($(m),Z()),c?.(m)},ne=m=>{m.pointerType!=="keyboard"&&m.pointerType!=="mouse"&&($(m),Z()),p?.(m)},{itemProps:L,isFocused:ee}=_t({id:s,selectionManager:i,key:a,ref:n,shouldSelectOnPressUp:!0,allowsDifferentPressOrigin:!0,linkBehavior:"none",shouldUseVirtualFocus:N.shouldUseVirtualFocus}),{pressProps:le,isPressed:te}=st({onPressStart:G,onPress:ne,onPressUp:Y,onPressChange:w,onPressEnd:b,isDisabled:C}),{hoverProps:ie}=_e({isDisabled:C,onHoverStart(m){!he()&&!(k&&h)&&(i.setFocused(!0),i.setFocusedKey(a)),x?.(m)},onHoverChange:I,onHoverEnd:j}),{keyboardProps:oe}=nt({onKeyDown:m=>{if(m.repeat){m.continuePropagation();return}switch(m.key){case" ":!C&&i.selectionMode==="none"&&!v&&u!==!1&&T&&T();break;case"Enter":!C&&u!==!1&&!v&&T&&T();break;default:v||m.continuePropagation(),f?.(m);break}},onKeyUp:M}),{focusProps:U}=lt({onBlur:S,onFocus:D,onFocusChange:y}),re=ke(g?.props);delete re.id;let de=it(g?.props);return{menuItemProps:{...V,...Ne(re,de,v?{onFocus:L.onFocus,"data-collection":L["data-collection"],"data-key":L["data-key"]}:L,le,ie,oe,U,N.shouldUseVirtualFocus||v?{onMouseDown:m=>m.preventDefault()}:void 0),tabIndex:L.tabIndex!=null&&k&&!N.shouldUseVirtualFocus?-1:L.tabIndex},labelProps:{id:O},descriptionProps:{id:H},keyboardShortcutProps:{id:q},isFocused:ee,isFocusVisible:ee&&i.isFocused&&he()&&!k,isSelected:A,isPressed:te,isDisabled:C}}function zt(e){let{heading:r,"aria-label":n}=e,s=dt();return{itemProps:{role:"presentation"},headingProps:r?{id:s,role:"presentation"}:{},groupProps:{role:"group","aria-label":n,"aria-labelledby":r?s:void 0}}}function Wt(e){var r,n;const s=be(),[a,u]=ct(e,je.variantKeys),{as:d,item:h,state:l,shortcut:c,description:p,startContent:w,endContent:b,isVirtualized:x,selectedIcon:I,className:j,classNames:f,onAction:M,autoFocus:D,onPress:y,onPressStart:S,onPressUp:i,onPressEnd:v,onPressChange:k,onHoverStart:o,onHoverChange:C,onHoverEnd:_,hideSelectedIcon:A=!1,isReadOnly:N=!1,closeOnSelect:g,onClose:T,onClick:B,...$}=a,E=(n=(r=e.disableAnimation)!=null?r:s?.disableAnimation)!=null?n:!1,O=P.useRef(null),H=d||($?.href?"a":"li"),q=typeof H=="string",{rendered:V,key:G}=h,Z=l.disabledKeys.has(G)||e.isDisabled,Y=l.selectionManager.selectionMode!=="none",ne=Dt(),{isFocusVisible:L,focusProps:ee}=ut({autoFocus:D}),le=P.useCallback(F=>{B?.(F),y?.(F)},[B,y]),{isPressed:te,isFocused:ie,isSelected:oe,isDisabled:U,menuItemProps:re,labelProps:de,descriptionProps:m,keyboardShortcutProps:J}=Lt({key:G,onClose:T,isDisabled:Z,onPress:le,onPressStart:S,onPressUp:i,onPressEnd:v,onPressChange:k,"aria-label":a["aria-label"],closeOnSelect:g,isVirtualized:x,onAction:M},l,O);let{hoverProps:ce,isHovered:ge}=_e({isDisabled:U,onHoverStart(F){he()||(l.selectionManager.setFocused(!0),l.selectionManager.setFocusedKey(G)),o?.(F)},onHoverChange:C,onHoverEnd:_}),ue=re;const z=P.useMemo(()=>je({...u,isDisabled:U,disableAnimation:E,hasTitleTextChild:typeof V=="string",hasDescriptionTextChild:typeof p=="string"}),[pt(u),U,E,V,p]),ze=W(f?.base,j);N&&(ue=ft(ue));const We=(F={})=>({ref:O,...R(N?{}:ee,Ae($,{enabled:q}),ue,ce,F),"data-focus":K(ie),"data-selectable":K(Y),"data-hover":K(ne?ge||te:ge),"data-disabled":K(U),"data-selected":K(oe),"data-pressed":K(te),"data-focus-visible":K(L),className:z.base({class:W(ze,F.className)})}),qe=(F={})=>({...R(de,F),className:z.title({class:f?.title})}),Ge=(F={})=>({...R(m,F),className:z.description({class:f?.description})}),Je=(F={})=>({...R(J,F),className:z.shortcut({class:f?.shortcut})}),Qe=P.useCallback((F={})=>({"aria-hidden":K(!0),"data-disabled":K(U),className:z.selectedIcon({class:f?.selectedIcon}),...F}),[U,z,f]);return{Component:H,domRef:O,slots:z,classNames:f,isSelectable:Y,isSelected:oe,isDisabled:U,rendered:V,shortcut:c,description:p,startContent:w,endContent:b,selectedIcon:I,disableAnimation:E,getItemProps:We,getLabelProps:qe,hideSelectedIcon:A,getDescriptionProps:Ge,getKeyboardShortcutProps:Je,getSelectedIconProps:Qe}}var Ue=e=>{const{Component:r,slots:n,classNames:s,rendered:a,shortcut:u,description:d,isSelectable:h,isSelected:l,isDisabled:c,selectedIcon:p,startContent:w,endContent:b,disableAnimation:x,hideSelectedIcon:I,getItemProps:j,getLabelProps:f,getDescriptionProps:M,getKeyboardShortcutProps:D,getSelectedIconProps:y}=Wt(e),S=P.useMemo(()=>{const i=t.jsx(Bt,{disableAnimation:x,isSelected:l});return typeof p=="function"?p({icon:i,isSelected:l,isDisabled:c}):p||i},[p,l,c,x]);return t.jsxs(r,{...j(),children:[w,d?t.jsxs("div",{className:n.wrapper({class:s?.wrapper}),children:[t.jsx("span",{...f(),children:a}),t.jsx("span",{...M(),children:d})]}):t.jsx("span",{...f(),children:a}),u&&t.jsx("kbd",{...D(),children:u}),h&&!I&&t.jsx("span",{...y(),children:S}),b]})};Ue.displayName="HeroUI.MenuItem";var Ke=Ue,Be=se(({item:e,state:r,as:n,variant:s,color:a,disableAnimation:u,onAction:d,closeOnSelect:h,className:l,classNames:c,showDivider:p=!1,hideSelectedIcon:w,dividerProps:b={},itemClasses:x,title:I,...j},f)=>{const M=n||"li",D=P.useMemo(()=>Mt(),[]),y=W(c?.base,l),S=W(c?.divider,b?.className),{itemProps:i,headingProps:v,groupProps:k}=zt({heading:e.rendered,"aria-label":e["aria-label"]});return t.jsxs(M,{"data-slot":"base",...R(i,j),className:D.base({class:y}),children:[e.rendered&&t.jsx("span",{...v,className:D.heading({class:c?.heading}),"data-slot":"heading",children:e.rendered}),t.jsxs("ul",{...k,className:D.group({class:c?.group}),"data-has-title":!!e.rendered,"data-slot":"group",children:[[...e.childNodes].map(o=>{const{key:C,props:_}=o;let A=t.jsx(Ke,{classNames:x,closeOnSelect:h,color:a,disableAnimation:u,hideSelectedIcon:w,item:o,state:r,variant:s,onAction:d,..._},C);return o.wrapper&&(A=o.wrapper(A)),A}),p&&t.jsx(vt,{as:"li",className:D.divider({class:S}),...b})]})]})});Be.displayName="HeroUI.MenuSection";var qt=Be;function Gt(e){var r;const n=be(),{as:s,ref:a,variant:u,color:d,children:h,disableAnimation:l=(r=n?.disableAnimation)!=null?r:!1,onAction:c,closeOnSelect:p,itemClasses:w,className:b,state:x,topContent:I,bottomContent:j,hideEmptyContent:f=!1,hideSelectedIcon:M=!1,emptyContent:D="No items.",menuProps:y,onClose:S,classNames:i,...v}=e,k=s||"ul",o=ht(a),C=typeof k=="string",_=bt({...v,...y,children:h}),A=x||_,{menuProps:N}=Vt({...v,...y,onAction:c},A,o),g=P.useMemo(()=>It({className:b}),[b]),T=W(i?.base,b);return{Component:k,state:A,variant:u,color:d,disableAnimation:l,onClose:S,topContent:I,bottomContent:j,closeOnSelect:p,className:b,itemClasses:w,getBaseProps:(O={})=>({ref:o,"data-slot":"base",className:g.base({class:T}),...Ae(v,{enabled:C}),...O}),getListProps:(O={})=>({"data-slot":"list",className:g.list({class:i?.list}),...N,...O}),hideEmptyContent:f,hideSelectedIcon:M,getEmptyContentProps:(O={})=>({children:D,className:g.emptyContent({class:i?.emptyContent}),...O})}}var Jt=se(function(r,n){const{Component:s,state:a,closeOnSelect:u,color:d,disableAnimation:h,hideSelectedIcon:l,hideEmptyContent:c,variant:p,onClose:w,topContent:b,bottomContent:x,itemClasses:I,getBaseProps:j,getListProps:f,getEmptyContentProps:M}=Gt({...r,ref:n}),D=t.jsxs(s,{...f(),children:[!a.collection.size&&!c&&t.jsx("li",{children:t.jsx("div",{...M()})}),[...a.collection].map(y=>{const S={closeOnSelect:u,color:d,disableAnimation:h,item:y,state:a,variant:p,onClose:w,hideSelectedIcon:l,...y.props},i=Et(I,S?.classNames);if(y.type==="section")return t.jsx(qt,{...S,itemClasses:i},y.key);let v=t.jsx(Ke,{...S,classNames:i},y.key);return y.wrapper&&(v=y.wrapper(v)),v})]});return t.jsxs("div",{...j(),children:[b,D,x]})}),Qt=Jt,Xt=gt,De=Xt,Zt=se(function(r,n){const{getMenuProps:s}=Re();return t.jsx(Rt,{children:t.jsx(mt,{contain:!0,restoreFocus:!0,children:t.jsx(Qt,{...s(r,n)})})})}),Yt=Zt,Ve=e=>{const{getMenuTriggerProps:r}=Re(),{children:n,...s}=e;return t.jsx(Ht,{...r(s),children:n})};Ve.displayName="HeroUI.DropdownTrigger";var eo=Ve,to=(e,r)=>{if(e){const n=Array.isArray(e.children)?e.children:[...e?.items||[]];if(n&&n.length)return n.find(a=>{if(a&&a.key===r)return a})||{}}return null},oo=(e,r,n)=>{const s=n||to(e,r);return s&&s.props&&"closeOnSelect"in s.props?s.props.closeOnSelect:e?.closeOnSelect};function ro(e){var r;const n=be(),{as:s,triggerRef:a,isOpen:u,defaultOpen:d,onOpenChange:h,isDisabled:l,type:c="menu",trigger:p="press",placement:w="bottom",closeOnSelect:b=!0,shouldBlockScroll:x=!0,classNames:I,disableAnimation:j=(r=n?.disableAnimation)!=null?r:!1,onClose:f,className:M,...D}=e,y=s||"div",S=P.useRef(null),i=a||S,v=P.useRef(null),k=P.useRef(null),o=kt({trigger:p,isOpen:u,defaultOpen:d,onOpenChange:$=>{h?.($),$||f?.()}}),{menuTriggerProps:C,menuProps:_}=Nt({type:c,trigger:p,isDisabled:l},o,i),A=P.useMemo(()=>Ft({className:M}),[M]),N=$=>{$!==void 0&&!$||b&&o.close()},g=($={})=>{const E=R(D,$);return{state:o,placement:w,ref:k,disableAnimation:j,shouldBlockScroll:x,scrollRef:v,triggerRef:i,...E,classNames:{...I,...$.classNames,content:W(A,I?.content,$.className)}}},T=($={})=>{const{onPress:E,onPressStart:O,...H}=C;return R(H,{isDisabled:l},$)},B=($,E=null)=>({ref:xt(E,v),menuProps:_,closeOnSelect:b,...R($,{onAction:(O,H)=>{const q=oo($,O,H);N(q)},onClose:o.close})});return{Component:y,menuRef:v,menuProps:_,closeOnSelect:b,onClose:o.close,autoFocus:o.focusStrategy||!0,disableAnimation:j,getPopoverProps:g,getMenuProps:B,getMenuTriggerProps:T}}var Le=e=>{const{children:r,...n}=e,s=ro(n),[a,u]=yt.Children.toArray(r);return t.jsx(Kt,{value:s,children:t.jsxs(Ut,{...s.getPopoverProps(),children:[a,u]})})};Le.displayName="HeroUI.Dropdown";var ao=Le;function co(){const{selectConversation:e,deleteConversation:r,newConversation:n,setConversationProperties:s}=Pt(),a=Ct(),u=fe(Ce(o=>Object.keys(o.conversations).reverse())),d=fe(Ce(o=>Object.values(o.conversations).reverse().map(C=>C.summary))),h=fe(o=>o.currentConversation),[l,c]=P.useState(!1),[p,w]=P.useState(null),[b,x]=P.useState(""),[I,j]=P.useState(!1),f=P.useRef(null),M=l?"Open sidebar":"Close sidebar",D=t.jsx(Q,{icon:"heroicons:pencil-square"}),y=(o,C)=>{w(o),x(C??""),j(!0),setTimeout(()=>{f.current?.focus?.(),setTimeout(()=>j(!1),120)},0)},S=o=>{if(p!==o)return;const C=(b||"").trim();C&&s(o,{summary:C}),w(null),x(""),j(!1)},i=()=>{w(null),x(""),j(!1)},v=()=>{const o=n();a($e(o))},k=o=>{e(o),a($e(o))};return t.jsx(ve.div,{initial:!1,animate:{maxWidth:l?"4.5rem":"16rem"},className:"rounded-l-medium border-small border-divider ml-4 flex h-full w-full min-w-[4.5rem] flex-grow flex-col space-y-2 overflow-hidden border-r-0 p-4 py-3",children:t.jsxs(Ie,{children:[t.jsx(we,{content:M,placement:"bottom",children:t.jsx(X,{isIconOnly:!0,"aria-label":M,variant:"ghost",onPress:()=>c(o=>!o),"data-testid":"chat-history-collapse-button",className:"ml-auto",children:t.jsx(Q,{icon:l?"heroicons:chevron-double-right":"heroicons:chevron-double-left"})})},"collapse-button"),!l&&t.jsx(ve.p,{initial:!1,animate:{opacity:1,width:"100%",height:"auto"},exit:{opacity:0,width:0,height:0,marginBottom:0},className:"text-small text-foreground truncate leading-5 font-semibold",children:"Conversations"},"conversations"),t.jsx(we,{content:"New conversation",placement:"right",children:t.jsx(X,{"aria-label":"New conversation",variant:"ghost",onPress:v,"data-testid":"chat-history-clear-chat-button",startContent:D,isIconOnly:l,children:!l&&"New conversation"})},"new-conversation-button"),!l&&t.jsx(ve.div,{className:"mt-2 flex flex-1 flex-col gap-2 overflow-auto overflow-x-hidden",initial:!1,animate:{opacity:1,width:"100%"},exit:{opacity:0,width:0},children:wt.zip(u,d).map(([o,C])=>{if(!o||$t(o))return null;const _=o===h,A=o===p,N=_?"solid":"light";return t.jsxs("div",{className:"flex w-full justify-between gap-2",children:[A?t.jsx(At,{ref:f,size:"sm",variant:"bordered",value:b,onChange:g=>x(g.target.value),onBlur:()=>{I||S(o)},onKeyDown:g=>{g.key==="Enter"&&S(o),g.key==="Escape"&&i()},className:"flex-1","data-testid":`input-conversation-${o}`}):t.jsx(X,{variant:N,"aria-label":`Select conversation ${o}`,"data-active":_,onPress:()=>k(o),title:C??o,"data-testid":`select-conversation-${o}`,className:"flex-1 justify-start",children:t.jsx("div",{className:"text-small truncate",children:C??o})}),t.jsxs(ao,{children:[t.jsx(eo,{children:t.jsx(X,{isIconOnly:!0,variant:"light","aria-label":`Conversation actions for ${o}`,"data-testid":`dropdown-conversation-${o}`,children:t.jsx(Q,{icon:"heroicons:ellipsis-vertical",className:"rotate-90"})})}),t.jsxs(Yt,{"aria-label":"Conversation actions",children:[t.jsx(De,{startContent:t.jsx(Q,{icon:"heroicons:pencil-square",className:"mb-0.5"}),onPress:()=>y(o,C??o),"data-testid":`edit-conversation-${o}`,children:"Edit"},"edit"),t.jsx(De,{className:"text-danger mb-0.5",color:"danger",startContent:t.jsx(Q,{icon:"heroicons:trash"}),onPress:()=>r(o),"data-testid":`delete-conversation-${o}`,children:"Delete conversation"},"delete")]})]})]},`${o}-${N}`)})},"conversation-list")]})})}export{co as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatHistory-D2Pd5V75.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatHistory-D2Pd5V75.js deleted file mode 100644 index 75bfe6406..000000000 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatHistory-D2Pd5V75.js +++ /dev/null @@ -1 +0,0 @@ -import{a as C,aJ as N,i as h,r as y,j as t,aK as n,aD as I,D as o,d as s,I as i,aL as D,aM as m}from"./index-C75huGqt.js";function P(){const{selectConversation:u,deleteConversation:v,newConversation:x}=C(),r=N(),p=h(e=>e.conversations),f=h(e=>e.currentConversation),[a,b]=y.useState(!1),l=a?"Open sidebar":"Close sidebar",g=t.jsx(i,{icon:"heroicons:pencil-square"}),j=()=>{const e=x();r(m(e))},w=e=>{u(e),r(m(e))};return t.jsx(n.div,{initial:!1,animate:{maxWidth:a?"4.5rem":"16rem"},className:"rounded-l-medium border-small border-divider ml-4 flex h-full w-full min-w-[4.5rem] flex-grow flex-col space-y-2 overflow-hidden border-r-0 p-4 py-3",children:t.jsxs(I,{children:[t.jsx(o,{content:l,placement:"bottom",children:t.jsx(s,{isIconOnly:!0,"aria-label":l,variant:"ghost",onPress:()=>b(e=>!e),"data-testid":"chat-history-collapse-button",className:"ml-auto",children:t.jsx(i,{icon:a?"heroicons:chevron-double-right":"heroicons:chevron-double-left"})})},"collapse-button"),!a&&t.jsx(n.p,{initial:!1,animate:{opacity:1,width:"100%",height:"auto"},exit:{opacity:0,width:0,height:0,marginBottom:0},className:"text-small text-foreground truncate leading-5 font-semibold",children:"Conversations"},"conversations"),t.jsx(o,{content:"New conversation",placement:"right",children:t.jsx(s,{"aria-label":"New conversation",variant:"ghost",onPress:j,"data-testid":"chat-history-clear-chat-button",startContent:g,isIconOnly:a,children:!a&&"New conversation"})},"new-conversation-button"),!a&&t.jsx(n.div,{className:"mt-2 flex flex-1 flex-col gap-2 overflow-auto overflow-x-hidden",initial:!1,animate:{opacity:1,width:"100%"},exit:{opacity:0,width:0},children:Object.entries(p).reverse().map(([e,c])=>{if(D(c.conversationId))return null;const d=e===f;return t.jsxs("div",{className:"flex gap-2",children:[t.jsx(s,{variant:d?"solid":"light","aria-label":`Select conversation ${e}`,"data-active":d,onPress:()=>w(e),title:e,"data-testid":`select-conversation-${e}`,children:t.jsx("div",{className:"text-small truncate",children:c.conversationId})}),t.jsx(o,{content:"Delete conversation",placement:"right",children:t.jsx(s,{isIconOnly:!0,"aria-label":`Delete conversation ${e}`,onPress:()=>v(e),variant:"ghost","data-testid":`delete-conversation-${e}`,children:t.jsx(i,{icon:"heroicons:trash"})})})]},e)})},"conversation-list")]})})}export{P as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatOptionsForm-BmoJGYUy.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatOptionsForm-BmoJGYUy.js new file mode 100644 index 000000000..12250a51e --- /dev/null +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatOptionsForm-BmoJGYUy.js @@ -0,0 +1 @@ +import{g as z,r as f,u as ie,h as ce,a as ue,i as le,b as fe,p as Y,C as Q,j as l,D as de,d as A,I as me,m as ge,e as he,f as pe}from"./index-DaG4uPnK.js";import{g as Z,v as W,F as ve,t as be}from"./index-DmyaiLHy.js";import{m as Se}from"./chunk-IGSAU2ZA-Beuyhkep.js";import"./chunk-SSA7SXE4-CTW6lkmA.js";import"./useMenuTriggerState-BKJ8iWug.js";import"./useSelectableItem-ChcXAf8h.js";import"./index-qUEoadOF.js";var B,V;function xe(){if(V)return B;V=1;var n="Expected a function",t=NaN,s="[object Symbol]",m=/^\s+|\s+$/g,g=/^[-+]0x[0-9a-f]+$/i,h=/^0b[01]+$/i,i=/^0o[0-7]+$/i,b=parseInt,S=typeof z=="object"&&z&&z.Object===Object&&z,y=typeof self=="object"&&self&&self.Object===Object&&self,C=S||y||Function("return this")(),d=Object.prototype,r=d.toString,c=Math.max,O=Math.min,E=function(){return C.Date.now()};function $(e,u,v){var T,L,P,I,p,j,R=0,G=!1,D=!1,k=!0;if(typeof e!="function")throw new TypeError(n);u=q(u)||0,_(v)&&(G=!!v.leading,D="maxWait"in v,P=D?c(q(v.maxWait)||0,u):P,k="trailing"in v?!!v.trailing:k);function H(o){var x=T,F=L;return T=L=void 0,R=o,I=e.apply(F,x),I}function re(o){return R=o,p=setTimeout(N,u),G?H(o):I}function oe(o){var x=o-j,F=o-R,X=u-x;return D?O(X,P-F):X}function U(o){var x=o-j,F=o-R;return j===void 0||x>=u||x<0||D&&F>=P}function N(){var o=E();if(U(o))return K(o);p=setTimeout(N,oe(o))}function K(o){return p=void 0,k&&T?H(o):(T=L=void 0,I)}function se(){p!==void 0&&clearTimeout(p),R=0,T=j=L=p=void 0}function ae(){return p===void 0?I:K(E())}function M(){var o=E(),x=U(o);if(T=arguments,L=this,j=o,x){if(p===void 0)return re(j);if(D)return p=setTimeout(N,u),H(j)}return p===void 0&&(p=setTimeout(N,u)),I}return M.cancel=se,M.flush=ae,M}function _(e){var u=typeof e;return!!e&&(u=="object"||u=="function")}function a(e){return!!e&&typeof e=="object"}function w(e){return typeof e=="symbol"||a(e)&&r.call(e)==s}function q(e){if(typeof e=="number")return e;if(w(e))return t;if(_(e)){var u=typeof e.valueOf=="function"?e.valueOf():e;e=_(u)?u+"":u}if(typeof e!="string")return e===0?e:+e;e=e.replace(m,"");var v=h.test(e);return v||i.test(e)?b(e.slice(2),v?2:8):g.test(e)?t:+e}return B=$,B}xe();var ne=typeof window<"u"?f.useLayoutEffect:f.useEffect;function ee(n,t,s,m){const g=f.useRef(t);ne(()=>{g.current=t},[t]),f.useEffect(()=>{const h=window;if(!(h&&h.addEventListener))return;const i=b=>{g.current(b)};return h.addEventListener(n,i,m),()=>{h.removeEventListener(n,i,m)}},[n,s,m])}function te(n){const t=f.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return ne(()=>{t.current=n},[n]),f.useCallback((...s)=>{var m;return(m=t.current)==null?void 0:m.call(t,...s)},[t])}var J=typeof window>"u";function ye(n,t,s={}){const{initializeWithValue:m=!0}=s,g=f.useCallback(r=>s.serializer?s.serializer(r):JSON.stringify(r),[s]),h=f.useCallback(r=>{if(s.deserializer)return s.deserializer(r);if(r==="undefined")return;const c=t instanceof Function?t():t;let O;try{O=JSON.parse(r)}catch(E){return console.error("Error parsing JSON:",E),c}return O},[s,t]),i=f.useCallback(()=>{const r=t instanceof Function?t():t;if(J)return r;try{const c=window.localStorage.getItem(n);return c?h(c):r}catch(c){return console.warn(`Error reading localStorage key “${n}”:`,c),r}},[t,n,h]),[b,S]=f.useState(()=>m?i():t instanceof Function?t():t),y=te(r=>{J&&console.warn(`Tried setting localStorage key “${n}” even though environment is not a client`);try{const c=r instanceof Function?r(i()):r;window.localStorage.setItem(n,g(c)),S(c),window.dispatchEvent(new StorageEvent("local-storage",{key:n}))}catch(c){console.warn(`Error setting localStorage key “${n}”:`,c)}}),C=te(()=>{J&&console.warn(`Tried removing localStorage key “${n}” even though environment is not a client`);const r=t instanceof Function?t():t;window.localStorage.removeItem(n),S(r),window.dispatchEvent(new StorageEvent("local-storage",{key:n}))});f.useEffect(()=>{S(i())},[n]);const d=f.useCallback(r=>{r.key&&r.key!==n||S(i())},[n,i]);return ee("storage",d),ee("local-storage",d),[b,y,C]}const Ce="ragbits-no-history-chat-options";function Le(){const{isOpen:n,onOpen:t,onClose:s}=ie(),m=ce(a=>a.chatOptions),g=f.useRef(null),{setConversationProperties:h,initializeChatOptions:i}=ue(),b=le(a=>a.currentConversation),{config:{user_settings:S}}=fe(),[y,C]=ye(Ce,null),d=S?.form,r=a=>{Y.isPluginActivated(Q.name)||C(a)},c=()=>{t()},O=(a,w)=>{w.preventDefault(),g.current=a.formData,s()},E=()=>{if(!d)return;const a=Z(W,d);g.current=a,s()},$=()=>{s()},_=a=>{if(a!=="exit"||!g.current)return;const w=g.current;h(b,{chatOptions:w}),r(w),g.current=null};return f.useEffect(()=>{if(!d)return;const a=Z(W,d);Y.isPluginActivated(Q.name)?i(a):y!==null?i(y):(i(a),C(a))},[i,d,b,y,C]),d?l.jsxs(l.Fragment,{children:[l.jsx(de,{content:"Chat Options",placement:"bottom",children:l.jsx(A,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Open chat options",onPress:c,"data-testid":"open-chat-options",children:l.jsx(me,{icon:"heroicons:cog-6-tooth"})})}),l.jsx(ge,{isOpen:n,onOpenChange:$,motionProps:{onAnimationComplete:_},children:l.jsxs(he,{children:[l.jsx(Se,{className:"text-default-900 flex flex-col gap-1",children:d.title||"Chat Options"}),l.jsx(pe,{children:l.jsx("div",{className:"flex flex-col gap-4",children:l.jsx(ve,{schema:d,validator:W,formData:m,onSubmit:O,transformErrors:be,liveValidate:!0,children:l.jsxs("div",{className:"flex justify-end gap-4 py-4",children:[l.jsx(A,{className:"mr-auto",color:"primary",variant:"light",onPress:E,"aria-label":"Restore default user settings",children:"Restore defaults"}),l.jsx(A,{color:"danger",variant:"light",onPress:s,"aria-label":"Close chat options form",children:"Cancel"}),l.jsx(A,{color:"primary",type:"submit","aria-label":"Save chat options","data-testid":"chat-options-submit",children:"Save"})]})})})})]})})]}):null}export{Le as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatOptionsForm-DYA6GEAP.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatOptionsForm-DYA6GEAP.js deleted file mode 100644 index 30415d2a3..000000000 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatOptionsForm-DYA6GEAP.js +++ /dev/null @@ -1 +0,0 @@ -import{g as z,r as f,u as ie,h as ce,a as ue,i as le,b as fe,p as Y,C as Q,j as l,D as de,d as A,I as me,m as ge,e as he,f as pe}from"./index-C75huGqt.js";import{g as Z,v as W,F as be,t as ve}from"./index-VYICyW2P.js";import{m as Se}from"./chunk-IGSAU2ZA-DUS7ku-0.js";import"./chunk-SSA7SXE4-DnKzYyYP.js";import"./index-I-Ja0wkh.js";var B,V;function xe(){if(V)return B;V=1;var n="Expected a function",t=NaN,s="[object Symbol]",m=/^\s+|\s+$/g,g=/^[-+]0x[0-9a-f]+$/i,h=/^0b[01]+$/i,i=/^0o[0-7]+$/i,x=parseInt,v=typeof z=="object"&&z&&z.Object===Object&&z,y=typeof self=="object"&&self&&self.Object===Object&&self,C=v||y||Function("return this")(),d=Object.prototype,r=d.toString,c=Math.max,O=Math.min,E=function(){return C.Date.now()};function $(e,u,b){var T,L,N,I,p,j,R=0,G=!1,D=!1,k=!0;if(typeof e!="function")throw new TypeError(n);u=q(u)||0,_(b)&&(G=!!b.leading,D="maxWait"in b,N=D?c(q(b.maxWait)||0,u):N,k="trailing"in b?!!b.trailing:k);function H(o){var S=T,F=L;return T=L=void 0,R=o,I=e.apply(F,S),I}function re(o){return R=o,p=setTimeout(P,u),G?H(o):I}function oe(o){var S=o-j,F=o-R,X=u-S;return D?O(X,N-F):X}function U(o){var S=o-j,F=o-R;return j===void 0||S>=u||S<0||D&&F>=N}function P(){var o=E();if(U(o))return K(o);p=setTimeout(P,oe(o))}function K(o){return p=void 0,k&&T?H(o):(T=L=void 0,I)}function se(){p!==void 0&&clearTimeout(p),R=0,T=j=L=p=void 0}function ae(){return p===void 0?I:K(E())}function M(){var o=E(),S=U(o);if(T=arguments,L=this,j=o,S){if(p===void 0)return re(j);if(D)return p=setTimeout(P,u),H(j)}return p===void 0&&(p=setTimeout(P,u)),I}return M.cancel=se,M.flush=ae,M}function _(e){var u=typeof e;return!!e&&(u=="object"||u=="function")}function a(e){return!!e&&typeof e=="object"}function w(e){return typeof e=="symbol"||a(e)&&r.call(e)==s}function q(e){if(typeof e=="number")return e;if(w(e))return t;if(_(e)){var u=typeof e.valueOf=="function"?e.valueOf():e;e=_(u)?u+"":u}if(typeof e!="string")return e===0?e:+e;e=e.replace(m,"");var b=h.test(e);return b||i.test(e)?x(e.slice(2),b?2:8):g.test(e)?t:+e}return B=$,B}xe();var ne=typeof window<"u"?f.useLayoutEffect:f.useEffect;function ee(n,t,s,m){const g=f.useRef(t);ne(()=>{g.current=t},[t]),f.useEffect(()=>{const h=window;if(!(h&&h.addEventListener))return;const i=x=>{g.current(x)};return h.addEventListener(n,i,m),()=>{h.removeEventListener(n,i,m)}},[n,s,m])}function te(n){const t=f.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return ne(()=>{t.current=n},[n]),f.useCallback((...s)=>{var m;return(m=t.current)==null?void 0:m.call(t,...s)},[t])}var J=typeof window>"u";function ye(n,t,s={}){const{initializeWithValue:m=!0}=s,g=f.useCallback(r=>s.serializer?s.serializer(r):JSON.stringify(r),[s]),h=f.useCallback(r=>{if(s.deserializer)return s.deserializer(r);if(r==="undefined")return;const c=t instanceof Function?t():t;let O;try{O=JSON.parse(r)}catch(E){return console.error("Error parsing JSON:",E),c}return O},[s,t]),i=f.useCallback(()=>{const r=t instanceof Function?t():t;if(J)return r;try{const c=window.localStorage.getItem(n);return c?h(c):r}catch(c){return console.warn(`Error reading localStorage key “${n}”:`,c),r}},[t,n,h]),[x,v]=f.useState(()=>m?i():t instanceof Function?t():t),y=te(r=>{J&&console.warn(`Tried setting localStorage key “${n}” even though environment is not a client`);try{const c=r instanceof Function?r(i()):r;window.localStorage.setItem(n,g(c)),v(c),window.dispatchEvent(new StorageEvent("local-storage",{key:n}))}catch(c){console.warn(`Error setting localStorage key “${n}”:`,c)}}),C=te(()=>{J&&console.warn(`Tried removing localStorage key “${n}” even though environment is not a client`);const r=t instanceof Function?t():t;window.localStorage.removeItem(n),v(r),window.dispatchEvent(new StorageEvent("local-storage",{key:n}))});f.useEffect(()=>{v(i())},[n]);const d=f.useCallback(r=>{r.key&&r.key!==n||v(i())},[n,i]);return ee("storage",d),ee("local-storage",d),[x,y,C]}const Ce="ragbits-no-history-chat-options";function Ie(){const{isOpen:n,onOpen:t,onClose:s}=ie(),m=ce(a=>a.chatOptions),g=f.useRef(null),{setChatOptions:h,initializeChatOptions:i}=ue(),x=le(a=>a.currentConversation),{config:{user_settings:v}}=fe(),[y,C]=ye(Ce,null),d=v?.form,r=a=>{Y.isPluginActivated(Q.name)||C(a)},c=()=>{t()},O=(a,w)=>{w.preventDefault(),g.current=a.formData,s()},E=()=>{if(!d)return;const a=Z(W,d);g.current=a,s()},$=()=>{s()},_=a=>{if(a!=="exit"||!g.current)return;const w=g.current;h(w),r(w),g.current=null};return f.useEffect(()=>{if(!d)return;const a=Z(W,d);Y.isPluginActivated(Q.name)?i(a):y!==null?i(y):(i(a),C(a))},[i,d,x,y,C]),d?l.jsxs(l.Fragment,{children:[l.jsx(de,{content:"Chat Options",placement:"bottom",children:l.jsx(A,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Open chat options",onPress:c,"data-testid":"open-chat-options",children:l.jsx(me,{icon:"heroicons:cog-6-tooth"})})}),l.jsx(ge,{isOpen:n,onOpenChange:$,motionProps:{onAnimationComplete:_},children:l.jsxs(he,{children:[l.jsx(Se,{className:"text-default-900 flex flex-col gap-1",children:d.title||"Chat Options"}),l.jsx(pe,{children:l.jsx("div",{className:"flex flex-col gap-4",children:l.jsx(be,{schema:d,validator:W,formData:m,onSubmit:O,transformErrors:ve,liveValidate:!0,children:l.jsxs("div",{className:"flex justify-end gap-4 py-4",children:[l.jsx(A,{className:"mr-auto",color:"primary",variant:"light",onPress:E,"aria-label":"Restore default user settings",children:"Restore defaults"}),l.jsx(A,{color:"danger",variant:"light",onPress:s,"aria-label":"Close chat options form",children:"Cancel"}),l.jsx(A,{color:"primary",type:"submit","aria-label":"Save chat options","data-testid":"chat-options-submit",children:"Save"})]})})})})]})})]}):null}export{Ie as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/FeedbackForm-Bovwe8ia.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/FeedbackForm-Bovwe8ia.js deleted file mode 100644 index 8b9f54d5f..000000000 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/FeedbackForm-Bovwe8ia.js +++ /dev/null @@ -1 +0,0 @@ -import{u as g,a as v,b as C,r as _,F as s,c as T,j as e,D as b,d as n,I as u,m as w,e as D,f as I}from"./index-C75huGqt.js";import{F as O,t as S,v as E}from"./index-VYICyW2P.js";import{m as N}from"./chunk-IGSAU2ZA-DUS7ku-0.js";import"./chunk-SSA7SXE4-DnKzYyYP.js";import"./index-I-Ja0wkh.js";function V({message:t}){const{isOpen:f,onOpen:h,onClose:r}=g(),{mergeExtensions:p}=v(),{config:{feedback:o}}=C(),[l,x]=_.useState(s.Like),k=T("/api/feedback",{headers:{"Content-Type":"application/json"},method:"POST"}),i=o[l].form,j=()=>{r()},c=async a=>{if(!t.serverId)throw new Error('Feedback is only available for messages with "serverId" set');try{await k.call({body:{message_id:t.serverId,feedback:l,payload:a??{}}})}catch(F){console.error(F)}},y=a=>{p(t.id,{feedbackType:l}),c(a.formData),r()},d=async a=>{if(x(a),o[a].form===null){await c(null);return}h()};if(!i)return null;const m=t.extensions?.feedbackType;return e.jsxs(e.Fragment,{children:[o.like.enabled&&e.jsx(b,{content:"Like",placement:"bottom",children:e.jsx(n,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Rate message as helpful",onPress:()=>d(s.Like),"data-testid":"feedback-like",children:e.jsx(u,{icon:m===s.Like?"heroicons:hand-thumb-up-solid":"heroicons:hand-thumb-up"})})}),o.dislike.enabled&&e.jsx(b,{content:"Dislike",placement:"bottom",children:e.jsx(n,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Rate message as unhelpful",onPress:()=>d(s.Dislike),"data-testid":"feedback-dislike",children:e.jsx(u,{icon:m===s.Dislike?"heroicons:hand-thumb-down-solid":"heroicons:hand-thumb-down"})})}),e.jsx(w,{isOpen:f,onOpenChange:j,children:e.jsx(D,{children:a=>e.jsxs(e.Fragment,{children:[e.jsx(N,{className:"text-default-900 flex flex-col gap-1",children:i.title}),e.jsx(I,{children:e.jsx("div",{className:"flex flex-col gap-4",children:e.jsx(O,{schema:i,validator:E,onSubmit:y,transformErrors:S,liveValidate:!0,children:e.jsxs("div",{className:"flex justify-end gap-4 py-4",children:[e.jsx(n,{color:"danger",variant:"light",onPress:a,"aria-label":"Close feedback form",children:"Cancel"}),e.jsx(n,{color:"primary",type:"submit","aria-label":"Submit feedback","data-testid":"feedback-submit",children:"Submit"})]})})})})]})})})]})}export{V as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/FeedbackForm-Cav2SsCB.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/FeedbackForm-Cav2SsCB.js new file mode 100644 index 000000000..57ac155b5 --- /dev/null +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/FeedbackForm-Cav2SsCB.js @@ -0,0 +1 @@ +import{u as g,a as v,b as C,r as _,F as s,c as T,j as e,D as b,d as n,I as u,m as w,e as D,f as I}from"./index-DaG4uPnK.js";import{F as O,t as S,v as E}from"./index-DmyaiLHy.js";import{m as N}from"./chunk-IGSAU2ZA-Beuyhkep.js";import"./chunk-SSA7SXE4-CTW6lkmA.js";import"./useMenuTriggerState-BKJ8iWug.js";import"./useSelectableItem-ChcXAf8h.js";import"./index-qUEoadOF.js";function z({message:t}){const{isOpen:f,onOpen:h,onClose:r}=g(),{mergeExtensions:p}=v(),{config:{feedback:o}}=C(),[i,x]=_.useState(s.Like),k=T("/api/feedback",{headers:{"Content-Type":"application/json"},method:"POST"}),l=o[i].form,j=()=>{r()},c=async a=>{if(!t.serverId)throw new Error('Feedback is only available for messages with "serverId" set');try{await k.call({body:{message_id:t.serverId,feedback:i,payload:a??{}}})}catch(F){console.error(F)}},y=a=>{p(t.id,{feedbackType:i}),c(a.formData),r()},d=async a=>{if(x(a),o[a].form===null){await c(null);return}h()};if(!l)return null;const m=t.extensions?.feedbackType;return e.jsxs(e.Fragment,{children:[o.like.enabled&&e.jsx(b,{content:"Like",placement:"bottom",children:e.jsx(n,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Rate message as helpful",onPress:()=>d(s.Like),"data-testid":"feedback-like",children:e.jsx(u,{icon:m===s.Like?"heroicons:hand-thumb-up-solid":"heroicons:hand-thumb-up"})})}),o.dislike.enabled&&e.jsx(b,{content:"Dislike",placement:"bottom",children:e.jsx(n,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Rate message as unhelpful",onPress:()=>d(s.Dislike),"data-testid":"feedback-dislike",children:e.jsx(u,{icon:m===s.Dislike?"heroicons:hand-thumb-down-solid":"heroicons:hand-thumb-down"})})}),e.jsx(w,{isOpen:f,onOpenChange:j,children:e.jsx(D,{children:a=>e.jsxs(e.Fragment,{children:[e.jsx(N,{className:"text-default-900 flex flex-col gap-1",children:l.title}),e.jsx(I,{children:e.jsx("div",{className:"flex flex-col gap-4",children:e.jsx(O,{schema:l,validator:E,onSubmit:y,transformErrors:S,liveValidate:!0,children:e.jsxs("div",{className:"flex justify-end gap-4 py-4",children:[e.jsx(n,{color:"danger",variant:"light",onPress:a,"aria-label":"Close feedback form",children:"Cancel"}),e.jsx(n,{color:"primary",type:"submit","aria-label":"Submit feedback","data-testid":"feedback-submit",children:"Submit"})]})})})})]})})})]})}export{z as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/Login-B2kPNK-w.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/Login-Bcduy8Fr.js similarity index 82% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/Login-B2kPNK-w.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/Login-Bcduy8Fr.js index 8095219ac..c780033a1 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/Login-B2kPNK-w.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/Login-Bcduy8Fr.js @@ -1 +1 @@ -import{r as n,bp as w,c as y,aN as b,aJ as S,j as e,aD as j,aK as v,d as C,bq as N}from"./index-C75huGqt.js";import{a as P}from"./authStore-DLhLSjcY.js";import{i as c}from"./chunk-SSA7SXE4-DnKzYyYP.js";const q=()=>{const a=n.useContext(w);if(!a)throw new Error("useInitializeUserStore must be used within a HistoryStoreContextProvider");return a.initializeUserStore};function U(){const[a,m]=n.useState({username:"",password:""}),u=y("/api/auth/login",{headers:{"Content-Type":"application/json"},method:"POST"}),p=b(P,s=>s.login),g=S(),x=q(),[f,o]=n.useState(!1),h=async s=>{o(!1),s.preventDefault(),s.stopPropagation();const r=new FormData(s.currentTarget),i=r.get("username"),l=r.get("password");try{const t=await u.call({body:{username:i,password:l}});if(!t.success||!t.jwt_token||!t.user){o(!0);return}p(t.user,t.jwt_token),x(t.user.user_id),g("/")}catch(t){o(!0),console.error("Failed to login",t)}},d=s=>r=>m(i=>N(i,l=>{l[s]=r.target.value}));return n.useEffect(()=>{document.title="Login"},[]),e.jsx("div",{className:"flex h-screen w-screen",children:e.jsxs("form",{className:"rounded-medium border-small border-divider m-auto flex w-full max-w-xs flex-col gap-4 p-4",onSubmit:h,children:[e.jsxs("div",{className:"text-small",children:[e.jsx("div",{className:"text-foreground truncate leading-5 font-semibold",children:"Sign in"}),e.jsx("div",{className:"text-default-500 truncate leading-5 font-normal",children:"Sign in to start chatting."})]}),e.jsx(c,{label:"Username",name:"username",labelPlacement:"outside",placeholder:"Your username",required:!0,isRequired:!0,value:a.username,onChange:d("username")}),e.jsx(c,{label:"Password",labelPlacement:"outside",id:"password",name:"password",type:"password",placeholder:"••••••••",required:!0,isRequired:!0,value:a.password,onChange:d("password")}),e.jsx(j,{children:f&&!u.isLoading&&e.jsx(v.div,{className:"text-small text-danger",initial:{opacity:0,y:-10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.3,ease:"easeOut"},children:"We couldn't sign you in. Please verify your credentials and try again."})}),e.jsx(C,{type:"submit",color:a.password&&a.username?"primary":"default",children:"Sign in"})]})})}export{U as default}; +import{r as n,bm as w,c as y,aW as b,aE as S,j as e,aq as j,aG as v,d as C,bn as P}from"./index-DaG4uPnK.js";import{a as E}from"./authStore-BmdbjFC4.js";import{i as c}from"./chunk-SSA7SXE4-CTW6lkmA.js";const N=()=>{const a=n.useContext(w);if(!a)throw new Error("useInitializeUserStore must be used within a HistoryStoreContextProvider");return a.initializeUserStore};function U(){const[a,m]=n.useState({username:"",password:""}),u=y("/api/auth/login",{headers:{"Content-Type":"application/json"},method:"POST"}),p=b(E,s=>s.login),g=S(),x=N(),[f,o]=n.useState(!1),h=async s=>{o(!1),s.preventDefault(),s.stopPropagation();const r=new FormData(s.currentTarget),i=r.get("username"),l=r.get("password");try{const t=await u.call({body:{username:i,password:l}});if(!t.success||!t.jwt_token||!t.user){o(!0);return}p(t.user,t.jwt_token),x(t.user.user_id),g("/")}catch(t){o(!0),console.error("Failed to login",t)}},d=s=>r=>m(i=>P(i,l=>{l[s]=r.target.value}));return n.useEffect(()=>{document.title="Login"},[]),e.jsx("div",{className:"flex h-screen w-screen",children:e.jsxs("form",{className:"rounded-medium border-small border-divider m-auto flex w-full max-w-xs flex-col gap-4 p-4",onSubmit:h,children:[e.jsxs("div",{className:"text-small",children:[e.jsx("div",{className:"text-foreground truncate leading-5 font-semibold",children:"Sign in"}),e.jsx("div",{className:"text-default-500 truncate leading-5 font-normal",children:"Sign in to start chatting."})]}),e.jsx(c,{label:"Username",name:"username",labelPlacement:"outside",placeholder:"Your username",required:!0,isRequired:!0,value:a.username,onChange:d("username")}),e.jsx(c,{label:"Password",labelPlacement:"outside",id:"password",name:"password",type:"password",placeholder:"••••••••",required:!0,isRequired:!0,value:a.password,onChange:d("password")}),e.jsx(j,{children:f&&!u.isLoading&&e.jsx(v.div,{className:"text-small text-danger",initial:{opacity:0,y:-10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.3,ease:"easeOut"},children:"We couldn't sign you in. Please verify your credentials and try again."})}),e.jsx(C,{type:"submit",color:a.password&&a.username?"primary":"default",children:"Sign in"})]})})}export{U as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/LogoutButton-Bspy5P1_.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/LogoutButton-CgB7xh9T.js similarity index 81% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/LogoutButton-Bspy5P1_.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/LogoutButton-CgB7xh9T.js index 1cd873c59..53fddb164 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/LogoutButton-Bspy5P1_.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/LogoutButton-CgB7xh9T.js @@ -1 +1 @@ -import{c as u,aN as s,aJ as i,j as o,D as g,d,I as p}from"./index-C75huGqt.js";import{a as n}from"./authStore-DLhLSjcY.js";function m(){const r=u("/api/auth/logout",{headers:{"Content-Type":"application/json"},method:"POST"}),c=s(n,t=>t.logout),e=s(n,t=>t.token?.access_token),a=i(),l=async()=>{if(!e){a("/login");return}try{if(!(await r.call({body:{token:e}})).success)return;c(),a("/login")}catch(t){console.error("Failed to logout",t)}};return o.jsx(g,{content:"Logout",placement:"bottom",children:o.jsx(d,{isIconOnly:!0,"aria-label":"Logout",variant:"ghost",onPress:l,"data-testid":"logout-button",children:o.jsx(p,{icon:"heroicons:arrow-left-start-on-rectangle"})})})}export{m as default}; +import{c as u,aW as s,aE as i,j as o,D as g,d,I as p}from"./index-DaG4uPnK.js";import{a as n}from"./authStore-BmdbjFC4.js";function m(){const r=u("/api/auth/logout",{headers:{"Content-Type":"application/json"},method:"POST"}),c=s(n,t=>t.logout),e=s(n,t=>t.token?.access_token),a=i(),l=async()=>{if(!e){a("/login");return}try{if(!(await r.call({body:{token:e}})).success)return;c(),a("/login")}catch(t){console.error("Failed to logout",t)}};return o.jsx(g,{content:"Logout",placement:"bottom",children:o.jsx(d,{isIconOnly:!0,"aria-label":"Logout",variant:"ghost",onPress:l,"data-testid":"logout-button",children:o.jsx(p,{icon:"heroicons:arrow-left-start-on-rectangle"})})})}export{m as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ShareButton-BvHR4xdz.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ShareButton-B1XlPNhP.js similarity index 80% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ShareButton-BvHR4xdz.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ShareButton-B1XlPNhP.js index b17161ec2..ecc7a860d 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ShareButton-BvHR4xdz.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ShareButton-B1XlPNhP.js @@ -1 +1 @@ -import{aH as Gr,u as Jr,r as hr,i as Wr,j as k,D as qr,d as gr,I as Yr,m as Kr,e as Lr,f as Qr,aI as Vr}from"./index-C75huGqt.js";import{m as Xr}from"./chunk-IGSAU2ZA-DUS7ku-0.js";var T=Uint8Array,$=Uint16Array,jr=Int32Array,lr=new T([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),sr=new T([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),pr=new T([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Nr=function(r,e){for(var a=new $(31),n=0;n<31;++n)a[n]=e+=1<>1|(y&21845)<<1;Q=(Q&52428)>>2|(Q&13107)<<2,Q=(Q&61680)>>4|(Q&3855)<<4,Cr[y]=((Q&65280)>>8|(Q&255)<<8)>>1}var q=function(r,e,a){for(var n=r.length,t=0,o=new $(e);t>h]=c}else for(l=new $(n),t=0;t>15-r[t]);return l},V=new T(288);for(var y=0;y<144;++y)V[y]=8;for(var y=144;y<256;++y)V[y]=9;for(var y=256;y<280;++y)V[y]=7;for(var y=280;y<288;++y)V[y]=8;var fr=new T(32);for(var y=0;y<32;++y)fr[y]=5;var re=q(V,9,0),ee=q(V,9,1),ae=q(fr,5,0),ne=q(fr,5,1),wr=function(r){for(var e=r[0],a=1;ae&&(e=r[a]);return e},J=function(r,e,a){var n=e/8|0;return(r[n]|r[n+1]<<8)>>(e&7)&a},xr=function(r,e){var a=e/8|0;return(r[a]|r[a+1]<<8|r[a+2]<<16)>>(e&7)},Ar=function(r){return(r+7)/8|0},cr=function(r,e,a){return(e==null||e<0)&&(e=0),(a==null||a>r.length)&&(a=r.length),new T(r.subarray(e,a))},te=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],G=function(r,e,a){var n=new Error(e||te[r]);if(n.code=r,Error.captureStackTrace&&Error.captureStackTrace(n,G),!a)throw n;return n},oe=function(r,e,a,n){var t=r.length,o=0;if(!t||e.f&&!e.l)return a||new T(0);var v=!a,l=v||e.i!=2,h=e.i;v&&(a=new T(t*3));var c=function(ar){var nr=a.length;if(ar>nr){var rr=new T(Math.max(nr*2,ar));rr.set(a),a=rr}},f=e.f||0,i=e.p||0,u=e.b||0,x=e.l,S=e.d,w=e.m,d=e.n,m=t*8;do{if(!x){f=J(r,i,1);var R=J(r,i+1,3);if(i+=3,R)if(R==1)x=ee,S=ne,w=9,d=5;else if(R==2){var N=J(r,i,31)+257,A=J(r,i+10,15)+4,g=N+J(r,i+5,31)+1;i+=14;for(var s=new T(g),M=new T(19),C=0;C>4;if(j<16)s[C++]=j;else{var E=0,b=0;for(j==16?(b=3+J(r,i,3),i+=2,E=s[C-1]):j==17?(b=3+J(r,i,7),i+=3):j==18&&(b=11+J(r,i,127),i+=7);b--;)s[C++]=E}}var z=s.subarray(0,N),F=s.subarray(N);w=wr(z),d=wr(F),x=q(z,w,1),S=q(F,d,1)}else G(1);else{var j=Ar(i)+4,D=r[j-4]|r[j-3]<<8,I=j+D;if(I>t){h&&G(0);break}l&&c(u+D),a.set(r.subarray(j,I),u),e.b=u+=D,e.p=i=I*8,e.f=f;continue}if(i>m){h&&G(0);break}}l&&c(u+131072);for(var er=(1<>4;if(i+=E&15,i>m){h&&G(0);break}if(E||G(2),H<256)a[u++]=H;else if(H==256){Y=i,x=null;break}else{var P=H-254;if(H>264){var C=H-257,p=lr[C];P=J(r,i,(1<>4;W||G(3),i+=W&15;var F=Zr[X];if(X>3){var p=sr[X];F+=xr(r,i)&(1<m){h&&G(0);break}l&&c(u+131072);var Z=u+P;if(u>8},tr=function(r,e,a){a<<=e&7;var n=e/8|0;r[n]|=a,r[n+1]|=a>>8,r[n+2]|=a>>16},yr=function(r,e){for(var a=[],n=0;nu&&(u=o[n].s);var x=new $(u+1),S=Tr(a[f-1],x,0);if(S>e){var n=0,w=0,d=S-e,m=1<e)w+=m-(1<>=d;w>0;){var j=o[n].s;x[j]=0&&w;--n){var D=o[n].s;x[D]==e&&(--x[D],++w)}S=e}return{t:new T(x),l:S}},Tr=function(r,e,a){return r.s==-1?Math.max(Tr(r.l,e,a+1),Tr(r.r,e,a+1)):e[r.s]=a},Er=function(r){for(var e=r.length;e&&!r[--e];);for(var a=new $(++e),n=0,t=r[0],o=1,v=function(h){a[n++]=h},l=1;l<=e;++l)if(r[l]==t&&l!=e)++o;else{if(!t&&o>2){for(;o>138;o-=138)v(32754);o>2&&(v(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(v(t),--o;o>6;o-=6)v(8304);o>2&&(v(o-3<<5|8208),o=0)}for(;o--;)v(t);o=1,t=r[l]}return{c:a.subarray(0,n),n:e}},or=function(r,e){for(var a=0,n=0;n>8,r[t+2]=r[t]^255,r[t+3]=r[t+1]^255;for(var o=0;o4&&!M[pr[O-1]];--O);var L=c+5<<3,U=or(t,V)+or(o,fr)+v,_=or(t,u)+or(o,w)+v+14+3*O+or(A,M)+2*A[16]+3*A[17]+7*A[18];if(h>=0&&L<=U&&L<=_)return Ur(e,f,r.subarray(h,h+c));var E,b,z,F;if(K(e,f,1+(_15&&(K(e,f,H[g]>>5&127),f+=H[g]>>12)}}else E=re,b=V,z=ae,F=fr;for(var g=0;g255){var P=p>>18&31;tr(e,f,E[P+257]),f+=b[P+257],P>7&&(K(e,f,p>>23&31),f+=lr[P]);var W=p&31;tr(e,f,z[W]),f+=F[W],W>3&&(tr(e,f,p>>5&8191),f+=sr[W])}else tr(e,f,E[p]),f+=b[p]}return tr(e,f,E[256]),f+b[256]},fe=new jr([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Hr=new T(0),ie=function(r,e,a,n,t,o){var v=o.z||r.length,l=new T(n+v+5*(1+Math.ceil(v/7e3))+t),h=l.subarray(n,l.length-t),c=o.l,f=(o.r||0)&7;if(e){f&&(h[0]=o.r>>3);for(var i=fe[e-1],u=i>>13,x=i&8191,S=(1<7e3||M>24576)&&(E>423||!c)){f=Fr(r,h,0,D,I,N,g,M,O,s-O,f),M=A=g=0,O=s;for(var b=0;b<286;++b)I[b]=0;for(var b=0;b<30;++b)N[b]=0}var z=2,F=0,er=x,B=U-_&32767;if(E>2&&L==j(s-B))for(var Y=Math.min(u,E)-1,H=Math.min(32767,s),P=Math.min(258,E);B<=H&&--er&&U!=_;){if(r[s+z]==r[s+z-B]){for(var p=0;pz){if(z=p,F=B,p>Y)break;for(var W=Math.min(B,p-2),X=0,b=0;bX&&(X=vr,_=Z)}}}U=_,_=w[U],B+=U-_&32767}if(F){D[M++]=268435456|mr[z]<<18|Mr[F];var ar=mr[z]&31,nr=Mr[F]&31;g+=lr[ar]+sr[nr],++I[257+ar],++N[nr],C=s+z,++A}else D[M++]=r[s],++I[r[s]]}}for(s=Math.max(s,C);s=v&&(h[f/8|0]=c,rr=v),f=Ur(h,f+1,r.subarray(s,rr))}o.i=v}return cr(l,0,n+Ar(f)+t)},Pr=function(){var r=1,e=0;return{p:function(a){for(var n=r,t=e,o=a.length|0,v=0;v!=o;){for(var l=Math.min(v+2655,o);v>16),t=(t&65535)+15*(t>>16)}r=n,e=t},d:function(){return r%=65521,e%=65521,(r&255)<<24|(r&65280)<<8|(e&255)<<8|e>>8}}},ve=function(r,e,a,n,t){if(!t&&(t={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),v=new T(o.length+r.length);v.set(o),v.set(r,o.length),r=v,t.w=o.length}return ie(r,e.level==null?6:e.level,e.mem==null?t.l?Math.ceil(Math.max(8,Math.min(13,Math.log(r.length)))*1.5):20:12+e.mem,a,n,t)},$r=function(r,e,a){for(;a;++e)r[e]=a,a>>>=8},le=function(r,e){var a=e.level,n=a==0?0:a<6?1:a==9?3:2;if(r[0]=120,r[1]=n<<6|(e.dictionary&&32),r[1]|=31-(r[0]<<8|r[1])%31,e.dictionary){var t=Pr();t.p(e.dictionary),$r(r,2,t.d())}},se=function(r,e){return((r[0]&15)!=8||r[0]>>4>7||(r[0]<<8|r[1])%31)&&G(6,"invalid zlib data"),(r[1]>>5&1)==1&&G(6,"invalid zlib data: "+(r[1]&32?"need":"unexpected")+" dictionary"),(r[1]>>3&4)+2};function ce(r,e){e||(e={});var a=Pr();a.p(r);var n=ve(r,e,e.dictionary?6:2,4);return le(n,e),$r(n,n.length-4,a.d()),n}function ue(r,e){return oe(r.subarray(se(r),-4),{i:2},e,e)}var Ir=typeof TextEncoder<"u"&&new TextEncoder,dr=typeof TextDecoder<"u"&&new TextDecoder,he=0;try{dr.decode(Hr,{stream:!0}),he=1}catch{}var ge=function(r){for(var e="",a=0;;){var n=r[a++],t=(n>127)+(n>223)+(n>239);if(a+t>r.length)return{s:e,r:cr(r,a-1)};t?t==3?(n=((n&15)<<18|(r[a++]&63)<<12|(r[a++]&63)<<6|r[a++]&63)-65536,e+=String.fromCharCode(55296|n>>10,56320|n&1023)):t&1?e+=String.fromCharCode((n&31)<<6|r[a++]&63):e+=String.fromCharCode((n&15)<<12|(r[a++]&63)<<6|r[a++]&63):e+=String.fromCharCode(n)}};function Or(r,e){if(e){for(var a=new T(r.length),n=0;n>1)),v=0,l=function(f){o[v++]=f},n=0;no.length){var h=new T(v+8+(t-n<<1));h.set(o),o=h}var c=r.charCodeAt(n);c<128||e?l(c):c<2048?(l(192|c>>6),l(128|c&63)):c>55295&&c<57344?(c=65536+(c&1047552)|r.charCodeAt(++n)&1023,l(240|c>>18),l(128|c>>12&63),l(128|c>>6&63),l(128|c&63)):(l(224|c>>12),l(128|c>>6&63),l(128|c&63))}return cr(o,0,v)}function kr(r,e){if(e){for(var a="",n=0;n`,br=``;function xe(r){if(typeof r!="object"||r===null)return!1;const e=r;return!(typeof e.history!="object"||"followupMessages"in e&&typeof e.followupMessages!="object"||"chatOptions"in e&&typeof e.chatOptions!="object"||"serverState"in e&&typeof e.serverState!="object"||"conversationId"in e&&typeof e.conversationId!="string"&&typeof e.conversationId!="object")}function be(){const{restore:r}=Gr(),{isOpen:e,onOpen:a,onClose:n}=Jr(),[t,o]=hr.useState(Dr),v=hr.useRef(null),{getCurrentConversation:l}=Wr(f=>f.primitives),h=()=>{const{chatOptions:f,history:i,serverState:u,conversationId:x,followupMessages:S}=l(),w=Vr({chatOptions:f,history:i,serverState:u,conversationId:x,followupMessages:S}),d=Or(`${Sr}${JSON.stringify(w)}${br}`),m=btoa(kr(ce(d,{level:9}),!0));navigator.clipboard.writeText(m),o(we),n(),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{o(Dr)},2e3)},c=()=>{n()};return hr.useEffect(()=>{const f=i=>{if(!i.clipboardData)return;const u=i.clipboardData.types;if(!u.includes("text/plain")&&!u.includes("text"))return;const x=i.clipboardData.getData("text/plain")??i.clipboardData.getData("text");try{const S=atob(x);if(!S.startsWith("xÚ"))return;const w=kr(ue(Or(S,!0)));if(!w.startsWith(Sr)||!w.endsWith(br))return;i.preventDefault(),i.stopPropagation();const d=w.slice(Sr.length,-br.length),m=JSON.parse(d);if(!xe(m))return;r(m.history,m.followupMessages,m.chatOptions,m.serverState,m.conversationId)}catch(S){console.error("Couldn't parse pasted string as valid Ragbits state",S)}};return window.addEventListener("paste",f),()=>{window.removeEventListener("paste",f)}}),k.jsxs(k.Fragment,{children:[k.jsx(qr,{content:"Share conversation",placement:"bottom",children:k.jsx(gr,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Share conversation",onPress:a,children:k.jsx(Yr,{icon:t})})}),k.jsx(Kr,{isOpen:e,onOpenChange:c,children:k.jsx(Lr,{children:f=>k.jsxs(k.Fragment,{children:[k.jsx(Xr,{className:"text-default-900 flex flex-col gap-1",children:"Share conversation"}),k.jsx(Qr,{children:k.jsxs("div",{className:"flex flex-col gap-4",children:[k.jsx("p",{className:"text-medium text-default-500",children:"You are about to copy a code that allows sharing and storing your current app state. Once copied, you can paste this code anywhere on the site to instantly return to this exact setup. It’s a quick way to save your progress or share it with others."}),k.jsxs("div",{className:"flex justify-end gap-4 py-4",children:[k.jsx(gr,{color:"danger",variant:"light",onPress:f,"aria-label":"Close share modal",children:"Cancel"}),k.jsx(gr,{color:"primary",onPress:h,"aria-label":"Copy to clipboard to share the conversation",children:"Copy to clipboard"})]})]})})]})})})]})}export{be as default}; +import{av as Gr,u as Jr,r as hr,i as Wr,j as I,D as qr,d as gr,I as Yr,m as Kr,e as Lr,f as Qr,aw as Vr}from"./index-DaG4uPnK.js";import{m as Xr}from"./chunk-IGSAU2ZA-Beuyhkep.js";var T=Uint8Array,$=Uint16Array,jr=Int32Array,lr=new T([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),sr=new T([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),pr=new T([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Nr=function(r,e){for(var a=new $(31),n=0;n<31;++n)a[n]=e+=1<>1|(y&21845)<<1;Q=(Q&52428)>>2|(Q&13107)<<2,Q=(Q&61680)>>4|(Q&3855)<<4,Cr[y]=((Q&65280)>>8|(Q&255)<<8)>>1}var q=function(r,e,a){for(var n=r.length,t=0,o=new $(e);t>h]=c}else for(l=new $(n),t=0;t>15-r[t]);return l},V=new T(288);for(var y=0;y<144;++y)V[y]=8;for(var y=144;y<256;++y)V[y]=9;for(var y=256;y<280;++y)V[y]=7;for(var y=280;y<288;++y)V[y]=8;var fr=new T(32);for(var y=0;y<32;++y)fr[y]=5;var re=q(V,9,0),ee=q(V,9,1),ae=q(fr,5,0),ne=q(fr,5,1),wr=function(r){for(var e=r[0],a=1;ae&&(e=r[a]);return e},J=function(r,e,a){var n=e/8|0;return(r[n]|r[n+1]<<8)>>(e&7)&a},xr=function(r,e){var a=e/8|0;return(r[a]|r[a+1]<<8|r[a+2]<<16)>>(e&7)},Ar=function(r){return(r+7)/8|0},cr=function(r,e,a){return(e==null||e<0)&&(e=0),(a==null||a>r.length)&&(a=r.length),new T(r.subarray(e,a))},te=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],G=function(r,e,a){var n=new Error(e||te[r]);if(n.code=r,Error.captureStackTrace&&Error.captureStackTrace(n,G),!a)throw n;return n},oe=function(r,e,a,n){var t=r.length,o=0;if(!t||e.f&&!e.l)return a||new T(0);var v=!a,l=v||e.i!=2,h=e.i;v&&(a=new T(t*3));var c=function(ar){var nr=a.length;if(ar>nr){var rr=new T(Math.max(nr*2,ar));rr.set(a),a=rr}},f=e.f||0,i=e.p||0,u=e.b||0,x=e.l,S=e.d,w=e.m,d=e.n,m=t*8;do{if(!x){f=J(r,i,1);var R=J(r,i+1,3);if(i+=3,R)if(R==1)x=ee,S=ne,w=9,d=5;else if(R==2){var N=J(r,i,31)+257,A=J(r,i+10,15)+4,g=N+J(r,i+5,31)+1;i+=14;for(var s=new T(g),M=new T(19),C=0;C>4;if(j<16)s[C++]=j;else{var E=0,b=0;for(j==16?(b=3+J(r,i,3),i+=2,E=s[C-1]):j==17?(b=3+J(r,i,7),i+=3):j==18&&(b=11+J(r,i,127),i+=7);b--;)s[C++]=E}}var z=s.subarray(0,N),F=s.subarray(N);w=wr(z),d=wr(F),x=q(z,w,1),S=q(F,d,1)}else G(1);else{var j=Ar(i)+4,D=r[j-4]|r[j-3]<<8,O=j+D;if(O>t){h&&G(0);break}l&&c(u+D),a.set(r.subarray(j,O),u),e.b=u+=D,e.p=i=O*8,e.f=f;continue}if(i>m){h&&G(0);break}}l&&c(u+131072);for(var er=(1<>4;if(i+=E&15,i>m){h&&G(0);break}if(E||G(2),H<256)a[u++]=H;else if(H==256){Y=i,x=null;break}else{var P=H-254;if(H>264){var C=H-257,p=lr[C];P=J(r,i,(1<>4;W||G(3),i+=W&15;var F=Zr[X];if(X>3){var p=sr[X];F+=xr(r,i)&(1<m){h&&G(0);break}l&&c(u+131072);var Z=u+P;if(u>8},tr=function(r,e,a){a<<=e&7;var n=e/8|0;r[n]|=a,r[n+1]|=a>>8,r[n+2]|=a>>16},yr=function(r,e){for(var a=[],n=0;nu&&(u=o[n].s);var x=new $(u+1),S=Tr(a[f-1],x,0);if(S>e){var n=0,w=0,d=S-e,m=1<e)w+=m-(1<>=d;w>0;){var j=o[n].s;x[j]=0&&w;--n){var D=o[n].s;x[D]==e&&(--x[D],++w)}S=e}return{t:new T(x),l:S}},Tr=function(r,e,a){return r.s==-1?Math.max(Tr(r.l,e,a+1),Tr(r.r,e,a+1)):e[r.s]=a},Er=function(r){for(var e=r.length;e&&!r[--e];);for(var a=new $(++e),n=0,t=r[0],o=1,v=function(h){a[n++]=h},l=1;l<=e;++l)if(r[l]==t&&l!=e)++o;else{if(!t&&o>2){for(;o>138;o-=138)v(32754);o>2&&(v(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(v(t),--o;o>6;o-=6)v(8304);o>2&&(v(o-3<<5|8208),o=0)}for(;o--;)v(t);o=1,t=r[l]}return{c:a.subarray(0,n),n:e}},or=function(r,e){for(var a=0,n=0;n>8,r[t+2]=r[t]^255,r[t+3]=r[t+1]^255;for(var o=0;o4&&!M[pr[k-1]];--k);var L=c+5<<3,U=or(t,V)+or(o,fr)+v,_=or(t,u)+or(o,w)+v+14+3*k+or(A,M)+2*A[16]+3*A[17]+7*A[18];if(h>=0&&L<=U&&L<=_)return Ur(e,f,r.subarray(h,h+c));var E,b,z,F;if(K(e,f,1+(_15&&(K(e,f,H[g]>>5&127),f+=H[g]>>12)}}else E=re,b=V,z=ae,F=fr;for(var g=0;g255){var P=p>>18&31;tr(e,f,E[P+257]),f+=b[P+257],P>7&&(K(e,f,p>>23&31),f+=lr[P]);var W=p&31;tr(e,f,z[W]),f+=F[W],W>3&&(tr(e,f,p>>5&8191),f+=sr[W])}else tr(e,f,E[p]),f+=b[p]}return tr(e,f,E[256]),f+b[256]},fe=new jr([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Hr=new T(0),ie=function(r,e,a,n,t,o){var v=o.z||r.length,l=new T(n+v+5*(1+Math.ceil(v/7e3))+t),h=l.subarray(n,l.length-t),c=o.l,f=(o.r||0)&7;if(e){f&&(h[0]=o.r>>3);for(var i=fe[e-1],u=i>>13,x=i&8191,S=(1<7e3||M>24576)&&(E>423||!c)){f=Fr(r,h,0,D,O,N,g,M,k,s-k,f),M=A=g=0,k=s;for(var b=0;b<286;++b)O[b]=0;for(var b=0;b<30;++b)N[b]=0}var z=2,F=0,er=x,B=U-_&32767;if(E>2&&L==j(s-B))for(var Y=Math.min(u,E)-1,H=Math.min(32767,s),P=Math.min(258,E);B<=H&&--er&&U!=_;){if(r[s+z]==r[s+z-B]){for(var p=0;pz){if(z=p,F=B,p>Y)break;for(var W=Math.min(B,p-2),X=0,b=0;bX&&(X=vr,_=Z)}}}U=_,_=w[U],B+=U-_&32767}if(F){D[M++]=268435456|mr[z]<<18|Mr[F];var ar=mr[z]&31,nr=Mr[F]&31;g+=lr[ar]+sr[nr],++O[257+ar],++N[nr],C=s+z,++A}else D[M++]=r[s],++O[r[s]]}}for(s=Math.max(s,C);s=v&&(h[f/8|0]=c,rr=v),f=Ur(h,f+1,r.subarray(s,rr))}o.i=v}return cr(l,0,n+Ar(f)+t)},Pr=function(){var r=1,e=0;return{p:function(a){for(var n=r,t=e,o=a.length|0,v=0;v!=o;){for(var l=Math.min(v+2655,o);v>16),t=(t&65535)+15*(t>>16)}r=n,e=t},d:function(){return r%=65521,e%=65521,(r&255)<<24|(r&65280)<<8|(e&255)<<8|e>>8}}},ve=function(r,e,a,n,t){if(!t&&(t={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),v=new T(o.length+r.length);v.set(o),v.set(r,o.length),r=v,t.w=o.length}return ie(r,e.level==null?6:e.level,e.mem==null?t.l?Math.ceil(Math.max(8,Math.min(13,Math.log(r.length)))*1.5):20:12+e.mem,a,n,t)},$r=function(r,e,a){for(;a;++e)r[e]=a,a>>>=8},le=function(r,e){var a=e.level,n=a==0?0:a<6?1:a==9?3:2;if(r[0]=120,r[1]=n<<6|(e.dictionary&&32),r[1]|=31-(r[0]<<8|r[1])%31,e.dictionary){var t=Pr();t.p(e.dictionary),$r(r,2,t.d())}},se=function(r,e){return((r[0]&15)!=8||r[0]>>4>7||(r[0]<<8|r[1])%31)&&G(6,"invalid zlib data"),(r[1]>>5&1)==1&&G(6,"invalid zlib data: "+(r[1]&32?"need":"unexpected")+" dictionary"),(r[1]>>3&4)+2};function ce(r,e){e||(e={});var a=Pr();a.p(r);var n=ve(r,e,e.dictionary?6:2,4);return le(n,e),$r(n,n.length-4,a.d()),n}function ue(r,e){return oe(r.subarray(se(r),-4),{i:2},e,e)}var Or=typeof TextEncoder<"u"&&new TextEncoder,dr=typeof TextDecoder<"u"&&new TextDecoder,he=0;try{dr.decode(Hr,{stream:!0}),he=1}catch{}var ge=function(r){for(var e="",a=0;;){var n=r[a++],t=(n>127)+(n>223)+(n>239);if(a+t>r.length)return{s:e,r:cr(r,a-1)};t?t==3?(n=((n&15)<<18|(r[a++]&63)<<12|(r[a++]&63)<<6|r[a++]&63)-65536,e+=String.fromCharCode(55296|n>>10,56320|n&1023)):t&1?e+=String.fromCharCode((n&31)<<6|r[a++]&63):e+=String.fromCharCode((n&15)<<12|(r[a++]&63)<<6|r[a++]&63):e+=String.fromCharCode(n)}};function kr(r,e){if(e){for(var a=new T(r.length),n=0;n>1)),v=0,l=function(f){o[v++]=f},n=0;no.length){var h=new T(v+8+(t-n<<1));h.set(o),o=h}var c=r.charCodeAt(n);c<128||e?l(c):c<2048?(l(192|c>>6),l(128|c&63)):c>55295&&c<57344?(c=65536+(c&1047552)|r.charCodeAt(++n)&1023,l(240|c>>18),l(128|c>>12&63),l(128|c>>6&63),l(128|c&63)):(l(224|c>>12),l(128|c>>6&63),l(128|c&63))}return cr(o,0,v)}function Ir(r,e){if(e){for(var a="",n=0;n`,br=``;function xe(r){if(typeof r!="object"||r===null)return!1;const e=r;return!(typeof e.history!="object"||"followupMessages"in e&&typeof e.followupMessages!="object"||"chatOptions"in e&&typeof e.chatOptions!="object"||"serverState"in e&&typeof e.serverState!="object"||"conversationId"in e&&typeof e.conversationId!="string"&&typeof e.conversationId!="object")}function be(){const{restore:r}=Gr(),{isOpen:e,onOpen:a,onClose:n}=Jr(),[t,o]=hr.useState(Dr),v=hr.useRef(null),{getCurrentConversation:l}=Wr(f=>f.primitives),h=()=>{const{chatOptions:f,history:i,serverState:u,conversationId:x,followupMessages:S}=l(),w=Vr({chatOptions:f,history:i,serverState:u,conversationId:x,followupMessages:S}),d=kr(`${Sr}${JSON.stringify(w)}${br}`),m=btoa(Ir(ce(d,{level:9}),!0));navigator.clipboard.writeText(m),o(we),n(),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{o(Dr)},2e3)},c=()=>{n()};return hr.useEffect(()=>{const f=i=>{if(!i.clipboardData)return;const u=i.clipboardData.types;if(!u.includes("text/plain")&&!u.includes("text"))return;const x=i.clipboardData.getData("text/plain")??i.clipboardData.getData("text");try{const S=atob(x);if(!S.startsWith("xÚ"))return;const w=Ir(ue(kr(S,!0)));if(!w.startsWith(Sr)||!w.endsWith(br))return;i.preventDefault(),i.stopPropagation();const d=w.slice(Sr.length,-br.length),m=JSON.parse(d);if(!xe(m))return;r(m.history,m.followupMessages,m.chatOptions,m.serverState,m.conversationId)}catch(S){console.error("Couldn't parse pasted string as valid Ragbits state",S)}};return window.addEventListener("paste",f),()=>{window.removeEventListener("paste",f)}}),I.jsxs(I.Fragment,{children:[I.jsx(qr,{content:"Share conversation",placement:"bottom",children:I.jsx(gr,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Share conversation",onPress:a,children:I.jsx(Yr,{icon:t})})}),I.jsx(Kr,{isOpen:e,onOpenChange:c,children:I.jsx(Lr,{children:f=>I.jsxs(I.Fragment,{children:[I.jsx(Xr,{className:"text-default-900 flex flex-col gap-1",children:"Share conversation"}),I.jsx(Qr,{children:I.jsxs("div",{className:"flex flex-col gap-4",children:[I.jsx("p",{className:"text-medium text-default-500",children:"You are about to copy a code that allows sharing and storing your current app state. Once copied, you can paste this code anywhere on the site to instantly return to this exact setup. It’s a quick way to save your progress or share it with others."}),I.jsxs("div",{className:"flex justify-end gap-4 py-4",children:[I.jsx(gr,{color:"danger",variant:"light",onPress:f,"aria-label":"Close share modal",children:"Cancel"}),I.jsx(gr,{color:"primary",onPress:h,"aria-label":"Copy to clipboard to share the conversation",children:"Copy to clipboard"})]})]})})]})})})]})}export{be as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UsageButton-BMDI2IGg.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UsageButton-BMDI2IGg.js deleted file mode 100644 index bd62ffe45..000000000 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UsageButton-BMDI2IGg.js +++ /dev/null @@ -1 +0,0 @@ -import{r as B,aO as Ml,aP as ae,t as Ne,l as ie,n as z,aQ as W,aR as U,aS as te,aT as Tl,W as _,aU as Rl,aV as Vl,a3 as ze,aW as ue,aX as Ol,k as pe,a7 as Hl,a8 as J,a9 as Ll,aY as L,as as Ul,aZ as Y,a_ as Z,a$ as le,ac as Wl,b0 as Gl,b1 as Ce,b2 as Yl,O as T,A as M,G as X,J as K,j as h,w as I,M as w,aC as be,ag as O,Z as Zl,a1 as _l,a0 as ql,ai as q,x as Jl,y as Fe,H as Pe,ae as Ke,u as Xl,aF as De,D as Ql,d as eu,I as tu,m as lu,e as uu,f as nu,b3 as ou}from"./index-C75huGqt.js";import{b as fe,a as Ie,c as je,C as su,u as iu}from"./index-I-Ja0wkh.js";import{m as ru}from"./chunk-IGSAU2ZA-DUS7ku-0.js";function Me(e,t){const l=B.useRef(!0),u=B.useRef(null);B.useEffect(()=>(l.current=!0,()=>{l.current=!1}),[]),B.useEffect(()=>{let o=u.current;l.current?l.current=!1:(!o||t.some((n,i)=>!Object.is(n,o[i])))&&e(),u.current=t},t)}function au(e,t){let l=t?.isDisabled,[u,o]=B.useState(!1);return Ml(()=>{if(e?.current&&!l){let n=()=>{if(e.current){let a=ae(e.current,{tabbable:!0});o(!!a.nextNode())}};n();let i=new MutationObserver(n);return i.observe(e.current,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["tabIndex","disabled"]}),()=>{i.disconnect()}}}),l?!1:u}var Be=Ne({base:"w-px h-px inline-block",variants:{isInline:{true:"inline-block",false:"block"}},defaultVariants:{isInline:!1}}),ke=Ne({slots:{base:"flex flex-col relative gap-4",wrapper:["p-4","z-0","flex","flex-col","relative","justify-between","gap-4","shadow-small","bg-content1","overflow-auto"],table:"min-w-full h-auto",thead:"[&>tr]:first:rounded-lg",tbody:"after:block",tr:["group/tr","outline-hidden",...ie],th:["group/th","px-3","h-10","text-start","align-middle","bg-default-100","whitespace-nowrap","text-foreground-500","text-tiny","font-semibold","first:rounded-s-lg","last:rounded-e-lg","outline-hidden","data-[sortable=true]:cursor-pointer","data-[hover=true]:text-foreground-400",...ie],td:["py-2","px-3","relative","align-middle","whitespace-normal","text-small","font-normal","outline-hidden","[&>*]:z-1","[&>*]:relative",...ie,"before:pointer-events-none","before:content-['']","before:absolute","before:z-0","before:inset-0","before:opacity-0","data-[selected=true]:before:opacity-100","group-data-[disabled=true]/tr:text-foreground-300","group-data-[disabled=true]/tr:cursor-not-allowed"],tfoot:"",sortIcon:["ms-2","mb-px","opacity-0","text-inherit","inline-block","transition-transform-opacity","data-[visible=true]:opacity-100","group-data-[hover=true]/th:opacity-100","data-[direction=ascending]:rotate-180"],emptyWrapper:"text-foreground-400 align-middle text-center h-40",loadingWrapper:"absolute inset-0 flex items-center justify-center"},variants:{color:{default:{td:"before:bg-default/60 data-[selected=true]:text-default-foreground"},primary:{td:"before:bg-primary/20 data-[selected=true]:text-primary"},secondary:{td:"before:bg-secondary/20 data-[selected=true]:text-secondary"},success:{td:"before:bg-success/20 data-[selected=true]:text-success-600 dark:data-[selected=true]:text-success"},warning:{td:"before:bg-warning/20 data-[selected=true]:text-warning-600 dark:data-[selected=true]:text-warning"},danger:{td:"before:bg-danger/20 data-[selected=true]:text-danger dark:data-[selected=true]:text-danger-500"}},layout:{auto:{table:"table-auto"},fixed:{table:"table-fixed"}},shadow:{none:{wrapper:"shadow-none"},sm:{wrapper:"shadow-small"},md:{wrapper:"shadow-medium"},lg:{wrapper:"shadow-large"}},hideHeader:{true:{thead:"hidden"}},isStriped:{true:{td:["group-data-[odd=true]/tr:before:bg-default-100","group-data-[odd=true]/tr:before:opacity-100","group-data-[odd=true]/tr:before:-z-10"]}},isCompact:{true:{td:"py-1"},false:{}},isHeaderSticky:{true:{thead:"sticky top-0 z-20 [&>tr]:first:shadow-small"}},isSelectable:{true:{tr:"cursor-default",td:["group-aria-[selected=false]/tr:group-data-[hover=true]/tr:before:bg-default-100","group-aria-[selected=false]/tr:group-data-[hover=true]/tr:before:opacity-70"]}},isMultiSelectable:{true:{td:["group-data-[first=true]/tr:first:before:rounded-ss-lg","group-data-[first=true]/tr:last:before:rounded-se-lg","group-data-[middle=true]/tr:before:rounded-none","group-data-[last=true]/tr:first:before:rounded-es-lg","group-data-[last=true]/tr:last:before:rounded-ee-lg"]},false:{td:["first:before:rounded-s-lg","last:before:rounded-e-lg"]}},radius:{none:{wrapper:"rounded-none",th:["first:rounded-s-none","first:before:rounded-s-none","last:rounded-e-none","last:before:rounded-e-none"],td:["first:before:rounded-s-none","last:before:rounded-e-none","group-data-[first=true]/tr:first:before:rounded-ss-none","group-data-[first=true]/tr:last:before:rounded-se-none","group-data-[last=true]/tr:first:before:rounded-es-none","group-data-[last=true]/tr:last:before:rounded-ee-none"]},sm:{wrapper:"rounded-small"},md:{wrapper:"rounded-medium"},lg:{wrapper:"rounded-large"}},fullWidth:{true:{base:"w-full",wrapper:"w-full",table:"w-full"}},align:{start:{th:"text-start",td:"text-start"},center:{th:"text-center",td:"text-center"},end:{th:"text-end",td:"text-end"}}},defaultVariants:{layout:"auto",shadow:"sm",radius:"lg",color:"default",isCompact:!1,hideHeader:!1,isStriped:!1,fullWidth:!0,align:"start"},compoundVariants:[{isStriped:!0,color:"default",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-default/60"}},{isStriped:!0,color:"primary",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-primary/20"}},{isStriped:!0,color:"secondary",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-secondary/20"}},{isStriped:!0,color:"success",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-success/20"}},{isStriped:!0,color:"warning",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-warning/20"}},{isStriped:!0,color:"danger",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-danger/20"}}]});const he=new WeakMap;function ce(e){return typeof e=="string"?e.replace(/\s*/g,""):""+e}function cu(e,t){let l=he.get(e);if(!l)throw new Error("Unknown grid");return`${l}-${ce(t)}`}function Te(e,t,l){let u=he.get(e);if(!u)throw new Error("Unknown grid");return`${u}-${ce(t)}-${ce(l)}`}function Re(e,t){return[...e.collection.rowHeaderColumnKeys].map(l=>Te(e,t,l)).join(" ")}var Ve={};Ve={ascending:"تصاعدي",ascendingSort:e=>`ترتيب حسب العمود ${e.columnName} بترتيب تصاعدي`,columnSize:e=>`${e.value} بالبكسل`,descending:"تنازلي",descendingSort:e=>`ترتيب حسب العمود ${e.columnName} بترتيب تنازلي`,resizerDescription:"اضغط على مفتاح Enter لبدء تغيير الحجم",select:"تحديد",selectAll:"تحديد الكل",sortable:"عمود قابل للترتيب"};var Oe={};Oe={ascending:"възходящ",ascendingSort:e=>`сортирано по колона ${e.columnName} във възходящ ред`,columnSize:e=>`${e.value} пиксела`,descending:"низходящ",descendingSort:e=>`сортирано по колона ${e.columnName} в низходящ ред`,resizerDescription:"Натиснете „Enter“, за да започнете да преоразмерявате",select:"Изберете",selectAll:"Изберете всичко",sortable:"сортираща колона"};var He={};He={ascending:"vzestupně",ascendingSort:e=>`řazeno vzestupně podle sloupce ${e.columnName}`,columnSize:e=>`${e.value} pixelů`,descending:"sestupně",descendingSort:e=>`řazeno sestupně podle sloupce ${e.columnName}`,resizerDescription:"Stisknutím klávesy Enter začnete měnit velikost",select:"Vybrat",selectAll:"Vybrat vše",sortable:"sloupec s možností řazení"};var Le={};Le={ascending:"stigende",ascendingSort:e=>`sorteret efter kolonne ${e.columnName} i stigende rækkefølge`,columnSize:e=>`${e.value} pixels`,descending:"faldende",descendingSort:e=>`sorteret efter kolonne ${e.columnName} i faldende rækkefølge`,resizerDescription:"Tryk på Enter for at ændre størrelse",select:"Vælg",selectAll:"Vælg alle",sortable:"sorterbar kolonne"};var Ue={};Ue={ascending:"aufsteigend",ascendingSort:e=>`sortiert nach Spalte ${e.columnName} in aufsteigender Reihenfolge`,columnSize:e=>`${e.value} Pixel`,descending:"absteigend",descendingSort:e=>`sortiert nach Spalte ${e.columnName} in absteigender Reihenfolge`,resizerDescription:"Eingabetaste zum Starten der Größenänderung drücken",select:"Auswählen",selectAll:"Alles auswählen",sortable:"sortierbare Spalte"};var We={};We={ascending:"αύξουσα",ascendingSort:e=>`διαλογή ανά στήλη ${e.columnName} σε αύξουσα σειρά`,columnSize:e=>`${e.value} pixel`,descending:"φθίνουσα",descendingSort:e=>`διαλογή ανά στήλη ${e.columnName} σε φθίνουσα σειρά`,resizerDescription:"Πατήστε Enter για έναρξη της αλλαγής μεγέθους",select:"Επιλογή",selectAll:"Επιλογή όλων",sortable:"Στήλη διαλογής"};var Ge={};Ge={select:"Select",selectAll:"Select All",sortable:"sortable column",ascending:"ascending",descending:"descending",ascendingSort:e=>`sorted by column ${e.columnName} in ascending order`,descendingSort:e=>`sorted by column ${e.columnName} in descending order`,columnSize:e=>`${e.value} pixels`,resizerDescription:"Press Enter to start resizing"};var Ye={};Ye={ascending:"ascendente",ascendingSort:e=>`ordenado por columna ${e.columnName} en sentido ascendente`,columnSize:e=>`${e.value} píxeles`,descending:"descendente",descendingSort:e=>`ordenado por columna ${e.columnName} en orden descendente`,resizerDescription:"Pulse Intro para empezar a redimensionar",select:"Seleccionar",selectAll:"Seleccionar todos",sortable:"columna ordenable"};var Ze={};Ze={ascending:"tõusev järjestus",ascendingSort:e=>`sorditud veeru järgi ${e.columnName} tõusvas järjestuses`,columnSize:e=>`${e.value} pikslit`,descending:"laskuv järjestus",descendingSort:e=>`sorditud veeru järgi ${e.columnName} laskuvas järjestuses`,resizerDescription:"Suuruse muutmise alustamiseks vajutage klahvi Enter",select:"Vali",selectAll:"Vali kõik",sortable:"sorditav veerg"};var _e={};_e={ascending:"nouseva",ascendingSort:e=>`lajiteltu sarakkeen ${e.columnName} mukaan nousevassa järjestyksessä`,columnSize:e=>`${e.value} pikseliä`,descending:"laskeva",descendingSort:e=>`lajiteltu sarakkeen ${e.columnName} mukaan laskevassa järjestyksessä`,resizerDescription:"Aloita koon muutos painamalla Enter-näppäintä",select:"Valitse",selectAll:"Valitse kaikki",sortable:"lajiteltava sarake"};var qe={};qe={ascending:"croissant",ascendingSort:e=>`trié en fonction de la colonne ${e.columnName} par ordre croissant`,columnSize:e=>`${e.value} pixels`,descending:"décroissant",descendingSort:e=>`trié en fonction de la colonne ${e.columnName} par ordre décroissant`,resizerDescription:"Appuyez sur Entrée pour commencer le redimensionnement.",select:"Sélectionner",selectAll:"Sélectionner tout",sortable:"colonne triable"};var Je={};Je={ascending:"עולה",ascendingSort:e=>`מוין לפי עמודה ${e.columnName} בסדר עולה`,columnSize:e=>`${e.value} פיקסלים`,descending:"יורד",descendingSort:e=>`מוין לפי עמודה ${e.columnName} בסדר יורד`,resizerDescription:"הקש Enter כדי לשנות את הגודל",select:"בחר",selectAll:"בחר הכול",sortable:"עמודה שניתן למיין"};var Xe={};Xe={ascending:"rastući",ascendingSort:e=>`razvrstano po stupcima ${e.columnName} rastućem redoslijedom`,columnSize:e=>`${e.value} piksela`,descending:"padajući",descendingSort:e=>`razvrstano po stupcima ${e.columnName} padajućim redoslijedom`,resizerDescription:"Pritisnite Enter da biste započeli promenu veličine",select:"Odaberite",selectAll:"Odaberite sve",sortable:"stupac koji se može razvrstati"};var Qe={};Qe={ascending:"növekvő",ascendingSort:e=>`rendezve a(z) ${e.columnName} oszlop szerint, növekvő sorrendben`,columnSize:e=>`${e.value} képpont`,descending:"csökkenő",descendingSort:e=>`rendezve a(z) ${e.columnName} oszlop szerint, csökkenő sorrendben`,resizerDescription:"Nyomja le az Enter billentyűt az átméretezés megkezdéséhez",select:"Kijelölés",selectAll:"Összes kijelölése",sortable:"rendezendő oszlop"};var et={};et={ascending:"crescente",ascendingSort:e=>`in ordine crescente in base alla colonna ${e.columnName}`,columnSize:e=>`${e.value} pixel`,descending:"decrescente",descendingSort:e=>`in ordine decrescente in base alla colonna ${e.columnName}`,resizerDescription:"Premi Invio per iniziare a ridimensionare",select:"Seleziona",selectAll:"Seleziona tutto",sortable:"colonna ordinabile"};var tt={};tt={ascending:"昇順",ascendingSort:e=>`列 ${e.columnName} を昇順で並べ替え`,columnSize:e=>`${e.value} ピクセル`,descending:"降順",descendingSort:e=>`列 ${e.columnName} を降順で並べ替え`,resizerDescription:"Enter キーを押してサイズ変更を開始",select:"選択",selectAll:"すべて選択",sortable:"並べ替え可能な列"};var lt={};lt={ascending:"오름차순",ascendingSort:e=>`${e.columnName} 열을 기준으로 오름차순으로 정렬됨`,columnSize:e=>`${e.value} 픽셀`,descending:"내림차순",descendingSort:e=>`${e.columnName} 열을 기준으로 내림차순으로 정렬됨`,resizerDescription:"크기 조정을 시작하려면 Enter를 누르세요.",select:"선택",selectAll:"모두 선택",sortable:"정렬 가능한 열"};var ut={};ut={ascending:"didėjančia tvarka",ascendingSort:e=>`surikiuota pagal stulpelį ${e.columnName} didėjančia tvarka`,columnSize:e=>`${e.value} piks.`,descending:"mažėjančia tvarka",descendingSort:e=>`surikiuota pagal stulpelį ${e.columnName} mažėjančia tvarka`,resizerDescription:"Paspauskite „Enter“, kad pradėtumėte keisti dydį",select:"Pasirinkti",selectAll:"Pasirinkti viską",sortable:"rikiuojamas stulpelis"};var nt={};nt={ascending:"augošā secībā",ascendingSort:e=>`kārtots pēc kolonnas ${e.columnName} augošā secībā`,columnSize:e=>`${e.value} pikseļi`,descending:"dilstošā secībā",descendingSort:e=>`kārtots pēc kolonnas ${e.columnName} dilstošā secībā`,resizerDescription:"Nospiediet Enter, lai sāktu izmēru mainīšanu",select:"Atlasīt",selectAll:"Atlasīt visu",sortable:"kārtojamā kolonna"};var ot={};ot={ascending:"stigende",ascendingSort:e=>`sortert etter kolonne ${e.columnName} i stigende rekkefølge`,columnSize:e=>`${e.value} piksler`,descending:"synkende",descendingSort:e=>`sortert etter kolonne ${e.columnName} i synkende rekkefølge`,resizerDescription:"Trykk på Enter for å starte størrelsesendring",select:"Velg",selectAll:"Velg alle",sortable:"kolonne som kan sorteres"};var st={};st={ascending:"oplopend",ascendingSort:e=>`gesorteerd in oplopende volgorde in kolom ${e.columnName}`,columnSize:e=>`${e.value} pixels`,descending:"aflopend",descendingSort:e=>`gesorteerd in aflopende volgorde in kolom ${e.columnName}`,resizerDescription:"Druk op Enter om het formaat te wijzigen",select:"Selecteren",selectAll:"Alles selecteren",sortable:"sorteerbare kolom"};var it={};it={ascending:"rosnąco",ascendingSort:e=>`posortowano według kolumny ${e.columnName} w porządku rosnącym`,columnSize:e=>`Liczba pikseli: ${e.value}`,descending:"malejąco",descendingSort:e=>`posortowano według kolumny ${e.columnName} w porządku malejącym`,resizerDescription:"Naciśnij Enter, aby rozpocząć zmienianie rozmiaru",select:"Zaznacz",selectAll:"Zaznacz wszystko",sortable:"kolumna z możliwością sortowania"};var rt={};rt={ascending:"crescente",ascendingSort:e=>`classificado pela coluna ${e.columnName} em ordem crescente`,columnSize:e=>`${e.value} pixels`,descending:"decrescente",descendingSort:e=>`classificado pela coluna ${e.columnName} em ordem decrescente`,resizerDescription:"Pressione Enter para começar a redimensionar",select:"Selecionar",selectAll:"Selecionar tudo",sortable:"coluna classificável"};var at={};at={ascending:"ascendente",ascendingSort:e=>`Ordenar por coluna ${e.columnName} em ordem ascendente`,columnSize:e=>`${e.value} pixels`,descending:"descendente",descendingSort:e=>`Ordenar por coluna ${e.columnName} em ordem descendente`,resizerDescription:"Prima Enter para iniciar o redimensionamento",select:"Selecionar",selectAll:"Selecionar tudo",sortable:"Coluna ordenável"};var ct={};ct={ascending:"crescătoare",ascendingSort:e=>`sortate după coloana ${e.columnName} în ordine crescătoare`,columnSize:e=>`${e.value} pixeli`,descending:"descrescătoare",descendingSort:e=>`sortate după coloana ${e.columnName} în ordine descrescătoare`,resizerDescription:"Apăsați pe Enter pentru a începe redimensionarea",select:"Selectare",selectAll:"Selectare totală",sortable:"coloană sortabilă"};var dt={};dt={ascending:"возрастание",ascendingSort:e=>`сортировать столбец ${e.columnName} в порядке возрастания`,columnSize:e=>`${e.value} пикс.`,descending:"убывание",descendingSort:e=>`сортировать столбец ${e.columnName} в порядке убывания`,resizerDescription:"Нажмите клавишу Enter для начала изменения размеров",select:"Выбрать",selectAll:"Выбрать все",sortable:"сортируемый столбец"};var mt={};mt={ascending:"vzostupne",ascendingSort:e=>`zoradené zostupne podľa stĺpca ${e.columnName}`,columnSize:e=>`Počet pixelov: ${e.value}`,descending:"zostupne",descendingSort:e=>`zoradené zostupne podľa stĺpca ${e.columnName}`,resizerDescription:"Stlačením klávesu Enter začnete zmenu veľkosti",select:"Vybrať",selectAll:"Vybrať všetko",sortable:"zoraditeľný stĺpec"};var pt={};pt={ascending:"naraščajoče",ascendingSort:e=>`razvrščeno po stolpcu ${e.columnName} v naraščajočem vrstnem redu`,columnSize:e=>`${e.value} slikovnih pik`,descending:"padajoče",descendingSort:e=>`razvrščeno po stolpcu ${e.columnName} v padajočem vrstnem redu`,resizerDescription:"Pritisnite tipko Enter da začnete spreminjati velikost",select:"Izberite",selectAll:"Izberite vse",sortable:"razvrstljivi stolpec"};var bt={};bt={ascending:"rastući",ascendingSort:e=>`sortirano po kolonama ${e.columnName} rastućim redosledom`,columnSize:e=>`${e.value} piksela`,descending:"padajući",descendingSort:e=>`sortirano po kolonama ${e.columnName} padajućim redosledom`,resizerDescription:"Pritisnite Enter da biste započeli promenu veličine",select:"Izaberite",selectAll:"Izaberite sve",sortable:"kolona koja se može sortirati"};var ft={};ft={ascending:"stigande",ascendingSort:e=>`sorterat på kolumn ${e.columnName} i stigande ordning`,columnSize:e=>`${e.value} pixlar`,descending:"fallande",descendingSort:e=>`sorterat på kolumn ${e.columnName} i fallande ordning`,resizerDescription:"Tryck på Retur för att börja ändra storlek",select:"Markera",selectAll:"Markera allt",sortable:"sorterbar kolumn"};var ht={};ht={ascending:"artan sırada",ascendingSort:e=>`${e.columnName} sütuna göre artan düzende sırala`,columnSize:e=>`${e.value} piksel`,descending:"azalan sırada",descendingSort:e=>`${e.columnName} sütuna göre azalan düzende sırala`,resizerDescription:"Yeniden boyutlandırmak için Enter'a basın",select:"Seç",selectAll:"Tümünü Seç",sortable:"Sıralanabilir sütun"};var vt={};vt={ascending:"висхідний",ascendingSort:e=>`відсортовано за стовпцем ${e.columnName} у висхідному порядку`,columnSize:e=>`${e.value} пікс.`,descending:"низхідний",descendingSort:e=>`відсортовано за стовпцем ${e.columnName} у низхідному порядку`,resizerDescription:"Натисніть Enter, щоб почати зміну розміру",select:"Вибрати",selectAll:"Вибрати все",sortable:"сортувальний стовпець"};var gt={};gt={ascending:"升序",ascendingSort:e=>`按列 ${e.columnName} 升序排序`,columnSize:e=>`${e.value} 像素`,descending:"降序",descendingSort:e=>`按列 ${e.columnName} 降序排序`,resizerDescription:"按“输入”键开始调整大小。",select:"选择",selectAll:"全选",sortable:"可排序的列"};var $t={};$t={ascending:"遞增",ascendingSort:e=>`已依據「${e.columnName}」欄遞增排序`,columnSize:e=>`${e.value} 像素`,descending:"遞減",descendingSort:e=>`已依據「${e.columnName}」欄遞減排序`,resizerDescription:"按 Enter 鍵以開始調整大小",select:"選取",selectAll:"全選",sortable:"可排序的欄"};var ne={};ne={"ar-AE":Ve,"bg-BG":Oe,"cs-CZ":He,"da-DK":Le,"de-DE":Ue,"el-GR":We,"en-US":Ge,"es-ES":Ye,"et-EE":Ze,"fi-FI":_e,"fr-FR":qe,"he-IL":Je,"hr-HR":Xe,"hu-HU":Qe,"it-IT":et,"ja-JP":tt,"ko-KR":lt,"lt-LT":ut,"lv-LV":nt,"nb-NO":ot,"nl-NL":st,"pl-PL":it,"pt-BR":rt,"pt-PT":at,"ro-RO":ct,"ru-RU":dt,"sk-SK":mt,"sl-SI":pt,"sr-SP":bt,"sv-SE":ft,"tr-TR":ht,"uk-UA":vt,"zh-CN":gt,"zh-TW":$t};class yt{isCell(t){return t.type==="cell"}isRow(t){return t.type==="row"||t.type==="item"}isDisabled(t){var l;return this.disabledBehavior==="all"&&(((l=t.props)===null||l===void 0?void 0:l.isDisabled)||this.disabledKeys.has(t.key))}findPreviousKey(t,l){let u=t!=null?this.collection.getKeyBefore(t):this.collection.getLastKey();for(;u!=null;){let o=this.collection.getItem(u);if(!o)return null;if(!this.isDisabled(o)&&(!l||l(o)))return u;u=this.collection.getKeyBefore(u)}return null}findNextKey(t,l){let u=t!=null?this.collection.getKeyAfter(t):this.collection.getFirstKey();for(;u!=null;){let o=this.collection.getItem(u);if(!o)return null;if(!this.isDisabled(o)&&(!l||l(o)))return u;if(u=this.collection.getKeyAfter(u),u==null)return null}return null}getKeyForItemInRowByIndex(t,l=0){if(l<0)return null;let u=this.collection.getItem(t);if(!u)return null;let o=0;for(let a of z(u,this.collection)){var n;if(a.colSpan&&a.colSpan+o>l)return(n=a.key)!==null&&n!==void 0?n:null;a.colSpan&&(o=o+a.colSpan-1);var i;if(o===l)return(i=a.key)!==null&&i!==void 0?i:null;o++}return null}getKeyBelow(t){let l=t,u=this.collection.getItem(l);if(!u)return null;var o;if(this.isCell(u)&&(l=(o=u.parentKey)!==null&&o!==void 0?o:null),l==null)return null;if(l=this.findNextKey(l,n=>n.type==="item"),l!=null){if(this.isCell(u)){let n=u.colIndex?u.colIndex:u.index;return this.getKeyForItemInRowByIndex(l,n)}if(this.focusMode==="row")return l}return null}getKeyAbove(t){let l=t,u=this.collection.getItem(l);if(!u)return null;var o;if(this.isCell(u)&&(l=(o=u.parentKey)!==null&&o!==void 0?o:null),l==null)return null;if(l=this.findPreviousKey(l,n=>n.type==="item"),l!=null){if(this.isCell(u)){let n=u.colIndex?u.colIndex:u.index;return this.getKeyForItemInRowByIndex(l,n)}if(this.focusMode==="row")return l}return null}getKeyRightOf(t){let l=this.collection.getItem(t);if(!l)return null;if(this.isRow(l)){var u,o;let d=z(l,this.collection);var n;return(n=this.direction==="rtl"?(u=W(d))===null||u===void 0?void 0:u.key:(o=U(d))===null||o===void 0?void 0:o.key)!==null&&n!==void 0?n:null}if(this.isCell(l)&&l.parentKey!=null){let d=this.collection.getItem(l.parentKey);if(!d)return null;let r=z(d,this.collection);var i;let p=(i=this.direction==="rtl"?te(r,l.index-1):te(r,l.index+1))!==null&&i!==void 0?i:null;var a;if(p)return(a=p.key)!==null&&a!==void 0?a:null;var m;if(this.focusMode==="row")return(m=l.parentKey)!==null&&m!==void 0?m:null;var c;return(c=this.direction==="rtl"?this.getFirstKey(t):this.getLastKey(t))!==null&&c!==void 0?c:null}return null}getKeyLeftOf(t){let l=this.collection.getItem(t);if(!l)return null;if(this.isRow(l)){var u,o;let d=z(l,this.collection);var n;return(n=this.direction==="rtl"?(u=U(d))===null||u===void 0?void 0:u.key:(o=W(d))===null||o===void 0?void 0:o.key)!==null&&n!==void 0?n:null}if(this.isCell(l)&&l.parentKey!=null){let d=this.collection.getItem(l.parentKey);if(!d)return null;let r=z(d,this.collection);var i;let p=(i=this.direction==="rtl"?te(r,l.index+1):te(r,l.index-1))!==null&&i!==void 0?i:null;var a;if(p)return(a=p.key)!==null&&a!==void 0?a:null;var m;if(this.focusMode==="row")return(m=l.parentKey)!==null&&m!==void 0?m:null;var c;return(c=this.direction==="rtl"?this.getLastKey(t):this.getFirstKey(t))!==null&&c!==void 0?c:null}return null}getFirstKey(t,l){let u=t??null,o;if(u!=null){if(o=this.collection.getItem(u),!o)return null;if(this.isCell(o)&&!l&&o.parentKey!=null){var n;let c=this.collection.getItem(o.parentKey);if(!c)return null;var i;return(i=(n=U(z(c,this.collection)))===null||n===void 0?void 0:n.key)!==null&&i!==void 0?i:null}}if(u=this.findNextKey(void 0,c=>c.type==="item"),u!=null&&(o&&this.isCell(o)&&l||this.focusMode==="cell")){var a;let c=this.collection.getItem(u);if(!c)return null;var m;u=(m=(a=U(z(c,this.collection)))===null||a===void 0?void 0:a.key)!==null&&m!==void 0?m:null}return u}getLastKey(t,l){let u=t??null,o;if(u!=null){if(o=this.collection.getItem(u),!o)return null;if(this.isCell(o)&&!l&&o.parentKey!=null){var n;let c=this.collection.getItem(o.parentKey);if(!c)return null;let d=z(c,this.collection);var i;return(i=(n=W(d))===null||n===void 0?void 0:n.key)!==null&&i!==void 0?i:null}}if(u=this.findPreviousKey(void 0,c=>c.type==="item"),u!=null&&(o&&this.isCell(o)&&l||this.focusMode==="cell")){var a;let c=this.collection.getItem(u);if(!c)return null;let d=z(c,this.collection);var m;u=(m=(a=W(d))===null||a===void 0?void 0:a.key)!==null&&m!==void 0?m:null}return u}getKeyPageAbove(t){let l=t,u=this.layoutDelegate.getItemRect(l);if(!u)return null;let o=Math.max(0,u.y+u.height-this.layoutDelegate.getVisibleRect().height);for(;u&&u.y>o&&l!=null;){var n;if(l=(n=this.getKeyAbove(l))!==null&&n!==void 0?n:null,l==null)break;u=this.layoutDelegate.getItemRect(l)}return l}getKeyPageBelow(t){let l=t,u=this.layoutDelegate.getItemRect(l);if(!u)return null;let o=this.layoutDelegate.getVisibleRect().height,n=Math.min(this.layoutDelegate.getContentSize().height,u.y+o);for(;u&&u.y+u.heightr.type==="item"),u==null&&!a&&(u=this.getFirstKey(),a=!0)}return null}constructor(t){if(this.collection=t.collection,this.disabledKeys=t.disabledKeys,this.disabledBehavior=t.disabledBehavior||"all",this.direction=t.direction,this.collator=t.collator,!t.layout&&!t.ref)throw new Error("Either a layout or a ref must be specified.");this.layoutDelegate=t.layoutDelegate||(t.layout?new du(t.layout):new Tl(t.ref)),this.focusMode=t.focusMode||"row"}}class du{getContentSize(){return this.layout.getContentSize()}getItemRect(t){var l;return((l=this.layout.getLayoutInfo(t))===null||l===void 0?void 0:l.rect)||null}getVisibleRect(){return this.layout.virtualizer.visibleRect}constructor(t){this.layout=t}}const ve=new WeakMap;var xt={};xt={deselectedItem:e=>`${e.item} غير المحدد`,longPressToSelect:"اضغط مطولًا للدخول إلى وضع التحديد.",select:"تحديد",selectedAll:"جميع العناصر المحددة.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"لم يتم تحديد عناصر",one:()=>`${t.number(e.count)} عنصر محدد`,other:()=>`${t.number(e.count)} عنصر محدد`})}.`,selectedItem:e=>`${e.item} المحدد`};var Ct={};Ct={deselectedItem:e=>`${e.item} не е избран.`,longPressToSelect:"Натиснете и задръжте за да влезете в избирателен режим.",select:"Изберете",selectedAll:"Всички елементи са избрани.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Няма избрани елементи",one:()=>`${t.number(e.count)} избран елемент`,other:()=>`${t.number(e.count)} избрани елементи`})}.`,selectedItem:e=>`${e.item} избран.`};var Dt={};Dt={deselectedItem:e=>`Položka ${e.item} není vybrána.`,longPressToSelect:"Dlouhým stisknutím přejdete do režimu výběru.",select:"Vybrat",selectedAll:"Vybrány všechny položky.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nevybrány žádné položky",one:()=>`Vybrána ${t.number(e.count)} položka`,other:()=>`Vybráno ${t.number(e.count)} položek`})}.`,selectedItem:e=>`Vybrána položka ${e.item}.`};var Bt={};Bt={deselectedItem:e=>`${e.item} ikke valgt.`,longPressToSelect:"Lav et langt tryk for at aktivere valgtilstand.",select:"Vælg",selectedAll:"Alle elementer valgt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ingen elementer valgt",one:()=>`${t.number(e.count)} element valgt`,other:()=>`${t.number(e.count)} elementer valgt`})}.`,selectedItem:e=>`${e.item} valgt.`};var kt={};kt={deselectedItem:e=>`${e.item} nicht ausgewählt.`,longPressToSelect:"Gedrückt halten, um Auswahlmodus zu öffnen.",select:"Auswählen",selectedAll:"Alle Elemente ausgewählt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Keine Elemente ausgewählt",one:()=>`${t.number(e.count)} Element ausgewählt`,other:()=>`${t.number(e.count)} Elemente ausgewählt`})}.`,selectedItem:e=>`${e.item} ausgewählt.`};var Et={};Et={deselectedItem:e=>`Δεν επιλέχθηκε το στοιχείο ${e.item}.`,longPressToSelect:"Πατήστε παρατεταμένα για να μπείτε σε λειτουργία επιλογής.",select:"Επιλογή",selectedAll:"Επιλέχθηκαν όλα τα στοιχεία.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Δεν επιλέχθηκαν στοιχεία",one:()=>`Επιλέχθηκε ${t.number(e.count)} στοιχείο`,other:()=>`Επιλέχθηκαν ${t.number(e.count)} στοιχεία`})}.`,selectedItem:e=>`Επιλέχθηκε το στοιχείο ${e.item}.`};var St={};St={deselectedItem:e=>`${e.item} not selected.`,select:"Select",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"No items selected",one:()=>`${t.number(e.count)} item selected`,other:()=>`${t.number(e.count)} items selected`})}.`,selectedAll:"All items selected.",selectedItem:e=>`${e.item} selected.`,longPressToSelect:"Long press to enter selection mode."};var At={};At={deselectedItem:e=>`${e.item} no seleccionado.`,longPressToSelect:"Mantenga pulsado para abrir el modo de selección.",select:"Seleccionar",selectedAll:"Todos los elementos seleccionados.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ningún elemento seleccionado",one:()=>`${t.number(e.count)} elemento seleccionado`,other:()=>`${t.number(e.count)} elementos seleccionados`})}.`,selectedItem:e=>`${e.item} seleccionado.`};var wt={};wt={deselectedItem:e=>`${e.item} pole valitud.`,longPressToSelect:"Valikurežiimi sisenemiseks vajutage pikalt.",select:"Vali",selectedAll:"Kõik üksused valitud.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Üksusi pole valitud",one:()=>`${t.number(e.count)} üksus valitud`,other:()=>`${t.number(e.count)} üksust valitud`})}.`,selectedItem:e=>`${e.item} valitud.`};var Nt={};Nt={deselectedItem:e=>`Kohdetta ${e.item} ei valittu.`,longPressToSelect:"Siirry valintatilaan painamalla pitkään.",select:"Valitse",selectedAll:"Kaikki kohteet valittu.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ei yhtään kohdetta valittu",one:()=>`${t.number(e.count)} kohde valittu`,other:()=>`${t.number(e.count)} kohdetta valittu`})}.`,selectedItem:e=>`${e.item} valittu.`};var zt={};zt={deselectedItem:e=>`${e.item} non sélectionné.`,longPressToSelect:"Appuyez de manière prolongée pour passer en mode de sélection.",select:"Sélectionner",selectedAll:"Tous les éléments sélectionnés.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Aucun élément sélectionné",one:()=>`${t.number(e.count)} élément sélectionné`,other:()=>`${t.number(e.count)} éléments sélectionnés`})}.`,selectedItem:e=>`${e.item} sélectionné.`};var Ft={};Ft={deselectedItem:e=>`${e.item} לא נבחר.`,longPressToSelect:"הקשה ארוכה לכניסה למצב בחירה.",select:"בחר",selectedAll:"כל הפריטים נבחרו.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"לא נבחרו פריטים",one:()=>`פריט ${t.number(e.count)} נבחר`,other:()=>`${t.number(e.count)} פריטים נבחרו`})}.`,selectedItem:e=>`${e.item} נבחר.`};var Pt={};Pt={deselectedItem:e=>`Stavka ${e.item} nije odabrana.`,longPressToSelect:"Dugo pritisnite za ulazak u način odabira.",select:"Odaberite",selectedAll:"Odabrane su sve stavke.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nije odabrana nijedna stavka",one:()=>`Odabrana je ${t.number(e.count)} stavka`,other:()=>`Odabrano je ${t.number(e.count)} stavki`})}.`,selectedItem:e=>`Stavka ${e.item} je odabrana.`};var Kt={};Kt={deselectedItem:e=>`${e.item} nincs kijelölve.`,longPressToSelect:"Nyomja hosszan a kijelöléshez.",select:"Kijelölés",selectedAll:"Az összes elem kijelölve.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Egy elem sincs kijelölve",one:()=>`${t.number(e.count)} elem kijelölve`,other:()=>`${t.number(e.count)} elem kijelölve`})}.`,selectedItem:e=>`${e.item} kijelölve.`};var It={};It={deselectedItem:e=>`${e.item} non selezionato.`,longPressToSelect:"Premi a lungo per passare alla modalità di selezione.",select:"Seleziona",selectedAll:"Tutti gli elementi selezionati.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nessun elemento selezionato",one:()=>`${t.number(e.count)} elemento selezionato`,other:()=>`${t.number(e.count)} elementi selezionati`})}.`,selectedItem:e=>`${e.item} selezionato.`};var jt={};jt={deselectedItem:e=>`${e.item} が選択されていません。`,longPressToSelect:"長押しして選択モードを開きます。",select:"選択",selectedAll:"すべての項目を選択しました。",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"項目が選択されていません",one:()=>`${t.number(e.count)} 項目を選択しました`,other:()=>`${t.number(e.count)} 項目を選択しました`})}。`,selectedItem:e=>`${e.item} を選択しました。`};var Mt={};Mt={deselectedItem:e=>`${e.item}이(가) 선택되지 않았습니다.`,longPressToSelect:"선택 모드로 들어가려면 길게 누르십시오.",select:"선택",selectedAll:"모든 항목이 선택되었습니다.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"선택된 항목이 없습니다",one:()=>`${t.number(e.count)}개 항목이 선택되었습니다`,other:()=>`${t.number(e.count)}개 항목이 선택되었습니다`})}.`,selectedItem:e=>`${e.item}이(가) 선택되었습니다.`};var Tt={};Tt={deselectedItem:e=>`${e.item} nepasirinkta.`,longPressToSelect:"Norėdami įjungti pasirinkimo režimą, paspauskite ir palaikykite.",select:"Pasirinkti",selectedAll:"Pasirinkti visi elementai.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nepasirinktas nė vienas elementas",one:()=>`Pasirinktas ${t.number(e.count)} elementas`,other:()=>`Pasirinkta elementų: ${t.number(e.count)}`})}.`,selectedItem:e=>`Pasirinkta: ${e.item}.`};var Rt={};Rt={deselectedItem:e=>`Vienums ${e.item} nav atlasīts.`,longPressToSelect:"Ilgi turiet nospiestu. lai ieslēgtu atlases režīmu.",select:"Atlasīt",selectedAll:"Atlasīti visi vienumi.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nav atlasīts neviens vienums",one:()=>`Atlasīto vienumu skaits: ${t.number(e.count)}`,other:()=>`Atlasīto vienumu skaits: ${t.number(e.count)}`})}.`,selectedItem:e=>`Atlasīts vienums ${e.item}.`};var Vt={};Vt={deselectedItem:e=>`${e.item} er ikke valgt.`,longPressToSelect:"Bruk et langt trykk for å gå inn i valgmodus.",select:"Velg",selectedAll:"Alle elementer er valgt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ingen elementer er valgt",one:()=>`${t.number(e.count)} element er valgt`,other:()=>`${t.number(e.count)} elementer er valgt`})}.`,selectedItem:e=>`${e.item} er valgt.`};var Ot={};Ot={deselectedItem:e=>`${e.item} niet geselecteerd.`,longPressToSelect:"Druk lang om de selectiemodus te openen.",select:"Selecteren",selectedAll:"Alle items geselecteerd.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Geen items geselecteerd",one:()=>`${t.number(e.count)} item geselecteerd`,other:()=>`${t.number(e.count)} items geselecteerd`})}.`,selectedItem:e=>`${e.item} geselecteerd.`};var Ht={};Ht={deselectedItem:e=>`Nie zaznaczono ${e.item}.`,longPressToSelect:"Naciśnij i przytrzymaj, aby wejść do trybu wyboru.",select:"Zaznacz",selectedAll:"Wszystkie zaznaczone elementy.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nie zaznaczono żadnych elementów",one:()=>`${t.number(e.count)} zaznaczony element`,other:()=>`${t.number(e.count)} zaznaczonych elementów`})}.`,selectedItem:e=>`Zaznaczono ${e.item}.`};var Lt={};Lt={deselectedItem:e=>`${e.item} não selecionado.`,longPressToSelect:"Mantenha pressionado para entrar no modo de seleção.",select:"Selecionar",selectedAll:"Todos os itens selecionados.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nenhum item selecionado",one:()=>`${t.number(e.count)} item selecionado`,other:()=>`${t.number(e.count)} itens selecionados`})}.`,selectedItem:e=>`${e.item} selecionado.`};var Ut={};Ut={deselectedItem:e=>`${e.item} não selecionado.`,longPressToSelect:"Prima continuamente para entrar no modo de seleção.",select:"Selecionar",selectedAll:"Todos os itens selecionados.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nenhum item selecionado",one:()=>`${t.number(e.count)} item selecionado`,other:()=>`${t.number(e.count)} itens selecionados`})}.`,selectedItem:e=>`${e.item} selecionado.`};var Wt={};Wt={deselectedItem:e=>`${e.item} neselectat.`,longPressToSelect:"Apăsați lung pentru a intra în modul de selectare.",select:"Selectare",selectedAll:"Toate elementele selectate.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Niciun element selectat",one:()=>`${t.number(e.count)} element selectat`,other:()=>`${t.number(e.count)} elemente selectate`})}.`,selectedItem:e=>`${e.item} selectat.`};var Gt={};Gt={deselectedItem:e=>`${e.item} не выбрано.`,longPressToSelect:"Нажмите и удерживайте для входа в режим выбора.",select:"Выбрать",selectedAll:"Выбраны все элементы.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Нет выбранных элементов",one:()=>`${t.number(e.count)} элемент выбран`,other:()=>`${t.number(e.count)} элементов выбрано`})}.`,selectedItem:e=>`${e.item} выбрано.`};var Yt={};Yt={deselectedItem:e=>`Nevybraté položky: ${e.item}.`,longPressToSelect:"Dlhším stlačením prejdite do režimu výberu.",select:"Vybrať",selectedAll:"Všetky vybraté položky.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Žiadne vybraté položky",one:()=>`${t.number(e.count)} vybratá položka`,other:()=>`Počet vybratých položiek:${t.number(e.count)}`})}.`,selectedItem:e=>`Vybraté položky: ${e.item}.`};var Zt={};Zt={deselectedItem:e=>`Element ${e.item} ni izbran.`,longPressToSelect:"Za izbirni način pritisnite in dlje časa držite.",select:"Izberite",selectedAll:"Vsi elementi so izbrani.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Noben element ni izbran",one:()=>`${t.number(e.count)} element je izbran`,other:()=>`${t.number(e.count)} elementov je izbranih`})}.`,selectedItem:e=>`Element ${e.item} je izbran.`};var _t={};_t={deselectedItem:e=>`${e.item} nije izabrano.`,longPressToSelect:"Dugo pritisnite za ulazak u režim biranja.",select:"Izaberite",selectedAll:"Izabrane su sve stavke.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nije izabrana nijedna stavka",one:()=>`Izabrana je ${t.number(e.count)} stavka`,other:()=>`Izabrano je ${t.number(e.count)} stavki`})}.`,selectedItem:e=>`${e.item} je izabrano.`};var qt={};qt={deselectedItem:e=>`${e.item} ej markerat.`,longPressToSelect:"Tryck länge när du vill öppna väljarläge.",select:"Markera",selectedAll:"Alla markerade objekt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Inga markerade objekt",one:()=>`${t.number(e.count)} markerat objekt`,other:()=>`${t.number(e.count)} markerade objekt`})}.`,selectedItem:e=>`${e.item} markerat.`};var Jt={};Jt={deselectedItem:e=>`${e.item} seçilmedi.`,longPressToSelect:"Seçim moduna girmek için uzun basın.",select:"Seç",selectedAll:"Tüm ögeler seçildi.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Hiçbir öge seçilmedi",one:()=>`${t.number(e.count)} öge seçildi`,other:()=>`${t.number(e.count)} öge seçildi`})}.`,selectedItem:e=>`${e.item} seçildi.`};var Xt={};Xt={deselectedItem:e=>`${e.item} не вибрано.`,longPressToSelect:"Виконайте довге натиснення, щоб перейти в режим вибору.",select:"Вибрати",selectedAll:"Усі елементи вибрано.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Жодних елементів не вибрано",one:()=>`${t.number(e.count)} елемент вибрано`,other:()=>`Вибрано елементів: ${t.number(e.count)}`})}.`,selectedItem:e=>`${e.item} вибрано.`};var Qt={};Qt={deselectedItem:e=>`未选择 ${e.item}。`,longPressToSelect:"长按以进入选择模式。",select:"选择",selectedAll:"已选择所有项目。",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"未选择项目",one:()=>`已选择 ${t.number(e.count)} 个项目`,other:()=>`已选择 ${t.number(e.count)} 个项目`})}。`,selectedItem:e=>`已选择 ${e.item}。`};var el={};el={deselectedItem:e=>`未選取「${e.item}」。`,longPressToSelect:"長按以進入選擇模式。",select:"選取",selectedAll:"已選取所有項目。",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"未選取任何項目",one:()=>`已選取 ${t.number(e.count)} 個項目`,other:()=>`已選取 ${t.number(e.count)} 個項目`})}。`,selectedItem:e=>`已選取「${e.item}」。`};var oe={};oe={"ar-AE":xt,"bg-BG":Ct,"cs-CZ":Dt,"da-DK":Bt,"de-DE":kt,"el-GR":Et,"en-US":St,"es-ES":At,"et-EE":wt,"fi-FI":Nt,"fr-FR":zt,"he-IL":Ft,"hr-HR":Pt,"hu-HU":Kt,"it-IT":It,"ja-JP":jt,"ko-KR":Mt,"lt-LT":Tt,"lv-LV":Rt,"nb-NO":Vt,"nl-NL":Ot,"pl-PL":Ht,"pt-BR":Lt,"pt-PT":Ut,"ro-RO":Wt,"ru-RU":Gt,"sk-SK":Yt,"sl-SI":Zt,"sr-SP":_t,"sv-SE":qt,"tr-TR":Jt,"uk-UA":Xt,"zh-CN":Qt,"zh-TW":el};const tl=7e3;let V=null;function ll(e,t="assertive",l=tl){V?V.announce(e,t,l):(V=new mu,(typeof IS_REACT_ACT_ENVIRONMENT=="boolean"?IS_REACT_ACT_ENVIRONMENT:typeof jest<"u")?V.announce(e,t,l):setTimeout(()=>{V?.isAttached()&&V?.announce(e,t,l)},100))}class mu{isAttached(){var t;return(t=this.node)===null||t===void 0?void 0:t.isConnected}createLog(t){let l=document.createElement("div");return l.setAttribute("role","log"),l.setAttribute("aria-live",t),l.setAttribute("aria-relevant","additions"),l}destroy(){this.node&&(document.body.removeChild(this.node),this.node=null)}announce(t,l="assertive",u=tl){var o,n;if(!this.node)return;let i=document.createElement("div");typeof t=="object"?(i.setAttribute("role","img"),i.setAttribute("aria-labelledby",t["aria-labelledby"])):i.textContent=t,l==="assertive"?(o=this.assertiveLog)===null||o===void 0||o.appendChild(i):(n=this.politeLog)===null||n===void 0||n.appendChild(i),t!==""&&setTimeout(()=>{i.remove()},u)}clear(t){this.node&&((!t||t==="assertive")&&this.assertiveLog&&(this.assertiveLog.innerHTML=""),(!t||t==="polite")&&this.politeLog&&(this.politeLog.innerHTML=""))}constructor(){this.node=null,this.assertiveLog=null,this.politeLog=null,typeof document<"u"&&(this.node=document.createElement("div"),this.node.dataset.liveAnnouncer="true",Object.assign(this.node.style,{border:0,clip:"rect(0 0 0 0)",clipPath:"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"}),this.assertiveLog=this.createLog("assertive"),this.node.appendChild(this.assertiveLog),this.politeLog=this.createLog("polite"),this.node.appendChild(this.politeLog),document.body.prepend(this.node))}}function pu(e){return e&&e.__esModule?e.default:e}function bu(e,t){let{getRowText:l=a=>{var m,c,d,r;return(r=(m=(c=t.collection).getTextValue)===null||m===void 0?void 0:m.call(c,a))!==null&&r!==void 0?r:(d=t.collection.getItem(a))===null||d===void 0?void 0:d.textValue}}=e,u=_(pu(oe),"@react-aria/grid"),o=t.selectionManager.rawSelection,n=B.useRef(o),i=Rl(()=>{var a;if(!t.selectionManager.isFocused||o===n.current){n.current=o;return}let m=Ee(o,n.current),c=Ee(n.current,o),d=t.selectionManager.selectionBehavior==="replace",r=[];if(t.selectionManager.selectedKeys.size===1&&d){let p=t.selectionManager.selectedKeys.keys().next().value;if(p!=null&&t.collection.getItem(p)){let s=l(p);s&&r.push(u.format("selectedItem",{item:s}))}}else if(m.size===1&&c.size===0){let p=m.keys().next().value;if(p!=null){let s=l(p);s&&r.push(u.format("selectedItem",{item:s}))}}else if(c.size===1&&m.size===0){let p=c.keys().next().value;if(p!=null&&t.collection.getItem(p)){let s=l(p);s&&r.push(u.format("deselectedItem",{item:s}))}}t.selectionManager.selectionMode==="multiple"&&(r.length===0||o==="all"||o.size>1||n.current==="all"||((a=n.current)===null||a===void 0?void 0:a.size)>1)&&r.push(o==="all"?u.format("selectedAll"):u.format("selectedCount",{count:o.size})),r.length>0&&ll(r.join(" ")),n.current=o});Me(()=>{if(t.selectionManager.isFocused)i();else{let a=requestAnimationFrame(i);return()=>cancelAnimationFrame(a)}},[o,t.selectionManager.isFocused])}function Ee(e,t){let l=new Set;if(e==="all"||t==="all")return l;for(let u of e.keys())t.has(u)||l.add(u);return l}function fu(e){return e&&e.__esModule?e.default:e}function hu(e){let t=_(fu(oe),"@react-aria/grid"),l=Vl(),u=(l==="pointer"||l==="virtual"||l==null)&&typeof window<"u"&&"ontouchstart"in window,o=B.useMemo(()=>{let i=e.selectionManager.selectionMode,a=e.selectionManager.selectionBehavior,m;return u&&(m=t.format("longPressToSelect")),a==="replace"&&i!=="none"&&e.hasItemActions?m:void 0},[e.selectionManager.selectionMode,e.selectionManager.selectionBehavior,e.hasItemActions,t,u]);return fe(o)}function vu(e,t,l){let{isVirtualized:u,disallowTypeAhead:o,keyboardDelegate:n,focusMode:i,scrollRef:a,getRowText:m,onRowAction:c,onCellAction:d,escapeKeyBehavior:r="clearSelection",shouldSelectOnPressUp:p}=e,{selectionManager:s}=t;!e["aria-label"]&&!e["aria-labelledby"]&&console.warn("An aria-label or aria-labelledby prop is required for accessibility.");let b=ze({usage:"search",sensitivity:"base"}),{direction:v}=ue(),g=t.selectionManager.disabledBehavior,x=B.useMemo(()=>n||new yt({collection:t.collection,disabledKeys:t.disabledKeys,disabledBehavior:g,ref:l,direction:v,collator:b,focusMode:i}),[n,t.collection,t.disabledKeys,g,l,v,b,i]),{collectionProps:D}=Ol({ref:l,selectionManager:s,keyboardDelegate:x,isVirtualized:u,scrollRef:a,disallowTypeAhead:o,escapeKeyBehavior:r}),y=pe(e.id);ve.set(t,{keyboardDelegate:x,actions:{onRowAction:c,onCellAction:d},shouldSelectOnPressUp:p});let $=hu({selectionManager:s,hasItemActions:!!(c||d)}),f=Hl(e,{labelable:!0}),E=B.useCallback(C=>{if(s.isFocused){C.currentTarget.contains(C.target)||s.setFocused(!1);return}C.currentTarget.contains(C.target)&&s.setFocused(!0)},[s]),S=B.useMemo(()=>({onBlur:D.onBlur,onFocus:E}),[E,D.onBlur]),A=au(l,{isDisabled:t.collection.size!==0}),k=J(f,{role:"grid",id:y,"aria-multiselectable":s.selectionMode==="multiple"?"true":void 0},t.isKeyboardNavigationDisabled?S:D,t.collection.size===0&&{tabIndex:A?-1:0}||void 0,$);return u&&(k["aria-rowcount"]=t.collection.size,k["aria-colcount"]=t.collection.columnCount),bu({getRowText:m},t),{gridProps:k}}function gu(){return{rowGroupProps:{role:"rowgroup"}}}function $u(e,t,l){var u,o;let{node:n,isVirtualized:i,shouldSelectOnPressUp:a,onAction:m}=e,{actions:c,shouldSelectOnPressUp:d}=ve.get(t),r=c.onRowAction?()=>{var g;return(g=c.onRowAction)===null||g===void 0?void 0:g.call(c,n.key)}:m,{itemProps:p,...s}=Ie({selectionManager:t.selectionManager,key:n.key,ref:l,isVirtualized:i,shouldSelectOnPressUp:d||a,onAction:r||!(n==null||(u=n.props)===null||u===void 0)&&u.onAction?Ll(n==null||(o=n.props)===null||o===void 0?void 0:o.onAction,r):void 0,isDisabled:t.collection.size===0}),b=t.selectionManager.isSelected(n.key),v={role:"row","aria-selected":t.selectionManager.selectionMode!=="none"?b:void 0,"aria-disabled":s.isDisabled||void 0,...p};return i&&(v["aria-rowindex"]=n.index+1),{rowProps:v,...s}}function ul(e,t,l){let{node:u,isVirtualized:o,focusMode:n="child",shouldSelectOnPressUp:i,onAction:a}=e,{direction:m}=ue(),{keyboardDelegate:c,actions:{onCellAction:d}}=ve.get(t),r=B.useRef(null),p=()=>{if(l.current){let y=ae(l.current);if(n==="child"){if(l.current.contains(document.activeElement)&&l.current!==document.activeElement)return;let $=t.selectionManager.childFocusStrategy==="last"?re(y):y.firstChild();if($){L($);return}}(r.current!=null&&u.key!==r.current||!l.current.contains(document.activeElement))&&L(l.current)}},{itemProps:s,isPressed:b}=Ie({selectionManager:t.selectionManager,key:u.key,ref:l,isVirtualized:o,focus:p,shouldSelectOnPressUp:i,onAction:d?()=>d(u.key):a,isDisabled:t.collection.size===0}),v=y=>{if(!y.currentTarget.contains(y.target)||t.isKeyboardNavigationDisabled||!l.current||!document.activeElement)return;let $=ae(l.current);switch($.currentNode=document.activeElement,y.key){case"ArrowLeft":{let C=m==="rtl"?$.nextNode():$.previousNode();if(n==="child"&&C===l.current&&(C=null),y.preventDefault(),y.stopPropagation(),C)L(C),Y(C,{containingElement:Z(l.current)});else{var f;if(((f=c.getKeyLeftOf)===null||f===void 0?void 0:f.call(c,u.key))!==u.key){var E;(E=l.current.parentElement)===null||E===void 0||E.dispatchEvent(new KeyboardEvent(y.nativeEvent.type,y.nativeEvent));break}n==="cell"&&m==="rtl"?(L(l.current),Y(l.current,{containingElement:Z(l.current)})):($.currentNode=l.current,C=m==="rtl"?$.firstChild():re($),C&&(L(C),Y(C,{containingElement:Z(l.current)})))}break}case"ArrowRight":{let C=m==="rtl"?$.previousNode():$.nextNode();if(n==="child"&&C===l.current&&(C=null),y.preventDefault(),y.stopPropagation(),C)L(C),Y(C,{containingElement:Z(l.current)});else{var S;if(((S=c.getKeyRightOf)===null||S===void 0?void 0:S.call(c,u.key))!==u.key){var A;(A=l.current.parentElement)===null||A===void 0||A.dispatchEvent(new KeyboardEvent(y.nativeEvent.type,y.nativeEvent));break}n==="cell"&&m==="ltr"?(L(l.current),Y(l.current,{containingElement:Z(l.current)})):($.currentNode=l.current,C=m==="rtl"?re($):$.firstChild(),C&&(L(C),Y(C,{containingElement:Z(l.current)})))}break}case"ArrowUp":case"ArrowDown":if(!y.altKey&&l.current.contains(y.target)){var k;y.stopPropagation(),y.preventDefault(),(k=l.current.parentElement)===null||k===void 0||k.dispatchEvent(new KeyboardEvent(y.nativeEvent.type,y.nativeEvent))}break}},g=y=>{if(r.current=u.key,y.target!==l.current){Ul()||t.selectionManager.setFocusedKey(u.key);return}requestAnimationFrame(()=>{n==="child"&&document.activeElement===l.current&&p()})},x=J(s,{role:"gridcell",onKeyDownCapture:v,"aria-colspan":u.colSpan,"aria-colindex":u.colIndex!=null?u.colIndex+1:void 0,colSpan:o?void 0:u.colSpan,onFocus:g});var D;return o&&(x["aria-colindex"]=((D=u.colIndex)!==null&&D!==void 0?D:u.index)+1),i&&x.tabIndex!=null&&x.onPointerDown==null&&(x.onPointerDown=y=>{let $=y.currentTarget,f=$.getAttribute("tabindex");$.removeAttribute("tabindex"),requestAnimationFrame(()=>{f!=null&&$.setAttribute("tabindex",f)})}),{gridCellProps:x,isPressed:b}}function re(e){let t=null,l=null;do l=e.lastChild(),l&&(t=l);while(l);return t}function yu(e){return e&&e.__esModule?e.default:e}function xu(e,t){let{key:l}=e,u=t.selectionManager,o=pe(),n=!t.selectionManager.canSelectItem(l),i=t.selectionManager.isSelected(l),a=()=>u.toggleSelection(l);const m=_(yu(oe),"@react-aria/grid");return{checkboxProps:{id:o,"aria-label":m.format("select"),isSelected:i,isDisabled:n,onChange:a}}}class Cu extends yt{isCell(t){return t.type==="cell"||t.type==="rowheader"||t.type==="column"}getKeyBelow(t){let l=this.collection.getItem(t);if(!l)return null;if(l.type==="column"){let u=U(z(l,this.collection));if(u)return u.key;let o=this.getFirstKey();return o==null||!this.collection.getItem(o)?null:super.getKeyForItemInRowByIndex(o,l.index)}return super.getKeyBelow(t)}getKeyAbove(t){let l=this.collection.getItem(t);if(!l)return null;if(l.type==="column"){let n=l.parentKey!=null?this.collection.getItem(l.parentKey):null;return n&&n.type==="column"?n.key:null}let u=super.getKeyAbove(t),o=u!=null?this.collection.getItem(u):null;return o&&o.type!=="headerrow"?u:this.isCell(l)?this.collection.columns[l.index].key:this.collection.columns[0].key}findNextColumnKey(t){let l=this.findNextKey(t.key,o=>o.type==="column");if(l!=null)return l;let u=this.collection.headerRows[t.level];for(let o of z(u,this.collection))if(o.type==="column")return o.key;return null}findPreviousColumnKey(t){let l=this.findPreviousKey(t.key,n=>n.type==="column");if(l!=null)return l;let u=this.collection.headerRows[t.level],o=[...z(u,this.collection)];for(let n=o.length-1;n>=0;n--){let i=o[n];if(i.type==="column")return i.key}return null}getKeyRightOf(t){let l=this.collection.getItem(t);return l?l.type==="column"?this.direction==="rtl"?this.findPreviousColumnKey(l):this.findNextColumnKey(l):super.getKeyRightOf(t):null}getKeyLeftOf(t){let l=this.collection.getItem(t);return l?l.type==="column"?this.direction==="rtl"?this.findNextColumnKey(l):this.findPreviousColumnKey(l):super.getKeyLeftOf(t):null}getKeyForSearch(t,l){if(!this.collator)return null;let u=this.collection,o=l??this.getFirstKey();if(o==null)return null;let n=u.getItem(o);var i;n?.type==="cell"&&(o=(i=n.parentKey)!==null&&i!==void 0?i:null);let a=!1;for(;o!=null;){let m=u.getItem(o);if(!m)return null;if(m.textValue){let c=m.textValue.slice(0,t.length);if(this.collator.compare(c,t)===0)return m.key}for(let c of z(m,this.collection)){let d=u.columns[c.index];if(u.rowHeaderColumnKeys.has(d.key)&&c.textValue){let r=c.textValue.slice(0,t.length);if(this.collator.compare(r,t)===0){let p=l!=null?u.getItem(l):n;return p?.type==="cell"?c.key:m.key}}}o=this.getKeyBelow(o),o==null&&!a&&(o=this.getFirstKey(),a=!0)}return null}}function Du(e){return e&&e.__esModule?e.default:e}function Bu(e,t,l){let{keyboardDelegate:u,isVirtualized:o,layoutDelegate:n,layout:i}=e,a=ze({usage:"search",sensitivity:"base"}),{direction:m}=ue(),c=t.selectionManager.disabledBehavior,d=B.useMemo(()=>u||new Cu({collection:t.collection,disabledKeys:t.disabledKeys,disabledBehavior:c,ref:l,direction:m,collator:a,layoutDelegate:n,layout:i}),[u,t.collection,t.disabledKeys,c,l,m,a,n,i]),r=pe(e.id);he.set(t,r);let{gridProps:p}=vu({...e,id:r,keyboardDelegate:d},t,l);o&&(p["aria-rowcount"]=t.collection.size+t.collection.headerRows.length),le()&&"expandedKeys"in t&&(p.role="treegrid");let{column:s,direction:b}=t.sortDescriptor||{},v=_(Du(ne),"@react-aria/table"),g=B.useMemo(()=>{var D,y;let $=(y=(D=t.collection.columns.find(f=>f.key===s))===null||D===void 0?void 0:D.textValue)!==null&&y!==void 0?y:"";return b&&s?v.format(`${b}Sort`,{columnName:$}):void 0},[b,s,t.collection.columns]),x=fe(g);return Me(()=>{g&&ll(g,"assertive",500)},[g]),{gridProps:J(p,x,{"aria-describedby":[x["aria-describedby"],p["aria-describedby"]].filter(Boolean).join(" ")})}}function ku(e){return e&&e.__esModule?e.default:e}function nl(e,t,l){var u,o;let{node:n}=e,i=n.props.allowsSorting,{gridCellProps:a}=ul({...e,focusMode:"child"},t,l),m=n.props.isSelectionCell&&t.selectionManager.selectionMode==="single",{pressProps:c}=Wl({isDisabled:!i||m,onPress(){t.sort(n.key)},ref:l}),{focusableProps:d}=Gl({},l),r,p=((u=t.sortDescriptor)===null||u===void 0?void 0:u.column)===n.key,s=(o=t.sortDescriptor)===null||o===void 0?void 0:o.direction;n.props.allowsSorting&&!Ce()&&(r=p?s:"none");let b=_(ku(ne),"@react-aria/table"),v;i&&(v=`${b.format("sortable")}`,p&&s&&Ce()&&(v=`${v}, ${b.format(s)}`));let g=fe(v),x=t.collection.size===0;return B.useEffect(()=>{x&&t.selectionManager.focusedKey===n.key&&t.selectionManager.setFocusedKey(null)},[x,t.selectionManager,n.key]),{columnHeaderProps:{...J(d,a,c,g,x?{tabIndex:-1}:null),role:"columnheader",id:cu(t,n.key),"aria-colspan":n.colSpan&&n.colSpan>1?n.colSpan:void 0,"aria-sort":r}}}const Se={expand:{ltr:"ArrowRight",rtl:"ArrowLeft"},collapse:{ltr:"ArrowLeft",rtl:"ArrowRight"}};function Eu(e,t,l){let{node:u,isVirtualized:o}=e,{rowProps:n,...i}=$u(e,t,l),{direction:a}=ue();o&&!(le()&&"expandedKeys"in t)?n["aria-rowindex"]=u.index+1+t.collection.headerRows.length:delete n["aria-rowindex"];let m={};if(le()&&"expandedKeys"in t){let f=t.keyMap.get(u.key);if(f!=null){var c,d,r,p,s,b;let E=((c=f.props)===null||c===void 0?void 0:c.UNSTABLE_childItems)||((r=f.props)===null||r===void 0||(d=r.children)===null||d===void 0?void 0:d.length)>t.userColumnCount;var v,g,x,D;m={onKeyDown:S=>{(S.key===Se.expand[a]&&t.selectionManager.focusedKey===f.key&&E&&t.expandedKeys!=="all"&&!t.expandedKeys.has(f.key)||S.key===Se.collapse[a]&&t.selectionManager.focusedKey===f.key&&E&&(t.expandedKeys==="all"||t.expandedKeys.has(f.key)))&&(t.toggleKey(f.key),S.stopPropagation())},"aria-expanded":E?t.expandedKeys==="all"||t.expandedKeys.has(u.key):void 0,"aria-level":f.level,"aria-posinset":((v=f.indexOfType)!==null&&v!==void 0?v:0)+1,"aria-setsize":f.level>1?((x=(p=W((g=(s=t.keyMap.get(f.parentKey))===null||s===void 0?void 0:s.childNodes)!==null&&g!==void 0?g:[]))===null||p===void 0?void 0:p.indexOfType)!==null&&x!==void 0?x:0)+1:((D=(b=W(t.collection.body.childNodes))===null||b===void 0?void 0:b.indexOfType)!==null&&D!==void 0?D:0)+1}}}let y=Yl(u.props),$=i.hasAction?y:{};return{rowProps:{...J(n,m,$),"aria-labelledby":Re(t,u.key)},...i}}function Su(e,t,l){let{node:u,isVirtualized:o}=e,n={role:"row"};return o&&!(le()&&"expandedKeys"in t)&&(n["aria-rowindex"]=u.index+1),{rowProps:n}}function ol(e,t,l){var u;let{gridCellProps:o,isPressed:n}=ul(e,t,l),i=(u=e.node.column)===null||u===void 0?void 0:u.key;return i!=null&&t.collection.rowHeaderColumnKeys.has(i)&&(o.role="rowheader",o.id=Te(t,e.node.parentKey,i)),{gridCellProps:o,isPressed:n}}function Au(e){return e&&e.__esModule?e.default:e}function wu(e,t){let{key:l}=e;const{checkboxProps:u}=xu(e,t);return{checkboxProps:{...u,"aria-labelledby":`${u.id} ${Re(t,l)}`}}}function Nu(e){let{isEmpty:t,isSelectAll:l,selectionMode:u}=e.selectionManager;return{checkboxProps:{"aria-label":_(Au(ne),"@react-aria/table").format(u==="single"?"select":"selectAll"),isSelected:l,isDisabled:u!=="multiple"||e.collection.size===0||e.collection.rows.length===1&&e.collection.rows[0].type==="loader",isIndeterminate:!t&&!l,onChange:()=>e.selectionManager.toggleSelectAll()}}}function ge(){return gu()}var sl=T((e,t)=>{var l,u;const{as:o,className:n,node:i,slots:a,state:m,selectionMode:c,color:d,checkboxesProps:r,disableAnimation:p,classNames:s,...b}=e,v=o||"th",g=typeof v=="string",x=M(t),{columnHeaderProps:D}=nl({node:i},m,x),{isFocusVisible:y,focusProps:$}=X(),{checkboxProps:f}=Nu(m),E=K(s?.th,n,(l=i.props)==null?void 0:l.className),S=c==="single",{onChange:A,...k}=f;return h.jsx(v,{ref:x,"data-focus-visible":w(y),...I(D,$,O(i.props,{enabled:g}),O(b,{enabled:g})),className:(u=a.th)==null?void 0:u.call(a,{class:E}),children:S?h.jsx(be,{children:f["aria-label"]}):h.jsx(je,{color:d,disableAnimation:p,onValueChange:A,...I(r,k)})})});sl.displayName="HeroUI.TableSelectAllCheckbox";var il=sl;function zu(e){let{collection:t,focusMode:l}=e,u=e.UNSAFE_selectionState||Zl(e),o=B.useMemo(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),n=u.setFocusedKey;u.setFocusedKey=(m,c)=>{if(l==="cell"&&m!=null){let b=t.getItem(m);if(b?.type==="item"){var d,r;let v=z(b,t);var p,s;c==="last"?m=(p=(d=W(v))===null||d===void 0?void 0:d.key)!==null&&p!==void 0?p:null:m=(s=(r=U(v))===null||r===void 0?void 0:r.key)!==null&&s!==void 0?s:null}}n(m,c)};let i=B.useMemo(()=>new _l(t,u),[t,u]);const a=B.useRef(null);return B.useEffect(()=>{if(u.focusedKey!=null&&a.current&&!t.getItem(u.focusedKey)){const m=a.current.getItem(u.focusedKey),c=m?.parentKey!=null&&(m.type==="cell"||m.type==="rowheader"||m.type==="column")?a.current.getItem(m.parentKey):m;if(!c){u.setFocusedKey(null);return}const d=a.current.rows,r=t.rows,p=d.length-r.length;let s=Math.min(p>1?Math.max(c.index-p+1,0):c.index,r.length-1),b=null;for(;s>=0;){if(!i.isDisabled(r[s].key)&&r[s].type!=="headerrow"){b=r[s];break}sc.index&&(s=c.index),s--)}if(b){const v=b.hasChildNodes?[...z(b,t)]:[],g=b.hasChildNodes&&c!==m&&m&&m.index{let p=this.keyMap.get(r.key);t.visitNode&&(r=t.visitNode(r)),this.keyMap.set(r.key,r);let s=new Set,b=null,v=!1;if(r.type==="item"){var g;for(let f of r.childNodes)if(((g=f.props)===null||g===void 0?void 0:g.colSpan)!==void 0){v=!0;break}}for(let f of r.childNodes){if(f.type==="cell"&&v){var x,D;f.colspan=(x=f.props)===null||x===void 0?void 0:x.colSpan,f.colSpan=(D=f.props)===null||D===void 0?void 0:D.colSpan;var y,$;f.colIndex=b?((y=b.colIndex)!==null&&y!==void 0?y:b.index)+(($=b.colSpan)!==null&&$!==void 0?$:1):f.index}f.type==="cell"&&f.parentKey==null&&(f.parentKey=r.key),s.add(f.key),b?(b.nextKey=f.key,f.prevKey=b.key):f.prevKey=null,l(f),b=f}if(b&&(b.nextKey=null),p)for(let f of p.childNodes)s.has(f.key)||u(f)},u=r=>{this.keyMap.delete(r.key);for(let p of r.childNodes)this.keyMap.get(p.key)===p&&u(p)},o=null;for(let[r,p]of t.items.entries()){var n,i,a,m,c,d;let s={...p,level:(n=p.level)!==null&&n!==void 0?n:0,key:(i=p.key)!==null&&i!==void 0?i:"row-"+r,type:(a=p.type)!==null&&a!==void 0?a:"row",value:(m=p.value)!==null&&m!==void 0?m:null,hasChildNodes:!0,childNodes:[...p.childNodes],rendered:p.rendered,textValue:(c=p.textValue)!==null&&c!==void 0?c:"",index:(d=p.index)!==null&&d!==void 0?d:r};o?(o.nextKey=s.key,s.prevKey=o.key):s.prevKey=null,this.rows.push(s),l(s),o=s}o&&(o.nextKey=null)}}const rl="row-header-column-"+Math.random().toString(36).slice(2);let de="row-header-column-"+Math.random().toString(36).slice(2);for(;rl===de;)de="row-header-column-"+Math.random().toString(36).slice(2);function Pu(e,t){if(t.length===0)return[];let l=[],u=new Map;for(let d of t){let r=d.parentKey,p=[d];for(;r;){let s=e.get(r);if(!s)break;if(u.has(s)){var o,n;(n=(o=s).colSpan)!==null&&n!==void 0||(o.colSpan=0),s.colSpan++,s.colspan=s.colSpan;let{column:b,index:v}=u.get(s);if(v>p.length)break;for(let g=v;gd.length)),a=Array(i).fill(0).map(()=>[]),m=0;for(let d of l){let r=i-1;for(let p of d){if(p){let s=a[r],b=s.reduce((v,g)=>{var x;return v+((x=g.colSpan)!==null&&x!==void 0?x:1)},0);if(b0&&(s[s.length-1].nextKey=v.key,v.prevKey=s[s.length-1].key),s.push(v)}s.length>0&&(s[s.length-1].nextKey=p.key,p.prevKey=s[s.length-1].key),p.level=r,p.colIndex=m,s.push(p)}r--}m++}let c=0;for(let d of a){let r=d.reduce((p,s)=>{var b;return p+((b=s.colSpan)!==null&&b!==void 0?b:1)},0);if(r({type:"headerrow",key:"headerrow-"+r,index:r,value:null,rendered:null,level:0,hasChildNodes:!0,childNodes:d,textValue:""}))}class Ku extends Fu{*[Symbol.iterator](){yield*this.body.childNodes}get size(){return this._size}getKeys(){return this.keyMap.keys()}getKeyBefore(t){let l=this.keyMap.get(t);var u;return(u=l?.prevKey)!==null&&u!==void 0?u:null}getKeyAfter(t){let l=this.keyMap.get(t);var u;return(u=l?.nextKey)!==null&&u!==void 0?u:null}getFirstKey(){var t,l;return(l=(t=U(this.body.childNodes))===null||t===void 0?void 0:t.key)!==null&&l!==void 0?l:null}getLastKey(){var t,l;return(l=(t=W(this.body.childNodes))===null||t===void 0?void 0:t.key)!==null&&l!==void 0?l:null}getItem(t){var l;return(l=this.keyMap.get(t))!==null&&l!==void 0?l:null}at(t){const l=[...this.getKeys()];return this.getItem(l[t])}getChildren(t){return t===this.body.key?this.body.childNodes:super.getChildren(t)}getTextValue(t){let l=this.getItem(t);if(!l)return"";if(l.textValue)return l.textValue;let u=this.rowHeaderColumnKeys;if(u){let o=[];for(let n of l.childNodes){let i=this.columns[n.index];if(u.has(i.key)&&n.textValue&&o.push(n.textValue),o.length===u.size)break}return o.join(" ")}return""}constructor(t,l,u){let o=new Set,n=null,i=[];if(u?.showSelectionCheckboxes){let r={type:"column",key:rl,value:null,textValue:"",level:0,index:u?.showDragButtons?1:0,hasChildNodes:!1,rendered:null,childNodes:[],props:{isSelectionCell:!0}};i.unshift(r)}if(u?.showDragButtons){let r={type:"column",key:de,value:null,textValue:"",level:0,index:0,hasChildNodes:!1,rendered:null,childNodes:[],props:{isDragButtonCell:!0}};i.unshift(r)}let a=[],m=new Map,c=r=>{switch(r.type){case"body":n=r;break;case"column":m.set(r.key,r),r.hasChildNodes||(i.push(r),r.props.isRowHeader&&o.add(r.key));break;case"item":a.push(r);return}for(let p of r.childNodes)c(p)};for(let r of t)c(r);let d=Pu(m,i);if(d.forEach((r,p)=>a.splice(p,0,r)),super({columnCount:i.length,items:a,visitNode:r=>(r.column=i[r.index],r)}),this._size=0,this.columns=i,this.rowHeaderColumnKeys=o,this.body=n,this.headerRows=d,this._size=[...n.childNodes].length,this.rowHeaderColumnKeys.size===0){let r=this.columns.find(p=>{var s,b;return!(!((s=p.props)===null||s===void 0)&&s.isDragButtonCell)&&!(!((b=p.props)===null||b===void 0)&&b.isSelectionCell)});r&&this.rowHeaderColumnKeys.add(r.key)}}}const Iu={ascending:"descending",descending:"ascending"};function ju(e){let[t,l]=B.useState(!1),{selectionMode:u="none",showSelectionCheckboxes:o,showDragButtons:n}=e,i=B.useMemo(()=>({showSelectionCheckboxes:o&&u!=="none",showDragButtons:n,selectionMode:u,columns:[]}),[e.children,o,u,n]),a=ql(e,B.useCallback(r=>new Ku(r,null,i),[i]),i),{disabledKeys:m,selectionManager:c}=zu({...e,collection:a,disabledBehavior:e.disabledBehavior||"selection"});var d;return{collection:a,disabledKeys:m,selectionManager:c,showSelectionCheckboxes:e.showSelectionCheckboxes||!1,sortDescriptor:(d=e.sortDescriptor)!==null&&d!==void 0?d:null,isKeyboardNavigationDisabled:a.size===0||t,setKeyboardNavigationDisabled:l,sort(r,p){var s,b;(b=e.onSortChange)===null||b===void 0||b.call(e,{column:r,direction:p??(((s=e.sortDescriptor)===null||s===void 0?void 0:s.column)===r?Iu[e.sortDescriptor.direction]:"ascending")})}}}function al(e){return null}al.getCollectionNode=function*(t,l){let{children:u,columns:o}=t;if(l.columns=[],typeof u=="function"){if(!o)throw new Error("props.children was a function but props.columns is missing");for(let n of o)yield{type:"column",value:n,renderer:u}}else{let n=[];q.Children.forEach(u,i=>{n.push({type:"column",element:i})}),yield*n}};let Mu=al;function cl(e){return null}cl.getCollectionNode=function*(t){let{children:l,items:u}=t;yield{type:"body",hasChildNodes:!0,props:t,*childNodes(){if(typeof l=="function"){if(!u)throw new Error("props.children was a function but props.items is missing");for(let o of u)yield{type:"item",value:o,renderer:l}}else{let o=[];q.Children.forEach(l,n=>{o.push({type:"item",element:n})}),yield*o}}}};let Tu=cl;function dl(e){return null}dl.getCollectionNode=function*(t,l){let{title:u,children:o,childColumns:n}=t,i=u||o,a=t.textValue||(typeof i=="string"?i:"")||t["aria-label"],m=yield{type:"column",hasChildNodes:!!n||!!u&&q.Children.count(o)>0,rendered:i,textValue:a,props:t,*childNodes(){if(n)for(let d of n)yield{type:"column",value:d};else if(u){let d=[];q.Children.forEach(o,r=>{d.push({type:"column",element:r})}),yield*d}},shouldInvalidate(d){return c(d),!1}},c=d=>{for(let r of m)r.hasChildNodes||d.columns.push(r)};c(l)};let Ru=dl;function me(e){return null}me.getCollectionNode=function*(t,l){let{children:u,textValue:o,UNSTABLE_childItems:n}=t;yield{type:"item",props:t,textValue:o,"aria-label":t["aria-label"],hasChildNodes:!0,*childNodes(){if(l.showDragButtons&&(yield{type:"cell",key:"header-drag",props:{isDragButtonCell:!0}}),l.showSelectionCheckboxes&&l.selectionMode!=="none"&&(yield{type:"cell",key:"header",props:{isSelectionCell:!0}}),typeof u=="function"){for(let i of l.columns)yield{type:"cell",element:u(i.key),key:i.key};if(n)for(let i of n)yield{type:"item",value:i}}else{let i=[],a=[],m=0;if(q.Children.forEach(u,c=>{if(c.type===me){if(i.lengtha.key!==l.columns[m].key)||i.showSelectionCheckboxes!==l.showSelectionCheckboxes||i.showDragButtons!==l.showDragButtons||i.selectionMode!==l.selectionMode}}};let Vu=me;function ml(e){return null}ml.getCollectionNode=function*(t){let{children:l}=t,u=t.textValue||(typeof l=="string"?l:"")||t["aria-label"]||"";yield{type:"cell",props:t,rendered:l,textValue:u,"aria-label":t["aria-label"],hasChildNodes:!1}};let Ou=ml;function pl(e){var t;const l=Jl(),[u,o]=Fe(e,ke.variantKeys),{ref:n,as:i,baseRef:a,children:m,className:c,classNames:d,removeWrapper:r=!1,disableAnimation:p=(t=l?.disableAnimation)!=null?t:!1,isKeyboardNavigationDisabled:s=!1,selectionMode:b="none",topContentPlacement:v="inside",bottomContentPlacement:g="inside",selectionBehavior:x=b==="none"?null:"toggle",disabledBehavior:D="selection",showSelectionCheckboxes:y=b==="multiple"&&x!=="replace",BaseComponent:$="div",checkboxesProps:f,topContent:E,bottomContent:S,sortIcon:A,onRowAction:k,onCellAction:C,...N}=u,j=i||"table",F=typeof j=="string",R=M(n),Q=M(a),G=ju({...e,children:m,showSelectionCheckboxes:y});s&&!G.isKeyboardNavigationDisabled&&G.setKeyboardNavigationDisabled(!0);const{collection:se}=G,{layout:sn,...Fl}=e,{gridProps:$e}=Bu({...Fl},G,R),ee=b!=="none",ye=b==="multiple",H=B.useMemo(()=>ke({...o,isSelectable:ee,isMultiSelectable:ye}),[Pe(o),ee,ye]),xe=K(d?.base,c),Pl=B.useMemo(()=>{var P;return{state:G,slots:H,isSelectable:ee,collection:se,classNames:d,color:e?.color,disableAnimation:p,checkboxesProps:f,isHeaderSticky:(P=e?.isHeaderSticky)!=null?P:!1,selectionMode:b,selectionBehavior:x,disabledBehavior:D,showSelectionCheckboxes:y,onRowAction:k,onCellAction:C}},[H,G,se,ee,d,b,x,f,D,p,y,e?.color,e?.isHeaderSticky,k,C]),Kl=B.useCallback(P=>({...P,ref:Q,className:H.base({class:K(xe,P?.className)})}),[xe,H]),Il=B.useCallback(P=>({...P,ref:Q,className:H.wrapper({class:K(d?.wrapper,P?.className)})}),[d?.wrapper,H]),jl=B.useCallback(P=>({...I($e,O(N,{enabled:F}),P),onKeyDownCapture:void 0,ref:R,className:H.table({class:K(d?.table,P?.className)})}),[d?.table,F,H,$e,N]);return{BaseComponent:$,Component:j,children:m,state:G,collection:se,values:Pl,topContent:E,bottomContent:S,removeWrapper:r,topContentPlacement:v,bottomContentPlacement:g,sortIcon:A,getBaseProps:Kl,getWrapperProps:Il,getTableProps:jl}}var bl=T((e,t)=>{var l,u,o;const{as:n,className:i,node:a,rowKey:m,slots:c,state:d,classNames:r,...p}=e,s=n||"td",b=typeof s=="string",v=M(t),{gridCellProps:g}=ol({node:a},d,v),x=K(r?.td,i,(l=a.props)==null?void 0:l.className),{isFocusVisible:D,focusProps:y}=X(),$=d.selectionManager.isSelected(m),f=B.useMemo(()=>{const S=typeof a.rendered;return S!=="object"&&S!=="function"?h.jsx("span",{children:a.rendered}):a.rendered},[a.rendered]),E=((u=a.column)==null?void 0:u.props)||{};return h.jsx(s,{ref:v,"data-focus-visible":w(D),"data-selected":w($),...I(g,y,O(a.props,{enabled:b}),p),className:(o=c.td)==null?void 0:o.call(c,{align:E.align,class:x}),children:f})});bl.displayName="HeroUI.TableCell";var fl=bl,hl=T((e,t)=>{var l,u;const{as:o,className:n,node:i,rowKey:a,slots:m,state:c,color:d,disableAnimation:r,checkboxesProps:p,selectionMode:s,classNames:b,...v}=e,g=o||"td",x=typeof g=="string",D=M(t),{gridCellProps:y}=ol({node:i},c,D),{isFocusVisible:$,focusProps:f}=X(),{checkboxProps:E}=wu({key:i?.parentKey||i.key},c),S=K(b?.td,n,(l=i.props)==null?void 0:l.className),A=s==="single",{onChange:k,...C}=E,N=c.selectionManager.isSelected(a);return h.jsx(g,{ref:D,"data-focus-visible":w($),"data-selected":w(N),...I(y,f,O(i.props,{enabled:x}),v),className:(u=m.td)==null?void 0:u.call(m,{class:S}),children:A?h.jsx(be,{children:E["aria-label"]}):h.jsx(je,{color:d,disableAnimation:r,onValueChange:k,...I(p,C)})})});hl.displayName="HeroUI.TableCheckboxCell";var vl=hl,gl=T((e,t)=>{var l,u;const{as:o,className:n,children:i,node:a,slots:m,state:c,isSelectable:d,classNames:r,...p}=e,s=o||(e?.href?"a":"tr"),b=typeof s=="string",v=M(t),{rowProps:g}=Eu({node:a},c,v),x=K(r?.tr,n,(l=a.props)==null?void 0:l.className),{isFocusVisible:D,focusProps:y}=X(),$=c.disabledKeys.has(a.key),f=c.selectionManager.isSelected(a.key),{isHovered:E,hoverProps:S}=Ke({isDisabled:$}),{isFirst:A,isLast:k,isMiddle:C,isOdd:N}=B.useMemo(()=>{const j=a.key===c.collection.getFirstKey(),F=a.key===c.collection.getLastKey(),R=!j&&!F,Q=a?.index?(a.index+1)%2===0:!1;return{isFirst:j,isLast:F,isMiddle:R,isOdd:Q}},[a,c.collection]);return h.jsx(s,{ref:v,"data-disabled":w($),"data-first":w(A),"data-focus-visible":w(D),"data-hover":w(E),"data-last":w(k),"data-middle":w(C),"data-odd":w(N),"data-selected":w(f),...I(g,y,d?S:{},O(a.props,{enabled:b}),p),className:(u=m.tr)==null?void 0:u.call(m,{class:x}),children:i})});gl.displayName="HeroUI.TableRow";var $l=gl,yl=T((e,t)=>{var l;const{as:u,className:o,slots:n,state:i,collection:a,isSelectable:m,color:c,disableAnimation:d,checkboxesProps:r,selectionMode:p,classNames:s,rowVirtualizer:b,...v}=e,g=u||"tbody",x=typeof g=="string",D=M(t),{rowGroupProps:y}=ge(),$=K(s?.tbody,o),f=a?.body.props,E=f?.isLoading||f?.loadingState==="loading"||f?.loadingState==="loadingMore",S=[...a.body.childNodes],A=b.getVirtualItems();let k,C;return a.size===0&&f.emptyContent&&(k=h.jsx("tr",{role:"row",children:h.jsx("td",{className:n?.emptyWrapper({class:s?.emptyWrapper}),colSpan:a.columnCount,role:"gridcell",children:!E&&f.emptyContent})})),E&&f.loadingContent&&(C=h.jsxs("tr",{role:"row",children:[h.jsx("td",{className:n?.loadingWrapper({class:s?.loadingWrapper}),colSpan:a.columnCount,role:"gridcell",children:f.loadingContent}),!k&&a.size===0?h.jsx("td",{className:n?.emptyWrapper({class:s?.emptyWrapper})}):null]})),h.jsxs(g,{ref:D,...I(y,O(f,{enabled:x}),v),className:(l=n.tbody)==null?void 0:l.call(n,{class:$}),"data-empty":w(a.size===0),"data-loading":w(E),children:[A.map((N,j)=>{const F=S[N.index];return F?h.jsx($l,{classNames:s,isSelectable:m,node:F,slots:n,state:i,style:{transform:`translateY(${N.start-j*N.size}px)`,height:`${N.size}px`},children:[...F.childNodes].map(R=>R.props.isSelectionCell?h.jsx(vl,{checkboxesProps:r,classNames:s,color:c,disableAnimation:d,node:R,rowKey:F.key,selectionMode:p,slots:n,state:i},String(R.key)):h.jsx(fl,{classNames:s,node:R,rowKey:F.key,slots:n,state:i},String(R.key)))},String(F.key)):null}),C,k]})});yl.displayName="HeroUI.VirtualizedTableBody";var Hu=yl,xl=T((e,t)=>{var l,u,o,n,i;const{as:a,className:m,state:c,node:d,slots:r,classNames:p,sortIcon:s,...b}=e,v=a||"th",g=typeof v=="string",x=M(t),{columnHeaderProps:D}=nl({node:d},c,x),y=K(p?.th,m,(l=d.props)==null?void 0:l.className),{isFocusVisible:$,focusProps:f}=X(),{isHovered:E,hoverProps:S}=Ke({}),{hideHeader:A,align:k,...C}=d.props,N=C.allowsSorting,j={"aria-hidden":!0,"data-direction":(u=c.sortDescriptor)==null?void 0:u.direction,"data-visible":w(((o=c.sortDescriptor)==null?void 0:o.column)===d.key),className:(n=r.sortIcon)==null?void 0:n.call(r,{class:p?.sortIcon})},F=typeof s=="function"?s(j):B.isValidElement(s)&&B.cloneElement(s,j);return h.jsxs(v,{ref:x,colSpan:d.colspan,"data-focus-visible":w($),"data-hover":w(E),"data-sortable":w(N),...I(D,f,O(C,{enabled:g}),N?S:{},b),className:(i=r.th)==null?void 0:i.call(r,{align:k,class:y}),children:[A?h.jsx(be,{children:d.rendered}):d.rendered,N&&(F||h.jsx(su,{strokeWidth:3,...j}))]})});xl.displayName="HeroUI.TableColumnHeader";var Cl=xl,Dl=T((e,t)=>{var l,u;const{as:o,className:n,children:i,node:a,slots:m,classNames:c,state:d,...r}=e,p=o||"tr",s=typeof p=="string",b=M(t),{rowProps:v}=Su({node:a},d),g=K(c?.tr,n,(l=a.props)==null?void 0:l.className);return h.jsx(p,{ref:b,...I(v,O(a.props,{enabled:s}),r),className:(u=m.tr)==null?void 0:u.call(m,{class:g}),children:i})});Dl.displayName="HeroUI.TableHeaderRow";var Bl=Dl,kl=B.forwardRef((e,t)=>{var l;const{as:u,className:o,children:n,slots:i,classNames:a,...m}=e,c=u||"thead",d=M(t),{rowGroupProps:r}=ge(),p=K(a?.thead,o);return h.jsx(c,{ref:d,className:(l=i.thead)==null?void 0:l.call(i,{class:p}),...I(r,m),children:n})});kl.displayName="HeroUI.TableRowGroup";var El=kl,Lu={px:"1px",0:"0px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",11:"2.75rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},Ae=e=>{var t;return(t=Lu[e])!=null?t:e};function Uu(e){const[t,l]=Fe(e,Be.variantKeys),{as:u,className:o,x:n=1,y:i=1,...a}=t,m=u||"span",c=B.useMemo(()=>Be({...l,className:o}),[Pe(l),o]),d=Ae(n),r=Ae(i);return{Component:m,getSpacerProps:(s={})=>({...s,...a,"aria-hidden":w(!0),className:K(c,s.className),style:{...s.style,...a.style,marginLeft:d,marginTop:r}})}}var Sl=T((e,t)=>{const{Component:l,getSpacerProps:u}=Uu({...e});return h.jsx(l,{ref:t,...u()})});Sl.displayName="HeroUI.Spacer";var Al=Sl,wl=T((e,t)=>{const{BaseComponent:l,Component:u,collection:o,values:n,topContent:i,topContentPlacement:a,bottomContentPlacement:m,bottomContent:c,getBaseProps:d,getWrapperProps:r,getTableProps:p}=pl({...e,ref:t}),{rowHeight:s=40,maxTableHeight:b=600}=e,v=B.useCallback(({children:A})=>h.jsx(l,{...r(),ref:D,style:{height:b,display:"block"},children:A}),[r,b]),x=[...o.body.childNodes].length,D=B.useRef(null),[y,$]=B.useState(0),f=B.useRef(null);B.useLayoutEffect(()=>{f.current&&$(f.current.getBoundingClientRect().height)},[f]);const E=iu({count:x,getScrollElement:()=>D.current,estimateSize:()=>s,overscan:5}),S=p();return h.jsxs("div",{...d(),children:[a==="outside"&&i,h.jsx(v,{children:h.jsxs(h.Fragment,{children:[a==="inside"&&i,h.jsxs(u,{...S,style:{height:`calc(${E.getTotalSize()+y}px)`,...S.style},children:[h.jsxs(El,{ref:f,classNames:n.classNames,slots:n.slots,children:[o.headerRows.map(A=>h.jsx(Bl,{classNames:n.classNames,node:A,slots:n.slots,state:n.state,children:[...A.childNodes].map(k=>{var C;return(C=k?.props)!=null&&C.isSelectionCell?h.jsx(il,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,color:n.color,disableAnimation:n.disableAnimation,node:k,selectionMode:n.selectionMode,slots:n.slots,state:n.state},k?.key):h.jsx(Cl,{classNames:n.classNames,node:k,slots:n.slots,state:n.state},k?.key)})},A?.key)),h.jsx(Al,{as:"tr",tabIndex:-1,y:1})]}),h.jsx(Hu,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,collection:n.collection,color:n.color,disableAnimation:n.disableAnimation,isSelectable:n.isSelectable,rowVirtualizer:E,selectionMode:n.selectionMode,slots:n.slots,state:n.state})]}),m==="inside"&&c]})}),m==="outside"&&c]})});wl.displayName="HeroUI.VirtualizedTable";var Wu=wl,Nl=T((e,t)=>{var l;const{as:u,className:o,slots:n,state:i,collection:a,isSelectable:m,color:c,disableAnimation:d,checkboxesProps:r,selectionMode:p,classNames:s,...b}=e,v=u||"tbody",g=typeof v=="string",x=M(t),{rowGroupProps:D}=ge(),y=K(s?.tbody,o),$=a?.body.props,f=$?.isLoading||$?.loadingState==="loading"||$?.loadingState==="loadingMore",E=B.useMemo(()=>[...a.body.childNodes].map(k=>h.jsx($l,{classNames:s,isSelectable:m,node:k,slots:n,state:i,children:[...k.childNodes].map(C=>C.props.isSelectionCell?h.jsx(vl,{checkboxesProps:r,classNames:s,color:c,disableAnimation:d,node:C,rowKey:k.key,selectionMode:p,slots:n,state:i},C.key):h.jsx(fl,{classNames:s,node:C,rowKey:k.key,slots:n,state:i},C.key))},k.key)),[a.body.childNodes,s,m,n,i]);let S,A;return a.size===0&&$.emptyContent&&(S=h.jsx("tr",{role:"row",children:h.jsx("td",{className:n?.emptyWrapper({class:s?.emptyWrapper}),colSpan:a.columnCount,role:"gridcell",children:!f&&$.emptyContent})})),f&&$.loadingContent&&(A=h.jsxs("tr",{role:"row",children:[h.jsx("td",{className:n?.loadingWrapper({class:s?.loadingWrapper}),colSpan:a.columnCount,role:"gridcell",children:$.loadingContent}),!S&&a.size===0?h.jsx("td",{className:n?.emptyWrapper({class:s?.emptyWrapper})}):null]})),h.jsxs(v,{ref:x,...I(D,O($,{enabled:g}),b),className:(l=n.tbody)==null?void 0:l.call(n,{class:y}),"data-empty":w(a.size===0),"data-loading":w(f),children:[E,A,S]})});Nl.displayName="HeroUI.TableBody";var Gu=Nl,zl=T((e,t)=>{const{BaseComponent:l,Component:u,collection:o,values:n,topContent:i,topContentPlacement:a,bottomContentPlacement:m,bottomContent:c,removeWrapper:d,sortIcon:r,getBaseProps:p,getWrapperProps:s,getTableProps:b}=pl({...e,ref:t}),{isVirtualized:v,rowHeight:g=40,maxTableHeight:x=600}=e,D=v,y=B.useCallback(({children:$})=>d?$:h.jsx(l,{...s(),children:$}),[d,s]);return D?h.jsx(Wu,{...e,ref:t,maxTableHeight:x,rowHeight:g}):h.jsxs("div",{...p(),children:[a==="outside"&&i,h.jsx(y,{children:h.jsxs(h.Fragment,{children:[a==="inside"&&i,h.jsxs(u,{...b(),children:[h.jsxs(El,{classNames:n.classNames,slots:n.slots,children:[o.headerRows.map($=>h.jsx(Bl,{classNames:n.classNames,node:$,slots:n.slots,state:n.state,children:[...$.childNodes].map(f=>{var E;return(E=f?.props)!=null&&E.isSelectionCell?h.jsx(il,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,color:n.color,disableAnimation:n.disableAnimation,node:f,selectionMode:n.selectionMode,slots:n.slots,state:n.state},f?.key):h.jsx(Cl,{classNames:n.classNames,node:f,slots:n.slots,sortIcon:r,state:n.state},f?.key)})},$?.key)),h.jsx(Al,{as:"tr",tabIndex:-1,y:1})]}),h.jsx(Gu,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,collection:n.collection,color:n.color,disableAnimation:n.disableAnimation,isSelectable:n.isSelectable,selectionMode:n.selectionMode,slots:n.slots,state:n.state})]}),m==="inside"&&c]})}),m==="outside"&&c]})});zl.displayName="HeroUI.Table";var Yu=zl,Zu=Ru,_u=Zu,qu=Mu,Ju=qu,Xu=Vu,Qu=Xu,en=Tu,tn=en,ln=Ou,un=ln;const nn={n_requests:"Number Of Requests",estimated_cost:"Estimated Cost ($)"},we=["model","n_requests","prompt_tokens","completion_tokens","total_tokens","estimated_cost"];function on(e){return e.replace(/(-?)(\d*)\.?(\d*)e([+-]\d+)/,function(t,l,u,o,n){return n<0?l+"0."+Array(1-n-u.length).join("0")+o+u:l+u+o+Array(n-o.length+1).join("0")})}function dn({usage:e}){const t=Object.keys(e),{isOpen:l,onOpen:u,onClose:o}=Xl(),n=()=>{o()},i=Object.keys(e[t[0]]),a=[...we.filter(s=>s==="model"||i.includes(s)),...i.filter(s=>!we.includes(s))],m=i.reduce((s,b)=>({...s,[b]:0}),{}),c=t.reduce((s,b)=>(a.reduce((v,g)=>(g==="model"||(v[g]+=e[b][g]),v),s),s),m),d=[...a.map(s=>({key:s,label:nn[s]??De.words(s).map(De.upperFirst).join(" ")}))],r=[...t.map(s=>({model:s,...e[s]})),{model:"Total",...c}],p=h.jsxs("div",{className:"p-2",children:[h.jsxs("div",{className:"flex flex-col gap-2",children:[c.prompt_tokens!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Prompt tokens"}),h.jsx("span",{children:c.prompt_tokens})]}),c.completion_tokens!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Completion tokens"}),h.jsx("span",{children:c.completion_tokens})]}),c.total_tokens!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Total tokens"}),h.jsx("span",{children:c.total_tokens})]}),c.estimated_cost!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Estimated cost"}),h.jsxs("span",{children:[on(c.estimated_cost.toString()),"$"]})]})]}),h.jsx("p",{className:"m-auto mt-2 text-center",children:"Show detailed usage breakdown by model."})]});return h.jsxs(h.Fragment,{children:[h.jsx(Ql,{content:p,placement:"bottom",children:h.jsx(eu,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Open usage details",onPress:u,children:h.jsx(tu,{icon:"heroicons:information-circle"})})}),h.jsx(lu,{isOpen:l,onOpenChange:n,size:"4xl",children:h.jsx(uu,{children:h.jsxs(h.Fragment,{children:[h.jsx(ru,{className:"text-default-900 flex flex-col gap-1",children:"Usage details"}),h.jsx(nu,{children:h.jsxs(Yu,{"aria-label":"Table with detailed usage statistics for each model used to generate the message.",fullWidth:!0,children:[h.jsx(Ju,{columns:d,children:s=>h.jsx(_u,{children:s.label},s.key)}),h.jsx(tn,{items:r,children:s=>h.jsx(Qu,{className:s.model==="Total"?"border-default-200 border-t-1":"",children:b=>h.jsx(un,{children:ou(s,b)})},s.model)})]})})]})})})]})}export{dn as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UsageButton-dxos0384.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UsageButton-dxos0384.js new file mode 100644 index 000000000..9d688fcc4 --- /dev/null +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UsageButton-dxos0384.js @@ -0,0 +1 @@ +import{r as B,aX as Ml,aY as ae,t as Ne,k as ie,aK as z,aZ as W,a_ as U,a$ as te,b0 as Tl,aT as _,b1 as Rl,b2 as Vl,A as ze,b3 as ue,b4 as Ol,K as pe,H as Hl,J,M as Ll,b5 as L,af as Ul,b6 as Y,b7 as Z,b8 as le,U as Wl,b9 as Gl,ba as Ce,bb as Yl,l as T,R as M,W as X,Z as K,j as h,v as I,a2 as w,ap as be,au as Fe,a3 as O,w as Zl,y as _l,x as ql,a5 as q,O as Jl,Q as Pe,a0 as Ke,X as Ie,u as Xl,as as De,D as Ql,d as eu,I as tu,m as lu,e as uu,f as nu,bc as ou}from"./index-DaG4uPnK.js";import{b as fe,$ as je}from"./useSelectableItem-ChcXAf8h.js";import{C as su,u as iu}from"./index-qUEoadOF.js";import{m as ru}from"./chunk-IGSAU2ZA-Beuyhkep.js";function Me(e,t){const l=B.useRef(!0),u=B.useRef(null);B.useEffect(()=>(l.current=!0,()=>{l.current=!1}),[]),B.useEffect(()=>{let o=u.current;l.current?l.current=!1:(!o||t.some((n,i)=>!Object.is(n,o[i])))&&e(),u.current=t},t)}function au(e,t){let l=t?.isDisabled,[u,o]=B.useState(!1);return Ml(()=>{if(e?.current&&!l){let n=()=>{if(e.current){let a=ae(e.current,{tabbable:!0});o(!!a.nextNode())}};n();let i=new MutationObserver(n);return i.observe(e.current,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["tabIndex","disabled"]}),()=>{i.disconnect()}}}),l?!1:u}var Be=Ne({base:"w-px h-px inline-block",variants:{isInline:{true:"inline-block",false:"block"}},defaultVariants:{isInline:!1}}),ke=Ne({slots:{base:"flex flex-col relative gap-4",wrapper:["p-4","z-0","flex","flex-col","relative","justify-between","gap-4","shadow-small","bg-content1","overflow-auto"],table:"min-w-full h-auto",thead:"[&>tr]:first:rounded-lg",tbody:"after:block",tr:["group/tr","outline-hidden",...ie],th:["group/th","px-3","h-10","text-start","align-middle","bg-default-100","whitespace-nowrap","text-foreground-500","text-tiny","font-semibold","first:rounded-s-lg","last:rounded-e-lg","outline-hidden","data-[sortable=true]:cursor-pointer","data-[hover=true]:text-foreground-400",...ie],td:["py-2","px-3","relative","align-middle","whitespace-normal","text-small","font-normal","outline-hidden","[&>*]:z-1","[&>*]:relative",...ie,"before:pointer-events-none","before:content-['']","before:absolute","before:z-0","before:inset-0","before:opacity-0","data-[selected=true]:before:opacity-100","group-data-[disabled=true]/tr:text-foreground-300","group-data-[disabled=true]/tr:cursor-not-allowed"],tfoot:"",sortIcon:["ms-2","mb-px","opacity-0","text-inherit","inline-block","transition-transform-opacity","data-[visible=true]:opacity-100","group-data-[hover=true]/th:opacity-100","data-[direction=ascending]:rotate-180"],emptyWrapper:"text-foreground-400 align-middle text-center h-40",loadingWrapper:"absolute inset-0 flex items-center justify-center"},variants:{color:{default:{td:"before:bg-default/60 data-[selected=true]:text-default-foreground"},primary:{td:"before:bg-primary/20 data-[selected=true]:text-primary"},secondary:{td:"before:bg-secondary/20 data-[selected=true]:text-secondary"},success:{td:"before:bg-success/20 data-[selected=true]:text-success-600 dark:data-[selected=true]:text-success"},warning:{td:"before:bg-warning/20 data-[selected=true]:text-warning-600 dark:data-[selected=true]:text-warning"},danger:{td:"before:bg-danger/20 data-[selected=true]:text-danger dark:data-[selected=true]:text-danger-500"}},layout:{auto:{table:"table-auto"},fixed:{table:"table-fixed"}},shadow:{none:{wrapper:"shadow-none"},sm:{wrapper:"shadow-small"},md:{wrapper:"shadow-medium"},lg:{wrapper:"shadow-large"}},hideHeader:{true:{thead:"hidden"}},isStriped:{true:{td:["group-data-[odd=true]/tr:before:bg-default-100","group-data-[odd=true]/tr:before:opacity-100","group-data-[odd=true]/tr:before:-z-10"]}},isCompact:{true:{td:"py-1"},false:{}},isHeaderSticky:{true:{thead:"sticky top-0 z-20 [&>tr]:first:shadow-small"}},isSelectable:{true:{tr:"cursor-default",td:["group-aria-[selected=false]/tr:group-data-[hover=true]/tr:before:bg-default-100","group-aria-[selected=false]/tr:group-data-[hover=true]/tr:before:opacity-70"]}},isMultiSelectable:{true:{td:["group-data-[first=true]/tr:first:before:rounded-ss-lg","group-data-[first=true]/tr:last:before:rounded-se-lg","group-data-[middle=true]/tr:before:rounded-none","group-data-[last=true]/tr:first:before:rounded-es-lg","group-data-[last=true]/tr:last:before:rounded-ee-lg"]},false:{td:["first:before:rounded-s-lg","last:before:rounded-e-lg"]}},radius:{none:{wrapper:"rounded-none",th:["first:rounded-s-none","first:before:rounded-s-none","last:rounded-e-none","last:before:rounded-e-none"],td:["first:before:rounded-s-none","last:before:rounded-e-none","group-data-[first=true]/tr:first:before:rounded-ss-none","group-data-[first=true]/tr:last:before:rounded-se-none","group-data-[last=true]/tr:first:before:rounded-es-none","group-data-[last=true]/tr:last:before:rounded-ee-none"]},sm:{wrapper:"rounded-small"},md:{wrapper:"rounded-medium"},lg:{wrapper:"rounded-large"}},fullWidth:{true:{base:"w-full",wrapper:"w-full",table:"w-full"}},align:{start:{th:"text-start",td:"text-start"},center:{th:"text-center",td:"text-center"},end:{th:"text-end",td:"text-end"}}},defaultVariants:{layout:"auto",shadow:"sm",radius:"lg",color:"default",isCompact:!1,hideHeader:!1,isStriped:!1,fullWidth:!0,align:"start"},compoundVariants:[{isStriped:!0,color:"default",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-default/60"}},{isStriped:!0,color:"primary",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-primary/20"}},{isStriped:!0,color:"secondary",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-secondary/20"}},{isStriped:!0,color:"success",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-success/20"}},{isStriped:!0,color:"warning",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-warning/20"}},{isStriped:!0,color:"danger",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-danger/20"}}]});const he=new WeakMap;function ce(e){return typeof e=="string"?e.replace(/\s*/g,""):""+e}function cu(e,t){let l=he.get(e);if(!l)throw new Error("Unknown grid");return`${l}-${ce(t)}`}function Te(e,t,l){let u=he.get(e);if(!u)throw new Error("Unknown grid");return`${u}-${ce(t)}-${ce(l)}`}function Re(e,t){return[...e.collection.rowHeaderColumnKeys].map(l=>Te(e,t,l)).join(" ")}var Ve={};Ve={ascending:"تصاعدي",ascendingSort:e=>`ترتيب حسب العمود ${e.columnName} بترتيب تصاعدي`,columnSize:e=>`${e.value} بالبكسل`,descending:"تنازلي",descendingSort:e=>`ترتيب حسب العمود ${e.columnName} بترتيب تنازلي`,resizerDescription:"اضغط على مفتاح Enter لبدء تغيير الحجم",select:"تحديد",selectAll:"تحديد الكل",sortable:"عمود قابل للترتيب"};var Oe={};Oe={ascending:"възходящ",ascendingSort:e=>`сортирано по колона ${e.columnName} във възходящ ред`,columnSize:e=>`${e.value} пиксела`,descending:"низходящ",descendingSort:e=>`сортирано по колона ${e.columnName} в низходящ ред`,resizerDescription:"Натиснете „Enter“, за да започнете да преоразмерявате",select:"Изберете",selectAll:"Изберете всичко",sortable:"сортираща колона"};var He={};He={ascending:"vzestupně",ascendingSort:e=>`řazeno vzestupně podle sloupce ${e.columnName}`,columnSize:e=>`${e.value} pixelů`,descending:"sestupně",descendingSort:e=>`řazeno sestupně podle sloupce ${e.columnName}`,resizerDescription:"Stisknutím klávesy Enter začnete měnit velikost",select:"Vybrat",selectAll:"Vybrat vše",sortable:"sloupec s možností řazení"};var Le={};Le={ascending:"stigende",ascendingSort:e=>`sorteret efter kolonne ${e.columnName} i stigende rækkefølge`,columnSize:e=>`${e.value} pixels`,descending:"faldende",descendingSort:e=>`sorteret efter kolonne ${e.columnName} i faldende rækkefølge`,resizerDescription:"Tryk på Enter for at ændre størrelse",select:"Vælg",selectAll:"Vælg alle",sortable:"sorterbar kolonne"};var Ue={};Ue={ascending:"aufsteigend",ascendingSort:e=>`sortiert nach Spalte ${e.columnName} in aufsteigender Reihenfolge`,columnSize:e=>`${e.value} Pixel`,descending:"absteigend",descendingSort:e=>`sortiert nach Spalte ${e.columnName} in absteigender Reihenfolge`,resizerDescription:"Eingabetaste zum Starten der Größenänderung drücken",select:"Auswählen",selectAll:"Alles auswählen",sortable:"sortierbare Spalte"};var We={};We={ascending:"αύξουσα",ascendingSort:e=>`διαλογή ανά στήλη ${e.columnName} σε αύξουσα σειρά`,columnSize:e=>`${e.value} pixel`,descending:"φθίνουσα",descendingSort:e=>`διαλογή ανά στήλη ${e.columnName} σε φθίνουσα σειρά`,resizerDescription:"Πατήστε Enter για έναρξη της αλλαγής μεγέθους",select:"Επιλογή",selectAll:"Επιλογή όλων",sortable:"Στήλη διαλογής"};var Ge={};Ge={select:"Select",selectAll:"Select All",sortable:"sortable column",ascending:"ascending",descending:"descending",ascendingSort:e=>`sorted by column ${e.columnName} in ascending order`,descendingSort:e=>`sorted by column ${e.columnName} in descending order`,columnSize:e=>`${e.value} pixels`,resizerDescription:"Press Enter to start resizing"};var Ye={};Ye={ascending:"ascendente",ascendingSort:e=>`ordenado por columna ${e.columnName} en sentido ascendente`,columnSize:e=>`${e.value} píxeles`,descending:"descendente",descendingSort:e=>`ordenado por columna ${e.columnName} en orden descendente`,resizerDescription:"Pulse Intro para empezar a redimensionar",select:"Seleccionar",selectAll:"Seleccionar todos",sortable:"columna ordenable"};var Ze={};Ze={ascending:"tõusev järjestus",ascendingSort:e=>`sorditud veeru järgi ${e.columnName} tõusvas järjestuses`,columnSize:e=>`${e.value} pikslit`,descending:"laskuv järjestus",descendingSort:e=>`sorditud veeru järgi ${e.columnName} laskuvas järjestuses`,resizerDescription:"Suuruse muutmise alustamiseks vajutage klahvi Enter",select:"Vali",selectAll:"Vali kõik",sortable:"sorditav veerg"};var _e={};_e={ascending:"nouseva",ascendingSort:e=>`lajiteltu sarakkeen ${e.columnName} mukaan nousevassa järjestyksessä`,columnSize:e=>`${e.value} pikseliä`,descending:"laskeva",descendingSort:e=>`lajiteltu sarakkeen ${e.columnName} mukaan laskevassa järjestyksessä`,resizerDescription:"Aloita koon muutos painamalla Enter-näppäintä",select:"Valitse",selectAll:"Valitse kaikki",sortable:"lajiteltava sarake"};var qe={};qe={ascending:"croissant",ascendingSort:e=>`trié en fonction de la colonne ${e.columnName} par ordre croissant`,columnSize:e=>`${e.value} pixels`,descending:"décroissant",descendingSort:e=>`trié en fonction de la colonne ${e.columnName} par ordre décroissant`,resizerDescription:"Appuyez sur Entrée pour commencer le redimensionnement.",select:"Sélectionner",selectAll:"Sélectionner tout",sortable:"colonne triable"};var Je={};Je={ascending:"עולה",ascendingSort:e=>`מוין לפי עמודה ${e.columnName} בסדר עולה`,columnSize:e=>`${e.value} פיקסלים`,descending:"יורד",descendingSort:e=>`מוין לפי עמודה ${e.columnName} בסדר יורד`,resizerDescription:"הקש Enter כדי לשנות את הגודל",select:"בחר",selectAll:"בחר הכול",sortable:"עמודה שניתן למיין"};var Xe={};Xe={ascending:"rastući",ascendingSort:e=>`razvrstano po stupcima ${e.columnName} rastućem redoslijedom`,columnSize:e=>`${e.value} piksela`,descending:"padajući",descendingSort:e=>`razvrstano po stupcima ${e.columnName} padajućim redoslijedom`,resizerDescription:"Pritisnite Enter da biste započeli promenu veličine",select:"Odaberite",selectAll:"Odaberite sve",sortable:"stupac koji se može razvrstati"};var Qe={};Qe={ascending:"növekvő",ascendingSort:e=>`rendezve a(z) ${e.columnName} oszlop szerint, növekvő sorrendben`,columnSize:e=>`${e.value} képpont`,descending:"csökkenő",descendingSort:e=>`rendezve a(z) ${e.columnName} oszlop szerint, csökkenő sorrendben`,resizerDescription:"Nyomja le az Enter billentyűt az átméretezés megkezdéséhez",select:"Kijelölés",selectAll:"Összes kijelölése",sortable:"rendezendő oszlop"};var et={};et={ascending:"crescente",ascendingSort:e=>`in ordine crescente in base alla colonna ${e.columnName}`,columnSize:e=>`${e.value} pixel`,descending:"decrescente",descendingSort:e=>`in ordine decrescente in base alla colonna ${e.columnName}`,resizerDescription:"Premi Invio per iniziare a ridimensionare",select:"Seleziona",selectAll:"Seleziona tutto",sortable:"colonna ordinabile"};var tt={};tt={ascending:"昇順",ascendingSort:e=>`列 ${e.columnName} を昇順で並べ替え`,columnSize:e=>`${e.value} ピクセル`,descending:"降順",descendingSort:e=>`列 ${e.columnName} を降順で並べ替え`,resizerDescription:"Enter キーを押してサイズ変更を開始",select:"選択",selectAll:"すべて選択",sortable:"並べ替え可能な列"};var lt={};lt={ascending:"오름차순",ascendingSort:e=>`${e.columnName} 열을 기준으로 오름차순으로 정렬됨`,columnSize:e=>`${e.value} 픽셀`,descending:"내림차순",descendingSort:e=>`${e.columnName} 열을 기준으로 내림차순으로 정렬됨`,resizerDescription:"크기 조정을 시작하려면 Enter를 누르세요.",select:"선택",selectAll:"모두 선택",sortable:"정렬 가능한 열"};var ut={};ut={ascending:"didėjančia tvarka",ascendingSort:e=>`surikiuota pagal stulpelį ${e.columnName} didėjančia tvarka`,columnSize:e=>`${e.value} piks.`,descending:"mažėjančia tvarka",descendingSort:e=>`surikiuota pagal stulpelį ${e.columnName} mažėjančia tvarka`,resizerDescription:"Paspauskite „Enter“, kad pradėtumėte keisti dydį",select:"Pasirinkti",selectAll:"Pasirinkti viską",sortable:"rikiuojamas stulpelis"};var nt={};nt={ascending:"augošā secībā",ascendingSort:e=>`kārtots pēc kolonnas ${e.columnName} augošā secībā`,columnSize:e=>`${e.value} pikseļi`,descending:"dilstošā secībā",descendingSort:e=>`kārtots pēc kolonnas ${e.columnName} dilstošā secībā`,resizerDescription:"Nospiediet Enter, lai sāktu izmēru mainīšanu",select:"Atlasīt",selectAll:"Atlasīt visu",sortable:"kārtojamā kolonna"};var ot={};ot={ascending:"stigende",ascendingSort:e=>`sortert etter kolonne ${e.columnName} i stigende rekkefølge`,columnSize:e=>`${e.value} piksler`,descending:"synkende",descendingSort:e=>`sortert etter kolonne ${e.columnName} i synkende rekkefølge`,resizerDescription:"Trykk på Enter for å starte størrelsesendring",select:"Velg",selectAll:"Velg alle",sortable:"kolonne som kan sorteres"};var st={};st={ascending:"oplopend",ascendingSort:e=>`gesorteerd in oplopende volgorde in kolom ${e.columnName}`,columnSize:e=>`${e.value} pixels`,descending:"aflopend",descendingSort:e=>`gesorteerd in aflopende volgorde in kolom ${e.columnName}`,resizerDescription:"Druk op Enter om het formaat te wijzigen",select:"Selecteren",selectAll:"Alles selecteren",sortable:"sorteerbare kolom"};var it={};it={ascending:"rosnąco",ascendingSort:e=>`posortowano według kolumny ${e.columnName} w porządku rosnącym`,columnSize:e=>`Liczba pikseli: ${e.value}`,descending:"malejąco",descendingSort:e=>`posortowano według kolumny ${e.columnName} w porządku malejącym`,resizerDescription:"Naciśnij Enter, aby rozpocząć zmienianie rozmiaru",select:"Zaznacz",selectAll:"Zaznacz wszystko",sortable:"kolumna z możliwością sortowania"};var rt={};rt={ascending:"crescente",ascendingSort:e=>`classificado pela coluna ${e.columnName} em ordem crescente`,columnSize:e=>`${e.value} pixels`,descending:"decrescente",descendingSort:e=>`classificado pela coluna ${e.columnName} em ordem decrescente`,resizerDescription:"Pressione Enter para começar a redimensionar",select:"Selecionar",selectAll:"Selecionar tudo",sortable:"coluna classificável"};var at={};at={ascending:"ascendente",ascendingSort:e=>`Ordenar por coluna ${e.columnName} em ordem ascendente`,columnSize:e=>`${e.value} pixels`,descending:"descendente",descendingSort:e=>`Ordenar por coluna ${e.columnName} em ordem descendente`,resizerDescription:"Prima Enter para iniciar o redimensionamento",select:"Selecionar",selectAll:"Selecionar tudo",sortable:"Coluna ordenável"};var ct={};ct={ascending:"crescătoare",ascendingSort:e=>`sortate după coloana ${e.columnName} în ordine crescătoare`,columnSize:e=>`${e.value} pixeli`,descending:"descrescătoare",descendingSort:e=>`sortate după coloana ${e.columnName} în ordine descrescătoare`,resizerDescription:"Apăsați pe Enter pentru a începe redimensionarea",select:"Selectare",selectAll:"Selectare totală",sortable:"coloană sortabilă"};var dt={};dt={ascending:"возрастание",ascendingSort:e=>`сортировать столбец ${e.columnName} в порядке возрастания`,columnSize:e=>`${e.value} пикс.`,descending:"убывание",descendingSort:e=>`сортировать столбец ${e.columnName} в порядке убывания`,resizerDescription:"Нажмите клавишу Enter для начала изменения размеров",select:"Выбрать",selectAll:"Выбрать все",sortable:"сортируемый столбец"};var mt={};mt={ascending:"vzostupne",ascendingSort:e=>`zoradené zostupne podľa stĺpca ${e.columnName}`,columnSize:e=>`Počet pixelov: ${e.value}`,descending:"zostupne",descendingSort:e=>`zoradené zostupne podľa stĺpca ${e.columnName}`,resizerDescription:"Stlačením klávesu Enter začnete zmenu veľkosti",select:"Vybrať",selectAll:"Vybrať všetko",sortable:"zoraditeľný stĺpec"};var pt={};pt={ascending:"naraščajoče",ascendingSort:e=>`razvrščeno po stolpcu ${e.columnName} v naraščajočem vrstnem redu`,columnSize:e=>`${e.value} slikovnih pik`,descending:"padajoče",descendingSort:e=>`razvrščeno po stolpcu ${e.columnName} v padajočem vrstnem redu`,resizerDescription:"Pritisnite tipko Enter da začnete spreminjati velikost",select:"Izberite",selectAll:"Izberite vse",sortable:"razvrstljivi stolpec"};var bt={};bt={ascending:"rastući",ascendingSort:e=>`sortirano po kolonama ${e.columnName} rastućim redosledom`,columnSize:e=>`${e.value} piksela`,descending:"padajući",descendingSort:e=>`sortirano po kolonama ${e.columnName} padajućim redosledom`,resizerDescription:"Pritisnite Enter da biste započeli promenu veličine",select:"Izaberite",selectAll:"Izaberite sve",sortable:"kolona koja se može sortirati"};var ft={};ft={ascending:"stigande",ascendingSort:e=>`sorterat på kolumn ${e.columnName} i stigande ordning`,columnSize:e=>`${e.value} pixlar`,descending:"fallande",descendingSort:e=>`sorterat på kolumn ${e.columnName} i fallande ordning`,resizerDescription:"Tryck på Retur för att börja ändra storlek",select:"Markera",selectAll:"Markera allt",sortable:"sorterbar kolumn"};var ht={};ht={ascending:"artan sırada",ascendingSort:e=>`${e.columnName} sütuna göre artan düzende sırala`,columnSize:e=>`${e.value} piksel`,descending:"azalan sırada",descendingSort:e=>`${e.columnName} sütuna göre azalan düzende sırala`,resizerDescription:"Yeniden boyutlandırmak için Enter'a basın",select:"Seç",selectAll:"Tümünü Seç",sortable:"Sıralanabilir sütun"};var vt={};vt={ascending:"висхідний",ascendingSort:e=>`відсортовано за стовпцем ${e.columnName} у висхідному порядку`,columnSize:e=>`${e.value} пікс.`,descending:"низхідний",descendingSort:e=>`відсортовано за стовпцем ${e.columnName} у низхідному порядку`,resizerDescription:"Натисніть Enter, щоб почати зміну розміру",select:"Вибрати",selectAll:"Вибрати все",sortable:"сортувальний стовпець"};var gt={};gt={ascending:"升序",ascendingSort:e=>`按列 ${e.columnName} 升序排序`,columnSize:e=>`${e.value} 像素`,descending:"降序",descendingSort:e=>`按列 ${e.columnName} 降序排序`,resizerDescription:"按“输入”键开始调整大小。",select:"选择",selectAll:"全选",sortable:"可排序的列"};var $t={};$t={ascending:"遞增",ascendingSort:e=>`已依據「${e.columnName}」欄遞增排序`,columnSize:e=>`${e.value} 像素`,descending:"遞減",descendingSort:e=>`已依據「${e.columnName}」欄遞減排序`,resizerDescription:"按 Enter 鍵以開始調整大小",select:"選取",selectAll:"全選",sortable:"可排序的欄"};var ne={};ne={"ar-AE":Ve,"bg-BG":Oe,"cs-CZ":He,"da-DK":Le,"de-DE":Ue,"el-GR":We,"en-US":Ge,"es-ES":Ye,"et-EE":Ze,"fi-FI":_e,"fr-FR":qe,"he-IL":Je,"hr-HR":Xe,"hu-HU":Qe,"it-IT":et,"ja-JP":tt,"ko-KR":lt,"lt-LT":ut,"lv-LV":nt,"nb-NO":ot,"nl-NL":st,"pl-PL":it,"pt-BR":rt,"pt-PT":at,"ro-RO":ct,"ru-RU":dt,"sk-SK":mt,"sl-SI":pt,"sr-SP":bt,"sv-SE":ft,"tr-TR":ht,"uk-UA":vt,"zh-CN":gt,"zh-TW":$t};class yt{isCell(t){return t.type==="cell"}isRow(t){return t.type==="row"||t.type==="item"}isDisabled(t){var l;return this.disabledBehavior==="all"&&(((l=t.props)===null||l===void 0?void 0:l.isDisabled)||this.disabledKeys.has(t.key))}findPreviousKey(t,l){let u=t!=null?this.collection.getKeyBefore(t):this.collection.getLastKey();for(;u!=null;){let o=this.collection.getItem(u);if(!o)return null;if(!this.isDisabled(o)&&(!l||l(o)))return u;u=this.collection.getKeyBefore(u)}return null}findNextKey(t,l){let u=t!=null?this.collection.getKeyAfter(t):this.collection.getFirstKey();for(;u!=null;){let o=this.collection.getItem(u);if(!o)return null;if(!this.isDisabled(o)&&(!l||l(o)))return u;if(u=this.collection.getKeyAfter(u),u==null)return null}return null}getKeyForItemInRowByIndex(t,l=0){if(l<0)return null;let u=this.collection.getItem(t);if(!u)return null;let o=0;for(let a of z(u,this.collection)){var n;if(a.colSpan&&a.colSpan+o>l)return(n=a.key)!==null&&n!==void 0?n:null;a.colSpan&&(o=o+a.colSpan-1);var i;if(o===l)return(i=a.key)!==null&&i!==void 0?i:null;o++}return null}getKeyBelow(t){let l=t,u=this.collection.getItem(l);if(!u)return null;var o;if(this.isCell(u)&&(l=(o=u.parentKey)!==null&&o!==void 0?o:null),l==null)return null;if(l=this.findNextKey(l,n=>n.type==="item"),l!=null){if(this.isCell(u)){let n=u.colIndex?u.colIndex:u.index;return this.getKeyForItemInRowByIndex(l,n)}if(this.focusMode==="row")return l}return null}getKeyAbove(t){let l=t,u=this.collection.getItem(l);if(!u)return null;var o;if(this.isCell(u)&&(l=(o=u.parentKey)!==null&&o!==void 0?o:null),l==null)return null;if(l=this.findPreviousKey(l,n=>n.type==="item"),l!=null){if(this.isCell(u)){let n=u.colIndex?u.colIndex:u.index;return this.getKeyForItemInRowByIndex(l,n)}if(this.focusMode==="row")return l}return null}getKeyRightOf(t){let l=this.collection.getItem(t);if(!l)return null;if(this.isRow(l)){var u,o;let d=z(l,this.collection);var n;return(n=this.direction==="rtl"?(u=W(d))===null||u===void 0?void 0:u.key:(o=U(d))===null||o===void 0?void 0:o.key)!==null&&n!==void 0?n:null}if(this.isCell(l)&&l.parentKey!=null){let d=this.collection.getItem(l.parentKey);if(!d)return null;let r=z(d,this.collection);var i;let p=(i=this.direction==="rtl"?te(r,l.index-1):te(r,l.index+1))!==null&&i!==void 0?i:null;var a;if(p)return(a=p.key)!==null&&a!==void 0?a:null;var m;if(this.focusMode==="row")return(m=l.parentKey)!==null&&m!==void 0?m:null;var c;return(c=this.direction==="rtl"?this.getFirstKey(t):this.getLastKey(t))!==null&&c!==void 0?c:null}return null}getKeyLeftOf(t){let l=this.collection.getItem(t);if(!l)return null;if(this.isRow(l)){var u,o;let d=z(l,this.collection);var n;return(n=this.direction==="rtl"?(u=U(d))===null||u===void 0?void 0:u.key:(o=W(d))===null||o===void 0?void 0:o.key)!==null&&n!==void 0?n:null}if(this.isCell(l)&&l.parentKey!=null){let d=this.collection.getItem(l.parentKey);if(!d)return null;let r=z(d,this.collection);var i;let p=(i=this.direction==="rtl"?te(r,l.index+1):te(r,l.index-1))!==null&&i!==void 0?i:null;var a;if(p)return(a=p.key)!==null&&a!==void 0?a:null;var m;if(this.focusMode==="row")return(m=l.parentKey)!==null&&m!==void 0?m:null;var c;return(c=this.direction==="rtl"?this.getLastKey(t):this.getFirstKey(t))!==null&&c!==void 0?c:null}return null}getFirstKey(t,l){let u=t??null,o;if(u!=null){if(o=this.collection.getItem(u),!o)return null;if(this.isCell(o)&&!l&&o.parentKey!=null){var n;let c=this.collection.getItem(o.parentKey);if(!c)return null;var i;return(i=(n=U(z(c,this.collection)))===null||n===void 0?void 0:n.key)!==null&&i!==void 0?i:null}}if(u=this.findNextKey(void 0,c=>c.type==="item"),u!=null&&(o&&this.isCell(o)&&l||this.focusMode==="cell")){var a;let c=this.collection.getItem(u);if(!c)return null;var m;u=(m=(a=U(z(c,this.collection)))===null||a===void 0?void 0:a.key)!==null&&m!==void 0?m:null}return u}getLastKey(t,l){let u=t??null,o;if(u!=null){if(o=this.collection.getItem(u),!o)return null;if(this.isCell(o)&&!l&&o.parentKey!=null){var n;let c=this.collection.getItem(o.parentKey);if(!c)return null;let d=z(c,this.collection);var i;return(i=(n=W(d))===null||n===void 0?void 0:n.key)!==null&&i!==void 0?i:null}}if(u=this.findPreviousKey(void 0,c=>c.type==="item"),u!=null&&(o&&this.isCell(o)&&l||this.focusMode==="cell")){var a;let c=this.collection.getItem(u);if(!c)return null;let d=z(c,this.collection);var m;u=(m=(a=W(d))===null||a===void 0?void 0:a.key)!==null&&m!==void 0?m:null}return u}getKeyPageAbove(t){let l=t,u=this.layoutDelegate.getItemRect(l);if(!u)return null;let o=Math.max(0,u.y+u.height-this.layoutDelegate.getVisibleRect().height);for(;u&&u.y>o&&l!=null;){var n;if(l=(n=this.getKeyAbove(l))!==null&&n!==void 0?n:null,l==null)break;u=this.layoutDelegate.getItemRect(l)}return l}getKeyPageBelow(t){let l=t,u=this.layoutDelegate.getItemRect(l);if(!u)return null;let o=this.layoutDelegate.getVisibleRect().height,n=Math.min(this.layoutDelegate.getContentSize().height,u.y+o);for(;u&&u.y+u.heightr.type==="item"),u==null&&!a&&(u=this.getFirstKey(),a=!0)}return null}constructor(t){if(this.collection=t.collection,this.disabledKeys=t.disabledKeys,this.disabledBehavior=t.disabledBehavior||"all",this.direction=t.direction,this.collator=t.collator,!t.layout&&!t.ref)throw new Error("Either a layout or a ref must be specified.");this.layoutDelegate=t.layoutDelegate||(t.layout?new du(t.layout):new Tl(t.ref)),this.focusMode=t.focusMode||"row"}}class du{getContentSize(){return this.layout.getContentSize()}getItemRect(t){var l;return((l=this.layout.getLayoutInfo(t))===null||l===void 0?void 0:l.rect)||null}getVisibleRect(){return this.layout.virtualizer.visibleRect}constructor(t){this.layout=t}}const ve=new WeakMap;var xt={};xt={deselectedItem:e=>`${e.item} غير المحدد`,longPressToSelect:"اضغط مطولًا للدخول إلى وضع التحديد.",select:"تحديد",selectedAll:"جميع العناصر المحددة.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"لم يتم تحديد عناصر",one:()=>`${t.number(e.count)} عنصر محدد`,other:()=>`${t.number(e.count)} عنصر محدد`})}.`,selectedItem:e=>`${e.item} المحدد`};var Ct={};Ct={deselectedItem:e=>`${e.item} не е избран.`,longPressToSelect:"Натиснете и задръжте за да влезете в избирателен режим.",select:"Изберете",selectedAll:"Всички елементи са избрани.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Няма избрани елементи",one:()=>`${t.number(e.count)} избран елемент`,other:()=>`${t.number(e.count)} избрани елементи`})}.`,selectedItem:e=>`${e.item} избран.`};var Dt={};Dt={deselectedItem:e=>`Položka ${e.item} není vybrána.`,longPressToSelect:"Dlouhým stisknutím přejdete do režimu výběru.",select:"Vybrat",selectedAll:"Vybrány všechny položky.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nevybrány žádné položky",one:()=>`Vybrána ${t.number(e.count)} položka`,other:()=>`Vybráno ${t.number(e.count)} položek`})}.`,selectedItem:e=>`Vybrána položka ${e.item}.`};var Bt={};Bt={deselectedItem:e=>`${e.item} ikke valgt.`,longPressToSelect:"Lav et langt tryk for at aktivere valgtilstand.",select:"Vælg",selectedAll:"Alle elementer valgt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ingen elementer valgt",one:()=>`${t.number(e.count)} element valgt`,other:()=>`${t.number(e.count)} elementer valgt`})}.`,selectedItem:e=>`${e.item} valgt.`};var kt={};kt={deselectedItem:e=>`${e.item} nicht ausgewählt.`,longPressToSelect:"Gedrückt halten, um Auswahlmodus zu öffnen.",select:"Auswählen",selectedAll:"Alle Elemente ausgewählt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Keine Elemente ausgewählt",one:()=>`${t.number(e.count)} Element ausgewählt`,other:()=>`${t.number(e.count)} Elemente ausgewählt`})}.`,selectedItem:e=>`${e.item} ausgewählt.`};var Et={};Et={deselectedItem:e=>`Δεν επιλέχθηκε το στοιχείο ${e.item}.`,longPressToSelect:"Πατήστε παρατεταμένα για να μπείτε σε λειτουργία επιλογής.",select:"Επιλογή",selectedAll:"Επιλέχθηκαν όλα τα στοιχεία.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Δεν επιλέχθηκαν στοιχεία",one:()=>`Επιλέχθηκε ${t.number(e.count)} στοιχείο`,other:()=>`Επιλέχθηκαν ${t.number(e.count)} στοιχεία`})}.`,selectedItem:e=>`Επιλέχθηκε το στοιχείο ${e.item}.`};var St={};St={deselectedItem:e=>`${e.item} not selected.`,select:"Select",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"No items selected",one:()=>`${t.number(e.count)} item selected`,other:()=>`${t.number(e.count)} items selected`})}.`,selectedAll:"All items selected.",selectedItem:e=>`${e.item} selected.`,longPressToSelect:"Long press to enter selection mode."};var At={};At={deselectedItem:e=>`${e.item} no seleccionado.`,longPressToSelect:"Mantenga pulsado para abrir el modo de selección.",select:"Seleccionar",selectedAll:"Todos los elementos seleccionados.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ningún elemento seleccionado",one:()=>`${t.number(e.count)} elemento seleccionado`,other:()=>`${t.number(e.count)} elementos seleccionados`})}.`,selectedItem:e=>`${e.item} seleccionado.`};var wt={};wt={deselectedItem:e=>`${e.item} pole valitud.`,longPressToSelect:"Valikurežiimi sisenemiseks vajutage pikalt.",select:"Vali",selectedAll:"Kõik üksused valitud.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Üksusi pole valitud",one:()=>`${t.number(e.count)} üksus valitud`,other:()=>`${t.number(e.count)} üksust valitud`})}.`,selectedItem:e=>`${e.item} valitud.`};var Nt={};Nt={deselectedItem:e=>`Kohdetta ${e.item} ei valittu.`,longPressToSelect:"Siirry valintatilaan painamalla pitkään.",select:"Valitse",selectedAll:"Kaikki kohteet valittu.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ei yhtään kohdetta valittu",one:()=>`${t.number(e.count)} kohde valittu`,other:()=>`${t.number(e.count)} kohdetta valittu`})}.`,selectedItem:e=>`${e.item} valittu.`};var zt={};zt={deselectedItem:e=>`${e.item} non sélectionné.`,longPressToSelect:"Appuyez de manière prolongée pour passer en mode de sélection.",select:"Sélectionner",selectedAll:"Tous les éléments sélectionnés.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Aucun élément sélectionné",one:()=>`${t.number(e.count)} élément sélectionné`,other:()=>`${t.number(e.count)} éléments sélectionnés`})}.`,selectedItem:e=>`${e.item} sélectionné.`};var Ft={};Ft={deselectedItem:e=>`${e.item} לא נבחר.`,longPressToSelect:"הקשה ארוכה לכניסה למצב בחירה.",select:"בחר",selectedAll:"כל הפריטים נבחרו.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"לא נבחרו פריטים",one:()=>`פריט ${t.number(e.count)} נבחר`,other:()=>`${t.number(e.count)} פריטים נבחרו`})}.`,selectedItem:e=>`${e.item} נבחר.`};var Pt={};Pt={deselectedItem:e=>`Stavka ${e.item} nije odabrana.`,longPressToSelect:"Dugo pritisnite za ulazak u način odabira.",select:"Odaberite",selectedAll:"Odabrane su sve stavke.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nije odabrana nijedna stavka",one:()=>`Odabrana je ${t.number(e.count)} stavka`,other:()=>`Odabrano je ${t.number(e.count)} stavki`})}.`,selectedItem:e=>`Stavka ${e.item} je odabrana.`};var Kt={};Kt={deselectedItem:e=>`${e.item} nincs kijelölve.`,longPressToSelect:"Nyomja hosszan a kijelöléshez.",select:"Kijelölés",selectedAll:"Az összes elem kijelölve.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Egy elem sincs kijelölve",one:()=>`${t.number(e.count)} elem kijelölve`,other:()=>`${t.number(e.count)} elem kijelölve`})}.`,selectedItem:e=>`${e.item} kijelölve.`};var It={};It={deselectedItem:e=>`${e.item} non selezionato.`,longPressToSelect:"Premi a lungo per passare alla modalità di selezione.",select:"Seleziona",selectedAll:"Tutti gli elementi selezionati.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nessun elemento selezionato",one:()=>`${t.number(e.count)} elemento selezionato`,other:()=>`${t.number(e.count)} elementi selezionati`})}.`,selectedItem:e=>`${e.item} selezionato.`};var jt={};jt={deselectedItem:e=>`${e.item} が選択されていません。`,longPressToSelect:"長押しして選択モードを開きます。",select:"選択",selectedAll:"すべての項目を選択しました。",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"項目が選択されていません",one:()=>`${t.number(e.count)} 項目を選択しました`,other:()=>`${t.number(e.count)} 項目を選択しました`})}。`,selectedItem:e=>`${e.item} を選択しました。`};var Mt={};Mt={deselectedItem:e=>`${e.item}이(가) 선택되지 않았습니다.`,longPressToSelect:"선택 모드로 들어가려면 길게 누르십시오.",select:"선택",selectedAll:"모든 항목이 선택되었습니다.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"선택된 항목이 없습니다",one:()=>`${t.number(e.count)}개 항목이 선택되었습니다`,other:()=>`${t.number(e.count)}개 항목이 선택되었습니다`})}.`,selectedItem:e=>`${e.item}이(가) 선택되었습니다.`};var Tt={};Tt={deselectedItem:e=>`${e.item} nepasirinkta.`,longPressToSelect:"Norėdami įjungti pasirinkimo režimą, paspauskite ir palaikykite.",select:"Pasirinkti",selectedAll:"Pasirinkti visi elementai.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nepasirinktas nė vienas elementas",one:()=>`Pasirinktas ${t.number(e.count)} elementas`,other:()=>`Pasirinkta elementų: ${t.number(e.count)}`})}.`,selectedItem:e=>`Pasirinkta: ${e.item}.`};var Rt={};Rt={deselectedItem:e=>`Vienums ${e.item} nav atlasīts.`,longPressToSelect:"Ilgi turiet nospiestu. lai ieslēgtu atlases režīmu.",select:"Atlasīt",selectedAll:"Atlasīti visi vienumi.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nav atlasīts neviens vienums",one:()=>`Atlasīto vienumu skaits: ${t.number(e.count)}`,other:()=>`Atlasīto vienumu skaits: ${t.number(e.count)}`})}.`,selectedItem:e=>`Atlasīts vienums ${e.item}.`};var Vt={};Vt={deselectedItem:e=>`${e.item} er ikke valgt.`,longPressToSelect:"Bruk et langt trykk for å gå inn i valgmodus.",select:"Velg",selectedAll:"Alle elementer er valgt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ingen elementer er valgt",one:()=>`${t.number(e.count)} element er valgt`,other:()=>`${t.number(e.count)} elementer er valgt`})}.`,selectedItem:e=>`${e.item} er valgt.`};var Ot={};Ot={deselectedItem:e=>`${e.item} niet geselecteerd.`,longPressToSelect:"Druk lang om de selectiemodus te openen.",select:"Selecteren",selectedAll:"Alle items geselecteerd.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Geen items geselecteerd",one:()=>`${t.number(e.count)} item geselecteerd`,other:()=>`${t.number(e.count)} items geselecteerd`})}.`,selectedItem:e=>`${e.item} geselecteerd.`};var Ht={};Ht={deselectedItem:e=>`Nie zaznaczono ${e.item}.`,longPressToSelect:"Naciśnij i przytrzymaj, aby wejść do trybu wyboru.",select:"Zaznacz",selectedAll:"Wszystkie zaznaczone elementy.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nie zaznaczono żadnych elementów",one:()=>`${t.number(e.count)} zaznaczony element`,other:()=>`${t.number(e.count)} zaznaczonych elementów`})}.`,selectedItem:e=>`Zaznaczono ${e.item}.`};var Lt={};Lt={deselectedItem:e=>`${e.item} não selecionado.`,longPressToSelect:"Mantenha pressionado para entrar no modo de seleção.",select:"Selecionar",selectedAll:"Todos os itens selecionados.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nenhum item selecionado",one:()=>`${t.number(e.count)} item selecionado`,other:()=>`${t.number(e.count)} itens selecionados`})}.`,selectedItem:e=>`${e.item} selecionado.`};var Ut={};Ut={deselectedItem:e=>`${e.item} não selecionado.`,longPressToSelect:"Prima continuamente para entrar no modo de seleção.",select:"Selecionar",selectedAll:"Todos os itens selecionados.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nenhum item selecionado",one:()=>`${t.number(e.count)} item selecionado`,other:()=>`${t.number(e.count)} itens selecionados`})}.`,selectedItem:e=>`${e.item} selecionado.`};var Wt={};Wt={deselectedItem:e=>`${e.item} neselectat.`,longPressToSelect:"Apăsați lung pentru a intra în modul de selectare.",select:"Selectare",selectedAll:"Toate elementele selectate.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Niciun element selectat",one:()=>`${t.number(e.count)} element selectat`,other:()=>`${t.number(e.count)} elemente selectate`})}.`,selectedItem:e=>`${e.item} selectat.`};var Gt={};Gt={deselectedItem:e=>`${e.item} не выбрано.`,longPressToSelect:"Нажмите и удерживайте для входа в режим выбора.",select:"Выбрать",selectedAll:"Выбраны все элементы.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Нет выбранных элементов",one:()=>`${t.number(e.count)} элемент выбран`,other:()=>`${t.number(e.count)} элементов выбрано`})}.`,selectedItem:e=>`${e.item} выбрано.`};var Yt={};Yt={deselectedItem:e=>`Nevybraté položky: ${e.item}.`,longPressToSelect:"Dlhším stlačením prejdite do režimu výberu.",select:"Vybrať",selectedAll:"Všetky vybraté položky.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Žiadne vybraté položky",one:()=>`${t.number(e.count)} vybratá položka`,other:()=>`Počet vybratých položiek:${t.number(e.count)}`})}.`,selectedItem:e=>`Vybraté položky: ${e.item}.`};var Zt={};Zt={deselectedItem:e=>`Element ${e.item} ni izbran.`,longPressToSelect:"Za izbirni način pritisnite in dlje časa držite.",select:"Izberite",selectedAll:"Vsi elementi so izbrani.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Noben element ni izbran",one:()=>`${t.number(e.count)} element je izbran`,other:()=>`${t.number(e.count)} elementov je izbranih`})}.`,selectedItem:e=>`Element ${e.item} je izbran.`};var _t={};_t={deselectedItem:e=>`${e.item} nije izabrano.`,longPressToSelect:"Dugo pritisnite za ulazak u režim biranja.",select:"Izaberite",selectedAll:"Izabrane su sve stavke.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nije izabrana nijedna stavka",one:()=>`Izabrana je ${t.number(e.count)} stavka`,other:()=>`Izabrano je ${t.number(e.count)} stavki`})}.`,selectedItem:e=>`${e.item} je izabrano.`};var qt={};qt={deselectedItem:e=>`${e.item} ej markerat.`,longPressToSelect:"Tryck länge när du vill öppna väljarläge.",select:"Markera",selectedAll:"Alla markerade objekt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Inga markerade objekt",one:()=>`${t.number(e.count)} markerat objekt`,other:()=>`${t.number(e.count)} markerade objekt`})}.`,selectedItem:e=>`${e.item} markerat.`};var Jt={};Jt={deselectedItem:e=>`${e.item} seçilmedi.`,longPressToSelect:"Seçim moduna girmek için uzun basın.",select:"Seç",selectedAll:"Tüm ögeler seçildi.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Hiçbir öge seçilmedi",one:()=>`${t.number(e.count)} öge seçildi`,other:()=>`${t.number(e.count)} öge seçildi`})}.`,selectedItem:e=>`${e.item} seçildi.`};var Xt={};Xt={deselectedItem:e=>`${e.item} не вибрано.`,longPressToSelect:"Виконайте довге натиснення, щоб перейти в режим вибору.",select:"Вибрати",selectedAll:"Усі елементи вибрано.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Жодних елементів не вибрано",one:()=>`${t.number(e.count)} елемент вибрано`,other:()=>`Вибрано елементів: ${t.number(e.count)}`})}.`,selectedItem:e=>`${e.item} вибрано.`};var Qt={};Qt={deselectedItem:e=>`未选择 ${e.item}。`,longPressToSelect:"长按以进入选择模式。",select:"选择",selectedAll:"已选择所有项目。",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"未选择项目",one:()=>`已选择 ${t.number(e.count)} 个项目`,other:()=>`已选择 ${t.number(e.count)} 个项目`})}。`,selectedItem:e=>`已选择 ${e.item}。`};var el={};el={deselectedItem:e=>`未選取「${e.item}」。`,longPressToSelect:"長按以進入選擇模式。",select:"選取",selectedAll:"已選取所有項目。",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"未選取任何項目",one:()=>`已選取 ${t.number(e.count)} 個項目`,other:()=>`已選取 ${t.number(e.count)} 個項目`})}。`,selectedItem:e=>`已選取「${e.item}」。`};var oe={};oe={"ar-AE":xt,"bg-BG":Ct,"cs-CZ":Dt,"da-DK":Bt,"de-DE":kt,"el-GR":Et,"en-US":St,"es-ES":At,"et-EE":wt,"fi-FI":Nt,"fr-FR":zt,"he-IL":Ft,"hr-HR":Pt,"hu-HU":Kt,"it-IT":It,"ja-JP":jt,"ko-KR":Mt,"lt-LT":Tt,"lv-LV":Rt,"nb-NO":Vt,"nl-NL":Ot,"pl-PL":Ht,"pt-BR":Lt,"pt-PT":Ut,"ro-RO":Wt,"ru-RU":Gt,"sk-SK":Yt,"sl-SI":Zt,"sr-SP":_t,"sv-SE":qt,"tr-TR":Jt,"uk-UA":Xt,"zh-CN":Qt,"zh-TW":el};const tl=7e3;let V=null;function ll(e,t="assertive",l=tl){V?V.announce(e,t,l):(V=new mu,(typeof IS_REACT_ACT_ENVIRONMENT=="boolean"?IS_REACT_ACT_ENVIRONMENT:typeof jest<"u")?V.announce(e,t,l):setTimeout(()=>{V?.isAttached()&&V?.announce(e,t,l)},100))}class mu{isAttached(){var t;return(t=this.node)===null||t===void 0?void 0:t.isConnected}createLog(t){let l=document.createElement("div");return l.setAttribute("role","log"),l.setAttribute("aria-live",t),l.setAttribute("aria-relevant","additions"),l}destroy(){this.node&&(document.body.removeChild(this.node),this.node=null)}announce(t,l="assertive",u=tl){var o,n;if(!this.node)return;let i=document.createElement("div");typeof t=="object"?(i.setAttribute("role","img"),i.setAttribute("aria-labelledby",t["aria-labelledby"])):i.textContent=t,l==="assertive"?(o=this.assertiveLog)===null||o===void 0||o.appendChild(i):(n=this.politeLog)===null||n===void 0||n.appendChild(i),t!==""&&setTimeout(()=>{i.remove()},u)}clear(t){this.node&&((!t||t==="assertive")&&this.assertiveLog&&(this.assertiveLog.innerHTML=""),(!t||t==="polite")&&this.politeLog&&(this.politeLog.innerHTML=""))}constructor(){this.node=null,this.assertiveLog=null,this.politeLog=null,typeof document<"u"&&(this.node=document.createElement("div"),this.node.dataset.liveAnnouncer="true",Object.assign(this.node.style,{border:0,clip:"rect(0 0 0 0)",clipPath:"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"}),this.assertiveLog=this.createLog("assertive"),this.node.appendChild(this.assertiveLog),this.politeLog=this.createLog("polite"),this.node.appendChild(this.politeLog),document.body.prepend(this.node))}}function pu(e){return e&&e.__esModule?e.default:e}function bu(e,t){let{getRowText:l=a=>{var m,c,d,r;return(r=(m=(c=t.collection).getTextValue)===null||m===void 0?void 0:m.call(c,a))!==null&&r!==void 0?r:(d=t.collection.getItem(a))===null||d===void 0?void 0:d.textValue}}=e,u=_(pu(oe),"@react-aria/grid"),o=t.selectionManager.rawSelection,n=B.useRef(o),i=Rl(()=>{var a;if(!t.selectionManager.isFocused||o===n.current){n.current=o;return}let m=Ee(o,n.current),c=Ee(n.current,o),d=t.selectionManager.selectionBehavior==="replace",r=[];if(t.selectionManager.selectedKeys.size===1&&d){let p=t.selectionManager.selectedKeys.keys().next().value;if(p!=null&&t.collection.getItem(p)){let s=l(p);s&&r.push(u.format("selectedItem",{item:s}))}}else if(m.size===1&&c.size===0){let p=m.keys().next().value;if(p!=null){let s=l(p);s&&r.push(u.format("selectedItem",{item:s}))}}else if(c.size===1&&m.size===0){let p=c.keys().next().value;if(p!=null&&t.collection.getItem(p)){let s=l(p);s&&r.push(u.format("deselectedItem",{item:s}))}}t.selectionManager.selectionMode==="multiple"&&(r.length===0||o==="all"||o.size>1||n.current==="all"||((a=n.current)===null||a===void 0?void 0:a.size)>1)&&r.push(o==="all"?u.format("selectedAll"):u.format("selectedCount",{count:o.size})),r.length>0&&ll(r.join(" ")),n.current=o});Me(()=>{if(t.selectionManager.isFocused)i();else{let a=requestAnimationFrame(i);return()=>cancelAnimationFrame(a)}},[o,t.selectionManager.isFocused])}function Ee(e,t){let l=new Set;if(e==="all"||t==="all")return l;for(let u of e.keys())t.has(u)||l.add(u);return l}function fu(e){return e&&e.__esModule?e.default:e}function hu(e){let t=_(fu(oe),"@react-aria/grid"),l=Vl(),u=(l==="pointer"||l==="virtual"||l==null)&&typeof window<"u"&&"ontouchstart"in window,o=B.useMemo(()=>{let i=e.selectionManager.selectionMode,a=e.selectionManager.selectionBehavior,m;return u&&(m=t.format("longPressToSelect")),a==="replace"&&i!=="none"&&e.hasItemActions?m:void 0},[e.selectionManager.selectionMode,e.selectionManager.selectionBehavior,e.hasItemActions,t,u]);return fe(o)}function vu(e,t,l){let{isVirtualized:u,disallowTypeAhead:o,keyboardDelegate:n,focusMode:i,scrollRef:a,getRowText:m,onRowAction:c,onCellAction:d,escapeKeyBehavior:r="clearSelection",shouldSelectOnPressUp:p}=e,{selectionManager:s}=t;!e["aria-label"]&&!e["aria-labelledby"]&&console.warn("An aria-label or aria-labelledby prop is required for accessibility.");let b=ze({usage:"search",sensitivity:"base"}),{direction:v}=ue(),g=t.selectionManager.disabledBehavior,x=B.useMemo(()=>n||new yt({collection:t.collection,disabledKeys:t.disabledKeys,disabledBehavior:g,ref:l,direction:v,collator:b,focusMode:i}),[n,t.collection,t.disabledKeys,g,l,v,b,i]),{collectionProps:D}=Ol({ref:l,selectionManager:s,keyboardDelegate:x,isVirtualized:u,scrollRef:a,disallowTypeAhead:o,escapeKeyBehavior:r}),y=pe(e.id);ve.set(t,{keyboardDelegate:x,actions:{onRowAction:c,onCellAction:d},shouldSelectOnPressUp:p});let $=hu({selectionManager:s,hasItemActions:!!(c||d)}),f=Hl(e,{labelable:!0}),E=B.useCallback(C=>{if(s.isFocused){C.currentTarget.contains(C.target)||s.setFocused(!1);return}C.currentTarget.contains(C.target)&&s.setFocused(!0)},[s]),S=B.useMemo(()=>({onBlur:D.onBlur,onFocus:E}),[E,D.onBlur]),A=au(l,{isDisabled:t.collection.size!==0}),k=J(f,{role:"grid",id:y,"aria-multiselectable":s.selectionMode==="multiple"?"true":void 0},t.isKeyboardNavigationDisabled?S:D,t.collection.size===0&&{tabIndex:A?-1:0}||void 0,$);return u&&(k["aria-rowcount"]=t.collection.size,k["aria-colcount"]=t.collection.columnCount),bu({getRowText:m},t),{gridProps:k}}function gu(){return{rowGroupProps:{role:"rowgroup"}}}function $u(e,t,l){var u,o;let{node:n,isVirtualized:i,shouldSelectOnPressUp:a,onAction:m}=e,{actions:c,shouldSelectOnPressUp:d}=ve.get(t),r=c.onRowAction?()=>{var g;return(g=c.onRowAction)===null||g===void 0?void 0:g.call(c,n.key)}:m,{itemProps:p,...s}=je({selectionManager:t.selectionManager,key:n.key,ref:l,isVirtualized:i,shouldSelectOnPressUp:d||a,onAction:r||!(n==null||(u=n.props)===null||u===void 0)&&u.onAction?Ll(n==null||(o=n.props)===null||o===void 0?void 0:o.onAction,r):void 0,isDisabled:t.collection.size===0}),b=t.selectionManager.isSelected(n.key),v={role:"row","aria-selected":t.selectionManager.selectionMode!=="none"?b:void 0,"aria-disabled":s.isDisabled||void 0,...p};return i&&(v["aria-rowindex"]=n.index+1),{rowProps:v,...s}}function ul(e,t,l){let{node:u,isVirtualized:o,focusMode:n="child",shouldSelectOnPressUp:i,onAction:a}=e,{direction:m}=ue(),{keyboardDelegate:c,actions:{onCellAction:d}}=ve.get(t),r=B.useRef(null),p=()=>{if(l.current){let y=ae(l.current);if(n==="child"){if(l.current.contains(document.activeElement)&&l.current!==document.activeElement)return;let $=t.selectionManager.childFocusStrategy==="last"?re(y):y.firstChild();if($){L($);return}}(r.current!=null&&u.key!==r.current||!l.current.contains(document.activeElement))&&L(l.current)}},{itemProps:s,isPressed:b}=je({selectionManager:t.selectionManager,key:u.key,ref:l,isVirtualized:o,focus:p,shouldSelectOnPressUp:i,onAction:d?()=>d(u.key):a,isDisabled:t.collection.size===0}),v=y=>{if(!y.currentTarget.contains(y.target)||t.isKeyboardNavigationDisabled||!l.current||!document.activeElement)return;let $=ae(l.current);switch($.currentNode=document.activeElement,y.key){case"ArrowLeft":{let C=m==="rtl"?$.nextNode():$.previousNode();if(n==="child"&&C===l.current&&(C=null),y.preventDefault(),y.stopPropagation(),C)L(C),Y(C,{containingElement:Z(l.current)});else{var f;if(((f=c.getKeyLeftOf)===null||f===void 0?void 0:f.call(c,u.key))!==u.key){var E;(E=l.current.parentElement)===null||E===void 0||E.dispatchEvent(new KeyboardEvent(y.nativeEvent.type,y.nativeEvent));break}n==="cell"&&m==="rtl"?(L(l.current),Y(l.current,{containingElement:Z(l.current)})):($.currentNode=l.current,C=m==="rtl"?$.firstChild():re($),C&&(L(C),Y(C,{containingElement:Z(l.current)})))}break}case"ArrowRight":{let C=m==="rtl"?$.previousNode():$.nextNode();if(n==="child"&&C===l.current&&(C=null),y.preventDefault(),y.stopPropagation(),C)L(C),Y(C,{containingElement:Z(l.current)});else{var S;if(((S=c.getKeyRightOf)===null||S===void 0?void 0:S.call(c,u.key))!==u.key){var A;(A=l.current.parentElement)===null||A===void 0||A.dispatchEvent(new KeyboardEvent(y.nativeEvent.type,y.nativeEvent));break}n==="cell"&&m==="ltr"?(L(l.current),Y(l.current,{containingElement:Z(l.current)})):($.currentNode=l.current,C=m==="rtl"?re($):$.firstChild(),C&&(L(C),Y(C,{containingElement:Z(l.current)})))}break}case"ArrowUp":case"ArrowDown":if(!y.altKey&&l.current.contains(y.target)){var k;y.stopPropagation(),y.preventDefault(),(k=l.current.parentElement)===null||k===void 0||k.dispatchEvent(new KeyboardEvent(y.nativeEvent.type,y.nativeEvent))}break}},g=y=>{if(r.current=u.key,y.target!==l.current){Ul()||t.selectionManager.setFocusedKey(u.key);return}requestAnimationFrame(()=>{n==="child"&&document.activeElement===l.current&&p()})},x=J(s,{role:"gridcell",onKeyDownCapture:v,"aria-colspan":u.colSpan,"aria-colindex":u.colIndex!=null?u.colIndex+1:void 0,colSpan:o?void 0:u.colSpan,onFocus:g});var D;return o&&(x["aria-colindex"]=((D=u.colIndex)!==null&&D!==void 0?D:u.index)+1),i&&x.tabIndex!=null&&x.onPointerDown==null&&(x.onPointerDown=y=>{let $=y.currentTarget,f=$.getAttribute("tabindex");$.removeAttribute("tabindex"),requestAnimationFrame(()=>{f!=null&&$.setAttribute("tabindex",f)})}),{gridCellProps:x,isPressed:b}}function re(e){let t=null,l=null;do l=e.lastChild(),l&&(t=l);while(l);return t}function yu(e){return e&&e.__esModule?e.default:e}function xu(e,t){let{key:l}=e,u=t.selectionManager,o=pe(),n=!t.selectionManager.canSelectItem(l),i=t.selectionManager.isSelected(l),a=()=>u.toggleSelection(l);const m=_(yu(oe),"@react-aria/grid");return{checkboxProps:{id:o,"aria-label":m.format("select"),isSelected:i,isDisabled:n,onChange:a}}}class Cu extends yt{isCell(t){return t.type==="cell"||t.type==="rowheader"||t.type==="column"}getKeyBelow(t){let l=this.collection.getItem(t);if(!l)return null;if(l.type==="column"){let u=U(z(l,this.collection));if(u)return u.key;let o=this.getFirstKey();return o==null||!this.collection.getItem(o)?null:super.getKeyForItemInRowByIndex(o,l.index)}return super.getKeyBelow(t)}getKeyAbove(t){let l=this.collection.getItem(t);if(!l)return null;if(l.type==="column"){let n=l.parentKey!=null?this.collection.getItem(l.parentKey):null;return n&&n.type==="column"?n.key:null}let u=super.getKeyAbove(t),o=u!=null?this.collection.getItem(u):null;return o&&o.type!=="headerrow"?u:this.isCell(l)?this.collection.columns[l.index].key:this.collection.columns[0].key}findNextColumnKey(t){let l=this.findNextKey(t.key,o=>o.type==="column");if(l!=null)return l;let u=this.collection.headerRows[t.level];for(let o of z(u,this.collection))if(o.type==="column")return o.key;return null}findPreviousColumnKey(t){let l=this.findPreviousKey(t.key,n=>n.type==="column");if(l!=null)return l;let u=this.collection.headerRows[t.level],o=[...z(u,this.collection)];for(let n=o.length-1;n>=0;n--){let i=o[n];if(i.type==="column")return i.key}return null}getKeyRightOf(t){let l=this.collection.getItem(t);return l?l.type==="column"?this.direction==="rtl"?this.findPreviousColumnKey(l):this.findNextColumnKey(l):super.getKeyRightOf(t):null}getKeyLeftOf(t){let l=this.collection.getItem(t);return l?l.type==="column"?this.direction==="rtl"?this.findNextColumnKey(l):this.findPreviousColumnKey(l):super.getKeyLeftOf(t):null}getKeyForSearch(t,l){if(!this.collator)return null;let u=this.collection,o=l??this.getFirstKey();if(o==null)return null;let n=u.getItem(o);var i;n?.type==="cell"&&(o=(i=n.parentKey)!==null&&i!==void 0?i:null);let a=!1;for(;o!=null;){let m=u.getItem(o);if(!m)return null;if(m.textValue){let c=m.textValue.slice(0,t.length);if(this.collator.compare(c,t)===0)return m.key}for(let c of z(m,this.collection)){let d=u.columns[c.index];if(u.rowHeaderColumnKeys.has(d.key)&&c.textValue){let r=c.textValue.slice(0,t.length);if(this.collator.compare(r,t)===0){let p=l!=null?u.getItem(l):n;return p?.type==="cell"?c.key:m.key}}}o=this.getKeyBelow(o),o==null&&!a&&(o=this.getFirstKey(),a=!0)}return null}}function Du(e){return e&&e.__esModule?e.default:e}function Bu(e,t,l){let{keyboardDelegate:u,isVirtualized:o,layoutDelegate:n,layout:i}=e,a=ze({usage:"search",sensitivity:"base"}),{direction:m}=ue(),c=t.selectionManager.disabledBehavior,d=B.useMemo(()=>u||new Cu({collection:t.collection,disabledKeys:t.disabledKeys,disabledBehavior:c,ref:l,direction:m,collator:a,layoutDelegate:n,layout:i}),[u,t.collection,t.disabledKeys,c,l,m,a,n,i]),r=pe(e.id);he.set(t,r);let{gridProps:p}=vu({...e,id:r,keyboardDelegate:d},t,l);o&&(p["aria-rowcount"]=t.collection.size+t.collection.headerRows.length),le()&&"expandedKeys"in t&&(p.role="treegrid");let{column:s,direction:b}=t.sortDescriptor||{},v=_(Du(ne),"@react-aria/table"),g=B.useMemo(()=>{var D,y;let $=(y=(D=t.collection.columns.find(f=>f.key===s))===null||D===void 0?void 0:D.textValue)!==null&&y!==void 0?y:"";return b&&s?v.format(`${b}Sort`,{columnName:$}):void 0},[b,s,t.collection.columns]),x=fe(g);return Me(()=>{g&&ll(g,"assertive",500)},[g]),{gridProps:J(p,x,{"aria-describedby":[x["aria-describedby"],p["aria-describedby"]].filter(Boolean).join(" ")})}}function ku(e){return e&&e.__esModule?e.default:e}function nl(e,t,l){var u,o;let{node:n}=e,i=n.props.allowsSorting,{gridCellProps:a}=ul({...e,focusMode:"child"},t,l),m=n.props.isSelectionCell&&t.selectionManager.selectionMode==="single",{pressProps:c}=Wl({isDisabled:!i||m,onPress(){t.sort(n.key)},ref:l}),{focusableProps:d}=Gl({},l),r,p=((u=t.sortDescriptor)===null||u===void 0?void 0:u.column)===n.key,s=(o=t.sortDescriptor)===null||o===void 0?void 0:o.direction;n.props.allowsSorting&&!Ce()&&(r=p?s:"none");let b=_(ku(ne),"@react-aria/table"),v;i&&(v=`${b.format("sortable")}`,p&&s&&Ce()&&(v=`${v}, ${b.format(s)}`));let g=fe(v),x=t.collection.size===0;return B.useEffect(()=>{x&&t.selectionManager.focusedKey===n.key&&t.selectionManager.setFocusedKey(null)},[x,t.selectionManager,n.key]),{columnHeaderProps:{...J(d,a,c,g,x?{tabIndex:-1}:null),role:"columnheader",id:cu(t,n.key),"aria-colspan":n.colSpan&&n.colSpan>1?n.colSpan:void 0,"aria-sort":r}}}const Se={expand:{ltr:"ArrowRight",rtl:"ArrowLeft"},collapse:{ltr:"ArrowLeft",rtl:"ArrowRight"}};function Eu(e,t,l){let{node:u,isVirtualized:o}=e,{rowProps:n,...i}=$u(e,t,l),{direction:a}=ue();o&&!(le()&&"expandedKeys"in t)?n["aria-rowindex"]=u.index+1+t.collection.headerRows.length:delete n["aria-rowindex"];let m={};if(le()&&"expandedKeys"in t){let f=t.keyMap.get(u.key);if(f!=null){var c,d,r,p,s,b;let E=((c=f.props)===null||c===void 0?void 0:c.UNSTABLE_childItems)||((r=f.props)===null||r===void 0||(d=r.children)===null||d===void 0?void 0:d.length)>t.userColumnCount;var v,g,x,D;m={onKeyDown:S=>{(S.key===Se.expand[a]&&t.selectionManager.focusedKey===f.key&&E&&t.expandedKeys!=="all"&&!t.expandedKeys.has(f.key)||S.key===Se.collapse[a]&&t.selectionManager.focusedKey===f.key&&E&&(t.expandedKeys==="all"||t.expandedKeys.has(f.key)))&&(t.toggleKey(f.key),S.stopPropagation())},"aria-expanded":E?t.expandedKeys==="all"||t.expandedKeys.has(u.key):void 0,"aria-level":f.level,"aria-posinset":((v=f.indexOfType)!==null&&v!==void 0?v:0)+1,"aria-setsize":f.level>1?((x=(p=W((g=(s=t.keyMap.get(f.parentKey))===null||s===void 0?void 0:s.childNodes)!==null&&g!==void 0?g:[]))===null||p===void 0?void 0:p.indexOfType)!==null&&x!==void 0?x:0)+1:((D=(b=W(t.collection.body.childNodes))===null||b===void 0?void 0:b.indexOfType)!==null&&D!==void 0?D:0)+1}}}let y=Yl(u.props),$=i.hasAction?y:{};return{rowProps:{...J(n,m,$),"aria-labelledby":Re(t,u.key)},...i}}function Su(e,t,l){let{node:u,isVirtualized:o}=e,n={role:"row"};return o&&!(le()&&"expandedKeys"in t)&&(n["aria-rowindex"]=u.index+1),{rowProps:n}}function ol(e,t,l){var u;let{gridCellProps:o,isPressed:n}=ul(e,t,l),i=(u=e.node.column)===null||u===void 0?void 0:u.key;return i!=null&&t.collection.rowHeaderColumnKeys.has(i)&&(o.role="rowheader",o.id=Te(t,e.node.parentKey,i)),{gridCellProps:o,isPressed:n}}function Au(e){return e&&e.__esModule?e.default:e}function wu(e,t){let{key:l}=e;const{checkboxProps:u}=xu(e,t);return{checkboxProps:{...u,"aria-labelledby":`${u.id} ${Re(t,l)}`}}}function Nu(e){let{isEmpty:t,isSelectAll:l,selectionMode:u}=e.selectionManager;return{checkboxProps:{"aria-label":_(Au(ne),"@react-aria/table").format(u==="single"?"select":"selectAll"),isSelected:l,isDisabled:u!=="multiple"||e.collection.size===0||e.collection.rows.length===1&&e.collection.rows[0].type==="loader",isIndeterminate:!t&&!l,onChange:()=>e.selectionManager.toggleSelectAll()}}}function ge(){return gu()}var sl=T((e,t)=>{var l,u;const{as:o,className:n,node:i,slots:a,state:m,selectionMode:c,color:d,checkboxesProps:r,disableAnimation:p,classNames:s,...b}=e,v=o||"th",g=typeof v=="string",x=M(t),{columnHeaderProps:D}=nl({node:i},m,x),{isFocusVisible:y,focusProps:$}=X(),{checkboxProps:f}=Nu(m),E=K(s?.th,n,(l=i.props)==null?void 0:l.className),S=c==="single",{onChange:A,...k}=f;return h.jsx(v,{ref:x,"data-focus-visible":w(y),...I(D,$,O(i.props,{enabled:g}),O(b,{enabled:g})),className:(u=a.th)==null?void 0:u.call(a,{class:E}),children:S?h.jsx(be,{children:f["aria-label"]}):h.jsx(Fe,{color:d,disableAnimation:p,onValueChange:A,...I(r,k)})})});sl.displayName="HeroUI.TableSelectAllCheckbox";var il=sl;function zu(e){let{collection:t,focusMode:l}=e,u=e.UNSAFE_selectionState||Zl(e),o=B.useMemo(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),n=u.setFocusedKey;u.setFocusedKey=(m,c)=>{if(l==="cell"&&m!=null){let b=t.getItem(m);if(b?.type==="item"){var d,r;let v=z(b,t);var p,s;c==="last"?m=(p=(d=W(v))===null||d===void 0?void 0:d.key)!==null&&p!==void 0?p:null:m=(s=(r=U(v))===null||r===void 0?void 0:r.key)!==null&&s!==void 0?s:null}}n(m,c)};let i=B.useMemo(()=>new _l(t,u),[t,u]);const a=B.useRef(null);return B.useEffect(()=>{if(u.focusedKey!=null&&a.current&&!t.getItem(u.focusedKey)){const m=a.current.getItem(u.focusedKey),c=m?.parentKey!=null&&(m.type==="cell"||m.type==="rowheader"||m.type==="column")?a.current.getItem(m.parentKey):m;if(!c){u.setFocusedKey(null);return}const d=a.current.rows,r=t.rows,p=d.length-r.length;let s=Math.min(p>1?Math.max(c.index-p+1,0):c.index,r.length-1),b=null;for(;s>=0;){if(!i.isDisabled(r[s].key)&&r[s].type!=="headerrow"){b=r[s];break}sc.index&&(s=c.index),s--)}if(b){const v=b.hasChildNodes?[...z(b,t)]:[],g=b.hasChildNodes&&c!==m&&m&&m.index{let p=this.keyMap.get(r.key);t.visitNode&&(r=t.visitNode(r)),this.keyMap.set(r.key,r);let s=new Set,b=null,v=!1;if(r.type==="item"){var g;for(let f of r.childNodes)if(((g=f.props)===null||g===void 0?void 0:g.colSpan)!==void 0){v=!0;break}}for(let f of r.childNodes){if(f.type==="cell"&&v){var x,D;f.colspan=(x=f.props)===null||x===void 0?void 0:x.colSpan,f.colSpan=(D=f.props)===null||D===void 0?void 0:D.colSpan;var y,$;f.colIndex=b?((y=b.colIndex)!==null&&y!==void 0?y:b.index)+(($=b.colSpan)!==null&&$!==void 0?$:1):f.index}f.type==="cell"&&f.parentKey==null&&(f.parentKey=r.key),s.add(f.key),b?(b.nextKey=f.key,f.prevKey=b.key):f.prevKey=null,l(f),b=f}if(b&&(b.nextKey=null),p)for(let f of p.childNodes)s.has(f.key)||u(f)},u=r=>{this.keyMap.delete(r.key);for(let p of r.childNodes)this.keyMap.get(p.key)===p&&u(p)},o=null;for(let[r,p]of t.items.entries()){var n,i,a,m,c,d;let s={...p,level:(n=p.level)!==null&&n!==void 0?n:0,key:(i=p.key)!==null&&i!==void 0?i:"row-"+r,type:(a=p.type)!==null&&a!==void 0?a:"row",value:(m=p.value)!==null&&m!==void 0?m:null,hasChildNodes:!0,childNodes:[...p.childNodes],rendered:p.rendered,textValue:(c=p.textValue)!==null&&c!==void 0?c:"",index:(d=p.index)!==null&&d!==void 0?d:r};o?(o.nextKey=s.key,s.prevKey=o.key):s.prevKey=null,this.rows.push(s),l(s),o=s}o&&(o.nextKey=null)}}const rl="row-header-column-"+Math.random().toString(36).slice(2);let de="row-header-column-"+Math.random().toString(36).slice(2);for(;rl===de;)de="row-header-column-"+Math.random().toString(36).slice(2);function Pu(e,t){if(t.length===0)return[];let l=[],u=new Map;for(let d of t){let r=d.parentKey,p=[d];for(;r;){let s=e.get(r);if(!s)break;if(u.has(s)){var o,n;(n=(o=s).colSpan)!==null&&n!==void 0||(o.colSpan=0),s.colSpan++,s.colspan=s.colSpan;let{column:b,index:v}=u.get(s);if(v>p.length)break;for(let g=v;gd.length)),a=Array(i).fill(0).map(()=>[]),m=0;for(let d of l){let r=i-1;for(let p of d){if(p){let s=a[r],b=s.reduce((v,g)=>{var x;return v+((x=g.colSpan)!==null&&x!==void 0?x:1)},0);if(b0&&(s[s.length-1].nextKey=v.key,v.prevKey=s[s.length-1].key),s.push(v)}s.length>0&&(s[s.length-1].nextKey=p.key,p.prevKey=s[s.length-1].key),p.level=r,p.colIndex=m,s.push(p)}r--}m++}let c=0;for(let d of a){let r=d.reduce((p,s)=>{var b;return p+((b=s.colSpan)!==null&&b!==void 0?b:1)},0);if(r({type:"headerrow",key:"headerrow-"+r,index:r,value:null,rendered:null,level:0,hasChildNodes:!0,childNodes:d,textValue:""}))}class Ku extends Fu{*[Symbol.iterator](){yield*this.body.childNodes}get size(){return this._size}getKeys(){return this.keyMap.keys()}getKeyBefore(t){let l=this.keyMap.get(t);var u;return(u=l?.prevKey)!==null&&u!==void 0?u:null}getKeyAfter(t){let l=this.keyMap.get(t);var u;return(u=l?.nextKey)!==null&&u!==void 0?u:null}getFirstKey(){var t,l;return(l=(t=U(this.body.childNodes))===null||t===void 0?void 0:t.key)!==null&&l!==void 0?l:null}getLastKey(){var t,l;return(l=(t=W(this.body.childNodes))===null||t===void 0?void 0:t.key)!==null&&l!==void 0?l:null}getItem(t){var l;return(l=this.keyMap.get(t))!==null&&l!==void 0?l:null}at(t){const l=[...this.getKeys()];return this.getItem(l[t])}getChildren(t){return t===this.body.key?this.body.childNodes:super.getChildren(t)}getTextValue(t){let l=this.getItem(t);if(!l)return"";if(l.textValue)return l.textValue;let u=this.rowHeaderColumnKeys;if(u){let o=[];for(let n of l.childNodes){let i=this.columns[n.index];if(u.has(i.key)&&n.textValue&&o.push(n.textValue),o.length===u.size)break}return o.join(" ")}return""}constructor(t,l,u){let o=new Set,n=null,i=[];if(u?.showSelectionCheckboxes){let r={type:"column",key:rl,value:null,textValue:"",level:0,index:u?.showDragButtons?1:0,hasChildNodes:!1,rendered:null,childNodes:[],props:{isSelectionCell:!0}};i.unshift(r)}if(u?.showDragButtons){let r={type:"column",key:de,value:null,textValue:"",level:0,index:0,hasChildNodes:!1,rendered:null,childNodes:[],props:{isDragButtonCell:!0}};i.unshift(r)}let a=[],m=new Map,c=r=>{switch(r.type){case"body":n=r;break;case"column":m.set(r.key,r),r.hasChildNodes||(i.push(r),r.props.isRowHeader&&o.add(r.key));break;case"item":a.push(r);return}for(let p of r.childNodes)c(p)};for(let r of t)c(r);let d=Pu(m,i);if(d.forEach((r,p)=>a.splice(p,0,r)),super({columnCount:i.length,items:a,visitNode:r=>(r.column=i[r.index],r)}),this._size=0,this.columns=i,this.rowHeaderColumnKeys=o,this.body=n,this.headerRows=d,this._size=[...n.childNodes].length,this.rowHeaderColumnKeys.size===0){let r=this.columns.find(p=>{var s,b;return!(!((s=p.props)===null||s===void 0)&&s.isDragButtonCell)&&!(!((b=p.props)===null||b===void 0)&&b.isSelectionCell)});r&&this.rowHeaderColumnKeys.add(r.key)}}}const Iu={ascending:"descending",descending:"ascending"};function ju(e){let[t,l]=B.useState(!1),{selectionMode:u="none",showSelectionCheckboxes:o,showDragButtons:n}=e,i=B.useMemo(()=>({showSelectionCheckboxes:o&&u!=="none",showDragButtons:n,selectionMode:u,columns:[]}),[e.children,o,u,n]),a=ql(e,B.useCallback(r=>new Ku(r,null,i),[i]),i),{disabledKeys:m,selectionManager:c}=zu({...e,collection:a,disabledBehavior:e.disabledBehavior||"selection"});var d;return{collection:a,disabledKeys:m,selectionManager:c,showSelectionCheckboxes:e.showSelectionCheckboxes||!1,sortDescriptor:(d=e.sortDescriptor)!==null&&d!==void 0?d:null,isKeyboardNavigationDisabled:a.size===0||t,setKeyboardNavigationDisabled:l,sort(r,p){var s,b;(b=e.onSortChange)===null||b===void 0||b.call(e,{column:r,direction:p??(((s=e.sortDescriptor)===null||s===void 0?void 0:s.column)===r?Iu[e.sortDescriptor.direction]:"ascending")})}}}function al(e){return null}al.getCollectionNode=function*(t,l){let{children:u,columns:o}=t;if(l.columns=[],typeof u=="function"){if(!o)throw new Error("props.children was a function but props.columns is missing");for(let n of o)yield{type:"column",value:n,renderer:u}}else{let n=[];q.Children.forEach(u,i=>{n.push({type:"column",element:i})}),yield*n}};let Mu=al;function cl(e){return null}cl.getCollectionNode=function*(t){let{children:l,items:u}=t;yield{type:"body",hasChildNodes:!0,props:t,*childNodes(){if(typeof l=="function"){if(!u)throw new Error("props.children was a function but props.items is missing");for(let o of u)yield{type:"item",value:o,renderer:l}}else{let o=[];q.Children.forEach(l,n=>{o.push({type:"item",element:n})}),yield*o}}}};let Tu=cl;function dl(e){return null}dl.getCollectionNode=function*(t,l){let{title:u,children:o,childColumns:n}=t,i=u||o,a=t.textValue||(typeof i=="string"?i:"")||t["aria-label"],m=yield{type:"column",hasChildNodes:!!n||!!u&&q.Children.count(o)>0,rendered:i,textValue:a,props:t,*childNodes(){if(n)for(let d of n)yield{type:"column",value:d};else if(u){let d=[];q.Children.forEach(o,r=>{d.push({type:"column",element:r})}),yield*d}},shouldInvalidate(d){return c(d),!1}},c=d=>{for(let r of m)r.hasChildNodes||d.columns.push(r)};c(l)};let Ru=dl;function me(e){return null}me.getCollectionNode=function*(t,l){let{children:u,textValue:o,UNSTABLE_childItems:n}=t;yield{type:"item",props:t,textValue:o,"aria-label":t["aria-label"],hasChildNodes:!0,*childNodes(){if(l.showDragButtons&&(yield{type:"cell",key:"header-drag",props:{isDragButtonCell:!0}}),l.showSelectionCheckboxes&&l.selectionMode!=="none"&&(yield{type:"cell",key:"header",props:{isSelectionCell:!0}}),typeof u=="function"){for(let i of l.columns)yield{type:"cell",element:u(i.key),key:i.key};if(n)for(let i of n)yield{type:"item",value:i}}else{let i=[],a=[],m=0;if(q.Children.forEach(u,c=>{if(c.type===me){if(i.lengtha.key!==l.columns[m].key)||i.showSelectionCheckboxes!==l.showSelectionCheckboxes||i.showDragButtons!==l.showDragButtons||i.selectionMode!==l.selectionMode}}};let Vu=me;function ml(e){return null}ml.getCollectionNode=function*(t){let{children:l}=t,u=t.textValue||(typeof l=="string"?l:"")||t["aria-label"]||"";yield{type:"cell",props:t,rendered:l,textValue:u,"aria-label":t["aria-label"],hasChildNodes:!1}};let Ou=ml;function pl(e){var t;const l=Jl(),[u,o]=Pe(e,ke.variantKeys),{ref:n,as:i,baseRef:a,children:m,className:c,classNames:d,removeWrapper:r=!1,disableAnimation:p=(t=l?.disableAnimation)!=null?t:!1,isKeyboardNavigationDisabled:s=!1,selectionMode:b="none",topContentPlacement:v="inside",bottomContentPlacement:g="inside",selectionBehavior:x=b==="none"?null:"toggle",disabledBehavior:D="selection",showSelectionCheckboxes:y=b==="multiple"&&x!=="replace",BaseComponent:$="div",checkboxesProps:f,topContent:E,bottomContent:S,sortIcon:A,onRowAction:k,onCellAction:C,...N}=u,j=i||"table",F=typeof j=="string",R=M(n),Q=M(a),G=ju({...e,children:m,showSelectionCheckboxes:y});s&&!G.isKeyboardNavigationDisabled&&G.setKeyboardNavigationDisabled(!0);const{collection:se}=G,{layout:sn,...Fl}=e,{gridProps:$e}=Bu({...Fl},G,R),ee=b!=="none",ye=b==="multiple",H=B.useMemo(()=>ke({...o,isSelectable:ee,isMultiSelectable:ye}),[Ke(o),ee,ye]),xe=K(d?.base,c),Pl=B.useMemo(()=>{var P;return{state:G,slots:H,isSelectable:ee,collection:se,classNames:d,color:e?.color,disableAnimation:p,checkboxesProps:f,isHeaderSticky:(P=e?.isHeaderSticky)!=null?P:!1,selectionMode:b,selectionBehavior:x,disabledBehavior:D,showSelectionCheckboxes:y,onRowAction:k,onCellAction:C}},[H,G,se,ee,d,b,x,f,D,p,y,e?.color,e?.isHeaderSticky,k,C]),Kl=B.useCallback(P=>({...P,ref:Q,className:H.base({class:K(xe,P?.className)})}),[xe,H]),Il=B.useCallback(P=>({...P,ref:Q,className:H.wrapper({class:K(d?.wrapper,P?.className)})}),[d?.wrapper,H]),jl=B.useCallback(P=>({...I($e,O(N,{enabled:F}),P),onKeyDownCapture:void 0,ref:R,className:H.table({class:K(d?.table,P?.className)})}),[d?.table,F,H,$e,N]);return{BaseComponent:$,Component:j,children:m,state:G,collection:se,values:Pl,topContent:E,bottomContent:S,removeWrapper:r,topContentPlacement:v,bottomContentPlacement:g,sortIcon:A,getBaseProps:Kl,getWrapperProps:Il,getTableProps:jl}}var bl=T((e,t)=>{var l,u,o;const{as:n,className:i,node:a,rowKey:m,slots:c,state:d,classNames:r,...p}=e,s=n||"td",b=typeof s=="string",v=M(t),{gridCellProps:g}=ol({node:a},d,v),x=K(r?.td,i,(l=a.props)==null?void 0:l.className),{isFocusVisible:D,focusProps:y}=X(),$=d.selectionManager.isSelected(m),f=B.useMemo(()=>{const S=typeof a.rendered;return S!=="object"&&S!=="function"?h.jsx("span",{children:a.rendered}):a.rendered},[a.rendered]),E=((u=a.column)==null?void 0:u.props)||{};return h.jsx(s,{ref:v,"data-focus-visible":w(D),"data-selected":w($),...I(g,y,O(a.props,{enabled:b}),p),className:(o=c.td)==null?void 0:o.call(c,{align:E.align,class:x}),children:f})});bl.displayName="HeroUI.TableCell";var fl=bl,hl=T((e,t)=>{var l,u;const{as:o,className:n,node:i,rowKey:a,slots:m,state:c,color:d,disableAnimation:r,checkboxesProps:p,selectionMode:s,classNames:b,...v}=e,g=o||"td",x=typeof g=="string",D=M(t),{gridCellProps:y}=ol({node:i},c,D),{isFocusVisible:$,focusProps:f}=X(),{checkboxProps:E}=wu({key:i?.parentKey||i.key},c),S=K(b?.td,n,(l=i.props)==null?void 0:l.className),A=s==="single",{onChange:k,...C}=E,N=c.selectionManager.isSelected(a);return h.jsx(g,{ref:D,"data-focus-visible":w($),"data-selected":w(N),...I(y,f,O(i.props,{enabled:x}),v),className:(u=m.td)==null?void 0:u.call(m,{class:S}),children:A?h.jsx(be,{children:E["aria-label"]}):h.jsx(Fe,{color:d,disableAnimation:r,onValueChange:k,...I(p,C)})})});hl.displayName="HeroUI.TableCheckboxCell";var vl=hl,gl=T((e,t)=>{var l,u;const{as:o,className:n,children:i,node:a,slots:m,state:c,isSelectable:d,classNames:r,...p}=e,s=o||(e?.href?"a":"tr"),b=typeof s=="string",v=M(t),{rowProps:g}=Eu({node:a},c,v),x=K(r?.tr,n,(l=a.props)==null?void 0:l.className),{isFocusVisible:D,focusProps:y}=X(),$=c.disabledKeys.has(a.key),f=c.selectionManager.isSelected(a.key),{isHovered:E,hoverProps:S}=Ie({isDisabled:$}),{isFirst:A,isLast:k,isMiddle:C,isOdd:N}=B.useMemo(()=>{const j=a.key===c.collection.getFirstKey(),F=a.key===c.collection.getLastKey(),R=!j&&!F,Q=a?.index?(a.index+1)%2===0:!1;return{isFirst:j,isLast:F,isMiddle:R,isOdd:Q}},[a,c.collection]);return h.jsx(s,{ref:v,"data-disabled":w($),"data-first":w(A),"data-focus-visible":w(D),"data-hover":w(E),"data-last":w(k),"data-middle":w(C),"data-odd":w(N),"data-selected":w(f),...I(g,y,d?S:{},O(a.props,{enabled:b}),p),className:(u=m.tr)==null?void 0:u.call(m,{class:x}),children:i})});gl.displayName="HeroUI.TableRow";var $l=gl,yl=T((e,t)=>{var l;const{as:u,className:o,slots:n,state:i,collection:a,isSelectable:m,color:c,disableAnimation:d,checkboxesProps:r,selectionMode:p,classNames:s,rowVirtualizer:b,...v}=e,g=u||"tbody",x=typeof g=="string",D=M(t),{rowGroupProps:y}=ge(),$=K(s?.tbody,o),f=a?.body.props,E=f?.isLoading||f?.loadingState==="loading"||f?.loadingState==="loadingMore",S=[...a.body.childNodes],A=b.getVirtualItems();let k,C;return a.size===0&&f.emptyContent&&(k=h.jsx("tr",{role:"row",children:h.jsx("td",{className:n?.emptyWrapper({class:s?.emptyWrapper}),colSpan:a.columnCount,role:"gridcell",children:!E&&f.emptyContent})})),E&&f.loadingContent&&(C=h.jsxs("tr",{role:"row",children:[h.jsx("td",{className:n?.loadingWrapper({class:s?.loadingWrapper}),colSpan:a.columnCount,role:"gridcell",children:f.loadingContent}),!k&&a.size===0?h.jsx("td",{className:n?.emptyWrapper({class:s?.emptyWrapper})}):null]})),h.jsxs(g,{ref:D,...I(y,O(f,{enabled:x}),v),className:(l=n.tbody)==null?void 0:l.call(n,{class:$}),"data-empty":w(a.size===0),"data-loading":w(E),children:[A.map((N,j)=>{const F=S[N.index];return F?h.jsx($l,{classNames:s,isSelectable:m,node:F,slots:n,state:i,style:{transform:`translateY(${N.start-j*N.size}px)`,height:`${N.size}px`},children:[...F.childNodes].map(R=>R.props.isSelectionCell?h.jsx(vl,{checkboxesProps:r,classNames:s,color:c,disableAnimation:d,node:R,rowKey:F.key,selectionMode:p,slots:n,state:i},String(R.key)):h.jsx(fl,{classNames:s,node:R,rowKey:F.key,slots:n,state:i},String(R.key)))},String(F.key)):null}),C,k]})});yl.displayName="HeroUI.VirtualizedTableBody";var Hu=yl,xl=T((e,t)=>{var l,u,o,n,i;const{as:a,className:m,state:c,node:d,slots:r,classNames:p,sortIcon:s,...b}=e,v=a||"th",g=typeof v=="string",x=M(t),{columnHeaderProps:D}=nl({node:d},c,x),y=K(p?.th,m,(l=d.props)==null?void 0:l.className),{isFocusVisible:$,focusProps:f}=X(),{isHovered:E,hoverProps:S}=Ie({}),{hideHeader:A,align:k,...C}=d.props,N=C.allowsSorting,j={"aria-hidden":!0,"data-direction":(u=c.sortDescriptor)==null?void 0:u.direction,"data-visible":w(((o=c.sortDescriptor)==null?void 0:o.column)===d.key),className:(n=r.sortIcon)==null?void 0:n.call(r,{class:p?.sortIcon})},F=typeof s=="function"?s(j):B.isValidElement(s)&&B.cloneElement(s,j);return h.jsxs(v,{ref:x,colSpan:d.colspan,"data-focus-visible":w($),"data-hover":w(E),"data-sortable":w(N),...I(D,f,O(C,{enabled:g}),N?S:{},b),className:(i=r.th)==null?void 0:i.call(r,{align:k,class:y}),children:[A?h.jsx(be,{children:d.rendered}):d.rendered,N&&(F||h.jsx(su,{strokeWidth:3,...j}))]})});xl.displayName="HeroUI.TableColumnHeader";var Cl=xl,Dl=T((e,t)=>{var l,u;const{as:o,className:n,children:i,node:a,slots:m,classNames:c,state:d,...r}=e,p=o||"tr",s=typeof p=="string",b=M(t),{rowProps:v}=Su({node:a},d),g=K(c?.tr,n,(l=a.props)==null?void 0:l.className);return h.jsx(p,{ref:b,...I(v,O(a.props,{enabled:s}),r),className:(u=m.tr)==null?void 0:u.call(m,{class:g}),children:i})});Dl.displayName="HeroUI.TableHeaderRow";var Bl=Dl,kl=B.forwardRef((e,t)=>{var l;const{as:u,className:o,children:n,slots:i,classNames:a,...m}=e,c=u||"thead",d=M(t),{rowGroupProps:r}=ge(),p=K(a?.thead,o);return h.jsx(c,{ref:d,className:(l=i.thead)==null?void 0:l.call(i,{class:p}),...I(r,m),children:n})});kl.displayName="HeroUI.TableRowGroup";var El=kl,Lu={px:"1px",0:"0px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",11:"2.75rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},Ae=e=>{var t;return(t=Lu[e])!=null?t:e};function Uu(e){const[t,l]=Pe(e,Be.variantKeys),{as:u,className:o,x:n=1,y:i=1,...a}=t,m=u||"span",c=B.useMemo(()=>Be({...l,className:o}),[Ke(l),o]),d=Ae(n),r=Ae(i);return{Component:m,getSpacerProps:(s={})=>({...s,...a,"aria-hidden":w(!0),className:K(c,s.className),style:{...s.style,...a.style,marginLeft:d,marginTop:r}})}}var Sl=T((e,t)=>{const{Component:l,getSpacerProps:u}=Uu({...e});return h.jsx(l,{ref:t,...u()})});Sl.displayName="HeroUI.Spacer";var Al=Sl,wl=T((e,t)=>{const{BaseComponent:l,Component:u,collection:o,values:n,topContent:i,topContentPlacement:a,bottomContentPlacement:m,bottomContent:c,getBaseProps:d,getWrapperProps:r,getTableProps:p}=pl({...e,ref:t}),{rowHeight:s=40,maxTableHeight:b=600}=e,v=B.useCallback(({children:A})=>h.jsx(l,{...r(),ref:D,style:{height:b,display:"block"},children:A}),[r,b]),x=[...o.body.childNodes].length,D=B.useRef(null),[y,$]=B.useState(0),f=B.useRef(null);B.useLayoutEffect(()=>{f.current&&$(f.current.getBoundingClientRect().height)},[f]);const E=iu({count:x,getScrollElement:()=>D.current,estimateSize:()=>s,overscan:5}),S=p();return h.jsxs("div",{...d(),children:[a==="outside"&&i,h.jsx(v,{children:h.jsxs(h.Fragment,{children:[a==="inside"&&i,h.jsxs(u,{...S,style:{height:`calc(${E.getTotalSize()+y}px)`,...S.style},children:[h.jsxs(El,{ref:f,classNames:n.classNames,slots:n.slots,children:[o.headerRows.map(A=>h.jsx(Bl,{classNames:n.classNames,node:A,slots:n.slots,state:n.state,children:[...A.childNodes].map(k=>{var C;return(C=k?.props)!=null&&C.isSelectionCell?h.jsx(il,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,color:n.color,disableAnimation:n.disableAnimation,node:k,selectionMode:n.selectionMode,slots:n.slots,state:n.state},k?.key):h.jsx(Cl,{classNames:n.classNames,node:k,slots:n.slots,state:n.state},k?.key)})},A?.key)),h.jsx(Al,{as:"tr",tabIndex:-1,y:1})]}),h.jsx(Hu,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,collection:n.collection,color:n.color,disableAnimation:n.disableAnimation,isSelectable:n.isSelectable,rowVirtualizer:E,selectionMode:n.selectionMode,slots:n.slots,state:n.state})]}),m==="inside"&&c]})}),m==="outside"&&c]})});wl.displayName="HeroUI.VirtualizedTable";var Wu=wl,Nl=T((e,t)=>{var l;const{as:u,className:o,slots:n,state:i,collection:a,isSelectable:m,color:c,disableAnimation:d,checkboxesProps:r,selectionMode:p,classNames:s,...b}=e,v=u||"tbody",g=typeof v=="string",x=M(t),{rowGroupProps:D}=ge(),y=K(s?.tbody,o),$=a?.body.props,f=$?.isLoading||$?.loadingState==="loading"||$?.loadingState==="loadingMore",E=B.useMemo(()=>[...a.body.childNodes].map(k=>h.jsx($l,{classNames:s,isSelectable:m,node:k,slots:n,state:i,children:[...k.childNodes].map(C=>C.props.isSelectionCell?h.jsx(vl,{checkboxesProps:r,classNames:s,color:c,disableAnimation:d,node:C,rowKey:k.key,selectionMode:p,slots:n,state:i},C.key):h.jsx(fl,{classNames:s,node:C,rowKey:k.key,slots:n,state:i},C.key))},k.key)),[a.body.childNodes,s,m,n,i]);let S,A;return a.size===0&&$.emptyContent&&(S=h.jsx("tr",{role:"row",children:h.jsx("td",{className:n?.emptyWrapper({class:s?.emptyWrapper}),colSpan:a.columnCount,role:"gridcell",children:!f&&$.emptyContent})})),f&&$.loadingContent&&(A=h.jsxs("tr",{role:"row",children:[h.jsx("td",{className:n?.loadingWrapper({class:s?.loadingWrapper}),colSpan:a.columnCount,role:"gridcell",children:$.loadingContent}),!S&&a.size===0?h.jsx("td",{className:n?.emptyWrapper({class:s?.emptyWrapper})}):null]})),h.jsxs(v,{ref:x,...I(D,O($,{enabled:g}),b),className:(l=n.tbody)==null?void 0:l.call(n,{class:y}),"data-empty":w(a.size===0),"data-loading":w(f),children:[E,A,S]})});Nl.displayName="HeroUI.TableBody";var Gu=Nl,zl=T((e,t)=>{const{BaseComponent:l,Component:u,collection:o,values:n,topContent:i,topContentPlacement:a,bottomContentPlacement:m,bottomContent:c,removeWrapper:d,sortIcon:r,getBaseProps:p,getWrapperProps:s,getTableProps:b}=pl({...e,ref:t}),{isVirtualized:v,rowHeight:g=40,maxTableHeight:x=600}=e,D=v,y=B.useCallback(({children:$})=>d?$:h.jsx(l,{...s(),children:$}),[d,s]);return D?h.jsx(Wu,{...e,ref:t,maxTableHeight:x,rowHeight:g}):h.jsxs("div",{...p(),children:[a==="outside"&&i,h.jsx(y,{children:h.jsxs(h.Fragment,{children:[a==="inside"&&i,h.jsxs(u,{...b(),children:[h.jsxs(El,{classNames:n.classNames,slots:n.slots,children:[o.headerRows.map($=>h.jsx(Bl,{classNames:n.classNames,node:$,slots:n.slots,state:n.state,children:[...$.childNodes].map(f=>{var E;return(E=f?.props)!=null&&E.isSelectionCell?h.jsx(il,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,color:n.color,disableAnimation:n.disableAnimation,node:f,selectionMode:n.selectionMode,slots:n.slots,state:n.state},f?.key):h.jsx(Cl,{classNames:n.classNames,node:f,slots:n.slots,sortIcon:r,state:n.state},f?.key)})},$?.key)),h.jsx(Al,{as:"tr",tabIndex:-1,y:1})]}),h.jsx(Gu,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,collection:n.collection,color:n.color,disableAnimation:n.disableAnimation,isSelectable:n.isSelectable,selectionMode:n.selectionMode,slots:n.slots,state:n.state})]}),m==="inside"&&c]})}),m==="outside"&&c]})});zl.displayName="HeroUI.Table";var Yu=zl,Zu=Ru,_u=Zu,qu=Mu,Ju=qu,Xu=Vu,Qu=Xu,en=Tu,tn=en,ln=Ou,un=ln;const nn={n_requests:"Number Of Requests",estimated_cost:"Estimated Cost ($)"},we=["model","n_requests","prompt_tokens","completion_tokens","total_tokens","estimated_cost"];function on(e){return e.replace(/(-?)(\d*)\.?(\d*)e([+-]\d+)/,function(t,l,u,o,n){return n<0?l+"0."+Array(1-n-u.length).join("0")+o+u:l+u+o+Array(n-o.length+1).join("0")})}function mn({usage:e}){const t=Object.keys(e),{isOpen:l,onOpen:u,onClose:o}=Xl(),n=()=>{o()},i=Object.keys(e[t[0]]),a=[...we.filter(s=>s==="model"||i.includes(s)),...i.filter(s=>!we.includes(s))],m=i.reduce((s,b)=>({...s,[b]:0}),{}),c=t.reduce((s,b)=>(a.reduce((v,g)=>(g==="model"||(v[g]+=e[b][g]),v),s),s),m),d=[...a.map(s=>({key:s,label:nn[s]??De.words(s).map(De.upperFirst).join(" ")}))],r=[...t.map(s=>({model:s,...e[s]})),{model:"Total",...c}],p=h.jsxs("div",{className:"p-2",children:[h.jsxs("div",{className:"flex flex-col gap-2",children:[c.prompt_tokens!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Prompt tokens"}),h.jsx("span",{children:c.prompt_tokens})]}),c.completion_tokens!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Completion tokens"}),h.jsx("span",{children:c.completion_tokens})]}),c.total_tokens!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Total tokens"}),h.jsx("span",{children:c.total_tokens})]}),c.estimated_cost!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Estimated cost"}),h.jsxs("span",{children:[on(c.estimated_cost.toString()),"$"]})]})]}),h.jsx("p",{className:"m-auto mt-2 text-center",children:"Show detailed usage breakdown by model."})]});return h.jsxs(h.Fragment,{children:[h.jsx(Ql,{content:p,placement:"bottom",children:h.jsx(eu,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Open usage details",onPress:u,children:h.jsx(tu,{icon:"heroicons:information-circle"})})}),h.jsx(lu,{isOpen:l,onOpenChange:n,size:"4xl",children:h.jsx(uu,{children:h.jsxs(h.Fragment,{children:[h.jsx(ru,{className:"text-default-900 flex flex-col gap-1",children:"Usage details"}),h.jsx(nu,{children:h.jsxs(Yu,{"aria-label":"Table with detailed usage statistics for each model used to generate the message.",fullWidth:!0,children:[h.jsx(Ju,{columns:d,children:s=>h.jsx(_u,{children:s.label},s.key)}),h.jsx(tn,{items:r,children:s=>h.jsx(Qu,{className:s.model==="Total"?"border-default-200 border-t-1":"",children:b=>h.jsx(un,{children:ou(s,b)})},s.model)})]})})]})})})]})}export{mn as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/authStore-DLhLSjcY.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/authStore-BmdbjFC4.js similarity index 91% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/authStore-DLhLSjcY.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/authStore-BmdbjFC4.js index 4bf39c7f1..a90205362 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/authStore-DLhLSjcY.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/authStore-BmdbjFC4.js @@ -1 +1 @@ -import{bx as u,by as l,bz as c}from"./index-C75huGqt.js";const h=e=>({user_id:e.user_id,email:e.email}),d=u(l(c((e,i)=>({user:null,token:null,isAuthenticated:!1,tokenExpiration:null,hasHydrated:!1,onRehydrated:()=>{const{token:t,tokenExpiration:o,logout:n}=i(),a=Date.now(),s=(o??0)-a;!t||s<=0?n():e(r=>{r.isAuthenticated=!0}),e(r=>{r.hasHydrated=!0})},login:(t,o)=>e(n=>{n.user=t,n.token=o,n.tokenExpiration=Date.now()+o.expires_in*1e3,n.isAuthenticated=!0}),logout:()=>e(t=>{t.user=null,t.token=null,t.isAuthenticated=!1})})),{name:"ragbits-auth",partialize:e=>({token:e.token,tokenExpiration:e.tokenExpiration,user:e.user?h(e.user):null}),merge:(e,i)=>({...i,...e,isAuthenticated:!1}),onRehydrateStorage:e=>()=>{e.onRehydrated()}}));export{d as a}; +import{bu as u,bv as l,bw as c}from"./index-DaG4uPnK.js";const h=e=>({user_id:e.user_id,email:e.email}),d=u(l(c((e,i)=>({user:null,token:null,isAuthenticated:!1,tokenExpiration:null,hasHydrated:!1,onRehydrated:()=>{const{token:t,tokenExpiration:o,logout:n}=i(),a=Date.now(),s=(o??0)-a;!t||s<=0?n():e(r=>{r.isAuthenticated=!0}),e(r=>{r.hasHydrated=!0})},login:(t,o)=>e(n=>{n.user=t,n.token=o,n.tokenExpiration=Date.now()+o.expires_in*1e3,n.isAuthenticated=!0}),logout:()=>e(t=>{t.user=null,t.token=null,t.isAuthenticated=!1})})),{name:"ragbits-auth",partialize:e=>({token:e.token,tokenExpiration:e.tokenExpiration,user:e.user?h(e.user):null}),merge:(e,i)=>({...i,...e,isAuthenticated:!1}),onRehydrateStorage:e=>()=>{e.onRehydrated()}}));export{d as a}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-IGSAU2ZA-Beuyhkep.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-IGSAU2ZA-Beuyhkep.js new file mode 100644 index 000000000..3a29cf44b --- /dev/null +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-IGSAU2ZA-Beuyhkep.js @@ -0,0 +1 @@ +import{l as h,be as p,R as x,r as i,j as M,Z as R}from"./index-DaG4uPnK.js";var s=h((r,o)=>{const{as:t,children:d,className:l,...n}=r,{slots:c,classNames:a,headerId:m,setHeaderMounted:e}=p(),f=x(o),u=t||"header";return i.useEffect(()=>(e(!0),()=>e(!1)),[e]),M.jsx(u,{ref:f,className:c.header({class:R(a?.header,l)}),id:m,...n,children:d})});s.displayName="HeroUI.ModalHeader";var N=s;export{N as m}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-IGSAU2ZA-DUS7ku-0.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-IGSAU2ZA-DUS7ku-0.js deleted file mode 100644 index 9841cc695..000000000 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-IGSAU2ZA-DUS7ku-0.js +++ /dev/null @@ -1 +0,0 @@ -import{O as h,bo as p,A as x,r as i,j as M,J as H}from"./index-C75huGqt.js";var s=h((r,o)=>{const{as:t,children:d,className:l,...n}=r,{slots:c,classNames:a,headerId:m,setHeaderMounted:e}=p(),f=x(o),u=t||"header";return i.useEffect(()=>(e(!0),()=>e(!1)),[e]),M.jsx(u,{ref:f,className:c.header({class:H(a?.header,l)}),id:m,...n,children:d})});s.displayName="HeroUI.ModalHeader";var R=s;export{R as m}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-SSA7SXE4-DnKzYyYP.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-SSA7SXE4-CTW6lkmA.js similarity index 59% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-SSA7SXE4-DnKzYyYP.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-SSA7SXE4-CTW6lkmA.js index 733f69aa8..288cb464d 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-SSA7SXE4-DnKzYyYP.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-SSA7SXE4-CTW6lkmA.js @@ -1 +1 @@ -import{O as y,br as z,j as e,r as t,az as D}from"./index-C75huGqt.js";var E=y((O,B)=>{const{Component:H,label:u,description:r,isClearable:d,startContent:c,endContent:h,labelPlacement:L,hasHelper:x,isOutsideLeft:j,isOutsideTop:g,shouldLabelBeOutside:m,errorMessage:s,isInvalid:P,getBaseProps:w,getLabelProps:F,getInputProps:v,getInnerWrapperProps:b,getInputWrapperProps:o,getMainWrapperProps:C,getHelperWrapperProps:I,getDescriptionProps:l,getErrorMessageProps:i,getClearButtonProps:f}=z({...O,ref:B}),n=u?e.jsx("label",{...F(),children:u}):null,M=t.useMemo(()=>d?e.jsx("button",{...f(),children:h||e.jsx(D,{})}):h,[d,f]),p=t.useMemo(()=>{const W=P&&s;return!x||!(W||r)?null:e.jsx("div",{...I(),children:W?e.jsx("div",{...i(),children:s}):e.jsx("div",{...l(),children:r})})},[x,P,s,r,I,i,l]),a=t.useMemo(()=>e.jsxs("div",{...b(),children:[c,e.jsx("input",{...v()}),M]}),[c,M,v,b]),R=t.useMemo(()=>m?e.jsxs("div",{...C(),children:[e.jsxs("div",{...o(),children:[!j&&!g?n:null,a]}),p]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{...o(),children:[n,a]}),p]}),[L,p,m,n,a,s,r,C,o,i,l]);return e.jsxs(H,{...w(),children:[j||g?n:null,R]})});E.displayName="HeroUI.Input";var T=E;export{T as i}; +import{l as y,bo as D,j as e,r as t,am as N}from"./index-DaG4uPnK.js";var E=y((B,H)=>{const{Component:L,label:u,description:r,isClearable:d,startContent:c,endContent:h,labelPlacement:O,hasHelper:x,isOutsideLeft:j,isOutsideTop:g,shouldLabelBeOutside:m,errorMessage:s,isInvalid:P,getBaseProps:w,getLabelProps:F,getInputProps:v,getInnerWrapperProps:b,getInputWrapperProps:o,getMainWrapperProps:C,getHelperWrapperProps:I,getDescriptionProps:l,getErrorMessageProps:i,getClearButtonProps:f}=D({...B,ref:H}),n=u?e.jsx("label",{...F(),children:u}):null,M=t.useMemo(()=>d?e.jsx("button",{...f(),children:h||e.jsx(N,{})}):h,[d,f]),p=t.useMemo(()=>{const W=P&&s;return!x||!(W||r)?null:e.jsx("div",{...I(),children:W?e.jsx("div",{...i(),children:s}):e.jsx("div",{...l(),children:r})})},[x,P,s,r,I,i,l]),a=t.useMemo(()=>e.jsxs("div",{...b(),children:[c,e.jsx("input",{...v()}),M]}),[c,M,v,b]),R=t.useMemo(()=>m?e.jsxs("div",{...C(),children:[e.jsxs("div",{...o(),children:[!j&&!g?n:null,a]}),p]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{...o(),children:[n,a]}),p]}),[O,p,m,n,a,s,r,C,o,i,l]);return e.jsxs(L,{...w(),children:[j||g?n:null,R]})});E.displayName="HeroUI.Input";var U=E;export{U as i}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-3BSSmhVm.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-3BSSmhVm.js deleted file mode 100644 index 2f842ccd5..000000000 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-3BSSmhVm.js +++ /dev/null @@ -1 +0,0 @@ -import{bA as a,bB as e,bC as t}from"./index-C75huGqt.js";const n={renderer:t,...e,...a};var o=n;export{o as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-BTHsSiyo.css b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-BTHsSiyo.css deleted file mode 100644 index 988f13912..000000000 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-BTHsSiyo.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.1.11 | 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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-outline-style:solid}}}@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-yellow-600:oklch(68.1% .162 75.834);--color-green-600:oklch(62.7% .194 149.214);--color-purple-500:oklch(62.7% .265 303.9);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--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);--font-weight-extralight:200;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--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);--animate-pop-in:pop-in .2s ease-out forwards;--color-primary:#1b54ff}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;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}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root,[data-theme]{color:hsl(var(--heroui-foreground));background-color:hsl(var(--heroui-background))}:root,[data-theme=light]{color-scheme:light;--heroui-background:0 0% 100%;--heroui-foreground-50:0 0% 98.04%;--heroui-foreground-100:240 4.76% 95.88%;--heroui-foreground-200:240 5.88% 90%;--heroui-foreground-300:240 4.88% 83.92%;--heroui-foreground-400:240 5.03% 64.9%;--heroui-foreground-500:240 3.83% 46.08%;--heroui-foreground-600:240 5.2% 33.92%;--heroui-foreground-700:240 5.26% 26.08%;--heroui-foreground-800:240 3.7% 15.88%;--heroui-foreground-900:240 5.88% 10%;--heroui-foreground:201.82 24.44% 8.82%;--heroui-divider:0 0% 6.67%;--heroui-focus:212.02 100% 46.67%;--heroui-overlay:0 0% 0%;--heroui-content1:0 0% 100%;--heroui-content1-foreground:201.82 24.44% 8.82%;--heroui-content2:240 4.76% 95.88%;--heroui-content2-foreground:240 3.7% 15.88%;--heroui-content3:240 5.88% 90%;--heroui-content3-foreground:240 5.26% 26.08%;--heroui-content4:240 4.88% 83.92%;--heroui-content4-foreground:240 5.2% 33.92%;--heroui-default-50:0 0% 98.04%;--heroui-default-100:240 4.76% 95.88%;--heroui-default-200:240 5.88% 90%;--heroui-default-300:240 4.88% 83.92%;--heroui-default-400:240 5.03% 64.9%;--heroui-default-500:240 3.83% 46.08%;--heroui-default-600:240 5.2% 33.92%;--heroui-default-700:240 5.26% 26.08%;--heroui-default-800:240 3.7% 15.88%;--heroui-default-900:240 5.88% 10%;--heroui-default-foreground:0 0% 0%;--heroui-default:240 4.88% 83.92%;--heroui-primary-50:212.5 92.31% 94.9%;--heroui-primary-100:211.84 92.45% 89.61%;--heroui-primary-200:211.84 92.45% 79.22%;--heroui-primary-300:212.24 92.45% 68.82%;--heroui-primary-400:212.14 92.45% 58.43%;--heroui-primary-500:212.02 100% 46.67%;--heroui-primary-600:212.14 100% 38.43%;--heroui-primary-700:212.24 100% 28.82%;--heroui-primary-800:211.84 100% 19.22%;--heroui-primary-900:211.84 100% 9.61%;--heroui-primary-foreground:0 0% 100%;--heroui-primary:212.02 100% 46.67%;--heroui-secondary-50:270 61.54% 94.9%;--heroui-secondary-100:270 59.26% 89.41%;--heroui-secondary-200:270 59.26% 78.82%;--heroui-secondary-300:270 59.26% 68.24%;--heroui-secondary-400:270 59.26% 57.65%;--heroui-secondary-500:270 66.67% 47.06%;--heroui-secondary-600:270 66.67% 37.65%;--heroui-secondary-700:270 66.67% 28.24%;--heroui-secondary-800:270 66.67% 18.82%;--heroui-secondary-900:270 66.67% 9.41%;--heroui-secondary-foreground:0 0% 100%;--heroui-secondary:270 66.67% 47.06%;--heroui-success-50:146.67 64.29% 94.51%;--heroui-success-100:145.71 61.4% 88.82%;--heroui-success-200:146.2 61.74% 77.45%;--heroui-success-300:145.79 62.57% 66.47%;--heroui-success-400:146.01 62.45% 55.1%;--heroui-success-500:145.96 79.46% 43.92%;--heroui-success-600:146.01 79.89% 35.1%;--heroui-success-700:145.79 79.26% 26.47%;--heroui-success-800:146.2 79.78% 17.45%;--heroui-success-900:145.71 77.78% 8.82%;--heroui-success-foreground:0 0% 0%;--heroui-success:145.96 79.46% 43.92%;--heroui-warning-50:54.55 91.67% 95.29%;--heroui-warning-100:37.14 91.3% 90.98%;--heroui-warning-200:37.14 91.3% 81.96%;--heroui-warning-300:36.96 91.24% 73.14%;--heroui-warning-400:37.01 91.26% 64.12%;--heroui-warning-500:37.03 91.27% 55.1%;--heroui-warning-600:37.01 74.22% 44.12%;--heroui-warning-700:36.96 73.96% 33.14%;--heroui-warning-800:37.14 75% 21.96%;--heroui-warning-900:37.14 75% 10.98%;--heroui-warning-foreground:0 0% 0%;--heroui-warning:37.03 91.27% 55.1%;--heroui-danger-50:339.13 92% 95.1%;--heroui-danger-100:340 91.84% 90.39%;--heroui-danger-200:339.33 90% 80.39%;--heroui-danger-300:339.11 90.6% 70.78%;--heroui-danger-400:339 90% 60.78%;--heroui-danger-500:339.2 90.36% 51.18%;--heroui-danger-600:339 86.54% 40.78%;--heroui-danger-700:339.11 85.99% 30.78%;--heroui-danger-800:339.33 86.54% 20.39%;--heroui-danger-900:340 84.91% 10.39%;--heroui-danger-foreground:0 0% 100%;--heroui-danger:339.2 90.36% 51.18%;--heroui-divider-weight:1px;--heroui-disabled-opacity:.5;--heroui-font-size-tiny:.75rem;--heroui-font-size-small:.875rem;--heroui-font-size-medium:1rem;--heroui-font-size-large:1.125rem;--heroui-line-height-tiny:1rem;--heroui-line-height-small:1.25rem;--heroui-line-height-medium:1.5rem;--heroui-line-height-large:1.75rem;--heroui-radius-small:8px;--heroui-radius-medium:12px;--heroui-radius-large:14px;--heroui-border-width-small:1px;--heroui-border-width-medium:2px;--heroui-border-width-large:3px;--heroui-box-shadow-small:0px 0px 5px 0px #00000005,0px 2px 10px 0px #0000000f,0px 0px 1px 0px #0000004d;--heroui-box-shadow-medium:0px 0px 15px 0px #00000008,0px 2px 30px 0px #00000014,0px 0px 1px 0px #0000004d;--heroui-box-shadow-large:0px 0px 30px 0px #0000000a,0px 30px 60px 0px #0000001f,0px 0px 1px 0px #0000004d;--heroui-hover-opacity:.8}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.start-0{inset-inline-start:calc(var(--spacing)*0)}.start-1\.5{inset-inline-start:calc(var(--spacing)*1.5)}.start-2{inset-inline-start:calc(var(--spacing)*2)}.start-3{inset-inline-start:calc(var(--spacing)*3)}.start-auto{inset-inline-start:auto}.end-1{inset-inline-end:calc(var(--spacing)*1)}.end-1\.5{inset-inline-end:calc(var(--spacing)*1.5)}.end-3{inset-inline-end:calc(var(--spacing)*3)}.end-18{inset-inline-end:calc(var(--spacing)*18)}.end-auto{inset-inline-end:auto}.-top-2{top:calc(var(--spacing)*-2)}.-top-16{top:calc(var(--spacing)*-16)}.-top-px{top:-1px}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\[5\%\]{top:5%}.top-\[10\%\]{top:10%}.top-\[calc\(46\%\)\]{top:46%}.top-\[calc\(100\%_\+_2px\)\]{top:calc(100% + 2px)}.top-\[var\(--navbar-height\)\]{top:var(--navbar-height)}.-right-2{right:calc(var(--spacing)*-2)}.-right-px{right:-1px}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-\[5\%\]{right:5%}.right-\[10\%\]{right:10%}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-16{bottom:calc(var(--spacing)*16)}.bottom-\[5\%\]{bottom:5%}.bottom-\[10\%\]{bottom:10%}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing)*4)}.left-\[5\%\]{left:5%}.left-\[10\%\]{left:10%}.left-\[calc\(37\.5\%\)\]{left:37.5%}.-z-30{z-index:-30}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[100\]{z-index:100}.order-1{order:1}.order-2{order:2}.order-3{order:3}.container{width:100%}@media (min-width:28rem){.container{max-width:28rem}}@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}}.-m-2{margin:calc(var(--spacing)*-2)}.-m-2\.5{margin:calc(var(--spacing)*-2.5)}.m-0{margin:calc(var(--spacing)*0)}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.mx-0{margin-inline:calc(var(--spacing)*0)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-\[calc\(\(theme\(spacing\.5\)-theme\(spacing\.1\)\)\/2\)\]{margin-inline:.5rem}.mx-\[calc\(\(theme\(spacing\.6\)-theme\(spacing\.3\)\)\/2\)\]{margin-inline:.375rem}.mx-\[calc\(\(theme\(spacing\.7\)-theme\(spacing\.5\)\)\/2\)\]{margin-inline:.25rem}.mx-auto{margin-inline:auto}.my-0{margin-block:calc(var(--spacing)*0)}.my-1{margin-block:calc(var(--spacing)*1)}.my-16{margin-block:calc(var(--spacing)*16)}.my-\[calc\(\(theme\(spacing\.5\)-theme\(spacing\.1\)\)\/2\)\]{margin-block:.5rem}.my-\[calc\(\(theme\(spacing\.6\)-theme\(spacing\.3\)\)\/2\)\]{margin-block:.375rem}.my-\[calc\(\(theme\(spacing\.7\)-theme\(spacing\.5\)\)\/2\)\]{margin-block:.25rem}.my-auto{margin-block:auto}.-ms-2{margin-inline-start:calc(var(--spacing)*-2)}.ms-2{margin-inline-start:calc(var(--spacing)*2)}.ms-3{margin-inline-start:calc(var(--spacing)*3)}.me-2{margin-inline-end:calc(var(--spacing)*2)}.me-4{margin-inline-end:calc(var(--spacing)*4)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:NaN NaN NaN;--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-auto{margin-top:auto}.-mr-2{margin-right:calc(var(--spacing)*-2)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-auto{margin-right:auto}.mb-0{margin-bottom:calc(var(--spacing)*0)}.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-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-px{margin-bottom:1px}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.scrollbar-default{-ms-overflow-style:auto;scrollbar-width:auto}.scrollbar-default::-webkit-scrollbar{display:block}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.aspect-square{aspect-ratio:1}.size-1{width:calc(var(--spacing)*1);height:calc(var(--spacing)*1)}.size-1\.5{width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.\!h-auto{height:auto!important}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-40{height:calc(var(--spacing)*40)}.h-\[--visual-viewport-height\]{height:--visual-viewport-height}.h-\[2px\]{height:2px}.h-\[8\%\]{height:8%}.h-\[50\%\]{height:50%}.h-\[100dvh\]{height:100dvh}.h-\[calc\(100dvh_-_var\(--navbar-height\)\)\]{height:calc(100dvh - var(--navbar-height))}.h-\[var\(--navbar-height\)\]{height:var(--navbar-height)}.h-\[var\(--picker-height\)\]{height:var(--picker-height)}.h-auto{height:auto}.h-divider{height:var(--heroui-divider-weight)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[20rem\]{max-height:20rem}.max-h-\[24rem\]{max-height:24rem}.max-h-\[28rem\]{max-height:28rem}.max-h-\[32rem\]{max-height:32rem}.max-h-\[36rem\]{max-height:36rem}.max-h-\[42rem\]{max-height:42rem}.max-h-\[48rem\]{max-height:48rem}.max-h-\[56rem\]{max-height:56rem}.max-h-\[64rem\]{max-height:64rem}.max-h-\[90vh\]{max-height:90vh}.max-h-\[664px\]{max-height:664px}.max-h-\[calc\(100\%_-_8rem\)\]{max-height:calc(100% - 8rem)}.max-h-\[none\]{max-height:none}.max-h-full{max-height:100%}.min-h-3{min-height:calc(var(--spacing)*3)}.min-h-3\.5{min-height:calc(var(--spacing)*3.5)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-5{min-height:calc(var(--spacing)*5)}.min-h-6{min-height:calc(var(--spacing)*6)}.min-h-7{min-height:calc(var(--spacing)*7)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-10{min-height:calc(var(--spacing)*10)}.min-h-12{min-height:calc(var(--spacing)*12)}.min-h-14{min-height:calc(var(--spacing)*14)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-\[32px\]{min-height:32px}.min-h-\[48rem\]{min-height:48rem}.min-h-\[50px\]{min-height:50px}.min-h-\[100dvh\]{min-height:100dvh}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-\[25\%\]{width:25%}.w-\[80\%\]{width:80%}.w-\[calc\(100\%_-_16px\)\]{width:calc(100% - 16px)}.w-\[calc\(100\%_-theme\(spacing\.6\)\)\]{width:calc(100% - 1.5rem)}.w-\[calc\(var\(--visible-months\)_\*_var\(--calendar-width\)\)\]{width:calc(var(--visible-months)*var(--calendar-width))}.w-auto{width:auto}.w-divider{width:var(--heroui-divider-weight)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[33\%\]{max-width:33%}.max-w-\[75\%\]{max-width:75%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[270px\]{max-width:270px}.max-w-\[600px\]{max-width:600px}.max-w-\[640px\]{max-width:640px}.max-w-\[768px\]{max-width:768px}.max-w-\[1024px\]{max-width:1024px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[1536px\]{max-width:1536px}.max-w-\[none\]{max-width:none}.max-w-fit{max-width:fit-content}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.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-3{min-width:calc(var(--spacing)*3)}.min-w-3\.5{min-width:calc(var(--spacing)*3.5)}.min-w-4{min-width:calc(var(--spacing)*4)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-6{min-width:calc(var(--spacing)*6)}.min-w-7{min-width:calc(var(--spacing)*7)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-9{min-width:calc(var(--spacing)*9)}.min-w-10{min-width:calc(var(--spacing)*10)}.min-w-12{min-width:calc(var(--spacing)*12)}.min-w-16{min-width:calc(var(--spacing)*16)}.min-w-20{min-width:calc(var(--spacing)*20)}.min-w-24{min-width:calc(var(--spacing)*24)}.min-w-40{min-width:calc(var(--spacing)*40)}.min-w-\[4\.5rem\]{min-width:4.5rem}.min-w-\[120px\]{min-width:120px}.min-w-\[200px\]{min-width:200px}.min-w-full{min-width:100%}.min-w-max{min-width:max-content}.min-w-min{min-width:min-content}.flex-1{flex:1}.flex-auto{flex:auto}.flex-initial{flex:0 auto}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.basis-0{flex-basis:calc(var(--spacing)*0)}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:50%}.origin-left{transform-origin:0}.origin-right{transform-origin:100%}.origin-top{transform-origin:top}.origin-top-left{transform-origin:0 0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1);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)}.translate-y-1{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\/2,.translate-y-2\/4{--tw-translate-y: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-3\/4{--tw-translate-y: 75% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-50{--tw-scale-x:50%;--tw-scale-y:50%;--tw-scale-z:50%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-45{rotate:-45deg}.rotate-0{rotate:none}.rotate-180{rotate:180deg}.spinner-bar-animation{animation-delay:calc(-1.2s + (.1s*var(--bar-index)));transform:rotate(calc(30deg*var(--bar-index)))translate(140%)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\[appearance-in_1s_infinite\]{animation:1s infinite appearance-in}.animate-blink{animation:1.4s infinite both blink}.animate-drip-expand{animation:.42s linear drip-expand}.animate-fade-out{animation:1.2s linear infinite fade-out}.animate-indeterminate-bar{animation:1.5s cubic-bezier(.65,.815,.735,.395) infinite indeterminate-bar}.animate-none{animation:none}.animate-spin{animation:var(--animate-spin)}.animate-spinner-ease-spin{animation:.8s infinite spinner-spin}.animate-spinner-linear-spin{animation:.8s linear infinite spinner-spin}.animate-sway{animation:.75s infinite sway}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize-none{resize:none}.snap-y{scroll-snap-type:y var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-center{scroll-snap-align:center}.scroll-py-6{scroll-padding-block:calc(var(--spacing)*6)}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.\!gap-0{gap:calc(var(--spacing)*0)!important}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.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-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)))}.gap-x-0{column-gap:calc(var(--spacing)*0)}.gap-x-0\.5{column-gap:calc(var(--spacing)*.5)}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-6{column-gap:calc(var(--spacing)*6)}:where(.space-x-0\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*.5)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-0{row-gap:calc(var(--spacing)*0)}.gap-y-1\.5{row-gap:calc(var(--spacing)*1.5)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-\[calc\(var\(--heroui-radius-large\)\/1\.5\)\]{border-radius:calc(var(--heroui-radius-large)/1.5)}.rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.5\)\]{border-radius:calc(var(--heroui-radius-medium)*.5)}.rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.6\)\]{border-radius:calc(var(--heroui-radius-medium)*.6)}.rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.7\)\]{border-radius:calc(var(--heroui-radius-medium)*.7)}.rounded-\[calc\(var\(--heroui-radius-medium\)\/2\)\]{border-radius:calc(var(--heroui-radius-medium)/2)}.rounded-\[calc\(var\(--heroui-radius-small\)\/2\)\]{border-radius:calc(var(--heroui-radius-small)/2)}.rounded-full{border-radius:3.40282e38px}.rounded-large{border-radius:var(--heroui-radius-large)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-medium{border-radius:var(--heroui-radius-medium)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-small{border-radius:var(--heroui-radius-small)}.\!rounded-s-none{border-start-start-radius:0!important;border-end-start-radius:0!important}.\!rounded-e-none{border-start-end-radius:0!important;border-end-end-radius:0!important}.rounded-t-large{border-top-left-radius:var(--heroui-radius-large);border-top-right-radius:var(--heroui-radius-large)}.rounded-t-medium{border-top-left-radius:var(--heroui-radius-medium);border-top-right-radius:var(--heroui-radius-medium)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-t-small{border-top-left-radius:var(--heroui-radius-small);border-top-right-radius:var(--heroui-radius-small)}.rounded-l-medium{border-top-left-radius:var(--heroui-radius-medium);border-bottom-left-radius:var(--heroui-radius-medium)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr-medium{border-top-right-radius:var(--heroui-radius-medium)}.rounded-b-large{border-bottom-right-radius:var(--heroui-radius-large);border-bottom-left-radius:var(--heroui-radius-large)}.rounded-b-medium{border-bottom-right-radius:var(--heroui-radius-medium);border-bottom-left-radius:var(--heroui-radius-medium)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-b-small{border-bottom-right-radius:var(--heroui-radius-small);border-bottom-left-radius:var(--heroui-radius-small)}.rounded-br-medium{border-bottom-right-radius:var(--heroui-radius-medium)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-medium{border-style:var(--tw-border-style);border-width:var(--heroui-border-width-medium)}.border-small{border-style:var(--tw-border-style);border-width:var(--heroui-border-width-small)}.border-x-\[calc\(theme\(spacing\.5\)\/2\)\]{border-inline-style:var(--tw-border-style);border-inline-width:.625rem}.border-x-\[calc\(theme\(spacing\.6\)\/2\)\]{border-inline-style:var(--tw-border-style);border-inline-width:.75rem}.border-x-\[calc\(theme\(spacing\.7\)\/2\)\]{border-inline-style:var(--tw-border-style);border-inline-width:.875rem}.border-y-\[calc\(theme\(spacing\.5\)\/2\)\]{border-block-style:var(--tw-border-style);border-block-width:.625rem}.border-y-\[calc\(theme\(spacing\.6\)\/2\)\]{border-block-style:var(--tw-border-style);border-block-width:.75rem}.border-y-\[calc\(theme\(spacing\.7\)\/2\)\]{border-block-style:var(--tw-border-style);border-block-width:.875rem}.border-t-1{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-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-medium{border-bottom-style:var(--tw-border-style);border-bottom-width:var(--heroui-border-width-medium)}.border-b-small{border-bottom-style:var(--tw-border-style);border-bottom-width:var(--heroui-border-width-small)}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.\!border-danger{border-color:hsl(var(--heroui-danger)/1)!important}.border-background{border-color:hsl(var(--heroui-background)/1)}.border-danger{border-color:hsl(var(--heroui-danger)/1)}.border-danger-100{border-color:hsl(var(--heroui-danger-100)/1)}.border-danger-200{border-color:hsl(var(--heroui-danger-200)/1)}.border-danger-400{border-color:hsl(var(--heroui-danger-400)/1)}.border-default{border-color:hsl(var(--heroui-default)/1)}.border-default-100{border-color:hsl(var(--heroui-default-100)/1)}.border-default-200{border-color:hsl(var(--heroui-default-200)/1)}.border-default-300{border-color:hsl(var(--heroui-default-300)/1)}.border-default-400{border-color:hsl(var(--heroui-default-400)/1)}.border-divider{border-color:hsl(var(--heroui-divider)/.15)}.border-foreground{border-color:hsl(var(--heroui-foreground)/1)}.border-foreground-400{border-color:hsl(var(--heroui-foreground-400)/1)}.border-primary{border-color:var(--color-primary)}.border-primary-100{border-color:hsl(var(--heroui-primary-100)/1)}.border-primary-200{border-color:hsl(var(--heroui-primary-200)/1)}.border-primary-400{border-color:hsl(var(--heroui-primary-400)/1)}.border-secondary{border-color:hsl(var(--heroui-secondary)/1)}.border-secondary-100{border-color:hsl(var(--heroui-secondary-100)/1)}.border-secondary-200{border-color:hsl(var(--heroui-secondary-200)/1)}.border-secondary-400{border-color:hsl(var(--heroui-secondary-400)/1)}.border-success{border-color:hsl(var(--heroui-success)/1)}.border-success-100{border-color:hsl(var(--heroui-success-100)/1)}.border-success-200{border-color:hsl(var(--heroui-success-200)/1)}.border-success-300{border-color:hsl(var(--heroui-success-300)/1)}.border-success-400{border-color:hsl(var(--heroui-success-400)/1)}.border-transparent{border-color:#0000}.border-warning{border-color:hsl(var(--heroui-warning)/1)}.border-warning-100{border-color:hsl(var(--heroui-warning-100)/1)}.border-warning-200{border-color:hsl(var(--heroui-warning-200)/1)}.border-warning-300{border-color:hsl(var(--heroui-warning-300)/1)}.border-warning-400{border-color:hsl(var(--heroui-warning-400)/1)}.border-x-transparent{border-inline-color:#0000}.border-y-transparent{border-block-color:#0000}.border-t-transparent{border-top-color:#0000}.border-r-transparent{border-right-color:#0000}.border-b-current{border-bottom-color:currentColor}.border-b-danger{border-bottom-color:hsl(var(--heroui-danger)/1)}.border-b-default{border-bottom-color:hsl(var(--heroui-default)/1)}.border-b-primary{border-bottom-color:var(--color-primary)}.border-b-secondary{border-bottom-color:hsl(var(--heroui-secondary)/1)}.border-b-success{border-bottom-color:hsl(var(--heroui-success)/1)}.border-b-warning{border-bottom-color:hsl(var(--heroui-warning)/1)}.border-b-white{border-bottom-color:var(--color-white)}.border-l-transparent{border-left-color:#0000}.\!bg-danger-50{background-color:hsl(var(--heroui-danger-50)/1)!important}.\!bg-transparent{background-color:#0000!important}.bg-background,.bg-background\/10{background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.bg-background\/10{background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)10%,transparent)}}.bg-background\/70{background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.bg-background\/70{background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)70%,transparent)}}.bg-background\/80{background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)80%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,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-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-content1{background-color:hsl(var(--heroui-content1)/1)}.bg-content3{background-color:hsl(var(--heroui-content3)/1)}.bg-current{background-color:currentColor}.bg-danger{background-color:hsl(var(--heroui-danger)/1)}.bg-danger-50{background-color:hsl(var(--heroui-danger-50)/1)}.bg-danger-100{background-color:hsl(var(--heroui-danger-100)/1)}.bg-danger-400{background-color:hsl(var(--heroui-danger-400)/1)}.bg-danger\/20{background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.bg-danger\/20{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.bg-default{background-color:hsl(var(--heroui-default)/1)}.bg-default-50{background-color:hsl(var(--heroui-default-50)/1)}.bg-default-100{background-color:hsl(var(--heroui-default-100)/1)}.bg-default-200{background-color:hsl(var(--heroui-default-200)/1)}.bg-default-300\/50{background-color:hsl(var(--heroui-default-300)/1)}@supports (color:color-mix(in lab,red,red)){.bg-default-300\/50{background-color:color-mix(in oklab,hsl(var(--heroui-default-300)/1)50%,transparent)}}.bg-default-400{background-color:hsl(var(--heroui-default-400)/1)}.bg-default-500{background-color:hsl(var(--heroui-default-500)/1)}.bg-default-800{background-color:hsl(var(--heroui-default-800)/1)}.bg-default\/40{background-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.bg-default\/40{background-color:color-mix(in oklab,hsl(var(--heroui-default)/1)40%,transparent)}}.bg-divider{background-color:hsl(var(--heroui-divider)/.15)}.bg-foreground{background-color:hsl(var(--heroui-foreground)/1)}.bg-foreground-100{background-color:hsl(var(--heroui-foreground-100)/1)}.bg-foreground-400{background-color:hsl(var(--heroui-foreground-400)/1)}.bg-foreground\/10{background-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/10{background-color:color-mix(in oklab,hsl(var(--heroui-foreground)/1)10%,transparent)}}.bg-overlay\/30{background-color:hsl(var(--heroui-overlay)/1)}@supports (color:color-mix(in lab,red,red)){.bg-overlay\/30{background-color:color-mix(in oklab,hsl(var(--heroui-overlay)/1)30%,transparent)}}.bg-overlay\/50{background-color:hsl(var(--heroui-overlay)/1)}@supports (color:color-mix(in lab,red,red)){.bg-overlay\/50{background-color:color-mix(in oklab,hsl(var(--heroui-overlay)/1)50%,transparent)}}.bg-primary{background-color:var(--color-primary)}.bg-primary-50{background-color:hsl(var(--heroui-primary-50)/1)}.bg-primary-100{background-color:hsl(var(--heroui-primary-100)/1)}.bg-primary-400{background-color:hsl(var(--heroui-primary-400)/1)}.bg-primary\/20{background-color:#1b54ff33}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--color-primary)20%,transparent)}}.bg-secondary{background-color:hsl(var(--heroui-secondary)/1)}.bg-secondary-50{background-color:hsl(var(--heroui-secondary-50)/1)}.bg-secondary-100{background-color:hsl(var(--heroui-secondary-100)/1)}.bg-secondary-400{background-color:hsl(var(--heroui-secondary-400)/1)}.bg-secondary\/20{background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/20{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.bg-success{background-color:hsl(var(--heroui-success)/1)}.bg-success-50{background-color:hsl(var(--heroui-success-50)/1)}.bg-success-100{background-color:hsl(var(--heroui-success-100)/1)}.bg-success-400{background-color:hsl(var(--heroui-success-400)/1)}.bg-success\/20{background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.bg-success\/20{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.bg-transparent{background-color:#0000}.bg-warning{background-color:hsl(var(--heroui-warning)/1)}.bg-warning-50{background-color:hsl(var(--heroui-warning-50)/1)}.bg-warning-100{background-color:hsl(var(--heroui-warning-100)/1)}.bg-warning-400{background-color:hsl(var(--heroui-warning-400)/1)}.bg-warning\/20{background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/20{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-img-inherit{background-image:inherit}.bg-stripe-gradient-danger{background-image:linear-gradient(45deg,hsl(var(--heroui-danger-200))25%,hsl(var(--heroui-danger))25%50%,hsl(var(--heroui-danger-200))50%75%,hsl(var(--heroui-danger))75%,hsl(var(--heroui-danger)))}.bg-stripe-gradient-default{background-image:linear-gradient(45deg,hsl(var(--heroui-default-200))25%,hsl(var(--heroui-default-400))25%50%,hsl(var(--heroui-default-200))50%75%,hsl(var(--heroui-default-400))75%,hsl(var(--heroui-default-400)))}.bg-stripe-gradient-primary{background-image:linear-gradient(45deg,hsl(var(--heroui-primary-200))25%,hsl(var(--heroui-primary))25%50%,hsl(var(--heroui-primary-200))50%75%,hsl(var(--heroui-primary))75%,hsl(var(--heroui-primary)))}.bg-stripe-gradient-secondary{background-image:linear-gradient(45deg,hsl(var(--heroui-secondary-200))25%,hsl(var(--heroui-secondary))25%50%,hsl(var(--heroui-secondary-200))50%75%,hsl(var(--heroui-secondary))75%,hsl(var(--heroui-secondary)))}.bg-stripe-gradient-success{background-image:linear-gradient(45deg,hsl(var(--heroui-success-200))25%,hsl(var(--heroui-success))25%50%,hsl(var(--heroui-success-200))50%75%,hsl(var(--heroui-success))75%,hsl(var(--heroui-success)))}.bg-stripe-gradient-warning{background-image:linear-gradient(45deg,hsl(var(--heroui-warning-200))25%,hsl(var(--heroui-warning))25%50%,hsl(var(--heroui-warning-200))50%75%,hsl(var(--heroui-warning))75%,hsl(var(--heroui-warning)))}.from-default-600{--tw-gradient-from:hsl(var(--heroui-default-600)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-default-200{--tw-gradient-via:hsl(var(--heroui-default-200)/1);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-current{--tw-gradient-to:currentcolor;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-danger{--tw-gradient-to:hsl(var(--heroui-danger)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-default{--tw-gradient-to:hsl(var(--heroui-default)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-default-600{--tw-gradient-to:hsl(var(--heroui-default-600)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-secondary{--tw-gradient-to:hsl(var(--heroui-secondary)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-success{--tw-gradient-to:hsl(var(--heroui-success)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-warning{--tw-gradient-to:hsl(var(--heroui-warning)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.\[mask-image\:linear-gradient\(\#000\,\#000\,transparent_0\,\#000_var\(--scroll-shadow-size\)\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\]{-webkit-mask-image:linear-gradient(#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent)}.bg-clip-inherit{background-clip:inherit}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.stroke-default-300\/50{stroke:hsl(var(--heroui-default-300)/1)}@supports (color:color-mix(in lab,red,red)){.stroke-default-300\/50{stroke:color-mix(in oklab,hsl(var(--heroui-default-300)/1)50%,transparent)}}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.\!px-1{padding-inline:calc(var(--spacing)*1)!important}.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-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0{padding-block:calc(var(--spacing)*0)}.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)}.ps-1{padding-inline-start:calc(var(--spacing)*1)}.ps-2{padding-inline-start:calc(var(--spacing)*2)}.pe-2{padding-inline-end:calc(var(--spacing)*2)}.pe-6{padding-inline-end:calc(var(--spacing)*6)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pr-0\.5{padding-right:calc(var(--spacing)*.5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.\!pb-0{padding-bottom:calc(var(--spacing)*0)!important}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-0\.5{padding-bottom:calc(var(--spacing)*.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pl-0{padding-left:calc(var(--spacing)*0)}.pl-0\.5{padding-left:calc(var(--spacing)*.5)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-\[1px\]{padding-left:1px}.text-center{text-align:center}.text-end{text-align:end}.text-left{text-align:left}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-large{font-size:var(--heroui-font-size-large);line-height:var(--heroui-line-height-large)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-medium{font-size:var(--heroui-font-size-medium);line-height:var(--heroui-line-height-medium)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-small{font-size:var(--heroui-font-size-small);line-height:var(--heroui-line-height-small)}.text-tiny{font-size:var(--heroui-font-size-tiny);line-height:var(--heroui-line-height-tiny)}.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-\[0\.5rem\]{font-size:.5rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.55rem\]{font-size:.55rem}.text-\[85\%\]{font-size:85%}.text-\[90\%\]{font-size:90%}.text-\[100\%\]{font-size:100%}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-\[32px\]{--tw-leading:32px;line-height:32px}.leading-inherit{line-height:inherit}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.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)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.\!text-danger{color:hsl(var(--heroui-danger)/1)!important}.\!text-default-900{color:hsl(var(--heroui-default-900)/1)!important}.\!text-green-600{color:var(--color-green-600)!important}.\!text-purple-500{color:var(--color-purple-500)!important}.\!text-yellow-600{color:var(--color-yellow-600)!important}.text-background{color:hsl(var(--heroui-background)/1)}.text-black{color:var(--color-black)}.text-current{color:currentColor}.text-danger{color:hsl(var(--heroui-danger)/1)}.text-danger-300{color:hsl(var(--heroui-danger-300)/1)}.text-danger-400{color:hsl(var(--heroui-danger-400)/1)}.text-danger-500{color:hsl(var(--heroui-danger-500)/1)}.text-danger-600{color:hsl(var(--heroui-danger-600)/1)}.text-danger-foreground{color:hsl(var(--heroui-danger-foreground)/1)}.text-danger\/80{color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.text-danger\/80{color:color-mix(in oklab,hsl(var(--heroui-danger)/1)80%,transparent)}}.text-default{color:hsl(var(--heroui-default)/1)}.text-default-400{color:hsl(var(--heroui-default-400)/1)}.text-default-500{color:hsl(var(--heroui-default-500)/1)}.text-default-600{color:hsl(var(--heroui-default-600)/1)}.text-default-700{color:hsl(var(--heroui-default-700)/1)}.text-default-900{color:hsl(var(--heroui-default-900)/1)}.text-default-foreground{color:hsl(var(--heroui-default-foreground)/1)}.text-foreground{color:hsl(var(--heroui-foreground)/1)}.text-foreground-400{color:hsl(var(--heroui-foreground-400)/1)}.text-foreground-500{color:hsl(var(--heroui-foreground-500)/1)}.text-foreground-600{color:hsl(var(--heroui-foreground-600)/1)}.text-foreground\/50{color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/50{color:color-mix(in oklab,hsl(var(--heroui-foreground)/1)50%,transparent)}}.text-inherit{color:inherit}.text-primary{color:var(--color-primary)}.text-primary-300{color:hsl(var(--heroui-primary-300)/1)}.text-primary-400{color:hsl(var(--heroui-primary-400)/1)}.text-primary-500{color:hsl(var(--heroui-primary-500)/1)}.text-primary-600{color:hsl(var(--heroui-primary-600)/1)}.text-primary-foreground{color:hsl(var(--heroui-primary-foreground)/1)}.text-primary\/80{color:#1b54ffcc}@supports (color:color-mix(in lab,red,red)){.text-primary\/80{color:color-mix(in oklab,var(--color-primary)80%,transparent)}}.text-secondary{color:hsl(var(--heroui-secondary)/1)}.text-secondary-300{color:hsl(var(--heroui-secondary-300)/1)}.text-secondary-400{color:hsl(var(--heroui-secondary-400)/1)}.text-secondary-500{color:hsl(var(--heroui-secondary-500)/1)}.text-secondary-600{color:hsl(var(--heroui-secondary-600)/1)}.text-secondary-foreground{color:hsl(var(--heroui-secondary-foreground)/1)}.text-secondary\/80{color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.text-secondary\/80{color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)80%,transparent)}}.text-success{color:hsl(var(--heroui-success)/1)}.text-success-400{color:hsl(var(--heroui-success-400)/1)}.text-success-500{color:hsl(var(--heroui-success-500)/1)}.text-success-600{color:hsl(var(--heroui-success-600)/1)}.text-success-700{color:hsl(var(--heroui-success-700)/1)}.text-success-foreground{color:hsl(var(--heroui-success-foreground)/1)}.text-success\/80{color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.text-success\/80{color:color-mix(in oklab,hsl(var(--heroui-success)/1)80%,transparent)}}.text-transparent{color:#0000}.text-warning{color:hsl(var(--heroui-warning)/1)}.text-warning-400{color:hsl(var(--heroui-warning-400)/1)}.text-warning-500{color:hsl(var(--heroui-warning-500)/1)}.text-warning-600{color:hsl(var(--heroui-warning-600)/1)}.text-warning-700{color:hsl(var(--heroui-warning-700)/1)}.text-warning-foreground{color:hsl(var(--heroui-warning-foreground)/1)}.text-warning\/80{color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.text-warning\/80{color:color-mix(in oklab,hsl(var(--heroui-warning)/1)80%,transparent)}}.text-white{color:var(--color-white)}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark{color-scheme:dark;--heroui-background:0 0% 0%;--heroui-foreground-50:240 5.88% 10%;--heroui-foreground-100:240 3.7% 15.88%;--heroui-foreground-200:240 5.26% 26.08%;--heroui-foreground-300:240 5.2% 33.92%;--heroui-foreground-400:240 3.83% 46.08%;--heroui-foreground-500:240 5.03% 64.9%;--heroui-foreground-600:240 4.88% 83.92%;--heroui-foreground-700:240 5.88% 90%;--heroui-foreground-800:240 4.76% 95.88%;--heroui-foreground-900:0 0% 98.04%;--heroui-foreground:210 5.56% 92.94%;--heroui-focus:212.02 100% 46.67%;--heroui-overlay:0 0% 0%;--heroui-divider:0 0% 100%;--heroui-content1:240 5.88% 10%;--heroui-content1-foreground:0 0% 98.04%;--heroui-content2:240 3.7% 15.88%;--heroui-content2-foreground:240 4.76% 95.88%;--heroui-content3:240 5.26% 26.08%;--heroui-content3-foreground:240 5.88% 90%;--heroui-content4:240 5.2% 33.92%;--heroui-content4-foreground:240 4.88% 83.92%;--heroui-default-50:240 5.88% 10%;--heroui-default-100:240 3.7% 15.88%;--heroui-default-200:240 5.26% 26.08%;--heroui-default-300:240 5.2% 33.92%;--heroui-default-400:240 3.83% 46.08%;--heroui-default-500:240 5.03% 64.9%;--heroui-default-600:240 4.88% 83.92%;--heroui-default-700:240 5.88% 90%;--heroui-default-800:240 4.76% 95.88%;--heroui-default-900:0 0% 98.04%;--heroui-default-foreground:0 0% 100%;--heroui-default:240 5.26% 26.08%;--heroui-primary-50:211.84 100% 9.61%;--heroui-primary-100:211.84 100% 19.22%;--heroui-primary-200:212.24 100% 28.82%;--heroui-primary-300:212.14 100% 38.43%;--heroui-primary-400:212.02 100% 46.67%;--heroui-primary-500:212.14 92.45% 58.43%;--heroui-primary-600:212.24 92.45% 68.82%;--heroui-primary-700:211.84 92.45% 79.22%;--heroui-primary-800:211.84 92.45% 89.61%;--heroui-primary-900:212.5 92.31% 94.9%;--heroui-primary-foreground:0 0% 100%;--heroui-primary:212.02 100% 46.67%;--heroui-secondary-50:270 66.67% 9.41%;--heroui-secondary-100:270 66.67% 18.82%;--heroui-secondary-200:270 66.67% 28.24%;--heroui-secondary-300:270 66.67% 37.65%;--heroui-secondary-400:270 66.67% 47.06%;--heroui-secondary-500:270 59.26% 57.65%;--heroui-secondary-600:270 59.26% 68.24%;--heroui-secondary-700:270 59.26% 78.82%;--heroui-secondary-800:270 59.26% 89.41%;--heroui-secondary-900:270 61.54% 94.9%;--heroui-secondary-foreground:0 0% 100%;--heroui-secondary:270 59.26% 57.65%;--heroui-success-50:145.71 77.78% 8.82%;--heroui-success-100:146.2 79.78% 17.45%;--heroui-success-200:145.79 79.26% 26.47%;--heroui-success-300:146.01 79.89% 35.1%;--heroui-success-400:145.96 79.46% 43.92%;--heroui-success-500:146.01 62.45% 55.1%;--heroui-success-600:145.79 62.57% 66.47%;--heroui-success-700:146.2 61.74% 77.45%;--heroui-success-800:145.71 61.4% 88.82%;--heroui-success-900:146.67 64.29% 94.51%;--heroui-success-foreground:0 0% 0%;--heroui-success:145.96 79.46% 43.92%;--heroui-warning-50:37.14 75% 10.98%;--heroui-warning-100:37.14 75% 21.96%;--heroui-warning-200:36.96 73.96% 33.14%;--heroui-warning-300:37.01 74.22% 44.12%;--heroui-warning-400:37.03 91.27% 55.1%;--heroui-warning-500:37.01 91.26% 64.12%;--heroui-warning-600:36.96 91.24% 73.14%;--heroui-warning-700:37.14 91.3% 81.96%;--heroui-warning-800:37.14 91.3% 90.98%;--heroui-warning-900:54.55 91.67% 95.29%;--heroui-warning-foreground:0 0% 0%;--heroui-warning:37.03 91.27% 55.1%;--heroui-danger-50:340 84.91% 10.39%;--heroui-danger-100:339.33 86.54% 20.39%;--heroui-danger-200:339.11 85.99% 30.78%;--heroui-danger-300:339 86.54% 40.78%;--heroui-danger-400:339.2 90.36% 51.18%;--heroui-danger-500:339 90% 60.78%;--heroui-danger-600:339.11 90.6% 70.78%;--heroui-danger-700:339.33 90% 80.39%;--heroui-danger-800:340 91.84% 90.39%;--heroui-danger-900:339.13 92% 95.1%;--heroui-danger-foreground:0 0% 100%;--heroui-danger:339.2 90.36% 51.18%;--heroui-divider-weight:1px;--heroui-disabled-opacity:.5;--heroui-font-size-tiny:.75rem;--heroui-font-size-small:.875rem;--heroui-font-size-medium:1rem;--heroui-font-size-large:1.125rem;--heroui-line-height-tiny:1rem;--heroui-line-height-small:1.25rem;--heroui-line-height-medium:1.5rem;--heroui-line-height-large:1.75rem;--heroui-radius-small:8px;--heroui-radius-medium:12px;--heroui-radius-large:14px;--heroui-border-width-small:1px;--heroui-border-width-medium:2px;--heroui-border-width-large:3px;--heroui-box-shadow-small:0px 0px 5px 0px #0000000d,0px 2px 10px 0px #0003,inset 0px 0px 1px 0px #ffffff26;--heroui-box-shadow-medium:0px 0px 15px 0px #0000000f,0px 2px 30px 0px #00000038,inset 0px 0px 1px 0px #ffffff26;--heroui-box-shadow-large:0px 0px 30px 0px #00000012,0px 30px 60px 0px #00000042,inset 0px 0px 1px 0px #ffffff26;--heroui-hover-opacity:.9}.light{color-scheme:light;--heroui-background:0 0% 100%;--heroui-foreground-50:0 0% 98.04%;--heroui-foreground-100:240 4.76% 95.88%;--heroui-foreground-200:240 5.88% 90%;--heroui-foreground-300:240 4.88% 83.92%;--heroui-foreground-400:240 5.03% 64.9%;--heroui-foreground-500:240 3.83% 46.08%;--heroui-foreground-600:240 5.2% 33.92%;--heroui-foreground-700:240 5.26% 26.08%;--heroui-foreground-800:240 3.7% 15.88%;--heroui-foreground-900:240 5.88% 10%;--heroui-foreground:201.82 24.44% 8.82%;--heroui-divider:0 0% 6.67%;--heroui-focus:212.02 100% 46.67%;--heroui-overlay:0 0% 0%;--heroui-content1:0 0% 100%;--heroui-content1-foreground:201.82 24.44% 8.82%;--heroui-content2:240 4.76% 95.88%;--heroui-content2-foreground:240 3.7% 15.88%;--heroui-content3:240 5.88% 90%;--heroui-content3-foreground:240 5.26% 26.08%;--heroui-content4:240 4.88% 83.92%;--heroui-content4-foreground:240 5.2% 33.92%;--heroui-default-50:0 0% 98.04%;--heroui-default-100:240 4.76% 95.88%;--heroui-default-200:240 5.88% 90%;--heroui-default-300:240 4.88% 83.92%;--heroui-default-400:240 5.03% 64.9%;--heroui-default-500:240 3.83% 46.08%;--heroui-default-600:240 5.2% 33.92%;--heroui-default-700:240 5.26% 26.08%;--heroui-default-800:240 3.7% 15.88%;--heroui-default-900:240 5.88% 10%;--heroui-default-foreground:0 0% 0%;--heroui-default:240 4.88% 83.92%;--heroui-primary-50:212.5 92.31% 94.9%;--heroui-primary-100:211.84 92.45% 89.61%;--heroui-primary-200:211.84 92.45% 79.22%;--heroui-primary-300:212.24 92.45% 68.82%;--heroui-primary-400:212.14 92.45% 58.43%;--heroui-primary-500:212.02 100% 46.67%;--heroui-primary-600:212.14 100% 38.43%;--heroui-primary-700:212.24 100% 28.82%;--heroui-primary-800:211.84 100% 19.22%;--heroui-primary-900:211.84 100% 9.61%;--heroui-primary-foreground:0 0% 100%;--heroui-primary:212.02 100% 46.67%;--heroui-secondary-50:270 61.54% 94.9%;--heroui-secondary-100:270 59.26% 89.41%;--heroui-secondary-200:270 59.26% 78.82%;--heroui-secondary-300:270 59.26% 68.24%;--heroui-secondary-400:270 59.26% 57.65%;--heroui-secondary-500:270 66.67% 47.06%;--heroui-secondary-600:270 66.67% 37.65%;--heroui-secondary-700:270 66.67% 28.24%;--heroui-secondary-800:270 66.67% 18.82%;--heroui-secondary-900:270 66.67% 9.41%;--heroui-secondary-foreground:0 0% 100%;--heroui-secondary:270 66.67% 47.06%;--heroui-success-50:146.67 64.29% 94.51%;--heroui-success-100:145.71 61.4% 88.82%;--heroui-success-200:146.2 61.74% 77.45%;--heroui-success-300:145.79 62.57% 66.47%;--heroui-success-400:146.01 62.45% 55.1%;--heroui-success-500:145.96 79.46% 43.92%;--heroui-success-600:146.01 79.89% 35.1%;--heroui-success-700:145.79 79.26% 26.47%;--heroui-success-800:146.2 79.78% 17.45%;--heroui-success-900:145.71 77.78% 8.82%;--heroui-success-foreground:0 0% 0%;--heroui-success:145.96 79.46% 43.92%;--heroui-warning-50:54.55 91.67% 95.29%;--heroui-warning-100:37.14 91.3% 90.98%;--heroui-warning-200:37.14 91.3% 81.96%;--heroui-warning-300:36.96 91.24% 73.14%;--heroui-warning-400:37.01 91.26% 64.12%;--heroui-warning-500:37.03 91.27% 55.1%;--heroui-warning-600:37.01 74.22% 44.12%;--heroui-warning-700:36.96 73.96% 33.14%;--heroui-warning-800:37.14 75% 21.96%;--heroui-warning-900:37.14 75% 10.98%;--heroui-warning-foreground:0 0% 0%;--heroui-warning:37.03 91.27% 55.1%;--heroui-danger-50:339.13 92% 95.1%;--heroui-danger-100:340 91.84% 90.39%;--heroui-danger-200:339.33 90% 80.39%;--heroui-danger-300:339.11 90.6% 70.78%;--heroui-danger-400:339 90% 60.78%;--heroui-danger-500:339.2 90.36% 51.18%;--heroui-danger-600:339 86.54% 40.78%;--heroui-danger-700:339.11 85.99% 30.78%;--heroui-danger-800:339.33 86.54% 20.39%;--heroui-danger-900:340 84.91% 10.39%;--heroui-danger-foreground:0 0% 100%;--heroui-danger:339.2 90.36% 51.18%;--heroui-divider-weight:1px;--heroui-disabled-opacity:.5;--heroui-font-size-tiny:.75rem;--heroui-font-size-small:.875rem;--heroui-font-size-medium:1rem;--heroui-font-size-large:1.125rem;--heroui-line-height-tiny:1rem;--heroui-line-height-small:1.25rem;--heroui-line-height-medium:1.5rem;--heroui-line-height-large:1.75rem;--heroui-radius-small:8px;--heroui-radius-medium:12px;--heroui-radius-large:14px;--heroui-border-width-small:1px;--heroui-border-width-medium:2px;--heroui-border-width-large:3px;--heroui-box-shadow-small:0px 0px 5px 0px #00000005,0px 2px 10px 0px #0000000f,0px 0px 1px 0px #0000004d;--heroui-box-shadow-medium:0px 0px 15px 0px #00000008,0px 2px 30px 0px #00000014,0px 0px 1px 0px #0000004d;--heroui-box-shadow-large:0px 0px 30px 0px #0000000a,0px 30px 60px 0px #0000001f,0px 0px 1px 0px #0000004d;--heroui-hover-opacity:.8}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-100{opacity:1}.opacity-\[0\.0001\]{opacity:.0001}.opacity-\[value\]{opacity:value}.opacity-disabled{opacity:var(--heroui-disabled-opacity)}.\!shadow-none{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.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-\[0_1px_0px_0_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0 1px 0px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0px_20px_20px_0px_rgb\(0_0_0\/0\.05\)\]{--tw-shadow:0px 20px 20px 0px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-large{--tw-shadow:var(--heroui-box-shadow-large);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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-medium{--tw-shadow:var(--heroui-box-shadow-medium);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-small{--tw-shadow:var(--heroui-box-shadow-small);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-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)}.shadow-black\/5{--tw-shadow-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.shadow-black\/5{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)5%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-danger\/40{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-danger\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-default\/50{--tw-shadow-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-default\/50{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-default)/1)50%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-foreground\/40{--tw-shadow-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-foreground\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-foreground)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-primary\/40{--tw-shadow-color:#1b54ff66}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-primary)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-secondary\/40{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-secondary\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-success\/40{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-success\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-warning\/40{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-warning\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-background{--tw-ring-color:hsl(var(--heroui-background)/1)}.ring-danger{--tw-ring-color:hsl(var(--heroui-danger)/1)}.ring-default{--tw-ring-color:hsl(var(--heroui-default)/1)}.ring-focus{--tw-ring-color:hsl(var(--heroui-focus)/1)}.ring-primary{--tw-ring-color:var(--color-primary)}.ring-secondary{--tw-ring-color:hsl(var(--heroui-secondary)/1)}.ring-success{--tw-ring-color:hsl(var(--heroui-success)/1)}.ring-transparent{--tw-ring-color:transparent}.ring-warning{--tw-ring-color:hsl(var(--heroui-warning)/1)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--heroui-background)/1)}.\!outline-hidden{--tw-outline-style:none!important;outline-style:none!important}@media (forced-colors:active){.\!outline-hidden{outline-offset:2px!important;outline:2px solid #0000!important}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.blur{--tw-blur:blur(8px);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,)}.blur-lg{--tw-blur:blur(var(--blur-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.saturate-150{--tw-saturate:saturate(150%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-opacity-disabled{--tw-backdrop-opacity:opacity(var(--heroui-disabled-opacity));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-saturate-150{--tw-backdrop-saturate:saturate(150%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{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,visibility,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-\[color\,opacity\]{transition-property:color,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,background-color\,color\]{transition-property:transform,background-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,color\,left\,opacity\,translate\,scale\]{transition-property:transform,color,left,opacity,translate,scale;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-background{transition-property:background;transition-duration:.25s;transition-timing-function:ease}.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-colors-opacity{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity;transition-duration:.25s;transition-timing-function:ease}.transition-height{transition-property:height;transition-duration:.25s;transition-timing-function:ease}.transition-left{transition-property:left;transition-duration:.25s;transition-timing-function:ease}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-size{transition-property:width,height;transition-duration:.25s;transition-timing-function:ease}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform-background{transition-property:transform,scale,background;transition-duration:.25s;transition-timing-function:ease}.transition-transform-colors{transition-property:transform,scale,color,background,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.25s;transition-timing-function:ease}.transition-transform-colors-opacity{transition-property:transform,scale,color,background,background-color,border-color,text-decoration-color,fill,stroke,opacity;transition-duration:.25s;transition-timing-function:ease}.transition-transform-opacity{transition-property:transform,scale,opacity rotate;transition-duration:.25s;transition-timing-function:ease}.transition-width{transition-property:width;transition-duration:.25s;transition-timing-function:ease}.\!transition-none{transition-property:none!important}.transition-none{transition-property:none}.\!duration-100{--tw-duration:.1s!important;transition-duration:.1s!important}.\!duration-150{--tw-duration:.15s!important;transition-duration:.15s!important}.\!duration-200{--tw-duration:.2s!important;transition-duration:.2s!important}.\!duration-250{--tw-duration:.25s!important;transition-duration:.25s!important}.\!duration-300{--tw-duration:.3s!important;transition-duration:.3s!important}.\!duration-500{--tw-duration:.5s!important;transition-duration:.5s!important}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.\!ease-out{--tw-ease:var(--ease-out)!important;transition-timing-function:var(--ease-out)!important}.\!ease-soft-spring{--tw-ease:cubic-bezier(.155,1.105,.295,1.12)!important;transition-timing-function:cubic-bezier(.155,1.105,.295,1.12)!important}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-auto{will-change:auto}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--picker-height\:224px\]{--picker-height:224px}.\[--scale-enter\:100\%\]{--scale-enter:100%}.\[--scale-exit\:100\%\]{--scale-exit:100%}.\[--scroll-shadow-size\:100px\]{--scroll-shadow-size:100px}.\[--slide-enter\:0px\]{--slide-enter:0px}.\[--slide-exit\:80px\]{--slide-exit:80px}.\[-webkit-mask\:radial-gradient\(closest-side\,rgba\(0\,0\,0\,0\.0\)calc\(100\%-3px\)\,rgba\(0\,0\,0\,1\)calc\(100\%-3px\)\)\]{-webkit-mask:radial-gradient(closest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px))}.\[animation-duration\:1s\]{animation-duration:1s}.input-search-cancel-button-none::-webkit-search-cancel-button{-webkit-appearance:none}.spinner-dot-animation{animation-delay:calc(.25s*var(--dot-index))}.spinner-dot-blink-animation{animation-delay:calc(.2s*var(--dot-index))}.tap-highlight-transparent{-webkit-tap-highlight-color:transparent}.text-fill-inherit{-webkit-text-fill-color:inherit}@media (hover:hover){.group-hover\:pointer-events-auto:is(:where(.group):hover *){pointer-events:auto}.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:hidden:is(:where(.group):hover *){display:none}.group-hover\:border-current:is(:where(.group):hover *){border-color:currentColor}.group-hover\:text-current:is(:where(.group):hover *){color:currentColor}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\[copied\=true\]\:scale-50:is(:where(.group)[data-copied=true] *){--tw-scale-x:50%;--tw-scale-y:50%;--tw-scale-z:50%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[copied\=true\]\:scale-100:is(:where(.group)[data-copied=true] *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[copied\=true\]\:opacity-0:is(:where(.group)[data-copied=true] *){opacity:0}.group-data-\[copied\=true\]\:opacity-100:is(:where(.group)[data-copied=true] *){opacity:1}.group-data-\[disabled\=true\]\/tr\:cursor-not-allowed:is(:where(.group\/tr)[data-disabled=true] *){cursor:not-allowed}.group-data-\[disabled\=true\]\/tr\:text-foreground-300:is(:where(.group\/tr)[data-disabled=true] *){color:hsl(var(--heroui-foreground-300)/1)}.group-data-\[filled-within\=true\]\:pointer-events-auto:is(:where(.group)[data-filled-within=true] *){pointer-events:auto}.group-data-\[filled-within\=true\]\:start-0:is(:where(.group)[data-filled-within=true] *){inset-inline-start:calc(var(--spacing)*0)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_3\.5px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 3.5px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_4px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 4px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_6px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 6px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_6px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 6px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_8px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 8px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_8px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 8px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_5px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 5px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_8px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 8px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_8px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 8px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_20px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 20px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_24px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 24px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-tiny\)\/2_\+_16px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-tiny)/2 + 16px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:scale-85:is(:where(.group)[data-filled-within=true] *){--tw-scale-x:.85;--tw-scale-y:.85;--tw-scale-z:.85;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[filled-within\=true\]\:text-default-600:is(:where(.group)[data-filled-within=true] *){color:hsl(var(--heroui-default-600)/1)}.group-data-\[filled-within\=true\]\:text-foreground:is(:where(.group)[data-filled-within=true] *){color:hsl(var(--heroui-foreground)/1)}.group-data-\[filled\=true\]\:start-0:is(:where(.group)[data-filled=true] *){inset-inline-start:calc(var(--spacing)*0)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_3\.5px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 3.5px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_4px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 4px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_6px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 6px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_6px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 6px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_8px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 8px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_8px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 8px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_5px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 5px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_8px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 8px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_8px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 8px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_20px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 20px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_24px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 24px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(100\%_\+var\(--heroui-font-size-tiny\)\/2_\+_16px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-tiny)/2 + 16px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:scale-85:is(:where(.group)[data-filled=true] *){--tw-scale-x:.85;--tw-scale-y:.85;--tw-scale-z:.85;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[filled\=true\]\:text-default-600:is(:where(.group)[data-filled=true] *){color:hsl(var(--heroui-default-600)/1)}.group-data-\[filled\=true\]\:text-foreground:is(:where(.group)[data-filled=true] *){color:hsl(var(--heroui-foreground)/1)}.group-data-\[focus-visible\=true\]\:z-10:is(:where(.group)[data-focus-visible=true] *){z-index:10}.group-data-\[focus-visible\=true\]\:block:is(:where(.group)[data-focus-visible=true] *){display:block}.group-data-\[focus-visible\=true\]\:hidden:is(:where(.group)[data-focus-visible=true] *){display:none}.group-data-\[focus-visible\=true\]\:ring-0:is(:where(.group)[data-focus-visible=true] *){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[focus-visible\=true\]\:ring-2:is(:where(.group)[data-focus-visible=true] *){--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)}.group-data-\[focus-visible\=true\]\:ring-focus:is(:where(.group)[data-focus-visible=true] *){--tw-ring-color:hsl(var(--heroui-focus)/1)}.group-data-\[focus-visible\=true\]\:ring-offset-0:is(:where(.group)[data-focus-visible=true] *){--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.group-data-\[focus-visible\=true\]\:ring-offset-2:is(:where(.group)[data-focus-visible=true] *){--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.group-data-\[focus-visible\=true\]\:ring-offset-background:is(:where(.group)[data-focus-visible=true] *){--tw-ring-offset-color:hsl(var(--heroui-background)/1)}.group-data-\[focus\=true\]\:\!border-danger:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-danger)/1)!important}.group-data-\[focus\=true\]\:border-danger:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-danger)/1)}.group-data-\[focus\=true\]\:border-default-foreground:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-default-foreground)/1)}.group-data-\[focus\=true\]\:border-primary:is(:where(.group)[data-focus=true] *){border-color:var(--color-primary)}.group-data-\[focus\=true\]\:border-secondary:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-secondary)/1)}.group-data-\[focus\=true\]\:border-success:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-success)/1)}.group-data-\[focus\=true\]\:border-warning:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-warning)/1)}.group-data-\[focus\=true\]\:\!bg-danger-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-danger-50)/1)!important}.group-data-\[focus\=true\]\:bg-danger-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-danger-50)/1)}.group-data-\[focus\=true\]\:bg-default-100:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-default-100)/1)}.group-data-\[focus\=true\]\:bg-default-200:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-default-200)/1)}.group-data-\[focus\=true\]\:bg-primary-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-primary-50)/1)}.group-data-\[focus\=true\]\:bg-secondary-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-secondary-50)/1)}.group-data-\[focus\=true\]\:bg-success-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-success-50)/1)}.group-data-\[focus\=true\]\:bg-warning-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-warning-50)/1)}.group-data-\[has-end-content\=true\]\:left-2:is(:where(.group)[data-has-end-content=true] *){left:calc(var(--spacing)*2)}.group-data-\[has-end-content\=true\]\:mt-4:is(:where(.group)[data-has-end-content=true] *){margin-top:calc(var(--spacing)*4)}.group-data-\[has-helper\=true\]\:flex:is(:where(.group)[data-has-helper=true] *){display:flex}.group-data-\[has-helper\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_26px\)\]:is(:where(.group)[data-has-helper=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 26px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[has-helper\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_30px\)\]:is(:where(.group)[data-has-helper=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 30px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[has-helper\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_34px\)\]:is(:where(.group)[data-has-helper=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 34px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[has-helper\=true\]\:pt-2:is(:where(.group)[data-has-helper=true] *){padding-top:calc(var(--spacing)*2)}.group-data-\[has-helper\=true\]\:pt-3:is(:where(.group)[data-has-helper=true] *){padding-top:calc(var(--spacing)*3)}.group-data-\[has-helper\=true\]\:pt-4:is(:where(.group)[data-has-helper=true] *){padding-top:calc(var(--spacing)*4)}.group-data-\[has-label-outside\=true\]\:pointer-events-auto:is(:where(.group)[data-has-label-outside=true] *){pointer-events:auto}.group-data-\[has-label\=true\]\:items-end:is(:where(.group)[data-has-label=true] *){align-items:flex-end}.group-data-\[has-label\=true\]\:items-start:is(:where(.group)[data-has-label=true] *){align-items:flex-start}.group-data-\[has-label\=true\]\:pt-4:is(:where(.group)[data-has-label=true] *){padding-top:calc(var(--spacing)*4)}.group-data-\[has-label\=true\]\:pt-5:is(:where(.group)[data-has-label=true] *){padding-top:calc(var(--spacing)*5)}.group-data-\[has-multiple-months\=true\]\:flex-row:is(:where(.group)[data-has-multiple-months=true] *){flex-direction:row}.group-data-\[has-value\=true\]\:pointer-events-auto:is(:where(.group)[data-has-value=true] *){pointer-events:auto}.group-data-\[has-value\=true\]\:block:is(:where(.group)[data-has-value=true] *){display:block}.group-data-\[has-value\=true\]\:scale-100:is(:where(.group)[data-has-value=true] *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[has-value\=true\]\:text-default-foreground:is(:where(.group)[data-has-value=true] *){color:hsl(var(--heroui-default-foreground)/1)}.group-data-\[has-value\=true\]\:text-foreground:is(:where(.group)[data-has-value=true] *){color:hsl(var(--heroui-foreground)/1)}.group-data-\[has-value\=true\]\:opacity-70:is(:where(.group)[data-has-value=true] *){opacity:.7}.group-data-\[hover-unselected\=true\]\:bg-default-100:is(:where(.group)[data-hover-unselected=true] *){background-color:hsl(var(--heroui-default-100)/1)}.group-data-\[hover\=true\]\/th\:opacity-100:is(:where(.group\/th)[data-hover=true] *){opacity:1}.group-data-\[invalid\=true\]\:border-danger:is(:where(.group)[data-invalid=true] *){border-color:hsl(var(--heroui-danger)/1)}.group-data-\[invalid\=true\]\:bg-danger-50:is(:where(.group)[data-invalid=true] *){background-color:hsl(var(--heroui-danger-50)/1)}.group-data-\[invalid\=true\]\:text-danger:is(:where(.group)[data-invalid=true] *){color:hsl(var(--heroui-danger)/1)}.group-data-\[loaded\=true\]\:opacity-100:is(:where(.group)[data-loaded=true] *){opacity:1}.group-data-\[pressed\=true\]\:w-5:is(:where(.group)[data-pressed=true] *){width:calc(var(--spacing)*5)}.group-data-\[pressed\=true\]\:w-6:is(:where(.group)[data-pressed=true] *){width:calc(var(--spacing)*6)}.group-data-\[pressed\=true\]\:w-7:is(:where(.group)[data-pressed=true] *){width:calc(var(--spacing)*7)}.group-data-\[pressed\=true\]\:scale-95:is(:where(.group)[data-pressed=true] *){--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[pressed\=true\]\:opacity-70:is(:where(.group)[data-pressed=true] *){opacity:.7}.group-data-\[selected\]\:group-data-\[pressed\]\:ml-3:is(:where(.group)[data-selected] *):is(:where(.group)[data-pressed] *){margin-left:calc(var(--spacing)*3)}.group-data-\[selected\]\:group-data-\[pressed\]\:ml-4:is(:where(.group)[data-selected] *):is(:where(.group)[data-pressed] *){margin-left:calc(var(--spacing)*4)}.group-data-\[selected\]\:group-data-\[pressed\]\:ml-5:is(:where(.group)[data-selected] *):is(:where(.group)[data-pressed] *){margin-left:calc(var(--spacing)*5)}.group-data-\[selected\=true\]\:ms-4:is(:where(.group)[data-selected=true] *){margin-inline-start:calc(var(--spacing)*4)}.group-data-\[selected\=true\]\:ms-5:is(:where(.group)[data-selected=true] *){margin-inline-start:calc(var(--spacing)*5)}.group-data-\[selected\=true\]\:ms-6:is(:where(.group)[data-selected=true] *){margin-inline-start:calc(var(--spacing)*6)}.group-data-\[selected\=true\]\:translate-x-3:is(:where(.group)[data-selected=true] *){--tw-translate-x:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[selected\=true\]\:scale-100:is(:where(.group)[data-selected=true] *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[selected\=true\]\:border-danger:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-danger)/1)}.group-data-\[selected\=true\]\:border-default-500:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-default-500)/1)}.group-data-\[selected\=true\]\:border-primary:is(:where(.group)[data-selected=true] *){border-color:var(--color-primary)}.group-data-\[selected\=true\]\:border-secondary:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-secondary)/1)}.group-data-\[selected\=true\]\:border-success:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-success)/1)}.group-data-\[selected\=true\]\:border-warning:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-warning)/1)}.group-data-\[selected\=true\]\:bg-danger:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-danger)/1)}.group-data-\[selected\=true\]\:bg-default-400:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-default-400)/1)}.group-data-\[selected\=true\]\:bg-primary:is(:where(.group)[data-selected=true] *){background-color:var(--color-primary)}.group-data-\[selected\=true\]\:bg-secondary:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-secondary)/1)}.group-data-\[selected\=true\]\:bg-success:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-success)/1)}.group-data-\[selected\=true\]\:bg-warning:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-warning)/1)}.group-data-\[selected\=true\]\:text-danger:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-danger)/1)}.group-data-\[selected\=true\]\:text-danger-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-danger-foreground)/1)}.group-data-\[selected\=true\]\:text-default-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-default-foreground)/1)}.group-data-\[selected\=true\]\:text-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-foreground)/1)}.group-data-\[selected\=true\]\:text-primary:is(:where(.group)[data-selected=true] *){color:var(--color-primary)}.group-data-\[selected\=true\]\:text-primary-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-primary-foreground)/1)}.group-data-\[selected\=true\]\:text-secondary:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-secondary)/1)}.group-data-\[selected\=true\]\:text-secondary-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-secondary-foreground)/1)}.group-data-\[selected\=true\]\:text-success:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-success)/1)}.group-data-\[selected\=true\]\:text-success-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-success-foreground)/1)}.group-data-\[selected\=true\]\:text-warning:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-warning)/1)}.group-data-\[selected\=true\]\:text-warning-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-warning-foreground)/1)}.group-data-\[selected\=true\]\:opacity-0:is(:where(.group)[data-selected=true] *){opacity:0}.group-data-\[selected\=true\]\:opacity-60:is(:where(.group)[data-selected=true] *){opacity:.6}.group-data-\[selected\=true\]\:opacity-100:is(:where(.group)[data-selected=true] *){opacity:1}.peer-data-\[filled\=true\]\:pointer-events-auto:is(:where(.peer)[data-filled=true]~*){pointer-events:auto}.peer-data-\[filled\=true\]\:block:is(:where(.peer)[data-filled=true]~*){display:block}.peer-data-\[filled\=true\]\:scale-100:is(:where(.peer)[data-filled=true]~*){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.peer-data-\[filled\=true\]\:opacity-70:is(:where(.peer)[data-filled=true]~*){opacity:.7}.file\:cursor-pointer::file-selector-button{cursor:pointer}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.placeholder\:text-danger::placeholder{color:hsl(var(--heroui-danger)/1)}.placeholder\:text-foreground-500::placeholder{color:hsl(var(--heroui-foreground-500)/1)}.placeholder\:text-primary::placeholder{color:var(--color-primary)}.placeholder\:text-secondary::placeholder{color:hsl(var(--heroui-secondary)/1)}.placeholder\:text-success-600::placeholder{color:hsl(var(--heroui-success-600)/1)}.placeholder\:text-warning-600::placeholder{color:hsl(var(--heroui-warning-600)/1)}.before\:pointer-events-auto:before{content:var(--tw-content);pointer-events:auto}.before\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:calc(var(--spacing)*0)}.before\:right-0:before{content:var(--tw-content);right:calc(var(--spacing)*0)}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\:z-0:before{content:var(--tw-content);z-index:0}.before\:z-\[-1\]:before{content:var(--tw-content);z-index:-1}.before\:box-border:before{content:var(--tw-content);box-sizing:border-box}.before\:block:before{content:var(--tw-content);display:block}.before\:hidden:before{content:var(--tw-content);display:none}.before\:h-0\.5:before{content:var(--tw-content);height:calc(var(--spacing)*.5)}.before\:h-2\.5:before{content:var(--tw-content);height:calc(var(--spacing)*2.5)}.before\:h-4:before{content:var(--tw-content);height:calc(var(--spacing)*4)}.before\:h-6:before{content:var(--tw-content);height:calc(var(--spacing)*6)}.before\:h-8:before{content:var(--tw-content);height:calc(var(--spacing)*8)}.before\:h-11:before{content:var(--tw-content);height:calc(var(--spacing)*11)}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:w-0:before{content:var(--tw-content);width:calc(var(--spacing)*0)}.before\:w-2\.5:before{content:var(--tw-content);width:calc(var(--spacing)*2.5)}.before\:w-6:before{content:var(--tw-content);width:calc(var(--spacing)*6)}.before\:w-8:before{content:var(--tw-content);width:calc(var(--spacing)*8)}.before\:w-11:before{content:var(--tw-content);width:calc(var(--spacing)*11)}.before\:-translate-x-full:before{content:var(--tw-content);--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.before\:-translate-y-1:before{content:var(--tw-content);--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.before\:rotate-0:before{content:var(--tw-content);rotate:none}.before\:rotate-45:before{content:var(--tw-content);rotate:45deg}.before\:animate-none:before{content:var(--tw-content);animation:none}.before\:animate-shimmer:before{content:var(--tw-content);animation:2s infinite shimmer}.before\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.5\)\]:before{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.5)}.before\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.6\)\]:before{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.6)}.before\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.7\)\]:before{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.7)}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:rounded-none:before{content:var(--tw-content);border-radius:0}.before\:rounded-sm:before{content:var(--tw-content);border-radius:var(--radius-sm)}.before\:border-2:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:2px}.before\:border-t:before{content:var(--tw-content);border-top-style:var(--tw-border-style);border-top-width:1px}.before\:border-solid:before{content:var(--tw-content);--tw-border-style:solid;border-style:solid}.before\:border-content4\/30:before{content:var(--tw-content);border-color:hsl(var(--heroui-content4)/1)}@supports (color:color-mix(in lab,red,red)){.before\:border-content4\/30:before{border-color:color-mix(in oklab,hsl(var(--heroui-content4)/1)30%,transparent)}}.before\:border-danger:before{content:var(--tw-content);border-color:hsl(var(--heroui-danger)/1)}.before\:border-default:before{content:var(--tw-content);border-color:hsl(var(--heroui-default)/1)}.before\:bg-content1:before{content:var(--tw-content);background-color:hsl(var(--heroui-content1)/1)}.before\:bg-current:before{content:var(--tw-content);background-color:currentColor}.before\:bg-danger:before,.before\:bg-danger\/20:before{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-danger\/20:before{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.before\:bg-default\/60:before{content:var(--tw-content);background-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-default\/60:before{background-color:color-mix(in oklab,hsl(var(--heroui-default)/1)60%,transparent)}}.before\:bg-foreground:before{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}.before\:bg-primary:before{content:var(--tw-content);background-color:var(--color-primary)}.before\:bg-primary\/20:before{content:var(--tw-content);background-color:#1b54ff33}@supports (color:color-mix(in lab,red,red)){.before\:bg-primary\/20:before{background-color:color-mix(in oklab,var(--color-primary)20%,transparent)}}.before\:bg-secondary:before,.before\:bg-secondary\/20:before{content:var(--tw-content);background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-secondary\/20:before{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.before\:bg-success:before,.before\:bg-success\/20:before{content:var(--tw-content);background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-success\/20:before{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.before\:bg-transparent:before{content:var(--tw-content);background-color:#0000}.before\:bg-warning:before,.before\:bg-warning\/20:before{content:var(--tw-content);background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-warning\/20:before{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.before\:bg-gradient-to-r:before{content:var(--tw-content);--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\:from-transparent:before{content:var(--tw-content);--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\:via-content4:before{content:var(--tw-content);--tw-gradient-via:hsl(var(--heroui-content4)/1);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.before\:to-transparent:before{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\:opacity-0:before{content:var(--tw-content);opacity:0}.before\:opacity-100:before{content:var(--tw-content);opacity:1}.before\:shadow-small:before{content:var(--tw-content);--tw-shadow:var(--heroui-box-shadow-small);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.before\:transition-colors:before{content:var(--tw-content);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))}.before\:transition-transform:before{content:var(--tw-content);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\:transition-width:before{content:var(--tw-content);transition-property:width;transition-duration:.25s;transition-timing-function:ease}.before\:transition-none:before{content:var(--tw-content);transition-property:none}.before\:duration-150:before{content:var(--tw-content);--tw-duration:.15s;transition-duration:.15s}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.group-data-\[hover\=true\]\:before\:bg-default-100:is(:where(.group)[data-hover=true] *):before,.group-aria-\[selected\=false\]\/tr\:group-data-\[hover\=true\]\/tr\:before\:bg-default-100:is(:where(.group\/tr)[aria-selected=false] *):is(:where(.group\/tr)[data-hover=true] *):before{content:var(--tw-content);background-color:hsl(var(--heroui-default-100)/1)}.group-aria-\[selected\=false\]\/tr\:group-data-\[hover\=true\]\/tr\:before\:opacity-70:is(:where(.group\/tr)[aria-selected=false] *):is(:where(.group\/tr)[data-hover=true] *):before{content:var(--tw-content);opacity:.7}.group-data-\[middle\=true\]\/tr\:before\:rounded-none:is(:where(.group\/tr)[data-middle=true] *):before{content:var(--tw-content);border-radius:0}.group-data-\[odd\=true\]\/tr\:before\:-z-10:is(:where(.group\/tr)[data-odd=true] *):before{content:var(--tw-content);z-index:-10}.group-data-\[odd\=true\]\/tr\:before\:bg-default-100:is(:where(.group\/tr)[data-odd=true] *):before{content:var(--tw-content);background-color:hsl(var(--heroui-default-100)/1)}.group-data-\[odd\=true\]\/tr\:before\:opacity-100:is(:where(.group\/tr)[data-odd=true] *):before{content:var(--tw-content);opacity:1}.group-data-\[open\=true\]\:before\:translate-y-px:is(:where(.group)[data-open=true] *):before{content:var(--tw-content);--tw-translate-y:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[open\=true\]\:before\:rotate-45:is(:where(.group)[data-open=true] *):before{content:var(--tw-content);rotate:45deg}.group-data-\[selected\=true\]\:before\:w-full:is(:where(.group)[data-selected=true] *):before{content:var(--tw-content);width:100%}.after\:pointer-events-auto:after{content:var(--tw-content);pointer-events:auto}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:calc(var(--spacing)*0)}.after\:top-0:after{content:var(--tw-content);top:calc(var(--spacing)*0)}.after\:right-0:after{content:var(--tw-content);right:calc(var(--spacing)*0)}.after\:-bottom-1:after{content:var(--tw-content);bottom:calc(var(--spacing)*-1)}.after\:-bottom-\[2px\]:after{content:var(--tw-content);bottom:-2px}.after\:bottom-0:after{content:var(--tw-content);bottom:calc(var(--spacing)*0)}.after\:left-0:after{content:var(--tw-content);left:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:-z-10:after{content:var(--tw-content);z-index:-10}.after\:z-0:after{content:var(--tw-content);z-index:0}.after\:z-\[-1\]:after{content:var(--tw-content);z-index:-1}.after\:ms-0\.5:after{content:var(--tw-content);margin-inline-start:calc(var(--spacing)*.5)}.after\:ml-0\.5:after{content:var(--tw-content);margin-left:calc(var(--spacing)*.5)}.after\:block:after{content:var(--tw-content);display:block}.after\:h-0:after{content:var(--tw-content);height:calc(var(--spacing)*0)}.after\:h-4:after{content:var(--tw-content);height:calc(var(--spacing)*4)}.after\:h-5:after{content:var(--tw-content);height:calc(var(--spacing)*5)}.after\:h-\[2px\]:after{content:var(--tw-content);height:2px}.after\:h-divider:after{content:var(--tw-content);height:var(--heroui-divider-weight)}.after\:h-full:after{content:var(--tw-content);height:100%}.after\:h-px:after{content:var(--tw-content);height:1px}.after\:w-0:after{content:var(--tw-content);width:calc(var(--spacing)*0)}.after\:w-4:after{content:var(--tw-content);width:calc(var(--spacing)*4)}.after\:w-5:after{content:var(--tw-content);width:calc(var(--spacing)*5)}.after\:w-6:after{content:var(--tw-content);width:calc(var(--spacing)*6)}.after\:w-\[80\%\]:after{content:var(--tw-content);width:80%}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:origin-center:after{content:var(--tw-content);transform-origin:50%}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:translate-y-1:after{content:var(--tw-content);--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:scale-50:after{content:var(--tw-content);--tw-scale-x:50%;--tw-scale-y:50%;--tw-scale-z:50%;scale:var(--tw-scale-x)var(--tw-scale-y)}.after\:rotate-0:after{content:var(--tw-content);rotate:none}.after\:rounded-\[calc\(var\(--heroui-radius-large\)\/2\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-large)/2)}.after\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.5\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.5)}.after\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.6\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.6)}.after\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.7\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.7)}.after\:rounded-\[calc\(var\(--heroui-radius-medium\)\/3\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)/3)}.after\:rounded-\[calc\(var\(--heroui-radius-small\)\/3\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-small)/3)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:rounded-none:after{content:var(--tw-content);border-radius:0}.after\:rounded-xl:after{content:var(--tw-content);border-radius:var(--radius-xl)}.after\:\!bg-danger:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)!important}.after\:bg-background:after{content:var(--tw-content);background-color:hsl(var(--heroui-background)/1)}.after\:bg-content1:after{content:var(--tw-content);background-color:hsl(var(--heroui-content1)/1)}.after\:bg-content3:after{content:var(--tw-content);background-color:hsl(var(--heroui-content3)/1)}.after\:bg-current:after{content:var(--tw-content);background-color:currentColor}.after\:bg-danger:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}.after\:bg-default:after{content:var(--tw-content);background-color:hsl(var(--heroui-default)/1)}.after\:bg-default-foreground:after{content:var(--tw-content);background-color:hsl(var(--heroui-default-foreground)/1)}.after\:bg-divider:after{content:var(--tw-content);background-color:hsl(var(--heroui-divider)/.15)}.after\:bg-foreground:after{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}.after\:bg-primary:after{content:var(--tw-content);background-color:var(--color-primary)}.after\:bg-secondary:after{content:var(--tw-content);background-color:hsl(var(--heroui-secondary)/1)}.after\:bg-success:after{content:var(--tw-content);background-color:hsl(var(--heroui-success)/1)}.after\:bg-transparent:after{content:var(--tw-content);background-color:#0000}.after\:bg-warning:after{content:var(--tw-content);background-color:hsl(var(--heroui-warning)/1)}.after\:text-danger:after{content:var(--tw-content);color:hsl(var(--heroui-danger)/1)}.after\:text-danger-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-danger-foreground)/1)}.after\:text-default-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-default-foreground)/1)}.after\:text-primary-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-primary-foreground)/1)}.after\:text-secondary-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-secondary-foreground)/1)}.after\:text-success-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-success-foreground)/1)}.after\:text-warning-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-warning-foreground)/1)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:opacity-100:after{content:var(--tw-content);opacity:1}.after\:shadow-\[0_1px_0px_0_rgba\(0\,0\,0\,0\.05\)\]:after{content:var(--tw-content);--tw-shadow:0 1px 0px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.after\:shadow-small:after{content:var(--tw-content);--tw-shadow:var(--heroui-box-shadow-small);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:transition-background:after{content:var(--tw-content);transition-property:background;transition-duration:.25s;transition-timing-function:ease}.after\:transition-height:after{content:var(--tw-content);transition-property:height;transition-duration:.25s;transition-timing-function:ease}.after\:transition-transform:after{content:var(--tw-content);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:transition-transform-opacity:after{content:var(--tw-content);transition-property:transform,scale,opacity rotate;transition-duration:.25s;transition-timing-function:ease}.after\:transition-width:after{content:var(--tw-content);transition-property:width;transition-duration:.25s;transition-timing-function:ease}.after\:transition-none:after{content:var(--tw-content);transition-property:none}.after\:\!duration-200:after{content:var(--tw-content);--tw-duration:.2s!important;transition-duration:.2s!important}.after\:duration-150:after{content:var(--tw-content);--tw-duration:.15s;transition-duration:.15s}.after\:\!ease-linear:after{content:var(--tw-content);--tw-ease:linear!important;transition-timing-function:linear!important}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.after\:content-\[\'\*\'\]:after{--tw-content:"*";content:var(--tw-content)}.group-data-\[focus\=true\]\:after\:w-full:is(:where(.group)[data-focus=true] *):after{content:var(--tw-content);width:100%}.group-data-\[invalid\=true\]\:after\:bg-danger:is(:where(.group)[data-invalid=true] *):after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}.group-data-\[open\=true\]\:after\:translate-y-0:is(:where(.group)[data-open=true] *):after{content:var(--tw-content);--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[open\=true\]\:after\:-rotate-45:is(:where(.group)[data-open=true] *):after{content:var(--tw-content);rotate:-45deg}.group-data-\[required\=true\]\:after\:ml-0\.5:is(:where(.group)[data-required=true] *):after{content:var(--tw-content);margin-left:calc(var(--spacing)*.5)}.group-data-\[required\=true\]\:after\:text-danger:is(:where(.group)[data-required=true] *):after{content:var(--tw-content);color:hsl(var(--heroui-danger)/1)}.group-data-\[required\=true\]\:after\:content-\[\'\*\'\]:is(:where(.group)[data-required=true] *):after{--tw-content:"*";content:var(--tw-content)}.group-data-\[selected\=true\]\:after\:scale-100:is(:where(.group)[data-selected=true] *):after{content:var(--tw-content);--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[selected\=true\]\:after\:opacity-100:is(:where(.group)[data-selected=true] *):after{content:var(--tw-content);opacity:1}.first\:mt-2:first-child{margin-top:calc(var(--spacing)*2)}.first\:-ml-0\.5:first-child{margin-left:calc(var(--spacing)*-.5)}.first\:rounded-s-full:first-child{border-start-start-radius:3.40282e38px;border-end-start-radius:3.40282e38px}.first\:rounded-s-large:first-child{border-start-start-radius:var(--heroui-radius-large);border-end-start-radius:var(--heroui-radius-large)}.first\:rounded-s-lg:first-child{border-start-start-radius:var(--radius-lg);border-end-start-radius:var(--radius-lg)}.first\:rounded-s-medium:first-child{border-start-start-radius:var(--heroui-radius-medium);border-end-start-radius:var(--heroui-radius-medium)}.first\:rounded-s-none:first-child{border-start-start-radius:0;border-end-start-radius:0}.first\:rounded-s-small:first-child{border-start-start-radius:var(--heroui-radius-small);border-end-start-radius:var(--heroui-radius-small)}.first\:before\:rounded-s-lg:first-child:before{content:var(--tw-content);border-start-start-radius:var(--radius-lg);border-end-start-radius:var(--radius-lg)}.first\:before\:rounded-s-none:first-child:before{content:var(--tw-content);border-start-start-radius:0;border-end-start-radius:0}.group-data-\[first\=true\]\/tr\:first\:before\:rounded-ss-lg:is(:where(.group\/tr)[data-first=true] *):first-child:before{content:var(--tw-content);border-start-start-radius:var(--radius-lg)}.group-data-\[first\=true\]\/tr\:first\:before\:rounded-ss-none:is(:where(.group\/tr)[data-first=true] *):first-child:before{content:var(--tw-content);border-start-start-radius:0}.group-data-\[last\=true\]\/tr\:first\:before\:rounded-es-lg:is(:where(.group\/tr)[data-last=true] *):first-child:before{content:var(--tw-content);border-end-start-radius:var(--radius-lg)}.group-data-\[last\=true\]\/tr\:first\:before\:rounded-es-none:is(:where(.group\/tr)[data-last=true] *):first-child:before{content:var(--tw-content);border-end-start-radius:0}.last\:rounded-e-full:last-child{border-start-end-radius:3.40282e38px;border-end-end-radius:3.40282e38px}.last\:rounded-e-large:last-child{border-start-end-radius:var(--heroui-radius-large);border-end-end-radius:var(--heroui-radius-large)}.last\:rounded-e-lg:last-child{border-start-end-radius:var(--radius-lg);border-end-end-radius:var(--radius-lg)}.last\:rounded-e-medium:last-child{border-start-end-radius:var(--heroui-radius-medium);border-end-end-radius:var(--heroui-radius-medium)}.last\:rounded-e-none:last-child{border-start-end-radius:0;border-end-end-radius:0}.last\:rounded-e-small:last-child{border-start-end-radius:var(--heroui-radius-small);border-end-end-radius:var(--heroui-radius-small)}.last\:before\:rounded-e-lg:last-child:before{content:var(--tw-content);border-start-end-radius:var(--radius-lg);border-end-end-radius:var(--radius-lg)}.last\:before\:rounded-e-none:last-child:before{content:var(--tw-content);border-start-end-radius:0;border-end-end-radius:0}.group-data-\[first\=true\]\/tr\:last\:before\:rounded-se-lg:is(:where(.group\/tr)[data-first=true] *):last-child:before{content:var(--tw-content);border-start-end-radius:var(--radius-lg)}.group-data-\[first\=true\]\/tr\:last\:before\:rounded-se-none:is(:where(.group\/tr)[data-first=true] *):last-child:before{content:var(--tw-content);border-start-end-radius:0}.group-data-\[last\=true\]\/tr\:last\:before\:rounded-ee-lg:is(:where(.group\/tr)[data-last=true] *):last-child:before{content:var(--tw-content);border-end-end-radius:var(--radius-lg)}.group-data-\[last\=true\]\/tr\:last\:before\:rounded-ee-none:is(:where(.group\/tr)[data-last=true] *):last-child:before{content:var(--tw-content);border-end-end-radius:0}.first-of-type\:rounded-e-none:first-of-type{border-start-end-radius:0;border-end-end-radius:0}.last-of-type\:rounded-s-none:last-of-type{border-start-start-radius:0;border-end-start-radius:0}.autofill\:bg-transparent:autofill{background-color:#0000}.focus-within\:border-danger:focus-within{border-color:hsl(var(--heroui-danger)/1)}.focus-within\:border-default-400:focus-within{border-color:hsl(var(--heroui-default-400)/1)}.focus-within\:border-default-foreground:focus-within{border-color:hsl(var(--heroui-default-foreground)/1)}.focus-within\:border-primary:focus-within{border-color:var(--color-primary)}.focus-within\:border-secondary:focus-within{border-color:hsl(var(--heroui-secondary)/1)}.focus-within\:border-success:focus-within{border-color:hsl(var(--heroui-success)/1)}.focus-within\:border-warning:focus-within{border-color:hsl(var(--heroui-warning)/1)}.focus-within\:bg-danger-50:focus-within{background-color:hsl(var(--heroui-danger-50)/1)}.focus-within\:bg-primary-50:focus-within{background-color:hsl(var(--heroui-primary-50)/1)}.focus-within\:bg-secondary-50:focus-within{background-color:hsl(var(--heroui-secondary-50)/1)}.focus-within\:bg-success-50:focus-within{background-color:hsl(var(--heroui-success-50)/1)}.focus-within\:bg-warning-50:focus-within{background-color:hsl(var(--heroui-warning-50)/1)}.focus-within\:after\:w-full:focus-within:after{content:var(--tw-content);width:100%}@media (hover:hover){.hover\:-translate-x-0:hover{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-danger:hover{border-color:hsl(var(--heroui-danger)/1)}.hover\:border-default:hover{border-color:hsl(var(--heroui-default)/1)}.hover\:border-default-300:hover{border-color:hsl(var(--heroui-default-300)/1)}.hover\:border-default-400:hover{border-color:hsl(var(--heroui-default-400)/1)}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:border-secondary:hover{border-color:hsl(var(--heroui-secondary)/1)}.hover\:border-success:hover{border-color:hsl(var(--heroui-success)/1)}.hover\:border-warning:hover{border-color:hsl(var(--heroui-warning)/1)}.hover\:\!bg-foreground:hover{background-color:hsl(var(--heroui-foreground)/1)!important}.hover\:bg-danger:hover{background-color:hsl(var(--heroui-danger)/1)}.hover\:bg-danger-50:hover{background-color:hsl(var(--heroui-danger-50)/1)}.hover\:bg-default-100:hover{background-color:hsl(var(--heroui-default-100)/1)}.hover\:bg-default-200:hover{background-color:hsl(var(--heroui-default-200)/1)}.hover\:bg-primary-50:hover{background-color:hsl(var(--heroui-primary-50)/1)}.hover\:bg-secondary-50:hover{background-color:hsl(var(--heroui-secondary-50)/1)}.hover\:bg-success-50:hover{background-color:hsl(var(--heroui-success-50)/1)}.hover\:bg-warning-50:hover{background-color:hsl(var(--heroui-warning-50)/1)}.hover\:text-danger-600:hover{color:hsl(var(--heroui-danger-600)/1)}.hover\:text-default-600:hover{color:hsl(var(--heroui-default-600)/1)}.hover\:text-foreground-600:hover{color:hsl(var(--heroui-foreground-600)/1)}.hover\:text-primary-600:hover{color:hsl(var(--heroui-primary-600)/1)}.hover\:text-secondary-600:hover{color:hsl(var(--heroui-secondary-600)/1)}.hover\:text-success-600:hover{color:hsl(var(--heroui-success-600)/1)}.hover\:text-warning-600:hover{color:hsl(var(--heroui-warning-600)/1)}.hover\:underline:hover{text-decoration-line:underline}.hover\:\!opacity-100:hover{opacity:1!important}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-hover:hover{opacity:var(--heroui-hover-opacity)}.group-data-\[invalid\=true\]\:hover\:border-danger:is(:where(.group)[data-invalid=true] *):hover{border-color:hsl(var(--heroui-danger)/1)}.group-data-\[invalid\=true\]\:hover\:bg-danger-100:is(:where(.group)[data-invalid=true] *):hover{background-color:hsl(var(--heroui-danger-100)/1)}.hover\:after\:bg-danger\/20:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-danger\/20:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.hover\:after\:bg-foreground\/10:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-foreground\/10:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-foreground)/1)10%,transparent)}}.hover\:after\:bg-primary\/20:hover:after{content:var(--tw-content);background-color:#1b54ff33}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-primary\/20:hover:after{background-color:color-mix(in oklab,var(--color-primary)20%,transparent)}}.hover\:after\:bg-secondary\/20:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-secondary\/20:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.hover\:after\:bg-success\/20:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-success\/20:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.hover\:after\:bg-warning\/20:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-warning\/20:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.hover\:after\:opacity-100:hover:after{content:var(--tw-content);opacity:1}.focus-within\:hover\:border-danger:focus-within:hover{border-color:hsl(var(--heroui-danger)/1)}.focus-within\:hover\:border-default-foreground:focus-within:hover{border-color:hsl(var(--heroui-default-foreground)/1)}.focus-within\:hover\:border-primary:focus-within:hover{border-color:var(--color-primary)}.focus-within\:hover\:border-secondary:focus-within:hover{border-color:hsl(var(--heroui-secondary)/1)}.focus-within\:hover\:border-success:focus-within:hover{border-color:hsl(var(--heroui-success)/1)}.focus-within\:hover\:border-warning:focus-within:hover{border-color:hsl(var(--heroui-warning)/1)}.focus-within\:hover\:bg-default-100:focus-within:hover{background-color:hsl(var(--heroui-default-100)/1)}.group-data-\[invalid\=true\]\:focus-within\:hover\:border-danger:is(:where(.group)[data-invalid=true] *):focus-within:hover{border-color:hsl(var(--heroui-danger)/1)}.group-data-\[invalid\=true\]\:focus-within\:hover\:bg-danger-50:is(:where(.group)[data-invalid=true] *):focus-within:hover{background-color:hsl(var(--heroui-danger-50)/1)}}.focus\:bg-danger-400\/50:focus{background-color:hsl(var(--heroui-danger-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-danger-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger-400)/1)50%,transparent)}}.focus\:bg-default-400\/50:focus{background-color:hsl(var(--heroui-default-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-default-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-default-400)/1)50%,transparent)}}.focus\:bg-primary-400\/50:focus{background-color:hsl(var(--heroui-primary-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-primary-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-primary-400)/1)50%,transparent)}}.focus\:bg-secondary-400\/50:focus{background-color:hsl(var(--heroui-secondary-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-secondary-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-secondary-400)/1)50%,transparent)}}.focus\:bg-success-400\/50:focus{background-color:hsl(var(--heroui-success-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-success-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-success-400)/1)50%,transparent)}}.focus\:bg-warning-400\/50:focus{background-color:hsl(var(--heroui-warning-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-warning-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-warning-400)/1)50%,transparent)}}.focus\:underline:focus{text-decoration-line:underline}.focus\:shadow-xs:focus{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-focus:focus-visible{outline-color:hsl(var(--heroui-focus)/1)}.active\:bg-default-200:active{background-color:hsl(var(--heroui-default-200)/1)}.active\:bg-default-300:active{background-color:hsl(var(--heroui-default-300)/1)}.active\:underline:active{text-decoration-line:underline}.active\:\!opacity-70:active{opacity:.7!important}.active\:opacity-disabled:active{opacity:var(--heroui-disabled-opacity)}.disabled\:cursor-default:disabled{cursor:default}.has-\[\:disabled\]\:opacity-60:has(:disabled){opacity:.6}.aria-expanded\:scale-\[0\.97\][aria-expanded=true]{scale:.97}.aria-expanded\:opacity-70[aria-expanded=true]{opacity:.7}.data-\[active\=true\]\:scale-100[data-active=true]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[active\=true\]\:scale-110[data-active=true]{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[active\=true\]\:border-danger[data-active=true]{border-color:hsl(var(--heroui-danger)/1)}.data-\[active\=true\]\:border-danger-400[data-active=true]{border-color:hsl(var(--heroui-danger-400)/1)}.data-\[active\=true\]\:border-default-300[data-active=true]{border-color:hsl(var(--heroui-default-300)/1)}.data-\[active\=true\]\:border-default-400[data-active=true]{border-color:hsl(var(--heroui-default-400)/1)}.data-\[active\=true\]\:border-foreground[data-active=true]{border-color:hsl(var(--heroui-foreground)/1)}.data-\[active\=true\]\:border-primary[data-active=true]{border-color:var(--color-primary)}.data-\[active\=true\]\:border-secondary[data-active=true]{border-color:hsl(var(--heroui-secondary)/1)}.data-\[active\=true\]\:border-success[data-active=true]{border-color:hsl(var(--heroui-success)/1)}.data-\[active\=true\]\:border-warning[data-active=true]{border-color:hsl(var(--heroui-warning)/1)}.data-\[active\=true\]\:bg-danger[data-active=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[active\=true\]\:bg-danger-100[data-active=true]{background-color:hsl(var(--heroui-danger-100)/1)}.data-\[active\=true\]\:bg-danger-200[data-active=true]{background-color:hsl(var(--heroui-danger-200)/1)}.data-\[active\=true\]\:bg-default-200[data-active=true]{background-color:hsl(var(--heroui-default-200)/1)}.data-\[active\=true\]\:bg-default-400[data-active=true]{background-color:hsl(var(--heroui-default-400)/1)}.data-\[active\=true\]\:bg-primary[data-active=true]{background-color:var(--color-primary)}.data-\[active\=true\]\:bg-primary-200[data-active=true]{background-color:hsl(var(--heroui-primary-200)/1)}.data-\[active\=true\]\:bg-secondary[data-active=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[active\=true\]\:bg-secondary-200[data-active=true]{background-color:hsl(var(--heroui-secondary-200)/1)}.data-\[active\=true\]\:bg-success[data-active=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[active\=true\]\:bg-success-200[data-active=true]{background-color:hsl(var(--heroui-success-200)/1)}.data-\[active\=true\]\:bg-warning[data-active=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[active\=true\]\:bg-warning-200[data-active=true]{background-color:hsl(var(--heroui-warning-200)/1)}.data-\[active\=true\]\:font-semibold[data-active=true]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[active\=true\]\:text-danger-foreground[data-active=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[active\=true\]\:text-default-foreground[data-active=true]{color:hsl(var(--heroui-default-foreground)/1)}.data-\[active\=true\]\:text-primary-foreground[data-active=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[active\=true\]\:text-secondary-foreground[data-active=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[active\=true\]\:text-success-foreground[data-active=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[active\=true\]\:text-warning-foreground[data-active=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[active\=true\]\:shadow-md[data-active=true]{--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)}.data-\[active\=true\]\:shadow-danger\/40[data-active=true]{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-danger\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-default\/50[data-active=true]{--tw-shadow-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-default\/50[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-default)/1)50%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-primary\/40[data-active=true]{--tw-shadow-color:#1b54ff66}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-primary\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-primary)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-secondary\/40[data-active=true]{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-secondary\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-success\/40[data-active=true]{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-success\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-warning\/40[data-active=true]{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-warning\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:after\:w-full[data-active=true]:after{content:var(--tw-content);width:100%}.data-\[active\=true\]\:after\:bg-danger-400[data-active=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger-400)/1)}.data-\[animation\=exiting\]\:opacity-0[data-animation=exiting]{opacity:0}.data-\[arrow\=true\]\:before\:block[data-arrow=true]:before{content:var(--tw-content);display:block}.data-\[before\=true\]\:rotate-180[data-before=true]{rotate:180deg}.data-\[bottom-scroll\=true\]\:\[mask-image\:linear-gradient\(180deg\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-bottom-scroll=true]{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[direction\=ascending\]\:rotate-180[data-direction=ascending]{rotate:180deg}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:cursor-default[data-disabled=true]{cursor:default}.data-\[disabled\=true\]\:cursor-not-allowed[data-disabled=true]{cursor:not-allowed}.data-\[disabled\=true\]\:text-default-300[data-disabled=true]{color:hsl(var(--heroui-default-300)/1)}.data-\[disabled\=true\]\:opacity-30[data-disabled=true]{opacity:.3}.data-\[disabled\=true\]\:transition-none[data-disabled=true]{transition-property:none}.data-\[dragging\=true\]\:cursor-grabbing[data-dragging=true]{cursor:grabbing}.data-\[dragging\=true\]\:after\:scale-80[data-dragging=true]:after{content:var(--tw-content);--tw-scale-x:.8;--tw-scale-y:.8;--tw-scale-z:.8;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[dragging\=true\]\:after\:scale-100[data-dragging=true]:after{content:var(--tw-content);--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[editable\=true\]\:text-danger[data-editable=true]{color:hsl(var(--heroui-danger)/1)}.data-\[editable\=true\]\:text-foreground[data-editable=true]{color:hsl(var(--heroui-foreground)/1)}.data-\[editable\=true\]\:text-primary[data-editable=true]{color:var(--color-primary)}.data-\[editable\=true\]\:text-secondary[data-editable=true]{color:hsl(var(--heroui-secondary)/1)}.data-\[editable\=true\]\:text-success-600[data-editable=true]{color:hsl(var(--heroui-success-600)/1)}.data-\[editable\=true\]\:text-warning-600[data-editable=true]{color:hsl(var(--heroui-warning-600)/1)}.data-\[editable\=true\]\:focus\:text-danger[data-editable=true]:focus{color:hsl(var(--heroui-danger)/1)}.data-\[editable\=true\]\:focus\:text-default-foreground[data-editable=true]:focus{color:hsl(var(--heroui-default-foreground)/1)}.data-\[editable\=true\]\:focus\:text-primary[data-editable=true]:focus{color:var(--color-primary)}.data-\[editable\=true\]\:focus\:text-secondary[data-editable=true]:focus{color:hsl(var(--heroui-secondary)/1)}.data-\[editable\=true\]\:focus\:text-success[data-editable=true]:focus{color:hsl(var(--heroui-success)/1)}.data-\[editable\=true\]\:focus\:text-success-600[data-editable=true]:focus{color:hsl(var(--heroui-success-600)/1)}.data-\[editable\=true\]\:focus\:text-warning[data-editable=true]:focus{color:hsl(var(--heroui-warning)/1)}.data-\[editable\=true\]\:focus\:text-warning-600[data-editable=true]:focus{color:hsl(var(--heroui-warning-600)/1)}.data-\[fill-end\=true\]\:border-e-danger[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-danger)/1)}.data-\[fill-end\=true\]\:border-e-foreground[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-foreground)/1)}.data-\[fill-end\=true\]\:border-e-primary[data-fill-end=true]{border-inline-end-color:var(--color-primary)}.data-\[fill-end\=true\]\:border-e-secondary[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-secondary)/1)}.data-\[fill-end\=true\]\:border-e-success[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-success)/1)}.data-\[fill-end\=true\]\:border-e-warning[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-warning)/1)}.data-\[fill-end\=true\]\:border-t-danger[data-fill-end=true]{border-top-color:hsl(var(--heroui-danger)/1)}.data-\[fill-end\=true\]\:border-t-foreground[data-fill-end=true]{border-top-color:hsl(var(--heroui-foreground)/1)}.data-\[fill-end\=true\]\:border-t-primary[data-fill-end=true]{border-top-color:var(--color-primary)}.data-\[fill-end\=true\]\:border-t-secondary[data-fill-end=true]{border-top-color:hsl(var(--heroui-secondary)/1)}.data-\[fill-end\=true\]\:border-t-success[data-fill-end=true]{border-top-color:hsl(var(--heroui-success)/1)}.data-\[fill-end\=true\]\:border-t-warning[data-fill-end=true]{border-top-color:hsl(var(--heroui-warning)/1)}.data-\[fill-start\=true\]\:border-s-danger[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-danger)/1)}.data-\[fill-start\=true\]\:border-s-foreground[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-foreground)/1)}.data-\[fill-start\=true\]\:border-s-primary[data-fill-start=true]{border-inline-start-color:var(--color-primary)}.data-\[fill-start\=true\]\:border-s-secondary[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-secondary)/1)}.data-\[fill-start\=true\]\:border-s-success[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-success)/1)}.data-\[fill-start\=true\]\:border-s-warning[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-warning)/1)}.data-\[fill-start\=true\]\:border-b-danger[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-danger)/1)}.data-\[fill-start\=true\]\:border-b-foreground[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-foreground)/1)}.data-\[fill-start\=true\]\:border-b-primary[data-fill-start=true]{border-bottom-color:var(--color-primary)}.data-\[fill-start\=true\]\:border-b-secondary[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-secondary)/1)}.data-\[fill-start\=true\]\:border-b-success[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-success)/1)}.data-\[fill-start\=true\]\:border-b-warning[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-warning)/1)}.data-\[focus-visible\]\:outline-danger-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-danger-foreground)/1)}.data-\[focus-visible\]\:outline-default-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-default-foreground)/1)}.data-\[focus-visible\]\:outline-primary-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-primary-foreground)/1)}.data-\[focus-visible\]\:outline-secondary-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[focus-visible\]\:outline-success-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-success-foreground)/1)}.data-\[focus-visible\]\:outline-warning-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-warning-foreground)/1)}.data-\[focus-visible\=true\]\:z-10[data-focus-visible=true]{z-index:10}.data-\[focus-visible\=true\]\:-translate-x-3[data-focus-visible=true]{--tw-translate-x:calc(var(--spacing)*-3);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[focus-visible\=true\]\:outline-2[data-focus-visible=true]{outline-style:var(--tw-outline-style);outline-width:2px}.data-\[focus-visible\=true\]\:outline-offset-2[data-focus-visible=true]{outline-offset:2px}.data-\[focus-visible\=true\]\:outline-focus[data-focus-visible=true]{outline-color:hsl(var(--heroui-focus)/1)}.data-\[focus\=true\]\:border-danger[data-focus=true]{border-color:hsl(var(--heroui-danger)/1)}.data-\[focus\=true\]\:border-default-400[data-focus=true]{border-color:hsl(var(--heroui-default-400)/1)}.data-\[focus\=true\]\:border-default-foreground[data-focus=true]{border-color:hsl(var(--heroui-default-foreground)/1)}.data-\[focus\=true\]\:border-primary[data-focus=true]{border-color:var(--color-primary)}.data-\[focus\=true\]\:border-secondary[data-focus=true]{border-color:hsl(var(--heroui-secondary)/1)}.data-\[focus\=true\]\:border-success[data-focus=true]{border-color:hsl(var(--heroui-success)/1)}.data-\[focus\=true\]\:border-warning[data-focus=true]{border-color:hsl(var(--heroui-warning)/1)}.data-\[focus\=true\]\:after\:w-full[data-focus=true]:after{content:var(--tw-content);width:100%}.data-\[focused\=true\]\:z-10[data-focused=true]{z-index:10}.data-\[has-end-content\=true\]\:pe-1\.5[data-has-end-content=true]{padding-inline-end:calc(var(--spacing)*1.5)}.data-\[has-helper\=true\]\:items-start[data-has-helper=true]{align-items:flex-start}.data-\[has-helper\=true\]\:pb-\[calc\(var\(--heroui-font-size-tiny\)_\+8px\)\][data-has-helper=true],.data-\[has-helper\=true\]\:pb-\[calc\(var\(--heroui-font-size-tiny\)_\+_8px\)\][data-has-helper=true]{padding-bottom:calc(var(--heroui-font-size-tiny) + 8px)}.data-\[has-label\=true\]\:mt-\[calc\(var\(--heroui-font-size-small\)_\+_8px\)\][data-has-label=true]{margin-top:calc(var(--heroui-font-size-small) + 8px)}.data-\[has-label\=true\]\:mt-\[calc\(var\(--heroui-font-size-small\)_\+_10px\)\][data-has-label=true]{margin-top:calc(var(--heroui-font-size-small) + 10px)}.data-\[has-label\=true\]\:mt-\[calc\(var\(--heroui-font-size-small\)_\+_12px\)\][data-has-label=true]{margin-top:calc(var(--heroui-font-size-small) + 12px)}.data-\[has-multiple-rows\=true\]\:rounded-large[data-has-multiple-rows=true]{border-radius:var(--heroui-radius-large)}.data-\[has-start-content\=true\]\:ps-1\.5[data-has-start-content=true]{padding-inline-start:calc(var(--spacing)*1.5)}.data-\[has-title\=true\]\:pt-1[data-has-title=true]{padding-top:calc(var(--spacing)*1)}.data-\[has-value\=true\]\:text-default-foreground[data-has-value=true]{color:hsl(var(--heroui-default-foreground)/1)}.data-\[hidden\=true\]\:hidden[data-hidden=true]{display:none}.data-\[hide-scroll\=true\]\:scrollbar-hide[data-hide-scroll=true]{-ms-overflow-style:none;scrollbar-width:none}.data-\[hide-scroll\=true\]\:scrollbar-hide[data-hide-scroll=true]::-webkit-scrollbar{display:none}.data-\[hover\]\:bg-danger-50[data-hover]{background-color:hsl(var(--heroui-danger-50)/1)}.data-\[hover\]\:bg-danger-200[data-hover]{background-color:hsl(var(--heroui-danger-200)/1)}.data-\[hover\]\:bg-default-100[data-hover]{background-color:hsl(var(--heroui-default-100)/1)}.data-\[hover\]\:bg-primary-50[data-hover]{background-color:hsl(var(--heroui-primary-50)/1)}.data-\[hover\]\:bg-primary-200[data-hover]{background-color:hsl(var(--heroui-primary-200)/1)}.data-\[hover\]\:bg-secondary-50[data-hover]{background-color:hsl(var(--heroui-secondary-50)/1)}.data-\[hover\]\:bg-secondary-200[data-hover]{background-color:hsl(var(--heroui-secondary-200)/1)}.data-\[hover\]\:bg-success-50[data-hover]{background-color:hsl(var(--heroui-success-50)/1)}.data-\[hover\]\:bg-success-200[data-hover]{background-color:hsl(var(--heroui-success-200)/1)}.data-\[hover\]\:bg-warning-100[data-hover]{background-color:hsl(var(--heroui-warning-100)/1)}.data-\[hover\]\:bg-warning-200[data-hover]{background-color:hsl(var(--heroui-warning-200)/1)}.data-\[hover-unselected\=true\]\:opacity-disabled[data-hover-unselected=true]{opacity:var(--heroui-disabled-opacity)}.data-\[hover\=true\]\:-translate-x-3[data-hover=true]{--tw-translate-x:calc(var(--spacing)*-3);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[hover\=true\]\:translate-x-0[data-hover=true]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[hover\=true\]\:border-danger[data-hover=true]{border-color:hsl(var(--heroui-danger)/1)}.data-\[hover\=true\]\:border-default[data-hover=true]{border-color:hsl(var(--heroui-default)/1)}.data-\[hover\=true\]\:border-default-400[data-hover=true]{border-color:hsl(var(--heroui-default-400)/1)}.data-\[hover\=true\]\:border-primary[data-hover=true]{border-color:var(--color-primary)}.data-\[hover\=true\]\:border-secondary[data-hover=true]{border-color:hsl(var(--heroui-secondary)/1)}.data-\[hover\=true\]\:border-success[data-hover=true]{border-color:hsl(var(--heroui-success)/1)}.data-\[hover\=true\]\:border-warning[data-hover=true]{border-color:hsl(var(--heroui-warning)/1)}.data-\[hover\=true\]\:\!bg-danger[data-hover=true]{background-color:hsl(var(--heroui-danger)/1)!important}.data-\[hover\=true\]\:\!bg-danger-100[data-hover=true]{background-color:hsl(var(--heroui-danger-100)/1)!important}.data-\[hover\=true\]\:\!bg-default[data-hover=true]{background-color:hsl(var(--heroui-default)/1)!important}.data-\[hover\=true\]\:\!bg-primary[data-hover=true]{background-color:var(--color-primary)!important}.data-\[hover\=true\]\:\!bg-secondary[data-hover=true]{background-color:hsl(var(--heroui-secondary)/1)!important}.data-\[hover\=true\]\:\!bg-success[data-hover=true]{background-color:hsl(var(--heroui-success)/1)!important}.data-\[hover\=true\]\:\!bg-warning[data-hover=true]{background-color:hsl(var(--heroui-warning)/1)!important}.data-\[hover\=true\]\:bg-content2[data-hover=true]{background-color:hsl(var(--heroui-content2)/1)}.data-\[hover\=true\]\:bg-danger[data-hover=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[hover\=true\]\:bg-danger-50[data-hover=true]{background-color:hsl(var(--heroui-danger-50)/1)}.data-\[hover\=true\]\:bg-danger-100[data-hover=true]{background-color:hsl(var(--heroui-danger-100)/1)}.data-\[hover\=true\]\:bg-danger\/20[data-hover=true]{background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-danger\/20[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.data-\[hover\=true\]\:bg-default[data-hover=true]{background-color:hsl(var(--heroui-default)/1)}.data-\[hover\=true\]\:bg-default-100[data-hover=true]{background-color:hsl(var(--heroui-default-100)/1)}.data-\[hover\=true\]\:bg-default-200[data-hover=true]{background-color:hsl(var(--heroui-default-200)/1)}.data-\[hover\=true\]\:bg-default\/40[data-hover=true]{background-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-default\/40[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-default)/1)40%,transparent)}}.data-\[hover\=true\]\:bg-foreground-200[data-hover=true]{background-color:hsl(var(--heroui-foreground-200)/1)}.data-\[hover\=true\]\:bg-primary[data-hover=true]{background-color:var(--color-primary)}.data-\[hover\=true\]\:bg-primary-50[data-hover=true]{background-color:hsl(var(--heroui-primary-50)/1)}.data-\[hover\=true\]\:bg-primary\/20[data-hover=true]{background-color:#1b54ff33}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-primary\/20[data-hover=true]{background-color:color-mix(in oklab,var(--color-primary)20%,transparent)}}.data-\[hover\=true\]\:bg-secondary[data-hover=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[hover\=true\]\:bg-secondary-50[data-hover=true]{background-color:hsl(var(--heroui-secondary-50)/1)}.data-\[hover\=true\]\:bg-secondary\/20[data-hover=true]{background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-secondary\/20[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.data-\[hover\=true\]\:bg-success[data-hover=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[hover\=true\]\:bg-success-50[data-hover=true]{background-color:hsl(var(--heroui-success-50)/1)}.data-\[hover\=true\]\:bg-success-100[data-hover=true]{background-color:hsl(var(--heroui-success-100)/1)}.data-\[hover\=true\]\:bg-success\/20[data-hover=true]{background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-success\/20[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.data-\[hover\=true\]\:bg-transparent[data-hover=true]{background-color:#0000}.data-\[hover\=true\]\:bg-warning[data-hover=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[hover\=true\]\:bg-warning-50[data-hover=true]{background-color:hsl(var(--heroui-warning-50)/1)}.data-\[hover\=true\]\:bg-warning-100[data-hover=true]{background-color:hsl(var(--heroui-warning-100)/1)}.data-\[hover\=true\]\:bg-warning\/20[data-hover=true]{background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-warning\/20[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.data-\[hover\=true\]\:\!text-danger-foreground[data-hover=true]{color:hsl(var(--heroui-danger-foreground)/1)!important}.data-\[hover\=true\]\:\!text-primary-foreground[data-hover=true]{color:hsl(var(--heroui-primary-foreground)/1)!important}.data-\[hover\=true\]\:\!text-secondary-foreground[data-hover=true]{color:hsl(var(--heroui-secondary-foreground)/1)!important}.data-\[hover\=true\]\:\!text-success-foreground[data-hover=true]{color:hsl(var(--heroui-success-foreground)/1)!important}.data-\[hover\=true\]\:\!text-warning-foreground[data-hover=true]{color:hsl(var(--heroui-warning-foreground)/1)!important}.data-\[hover\=true\]\:text-danger[data-hover=true]{color:hsl(var(--heroui-danger)/1)}.data-\[hover\=true\]\:text-danger-500[data-hover=true]{color:hsl(var(--heroui-danger-500)/1)}.data-\[hover\=true\]\:text-danger-foreground[data-hover=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[hover\=true\]\:text-default-500[data-hover=true]{color:hsl(var(--heroui-default-500)/1)}.data-\[hover\=true\]\:text-default-foreground[data-hover=true]{color:hsl(var(--heroui-default-foreground)/1)}.data-\[hover\=true\]\:text-foreground-400[data-hover=true]{color:hsl(var(--heroui-foreground-400)/1)}.data-\[hover\=true\]\:text-foreground-600[data-hover=true]{color:hsl(var(--heroui-foreground-600)/1)}.data-\[hover\=true\]\:text-primary[data-hover=true]{color:var(--color-primary)}.data-\[hover\=true\]\:text-primary-400[data-hover=true]{color:hsl(var(--heroui-primary-400)/1)}.data-\[hover\=true\]\:text-primary-foreground[data-hover=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[hover\=true\]\:text-secondary[data-hover=true]{color:hsl(var(--heroui-secondary)/1)}.data-\[hover\=true\]\:text-secondary-400[data-hover=true]{color:hsl(var(--heroui-secondary-400)/1)}.data-\[hover\=true\]\:text-secondary-foreground[data-hover=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[hover\=true\]\:text-success[data-hover=true]{color:hsl(var(--heroui-success)/1)}.data-\[hover\=true\]\:text-success-600[data-hover=true]{color:hsl(var(--heroui-success-600)/1)}.data-\[hover\=true\]\:text-success-foreground[data-hover=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[hover\=true\]\:text-warning[data-hover=true]{color:hsl(var(--heroui-warning)/1)}.data-\[hover\=true\]\:text-warning-600[data-hover=true]{color:hsl(var(--heroui-warning-600)/1)}.data-\[hover\=true\]\:text-warning-foreground[data-hover=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[hover\=true\]\:opacity-70[data-hover=true]{opacity:.7}.data-\[hover\=true\]\:opacity-hover[data-hover=true]{opacity:var(--heroui-hover-opacity)}.data-\[hover\=true\]\:shadow-lg[data-hover=true]{--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)}.data-\[hover\=true\]\:shadow-danger\/30[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-danger\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-default\/50[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-default\/50[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-default)/1)50%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-primary\/30[data-hover=true]{--tw-shadow-color:#1b54ff4d}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-primary\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-primary)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-secondary\/30[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-secondary\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-success\/30[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-success\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-warning\/30[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-warning\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:transition-colors[data-hover=true]{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))}.data-\[in-range\=false\]\:bg-default-200[data-in-range=false]{background-color:hsl(var(--heroui-default-200)/1)}.data-\[in-range\=true\]\:bg-background\/50[data-in-range=true]{background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[in-range\=true\]\:bg-background\/50[data-in-range=true]{background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)50%,transparent)}}.data-\[in-range\=true\]\:bg-danger[data-in-range=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[in-range\=true\]\:bg-foreground[data-in-range=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[in-range\=true\]\:bg-primary[data-in-range=true]{background-color:var(--color-primary)}.data-\[in-range\=true\]\:bg-secondary[data-in-range=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[in-range\=true\]\:bg-success[data-in-range=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[in-range\=true\]\:bg-warning[data-in-range=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[in-range\=true\]\:opacity-100[data-in-range=true]{opacity:1}.data-\[inert\=true\]\:hidden[data-inert=true]{display:none}.data-\[invalid\=true\]\:text-danger-300[data-invalid=true]{color:hsl(var(--heroui-danger-300)/1)}.data-\[invalid\=true\]\:focus\:bg-danger-400\/50[data-invalid=true]:focus{background-color:hsl(var(--heroui-danger-400)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[invalid\=true\]\:focus\:bg-danger-400\/50[data-invalid=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger-400)/1)50%,transparent)}}.data-\[invalid\=true\]\:data-\[editable\=true\]\:text-danger[data-invalid=true][data-editable=true],.data-\[invalid\=true\]\:data-\[editable\=true\]\:focus\:text-danger[data-invalid=true][data-editable=true]:focus{color:hsl(var(--heroui-danger)/1)}.data-\[invisible\=true\]\:scale-0[data-invisible=true]{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[invisible\=true\]\:opacity-0[data-invisible=true]{opacity:0}.data-\[justify\=center\]\:justify-center[data-justify=center]{justify-content:center}.data-\[justify\=end\]\:flex-grow[data-justify=end]{flex-grow:1}.data-\[justify\=end\]\:basis-0[data-justify=end]{flex-basis:calc(var(--spacing)*0)}.data-\[justify\=end\]\:justify-end[data-justify=end]{justify-content:flex-end}.data-\[justify\=start\]\:flex-grow[data-justify=start]{flex-grow:1}.data-\[justify\=start\]\:basis-0[data-justify=start]{flex-basis:calc(var(--spacing)*0)}.data-\[justify\=start\]\:justify-start[data-justify=start]{justify-content:flex-start}.data-\[left-right-scroll\=true\]\:\[mask-image\:linear-gradient\(to_right\,\#000\,\#000\,transparent_0\,\#000_var\(--scroll-shadow-size\)\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-left-right-scroll=true]{-webkit-mask-image:linear-gradient(to right,#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(to right,#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[left-scroll\=true\]\:\[mask-image\:linear-gradient\(270deg\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-left-scroll=true]{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(270deg,#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[loaded\=true\]\:pointer-events-auto[data-loaded=true]{pointer-events:auto}.data-\[loaded\=true\]\:overflow-visible[data-loaded=true]{overflow:visible}.data-\[loaded\=true\]\:\!bg-transparent[data-loaded=true]{background-color:#0000!important}.data-\[loaded\=true\]\:opacity-100[data-loaded=true]{opacity:1}.data-\[loaded\=true\]\:before\:-z-10[data-loaded=true]:before{content:var(--tw-content);z-index:-10}.data-\[loaded\=true\]\:before\:animate-none[data-loaded=true]:before{content:var(--tw-content);animation:none}.data-\[loaded\=true\]\:before\:opacity-0[data-loaded=true]:before,.data-\[loaded\=true\]\:after\:opacity-0[data-loaded=true]:after{content:var(--tw-content);opacity:0}.data-\[menu-open\=true\]\:border-none[data-menu-open=true]{--tw-border-style:none;border-style:none}.data-\[menu-open\=true\]\:backdrop-blur-xl[data-menu-open=true]{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.data-\[moving\]\:opacity-100[data-moving]{opacity:1}.data-\[moving\=true\]\:transition-transform[data-moving=true]{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.data-\[open\=true\]\:block[data-open=true]{display:block}.data-\[open\=true\]\:flex[data-open=true]{display:flex}.data-\[open\=true\]\:-rotate-90[data-open=true]{rotate:-90deg}.data-\[open\=true\]\:rotate-180[data-open=true]{rotate:180deg}.data-\[open\=true\]\:border-danger[data-open=true]{border-color:hsl(var(--heroui-danger)/1)}.data-\[open\=true\]\:border-default-400[data-open=true]{border-color:hsl(var(--heroui-default-400)/1)}.data-\[open\=true\]\:border-default-foreground[data-open=true]{border-color:hsl(var(--heroui-default-foreground)/1)}.data-\[open\=true\]\:border-primary[data-open=true]{border-color:var(--color-primary)}.data-\[open\=true\]\:border-secondary[data-open=true]{border-color:hsl(var(--heroui-secondary)/1)}.data-\[open\=true\]\:border-success[data-open=true]{border-color:hsl(var(--heroui-success)/1)}.data-\[open\=true\]\:border-warning[data-open=true]{border-color:hsl(var(--heroui-warning)/1)}.data-\[open\=true\]\:after\:w-full[data-open=true]:after{content:var(--tw-content);width:100%}.data-\[orientation\=horizontal\]\:flex-row[data-orientation=horizontal]{flex-direction:row}.data-\[outside-month\=true\]\:before\:hidden[data-outside-month=true]:before{content:var(--tw-content);display:none}.data-\[disabled\=true\]\:data-\[outside-month\=true\]\:opacity-0[data-disabled=true][data-outside-month=true]{opacity:0}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-danger-300[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-danger-300)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-foreground-500[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-foreground-500)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-primary-300[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-primary-300)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-secondary-300[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-secondary-300)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-success-400[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-success-400)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-warning-400[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-warning-400)/1)}.data-\[placement\=bottom\]\:before\:-top-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=bottom]:before{content:var(--tw-content);top:calc(1.5px - .3125rem)}.data-\[placement\=bottom\]\:before\:left-1\/2[data-placement=bottom]:before{content:var(--tw-content);left:50%}.data-\[placement\=bottom\]\:before\:-translate-x-1\/2[data-placement=bottom]:before{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=bottom-center\]\:fixed[data-placement=bottom-center]{position:fixed}.data-\[placement\=bottom-center\]\:right-0[data-placement=bottom-center]{right:calc(var(--spacing)*0)}.data-\[placement\=bottom-center\]\:bottom-0[data-placement=bottom-center]{bottom:calc(var(--spacing)*0)}.data-\[placement\=bottom-center\]\:left-0[data-placement=bottom-center]{left:calc(var(--spacing)*0)}.data-\[placement\=bottom-center\]\:left-1\/2[data-placement=bottom-center]{left:50%}.data-\[placement\=bottom-center\]\:flex[data-placement=bottom-center]{display:flex}.data-\[placement\=bottom-center\]\:-translate-x-1\/2[data-placement=bottom-center]{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=bottom-center\]\:flex-col[data-placement=bottom-center]{flex-direction:column}.data-\[placement\=bottom-center\]\:before\:top-\[calc\(-1\*var\(--top-extension\,16px\)\)\][data-placement=bottom-center]:before{content:var(--tw-content);top:calc(-1*var(--top-extension,16px))}.data-\[placement\=bottom-center\]\:before\:h-\[var\(--top-extension\,16px\)\][data-placement=bottom-center]:before{content:var(--tw-content);height:var(--top-extension,16px)}.data-\[placement\=bottom-center\]\:after\:bottom-\[calc\(-1\*var\(--bottom-extension\,16px\)\)\][data-placement=bottom-center]:after{content:var(--tw-content);bottom:calc(-1*var(--bottom-extension,16px))}.data-\[placement\=bottom-center\]\:after\:h-\[var\(--bottom-extension\,16px\)\][data-placement=bottom-center]:after{content:var(--tw-content);height:var(--bottom-extension,16px)}.data-\[placement\=bottom-end\]\:before\:-top-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=bottom-end]:before{content:var(--tw-content);top:calc(1.5px - .3125rem)}.data-\[placement\=bottom-end\]\:before\:right-3[data-placement=bottom-end]:before{content:var(--tw-content);right:calc(var(--spacing)*3)}.data-\[placement\=bottom-left\]\:fixed[data-placement=bottom-left]{position:fixed}.data-\[placement\=bottom-left\]\:bottom-0[data-placement=bottom-left]{bottom:calc(var(--spacing)*0)}.data-\[placement\=bottom-left\]\:left-0[data-placement=bottom-left]{left:calc(var(--spacing)*0)}.data-\[placement\=bottom-left\]\:mx-auto[data-placement=bottom-left]{margin-inline:auto}.data-\[placement\=bottom-left\]\:flex[data-placement=bottom-left]{display:flex}.data-\[placement\=bottom-left\]\:flex-col[data-placement=bottom-left]{flex-direction:column}.data-\[placement\=bottom-left\]\:before\:top-\[calc\(-1\*var\(--top-extension\,16px\)\)\][data-placement=bottom-left]:before{content:var(--tw-content);top:calc(-1*var(--top-extension,16px))}.data-\[placement\=bottom-left\]\:before\:h-\[var\(--top-extension\,16px\)\][data-placement=bottom-left]:before{content:var(--tw-content);height:var(--top-extension,16px)}.data-\[placement\=bottom-left\]\:after\:bottom-\[calc\(-1\*var\(--bottom-extension\,16px\)\)\][data-placement=bottom-left]:after{content:var(--tw-content);bottom:calc(-1*var(--bottom-extension,16px))}.data-\[placement\=bottom-left\]\:after\:h-\[var\(--bottom-extension\,16px\)\][data-placement=bottom-left]:after{content:var(--tw-content);height:var(--bottom-extension,16px)}.data-\[placement\=bottom-right\]\:fixed[data-placement=bottom-right]{position:fixed}.data-\[placement\=bottom-right\]\:right-0[data-placement=bottom-right]{right:calc(var(--spacing)*0)}.data-\[placement\=bottom-right\]\:bottom-0[data-placement=bottom-right]{bottom:calc(var(--spacing)*0)}.data-\[placement\=bottom-right\]\:mx-auto[data-placement=bottom-right]{margin-inline:auto}.data-\[placement\=bottom-right\]\:flex[data-placement=bottom-right]{display:flex}.data-\[placement\=bottom-right\]\:flex-col[data-placement=bottom-right]{flex-direction:column}.data-\[placement\=bottom-right\]\:before\:top-\[calc\(-1\*var\(--top-extension\,16px\)\)\][data-placement=bottom-right]:before{content:var(--tw-content);top:calc(-1*var(--top-extension,16px))}.data-\[placement\=bottom-right\]\:before\:h-\[var\(--top-extension\,16px\)\][data-placement=bottom-right]:before{content:var(--tw-content);height:var(--top-extension,16px)}.data-\[placement\=bottom-right\]\:after\:bottom-\[calc\(-1\*var\(--bottom-extension\,16px\)\)\][data-placement=bottom-right]:after{content:var(--tw-content);bottom:calc(-1*var(--bottom-extension,16px))}.data-\[placement\=bottom-right\]\:after\:h-\[var\(--bottom-extension\,16px\)\][data-placement=bottom-right]:after{content:var(--tw-content);height:var(--bottom-extension,16px)}.data-\[placement\=bottom-start\]\:before\:-top-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=bottom-start]:before{content:var(--tw-content);top:calc(1.5px - .3125rem)}.data-\[placement\=bottom-start\]\:before\:left-3[data-placement=bottom-start]:before{content:var(--tw-content);left:calc(var(--spacing)*3)}.data-\[placement\=left\]\:before\:top-1\/2[data-placement=left]:before{content:var(--tw-content);top:50%}.data-\[placement\=left\]\:before\:-right-\[calc\(theme\(spacing\.5\)\/4_-_2px\)\][data-placement=left]:before{content:var(--tw-content);right:calc(2px - .3125rem)}.data-\[placement\=left\]\:before\:-translate-y-1\/2[data-placement=left]:before{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=left-end\]\:before\:-right-\[calc\(theme\(spacing\.5\)\/4_-_3px\)\][data-placement=left-end]:before{content:var(--tw-content);right:calc(3px - .3125rem)}.data-\[placement\=left-end\]\:before\:bottom-1\/4[data-placement=left-end]:before{content:var(--tw-content);bottom:25%}.data-\[placement\=left-start\]\:before\:top-1\/4[data-placement=left-start]:before{content:var(--tw-content);top:25%}.data-\[placement\=left-start\]\:before\:-right-\[calc\(theme\(spacing\.5\)\/4_-_3px\)\][data-placement=left-start]:before{content:var(--tw-content);right:calc(3px - .3125rem)}.data-\[placement\=right\]\:before\:top-1\/2[data-placement=right]:before{content:var(--tw-content);top:50%}.data-\[placement\=right\]\:before\:-left-\[calc\(theme\(spacing\.5\)\/4_-_2px\)\][data-placement=right]:before{content:var(--tw-content);left:calc(2px - .3125rem)}.data-\[placement\=right\]\:before\:-translate-y-1\/2[data-placement=right]:before{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=right-end\]\:before\:bottom-1\/4[data-placement=right-end]:before{content:var(--tw-content);bottom:25%}.data-\[placement\=right-end\]\:before\:-left-\[calc\(theme\(spacing\.5\)\/4_-_3px\)\][data-placement=right-end]:before{content:var(--tw-content);left:calc(3px - .3125rem)}.data-\[placement\=right-start\]\:before\:top-1\/4[data-placement=right-start]:before{content:var(--tw-content);top:25%}.data-\[placement\=right-start\]\:before\:-left-\[calc\(theme\(spacing\.5\)\/4_-_3px\)\][data-placement=right-start]:before{content:var(--tw-content);left:calc(3px - .3125rem)}.data-\[placement\=top\]\:before\:-bottom-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=top]:before{content:var(--tw-content);bottom:calc(1.5px - .3125rem)}.data-\[placement\=top\]\:before\:left-1\/2[data-placement=top]:before{content:var(--tw-content);left:50%}.data-\[placement\=top\]\:before\:-translate-x-1\/2[data-placement=top]:before{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=top-center\]\:fixed[data-placement=top-center]{position:fixed}.data-\[placement\=top-center\]\:top-0[data-placement=top-center]{top:calc(var(--spacing)*0)}.data-\[placement\=top-center\]\:right-0[data-placement=top-center]{right:calc(var(--spacing)*0)}.data-\[placement\=top-center\]\:left-0[data-placement=top-center]{left:calc(var(--spacing)*0)}.data-\[placement\=top-center\]\:left-1\/2[data-placement=top-center]{left:50%}.data-\[placement\=top-center\]\:flex[data-placement=top-center]{display:flex}.data-\[placement\=top-center\]\:-translate-x-1\/2[data-placement=top-center]{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=top-center\]\:flex-col[data-placement=top-center]{flex-direction:column}.data-\[placement\=top-end\]\:before\:right-3[data-placement=top-end]:before{content:var(--tw-content);right:calc(var(--spacing)*3)}.data-\[placement\=top-end\]\:before\:-bottom-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=top-end]:before{content:var(--tw-content);bottom:calc(1.5px - .3125rem)}.data-\[placement\=top-left\]\:fixed[data-placement=top-left]{position:fixed}.data-\[placement\=top-left\]\:top-0[data-placement=top-left]{top:calc(var(--spacing)*0)}.data-\[placement\=top-left\]\:left-0[data-placement=top-left]{left:calc(var(--spacing)*0)}.data-\[placement\=top-left\]\:mx-auto[data-placement=top-left]{margin-inline:auto}.data-\[placement\=top-left\]\:flex[data-placement=top-left]{display:flex}.data-\[placement\=top-left\]\:flex-col[data-placement=top-left]{flex-direction:column}.data-\[placement\=top-right\]\:fixed[data-placement=top-right]{position:fixed}.data-\[placement\=top-right\]\:top-0[data-placement=top-right]{top:calc(var(--spacing)*0)}.data-\[placement\=top-right\]\:right-0[data-placement=top-right]{right:calc(var(--spacing)*0)}.data-\[placement\=top-right\]\:mx-auto[data-placement=top-right]{margin-inline:auto}.data-\[placement\=top-right\]\:flex[data-placement=top-right]{display:flex}.data-\[placement\=top-right\]\:flex-col[data-placement=top-right]{flex-direction:column}.data-\[placement\=top-start\]\:before\:-bottom-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=top-start]:before{content:var(--tw-content);bottom:calc(1.5px - .3125rem)}.data-\[placement\=top-start\]\:before\:left-3[data-placement=top-start]:before{content:var(--tw-content);left:calc(var(--spacing)*3)}.data-\[pressed\=true\]\:scale-100[data-pressed=true]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[pressed\=true\]\:scale-\[0\.97\][data-pressed=true]{scale:.97}.data-\[pressed\=true\]\:opacity-50[data-pressed=true]{opacity:.5}.data-\[pressed\=true\]\:opacity-70[data-pressed=true]{opacity:.7}.data-\[pressed\=true\]\:opacity-disabled[data-pressed=true]{opacity:var(--heroui-disabled-opacity)}.data-\[range-end\=true\]\:before\:rounded-e-full[data-range-end=true]:before{content:var(--tw-content);border-start-end-radius:3.40282e38px;border-end-end-radius:3.40282e38px}.data-\[range-start\=true\]\:before\:rounded-s-full[data-range-start=true]:before{content:var(--tw-content);border-start-start-radius:3.40282e38px;border-end-start-radius:3.40282e38px}.data-\[readonly\=true\]\:cursor-default[data-readonly=true]{cursor:default}.data-\[right-scroll\=true\]\:\[mask-image\:linear-gradient\(90deg\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-right-scroll=true]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[selectable\=true\]\:focus\:border-danger[data-selectable=true]:focus{border-color:hsl(var(--heroui-danger)/1)}.data-\[selectable\=true\]\:focus\:border-default[data-selectable=true]:focus{border-color:hsl(var(--heroui-default)/1)}.data-\[selectable\=true\]\:focus\:border-primary[data-selectable=true]:focus{border-color:var(--color-primary)}.data-\[selectable\=true\]\:focus\:border-secondary[data-selectable=true]:focus{border-color:hsl(var(--heroui-secondary)/1)}.data-\[selectable\=true\]\:focus\:border-success[data-selectable=true]:focus{border-color:hsl(var(--heroui-success)/1)}.data-\[selectable\=true\]\:focus\:border-warning[data-selectable=true]:focus{border-color:hsl(var(--heroui-warning)/1)}.data-\[selectable\=true\]\:focus\:bg-danger[data-selectable=true]:focus,.data-\[selectable\=true\]\:focus\:bg-danger\/20[data-selectable=true]:focus{background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-danger\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-default[data-selectable=true]:focus{background-color:hsl(var(--heroui-default)/1)}.data-\[selectable\=true\]\:focus\:bg-default-100[data-selectable=true]:focus{background-color:hsl(var(--heroui-default-100)/1)}.data-\[selectable\=true\]\:focus\:bg-default\/40[data-selectable=true]:focus{background-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-default\/40[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-default)/1)40%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-primary[data-selectable=true]:focus{background-color:var(--color-primary)}.data-\[selectable\=true\]\:focus\:bg-primary\/20[data-selectable=true]:focus{background-color:#1b54ff33}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-primary\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,var(--color-primary)20%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-secondary[data-selectable=true]:focus,.data-\[selectable\=true\]\:focus\:bg-secondary\/20[data-selectable=true]:focus{background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-secondary\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-success[data-selectable=true]:focus,.data-\[selectable\=true\]\:focus\:bg-success\/20[data-selectable=true]:focus{background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-success\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-warning[data-selectable=true]:focus,.data-\[selectable\=true\]\:focus\:bg-warning\/20[data-selectable=true]:focus{background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-warning\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.data-\[selectable\=true\]\:focus\:text-danger[data-selectable=true]:focus{color:hsl(var(--heroui-danger)/1)}.data-\[selectable\=true\]\:focus\:text-danger-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-default-500[data-selectable=true]:focus{color:hsl(var(--heroui-default-500)/1)}.data-\[selectable\=true\]\:focus\:text-default-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-default-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-primary[data-selectable=true]:focus{color:var(--color-primary)}.data-\[selectable\=true\]\:focus\:text-primary-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-secondary[data-selectable=true]:focus{color:hsl(var(--heroui-secondary)/1)}.data-\[selectable\=true\]\:focus\:text-secondary-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-success[data-selectable=true]:focus{color:hsl(var(--heroui-success)/1)}.data-\[selectable\=true\]\:focus\:text-success-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-warning[data-selectable=true]:focus{color:hsl(var(--heroui-warning)/1)}.data-\[selectable\=true\]\:focus\:text-warning-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[selectable\=true\]\:focus\:shadow-danger\/30[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-danger\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-default\/50[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-default\/50[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-default)/1)50%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-primary\/30[data-selectable=true]:focus{--tw-shadow-color:#1b54ff4d}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-primary\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-primary)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-secondary\/30[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-secondary\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-success\/30[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-success\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-warning\/30[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-warning\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:bg-danger[data-selected=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:bg-default[data-selected=true]{background-color:hsl(var(--heroui-default)/1)}.data-\[selected\=true\]\:bg-foreground[data-selected=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:bg-primary[data-selected=true]{background-color:var(--color-primary)}.data-\[selected\=true\]\:bg-secondary[data-selected=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:bg-success[data-selected=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:bg-warning[data-selected=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:text-background[data-selected=true]{color:hsl(var(--heroui-background)/1)}.data-\[selected\=true\]\:text-danger[data-selected=true]{color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:text-danger-foreground[data-selected=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selected\=true\]\:text-default-foreground[data-selected=true]{color:hsl(var(--heroui-default-foreground)/1)}.data-\[selected\=true\]\:text-primary[data-selected=true]{color:var(--color-primary)}.data-\[selected\=true\]\:text-primary-foreground[data-selected=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selected\=true\]\:text-secondary[data-selected=true]{color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:text-secondary-foreground[data-selected=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selected\=true\]\:text-success-600[data-selected=true]{color:hsl(var(--heroui-success-600)/1)}.data-\[selected\=true\]\:text-success-foreground[data-selected=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selected\=true\]\:text-warning-600[data-selected=true]{color:hsl(var(--heroui-warning-600)/1)}.data-\[selected\=true\]\:text-warning-foreground[data-selected=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[selected\=true\]\:shadow-md[data-selected=true]{--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)}.data-\[selected\=true\]\:shadow-none[data-selected=true]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[selected\=true\]\:shadow-danger\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-danger\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-foreground\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-foreground\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-foreground)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-primary\/40[data-selected=true]{--tw-shadow-color:#1b54ff66}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-primary\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-primary)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-secondary\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-secondary\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-success\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-success\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-warning\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-warning\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:before\:opacity-100[data-selected=true]:before{content:var(--tw-content);opacity:1}.data-\[selected\=true\]\:after\:bg-danger[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:after\:bg-foreground[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:after\:bg-primary[data-selected=true]:after{content:var(--tw-content);background-color:var(--color-primary)}.data-\[selected\=true\]\:after\:bg-secondary[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:after\:bg-success[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:after\:bg-warning[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:after\:opacity-100[data-selected=true]:after{content:var(--tw-content);opacity:1}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-danger[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-foreground[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-primary[data-selected=true][data-hover=true]{background-color:var(--color-primary)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-secondary[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-success[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-warning[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-background[data-selected=true][data-hover=true]{color:hsl(var(--heroui-background)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-danger-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-primary-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-secondary-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-success-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-warning-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:bg-transparent[data-selected=true][data-range-selection=true]{background-color:#0000}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-danger-500[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-danger-500)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-foreground[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-primary[data-selected=true][data-range-selection=true]{color:var(--color-primary)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-secondary[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-success-600[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-success-600)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-warning-500[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-warning-500)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-danger-50[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-danger-50)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-foreground\/10[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-foreground\/10[data-selected=true][data-range-selection=true]:before{background-color:color-mix(in oklab,hsl(var(--heroui-foreground)/1)10%,transparent)}}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-primary-50[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-primary-50)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-secondary-50[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-secondary-50)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-success-100[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-success-100)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-warning-100[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-warning-100)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:data-\[outside-month\=true\]\:bg-transparent[data-selected=true][data-range-selection=true][data-outside-month=true]{background-color:#0000}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:data-\[outside-month\=true\]\:text-default-300[data-selected=true][data-range-selection=true][data-outside-month=true]{color:hsl(var(--heroui-default-300)/1)}.data-\[selection-end\=true\]\:before\:rounded-e-full[data-selection-end=true]:before{content:var(--tw-content);border-start-end-radius:3.40282e38px;border-end-end-radius:3.40282e38px}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:shadow-md[data-selected=true][data-selection-end=true]{--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)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:rounded-full[data-selected=true][data-selection-end=true][data-range-selection=true]{border-radius:3.40282e38px}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-danger[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-primary[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:var(--color-primary)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-secondary[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-success[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-warning[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-background[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-background)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-danger-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-primary-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-secondary-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-success-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-warning-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[selection-start\=true\]\:before\:rounded-s-full[data-selection-start=true]:before{content:var(--tw-content);border-start-start-radius:3.40282e38px;border-end-start-radius:3.40282e38px}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:shadow-md[data-selected=true][data-selection-start=true]{--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)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:rounded-full[data-selected=true][data-selection-start=true][data-range-selection=true]{border-radius:3.40282e38px}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-danger[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-primary[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:var(--color-primary)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-secondary[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-success[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-warning[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-background[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-background)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-danger-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-primary-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-secondary-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-success-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-warning-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[sortable\=true\]\:cursor-pointer[data-sortable=true]{cursor:pointer}.data-\[toast-exiting\=true\]\:transform-gpu[data-toast-exiting=true]{transform:translateZ(0)var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.data-\[toast-exiting\=true\]\:opacity-0[data-toast-exiting=true]{opacity:0}.data-\[toast-exiting\=true\]\:transition-all[data-toast-exiting=true]{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.data-\[toast-exiting\=true\]\:duration-300[data-toast-exiting=true]{--tw-duration:.3s;transition-duration:.3s}.data-\[toast-exiting\=true\]\:ease-out[data-toast-exiting=true]{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.data-\[toast-exiting\=true\]\:will-change-transform[data-toast-exiting=true]{will-change:transform}.data-\[toast-exiting\=true\]\:data-\[placement\=bottom-center\]\:translate-y-full[data-toast-exiting=true][data-placement=bottom-center]{--tw-translate-y:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=bottom-left\]\:-translate-x-full[data-toast-exiting=true][data-placement=bottom-left]{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=bottom-right\]\:translate-x-full[data-toast-exiting=true][data-placement=bottom-right]{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=top-center\]\:-translate-y-full[data-toast-exiting=true][data-placement=top-center]{--tw-translate-y:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=top-left\]\:-translate-x-full[data-toast-exiting=true][data-placement=top-left]{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=top-right\]\:translate-x-full[data-toast-exiting=true][data-placement=top-right]{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[top-bottom-scroll\=true\]\:\[mask-image\:linear-gradient\(\#000\,\#000\,transparent_0\,\#000_var\(--scroll-shadow-size\)\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-top-bottom-scroll=true]{-webkit-mask-image:linear-gradient(#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[top-scroll\=true\]\:\[mask-image\:linear-gradient\(0deg\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-top-scroll=true]{-webkit-mask-image:linear-gradient(0deg,#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(0deg,#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[type\=color\]\:rounded-none[data-type=color]{border-radius:0}.data-\[unavailable\=true\]\:cursor-default[data-unavailable=true]{cursor:default}.data-\[unavailable\=true\]\:text-default-300[data-unavailable=true]{color:hsl(var(--heroui-default-300)/1)}.data-\[unavailable\=true\]\:line-through[data-unavailable=true]{text-decoration-line:line-through}.data-\[visible\=true\]\:pointer-events-auto[data-visible=true]{pointer-events:auto}.data-\[visible\=true\]\:cursor-pointer[data-visible=true]{cursor:pointer}.data-\[visible\=true\]\:opacity-100[data-visible=true]{opacity:1}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-pop-in{animation:var(--animate-pop-in)}}@media (prefers-reduced-motion:reduce){.motion-reduce\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.motion-reduce\:transition-none{transition-property:none}.motion-reduce\:after\:transition-none:after{content:var(--tw-content);transition-property:none}}@media (min-width:28rem){.xs\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:40rem){.sm\:m-0{margin:calc(var(--spacing)*0)}.sm\:mx-0{margin-inline:calc(var(--spacing)*0)}.sm\:mx-1{margin-inline:calc(var(--spacing)*1)}.sm\:mx-6{margin-inline:calc(var(--spacing)*6)}.sm\:my-0{margin-block:calc(var(--spacing)*0)}.sm\:my-16{margin-block:calc(var(--spacing)*16)}.sm\:w-\[356px\]{width:356px}.sm\:w-auto{width:auto}.sm\:max-w-\[1200px\]{max-width:1200px}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\:\[--scale-enter\:100\%\]{--scale-enter:100%}.sm\:\[--scale-exit\:103\%\]{--scale-exit:103%}.sm\:\[--slide-enter\:0px\]{--slide-enter:0px}.sm\:\[--slide-exit\:0px\]{--slide-exit:0px}.sm\:data-\[placement\=bottom-center\]\:mx-auto[data-placement=bottom-center]{margin-inline:auto}.sm\:data-\[placement\=bottom-center\]\:w-max[data-placement=bottom-center]{width:max-content}.sm\:data-\[placement\=bottom-left\]\:ml-2[data-placement=bottom-left]{margin-left:calc(var(--spacing)*2)}.sm\:data-\[placement\=bottom-left\]\:w-max[data-placement=bottom-left]{width:max-content}.sm\:data-\[placement\=bottom-right\]\:mr-2[data-placement=bottom-right]{margin-right:calc(var(--spacing)*2)}.sm\:data-\[placement\=bottom-right\]\:w-max[data-placement=bottom-right]{width:max-content}.sm\:data-\[placement\=top-center\]\:mx-auto[data-placement=top-center]{margin-inline:auto}.sm\:data-\[placement\=top-center\]\:w-max[data-placement=top-center]{width:max-content}.sm\:data-\[placement\=top-left\]\:ml-2[data-placement=top-left]{margin-left:calc(var(--spacing)*2)}.sm\:data-\[placement\=top-left\]\:w-max[data-placement=top-left]{width:max-content}.sm\:data-\[placement\=top-right\]\:mr-2[data-placement=top-right]{margin-right:calc(var(--spacing)*2)}.sm\:data-\[placement\=top-right\]\:w-max[data-placement=top-right]{width:max-content}.sm\:data-\[visible\=true\]\:pointer-events-none[data-visible=true]{pointer-events:none}.sm\:data-\[visible\=true\]\:opacity-0[data-visible=true]{opacity:0}.sm\:group-data-\[hover\=true\]\:data-\[visible\=true\]\:pointer-events-auto:is(:where(.group)[data-hover=true] *)[data-visible=true]{pointer-events:auto}.sm\:group-data-\[hover\=true\]\:data-\[visible\=true\]\:opacity-100:is(:where(.group)[data-hover=true] *)[data-visible=true]{opacity:1}}@media (min-width:48rem){.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (min-width:64rem){.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}.rtl\:right-auto:where(:dir(rtl),[dir=rtl],[dir=rtl] *){right:auto}.rtl\:left-2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){left:calc(var(--spacing)*2)}.rtl\:origin-top-right:where(:dir(rtl),[dir=rtl],[dir=rtl] *){transform-origin:100% 0}.rtl\:-rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:-180deg}.rtl\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:180deg}.rtl\:flex-row-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}:where(.rtl\:space-x-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *)>:not(:last-child)){--tw-space-x-reverse:1}.rtl\:data-\[focus-visible\=true\]\:translate-x-3:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-focus-visible=true],.rtl\:data-\[hover\=true\]\:translate-x-3:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-hover=true]{--tw-translate-x:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.rtl\:data-\[open\=true\]\:-rotate-90:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-open=true]{rotate:-90deg}.dark\:border-danger-100:is(.dark *){border-color:hsl(var(--heroui-danger-100)/1)}.dark\:border-default-200:is(.dark *){border-color:hsl(var(--heroui-default-200)/1)}.dark\:border-primary-100:is(.dark *){border-color:hsl(var(--heroui-primary-100)/1)}.dark\:border-success-100:is(.dark *){border-color:hsl(var(--heroui-success-100)/1)}.dark\:border-warning-100:is(.dark *){border-color:hsl(var(--heroui-warning-100)/1)}.dark\:bg-background:is(.dark *),.dark\:bg-background\/20:is(.dark *){background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-background\/20:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)20%,transparent)}}.dark\:bg-content2:is(.dark *){background-color:hsl(var(--heroui-content2)/1)}.dark\:bg-danger-50:is(.dark *),.dark\:bg-danger-50\/50:is(.dark *){background-color:hsl(var(--heroui-danger-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-danger-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-danger-50)/1)50%,transparent)}}.dark\:bg-danger-100:is(.dark *){background-color:hsl(var(--heroui-danger-100)/1)}.dark\:bg-default:is(.dark *){background-color:hsl(var(--heroui-default)/1)}.dark\:bg-default-50\/50:is(.dark *){background-color:hsl(var(--heroui-default-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-default-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-default-50)/1)50%,transparent)}}.dark\:bg-default-100:is(.dark *){background-color:hsl(var(--heroui-default-100)/1)}.dark\:bg-primary-50:is(.dark *),.dark\:bg-primary-50\/50:is(.dark *){background-color:hsl(var(--heroui-primary-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-primary-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-primary-50)/1)50%,transparent)}}.dark\:bg-primary-100:is(.dark *){background-color:hsl(var(--heroui-primary-100)/1)}.dark\:bg-secondary-50:is(.dark *),.dark\:bg-secondary-50\/50:is(.dark *){background-color:hsl(var(--heroui-secondary-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-secondary-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-secondary-50)/1)50%,transparent)}}.dark\:bg-secondary-100:is(.dark *){background-color:hsl(var(--heroui-secondary-100)/1)}.dark\:bg-success-50:is(.dark *),.dark\:bg-success-50\/50:is(.dark *){background-color:hsl(var(--heroui-success-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-success-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-success-50)/1)50%,transparent)}}.dark\:bg-success-100:is(.dark *){background-color:hsl(var(--heroui-success-100)/1)}.dark\:bg-transparent:is(.dark *){background-color:#0000}.dark\:bg-warning-50:is(.dark *),.dark\:bg-warning-50\/50:is(.dark *){background-color:hsl(var(--heroui-warning-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-warning-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-warning-50)/1)50%,transparent)}}.dark\:bg-warning-100:is(.dark *){background-color:hsl(var(--heroui-warning-100)/1)}.dark\:text-danger-500:is(.dark *){color:hsl(var(--heroui-danger-500)/1)}.dark\:text-success:is(.dark *){color:hsl(var(--heroui-success)/1)}.dark\:text-warning:is(.dark *){color:hsl(var(--heroui-warning)/1)}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.dark\:placeholder\:text-danger-500:is(.dark *)::placeholder{color:hsl(var(--heroui-danger-500)/1)}.dark\:placeholder\:text-success:is(.dark *)::placeholder{color:hsl(var(--heroui-success)/1)}.dark\:placeholder\:text-warning:is(.dark *)::placeholder{color:hsl(var(--heroui-warning)/1)}.dark\:before\:via-default-700\/10:is(.dark *):before{content:var(--tw-content);--tw-gradient-via:hsl(var(--heroui-default-700)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:before\:via-default-700\/10:is(.dark *):before{--tw-gradient-via:color-mix(in oklab,hsl(var(--heroui-default-700)/1)10%,transparent)}}.dark\:before\:via-default-700\/10:is(.dark *):before{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:after\:bg-content2:is(.dark *):after{content:var(--tw-content);background-color:hsl(var(--heroui-content2)/1)}.dark\:focus\:bg-danger-400\/20:is(.dark *):focus{background-color:hsl(var(--heroui-danger-400)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:focus\:bg-danger-400\/20:is(.dark *):focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger-400)/1)20%,transparent)}}.dark\:focus\:bg-success-400\/20:is(.dark *):focus{background-color:hsl(var(--heroui-success-400)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:focus\:bg-success-400\/20:is(.dark *):focus{background-color:color-mix(in oklab,hsl(var(--heroui-success-400)/1)20%,transparent)}}.dark\:focus\:bg-warning-400\/20:is(.dark *):focus{background-color:hsl(var(--heroui-warning-400)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:focus\:bg-warning-400\/20:is(.dark *):focus{background-color:color-mix(in oklab,hsl(var(--heroui-warning-400)/1)20%,transparent)}}.dark\:data-\[hover\=true\]\:bg-content2:is(.dark *)[data-hover=true]{background-color:hsl(var(--heroui-content2)/1)}.dark\:data-\[hover\=true\]\:bg-danger-50:is(.dark *)[data-hover=true]{background-color:hsl(var(--heroui-danger-50)/1)}.dark\:data-\[hover\=true\]\:bg-success-50:is(.dark *)[data-hover=true]{background-color:hsl(var(--heroui-success-50)/1)}.dark\:data-\[hover\=true\]\:bg-warning-50:is(.dark *)[data-hover=true]{background-color:hsl(var(--heroui-warning-50)/1)}.dark\:data-\[hover\=true\]\:text-danger-500:is(.dark *)[data-hover=true]{color:hsl(var(--heroui-danger-500)/1)}.dark\:data-\[hover\=true\]\:text-success-500:is(.dark *)[data-hover=true]{color:hsl(var(--heroui-success-500)/1)}.dark\:data-\[hover\=true\]\:text-warning-500:is(.dark *)[data-hover=true]{color:hsl(var(--heroui-warning-500)/1)}.dark\:data-\[invalid\=true\]\:focus\:bg-danger-400\/20:is(.dark *)[data-invalid=true]:focus{background-color:hsl(var(--heroui-danger-400)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[invalid\=true\]\:focus\:bg-danger-400\/20:is(.dark *)[data-invalid=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger-400)/1)20%,transparent)}}.dark\:data-\[selected\=true\]\:text-danger-500:is(.dark *)[data-selected=true]{color:hsl(var(--heroui-danger-500)/1)}.dark\:data-\[selected\=true\]\:text-success:is(.dark *)[data-selected=true]{color:hsl(var(--heroui-success)/1)}.dark\:data-\[selected\=true\]\:text-warning:is(.dark *)[data-selected=true]{color:hsl(var(--heroui-warning)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:bg-danger:is(.dark *)[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-danger)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:bg-success:is(.dark *)[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-success)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:bg-warning:is(.dark *)[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-warning)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:text-danger-foreground:is(.dark *)[data-selected=true][data-hover=true]{color:hsl(var(--heroui-danger-foreground)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:text-success-foreground:is(.dark *)[data-selected=true][data-hover=true]{color:hsl(var(--heroui-success-foreground)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:text-warning-foreground:is(.dark *)[data-selected=true][data-hover=true]{color:hsl(var(--heroui-warning-foreground)/1)}.dark\:data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-success-500:is(.dark *)[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-success-500)/1)}.dark\:data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-success-50:is(.dark *)[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-success-50)/1)}.dark\:data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-warning-50:is(.dark *)[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-warning-50)/1)}.dark\:data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-success-foreground:is(.dark *)[data-selected=true][data-selection-end=true][data-range-selection=true],.dark\:data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-success-foreground:is(.dark *)[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-success-foreground)/1)}.\[\&_\.chevron-icon\]\:flex-none .chevron-icon{flex:none}.\[\&_\.chevron-icon\]\:rotate-180 .chevron-icon{rotate:180deg}.\[\&_\.chevron-icon\]\:transition-transform .chevron-icon{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[\&\+\.border-medium\.border-danger\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-danger,.\[\&\+\.border-medium\.border-default\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-default,.\[\&\+\.border-medium\.border-primary\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-primary,.\[\&\+\.border-medium\.border-secondary\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-secondary,.\[\&\+\.border-medium\.border-success\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-success,.\[\&\+\.border-medium\.border-warning\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-warning{margin-inline-start:calc(var(--heroui-border-width-medium)*-1)}.\[\&\:not\(\:first-child\)\]\:-ml-1:not(:first-child){margin-left:calc(var(--spacing)*-1)}.\[\&\:not\(\:first-child\)\:not\(\:last-child\)\]\:rounded-none:not(:first-child):not(:last-child){border-radius:0}.\[\&\:not\(\:first-of-type\)\]\:ms-\[calc\(theme\(borderWidth\.2\)\*-1\)\]:not(:first-of-type){margin-inline-start:-2px}.\[\&\:not\(\:first-of-type\)\:not\(\:last-of-type\)\]\:rounded-none:not(:first-of-type):not(:last-of-type){border-radius:0}.\[\&\>\*\]\:relative>*{position:relative}.\[\&\>\*\]\:z-1>*{z-index:1}.\[\&\>svg\]\:max-w-\[theme\(spacing\.8\)\]>svg{max-width:2rem}.\[\&\>tr\]\:first\:rounded-lg>tr:first-child{border-radius:var(--radius-lg)}.\[\&\>tr\]\:first\:shadow-small>tr:first-child{--tw-shadow:var(--heroui-box-shadow-small);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\[\&\[data-hover\=true\]\:not\(\[data-active\=true\]\)\]\:bg-default-100[data-hover=true]:not([data-active=true]){background-color:hsl(var(--heroui-default-100)/1)}.\[\&\[data-hover\=true\]\:not\(\[data-active\=true\]\)\]\:bg-default-200[data-hover=true]:not([data-active=true]){background-color:hsl(var(--heroui-default-200)/1)}}.markdown-container code:before,.markdown-container code:after{content:none}.prose{overflow-wrap:break-word}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";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-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{to{transform:translate(200%)}}@keyframes spinner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes drip-expand{0%{opacity:.2;transform:scale(0)}to{opacity:0;transform:scale(2)}}@keyframes appearance-in{0%{opacity:0;transform:translateZ(0)scale(.95)}60%{opacity:.75;backface-visibility:hidden;webkit-font-smoothing:antialiased;transform:translateZ(0)scale(1.05)}to{opacity:1;transform:translateZ(0)scale(1)}}@keyframes indeterminate-bar{0%{transform:translate(-50%)scaleX(.2)}to{transform:translate(100%)scaleX(1)}}@keyframes sway{0%{transform:translate(0)}50%{transform:translateY(-150%)}to{transform:translate(0)}}@keyframes blink{0%{opacity:.2}20%{opacity:1}to{opacity:.2}}@keyframes fade-out{0%{opacity:1}to{opacity:.15}}._GzYRV{line-height:1.2;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}._3eOF8{margin-right:5px;font-weight:700}._3eOF8+._3eOF8{margin-left:-5px}._1MFti{cursor:pointer}._f10Tu{font-size:1.2em;margin-right:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}._1UmXx:after{content:"▸"}._1LId0:after{content:"▾"}._1pNG9{margin-right:5px}._1pNG9:after{content:"...";font-size:.8em}._2IvMF{background:#eee}._2bkNM{margin:0;padding:0 10px}._1BXBN{margin:0;padding:0}._1MGIk{font-weight:600;margin-right:5px;color:#000}._3uHL6{color:#000}._2T6PJ,._1Gho6{color:#df113a}._vGjyY{color:#2a3f3c}._1bQdo{color:#0b75f5}._3zQKs{color:#469038}._1xvuR{color:#43413d}._oLqym,._2AXVT,._2KJWg{color:#000}._11RoI{background:#002b36}._17H2C,._3QHg2,._3fDAz{color:#fdf6e3}._2bSDX{font-weight:bolder;margin-right:5px;color:#fdf6e3}._gsbQL{color:#fdf6e3}._LaAZe,._GTKgm{color:#81b5ac}._Chy1W{color:#cb4b16}._2bveF{color:#d33682}._2vRm-{color:#ae81ff}._1prJR{color:#268bd2} diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-C75huGqt.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-C75huGqt.js deleted file mode 100644 index 4eba67006..000000000 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-C75huGqt.js +++ /dev/null @@ -1,127 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/FeedbackForm-Bovwe8ia.js","assets/index-VYICyW2P.js","assets/chunk-SSA7SXE4-DnKzYyYP.js","assets/index-I-Ja0wkh.js","assets/chunk-IGSAU2ZA-DUS7ku-0.js","assets/ChatOptionsForm-DYA6GEAP.js","assets/ShareButton-BvHR4xdz.js","assets/UsageButton-BMDI2IGg.js","assets/Login-B2kPNK-w.js","assets/authStore-DLhLSjcY.js","assets/AuthGuard-B3JOY-uC.js","assets/LogoutButton-Bspy5P1_.js"])))=>i.map(i=>d[i]); -(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 s of i)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();var eg=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ov(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Dy={exports:{}},cp={},Ny={exports:{}},dt={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Qw;function OR(){if(Qw)return dt;Qw=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"),s=Symbol.for("react.provider"),a=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),g=Symbol.iterator;function b(V){return V===null||typeof V!="object"?null:(V=g&&V[g]||V["@@iterator"],typeof V=="function"?V:null)}var x={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E=Object.assign,P={};function _(V,oe,O){this.props=V,this.context=oe,this.refs=P,this.updater=O||x}_.prototype.isReactComponent={},_.prototype.setState=function(V,oe){if(typeof V!="object"&&typeof V!="function"&&V!=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,V,oe,"setState")},_.prototype.forceUpdate=function(V){this.updater.enqueueForceUpdate(this,V,"forceUpdate")};function T(){}T.prototype=_.prototype;function R(V,oe,O){this.props=V,this.context=oe,this.refs=P,this.updater=O||x}var L=R.prototype=new T;L.constructor=R,E(L,_.prototype),L.isPureReactComponent=!0;var z=Array.isArray,K=Object.prototype.hasOwnProperty,M={current:null},J={key:!0,ref:!0,__self:!0,__source:!0};function re(V,oe,O){var me,Ee={},we=null,je=null;if(oe!=null)for(me in oe.ref!==void 0&&(je=oe.ref),oe.key!==void 0&&(we=""+oe.key),oe)K.call(oe,me)&&!J.hasOwnProperty(me)&&(Ee[me]=oe[me]);var Oe=arguments.length-2;if(Oe===1)Ee.children=O;else if(1>>1,oe=W[V];if(0>>1;Vi(Ee,A))wei(je,Ee)?(W[V]=je,W[we]=A,V=we):(W[V]=Ee,W[me]=A,V=me);else if(wei(je,A))W[V]=je,W[we]=A,V=we;else break e}}return se}function i(W,se){var A=W.sortIndex-se.sortIndex;return A!==0?A:W.id-se.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var a=Date,c=a.now();e.unstable_now=function(){return a.now()-c}}var d=[],h=[],m=1,g=null,b=3,x=!1,E=!1,P=!1,_=typeof setTimeout=="function"?setTimeout:null,T=typeof clearTimeout=="function"?clearTimeout:null,R=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function L(W){for(var se=n(h);se!==null;){if(se.callback===null)r(h);else if(se.startTime<=W)r(h),se.sortIndex=se.expirationTime,t(d,se);else break;se=n(h)}}function z(W){if(P=!1,L(W),!E)if(n(d)!==null)E=!0,Z(K);else{var se=n(h);se!==null&&q(z,se.startTime-W)}}function K(W,se){E=!1,P&&(P=!1,T(re),re=-1),x=!0;var A=b;try{for(L(se),g=n(d);g!==null&&(!(g.expirationTime>se)||W&&!B());){var V=g.callback;if(typeof V=="function"){g.callback=null,b=g.priorityLevel;var oe=V(g.expirationTime<=se);se=e.unstable_now(),typeof oe=="function"?g.callback=oe:g===n(d)&&r(d),L(se)}else r(d);g=n(d)}if(g!==null)var O=!0;else{var me=n(h);me!==null&&q(z,me.startTime-se),O=!1}return O}finally{g=null,b=A,x=!1}}var M=!1,J=null,re=-1,ae=5,j=-1;function B(){return!(e.unstable_now()-jW||125V?(W.sortIndex=A,t(h,W),n(d)===null&&W===n(h)&&(P?(T(re),re=-1):P=!0,q(z,A-V))):(W.sortIndex=oe,t(d,W),E||x||(E=!0,Z(K))),W},e.unstable_shouldYield=B,e.unstable_wrapCallback=function(W){var se=b;return function(){var A=b;b=se;try{return W.apply(this,arguments)}finally{b=A}}}}(zy)),zy}var n1;function VR(){return n1||(n1=1,Oy.exports=BR()),Oy.exports}/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var r1;function UR(){if(r1)return ei;r1=1;var e=ex(),t=VR();function n(o){for(var l="https://reactjs.org/docs/error-decoder.html?invariant="+o,p=1;p"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),d=Object.prototype.hasOwnProperty,h=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,m={},g={};function b(o){return d.call(g,o)?!0:d.call(m,o)?!1:h.test(o)?g[o]=!0:(m[o]=!0,!1)}function x(o,l,p,v){if(p!==null&&p.type===0)return!1;switch(typeof l){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 E(o,l,p,v){if(l===null||typeof l>"u"||x(o,l,p,v))return!0;if(v)return!1;if(p!==null)switch(p.type){case 3:return!l;case 4:return l===!1;case 5:return isNaN(l);case 6:return isNaN(l)||1>l}return!1}function P(o,l,p,v,w,k,$){this.acceptsBooleans=l===2||l===3||l===4,this.attributeName=v,this.attributeNamespace=w,this.mustUseProperty=p,this.propertyName=o,this.type=l,this.sanitizeURL=k,this.removeEmptyString=$}var _={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(o){_[o]=new P(o,0,!1,o,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(o){var l=o[0];_[l]=new P(l,1,!1,o[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(o){_[o]=new P(o,2,!1,o.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(o){_[o]=new P(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){_[o]=new P(o,3,!1,o.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(o){_[o]=new P(o,3,!0,o,null,!1,!1)}),["capture","download"].forEach(function(o){_[o]=new P(o,4,!1,o,null,!1,!1)}),["cols","rows","size","span"].forEach(function(o){_[o]=new P(o,6,!1,o,null,!1,!1)}),["rowSpan","start"].forEach(function(o){_[o]=new P(o,5,!1,o.toLowerCase(),null,!1,!1)});var T=/[\-:]([a-z])/g;function R(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 l=o.replace(T,R);_[l]=new P(l,1,!1,o,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(o){var l=o.replace(T,R);_[l]=new P(l,1,!1,o,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(o){var l=o.replace(T,R);_[l]=new P(l,1,!1,o,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(o){_[o]=new P(o,1,!1,o.toLowerCase(),null,!1,!1)}),_.xlinkHref=new P("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(o){_[o]=new P(o,1,!1,o.toLowerCase(),null,!0,!0)});function L(o,l,p,v){var w=_.hasOwnProperty(l)?_[l]:null;(w!==null?w.type!==0:v||!(2U||w[$]!==k[U]){var X=` -`+w[$].replace(" at new "," at ");return o.displayName&&X.includes("")&&(X=X.replace("",o.displayName)),X}while(1<=$&&0<=U);break}}}finally{O=!1,Error.prepareStackTrace=p}return(o=o?o.displayName||o.name:"")?oe(o):""}function Ee(o){switch(o.tag){case 5:return oe(o.type);case 16:return oe("Lazy");case 13:return oe("Suspense");case 19:return oe("SuspenseList");case 0:case 2:case 15:return o=me(o.type,!1),o;case 11:return o=me(o.type.render,!1),o;case 1:return o=me(o.type,!0),o;default:return""}}function we(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 J:return"Fragment";case M:return"Portal";case ae:return"Profiler";case re:return"StrictMode";case te:return"Suspense";case G:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case B:return(o.displayName||"Context")+".Consumer";case j:return(o._context.displayName||"Context")+".Provider";case Y:var l=o.render;return o=o.displayName,o||(o=l.displayName||l.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case fe:return l=o.displayName||null,l!==null?l:we(o.type)||"Memo";case Z:l=o._payload,o=o._init;try{return we(o(l))}catch{}}return null}function je(o){var l=o.type;switch(o.tag){case 24:return"Cache";case 9:return(l.displayName||"Context")+".Consumer";case 10:return(l._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return o=l.render,o=o.displayName||o.name||"",l.displayName||(o!==""?"ForwardRef("+o+")":"ForwardRef");case 7:return"Fragment";case 5:return l;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return we(l);case 8:return l===re?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof l=="function")return l.displayName||l.name||null;if(typeof l=="string")return l}return null}function Oe(o){switch(typeof o){case"boolean":case"number":case"string":case"undefined":return o;case"object":return o;default:return""}}function Te(o){var l=o.type;return(o=o.nodeName)&&o.toLowerCase()==="input"&&(l==="checkbox"||l==="radio")}function tt(o){var l=Te(o)?"checked":"value",p=Object.getOwnPropertyDescriptor(o.constructor.prototype,l),v=""+o[l];if(!o.hasOwnProperty(l)&&typeof p<"u"&&typeof p.get=="function"&&typeof p.set=="function"){var w=p.get,k=p.set;return Object.defineProperty(o,l,{configurable:!0,get:function(){return w.call(this)},set:function($){v=""+$,k.call(this,$)}}),Object.defineProperty(o,l,{enumerable:p.enumerable}),{getValue:function(){return v},setValue:function($){v=""+$},stopTracking:function(){o._valueTracker=null,delete o[l]}}}}function yt(o){o._valueTracker||(o._valueTracker=tt(o))}function Ie(o){if(!o)return!1;var l=o._valueTracker;if(!l)return!0;var p=l.getValue(),v="";return o&&(v=Te(o)?o.checked?"true":"false":o.value),o=v,o!==p?(l.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 bt(o,l){var p=l.checked;return A({},l,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:p??o._wrapperState.initialChecked})}function Xt(o,l){var p=l.defaultValue==null?"":l.defaultValue,v=l.checked!=null?l.checked:l.defaultChecked;p=Oe(l.value!=null?l.value:p),o._wrapperState={initialChecked:v,initialValue:p,controlled:l.type==="checkbox"||l.type==="radio"?l.checked!=null:l.value!=null}}function Ue(o,l){l=l.checked,l!=null&&L(o,"checked",l,!1)}function st(o,l){Ue(o,l);var p=Oe(l.value),v=l.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}l.hasOwnProperty("value")?Fr(o,l.type,p):l.hasOwnProperty("defaultValue")&&Fr(o,l.type,Oe(l.defaultValue)),l.checked==null&&l.defaultChecked!=null&&(o.defaultChecked=!!l.defaultChecked)}function An(o,l,p){if(l.hasOwnProperty("value")||l.hasOwnProperty("defaultValue")){var v=l.type;if(!(v!=="submit"&&v!=="reset"||l.value!==void 0&&l.value!==null))return;l=""+o._wrapperState.initialValue,p||l===o.value||(o.value=l),o.defaultValue=l}p=o.name,p!==""&&(o.name=""),o.defaultChecked=!!o._wrapperState.initialChecked,p!==""&&(o.name=p)}function Fr(o,l,p){(l!=="number"||Rt(o.ownerDocument)!==o)&&(p==null?o.defaultValue=""+o._wrapperState.initialValue:o.defaultValue!==""+p&&(o.defaultValue=""+p))}var Sn=Array.isArray;function Lt(o,l,p,v){if(o=o.options,l){l={};for(var w=0;w"+l.valueOf().toString()+"",l=Be.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;l.firstChild;)o.appendChild(l.firstChild)}});function ct(o,l){if(l){var p=o.firstChild;if(p&&p===o.lastChild&&p.nodeType===3){p.nodeValue=l;return}}o.textContent=l}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(l){l=l+o.charAt(0).toUpperCase()+o.substring(1),Qt[l]=Qt[o]})});function en(o,l,p){return l==null||typeof l=="boolean"||l===""?"":p||typeof l!="number"||l===0||Qt.hasOwnProperty(o)&&Qt[o]?(""+l).trim():l+"px"}function ln(o,l){o=o.style;for(var p in l)if(l.hasOwnProperty(p)){var v=p.indexOf("--")===0,w=en(p,l[p],v);p==="float"&&(p="cssFloat"),v?o.setProperty(p,w):o[p]=w}}var Sr=A({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 Mt(o,l){if(l){if(Sr[o]&&(l.children!=null||l.dangerouslySetInnerHTML!=null))throw Error(n(137,o));if(l.dangerouslySetInnerHTML!=null){if(l.children!=null)throw Error(n(60));if(typeof l.dangerouslySetInnerHTML!="object"||!("__html"in l.dangerouslySetInnerHTML))throw Error(n(61))}if(l.style!=null&&typeof l.style!="object")throw Error(n(62))}}function Xn(o,l){if(o.indexOf("-")===-1)return typeof l.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 tn=null;function ol(o){return o=o.target||o.srcElement||window,o.correspondingUseElement&&(o=o.correspondingUseElement),o.nodeType===3?o.parentNode:o}var hs=null,li=null,ai=null;function sa(o){if(o=jn(o)){if(typeof hs!="function")throw Error(n(280));var l=o.stateNode;l&&(l=nc(l),hs(o.stateNode,o.type,l))}}function Tu(o){li?ai?ai.push(o):ai=[o]:li=o}function ms(){if(li){var o=li,l=ai;if(ai=li=null,sa(o),l)for(o=0;o>>=0,o===0?32:31-(Lh(o)/Mh|0)|0}var al=64,$u=4194304;function ul(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 bs(o,l){var p=o.pendingLanes;if(p===0)return 0;var v=0,w=o.suspendedLanes,k=o.pingedLanes,$=p&268435455;if($!==0){var U=$&~w;U!==0?v=ul(U):(k&=$,k!==0&&(v=ul(k)))}else $=p&~w,$!==0?v=ul($):k!==0&&(v=ul(k));if(v===0)return 0;if(l!==0&&l!==v&&(l&w)===0&&(w=v&-v,k=l&-l,w>=k||w===16&&(k&4194240)!==0))return l;if((v&4)!==0&&(v|=p&16),l=o.entangledLanes,l!==0)for(o=o.entanglements,l&=v;0p;p++)l.push(o);return l}function pa(o,l,p){o.pendingLanes|=l,l!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,l=31-ui(l),o[l]=p}function Fh(o,l){var p=o.pendingLanes&~l;o.pendingLanes=l,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=l,o.mutableReadLanes&=l,o.entangledLanes&=l,l=o.entanglements;var v=o.eventTimes;for(o=o.expirationTimes;0=oo),Qh=" ",Jh=!1;function Zh(o,l){switch(o){case"keyup":return kr.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function em(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var ml=!1;function gl(o,l){switch(o){case"compositionend":return em(l);case"keypress":return l.which!==32?null:(Jh=!0,Qh);case"textInput":return o=l.data,o===Qh&&Jh?null:o;default:return null}}function Yv(o,l){if(ml)return o==="compositionend"||!ya&&Zh(o,l)?(o=Qf(),$i=va=Bt=null,ml=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:p,offset:l-o};o=v}e:{for(;p;){if(p.nextSibling){p=p.nextSibling;break e}p=p.parentNode}p=void 0}p=nt(p)}}function an(o,l){return o&&l?o===l?!0:o&&o.nodeType===3?!1:l&&l.nodeType===3?an(o,l.parentNode):"contains"in o?o.contains(l):o.compareDocumentPosition?!!(o.compareDocumentPosition(l)&16):!1:!1}function Tt(){for(var o=window,l=Rt();l instanceof o.HTMLIFrameElement;){try{var p=typeof l.contentWindow.location.href=="string"}catch{p=!1}if(p)o=l.contentWindow;else break;l=Rt(o.document)}return l}function ba(o){var l=o&&o.nodeName&&o.nodeName.toLowerCase();return l&&(l==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||l==="textarea"||o.contentEditable==="true")}function ty(o){var l=Tt(),p=o.focusedElem,v=o.selectionRange;if(l!==p&&p&&p.ownerDocument&&an(p.ownerDocument.documentElement,p)){if(v!==null&&ba(p)){if(l=v.start,o=v.end,o===void 0&&(o=l),"selectionStart"in p)p.selectionStart=l,p.selectionEnd=Math.min(o,p.value.length);else if(o=(l=p.ownerDocument||document)&&l.defaultView||window,o.getSelection){o=o.getSelection();var w=p.textContent.length,k=Math.min(v.start,w);v=v.end===void 0?k:Math.min(v.end,w),!o.extend&&k>v&&(w=v,v=k,k=w),w=xt(p,k);var $=xt(p,v);w&&$&&(o.rangeCount!==1||o.anchorNode!==w.node||o.anchorOffset!==w.offset||o.focusNode!==$.node||o.focusOffset!==$.offset)&&(l=l.createRange(),l.setStart(w.node,w.offset),o.removeAllRanges(),k>v?(o.addRange(l),o.extend($.node,$.offset)):(l.setEnd($.node,$.offset),o.addRange(l)))}}for(l=[],o=p;o=o.parentNode;)o.nodeType===1&&l.push({element:o,left:o.scrollLeft,top:o.scrollTop});for(typeof p.focus=="function"&&p.focus(),p=0;p=document.documentMode,so=null,cd=null,Ai=null,yl=!1;function xa(o,l,p){var v=p.window===p?p.document:p.nodeType===9?p:p.ownerDocument;yl||so==null||so!==Rt(v)||(v=so,"selectionStart"in v&&ba(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}),Ai&&$e(Ai,v)||(Ai=v,v=Ju(cd,"onSelect"),0Pl||(o.current=md[Pl],md[Pl]=null,Pl--)}function $t(o,l){Pl++,md[Pl]=o.current,o.current=l}var Ko={},Bn=fr(Ko),dr=fr(!1),Zn=Ko;function Tl(o,l){var p=o.type.contextTypes;if(!p)return Ko;var v=o.stateNode;if(v&&v.__reactInternalMemoizedUnmaskedChildContext===l)return v.__reactInternalMemoizedMaskedChildContext;var w={},k;for(k in p)w[k]=l[k];return v&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=l,o.__reactInternalMemoizedMaskedChildContext=w),w}function pr(o){return o=o.childContextTypes,o!=null}function rc(){Nt(dr),Nt(Bn)}function cm(o,l,p){if(Bn.current!==Ko)throw Error(n(168));$t(Bn,l),$t(dr,p)}function fm(o,l,p){var v=o.stateNode;if(l=l.childContextTypes,typeof v.getChildContext!="function")return p;v=v.getChildContext();for(var w in v)if(!(w in l))throw Error(n(108,je(o)||"Unknown",w));return A({},p,v)}function Br(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||Ko,Zn=Bn.current,$t(Bn,o),$t(dr,dr.current),!0}function dm(o,l,p){var v=o.stateNode;if(!v)throw Error(n(169));p?(o=fm(o,l,Zn),v.__reactInternalMemoizedMergedChildContext=o,Nt(dr),Nt(Bn),$t(Bn,o)):Nt(dr),$t(dr,p)}var uo=null,ic=!1,gd=!1;function pm(o){uo===null?uo=[o]:uo.push(o)}function Ts(o){ic=!0,pm(o)}function Wo(){if(!gd&&uo!==null){gd=!0;var o=0,l=Ct;try{var p=uo;for(Ct=1;o>=$,w-=$,Mi=1<<32-ui(l)+w|p<Xe?(En=Ke,Ke=null):En=Ke.sibling;var St=ye(le,Ke,ue[Xe],Ce);if(St===null){Ke===null&&(Ke=En);break}o&&Ke&&St.alternate===null&&l(le,Ke),ee=k(St,ee,Xe),He===null?ze=St:He.sibling=St,He=St,Ke=En}if(Xe===ue.length)return p(le,Ke),Ft&&Is(le,Xe),ze;if(Ke===null){for(;XeXe?(En=Ke,Ke=null):En=Ke.sibling;var rs=ye(le,Ke,St.value,Ce);if(rs===null){Ke===null&&(Ke=En);break}o&&Ke&&rs.alternate===null&&l(le,Ke),ee=k(rs,ee,Xe),He===null?ze=rs:He.sibling=rs,He=rs,Ke=En}if(St.done)return p(le,Ke),Ft&&Is(le,Xe),ze;if(Ke===null){for(;!St.done;Xe++,St=ue.next())St=Se(le,St.value,Ce),St!==null&&(ee=k(St,ee,Xe),He===null?ze=St:He.sibling=St,He=St);return Ft&&Is(le,Xe),ze}for(Ke=v(le,Ke);!St.done;Xe++,St=ue.next())St=Ae(Ke,le,Xe,St.value,Ce),St!==null&&(o&&St.alternate!==null&&Ke.delete(St.key===null?Xe:St.key),ee=k(St,ee,Xe),He===null?ze=St:He.sibling=St,He=St);return o&&Ke.forEach(function(ky){return l(le,ky)}),Ft&&Is(le,Xe),ze}function rn(le,ee,ue,Ce){if(typeof ue=="object"&&ue!==null&&ue.type===J&&ue.key===null&&(ue=ue.props.children),typeof ue=="object"&&ue!==null){switch(ue.$$typeof){case K:e:{for(var ze=ue.key,He=ee;He!==null;){if(He.key===ze){if(ze=ue.type,ze===J){if(He.tag===7){p(le,He.sibling),ee=w(He,ue.props.children),ee.return=le,le=ee;break e}}else if(He.elementType===ze||typeof ze=="object"&&ze!==null&&ze.$$typeof===Z&&vm(ze)===He.type){p(le,He.sibling),ee=w(He,ue.props),ee.ref=Aa(le,He,ue),ee.return=le,le=ee;break e}p(le,He);break}else l(le,He);He=He.sibling}ue.type===J?(ee=Vs(ue.props.children,le.mode,Ce,ue.key),ee.return=le,le=ee):(Ce=Vc(ue.type,ue.key,ue.props,null,le.mode,Ce),Ce.ref=Aa(le,ee,ue),Ce.return=le,le=Ce)}return $(le);case M:e:{for(He=ue.key;ee!==null;){if(ee.key===He)if(ee.tag===4&&ee.stateNode.containerInfo===ue.containerInfo&&ee.stateNode.implementation===ue.implementation){p(le,ee.sibling),ee=w(ee,ue.children||[]),ee.return=le,le=ee;break e}else{p(le,ee);break}else l(le,ee);ee=ee.sibling}ee=op(ue,le.mode,Ce),ee.return=le,le=ee}return $(le);case Z:return He=ue._init,rn(le,ee,He(ue._payload),Ce)}if(Sn(ue))return Le(le,ee,ue,Ce);if(se(ue))return De(le,ee,ue,Ce);As(le,ue)}return typeof ue=="string"&&ue!==""||typeof ue=="number"?(ue=""+ue,ee!==null&&ee.tag===6?(p(le,ee.sibling),ee=w(ee,ue),ee.return=le,le=ee):(p(le,ee),ee=ip(ue,le.mode,Ce),ee.return=le,le=ee),$(le)):p(le,ee)}return rn}var Jt=yd(!0),ac=yd(!1),Ra=fr(null),Tr=null,Ho=null,Il=null;function fo(){Il=Ho=Tr=null}function uc(o){var l=Ra.current;Nt(Ra),o._currentValue=l}function Rn(o,l,p){for(;o!==null;){var v=o.alternate;if((o.childLanes&l)!==l?(o.childLanes|=l,v!==null&&(v.childLanes|=l)):v!==null&&(v.childLanes&l)!==l&&(v.childLanes|=l),o===p)break;o=o.return}}function Go(o,l){Tr=o,Il=Ho=null,o=o.dependencies,o!==null&&o.firstContext!==null&&((o.lanes&l)!==0&&(tr=!0),o.firstContext=null)}function Kr(o){var l=o._currentValue;if(Il!==o)if(o={context:o,memoizedValue:l,next:null},Ho===null){if(Tr===null)throw Error(n(308));Ho=o,Tr.dependencies={lanes:0,firstContext:o}}else Ho=Ho.next=o;return l}var Rs=null;function bd(o){Rs===null?Rs=[o]:Rs.push(o)}function cc(o,l,p,v){var w=l.interleaved;return w===null?(p.next=p,bd(l)):(p.next=w.next,w.next=p),l.interleaved=p,po(o,v)}function po(o,l){o.lanes|=l;var p=o.alternate;for(p!==null&&(p.lanes|=l),p=o,o=o.return;o!==null;)o.childLanes|=l,p=o.alternate,p!==null&&(p.childLanes|=l),p=o,o=o.return;return p.tag===3?p.stateNode:null}var Wr=!1;function fc(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ym(o,l){o=o.updateQueue,l.updateQueue===o&&(l.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,effects:o.effects})}function ho(o,l){return{eventTime:o,lane:l,tag:0,payload:null,callback:null,next:null}}function Hr(o,l,p){var v=o.updateQueue;if(v===null)return null;if(v=v.shared,(gt&2)!==0){var w=v.pending;return w===null?l.next=l:(l.next=w.next,w.next=l),v.pending=l,po(o,p)}return w=v.interleaved,w===null?(l.next=l,bd(v)):(l.next=w.next,w.next=l),v.interleaved=l,po(o,p)}function dc(o,l,p){if(l=l.updateQueue,l!==null&&(l=l.shared,(p&4194240)!==0)){var v=l.lanes;v&=o.pendingLanes,p|=v,l.lanes=p,ha(o,p)}}function bm(o,l){var p=o.updateQueue,v=o.alternate;if(v!==null&&(v=v.updateQueue,p===v)){var w=null,k=null;if(p=p.firstBaseUpdate,p!==null){do{var $={eventTime:p.eventTime,lane:p.lane,tag:p.tag,payload:p.payload,callback:p.callback,next:null};k===null?w=k=$:k=k.next=$,p=p.next}while(p!==null);k===null?w=k=l:k=k.next=l}else w=k=l;p={baseState:v.baseState,firstBaseUpdate:w,lastBaseUpdate:k,shared:v.shared,effects:v.effects},o.updateQueue=p;return}o=p.lastBaseUpdate,o===null?p.firstBaseUpdate=l:o.next=l,p.lastBaseUpdate=l}function $l(o,l,p,v){var w=o.updateQueue;Wr=!1;var k=w.firstBaseUpdate,$=w.lastBaseUpdate,U=w.shared.pending;if(U!==null){w.shared.pending=null;var X=U,de=X.next;X.next=null,$===null?k=de:$.next=de,$=X;var be=o.alternate;be!==null&&(be=be.updateQueue,U=be.lastBaseUpdate,U!==$&&(U===null?be.firstBaseUpdate=de:U.next=de,be.lastBaseUpdate=X))}if(k!==null){var Se=w.baseState;$=0,be=de=X=null,U=k;do{var ye=U.lane,Ae=U.eventTime;if((v&ye)===ye){be!==null&&(be=be.next={eventTime:Ae,lane:0,tag:U.tag,payload:U.payload,callback:U.callback,next:null});e:{var Le=o,De=U;switch(ye=l,Ae=p,De.tag){case 1:if(Le=De.payload,typeof Le=="function"){Se=Le.call(Ae,Se,ye);break e}Se=Le;break e;case 3:Le.flags=Le.flags&-65537|128;case 0:if(Le=De.payload,ye=typeof Le=="function"?Le.call(Ae,Se,ye):Le,ye==null)break e;Se=A({},Se,ye);break e;case 2:Wr=!0}}U.callback!==null&&U.lane!==0&&(o.flags|=64,ye=w.effects,ye===null?w.effects=[U]:ye.push(U))}else Ae={eventTime:Ae,lane:ye,tag:U.tag,payload:U.payload,callback:U.callback,next:null},be===null?(de=be=Ae,X=Se):be=be.next=Ae,$|=ye;if(U=U.next,U===null){if(U=w.shared.pending,U===null)break;ye=U,U=ye.next,ye.next=null,w.lastBaseUpdate=ye,w.shared.pending=null}}while(!0);if(be===null&&(X=Se),w.baseState=X,w.firstBaseUpdate=de,w.lastBaseUpdate=be,l=w.shared.interleaved,l!==null){w=l;do $|=w.lane,w=w.next;while(w!==l)}else k===null&&(w.shared.lanes=0);Jo|=$,o.lanes=$,o.memoizedState=Se}}function xd(o,l,p){if(o=l.effects,l.effects=null,o!==null)for(l=0;lp?p:4,o(!0);var v=Cd.transition;Cd.transition={};try{o(!1),l()}finally{Ct=p,Cd.transition=v}}function Rd(){return Gr().memoizedState}function ry(o,l,p){var v=ts(o);if(p={lane:v,action:p,hasEagerState:!1,eagerState:null,next:null},Ld(o))er(l,p);else if(p=cc(o,l,p,v),p!==null){var w=ir();vi(p,o,v,w),di(p,l,v)}}function Em(o,l,p){var v=ts(o),w={lane:v,action:p,hasEagerState:!1,eagerState:null,next:null};if(Ld(o))er(l,w);else{var k=o.alternate;if(o.lanes===0&&(k===null||k.lanes===0)&&(k=l.lastRenderedReducer,k!==null))try{var $=l.lastRenderedState,U=k($,p);if(w.hasEagerState=!0,w.eagerState=U,ce(U,$)){var X=l.interleaved;X===null?(w.next=w,bd(l)):(w.next=X.next,X.next=w),l.interleaved=w;return}}catch{}finally{}p=cc(o,l,w,v),p!==null&&(w=ir(),vi(p,o,v,w),di(p,l,v))}}function Ld(o){var l=o.alternate;return o===Gt||l!==null&&l===Gt}function er(o,l){Na=Rl=!0;var p=o.pending;p===null?l.next=l:(l.next=p.next,p.next=l),o.pending=l}function di(o,l,p){if((p&4194240)!==0){var v=l.lanes;v&=o.pendingLanes,p|=v,l.lanes=p,ha(o,p)}}var xc={readContext:Kr,useCallback:Kn,useContext:Kn,useEffect:Kn,useImperativeHandle:Kn,useInsertionEffect:Kn,useLayoutEffect:Kn,useMemo:Kn,useReducer:Kn,useRef:Kn,useState:Kn,useDebugValue:Kn,useDeferredValue:Kn,useTransition:Kn,useMutableSource:Kn,useSyncExternalStore:Kn,useId:Kn,unstable_isNewReconciler:!1},iy={readContext:Kr,useCallback:function(o,l){return ji().memoizedState=[o,l===void 0?null:l],o},useContext:Kr,useEffect:bc,useImperativeHandle:function(o,l,p){return p=p!=null?p.concat([o]):null,Oa(4194308,4,$d.bind(null,l,o),p)},useLayoutEffect:function(o,l){return Oa(4194308,4,o,l)},useInsertionEffect:function(o,l){return Oa(4,2,o,l)},useMemo:function(o,l){var p=ji();return l=l===void 0?null:l,o=o(),p.memoizedState=[o,l],o},useReducer:function(o,l,p){var v=ji();return l=p!==void 0?p(l):l,v.memoizedState=v.baseState=l,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:l},v.queue=o,o=o.dispatch=ry.bind(null,Gt,o),[v.memoizedState,o]},useRef:function(o){var l=ji();return o={current:o},l.memoizedState=o},useState:Fa,useDebugValue:za,useDeferredValue:function(o){return ji().memoizedState=o},useTransition:function(){var o=Fa(!1),l=o[0];return o=Cm.bind(null,o[1]),ji().memoizedState=o,[l,o]},useMutableSource:function(){},useSyncExternalStore:function(o,l,p){var v=Gt,w=ji();if(Ft){if(p===void 0)throw Error(n(407));p=p()}else{if(p=l(),Cn===null)throw Error(n(349));(Yo&30)!==0||_d(v,l,p)}w.memoizedState=p;var k={value:p,getSnapshot:l};return w.queue=k,bc(go.bind(null,v,k,o),[o]),v.flags|=2048,Ml(9,mr.bind(null,v,k,p,l),void 0,null),p},useId:function(){var o=ji(),l=Cn.identifierPrefix;if(Ft){var p=Di,v=Mi;p=(v&~(1<<32-ui(v)-1)).toString(32)+p,l=":"+l+"R"+p,p=Ms++,0<\/script>",o=o.removeChild(o.firstChild)):typeof v.is=="string"?o=$.createElement(p,{is:v.is}):(o=$.createElement(p),p==="select"&&($=o,v.multiple?$.multiple=!0:v.size&&($.size=v.size))):o=$.createElementNS(o,p),o[Ri]=l,o[Uo]=v,Mn(o,l,!1,!1),l.stateNode=o;e:{switch($=Xn(p,v),p){case"dialog":Dt("cancel",o),Dt("close",o),w=v;break;case"iframe":case"object":case"embed":Dt("load",o),w=v;break;case"video":case"audio":for(w=0;wOs&&(l.flags|=128,v=!0,Ha(k,!1),l.lanes=4194304)}else{if(!v)if(o=Ls($),o!==null){if(l.flags|=128,v=!0,p=o.updateQueue,p!==null&&(l.updateQueue=p,l.flags|=4),Ha(k,!0),k.tail===null&&k.tailMode==="hidden"&&!$.alternate&&!Ft)return Dn(l),null}else 2*jt()-k.renderingStartTime>Os&&p!==1073741824&&(l.flags|=128,v=!0,Ha(k,!1),l.lanes=4194304);k.isBackwards?($.sibling=l.child,l.child=$):(p=k.last,p!==null?p.sibling=$:l.child=$,k.last=$)}return k.tail!==null?(l=k.tail,k.rendering=l,k.tail=l.sibling,k.renderingStartTime=jt(),l.sibling=null,p=Vt.current,$t(Vt,v?p&1|2:p&1),l):(Dn(l),null);case 22:case 23:return np(),v=l.memoizedState!==null,o!==null&&o.memoizedState!==null!==v&&(l.flags|=8192),v&&(l.mode&1)!==0?(Ir&1073741824)!==0&&(Dn(l),l.subtreeFlags&6&&(l.flags|=8192)):Dn(l),null;case 24:return null;case 25:return null}throw Error(n(156,l.tag))}function sy(o,l){switch($s(l),l.tag){case 1:return pr(l.type)&&rc(),o=l.flags,o&65536?(l.flags=o&-65537|128,l):null;case 3:return qo(),Nt(dr),Nt(Bn),hc(),o=l.flags,(o&65536)!==0&&(o&128)===0?(l.flags=o&-65537|128,l):null;case 5:return pc(l),null;case 13:if(Nt(Vt),o=l.memoizedState,o!==null&&o.dehydrated!==null){if(l.alternate===null)throw Error(n(340));Fi()}return o=l.flags,o&65536?(l.flags=o&-65537|128,l):null;case 19:return Nt(Vt),null;case 4:return qo(),null;case 10:return uc(l.type._context),null;case 22:case 23:return np(),null;case 24:return null;default:return null}}var Ic=!1,Ut=!1,nr=typeof WeakSet=="function"?WeakSet:Set,Re=null;function jl(o,l){var p=o.ref;if(p!==null)if(typeof p=="function")try{p(null)}catch(v){qt(o,l,v)}else p.current=null}function Ga(o,l,p){try{p()}catch(v){qt(o,l,v)}}var Rm=!1;function ly(o,l){if(Pa=Du,o=Tt(),ba(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 w=v.anchorOffset,k=v.focusNode;v=v.focusOffset;try{p.nodeType,k.nodeType}catch{p=null;break e}var $=0,U=-1,X=-1,de=0,be=0,Se=o,ye=null;t:for(;;){for(var Ae;Se!==p||w!==0&&Se.nodeType!==3||(U=$+w),Se!==k||v!==0&&Se.nodeType!==3||(X=$+v),Se.nodeType===3&&($+=Se.nodeValue.length),(Ae=Se.firstChild)!==null;)ye=Se,Se=Ae;for(;;){if(Se===o)break t;if(ye===p&&++de===w&&(U=$),ye===k&&++be===v&&(X=$),(Ae=Se.nextSibling)!==null)break;Se=ye,ye=Se.parentNode}Se=Ae}p=U===-1||X===-1?null:{start:U,end:X}}else p=null}p=p||{start:0,end:0}}else p=null;for(Ps={focusedElem:o,selectionRange:p},Du=!1,Re=l;Re!==null;)if(l=Re,o=l.child,(l.subtreeFlags&1028)!==0&&o!==null)o.return=l,Re=o;else for(;Re!==null;){l=Re;try{var Le=l.alternate;if((l.flags&1024)!==0)switch(l.tag){case 0:case 11:case 15:break;case 1:if(Le!==null){var De=Le.memoizedProps,rn=Le.memoizedState,le=l.stateNode,ee=le.getSnapshotBeforeUpdate(l.elementType===l.type?De:qr(l.type,De),rn);le.__reactInternalSnapshotBeforeUpdate=ee}break;case 3:var ue=l.stateNode.containerInfo;ue.nodeType===1?ue.textContent="":ue.nodeType===9&&ue.documentElement&&ue.removeChild(ue.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(Ce){qt(l,l.return,Ce)}if(o=l.sibling,o!==null){o.return=l.return,Re=o;break}Re=l.return}return Le=Rm,Rm=!1,Le}function bo(o,l,p){var v=l.updateQueue;if(v=v!==null?v.lastEffect:null,v!==null){var w=v=v.next;do{if((w.tag&o)===o){var k=w.destroy;w.destroy=void 0,k!==void 0&&Ga(l,p,k)}w=w.next}while(w!==v)}}function qa(o,l){if(l=l.updateQueue,l=l!==null?l.lastEffect:null,l!==null){var p=l=l.next;do{if((p.tag&o)===o){var v=p.create;p.destroy=v()}p=p.next}while(p!==l)}}function $c(o){var l=o.ref;if(l!==null){var p=o.stateNode;switch(o.tag){case 5:o=p;break;default:o=p}typeof l=="function"?l(o):l.current=o}}function Lm(o){var l=o.alternate;l!==null&&(o.alternate=null,Lm(l)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(l=o.stateNode,l!==null&&(delete l[Ri],delete l[Uo],delete l[tc],delete l[D],delete l[El])),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 Mm(o){return o.tag===5||o.tag===3||o.tag===4}function Dm(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||Mm(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 Wd(o,l,p){var v=o.tag;if(v===5||v===6)o=o.stateNode,l?p.nodeType===8?p.parentNode.insertBefore(o,l):p.insertBefore(o,l):(p.nodeType===8?(l=p.parentNode,l.insertBefore(o,p)):(l=p,l.appendChild(o)),p=p._reactRootContainer,p!=null||l.onclick!==null||(l.onclick=Zu));else if(v!==4&&(o=o.child,o!==null))for(Wd(o,l,p),o=o.sibling;o!==null;)Wd(o,l,p),o=o.sibling}function Ac(o,l,p){var v=o.tag;if(v===5||v===6)o=o.stateNode,l?p.insertBefore(o,l):p.appendChild(o);else if(v!==4&&(o=o.child,o!==null))for(Ac(o,l,p),o=o.sibling;o!==null;)Ac(o,l,p),o=o.sibling}var kn=null,hi=!1;function Ki(o,l,p){for(p=p.child;p!==null;)Hd(o,l,p),p=p.sibling}function Hd(o,l,p){if(Ii&&typeof Ii.onCommitFiberUnmount=="function")try{Ii.onCommitFiberUnmount(Iu,p)}catch{}switch(p.tag){case 5:Ut||jl(p,l);case 6:var v=kn,w=hi;kn=null,Ki(o,l,p),kn=v,hi=w,kn!==null&&(hi?(o=kn,p=p.stateNode,o.nodeType===8?o.parentNode.removeChild(p):o.removeChild(p)):kn.removeChild(p.stateNode));break;case 18:kn!==null&&(hi?(o=kn,p=p.stateNode,o.nodeType===8?hd(o.parentNode,p):o.nodeType===1&&hd(o,p),Et(o)):hd(kn,p.stateNode));break;case 4:v=kn,w=hi,kn=p.stateNode.containerInfo,hi=!0,Ki(o,l,p),kn=v,hi=w;break;case 0:case 11:case 14:case 15:if(!Ut&&(v=p.updateQueue,v!==null&&(v=v.lastEffect,v!==null))){w=v=v.next;do{var k=w,$=k.destroy;k=k.tag,$!==void 0&&((k&2)!==0||(k&4)!==0)&&Ga(p,l,$),w=w.next}while(w!==v)}Ki(o,l,p);break;case 1:if(!Ut&&(jl(p,l),v=p.stateNode,typeof v.componentWillUnmount=="function"))try{v.props=p.memoizedProps,v.state=p.memoizedState,v.componentWillUnmount()}catch(U){qt(p,l,U)}Ki(o,l,p);break;case 21:Ki(o,l,p);break;case 22:p.mode&1?(Ut=(v=Ut)||p.memoizedState!==null,Ki(o,l,p),Ut=v):Ki(o,l,p);break;default:Ki(o,l,p)}}function Bl(o){var l=o.updateQueue;if(l!==null){o.updateQueue=null;var p=o.stateNode;p===null&&(p=o.stateNode=new nr),l.forEach(function(v){var w=hy.bind(null,o,v);p.has(v)||(p.add(v),v.then(w,w))})}}function _r(o,l){var p=l.deletions;if(p!==null)for(var v=0;vw&&(w=$),v&=~k}if(v=w,v=jt()-v,v=(120>v?120:480>v?480:1080>v?1080:1920>v?1920:3e3>v?3e3:4320>v?4320:1960*Fm(v/1960))-v,10o?16:o,es===null)var v=!1;else{if(o=es,es=null,rr=0,(gt&6)!==0)throw Error(n(331));var w=gt;for(gt|=4,Re=o.current;Re!==null;){var k=Re,$=k.child;if((Re.flags&16)!==0){var U=k.deletions;if(U!==null){for(var X=0;Xjt()-Xd?js(o,0):Mc|=p),vr(o,l)}function Um(o,l){l===0&&((o.mode&1)===0?l=1:(l=$u,$u<<=1,($u&130023424)===0&&($u=4194304)));var p=ir();o=po(o,l),o!==null&&(pa(o,l,p),vr(o,p))}function py(o){var l=o.memoizedState,p=0;l!==null&&(p=l.retryLane),Um(o,p)}function hy(o,l){var p=0;switch(o.tag){case 13:var v=o.stateNode,w=o.memoizedState;w!==null&&(p=w.retryLane);break;case 19:v=o.stateNode;break;default:throw Error(n(314))}v!==null&&v.delete(l),Um(o,p)}var Km;Km=function(o,l,p){if(o!==null)if(o.memoizedProps!==l.pendingProps||dr.current)tr=!0;else{if((o.lanes&p)===0&&(l.flags&128)===0)return tr=!1,$m(o,l,p);tr=(o.flags&131072)!==0}else tr=!1,Ft&&(l.flags&1048576)!==0&&hm(l,sc,l.index);switch(l.lanes=0,l.tag){case 2:var v=l.type;_c(o,l),o=l.pendingProps;var w=Tl(l,Bn.current);Go(l,p),w=Ds(null,l,v,o,w,p);var k=mc();return l.flags|=1,typeof w=="object"&&w!==null&&typeof w.render=="function"&&w.$$typeof===void 0?(l.tag=1,l.memoizedState=null,l.updateQueue=null,pr(v)?(k=!0,Br(l)):k=!1,l.memoizedState=w.state!==null&&w.state!==void 0?w.state:null,fc(l),w.updater=kc,l.stateNode=w,w._reactInternals=l,Dd(l,v,o,p),l=Vd(null,l,v,!0,k,p)):(l.tag=0,Ft&&k&&Ia(l),Ln(null,l,w,p),l=l.child),l;case 16:v=l.elementType;e:{switch(_c(o,l),o=l.pendingProps,w=v._init,v=w(v._payload),l.type=v,w=l.tag=gy(v),o=qr(v,o),w){case 0:l=jd(null,l,v,o,p);break e;case 1:l=Bd(null,l,v,o,p);break e;case 11:l=_m(null,l,v,o,p);break e;case 14:l=Fd(null,l,v,qr(v.type,o),p);break e}throw Error(n(306,v,""))}return l;case 0:return v=l.type,w=l.pendingProps,w=l.elementType===v?w:qr(v,w),jd(o,l,v,w,p);case 1:return v=l.type,w=l.pendingProps,w=l.elementType===v?w:qr(v,w),Bd(o,l,v,w,p);case 3:e:{if(Im(l),o===null)throw Error(n(387));v=l.pendingProps,k=l.memoizedState,w=k.element,ym(o,l),$l(l,v,null,p);var $=l.memoizedState;if(v=$.element,k.isDehydrated)if(k={element:v,isDehydrated:!1,cache:$.cache,pendingSuspenseBoundaries:$.pendingSuspenseBoundaries,transitions:$.transitions},l.updateQueue.baseState=k,l.memoizedState=k,l.flags&256){w=Fs(Error(n(423)),l),l=Ui(o,l,v,p,w);break e}else if(v!==w){w=Fs(Error(n(424)),l),l=Ui(o,l,v,p,w);break e}else for(Pr=Vo(l.stateNode.containerInfo.firstChild),Un=l,Ft=!0,fi=null,p=ac(l,null,v,p),l.child=p;p;)p.flags=p.flags&-3|4096,p=p.sibling;else{if(Fi(),v===w){l=pi(o,l,p);break e}Ln(o,l,v,p)}l=l.child}return l;case 5:return Sd(l),o===null&&hr(l),v=l.type,w=l.pendingProps,k=o!==null?o.memoizedProps:null,$=w.children,Ta(v,w)?$=null:k!==null&&Ta(v,k)&&(l.flags|=32),zd(o,l),Ln(o,l,$,p),l.child;case 6:return o===null&&hr(l),null;case 13:return Tc(o,l,p);case 4:return wd(l,l.stateNode.containerInfo),v=l.pendingProps,o===null?l.child=Jt(l,null,v,p):Ln(o,l,v,p),l.child;case 11:return v=l.type,w=l.pendingProps,w=l.elementType===v?w:qr(v,w),_m(o,l,v,w,p);case 7:return Ln(o,l,l.pendingProps,p),l.child;case 8:return Ln(o,l,l.pendingProps.children,p),l.child;case 12:return Ln(o,l,l.pendingProps.children,p),l.child;case 10:e:{if(v=l.type._context,w=l.pendingProps,k=l.memoizedProps,$=w.value,$t(Ra,v._currentValue),v._currentValue=$,k!==null)if(ce(k.value,$)){if(k.children===w.children&&!dr.current){l=pi(o,l,p);break e}}else for(k=l.child,k!==null&&(k.return=l);k!==null;){var U=k.dependencies;if(U!==null){$=k.child;for(var X=U.firstContext;X!==null;){if(X.context===v){if(k.tag===1){X=ho(-1,p&-p),X.tag=2;var de=k.updateQueue;if(de!==null){de=de.shared;var be=de.pending;be===null?X.next=X:(X.next=be.next,be.next=X),de.pending=X}}k.lanes|=p,X=k.alternate,X!==null&&(X.lanes|=p),Rn(k.return,p,l),U.lanes|=p;break}X=X.next}}else if(k.tag===10)$=k.type===l.type?null:k.child;else if(k.tag===18){if($=k.return,$===null)throw Error(n(341));$.lanes|=p,U=$.alternate,U!==null&&(U.lanes|=p),Rn($,p,l),$=k.sibling}else $=k.child;if($!==null)$.return=k;else for($=k;$!==null;){if($===l){$=null;break}if(k=$.sibling,k!==null){k.return=$.return,$=k;break}$=$.return}k=$}Ln(o,l,w.children,p),l=l.child}return l;case 9:return w=l.type,v=l.pendingProps.children,Go(l,p),w=Kr(w),v=v(w),l.flags|=1,Ln(o,l,v,p),l.child;case 14:return v=l.type,w=qr(v,l.pendingProps),w=qr(v.type,w),Fd(o,l,v,w,p);case 15:return Vi(o,l,l.type,l.pendingProps,p);case 17:return v=l.type,w=l.pendingProps,w=l.elementType===v?w:qr(v,w),_c(o,l),l.tag=1,pr(v)?(o=!0,Br(l)):o=!1,Go(l,p),Ns(l,v,w),Dd(l,v,w,p),Vd(null,l,v,!0,o,p);case 19:return Xo(o,l,p);case 22:return Od(o,l,p)}throw Error(n(156,l.tag))};function Wm(o,l){return Ih(o,l)}function my(o,l,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=l,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 Xr(o,l,p,v){return new my(o,l,p,v)}function Bc(o){return o=o.prototype,!(!o||!o.isReactComponent)}function gy(o){if(typeof o=="function")return Bc(o)?1:0;if(o!=null){if(o=o.$$typeof,o===Y)return 11;if(o===fe)return 14}return 2}function yi(o,l){var p=o.alternate;return p===null?(p=Xr(o.tag,l,o.key,o.mode),p.elementType=o.elementType,p.type=o.type,p.stateNode=o.stateNode,p.alternate=o,o.alternate=p):(p.pendingProps=l,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,l=o.dependencies,p.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext},p.sibling=o.sibling,p.index=o.index,p.ref=o.ref,p}function Vc(o,l,p,v,w,k){var $=2;if(v=o,typeof o=="function")Bc(o)&&($=1);else if(typeof o=="string")$=5;else e:switch(o){case J:return Vs(p.children,w,k,l);case re:$=8,w|=8;break;case ae:return o=Xr(12,p,l,w|2),o.elementType=ae,o.lanes=k,o;case te:return o=Xr(13,p,l,w),o.elementType=te,o.lanes=k,o;case G:return o=Xr(19,p,l,w),o.elementType=G,o.lanes=k,o;case q:return Uc(p,w,k,l);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case j:$=10;break e;case B:$=9;break e;case Y:$=11;break e;case fe:$=14;break e;case Z:$=16,v=null;break e}throw Error(n(130,o==null?o:typeof o,""))}return l=Xr($,p,l,w),l.elementType=o,l.type=v,l.lanes=k,l}function Vs(o,l,p,v){return o=Xr(7,o,v,l),o.lanes=p,o}function Uc(o,l,p,v){return o=Xr(22,o,v,l),o.elementType=q,o.lanes=p,o.stateNode={isHidden:!1},o}function ip(o,l,p){return o=Xr(6,o,null,l),o.lanes=p,o}function op(o,l,p){return l=Xr(4,o.children!==null?o.children:[],o.key,l),l.lanes=p,l.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},l}function vy(o,l,p,v,w){this.tag=l,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=da(0),this.expirationTimes=da(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=da(0),this.identifierPrefix=v,this.onRecoverableError=w,this.mutableSourceEagerHydrationData=null}function sp(o,l,p,v,w,k,$,U,X){return o=new vy(o,l,p,U,X),l===1?(l=1,k===!0&&(l|=8)):l=0,k=Xr(3,null,null,l),o.current=k,k.stateNode=o,k.memoizedState={element:v,isDehydrated:p,cache:null,transitions:null,pendingSuspenseBoundaries:null},fc(k),o}function yy(o,l,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(),Fy.exports=UR(),Fy.exports}var o1;function KR(){if(o1)return tg;o1=1;var e=lE();return tg.createRoot=e.createRoot,tg.hydrateRoot=e.hydrateRoot,tg}var WR=KR();function tx(e={}){const{strict:t=!0,errorMessage:n="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:r}=e,i=S.createContext(void 0);i.displayName=r;function s(){var a;const c=S.useContext(i);if(!c&&t){const d=new Error(n);throw d.name="ContextError",(a=Error.captureStackTrace)==null||a.call(Error,d,s),d}return c}return[i.Provider,s,i]}function HR(e){return{UNSAFE_getDOMNode(){return e.current}}}function Qi(e){const t=S.useRef(null);return S.useImperativeHandle(e,()=>t.current),t}function nx(e){return Array.isArray(e)}function GR(e){return nx(e)&&e.length===0}function rx(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!nx(e)}function qR(e){return rx(e)&&Object.keys(e).length===0}function YR(e){return nx(e)?GR(e):rx(e)?qR(e):e==null||e===""}function XR(e){return typeof e=="function"}var Me=e=>e?"true":void 0;function aE(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;trx(e)?e instanceof Array?[...e]:e[t]:e,QR=(...e)=>{let t=" ";for(const n of e)if(typeof n=="string"&&n.length>0){t=n;break}return t},JR=e=>e?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():"";function s1(...e){return function(n){e.some(r=>(r?.(n),n?.defaultPrevented))}}function ZR(e){return`${e}-${Math.floor(Math.random()*1e6)}`}function hG(e){for(const t in e)t.startsWith("on")&&delete e[t];return e}function nl(e){if(!e||typeof e!="object")return"";try{return JSON.stringify(e)}catch{return""}}function eL(e,t,n){return Math.min(Math.max(e,t),n)}function tL(e,t=100){return Math.min(Math.max(e,0),t)}var l1={};function nL(e,t,...n){const i=`[Hero UI] : ${e}`;typeof console>"u"||l1[i]||(l1[i]=!0)}function vf(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}var a1=new Map;function rL(e,t){if(e===t)return e;let n=a1.get(e);if(n)return n.forEach(i=>i.current=t),t;let r=a1.get(t);return r?(r.forEach(i=>i.current=e),e):t}function hn(...e){let t={...e[0]};for(let n=1;n=65&&i.charCodeAt(2)<=90?t[i]=vf(s,a):(i==="className"||i==="UNSAFE_className")&&typeof s=="string"&&typeof a=="string"?t[i]=pn(s,a):i==="id"&&s&&a?t.id=rL(s,a):t[i]=a!==void 0?a:s}}return t}function uE(...e){return e.length===1&&e[0]?e[0]:t=>{let n=!1;const r=e.map(i=>{const s=u1(i,t);return n||(n=typeof s=="function"),s});if(n)return()=>{r.forEach((i,s)=>{typeof i=="function"?i?.():u1(e[s],null)})}}}function u1(e,t){if(typeof e=="function")return()=>e(t);e!=null&&"current"in e&&(e.current=t)}function iL(e,t){if(e!=null){if(XR(e)){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function oL(...e){return t=>{e.forEach(n=>iL(n,t))}}function sL(){const e=()=>()=>{};return S.useSyncExternalStore(e,()=>!0,()=>!1)}var lL=new Set(["id","type","style","title","role","tabIndex","htmlFor","width","height","abbr","accept","acceptCharset","accessKey","action","allowFullScreen","allowTransparency","alt","async","autoComplete","autoFocus","autoPlay","cellPadding","cellSpacing","challenge","charset","checked","cite","class","className","cols","colSpan","command","content","contentEditable","contextMenu","controls","coords","crossOrigin","data","dateTime","default","defer","dir","disabled","download","draggable","dropzone","encType","enterKeyHint","for","form","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","headers","hidden","high","href","hrefLang","httpEquiv","icon","inputMode","isMap","itemId","itemProp","itemRef","itemScope","itemType","kind","label","lang","list","loop","manifest","max","maxLength","media","mediaGroup","method","min","minLength","multiple","muted","name","noValidate","open","optimum","pattern","ping","placeholder","poster","preload","radioGroup","referrerPolicy","readOnly","rel","required","rows","rowSpan","sandbox","scope","scoped","scrolling","seamless","selected","shape","size","sizes","slot","sortable","span","spellCheck","src","srcDoc","srcSet","start","step","target","translate","typeMustMatch","useMap","value","wmode","wrap"]),aL=new Set(["onCopy","onCut","onPaste","onLoad","onError","onWheel","onScroll","onCompositionEnd","onCompositionStart","onCompositionUpdate","onKeyDown","onKeyPress","onKeyUp","onFocus","onBlur","onChange","onInput","onSubmit","onClick","onContextMenu","onDoubleClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onPointerDown","onPointerEnter","onPointerLeave","onPointerUp","onSelect","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onAnimationStart","onAnimationEnd","onAnimationIteration","onTransitionEnd"]),c1=/^(data-.*)$/,uL=/^(aria-.*)$/,ng=/^(on[A-Z].*)$/;function yf(e,t={}){let{labelable:n=!0,enabled:r=!0,propNames:i,omitPropNames:s,omitEventNames:a,omitDataProps:c,omitEventProps:d}=t,h={};if(!r)return e;for(const m in e)s?.has(m)||a?.has(m)&&ng.test(m)||ng.test(m)&&!aL.has(m)||c&&c1.test(m)||d&&ng.test(m)||(Object.prototype.hasOwnProperty.call(e,m)&&(lL.has(m)||n&&uL.test(m)||i?.has(m)||c1.test(m))||ng.test(m))&&(h[m]=e[m]);return h}var[cL,Ti]=tx({name:"ProviderContext",strict:!1});const fL=new Set(["Arab","Syrc","Samr","Mand","Thaa","Mend","Nkoo","Adlm","Rohg","Hebr"]),dL=new Set(["ae","ar","arc","bcc","bqi","ckb","dv","fa","glk","he","ku","mzn","nqo","pnb","ps","sd","ug","ur","yi"]);function cE(e){if(Intl.Locale){let n=new Intl.Locale(e).maximize(),r=typeof n.getTextInfo=="function"?n.getTextInfo():n.textInfo;if(r)return r.direction==="rtl";if(n.script)return fL.has(n.script)}let t=e.split("-")[0];return dL.has(t)}const fE={prefix:String(Math.round(Math.random()*1e10)),current:0},dE=We.createContext(fE),pL=We.createContext(!1);let jy=new WeakMap;function hL(e=!1){let t=S.useContext(dE),n=S.useRef(null);if(n.current===null&&!e){var r,i;let s=(i=We.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||i===void 0||(r=i.ReactCurrentOwner)===null||r===void 0?void 0:r.current;if(s){let a=jy.get(s);a==null?jy.set(s,{id:t.current,state:s.memoizedState}):s.memoizedState!==a.state&&(t.current=a.id,jy.delete(s))}n.current=++t.current}return n.current}function mL(e){let t=S.useContext(dE),n=hL(!!e),r=`react-aria${t.prefix}`;return e||`${r}-${n}`}function gL(e){let t=We.useId(),[n]=S.useState(dh()),r=n?"react-aria":`react-aria${fE.prefix}`;return e||`${r}-${t}`}const vL=typeof We.useId=="function"?gL:mL;function yL(){return!1}function bL(){return!0}function xL(e){return()=>{}}function dh(){return typeof We.useSyncExternalStore=="function"?We.useSyncExternalStore(xL,yL,bL):S.useContext(pL)}const wL=Symbol.for("react-aria.i18n.locale");function pE(){let e=typeof window<"u"&&window[wL]||typeof navigator<"u"&&(navigator.language||navigator.userLanguage)||"en-US";try{Intl.DateTimeFormat.supportedLocalesOf([e])}catch{e="en-US"}return{locale:e,direction:cE(e)?"rtl":"ltr"}}let j0=pE(),Pp=new Set;function f1(){j0=pE();for(let e of Pp)e(j0)}function hE(){let e=dh(),[t,n]=S.useState(j0);return S.useEffect(()=>(Pp.size===0&&window.addEventListener("languagechange",f1),Pp.add(n),()=>{Pp.delete(n),Pp.size===0&&window.removeEventListener("languagechange",f1)}),[]),e?{locale:"en-US",direction:"ltr"}:t}const mE=We.createContext(null);function SL(e){let{locale:t,children:n}=e,r=hE(),i=We.useMemo(()=>t?{locale:t,direction:cE(t)?"rtl":"ltr"}:r,[r,t]);return We.createElement(mE.Provider,{value:i},n)}function ph(){let e=hE();return S.useContext(mE)||e}const kL=Symbol.for("react-aria.i18n.locale"),CL=Symbol.for("react-aria.i18n.strings");let Qc;class sv{getStringForLocale(t,n){let i=this.getStringsForLocale(n)[t];if(!i)throw new Error(`Could not find intl message ${t} in ${n} locale`);return i}getStringsForLocale(t){let n=this.strings[t];return n||(n=EL(t,this.strings,this.defaultLocale),this.strings[t]=n),n}static getGlobalDictionaryForPackage(t){if(typeof window>"u")return null;let n=window[kL];if(Qc===void 0){let i=window[CL];if(!i)return null;Qc={};for(let s in i)Qc[s]=new sv({[n]:i[s]},n)}let r=Qc?.[t];if(!r)throw new Error(`Strings for package "${t}" were not included by LocalizedStringProvider. Please add it to the list passed to createLocalizedStringDictionary.`);return r}constructor(t,n="en-US"){this.strings=Object.fromEntries(Object.entries(t).filter(([,r])=>r)),this.defaultLocale=n}}function EL(e,t,n="en-US"){if(t[e])return t[e];let r=PL(e);if(t[r])return t[r];for(let i in t)if(i.startsWith(r+"-"))return t[i];return t[n]}function PL(e){return Intl.Locale?new Intl.Locale(e).language:e.split("-")[0]}const d1=new Map,p1=new Map;class TL{format(t,n){let r=this.strings.getStringForLocale(t,this.locale);return typeof r=="function"?r(n,this):r}plural(t,n,r="cardinal"){let i=n["="+t];if(i)return typeof i=="function"?i():i;let s=this.locale+":"+r,a=d1.get(s);a||(a=new Intl.PluralRules(this.locale,{type:r}),d1.set(s,a));let c=a.select(t);return i=n[c]||n.other,typeof i=="function"?i():i}number(t){let n=p1.get(this.locale);return n||(n=new Intl.NumberFormat(this.locale),p1.set(this.locale,n)),n.format(t)}select(t,n){let r=t[n]||t.other;return typeof r=="function"?r():r}constructor(t,n){this.locale=t,this.strings=n}}const h1=new WeakMap;function _L(e){let t=h1.get(e);return t||(t=new sv(e),h1.set(e,t)),t}function IL(e,t){return t&&sv.getGlobalDictionaryForPackage(t)||_L(e)}function $L(e,t){let{locale:n}=ph(),r=IL(e,t);return S.useMemo(()=>new TL(n,r),[n,r])}function AL(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function RL(e,t,n){AL(e,t),t.set(e,n)}const Zt=typeof document<"u"?We.useLayoutEffect:()=>{};function Fn(e){const t=S.useRef(null);return Zt(()=>{t.current=e},[e]),S.useCallback((...n)=>{const r=t.current;return r?.(...n)},[])}function LL(e){let[t,n]=S.useState(e),r=S.useRef(null),i=Fn(()=>{if(!r.current)return;let a=r.current.next();if(a.done){r.current=null;return}t===a.value?i():n(a.value)});Zt(()=>{r.current&&i()});let s=Fn(a=>{r.current=a(t),i()});return[t,s]}let ML=!!(typeof window<"u"&&window.document&&window.document.createElement),cf=new Map,Tp;typeof FinalizationRegistry<"u"&&(Tp=new FinalizationRegistry(e=>{cf.delete(e)}));function bf(e){let[t,n]=S.useState(e),r=S.useRef(null),i=vL(t),s=S.useRef(null);if(Tp&&Tp.register(s,i),ML){const a=cf.get(i);a&&!a.includes(r)?a.push(r):cf.set(i,[r])}return Zt(()=>{let a=i;return()=>{Tp&&Tp.unregister(s),cf.delete(a)}},[i]),S.useEffect(()=>{let a=r.current;return a&&n(a),()=>{a&&(r.current=null)}}),i}function DL(e,t){if(e===t)return e;let n=cf.get(e);if(n)return n.forEach(i=>i.current=t),t;let r=cf.get(t);return r?(r.forEach(i=>i.current=e),e):t}function B0(e=[]){let t=bf(),[n,r]=LL(t),i=S.useCallback(()=>{r(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,r]);return Zt(i,[t,i,...e]),n}function xf(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const At=e=>{var t;return(t=e?.ownerDocument)!==null&&t!==void 0?t:document},Ji=e=>e&&"window"in e&&e.window===e?e:At(e).defaultView||window;function NL(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function FL(e){return NL(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let OL=!1,zL=!1;function mG(){return OL}function lv(){return zL}function ri(e,t){if(!lv())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let n=t;for(;n!==null;){if(n===e)return!0;n.tagName==="SLOT"&&n.assignedSlot?n=n.assignedSlot.parentNode:FL(n)?n=n.host:n=n.parentNode}return!1}const Dr=(e=document)=>{var t;if(!lv())return e.activeElement;let n=e.activeElement;for(;n&&"shadowRoot"in n&&(!((t=n.shadowRoot)===null||t===void 0)&&t.activeElement);)n=n.shadowRoot.activeElement;return n};function wn(e){return lv()&&e.target.shadowRoot&&e.composedPath?e.composedPath()[0]:e.target}class jL{get currentNode(){return this._currentNode}set currentNode(t){if(!ri(this.root,t))throw new Error("Cannot set currentNode to a node that is not contained by the root node.");const n=[];let r=t,i=t;for(this._currentNode=t;r&&r!==this.root;)if(r.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const a=r,c=this._doc.createTreeWalker(a,this.whatToShow,{acceptNode:this._acceptNode});n.push(c),c.currentNode=i,this._currentSetFor.add(c),r=i=a.host}else r=r.parentNode;const s=this._doc.createTreeWalker(this.root,this.whatToShow,{acceptNode:this._acceptNode});n.push(s),s.currentNode=i,this._currentSetFor.add(s),this._walkerStack=n}get doc(){return this._doc}firstChild(){let t=this.currentNode,n=this.nextNode();return ri(t,n)?(n&&(this.currentNode=n),n):(this.currentNode=t,null)}lastChild(){let n=this._walkerStack[0].lastChild();return n&&(this.currentNode=n),n}nextNode(){const t=this._walkerStack[0].nextNode();if(t){if(t.shadowRoot){var n;let i;if(typeof this.filter=="function"?i=this.filter(t):!((n=this.filter)===null||n===void 0)&&n.acceptNode&&(i=this.filter.acceptNode(t)),i===NodeFilter.FILTER_ACCEPT)return this.currentNode=t,t;let s=this.nextNode();return s&&(this.currentNode=s),s}return t&&(this.currentNode=t),t}else if(this._walkerStack.length>1){this._walkerStack.shift();let r=this.nextNode();return r&&(this.currentNode=r),r}else return null}previousNode(){const t=this._walkerStack[0];if(t.currentNode===t.root){if(this._currentSetFor.has(t))if(this._currentSetFor.delete(t),this._walkerStack.length>1){this._walkerStack.shift();let i=this.previousNode();return i&&(this.currentNode=i),i}else return null;return null}const n=t.previousNode();if(n){if(n.shadowRoot){var r;let s;if(typeof this.filter=="function"?s=this.filter(n):!((r=this.filter)===null||r===void 0)&&r.acceptNode&&(s=this.filter.acceptNode(n)),s===NodeFilter.FILTER_ACCEPT)return n&&(this.currentNode=n),n;let a=this.lastChild();return a&&(this.currentNode=a),a}return n&&(this.currentNode=n),n}else if(this._walkerStack.length>1){this._walkerStack.shift();let i=this.previousNode();return i&&(this.currentNode=i),i}else return null}nextSibling(){return null}previousSibling(){return null}parentNode(){return null}constructor(t,n,r,i){this._walkerStack=[],this._currentSetFor=new Set,this._acceptNode=a=>{if(a.nodeType===Node.ELEMENT_NODE){const d=a.shadowRoot;if(d){const h=this._doc.createTreeWalker(d,this.whatToShow,{acceptNode:this._acceptNode});return this._walkerStack.unshift(h),NodeFilter.FILTER_ACCEPT}else{var c;if(typeof this.filter=="function")return this.filter(a);if(!((c=this.filter)===null||c===void 0)&&c.acceptNode)return this.filter.acceptNode(a);if(this.filter===null)return NodeFilter.FILTER_ACCEPT}}return NodeFilter.FILTER_SKIP},this._doc=t,this.root=n,this.filter=i??null,this.whatToShow=r??NodeFilter.SHOW_ALL,this._currentNode=n,this._walkerStack.unshift(t.createTreeWalker(n,r,this._acceptNode));const s=n.shadowRoot;if(s){const a=this._doc.createTreeWalker(s,this.whatToShow,{acceptNode:this._acceptNode});this._walkerStack.unshift(a)}}}function BL(e,t,n,r){return lv()?new jL(e,t,n,r):e.createTreeWalker(t,n,r)}function gE(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=65&&i.charCodeAt(2)<=90?t[i]=xf(s,a):(i==="className"||i==="UNSAFE_className")&&typeof s=="string"&&typeof a=="string"?t[i]=VL(s,a):i==="id"&&s&&a?t.id=DL(s,a):t[i]=a!==void 0?a:s}}return t}const UL=new Set(["id"]),KL=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),WL=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),HL=/^(data-.*)$/;function $f(e,t={}){let{labelable:n,isLink:r,propNames:i}=t,s={};for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(UL.has(a)||n&&KL.has(a)||r&&WL.has(a)||i?.has(a)||HL.test(a))&&(s[a]=e[a]);return s}function Jl(e){if(GL())e.focus({preventScroll:!0});else{let t=qL(e);e.focus(),YL(t)}}let rg=null;function GL(){if(rg==null){rg=!1;try{document.createElement("div").focus({get preventScroll(){return rg=!0,!0}})}catch{}}return rg}function qL(e){let t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==r;)(t.offsetHeight"u"||window.navigator==null?!1:((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands.some(n=>e.test(n.brand)))||e.test(window.navigator.userAgent)}function ix(e){var t;return typeof window<"u"&&window.navigator!=null?e.test(((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.platform)||window.navigator.platform):!1}function rl(e){let t=null;return()=>(t==null&&(t=e()),t)}const yu=rl(function(){return ix(/^Mac/i)}),XL=rl(function(){return ix(/^iPhone/i)}),vE=rl(function(){return ix(/^iPad/i)||yu()&&navigator.maxTouchPoints>1}),uv=rl(function(){return XL()||vE()}),QL=rl(function(){return yu()||uv()}),yE=rl(function(){return av(/AppleWebKit/i)&&!bE()}),bE=rl(function(){return av(/Chrome/i)}),ox=rl(function(){return av(/Android/i)}),JL=rl(function(){return av(/Firefox/i)}),xE=S.createContext({isNative:!0,open:tM,useHref:e=>e});function ZL(e){let{children:t,navigate:n,useHref:r}=e,i=S.useMemo(()=>({isNative:!1,open:(s,a,c,d)=>{wE(s,h=>{eM(h,a)?n(c,d):bu(h,a)})},useHref:r||(s=>s)}),[n,r]);return We.createElement(xE.Provider,{value:i},t)}function sx(){return S.useContext(xE)}function eM(e,t){let n=e.getAttribute("target");return(!n||n==="_self")&&e.origin===location.origin&&!e.hasAttribute("download")&&!t.metaKey&&!t.ctrlKey&&!t.altKey&&!t.shiftKey}function bu(e,t,n=!0){var r,i;let{metaKey:s,ctrlKey:a,altKey:c,shiftKey:d}=t;JL()&&(!((i=window.event)===null||i===void 0||(r=i.type)===null||r===void 0)&&r.startsWith("key"))&&e.target==="_blank"&&(yu()?s=!0:a=!0);let h=yE()&&yu()&&!vE()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:s,ctrlKey:a,altKey:c,shiftKey:d}):new MouseEvent("click",{metaKey:s,ctrlKey:a,altKey:c,shiftKey:d,bubbles:!0,cancelable:!0});bu.isOpening=n,Jl(e),e.dispatchEvent(h),bu.isOpening=!1}bu.isOpening=!1;function wE(e,t){if(e instanceof HTMLAnchorElement)t(e);else if(e.hasAttribute("data-href")){let n=document.createElement("a");n.href=e.getAttribute("data-href"),e.hasAttribute("data-target")&&(n.target=e.getAttribute("data-target")),e.hasAttribute("data-rel")&&(n.rel=e.getAttribute("data-rel")),e.hasAttribute("data-download")&&(n.download=e.getAttribute("data-download")),e.hasAttribute("data-ping")&&(n.ping=e.getAttribute("data-ping")),e.hasAttribute("data-referrer-policy")&&(n.referrerPolicy=e.getAttribute("data-referrer-policy")),e.appendChild(n),t(n),e.removeChild(n)}}function tM(e,t){wE(e,n=>bu(n,t))}function gG(e){let t=sx();var n;const r=t.useHref((n=e.href)!==null&&n!==void 0?n:"");return{"data-href":e.href?r:void 0,"data-target":e.target,"data-rel":e.rel,"data-download":e.download,"data-ping":e.ping,"data-referrer-policy":e.referrerPolicy}}function vG(e){let t=sx();var n;const r=t.useHref((n=e?.href)!==null&&n!==void 0?n:"");return{href:e?.href?r:void 0,target:e?.target,rel:e?.rel,download:e?.download,ping:e?.ping,referrerPolicy:e?.referrerPolicy}}let ql=new Map,V0=new Set;function m1(){if(typeof window>"u")return;function e(r){return"propertyName"in r}let t=r=>{if(!e(r)||!r.target)return;let i=ql.get(r.target);i||(i=new Set,ql.set(r.target,i),r.target.addEventListener("transitioncancel",n,{once:!0})),i.add(r.propertyName)},n=r=>{if(!e(r)||!r.target)return;let i=ql.get(r.target);if(i&&(i.delete(r.propertyName),i.size===0&&(r.target.removeEventListener("transitioncancel",n),ql.delete(r.target)),ql.size===0)){for(let s of V0)s();V0.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?m1():document.addEventListener("DOMContentLoaded",m1));function nM(){for(const[e]of ql)"isConnected"in e&&!e.isConnected&&ql.delete(e)}function SE(e){requestAnimationFrame(()=>{nM(),ql.size===0?e():V0.add(e)})}function lx(){let e=S.useRef(new Map),t=S.useCallback((i,s,a,c)=>{let d=c?.once?(...h)=>{e.current.delete(a),a(...h)}:a;e.current.set(a,{type:s,eventTarget:i,fn:d,options:c}),i.addEventListener(s,d,c)},[]),n=S.useCallback((i,s,a,c)=>{var d;let h=((d=e.current.get(a))===null||d===void 0?void 0:d.fn)||a;i.removeEventListener(s,h,c),e.current.delete(a)},[]),r=S.useCallback(()=>{e.current.forEach((i,s)=>{n(i.eventTarget,i.type,s,i.options)})},[n]);return S.useEffect(()=>r,[r]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:r}}function kE(e,t){let{id:n,"aria-label":r,"aria-labelledby":i}=e;return n=bf(n),i&&r?i=[...new Set([n,...i.trim().split(/\s+/)])].join(" "):i&&(i=i.trim().split(/\s+/).join(" ")),!r&&!i&&t&&(r=t),{id:n,"aria-label":r,"aria-labelledby":i}}function g1(e,t){const n=S.useRef(!0),r=S.useRef(null);Zt(()=>(n.current=!0,()=>{n.current=!1}),[]),Zt(()=>{n.current?n.current=!1:(!r.current||t.some((i,s)=>!Object.is(i,r[s])))&&e(),r.current=t},t)}function rM(){return typeof window.ResizeObserver<"u"}function v1(e){const{ref:t,box:n,onResize:r}=e;S.useEffect(()=>{let i=t?.current;if(i)if(rM()){const s=new window.ResizeObserver(a=>{a.length&&r()});return s.observe(i,{box:n}),()=>{i&&s.unobserve(i)}}else return window.addEventListener("resize",r,!1),()=>{window.removeEventListener("resize",r,!1)}},[r,t,n])}function CE(e,t){Zt(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}function Hp(e,t){if(!e)return!1;let n=window.getComputedStyle(e),r=/(auto|scroll)/.test(n.overflow+n.overflowX+n.overflowY);return r&&t&&(r=e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth),r}function EE(e,t){let n=e;for(Hp(n,t)&&(n=n.parentElement);n&&!Hp(n,t);)n=n.parentElement;return n||document.scrollingElement||document.documentElement}function iM(e,t){const n=[];for(;e&&e!==document.documentElement;)Hp(e,t)&&n.push(e),e=e.parentElement;return n}function ig(e,t,n,r){let i=Fn(n),s=n==null;S.useEffect(()=>{if(s||!e.current)return;let a=e.current;return a.addEventListener(t,i,r),()=>{a.removeEventListener(t,i,r)}},[e,t,r,s,i])}function PE(e,t){let n=y1(e,t,"left"),r=y1(e,t,"top"),i=t.offsetWidth,s=t.offsetHeight,a=e.scrollLeft,c=e.scrollTop,{borderTopWidth:d,borderLeftWidth:h,scrollPaddingTop:m,scrollPaddingRight:g,scrollPaddingBottom:b,scrollPaddingLeft:x}=getComputedStyle(e),E=a+parseInt(h,10),P=c+parseInt(d,10),_=E+e.clientWidth,T=P+e.clientHeight,R=parseInt(m,10)||0,L=parseInt(b,10)||0,z=parseInt(g,10)||0,K=parseInt(x,10)||0;n<=a+K?a=n-parseInt(h,10)-K:n+i>_-z&&(a+=n+i-_+z),r<=P+R?c=r-parseInt(d,10)-R:r+s>T-L&&(c+=r+s-T+L),e.scrollLeft=a,e.scrollTop=c}function y1(e,t,n){const r=n==="left"?"offsetLeft":"offsetTop";let i=0;for(;t.offsetParent&&(i+=t[r],t.offsetParent!==e);){if(t.offsetParent.contains(e)){i-=e[r];break}t=t.offsetParent}return i}function b1(e,t){if(e&&document.contains(e)){let a=document.scrollingElement||document.documentElement;if(window.getComputedStyle(a).overflow==="hidden"){let d=iM(e);for(let h of d)PE(h,e)}else{var n;let{left:d,top:h}=e.getBoundingClientRect();e==null||(n=e.scrollIntoView)===null||n===void 0||n.call(e,{block:"nearest"});let{left:m,top:g}=e.getBoundingClientRect();if(Math.abs(d-m)>1||Math.abs(h-g)>1){var r,i,s;t==null||(i=t.containingElement)===null||i===void 0||(r=i.scrollIntoView)===null||r===void 0||r.call(i,{block:"center",inline:"center"}),(s=e.scrollIntoView)===null||s===void 0||s.call(e,{block:"nearest"})}}}}function TE(e){return e.mozInputSource===0&&e.isTrusted?!0:ox()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function oM(e){return!ox()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function sM(e,t,n){let r=S.useRef(t),i=Fn(()=>{n&&n(r.current)});S.useEffect(()=>{var s;let a=e==null||(s=e.current)===null||s===void 0?void 0:s.form;return a?.addEventListener("reset",i),()=>{a?.removeEventListener("reset",i)}},[e,i])}const lM="react-aria-clear-focus",aM="react-aria-focus";function fp(e){return yu()?e.metaKey:e.ctrlKey}var _E=lE();const IE=ov(_E),ax=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable^="false"])'],uM=ax.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ax.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const cM=ax.join(':not([hidden]):not([tabindex="-1"]),');function $E(e){return e.matches(uM)}function fM(e){return e.matches(cM)}function Af(e,t,n){let[r,i]=S.useState(e||t),s=S.useRef(e!==void 0),a=e!==void 0;S.useEffect(()=>{s.current,s.current=a},[a]);let c=a?e:r,d=S.useCallback((h,...m)=>{let g=(b,...x)=>{n&&(Object.is(c,b)||n(b,...x)),a||(c=b)};typeof h=="function"?i((x,...E)=>{let P=h(a?c:x,...E);return g(P,...m),a?x:P}):(a||i(h),g(h,...m))},[a,c,n]);return[c,d]}function Ng(e,t=-1/0,n=1/0){return Math.min(Math.max(e,t),n)}let By=new Map,U0=!1;try{U0=new Intl.NumberFormat("de-DE",{signDisplay:"exceptZero"}).resolvedOptions().signDisplay==="exceptZero"}catch{}let Fg=!1;try{Fg=new Intl.NumberFormat("de-DE",{style:"unit",unit:"degree"}).resolvedOptions().style==="unit"}catch{}const AE={degree:{narrow:{default:"°","ja-JP":" 度","zh-TW":"度","sl-SI":" °"}}};class dM{format(t){let n="";if(!U0&&this.options.signDisplay!=null?n=hM(this.numberFormatter,this.options.signDisplay,t):n=this.numberFormatter.format(t),this.options.style==="unit"&&!Fg){var r;let{unit:i,unitDisplay:s="short",locale:a}=this.resolvedOptions();if(!i)return n;let c=(r=AE[i])===null||r===void 0?void 0:r[s];n+=c[a]||c.default}return n}formatToParts(t){return this.numberFormatter.formatToParts(t)}formatRange(t,n){if(typeof this.numberFormatter.formatRange=="function")return this.numberFormatter.formatRange(t,n);if(n= start date");return`${this.format(t)} – ${this.format(n)}`}formatRangeToParts(t,n){if(typeof this.numberFormatter.formatRangeToParts=="function")return this.numberFormatter.formatRangeToParts(t,n);if(n= start date");let r=this.numberFormatter.formatToParts(t),i=this.numberFormatter.formatToParts(n);return[...r.map(s=>({...s,source:"startRange"})),{type:"literal",value:" – ",source:"shared"},...i.map(s=>({...s,source:"endRange"}))]}resolvedOptions(){let t=this.numberFormatter.resolvedOptions();return!U0&&this.options.signDisplay!=null&&(t={...t,signDisplay:this.options.signDisplay}),!Fg&&this.options.style==="unit"&&(t={...t,style:"unit",unit:this.options.unit,unitDisplay:this.options.unitDisplay}),t}constructor(t,n={}){this.numberFormatter=pM(t,n),this.options=n}}function pM(e,t={}){let{numberingSystem:n}=t;if(n&&e.includes("-nu-")&&(e.includes("-u-")||(e+="-u-"),e+=`-nu-${n}`),t.style==="unit"&&!Fg){var r;let{unit:a,unitDisplay:c="short"}=t;if(!a)throw new Error('unit option must be provided with style: "unit"');if(!(!((r=AE[a])===null||r===void 0)&&r[c]))throw new Error(`Unsupported unit ${a} with unitDisplay = ${c}`);t={...t,style:"decimal"}}let i=e+(t?Object.entries(t).sort((a,c)=>a[0]0||Object.is(n,0):t==="exceptZero"&&(Object.is(n,-0)||Object.is(n,0)?n=Math.abs(n):r=n>0),r){let i=e.format(-n),s=e.format(n),a=i.replace(s,"").replace(/\u200e|\u061C/,"");return[...a].length!==1&&console.warn("@react-aria/i18n polyfill for NumberFormat signDisplay: Unsupported case"),i.replace(s,"!!!").replace(a,"+").replace("!!!",s)}else return e.format(n)}}function mM(e={}){let{locale:t}=ph();return S.useMemo(()=>new dM(t,e),[t,e])}let Vy=new Map;function gM(e){let{locale:t}=ph(),n=t+(e?Object.entries(e).sort((i,s)=>i[0]-1&&e.splice(n,1)}const Zs=(e,t,n)=>n>t?t:n{};const ds={},RE=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function LE(e){return typeof e=="object"&&e!==null}const ME=e=>/^0[^.\s]+$/u.test(e);function hx(e){let t;return()=>(t===void 0&&(t=e()),t)}const Zi=e=>e,vM=(e,t)=>n=>t(e(n)),mh=(...e)=>e.reduce(vM),qp=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r};class mx{constructor(){this.subscriptions=[]}add(t){return fx(this.subscriptions,t),()=>dx(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let s=0;se*1e3,cs=e=>e/1e3;function DE(e,t){return t?e*(1e3/t):0}const NE=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,yM=1e-7,bM=12;function xM(e,t,n,r,i){let s,a,c=0;do a=t+(n-t)/2,s=NE(a,r,i)-e,s>0?n=a:t=a;while(Math.abs(s)>yM&&++cxM(s,0,1,e,n);return s=>s===0||s===1?s:NE(i(s),t,r)}const FE=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,OE=e=>t=>1-e(1-t),zE=gh(.33,1.53,.69,.99),gx=OE(zE),jE=FE(gx),BE=e=>(e*=2)<1?.5*gx(e):.5*(2-Math.pow(2,-10*(e-1))),vx=e=>1-Math.sin(Math.acos(e)),VE=OE(vx),UE=FE(vx),wM=gh(.42,0,1,1),SM=gh(0,0,.58,1),KE=gh(.42,0,.58,1),kM=e=>Array.isArray(e)&&typeof e[0]!="number",WE=e=>Array.isArray(e)&&typeof e[0]=="number",CM={linear:Zi,easeIn:wM,easeInOut:KE,easeOut:SM,circIn:vx,circInOut:UE,circOut:VE,backIn:gx,backInOut:jE,backOut:zE,anticipate:BE},EM=e=>typeof e=="string",x1=e=>{if(WE(e)){px(e.length===4);const[t,n,r,i]=e;return gh(t,n,r,i)}else if(EM(e))return CM[e];return e},og=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function PM(e,t){let n=new Set,r=new Set,i=!1,s=!1;const a=new WeakSet;let c={delta:0,timestamp:0,isProcessing:!1};function d(m){a.has(m)&&(h.schedule(m),e()),m(c)}const h={schedule:(m,g=!1,b=!1)=>{const E=b&&i?n:r;return g&&a.add(m),E.has(m)||E.add(m),m},cancel:m=>{r.delete(m),a.delete(m)},process:m=>{if(c=m,i){s=!0;return}i=!0,[n,r]=[r,n],n.forEach(d),n.clear(),i=!1,s&&(s=!1,h.process(m))}};return h}const TM=40;function HE(e,t){let n=!1,r=!0;const i={delta:0,timestamp:0,isProcessing:!1},s=()=>n=!0,a=og.reduce((L,z)=>(L[z]=PM(s),L),{}),{setup:c,read:d,resolveKeyframes:h,preUpdate:m,update:g,preRender:b,render:x,postRender:E}=a,P=()=>{const L=ds.useManualTiming?i.timestamp:performance.now();n=!1,ds.useManualTiming||(i.delta=r?1e3/60:Math.max(Math.min(L-i.timestamp,TM),1)),i.timestamp=L,i.isProcessing=!0,c.process(i),d.process(i),h.process(i),m.process(i),g.process(i),b.process(i),x.process(i),E.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(P))},_=()=>{n=!0,r=!0,i.isProcessing||e(P)};return{schedule:og.reduce((L,z)=>{const K=a[z];return L[z]=(M,J=!1,re=!1)=>(n||_(),K.schedule(M,J,re)),L},{}),cancel:L=>{for(let z=0;z(Cg===void 0&&ii.set(sr.isProcessing||ds.useManualTiming?sr.timestamp:performance.now()),Cg),set:e=>{Cg=e,queueMicrotask(_M)}},GE=e=>t=>typeof t=="string"&&t.startsWith(e),yx=GE("--"),IM=GE("var(--"),bx=e=>IM(e)?$M.test(e.split("/*")[0].trim()):!1,$M=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,Rf={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Yp={...Rf,transform:e=>Zs(0,1,e)},sg={...Rf,default:1},Lp=e=>Math.round(e*1e5)/1e5,xx=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function AM(e){return e==null}const RM=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,wx=(e,t)=>n=>!!(typeof n=="string"&&RM.test(n)&&n.startsWith(e)||t&&!AM(n)&&Object.prototype.hasOwnProperty.call(n,t)),qE=(e,t,n)=>r=>{if(typeof r!="string")return r;const[i,s,a,c]=r.match(xx);return{[e]:parseFloat(i),[t]:parseFloat(s),[n]:parseFloat(a),alpha:c!==void 0?parseFloat(c):1}},LM=e=>Zs(0,255,e),Ky={...Rf,transform:e=>Math.round(LM(e))},du={test:wx("rgb","red"),parse:qE("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+Ky.transform(e)+", "+Ky.transform(t)+", "+Ky.transform(n)+", "+Lp(Yp.transform(r))+")"};function MM(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const K0={test:wx("#"),parse:MM,transform:du.transform},vh=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),Gl=vh("deg"),fs=vh("%"),et=vh("px"),DM=vh("vh"),NM=vh("vw"),w1={...fs,parse:e=>fs.parse(e)/100,transform:e=>fs.transform(e*100)},rf={test:wx("hsl","hue"),parse:qE("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+fs.transform(Lp(t))+", "+fs.transform(Lp(n))+", "+Lp(Yp.transform(r))+")"},Tn={test:e=>du.test(e)||K0.test(e)||rf.test(e),parse:e=>du.test(e)?du.parse(e):rf.test(e)?rf.parse(e):K0.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?du.transform(e):rf.transform(e),getAnimatableNone:e=>{const t=Tn.parse(e);return t.alpha=0,Tn.transform(t)}},FM=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function OM(e){return isNaN(e)&&typeof e=="string"&&(e.match(xx)?.length||0)+(e.match(FM)?.length||0)>0}const YE="number",XE="color",zM="var",jM="var(",S1="${}",BM=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Xp(e){const t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[];let s=0;const c=t.replace(BM,d=>(Tn.test(d)?(r.color.push(s),i.push(XE),n.push(Tn.parse(d))):d.startsWith(jM)?(r.var.push(s),i.push(zM),n.push(d)):(r.number.push(s),i.push(YE),n.push(parseFloat(d))),++s,S1)).split(S1);return{values:n,split:c,indexes:r,types:i}}function QE(e){return Xp(e).values}function JE(e){const{split:t,types:n}=Xp(e),r=t.length;return i=>{let s="";for(let a=0;atypeof e=="number"?0:Tn.test(e)?Tn.getAnimatableNone(e):e;function UM(e){const t=QE(e);return JE(e)(t.map(VM))}const ea={test:OM,parse:QE,createTransformer:JE,getAnimatableNone:UM};function Wy(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function KM({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,s=0,a=0;if(!t)i=s=a=n;else{const c=n<.5?n*(1+t):n+t-n*t,d=2*n-c;i=Wy(d,c,e+1/3),s=Wy(d,c,e),a=Wy(d,c,e-1/3)}return{red:Math.round(i*255),green:Math.round(s*255),blue:Math.round(a*255),alpha:r}}function Og(e,t){return n=>n>0?t:e}const sn=(e,t,n)=>e+(t-e)*n,Hy=(e,t,n)=>{const r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},WM=[K0,du,rf],HM=e=>WM.find(t=>t.test(e));function k1(e){const t=HM(e);if(!t)return!1;let n=t.parse(e);return t===rf&&(n=KM(n)),n}const C1=(e,t)=>{const n=k1(e),r=k1(t);if(!n||!r)return Og(e,t);const i={...n};return s=>(i.red=Hy(n.red,r.red,s),i.green=Hy(n.green,r.green,s),i.blue=Hy(n.blue,r.blue,s),i.alpha=sn(n.alpha,r.alpha,s),du.transform(i))},W0=new Set(["none","hidden"]);function GM(e,t){return W0.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function qM(e,t){return n=>sn(e,t,n)}function Sx(e){return typeof e=="number"?qM:typeof e=="string"?bx(e)?Og:Tn.test(e)?C1:QM:Array.isArray(e)?ZE:typeof e=="object"?Tn.test(e)?C1:YM:Og}function ZE(e,t){const n=[...e],r=n.length,i=e.map((s,a)=>Sx(s)(s,t[a]));return s=>{for(let a=0;a{for(const s in r)n[s]=r[s](i);return n}}function XM(e,t){const n=[],r={color:0,var:0,number:0};for(let i=0;i{const n=ea.createTransformer(t),r=Xp(e),i=Xp(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?W0.has(e)&&!i.values.length||W0.has(t)&&!r.values.length?GM(e,t):mh(ZE(XM(r,i),i.values),n):Og(e,t)};function eP(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?sn(e,t,n):Sx(e)(e,t)}const JM=e=>{const t=({timestamp:n})=>e(n);return{start:(n=!0)=>Yt.update(t,n),stop:()=>Zl(t),now:()=>sr.isProcessing?sr.timestamp:ii.now()}},tP=(e,t,n=10)=>{let r="";const i=Math.max(Math.round(t/n),2);for(let s=0;s=zg?1/0:t}function ZM(e,t=100,n){const r=n({...e,keyframes:[0,t]}),i=Math.min(kx(r),zg);return{type:"keyframes",ease:s=>r.next(i*s).value/t,duration:cs(i)}}const eD=5;function nP(e,t,n){const r=Math.max(t-eD,0);return DE(n-e(r),t-r)}const dn={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},Gy=.001;function tD({duration:e=dn.duration,bounce:t=dn.bounce,velocity:n=dn.velocity,mass:r=dn.mass}){let i,s,a=1-t;a=Zs(dn.minDamping,dn.maxDamping,a),e=Zs(dn.minDuration,dn.maxDuration,cs(e)),a<1?(i=h=>{const m=h*a,g=m*e,b=m-n,x=H0(h,a),E=Math.exp(-g);return Gy-b/x*E},s=h=>{const g=h*a*e,b=g*n+n,x=Math.pow(a,2)*Math.pow(h,2)*e,E=Math.exp(-g),P=H0(Math.pow(h,2),a);return(-i(h)+Gy>0?-1:1)*((b-x)*E)/P}):(i=h=>{const m=Math.exp(-h*e),g=(h-n)*e+1;return-Gy+m*g},s=h=>{const m=Math.exp(-h*e),g=(n-h)*(e*e);return m*g});const c=5/e,d=rD(i,s,c);if(e=us(e),isNaN(d))return{stiffness:dn.stiffness,damping:dn.damping,duration:e};{const h=Math.pow(d,2)*r;return{stiffness:h,damping:a*2*Math.sqrt(r*h),duration:e}}}const nD=12;function rD(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function sD(e){let t={velocity:dn.velocity,stiffness:dn.stiffness,damping:dn.damping,mass:dn.mass,isResolvedFromDuration:!1,...e};if(!E1(e,oD)&&E1(e,iD))if(e.visualDuration){const n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,s=2*Zs(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:dn.mass,stiffness:i,damping:s}}else{const n=tD(e);t={...t,...n,mass:dn.mass},t.isResolvedFromDuration=!0}return t}function jg(e=dn.visualDuration,t=dn.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:r,restDelta:i}=n;const s=n.keyframes[0],a=n.keyframes[n.keyframes.length-1],c={done:!1,value:s},{stiffness:d,damping:h,mass:m,duration:g,velocity:b,isResolvedFromDuration:x}=sD({...n,velocity:-cs(n.velocity||0)}),E=b||0,P=h/(2*Math.sqrt(d*m)),_=a-s,T=cs(Math.sqrt(d/m)),R=Math.abs(_)<5;r||(r=R?dn.restSpeed.granular:dn.restSpeed.default),i||(i=R?dn.restDelta.granular:dn.restDelta.default);let L;if(P<1){const K=H0(T,P);L=M=>{const J=Math.exp(-P*T*M);return a-J*((E+P*T*_)/K*Math.sin(K*M)+_*Math.cos(K*M))}}else if(P===1)L=K=>a-Math.exp(-T*K)*(_+(E+T*_)*K);else{const K=T*Math.sqrt(P*P-1);L=M=>{const J=Math.exp(-P*T*M),re=Math.min(K*M,300);return a-J*((E+P*T*_)*Math.sinh(re)+K*_*Math.cosh(re))/K}}const z={calculatedDuration:x&&g||null,next:K=>{const M=L(K);if(x)c.done=K>=g;else{let J=K===0?E:0;P<1&&(J=K===0?us(E):nP(L,K,M));const re=Math.abs(J)<=r,ae=Math.abs(a-M)<=i;c.done=re&&ae}return c.value=c.done?a:M,c},toString:()=>{const K=Math.min(kx(z),zg),M=tP(J=>z.next(K*J).value,K,30);return K+"ms "+M},toTransition:()=>{}};return z}jg.applyToOptions=e=>{const t=ZM(e,100,jg);return e.ease=t.ease,e.duration=us(t.duration),e.type="keyframes",e};function G0({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:s=500,modifyTarget:a,min:c,max:d,restDelta:h=.5,restSpeed:m}){const g=e[0],b={done:!1,value:g},x=re=>c!==void 0&&red,E=re=>c===void 0?d:d===void 0||Math.abs(c-re)-P*Math.exp(-re/r),L=re=>T+R(re),z=re=>{const ae=R(re),j=L(re);b.done=Math.abs(ae)<=h,b.value=b.done?T:j};let K,M;const J=re=>{x(b.value)&&(K=re,M=jg({keyframes:[b.value,E(b.value)],velocity:nP(L,re,b.value),damping:i,stiffness:s,restDelta:h,restSpeed:m}))};return J(0),{calculatedDuration:null,next:re=>{let ae=!1;return!M&&K===void 0&&(ae=!0,z(re),J(re)),K!==void 0&&re>=K?M.next(re-K):(!ae&&z(re),b)}}}function lD(e,t,n){const r=[],i=n||ds.mix||eP,s=e.length-1;for(let a=0;at[0];if(s===2&&t[0]===t[1])return()=>t[1];const a=e[0]===e[1];e[0]>e[s-1]&&(e=[...e].reverse(),t=[...t].reverse());const c=lD(t,r,i),d=c.length,h=m=>{if(a&&m1)for(;gh(Zs(e[0],e[s-1],m)):h}function uD(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=qp(0,t,r);e.push(sn(n,1,i))}}function cD(e){const t=[0];return uD(t,e.length-1),t}function fD(e,t){return e.map(n=>n*t)}function dD(e,t){return e.map(()=>t||KE).splice(0,e.length-1)}function Mp({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=kM(r)?r.map(x1):x1(r),s={done:!1,value:t[0]},a=fD(n&&n.length===t.length?n:cD(t),e),c=aD(a,t,{ease:Array.isArray(i)?i:dD(t,i)});return{calculatedDuration:e,next:d=>(s.value=c(d),s.done=d>=e,s)}}const pD=e=>e!==null;function Cx(e,{repeat:t,repeatType:n="loop"},r,i=1){const s=e.filter(pD),c=i<0||t&&n!=="loop"&&t%2===1?0:s.length-1;return!c||r===void 0?s[c]:r}const hD={decay:G0,inertia:G0,tween:Mp,keyframes:Mp,spring:jg};function rP(e){typeof e.type=="string"&&(e.type=hD[e.type])}class Ex{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,n){return this.finished.then(t,n)}}const mD=e=>e/100;class Px extends Ex{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{const{motionValue:n}=this.options;n&&n.updatedAt!==ii.now()&&this.tick(ii.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;rP(t);const{type:n=Mp,repeat:r=0,repeatDelay:i=0,repeatType:s,velocity:a=0}=t;let{keyframes:c}=t;const d=n||Mp;d!==Mp&&typeof c[0]!="number"&&(this.mixKeyframes=mh(mD,eP(c[0],c[1])),c=[0,100]);const h=d({...t,keyframes:c});s==="mirror"&&(this.mirroredGenerator=d({...t,keyframes:[...c].reverse(),velocity:-a})),h.calculatedDuration===null&&(h.calculatedDuration=kx(h));const{calculatedDuration:m}=h;this.calculatedDuration=m,this.resolvedDuration=m+i,this.totalDuration=this.resolvedDuration*(r+1)-i,this.generator=h}updateTime(t){const n=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=n}tick(t,n=!1){const{generator:r,totalDuration:i,mixKeyframes:s,mirroredGenerator:a,resolvedDuration:c,calculatedDuration:d}=this;if(this.startTime===null)return r.next(0);const{delay:h=0,keyframes:m,repeat:g,repeatType:b,repeatDelay:x,type:E,onUpdate:P,finalKeyframe:_}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-i/this.speed,this.startTime)),n?this.currentTime=t:this.updateTime(t);const T=this.currentTime-h*(this.playbackSpeed>=0?1:-1),R=this.playbackSpeed>=0?T<0:T>i;this.currentTime=Math.max(T,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=i);let L=this.currentTime,z=r;if(g){const re=Math.min(this.currentTime,i)/c;let ae=Math.floor(re),j=re%1;!j&&re>=1&&(j=1),j===1&&ae--,ae=Math.min(ae,g+1),!!(ae%2)&&(b==="reverse"?(j=1-j,x&&(j-=x/c)):b==="mirror"&&(z=a)),L=Zs(0,1,j)*c}const K=R?{done:!1,value:m[0]}:z.next(L);s&&(K.value=s(K.value));let{done:M}=K;!R&&d!==null&&(M=this.playbackSpeed>=0?this.currentTime>=i:this.currentTime<=0);const J=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&M);return J&&E!==G0&&(K.value=Cx(m,this.options,_,this.speed)),P&&P(K.value),J&&this.finish(),K}then(t,n){return this.finished.then(t,n)}get duration(){return cs(this.calculatedDuration)}get time(){return cs(this.currentTime)}set time(t){t=us(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(ii.now());const n=this.playbackSpeed!==t;this.playbackSpeed=t,n&&(this.time=cs(this.currentTime))}play(){if(this.isStopped)return;const{driver:t=JM,startTime:n}=this.options;this.driver||(this.driver=t(i=>this.tick(i))),this.options.onPlay?.();const r=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=r):this.holdTime!==null?this.startTime=r-this.holdTime:this.startTime||(this.startTime=n??r),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(ii.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),t.observe(this)}}function gD(e){for(let t=1;te*180/Math.PI,q0=e=>{const t=pu(Math.atan2(e[1],e[0]));return Y0(t)},vD={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:q0,rotateZ:q0,skewX:e=>pu(Math.atan(e[1])),skewY:e=>pu(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},Y0=e=>(e=e%360,e<0&&(e+=360),e),P1=q0,T1=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),_1=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),yD={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:T1,scaleY:_1,scale:e=>(T1(e)+_1(e))/2,rotateX:e=>Y0(pu(Math.atan2(e[6],e[5]))),rotateY:e=>Y0(pu(Math.atan2(-e[2],e[0]))),rotateZ:P1,rotate:P1,skewX:e=>pu(Math.atan(e[4])),skewY:e=>pu(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function X0(e){return e.includes("scale")?1:0}function Q0(e,t){if(!e||e==="none")return X0(t);const n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let r,i;if(n)r=yD,i=n;else{const c=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=vD,i=c}if(!i)return X0(t);const s=r[t],a=i[1].split(",").map(xD);return typeof s=="function"?s(a):a[s]}const bD=(e,t)=>{const{transform:n="none"}=getComputedStyle(e);return Q0(n,t)};function xD(e){return parseFloat(e.trim())}const Lf=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Eu=new Set(Lf),I1=e=>e===Rf||e===et,wD=new Set(["x","y","z"]),SD=Lf.filter(e=>!wD.has(e));function kD(e){const t=[];return SD.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t}const gu={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>Q0(t,"x"),y:(e,{transform:t})=>Q0(t,"y")};gu.translateX=gu.x;gu.translateY=gu.y;const vu=new Set;let J0=!1,Z0=!1,eb=!1;function iP(){if(Z0){const e=Array.from(vu).filter(r=>r.needsMeasurement),t=new Set(e.map(r=>r.element)),n=new Map;t.forEach(r=>{const i=kD(r);i.length&&(n.set(r,i),r.render())}),e.forEach(r=>r.measureInitialState()),t.forEach(r=>{r.render();const i=n.get(r);i&&i.forEach(([s,a])=>{r.getValue(s)?.set(a)})}),e.forEach(r=>r.measureEndState()),e.forEach(r=>{r.suspendedScrollY!==void 0&&window.scrollTo(0,r.suspendedScrollY)})}Z0=!1,J0=!1,vu.forEach(e=>e.complete(eb)),vu.clear()}function oP(){vu.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(Z0=!0)})}function CD(){eb=!0,oP(),iP(),eb=!1}class Tx{constructor(t,n,r,i,s,a=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=r,this.motionValue=i,this.element=s,this.isAsync=a}scheduleResolve(){this.state="scheduled",this.isAsync?(vu.add(this),J0||(J0=!0,Yt.read(oP),Yt.resolveKeyframes(iP))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:r,motionValue:i}=this;if(t[0]===null){const s=i?.get(),a=t[t.length-1];if(s!==void 0)t[0]=s;else if(r&&n){const c=r.readValue(n,a);c!=null&&(t[0]=c)}t[0]===void 0&&(t[0]=a),i&&s===void 0&&i.set(t[0])}gD(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),vu.delete(this)}cancel(){this.state==="scheduled"&&(vu.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const ED=e=>e.startsWith("--");function PD(e,t,n){ED(t)?e.style.setProperty(t,n):e.style[t]=n}const TD=hx(()=>window.ScrollTimeline!==void 0),_D={};function ID(e,t){const n=hx(e);return()=>_D[t]??n()}const sP=ID(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),_p=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,$1={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:_p([0,.65,.55,1]),circOut:_p([.55,0,1,.45]),backIn:_p([.31,.01,.66,-.59]),backOut:_p([.33,1.53,.69,.99])};function lP(e,t){if(e)return typeof e=="function"?sP()?tP(e,t):"ease-out":WE(e)?_p(e):Array.isArray(e)?e.map(n=>lP(n,t)||$1.easeOut):$1[e]}function $D(e,t,n,{delay:r=0,duration:i=300,repeat:s=0,repeatType:a="loop",ease:c="easeOut",times:d}={},h=void 0){const m={[t]:n};d&&(m.offset=d);const g=lP(c,i);Array.isArray(g)&&(m.easing=g);const b={delay:r,duration:i,easing:Array.isArray(g)?"linear":g,fill:"both",iterations:s+1,direction:a==="reverse"?"alternate":"normal"};return h&&(b.pseudoElement=h),e.animate(m,b)}function aP(e){return typeof e=="function"&&"applyToOptions"in e}function AD({type:e,...t}){return aP(e)&&sP()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class RD extends Ex{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,!t)return;const{element:n,name:r,keyframes:i,pseudoElement:s,allowFlatten:a=!1,finalKeyframe:c,onComplete:d}=t;this.isPseudoElement=!!s,this.allowFlatten=a,this.options=t,px(typeof t.type!="string");const h=AD(t);this.animation=$D(n,r,i,h,s),h.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!s){const m=Cx(i,this.options,c,this.speed);this.updateMotionValue?this.updateMotionValue(m):PD(n,r,m),this.animation.cancel()}d?.(),this.notifyFinished()}}play(){this.isStopped||(this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;t==="idle"||t==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){const t=this.animation.effect?.getComputedTiming?.().duration||0;return cs(Number(t))}get time(){return cs(Number(this.animation.currentTime)||0)}set time(t){this.finishedTime=null,this.animation.currentTime=us(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return Number(this.animation.startTime)}set startTime(t){this.animation.startTime=t}attachTimeline({timeline:t,observe:n}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,t&&TD()?(this.animation.timeline=t,Zi):n(this)}}const uP={anticipate:BE,backInOut:jE,circInOut:UE};function LD(e){return e in uP}function MD(e){typeof e.ease=="string"&&LD(e.ease)&&(e.ease=uP[e.ease])}const A1=10;class DD extends RD{constructor(t){MD(t),rP(t),super(t),t.startTime&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:n,onUpdate:r,onComplete:i,element:s,...a}=this.options;if(!n)return;if(t!==void 0){n.set(t);return}const c=new Px({...a,autoplay:!1}),d=us(this.finishedTime??this.time);n.setWithVelocity(c.sample(d-A1).value,c.sample(d).value,A1),c.stop()}}const R1=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(ea.test(e)||e==="0")&&!e.startsWith("url("));function ND(e){const t=e[0];if(e.length===1)return!0;for(let n=0;nObject.hasOwnProperty.call(Element.prototype,"animate"));function jD(e){const{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:s,type:a}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:d,transformTemplate:h}=t.owner.getProps();return zD()&&n&&OD.has(n)&&(n!=="transform"||!h)&&!d&&!r&&i!=="mirror"&&s!==0&&a!=="inertia"}const BD=40;class VD extends Ex{constructor({autoplay:t=!0,delay:n=0,type:r="keyframes",repeat:i=0,repeatDelay:s=0,repeatType:a="loop",keyframes:c,name:d,motionValue:h,element:m,...g}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=ii.now();const b={autoplay:t,delay:n,type:r,repeat:i,repeatDelay:s,repeatType:a,name:d,motionValue:h,element:m,...g},x=m?.KeyframeResolver||Tx;this.keyframeResolver=new x(c,(E,P,_)=>this.onKeyframesResolved(E,P,b,!_),d,h,m),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(t,n,r,i){this.keyframeResolver=void 0;const{name:s,type:a,velocity:c,delay:d,isHandoff:h,onUpdate:m}=r;this.resolvedAt=ii.now(),FD(t,s,a,c)||((ds.instantAnimations||!d)&&m?.(Cx(t,r,n)),t[0]=t[t.length-1],r.duration=0,r.repeat=0);const b={startTime:i?this.resolvedAt?this.resolvedAt-this.createdAt>BD?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...r,keyframes:t},x=!h&&jD(b)?new DD({...b,element:b.motionValue.owner.current}):new Px(b);x.finished.then(()=>this.notifyFinished()).catch(Zi),this.pendingTimeline&&(this.stopTimeline=x.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=x}get finished(){return this._animation?this.animation.finished:this._finished}then(t,n){return this.finished.finally(t).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),CD()),this._animation}get duration(){return this.animation.duration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}const UD=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function KD(e){const t=UD.exec(e);if(!t)return[,];const[,n,r,i]=t;return[`--${n??r}`,i]}function cP(e,t,n=1){const[r,i]=KD(e);if(!r)return;const s=window.getComputedStyle(t).getPropertyValue(r);if(s){const a=s.trim();return RE(a)?parseFloat(a):a}return bx(i)?cP(i,t,n+1):i}function _x(e,t){return e?.[t]??e?.default??e}const fP=new Set(["width","height","top","left","right","bottom",...Lf]),WD={test:e=>e==="auto",parse:e=>e},dP=e=>t=>t.test(e),pP=[Rf,et,fs,Gl,NM,DM,WD],L1=e=>pP.find(dP(e));function HD(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||ME(e):!0}const GD=new Set(["brightness","contrast","saturate","opacity"]);function qD(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(xx)||[];if(!r)return e;const i=n.replace(r,"");let s=GD.has(t)?1:0;return r!==n&&(s*=100),t+"("+s+i+")"}const YD=/\b([a-z-]*)\(.*?\)/gu,tb={...ea,getAnimatableNone:e=>{const t=e.match(YD);return t?t.map(qD).join(" "):e}},M1={...Rf,transform:Math.round},XD={rotate:Gl,rotateX:Gl,rotateY:Gl,rotateZ:Gl,scale:sg,scaleX:sg,scaleY:sg,scaleZ:sg,skew:Gl,skewX:Gl,skewY:Gl,distance:et,translateX:et,translateY:et,translateZ:et,x:et,y:et,z:et,perspective:et,transformPerspective:et,opacity:Yp,originX:w1,originY:w1,originZ:et},Ix={borderWidth:et,borderTopWidth:et,borderRightWidth:et,borderBottomWidth:et,borderLeftWidth:et,borderRadius:et,radius:et,borderTopLeftRadius:et,borderTopRightRadius:et,borderBottomRightRadius:et,borderBottomLeftRadius:et,width:et,maxWidth:et,height:et,maxHeight:et,top:et,right:et,bottom:et,left:et,padding:et,paddingTop:et,paddingRight:et,paddingBottom:et,paddingLeft:et,margin:et,marginTop:et,marginRight:et,marginBottom:et,marginLeft:et,backgroundPositionX:et,backgroundPositionY:et,...XD,zIndex:M1,fillOpacity:Yp,strokeOpacity:Yp,numOctaves:M1},QD={...Ix,color:Tn,backgroundColor:Tn,outlineColor:Tn,fill:Tn,stroke:Tn,borderColor:Tn,borderTopColor:Tn,borderRightColor:Tn,borderBottomColor:Tn,borderLeftColor:Tn,filter:tb,WebkitFilter:tb},hP=e=>QD[e];function mP(e,t){let n=hP(e);return n!==tb&&(n=ea),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const JD=new Set(["auto","none","0"]);function ZD(e,t,n){let r=0,i;for(;r{t.getValue(c).set(d)}),this.resolveNoneKeyframes()}}const t3=new Set(["opacity","clipPath","filter","transform"]);function n3(e,t,n){if(e instanceof EventTarget)return[e];if(typeof e=="string"){let r=document;const i=n?.[e]??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e)}const gP=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function vP(e){return LE(e)&&"offsetHeight"in e}const D1=30,r3=e=>!isNaN(parseFloat(e));class yP{constructor(t,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=(r,i=!0)=>{const s=ii.now();if(this.updatedAt!==s&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(r),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const a of this.dependents)a.dirty();i&&this.events.renderRequest?.notify(this.current)},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=ii.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=r3(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new mx);const r=this.events[t].add(n);return t==="change"?()=>{r(),Yt.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-r}jump(t,n=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=ii.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>D1)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,D1);return DE(parseFloat(this.current)-parseFloat(this.prevFrameValue),n)}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function wf(e,t){return new yP(e,t)}const{schedule:$x}=HE(queueMicrotask,!1),ko={x:!1,y:!1};function bP(){return ko.x||ko.y}function i3(e){return e==="x"||e==="y"?ko[e]?null:(ko[e]=!0,()=>{ko[e]=!1}):ko.x||ko.y?null:(ko.x=ko.y=!0,()=>{ko.x=ko.y=!1})}function xP(e,t){const n=n3(e),r=new AbortController,i={passive:!0,...t,signal:r.signal};return[n,i,()=>r.abort()]}function N1(e){return!(e.pointerType==="touch"||bP())}function o3(e,t,n={}){const[r,i,s]=xP(e,n),a=c=>{if(!N1(c))return;const{target:d}=c,h=t(d,c);if(typeof h!="function"||!d)return;const m=g=>{N1(g)&&(h(g),d.removeEventListener("pointerleave",m))};d.addEventListener("pointerleave",m,i)};return r.forEach(c=>{c.addEventListener("pointerenter",a,i)}),s}const wP=(e,t)=>t?e===t?!0:wP(e,t.parentElement):!1,Ax=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,s3=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function l3(e){return s3.has(e.tagName)||e.tabIndex!==-1}const Eg=new WeakSet;function F1(e){return t=>{t.key==="Enter"&&e(t)}}function qy(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const a3=(e,t)=>{const n=e.currentTarget;if(!n)return;const r=F1(()=>{if(Eg.has(n))return;qy(n,"down");const i=F1(()=>{qy(n,"up")}),s=()=>qy(n,"cancel");n.addEventListener("keyup",i,t),n.addEventListener("blur",s,t)});n.addEventListener("keydown",r,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",r),t)};function O1(e){return Ax(e)&&!bP()}function u3(e,t,n={}){const[r,i,s]=xP(e,n),a=c=>{const d=c.currentTarget;if(!O1(c))return;Eg.add(d);const h=t(d,c),m=(x,E)=>{window.removeEventListener("pointerup",g),window.removeEventListener("pointercancel",b),Eg.has(d)&&Eg.delete(d),O1(x)&&typeof h=="function"&&h(x,{success:E})},g=x=>{m(x,d===window||d===document||n.useGlobalTarget||wP(d,x.target))},b=x=>{m(x,!1)};window.addEventListener("pointerup",g,i),window.addEventListener("pointercancel",b,i)};return r.forEach(c=>{(n.useGlobalTarget?window:c).addEventListener("pointerdown",a,i),vP(c)&&(c.addEventListener("focus",h=>a3(h,i)),!l3(c)&&!c.hasAttribute("tabindex")&&(c.tabIndex=0))}),s}function SP(e){return LE(e)&&"ownerSVGElement"in e}function c3(e){return SP(e)&&e.tagName==="svg"}const br=e=>!!(e&&e.getVelocity),f3=[...pP,Tn,ea],d3=e=>f3.find(dP(e)),Qp=S.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});class p3 extends S.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=n.offsetParent,i=vP(r)&&r.offsetWidth||0,s=this.props.sizeRef.current;s.height=n.offsetHeight||0,s.width=n.offsetWidth||0,s.top=n.offsetTop,s.left=n.offsetLeft,s.right=i-s.width-s.left}return null}componentDidUpdate(){}render(){return this.props.children}}function h3({children:e,isPresent:t,anchorX:n,root:r}){const i=S.useId(),s=S.useRef(null),a=S.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:c}=S.useContext(Qp);return S.useInsertionEffect(()=>{const{width:d,height:h,top:m,left:g,right:b}=a.current;if(t||!s.current||!d||!h)return;const x=n==="left"?`left: ${g}`:`right: ${b}`;s.current.dataset.motionPopId=i;const E=document.createElement("style");c&&(E.nonce=c);const P=r??document.head;return P.appendChild(E),E.sheet&&E.sheet.insertRule(` - [data-motion-pop-id="${i}"] { - position: absolute !important; - width: ${d}px !important; - height: ${h}px !important; - ${x}px !important; - top: ${m}px !important; - } - `),()=>{P.removeChild(E),P.contains(E)&&P.removeChild(E)}},[t]),N.jsx(p3,{isPresent:t,childRef:s,sizeRef:a,children:S.cloneElement(e,{ref:s})})}const m3=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:s,mode:a,anchorX:c,root:d})=>{const h=hh(g3),m=S.useId();let g=!0,b=S.useMemo(()=>(g=!1,{id:m,initial:t,isPresent:n,custom:i,onExitComplete:x=>{h.set(x,!0);for(const E of h.values())if(!E)return;r&&r()},register:x=>(h.set(x,!1),()=>h.delete(x))}),[n,h,r]);return s&&g&&(b={...b}),S.useMemo(()=>{h.forEach((x,E)=>h.set(E,!1))},[n]),S.useEffect(()=>{!n&&!h.size&&r&&r()},[n]),a==="popLayout"&&(e=N.jsx(h3,{isPresent:n,anchorX:c,root:d,children:e})),N.jsx(cv.Provider,{value:b,children:e})};function g3(){return new Map}function kP(e=!0){const t=S.useContext(cv);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:r,register:i}=t,s=S.useId();S.useEffect(()=>{if(e)return i(s)},[e]);const a=S.useCallback(()=>e&&r&&r(s),[s,r,e]);return!n&&r?[!1,a]:[!0]}const lg=e=>e.key||"";function z1(e){const t=[];return S.Children.forEach(e,n=>{S.isValidElement(n)&&t.push(n)}),t}const Mf=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:i=!0,mode:s="sync",propagate:a=!1,anchorX:c="left",root:d})=>{const[h,m]=kP(a),g=S.useMemo(()=>z1(e),[e]),b=a&&!h?[]:g.map(lg),x=S.useRef(!0),E=S.useRef(g),P=hh(()=>new Map),[_,T]=S.useState(g),[R,L]=S.useState(g);cx(()=>{x.current=!1,E.current=g;for(let M=0;M{const J=lg(M),re=a&&!h?!1:g===R||b.includes(J),ae=()=>{if(P.has(J))P.set(J,!0);else return;let j=!0;P.forEach(B=>{B||(j=!1)}),j&&(K?.(),L(E.current),a&&m?.(),r&&r())};return N.jsx(m3,{isPresent:re,initial:!x.current||n?void 0:!1,custom:t,presenceAffectsLayout:i,mode:s,root:d,onExitComplete:re?void 0:ae,anchorX:c,children:M},J)})})},v3=S.createContext(null);function y3(){const e=S.useRef(!1);return cx(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function b3(){const e=y3(),[t,n]=S.useState(0),r=S.useCallback(()=>{e.current&&n(t+1)},[t]);return[S.useCallback(()=>Yt.postRender(r),[r]),t]}const x3=e=>!e.isLayoutDirty&&e.willUpdate(!1);function j1(){const e=new Set,t=new WeakMap,n=()=>e.forEach(x3);return{add:r=>{e.add(r),t.set(r,r.addEventListener("willUpdate",n))},remove:r=>{e.delete(r);const i=t.get(r);i&&(i(),t.delete(r)),n()},dirty:n}}const CP=e=>e===!0,w3=e=>CP(e===!0)||e==="id",S3=({children:e,id:t,inherit:n=!0})=>{const r=S.useContext(Gp),i=S.useContext(v3),[s,a]=b3(),c=S.useRef(null),d=r.id||i;c.current===null&&(w3(n)&&d&&(t=t?d+"-"+t:d),c.current={id:t,group:CP(n)&&r.group||j1()});const h=S.useMemo(()=>({...c.current,forceRender:s}),[a]);return N.jsx(Gp.Provider,{value:h,children:e})},Rx=S.createContext({strict:!1}),B1={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Sf={};for(const e in B1)Sf[e]={isEnabled:t=>B1[e].some(n=>!!t[n])};function nb(e){for(const t in e)Sf[t]={...Sf[t],...e[t]}}function kf({children:e,features:t,strict:n=!1}){const[,r]=S.useState(!Yy(t)),i=S.useRef(void 0);if(!Yy(t)){const{renderer:s,...a}=t;i.current=s,nb(a)}return S.useEffect(()=>{Yy(t)&&t().then(({renderer:s,...a})=>{nb(a),i.current=s,r(!0)})},[]),N.jsx(Rx.Provider,{value:{renderer:i.current,strict:n},children:e})}function Yy(e){return typeof e=="function"}const k3=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function Bg(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||k3.has(e)}let EP=e=>!Bg(e);function PP(e){typeof e=="function"&&(EP=t=>t.startsWith("on")?!Bg(t):e(t))}try{PP(require("@emotion/is-prop-valid").default)}catch{}function C3(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(EP(i)||n===!0&&Bg(i)||!t&&!Bg(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function E3({children:e,isValidProp:t,...n}){t&&PP(t),n={...S.useContext(Qp),...n},n.isStatic=hh(()=>n.isStatic);const r=S.useMemo(()=>n,[JSON.stringify(n.transition),n.transformPagePoint,n.reducedMotion]);return N.jsx(Qp.Provider,{value:r,children:e})}const fv=S.createContext({});function dv(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function Jp(e){return typeof e=="string"||Array.isArray(e)}const Lx=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Mx=["initial",...Lx];function pv(e){return dv(e.animate)||Mx.some(t=>Jp(e[t]))}function TP(e){return!!(pv(e)||e.variants)}function P3(e,t){if(pv(e)){const{initial:n,animate:r}=e;return{initial:n===!1||Jp(n)?n:void 0,animate:Jp(r)?r:void 0}}return e.inherit!==!1?t:{}}function T3(e){const{initial:t,animate:n}=P3(e,S.useContext(fv));return S.useMemo(()=>({initial:t,animate:n}),[V1(t),V1(n)])}function V1(e){return Array.isArray(e)?e.join(" "):e}const Zp={};function _3(e){for(const t in e)Zp[t]=e[t],yx(t)&&(Zp[t].isCSSVariable=!0)}function _P(e,{layout:t,layoutId:n}){return Eu.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!Zp[e]||e==="opacity")}const I3={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},$3=Lf.length;function A3(e,t,n){let r="",i=!0;for(let s=0;s<$3;s++){const a=Lf[s],c=e[a];if(c===void 0)continue;let d=!0;if(typeof c=="number"?d=c===(a.startsWith("scale")?1:0):d=parseFloat(c)===0,!d||n){const h=gP(c,Ix[a]);if(!d){i=!1;const m=I3[a]||a;r+=`${m}(${h}) `}n&&(t[a]=h)}}return r=r.trim(),n?r=n(t,i?"":r):i&&(r="none"),r}function Dx(e,t,n){const{style:r,vars:i,transformOrigin:s}=e;let a=!1,c=!1;for(const d in t){const h=t[d];if(Eu.has(d)){a=!0;continue}else if(yx(d)){i[d]=h;continue}else{const m=gP(h,Ix[d]);d.startsWith("origin")?(c=!0,s[d]=m):r[d]=m}}if(t.transform||(a||n?r.transform=A3(t,e.transform,n):r.transform&&(r.transform="none")),c){const{originX:d="50%",originY:h="50%",originZ:m=0}=s;r.transformOrigin=`${d} ${h} ${m}`}}const Nx=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function IP(e,t,n){for(const r in t)!br(t[r])&&!_P(r,n)&&(e[r]=t[r])}function R3({transformTemplate:e},t){return S.useMemo(()=>{const n=Nx();return Dx(n,t,e),Object.assign({},n.vars,n.style)},[t])}function L3(e,t){const n=e.style||{},r={};return IP(r,n,e),Object.assign(r,R3(e,t)),r}function M3(e,t){const n={},r=L3(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}const D3={offset:"stroke-dashoffset",array:"stroke-dasharray"},N3={offset:"strokeDashoffset",array:"strokeDasharray"};function F3(e,t,n=1,r=0,i=!0){e.pathLength=1;const s=i?D3:N3;e[s.offset]=et.transform(-r);const a=et.transform(t),c=et.transform(n);e[s.array]=`${a} ${c}`}function $P(e,{attrX:t,attrY:n,attrScale:r,pathLength:i,pathSpacing:s=1,pathOffset:a=0,...c},d,h,m){if(Dx(e,c,h),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:g,style:b}=e;g.transform&&(b.transform=g.transform,delete g.transform),(b.transform||g.transformOrigin)&&(b.transformOrigin=g.transformOrigin??"50% 50%",delete g.transformOrigin),b.transform&&(b.transformBox=m?.transformBox??"fill-box",delete g.transformBox),t!==void 0&&(g.x=t),n!==void 0&&(g.y=n),r!==void 0&&(g.scale=r),i!==void 0&&F3(g,i,s,a,!1)}const AP=()=>({...Nx(),attrs:{}}),RP=e=>typeof e=="string"&&e.toLowerCase()==="svg";function O3(e,t,n,r){const i=S.useMemo(()=>{const s=AP();return $P(s,t,RP(r),e.transformTemplate,e.style),{...s.attrs,style:{...s.style}}},[t]);if(e.style){const s={};IP(s,e.style,e),i.style={...s,...i.style}}return i}const z3=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function Fx(e){return typeof e!="string"||e.includes("-")?!1:!!(z3.indexOf(e)>-1||/[A-Z]/u.test(e))}function j3(e,t,n,{latestValues:r},i,s=!1){const c=(Fx(e)?O3:M3)(t,r,i,e),d=C3(t,typeof e=="string",s),h=e!==S.Fragment?{...d,...c,ref:n}:{},{children:m}=t,g=S.useMemo(()=>br(m)?m.get():m,[m]);return S.createElement(e,{...h,children:g})}function U1(e){const t=[{},{}];return e?.values.forEach((n,r)=>{t[0][r]=n.get(),t[1][r]=n.getVelocity()}),t}function Ox(e,t,n,r){if(typeof t=="function"){const[i,s]=U1(r);t=t(n!==void 0?n:e.custom,i,s)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[i,s]=U1(r);t=t(n!==void 0?n:e.custom,i,s)}return t}function Pg(e){return br(e)?e.get():e}function B3({scrapeMotionValuesFromProps:e,createRenderState:t},n,r,i){return{latestValues:V3(n,r,i,e),renderState:t()}}function V3(e,t,n,r){const i={},s=r(e,{});for(const b in s)i[b]=Pg(s[b]);let{initial:a,animate:c}=e;const d=pv(e),h=TP(e);t&&h&&!d&&e.inherit!==!1&&(a===void 0&&(a=t.initial),c===void 0&&(c=t.animate));let m=n?n.initial===!1:!1;m=m||a===!1;const g=m?c:a;if(g&&typeof g!="boolean"&&!dv(g)){const b=Array.isArray(g)?g:[g];for(let x=0;x(t,n)=>{const r=S.useContext(fv),i=S.useContext(cv),s=()=>B3(e,t,r,i);return n?s():hh(s)};function zx(e,t,n){const{style:r}=e,i={};for(const s in r)(br(r[s])||t.style&&br(t.style[s])||_P(s,e)||n?.getValue(s)?.liveStyle!==void 0)&&(i[s]=r[s]);return i}const U3=LP({scrapeMotionValuesFromProps:zx,createRenderState:Nx});function MP(e,t,n){const r=zx(e,t,n);for(const i in e)if(br(e[i])||br(t[i])){const s=Lf.indexOf(i)!==-1?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i;r[s]=e[i]}return r}const K3=LP({scrapeMotionValuesFromProps:MP,createRenderState:AP}),W3=Symbol.for("motionComponentSymbol");function of(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function H3(e,t,n){return S.useCallback(r=>{r&&e.onMount&&e.onMount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):of(n)&&(n.current=r))},[t])}const jx=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),G3="framerAppearId",DP="data-"+jx(G3),NP=S.createContext({});function q3(e,t,n,r,i){const{visualElement:s}=S.useContext(fv),a=S.useContext(Rx),c=S.useContext(cv),d=S.useContext(Qp).reducedMotion,h=S.useRef(null);r=r||a.renderer,!h.current&&r&&(h.current=r(e,{visualState:t,parent:s,props:n,presenceContext:c,blockInitialAnimation:c?c.initial===!1:!1,reducedMotionConfig:d}));const m=h.current,g=S.useContext(NP);m&&!m.projection&&i&&(m.type==="html"||m.type==="svg")&&Y3(h.current,n,i,g);const b=S.useRef(!1);S.useInsertionEffect(()=>{m&&b.current&&m.update(n,c)});const x=n[DP],E=S.useRef(!!x&&!window.MotionHandoffIsComplete?.(x)&&window.MotionHasOptimisedAnimation?.(x));return cx(()=>{m&&(b.current=!0,window.MotionIsMounted=!0,m.updateFeatures(),m.scheduleRenderMicrotask(),E.current&&m.animationState&&m.animationState.animateChanges())}),S.useEffect(()=>{m&&(!E.current&&m.animationState&&m.animationState.animateChanges(),E.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(x)}),E.current=!1))}),m}function Y3(e,t,n,r){const{layoutId:i,layout:s,drag:a,dragConstraints:c,layoutScroll:d,layoutRoot:h,layoutCrossfade:m}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:FP(e.parent)),e.projection.setOptions({layoutId:i,layout:s,alwaysMeasureLayout:!!a||c&&of(c),visualElement:e,animationType:typeof s=="string"?s:"both",initialPromotionConfig:r,crossfade:m,layoutScroll:d,layoutRoot:h})}function FP(e){if(e)return e.options.allowProjection!==!1?e.projection:FP(e.parent)}function Xy(e,{forwardMotionProps:t=!1}={},n,r){n&&nb(n);const i=Fx(e)?K3:U3;function s(c,d){let h;const m={...S.useContext(Qp),...c,layoutId:X3(c)},{isStatic:g}=m,b=T3(c),x=i(c,g);if(!g&&ux){Q3();const E=J3(m);h=E.MeasureLayout,b.visualElement=q3(e,x,m,r,E.ProjectionNode)}return N.jsxs(fv.Provider,{value:b,children:[h&&b.visualElement?N.jsx(h,{visualElement:b.visualElement,...m}):null,j3(e,c,H3(x,b.visualElement,d),x,g,t)]})}s.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const a=S.forwardRef(s);return a[W3]=e,a}function X3({layoutId:e}){const t=S.useContext(Gp).id;return t&&e!==void 0?t+"-"+e:e}function Q3(e,t){S.useContext(Rx).strict}function J3(e){const{drag:t,layout:n}=Sf;if(!t&&!n)return{};const r={...t,...n};return{MeasureLayout:t?.isEnabled(e)||n?.isEnabled(e)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}function OP(e,t){if(typeof Proxy>"u")return Xy;const n=new Map,r=(s,a)=>Xy(s,a,e,t),i=(s,a)=>r(s,a);return new Proxy(i,{get:(s,a)=>a==="create"?r:(n.has(a)||n.set(a,Xy(a,void 0,e,t)),n.get(a))})}const Cf=OP();function zP({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function Z3({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function e4(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function Qy(e){return e===void 0||e===1}function rb({scale:e,scaleX:t,scaleY:n}){return!Qy(e)||!Qy(t)||!Qy(n)}function cu(e){return rb(e)||jP(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function jP(e){return K1(e.x)||K1(e.y)}function K1(e){return e&&e!=="0%"}function Vg(e,t,n){const r=e-n,i=t*r;return n+i}function W1(e,t,n,r,i){return i!==void 0&&(e=Vg(e,i,r)),Vg(e,n,r)+t}function ib(e,t=0,n=1,r,i){e.min=W1(e.min,t,n,r,i),e.max=W1(e.max,t,n,r,i)}function BP(e,{x:t,y:n}){ib(e.x,t.translate,t.scale,t.originPoint),ib(e.y,n.translate,n.scale,n.originPoint)}const H1=.999999999999,G1=1.0000000000001;function t4(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let s,a;for(let c=0;cH1&&(t.x=1),t.yH1&&(t.y=1)}function sf(e,t){e.min=e.min+t,e.max=e.max+t}function q1(e,t,n,r,i=.5){const s=sn(e.min,e.max,i);ib(e,t,n,s,r)}function lf(e,t){q1(e.x,t.x,t.scaleX,t.scale,t.originX),q1(e.y,t.y,t.scaleY,t.scale,t.originY)}function VP(e,t){return zP(e4(e.getBoundingClientRect(),t))}function n4(e,t,n){const r=VP(e,n),{scroll:i}=t;return i&&(sf(r.x,i.offset.x),sf(r.y,i.offset.y)),r}const Y1=()=>({translate:0,scale:1,origin:0,originPoint:0}),af=()=>({x:Y1(),y:Y1()}),X1=()=>({min:0,max:0}),xn=()=>({x:X1(),y:X1()}),ob={current:null},UP={current:!1};function r4(){if(UP.current=!0,!!ux)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>ob.current=e.matches;e.addEventListener("change",t),t()}else ob.current=!1}const i4=new WeakMap;function o4(e,t,n){for(const r in t){const i=t[r],s=n[r];if(br(i))e.addValue(r,i);else if(br(s))e.addValue(r,wf(i,{owner:e}));else if(s!==i)if(e.hasValue(r)){const a=e.getValue(r);a.liveStyle===!0?a.jump(i):a.hasAnimated||a.set(i)}else{const a=e.getStaticValue(r);e.addValue(r,wf(a!==void 0?a:i,{owner:e}))}}for(const r in n)t[r]===void 0&&e.removeValue(r);return t}const Q1=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class s4{scrapeMotionValuesFromProps(t,n,r){return{}}constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,blockInitialAnimation:s,visualState:a},c={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=Tx,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const b=ii.now();this.renderScheduledAtthis.bindToMotionValue(r,n)),UP.current||r4(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:ob.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),Zl(this.notifyUpdate),Zl(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const n=this.features[t];n&&(n.unmount(),n.isMounted=!1)}this.current=null}bindToMotionValue(t,n){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const r=Eu.has(t);r&&this.onBindTransform&&this.onBindTransform();const i=n.on("change",c=>{this.latestValues[t]=c,this.props.onUpdate&&Yt.preRender(this.notifyUpdate),r&&this.projection&&(this.projection.isTransformDirty=!0)}),s=n.on("renderRequest",this.scheduleRender);let a;window.MotionCheckAppearSync&&(a=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{i(),s(),a&&a(),n.owner&&n.stop()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in Sf){const n=Sf[t];if(!n)continue;const{isEnabled:r,Feature:i}=n;if(!this.features[t]&&i&&r(this.props)&&(this.features[t]=new i(this)),this.features[t]){const s=this.features[t];s.isMounted?s.update():(s.mount(),s.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):xn()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){const r=this.values.get(t);n!==r&&(r&&this.removeValue(t),this.bindToMotionValue(t,n),this.values.set(t,n),this.latestValues[t]=n.get())}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=wf(n===null?void 0:n,{owner:this}),this.addValue(t,r)),r}readValue(t,n){let r=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options);return r!=null&&(typeof r=="string"&&(RE(r)||ME(r))?r=parseFloat(r):!d3(r)&&ea.test(n)&&(r=mP(t,n)),this.setBaseTarget(t,br(r)?r.get():r)),br(r)?r.get():r}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){const{initial:n}=this.props;let r;if(typeof n=="string"||typeof n=="object"){const s=Ox(this.props,n,this.presenceContext?.custom);s&&(r=s[t])}if(n&&r!==void 0)return r;const i=this.getBaseTargetFromProps(this.props,t);return i!==void 0&&!br(i)?i:this.initialValues[t]!==void 0&&r===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new mx),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}scheduleRenderMicrotask(){$x.render(this.render)}}class KP extends s4{constructor(){super(...arguments),this.KeyframeResolver=e3}sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;br(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function WP(e,{style:t,vars:n},r,i){const s=e.style;let a;for(a in t)s[a]=t[a];i?.applyProjectionStyles(s,r);for(a in n)s.setProperty(a,n[a])}function l4(e){return window.getComputedStyle(e)}class a4 extends KP{constructor(){super(...arguments),this.type="html",this.renderInstance=WP}readValueFromInstance(t,n){if(Eu.has(n))return this.projection?.isProjecting?X0(n):bD(t,n);{const r=l4(t),i=(yx(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return VP(t,n)}build(t,n,r){Dx(t,n,r.transformTemplate)}scrapeMotionValuesFromProps(t,n,r){return zx(t,n,r)}}const HP=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function u4(e,t,n,r){WP(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(HP.has(i)?i:jx(i),t.attrs[i])}class c4 extends KP{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=xn}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Eu.has(n)){const r=hP(n);return r&&r.default||0}return n=HP.has(n)?n:jx(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,r){return MP(t,n,r)}build(t,n,r){$P(t,n,this.isSVGTag,r.transformTemplate,r.style)}renderInstance(t,n,r,i){u4(t,n,r,i)}mount(t){this.isSVGTag=RP(t.tagName),super.mount(t)}}const f4=(e,t)=>Fx(e)?new c4(t):new a4(t,{allowProjection:e!==S.Fragment});function eh(e,t,n){const r=e.getProps();return Ox(r,t,n!==void 0?n:r.custom,e)}const sb=e=>Array.isArray(e);function d4(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,wf(n))}function p4(e){return sb(e)?e[e.length-1]||0:e}function h4(e,t){const n=eh(e,t);let{transitionEnd:r={},transition:i={},...s}=n||{};s={...s,...r};for(const a in s){const c=p4(s[a]);d4(e,a,c)}}function m4(e){return!!(br(e)&&e.add)}function lb(e,t){const n=e.getValue("willChange");if(m4(n))return n.add(t);if(!n&&ds.WillChange){const r=new ds.WillChange("auto");e.addValue("willChange",r),r.add(t)}}function GP(e){return e.props[DP]}const g4=e=>e!==null;function v4(e,{repeat:t,repeatType:n="loop"},r){const i=e.filter(g4),s=t&&n!=="loop"&&t%2===1?0:i.length-1;return i[s]}const y4={type:"spring",stiffness:500,damping:25,restSpeed:10},b4=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),x4={type:"keyframes",duration:.8},w4={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},S4=(e,{keyframes:t})=>t.length>2?x4:Eu.has(e)?e.startsWith("scale")?b4(t[1]):y4:w4;function k4({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:i,repeat:s,repeatType:a,repeatDelay:c,from:d,elapsed:h,...m}){return!!Object.keys(m).length}const Bx=(e,t,n,r={},i,s)=>a=>{const c=_x(r,e)||{},d=c.delay||r.delay||0;let{elapsed:h=0}=r;h=h-us(d);const m={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...c,delay:-h,onUpdate:b=>{t.set(b),c.onUpdate&&c.onUpdate(b)},onComplete:()=>{a(),c.onComplete&&c.onComplete()},name:e,motionValue:t,element:s?void 0:i};k4(c)||Object.assign(m,S4(e,m)),m.duration&&(m.duration=us(m.duration)),m.repeatDelay&&(m.repeatDelay=us(m.repeatDelay)),m.from!==void 0&&(m.keyframes[0]=m.from);let g=!1;if((m.type===!1||m.duration===0&&!m.repeatDelay)&&(m.duration=0,m.delay===0&&(g=!0)),(ds.instantAnimations||ds.skipAnimations)&&(g=!0,m.duration=0,m.delay=0),m.allowFlatten=!c.type&&!c.ease,g&&!s&&t.get()!==void 0){const b=v4(m.keyframes,c);if(b!==void 0){Yt.update(()=>{m.onUpdate(b),m.onComplete()});return}}return c.isSync?new Px(m):new VD(m)};function C4({protectedKeys:e,needsAnimating:t},n){const r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function qP(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:s=e.getDefaultTransition(),transitionEnd:a,...c}=t;r&&(s=r);const d=[],h=i&&e.animationState&&e.animationState.getState()[i];for(const m in c){const g=e.getValue(m,e.latestValues[m]??null),b=c[m];if(b===void 0||h&&C4(h,m))continue;const x={delay:n,..._x(s||{},m)},E=g.get();if(E!==void 0&&!g.isAnimating&&!Array.isArray(b)&&b===E&&!x.velocity)continue;let P=!1;if(window.MotionHandoffAnimation){const T=GP(e);if(T){const R=window.MotionHandoffAnimation(T,m,Yt);R!==null&&(x.startTime=R,P=!0)}}lb(e,m),g.start(Bx(m,g,b,e.shouldReduceMotion&&fP.has(m)?{type:!1}:x,e,P));const _=g.animation;_&&d.push(_)}return a&&Promise.all(d).then(()=>{Yt.update(()=>{a&&h4(e,a)})}),d}function ab(e,t,n={}){const r=eh(e,t,n.type==="exit"?e.presenceContext?.custom:void 0);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const s=r?()=>Promise.all(qP(e,r,n)):()=>Promise.resolve(),a=e.variantChildren&&e.variantChildren.size?(d=0)=>{const{delayChildren:h=0,staggerChildren:m,staggerDirection:g}=i;return E4(e,t,d,h,m,g,n)}:()=>Promise.resolve(),{when:c}=i;if(c){const[d,h]=c==="beforeChildren"?[s,a]:[a,s];return d().then(()=>h())}else return Promise.all([s(),a(n.delay)])}function E4(e,t,n=0,r=0,i=0,s=1,a){const c=[],d=e.variantChildren.size,h=(d-1)*i,m=typeof r=="function",g=m?b=>r(b,d):s===1?(b=0)=>b*i:(b=0)=>h-b*i;return Array.from(e.variantChildren).sort(P4).forEach((b,x)=>{b.notify("AnimationStart",t),c.push(ab(b,t,{...a,delay:n+(m?0:r)+g(x)}).then(()=>b.notify("AnimationComplete",t)))}),Promise.all(c)}function P4(e,t){return e.sortNodePosition(t)}function T4(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(s=>ab(e,s,n));r=Promise.all(i)}else if(typeof t=="string")r=ab(e,t,n);else{const i=typeof t=="function"?eh(e,t,n.custom):t;r=Promise.all(qP(e,i,n))}return r.then(()=>{e.notify("AnimationComplete",t)})}function YP(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rPromise.all(t.map(({animation:n,options:r})=>T4(e,n,r)))}function R4(e){let t=A4(e),n=J1(),r=!0;const i=d=>(h,m)=>{const g=eh(e,m,d==="exit"?e.presenceContext?.custom:void 0);if(g){const{transition:b,transitionEnd:x,...E}=g;h={...h,...E,...x}}return h};function s(d){t=d(e)}function a(d){const{props:h}=e,m=XP(e.parent)||{},g=[],b=new Set;let x={},E=1/0;for(let _=0;_<$4;_++){const T=I4[_],R=n[T],L=h[T]!==void 0?h[T]:m[T],z=Jp(L),K=T===d?R.isActive:null;K===!1&&(E=_);let M=L===m[T]&&L!==h[T]&&z;if(M&&r&&e.manuallyAnimateOnMount&&(M=!1),R.protectedKeys={...x},!R.isActive&&K===null||!L&&!R.prevProp||dv(L)||typeof L=="boolean")continue;const J=L4(R.prevProp,L);let re=J||T===d&&R.isActive&&!M&&z||_>E&&z,ae=!1;const j=Array.isArray(L)?L:[L];let B=j.reduce(i(T),{});K===!1&&(B={});const{prevResolvedValues:Y={}}=R,te={...Y,...B},G=q=>{re=!0,b.has(q)&&(ae=!0,b.delete(q)),R.needsAnimating[q]=!0;const W=e.getValue(q);W&&(W.liveStyle=!1)};for(const q in te){const W=B[q],se=Y[q];if(x.hasOwnProperty(q))continue;let A=!1;sb(W)&&sb(se)?A=!YP(W,se):A=W!==se,A?W!=null?G(q):b.add(q):W!==void 0&&b.has(q)?G(q):R.protectedKeys[q]=!0}R.prevProp=L,R.prevResolvedValues=B,R.isActive&&(x={...x,...B}),r&&e.blockInitialAnimation&&(re=!1),re&&(!(M&&J)||ae)&&g.push(...j.map(q=>({animation:q,options:{type:T}})))}if(b.size){const _={};if(typeof h.initial!="boolean"){const T=eh(e,Array.isArray(h.initial)?h.initial[0]:h.initial);T&&T.transition&&(_.transition=T.transition)}b.forEach(T=>{const R=e.getBaseTarget(T),L=e.getValue(T);L&&(L.liveStyle=!0),_[T]=R??null}),g.push({animation:_})}let P=!!g.length;return r&&(h.initial===!1||h.initial===h.animate)&&!e.manuallyAnimateOnMount&&(P=!1),r=!1,P?t(g):Promise.resolve()}function c(d,h){if(n[d].isActive===h)return Promise.resolve();e.variantChildren?.forEach(g=>g.animationState?.setActive(d,h)),n[d].isActive=h;const m=a(d);for(const g in n)n[g].protectedKeys={};return m}return{animateChanges:a,setActive:c,setAnimateFunction:s,getState:()=>n,reset:()=>{n=J1(),r=!0}}}function L4(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!YP(t,e):!1}function ru(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function J1(){return{animate:ru(!0),whileInView:ru(),whileHover:ru(),whileTap:ru(),whileDrag:ru(),whileFocus:ru(),exit:ru()}}class ta{constructor(t){this.isMounted=!1,this.node=t}update(){}}class M4 extends ta{constructor(t){super(t),t.animationState||(t.animationState=R4(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();dv(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let D4=0;class N4 extends ta{constructor(){super(...arguments),this.id=D4++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:r}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===r)return;const i=this.node.animationState.setActive("exit",!t);n&&!t&&i.then(()=>{n(this.id)})}mount(){const{register:t,onExitComplete:n}=this.node.presenceContext||{};n&&n(this.id),t&&(this.unmount=t(this.id))}unmount(){}}const F4={animation:{Feature:M4},exit:{Feature:N4}};function th(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}function yh(e){return{point:{x:e.pageX,y:e.pageY}}}const O4=e=>t=>Ax(t)&&e(t,yh(t));function Dp(e,t,n,r){return th(e,t,O4(n),r)}const QP=1e-4,z4=1-QP,j4=1+QP,JP=.01,B4=0-JP,V4=0+JP;function Mr(e){return e.max-e.min}function U4(e,t,n){return Math.abs(e-t)<=n}function Z1(e,t,n,r=.5){e.origin=r,e.originPoint=sn(t.min,t.max,e.origin),e.scale=Mr(n)/Mr(t),e.translate=sn(n.min,n.max,e.origin)-e.originPoint,(e.scale>=z4&&e.scale<=j4||isNaN(e.scale))&&(e.scale=1),(e.translate>=B4&&e.translate<=V4||isNaN(e.translate))&&(e.translate=0)}function Np(e,t,n,r){Z1(e.x,t.x,n.x,r?r.originX:void 0),Z1(e.y,t.y,n.y,r?r.originY:void 0)}function eS(e,t,n){e.min=n.min+t.min,e.max=e.min+Mr(t)}function K4(e,t,n){eS(e.x,t.x,n.x),eS(e.y,t.y,n.y)}function tS(e,t,n){e.min=t.min-n.min,e.max=e.min+Mr(t)}function Fp(e,t,n){tS(e.x,t.x,n.x),tS(e.y,t.y,n.y)}function qi(e){return[e("x"),e("y")]}const ZP=({current:e})=>e?e.ownerDocument.defaultView:null,nS=(e,t)=>Math.abs(e-t);function W4(e,t){const n=nS(e.x,t.x),r=nS(e.y,t.y);return Math.sqrt(n**2+r**2)}class eT{constructor(t,n,{transformPagePoint:r,contextWindow:i=window,dragSnapToOrigin:s=!1,distanceThreshold:a=3}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const b=Zy(this.lastMoveEventInfo,this.history),x=this.startEvent!==null,E=W4(b.offset,{x:0,y:0})>=this.distanceThreshold;if(!x&&!E)return;const{point:P}=b,{timestamp:_}=sr;this.history.push({...P,timestamp:_});const{onStart:T,onMove:R}=this.handlers;x||(T&&T(this.lastMoveEvent,b),this.startEvent=this.lastMoveEvent),R&&R(this.lastMoveEvent,b)},this.handlePointerMove=(b,x)=>{this.lastMoveEvent=b,this.lastMoveEventInfo=Jy(x,this.transformPagePoint),Yt.update(this.updatePoint,!0)},this.handlePointerUp=(b,x)=>{this.end();const{onEnd:E,onSessionEnd:P,resumeAnimation:_}=this.handlers;if(this.dragSnapToOrigin&&_&&_(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const T=Zy(b.type==="pointercancel"?this.lastMoveEventInfo:Jy(x,this.transformPagePoint),this.history);this.startEvent&&E&&E(b,T),P&&P(b,T)},!Ax(t))return;this.dragSnapToOrigin=s,this.handlers=n,this.transformPagePoint=r,this.distanceThreshold=a,this.contextWindow=i||window;const c=yh(t),d=Jy(c,this.transformPagePoint),{point:h}=d,{timestamp:m}=sr;this.history=[{...h,timestamp:m}];const{onSessionStart:g}=n;g&&g(t,Zy(d,this.history)),this.removeListeners=mh(Dp(this.contextWindow,"pointermove",this.handlePointerMove),Dp(this.contextWindow,"pointerup",this.handlePointerUp),Dp(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Zl(this.updatePoint)}}function Jy(e,t){return t?{point:t(e.point)}:e}function rS(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Zy({point:e},t){return{point:e,delta:rS(e,tT(t)),offset:rS(e,H4(t)),velocity:G4(t,.1)}}function H4(e){return e[0]}function tT(e){return e[e.length-1]}function G4(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=tT(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>us(t)));)n--;if(!r)return{x:0,y:0};const s=cs(i.timestamp-r.timestamp);if(s===0)return{x:0,y:0};const a={x:(i.x-r.x)/s,y:(i.y-r.y)/s};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function q4(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?sn(n,e,r.max):Math.min(e,n)),e}function iS(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function Y4(e,{top:t,left:n,bottom:r,right:i}){return{x:iS(e.x,n,i),y:iS(e.y,t,r)}}function oS(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=qp(t.min,t.max-r,e.min):r>i&&(n=qp(e.min,e.max-i,t.min)),Zs(0,1,n)}function J4(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const ub=.35;function Z4(e=ub){return e===!1?e=0:e===!0&&(e=ub),{x:sS(e,"left","right"),y:sS(e,"top","bottom")}}function sS(e,t,n){return{min:lS(e,t),max:lS(e,n)}}function lS(e,t){return typeof e=="number"?e:e[t]||0}const eN=new WeakMap;class tN{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=xn(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:n=!1,distanceThreshold:r}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const s=g=>{const{dragSnapToOrigin:b}=this.getProps();b?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(yh(g).point)},a=(g,b)=>{const{drag:x,dragPropagation:E,onDragStart:P}=this.getProps();if(x&&!E&&(this.openDragLock&&this.openDragLock(),this.openDragLock=i3(x),!this.openDragLock))return;this.latestPointerEvent=g,this.latestPanInfo=b,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),qi(T=>{let R=this.getAxisMotionValue(T).get()||0;if(fs.test(R)){const{projection:L}=this.visualElement;if(L&&L.layout){const z=L.layout.layoutBox[T];z&&(R=Mr(z)*(parseFloat(R)/100))}}this.originPoint[T]=R}),P&&Yt.postRender(()=>P(g,b)),lb(this.visualElement,"transform");const{animationState:_}=this.visualElement;_&&_.setActive("whileDrag",!0)},c=(g,b)=>{this.latestPointerEvent=g,this.latestPanInfo=b;const{dragPropagation:x,dragDirectionLock:E,onDirectionLock:P,onDrag:_}=this.getProps();if(!x&&!this.openDragLock)return;const{offset:T}=b;if(E&&this.currentDirection===null){this.currentDirection=nN(T),this.currentDirection!==null&&P&&P(this.currentDirection);return}this.updateAxis("x",b.point,T),this.updateAxis("y",b.point,T),this.visualElement.render(),_&&_(g,b)},d=(g,b)=>{this.latestPointerEvent=g,this.latestPanInfo=b,this.stop(g,b),this.latestPointerEvent=null,this.latestPanInfo=null},h=()=>qi(g=>this.getAnimationState(g)==="paused"&&this.getAxisMotionValue(g).animation?.play()),{dragSnapToOrigin:m}=this.getProps();this.panSession=new eT(t,{onSessionStart:s,onStart:a,onMove:c,onSessionEnd:d,resumeAnimation:h},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:m,distanceThreshold:r,contextWindow:ZP(this.visualElement)})}stop(t,n){const r=t||this.latestPointerEvent,i=n||this.latestPanInfo,s=this.isDragging;if(this.cancel(),!s||!i||!r)return;const{velocity:a}=i;this.startAnimation(a);const{onDragEnd:c}=this.getProps();c&&Yt.postRender(()=>c(r,i))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!ag(t,i,this.currentDirection))return;const s=this.getAxisMotionValue(t);let a=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(a=q4(a,this.constraints[t],this.elastic[t])),s.set(a)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,i=this.constraints;t&&of(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=Y4(r.layoutBox,t):this.constraints=!1,this.elastic=Z4(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&qi(s=>{this.constraints!==!1&&this.getAxisMotionValue(s)&&(this.constraints[s]=J4(r.layoutBox[s],this.constraints[s]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!of(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const s=n4(r,i.root,this.visualElement.getTransformPagePoint());let a=X4(i.layout.layoutBox,s);if(n){const c=n(Z3(a));this.hasMutatedConstraints=!!c,c&&(a=zP(c))}return a}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:s,dragSnapToOrigin:a,onDragTransitionEnd:c}=this.getProps(),d=this.constraints||{},h=qi(m=>{if(!ag(m,n,this.currentDirection))return;let g=d&&d[m]||{};a&&(g={min:0,max:0});const b=i?200:1e6,x=i?40:1e7,E={type:"inertia",velocity:r?t[m]:0,bounceStiffness:b,bounceDamping:x,timeConstant:750,restDelta:1,restSpeed:10,...s,...g};return this.startAxisValueAnimation(m,E)});return Promise.all(h).then(c)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return lb(this.visualElement,t),r.start(Bx(t,r,0,n,this.visualElement,!1))}stopAnimation(){qi(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){qi(t=>this.getAxisMotionValue(t).animation?.pause())}getAnimationState(t){return this.getAxisMotionValue(t).animation?.state}getAxisMotionValue(t){const n=`_drag${t.toUpperCase()}`,r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){qi(n=>{const{drag:r}=this.getProps();if(!ag(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,s=this.getAxisMotionValue(n);if(i&&i.layout){const{min:a,max:c}=i.layout.layoutBox[n];s.set(t[n]-sn(a,c,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!of(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};qi(a=>{const c=this.getAxisMotionValue(a);if(c&&this.constraints!==!1){const d=c.get();i[a]=Q4({min:d,max:d},this.constraints[a])}});const{transformTemplate:s}=this.visualElement.getProps();this.visualElement.current.style.transform=s?s({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),qi(a=>{if(!ag(a,t,null))return;const c=this.getAxisMotionValue(a),{min:d,max:h}=this.constraints[a];c.set(sn(d,h,i[a]))})}addListeners(){if(!this.visualElement.current)return;eN.set(this.visualElement,this);const t=this.visualElement.current,n=Dp(t,"pointerdown",d=>{const{drag:h,dragListener:m=!0}=this.getProps();h&&m&&this.start(d)}),r=()=>{const{dragConstraints:d}=this.getProps();of(d)&&d.current&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,s=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),Yt.read(r);const a=th(window,"resize",()=>this.scalePositionWithinConstraints()),c=i.addEventListener("didUpdate",({delta:d,hasLayoutChanged:h})=>{this.isDragging&&h&&(qi(m=>{const g=this.getAxisMotionValue(m);g&&(this.originPoint[m]+=d[m].translate,g.set(g.get()+d[m].translate))}),this.visualElement.render())});return()=>{a(),n(),s(),c&&c()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:s=!1,dragElastic:a=ub,dragMomentum:c=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:s,dragElastic:a,dragMomentum:c}}}function ag(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function nN(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class rN extends ta{constructor(t){super(t),this.removeGroupControls=Zi,this.removeListeners=Zi,this.controls=new tN(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Zi}unmount(){this.removeGroupControls(),this.removeListeners()}}const aS=e=>(t,n)=>{e&&Yt.postRender(()=>e(t,n))};class iN extends ta{constructor(){super(...arguments),this.removePointerDownListener=Zi}onPointerDown(t){this.session=new eT(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:ZP(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:aS(t),onStart:aS(n),onMove:r,onEnd:(s,a)=>{delete this.session,i&&Yt.postRender(()=>i(s,a))}}}mount(){this.removePointerDownListener=Dp(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const Tg={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function uS(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const dp={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(et.test(e))e=parseFloat(e);else return e;const n=uS(e,t.target.x),r=uS(e,t.target.y);return`${n}% ${r}%`}},oN={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=ea.parse(e);if(i.length>5)return r;const s=ea.createTransformer(e),a=typeof i[0]!="number"?1:0,c=n.x.scale*t.x,d=n.y.scale*t.y;i[0+a]/=c,i[1+a]/=d;const h=sn(c,d,.5);return typeof i[2+a]=="number"&&(i[2+a]/=h),typeof i[3+a]=="number"&&(i[3+a]/=h),s(i)}};let cS=!1;class sN extends S.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:s}=t;_3(lN),s&&(n.group&&n.group.add(s),r&&r.register&&i&&r.register(s),cS&&s.root.didUpdate(),s.addEventListener("animationComplete",()=>{this.safeToRemove()}),s.setOptions({...s.options,onExitComplete:()=>this.safeToRemove()})),Tg.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:s}=this.props,{projection:a}=r;return a&&(a.isPresent=s,cS=!0,i||t.layoutDependency!==n||n===void 0||t.isPresent!==s?a.willUpdate():this.safeToRemove(),t.isPresent!==s&&(s?a.promote():a.relegate()||Yt.postRender(()=>{const c=a.getStack();(!c||!c.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),$x.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function nT(e){const[t,n]=kP(),r=S.useContext(Gp);return N.jsx(sN,{...e,layoutGroup:r,switchLayoutGroup:S.useContext(NP),isPresent:t,safeToRemove:n})}const lN={borderRadius:{...dp,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:dp,borderTopRightRadius:dp,borderBottomLeftRadius:dp,borderBottomRightRadius:dp,boxShadow:oN};function aN(e,t,n){const r=br(e)?e:wf(e);return r.start(Bx("",r,t,n)),r.animation}const uN=(e,t)=>e.depth-t.depth;class cN{constructor(){this.children=[],this.isDirty=!1}add(t){fx(this.children,t),this.isDirty=!0}remove(t){dx(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(uN),this.isDirty=!1,this.children.forEach(t)}}function fN(e,t){const n=ii.now(),r=({timestamp:i})=>{const s=i-n;s>=t&&(Zl(r),e(s-t))};return Yt.setup(r,!0),()=>Zl(r)}const rT=["TopLeft","TopRight","BottomLeft","BottomRight"],dN=rT.length,fS=e=>typeof e=="string"?parseFloat(e):e,dS=e=>typeof e=="number"||et.test(e);function pN(e,t,n,r,i,s){i?(e.opacity=sn(0,n.opacity??1,hN(r)),e.opacityExit=sn(t.opacity??1,0,mN(r))):s&&(e.opacity=sn(t.opacity??1,n.opacity??1,r));for(let a=0;art?1:n(qp(e,t,r))}function hS(e,t){e.min=t.min,e.max=t.max}function Hi(e,t){hS(e.x,t.x),hS(e.y,t.y)}function mS(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function gS(e,t,n,r,i){return e-=t,e=Vg(e,1/n,r),i!==void 0&&(e=Vg(e,1/i,r)),e}function gN(e,t=0,n=1,r=.5,i,s=e,a=e){if(fs.test(t)&&(t=parseFloat(t),t=sn(a.min,a.max,t/100)-a.min),typeof t!="number")return;let c=sn(s.min,s.max,r);e===s&&(c-=t),e.min=gS(e.min,t,n,c,i),e.max=gS(e.max,t,n,c,i)}function vS(e,t,[n,r,i],s,a){gN(e,t[n],t[r],t[i],t.scale,s,a)}const vN=["x","scaleX","originX"],yN=["y","scaleY","originY"];function yS(e,t,n,r){vS(e.x,t,vN,n?n.x:void 0,r?r.x:void 0),vS(e.y,t,yN,n?n.y:void 0,r?r.y:void 0)}function bS(e){return e.translate===0&&e.scale===1}function oT(e){return bS(e.x)&&bS(e.y)}function xS(e,t){return e.min===t.min&&e.max===t.max}function bN(e,t){return xS(e.x,t.x)&&xS(e.y,t.y)}function wS(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function sT(e,t){return wS(e.x,t.x)&&wS(e.y,t.y)}function SS(e){return Mr(e.x)/Mr(e.y)}function kS(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class xN{constructor(){this.members=[]}add(t){fx(this.members,t),t.scheduleRender()}remove(t){if(dx(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const s=this.members[i];if(s.isPresent!==!1){r=s;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function wN(e,t,n){let r="";const i=e.x.translate/t.x,s=e.y.translate/t.y,a=n?.z||0;if((i||s||a)&&(r=`translate3d(${i}px, ${s}px, ${a}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:h,rotate:m,rotateX:g,rotateY:b,skewX:x,skewY:E}=n;h&&(r=`perspective(${h}px) ${r}`),m&&(r+=`rotate(${m}deg) `),g&&(r+=`rotateX(${g}deg) `),b&&(r+=`rotateY(${b}deg) `),x&&(r+=`skewX(${x}deg) `),E&&(r+=`skewY(${E}deg) `)}const c=e.x.scale*t.x,d=e.y.scale*t.y;return(c!==1||d!==1)&&(r+=`scale(${c}, ${d})`),r||"none"}const e0=["","X","Y","Z"],SN=1e3;let kN=0;function t0(e,t,n,r){const{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function lT(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=GP(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:i,layoutId:s}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",Yt,!(i||s))}const{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&lT(r)}function aT({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(a={},c=t?.()){this.id=kN++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(PN),this.nodes.forEach($N),this.nodes.forEach(AN),this.nodes.forEach(TN)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=a,this.root=c?c.root||c:this,this.path=c?[...c.path,c]:[],this.parent=c,this.depth=c?c.depth+1:0;for(let d=0;dthis.root.updateBlockedByResize=!1;Yt.read(()=>{g=window.innerWidth}),e(a,()=>{const x=window.innerWidth;x!==g&&(g=x,this.root.updateBlockedByResize=!0,m&&m(),m=fN(b,250),Tg.hasAnimatedSinceResize&&(Tg.hasAnimatedSinceResize=!1,this.nodes.forEach(PS)))})}c&&this.root.registerSharedNode(c,this),this.options.animate!==!1&&h&&(c||d)&&this.addEventListener("didUpdate",({delta:m,hasLayoutChanged:g,hasRelativeLayoutChanged:b,layout:x})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const E=this.options.transition||h.getDefaultTransition()||NN,{onLayoutAnimationStart:P,onLayoutAnimationComplete:_}=h.getProps(),T=!this.targetLayout||!sT(this.targetLayout,x),R=!g&&b;if(this.options.layoutRoot||this.resumeFrom||R||g&&(T||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const L={..._x(E,"layout"),onPlay:P,onComplete:_};(h.shouldReduceMotion||this.options.layoutRoot)&&(L.delay=0,L.type=!1),this.startAnimation(L),this.setAnimationOrigin(m,R)}else g||PS(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=x})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const a=this.getStack();a&&a.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Zl(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(RN),this.animationId++)}getTransformTemplate(){const{visualElement:a}=this.options;return a&&a.getProps().transformTemplate}willUpdate(a=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&lT(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let m=0;m{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!Mr(this.snapshot.measuredBox.x)&&!Mr(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let d=0;d{const K=z/1e3;TS(g.x,a.x,K),TS(g.y,a.y,K),this.setTargetDelta(g),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Fp(b,this.layout.layoutBox,this.relativeParent.layout.layoutBox),MN(this.relativeTarget,this.relativeTargetOrigin,b,K),L&&bN(this.relativeTarget,L)&&(this.isProjectionDirty=!1),L||(L=xn()),Hi(L,this.relativeTarget)),P&&(this.animationValues=m,pN(m,h,this.latestValues,K,R,T)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=K},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(a){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(Zl(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Yt.update(()=>{Tg.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=wf(0)),this.currentAnimation=aN(this.motionValue,[0,1e3],{...a,velocity:0,isSync:!0,onUpdate:c=>{this.mixTargetDelta(c),a.onUpdate&&a.onUpdate(c)},onStop:()=>{},onComplete:()=>{a.onComplete&&a.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const a=this.getStack();a&&a.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(SN),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const a=this.getLead();let{targetWithTransforms:c,target:d,layout:h,latestValues:m}=a;if(!(!c||!d||!h)){if(this!==a&&this.layout&&h&&uT(this.options.animationType,this.layout.layoutBox,h.layoutBox)){d=this.target||xn();const g=Mr(this.layout.layoutBox.x);d.x.min=a.target.x.min,d.x.max=d.x.min+g;const b=Mr(this.layout.layoutBox.y);d.y.min=a.target.y.min,d.y.max=d.y.min+b}Hi(c,d),lf(c,m),Np(this.projectionDeltaWithTransform,this.layoutCorrected,c,m)}}registerSharedNode(a,c){this.sharedNodes.has(a)||this.sharedNodes.set(a,new xN),this.sharedNodes.get(a).add(c);const h=c.options.initialPromotionConfig;c.promote({transition:h?h.transition:void 0,preserveFollowOpacity:h&&h.shouldPreserveFollowOpacity?h.shouldPreserveFollowOpacity(c):void 0})}isLead(){const a=this.getStack();return a?a.lead===this:!0}getLead(){const{layoutId:a}=this.options;return a?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:a}=this.options;return a?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:a}=this.options;if(a)return this.root.sharedNodes.get(a)}promote({needsReset:a,transition:c,preserveFollowOpacity:d}={}){const h=this.getStack();h&&h.promote(this,d),a&&(this.projectionDelta=void 0,this.needsReset=!0),c&&this.setOptions({transition:c})}relegate(){const a=this.getStack();return a?a.relegate(this):!1}resetSkewAndRotation(){const{visualElement:a}=this.options;if(!a)return;let c=!1;const{latestValues:d}=a;if((d.z||d.rotate||d.rotateX||d.rotateY||d.rotateZ||d.skewX||d.skewY)&&(c=!0),!c)return;const h={};d.z&&t0("z",a,h,this.animationValues);for(let m=0;ma.currentAnimation?.stop()),this.root.nodes.forEach(CS),this.root.sharedNodes.clear()}}}function CN(e){e.updateLayout()}function EN(e){const t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){const{layoutBox:n,measuredBox:r}=e.layout,{animationType:i}=e.options,s=t.source!==e.layout.source;i==="size"?qi(m=>{const g=s?t.measuredBox[m]:t.layoutBox[m],b=Mr(g);g.min=n[m].min,g.max=g.min+b}):uT(i,t.layoutBox,n)&&qi(m=>{const g=s?t.measuredBox[m]:t.layoutBox[m],b=Mr(n[m]);g.max=g.min+b,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[m].max=e.relativeTarget[m].min+b)});const a=af();Np(a,n,t.layoutBox);const c=af();s?Np(c,e.applyTransform(r,!0),t.measuredBox):Np(c,n,t.layoutBox);const d=!oT(a);let h=!1;if(!e.resumeFrom){const m=e.getClosestProjectingParent();if(m&&!m.resumeFrom){const{snapshot:g,layout:b}=m;if(g&&b){const x=xn();Fp(x,t.layoutBox,g.layoutBox);const E=xn();Fp(E,n,b.layoutBox),sT(x,E)||(h=!0),m.options.layoutRoot&&(e.relativeTarget=E,e.relativeTargetOrigin=x,e.relativeParent=m)}}}e.notifyListeners("didUpdate",{layout:n,snapshot:t,delta:c,layoutDelta:a,hasLayoutChanged:d,hasRelativeLayoutChanged:h})}else if(e.isLead()){const{onExitComplete:n}=e.options;n&&n()}e.options.transition=void 0}function PN(e){e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function TN(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function _N(e){e.clearSnapshot()}function CS(e){e.clearMeasurements()}function ES(e){e.isLayoutDirty=!1}function IN(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function PS(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function $N(e){e.resolveTargetDelta()}function AN(e){e.calcProjection()}function RN(e){e.resetSkewAndRotation()}function LN(e){e.removeLeadSnapshot()}function TS(e,t,n){e.translate=sn(t.translate,0,n),e.scale=sn(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function _S(e,t,n,r){e.min=sn(t.min,n.min,r),e.max=sn(t.max,n.max,r)}function MN(e,t,n,r){_S(e.x,t.x,n.x,r),_S(e.y,t.y,n.y,r)}function DN(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const NN={duration:.45,ease:[.4,0,.1,1]},IS=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),$S=IS("applewebkit/")&&!IS("chrome/")?Math.round:Zi;function AS(e){e.min=$S(e.min),e.max=$S(e.max)}function FN(e){AS(e.x),AS(e.y)}function uT(e,t,n){return e==="position"||e==="preserve-aspect"&&!U4(SS(t),SS(n),.2)}function ON(e){return e!==e.root&&e.scroll?.wasRoot}const zN=aT({attachResizeListener:(e,t)=>th(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),n0={current:void 0},cT=aT({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!n0.current){const e=new zN({});e.mount(window),e.setOptions({layoutScroll:!0}),n0.current=e}return n0.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),jN={pan:{Feature:iN},drag:{Feature:rN,ProjectionNode:cT,MeasureLayout:nT}};function RS(e,t,n){const{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive("whileHover",n==="Start");const i="onHover"+n,s=r[i];s&&Yt.postRender(()=>s(t,yh(t)))}class BN extends ta{mount(){const{current:t}=this.node;t&&(this.unmount=o3(t,(n,r)=>(RS(this.node,r,"Start"),i=>RS(this.node,i,"End"))))}unmount(){}}class VN extends ta{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=mh(th(this.node.current,"focus",()=>this.onFocus()),th(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function LS(e,t,n){const{props:r}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&r.whileTap&&e.animationState.setActive("whileTap",n==="Start");const i="onTap"+(n==="End"?"":n),s=r[i];s&&Yt.postRender(()=>s(t,yh(t)))}class UN extends ta{mount(){const{current:t}=this.node;t&&(this.unmount=u3(t,(n,r)=>(LS(this.node,r,"Start"),(i,{success:s})=>LS(this.node,i,s?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const cb=new WeakMap,r0=new WeakMap,KN=e=>{const t=cb.get(e.target);t&&t(e)},WN=e=>{e.forEach(KN)};function HN({root:e,...t}){const n=e||document;r0.has(n)||r0.set(n,{});const r=r0.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(WN,{root:e,...t})),r[i]}function GN(e,t,n){const r=HN(t);return cb.set(e,n),r.observe(e),()=>{cb.delete(e),r.unobserve(e)}}const qN={some:0,all:1};class YN extends ta{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:s}=t,a={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:qN[i]},c=d=>{const{isIntersecting:h}=d;if(this.isInView===h||(this.isInView=h,s&&!h&&this.hasEnteredView))return;h&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",h);const{onViewportEnter:m,onViewportLeave:g}=this.node.getProps(),b=h?m:g;b&&b(d)};return GN(this.node.current,a,c)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(XN(t,n))&&this.startObserver()}unmount(){}}function XN({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const QN={inView:{Feature:YN},tap:{Feature:UN},focus:{Feature:VN},hover:{Feature:BN}},JN={layout:{ProjectionNode:cT,MeasureLayout:nT}},ZN={...F4,...QN,...jN,...JN},ff=OP(ZN,f4);class eF extends yP{constructor(){super(...arguments),this.isEnabled=!1}add(t){(Eu.has(t)||t3.has(t))&&(this.isEnabled=!0,this.update())}update(){this.set(this.isEnabled?"transform":"auto")}}function tF(){return hh(()=>new eF("auto"))}const as={top:"top",bottom:"top",left:"left",right:"left"},Ug={top:"bottom",bottom:"top",left:"right",right:"left"},nF={top:"left",left:"top"},fb={top:"height",left:"width"},fT={width:"totalWidth",height:"totalHeight"},ug={};let Gn=typeof document<"u"?window.visualViewport:null;function MS(e){let t=0,n=0,r=0,i=0,s=0,a=0,c={};var d;let h=((d=Gn?.scale)!==null&&d!==void 0?d:1)>1;if(e.tagName==="BODY"){let E=document.documentElement;r=E.clientWidth,i=E.clientHeight;var m;t=(m=Gn?.width)!==null&&m!==void 0?m:r;var g;n=(g=Gn?.height)!==null&&g!==void 0?g:i,c.top=E.scrollTop||e.scrollTop,c.left=E.scrollLeft||e.scrollLeft,Gn&&(s=Gn.offsetTop,a=Gn.offsetLeft)}else({width:t,height:n,top:s,left:a}=df(e)),c.top=e.scrollTop,c.left=e.scrollLeft,r=t,i=n;if(yE()&&(e.tagName==="BODY"||e.tagName==="HTML")&&h){c.top=0,c.left=0;var b;s=(b=Gn?.pageTop)!==null&&b!==void 0?b:0;var x;a=(x=Gn?.pageLeft)!==null&&x!==void 0?x:0}return{width:t,height:n,totalWidth:r,totalHeight:i,scroll:c,top:s,left:a}}function rF(e){return{top:e.scrollTop,left:e.scrollLeft,width:e.scrollWidth,height:e.scrollHeight}}function DS(e,t,n,r,i,s,a){var c;let d=(c=i.scroll[e])!==null&&c!==void 0?c:0,h=r[fb[e]],m=r.scroll[as[e]]+s,g=h+r.scroll[as[e]]-s,b=t-d+a[e]-r[as[e]],x=t-d+n+a[e]-r[as[e]];return bg?Math.max(g-x,m-b):0}function iF(e){let t=window.getComputedStyle(e);return{top:parseInt(t.marginTop,10)||0,bottom:parseInt(t.marginBottom,10)||0,left:parseInt(t.marginLeft,10)||0,right:parseInt(t.marginRight,10)||0}}function NS(e){if(ug[e])return ug[e];let[t,n]=e.split(" "),r=as[t]||"right",i=nF[r];as[n]||(n="center");let s=fb[r],a=fb[i];return ug[e]={placement:t,crossPlacement:n,axis:r,crossAxis:i,size:s,crossSize:a},ug[e]}function i0(e,t,n,r,i,s,a,c,d,h){let{placement:m,crossPlacement:g,axis:b,crossAxis:x,size:E,crossSize:P}=r,_={};var T;_[x]=(T=e[x])!==null&&T!==void 0?T:0;var R,L,z,K;g==="center"?_[x]+=(((R=e[P])!==null&&R!==void 0?R:0)-((L=n[P])!==null&&L!==void 0?L:0))/2:g!==x&&(_[x]+=((z=e[P])!==null&&z!==void 0?z:0)-((K=n[P])!==null&&K!==void 0?K:0)),_[x]+=s;const M=e[x]-n[P]+d+h,J=e[x]+e[P]-d-h;if(_[x]=Ng(_[x],M,J),m===b){const re=c?a[E]:t[fT[E]];_[Ug[b]]=Math.floor(re-e[b]+i)}else _[b]=Math.floor(e[b]+e[E]+i);return _}function oF(e,t,n,r,i,s,a,c){const d=r?n.height:t[fT.height];var h;let m=e.top!=null?n.top+e.top:n.top+(d-((h=e.bottom)!==null&&h!==void 0?h:0)-a);var g,b,x,E,P,_;let T=c!=="top"?Math.max(0,t.height+t.top+((g=t.scroll.top)!==null&&g!==void 0?g:0)-m-(((b=i.top)!==null&&b!==void 0?b:0)+((x=i.bottom)!==null&&x!==void 0?x:0)+s)):Math.max(0,m+a-(t.top+((E=t.scroll.top)!==null&&E!==void 0?E:0))-(((P=i.top)!==null&&P!==void 0?P:0)+((_=i.bottom)!==null&&_!==void 0?_:0)+s));return Math.min(t.height-s*2,T)}function FS(e,t,n,r,i,s){let{placement:a,axis:c,size:d}=s;var h,m;if(a===c)return Math.max(0,n[c]-e[c]-((h=e.scroll[c])!==null&&h!==void 0?h:0)+t[c]-((m=r[c])!==null&&m!==void 0?m:0)-r[Ug[c]]-i);var g;return Math.max(0,e[d]+e[c]+e.scroll[c]-t[c]-n[c]-n[d]-((g=r[c])!==null&&g!==void 0?g:0)-r[Ug[c]]-i)}function sF(e,t,n,r,i,s,a,c,d,h,m,g,b,x,E,P){let _=NS(e),{size:T,crossAxis:R,crossSize:L,placement:z,crossPlacement:K}=_,M=i0(t,c,n,_,m,g,h,b,E,P),J=m,re=FS(c,h,t,i,s+m,_);if(a&&r[T]>re){let me=NS(`${Ug[z]} ${K}`),Ee=i0(t,c,n,me,m,g,h,b,E,P);FS(c,h,t,i,s+m,me)>re&&(_=me,M=Ee,J=m)}let ae="bottom";_.axis==="top"?_.placement==="top"?ae="top":_.placement==="bottom"&&(ae="bottom"):_.crossAxis==="top"&&(_.crossPlacement==="top"?ae="bottom":_.crossPlacement==="bottom"&&(ae="top"));let j=DS(R,M[R],n[L],c,d,s,h);M[R]+=j;let B=oF(M,c,h,b,i,s,n.height,ae);x&&x{if(!n||r===null)return;let i=s=>{let a=s.target;if(!t.current||a instanceof Node&&!a.contains(t.current)||s.target instanceof HTMLInputElement||s.target instanceof HTMLTextAreaElement)return;let c=r||uF.get(t.current);c&&c()};return window.addEventListener("scroll",i,!0),()=>{window.removeEventListener("scroll",i,!0)}},[n,r,t])}let bn=typeof document<"u"?window.visualViewport:null;function fF(e){let{direction:t}=ph(),{arrowSize:n=0,targetRef:r,overlayRef:i,scrollRef:s=i,placement:a="bottom",containerPadding:c=12,shouldFlip:d=!0,boundaryElement:h=typeof document<"u"?document.body:null,offset:m=0,crossOffset:g=0,shouldUpdatePosition:b=!0,isOpen:x=!0,onClose:E,maxHeight:P,arrowBoundaryOffset:_=0}=e,[T,R]=S.useState(null),L=[b,a,i.current,r.current,s.current,c,d,h,m,g,x,t,P,_,n],z=S.useRef(bn?.scale);S.useEffect(()=>{x&&(z.current=bn?.scale)},[x]);let K=S.useCallback(()=>{if(b===!1||!x||!i.current||!r.current||!h||bn?.scale!==z.current)return;let j=null;if(s.current&&s.current.contains(document.activeElement)){var B;let W=(B=document.activeElement)===null||B===void 0?void 0:B.getBoundingClientRect(),se=s.current.getBoundingClientRect();var Y;if(j={type:"top",offset:((Y=W?.top)!==null&&Y!==void 0?Y:0)-se.top},j.offset>se.height/2){j.type="bottom";var te;j.offset=((te=W?.bottom)!==null&&te!==void 0?te:0)-se.bottom}}let G=i.current;if(!P&&i.current){var fe;G.style.top="0px",G.style.bottom="";var Z;G.style.maxHeight=((Z=(fe=window.visualViewport)===null||fe===void 0?void 0:fe.height)!==null&&Z!==void 0?Z:window.innerHeight)+"px"}let q=lF({placement:pF(a,t),overlayNode:i.current,targetNode:r.current,scrollNode:s.current||i.current,padding:c,shouldFlip:d,boundaryElement:h,offset:m,crossOffset:g,maxHeight:P,arrowSize:n,arrowBoundaryOffset:_});if(q.position){if(G.style.top="",G.style.bottom="",G.style.left="",G.style.right="",Object.keys(q.position).forEach(W=>G.style[W]=q.position[W]+"px"),G.style.maxHeight=q.maxHeight!=null?q.maxHeight+"px":"",j&&document.activeElement&&s.current){let W=document.activeElement.getBoundingClientRect(),se=s.current.getBoundingClientRect(),A=W[j.type]-se[j.type];s.current.scrollTop+=A-j.offset}R(q)}},L);Zt(K,L),dF(K),v1({ref:i,onResize:K}),v1({ref:r,onResize:K});let M=S.useRef(!1);Zt(()=>{let j,B=()=>{M.current=!0,clearTimeout(j),j=setTimeout(()=>{M.current=!1},500),K()},Y=()=>{M.current&&B()};return bn?.addEventListener("resize",B),bn?.addEventListener("scroll",Y),()=>{bn?.removeEventListener("resize",B),bn?.removeEventListener("scroll",Y)}},[K]);let J=S.useCallback(()=>{M.current||E?.()},[E,M]);cF({triggerRef:r,isOpen:x,onClose:E&&J});var re,ae;return{overlayProps:{style:{position:"absolute",zIndex:1e5,...T?.position,maxHeight:(re=T?.maxHeight)!==null&&re!==void 0?re:"100vh"}},placement:(ae=T?.placement)!==null&&ae!==void 0?ae:null,arrowProps:{"aria-hidden":"true",role:"presentation",style:{left:T?.arrowOffsetLeft,top:T?.arrowOffsetTop}},updatePosition:K}}function dF(e){Zt(()=>(window.addEventListener("resize",e,!1),()=>{window.removeEventListener("resize",e,!1)}),[e])}function pF(e,t){return t==="rtl"?e.replace("start","right").replace("end","left"):e.replace("start","left").replace("end","right")}function hF(e){const t=Ji(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:n,visibility:r}=e.style,i=n!=="none"&&r!=="hidden"&&r!=="collapse";if(i){const{getComputedStyle:s}=e.ownerDocument.defaultView;let{display:a,visibility:c}=s(e);i=a!=="none"&&c!=="hidden"&&c!=="collapse"}return i}function mF(e,t){return!e.hasAttribute("hidden")&&!e.hasAttribute("data-react-aria-prevent-focus")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function dT(e,t){return e.nodeName!=="#comment"&&hF(e)&&mF(e,t)&&(!e.parentElement||dT(e.parentElement,e))}function Vx(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function pT(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function hT(e){let t=S.useRef({isFocused:!1,observer:null});Zt(()=>{const r=t.current;return()=>{r.observer&&(r.observer.disconnect(),r.observer=null)}},[]);let n=Fn(r=>{e?.(r)});return S.useCallback(r=>{if(r.target instanceof HTMLButtonElement||r.target instanceof HTMLInputElement||r.target instanceof HTMLTextAreaElement||r.target instanceof HTMLSelectElement){t.current.isFocused=!0;let i=r.target,s=a=>{if(t.current.isFocused=!1,i.disabled){let c=Vx(a);n(c)}t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};i.addEventListener("focusout",s,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&i.disabled){var a;(a=t.current.observer)===null||a===void 0||a.disconnect();let c=i===document.activeElement?null:document.activeElement;i.dispatchEvent(new FocusEvent("blur",{relatedTarget:c})),i.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:c}))}}),t.current.observer.observe(i,{attributes:!0,attributeFilter:["disabled"]})}},[n])}let Kg=!1;function gF(e){for(;e&&!$E(e);)e=e.parentElement;let t=Ji(e),n=t.document.activeElement;if(!n||n===e)return;Kg=!0;let r=!1,i=m=>{(m.target===n||r)&&m.stopImmediatePropagation()},s=m=>{(m.target===n||r)&&(m.stopImmediatePropagation(),!e&&!r&&(r=!0,Jl(n),d()))},a=m=>{(m.target===e||r)&&m.stopImmediatePropagation()},c=m=>{(m.target===e||r)&&(m.stopImmediatePropagation(),r||(r=!0,Jl(n),d()))};t.addEventListener("blur",i,!0),t.addEventListener("focusout",s,!0),t.addEventListener("focusin",c,!0),t.addEventListener("focus",a,!0);let d=()=>{cancelAnimationFrame(h),t.removeEventListener("blur",i,!0),t.removeEventListener("focusout",s,!0),t.removeEventListener("focusin",c,!0),t.removeEventListener("focus",a,!0),Kg=!1,r=!1},h=requestAnimationFrame(d);return d}let uf="default",db="",_g=new WeakMap;function vF(e){if(uv()){if(uf==="default"){const t=At(e);db=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}uf="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";_g.set(e,e.style[t]),e.style[t]="none"}}function jS(e){if(uv()){if(uf!=="disabled")return;uf="restoring",setTimeout(()=>{SE(()=>{if(uf==="restoring"){const t=At(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=db||""),db="",uf="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&_g.has(e)){let t=_g.get(e),n="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[n]==="none"&&(e.style[n]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),_g.delete(e)}}const Ux=We.createContext({register:()=>{}});Ux.displayName="PressResponderContext";function yF(e,t){return t.get?t.get.call(e):t.value}function mT(e,t,n){if(!t.has(e))throw new TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}function bF(e,t){var n=mT(e,t,"get");return yF(e,n)}function xF(e,t,n){if(t.set)t.set.call(e,n);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=n}}function BS(e,t,n){var r=mT(e,t,"set");return xF(e,r,n),n}function wF(e){let t=S.useContext(Ux);if(t){let{register:n,...r}=t;e=lr(r,e),n()}return CE(t,e.ref),e}var cg=new WeakMap;class fg{continuePropagation(){BS(this,cg,!1)}get shouldStopPropagation(){return bF(this,cg)}constructor(t,n,r,i){RL(this,cg,{writable:!0,value:void 0}),BS(this,cg,!0);var s;let a=(s=i?.target)!==null&&s!==void 0?s:r.currentTarget;const c=a?.getBoundingClientRect();let d,h=0,m,g=null;r.clientX!=null&&r.clientY!=null&&(m=r.clientX,g=r.clientY),c&&(m!=null&&g!=null?(d=m-c.left,h=g-c.top):(d=c.width/2,h=c.height/2)),this.type=t,this.pointerType=n,this.target=r.currentTarget,this.shiftKey=r.shiftKey,this.metaKey=r.metaKey,this.ctrlKey=r.ctrlKey,this.altKey=r.altKey,this.x=d,this.y=h}}const VS=Symbol("linkClicked"),US="react-aria-pressable-style",KS="data-react-aria-pressable";function hv(e){let{onPress:t,onPressChange:n,onPressStart:r,onPressEnd:i,onPressUp:s,onClick:a,isDisabled:c,isPressed:d,preventFocusOnPress:h,shouldCancelOnPointerExit:m,allowTextSelectionOnPress:g,ref:b,...x}=wF(e),[E,P]=S.useState(!1),_=S.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:T,removeAllGlobalListeners:R}=lx(),L=Fn((B,Y)=>{let te=_.current;if(c||te.didFirePressStart)return!1;let G=!0;if(te.isTriggeringEvent=!0,r){let fe=new fg("pressstart",Y,B);r(fe),G=fe.shouldStopPropagation}return n&&n(!0),te.isTriggeringEvent=!1,te.didFirePressStart=!0,P(!0),G}),z=Fn((B,Y,te=!0)=>{let G=_.current;if(!G.didFirePressStart)return!1;G.didFirePressStart=!1,G.isTriggeringEvent=!0;let fe=!0;if(i){let Z=new fg("pressend",Y,B);i(Z),fe=Z.shouldStopPropagation}if(n&&n(!1),P(!1),t&&te&&!c){let Z=new fg("press",Y,B);t(Z),fe&&(fe=Z.shouldStopPropagation)}return G.isTriggeringEvent=!1,fe}),K=Fn((B,Y)=>{let te=_.current;if(c)return!1;if(s){te.isTriggeringEvent=!0;let G=new fg("pressup",Y,B);return s(G),te.isTriggeringEvent=!1,G.shouldStopPropagation}return!0}),M=Fn(B=>{let Y=_.current;if(Y.isPressed&&Y.target){Y.didFirePressStart&&Y.pointerType!=null&&z(iu(Y.target,B),Y.pointerType,!1),Y.isPressed=!1,Y.isOverTarget=!1,Y.activePointerId=null,Y.pointerType=null,R(),g||jS(Y.target);for(let te of Y.disposables)te();Y.disposables=[]}}),J=Fn(B=>{m&&M(B)}),re=Fn(B=>{a?.(B)}),ae=Fn((B,Y)=>{if(a){let te=new MouseEvent("click",B);pT(te,Y),a(Vx(te))}}),j=S.useMemo(()=>{let B=_.current,Y={onKeyDown(G){if(o0(G.nativeEvent,G.currentTarget)&&ri(G.currentTarget,wn(G.nativeEvent))){var fe;WS(wn(G.nativeEvent),G.key)&&G.preventDefault();let Z=!0;if(!B.isPressed&&!G.repeat){B.target=G.currentTarget,B.isPressed=!0,B.pointerType="keyboard",Z=L(G,"keyboard");let q=G.currentTarget,W=se=>{o0(se,q)&&!se.repeat&&ri(q,wn(se))&&B.target&&K(iu(B.target,se),"keyboard")};T(At(G.currentTarget),"keyup",xf(W,te),!0)}Z&&G.stopPropagation(),G.metaKey&&yu()&&((fe=B.metaKeyEvents)===null||fe===void 0||fe.set(G.key,G.nativeEvent))}else G.key==="Meta"&&(B.metaKeyEvents=new Map)},onClick(G){if(!(G&&!ri(G.currentTarget,wn(G.nativeEvent)))&&G&&G.button===0&&!B.isTriggeringEvent&&!bu.isOpening){let fe=!0;if(c&&G.preventDefault(),!B.ignoreEmulatedMouseEvents&&!B.isPressed&&(B.pointerType==="virtual"||TE(G.nativeEvent))){let Z=L(G,"virtual"),q=K(G,"virtual"),W=z(G,"virtual");re(G),fe=Z&&q&&W}else if(B.isPressed&&B.pointerType!=="keyboard"){let Z=B.pointerType||G.nativeEvent.pointerType||"virtual",q=K(iu(G.currentTarget,G),Z),W=z(iu(G.currentTarget,G),Z,!0);fe=q&&W,B.isOverTarget=!1,re(G),M(G)}B.ignoreEmulatedMouseEvents=!1,fe&&G.stopPropagation()}}},te=G=>{var fe;if(B.isPressed&&B.target&&o0(G,B.target)){var Z;WS(wn(G),G.key)&&G.preventDefault();let W=wn(G),se=ri(B.target,wn(G));z(iu(B.target,G),"keyboard",se),se&&ae(G,B.target),R(),G.key!=="Enter"&&Kx(B.target)&&ri(B.target,W)&&!G[VS]&&(G[VS]=!0,bu(B.target,G,!1)),B.isPressed=!1,(Z=B.metaKeyEvents)===null||Z===void 0||Z.delete(G.key)}else if(G.key==="Meta"&&(!((fe=B.metaKeyEvents)===null||fe===void 0)&&fe.size)){var q;let W=B.metaKeyEvents;B.metaKeyEvents=void 0;for(let se of W.values())(q=B.target)===null||q===void 0||q.dispatchEvent(new KeyboardEvent("keyup",se))}};if(typeof PointerEvent<"u"){Y.onPointerDown=Z=>{if(Z.button!==0||!ri(Z.currentTarget,wn(Z.nativeEvent)))return;if(oM(Z.nativeEvent)){B.pointerType="virtual";return}B.pointerType=Z.pointerType;let q=!0;if(!B.isPressed){B.isPressed=!0,B.isOverTarget=!0,B.activePointerId=Z.pointerId,B.target=Z.currentTarget,g||vF(B.target),q=L(Z,B.pointerType);let W=wn(Z.nativeEvent);"releasePointerCapture"in W&&W.releasePointerCapture(Z.pointerId),T(At(Z.currentTarget),"pointerup",G,!1),T(At(Z.currentTarget),"pointercancel",fe,!1)}q&&Z.stopPropagation()},Y.onMouseDown=Z=>{if(ri(Z.currentTarget,wn(Z.nativeEvent))&&Z.button===0){if(h){let q=gF(Z.target);q&&B.disposables.push(q)}Z.stopPropagation()}},Y.onPointerUp=Z=>{!ri(Z.currentTarget,wn(Z.nativeEvent))||B.pointerType==="virtual"||Z.button===0&&!B.isPressed&&K(Z,B.pointerType||Z.pointerType)},Y.onPointerEnter=Z=>{Z.pointerId===B.activePointerId&&B.target&&!B.isOverTarget&&B.pointerType!=null&&(B.isOverTarget=!0,L(iu(B.target,Z),B.pointerType))},Y.onPointerLeave=Z=>{Z.pointerId===B.activePointerId&&B.target&&B.isOverTarget&&B.pointerType!=null&&(B.isOverTarget=!1,z(iu(B.target,Z),B.pointerType,!1),J(Z))};let G=Z=>{if(Z.pointerId===B.activePointerId&&B.isPressed&&Z.button===0&&B.target){if(ri(B.target,wn(Z))&&B.pointerType!=null){let q=!1,W=setTimeout(()=>{B.isPressed&&B.target instanceof HTMLElement&&(q?M(Z):(Jl(B.target),B.target.click()))},80);T(Z.currentTarget,"click",()=>q=!0,!0),B.disposables.push(()=>clearTimeout(W))}else M(Z);B.isOverTarget=!1}},fe=Z=>{M(Z)};Y.onDragStart=Z=>{ri(Z.currentTarget,wn(Z.nativeEvent))&&M(Z)}}return Y},[T,c,h,R,g,M,J,z,L,K,re,ae]);return S.useEffect(()=>{if(!b)return;const B=At(b.current);if(!B||!B.head||B.getElementById(US))return;const Y=B.createElement("style");Y.id=US,Y.textContent=` -@layer { - [${KS}] { - touch-action: pan-x pan-y pinch-zoom; - } -} - `.trim(),B.head.prepend(Y)},[b]),S.useEffect(()=>{let B=_.current;return()=>{var Y;g||jS((Y=B.target)!==null&&Y!==void 0?Y:void 0);for(let te of B.disposables)te();B.disposables=[]}},[g]),{isPressed:d||E,pressProps:lr(x,j,{[KS]:!0})}}function Kx(e){return e.tagName==="A"&&e.hasAttribute("href")}function o0(e,t){const{key:n,code:r}=e,i=t,s=i.getAttribute("role");return(n==="Enter"||n===" "||n==="Spacebar"||r==="Space")&&!(i instanceof Ji(i).HTMLInputElement&&!gT(i,n)||i instanceof Ji(i).HTMLTextAreaElement||i.isContentEditable)&&!((s==="link"||!s&&Kx(i))&&n!=="Enter")}function iu(e,t){let n=t.clientX,r=t.clientY;return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:r}}function SF(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!Kx(e)}function WS(e,t){return e instanceof HTMLInputElement?!gT(e,t):SF(e)}const kF=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function gT(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":kF.has(e.type)}let el=null,nh=new Set,Op=new Map,xu=!1,pb=!1;const CF={Tab:!0,Escape:!0};function mv(e,t){for(let n of nh)n(e,t)}function EF(e){return!(e.metaKey||!yu()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function Wg(e){xu=!0,EF(e)&&(el="keyboard",mv("keyboard",e))}function pf(e){el="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(xu=!0,mv("pointer",e))}function vT(e){TE(e)&&(xu=!0,el="virtual")}function yT(e){e.target===window||e.target===document||Kg||!e.isTrusted||(!xu&&!pb&&(el="virtual",mv("virtual",e)),xu=!1,pb=!1)}function bT(){Kg||(xu=!1,pb=!0)}function Hg(e){if(typeof window>"u"||typeof document>"u"||Op.get(Ji(e)))return;const t=Ji(e),n=At(e);let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){xu=!0,r.apply(this,arguments)},n.addEventListener("keydown",Wg,!0),n.addEventListener("keyup",Wg,!0),n.addEventListener("click",vT,!0),t.addEventListener("focus",yT,!0),t.addEventListener("blur",bT,!1),typeof PointerEvent<"u"&&(n.addEventListener("pointerdown",pf,!0),n.addEventListener("pointermove",pf,!0),n.addEventListener("pointerup",pf,!0)),t.addEventListener("beforeunload",()=>{xT(e)},{once:!0}),Op.set(t,{focus:r})}const xT=(e,t)=>{const n=Ji(e),r=At(e);t&&r.removeEventListener("DOMContentLoaded",t),Op.has(n)&&(n.HTMLElement.prototype.focus=Op.get(n).focus,r.removeEventListener("keydown",Wg,!0),r.removeEventListener("keyup",Wg,!0),r.removeEventListener("click",vT,!0),n.removeEventListener("focus",yT,!0),n.removeEventListener("blur",bT,!1),typeof PointerEvent<"u"&&(r.removeEventListener("pointerdown",pf,!0),r.removeEventListener("pointermove",pf,!0),r.removeEventListener("pointerup",pf,!0)),Op.delete(n))};function PF(e){const t=At(e);let n;return t.readyState!=="loading"?Hg(e):(n=()=>{Hg(e)},t.addEventListener("DOMContentLoaded",n)),()=>xT(e,n)}typeof document<"u"&&PF();function Wx(){return el!=="pointer"}function rh(){return el}function TF(e){el=e,mv(e,null)}function bG(){Hg();let[e,t]=S.useState(el);return S.useEffect(()=>{let n=()=>{t(el)};return nh.add(n),()=>{nh.delete(n)}},[]),dh()?null:e}const _F=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function IF(e,t,n){let r=At(n?.target);const i=typeof window<"u"?Ji(n?.target).HTMLInputElement:HTMLInputElement,s=typeof window<"u"?Ji(n?.target).HTMLTextAreaElement:HTMLTextAreaElement,a=typeof window<"u"?Ji(n?.target).HTMLElement:HTMLElement,c=typeof window<"u"?Ji(n?.target).KeyboardEvent:KeyboardEvent;return e=e||r.activeElement instanceof i&&!_F.has(r.activeElement.type)||r.activeElement instanceof s||r.activeElement instanceof a&&r.activeElement.isContentEditable,!(e&&t==="keyboard"&&n instanceof c&&!CF[n.key])}function $F(e,t,n){Hg(),S.useEffect(()=>{let r=(i,s)=>{IF(!!n?.isTextInput,i,s)&&e(Wx())};return nh.add(r),()=>{nh.delete(r)}},t)}function wu(e){const t=At(e),n=Dr(t);if(rh()==="virtual"){let r=n;SE(()=>{Dr(t)===r&&e.isConnected&&Jl(e)})}else Jl(e)}function wT(e){let{isDisabled:t,onFocus:n,onBlur:r,onFocusChange:i}=e;const s=S.useCallback(d=>{if(d.target===d.currentTarget)return r&&r(d),i&&i(!1),!0},[r,i]),a=hT(s),c=S.useCallback(d=>{const h=At(d.target),m=h?Dr(h):Dr();d.target===d.currentTarget&&m===wn(d.nativeEvent)&&(n&&n(d),i&&i(!0),a(d))},[i,n,a]);return{focusProps:{onFocus:!t&&(n||i||r)?c:void 0,onBlur:!t&&(r||i)?s:void 0}}}function HS(e){if(!e)return;let t=!0;return n=>{let r={...n,preventDefault(){n.preventDefault()},isDefaultPrevented(){return n.isDefaultPrevented()},stopPropagation(){t=!0},continuePropagation(){t=!1},isPropagationStopped(){return t}};e(r),t&&n.stopPropagation()}}function AF(e){return{keyboardProps:e.isDisabled?{}:{onKeyDown:HS(e.onKeyDown),onKeyUp:HS(e.onKeyUp)}}}let RF=We.createContext(null);function LF(e){let t=S.useContext(RF)||{};CE(t,e);let{ref:n,...r}=t;return r}function gv(e,t){let{focusProps:n}=wT(e),{keyboardProps:r}=AF(e),i=lr(n,r),s=LF(t),a=e.isDisabled?{}:s,c=S.useRef(e.autoFocus);S.useEffect(()=>{c.current&&t.current&&wu(t.current),c.current=!1},[t]);let d=e.excludeFromTabOrder?-1:0;return e.isDisabled&&(d=void 0),{focusableProps:lr({...i,tabIndex:d},a)}}function MF({children:e}){let t=S.useMemo(()=>({register:()=>{}}),[]);return We.createElement(Ux.Provider,{value:t},e)}function vv(e){let{isDisabled:t,onBlurWithin:n,onFocusWithin:r,onFocusWithinChange:i}=e,s=S.useRef({isFocusWithin:!1}),{addGlobalListener:a,removeAllGlobalListeners:c}=lx(),d=S.useCallback(g=>{g.currentTarget.contains(g.target)&&s.current.isFocusWithin&&!g.currentTarget.contains(g.relatedTarget)&&(s.current.isFocusWithin=!1,c(),n&&n(g),i&&i(!1))},[n,i,s,c]),h=hT(d),m=S.useCallback(g=>{if(!g.currentTarget.contains(g.target))return;const b=At(g.target),x=Dr(b);if(!s.current.isFocusWithin&&x===wn(g.nativeEvent)){r&&r(g),i&&i(!0),s.current.isFocusWithin=!0,h(g);let E=g.currentTarget;a(b,"focus",P=>{if(s.current.isFocusWithin&&!ri(E,P.target)){let _=new b.defaultView.FocusEvent("blur",{relatedTarget:P.target});pT(_,E);let T=Vx(_);d(T)}},{capture:!0})}},[r,i,h,a,d]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:m,onBlur:d}}}let hb=!1,s0=0;function DF(){hb=!0,setTimeout(()=>{hb=!1},50)}function GS(e){e.pointerType==="touch"&&DF()}function NF(){if(!(typeof document>"u"))return typeof PointerEvent<"u"&&document.addEventListener("pointerup",GS),s0++,()=>{s0--,!(s0>0)&&typeof PointerEvent<"u"&&document.removeEventListener("pointerup",GS)}}function Ef(e){let{onHoverStart:t,onHoverChange:n,onHoverEnd:r,isDisabled:i}=e,[s,a]=S.useState(!1),c=S.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;S.useEffect(NF,[]);let{addGlobalListener:d,removeAllGlobalListeners:h}=lx(),{hoverProps:m,triggerHoverEnd:g}=S.useMemo(()=>{let b=(P,_)=>{if(c.pointerType=_,i||_==="touch"||c.isHovered||!P.currentTarget.contains(P.target))return;c.isHovered=!0;let T=P.currentTarget;c.target=T,d(At(P.target),"pointerover",R=>{c.isHovered&&c.target&&!ri(c.target,R.target)&&x(R,R.pointerType)},{capture:!0}),t&&t({type:"hoverstart",target:T,pointerType:_}),n&&n(!0),a(!0)},x=(P,_)=>{let T=c.target;c.pointerType="",c.target=null,!(_==="touch"||!c.isHovered||!T)&&(c.isHovered=!1,h(),r&&r({type:"hoverend",target:T,pointerType:_}),n&&n(!1),a(!1))},E={};return typeof PointerEvent<"u"&&(E.onPointerEnter=P=>{hb&&P.pointerType==="mouse"||b(P,P.pointerType)},E.onPointerLeave=P=>{!i&&P.currentTarget.contains(P.target)&&x(P,P.pointerType)}),{hoverProps:E,triggerHoverEnd:x}},[t,n,r,i,c,d,h]);return S.useEffect(()=>{i&&g({currentTarget:c.target},c.pointerType)},[i]),{hoverProps:m,isHovered:s}}function FF(e){let{ref:t,onInteractOutside:n,isDisabled:r,onInteractOutsideStart:i}=e,s=S.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),a=Fn(d=>{n&&qS(d,t)&&(i&&i(d),s.current.isPointerDown=!0)}),c=Fn(d=>{n&&n(d)});S.useEffect(()=>{let d=s.current;if(r)return;const h=t.current,m=At(h);if(typeof PointerEvent<"u"){let g=b=>{d.isPointerDown&&qS(b,t)&&c(b),d.isPointerDown=!1};return m.addEventListener("pointerdown",a,!0),m.addEventListener("click",g,!0),()=>{m.removeEventListener("pointerdown",a,!0),m.removeEventListener("click",g,!0)}}},[t,r,a,c])}function qS(e,t){if(e.button>0)return!1;if(e.target){const n=e.target.ownerDocument;if(!n||!n.documentElement.contains(e.target)||e.target.closest("[data-react-aria-top-layer]"))return!1}return t.current?!e.composedPath().includes(t.current):!1}const YS=We.createContext(null),mb="react-aria-focus-scope-restore";let Wt=null;function OF(e){let{children:t,contain:n,restoreFocus:r,autoFocus:i}=e,s=S.useRef(null),a=S.useRef(null),c=S.useRef([]),{parentNode:d}=S.useContext(YS)||{},h=S.useMemo(()=>new vb({scopeRef:c}),[c]);Zt(()=>{let b=d||_n.root;if(_n.getTreeNode(b.scopeRef)&&Wt&&!Gg(Wt,b.scopeRef)){let x=_n.getTreeNode(Wt);x&&(b=x)}b.addChild(h),_n.addNode(h)},[h,d]),Zt(()=>{let b=_n.getTreeNode(c);b&&(b.contain=!!n)},[n]),Zt(()=>{var b;let x=(b=s.current)===null||b===void 0?void 0:b.nextSibling,E=[],P=_=>_.stopPropagation();for(;x&&x!==a.current;)E.push(x),x.addEventListener(mb,P),x=x.nextSibling;return c.current=E,()=>{for(let _ of E)_.removeEventListener(mb,P)}},[t]),UF(c,r,n),jF(c,n),KF(c,r,n),VF(c,i),S.useEffect(()=>{const b=Dr(At(c.current?c.current[0]:void 0));let x=null;if(eo(b,c.current)){for(let E of _n.traverse())E.scopeRef&&eo(b,E.scopeRef.current)&&(x=E);x===_n.getTreeNode(c)&&(Wt=x.scopeRef)}},[c]),Zt(()=>()=>{var b,x,E;let P=(E=(x=_n.getTreeNode(c))===null||x===void 0||(b=x.parent)===null||b===void 0?void 0:b.scopeRef)!==null&&E!==void 0?E:null;(c===Wt||Gg(c,Wt))&&(!P||_n.getTreeNode(P))&&(Wt=P),_n.removeTreeNode(c)},[c]);let m=S.useMemo(()=>zF(c),[]),g=S.useMemo(()=>({focusManager:m,parentNode:h}),[h,m]);return We.createElement(YS.Provider,{value:g},We.createElement("span",{"data-focus-scope-start":!0,hidden:!0,ref:s}),t,We.createElement("span",{"data-focus-scope-end":!0,hidden:!0,ref:a}))}function zF(e){return{focusNext(t={}){let n=e.current,{from:r,tabbable:i,wrap:s,accept:a}=t;var c;let d=r||Dr(At((c=n[0])!==null&&c!==void 0?c:void 0)),h=n[0].previousElementSibling,m=hu(n),g=Qs(m,{tabbable:i,accept:a},n);g.currentNode=eo(d,n)?d:h;let b=g.nextNode();return!b&&s&&(g.currentNode=h,b=g.nextNode()),b&&Xs(b,!0),b},focusPrevious(t={}){let n=e.current,{from:r,tabbable:i,wrap:s,accept:a}=t;var c;let d=r||Dr(At((c=n[0])!==null&&c!==void 0?c:void 0)),h=n[n.length-1].nextElementSibling,m=hu(n),g=Qs(m,{tabbable:i,accept:a},n);g.currentNode=eo(d,n)?d:h;let b=g.previousNode();return!b&&s&&(g.currentNode=h,b=g.previousNode()),b&&Xs(b,!0),b},focusFirst(t={}){let n=e.current,{tabbable:r,accept:i}=t,s=hu(n),a=Qs(s,{tabbable:r,accept:i},n);a.currentNode=n[0].previousElementSibling;let c=a.nextNode();return c&&Xs(c,!0),c},focusLast(t={}){let n=e.current,{tabbable:r,accept:i}=t,s=hu(n),a=Qs(s,{tabbable:r,accept:i},n);a.currentNode=n[n.length-1].nextElementSibling;let c=a.previousNode();return c&&Xs(c,!0),c}}}function hu(e){return e[0].parentElement}function Ip(e){let t=_n.getTreeNode(Wt);for(;t&&t.scopeRef!==e;){if(t.contain)return!1;t=t.parent}return!0}function jF(e,t){let n=S.useRef(void 0),r=S.useRef(void 0);Zt(()=>{let i=e.current;if(!t){r.current&&(cancelAnimationFrame(r.current),r.current=void 0);return}const s=At(i?i[0]:void 0);let a=h=>{if(h.key!=="Tab"||h.altKey||h.ctrlKey||h.metaKey||!Ip(e)||h.isComposing)return;let m=Dr(s),g=e.current;if(!g||!eo(m,g))return;let b=hu(g),x=Qs(b,{tabbable:!0},g);if(!m)return;x.currentNode=m;let E=h.shiftKey?x.previousNode():x.nextNode();E||(x.currentNode=h.shiftKey?g[g.length-1].nextElementSibling:g[0].previousElementSibling,E=h.shiftKey?x.previousNode():x.nextNode()),h.preventDefault(),E&&Xs(E,!0)},c=h=>{(!Wt||Gg(Wt,e))&&eo(wn(h),e.current)?(Wt=e,n.current=wn(h)):Ip(e)&&!Yl(wn(h),e)?n.current?n.current.focus():Wt&&Wt.current&&gb(Wt.current):Ip(e)&&(n.current=wn(h))},d=h=>{r.current&&cancelAnimationFrame(r.current),r.current=requestAnimationFrame(()=>{let m=rh(),g=(m==="virtual"||m===null)&&ox()&&bE(),b=Dr(s);if(!g&&b&&Ip(e)&&!Yl(b,e)){Wt=e;let E=wn(h);if(E&&E.isConnected){var x;n.current=E,(x=n.current)===null||x===void 0||x.focus()}else Wt.current&&gb(Wt.current)}})};return s.addEventListener("keydown",a,!1),s.addEventListener("focusin",c,!1),i?.forEach(h=>h.addEventListener("focusin",c,!1)),i?.forEach(h=>h.addEventListener("focusout",d,!1)),()=>{s.removeEventListener("keydown",a,!1),s.removeEventListener("focusin",c,!1),i?.forEach(h=>h.removeEventListener("focusin",c,!1)),i?.forEach(h=>h.removeEventListener("focusout",d,!1))}},[e,t]),Zt(()=>()=>{r.current&&cancelAnimationFrame(r.current)},[r])}function ST(e){return Yl(e)}function eo(e,t){return!e||!t?!1:t.some(n=>n.contains(e))}function Yl(e,t=null){if(e instanceof Element&&e.closest("[data-react-aria-top-layer]"))return!0;for(let{scopeRef:n}of _n.traverse(_n.getTreeNode(t)))if(n&&eo(e,n.current))return!0;return!1}function BF(e){return Yl(e,Wt)}function Gg(e,t){var n;let r=(n=_n.getTreeNode(t))===null||n===void 0?void 0:n.parent;for(;r;){if(r.scopeRef===e)return!0;r=r.parent}return!1}function Xs(e,t=!1){if(e!=null&&!t)try{wu(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function kT(e,t=!0){let n=e[0].previousElementSibling,r=hu(e),i=Qs(r,{tabbable:t},e);i.currentNode=n;let s=i.nextNode();return t&&!s&&(r=hu(e),i=Qs(r,{tabbable:!1},e),i.currentNode=n,s=i.nextNode()),s}function gb(e,t=!0){Xs(kT(e,t))}function VF(e,t){const n=We.useRef(t);S.useEffect(()=>{if(n.current){Wt=e;const r=At(e.current?e.current[0]:void 0);!eo(Dr(r),Wt.current)&&e.current&&gb(e.current)}n.current=!1},[e])}function UF(e,t,n){Zt(()=>{if(t||n)return;let r=e.current;const i=At(r?r[0]:void 0);let s=a=>{let c=wn(a);eo(c,e.current)?Wt=e:ST(c)||(Wt=null)};return i.addEventListener("focusin",s,!1),r?.forEach(a=>a.addEventListener("focusin",s,!1)),()=>{i.removeEventListener("focusin",s,!1),r?.forEach(a=>a.removeEventListener("focusin",s,!1))}},[e,t,n])}function XS(e){let t=_n.getTreeNode(Wt);for(;t&&t.scopeRef!==e;){if(t.nodeToRestore)return!1;t=t.parent}return t?.scopeRef===e}function KF(e,t,n){const r=S.useRef(typeof document<"u"?Dr(At(e.current?e.current[0]:void 0)):null);Zt(()=>{let i=e.current;const s=At(i?i[0]:void 0);if(!t||n)return;let a=()=>{(!Wt||Gg(Wt,e))&&eo(Dr(s),e.current)&&(Wt=e)};return s.addEventListener("focusin",a,!1),i?.forEach(c=>c.addEventListener("focusin",a,!1)),()=>{s.removeEventListener("focusin",a,!1),i?.forEach(c=>c.removeEventListener("focusin",a,!1))}},[e,n]),Zt(()=>{const i=At(e.current?e.current[0]:void 0);if(!t)return;let s=a=>{if(a.key!=="Tab"||a.altKey||a.ctrlKey||a.metaKey||!Ip(e)||a.isComposing)return;let c=i.activeElement;if(!Yl(c,e)||!XS(e))return;let d=_n.getTreeNode(e);if(!d)return;let h=d.nodeToRestore,m=Qs(i.body,{tabbable:!0});m.currentNode=c;let g=a.shiftKey?m.previousNode():m.nextNode();if((!h||!h.isConnected||h===i.body)&&(h=void 0,d.nodeToRestore=void 0),(!g||!Yl(g,e))&&h){m.currentNode=h;do g=a.shiftKey?m.previousNode():m.nextNode();while(Yl(g,e));a.preventDefault(),a.stopPropagation(),g?Xs(g,!0):ST(h)?Xs(h,!0):c.blur()}};return n||i.addEventListener("keydown",s,!0),()=>{n||i.removeEventListener("keydown",s,!0)}},[e,t,n]),Zt(()=>{const i=At(e.current?e.current[0]:void 0);if(!t)return;let s=_n.getTreeNode(e);if(s){var a;return s.nodeToRestore=(a=r.current)!==null&&a!==void 0?a:void 0,()=>{let c=_n.getTreeNode(e);if(!c)return;let d=c.nodeToRestore,h=Dr(i);if(t&&d&&(h&&Yl(h,e)||h===i.body&&XS(e))){let m=_n.clone();requestAnimationFrame(()=>{if(i.activeElement===i.body){let g=m.getTreeNode(e);for(;g;){if(g.nodeToRestore&&g.nodeToRestore.isConnected){QS(g.nodeToRestore);return}g=g.parent}for(g=m.getTreeNode(e);g;){if(g.scopeRef&&g.scopeRef.current&&_n.getTreeNode(g.scopeRef)){let b=kT(g.scopeRef.current,!0);QS(b);return}g=g.parent}}})}}}},[e,t])}function QS(e){e.dispatchEvent(new CustomEvent(mb,{bubbles:!0,cancelable:!0}))&&Xs(e)}function Qs(e,t,n){let r=t?.tabbable?fM:$E,i=e?.nodeType===Node.ELEMENT_NODE?e:null,s=At(i),a=BL(s,e||s,NodeFilter.SHOW_ELEMENT,{acceptNode(c){var d;return!(t==null||(d=t.from)===null||d===void 0)&&d.contains(c)?NodeFilter.FILTER_REJECT:r(c)&&dT(c)&&(!n||eo(c,n))&&(!t?.accept||t.accept(c))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t?.from&&(a.currentNode=t.from),a}class Hx{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,n,r){let i=this.fastMap.get(n??null);if(!i)return;let s=new vb({scopeRef:t});i.addChild(s),s.parent=i,this.fastMap.set(t,s),r&&(s.nodeToRestore=r)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let n=this.fastMap.get(t);if(!n)return;let r=n.parent;for(let s of this.traverse())s!==n&&n.nodeToRestore&&s.nodeToRestore&&n.scopeRef&&n.scopeRef.current&&eo(s.nodeToRestore,n.scopeRef.current)&&(s.nodeToRestore=n.nodeToRestore);let i=n.children;r&&(r.removeChild(n),i.size>0&&i.forEach(s=>r&&r.addChild(s))),this.fastMap.delete(n.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.size>0)for(let n of t.children)yield*this.traverse(n)}clone(){var t;let n=new Hx;var r;for(let i of this.traverse())n.addTreeNode(i.scopeRef,(r=(t=i.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&r!==void 0?r:null,i.nodeToRestore);return n}constructor(){this.fastMap=new Map,this.root=new vb({scopeRef:null}),this.fastMap.set(null,this.root)}}class vb{addChild(t){this.children.add(t),t.parent=this}removeChild(t){this.children.delete(t),t.parent=void 0}constructor(t){this.children=new Set,this.contain=!1,this.scopeRef=t.scopeRef}}let _n=new Hx;function ih(e={}){let{autoFocus:t=!1,isTextInput:n,within:r}=e,i=S.useRef({isFocused:!1,isFocusVisible:t||Wx()}),[s,a]=S.useState(!1),[c,d]=S.useState(()=>i.current.isFocused&&i.current.isFocusVisible),h=S.useCallback(()=>d(i.current.isFocused&&i.current.isFocusVisible),[]),m=S.useCallback(x=>{i.current.isFocused=x,a(x),h()},[h]);$F(x=>{i.current.isFocusVisible=x,h()},[],{isTextInput:n});let{focusProps:g}=wT({isDisabled:r,onFocusChange:m}),{focusWithinProps:b}=vv({isDisabled:!r,onFocusWithinChange:m});return{isFocused:s,isFocusVisible:c,focusProps:r?b:g}}function WF(e){let t=qF(At(e));t!==e&&(t&&HF(t,e),e&&GF(e,t))}function HF(e,t){e.dispatchEvent(new FocusEvent("blur",{relatedTarget:t})),e.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:t}))}function GF(e,t){e.dispatchEvent(new FocusEvent("focus",{relatedTarget:t})),e.dispatchEvent(new FocusEvent("focusin",{bubbles:!0,relatedTarget:t}))}function qF(e){let t=Dr(e),n=t?.getAttribute("aria-activedescendant");return n&&e.getElementById(n)||t}const l0=typeof document<"u"&&window.visualViewport,YF=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let dg=0,a0;function XF(e={}){let{isDisabled:t}=e;Zt(()=>{if(!t)return dg++,dg===1&&(uv()?a0=JF():a0=QF()),()=>{dg--,dg===0&&a0()}},[t])}function QF(){let e=window.innerWidth-document.documentElement.clientWidth;return xf(e>0&&("scrollbarGutter"in document.documentElement.style?mu(document.documentElement,"scrollbarGutter","stable"):mu(document.documentElement,"paddingRight",`${e}px`)),mu(document.documentElement,"overflow","hidden"))}function JF(){let e,t,n=h=>{e=EE(h.target,!0),!(e===document.documentElement&&e===document.body)&&e instanceof HTMLElement&&window.getComputedStyle(e).overscrollBehavior==="auto"&&(t=mu(e,"overscrollBehavior","contain"))},r=h=>{if(!e||e===document.documentElement||e===document.body){h.preventDefault();return}e.scrollHeight===e.clientHeight&&e.scrollWidth===e.clientWidth&&h.preventDefault()},i=()=>{t&&t()},s=h=>{let m=h.target;ZF(m)&&(c(),m.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{m.style.transform="",l0&&(l0.height{JS(m)}):l0.addEventListener("resize",()=>JS(m),{once:!0}))}))},a=null,c=()=>{if(a)return;let h=()=>{window.scrollTo(0,0)},m=window.pageXOffset,g=window.pageYOffset;a=xf(pp(window,"scroll",h),mu(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),mu(document.documentElement,"overflow","hidden"),mu(document.body,"marginTop",`-${g}px`),()=>{window.scrollTo(m,g)}),window.scrollTo(0,0)},d=xf(pp(document,"touchstart",n,{passive:!1,capture:!0}),pp(document,"touchmove",r,{passive:!1,capture:!0}),pp(document,"touchend",i,{passive:!1,capture:!0}),pp(document,"focus",s,!0));return()=>{t?.(),a?.(),d()}}function mu(e,t,n){let r=e.style[t];return e.style[t]=n,()=>{e.style[t]=r}}function pp(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function JS(e){let t=document.scrollingElement||document.documentElement,n=e;for(;n&&n!==t;){let r=EE(n);if(r!==document.documentElement&&r!==document.body&&r!==n){let i=r.getBoundingClientRect().top,s=n.getBoundingClientRect().top;s>i+n.clientHeight&&(r.scrollTop+=s-i)}n=r.parentElement}}function ZF(e){return e instanceof HTMLInputElement&&!YF.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}const e5=S.createContext({});function CT(){var e;return(e=S.useContext(e5))!==null&&e!==void 0?e:{}}const yb=We.createContext(null);function t5(e){let{children:t}=e,n=S.useContext(yb),[r,i]=S.useState(0),s=S.useMemo(()=>({parent:n,modalCount:r,addModal(){i(a=>a+1),n&&n.addModal()},removeModal(){i(a=>a-1),n&&n.removeModal()}}),[n,r]);return We.createElement(yb.Provider,{value:s},t)}function n5(){let e=S.useContext(yb);return{modalProviderProps:{"aria-hidden":e&&e.modalCount>0?!0:void 0}}}function r5(e){let{modalProviderProps:t}=n5();return We.createElement("div",{"data-overlay-container":!0,...e,...t})}function ET(e){return We.createElement(t5,null,We.createElement(r5,e))}function ZS(e){let t=dh(),{portalContainer:n=t?null:document.body,...r}=e,{getContainer:i}=CT();if(!e.portalContainer&&i&&(n=i()),We.useEffect(()=>{if(n?.closest("[data-overlay-container]"))throw new Error("An OverlayContainer must not be inside another container. Please change the portalContainer prop.")},[n]),!n)return null;let s=We.createElement(ET,r);return IE.createPortal(s,n)}var PT={};PT={dismiss:"تجاهل"};var TT={};TT={dismiss:"Отхвърляне"};var _T={};_T={dismiss:"Odstranit"};var IT={};IT={dismiss:"Luk"};var $T={};$T={dismiss:"Schließen"};var AT={};AT={dismiss:"Απόρριψη"};var RT={};RT={dismiss:"Dismiss"};var LT={};LT={dismiss:"Descartar"};var MT={};MT={dismiss:"Lõpeta"};var DT={};DT={dismiss:"Hylkää"};var NT={};NT={dismiss:"Rejeter"};var FT={};FT={dismiss:"התעלם"};var OT={};OT={dismiss:"Odbaci"};var zT={};zT={dismiss:"Elutasítás"};var jT={};jT={dismiss:"Ignora"};var BT={};BT={dismiss:"閉じる"};var VT={};VT={dismiss:"무시"};var UT={};UT={dismiss:"Atmesti"};var KT={};KT={dismiss:"Nerādīt"};var WT={};WT={dismiss:"Lukk"};var HT={};HT={dismiss:"Negeren"};var GT={};GT={dismiss:"Zignoruj"};var qT={};qT={dismiss:"Descartar"};var YT={};YT={dismiss:"Dispensar"};var XT={};XT={dismiss:"Revocare"};var QT={};QT={dismiss:"Пропустить"};var JT={};JT={dismiss:"Zrušiť"};var ZT={};ZT={dismiss:"Opusti"};var e_={};e_={dismiss:"Odbaci"};var t_={};t_={dismiss:"Avvisa"};var n_={};n_={dismiss:"Kapat"};var r_={};r_={dismiss:"Скасувати"};var i_={};i_={dismiss:"取消"};var o_={};o_={dismiss:"關閉"};var s_={};s_={"ar-AE":PT,"bg-BG":TT,"cs-CZ":_T,"da-DK":IT,"de-DE":$T,"el-GR":AT,"en-US":RT,"es-ES":LT,"et-EE":MT,"fi-FI":DT,"fr-FR":NT,"he-IL":FT,"hr-HR":OT,"hu-HU":zT,"it-IT":jT,"ja-JP":BT,"ko-KR":VT,"lt-LT":UT,"lv-LV":KT,"nb-NO":WT,"nl-NL":HT,"pl-PL":GT,"pt-BR":qT,"pt-PT":YT,"ro-RO":XT,"ru-RU":QT,"sk-SK":JT,"sl-SI":ZT,"sr-SP":e_,"sv-SE":t_,"tr-TR":n_,"uk-UA":r_,"zh-CN":i_,"zh-TW":o_};const ek={border:0,clip:"rect(0 0 0 0)",clipPath:"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"};function i5(e={}){let{style:t,isFocusable:n}=e,[r,i]=S.useState(!1),{focusWithinProps:s}=vv({isDisabled:!n,onFocusWithinChange:c=>i(c)}),a=S.useMemo(()=>r?t:t?{...ek,...t}:ek,[r]);return{visuallyHiddenProps:{...s,style:a}}}function o5(e){let{children:t,elementType:n="div",isFocusable:r,style:i,...s}=e,{visuallyHiddenProps:a}=i5(e);return We.createElement(n,lr(s,a),t)}function s5(e){return e&&e.__esModule?e.default:e}function tk(e){let{onDismiss:t,...n}=e,r=$L(s5(s_),"@react-aria/overlays"),i=kE(n,r.format("dismiss")),s=()=>{t&&t()};return We.createElement(o5,null,We.createElement("button",{...i,tabIndex:-1,onClick:s,style:{width:1,height:1}}))}let hp=new WeakMap,Gi=[];function l5(e,t=document.body){let n=new Set(e),r=new Set,i=d=>{for(let b of d.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))n.add(b);let h=b=>{if(n.has(b)||b.parentElement&&r.has(b.parentElement)&&b.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let x of n)if(b.contains(x))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},m=document.createTreeWalker(d,NodeFilter.SHOW_ELEMENT,{acceptNode:h}),g=h(d);if(g===NodeFilter.FILTER_ACCEPT&&s(d),g!==NodeFilter.FILTER_REJECT){let b=m.nextNode();for(;b!=null;)s(b),b=m.nextNode()}},s=d=>{var h;let m=(h=hp.get(d))!==null&&h!==void 0?h:0;d.getAttribute("aria-hidden")==="true"&&m===0||(m===0&&d.setAttribute("aria-hidden","true"),r.add(d),hp.set(d,m+1))};Gi.length&&Gi[Gi.length-1].disconnect(),i(t);let a=new MutationObserver(d=>{for(let h of d)if(!(h.type!=="childList"||h.addedNodes.length===0)&&![...n,...r].some(m=>m.contains(h.target))){for(let m of h.removedNodes)m instanceof Element&&(n.delete(m),r.delete(m));for(let m of h.addedNodes)(m instanceof HTMLElement||m instanceof SVGElement)&&(m.dataset.liveAnnouncer==="true"||m.dataset.reactAriaTopLayer==="true")?n.add(m):m instanceof Element&&i(m)}});a.observe(t,{childList:!0,subtree:!0});let c={visibleNodes:n,hiddenNodes:r,observe(){a.observe(t,{childList:!0,subtree:!0})},disconnect(){a.disconnect()}};return Gi.push(c),()=>{a.disconnect();for(let d of r){let h=hp.get(d);h!=null&&(h===1?(d.removeAttribute("aria-hidden"),hp.delete(d)):hp.set(d,h-1))}c===Gi[Gi.length-1]?(Gi.pop(),Gi.length&&Gi[Gi.length-1].observe()):Gi.splice(Gi.indexOf(c),1)}}const l_=We.createContext(null);function a5(e){let t=dh(),{portalContainer:n=t?null:document.body,isExiting:r}=e,[i,s]=S.useState(!1),a=S.useMemo(()=>({contain:i,setContain:s}),[i,s]),{getContainer:c}=CT();if(!e.portalContainer&&c&&(n=c()),!n)return null;let d=e.children;return e.disableFocusManagement||(d=We.createElement(OF,{restoreFocus:!0,contain:(e.shouldContainFocus||i)&&!r},d)),d=We.createElement(l_.Provider,{value:a},We.createElement(MF,null,d)),IE.createPortal(d,n)}function a_(){let e=S.useContext(l_),t=e?.setContain;Zt(()=>{t?.(!0)},[t])}var u5=({children:e,navigate:t,disableAnimation:n,useHref:r,disableRipple:i=!1,skipFramerMotionAnimations:s=n,reducedMotion:a="never",validationBehavior:c,locale:d="en-US",labelPlacement:h,defaultDates:m,createCalendar:g,spinnerVariant:b,...x})=>{let E=e;t&&(E=N.jsx(ZL,{navigate:t,useHref:r,children:E}));const P=S.useMemo(()=>(n&&s&&(ds.skipAnimations=!0),{createCalendar:g,defaultDates:m,disableAnimation:n,disableRipple:i,validationBehavior:c,labelPlacement:h,spinnerVariant:b}),[g,m?.maxDate,m?.minDate,n,i,c,h,b]);return N.jsx(cL,{value:P,children:N.jsx(SL,{locale:d,children:N.jsx(E3,{reducedMotion:a,children:N.jsx(ET,{...x,children:E})})})})};function xG(e){const t=Ti(),n=t?.labelPlacement;return S.useMemo(()=>{var r,i;const s=(i=(r=e.labelPlacement)!=null?r:n)!=null?i:"inside";return s==="inside"&&!e.label?"outside":s},[e.labelPlacement,n,e.label])}function c5(e){const t=Ti(),n=t?.labelPlacement;return S.useMemo(()=>{var r,i;const s=(i=(r=e.labelPlacement)!=null?r:n)!=null?i:"inside";return s==="inside"&&!e.label?"outside":s},[e.labelPlacement,n,e.label])}function _i(e){return S.forwardRef(e)}var na=(e,t,n=!0)=>{if(!t)return[e,{}];const r=t.reduce((i,s)=>s in e?{...i,[s]:e[s]}:i,{});return n?[Object.keys(e).filter(s=>!t.includes(s)).reduce((s,a)=>({...s,[a]:e[a]}),{}),r]:[e,r]},f5={default:"bg-default text-default-foreground",primary:"bg-primary text-primary-foreground",secondary:"bg-secondary text-secondary-foreground",success:"bg-success text-success-foreground",warning:"bg-warning text-warning-foreground",danger:"bg-danger text-danger-foreground",foreground:"bg-foreground text-background"},d5={default:"shadow-lg shadow-default/50 bg-default text-default-foreground",primary:"shadow-lg shadow-primary/40 bg-primary text-primary-foreground",secondary:"shadow-lg shadow-secondary/40 bg-secondary text-secondary-foreground",success:"shadow-lg shadow-success/40 bg-success text-success-foreground",warning:"shadow-lg shadow-warning/40 bg-warning text-warning-foreground",danger:"shadow-lg shadow-danger/40 bg-danger text-danger-foreground"},p5={default:"bg-transparent border-default text-foreground",primary:"bg-transparent border-primary text-primary",secondary:"bg-transparent border-secondary text-secondary",success:"bg-transparent border-success text-success",warning:"bg-transparent border-warning text-warning",danger:"bg-transparent border-danger text-danger"},h5={default:"bg-default/40 text-default-700",primary:"bg-primary/20 text-primary-600",secondary:"bg-secondary/20 text-secondary-600",success:"bg-success/20 text-success-700 dark:text-success",warning:"bg-warning/20 text-warning-700 dark:text-warning",danger:"bg-danger/20 text-danger-600 dark:text-danger-500"},m5={default:"border-default bg-default-100 text-default-foreground",primary:"border-default bg-default-100 text-primary",secondary:"border-default bg-default-100 text-secondary",success:"border-default bg-default-100 text-success",warning:"border-default bg-default-100 text-warning",danger:"border-default bg-default-100 text-danger"},g5={default:"bg-transparent text-default-foreground",primary:"bg-transparent text-primary",secondary:"bg-transparent text-secondary",success:"bg-transparent text-success",warning:"bg-transparent text-warning",danger:"bg-transparent text-danger"},v5={default:"border-default text-default-foreground",primary:"border-primary text-primary",secondary:"border-secondary text-secondary",success:"border-success text-success",warning:"border-warning text-warning",danger:"border-danger text-danger"},Ze={solid:f5,shadow:d5,bordered:p5,flat:h5,faded:m5,light:g5,ghost:v5},y5={".spinner-bar-animation":{"animation-delay":"calc(-1.2s + (0.1s * var(--bar-index)))",transform:"rotate(calc(30deg * var(--bar-index)))translate(140%)"},".spinner-dot-animation":{"animation-delay":"calc(250ms * var(--dot-index))"},".spinner-dot-blink-animation":{"animation-delay":"calc(200ms * var(--dot-index))"}},b5={".leading-inherit":{"line-height":"inherit"},".bg-img-inherit":{"background-image":"inherit"},".bg-clip-inherit":{"background-clip":"inherit"},".text-fill-inherit":{"-webkit-text-fill-color":"inherit"},".tap-highlight-transparent":{"-webkit-tap-highlight-color":"transparent"},".input-search-cancel-button-none":{"&::-webkit-search-cancel-button":{"-webkit-appearance":"none"}}},x5={".scrollbar-hide":{"-ms-overflow-style":"none","scrollbar-width":"none","&::-webkit-scrollbar":{display:"none"}},".scrollbar-default":{"-ms-overflow-style":"auto","scrollbar-width":"auto","&::-webkit-scrollbar":{display:"block"}}},w5={".text-tiny":{"font-size":"var(--heroui-font-size-tiny)","line-height":"var(--heroui-line-height-tiny)"},".text-small":{"font-size":"var(--heroui-font-size-small)","line-height":"var(--heroui-line-height-small)"},".text-medium":{"font-size":"var(--heroui-font-size-medium)","line-height":"var(--heroui-line-height-medium)"},".text-large":{"font-size":"var(--heroui-font-size-large)","line-height":"var(--heroui-line-height-large)"}},is="250ms",S5={".transition-background":{"transition-property":"background","transition-timing-function":"ease","transition-duration":is},".transition-colors-opacity":{"transition-property":"color, background-color, border-color, text-decoration-color, fill, stroke, opacity","transition-timing-function":"ease","transition-duration":is},".transition-width":{"transition-property":"width","transition-timing-function":"ease","transition-duration":is},".transition-height":{"transition-property":"height","transition-timing-function":"ease","transition-duration":is},".transition-size":{"transition-property":"width, height","transition-timing-function":"ease","transition-duration":is},".transition-left":{"transition-property":"left","transition-timing-function":"ease","transition-duration":is},".transition-transform-opacity":{"transition-property":"transform, scale, opacity rotate","transition-timing-function":"ease","transition-duration":is},".transition-transform-background":{"transition-property":"transform, scale, background","transition-timing-function":"ease","transition-duration":is},".transition-transform-colors":{"transition-property":"transform, scale, color, background, background-color, border-color, text-decoration-color, fill, stroke","transition-timing-function":"ease","transition-duration":is},".transition-transform-colors-opacity":{"transition-property":"transform, scale, color, background, background-color, border-color, text-decoration-color, fill, stroke, opacity","transition-timing-function":"ease","transition-duration":is}},k5={...b5,...S5,...x5,...w5,...y5},pg=["small","medium","large"],bb={theme:{spacing:["divider"],radius:pg},classGroups:{shadow:[{shadow:pg}],opacity:[{opacity:["disabled"]}],"font-size":[{text:["tiny",...pg]}],"border-w":[{border:pg}],"bg-image":["bg-stripe-gradient-default","bg-stripe-gradient-primary","bg-stripe-gradient-secondary","bg-stripe-gradient-success","bg-stripe-gradient-warning","bg-stripe-gradient-danger"],transition:Object.keys(k5).filter(e=>e.includes(".transition")).map(e=>e.replace(".",""))}},nk=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,ti=e=>!e||typeof e!="object"||Object.keys(e).length===0,C5=(e,t)=>JSON.stringify(e)===JSON.stringify(t);function u_(e,t){e.forEach(function(n){Array.isArray(n)?u_(n,t):t.push(n)})}function c_(e){let t=[];return u_(e,t),t}var f_=(...e)=>c_(e).filter(Boolean),d_=(e,t)=>{let n={},r=Object.keys(e),i=Object.keys(t);for(let s of r)if(i.includes(s)){let a=e[s],c=t[s];Array.isArray(a)||Array.isArray(c)?n[s]=f_(c,a):typeof a=="object"&&typeof c=="object"?n[s]=d_(a,c):n[s]=c+" "+a}else n[s]=e[s];for(let s of i)r.includes(s)||(n[s]=t[s]);return n},rk=e=>!e||typeof e!="string"?e:e.replace(/\s+/g," ").trim();const Gx="-",E5=e=>{const t=T5(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:a=>{const c=a.split(Gx);return c[0]===""&&c.length!==1&&c.shift(),p_(c,t)||P5(a)},getConflictingClassGroupIds:(a,c)=>{const d=n[a]||[];return c&&r[a]?[...d,...r[a]]:d}}},p_=(e,t)=>{if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),i=r?p_(e.slice(1),r):void 0;if(i)return i;if(t.validators.length===0)return;const s=e.join(Gx);return t.validators.find(({validator:a})=>a(s))?.classGroupId},ik=/^\[(.+)\]$/,P5=e=>{if(ik.test(e)){const t=ik.exec(e)[1],n=t?.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},T5=e=>{const{theme:t,classGroups:n}=e,r={nextPart:new Map,validators:[]};for(const i in n)xb(n[i],r,i,t);return r},xb=(e,t,n,r)=>{e.forEach(i=>{if(typeof i=="string"){const s=i===""?t:ok(t,i);s.classGroupId=n;return}if(typeof i=="function"){if(_5(i)){xb(i(r),t,n,r);return}t.validators.push({validator:i,classGroupId:n});return}Object.entries(i).forEach(([s,a])=>{xb(a,ok(t,s),n,r)})})},ok=(e,t)=>{let n=e;return t.split(Gx).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},_5=e=>e.isThemeGetter,I5=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const i=(s,a)=>{n.set(s,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(s){let a=n.get(s);if(a!==void 0)return a;if((a=r.get(s))!==void 0)return i(s,a),a},set(s,a){n.has(s)?n.set(s,a):i(s,a)}}},wb="!",Sb=":",$5=Sb.length,A5=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=i=>{const s=[];let a=0,c=0,d=0,h;for(let E=0;Ed?h-d:void 0;return{modifiers:s,hasImportantModifier:b,baseClassName:g,maybePostfixModifierPosition:x}};if(t){const i=t+Sb,s=r;r=a=>a.startsWith(i)?s(a.substring(i.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:a,maybePostfixModifierPosition:void 0}}if(n){const i=r;r=s=>n({className:s,parseClassName:i})}return r},R5=e=>e.endsWith(wb)?e.substring(0,e.length-1):e.startsWith(wb)?e.substring(1):e,L5=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(r=>[r,!0]));return r=>{if(r.length<=1)return r;const i=[];let s=[];return r.forEach(a=>{a[0]==="["||t[a]?(i.push(...s.sort(),a),s=[]):s.push(a)}),i.push(...s.sort()),i}},M5=e=>({cache:I5(e.cacheSize),parseClassName:A5(e),sortModifiers:L5(e),...E5(e)}),D5=/\s+/,N5=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:s}=t,a=[],c=e.trim().split(D5);let d="";for(let h=c.length-1;h>=0;h-=1){const m=c[h],{isExternal:g,modifiers:b,hasImportantModifier:x,baseClassName:E,maybePostfixModifierPosition:P}=n(m);if(g){d=m+(d.length>0?" "+d:d);continue}let _=!!P,T=r(_?E.substring(0,P):E);if(!T){if(!_){d=m+(d.length>0?" "+d:d);continue}if(T=r(E),!T){d=m+(d.length>0?" "+d:d);continue}_=!1}const R=s(b).join(":"),L=x?R+wb:R,z=L+T;if(a.includes(z))continue;a.push(z);const K=i(T,_);for(let M=0;M0?" "+d:d)}return d};function F5(){let e=0,t,n,r="";for(;e{if(typeof e=="string")return e;let t,n="";for(let r=0;rg(m),e());return n=M5(h),r=n.cache.get,i=n.cache.set,s=c,c(d)}function c(d){const h=r(d);if(h)return h;const m=N5(d,n);return i(d,m),m}return function(){return s(F5.apply(null,arguments))}}const qn=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},m_=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,g_=/^\((?:(\w[\w-]*):)?(.+)\)$/i,O5=/^\d+\/\d+$/,z5=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,j5=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,B5=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,V5=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,U5=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Jc=e=>O5.test(e),mt=e=>!!e&&!Number.isNaN(Number(e)),ou=e=>!!e&&Number.isInteger(Number(e)),sk=e=>e.endsWith("%")&&mt(e.slice(0,-1)),Wl=e=>z5.test(e),K5=()=>!0,W5=e=>j5.test(e)&&!B5.test(e),qx=()=>!1,H5=e=>V5.test(e),G5=e=>U5.test(e),q5=e=>!Ne(e)&&!Fe(e),Y5=e=>Df(e,b_,qx),Ne=e=>m_.test(e),su=e=>Df(e,x_,W5),u0=e=>Df(e,sO,mt),X5=e=>Df(e,v_,qx),Q5=e=>Df(e,y_,G5),J5=e=>Df(e,qx,H5),Fe=e=>g_.test(e),hg=e=>Nf(e,x_),Z5=e=>Nf(e,lO),eO=e=>Nf(e,v_),tO=e=>Nf(e,b_),nO=e=>Nf(e,y_),rO=e=>Nf(e,aO,!0),Df=(e,t,n)=>{const r=m_.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Nf=(e,t,n=!1)=>{const r=g_.exec(e);return r?r[1]?t(r[1]):n:!1},v_=e=>e==="position",iO=new Set(["image","url"]),y_=e=>iO.has(e),oO=new Set(["length","size","percentage"]),b_=e=>oO.has(e),x_=e=>e==="length",sO=e=>e==="number",lO=e=>e==="family-name",aO=e=>e==="shadow",Cb=()=>{const e=qn("color"),t=qn("font"),n=qn("text"),r=qn("font-weight"),i=qn("tracking"),s=qn("leading"),a=qn("breakpoint"),c=qn("container"),d=qn("spacing"),h=qn("radius"),m=qn("shadow"),g=qn("inset-shadow"),b=qn("drop-shadow"),x=qn("blur"),E=qn("perspective"),P=qn("aspect"),_=qn("ease"),T=qn("animate"),R=()=>["auto","avoid","all","avoid-page","page","left","right","column"],L=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],z=()=>["auto","hidden","clip","visible","scroll"],K=()=>["auto","contain","none"],M=()=>[Fe,Ne,d],J=()=>[Jc,"full","auto",...M()],re=()=>[ou,"none","subgrid",Fe,Ne],ae=()=>["auto",{span:["full",ou,Fe,Ne]},Fe,Ne],j=()=>[ou,"auto",Fe,Ne],B=()=>["auto","min","max","fr",Fe,Ne],Y=()=>["start","end","center","between","around","evenly","stretch","baseline"],te=()=>["start","end","center","stretch"],G=()=>["auto",...M()],fe=()=>[Jc,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...M()],Z=()=>[e,Fe,Ne],q=()=>[sk,su],W=()=>["","none","full",h,Fe,Ne],se=()=>["",mt,hg,su],A=()=>["solid","dashed","dotted","double"],V=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],oe=()=>["","none",x,Fe,Ne],O=()=>["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Fe,Ne],me=()=>["none",mt,Fe,Ne],Ee=()=>["none",mt,Fe,Ne],we=()=>[mt,Fe,Ne],je=()=>[Jc,"full",...M()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Wl],breakpoint:[Wl],color:[K5],container:[Wl],"drop-shadow":[Wl],ease:["in","out","in-out"],font:[q5],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Wl],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Wl],shadow:[Wl],spacing:["px",mt],text:[Wl],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Jc,Ne,Fe,P]}],container:["container"],columns:[{columns:[mt,Ne,Fe,c]}],"break-after":[{"break-after":R()}],"break-before":[{"break-before":R()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...L(),Ne,Fe]}],overflow:[{overflow:z()}],"overflow-x":[{"overflow-x":z()}],"overflow-y":[{"overflow-y":z()}],overscroll:[{overscroll:K()}],"overscroll-x":[{"overscroll-x":K()}],"overscroll-y":[{"overscroll-y":K()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:J()}],"inset-x":[{"inset-x":J()}],"inset-y":[{"inset-y":J()}],start:[{start:J()}],end:[{end:J()}],top:[{top:J()}],right:[{right:J()}],bottom:[{bottom:J()}],left:[{left:J()}],visibility:["visible","invisible","collapse"],z:[{z:[ou,"auto",Fe,Ne]}],basis:[{basis:[Jc,"full","auto",c,...M()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[mt,Jc,"auto","initial","none",Ne]}],grow:[{grow:["",mt,Fe,Ne]}],shrink:[{shrink:["",mt,Fe,Ne]}],order:[{order:[ou,"first","last","none",Fe,Ne]}],"grid-cols":[{"grid-cols":re()}],"col-start-end":[{col:ae()}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":re()}],"row-start-end":[{row:ae()}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":B()}],"auto-rows":[{"auto-rows":B()}],gap:[{gap:M()}],"gap-x":[{"gap-x":M()}],"gap-y":[{"gap-y":M()}],"justify-content":[{justify:[...Y(),"normal"]}],"justify-items":[{"justify-items":[...te(),"normal"]}],"justify-self":[{"justify-self":["auto",...te()]}],"align-content":[{content:["normal",...Y()]}],"align-items":[{items:[...te(),"baseline"]}],"align-self":[{self:["auto",...te(),"baseline"]}],"place-content":[{"place-content":Y()}],"place-items":[{"place-items":[...te(),"baseline"]}],"place-self":[{"place-self":["auto",...te()]}],p:[{p:M()}],px:[{px:M()}],py:[{py:M()}],ps:[{ps:M()}],pe:[{pe:M()}],pt:[{pt:M()}],pr:[{pr:M()}],pb:[{pb:M()}],pl:[{pl:M()}],m:[{m:G()}],mx:[{mx:G()}],my:[{my:G()}],ms:[{ms:G()}],me:[{me:G()}],mt:[{mt:G()}],mr:[{mr:G()}],mb:[{mb:G()}],ml:[{ml:G()}],"space-x":[{"space-x":M()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":M()}],"space-y-reverse":["space-y-reverse"],size:[{size:fe()}],w:[{w:[c,"screen",...fe()]}],"min-w":[{"min-w":[c,"screen","none",...fe()]}],"max-w":[{"max-w":[c,"screen","none","prose",{screen:[a]},...fe()]}],h:[{h:["screen",...fe()]}],"min-h":[{"min-h":["screen","none",...fe()]}],"max-h":[{"max-h":["screen",...fe()]}],"font-size":[{text:["base",n,hg,su]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Fe,u0]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",sk,Ne]}],"font-family":[{font:[Z5,Ne,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,Fe,Ne]}],"line-clamp":[{"line-clamp":[mt,"none",Fe,u0]}],leading:[{leading:[s,...M()]}],"list-image":[{"list-image":["none",Fe,Ne]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Fe,Ne]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:Z()}],"text-color":[{text:Z()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...A(),"wavy"]}],"text-decoration-thickness":[{decoration:[mt,"from-font","auto",Fe,su]}],"text-decoration-color":[{decoration:Z()}],"underline-offset":[{"underline-offset":[mt,"auto",Fe,Ne]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:M()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Fe,Ne]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Fe,Ne]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...L(),eO,X5]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}],"bg-size":[{bg:["auto","cover","contain",tO,Y5]}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ou,Fe,Ne],radial:["",Fe,Ne],conic:[ou,Fe,Ne]},nO,Q5]}],"bg-color":[{bg:Z()}],"gradient-from-pos":[{from:q()}],"gradient-via-pos":[{via:q()}],"gradient-to-pos":[{to:q()}],"gradient-from":[{from:Z()}],"gradient-via":[{via:Z()}],"gradient-to":[{to:Z()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:se()}],"border-w-x":[{"border-x":se()}],"border-w-y":[{"border-y":se()}],"border-w-s":[{"border-s":se()}],"border-w-e":[{"border-e":se()}],"border-w-t":[{"border-t":se()}],"border-w-r":[{"border-r":se()}],"border-w-b":[{"border-b":se()}],"border-w-l":[{"border-l":se()}],"divide-x":[{"divide-x":se()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":se()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...A(),"hidden","none"]}],"divide-style":[{divide:[...A(),"hidden","none"]}],"border-color":[{border:Z()}],"border-color-x":[{"border-x":Z()}],"border-color-y":[{"border-y":Z()}],"border-color-s":[{"border-s":Z()}],"border-color-e":[{"border-e":Z()}],"border-color-t":[{"border-t":Z()}],"border-color-r":[{"border-r":Z()}],"border-color-b":[{"border-b":Z()}],"border-color-l":[{"border-l":Z()}],"divide-color":[{divide:Z()}],"outline-style":[{outline:[...A(),"none","hidden"]}],"outline-offset":[{"outline-offset":[mt,Fe,Ne]}],"outline-w":[{outline:["",mt,hg,su]}],"outline-color":[{outline:[e]}],shadow:[{shadow:["","none",m,rO,J5]}],"shadow-color":[{shadow:Z()}],"inset-shadow":[{"inset-shadow":["none",Fe,Ne,g]}],"inset-shadow-color":[{"inset-shadow":Z()}],"ring-w":[{ring:se()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:Z()}],"ring-offset-w":[{"ring-offset":[mt,su]}],"ring-offset-color":[{"ring-offset":Z()}],"inset-ring-w":[{"inset-ring":se()}],"inset-ring-color":[{"inset-ring":Z()}],opacity:[{opacity:[mt,Fe,Ne]}],"mix-blend":[{"mix-blend":[...V(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":V()}],filter:[{filter:["","none",Fe,Ne]}],blur:[{blur:oe()}],brightness:[{brightness:[mt,Fe,Ne]}],contrast:[{contrast:[mt,Fe,Ne]}],"drop-shadow":[{"drop-shadow":["","none",b,Fe,Ne]}],grayscale:[{grayscale:["",mt,Fe,Ne]}],"hue-rotate":[{"hue-rotate":[mt,Fe,Ne]}],invert:[{invert:["",mt,Fe,Ne]}],saturate:[{saturate:[mt,Fe,Ne]}],sepia:[{sepia:["",mt,Fe,Ne]}],"backdrop-filter":[{"backdrop-filter":["","none",Fe,Ne]}],"backdrop-blur":[{"backdrop-blur":oe()}],"backdrop-brightness":[{"backdrop-brightness":[mt,Fe,Ne]}],"backdrop-contrast":[{"backdrop-contrast":[mt,Fe,Ne]}],"backdrop-grayscale":[{"backdrop-grayscale":["",mt,Fe,Ne]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[mt,Fe,Ne]}],"backdrop-invert":[{"backdrop-invert":["",mt,Fe,Ne]}],"backdrop-opacity":[{"backdrop-opacity":[mt,Fe,Ne]}],"backdrop-saturate":[{"backdrop-saturate":[mt,Fe,Ne]}],"backdrop-sepia":[{"backdrop-sepia":["",mt,Fe,Ne]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":M()}],"border-spacing-x":[{"border-spacing-x":M()}],"border-spacing-y":[{"border-spacing-y":M()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Fe,Ne]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[mt,"initial",Fe,Ne]}],ease:[{ease:["linear","initial",_,Fe,Ne]}],delay:[{delay:[mt,Fe,Ne]}],animate:[{animate:["none",T,Fe,Ne]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[E,Fe,Ne]}],"perspective-origin":[{"perspective-origin":O()}],rotate:[{rotate:me()}],"rotate-x":[{"rotate-x":me()}],"rotate-y":[{"rotate-y":me()}],"rotate-z":[{"rotate-z":me()}],scale:[{scale:Ee()}],"scale-x":[{"scale-x":Ee()}],"scale-y":[{"scale-y":Ee()}],"scale-z":[{"scale-z":Ee()}],"scale-3d":["scale-3d"],skew:[{skew:we()}],"skew-x":[{"skew-x":we()}],"skew-y":[{"skew-y":we()}],transform:[{transform:[Fe,Ne,"","none","gpu","cpu"]}],"transform-origin":[{origin:O()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:je()}],"translate-x":[{"translate-x":je()}],"translate-y":[{"translate-y":je()}],"translate-z":[{"translate-z":je()}],"translate-none":["translate-none"],accent:[{accent:Z()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:Z()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Fe,Ne]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":M()}],"scroll-mx":[{"scroll-mx":M()}],"scroll-my":[{"scroll-my":M()}],"scroll-ms":[{"scroll-ms":M()}],"scroll-me":[{"scroll-me":M()}],"scroll-mt":[{"scroll-mt":M()}],"scroll-mr":[{"scroll-mr":M()}],"scroll-mb":[{"scroll-mb":M()}],"scroll-ml":[{"scroll-ml":M()}],"scroll-p":[{"scroll-p":M()}],"scroll-px":[{"scroll-px":M()}],"scroll-py":[{"scroll-py":M()}],"scroll-ps":[{"scroll-ps":M()}],"scroll-pe":[{"scroll-pe":M()}],"scroll-pt":[{"scroll-pt":M()}],"scroll-pr":[{"scroll-pr":M()}],"scroll-pb":[{"scroll-pb":M()}],"scroll-pl":[{"scroll-pl":M()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Fe,Ne]}],fill:[{fill:["none",...Z()]}],"stroke-w":[{stroke:[mt,hg,su,u0]}],stroke:[{stroke:["none",...Z()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["before","after","placeholder","file","marker","selection","first-line","first-letter","backdrop","*","**"]}},uO=(e,{cacheSize:t,prefix:n,experimentalParseClassName:r,extend:i={},override:s={}})=>($p(e,"cacheSize",t),$p(e,"prefix",n),$p(e,"experimentalParseClassName",r),mg(e.theme,s.theme),mg(e.classGroups,s.classGroups),mg(e.conflictingClassGroups,s.conflictingClassGroups),mg(e.conflictingClassGroupModifiers,s.conflictingClassGroupModifiers),$p(e,"orderSensitiveModifiers",s.orderSensitiveModifiers),gg(e.theme,i.theme),gg(e.classGroups,i.classGroups),gg(e.conflictingClassGroups,i.conflictingClassGroups),gg(e.conflictingClassGroupModifiers,i.conflictingClassGroupModifiers),w_(e,i,"orderSensitiveModifiers"),e),$p=(e,t,n)=>{n!==void 0&&(e[t]=n)},mg=(e,t)=>{if(t)for(const n in t)$p(e,n,t[n])},gg=(e,t)=>{if(t)for(const n in t)w_(e,t,n)},w_=(e,t,n)=>{const r=t[n];r!==void 0&&(e[n]=e[n]?e[n].concat(r):r)},S_=(e,...t)=>typeof e=="function"?kb(Cb,e,...t):kb(()=>uO(Cb(),e),...t),cO=kb(Cb);var fO={twMerge:!0,twMergeConfig:{},responsiveVariants:!1},k_=e=>e||void 0,oh=(...e)=>k_(c_(e).filter(Boolean).join(" ")),c0=null,Ys={},Eb=!1,mp=(...e)=>t=>t.twMerge?((!c0||Eb)&&(Eb=!1,c0=ti(Ys)?cO:S_({...Ys,extend:{theme:Ys.theme,classGroups:Ys.classGroups,conflictingClassGroupModifiers:Ys.conflictingClassGroupModifiers,conflictingClassGroups:Ys.conflictingClassGroups,...Ys.extend}})),k_(c0(oh(e)))):oh(e),lk=(e,t)=>{for(let n in t)e.hasOwnProperty(n)?e[n]=oh(e[n],t[n]):e[n]=t[n];return e},dO=(e,t)=>{let{extend:n=null,slots:r={},variants:i={},compoundVariants:s=[],compoundSlots:a=[],defaultVariants:c={}}=e,d={...fO,...t},h=n!=null&&n.base?oh(n.base,e?.base):e?.base,m=n!=null&&n.variants&&!ti(n.variants)?d_(i,n.variants):i,g=n!=null&&n.defaultVariants&&!ti(n.defaultVariants)?{...n.defaultVariants,...c}:c;!ti(d.twMergeConfig)&&!C5(d.twMergeConfig,Ys)&&(Eb=!0,Ys=d.twMergeConfig);let b=ti(n?.slots),x=ti(r)?{}:{base:oh(e?.base,b&&n?.base),...r},E=b?x:lk({...n?.slots},ti(x)?{base:e?.base}:x),P=ti(n?.compoundVariants)?s:f_(n?.compoundVariants,s),_=R=>{if(ti(m)&&ti(r)&&b)return mp(h,R?.class,R?.className)(d);if(P&&!Array.isArray(P))throw new TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof P}`);if(a&&!Array.isArray(a))throw new TypeError(`The "compoundSlots" prop must be an array. Received: ${typeof a}`);let L=(Y,te,G=[],fe)=>{let Z=G;if(typeof te=="string")Z=Z.concat(rk(te).split(" ").map(q=>`${Y}:${q}`));else if(Array.isArray(te))Z=Z.concat(te.reduce((q,W)=>q.concat(`${Y}:${W}`),[]));else if(typeof te=="object"&&typeof fe=="string"){for(let q in te)if(te.hasOwnProperty(q)&&q===fe){let W=te[q];if(W&&typeof W=="string"){let se=rk(W);Z[fe]?Z[fe]=Z[fe].concat(se.split(" ").map(A=>`${Y}:${A}`)):Z[fe]=se.split(" ").map(A=>`${Y}:${A}`)}else Array.isArray(W)&&W.length>0&&(Z[fe]=W.reduce((se,A)=>se.concat(`${Y}:${A}`),[]))}}return Z},z=(Y,te=m,G=null,fe=null)=>{var Z;let q=te[Y];if(!q||ti(q))return null;let W=(Z=fe?.[Y])!=null?Z:R?.[Y];if(W===null)return null;let se=nk(W),A=Array.isArray(d.responsiveVariants)&&d.responsiveVariants.length>0||d.responsiveVariants===!0,V=g?.[Y],oe=[];if(typeof se=="object"&&A)for(let[Ee,we]of Object.entries(se)){let je=q[we];if(Ee==="initial"){V=we;continue}Array.isArray(d.responsiveVariants)&&!d.responsiveVariants.includes(Ee)||(oe=L(Ee,je,oe,G))}let O=se!=null&&typeof se!="object"?se:nk(V),me=q[O||"false"];return typeof oe=="object"&&typeof G=="string"&&oe[G]?lk(oe,me):oe.length>0?(oe.push(me),G==="base"?oe.join(" "):oe):me},K=()=>m?Object.keys(m).map(Y=>z(Y,m)):null,M=(Y,te)=>{if(!m||typeof m!="object")return null;let G=new Array;for(let fe in m){let Z=z(fe,m,Y,te),q=Y==="base"&&typeof Z=="string"?Z:Z&&Z[Y];q&&(G[G.length]=q)}return G},J={};for(let Y in R)R[Y]!==void 0&&(J[Y]=R[Y]);let re=(Y,te)=>{var G;let fe=typeof R?.[Y]=="object"?{[Y]:(G=R[Y])==null?void 0:G.initial}:{};return{...g,...J,...fe,...te}},ae=(Y=[],te)=>{let G=[];for(let{class:fe,className:Z,...q}of Y){let W=!0;for(let[se,A]of Object.entries(q)){let V=re(se,te)[se];if(Array.isArray(A)){if(!A.includes(V)){W=!1;break}}else{let oe=O=>O==null||O===!1;if(oe(A)&&oe(V))continue;if(V!==A){W=!1;break}}}W&&(fe&&G.push(fe),Z&&G.push(Z))}return G},j=Y=>{let te=ae(P,Y);if(!Array.isArray(te))return te;let G={};for(let fe of te)if(typeof fe=="string"&&(G.base=mp(G.base,fe)(d)),typeof fe=="object")for(let[Z,q]of Object.entries(fe))G[Z]=mp(G[Z],q)(d);return G},B=Y=>{if(a.length<1)return null;let te={};for(let{slots:G=[],class:fe,className:Z,...q}of a){if(!ti(q)){let W=!0;for(let se of Object.keys(q)){let A=re(se,Y)[se];if(A===void 0||(Array.isArray(q[se])?!q[se].includes(A):q[se]!==A)){W=!1;break}}if(!W)continue}for(let W of G)te[W]=te[W]||[],te[W].push([fe,Z])}return te};if(!ti(r)||!b){let Y={};if(typeof E=="object"&&!ti(E))for(let te of Object.keys(E))Y[te]=G=>{var fe,Z;return mp(E[te],M(te,G),((fe=j(G))!=null?fe:[])[te],((Z=B(G))!=null?Z:[])[te],G?.class,G?.className)(d)};return Y}return mp(h,K(),ae(P),R?.class,R?.className)(d)},T=()=>{if(!(!m||typeof m!="object"))return Object.keys(m)};return _.variantKeys=T(),_.extend=n,_.base=h,_.slots=E,_.variants=m,_.defaultVariants=g,_.compoundSlots=a,_.compoundVariants=P,_},Nr=(e,t)=>{var n,r,i;return dO(e,{...t,twMerge:(n=t?.twMerge)!=null?n:!0,twMergeConfig:{...t?.twMergeConfig,theme:{...(r=t?.twMergeConfig)==null?void 0:r.theme,...bb.theme},classGroups:{...(i=t?.twMergeConfig)==null?void 0:i.classGroups,...bb.classGroups}}})},ak=Nr({slots:{base:"relative inline-flex flex-col gap-2 items-center justify-center",wrapper:"relative flex",label:"text-foreground dark:text-foreground-dark font-regular",circle1:"absolute w-full h-full rounded-full",circle2:"absolute w-full h-full rounded-full",dots:"relative rounded-full mx-auto",spinnerBars:["absolute","animate-fade-out","rounded-full","w-[25%]","h-[8%]","left-[calc(37.5%)]","top-[calc(46%)]","spinner-bar-animation"]},variants:{size:{sm:{wrapper:"w-5 h-5",circle1:"border-2",circle2:"border-2",dots:"size-1",label:"text-small"},md:{wrapper:"w-8 h-8",circle1:"border-3",circle2:"border-3",dots:"size-1.5",label:"text-medium"},lg:{wrapper:"w-10 h-10",circle1:"border-3",circle2:"border-3",dots:"size-2",label:"text-large"}},color:{current:{circle1:"border-b-current",circle2:"border-b-current",dots:"bg-current",spinnerBars:"bg-current"},white:{circle1:"border-b-white",circle2:"border-b-white",dots:"bg-white",spinnerBars:"bg-white"},default:{circle1:"border-b-default",circle2:"border-b-default",dots:"bg-default",spinnerBars:"bg-default"},primary:{circle1:"border-b-primary",circle2:"border-b-primary",dots:"bg-primary",spinnerBars:"bg-primary"},secondary:{circle1:"border-b-secondary",circle2:"border-b-secondary",dots:"bg-secondary",spinnerBars:"bg-secondary"},success:{circle1:"border-b-success",circle2:"border-b-success",dots:"bg-success",spinnerBars:"bg-success"},warning:{circle1:"border-b-warning",circle2:"border-b-warning",dots:"bg-warning",spinnerBars:"bg-warning"},danger:{circle1:"border-b-danger",circle2:"border-b-danger",dots:"bg-danger",spinnerBars:"bg-danger"}},labelColor:{foreground:{label:"text-foreground"},primary:{label:"text-primary"},secondary:{label:"text-secondary"},success:{label:"text-success"},warning:{label:"text-warning"},danger:{label:"text-danger"}},variant:{default:{circle1:["animate-spinner-ease-spin","border-solid","border-t-transparent","border-l-transparent","border-r-transparent"],circle2:["opacity-75","animate-spinner-linear-spin","border-dotted","border-t-transparent","border-l-transparent","border-r-transparent"]},gradient:{circle1:["border-0","bg-gradient-to-b","from-transparent","via-transparent","to-primary","animate-spinner-linear-spin","[animation-duration:1s]","[-webkit-mask:radial-gradient(closest-side,rgba(0,0,0,0.0)calc(100%-3px),rgba(0,0,0,1)calc(100%-3px))]"],circle2:["hidden"]},wave:{wrapper:"translate-y-3/4",dots:["animate-sway","spinner-dot-animation"]},dots:{wrapper:"translate-y-2/4",dots:["animate-blink","spinner-dot-blink-animation"]},spinner:{},simple:{wrapper:"text-foreground h-5 w-5 animate-spin",circle1:"opacity-25",circle2:"opacity-75"}}},defaultVariants:{size:"md",color:"primary",labelColor:"foreground",variant:"default"},compoundVariants:[{variant:"gradient",color:"current",class:{circle1:"to-current"}},{variant:"gradient",color:"white",class:{circle1:"to-white"}},{variant:"gradient",color:"default",class:{circle1:"to-default"}},{variant:"gradient",color:"primary",class:{circle1:"to-primary"}},{variant:"gradient",color:"secondary",class:{circle1:"to-secondary"}},{variant:"gradient",color:"success",class:{circle1:"to-success"}},{variant:"gradient",color:"warning",class:{circle1:"to-warning"}},{variant:"gradient",color:"danger",class:{circle1:"to-danger"}},{variant:"wave",size:"sm",class:{wrapper:"w-5 h-5"}},{variant:"wave",size:"md",class:{wrapper:"w-8 h-8"}},{variant:"wave",size:"lg",class:{wrapper:"w-12 h-12"}},{variant:"dots",size:"sm",class:{wrapper:"w-5 h-5"}},{variant:"dots",size:"md",class:{wrapper:"w-8 h-8"}},{variant:"dots",size:"lg",class:{wrapper:"w-12 h-12"}},{variant:"simple",size:"sm",class:{wrapper:"w-5 h-5"}},{variant:"simple",size:"md",class:{wrapper:"w-8 h-8"}},{variant:"simple",size:"lg",class:{wrapper:"w-12 h-12"}},{variant:"simple",color:"current",class:{wrapper:"text-current"}},{variant:"simple",color:"white",class:{wrapper:"text-white"}},{variant:"simple",color:"default",class:{wrapper:"text-default"}},{variant:"simple",color:"primary",class:{wrapper:"text-primary"}},{variant:"simple",color:"secondary",class:{wrapper:"text-secondary"}},{variant:"simple",color:"success",class:{wrapper:"text-success"}},{variant:"simple",color:"warning",class:{wrapper:"text-warning"}},{variant:"simple",color:"danger",class:{wrapper:"text-danger"}}]}),bh=["outline-hidden","data-[focus-visible=true]:z-10","data-[focus-visible=true]:outline-2","data-[focus-visible=true]:outline-focus","data-[focus-visible=true]:outline-offset-2"],pO=["outline-hidden","group-data-[focus-visible=true]:z-10","group-data-[focus-visible=true]:ring-2","group-data-[focus-visible=true]:ring-focus","group-data-[focus-visible=true]:ring-offset-2","group-data-[focus-visible=true]:ring-offset-background"],Zc={default:["[&+.border-medium.border-default]:ms-[calc(var(--heroui-border-width-medium)*-1)]"],primary:["[&+.border-medium.border-primary]:ms-[calc(var(--heroui-border-width-medium)*-1)]"],secondary:["[&+.border-medium.border-secondary]:ms-[calc(var(--heroui-border-width-medium)*-1)]"],success:["[&+.border-medium.border-success]:ms-[calc(var(--heroui-border-width-medium)*-1)]"],warning:["[&+.border-medium.border-warning]:ms-[calc(var(--heroui-border-width-medium)*-1)]"],danger:["[&+.border-medium.border-danger]:ms-[calc(var(--heroui-border-width-medium)*-1)]"]},wG=["font-inherit","text-[100%]","leading-[1.15]","m-0","p-0","overflow-visible","box-border","absolute","top-0","w-full","h-full","opacity-[0.0001]","z-[1]","cursor-pointer","disabled:cursor-default"],uk=Nr({slots:{base:["z-0","relative","bg-transparent","before:content-['']","before:hidden","before:z-[-1]","before:absolute","before:rotate-45","before:w-2.5","before:h-2.5","before:rounded-sm","data-[arrow=true]:before:block","data-[placement=top]:before:-bottom-[calc(theme(spacing.5)/4_-_1.5px)]","data-[placement=top]:before:left-1/2","data-[placement=top]:before:-translate-x-1/2","data-[placement=top-start]:before:-bottom-[calc(theme(spacing.5)/4_-_1.5px)]","data-[placement=top-start]:before:left-3","data-[placement=top-end]:before:-bottom-[calc(theme(spacing.5)/4_-_1.5px)]","data-[placement=top-end]:before:right-3","data-[placement=bottom]:before:-top-[calc(theme(spacing.5)/4_-_1.5px)]","data-[placement=bottom]:before:left-1/2","data-[placement=bottom]:before:-translate-x-1/2","data-[placement=bottom-start]:before:-top-[calc(theme(spacing.5)/4_-_1.5px)]","data-[placement=bottom-start]:before:left-3","data-[placement=bottom-end]:before:-top-[calc(theme(spacing.5)/4_-_1.5px)]","data-[placement=bottom-end]:before:right-3","data-[placement=left]:before:-right-[calc(theme(spacing.5)/4_-_2px)]","data-[placement=left]:before:top-1/2","data-[placement=left]:before:-translate-y-1/2","data-[placement=left-start]:before:-right-[calc(theme(spacing.5)/4_-_3px)]","data-[placement=left-start]:before:top-1/4","data-[placement=left-end]:before:-right-[calc(theme(spacing.5)/4_-_3px)]","data-[placement=left-end]:before:bottom-1/4","data-[placement=right]:before:-left-[calc(theme(spacing.5)/4_-_2px)]","data-[placement=right]:before:top-1/2","data-[placement=right]:before:-translate-y-1/2","data-[placement=right-start]:before:-left-[calc(theme(spacing.5)/4_-_3px)]","data-[placement=right-start]:before:top-1/4","data-[placement=right-end]:before:-left-[calc(theme(spacing.5)/4_-_3px)]","data-[placement=right-end]:before:bottom-1/4",...bh],content:["z-10","px-2.5","py-1","w-full","inline-flex","flex-col","items-center","justify-center","box-border","subpixel-antialiased","outline-hidden","box-border"],trigger:["z-10"],backdrop:["hidden"],arrow:[]},variants:{size:{sm:{content:"text-tiny"},md:{content:"text-small"},lg:{content:"text-medium"}},color:{default:{base:"before:bg-content1 before:shadow-small",content:"bg-content1"},foreground:{base:"before:bg-foreground",content:Ze.solid.foreground},primary:{base:"before:bg-primary",content:Ze.solid.primary},secondary:{base:"before:bg-secondary",content:Ze.solid.secondary},success:{base:"before:bg-success",content:Ze.solid.success},warning:{base:"before:bg-warning",content:Ze.solid.warning},danger:{base:"before:bg-danger",content:Ze.solid.danger}},radius:{none:{content:"rounded-none"},sm:{content:"rounded-small"},md:{content:"rounded-medium"},lg:{content:"rounded-large"},full:{content:"rounded-full"}},shadow:{none:{content:"shadow-none"},sm:{content:"shadow-small"},md:{content:"shadow-medium"},lg:{content:"shadow-large"}},backdrop:{transparent:{},opaque:{backdrop:"bg-overlay/50 backdrop-opacity-disabled"},blur:{backdrop:"backdrop-blur-sm backdrop-saturate-150 bg-overlay/30"}},triggerScaleOnOpen:{true:{trigger:["aria-expanded:scale-[0.97]","aria-expanded:opacity-70","subpixel-antialiased"]},false:{}},disableAnimation:{true:{base:"animate-none"}},isTriggerDisabled:{true:{trigger:"opacity-disabled pointer-events-none"},false:{}}},defaultVariants:{color:"default",radius:"lg",size:"md",shadow:"md",backdrop:"transparent",triggerScaleOnOpen:!0},compoundVariants:[{backdrop:["opaque","blur"],class:{backdrop:"block w-full h-full fixed inset-0 -z-30"}}]});Nr({slots:{base:"flex flex-col gap-2 w-full",label:"",labelWrapper:"flex justify-between",value:"",track:"z-0 relative bg-default-300/50 overflow-hidden rtl:rotate-180",indicator:"h-full"},variants:{color:{default:{indicator:"bg-default-400"},primary:{indicator:"bg-primary"},secondary:{indicator:"bg-secondary"},success:{indicator:"bg-success"},warning:{indicator:"bg-warning"},danger:{indicator:"bg-danger"}},size:{sm:{label:"text-small",value:"text-small",track:"h-1"},md:{label:"text-medium",value:"text-medium",track:"h-3"},lg:{label:"text-large",value:"text-large",track:"h-5"}},radius:{none:{track:"rounded-none",indicator:"rounded-none"},sm:{track:"rounded-small",indicator:"rounded-small"},md:{track:"rounded-medium",indicator:"rounded-medium"},lg:{track:"rounded-large",indicator:"rounded-large"},full:{track:"rounded-full",indicator:"rounded-full"}},isStriped:{true:{indicator:"bg-stripe-gradient-default bg-stripe-size"}},isIndeterminate:{true:{indicator:["absolute","w-full","origin-left","animate-indeterminate-bar"]}},isDisabled:{true:{base:"opacity-disabled cursor-not-allowed"}},disableAnimation:{true:{},false:{indicator:"transition-transform !duration-500"}}},defaultVariants:{color:"primary",size:"md",radius:"full",isStriped:!1,isIndeterminate:!1,isDisabled:!1},compoundVariants:[{disableAnimation:!0,isIndeterminate:!1,class:{indicator:"!transition-none motion-reduce:transition-none"}},{color:"primary",isStriped:!0,class:{indicator:"bg-stripe-gradient-primary bg-stripe-size"}},{color:"secondary",isStriped:!0,class:{indicator:"bg-stripe-gradient-secondary bg-stripe-size"}},{color:"success",isStriped:!0,class:{indicator:"bg-stripe-gradient-success bg-stripe-size"}},{color:"warning",isStriped:!0,class:{indicator:"bg-stripe-gradient-warning bg-stripe-size"}},{color:"danger",isStriped:!0,class:{indicator:"bg-stripe-gradient-danger bg-stripe-size"}}]},{twMerge:!0});var ck=Nr({slots:{base:"flex flex-col justify-center gap-1 max-w-fit items-center",label:"",svgWrapper:"relative block",svg:"z-0 relative overflow-hidden",track:"h-full stroke-default-300/50",indicator:"h-full stroke-current",value:"absolute font-normal inset-0 flex items-center justify-center"},variants:{color:{default:{svg:"text-default-400"},primary:{svg:"text-primary"},secondary:{svg:"text-secondary"},success:{svg:"text-success"},warning:{svg:"text-warning"},danger:{svg:"text-danger"}},size:{sm:{svg:"w-8 h-8",label:"text-small",value:"text-[0.5rem]"},md:{svg:"w-10 h-10",label:"text-small",value:"text-[0.55rem]"},lg:{svg:"w-12 h-12",label:"text-medium",value:"text-[0.6rem]"}},isIndeterminate:{true:{svg:"animate-spinner-ease-spin"}},isDisabled:{true:{base:"opacity-disabled cursor-not-allowed"}},disableAnimation:{true:{},false:{indicator:"transition-all !duration-500"}}},defaultVariants:{color:"primary",size:"md",isDisabled:!1},compoundVariants:[{disableAnimation:!0,isIndeterminate:!1,class:{svg:"!transition-none motion-reduce:transition-none"}}]}),hO=["data-[top-scroll=true]:[mask-image:linear-gradient(0deg,#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]","data-[bottom-scroll=true]:[mask-image:linear-gradient(180deg,#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]","data-[top-bottom-scroll=true]:[mask-image:linear-gradient(#000,#000,transparent_0,#000_var(--scroll-shadow-size),#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]"],mO=["data-[left-scroll=true]:[mask-image:linear-gradient(270deg,#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]","data-[right-scroll=true]:[mask-image:linear-gradient(90deg,#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]","data-[left-right-scroll=true]:[mask-image:linear-gradient(to_right,#000,#000,transparent_0,#000_var(--scroll-shadow-size),#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]"],fk=Nr({base:[],variants:{orientation:{vertical:["overflow-y-auto",...hO],horizontal:["overflow-x-auto",...mO]},hideScrollBar:{true:"scrollbar-hide",false:""}},defaultVariants:{orientation:"vertical",hideScrollBar:!1}}),dk=Nr({slots:{base:["group","relative","overflow-hidden","bg-content3 dark:bg-content2","pointer-events-none","before:opacity-100","before:absolute","before:inset-0","before:-translate-x-full","before:animate-shimmer","before:border-t","before:border-content4/30","before:bg-gradient-to-r","before:from-transparent","before:via-content4","dark:before:via-default-700/10","before:to-transparent","after:opacity-100","after:absolute","after:inset-0","after:-z-10","after:bg-content3","dark:after:bg-content2","data-[loaded=true]:pointer-events-auto","data-[loaded=true]:overflow-visible","data-[loaded=true]:!bg-transparent","data-[loaded=true]:before:opacity-0 data-[loaded=true]:before:-z-10 data-[loaded=true]:before:animate-none","data-[loaded=true]:after:opacity-0"],content:["opacity-0","group-data-[loaded=true]:opacity-100"]},variants:{disableAnimation:{true:{base:"before:animate-none before:transition-none after:transition-none",content:"transition-none"},false:{base:"transition-background !duration-300",content:"transition-opacity motion-reduce:transition-none !duration-300"}}},defaultVariants:{}}),pk=Nr({slots:{base:"group flex flex-col data-[hidden=true]:hidden",label:["absolute","z-10","pointer-events-none","origin-top-left","shrink-0","rtl:origin-top-right","subpixel-antialiased","block","text-small","text-foreground-500"],mainWrapper:"h-full",inputWrapper:"relative w-full inline-flex tap-highlight-transparent flex-row items-center shadow-xs px-3 gap-3",innerWrapper:"inline-flex w-full items-center h-full box-border",input:["w-full font-normal bg-transparent !outline-hidden placeholder:text-foreground-500 focus-visible:outline-hidden","data-[has-start-content=true]:ps-1.5","data-[has-end-content=true]:pe-1.5","data-[type=color]:rounded-none","file:cursor-pointer file:bg-transparent file:border-0","autofill:bg-transparent bg-clip-text"],clearButton:["p-2","-m-2","z-10","absolute","end-3","start-auto","pointer-events-none","appearance-none","outline-hidden","select-none","opacity-0","cursor-pointer","active:!opacity-70","rounded-full",...bh],helperWrapper:"hidden group-data-[has-helper=true]:flex p-1 relative flex-col gap-1.5",description:"text-tiny text-foreground-400",errorMessage:"text-tiny text-danger"},variants:{variant:{flat:{inputWrapper:["bg-default-100","data-[hover=true]:bg-default-200","group-data-[focus=true]:bg-default-100"]},faded:{inputWrapper:["bg-default-100","border-medium","border-default-200","data-[hover=true]:border-default-400 focus-within:border-default-400"],value:"group-data-[has-value=true]:text-default-foreground"},bordered:{inputWrapper:["border-medium","border-default-200","data-[hover=true]:border-default-400","group-data-[focus=true]:border-default-foreground"]},underlined:{inputWrapper:["!px-1","!pb-0","!gap-0","relative","box-border","border-b-medium","shadow-[0_1px_0px_0_rgba(0,0,0,0.05)]","border-default-200","!rounded-none","hover:border-default-300","after:content-['']","after:w-0","after:origin-center","after:bg-default-foreground","after:absolute","after:left-1/2","after:-translate-x-1/2","after:-bottom-[2px]","after:h-[2px]","group-data-[focus=true]:after:w-full"],innerWrapper:"pb-1",label:"group-data-[filled-within=true]:text-foreground"}},color:{default:{},primary:{},secondary:{},success:{},warning:{},danger:{}},size:{sm:{label:"text-tiny",inputWrapper:"h-8 min-h-8 px-2 rounded-small",input:"text-small",clearButton:"text-medium"},md:{inputWrapper:"h-10 min-h-10 rounded-medium",input:"text-small",clearButton:"text-large hover:!opacity-100"},lg:{label:"text-medium",inputWrapper:"h-12 min-h-12 rounded-large",input:"text-medium",clearButton:"text-large hover:!opacity-100"}},radius:{none:{inputWrapper:"rounded-none"},sm:{inputWrapper:"rounded-small"},md:{inputWrapper:"rounded-medium"},lg:{inputWrapper:"rounded-large"},full:{inputWrapper:"rounded-full"}},labelPlacement:{outside:{mainWrapper:"flex flex-col"},"outside-left":{base:"flex-row items-center flex-nowrap data-[has-helper=true]:items-start",inputWrapper:"flex-1",mainWrapper:"flex flex-col",label:"relative text-foreground pe-2 ps-2 pointer-events-auto"},"outside-top":{mainWrapper:"flex flex-col",label:"relative text-foreground pb-2 pointer-events-auto"},inside:{label:"cursor-text",inputWrapper:"flex-col items-start justify-center gap-0",innerWrapper:"group-data-[has-label=true]:items-end"}},fullWidth:{true:{base:"w-full"},false:{}},isClearable:{true:{input:"peer pe-6 input-search-cancel-button-none",clearButton:["peer-data-[filled=true]:pointer-events-auto","peer-data-[filled=true]:opacity-70 peer-data-[filled=true]:block","peer-data-[filled=true]:scale-100"]}},isDisabled:{true:{base:"opacity-disabled pointer-events-none",inputWrapper:"pointer-events-none",label:"pointer-events-none"}},isInvalid:{true:{label:"!text-danger",input:"!placeholder:text-danger !text-danger"}},isRequired:{true:{label:"after:content-['*'] after:text-danger after:ms-0.5"}},isMultiline:{true:{label:"relative",inputWrapper:"!h-auto",innerWrapper:"items-start group-data-[has-label=true]:items-start",input:"resize-none data-[hide-scroll=true]:scrollbar-hide",clearButton:"absolute top-2 right-2 rtl:right-auto rtl:left-2 z-10"}},disableAnimation:{true:{input:"transition-none",inputWrapper:"transition-none",label:"transition-none"},false:{inputWrapper:"transition-background motion-reduce:transition-none !duration-150",label:["will-change-auto","!duration-200","!ease-out","motion-reduce:transition-none","transition-[transform,color,left,opacity,translate,scale]"],clearButton:["scale-90","ease-out","duration-150","transition-[opacity,transform]","motion-reduce:transition-none","motion-reduce:scale-100"]}}},defaultVariants:{variant:"flat",color:"default",size:"md",fullWidth:!0,isDisabled:!1,isMultiline:!1},compoundVariants:[{variant:"flat",color:"default",class:{input:"group-data-[has-value=true]:text-default-foreground"}},{variant:"flat",color:"primary",class:{inputWrapper:["bg-primary-100","data-[hover=true]:bg-primary-50","text-primary","group-data-[focus=true]:bg-primary-50","placeholder:text-primary"],input:"placeholder:text-primary",label:"text-primary"}},{variant:"flat",color:"secondary",class:{inputWrapper:["bg-secondary-100","text-secondary","data-[hover=true]:bg-secondary-50","group-data-[focus=true]:bg-secondary-50","placeholder:text-secondary"],input:"placeholder:text-secondary",label:"text-secondary"}},{variant:"flat",color:"success",class:{inputWrapper:["bg-success-100","text-success-600","dark:text-success","placeholder:text-success-600","dark:placeholder:text-success","data-[hover=true]:bg-success-50","group-data-[focus=true]:bg-success-50"],input:"placeholder:text-success-600 dark:placeholder:text-success",label:"text-success-600 dark:text-success"}},{variant:"flat",color:"warning",class:{inputWrapper:["bg-warning-100","text-warning-600","dark:text-warning","placeholder:text-warning-600","dark:placeholder:text-warning","data-[hover=true]:bg-warning-50","group-data-[focus=true]:bg-warning-50"],input:"placeholder:text-warning-600 dark:placeholder:text-warning",label:"text-warning-600 dark:text-warning"}},{variant:"flat",color:"danger",class:{inputWrapper:["bg-danger-100","text-danger","dark:text-danger-500","placeholder:text-danger","dark:placeholder:text-danger-500","data-[hover=true]:bg-danger-50","group-data-[focus=true]:bg-danger-50"],input:"placeholder:text-danger dark:placeholder:text-danger-500",label:"text-danger dark:text-danger-500"}},{variant:"faded",color:"primary",class:{label:"text-primary",inputWrapper:"data-[hover=true]:border-primary focus-within:border-primary"}},{variant:"faded",color:"secondary",class:{label:"text-secondary",inputWrapper:"data-[hover=true]:border-secondary focus-within:border-secondary"}},{variant:"faded",color:"success",class:{label:"text-success",inputWrapper:"data-[hover=true]:border-success focus-within:border-success"}},{variant:"faded",color:"warning",class:{label:"text-warning",inputWrapper:"data-[hover=true]:border-warning focus-within:border-warning"}},{variant:"faded",color:"danger",class:{label:"text-danger",inputWrapper:"data-[hover=true]:border-danger focus-within:border-danger"}},{variant:"underlined",color:"default",class:{input:"group-data-[has-value=true]:text-foreground"}},{variant:"underlined",color:"primary",class:{inputWrapper:"after:bg-primary",label:"text-primary"}},{variant:"underlined",color:"secondary",class:{inputWrapper:"after:bg-secondary",label:"text-secondary"}},{variant:"underlined",color:"success",class:{inputWrapper:"after:bg-success",label:"text-success"}},{variant:"underlined",color:"warning",class:{inputWrapper:"after:bg-warning",label:"text-warning"}},{variant:"underlined",color:"danger",class:{inputWrapper:"after:bg-danger",label:"text-danger"}},{variant:"bordered",color:"primary",class:{inputWrapper:"group-data-[focus=true]:border-primary",label:"text-primary"}},{variant:"bordered",color:"secondary",class:{inputWrapper:"group-data-[focus=true]:border-secondary",label:"text-secondary"}},{variant:"bordered",color:"success",class:{inputWrapper:"group-data-[focus=true]:border-success",label:"text-success"}},{variant:"bordered",color:"warning",class:{inputWrapper:"group-data-[focus=true]:border-warning",label:"text-warning"}},{variant:"bordered",color:"danger",class:{inputWrapper:"group-data-[focus=true]:border-danger",label:"text-danger"}},{labelPlacement:"inside",color:"default",class:{label:"group-data-[filled-within=true]:text-default-600"}},{labelPlacement:"outside",color:"default",class:{label:"group-data-[filled-within=true]:text-foreground"}},{radius:"full",size:["sm"],class:{inputWrapper:"px-3"}},{radius:"full",size:"md",class:{inputWrapper:"px-4"}},{radius:"full",size:"lg",class:{inputWrapper:"px-5"}},{disableAnimation:!1,variant:["faded","bordered"],class:{inputWrapper:"transition-colors motion-reduce:transition-none"}},{disableAnimation:!1,variant:"underlined",class:{inputWrapper:"after:transition-width motion-reduce:after:transition-none"}},{variant:["flat","faded"],class:{inputWrapper:[...pO]}},{isInvalid:!0,variant:"flat",class:{inputWrapper:["!bg-danger-50","data-[hover=true]:!bg-danger-100","group-data-[focus=true]:!bg-danger-50"]}},{isInvalid:!0,variant:"bordered",class:{inputWrapper:"!border-danger group-data-[focus=true]:!border-danger"}},{isInvalid:!0,variant:"underlined",class:{inputWrapper:"after:!bg-danger"}},{labelPlacement:"inside",size:"sm",class:{inputWrapper:"h-12 py-1.5 px-3"}},{labelPlacement:"inside",size:"md",class:{inputWrapper:"h-14 py-2"}},{labelPlacement:"inside",size:"lg",class:{inputWrapper:"h-16 py-2.5 gap-0"}},{labelPlacement:"inside",size:"sm",variant:["bordered","faded"],class:{inputWrapper:"py-1"}},{labelPlacement:["inside","outside"],class:{label:["group-data-[filled-within=true]:pointer-events-auto"]}},{labelPlacement:"outside",isMultiline:!1,class:{base:"relative justify-end",label:["pb-0","z-20","top-1/2","-translate-y-1/2","group-data-[filled-within=true]:start-0"]}},{labelPlacement:["inside"],class:{label:["group-data-[filled-within=true]:scale-85"]}},{labelPlacement:["inside"],variant:"flat",class:{innerWrapper:"pb-0.5"}},{variant:"underlined",size:"sm",class:{innerWrapper:"pb-1"}},{variant:"underlined",size:["md","lg"],class:{innerWrapper:"pb-1.5"}},{labelPlacement:"inside",size:["sm","md"],class:{label:"text-small"}},{labelPlacement:"inside",isMultiline:!1,size:"sm",class:{label:["group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-tiny)/2_-_8px)]"]}},{labelPlacement:"inside",isMultiline:!1,size:"md",class:{label:["group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-small)/2_-_6px)]"]}},{labelPlacement:"inside",isMultiline:!1,size:"lg",class:{label:["text-medium","group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-small)/2_-_8px)]"]}},{labelPlacement:"inside",variant:["faded","bordered"],isMultiline:!1,size:"sm",class:{label:["group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-tiny)/2_-_8px_-_var(--heroui-border-width-medium))]"]}},{labelPlacement:"inside",variant:["faded","bordered"],isMultiline:!1,size:"md",class:{label:["group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-small)/2_-_6px_-_var(--heroui-border-width-medium))]"]}},{labelPlacement:"inside",variant:["faded","bordered"],isMultiline:!1,size:"lg",class:{label:["text-medium","group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-small)/2_-_8px_-_var(--heroui-border-width-medium))]"]}},{labelPlacement:"inside",variant:"underlined",isMultiline:!1,size:"sm",class:{label:["group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-tiny)/2_-_5px)]"]}},{labelPlacement:"inside",variant:"underlined",isMultiline:!1,size:"md",class:{label:["group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-small)/2_-_3.5px)]"]}},{labelPlacement:"inside",variant:"underlined",size:"lg",isMultiline:!1,class:{label:["text-medium","group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-small)/2_-_4px)]"]}},{labelPlacement:"outside",size:"sm",isMultiline:!1,class:{label:["start-2","text-tiny","group-data-[filled-within=true]:-translate-y-[calc(100%_+_var(--heroui-font-size-tiny)/2_+_16px)]"],base:"data-[has-label=true]:mt-[calc(var(--heroui-font-size-small)_+_8px)]"}},{labelPlacement:"outside",size:"md",isMultiline:!1,class:{label:["start-3","end-auto","text-small","group-data-[filled-within=true]:-translate-y-[calc(100%_+_var(--heroui-font-size-small)/2_+_20px)]"],base:"data-[has-label=true]:mt-[calc(var(--heroui-font-size-small)_+_10px)]"}},{labelPlacement:"outside",size:"lg",isMultiline:!1,class:{label:["start-3","end-auto","text-medium","group-data-[filled-within=true]:-translate-y-[calc(100%_+_var(--heroui-font-size-small)/2_+_24px)]"],base:"data-[has-label=true]:mt-[calc(var(--heroui-font-size-small)_+_12px)]"}},{labelPlacement:"outside-left",size:"sm",class:{label:"group-data-[has-helper=true]:pt-2"}},{labelPlacement:"outside-left",size:"md",class:{label:"group-data-[has-helper=true]:pt-3"}},{labelPlacement:"outside-left",size:"lg",class:{label:"group-data-[has-helper=true]:pt-4"}},{labelPlacement:["outside","outside-left"],isMultiline:!0,class:{inputWrapper:"py-2"}},{labelPlacement:"outside",isMultiline:!0,class:{label:"pb-1.5"}},{labelPlacement:"inside",isMultiline:!0,class:{label:"pb-0.5",input:"pt-0"}},{isMultiline:!0,disableAnimation:!1,class:{input:"transition-height !duration-100 motion-reduce:transition-none"}},{labelPlacement:["inside","outside"],class:{label:["pe-2","max-w-full","text-ellipsis","overflow-hidden"]}},{isMultiline:!0,radius:"full",class:{inputWrapper:"data-[has-multiple-rows=true]:rounded-large"}},{isClearable:!0,isMultiline:!0,class:{clearButton:["group-data-[has-value=true]:opacity-70 group-data-[has-value=true]:block","group-data-[has-value=true]:scale-100","group-data-[has-value=true]:pointer-events-auto"]}}]}),hk=Nr({slots:{wrapper:["flex","w-screen","h-[100dvh]","fixed","inset-0","z-50","overflow-x-auto","justify-center","h-[--visual-viewport-height]"],base:["flex","flex-col","relative","bg-white","z-50","w-full","box-border","bg-content1","outline-hidden","mx-1","my-1","sm:mx-6","sm:my-16"],backdrop:"z-50",header:"flex py-4 px-6 flex-initial text-large font-semibold",body:"flex flex-1 flex-col gap-3 px-6 py-2",footer:"flex flex-row gap-2 px-6 py-4 justify-end",closeButton:["absolute","appearance-none","outline-hidden","select-none","top-1","end-1","p-2","text-foreground-500","rounded-full","hover:bg-default-100","active:bg-default-200","tap-highlight-transparent",...bh]},variants:{size:{xs:{base:"max-w-xs"},sm:{base:"max-w-sm"},md:{base:"max-w-md"},lg:{base:"max-w-lg"},xl:{base:"max-w-xl"},"2xl":{base:"max-w-2xl"},"3xl":{base:"max-w-3xl"},"4xl":{base:"max-w-4xl"},"5xl":{base:"max-w-5xl"},full:{base:"my-0 mx-0 sm:mx-0 sm:my-0 max-w-full h-[100dvh] min-h-[100dvh] !rounded-none"}},radius:{none:{base:"rounded-none"},sm:{base:"rounded-small"},md:{base:"rounded-medium"},lg:{base:"rounded-large"}},placement:{auto:{wrapper:"items-end sm:items-center"},center:{wrapper:"items-center sm:items-center"},top:{wrapper:"items-start sm:items-start"},"top-center":{wrapper:"items-start sm:items-center"},bottom:{wrapper:"items-end sm:items-end"},"bottom-center":{wrapper:"items-end sm:items-center"}},shadow:{none:{base:"shadow-none"},sm:{base:"shadow-small"},md:{base:"shadow-medium"},lg:{base:"shadow-large"}},backdrop:{transparent:{backdrop:"hidden"},opaque:{backdrop:"bg-overlay/50 backdrop-opacity-disabled"},blur:{backdrop:"backdrop-blur-md backdrop-saturate-150 bg-overlay/30"}},scrollBehavior:{normal:{base:"overflow-y-hidden"},inside:{base:"max-h-[calc(100%_-_8rem)]",body:"overflow-y-auto"},outside:{wrapper:"items-start sm:items-start overflow-y-auto",base:"my-16"}},disableAnimation:{false:{wrapper:["[--scale-enter:100%]","[--scale-exit:100%]","[--slide-enter:0px]","[--slide-exit:80px]","sm:[--scale-enter:100%]","sm:[--scale-exit:103%]","sm:[--slide-enter:0px]","sm:[--slide-exit:0px]"]}}},defaultVariants:{size:"md",radius:"lg",shadow:"sm",placement:"auto",backdrop:"opaque",scrollBehavior:"normal"},compoundVariants:[{backdrop:["opaque","blur"],class:{backdrop:"w-screen h-screen fixed inset-0"}}]}),gO=Nr({base:"shrink-0 bg-divider border-none",variants:{orientation:{horizontal:"w-full h-divider",vertical:"h-full w-divider"}},defaultVariants:{orientation:"horizontal"}}),vO=Nr({base:"flex flex-col gap-2 items-start"}),mk=Nr({slots:{wrapper:"relative shadow-black/5",zoomedWrapper:"relative overflow-hidden rounded-inherit",img:"relative z-10 opacity-0 shadow-black/5 data-[loaded=true]:opacity-100",blurredImg:["absolute","z-0","inset-0","w-full","h-full","object-cover","filter","blur-lg","scale-105","saturate-150","opacity-30","translate-y-1"]},variants:{radius:{none:{},sm:{},md:{},lg:{},full:{}},shadow:{none:{wrapper:"shadow-none",img:"shadow-none"},sm:{wrapper:"shadow-small",img:"shadow-small"},md:{wrapper:"shadow-medium",img:"shadow-medium"},lg:{wrapper:"shadow-large",img:"shadow-large"}},isZoomed:{true:{img:["object-cover","transform","hover:scale-125"]}},showSkeleton:{true:{wrapper:["group","relative","overflow-hidden","bg-content3 dark:bg-content2"],img:"opacity-0"}},disableAnimation:{true:{img:"transition-none"},false:{img:"transition-transform-opacity motion-reduce:transition-none !duration-300"}}},defaultVariants:{radius:"lg",shadow:"none",isZoomed:!1,isBlurred:!1,showSkeleton:!1},compoundVariants:[{showSkeleton:!0,disableAnimation:!1,class:{wrapper:["before:opacity-100","before:absolute","before:inset-0","before:-translate-x-full","before:animate-shimmer","before:border-t","before:border-content4/30","before:bg-gradient-to-r","before:from-transparent","before:via-content4","dark:before:via-default-700/10","before:to-transparent","after:opacity-100","after:absolute","after:inset-0","after:-z-10","after:bg-content3","dark:after:bg-content2"]}}],compoundSlots:[{slots:["wrapper","img","blurredImg","zoomedWrapper"],radius:"none",class:"rounded-none"},{slots:["wrapper","img","blurredImg","zoomedWrapper"],radius:"full",class:"rounded-full"},{slots:["wrapper","img","blurredImg","zoomedWrapper"],radius:"sm",class:"rounded-small"},{slots:["wrapper","img","blurredImg","zoomedWrapper"],radius:"md",class:"rounded-md"},{slots:["wrapper","img","blurredImg","zoomedWrapper"],radius:"lg",class:"rounded-large"}]}),yO=Nr({base:["z-0","group","relative","inline-flex","items-center","justify-center","box-border","appearance-none","outline-hidden","select-none","whitespace-nowrap","min-w-max","font-normal","subpixel-antialiased","overflow-hidden","tap-highlight-transparent","transform-gpu data-[pressed=true]:scale-[0.97]","cursor-pointer",...bh],variants:{variant:{solid:"",bordered:"border-medium bg-transparent",light:"bg-transparent",flat:"",faded:"border-medium",shadow:"",ghost:"border-medium bg-transparent"},size:{sm:"px-3 min-w-16 h-8 text-tiny gap-2 rounded-small",md:"px-4 min-w-20 h-10 text-small gap-2 rounded-medium",lg:"px-6 min-w-24 h-12 text-medium gap-3 rounded-large"},color:{default:"",primary:"",secondary:"",success:"",warning:"",danger:""},radius:{none:"rounded-none",sm:"rounded-small",md:"rounded-medium",lg:"rounded-large",full:"rounded-full"},fullWidth:{true:"w-full"},isDisabled:{true:"opacity-disabled pointer-events-none"},isInGroup:{true:"[&:not(:first-child):not(:last-child)]:rounded-none"},isIconOnly:{true:"px-0 !gap-0",false:"[&>svg]:max-w-[theme(spacing.8)]"},disableAnimation:{true:"!transition-none data-[pressed=true]:scale-100",false:"transition-transform-colors-opacity motion-reduce:transition-none"}},defaultVariants:{size:"md",variant:"solid",color:"default",fullWidth:!1,isDisabled:!1,isInGroup:!1},compoundVariants:[{variant:"solid",color:"default",class:Ze.solid.default},{variant:"solid",color:"primary",class:Ze.solid.primary},{variant:"solid",color:"secondary",class:Ze.solid.secondary},{variant:"solid",color:"success",class:Ze.solid.success},{variant:"solid",color:"warning",class:Ze.solid.warning},{variant:"solid",color:"danger",class:Ze.solid.danger},{variant:"shadow",color:"default",class:Ze.shadow.default},{variant:"shadow",color:"primary",class:Ze.shadow.primary},{variant:"shadow",color:"secondary",class:Ze.shadow.secondary},{variant:"shadow",color:"success",class:Ze.shadow.success},{variant:"shadow",color:"warning",class:Ze.shadow.warning},{variant:"shadow",color:"danger",class:Ze.shadow.danger},{variant:"bordered",color:"default",class:Ze.bordered.default},{variant:"bordered",color:"primary",class:Ze.bordered.primary},{variant:"bordered",color:"secondary",class:Ze.bordered.secondary},{variant:"bordered",color:"success",class:Ze.bordered.success},{variant:"bordered",color:"warning",class:Ze.bordered.warning},{variant:"bordered",color:"danger",class:Ze.bordered.danger},{variant:"flat",color:"default",class:Ze.flat.default},{variant:"flat",color:"primary",class:Ze.flat.primary},{variant:"flat",color:"secondary",class:Ze.flat.secondary},{variant:"flat",color:"success",class:Ze.flat.success},{variant:"flat",color:"warning",class:Ze.flat.warning},{variant:"flat",color:"danger",class:Ze.flat.danger},{variant:"faded",color:"default",class:Ze.faded.default},{variant:"faded",color:"primary",class:Ze.faded.primary},{variant:"faded",color:"secondary",class:Ze.faded.secondary},{variant:"faded",color:"success",class:Ze.faded.success},{variant:"faded",color:"warning",class:Ze.faded.warning},{variant:"faded",color:"danger",class:Ze.faded.danger},{variant:"light",color:"default",class:[Ze.light.default,"data-[hover=true]:bg-default/40"]},{variant:"light",color:"primary",class:[Ze.light.primary,"data-[hover=true]:bg-primary/20"]},{variant:"light",color:"secondary",class:[Ze.light.secondary,"data-[hover=true]:bg-secondary/20"]},{variant:"light",color:"success",class:[Ze.light.success,"data-[hover=true]:bg-success/20"]},{variant:"light",color:"warning",class:[Ze.light.warning,"data-[hover=true]:bg-warning/20"]},{variant:"light",color:"danger",class:[Ze.light.danger,"data-[hover=true]:bg-danger/20"]},{variant:"ghost",color:"default",class:[Ze.ghost.default,"data-[hover=true]:!bg-default"]},{variant:"ghost",color:"primary",class:[Ze.ghost.primary,"data-[hover=true]:!bg-primary data-[hover=true]:!text-primary-foreground"]},{variant:"ghost",color:"secondary",class:[Ze.ghost.secondary,"data-[hover=true]:!bg-secondary data-[hover=true]:!text-secondary-foreground"]},{variant:"ghost",color:"success",class:[Ze.ghost.success,"data-[hover=true]:!bg-success data-[hover=true]:!text-success-foreground"]},{variant:"ghost",color:"warning",class:[Ze.ghost.warning,"data-[hover=true]:!bg-warning data-[hover=true]:!text-warning-foreground"]},{variant:"ghost",color:"danger",class:[Ze.ghost.danger,"data-[hover=true]:!bg-danger data-[hover=true]:!text-danger-foreground"]},{isInGroup:!0,class:"rounded-none first:rounded-s-medium last:rounded-e-medium"},{isInGroup:!0,size:"sm",class:"rounded-none first:rounded-s-small last:rounded-e-small"},{isInGroup:!0,size:"md",class:"rounded-none first:rounded-s-medium last:rounded-e-medium"},{isInGroup:!0,size:"lg",class:"rounded-none first:rounded-s-large last:rounded-e-large"},{isInGroup:!0,isRounded:!0,class:"rounded-none first:rounded-s-full last:rounded-e-full"},{isInGroup:!0,radius:"none",class:"rounded-none first:rounded-s-none last:rounded-e-none"},{isInGroup:!0,radius:"sm",class:"rounded-none first:rounded-s-small last:rounded-e-small"},{isInGroup:!0,radius:"md",class:"rounded-none first:rounded-s-medium last:rounded-e-medium"},{isInGroup:!0,radius:"lg",class:"rounded-none first:rounded-s-large last:rounded-e-large"},{isInGroup:!0,radius:"full",class:"rounded-none first:rounded-s-full last:rounded-e-full"},{isInGroup:!0,variant:["ghost","bordered"],color:"default",className:Zc.default},{isInGroup:!0,variant:["ghost","bordered"],color:"primary",className:Zc.primary},{isInGroup:!0,variant:["ghost","bordered"],color:"secondary",className:Zc.secondary},{isInGroup:!0,variant:["ghost","bordered"],color:"success",className:Zc.success},{isInGroup:!0,variant:["ghost","bordered"],color:"warning",className:Zc.warning},{isInGroup:!0,variant:["ghost","bordered"],color:"danger",className:Zc.danger},{isIconOnly:!0,size:"sm",class:"min-w-8 w-8 h-8"},{isIconOnly:!0,size:"md",class:"min-w-10 w-10 h-10"},{isIconOnly:!0,size:"lg",class:"min-w-12 w-12 h-12"},{variant:["solid","faded","flat","bordered","shadow"],class:"data-[hover=true]:opacity-hover"}]});Nr({base:"inline-flex items-center justify-center h-auto",variants:{fullWidth:{true:"w-full"}},defaultVariants:{fullWidth:!1}});var bO=Nr({base:"px-2",variants:{variant:{light:"",shadow:"px-4 shadow-medium rounded-medium bg-content1",bordered:"px-4 border-medium border-divider rounded-medium",splitted:"flex flex-col gap-2"},fullWidth:{true:"w-full"}},defaultVariants:{variant:"light",fullWidth:!0}}),xO=Nr({slots:{base:"",heading:"",trigger:["flex py-4 w-full h-full gap-3 outline-hidden items-center tap-highlight-transparent",...bh],startContent:"shrink-0",indicator:"text-default-400",titleWrapper:"flex-1 flex flex-col text-start",title:"text-foreground text-medium",subtitle:"text-small text-foreground-500 font-normal",content:"py-2"},variants:{variant:{splitted:{base:"px-4 bg-content1 shadow-medium rounded-medium"}},isCompact:{true:{trigger:"py-2",title:"text-medium",subtitle:"text-small",indicator:"text-medium",content:"py-1"}},isDisabled:{true:{base:"opacity-disabled pointer-events-none"}},hideIndicator:{true:{indicator:"hidden"}},disableAnimation:{true:{content:"hidden data-[open=true]:block"},false:{indicator:"transition-transform",trigger:"transition-opacity"}},disableIndicatorAnimation:{true:{indicator:"transition-none"},false:{indicator:"rotate-0 data-[open=true]:-rotate-90 rtl:-rotate-180 rtl:data-[open=true]:-rotate-90"}}},defaultVariants:{size:"md",radius:"lg",isDisabled:!1,hideIndicator:!1,disableIndicatorAnimation:!1}});function C_(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;t0){let d=function(h){return Promise.all(h.map(m=>Promise.resolve(m).then(g=>({status:"fulfilled",value:g}),g=>({status:"rejected",reason:g}))))};document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),c=a?.nonce||a?.getAttribute("nonce");i=d(n.map(h=>{if(h=CO(h),h in gk)return;gk[h]=!0;const m=h.endsWith(".css"),g=m?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${g}`))return;const b=document.createElement("link");if(b.rel=m?"stylesheet":kO,m||(b.as="script"),b.crossOrigin="",b.href=h,c&&b.setAttribute("nonce",c),document.head.appendChild(b),m)return new Promise((x,E)=>{b.addEventListener("load",x),b.addEventListener("error",()=>E(new Error(`Unable to preload CSS for ${h}`)))})}))}function s(a){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=a,window.dispatchEvent(c),!c.defaultPrevented)throw a}return i.then(a=>{for(const c of a||[])c.status==="rejected"&&s(c.reason);return t().catch(s)})};function EO(e,t){let{elementType:n="button",isDisabled:r,onPress:i,onPressStart:s,onPressEnd:a,onPressUp:c,onPressChange:d,preventFocusOnPress:h,allowFocusWhenDisabled:m,onClick:g,href:b,target:x,rel:E,type:P="button"}=e,_;n==="button"?_={type:P,disabled:r}:_={role:"button",href:n==="a"&&!r?b:void 0,target:n==="a"?x:void 0,type:n==="input"?P:void 0,disabled:n==="input"?r:void 0,"aria-disabled":!r||n==="input"?void 0:r,rel:n==="a"?E:void 0};let{pressProps:T,isPressed:R}=hv({onPressStart:s,onPressEnd:a,onPressChange:d,onPress:i,onPressUp:c,onClick:g,isDisabled:r,preventFocusOnPress:h,ref:t}),{focusableProps:L}=gv(e,t);m&&(L.tabIndex=r?-1:L.tabIndex);let z=lr(L,T,$f(e,{labelable:!0}));return{isPressed:R,buttonProps:lr(_,z,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],"aria-current":e["aria-current"]})}}function PO(e,t,n){let{item:r,isDisabled:i}=e,s=r.key,a=t.selectionManager,c=S.useId(),d=S.useId(),h=t.disabledKeys.has(r.key)||i;S.useEffect(()=>{s===t.focusedKey&&document.activeElement!==n.current&&n.current&&wu(n.current)},[n,s,t.focusedKey]);let m=S.useCallback(P=>{a.canSelectItem(s)&&(a.select(s,P),t.toggleKey(s))},[s,a]);const g=S.useCallback(P=>{a.selectionBehavior==="replace"&&a.extendSelection(P),a.setFocusedKey(P)},[a]),b=S.useCallback(P=>{const T={ArrowDown:()=>{const R=t.collection.getKeyAfter(s);if(R&&t.disabledKeys.has(R)){const L=t.collection.getKeyAfter(R);L&&g(L)}else R&&g(R)},ArrowUp:()=>{const R=t.collection.getKeyBefore(s);if(R&&t.disabledKeys.has(R)){const L=t.collection.getKeyBefore(R);L&&g(L)}else R&&g(R)},Home:()=>{const R=t.collection.getFirstKey();R&&g(R)},End:()=>{const R=t.collection.getLastKey();R&&g(R)}}[P.key];T&&(P.preventDefault(),a.canSelectItem(s)&&T(P))},[s,a]);let{buttonProps:x}=EO({id:c,elementType:"button",isDisabled:h,onKeyDown:b,onPress:m},n),E=t.selectionManager.isSelected(r.key);return{buttonProps:{...x,"aria-expanded":E,"aria-controls":E?d:void 0},regionProps:{id:d,role:"region","aria-labelledby":c}}}function vk(e){return QL()?e.altKey:e.ctrlKey}function Ig(e,t){var n,r;let i=`[data-key="${CSS.escape(String(t))}"]`,s=(n=e.current)===null||n===void 0?void 0:n.dataset.collection;return s&&(i=`[data-collection="${CSS.escape(s)}"]${i}`),(r=e.current)===null||r===void 0?void 0:r.querySelector(i)}const E_=new WeakMap;function TO(e){let t=bf();return E_.set(e,t),t}function SG(e){return E_.get(e)}const _O=1e3;function IO(e){let{keyboardDelegate:t,selectionManager:n,onTypeSelect:r}=e,i=S.useRef({search:"",timeout:void 0}).current,s=a=>{let c=$O(a.key);if(!(!c||a.ctrlKey||a.metaKey||!a.currentTarget.contains(a.target))){if(c===" "&&i.search.trim().length>0&&(a.preventDefault(),"continuePropagation"in a||a.stopPropagation()),i.search+=c,t.getKeyForSearch!=null){let d=t.getKeyForSearch(i.search,n.focusedKey);d==null&&(d=t.getKeyForSearch(i.search)),d!=null&&(n.setFocusedKey(d),r&&r(d))}clearTimeout(i.timeout),i.timeout=setTimeout(()=>{i.search=""},_O)}};return{typeSelectProps:{onKeyDownCapture:t.getKeyForSearch?s:void 0}}}function $O(e){return e.length===1||!/^[A-Z]/i.test(e)?e:""}function AO(e){let{selectionManager:t,keyboardDelegate:n,ref:r,autoFocus:i=!1,shouldFocusWrap:s=!1,disallowEmptySelection:a=!1,disallowSelectAll:c=!1,escapeKeyBehavior:d="clearSelection",selectOnFocus:h=t.selectionBehavior==="replace",disallowTypeAhead:m=!1,shouldUseVirtualFocus:g,allowsTabNavigation:b=!1,isVirtualized:x,scrollRef:E=r,linkBehavior:P="action"}=e,{direction:_}=ph(),T=sx(),R=q=>{var W;if(q.altKey&&q.key==="Tab"&&q.preventDefault(),!(!((W=r.current)===null||W===void 0)&&W.contains(q.target)))return;const se=(Ie,Rt)=>{if(Ie!=null){if(t.isLink(Ie)&&P==="selection"&&h&&!vk(q)){_E.flushSync(()=>{t.setFocusedKey(Ie,Rt)});let bt=Ig(r,Ie),Xt=t.getItemProps(Ie);bt&&T.open(bt,q,Xt.href,Xt.routerOptions);return}if(t.setFocusedKey(Ie,Rt),t.isLink(Ie)&&P==="override")return;q.shiftKey&&t.selectionMode==="multiple"?t.extendSelection(Ie):h&&!vk(q)&&t.replaceSelection(Ie)}};switch(q.key){case"ArrowDown":if(n.getKeyBelow){var A,V,oe;let Ie=t.focusedKey!=null?(A=n.getKeyBelow)===null||A===void 0?void 0:A.call(n,t.focusedKey):(V=n.getFirstKey)===null||V===void 0?void 0:V.call(n);Ie==null&&s&&(Ie=(oe=n.getFirstKey)===null||oe===void 0?void 0:oe.call(n,t.focusedKey)),Ie!=null&&(q.preventDefault(),se(Ie))}break;case"ArrowUp":if(n.getKeyAbove){var O,me,Ee;let Ie=t.focusedKey!=null?(O=n.getKeyAbove)===null||O===void 0?void 0:O.call(n,t.focusedKey):(me=n.getLastKey)===null||me===void 0?void 0:me.call(n);Ie==null&&s&&(Ie=(Ee=n.getLastKey)===null||Ee===void 0?void 0:Ee.call(n,t.focusedKey)),Ie!=null&&(q.preventDefault(),se(Ie))}break;case"ArrowLeft":if(n.getKeyLeftOf){var we,je,Oe;let Ie=t.focusedKey!=null?(we=n.getKeyLeftOf)===null||we===void 0?void 0:we.call(n,t.focusedKey):null;Ie==null&&s&&(Ie=_==="rtl"?(je=n.getFirstKey)===null||je===void 0?void 0:je.call(n,t.focusedKey):(Oe=n.getLastKey)===null||Oe===void 0?void 0:Oe.call(n,t.focusedKey)),Ie!=null&&(q.preventDefault(),se(Ie,_==="rtl"?"first":"last"))}break;case"ArrowRight":if(n.getKeyRightOf){var Te,tt,yt;let Ie=t.focusedKey!=null?(Te=n.getKeyRightOf)===null||Te===void 0?void 0:Te.call(n,t.focusedKey):null;Ie==null&&s&&(Ie=_==="rtl"?(tt=n.getLastKey)===null||tt===void 0?void 0:tt.call(n,t.focusedKey):(yt=n.getFirstKey)===null||yt===void 0?void 0:yt.call(n,t.focusedKey)),Ie!=null&&(q.preventDefault(),se(Ie,_==="rtl"?"last":"first"))}break;case"Home":if(n.getFirstKey){if(t.focusedKey===null&&q.shiftKey)return;q.preventDefault();let Ie=n.getFirstKey(t.focusedKey,fp(q));t.setFocusedKey(Ie),Ie!=null&&(fp(q)&&q.shiftKey&&t.selectionMode==="multiple"?t.extendSelection(Ie):h&&t.replaceSelection(Ie))}break;case"End":if(n.getLastKey){if(t.focusedKey===null&&q.shiftKey)return;q.preventDefault();let Ie=n.getLastKey(t.focusedKey,fp(q));t.setFocusedKey(Ie),Ie!=null&&(fp(q)&&q.shiftKey&&t.selectionMode==="multiple"?t.extendSelection(Ie):h&&t.replaceSelection(Ie))}break;case"PageDown":if(n.getKeyPageBelow&&t.focusedKey!=null){let Ie=n.getKeyPageBelow(t.focusedKey);Ie!=null&&(q.preventDefault(),se(Ie))}break;case"PageUp":if(n.getKeyPageAbove&&t.focusedKey!=null){let Ie=n.getKeyPageAbove(t.focusedKey);Ie!=null&&(q.preventDefault(),se(Ie))}break;case"a":fp(q)&&t.selectionMode==="multiple"&&c!==!0&&(q.preventDefault(),t.selectAll());break;case"Escape":d==="clearSelection"&&!a&&t.selectedKeys.size!==0&&(q.stopPropagation(),q.preventDefault(),t.clearSelection());break;case"Tab":if(!b){if(q.shiftKey)r.current.focus();else{let Ie=Qs(r.current,{tabbable:!0}),Rt,bt;do bt=Ie.lastChild(),bt&&(Rt=bt);while(bt);Rt&&!Rt.contains(document.activeElement)&&Jl(Rt)}break}}},L=S.useRef({top:0,left:0});ig(E,"scroll",x?void 0:()=>{var q,W,se,A;L.current={top:(se=(q=E.current)===null||q===void 0?void 0:q.scrollTop)!==null&&se!==void 0?se:0,left:(A=(W=E.current)===null||W===void 0?void 0:W.scrollLeft)!==null&&A!==void 0?A:0}});let z=q=>{if(t.isFocused){q.currentTarget.contains(q.target)||t.setFocused(!1);return}if(q.currentTarget.contains(q.target)){if(t.setFocused(!0),t.focusedKey==null){var W,se;let oe=me=>{me!=null&&(t.setFocusedKey(me),h&&!t.isSelected(me)&&t.replaceSelection(me))},O=q.relatedTarget;var A,V;O&&q.currentTarget.compareDocumentPosition(O)&Node.DOCUMENT_POSITION_FOLLOWING?oe((A=t.lastSelectedKey)!==null&&A!==void 0?A:(W=n.getLastKey)===null||W===void 0?void 0:W.call(n)):oe((V=t.firstSelectedKey)!==null&&V!==void 0?V:(se=n.getFirstKey)===null||se===void 0?void 0:se.call(n))}else!x&&E.current&&(E.current.scrollTop=L.current.top,E.current.scrollLeft=L.current.left);if(t.focusedKey!=null&&E.current){let oe=Ig(r,t.focusedKey);oe instanceof HTMLElement&&(!oe.contains(document.activeElement)&&!g&&Jl(oe),rh()==="keyboard"&&b1(oe,{containingElement:r.current}))}}},K=q=>{q.currentTarget.contains(q.relatedTarget)||t.setFocused(!1)},M=S.useRef(!1);ig(r,aM,g?q=>{let{detail:W}=q;q.stopPropagation(),t.setFocused(!0),W?.focusStrategy==="first"&&(M.current=!0)}:void 0);let J=Fn(()=>{var q,W;let se=(W=(q=n.getFirstKey)===null||q===void 0?void 0:q.call(n))!==null&&W!==void 0?W:null;se==null?(WF(r.current),t.collection.size>0&&(M.current=!1)):(t.setFocusedKey(se),M.current=!1)});g1(()=>{M.current&&J()},[t.collection,J]);let re=Fn(()=>{t.collection.size>0&&(M.current=!1)});g1(()=>{re()},[t.focusedKey,re]),ig(r,lM,g?q=>{var W;q.stopPropagation(),t.setFocused(!1),!((W=q.detail)===null||W===void 0)&&W.clearFocusKey&&t.setFocusedKey(null)}:void 0);const ae=S.useRef(i),j=S.useRef(!1);S.useEffect(()=>{if(ae.current){var q,W;let V=null;var se;i==="first"&&(V=(se=(q=n.getFirstKey)===null||q===void 0?void 0:q.call(n))!==null&&se!==void 0?se:null);var A;i==="last"&&(V=(A=(W=n.getLastKey)===null||W===void 0?void 0:W.call(n))!==null&&A!==void 0?A:null);let oe=t.selectedKeys;if(oe.size){for(let O of oe)if(t.canSelectItem(O)){V=O;break}}t.setFocused(!0),t.setFocusedKey(V),V==null&&!g&&r.current&&wu(r.current),t.collection.size>0&&(ae.current=!1,j.current=!0)}});let B=S.useRef(t.focusedKey),Y=S.useRef(null);S.useEffect(()=>{if(t.isFocused&&t.focusedKey!=null&&(t.focusedKey!==B.current||j.current)&&E.current&&r.current){let q=rh(),W=Ig(r,t.focusedKey);if(!(W instanceof HTMLElement))return;(q==="keyboard"||j.current)&&(Y.current&&cancelAnimationFrame(Y.current),Y.current=requestAnimationFrame(()=>{E.current&&(PE(E.current,W),q!=="virtual"&&b1(W,{containingElement:r.current}))}))}!g&&t.isFocused&&t.focusedKey==null&&B.current!=null&&r.current&&wu(r.current),B.current=t.focusedKey,j.current=!1}),S.useEffect(()=>()=>{Y.current&&cancelAnimationFrame(Y.current)},[]),ig(r,"react-aria-focus-scope-restore",q=>{q.preventDefault(),t.setFocused(!0)});let te={onKeyDown:R,onFocus:z,onBlur:K,onMouseDown(q){E.current===q.target&&q.preventDefault()}},{typeSelectProps:G}=IO({keyboardDelegate:n,selectionManager:t});m||(te=lr(G,te));let fe;g||(fe=t.focusedKey==null?0:-1);let Z=TO(t.collection);return{collectionProps:lr(te,{tabIndex:fe,"data-collection":Z})}}class yk{getItemRect(t){let n=this.ref.current;if(!n)return null;let r=t!=null?Ig(this.ref,t):null;if(!r)return null;let i=n.getBoundingClientRect(),s=r.getBoundingClientRect();return{x:s.left-i.left+n.scrollLeft,y:s.top-i.top+n.scrollTop,width:s.width,height:s.height}}getContentSize(){let t=this.ref.current;var n,r;return{width:(n=t?.scrollWidth)!==null&&n!==void 0?n:0,height:(r=t?.scrollHeight)!==null&&r!==void 0?r:0}}getVisibleRect(){let t=this.ref.current;var n,r,i,s;return{x:(n=t?.scrollLeft)!==null&&n!==void 0?n:0,y:(r=t?.scrollTop)!==null&&r!==void 0?r:0,width:(i=t?.offsetWidth)!==null&&i!==void 0?i:0,height:(s=t?.offsetHeight)!==null&&s!==void 0?s:0}}constructor(t){this.ref=t}}class RO{isDisabled(t){var n;return this.disabledBehavior==="all"&&(((n=t.props)===null||n===void 0?void 0:n.isDisabled)||this.disabledKeys.has(t.key))}findNextNonDisabled(t,n){let r=t;for(;r!=null;){let i=this.collection.getItem(r);if(i?.type==="item"&&!this.isDisabled(i))return r;r=n(r)}return null}getNextKey(t){let n=t;return n=this.collection.getKeyAfter(n),this.findNextNonDisabled(n,r=>this.collection.getKeyAfter(r))}getPreviousKey(t){let n=t;return n=this.collection.getKeyBefore(n),this.findNextNonDisabled(n,r=>this.collection.getKeyBefore(r))}findKey(t,n,r){let i=t,s=this.layoutDelegate.getItemRect(i);if(!s||i==null)return null;let a=s;do{if(i=n(i),i==null)break;s=this.layoutDelegate.getItemRect(i)}while(s&&r(a,s)&&i!=null);return i}isSameRow(t,n){return t.y===n.y||t.x!==n.x}isSameColumn(t,n){return t.x===n.x||t.y!==n.y}getKeyBelow(t){return this.layout==="grid"&&this.orientation==="vertical"?this.findKey(t,n=>this.getNextKey(n),this.isSameRow):this.getNextKey(t)}getKeyAbove(t){return this.layout==="grid"&&this.orientation==="vertical"?this.findKey(t,n=>this.getPreviousKey(n),this.isSameRow):this.getPreviousKey(t)}getNextColumn(t,n){return n?this.getPreviousKey(t):this.getNextKey(t)}getKeyRightOf(t){let n=this.direction==="ltr"?"getKeyRightOf":"getKeyLeftOf";return this.layoutDelegate[n]?(t=this.layoutDelegate[n](t),this.findNextNonDisabled(t,r=>this.layoutDelegate[n](r))):this.layout==="grid"?this.orientation==="vertical"?this.getNextColumn(t,this.direction==="rtl"):this.findKey(t,r=>this.getNextColumn(r,this.direction==="rtl"),this.isSameColumn):this.orientation==="horizontal"?this.getNextColumn(t,this.direction==="rtl"):null}getKeyLeftOf(t){let n=this.direction==="ltr"?"getKeyLeftOf":"getKeyRightOf";return this.layoutDelegate[n]?(t=this.layoutDelegate[n](t),this.findNextNonDisabled(t,r=>this.layoutDelegate[n](r))):this.layout==="grid"?this.orientation==="vertical"?this.getNextColumn(t,this.direction==="ltr"):this.findKey(t,r=>this.getNextColumn(r,this.direction==="ltr"),this.isSameColumn):this.orientation==="horizontal"?this.getNextColumn(t,this.direction==="ltr"):null}getFirstKey(){let t=this.collection.getFirstKey();return this.findNextNonDisabled(t,n=>this.collection.getKeyAfter(n))}getLastKey(){let t=this.collection.getLastKey();return this.findNextNonDisabled(t,n=>this.collection.getKeyBefore(n))}getKeyPageAbove(t){let n=this.ref.current,r=this.layoutDelegate.getItemRect(t);if(!r)return null;if(n&&!Hp(n))return this.getFirstKey();let i=t;if(this.orientation==="horizontal"){let s=Math.max(0,r.x+r.width-this.layoutDelegate.getVisibleRect().width);for(;r&&r.x>s&&i!=null;)i=this.getKeyAbove(i),r=i==null?null:this.layoutDelegate.getItemRect(i)}else{let s=Math.max(0,r.y+r.height-this.layoutDelegate.getVisibleRect().height);for(;r&&r.y>s&&i!=null;)i=this.getKeyAbove(i),r=i==null?null:this.layoutDelegate.getItemRect(i)}return i??this.getFirstKey()}getKeyPageBelow(t){let n=this.ref.current,r=this.layoutDelegate.getItemRect(t);if(!r)return null;if(n&&!Hp(n))return this.getLastKey();let i=t;if(this.orientation==="horizontal"){let s=Math.min(this.layoutDelegate.getContentSize().width,r.y-r.width+this.layoutDelegate.getVisibleRect().width);for(;r&&r.xs||new RO({collection:n,disabledKeys:r,disabledBehavior:d,ref:i,collator:c,layoutDelegate:a}),[s,a,n,r,i,c,d]),{collectionProps:m}=AO({...e,ref:i,selectionManager:t,keyboardDelegate:h});return{listProps:m}}function MO(e,t,n){let{listProps:r}=LO({...e,...t,allowsTabNavigation:!0,disallowSelectAll:!0,ref:n});return delete r.onKeyDownCapture,{accordionProps:{...r,tabIndex:void 0}}}function DO(e){var t,n;const r=Ti(),{ref:i,as:s,item:a,onFocusChange:c}=e,{state:d,className:h,indicator:m,children:g,title:b,subtitle:x,startContent:E,motionProps:P,focusedKey:_,variant:T,isCompact:R=!1,classNames:L={},isDisabled:z=!1,hideIndicator:K=!1,disableAnimation:M=(t=r?.disableAnimation)!=null?t:!1,keepContentMounted:J=!1,disableIndicatorAnimation:re=!1,HeadingComponent:ae=s||"h2",onPress:j,onPressStart:B,onPressEnd:Y,onPressChange:te,onPressUp:G,onClick:fe,...Z}=e,q=s||"div",W=typeof q=="string",se=Qi(i),A=d.disabledKeys.has(a.key)||z,V=d.selectionManager.isSelected(a.key),{buttonProps:oe,regionProps:O}=PO({item:a,isDisabled:A},{...d,focusedKey:_},se),{onFocus:me,onBlur:Ee,...we}=oe,{isFocused:je,isFocusVisible:Oe,focusProps:Te}=ih({autoFocus:(n=a.props)==null?void 0:n.autoFocus}),{isHovered:tt,hoverProps:yt}=Ef({isDisabled:A}),{pressProps:Ie,isPressed:Rt}=hv({ref:se,isDisabled:A,onPress:j,onPressStart:B,onPressEnd:Y,onPressChange:te,onPressUp:G}),bt=S.useCallback(()=>{c?.(!0,a.key)},[]),Xt=S.useCallback(()=>{c?.(!1,a.key)},[]),Ue=S.useMemo(()=>({...L}),[nl(L)]),st=S.useMemo(()=>xO({isCompact:R,isDisabled:A,hideIndicator:K,disableAnimation:M,disableIndicatorAnimation:re,variant:T}),[R,A,K,M,re,T]),An=pn(Ue?.base,h),Fr=S.useCallback((pe={})=>({"data-open":Me(V),"data-disabled":Me(A),"data-slot":"base",className:st.base({class:An}),...hn(yf(Z,{enabled:W}),pe)}),[An,W,Z,st,a.props,V,A]),Sn=(pe={})=>{var ke,Be;return{ref:se,"data-open":Me(V),"data-focus":Me(je),"data-focus-visible":Me(Oe),"data-disabled":Me(A),"data-hover":Me(tt),"data-pressed":Me(Rt),"data-slot":"trigger",className:st.trigger({class:Ue?.trigger}),onFocus:s1(bt,me,Te.onFocus,Z.onFocus,(ke=a.props)==null?void 0:ke.onFocus),onBlur:s1(Xt,Ee,Te.onBlur,Z.onBlur,(Be=a.props)==null?void 0:Be.onBlur),...hn(we,yt,Ie,pe,{onClick:vf(Ie.onClick,fe)})}},Lt=S.useCallback((pe={})=>({"data-open":Me(V),"data-disabled":Me(A),"data-slot":"content",className:st.content({class:Ue?.content}),...hn(O,pe)}),[st,Ue,O,V,A,Ue?.content]),zt=S.useCallback((pe={})=>({"aria-hidden":Me(!0),"data-open":Me(V),"data-disabled":Me(A),"data-slot":"indicator",className:st.indicator({class:Ue?.indicator}),...pe}),[st,Ue?.indicator,V,A,Ue?.indicator]),ar=S.useCallback((pe={})=>({"data-open":Me(V),"data-disabled":Me(A),"data-slot":"heading",className:st.heading({class:Ue?.heading}),...pe}),[st,Ue?.heading,V,A,Ue?.heading]),ro=S.useCallback((pe={})=>({"data-open":Me(V),"data-disabled":Me(A),"data-slot":"title",className:st.title({class:Ue?.title}),...pe}),[st,Ue?.title,V,A,Ue?.title]),Yn=S.useCallback((pe={})=>({"data-open":Me(V),"data-disabled":Me(A),"data-slot":"subtitle",className:st.subtitle({class:Ue?.subtitle}),...pe}),[st,Ue,V,A,Ue?.subtitle]);return{Component:q,HeadingComponent:ae,item:a,slots:st,classNames:Ue,domRef:se,indicator:m,children:g,title:b,subtitle:x,startContent:E,isOpen:V,isDisabled:A,hideIndicator:K,keepContentMounted:J,disableAnimation:M,motionProps:P,getBaseProps:Fr,getHeadingProps:ar,getButtonProps:Sn,getContentProps:Lt,getIndicatorProps:zt,getTitleProps:ro,getSubtitleProps:Yn}}var bk=e=>N.jsx("svg",{"aria-hidden":"true",fill:"none",focusable:"false",height:"1em",role:"presentation",viewBox:"0 0 24 24",width:"1em",...e,children:N.jsx("path",{d:"M15.5 19l-7-7 7-7",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"})}),NO=e=>N.jsx("svg",{"aria-hidden":"true",focusable:"false",height:"1em",role:"presentation",viewBox:"0 0 24 24",width:"1em",...e,children:N.jsx("path",{d:"M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z",fill:"currentColor"})}),FO=e=>{const{isSelected:t,isIndeterminate:n,disableAnimation:r,...i}=e;return N.jsx("svg",{"aria-hidden":"true",className:"fill-current",fill:"none",focusable:"false",height:"1em",role:"presentation",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24",width:"1em",...i,children:N.jsx("path",{d:"M18 6L6 18M6 6l12 12"})})},zp={ease:[.36,.66,.4,1]},qg={scaleSpring:{enter:{transform:"scale(1)",opacity:1,transition:{type:"spring",bounce:0,duration:.2}},exit:{transform:"scale(0.85)",opacity:0,transition:{type:"easeOut",duration:.15}}},scaleSpringOpacity:{initial:{opacity:0,transform:"scale(0.8)"},enter:{opacity:1,transform:"scale(1)",transition:{type:"spring",bounce:0,duration:.3}},exit:{opacity:0,transform:"scale(0.96)",transition:{type:"easeOut",bounce:0,duration:.15}}},fade:{enter:{opacity:1,transition:{duration:.4,ease:zp.ease}},exit:{opacity:0,transition:{duration:.3,ease:zp.ease}}},collapse:{enter:{opacity:1,height:"auto",transition:{height:{type:"spring",bounce:0,duration:.3},opacity:{easings:"ease",duration:.4}}},exit:{opacity:0,height:0,transition:{easings:"ease",duration:.3}}}},xk=()=>to(()=>import("./index-3BSSmhVm.js"),[]).then(e=>e.default),P_=_i((e,t)=>{const{Component:n,HeadingComponent:r,classNames:i,slots:s,indicator:a,children:c,title:d,subtitle:h,startContent:m,isOpen:g,isDisabled:b,hideIndicator:x,keepContentMounted:E,disableAnimation:P,motionProps:_,getBaseProps:T,getHeadingProps:R,getButtonProps:L,getTitleProps:z,getSubtitleProps:K,getContentProps:M,getIndicatorProps:J}=DO({...e,ref:t}),re=tF(),j=S.useMemo(()=>typeof a=="function"?a({indicator:N.jsx(bk,{}),isOpen:g,isDisabled:b}):a||null,[a,g,b])||N.jsx(bk,{}),B=S.useMemo(()=>{if(P)return E?N.jsx("div",{...M(),children:c}):g&&N.jsx("div",{...M(),children:c});const Y={exit:{...qg.collapse.exit,overflowY:"hidden"},enter:{...qg.collapse.enter,overflowY:"unset"}};return E?N.jsx(kf,{features:xk,children:N.jsx(Cf.section,{animate:g?"enter":"exit",exit:"exit",initial:"exit",style:{willChange:re},variants:Y,onKeyDown:te=>{te.stopPropagation()},..._,children:N.jsx("div",{...M(),children:c})},"accordion-content")}):N.jsx(Mf,{initial:!1,children:g&&N.jsx(kf,{features:xk,children:N.jsx(Cf.section,{animate:"enter",exit:"exit",initial:"exit",style:{willChange:re},variants:Y,onKeyDown:te=>{te.stopPropagation()},..._,children:N.jsx("div",{...M(),children:c})},"accordion-content")})})},[g,P,E,c,_]);return N.jsxs(n,{...T(),children:[N.jsx(r,{...R(),children:N.jsxs("button",{...L(),children:[m&&N.jsx("div",{className:s.startContent({class:i?.startContent}),children:m}),N.jsxs("div",{className:s.titleWrapper({class:i?.titleWrapper}),children:[d&&N.jsx("span",{...z(),children:d}),h&&N.jsx("span",{...K(),children:h})]}),!x&&j&&N.jsx("span",{...J(),children:j})]})}),B]})});P_.displayName="HeroUI.AccordionItem";var OO=P_;class zO{*[Symbol.iterator](){yield*this.iterable}get size(){return this.keyMap.size}getKeys(){return this.keyMap.keys()}getKeyBefore(t){let n=this.keyMap.get(t);var r;return n&&(r=n.prevKey)!==null&&r!==void 0?r:null}getKeyAfter(t){let n=this.keyMap.get(t);var r;return n&&(r=n.nextKey)!==null&&r!==void 0?r:null}getFirstKey(){return this.firstKey}getLastKey(){return this.lastKey}getItem(t){var n;return(n=this.keyMap.get(t))!==null&&n!==void 0?n:null}at(t){const n=[...this.getKeys()];return this.getItem(n[t])}constructor(t,{expandedKeys:n}={}){this.keyMap=new Map,this.firstKey=null,this.lastKey=null,this.iterable=t,n=n||new Set;let r=c=>{if(this.keyMap.set(c.key,c),c.childNodes&&(c.type==="section"||n.has(c.key)))for(let d of c.childNodes)r(d)};for(let c of t)r(c);let i=null,s=0;for(let[c,d]of this.keyMap)i?(i.nextKey=c,d.prevKey=i.key):(this.firstKey=c,d.prevKey=void 0),d.type==="item"&&(d.index=s++),i=d,i.nextKey=void 0;var a;this.lastKey=(a=i?.key)!==null&&a!==void 0?a:null}}class Co extends Set{constructor(t,n,r){super(t),t instanceof Co?(this.anchorKey=n??t.anchorKey,this.currentKey=r??t.currentKey):(this.anchorKey=n??null,this.currentKey=r??null)}}function jO(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function BO(e){let{selectionMode:t="none",disallowEmptySelection:n=!1,allowDuplicateSelectionEvents:r,selectionBehavior:i="toggle",disabledBehavior:s="all"}=e,a=S.useRef(!1),[,c]=S.useState(!1),d=S.useRef(null),h=S.useRef(null),[,m]=S.useState(null),g=S.useMemo(()=>wk(e.selectedKeys),[e.selectedKeys]),b=S.useMemo(()=>wk(e.defaultSelectedKeys,new Co),[e.defaultSelectedKeys]),[x,E]=Af(g,b,e.onSelectionChange),P=S.useMemo(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),[_,T]=S.useState(i);i==="replace"&&_==="toggle"&&typeof x=="object"&&x.size===0&&T("replace");let R=S.useRef(i);return S.useEffect(()=>{i!==R.current&&(T(i),R.current=i)},[i]),{selectionMode:t,disallowEmptySelection:n,selectionBehavior:_,setSelectionBehavior:T,get isFocused(){return a.current},setFocused(L){a.current=L,c(L)},get focusedKey(){return d.current},get childFocusStrategy(){return h.current},setFocusedKey(L,z="first"){d.current=L,h.current=z,m(L)},selectedKeys:x,setSelectedKeys(L){(r||!jO(L,x))&&E(L)},disabledKeys:P,disabledBehavior:s}}function wk(e,t){return e?e==="all"?"all":new Co(e):t}function T_(e){return null}T_.getCollectionNode=function*(t,n){let{childItems:r,title:i,children:s}=t,a=t.title||t.children,c=t.textValue||(typeof a=="string"?a:"")||t["aria-label"]||"";!c&&n?.suppressTextValueWarning,yield{type:"item",props:t,rendered:a,textValue:c,"aria-label":t["aria-label"],hasChildNodes:VO(t),*childNodes(){if(r)for(let d of r)yield{type:"item",value:d};else if(i){let d=[];We.Children.forEach(s,h=>{d.push({type:"item",element:h})}),yield*d}}}};function VO(e){return e.hasChildItems!=null?e.hasChildItems:!!(e.childItems||e.title&&We.Children.count(e.children)>0)}let UO=T_;class KO{build(t,n){return this.context=n,Sk(()=>this.iterateCollection(t))}*iterateCollection(t){let{children:n,items:r}=t;if(We.isValidElement(n)&&n.type===We.Fragment)yield*this.iterateCollection({children:n.props.children,items:r});else if(typeof n=="function"){if(!r)throw new Error("props.children was a function but props.items is missing");let i=0;for(let s of r)yield*this.getFullNode({value:s,index:i},{renderer:n}),i++}else{let i=[];We.Children.forEach(n,a=>{a&&i.push(a)});let s=0;for(let a of i){let c=this.getFullNode({element:a,index:s},{});for(let d of c)s++,yield d}}}getKey(t,n,r,i){if(t.key!=null)return t.key;if(n.type==="cell"&&n.key!=null)return`${i}${n.key}`;let s=n.value;if(s!=null){var a;let c=(a=s.key)!==null&&a!==void 0?a:s.id;if(c==null)throw new Error("No key found for item");return c}return i?`${i}.${n.index}`:`$.${n.index}`}getChildState(t,n){return{renderer:n.renderer||t.renderer}}*getFullNode(t,n,r,i){if(We.isValidElement(t.element)&&t.element.type===We.Fragment){let _=[];We.Children.forEach(t.element.props.children,R=>{_.push(R)});var s;let T=(s=t.index)!==null&&s!==void 0?s:0;for(const R of _)yield*this.getFullNode({element:R,index:T++},n,r,i);return}let a=t.element;if(!a&&t.value&&n&&n.renderer){let _=this.cache.get(t.value);if(_&&(!_.shouldInvalidate||!_.shouldInvalidate(this.context))){_.index=t.index,_.parentKey=i?i.key:null,yield _;return}a=n.renderer(t.value)}if(We.isValidElement(a)){let _=a.type;if(typeof _!="function"&&typeof _.getCollectionNode!="function"){let z=a.type;throw new Error(`Unknown element <${z}> in collection.`)}let T=_.getCollectionNode(a.props,this.context);var c;let R=(c=t.index)!==null&&c!==void 0?c:0,L=T.next();for(;!L.done&&L.value;){let z=L.value;t.index=R;var d;let K=(d=z.key)!==null&&d!==void 0?d:null;K==null&&(K=z.element?null:this.getKey(a,t,n,r));let J=[...this.getFullNode({...z,key:K,index:R,wrapper:WO(t.wrapper,z.wrapper)},this.getChildState(n,z),r?`${r}${a.key}`:a.key,i)];for(let re of J){var h,m;re.value=(m=(h=z.value)!==null&&h!==void 0?h:t.value)!==null&&m!==void 0?m:null,re.value&&this.cache.set(re.value,re);var g;if(t.type&&re.type!==t.type)throw new Error(`Unsupported type <${f0(re.type)}> in <${f0((g=i?.type)!==null&&g!==void 0?g:"unknown parent type")}>. Only <${f0(t.type)}> is supported.`);R++,yield re}L=T.next(J)}return}if(t.key==null||t.type==null)return;let b=this;var x,E;let P={type:t.type,props:t.props,key:t.key,parentKey:i?i.key:null,value:(x=t.value)!==null&&x!==void 0?x:null,level:i?i.level+1:0,index:t.index,rendered:t.rendered,textValue:(E=t.textValue)!==null&&E!==void 0?E:"","aria-label":t["aria-label"],wrapper:t.wrapper,shouldInvalidate:t.shouldInvalidate,hasChildNodes:t.hasChildNodes||!1,childNodes:Sk(function*(){if(!t.hasChildNodes||!t.childNodes)return;let _=0;for(let T of t.childNodes()){T.key!=null&&(T.key=`${P.key}${T.key}`);let R=b.getFullNode({...T,index:_},b.getChildState(n,T),P.key,P);for(let L of R)_++,yield L}})};yield P}constructor(){this.cache=new WeakMap}}function Sk(e){let t=[],n=null;return{*[Symbol.iterator](){for(let r of t)yield r;n||(n=e());for(let r of n)t.push(r),yield r}}}function WO(e,t){if(e&&t)return n=>e(t(n));if(e)return e;if(t)return t}function f0(e){return e[0].toUpperCase()+e.slice(1)}function HO(e,t,n){let r=S.useMemo(()=>new KO,[]),{children:i,items:s,collection:a}=e;return S.useMemo(()=>{if(a)return a;let d=r.build({children:i,items:s},n);return t(d)},[r,i,s,a,n,t])}function GO(e,t){return typeof t.getChildren=="function"?t.getChildren(e.key):e.childNodes}function qO(e){return YO(e,0)}function YO(e,t){if(t<0)return;let n=0;for(let r of e){if(n===t)return r;n++}}function kG(e){let t;for(let n of e)t=n;return t}function d0(e,t,n){if(t.parentKey===n.parentKey)return t.index-n.index;let r=[...kk(e,t),t],i=[...kk(e,n),n],s=r.slice(0,i.length).findIndex((a,c)=>a!==i[c]);return s!==-1?(t=r[s],n=i[s],t.index-n.index):r.findIndex(a=>a===n)>=0?1:(i.findIndex(a=>a===t)>=0,-1)}function kk(e,t){let n=[],r=t;for(;r?.parentKey!=null;)r=e.getItem(r.parentKey),r&&n.unshift(r);return n}class Yx{get selectionMode(){return this.state.selectionMode}get disallowEmptySelection(){return this.state.disallowEmptySelection}get selectionBehavior(){return this.state.selectionBehavior}setSelectionBehavior(t){this.state.setSelectionBehavior(t)}get isFocused(){return this.state.isFocused}setFocused(t){this.state.setFocused(t)}get focusedKey(){return this.state.focusedKey}get childFocusStrategy(){return this.state.childFocusStrategy}setFocusedKey(t,n){(t==null||this.collection.getItem(t))&&this.state.setFocusedKey(t,n)}get selectedKeys(){return this.state.selectedKeys==="all"?new Set(this.getSelectAllKeys()):this.state.selectedKeys}get rawSelection(){return this.state.selectedKeys}isSelected(t){if(this.state.selectionMode==="none")return!1;let n=this.getKey(t);return n==null?!1:this.state.selectedKeys==="all"?this.canSelectItem(n):this.state.selectedKeys.has(n)}get isEmpty(){return this.state.selectedKeys!=="all"&&this.state.selectedKeys.size===0}get isSelectAll(){if(this.isEmpty)return!1;if(this.state.selectedKeys==="all")return!0;if(this._isSelectAll!=null)return this._isSelectAll;let t=this.getSelectAllKeys(),n=this.state.selectedKeys;return this._isSelectAll=t.every(r=>n.has(r)),this._isSelectAll}get firstSelectedKey(){let t=null;for(let r of this.state.selectedKeys){let i=this.collection.getItem(r);(!t||i&&d0(this.collection,i,t)<0)&&(t=i)}var n;return(n=t?.key)!==null&&n!==void 0?n:null}get lastSelectedKey(){let t=null;for(let r of this.state.selectedKeys){let i=this.collection.getItem(r);(!t||i&&d0(this.collection,i,t)>0)&&(t=i)}var n;return(n=t?.key)!==null&&n!==void 0?n:null}get disabledKeys(){return this.state.disabledKeys}get disabledBehavior(){return this.state.disabledBehavior}extendSelection(t){if(this.selectionMode==="none")return;if(this.selectionMode==="single"){this.replaceSelection(t);return}let n=this.getKey(t);if(n==null)return;let r;if(this.state.selectedKeys==="all")r=new Co([n],n,n);else{let a=this.state.selectedKeys;var i;let c=(i=a.anchorKey)!==null&&i!==void 0?i:n;r=new Co(a,c,n);var s;for(let d of this.getKeyRange(c,(s=a.currentKey)!==null&&s!==void 0?s:n))r.delete(d);for(let d of this.getKeyRange(n,c))this.canSelectItem(d)&&r.add(d)}this.state.setSelectedKeys(r)}getKeyRange(t,n){let r=this.collection.getItem(t),i=this.collection.getItem(n);return r&&i?d0(this.collection,r,i)<=0?this.getKeyRangeInternal(t,n):this.getKeyRangeInternal(n,t):[]}getKeyRangeInternal(t,n){var r;if(!((r=this.layoutDelegate)===null||r===void 0)&&r.getKeyRange)return this.layoutDelegate.getKeyRange(t,n);let i=[],s=t;for(;s!=null;){let a=this.collection.getItem(s);if(a&&(a.type==="item"||a.type==="cell"&&this.allowsCellSelection)&&i.push(s),s===n)return i;s=this.collection.getKeyAfter(s)}return[]}getKey(t){let n=this.collection.getItem(t);if(!n||n.type==="cell"&&this.allowsCellSelection)return t;for(;n&&n.type!=="item"&&n.parentKey!=null;)n=this.collection.getItem(n.parentKey);return!n||n.type!=="item"?null:n.key}toggleSelection(t){if(this.selectionMode==="none")return;if(this.selectionMode==="single"&&!this.isSelected(t)){this.replaceSelection(t);return}let n=this.getKey(t);if(n==null)return;let r=new Co(this.state.selectedKeys==="all"?this.getSelectAllKeys():this.state.selectedKeys);r.has(n)?r.delete(n):this.canSelectItem(n)&&(r.add(n),r.anchorKey=n,r.currentKey=n),!(this.disallowEmptySelection&&r.size===0)&&this.state.setSelectedKeys(r)}replaceSelection(t){if(this.selectionMode==="none")return;let n=this.getKey(t);if(n==null)return;let r=this.canSelectItem(n)?new Co([n],n,n):new Co;this.state.setSelectedKeys(r)}setSelectedKeys(t){if(this.selectionMode==="none")return;let n=new Co;for(let r of t){let i=this.getKey(r);if(i!=null&&(n.add(i),this.selectionMode==="single"))break}this.state.setSelectedKeys(n)}getSelectAllKeys(){let t=[],n=r=>{for(;r!=null;){if(this.canSelectItem(r)){var i;let a=this.collection.getItem(r);a?.type==="item"&&t.push(r);var s;a?.hasChildNodes&&(this.allowsCellSelection||a.type!=="item")&&n((s=(i=qO(GO(a,this.collection)))===null||i===void 0?void 0:i.key)!==null&&s!==void 0?s:null)}r=this.collection.getKeyAfter(r)}};return n(this.collection.getFirstKey()),t}selectAll(){!this.isSelectAll&&this.selectionMode==="multiple"&&this.state.setSelectedKeys("all")}clearSelection(){!this.disallowEmptySelection&&(this.state.selectedKeys==="all"||this.state.selectedKeys.size>0)&&this.state.setSelectedKeys(new Co)}toggleSelectAll(){this.isSelectAll?this.clearSelection():this.selectAll()}select(t,n){this.selectionMode!=="none"&&(this.selectionMode==="single"?this.isSelected(t)&&!this.disallowEmptySelection?this.toggleSelection(t):this.replaceSelection(t):this.selectionBehavior==="toggle"||n&&(n.pointerType==="touch"||n.pointerType==="virtual")?this.toggleSelection(t):this.replaceSelection(t))}isSelectionEqual(t){if(t===this.state.selectedKeys)return!0;let n=this.selectedKeys;if(t.size!==n.size)return!1;for(let r of t)if(!n.has(r))return!1;for(let r of n)if(!t.has(r))return!1;return!0}canSelectItem(t){var n;if(this.state.selectionMode==="none"||this.state.disabledKeys.has(t))return!1;let r=this.collection.getItem(t);return!(!r||!(r==null||(n=r.props)===null||n===void 0)&&n.isDisabled||r.type==="cell"&&!this.allowsCellSelection)}isDisabled(t){var n,r;return this.state.disabledBehavior==="all"&&(this.state.disabledKeys.has(t)||!!(!((r=this.collection.getItem(t))===null||r===void 0||(n=r.props)===null||n===void 0)&&n.isDisabled))}isLink(t){var n,r;return!!(!((r=this.collection.getItem(t))===null||r===void 0||(n=r.props)===null||n===void 0)&&n.href)}getItemProps(t){var n;return(n=this.collection.getItem(t))===null||n===void 0?void 0:n.props}withCollection(t){return new Yx(t,this.state,{allowsCellSelection:this.allowsCellSelection,layoutDelegate:this.layoutDelegate||void 0})}constructor(t,n,r){this.collection=t,this.state=n;var i;this.allowsCellSelection=(i=r?.allowsCellSelection)!==null&&i!==void 0?i:!1,this._isSelectAll=null,this.layoutDelegate=r?.layoutDelegate||null}}function XO(e){let{onExpandedChange:t}=e,[n,r]=Af(e.expandedKeys?new Set(e.expandedKeys):void 0,e.defaultExpandedKeys?new Set(e.defaultExpandedKeys):new Set,t),i=BO(e),s=S.useMemo(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),a=HO(e,S.useCallback(d=>new zO(d,{expandedKeys:n}),[n]),null);return S.useEffect(()=>{i.focusedKey!=null&&!a.getItem(i.focusedKey)&&i.setFocusedKey(null)},[a,i.focusedKey]),{collection:a,expandedKeys:n,disabledKeys:s,toggleKey:d=>{r(QO(n,d))},setExpandedKeys:r,selectionManager:new Yx(a,i)}}function QO(e,t){let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n}function JO(e){var t;const n=Ti(),{ref:r,as:i,className:s,items:a,variant:c,motionProps:d,expandedKeys:h,disabledKeys:m,selectedKeys:g,children:b,defaultExpandedKeys:x,selectionMode:E="single",selectionBehavior:P="toggle",keepContentMounted:_=!1,disallowEmptySelection:T,defaultSelectedKeys:R,onExpandedChange:L,onSelectionChange:z,dividerProps:K={},isCompact:M=!1,isDisabled:J=!1,showDivider:re=!0,hideIndicator:ae=!1,disableAnimation:j=(t=n?.disableAnimation)!=null?t:!1,disableIndicatorAnimation:B=!1,itemClasses:Y,...te}=e,[G,fe]=S.useState(null),Z=i||"div",q=typeof Z=="string",W=Qi(r),se=S.useMemo(()=>bO({variant:c,className:s}),[c,s]),V={children:S.useMemo(()=>{let Te=[];return We.Children.map(b,tt=>{var yt;if(We.isValidElement(tt)&&typeof((yt=tt.props)==null?void 0:yt.children)!="string"){const Ie=We.cloneElement(tt,{hasChildItems:!1});Te.push(Ie)}else Te.push(tt)}),Te},[b]),items:a},oe={expandedKeys:h,defaultExpandedKeys:x,onExpandedChange:L},O={disabledKeys:m,selectedKeys:g,selectionMode:E,selectionBehavior:P,disallowEmptySelection:T,defaultSelectedKeys:R??x,onSelectionChange:z,...V,...oe},me=XO(O);me.selectionManager.setFocusedKey=Te=>{fe(Te)};const{accordionProps:Ee}=MO({...V,...oe},me,W),we=S.useMemo(()=>({state:me,focusedKey:G,motionProps:d,isCompact:M,isDisabled:J,hideIndicator:ae,disableAnimation:j,keepContentMounted:_,disableIndicatorAnimation:B}),[G,M,J,ae,g,j,_,me?.expandedKeys.values,B,me.expandedKeys.size,me.disabledKeys.size,d]),je=S.useCallback((Te={})=>({ref:W,className:se,"data-orientation":"vertical",...hn(Ee,yf(te,{enabled:q}),Te)}),[]),Oe=S.useCallback((Te,tt)=>{Te&&fe(tt)},[]);return{Component:Z,values:we,state:me,focusedKey:G,getBaseProps:je,isSplitted:c==="splitted",classNames:se,showDivider:re,dividerProps:K,disableAnimation:j,handleFocusChanged:Oe,itemClasses:Y}}function ZO(e){let t=yf(e,{enabled:typeof e.elementType=="string"}),n;return e.orientation==="vertical"&&(n="vertical"),e.elementType!=="hr"?{separatorProps:{...t,role:"separator","aria-orientation":n}}:{separatorProps:t}}function e6(e){const{as:t,className:n,orientation:r,...i}=e;let s=t||"hr";s==="hr"&&r==="vertical"&&(s="div");const{separatorProps:a}=ZO({elementType:typeof s=="string"?s:"hr",orientation:r}),c=S.useMemo(()=>gO({orientation:r,className:n}),[r,n]),d=S.useCallback((h={})=>({className:c,role:"separator","data-orientation":r,...a,...i,...h}),[c,r,a,i]);return{Component:s,getDividerProps:d}}var __=_i((e,t)=>{const{Component:n,getDividerProps:r}=e6({...e});return N.jsx(n,{ref:t,...r()})});__.displayName="HeroUI.Divider";var t6=__,I_=_i((e,t)=>{const{Component:n,values:r,state:i,isSplitted:s,showDivider:a,getBaseProps:c,disableAnimation:d,handleFocusChanged:h,itemClasses:m,dividerProps:g}=JO({...e,ref:t}),b=S.useCallback((E,P)=>h(E,P),[h]),x=S.useMemo(()=>[...i.collection].map((E,P)=>{const _={...m,...E.props.classNames||{}};return N.jsxs(S.Fragment,{children:[N.jsx(OO,{item:E,variant:e.variant,onFocusChange:b,...r,...E.props,classNames:_}),!E.props.hidden&&!s&&a&&P{const t={top:{originY:1},bottom:{originY:0},left:{originX:1},right:{originX:0},"top-start":{originX:0,originY:1},"top-end":{originX:1,originY:1},"bottom-start":{originX:0,originY:0},"bottom-end":{originX:1,originY:0},"right-start":{originX:0,originY:0},"right-end":{originX:0,originY:1},"left-start":{originX:1,originY:0},"left-end":{originX:1,originY:1}};return t?.[e]||{}},r6=e=>({top:"top",bottom:"bottom",left:"left",right:"right","top-start":"top start","top-end":"top end","bottom-start":"bottom start","bottom-end":"bottom end","left-start":"left top","left-end":"left bottom","right-start":"right top","right-end":"right bottom"})[e],CG=(e,t)=>{if(t.includes("-")){const[n]=t.split("-");if(n.includes(e))return!1}return!0},Ek=(e,t)=>{if(t.includes("-")){const[,n]=t.split("-");return`${e}-${n}`}return e},i6=UO,gp=i6,yv=globalThis?.document?S.useLayoutEffect:S.useEffect;function o6(e={}){const{onLoad:t,onError:n,ignoreFallback:r,src:i,crossOrigin:s,srcSet:a,sizes:c,loading:d,shouldBypassImageLoad:h=!1}=e,m=sL(),g=S.useRef(m?new Image:null),[b,x]=S.useState("pending");S.useEffect(()=>{g.current&&(g.current.onload=_=>{E(),x("loaded"),t?.(_)},g.current.onerror=_=>{E(),x("failed"),n?.(_)})},[g.current]);const E=()=>{g.current&&(g.current.onload=null,g.current.onerror=null,g.current=null)},P=S.useCallback(()=>{if(!i)return"pending";if(r||h)return"loaded";const _=new Image;return _.src=i,s&&(_.crossOrigin=s),a&&(_.srcset=a),c&&(_.sizes=c),d&&(_.loading=d),g.current=_,_.complete&&_.naturalWidth?"loaded":"loading"},[i,s,a,c,t,n,d,h]);return yv(()=>{m&&x(P())},[m,P]),r?"loaded":b}var[EG,s6]=tx({name:"ButtonGroupContext",strict:!1});function $_(e,t){let{elementType:n="button",isDisabled:r,onPress:i,onPressStart:s,onPressEnd:a,onPressUp:c,onPressChange:d,preventFocusOnPress:h,allowFocusWhenDisabled:m,onClick:g,href:b,target:x,rel:E,type:P="button",allowTextSelectionOnPress:_}=e,T;n==="button"?T={type:P,disabled:r}:T={role:"button",href:n==="a"&&!r?b:void 0,target:n==="a"?x:void 0,type:n==="input"?P:void 0,disabled:n==="input"?r:void 0,"aria-disabled":!r||n==="input"?void 0:r,rel:n==="a"?E:void 0};let{pressProps:R,isPressed:L}=hv({onClick:g,onPressStart:s,onPressEnd:a,onPressUp:c,onPressChange:d,onPress:i,isDisabled:r,preventFocusOnPress:h,allowTextSelectionOnPress:_,ref:t}),{focusableProps:z}=gv(e,t);m&&(z.tabIndex=r?-1:z.tabIndex);let K=lr(z,R,$f(e,{labelable:!0}));return{isPressed:L,buttonProps:lr(T,K,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],"aria-current":e["aria-current"]})}}var l6=()=>to(()=>import("./index-3BSSmhVm.js"),[]).then(e=>e.default),A_=e=>{const{ripples:t=[],motionProps:n,color:r="currentColor",style:i,onClear:s}=e;return N.jsx(N.Fragment,{children:t.map(a=>{const c=eL(.01*a.size,.2,a.size>100?.75:.5);return N.jsx(kf,{features:l6,children:N.jsx(Mf,{mode:"popLayout",children:N.jsx(Cf.span,{animate:{transform:"scale(2)",opacity:0},className:"heroui-ripple",exit:{opacity:0},initial:{transform:"scale(0)",opacity:.35},style:{position:"absolute",backgroundColor:r,borderRadius:"100%",transformOrigin:"center",pointerEvents:"none",overflow:"hidden",inset:0,zIndex:0,top:a.y,left:a.x,width:`${a.size}px`,height:`${a.size}px`,...i},transition:{duration:c},onAnimationComplete:()=>{s(a.key)},...n})})},a.key)})})};A_.displayName="HeroUI.Ripple";var a6=A_;function u6(e={}){const[t,n]=S.useState([]),r=S.useCallback(s=>{const a=s.target,c=Math.max(a.clientWidth,a.clientHeight);n(d=>[...d,{key:ZR(d.length.toString()),size:c,x:s.x-c/2,y:s.y-c/2}])},[]),i=S.useCallback(s=>{n(a=>a.filter(c=>c.key!==s))},[]);return{ripples:t,onClear:i,onPress:r,...e}}function c6(e){var t,n,r,i,s,a,c,d,h;const m=s6(),g=Ti(),b=!!m,{ref:x,as:E,children:P,startContent:_,endContent:T,autoFocus:R,className:L,spinner:z,isLoading:K=!1,disableRipple:M=!1,fullWidth:J=(t=m?.fullWidth)!=null?t:!1,radius:re=m?.radius,size:ae=(n=m?.size)!=null?n:"md",color:j=(r=m?.color)!=null?r:"default",variant:B=(i=m?.variant)!=null?i:"solid",disableAnimation:Y=(a=(s=m?.disableAnimation)!=null?s:g?.disableAnimation)!=null?a:!1,isDisabled:te=(c=m?.isDisabled)!=null?c:!1,isIconOnly:G=(d=m?.isIconOnly)!=null?d:!1,spinnerPlacement:fe="start",onPress:Z,onClick:q,...W}=e,se=E||"button",A=typeof se=="string",V=Qi(x),oe=(h=M||g?.disableRipple)!=null?h:Y,{isFocusVisible:O,isFocused:me,focusProps:Ee}=ih({autoFocus:R}),we=te||K,je=S.useMemo(()=>yO({size:ae,color:j,variant:B,radius:re,fullWidth:J,isDisabled:we,isInGroup:b,disableAnimation:Y,isIconOnly:G,className:L}),[ae,j,B,re,J,we,b,G,Y,L]),{onPress:Oe,onClear:Te,ripples:tt}=u6(),yt=S.useCallback(zt=>{oe||we||Y||V.current&&Oe(zt)},[oe,we,Y,V,Oe]),{buttonProps:Ie,isPressed:Rt}=$_({elementType:E,isDisabled:we,onPress:vf(Z,yt),onClick:q,...W},V),{isHovered:bt,hoverProps:Xt}=Ef({isDisabled:we}),Ue=S.useCallback((zt={})=>({"data-disabled":Me(we),"data-focus":Me(me),"data-pressed":Me(Rt),"data-focus-visible":Me(O),"data-hover":Me(bt),"data-loading":Me(K),...hn(Ie,Ee,Xt,yf(W,{enabled:A}),yf(zt)),className:je}),[K,we,me,Rt,A,O,bt,Ie,Ee,Xt,W,je]),st=zt=>S.isValidElement(zt)?S.cloneElement(zt,{"aria-hidden":!0,focusable:!1}):null,An=st(_),Fr=st(T),Sn=S.useMemo(()=>({sm:"sm",md:"sm",lg:"md"})[ae],[ae]),Lt=S.useCallback(()=>({ripples:tt,onClear:Te}),[tt,Te]);return{Component:se,children:P,domRef:V,spinner:z,styles:je,startContent:An,endContent:Fr,isLoading:K,spinnerPlacement:fe,spinnerSize:Sn,disableRipple:oe,getButtonProps:Ue,getRippleProps:Lt,isIconOnly:G}}function f6(e){var t,n;const[r,i]=na(e,ak.variantKeys),s=Ti(),a=(n=(t=e?.variant)!=null?t:s?.spinnerVariant)!=null?n:"default",{children:c,className:d,classNames:h,label:m,...g}=r,b=S.useMemo(()=>ak({...i}),[nl(i)]),x=pn(h?.base,d),E=m||c,P=S.useMemo(()=>E&&typeof E=="string"?E:g["aria-label"]?"":"Loading",[c,E,g["aria-label"]]),_=S.useCallback(()=>({"aria-label":P,className:b.base({class:x}),...g}),[P,b,x,g]);return{label:E,slots:b,classNames:h,variant:a,getSpinnerProps:_}}var R_=_i((e,t)=>{const{slots:n,classNames:r,label:i,variant:s,getSpinnerProps:a}=f6({...e});return s==="wave"||s==="dots"?N.jsxs("div",{ref:t,...a(),children:[N.jsx("div",{className:n.wrapper({class:r?.wrapper}),children:[...new Array(3)].map((c,d)=>N.jsx("i",{className:n.dots({class:r?.dots}),style:{"--dot-index":d}},`dot-${d}`))}),i&&N.jsx("span",{className:n.label({class:r?.label}),children:i})]}):s==="simple"?N.jsxs("div",{ref:t,...a(),children:[N.jsxs("svg",{className:n.wrapper({class:r?.wrapper}),fill:"none",viewBox:"0 0 24 24",children:[N.jsx("circle",{className:n.circle1({class:r?.circle1}),cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),N.jsx("path",{className:n.circle2({class:r?.circle2}),d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z",fill:"currentColor"})]}),i&&N.jsx("span",{className:n.label({class:r?.label}),children:i})]}):s==="spinner"?N.jsxs("div",{ref:t,...a(),children:[N.jsx("div",{className:n.wrapper({class:r?.wrapper}),children:[...new Array(12)].map((c,d)=>N.jsx("i",{className:n.spinnerBars({class:r?.spinnerBars}),style:{"--bar-index":d}},`star-${d}`))}),i&&N.jsx("span",{className:n.label({class:r?.label}),children:i})]}):N.jsxs("div",{ref:t,...a(),children:[N.jsxs("div",{className:n.wrapper({class:r?.wrapper}),children:[N.jsx("i",{className:n.circle1({class:r?.circle1})}),N.jsx("i",{className:n.circle2({class:r?.circle2})})]}),i&&N.jsx("span",{className:n.label({class:r?.label}),children:i})]})});R_.displayName="HeroUI.Spinner";var d6=R_,L_=_i((e,t)=>{const{Component:n,domRef:r,children:i,spinnerSize:s,spinner:a=N.jsx(d6,{color:"current",size:s}),spinnerPlacement:c,startContent:d,endContent:h,isLoading:m,disableRipple:g,getButtonProps:b,getRippleProps:x,isIconOnly:E}=c6({...e,ref:t});return N.jsxs(n,{ref:r,...b(),children:[d,m&&c==="start"&&a,m&&E?null:i,m&&c==="end"&&a,h,!g&&N.jsx(a6,{...x()})]})});L_.displayName="HeroUI.Button";var To=L_;const M_={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valueMissing:!1,valid:!0},D_={...M_,customError:!0,valid:!1},vp={isInvalid:!1,validationDetails:M_,validationErrors:[]},N_=S.createContext({}),Pk="__formValidationState"+Date.now();function p6(e){if(e[Pk]){let{realtimeValidation:t,displayValidation:n,updateValidation:r,resetValidation:i,commitValidation:s}=e[Pk];return{realtimeValidation:t,displayValidation:n,updateValidation:r,resetValidation:i,commitValidation:s}}return h6(e)}function h6(e){let{isInvalid:t,validationState:n,name:r,value:i,builtinValidation:s,validate:a,validationBehavior:c="aria"}=e;n&&(t||(t=n==="invalid"));let d=t!==void 0?{isInvalid:t,validationErrors:[],validationDetails:D_}:null,h=S.useMemo(()=>{if(!a||i==null)return null;let j=m6(a,i);return Tk(j)},[a,i]);s?.validationDetails.valid&&(s=void 0);let m=S.useContext(N_),g=S.useMemo(()=>r?Array.isArray(r)?r.flatMap(j=>Pb(m[j])):Pb(m[r]):[],[m,r]),[b,x]=S.useState(m),[E,P]=S.useState(!1);m!==b&&(x(m),P(!1));let _=S.useMemo(()=>Tk(E?[]:g),[E,g]),T=S.useRef(vp),[R,L]=S.useState(vp),z=S.useRef(vp),K=()=>{if(!M)return;J(!1);let j=h||s||T.current;p0(j,z.current)||(z.current=j,L(j))},[M,J]=S.useState(!1);return S.useEffect(K),{realtimeValidation:d||_||h||s||vp,displayValidation:c==="native"?d||_||R:d||_||h||s||R,updateValidation(j){c==="aria"&&!p0(R,j)?L(j):T.current=j},resetValidation(){let j=vp;p0(j,z.current)||(z.current=j,L(j)),c==="native"&&J(!1),P(!0)},commitValidation(){c==="native"&&J(!0),P(!0)}}}function Pb(e){return e?Array.isArray(e)?e:[e]:[]}function m6(e,t){if(typeof e=="function"){let n=e(t);if(n&&typeof n!="boolean")return Pb(n)}return[]}function Tk(e){return e.length?{isInvalid:!0,validationErrors:e,validationDetails:D_}:null}function p0(e,t){return e===t?!0:!!e&&!!t&&e.isInvalid===t.isInvalid&&e.validationErrors.length===t.validationErrors.length&&e.validationErrors.every((n,r)=>n===t.validationErrors[r])&&Object.entries(e.validationDetails).every(([n,r])=>t.validationDetails[n]===r)}function g6(e,t,n){let{validationBehavior:r,focus:i}=e;Zt(()=>{if(r==="native"&&n?.current&&!n.current.disabled){let d=t.realtimeValidation.isInvalid?t.realtimeValidation.validationErrors.join(" ")||"Invalid value.":"";n.current.setCustomValidity(d),n.current.hasAttribute("title")||(n.current.title=""),t.realtimeValidation.isInvalid||t.updateValidation(y6(n.current))}});let s=Fn(()=>{t.resetValidation()}),a=Fn(d=>{var h;t.displayValidation.isInvalid||t.commitValidation();let m=n==null||(h=n.current)===null||h===void 0?void 0:h.form;if(!d.defaultPrevented&&n&&m&&b6(m)===n.current){var g;i?i():(g=n.current)===null||g===void 0||g.focus(),TF("keyboard")}d.preventDefault()}),c=Fn(()=>{t.commitValidation()});S.useEffect(()=>{let d=n?.current;if(!d)return;let h=d.form;return d.addEventListener("invalid",a),d.addEventListener("change",c),h?.addEventListener("reset",s),()=>{d.removeEventListener("invalid",a),d.removeEventListener("change",c),h?.removeEventListener("reset",s)}},[n,a,c,s,r])}function v6(e){let t=e.validity;return{badInput:t.badInput,customError:t.customError,patternMismatch:t.patternMismatch,rangeOverflow:t.rangeOverflow,rangeUnderflow:t.rangeUnderflow,stepMismatch:t.stepMismatch,tooLong:t.tooLong,tooShort:t.tooShort,typeMismatch:t.typeMismatch,valueMissing:t.valueMissing,valid:t.valid}}function y6(e){return{isInvalid:!e.validity.valid,validationDetails:v6(e),validationErrors:e.validationMessage?[e.validationMessage]:[]}}function b6(e){for(let t=0;t{if(typeof e=="function"){const s=e,a=s(i);return()=>{typeof a=="function"?a():s(null)}}else if(e)return e.current=i,()=>{e.current=null}},[e]);return S.useMemo(()=>({get current(){return t.current},set current(i){t.current=i,n.current&&(n.current(),n.current=void 0),i!=null&&(n.current=r(i))}}),[r])}function O_(e,t){let n=S.useContext(e);if(t===null)return null;if(n&&typeof n=="object"&&"slots"in n&&n.slots){let r=new Intl.ListFormat().format(Object.keys(n.slots).map(s=>`"${s}"`));if(!t&&!n.slots[_k])throw new Error(`A slot prop is required. Valid slot names are ${r}.`);let i=t||_k;if(!n.slots[i])throw new Error(`Invalid slot "${t}". Valid slot names are ${r}.`);return n.slots[i]}return n}function S6(e,t,n){let r=O_(n,e.slot)||{},{ref:i,...s}=r,a=w6(S.useMemo(()=>uE(t,i),[t,i])),c=hn(s,e);return"style"in s&&s.style&&"style"in e&&e.style&&(typeof s.style=="function"||typeof e.style=="function"?c.style=d=>{let h=typeof s.style=="function"?s.style(d):s.style,m={...d.defaultStyle,...h},g=typeof e.style=="function"?e.style({...d,defaultStyle:m}):e.style;return{...m,...g}}:c.style={...s.style,...e.style}),[c,a]}var Tb=S.createContext(null),k6=S.forwardRef(function(t,n){[t,n]=S6(t,n,Tb);let{validationErrors:r,validationBehavior:i="native",children:s,className:a,...c}=t;const d=S.useMemo(()=>vO({className:a}),[a]);return N.jsx("form",{noValidate:i!=="native",...c,ref:n,className:d,children:N.jsx(Tb.Provider,{value:{...t,validationBehavior:i},children:N.jsx(N_.Provider,{value:r??{},children:s})})})}),C6=S.forwardRef(function(t,n){var r,i;const s=Ti(),a=(i=(r=t.validationBehavior)!=null?r:s?.validationBehavior)!=null?i:"native";return N.jsx(k6,{...t,ref:n,validationBehavior:a})});function Ik(e,t=[]){const n=S.useRef(e);return yv(()=>{n.current=e}),S.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function z_(e){let[t,n]=Af(e.isOpen,e.defaultOpen||!1,e.onOpenChange);const r=S.useCallback(()=>{n(!0)},[n]),i=S.useCallback(()=>{n(!1)},[n]),s=S.useCallback(()=>{n(!t)},[n,t]);return{isOpen:t,setOpen:n,open:r,close:i,toggle:s}}const E6=1500,$k=500;let lu={},P6=0,yp=!1,Gs=null,au=null;function T6(e={}){let{delay:t=E6,closeDelay:n=$k}=e,{isOpen:r,open:i,close:s}=z_(e),a=S.useMemo(()=>`${++P6}`,[]),c=S.useRef(null),d=S.useRef(s),h=()=>{lu[a]=b},m=()=>{for(let E in lu)E!==a&&(lu[E](!0),delete lu[E])},g=()=>{c.current&&clearTimeout(c.current),c.current=null,m(),h(),yp=!0,i(),Gs&&(clearTimeout(Gs),Gs=null),au&&(clearTimeout(au),au=null)},b=E=>{E||n<=0?(c.current&&clearTimeout(c.current),c.current=null,d.current()):c.current||(c.current=setTimeout(()=>{c.current=null,d.current()},n)),Gs&&(clearTimeout(Gs),Gs=null),yp&&(au&&clearTimeout(au),au=setTimeout(()=>{delete lu[a],au=null,yp=!1},Math.max($k,n)))},x=()=>{m(),h(),!r&&!Gs&&!yp?Gs=setTimeout(()=>{Gs=null,yp=!0,g()},t):r||g()};return S.useEffect(()=>{d.current=s},[s]),S.useEffect(()=>()=>{c.current&&clearTimeout(c.current),lu[a]&&delete lu[a]},[a]),{isOpen:r,open:E=>{!E&&t>0&&!c.current?x():g()},close:b}}function _6(e,t){let n=$f(e,{labelable:!0}),{hoverProps:r}=Ef({onHoverStart:()=>t?.open(!0),onHoverEnd:()=>t?.close()});return{tooltipProps:lr(n,r,{role:"tooltip"})}}function I6(e,t,n){let{isDisabled:r,trigger:i}=e,s=bf(),a=S.useRef(!1),c=S.useRef(!1),d=()=>{(a.current||c.current)&&t.open(c.current)},h=T=>{!a.current&&!c.current&&t.close(T)};S.useEffect(()=>{let T=R=>{n&&n.current&&R.key==="Escape"&&(R.stopPropagation(),t.close(!0))};if(t.isOpen)return document.addEventListener("keydown",T,!0),()=>{document.removeEventListener("keydown",T,!0)}},[n,t]);let m=()=>{i!=="focus"&&(rh()==="pointer"?a.current=!0:a.current=!1,d())},g=()=>{i!=="focus"&&(c.current=!1,a.current=!1,h())},b=()=>{c.current=!1,a.current=!1,h(!0)},x=()=>{Wx()&&(c.current=!0,d())},E=()=>{c.current=!1,a.current=!1,h(!0)},{hoverProps:P}=Ef({isDisabled:r,onHoverStart:m,onHoverEnd:g}),{focusableProps:_}=gv({isDisabled:r,onFocus:x,onBlur:E},n);return{triggerProps:{"aria-describedby":t.isOpen?s:void 0,...lr(_,P,{onPointerDown:b,onKeyDown:b,tabIndex:void 0})},tooltipProps:{id:s}}}var qs=[];function j_(e,t){const{disableOutsideEvents:n=!0,isDismissable:r=!1,isKeyboardDismissDisabled:i=!1,isOpen:s,onClose:a,shouldCloseOnBlur:c,shouldCloseOnInteractOutside:d}=e;S.useEffect(()=>(s&&qs.push(t),()=>{const P=qs.indexOf(t);P>=0&&qs.splice(P,1)}),[s,t]);const h=()=>{qs[qs.length-1]===t&&a&&a()},m=P=>{(!d||d(P.target))&&(qs[qs.length-1]===t&&n&&(P.stopPropagation(),P.preventDefault()),P.pointerType!=="touch"&&h())},g=P=>{P.pointerType==="touch"&&(!d||d(P.target))&&(qs[qs.length-1]===t&&n&&(P.stopPropagation(),P.preventDefault()),h())},b=P=>{P.key==="Escape"&&!i&&!P.nativeEvent.isComposing&&(P.stopPropagation(),P.preventDefault(),h())};FF({isDisabled:!(r&&s),onInteractOutside:r&&s?g:void 0,onInteractOutsideStart:m,ref:t});const{focusWithinProps:x}=vv({isDisabled:!c,onBlurWithin:P=>{!P.relatedTarget||BF(P.relatedTarget)||(!d||d(P.relatedTarget))&&h()}}),E=P=>{P.target===P.currentTarget&&P.preventDefault()};return{overlayProps:{onKeyDown:b,...x},underlayProps:{onPointerDown:E}}}function $6(e){var t,n;const r=Ti(),[i,s]=na(e,uk.variantKeys),{ref:a,as:c,isOpen:d,content:h,children:m,defaultOpen:g,onOpenChange:b,isDisabled:x,trigger:E,shouldFlip:P=!0,containerPadding:_=12,placement:T="top",delay:R=0,closeDelay:L=500,showArrow:z=!1,offset:K=7,crossOffset:M=0,isDismissable:J,shouldCloseOnBlur:re=!0,portalContainer:ae,isKeyboardDismissDisabled:j=!1,updatePositionDeps:B=[],shouldCloseOnInteractOutside:Y,className:te,onClose:G,motionProps:fe,classNames:Z,...q}=i,W=c||"div",se=(n=(t=e?.disableAnimation)!=null?t:r?.disableAnimation)!=null?n:!1,A=T6({delay:R,closeDelay:L,isDisabled:x,defaultOpen:g,isOpen:d,onOpenChange:Ue=>{b?.(Ue),Ue||G?.()}}),V=S.useRef(null),oe=S.useRef(null),O=S.useId(),me=A.isOpen&&!x;S.useImperativeHandle(a,()=>HR(oe));const{triggerProps:Ee,tooltipProps:we}=I6({isDisabled:x,trigger:E},A,V),{tooltipProps:je}=_6({isOpen:me,...hn(i,we)},A),{overlayProps:Oe,placement:Te,updatePosition:tt}=fF({isOpen:me,targetRef:V,placement:r6(T),overlayRef:oe,offset:z?K+3:K,crossOffset:M,shouldFlip:P,containerPadding:_});yv(()=>{B.length&&tt()},B);const{overlayProps:yt}=j_({isOpen:me,onClose:A.close,isDismissable:J,shouldCloseOnBlur:re,isKeyboardDismissDisabled:j,shouldCloseOnInteractOutside:Y},oe),Ie=S.useMemo(()=>{var Ue,st,An;return uk({...s,disableAnimation:se,radius:(Ue=e?.radius)!=null?Ue:"md",size:(st=e?.size)!=null?st:"md",shadow:(An=e?.shadow)!=null?An:"sm"})},[nl(s),se,e?.radius,e?.size,e?.shadow]),Rt=S.useCallback((Ue={},st=null)=>({...hn(Ee,Ue),ref:oL(st,V),"aria-describedby":me?O:void 0}),[Ee,me,O,A]),bt=S.useCallback(()=>({ref:oe,"data-slot":"base","data-open":Me(me),"data-arrow":Me(z),"data-disabled":Me(x),"data-placement":Ek(Te||"top",T),...hn(je,yt,q),style:hn(Oe.style,q.style,i.style),className:Ie.base({class:Z?.base}),id:O}),[Ie,me,z,x,Te,T,je,yt,q,Oe,i,O]),Xt=S.useCallback(()=>({"data-slot":"content","data-open":Me(me),"data-arrow":Me(z),"data-disabled":Me(x),"data-placement":Ek(Te||"top",T),className:Ie.content({class:pn(Z?.content,te)})}),[Ie,me,z,x,Te,T,Z]);return{Component:W,content:h,children:m,isOpen:me,triggerRef:V,showArrow:z,portalContainer:ae,placement:T,disableAnimation:se,isDisabled:x,motionProps:fe,getTooltipContentProps:Xt,getTriggerProps:Rt,getTooltipProps:bt}}var A6=()=>to(()=>import("./index-3BSSmhVm.js"),[]).then(e=>e.default),B_=_i((e,t)=>{var n;const{Component:r,children:i,content:s,isOpen:a,portalContainer:c,placement:d,disableAnimation:h,motionProps:m,getTriggerProps:g,getTooltipProps:b,getTooltipContentProps:x}=$6({...e,ref:t});let E;try{if(S.Children.count(i)!==1)throw new Error;if(!S.isValidElement(i))E=N.jsx("p",{...g(),children:i});else{const K=i,M=(n=K.props.ref)!=null?n:K.ref;E=S.cloneElement(K,g(K.props,M))}}catch{E=N.jsx("span",{}),nL("Tooltip must have only one child node. Please, check your code.")}const{ref:P,id:_,style:T,...R}=b(),L=N.jsx("div",{ref:P,id:_,style:T,children:N.jsx(Cf.div,{animate:"enter",exit:"exit",initial:"exit",variants:qg.scaleSpring,...hn(m,R),style:{...n6(d)},children:N.jsx(r,{...x(),children:s})},`${_}-tooltip-inner`)},`${_}-tooltip-content`);return N.jsxs(N.Fragment,{children:[E,h?a&&N.jsx(ZS,{portalContainer:c,children:N.jsx("div",{ref:P,id:_,style:T,...R,children:N.jsx(r,{...x(),children:s})})}):N.jsx(kf,{features:A6,children:N.jsx(Mf,{children:a&&N.jsx(ZS,{portalContainer:c,children:L})})})]})});B_.displayName="HeroUI.Tooltip";var R6=B_;function L6(e={}){const{rerender:t=!1,delay:n=0}=e,r=S.useRef(!1),[i,s]=S.useState(!1);return S.useEffect(()=>{r.current=!0;let a=null;return t&&(n>0?a=setTimeout(()=>{s(!0)},n):s(!0)),()=>{r.current=!1,t&&s(!1),a&&clearTimeout(a)}},[t]),[S.useCallback(()=>r.current,[]),i]}function M6(e){let{value:t=0,minValue:n=0,maxValue:r=100,valueLabel:i,isIndeterminate:s,formatOptions:a={style:"percent"}}=e,c=$f(e,{labelable:!0}),{labelProps:d,fieldProps:h}=F_({...e,labelElementType:"span"});t=Ng(t,n,r);let m=(t-n)/(r-n),g=mM(a);if(!s&&!i){let b=a.style==="percent"?m:t;i=g.format(b)}return{progressBarProps:lr(c,{...h,"aria-valuenow":s?void 0:t,"aria-valuemin":n,"aria-valuemax":r,"aria-valuetext":s?void 0:i,role:"progressbar"}),labelProps:d}}function D6(e){var t,n,r;const i=Ti(),[s,a]=na(e,ck.variantKeys),{ref:c,as:d,id:h,className:m,classNames:g,label:b,valueLabel:x,value:E=void 0,minValue:P=0,maxValue:_=100,strokeWidth:T,showValueLabel:R=!1,formatOptions:L={style:"percent"},...z}=s,K=d||"div",M=Qi(c),J=pn(g?.base,m),[,re]=L6({rerender:!0,delay:100}),ae=((t=e.isIndeterminate)!=null?t:!0)&&E===void 0,j=(r=(n=e.disableAnimation)!=null?n:i?.disableAnimation)!=null?r:!1,{progressBarProps:B,labelProps:Y}=M6({id:h,label:b,value:E,minValue:P,maxValue:_,valueLabel:x,formatOptions:L,isIndeterminate:ae,"aria-labelledby":e["aria-labelledby"],"aria-label":e["aria-label"]}),te=S.useMemo(()=>ck({...a,disableAnimation:j,isIndeterminate:ae}),[nl(a),j,ae]),G=j?!0:re,fe=16,Z=T||(e.size==="sm"?2:3),q=16-Z,W=2*q*Math.PI,se=S.useMemo(()=>G?ae?.25:E?tL((E-P)/(_-P),1):0:0,[G,E,P,_,ae]),A=W-se*W,V=S.useCallback((we={})=>({ref:M,"data-indeterminate":Me(ae),"data-disabled":Me(e.isDisabled),className:te.base({class:J}),...hn(B,z,we)}),[M,te,ae,e.isDisabled,J,B,z]),oe=S.useCallback((we={})=>({className:te.label({class:g?.label}),...hn(Y,we)}),[te,g,Y]),O=S.useCallback((we={})=>({viewBox:"0 0 32 32",fill:"none",strokeWidth:Z,className:te.svg({class:g?.svg}),...we}),[Z,te,g]),me=S.useCallback((we={})=>({cx:fe,cy:fe,r:q,role:"presentation",strokeDasharray:`${W} ${W}`,strokeDashoffset:A,transform:"rotate(-90 16 16)",strokeLinecap:"round",className:te.indicator({class:g?.indicator}),...we}),[te,g,A,W,q]),Ee=S.useCallback((we={})=>({cx:fe,cy:fe,r:q,role:"presentation",strokeDasharray:`${W} ${W}`,strokeDashoffset:0,transform:"rotate(-90 16 16)",strokeLinecap:"round",className:te.track({class:g?.track}),...we}),[te,g,W,q]);return{Component:K,domRef:M,slots:te,classNames:g,label:b,showValueLabel:R,getProgressBarProps:V,getLabelProps:oe,getSvgProps:O,getIndicatorProps:me,getTrackProps:Ee}}var V_=_i((e,t)=>{const{Component:n,slots:r,classNames:i,label:s,showValueLabel:a,getProgressBarProps:c,getLabelProps:d,getSvgProps:h,getIndicatorProps:m,getTrackProps:g}=D6({ref:t,...e}),b=c();return N.jsxs(n,{...b,children:[N.jsxs("div",{className:r.svgWrapper({class:i?.svgWrapper}),children:[N.jsxs("svg",{...h(),children:[N.jsx("circle",{...g()}),N.jsx("circle",{...m()})]}),a&&N.jsx("span",{className:r.value({class:i?.value}),children:b["aria-valuetext"]})]}),s&&N.jsx("span",{...d(),children:s})]})});V_.displayName="HeroUI.CircularProgress";var N6=V_;function F6(e,t){let{inputElementType:n="input",isDisabled:r=!1,isRequired:i=!1,isReadOnly:s=!1,type:a="text",validationBehavior:c="aria"}=e,[d,h]=Af(e.value,e.defaultValue||"",e.onChange),{focusableProps:m}=gv(e,t),g=p6({...e,value:d}),{isInvalid:b,validationErrors:x,validationDetails:E}=g.displayValidation,{labelProps:P,fieldProps:_,descriptionProps:T,errorMessageProps:R}=x6({...e,isInvalid:b,errorMessage:e.errorMessage||x}),L=$f(e,{labelable:!0});const z={type:a,pattern:e.pattern};return sM(t,d,h),g6(e,g,t),S.useEffect(()=>{if(t.current instanceof Ji(t.current).HTMLTextAreaElement){let K=t.current;Object.defineProperty(K,"defaultValue",{get:()=>K.value,set:()=>{},configurable:!0})}},[t]),{labelProps:P,inputProps:lr(L,n==="input"?z:void 0,{disabled:r,readOnly:s,required:i&&c==="native","aria-required":i&&c==="aria"||void 0,"aria-invalid":b||void 0,"aria-errormessage":e["aria-errormessage"],"aria-activedescendant":e["aria-activedescendant"],"aria-autocomplete":e["aria-autocomplete"],"aria-haspopup":e["aria-haspopup"],"aria-controls":e["aria-controls"],value:d,onChange:K=>h(K.target.value),autoComplete:e.autoComplete,autoCapitalize:e.autoCapitalize,maxLength:e.maxLength,minLength:e.minLength,name:e.name,placeholder:e.placeholder,inputMode:e.inputMode,autoCorrect:e.autoCorrect,spellCheck:e.spellCheck,[parseInt(We.version,10)>=17?"enterKeyHint":"enterkeyhint"]:e.enterKeyHint,onCopy:e.onCopy,onCut:e.onCut,onPaste:e.onPaste,onCompositionEnd:e.onCompositionEnd,onCompositionStart:e.onCompositionStart,onCompositionUpdate:e.onCompositionUpdate,onSelect:e.onSelect,onBeforeInput:e.onBeforeInput,onInput:e.onInput,...m,..._}),descriptionProps:T,errorMessageProps:R,isInvalid:b,validationErrors:x,validationDetails:E}}function O6(e){var t,n,r,i,s,a,c;const d=Ti(),{validationBehavior:h}=O_(Tb)||{},[m,g]=na(e,pk.variantKeys),{ref:b,as:x,type:E,label:P,baseRef:_,wrapperRef:T,description:R,className:L,classNames:z,autoFocus:K,startContent:M,endContent:J,onClear:re,onChange:ae,validationState:j,validationBehavior:B=(t=h??d?.validationBehavior)!=null?t:"native",innerWrapperRef:Y,onValueChange:te=()=>{},...G}=m,fe=S.useCallback(Ye=>{te(Ye??"")},[te]),[Z,q]=S.useState(!1),W=x||"div",se=(r=(n=e.disableAnimation)!=null?n:d?.disableAnimation)!=null?r:!1,A=Qi(b),V=Qi(_),oe=Qi(T),O=Qi(Y),[me,Ee]=Af(m.value,(i=m.defaultValue)!=null?i:"",fe),we=E==="file",je=((c=(a=(s=A?.current)==null?void 0:s.files)==null?void 0:a.length)!=null?c:0)>0,Oe=["date","time","month","week","range"].includes(E),Te=!YR(me)||Oe||je,tt=Te||Z,yt=E==="hidden",Ie=e.isMultiline,Rt=pn(z?.base,L,Te?"is-filled":""),bt=S.useCallback(()=>{var Ye;we?A.current.value="":Ee(""),re?.(),(Ye=A.current)==null||Ye.focus()},[Ee,re,we]);yv(()=>{A.current&&Ee(A.current.value)},[A.current]);const{labelProps:Xt,inputProps:Ue,isInvalid:st,validationErrors:An,validationDetails:Fr,descriptionProps:Sn,errorMessageProps:Lt}=F6({...e,validationBehavior:B,autoCapitalize:e.autoCapitalize,value:me,"aria-label":e.label?e["aria-label"]:QR(e["aria-label"],e.placeholder),inputElementType:Ie?"textarea":"input",onChange:Ee},A);we&&(delete Ue.value,delete Ue.onChange);const{isFocusVisible:zt,isFocused:ar,focusProps:ro}=ih({autoFocus:K,isTextInput:!0}),{isHovered:Yn,hoverProps:pe}=Ef({isDisabled:!!e?.isDisabled}),{isHovered:ke,hoverProps:Be}=Ef({isDisabled:!!e?.isDisabled}),{focusProps:rt,isFocusVisible:ct}=ih(),{focusWithinProps:Qt}=vv({onFocusWithinChange:q}),{pressProps:ur}=hv({isDisabled:!!e?.isDisabled||!!e?.isReadOnly,onPress:bt}),en=j==="invalid"||st,ln=c5({labelPlacement:e.labelPlacement,label:P}),Sr=typeof m.errorMessage=="function"?m.errorMessage({isInvalid:en,validationErrors:An,validationDetails:Fr}):m.errorMessage||An?.join(" "),Mt=!!re||e.isClearable,Xn=!!P||!!R||!!Sr,tn=!!m.placeholder,ol=!!P,hs=!!R||!!Sr,li=ln==="outside-left",ai=ln==="outside-top",sa=ln==="outside"||li||ai,Tu=ln==="inside",ms=A.current?(!A.current.value||A.current.value===""||!me||me==="")&&tn:!1,Or=!!M,la=sa?li||ai||tn||ln==="outside"&&Or:!1,aa=ln==="outside"&&!tn&&!Or,Ht=S.useMemo(()=>pk({...g,isInvalid:en,labelPlacement:ln,isClearable:Mt,disableAnimation:se}),[nl(g),en,ln,Mt,Or,se]),gs=S.useCallback((Ye={})=>({ref:V,className:Ht.base({class:Rt}),"data-slot":"base","data-filled":Me(Te||tn||Or||ms||we),"data-filled-within":Me(tt||tn||Or||ms||we),"data-focus-within":Me(Z),"data-focus-visible":Me(zt),"data-readonly":Me(e.isReadOnly),"data-focus":Me(ar),"data-hover":Me(Yn||ke),"data-required":Me(e.isRequired),"data-invalid":Me(en),"data-disabled":Me(e.isDisabled),"data-has-elements":Me(Xn),"data-has-helper":Me(hs),"data-has-label":Me(ol),"data-has-value":Me(!ms),"data-hidden":Me(yt),...Qt,...Ye}),[Ht,Rt,Te,ar,Yn,ke,en,hs,ol,Xn,ms,Or,Z,zt,tt,tn,Qt,yt,e.isReadOnly,e.isRequired,e.isDisabled]),vs=S.useCallback((Ye={})=>({"data-slot":"label",className:Ht.label({class:z?.label}),...hn(Xt,Be,Ye)}),[Ht,ke,Xt,z?.label]),Ro=S.useCallback(Ye=>{Ye.key==="Escape"&&me&&(Mt||re)&&!e.isReadOnly&&(Ee(""),re?.())},[me,Ee,re,Mt,e.isReadOnly]),ua=S.useCallback((Ye={})=>({"data-slot":"input","data-filled":Me(Te),"data-filled-within":Me(tt),"data-has-start-content":Me(Or),"data-has-end-content":Me(!!J),"data-type":E,className:Ht.input({class:pn(z?.input,Te?"is-filled":"",Ie?"pe-0":"",E==="password"?"[&::-ms-reveal]:hidden":"")}),...hn(ro,Ue,yf(G,{enabled:!0,labelable:!0,omitEventNames:new Set(Object.keys(Ue))}),Ye),"aria-readonly":Me(e.isReadOnly),onChange:vf(Ue.onChange,ae),onKeyDown:vf(Ue.onKeyDown,Ye.onKeyDown,Ro),ref:A}),[Ht,me,ro,Ue,G,Te,tt,Or,J,z?.input,e.isReadOnly,e.isRequired,ae,Ro]),ys=S.useCallback((Ye={})=>({ref:oe,"data-slot":"input-wrapper","data-hover":Me(Yn||ke),"data-focus-visible":Me(zt),"data-focus":Me(ar),className:Ht.inputWrapper({class:pn(z?.inputWrapper,Te?"is-filled":"")}),...hn(Ye,pe),onClick:io=>{A.current&&io.currentTarget===io.target&&A.current.focus()},style:{cursor:"text",...Ye.style}}),[Ht,Yn,ke,zt,ar,me,z?.inputWrapper]),sl=S.useCallback((Ye={})=>({...Ye,ref:O,"data-slot":"inner-wrapper",onClick:io=>{A.current&&io.currentTarget===io.target&&A.current.focus()},className:Ht.innerWrapper({class:pn(z?.innerWrapper,Ye?.className)})}),[Ht,z?.innerWrapper]),ll=S.useCallback((Ye={})=>({...Ye,"data-slot":"main-wrapper",className:Ht.mainWrapper({class:pn(z?.mainWrapper,Ye?.className)})}),[Ht,z?.mainWrapper]),ca=S.useCallback((Ye={})=>({...Ye,"data-slot":"helper-wrapper",className:Ht.helperWrapper({class:pn(z?.helperWrapper,Ye?.className)})}),[Ht,z?.helperWrapper]),Bf=S.useCallback((Ye={})=>({...Ye,...Sn,"data-slot":"description",className:Ht.description({class:pn(z?.description,Ye?.className)})}),[Ht,z?.description]),Vf=S.useCallback((Ye={})=>({...Ye,...Lt,"data-slot":"error-message",className:Ht.errorMessage({class:pn(z?.errorMessage,Ye?.className)})}),[Ht,Lt,z?.errorMessage]),Uf=S.useCallback((Ye={})=>({...Ye,type:"button",tabIndex:-1,disabled:e.isDisabled,"aria-label":"clear input","data-slot":"clear-button","data-focus-visible":Me(ct),className:Ht.clearButton({class:pn(z?.clearButton,Ye?.className)}),...hn(ur,rt)}),[Ht,ct,ur,rt,z?.clearButton]);return{Component:W,classNames:z,domRef:A,label:P,description:R,startContent:M,endContent:J,labelPlacement:ln,isClearable:Mt,hasHelper:hs,hasStartContent:Or,isLabelOutside:la,isOutsideLeft:li,isOutsideTop:ai,isLabelOutsideAsPlaceholder:aa,shouldLabelBeOutside:sa,shouldLabelBeInside:Tu,hasPlaceholder:tn,isInvalid:en,errorMessage:Sr,getBaseProps:gs,getLabelProps:vs,getInputProps:ua,getMainWrapperProps:ll,getInputWrapperProps:ys,getInnerWrapperProps:sl,getHelperWrapperProps:ca,getDescriptionProps:Bf,getErrorMessageProps:Vf,getClearButtonProps:Uf}}function _b(){return _b=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{Component:d,label:h,description:m,startContent:g,endContent:b,hasHelper:x,shouldLabelBeOutside:E,shouldLabelBeInside:P,isInvalid:_,errorMessage:T,getBaseProps:R,getLabelProps:L,getInputProps:z,getInnerWrapperProps:K,getInputWrapperProps:M,getHelperWrapperProps:J,getDescriptionProps:re,getErrorMessageProps:ae,isClearable:j,getClearButtonProps:B}=O6({...a,ref:c,isMultiline:!0}),[Y,te]=S.useState(t>1),[G,fe]=S.useState(!1),Z=h?N.jsx("label",{...L(),children:h}):null,q=z(),W=(me,Ee)=>{if(t===1&&te(me>=Ee.rowHeight*2),n>t){const we=me>=n*Ee.rowHeight;fe(we)}s?.(me,Ee)},se=i?N.jsx("textarea",{...q,style:hn(q.style,e??{})}):N.jsx(tz,{...q,cacheMeasurements:r,"data-hide-scroll":Me(!G),maxRows:n,minRows:t,style:hn(q.style,e??{}),onHeightChange:W}),A=S.useMemo(()=>j?N.jsx("button",{...B(),children:N.jsx(NO,{})}):null,[j,B]),V=S.useMemo(()=>g||b?N.jsxs("div",{...K(),children:[g,se,b]}):N.jsx("div",{...K(),children:se}),[g,q,b,K]),oe=_&&T,O=oe||m;return N.jsxs(d,{...R(),children:[E?Z:null,N.jsxs("div",{...M(),"data-has-multiple-rows":Me(Y),children:[P?Z:null,V,A]}),x&&O?N.jsx("div",{...J(),children:oe?N.jsx("div",{...ae(),children:T}):N.jsx("div",{...re(),children:m})}):null]})});U_.displayName="HeroUI.Textarea";var nz=U_;function rz(e,t){let{role:n="dialog"}=e,r=B0();r=e["aria-label"]?void 0:r;let i=S.useRef(!1);return S.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){wu(t.current);let s=setTimeout(()=>{document.activeElement===t.current&&(i.current=!0,t.current&&(t.current.blur(),wu(t.current)),i.current=!1)},500);return()=>{clearTimeout(s)}}},[t]),a_(),{dialogProps:{...$f(e,{labelable:!0}),role:n,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||r,onBlur:s=>{i.current&&s.stopPropagation()}},titleProps:{id:r}}}function iz(e){var t,n;const r=Ti(),[i,s]=na(e,mk.variantKeys),{ref:a,as:c,src:d,className:h,classNames:m,loading:g,isBlurred:b,fallbackSrc:x,isLoading:E,disableSkeleton:P=!!x,removeWrapper:_=!1,onError:T,onLoad:R,srcSet:L,sizes:z,crossOrigin:K,...M}=i,J=o6({src:d,loading:g,onError:T,onLoad:R,ignoreFallback:!1,srcSet:L,sizes:z,crossOrigin:K,shouldBypassImageLoad:c!==void 0}),re=(n=(t=e.disableAnimation)!=null?t:r?.disableAnimation)!=null?n:!1,ae=J==="loaded"&&!E,j=J==="loading"||E,B=e.isZoomed,Y=c||"img",te=Qi(a),{w:G,h:fe}=S.useMemo(()=>({w:i.width?typeof i.width=="number"?`${i.width}px`:i.width:"fit-content",h:i.height?typeof i.height=="number"?`${i.height}px`:i.height:"auto"}),[i?.width,i?.height]),Z=(!d||!ae)&&!!x,q=j&&!P,W=S.useMemo(()=>mk({...s,disableAnimation:re,showSkeleton:q}),[nl(s),re,q]),se=pn(h,m?.img),A=(O={})=>{const me=pn(se,O?.className);return{src:d,ref:te,"data-loaded":Me(ae),className:W.img({class:me}),loading:g,srcSet:L,sizes:z,crossOrigin:K,...M,style:{...M?.height&&{height:fe},...O.style,...M.style}}},V=S.useCallback(()=>{const O=Z?{backgroundImage:`url(${x})`}:{};return{className:W.wrapper({class:m?.wrapper}),style:{...O,maxWidth:G}}},[W,Z,x,m?.wrapper,G]),oe=S.useCallback(()=>({src:d,"aria-hidden":Me(!0),className:W.blurredImg({class:m?.blurredImg})}),[W,d,m?.blurredImg]);return{Component:Y,domRef:te,slots:W,classNames:m,isBlurred:b,disableSkeleton:P,fallbackSrc:x,removeWrapper:_,isZoomed:B,isLoading:j,getImgProps:A,getWrapperProps:V,getBlurredImgProps:oe}}var K_=_i((e,t)=>{const{Component:n,domRef:r,slots:i,classNames:s,isBlurred:a,isZoomed:c,fallbackSrc:d,removeWrapper:h,disableSkeleton:m,getImgProps:g,getWrapperProps:b,getBlurredImgProps:x}=iz({...e,ref:t}),E=N.jsx(n,{ref:r,...g()});if(h)return E;const P=N.jsx("div",{className:i.zoomedWrapper({class:s?.zoomedWrapper}),children:E});return a?N.jsxs("div",{...b(),children:[c?P:E,S.cloneElement(E,x())]}):c||!m||d?N.jsxs("div",{...b(),children:[" ",c?P:E]}):E});K_.displayName="HeroUI.Image";var h0=K_,[oz,W_]=tx({name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),H_=_i((e,t)=>{const{as:n,children:r,className:i,...s}=e,{slots:a,classNames:c,bodyId:d,setBodyMounted:h}=W_(),m=Qi(t),g=n||"div";return S.useEffect(()=>(h(!0),()=>h(!1)),[h]),N.jsx(g,{ref:m,className:a.body({class:pn(c?.body,i)}),id:d,...s,children:r})});H_.displayName="HeroUI.ModalBody";var sz=H_,lz={enter:{scale:"var(--scale-enter)",y:"var(--slide-enter)",opacity:1,willChange:"auto",transition:{scale:{duration:.4,ease:zp.ease},opacity:{duration:.4,ease:zp.ease},y:{type:"spring",bounce:0,duration:.6}}},exit:{scale:"var(--scale-exit)",y:"var(--slide-exit)",opacity:0,willChange:"transform",transition:{duration:.3,ease:zp.ease}}},ls=typeof document<"u"&&window.visualViewport,az=We.createContext(!1);function uz(){return!1}function cz(){return!0}function fz(e){return()=>{}}function dz(){return typeof We.useSyncExternalStore=="function"?We.useSyncExternalStore(fz,uz,cz):S.useContext(az)}function pz(){let e=dz(),[t,n]=S.useState(()=>e?{width:0,height:0}:Nk());return S.useEffect(()=>{let r=()=>{n(i=>{let s=Nk();return s.width===i.width&&s.height===i.height?i:s})};return ls?ls.addEventListener("resize",r):window.addEventListener("resize",r),()=>{ls?ls.removeEventListener("resize",r):window.removeEventListener("resize",r)}},[]),t}function Nk(){return{width:ls&&ls?.width||window.innerWidth,height:ls&&ls?.height||window.innerHeight}}var Fk=()=>to(()=>import("./index-3BSSmhVm.js"),[]).then(e=>e.default),G_=e=>{const{as:t,children:n,role:r="dialog",...i}=e,{Component:s,domRef:a,slots:c,classNames:d,motionProps:h,backdrop:m,closeButton:g,hideCloseButton:b,disableAnimation:x,getDialogProps:E,getBackdropProps:P,getCloseButtonProps:_,onClose:T}=W_(),R=t||s||"div",L=pz(),{dialogProps:z}=rz({role:r},a),K=S.isValidElement(g)?S.cloneElement(g,_()):N.jsx("button",{..._(),children:N.jsx(FO,{})}),M=S.useCallback(Y=>{Y.key==="Tab"&&Y.nativeEvent.isComposing&&(Y.stopPropagation(),Y.preventDefault())},[]),J=E(hn(z,i)),re=N.jsxs(R,{...J,onKeyDown:vf(J.onKeyDown,M),children:[N.jsx(tk,{onDismiss:T}),!b&&K,typeof n=="function"?n(T):n,N.jsx(tk,{onDismiss:T})]}),ae=S.useMemo(()=>m==="transparent"?null:x?N.jsx("div",{...P()}):N.jsx(kf,{features:Fk,children:N.jsx(Cf.div,{animate:"enter",exit:"exit",initial:"exit",variants:qg.fade,...P()})}),[m,x,P]),j={"--visual-viewport-height":L.height+"px"},B=x?N.jsx("div",{className:c.wrapper({class:d?.wrapper}),"data-slot":"wrapper",style:j,children:re}):N.jsx(kf,{features:Fk,children:N.jsx(Cf.div,{animate:"enter",className:c.wrapper({class:d?.wrapper}),"data-slot":"wrapper",exit:"exit",initial:"exit",variants:lz,...h,style:j,children:re})});return N.jsxs("div",{tabIndex:-1,children:[ae,B]})};G_.displayName="HeroUI.ModalContent";var hz=G_;function mz(e={shouldBlockScroll:!0},t,n){let{overlayProps:r,underlayProps:i}=j_({...e,isOpen:t.isOpen,onClose:t.close},n);return XF({isDisabled:!t.isOpen||!e.shouldBlockScroll}),a_(),S.useEffect(()=>{if(t.isOpen&&n.current)return l5([n.current])},[t.isOpen,n]),{modalProps:lr(r),underlayProps:i}}function gz(e){var t,n,r;const i=Ti(),[s,a]=na(e,hk.variantKeys),{ref:c,as:d,className:h,classNames:m,isOpen:g,defaultOpen:b,onOpenChange:x,motionProps:E,closeButton:P,isDismissable:_=!0,hideCloseButton:T=!1,shouldBlockScroll:R=!0,portalContainer:L,isKeyboardDismissDisabled:z=!1,onClose:K,...M}=s,J=d||"section",re=Qi(c),ae=S.useRef(null),[j,B]=S.useState(!1),[Y,te]=S.useState(!1),G=(n=(t=e.disableAnimation)!=null?t:i?.disableAnimation)!=null?n:!1,fe=S.useId(),Z=S.useId(),q=S.useId(),W=z_({isOpen:g,defaultOpen:b,onOpenChange:Te=>{x?.(Te),Te||K?.()}}),{modalProps:se,underlayProps:A}=mz({isDismissable:_,shouldBlockScroll:R,isKeyboardDismissDisabled:z},W,re),{buttonProps:V}=$_({onPress:W.close},ae),{isFocusVisible:oe,focusProps:O}=ih(),me=pn(m?.base,h),Ee=S.useMemo(()=>hk({...a,disableAnimation:G}),[nl(a),G]),we=(Te={},tt=null)=>{var yt;return{ref:uE(tt,re),...hn(se,M,Te),className:Ee.base({class:pn(me,Te.className)}),id:fe,"data-open":Me(W.isOpen),"data-dismissable":Me(_),"aria-modal":Me(!0),"data-placement":(yt=e?.placement)!=null?yt:"right","aria-labelledby":j?Z:void 0,"aria-describedby":Y?q:void 0}},je=S.useCallback((Te={})=>({className:Ee.backdrop({class:m?.backdrop}),...A,...Te}),[Ee,m,A]),Oe=()=>({role:"button",tabIndex:0,"aria-label":"Close","data-focus-visible":Me(oe),className:Ee.closeButton({class:m?.closeButton}),...hn(V,O)});return{Component:J,slots:Ee,domRef:re,headerId:Z,bodyId:q,motionProps:E,classNames:m,isDismissable:_,closeButton:P,hideCloseButton:T,portalContainer:L,shouldBlockScroll:R,backdrop:(r=e.backdrop)!=null?r:"opaque",isOpen:W.isOpen,onClose:W.close,disableAnimation:G,setBodyMounted:te,setHeaderMounted:B,getDialogProps:we,getBackdropProps:je,getCloseButtonProps:Oe}}var q_=_i((e,t)=>{const{children:n,...r}=e,i=gz({...r,ref:t}),s=N.jsx(a5,{portalContainer:i.portalContainer,children:n});return N.jsx(oz,{value:i,children:i.disableAnimation&&i.isOpen?s:N.jsx(Mf,{children:i.isOpen?s:null})})});q_.displayName="HeroUI.Modal";var vz=q_;function yz(e={}){const{id:t,defaultOpen:n,isOpen:r,onClose:i,onOpen:s,onChange:a=()=>{}}=e,c=Ik(s),d=Ik(i),[h,m]=Af(r,n||!1,a),g=S.useId(),b=t||g,x=r!==void 0,E=S.useCallback(()=>{x||m(!1),d?.()},[x,d]),P=S.useCallback(()=>{x||m(!0),c?.()},[x,c]),_=S.useCallback(()=>{(h?E:P)()},[h,P,E]);return{isOpen:!!h,onOpen:P,onClose:E,onOpenChange:_,isControlled:x,getButtonProps:(T={})=>({...T,"aria-expanded":h,"aria-controls":b,onClick:xf(T.onClick,_)}),getDisclosureProps:(T={})=>({...T,hidden:!h,id:b})}}function bz(e){var t,n;const r=Ti(),[i,s]=na(e,dk.variantKeys),{as:a,children:c,isLoaded:d=!1,className:h,classNames:m,...g}=i,b=a||"div",x=(n=(t=e.disableAnimation)!=null?t:r?.disableAnimation)!=null?n:!1,E=S.useMemo(()=>dk({...s,disableAnimation:x}),[nl(s),x,c]),P=pn(m?.base,h);return{Component:b,children:c,slots:E,classNames:m,getSkeletonProps:(R={})=>({"data-loaded":Me(d),className:E.base({class:pn(P,R?.className)}),...g}),getContentProps:(R={})=>({className:E.content({class:pn(m?.content,R?.className)})})}}var Y_=_i((e,t)=>{const{Component:n,children:r,getSkeletonProps:i,getContentProps:s}=bz({...e});return N.jsx(n,{ref:t,...i(),children:N.jsx("div",{...s(),children:r})})});Y_.displayName="HeroUI.Skeleton";var xz=Y_;function wz(e={}){const{domRef:t,isEnabled:n=!0,overflowCheck:r="vertical",visibility:i="auto",offset:s=0,onVisibilityChange:a,updateDeps:c=[]}=e,d=S.useRef(i);S.useEffect(()=>{const h=t?.current;if(!h||!n)return;const m=(x,E,P,_,T)=>{if(i==="auto"){const R=`${_}${JR(T)}Scroll`;E&&P?(h.dataset[R]="true",h.removeAttribute(`data-${_}-scroll`),h.removeAttribute(`data-${T}-scroll`)):(h.dataset[`${_}Scroll`]=E.toString(),h.dataset[`${T}Scroll`]=P.toString(),h.removeAttribute(`data-${_}-${T}-scroll`))}else{const R=E&&P?"both":E?_:P?T:"none";R!==d.current&&(a?.(R),d.current=R)}},g=()=>{var x,E;const P=[{type:"vertical",prefix:"top",suffix:"bottom"},{type:"horizontal",prefix:"left",suffix:"right"}],_=h.querySelector('ul[data-slot="list"]'),T=+((x=_?.getAttribute("data-virtual-scroll-height"))!=null?x:h.scrollHeight),R=+((E=_?.getAttribute("data-virtual-scroll-top"))!=null?E:h.scrollTop);for(const{type:L,prefix:z,suffix:K}of P)if(r===L||r==="both"){const M=L==="vertical"?R>s:h.scrollLeft>s,J=L==="vertical"?R+h.clientHeight+s{["top","bottom","top-bottom","left","right","left-right"].forEach(x=>{h.removeAttribute(`data-${x}-scroll`)})};return g(),h.addEventListener("scroll",g,!0),i!=="auto"&&(b(),i==="both"?(h.dataset.topBottomScroll=String(r==="vertical"),h.dataset.leftRightScroll=String(r==="horizontal")):(h.dataset.topBottomScroll="false",h.dataset.leftRightScroll="false",["top","bottom","left","right"].forEach(x=>{h.dataset[`${x}Scroll`]=String(i===x)}))),()=>{h.removeEventListener("scroll",g,!0),b()}},[...c,n,i,r,a,t])}function Sz(e){var t;const[n,r]=na(e,fk.variantKeys),{ref:i,as:s,children:a,className:c,style:d,size:h=40,offset:m=0,visibility:g="auto",isEnabled:b=!0,onVisibilityChange:x,...E}=n,P=s||"div",_=Qi(i);wz({domRef:_,offset:m,visibility:g,isEnabled:b,onVisibilityChange:x,updateDeps:[a],overflowCheck:(t=e.orientation)!=null?t:"vertical"});const T=S.useMemo(()=>fk({...r,className:c}),[nl(r),c]);return{Component:P,styles:T,domRef:_,children:a,getBaseProps:(L={})=>{var z;return{ref:_,className:T,"data-orientation":(z=e.orientation)!=null?z:"vertical",style:{"--scroll-shadow-size":`${h}px`,...d,...L.style},...E,...L}}}}var X_=_i((e,t)=>{const{Component:n,children:r,getBaseProps:i}=Sz({...e,ref:t});return N.jsx(n,{...i(),children:r})});X_.displayName="HeroUI.ScrollShadow";var Q_=X_,Eo=(e=>(e.LIGHT="light",e.DARK="dark",e))(Eo||{});const J_=S.createContext(null);function kz(){return window.matchMedia("(prefers-color-scheme: dark)").matches?Eo.DARK:Eo.LIGHT}function Ok(){const e=window.localStorage.getItem("theme");return e===Eo.DARK||e===Eo.LIGHT?e:kz()}function Cz(e){return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}const Ez=({children:e})=>{const t=S.useSyncExternalStore(Cz,Ok,Ok);S.useEffect(()=>{document.documentElement.classList.toggle("dark",t===Eo.DARK)},[t]);const n=S.useCallback(i=>{window.localStorage.setItem("theme",i),window.dispatchEvent(new Event("storage"))},[]),r=S.useMemo(()=>({theme:t,setTheme:n}),[t,n]);return N.jsx(J_.Provider,{value:r,children:e})},oi={Text:"text",Reference:"reference",StateUpdate:"state_update",MessageId:"message_id",ConversationId:"conversation_id",LiveUpdate:"live_update",FollowupMessages:"followup_messages",Image:"image",ChunkedContent:"chunked_content",ClearMessage:"clear_message",Usage:"usage"},PG={Like:"like",Dislike:"dislike"},Pz={Start:"START"},hf={User:"user",Assistant:"assistant"};class Tz{constructor(t={}){if(this.chunkQueue=new Map,this.baseUrl=t.baseUrl??"",this.auth=t.auth,this.baseUrl.endsWith("/")&&(this.baseUrl=this.baseUrl.slice(0,-1)),!!this.baseUrl)try{new URL(this.baseUrl)}catch{throw new Error(`Invalid base URL: ${this.baseUrl}. Please provide a valid URL.`)}}getBaseUrl(){return this.baseUrl}_buildApiUrl(t){return`${this.baseUrl}${t}`}async _makeRequest(t,n={}){const i={...{"Content-Type":"application/json"},...this.normalizeHeaders(n.headers)};this.auth?.getToken&&(i.Authorization=`Bearer ${this.auth.getToken()}`);const s=await fetch(t,{...n,headers:i});if(s.status===401&&this.auth?.onUnauthorized?.(),!s.ok)throw new Error(`HTTP error! status: ${s.status}`);return s}async makeRequest(t,n){const{method:r="GET",body:i,headers:s={},...a}=n||{},c={method:r,headers:s,...a};return i&&r!=="GET"&&(c.body=typeof i=="string"?i:JSON.stringify(i)),(await this._makeRequest(this._buildApiUrl(t.toString()),c)).json()}makeStreamRequest(t,n,r,i,s){let a=!1;const c=async h=>{const m=h.body?.pipeThrough(new TextDecoderStream).getReader();if(!m)throw new Error("Response body is null");let g="";for(;!a&&!i?.aborted;)try{const{value:b,done:x}=await m.read();if(x){r.onClose?.();break}g+=b;const E=g.split(` -`);g=E.pop()??"";for(const P of E)if(P.startsWith("data: "))try{const _=P.replace("data: ","").trim(),T=JSON.parse(_);if(T.type===oi.ChunkedContent){this.handleChunkedContent(T,r);continue}await r.onMessage(T)}catch(_){console.error("Error parsing JSON:",_),await r.onError(new Error("Error processing server response"))}}catch(b){if(i?.aborted)return;console.error("Stream error:",b),await r.onError(new Error("Error reading stream"));break}},d=async()=>{try{const m={...{"Content-Type":"application/json",Accept:"text/event-stream"},...s};this.auth?.getToken&&(m.Authorization=`Bearer ${this.auth.getToken()}`);const g=await fetch(this._buildApiUrl(t.toString()),{method:"POST",headers:m,body:JSON.stringify(n),signal:i});if(g.status===401&&this.auth?.onUnauthorized?.(),!g.ok)throw new Error(`HTTP error! status: ${g.status}`);await c(g)}catch(h){if(i?.aborted)return;console.error("Request error:",h);const m=h instanceof Error?h.message:"Error connecting to server";await r.onError(new Error(m))}};try{d()}catch(h){const m=h instanceof Error?h.message:"Failed to start stream";r.onError(new Error(m))}return()=>{a=!0}}normalizeHeaders(t){return t?t instanceof Headers?Object.fromEntries(t.entries()):Array.isArray(t)?Object.fromEntries(t):t:{}}async handleChunkedContent(t,n){const i=t.content,{content_type:s,id:a,chunk_index:c,total_chunks:d,mime_type:h,data:m}=i;this.chunkQueue.has(a)||this.chunkQueue.set(a,{chunks:new Map,totalChunks:d,mimeType:h});const g=this.chunkQueue.get(a);if(g.chunks.set(c,m),g.chunks.size!==d)return;const x=Array.from({length:d},(E,P)=>g.chunks.get(P)).join("");try{atob(x)}catch(E){this.chunkQueue.delete(a),console.error("❌ Invalid base64 data: ",E),await n.onError(new Error("Error reading stream"))}if(s===oi.Image){const E={type:oi.Image,content:{id:a,url:`${g.mimeType},${x}`}};await n.onMessage(E)}this.chunkQueue.delete(a)}}const Z_=S.createContext(null);function _z({children:e,...t}){const n=S.useMemo(()=>new Tz(t),[t]),r=S.useMemo(()=>({client:n}),[n]);return N.jsx(Z_.Provider,{value:r,children:e})}function e2(){const e=S.useContext(Z_);if(!e)throw new Error("useRagbitsContext must be used within a RagbitsProvider");return e}function Iz(e,t){const{client:n}=e2(),[r,i]=S.useState(null),[s,a]=S.useState(null),[c,d]=S.useState(!1),h=S.useRef(null),m=S.useCallback(()=>{if(!h.current)return null;h.current.abort(),h.current=null,d(!1)},[]),g=S.useCallback(async(x={})=>{h.current&&c&&h.current.abort();const E=new AbortController;h.current=E,d(!0),a(null);try{const _={...{...t,...x,headers:{...t?.headers,...x.headers}},signal:E.signal},T=await n.makeRequest(e,_);return E.signal.aborted||(i(T),h.current=null),T}catch(P){if(!E.signal.aborted){const _=P instanceof Error?P:new Error("API call failed");throw a(_),h.current=null,_}throw P}finally{E.signal.aborted||d(!1)}},[n,e,t,c]),b=S.useCallback(()=>{m(),i(null),a(null),d(!1)},[m]);return{data:r,error:s,isLoading:c,call:g,reset:b,abort:m}}const t2=Object.freeze({left:0,top:0,width:16,height:16}),Yg=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Qx=Object.freeze({...t2,...Yg}),Ib=Object.freeze({...Qx,body:"",hidden:!1});function $z(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 zk(e,t){const n=$z(e,t);for(const r in Ib)r in Yg?r in e&&!(r in n)&&(n[r]=Yg[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function Az(e,t){const n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null);function s(a){if(n[a])return i[a]=[];if(!(a in i)){i[a]=null;const c=r[a]&&r[a].parent,d=c&&s(c);d&&(i[a]=[c].concat(d))}return i[a]}return Object.keys(n).concat(Object.keys(r)).forEach(s),i}function Rz(e,t,n){const r=e.icons,i=e.aliases||Object.create(null);let s={};function a(c){s=zk(r[c]||i[c],s)}return a(t),n.forEach(a),zk(e,s)}function n2(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=Az(e);for(const i in r){const s=r[i];s&&(t(i,Rz(e,i,s)),n.push(i))}return n}const Lz={provider:"",aliases:{},not_found:{},...t2};function m0(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function r2(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!m0(e,Lz))return null;const n=t.icons;for(const i in n){const s=n[i];if(!i||typeof s.body!="string"||!m0(s,Ib))return null}const r=t.aliases||Object.create(null);for(const i in r){const s=r[i],a=s.parent;if(!i||typeof a!="string"||!n[a]&&!r[a]||!m0(s,Ib))return null}return t}const i2=/^[a-z0-9]+(-[a-z0-9]+)*$/,bv=(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 c=i.pop(),d=i.pop(),h={provider:i.length>0?i[0]:r,prefix:d,name:c};return t&&!$g(h)?null:h}const s=i[0],a=s.split("-");if(a.length>1){const c={provider:r,prefix:a.shift(),name:a.join("-")};return t&&!$g(c)?null:c}if(n&&r===""){const c={provider:r,prefix:"",name:s};return t&&!$g(c,n)?null:c}return null},$g=(e,t)=>e?!!((t&&e.prefix===""||e.prefix)&&e.name):!1,jk=Object.create(null);function Mz(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function Pf(e,t){const n=jk[e]||(jk[e]=Object.create(null));return n[t]||(n[t]=Mz(e,t))}function o2(e,t){return r2(t)?n2(t,(n,r)=>{r?e.icons[n]=r:e.missing.add(n)}):[]}function Dz(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}let sh=!1;function s2(e){return typeof e=="boolean"&&(sh=e),sh}function Bk(e){const t=typeof e=="string"?bv(e,!0,sh):e;if(t){const n=Pf(t.provider,t.prefix),r=t.name;return n.icons[r]||(n.missing.has(r)?null:void 0)}}function Nz(e,t){const n=bv(e,!0,sh);if(!n)return!1;const r=Pf(n.provider,n.prefix);return t?Dz(r,n.name,t):(r.missing.add(n.name),!0)}function Fz(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),sh&&!t&&!e.prefix){let i=!1;return r2(e)&&(e.prefix="",n2(e,(s,a)=>{Nz(s,a)&&(i=!0)})),i}const n=e.prefix;if(!$g({prefix:n,name:"a"}))return!1;const r=Pf(t,n);return!!o2(r,e)}const l2=Object.freeze({width:null,height:null}),a2=Object.freeze({...l2,...Yg}),Oz=/(-?[0-9.]*[0-9]+[0-9.]*)/g,zz=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Vk(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(Oz);if(r===null||!r.length)return e;const i=[];let s=r.shift(),a=zz.test(s);for(;;){if(a){const c=parseFloat(s);isNaN(c)?i.push(s):i.push(Math.ceil(c*t*n)/n)}else i.push(s);if(s=r.shift(),s===void 0)return i.join("");a=!a}}function jz(e,t="defs"){let n="";const r=e.indexOf("<"+t);for(;r>=0;){const i=e.indexOf(">",r),s=e.indexOf("",s);if(a===-1)break;n+=e.slice(i+1,s).trim(),e=e.slice(0,r).trim()+e.slice(a+1)}return{defs:n,content:e}}function Bz(e,t){return e?""+e+""+t:t}function Vz(e,t,n){const r=jz(e);return Bz(r.defs,t+r.content+n)}const Uz=e=>e==="unset"||e==="undefined"||e==="none";function Kz(e,t){const n={...Qx,...e},r={...a2,...t},i={left:n.left,top:n.top,width:n.width,height:n.height};let s=n.body;[n,r].forEach(P=>{const _=[],T=P.hFlip,R=P.vFlip;let L=P.rotate;T?R?L+=2:(_.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),_.push("scale(-1 1)"),i.top=i.left=0):R&&(_.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),_.push("scale(1 -1)"),i.top=i.left=0);let z;switch(L<0&&(L-=Math.floor(L/4)*4),L=L%4,L){case 1:z=i.height/2+i.top,_.unshift("rotate(90 "+z.toString()+" "+z.toString()+")");break;case 2:_.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:z=i.width/2+i.left,_.unshift("rotate(-90 "+z.toString()+" "+z.toString()+")");break}L%2===1&&(i.left!==i.top&&(z=i.left,i.left=i.top,i.top=z),i.width!==i.height&&(z=i.width,i.width=i.height,i.height=z)),_.length&&(s=Vz(s,'',""))});const a=r.width,c=r.height,d=i.width,h=i.height;let m,g;a===null?(g=c===null?"1em":c==="auto"?h:c,m=Vk(g,d/h)):(m=a==="auto"?d:a,g=c===null?Vk(m,h/d):c==="auto"?h:c);const b={},x=(P,_)=>{Uz(_)||(b[P]=_.toString())};x("width",m),x("height",g);const E=[i.left,i.top,d,h];return b.viewBox=E.join(" "),{attributes:b,viewBox:E,body:s}}const Wz=/\sid="(\S+)"/g,Hz="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let Gz=0;function qz(e,t=Hz){const n=[];let r;for(;r=Wz.exec(e);)n.push(r[1]);if(!n.length)return e;const i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(s=>{const a=typeof t=="function"?t(s):t+(Gz++).toString(),c=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+c+')([")]|\\.[a-z])',"g"),"$1"+a+i+"$3")}),e=e.replace(new RegExp(i,"g"),""),e}const $b=Object.create(null);function Yz(e,t){$b[e]=t}function Ab(e){return $b[e]||$b[""]}function Jx(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 Zx=Object.create(null),bp=["https://api.simplesvg.com","https://api.unisvg.com"],Ag=[];for(;bp.length>0;)bp.length===1||Math.random()>.5?Ag.push(bp.shift()):Ag.push(bp.pop());Zx[""]=Jx({resources:["https://api.iconify.design"].concat(Ag)});function Xz(e,t){const n=Jx(t);return n===null?!1:(Zx[e]=n,!0)}function ew(e){return Zx[e]}const Qz=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let Uk=Qz();function Jz(e,t){const n=ew(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let i=0;n.resources.forEach(a=>{i=Math.max(i,a.length)});const s=t+".json?icons=";r=n.maxURL-i-n.path.length-s.length}return r}function Zz(e){return e===404}const e8=(e,t,n)=>{const r=[],i=Jz(e,t),s="icons";let a={type:s,provider:e,prefix:t,icons:[]},c=0;return n.forEach((d,h)=>{c+=d.length+1,c>=i&&h>0&&(r.push(a),a={type:s,provider:e,prefix:t,icons:[]},c=d.length),a.icons.push(d)}),r.push(a),r};function t8(e){if(typeof e=="string"){const t=ew(e);if(t)return t.path}return"/"}const n8=(e,t,n)=>{if(!Uk){n("abort",424);return}let r=t8(t.provider);switch(t.type){case"icons":{const s=t.prefix,c=t.icons.join(","),d=new URLSearchParams({icons:c});r+=s+".json?"+d.toString();break}case"custom":{const s=t.uri;r+=s.slice(0,1)==="/"?s.slice(1):s;break}default:n("abort",400);return}let i=503;Uk(e+r).then(s=>{const a=s.status;if(a!==200){setTimeout(()=>{n(Zz(a)?"abort":"next",a)});return}return i=501,s.json()}).then(s=>{if(typeof s!="object"||s===null){setTimeout(()=>{s===404?n("abort",s):n("next",i)});return}setTimeout(()=>{n("success",s)})}).catch(()=>{n("next",i)})},r8={prepare:e8,send:n8};function i8(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((i,s)=>i.provider!==s.provider?i.provider.localeCompare(s.provider):i.prefix!==s.prefix?i.prefix.localeCompare(s.prefix):i.name.localeCompare(s.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 s=i.provider,a=i.prefix,c=i.name,d=n[s]||(n[s]=Object.create(null)),h=d[a]||(d[a]=Pf(s,a));let m;c in h.icons?m=t.loaded:a===""||h.missing.has(c)?m=t.missing:m=t.pending;const g={provider:s,prefix:a,name:c};m.push(g)}),t}function u2(e,t){e.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(i=>i.id!==t))})}function o8(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(s=>{const a=s.icons,c=a.pending.length;a.pending=a.pending.filter(d=>{if(d.prefix!==i)return!0;const h=d.name;if(e.icons[h])a.loaded.push({provider:r,prefix:i,name:h});else if(e.missing.has(h))a.missing.push({provider:r,prefix:i,name:h});else return n=!0,!0;return!1}),a.pending.length!==c&&(n||u2([e],s.id),s.callback(a.loaded.slice(0),a.missing.slice(0),a.pending.slice(0),s.abort))})}))}let s8=0;function l8(e,t,n){const r=s8++,i=u2.bind(null,n,r);if(!t.pending.length)return i;const s={id:r,icons:t,callback:e,abort:i};return n.forEach(a=>{(a.loaderCallbacks||(a.loaderCallbacks=[])).push(s)}),i}function a8(e,t=!0,n=!1){const r=[];return e.forEach(i=>{const s=typeof i=="string"?bv(i,t,n):i;s&&r.push(s)}),r}var u8={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function c8(e,t,n,r){const i=e.resources.length,s=e.random?Math.floor(Math.random()*i):e.index;let a;if(e.random){let M=e.resources.slice(0);for(a=[];M.length>1;){const J=Math.floor(Math.random()*M.length);a.push(M[J]),M=M.slice(0,J).concat(M.slice(J+1))}a=a.concat(M)}else a=e.resources.slice(s).concat(e.resources.slice(0,s));const c=Date.now();let d="pending",h=0,m,g=null,b=[],x=[];typeof r=="function"&&x.push(r);function E(){g&&(clearTimeout(g),g=null)}function P(){d==="pending"&&(d="aborted"),E(),b.forEach(M=>{M.status==="pending"&&(M.status="aborted")}),b=[]}function _(M,J){J&&(x=[]),typeof M=="function"&&x.push(M)}function T(){return{startTime:c,payload:t,status:d,queriesSent:h,queriesPending:b.length,subscribe:_,abort:P}}function R(){d="failed",x.forEach(M=>{M(void 0,m)})}function L(){b.forEach(M=>{M.status==="pending"&&(M.status="aborted")}),b=[]}function z(M,J,re){const ae=J!=="success";switch(b=b.filter(j=>j!==M),d){case"pending":break;case"failed":if(ae||!e.dataAfterTimeout)return;break;default:return}if(J==="abort"){m=re,R();return}if(ae){m=re,b.length||(a.length?K():R());return}if(E(),L(),!e.random){const j=e.resources.indexOf(M.resource);j!==-1&&j!==e.index&&(e.index=j)}d="completed",x.forEach(j=>{j(re)})}function K(){if(d!=="pending")return;E();const M=a.shift();if(M===void 0){if(b.length){g=setTimeout(()=>{E(),d==="pending"&&(L(),R())},e.timeout);return}R();return}const J={status:"pending",resource:M,callback:(re,ae)=>{z(J,re,ae)}};b.push(J),h++,g=setTimeout(K,e.rotate),n(M,t,J.callback)}return setTimeout(K),T}function c2(e){const t={...u8,...e};let n=[];function r(){n=n.filter(c=>c().status==="pending")}function i(c,d,h){const m=c8(t,c,d,(g,b)=>{r(),h&&h(g,b)});return n.push(m),m}function s(c){return n.find(d=>c(d))||null}return{query:i,find:s,setIndex:c=>{t.index=c},getIndex:()=>t.index,cleanup:r}}function Kk(){}const g0=Object.create(null);function f8(e){if(!g0[e]){const t=ew(e);if(!t)return;const n=c2(t),r={config:t,redundancy:n};g0[e]=r}return g0[e]}function d8(e,t,n){let r,i;if(typeof e=="string"){const s=Ab(e);if(!s)return n(void 0,424),Kk;i=s.send;const a=f8(e);a&&(r=a.redundancy)}else{const s=Jx(e);if(s){r=c2(s);const a=e.resources?e.resources[0]:"",c=Ab(a);c&&(i=c.send)}}return!r||!i?(n(void 0,424),Kk):r.query(t,i,n)().abort}function Wk(){}function p8(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,o8(e)}))}function h8(e){const t=[],n=[];return e.forEach(r=>{(r.match(i2)?t:n).push(r)}),{valid:t,invalid:n}}function xp(e,t,n){function r(){const i=e.pendingIcons;t.forEach(s=>{i&&i.delete(s),e.icons[s]||e.missing.add(s)})}if(n&&typeof n=="object")try{if(!o2(e,n).length){r();return}}catch(i){console.error(i)}r(),p8(e)}function Hk(e,t){e instanceof Promise?e.then(n=>{t(n)}).catch(()=>{t(null)}):t(e)}function m8(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 s=e.loadIcon;if(e.loadIcons&&(i.length>1||!s)){Hk(e.loadIcons(i,r,n),m=>{xp(e,i,m)});return}if(s){i.forEach(m=>{const g=s(m,r,n);Hk(g,b=>{const x=b?{prefix:r,icons:{[m]:b}}:null;xp(e,[m],x)})});return}const{valid:a,invalid:c}=h8(i);if(c.length&&xp(e,c,null),!a.length)return;const d=r.match(i2)?Ab(n):null;if(!d){xp(e,a,null);return}d.prepare(n,r,a).forEach(m=>{d8(n,m,g=>{xp(e,m.icons,g)})})}))}const f2=(e,t)=>{const n=a8(e,!0,s2()),r=i8(n);if(!r.pending.length){let d=!0;return t&&setTimeout(()=>{d&&t(r.loaded,r.missing,r.pending,Wk)}),()=>{d=!1}}const i=Object.create(null),s=[];let a,c;return r.pending.forEach(d=>{const{provider:h,prefix:m}=d;if(m===c&&h===a)return;a=h,c=m,s.push(Pf(h,m));const g=i[h]||(i[h]=Object.create(null));g[m]||(g[m]=[])}),r.pending.forEach(d=>{const{provider:h,prefix:m,name:g}=d,b=Pf(h,m),x=b.pendingIcons||(b.pendingIcons=new Set);x.has(g)||(x.add(g),i[h][m].push(g))}),s.forEach(d=>{const h=i[d.provider][d.prefix];h.length&&m8(d,h)}),t?l8(t,r,s):Wk};function g8(e,t){const n={...e};for(const r in t){const i=t[r],s=typeof i;r in l2?(i===null||i&&(s==="string"||s==="number"))&&(n[r]=i):s===typeof n[r]&&(n[r]=r==="rotate"?i%4:i)}return n}const v8=/[\s,]+/;function y8(e,t){t.split(v8).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function b8(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 s=parseFloat(e.slice(0,e.length-n.length));return isNaN(s)?0:(s=s/i,s%1===0?r(s):0)}}return t}function x8(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 w8(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function S8(e){return"data:image/svg+xml,"+w8(e)}function k8(e){return'url("'+S8(e)+'")'}let jp;function C8(){try{jp=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch{jp=null}}function E8(e){return jp===void 0&&C8(),jp?jp.createHTML(e):e}const d2={...a2,inline:!1},P8={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},T8={display:"inline-block"},Rb={backgroundColor:"currentColor"},p2={backgroundColor:"transparent"},Gk={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},qk={WebkitMask:Rb,mask:Rb,background:p2};for(const e in qk){const t=qk[e];for(const n in Gk)t[e+n]=Gk[n]}const _8={...d2,inline:!0};function Yk(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const I8=(e,t,n)=>{const r=t.inline?_8:d2,i=g8(r,t),s=t.mode||"svg",a={},c=t.style||{},d={...s==="svg"?P8:{}};if(n){const _=bv(n,!1,!0);if(_){const T=["iconify"],R=["provider","prefix"];for(const L of R)_[L]&&T.push("iconify--"+_[L]);d.className=T.join(" ")}}for(let _ in t){const T=t[_];if(T!==void 0)switch(_){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":break;case"_ref":d.ref=T;break;case"className":d[_]=(d[_]?d[_]+" ":"")+T;break;case"inline":case"hFlip":case"vFlip":i[_]=T===!0||T==="true"||T===1;break;case"flip":typeof T=="string"&&y8(i,T);break;case"color":a.color=T;break;case"rotate":typeof T=="string"?i[_]=b8(T):typeof T=="number"&&(i[_]=T);break;case"ariaHidden":case"aria-hidden":T!==!0&&T!=="true"&&delete d["aria-hidden"];break;default:r[_]===void 0&&(d[_]=T)}}const h=Kz(e,i),m=h.attributes;if(i.inline&&(a.verticalAlign="-0.125em"),s==="svg"){d.style={...a,...c},Object.assign(d,m);let _=0,T=t.id;return typeof T=="string"&&(T=T.replace(/-/g,"_")),d.dangerouslySetInnerHTML={__html:E8(qz(h.body,T?()=>T+"ID"+_++:"iconifyReact"))},S.createElement("svg",d)}const{body:g,width:b,height:x}=e,E=s==="mask"||(s==="bg"?!1:g.indexOf("currentColor")!==-1),P=x8(g,{...m,width:b+"",height:x+""});return d.style={...a,"--svg":k8(P),width:Yk(m.width),height:Yk(m.height),...T8,...E?Rb:p2,...c},S.createElement("span",d)};s2(!0);Yz("",r8);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"||!Fz(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;Xz(n,i)||console.error(r)}catch{console.error(r)}}}}function h2(e){const[t,n]=S.useState(!!e.ssr),[r,i]=S.useState({});function s(x){if(x){const E=e.icon;if(typeof E=="object")return{name:"",data:E};const P=Bk(E);if(P)return{name:E,data:P}}return{name:""}}const[a,c]=S.useState(s(!!e.ssr));function d(){const x=r.callback;x&&(x(),i({}))}function h(x){if(JSON.stringify(a)!==JSON.stringify(x))return d(),c(x),!0}function m(){var x;const E=e.icon;if(typeof E=="object"){h({name:"",data:E});return}const P=Bk(E);if(h({name:E,data:P}))if(P===void 0){const _=f2([E],m);i({callback:_})}else P&&((x=e.onLoad)===null||x===void 0||x.call(e,E))}S.useEffect(()=>(n(!0),d),[]),S.useEffect(()=>{t&&m()},[e.icon,t]);const{name:g,data:b}=a;return b?I8({...Qx,...b},e,g):e.children?e.children:e.fallback?e.fallback:S.createElement("span",{})}const ki=S.forwardRef((e,t)=>h2({...e,_ref:t}));S.forwardRef((e,t)=>h2({inline:!0,...e,_ref:t}));var Ap={exports:{}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */var $8=Ap.exports,Xk;function A8(){return Xk||(Xk=1,function(e,t){(function(){var n,r="4.17.21",i=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",c="Invalid `variable` option passed into `_.template`",d="__lodash_hash_undefined__",h=500,m="__lodash_placeholder__",g=1,b=2,x=4,E=1,P=2,_=1,T=2,R=4,L=8,z=16,K=32,M=64,J=128,re=256,ae=512,j=30,B="...",Y=800,te=16,G=1,fe=2,Z=3,q=1/0,W=9007199254740991,se=17976931348623157e292,A=NaN,V=4294967295,oe=V-1,O=V>>>1,me=[["ary",J],["bind",_],["bindKey",T],["curry",L],["curryRight",z],["flip",ae],["partial",K],["partialRight",M],["rearg",re]],Ee="[object Arguments]",we="[object Array]",je="[object AsyncFunction]",Oe="[object Boolean]",Te="[object Date]",tt="[object DOMException]",yt="[object Error]",Ie="[object Function]",Rt="[object GeneratorFunction]",bt="[object Map]",Xt="[object Number]",Ue="[object Null]",st="[object Object]",An="[object Promise]",Fr="[object Proxy]",Sn="[object RegExp]",Lt="[object Set]",zt="[object String]",ar="[object Symbol]",ro="[object Undefined]",Yn="[object WeakMap]",pe="[object WeakSet]",ke="[object ArrayBuffer]",Be="[object DataView]",rt="[object Float32Array]",ct="[object Float64Array]",Qt="[object Int8Array]",ur="[object Int16Array]",en="[object Int32Array]",ln="[object Uint8Array]",Sr="[object Uint8ClampedArray]",Mt="[object Uint16Array]",Xn="[object Uint32Array]",tn=/\b__p \+= '';/g,ol=/\b(__p \+=) '' \+/g,hs=/(__e\(.*?\)|\b__t\)) \+\n'';/g,li=/&(?:amp|lt|gt|quot|#39);/g,ai=/[&<>"']/g,sa=RegExp(li.source),Tu=RegExp(ai.source),ms=/<%-([\s\S]+?)%>/g,Or=/<%([\s\S]+?)%>/g,la=/<%=([\s\S]+?)%>/g,aa=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ht=/^\w*$/,gs=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,vs=/[\\^$.*+?()[\]{}|]/g,Ro=RegExp(vs.source),ua=/^\s+/,ys=/\s/,sl=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ll=/\{\n\/\* \[wrapped with (.+)\] \*/,ca=/,? & /,Bf=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Vf=/[()=,{}\[\]\/\s]/,Uf=/\\(\\)?/g,Ye=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,io=/\w*$/,Ph=/^[-+]0x[0-9a-f]+$/i,Mv=/^0b[01]+$/i,Th=/^\[object .+?Constructor\]$/,_h=/^0o[0-7]+$/i,Ih=/^(?:0|[1-9]\d*)$/,$h=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,_u=/($^)/,Dv=/['\n\r\u2028\u2029\\]/g,jt="\\ud800-\\udfff",Nv="\\u0300-\\u036f",Kf="\\ufe20-\\ufe2f",Ah="\\u20d0-\\u20ff",fa=Nv+Kf+Ah,Rh="\\u2700-\\u27bf",Wf="a-z\\xdf-\\xf6\\xf8-\\xff",Iu="\\xac\\xb1\\xd7\\xf7",Ii="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Fv="\\u2000-\\u206f",ui=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Lh="A-Z\\xc0-\\xd6\\xd8-\\xde",Mh="\\ufe0e\\ufe0f",Dh=Iu+Ii+Fv+ui,al="['’]",$u="["+jt+"]",ul="["+Dh+"]",bs="["+fa+"]",Nh="\\d+",Ov="["+Rh+"]",Au="["+Wf+"]",Hf="[^"+jt+Dh+Nh+Rh+Wf+Lh+"]",da="\\ud83c[\\udffb-\\udfff]",pa="(?:"+bs+"|"+da+")",Fh="[^"+jt+"]",ha="(?:\\ud83c[\\udde6-\\uddff]){2}",Ct="[\\ud800-\\udbff][\\udc00-\\udfff]",xs="["+Lh+"]",Gf="\\u200d",Ru="(?:"+Au+"|"+Hf+")",Oh="(?:"+xs+"|"+Hf+")",qf="(?:"+al+"(?:d|ll|m|re|s|t|ve))?",Yf="(?:"+al+"(?:D|LL|M|RE|S|T|VE))?",Lu=pa+"?",ma="["+Mh+"]?",Lo="(?:"+Gf+"(?:"+[Fh,ha,Ct].join("|")+")"+ma+Lu+")*",Mo="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Do="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",cl=ma+Lu+Lo,ga="(?:"+[Ov,ha,Ct].join("|")+")"+cl,No="(?:"+[Fh+bs+"?",bs,ha,Ct,$u].join("|")+")",zv=RegExp(al,"g"),zh=RegExp(bs,"g"),ws=RegExp(da+"(?="+da+")|"+No+cl,"g"),jv=RegExp([xs+"?"+Au+"+"+qf+"(?="+[ul,xs,"$"].join("|")+")",Oh+"+"+Yf+"(?="+[ul,xs+Ru,"$"].join("|")+")",xs+"?"+Ru+"+"+qf,xs+"+"+Yf,Do,Mo,Nh,ga].join("|"),"g"),jh=RegExp("["+Gf+jt+fa+Mh+"]"),Mu=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Bh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Bv=-1,Pt={};Pt[rt]=Pt[ct]=Pt[Qt]=Pt[ur]=Pt[en]=Pt[ln]=Pt[Sr]=Pt[Mt]=Pt[Xn]=!0,Pt[Ee]=Pt[we]=Pt[ke]=Pt[Oe]=Pt[Be]=Pt[Te]=Pt[yt]=Pt[Ie]=Pt[bt]=Pt[Xt]=Pt[st]=Pt[Sn]=Pt[Lt]=Pt[zt]=Pt[Yn]=!1;var Et={};Et[Ee]=Et[we]=Et[ke]=Et[Be]=Et[Oe]=Et[Te]=Et[rt]=Et[ct]=Et[Qt]=Et[ur]=Et[en]=Et[bt]=Et[Xt]=Et[st]=Et[Sn]=Et[Lt]=Et[zt]=Et[ar]=Et[ln]=Et[Sr]=Et[Mt]=Et[Xn]=!0,Et[yt]=Et[Ie]=Et[Yn]=!1;var fl={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Du={"&":"&","<":"<",">":">",'"':""","'":"'"},Vv={"&":"&","<":"<",">":">",""":'"',"'":"'"},Uv={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Xf=parseFloat,Nu=parseInt,Fu=typeof eg=="object"&&eg&&eg.Object===Object&&eg,Vh=typeof self=="object"&&self&&self.Object===Object&&self,Bt=Fu||Vh||Function("return this")(),va=t&&!t.nodeType&&t,$i=va&&!0&&e&&!e.nodeType&&e,Qf=$i&&$i.exports===va,dl=Qf&&Fu.process,Qn=function(){try{var ne=$i&&$i.require&&$i.require("util").types;return ne||dl&&dl.binding&&dl.binding("util")}catch{}}(),Jf=Qn&&Qn.isArrayBuffer,cr=Qn&&Qn.isDate,Ss=Qn&&Qn.isMap,Ou=Qn&&Qn.isRegExp,pl=Qn&&Qn.isSet,Uh=Qn&&Qn.isTypedArray;function Jn(ne,he,ce){switch(ce.length){case 0:return ne.call(he);case 1:return ne.call(he,ce[0]);case 2:return ne.call(he,ce[0],ce[1]);case 3:return ne.call(he,ce[0],ce[1],ce[2])}return ne.apply(he,ce)}function Zf(ne,he,ce,$e){for(var nt=-1,xt=ne==null?0:ne.length;++nt-1}function td(ne,he,ce){for(var $e=-1,nt=ne==null?0:ne.length;++$e-1;);return ce}function ad(ne,he){for(var ce=ne.length;ce--&&hl(he,ne[ce],0)>-1;);return ce}function Qh(ne,he){for(var ce=ne.length,$e=0;ce--;)ne[ce]===he&&++$e;return $e}var Jh=Vu(fl),Zh=Vu(Du);function em(ne){return"\\"+Uv[ne]}function ml(ne,he){return ne==null?n:ne[he]}function gl(ne){return jh.test(ne)}function Yv(ne){return Mu.test(ne)}function Xv(ne){for(var he,ce=[];!(he=ne.next()).done;)ce.push(he.value);return ce}function Uu(ne){var he=-1,ce=Array(ne.size);return ne.forEach(function($e,nt){ce[++he]=[nt,$e]}),ce}function ud(ne,he){return function(ce){return ne(he(ce))}}function zr(ne,he){for(var ce=-1,$e=ne.length,nt=0,xt=[];++ce<$e;){var an=ne[ce];(an===he||an===m)&&(ne[ce]=m,xt[nt++]=ce)}return xt}function zo(ne){var he=-1,ce=Array(ne.size);return ne.forEach(function($e){ce[++he]=$e}),ce}function Qv(ne){var he=-1,ce=Array(ne.size);return ne.forEach(function($e){ce[++he]=[$e,$e]}),ce}function Ku(ne,he,ce){for(var $e=ce-1,nt=ne.length;++$e-1}function fm(u,f){var y=this.__data__,C=Un(y,u);return C<0?(++this.size,y.push([u,f])):y[C][1]=f,this}Zn.prototype.clear=Tl,Zn.prototype.delete=pr,Zn.prototype.get=rc,Zn.prototype.has=cm,Zn.prototype.set=fm;function Br(u){var f=-1,y=u==null?0:u.length;for(this.clear();++f=f?u:f)),u}function hr(u,f,y,C,I,F){var H,Q=f&g,ie=f&b,ge=f&x;if(y&&(H=I?y(u,C,I,F):y(u)),H!==n)return H;if(!on(u))return u;var ve=ot(u);if(ve){if(H=Ha(u),!Q)return er(u,H)}else{var xe=Mn(u),_e=xe==Ie||xe==Rt;if(Kl(u))return Ad(u,Q);if(xe==st||xe==Ee||_e&&!I){if(H=ie||_e?{}:Dn(u),!Q)return ie?iy(u,fi(H,u)):xc(u,Ft(H,u))}else{if(!Et[xe])return I?u:{};H=oy(u,xe,Q)}}F||(F=new Vn);var Ve=F.get(u);if(Ve)return Ve;F.set(u,H),Nw(u)?u.forEach(function(Je){H.add(hr(Je,f,y,Je,u,F))}):Mw(u)&&u.forEach(function(Je,pt){H.set(pt,hr(Je,f,y,pt,u,F))});var Qe=ge?ie?Ua:Va:ie?Jr:Hn,ft=ve?n:Qe(u);return On(ft||u,function(Je,pt){ft&&(pt=Je,Je=u[pt]),$s(H,pt,hr(Je,f,y,pt,u,F))}),H}function mm(u){var f=Hn(u);return function(y){return $a(y,u,f)}}function $a(u,f,y){var C=y.length;if(u==null)return!C;for(u=Tt(u);C--;){var I=y[C],F=f[I],H=u[I];if(H===n&&!(I in u)||!F(H))return!1}return!0}function vd(u,f,y){if(typeof u!="function")throw new jr(a);return Bl(function(){u.apply(n,y)},f)}function Fi(u,f,y,C){var I=-1,F=ju,H=!0,Q=u.length,ie=[],ge=f.length;if(!Q)return ie;y&&(f=It(f,kr(y))),C?(F=td,H=!1):f.length>=i&&(F=oo,H=!1,f=new Ts(f));e:for(;++II?0:I+y),C=C===n||C>I?I:at(C),C<0&&(C+=I),C=y>C?0:Ow(C);y0&&y(Q)?f>1?Jt(Q,f-1,y,C,I):Oo(I,Q):C||(I[I.length]=Q)}return I}var ac=Sc(),Ra=Sc(!0);function Tr(u,f){return u&&ac(u,f,Hn)}function Ho(u,f){return u&&Ra(u,f,Hn)}function Il(u,f){return Fo(f,function(y){return Ks(u[y])})}function fo(u,f){f=Bi(f,u);for(var y=0,C=f.length;u!=null&&yf}function Kr(u,f){return u!=null&&wt.call(u,f)}function Rs(u,f){return u!=null&&f in Tt(u)}function bd(u,f,y){return u>=zn(f,y)&&u=120&&ve.length>=120)?new Ts(H&&ve):n}ve=u[0];var xe=-1,_e=Q[0];e:for(;++xe-1;)Q!==u&&Xu.call(Q,ie,1),Xu.call(u,ie,1);return u}function mn(u,f){for(var y=u?f.length:0,C=y-1;y--;){var I=f[y];if(y==C||I!==F){var F=I;Ut(I)?Xu.call(u,I,1):vc(u,I)}}return u}function Rl(u,f){return u+jo(Ea()*(f-u+1))}function Na(u,f,y,C){for(var I=-1,F=un(Es((f-u)/(y||1)),0),H=ce(F);F--;)H[C?F:++I]=u,u+=y;return H}function Ms(u,f){var y="";if(!u||f<1||f>W)return y;do f%2&&(y+=u),f=jo(f/2),f&&(u+=u);while(f);return y}function lt(u,f){return _r(Ac(u,f,Zr),u+"")}function Kn(u){return Di(Xc(u))}function Ed(u,f){var y=Xc(u);return Rc(y,co(f,0,y.length))}function Ds(u,f,y,C){if(!on(u))return u;f=Bi(f,u);for(var I=-1,F=f.length,H=F-1,Q=u;Q!=null&&++II?0:I+f),y=y>I?I:y,y<0&&(y+=I),I=f>y?0:y-f>>>0,f>>>=0;for(var F=ce(I);++C>>1,H=u[F];H!==null&&!bi(H)&&(y?H<=f:H=i){var ge=f?null:_m(u);if(ge)return zo(ge);H=!1,I=oo,ie=new Ts}else ie=f?[]:Q;e:for(;++C=C?u:Wn(u,f,y)}var $d=lm||function(u){return Bt.clearTimeout(u)};function Ad(u,f){if(f)return u.slice();var y=u.length,C=fd?fd(y):new u.constructor(y);return u.copy(C),C}function za(u){var f=new u.constructor(u.byteLength);return new ka(f).set(new ka(u)),f}function wm(u,f){var y=f?za(u.buffer):u.buffer;return new u.constructor(y,u.byteOffset,u.byteLength)}function Sm(u){var f=new u.constructor(u.source,io.exec(u));return f.lastIndex=u.lastIndex,f}function km(u){return Er?Tt(Er.call(u)):{}}function Cm(u,f){var y=f?za(u.buffer):u.buffer;return new u.constructor(y,u.byteOffset,u.length)}function Rd(u,f){if(u!==f){var y=u!==n,C=u===null,I=u===u,F=bi(u),H=f!==n,Q=f===null,ie=f===f,ge=bi(f);if(!Q&&!ge&&!F&&u>f||F&&H&&ie&&!Q&&!ge||C&&H&&ie||!y&&ie||!I)return 1;if(!C&&!F&&!ge&&u=Q)return ie;var ge=y[C];return ie*(ge=="desc"?-1:1)}}return u.index-f.index}function Em(u,f,y,C){for(var I=-1,F=u.length,H=y.length,Q=-1,ie=f.length,ge=un(F-H,0),ve=ce(ie+ge),xe=!C;++Q1?y[I-1]:n,H=I>2?y[2]:n;for(F=u.length>3&&typeof F=="function"?(I--,F):n,H&&nr(y[0],y[1],H)&&(F=I<3?n:F,I=1),f=Tt(f);++C-1?I[F?f[H]:H]:n}}function Cc(u){return Ui(function(f){var y=f.length,C=y,I=jn.prototype.thru;for(u&&f.reverse();C--;){var F=f[C];if(typeof F!="function")throw new jr(a);if(I&&!H&&zl(F)=="wrapper")var H=new jn([],!0)}for(C=H?C:y;++C1&&vt.reverse(),ve&&ieQ))return!1;var ge=F.get(u),ve=F.get(f);if(ge&&ve)return ge==f&&ve==u;var xe=-1,_e=!0,Ve=y&P?new Ts:n;for(F.set(u,f),F.set(f,u);++xe1?"& ":"")+f[C],f=f.join(y>2?", ":" "),u.replace(sl,`{ -/* [wrapped with `+f+`] */ -`)}function Ic(u){return ot(u)||nu(u)||!!(sm&&u&&u[sm])}function Ut(u,f){var y=typeof u;return f=f??W,!!f&&(y=="number"||y!="symbol"&&Ih.test(u))&&u>-1&&u%1==0&&u0){if(++f>=Y)return arguments[0]}else f=0;return u.apply(n,arguments)}}function Rc(u,f){var y=-1,C=u.length,I=C-1;for(f=f===n?C:f;++y1?u[f-1]:n;return y=typeof y=="function"?(u.pop(),y):n,qt(u,y)});function Bc(u){var f=D(u);return f.__chain__=!0,f}function gy(u,f){return f(u),u}function yi(u,f){return f(u)}var Vc=Ui(function(u){var f=u.length,y=f?u[0]:0,C=this.__wrapped__,I=function(F){return lc(F,u)};return f>1||this.__actions__.length||!(C instanceof it)||!Ut(y)?this.thru(I):(C=C.slice(y,+y+(f?1:0)),C.__actions__.push({func:yi,args:[I],thisArg:n}),new jn(C,this.__chain__).thru(function(F){return f&&!F.length&&F.push(n),F}))});function Vs(){return Bc(this)}function Uc(){return new jn(this.value(),this.__chain__)}function ip(){this.__values__===n&&(this.__values__=Fw(this.value()));var u=this.__index__>=this.__values__.length,f=u?n:this.__values__[this.__index__++];return{done:u,value:f}}function op(){return this}function vy(u){for(var f,y=this;y instanceof Li;){var C=Fm(y);C.__index__=0,C.__values__=n,f?I.__wrapped__=C:f=C;var I=C;y=y.__wrapped__}return I.__wrapped__=u,f}function sp(){var u=this.__wrapped__;if(u instanceof it){var f=u;return this.__actions__.length&&(f=new it(this)),f=f.reverse(),f.__actions__.push({func:yi,args:[Oc],thisArg:n}),new jn(f,this.__chain__)}return this.thru(Oc)}function yy(){return Ml(this.__wrapped__,this.__actions__)}var Hm=wc(function(u,f,y){wt.call(u,y)?++u[y]:Ni(u,y,1)});function Gm(u,f,y){var C=ot(u)?ed:Aa;return y&&nr(u,f,y)&&(f=n),C(u,Ge(f,3))}function Kc(u,f){var y=ot(u)?Fo:yd;return y(u,Ge(f,3))}var Wc=Fs(Jo),qm=Fs(Xa);function lp(u,f){return Jt(Us(u,f),1)}function by(u,f){return Jt(Us(u,f),q)}function Ym(u,f,y){return y=y===n?1:at(y),Jt(Us(u,f),y)}function Hc(u,f){var y=ot(u)?On:Oi;return y(u,Ge(f,3))}function eu(u,f){var y=ot(u)?zu:gm;return y(u,Ge(f,3))}var ap=wc(function(u,f,y){wt.call(u,y)?u[y].push(f):Ni(u,y,[f])});function Gc(u,f,y,C){u=Qr(u)?u:Xc(u),y=y&&!C?at(y):0;var I=u.length;return y<0&&(y=un(I+y,0)),Jm(u)?y<=I&&u.indexOf(f,y)>-1:!!I&&hl(u,f,y)>-1}var Xm=lt(function(u,f,y){var C=-1,I=typeof f=="function",F=Qr(u)?ce(u.length):[];return Oi(u,function(H){F[++C]=I?Jn(f,H,y):Wr(H,f,y)}),F}),xy=wc(function(u,f,y){Ni(u,y,f)});function Us(u,f){var y=ot(u)?It:Sd;return y(u,Ge(f,3))}function wy(u,f,y,C){return u==null?[]:(ot(f)||(f=f==null?[]:[f]),y=C?n:y,ot(y)||(y=y==null?[]:[y]),Da(u,f,y))}var tu=wc(function(u,f,y){u[y?0:1].push(f)},function(){return[[],[]]});function Sy(u,f,y){var C=ot(u)?nd:qh,I=arguments.length<3;return C(u,Ge(f,4),y,I,Oi)}function qc(u,f,y){var C=ot(u)?Kv:qh,I=arguments.length<3;return C(u,Ge(f,4),y,I,gm)}function o(u,f){var y=ot(u)?Fo:yd;return y(u,Ce(Ge(f,3)))}function l(u){var f=ot(u)?Di:Kn;return f(u)}function p(u,f,y){(y?nr(u,f,y):f===n)?f=1:f=at(f);var C=ot(u)?Is:Ed;return C(u,f)}function v(u){var f=ot(u)?hm:Gr;return f(u)}function w(u){if(u==null)return 0;if(Qr(u))return Jm(u)?ks(u):u.length;var f=Mn(u);return f==bt||f==Lt?u.size:mo(u).length}function k(u,f,y){var C=ot(u)?rd:Pd;return y&&nr(u,f,y)&&(f=n),C(u,Ge(f,3))}var $=lt(function(u,f){if(u==null)return[];var y=f.length;return y>1&&nr(u,f[0],f[1])?f=[]:y>2&&nr(f[0],f[1],f[2])&&(f=[f[0]]),Da(u,Jt(f,1),[])}),U=Dt||function(){return Bt.Date.now()};function X(u,f){if(typeof f!="function")throw new jr(a);return u=at(u),function(){if(--u<1)return f.apply(this,arguments)}}function de(u,f,y){return f=y?n:f,f=u&&f==null?u.length:f,Vi(u,J,n,n,n,n,f)}function be(u,f){var y;if(typeof f!="function")throw new jr(a);return u=at(u),function(){return--u>0&&(y=f.apply(this,arguments)),u<=1&&(f=n),y}}var Se=lt(function(u,f,y){var C=_;if(y.length){var I=zr(y,yo(Se));C|=K}return Vi(u,C,f,y,I)}),ye=lt(function(u,f,y){var C=_|T;if(y.length){var I=zr(y,yo(ye));C|=K}return Vi(f,C,u,y,I)});function Ae(u,f,y){f=y?n:f;var C=Vi(u,L,n,n,n,n,n,f);return C.placeholder=Ae.placeholder,C}function Le(u,f,y){f=y?n:f;var C=Vi(u,z,n,n,n,n,n,f);return C.placeholder=Le.placeholder,C}function De(u,f,y){var C,I,F,H,Q,ie,ge=0,ve=!1,xe=!1,_e=!0;if(typeof u!="function")throw new jr(a);f=Wi(f)||0,on(y)&&(ve=!!y.leading,xe="maxWait"in y,F=xe?un(Wi(y.maxWait)||0,f):F,_e="trailing"in y?!!y.trailing:_e);function Ve(yn){var So=C,Hs=I;return C=I=n,ge=yn,H=u.apply(Hs,So),H}function Qe(yn){return ge=yn,Q=Bl(pt,f),ve?Ve(yn):H}function ft(yn){var So=yn-ie,Hs=yn-ge,Xw=f-So;return xe?zn(Xw,F-Hs):Xw}function Je(yn){var So=yn-ie,Hs=yn-ge;return ie===n||So>=f||So<0||xe&&Hs>=F}function pt(){var yn=U();if(Je(yn))return vt(yn);Q=Bl(pt,ft(yn))}function vt(yn){return Q=n,_e&&C?Ve(yn):(C=I=n,H)}function xi(){Q!==n&&$d(Q),ge=0,C=ie=I=Q=n}function $r(){return Q===n?H:vt(U())}function wi(){var yn=U(),So=Je(yn);if(C=arguments,I=this,ie=yn,So){if(Q===n)return Qe(ie);if(xe)return $d(Q),Q=Bl(pt,f),Ve(ie)}return Q===n&&(Q=Bl(pt,f)),H}return wi.cancel=xi,wi.flush=$r,wi}var rn=lt(function(u,f){return vd(u,1,f)}),le=lt(function(u,f,y){return vd(u,Wi(f)||0,y)});function ee(u){return Vi(u,ae)}function ue(u,f){if(typeof u!="function"||f!=null&&typeof f!="function")throw new jr(a);var y=function(){var C=arguments,I=f?f.apply(this,C):C[0],F=y.cache;if(F.has(I))return F.get(I);var H=u.apply(this,C);return y.cache=F.set(I,H)||F,H};return y.cache=new(ue.Cache||Br),y}ue.Cache=Br;function Ce(u){if(typeof u!="function")throw new jr(a);return function(){var f=arguments;switch(f.length){case 0:return!u.call(this);case 1:return!u.call(this,f[0]);case 2:return!u.call(this,f[0],f[1]);case 3:return!u.call(this,f[0],f[1],f[2])}return!u.apply(this,f)}}function ze(u){return be(2,u)}var He=xm(function(u,f){f=f.length==1&&ot(f[0])?It(f[0],kr(Ge())):It(Jt(f,1),kr(Ge()));var y=f.length;return lt(function(C){for(var I=-1,F=zn(C.length,y);++I=f}),nu=fc(function(){return arguments}())?fc:function(u){return fn(u)&&wt.call(u,"callee")&&!Yu.call(u,"callee")},ot=ce.isArray,E$=Jf?kr(Jf):ym;function Qr(u){return u!=null&&Qm(u.length)&&!Ks(u)}function vn(u){return fn(u)&&Qr(u)}function P$(u){return u===!0||u===!1||fn(u)&&Rn(u)==Oe}var Kl=pd||My,T$=cr?kr(cr):ho;function _$(u){return fn(u)&&u.nodeType===1&&!up(u)}function I$(u){if(u==null)return!0;if(Qr(u)&&(ot(u)||typeof u=="string"||typeof u.splice=="function"||Kl(u)||Yc(u)||nu(u)))return!u.length;var f=Mn(u);if(f==bt||f==Lt)return!u.size;if(bo(u))return!mo(u).length;for(var y in u)if(wt.call(u,y))return!1;return!0}function $$(u,f){return Hr(u,f)}function A$(u,f,y){y=typeof y=="function"?y:n;var C=y?y(u,f):n;return C===n?Hr(u,f,n,y):!!C}function Cy(u){if(!fn(u))return!1;var f=Rn(u);return f==yt||f==tt||typeof u.message=="string"&&typeof u.name=="string"&&!up(u)}function R$(u){return typeof u=="number"&&xl(u)}function Ks(u){if(!on(u))return!1;var f=Rn(u);return f==Ie||f==Rt||f==je||f==Fr}function Lw(u){return typeof u=="number"&&u==at(u)}function Qm(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=W}function on(u){var f=typeof u;return u!=null&&(f=="object"||f=="function")}function fn(u){return u!=null&&typeof u=="object"}var Mw=Ss?kr(Ss):bm;function L$(u,f){return u===f||$l(u,f,Wa(f))}function M$(u,f,y){return y=typeof y=="function"?y:n,$l(u,f,Wa(f),y)}function D$(u){return Dw(u)&&u!=+u}function N$(u){if(ly(u))throw new nt(s);return xd(u)}function F$(u){return u===null}function O$(u){return u==null}function Dw(u){return typeof u=="number"||fn(u)&&Rn(u)==Xt}function up(u){if(!fn(u)||Rn(u)!=st)return!1;var f=ci(u);if(f===null)return!0;var y=wt.call(f,"constructor")&&f.constructor;return typeof y=="function"&&y instanceof y&&xa.call(y)==Gu}var Ey=Ou?kr(Ou):La;function z$(u){return Lw(u)&&u>=-W&&u<=W}var Nw=pl?kr(pl):zi;function Jm(u){return typeof u=="string"||!ot(u)&&fn(u)&&Rn(u)==zt}function bi(u){return typeof u=="symbol"||fn(u)&&Rn(u)==ar}var Yc=Uh?kr(Uh):Ma;function j$(u){return u===n}function B$(u){return fn(u)&&Mn(u)==Yn}function V$(u){return fn(u)&&Rn(u)==pe}var U$=Pc(qo),K$=Pc(function(u,f){return u<=f});function Fw(u){if(!u)return[];if(Qr(u))return Jm(u)?Cr(u):er(u);if(ao&&u[ao])return Xv(u[ao]());var f=Mn(u),y=f==bt?Uu:f==Lt?zo:Xc;return y(u)}function Ws(u){if(!u)return u===0?u:0;if(u=Wi(u),u===q||u===-q){var f=u<0?-1:1;return f*se}return u===u?u:0}function at(u){var f=Ws(u),y=f%1;return f===f?y?f-y:f:0}function Ow(u){return u?co(at(u),0,V):0}function Wi(u){if(typeof u=="number")return u;if(bi(u))return A;if(on(u)){var f=typeof u.valueOf=="function"?u.valueOf():u;u=on(f)?f+"":f}if(typeof u!="string")return u===0?u:+u;u=Yh(u);var y=Mv.test(u);return y||_h.test(u)?Nu(u.slice(2),y?2:8):Ph.test(u)?A:+u}function zw(u){return di(u,Jr(u))}function W$(u){return u?co(at(u),-W,W):u===0?u:0}function _t(u){return u==null?"":mr(u)}var H$=Nl(function(u,f){if(bo(f)||Qr(f)){di(f,Hn(f),u);return}for(var y in f)wt.call(f,y)&&$s(u,y,f[y])}),jw=Nl(function(u,f){di(f,Jr(f),u)}),Zm=Nl(function(u,f,y,C){di(f,Jr(f),u,C)}),G$=Nl(function(u,f,y,C){di(f,Hn(f),u,C)}),q$=Ui(lc);function Y$(u,f){var y=El(u);return f==null?y:Ft(y,f)}var X$=lt(function(u,f){u=Tt(u);var y=-1,C=f.length,I=C>2?f[2]:n;for(I&&nr(f[0],f[1],I)&&(C=1);++y1),F}),di(u,Ua(u),y),C&&(y=hr(y,g|b|x,jd));for(var I=f.length;I--;)vc(y,f[I]);return y});function hA(u,f){return Vw(u,Ce(Ge(f)))}var mA=Ui(function(u,f){return u==null?{}:Cd(u,f)});function Vw(u,f){if(u==null)return{};var y=It(Ua(u),function(C){return[C]});return f=Ge(f),Yo(u,y,function(C,I){return f(C,I[0])})}function gA(u,f,y){f=Bi(f,u);var C=-1,I=f.length;for(I||(I=1,u=n);++Cf){var C=u;u=f,f=C}if(y||u%1||f%1){var I=Ea();return zn(u+I*(f-u+Xf("1e-"+((I+"").length-1))),f)}return Rl(u,f)}var TA=Ns(function(u,f,y){return f=f.toLowerCase(),u+(y?Ww(f):f)});function Ww(u){return _y(_t(u).toLowerCase())}function Hw(u){return u=_t(u),u&&u.replace($h,Jh).replace(zh,"")}function _A(u,f,y){u=_t(u),f=mr(f);var C=u.length;y=y===n?C:co(at(y),0,C);var I=y;return y-=f.length,y>=0&&u.slice(y,I)==f}function IA(u){return u=_t(u),u&&Tu.test(u)?u.replace(ai,Zh):u}function $A(u){return u=_t(u),u&&Ro.test(u)?u.replace(vs,"\\$&"):u}var AA=Ns(function(u,f,y){return u+(y?"-":"")+f.toLowerCase()}),RA=Ns(function(u,f,y){return u+(y?" ":"")+f.toLowerCase()}),LA=Md("toLowerCase");function MA(u,f,y){u=_t(u),f=at(f);var C=f?ks(u):0;if(!f||C>=f)return u;var I=(f-C)/2;return Ba(jo(I),y)+u+Ba(Es(I),y)}function DA(u,f,y){u=_t(u),f=at(f);var C=f?ks(u):0;return f&&C>>0,y?(u=_t(u),u&&(typeof f=="string"||f!=null&&!Ey(f))&&(f=mr(f),!f&&gl(u))?vo(Cr(u),0,y):u.split(f,y)):[]}var VA=Ns(function(u,f,y){return u+(y?" ":"")+_y(f)});function UA(u,f,y){return u=_t(u),y=y==null?0:co(at(y),0,u.length),f=mr(f),u.slice(y,y+f.length)==f}function KA(u,f,y){var C=D.templateSettings;y&&nr(u,f,y)&&(f=n),u=_t(u),f=Zm({},f,C,Od);var I=Zm({},f.imports,C.imports,Od),F=Hn(I),H=ya(I,F),Q,ie,ge=0,ve=f.interpolate||_u,xe="__p += '",_e=ba((f.escape||_u).source+"|"+ve.source+"|"+(ve===la?Ye:_u).source+"|"+(f.evaluate||_u).source+"|$","g"),Ve="//# sourceURL="+(wt.call(f,"sourceURL")?(f.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Bv+"]")+` -`;u.replace(_e,function(Je,pt,vt,xi,$r,wi){return vt||(vt=xi),xe+=u.slice(ge,wi).replace(Dv,em),pt&&(Q=!0,xe+=`' + -__e(`+pt+`) + -'`),$r&&(ie=!0,xe+=`'; -`+$r+`; -__p += '`),vt&&(xe+=`' + -((__t = (`+vt+`)) == null ? '' : __t) + -'`),ge=wi+Je.length,Je}),xe+=`'; -`;var Qe=wt.call(f,"variable")&&f.variable;if(!Qe)xe=`with (obj) { -`+xe+` -} -`;else if(Vf.test(Qe))throw new nt(c);xe=(ie?xe.replace(tn,""):xe).replace(ol,"$1").replace(hs,"$1;"),xe="function("+(Qe||"obj")+`) { -`+(Qe?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(Q?", __e = _.escape":"")+(ie?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+xe+`return __p -}`;var ft=qw(function(){return xt(F,Ve+"return "+xe).apply(n,H)});if(ft.source=xe,Cy(ft))throw ft;return ft}function WA(u){return _t(u).toLowerCase()}function HA(u){return _t(u).toUpperCase()}function GA(u,f,y){if(u=_t(u),u&&(y||f===n))return Yh(u);if(!u||!(f=mr(f)))return u;var C=Cr(u),I=Cr(f),F=Xh(C,I),H=ad(C,I)+1;return vo(C,F,H).join("")}function qA(u,f,y){if(u=_t(u),u&&(y||f===n))return u.slice(0,Wu(u)+1);if(!u||!(f=mr(f)))return u;var C=Cr(u),I=ad(C,Cr(f))+1;return vo(C,0,I).join("")}function YA(u,f,y){if(u=_t(u),u&&(y||f===n))return u.replace(ua,"");if(!u||!(f=mr(f)))return u;var C=Cr(u),I=Xh(C,Cr(f));return vo(C,I).join("")}function XA(u,f){var y=j,C=B;if(on(f)){var I="separator"in f?f.separator:I;y="length"in f?at(f.length):y,C="omission"in f?mr(f.omission):C}u=_t(u);var F=u.length;if(gl(u)){var H=Cr(u);F=H.length}if(y>=F)return u;var Q=y-ks(C);if(Q<1)return C;var ie=H?vo(H,0,Q).join(""):u.slice(0,Q);if(I===n)return ie+C;if(H&&(Q+=ie.length-Q),Ey(I)){if(u.slice(Q).search(I)){var ge,ve=ie;for(I.global||(I=ba(I.source,_t(io.exec(I))+"g")),I.lastIndex=0;ge=I.exec(ve);)var xe=ge.index;ie=ie.slice(0,xe===n?Q:xe)}}else if(u.indexOf(mr(I),Q)!=Q){var _e=ie.lastIndexOf(I);_e>-1&&(ie=ie.slice(0,_e))}return ie+C}function QA(u){return u=_t(u),u&&sa.test(u)?u.replace(li,tm):u}var JA=Ns(function(u,f,y){return u+(y?" ":"")+f.toUpperCase()}),_y=Md("toUpperCase");function Gw(u,f,y){return u=_t(u),f=y?n:f,f===n?Yv(u)?Zv(u):Hv(u):u.match(f)||[]}var qw=lt(function(u,f){try{return Jn(u,n,f)}catch(y){return Cy(y)?y:new nt(y)}}),ZA=Ui(function(u,f){return On(f,function(y){y=gi(y),Ni(u,y,Se(u[y],u))}),u});function eR(u){var f=u==null?0:u.length,y=Ge();return u=f?It(u,function(C){if(typeof C[1]!="function")throw new jr(a);return[y(C[0]),C[1]]}):[],lt(function(C){for(var I=-1;++IW)return[];var y=V,C=zn(u,V);f=Ge(f),u-=V;for(var I=ld(C,f);++y0||f<0)?new it(y):(u<0?y=y.takeRight(-u):u&&(y=y.drop(u)),f!==n&&(f=at(f),y=f<0?y.dropRight(-f):y.take(f-u)),y)},it.prototype.takeRightWhile=function(u){return this.reverse().takeWhile(u).reverse()},it.prototype.toArray=function(){return this.take(V)},Tr(it.prototype,function(u,f){var y=/^(?:filter|find|map|reject)|While$/.test(f),C=/^(?:head|last)$/.test(f),I=D[C?"take"+(f=="last"?"Right":""):f],F=C||/^find/.test(f);I&&(D.prototype[f]=function(){var H=this.__wrapped__,Q=C?[1]:arguments,ie=H instanceof it,ge=Q[0],ve=ie||ot(H),xe=function(pt){var vt=I.apply(D,Oo([pt],Q));return C&&_e?vt[0]:vt};ve&&y&&typeof ge=="function"&&ge.length!=1&&(ie=ve=!1);var _e=this.__chain__,Ve=!!this.__actions__.length,Qe=F&&!_e,ft=ie&&!Ve;if(!F&&ve){H=ft?H:new it(this);var Je=u.apply(H,Q);return Je.__actions__.push({func:yi,args:[xe],thisArg:n}),new jn(Je,_e)}return Qe&&ft?u.apply(this,Q):(Je=this.thru(xe),Qe?C?Je.value()[0]:Je.value():Je)})}),On(["pop","push","shift","sort","splice","unshift"],function(u){var f=so[u],y=/^(?:push|sort|unshift)$/.test(u)?"tap":"thru",C=/^(?:pop|shift)$/.test(u);D.prototype[u]=function(){var I=arguments;if(C&&!this.__chain__){var F=this.value();return f.apply(ot(F)?F:[],I)}return this[y](function(H){return f.apply(ot(H)?H:[],I)})}}),Tr(it.prototype,function(u,f){var y=D[f];if(y){var C=y.name+"";wt.call(kl,C)||(kl[C]=[]),kl[C].push({name:f,func:y})}}),kl[Ol(n,T).name]=[{name:"wrapper",func:n}],it.prototype.clone=nc,it.prototype.reverse=md,it.prototype.value=Pl,D.prototype.at=Vc,D.prototype.chain=Vs,D.prototype.commit=Uc,D.prototype.next=ip,D.prototype.plant=vy,D.prototype.reverse=sp,D.prototype.toJSON=D.prototype.valueOf=D.prototype.value=yy,D.prototype.first=D.prototype.head,ao&&(D.prototype[ao]=op),D},vl=ey();$i?(($i.exports=vl)._=vl,va._=vl):Bt._=vl}).call($8)}(Ap,Ap.exports)),Ap.exports}var m2=A8();class R8{plugins={};activePlugins=[];listeners=new Set;register(t){this.plugins[t.name]={isActivated:!1,config:t},this.notify()}activate(t){const n=this.plugins[t];!n||n.isActivated||(n.isActivated=!0,n.config.onActivate&&n.config.onActivate(),this.produceActivePlugins(),this.notify())}deactivate(t){const n=this.plugins[t];!n||!n.isActivated||(n.isActivated=!1,n.config.onDeactivate&&n.config.onDeactivate(),this.produceActivePlugins(),this.notify())}isPluginActivated(t){const n=this.plugins[t];return!!n&&n.isActivated}getPlugin(t){const n=this.plugins[t];return!n||!n.isActivated?null:n}getActivePlugins(){return this.activePlugins}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}notify(){this.listeners.forEach(t=>t())}produceActivePlugins(){this.activePlugins=m2.transform(this.plugins,(t,n)=>{n.isActivated&&t.push(n.config)},[])}}const yr=new R8;const g2="FeedbackFormPlugin",v2={name:g2,components:{FeedbackForm:S.lazy(()=>to(()=>import("./FeedbackForm-Bovwe8ia.js"),__vite__mapDeps([0,1,2,3,4])))}},y2="ChatOptionsPlugin",b2={name:y2,components:{ChatOptionsForm:S.lazy(()=>to(()=>import("./ChatOptionsForm-DYA6GEAP.js"),__vite__mapDeps([5,1,2,3,4])))}},x2=S.createContext(void 0),w2="SharePluginName",S2={name:w2,components:{ShareButton:S.lazy(()=>to(()=>import("./ShareButton-BvHR4xdz.js"),__vite__mapDeps([6,4])))}},Qk=e=>{let t;const n=new Set,r=(h,m)=>{const g=typeof h=="function"?h(t):h;if(!Object.is(g,t)){const b=t;t=m??(typeof g!="object"||g===null)?g:Object.assign({},t,g),n.forEach(x=>x(t,b))}},i=()=>t,c={setState:r,getState:i,getInitialState:()=>d,subscribe:h=>(n.add(h),()=>n.delete(h))},d=t=e(r,i,c);return c},Jk=e=>e?Qk(e):Qk,L8=e=>e;function k2(e,t=L8){const n=We.useSyncExternalStore(e.subscribe,()=>t(e.getState()),()=>t(e.getInitialState()));return We.useDebugValue(n),n}const or=[];for(let e=0;e<256;++e)or.push((e+256).toString(16).slice(1));function M8(e,t=0){return(or[e[t+0]]+or[e[t+1]]+or[e[t+2]]+or[e[t+3]]+"-"+or[e[t+4]]+or[e[t+5]]+"-"+or[e[t+6]]+or[e[t+7]]+"-"+or[e[t+8]]+or[e[t+9]]+"-"+or[e[t+10]]+or[e[t+11]]+or[e[t+12]]+or[e[t+13]]+or[e[t+14]]+or[e[t+15]]).toLowerCase()}let v0;const D8=new Uint8Array(16);function N8(){if(!v0){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");v0=crypto.getRandomValues.bind(crypto)}return v0(D8)}const F8=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Zk={randomUUID:F8};function C2(e,t,n){if(Zk.randomUUID&&!e)return Zk.randomUUID();e=e||{};const r=e.random??e.rng?.()??N8();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,M8(r)}function O8(e){return Object.values(e).map(t=>({role:t.role,content:t.content}))}var E2=Symbol.for("immer-nothing"),eC=Symbol.for("immer-draftable"),Ei=Symbol.for("immer-state");function Po(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Tf=Object.getPrototypeOf;function _f(e){return!!e&&!!e[Ei]}function Su(e){return e?P2(e)||Array.isArray(e)||!!e[eC]||!!e.constructor?.[eC]||wv(e)||Sv(e):!1}var z8=Object.prototype.constructor.toString();function P2(e){if(!e||typeof e!="object")return!1;const t=Tf(e);if(t===null)return!0;const n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return n===Object?!0:typeof n=="function"&&Function.toString.call(n)===z8}function Xg(e,t){xv(e)===0?Reflect.ownKeys(e).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function xv(e){const t=e[Ei];return t?t.type_:Array.isArray(e)?1:wv(e)?2:Sv(e)?3:0}function Lb(e,t){return xv(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function T2(e,t,n){const r=xv(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function j8(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function wv(e){return e instanceof Map}function Sv(e){return e instanceof Set}function fu(e){return e.copy_||e.base_}function Mb(e,t){if(wv(e))return new Map(e);if(Sv(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const n=P2(e);if(t===!0||t==="class_only"&&!n){const r=Object.getOwnPropertyDescriptors(e);delete r[Ei];let i=Reflect.ownKeys(r);for(let s=0;s1&&(e.set=e.add=e.clear=e.delete=B8),Object.freeze(e),t&&Object.entries(e).forEach(([n,r])=>tw(r,!0))),e}function B8(){Po(2)}function kv(e){return Object.isFrozen(e)}var V8={};function ku(e){const t=V8[e];return t||Po(0,e),t}var lh;function _2(){return lh}function U8(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function tC(e,t){t&&(ku("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Db(e){Nb(e),e.drafts_.forEach(K8),e.drafts_=null}function Nb(e){e===lh&&(lh=e.parent_)}function nC(e){return lh=U8(lh,e)}function K8(e){const t=e[Ei];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function rC(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];return e!==void 0&&e!==n?(n[Ei].modified_&&(Db(t),Po(4)),Su(e)&&(e=Qg(t,e),t.parent_||Jg(t,e)),t.patches_&&ku("Patches").generateReplacementPatches_(n[Ei].base_,e,t.patches_,t.inversePatches_)):e=Qg(t,n,[]),Db(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==E2?e:void 0}function Qg(e,t,n){if(kv(t))return t;const r=t[Ei];if(!r)return Xg(t,(i,s)=>iC(e,r,t,i,s,n)),t;if(r.scope_!==e)return t;if(!r.modified_)return Jg(e,r.base_,!0),r.base_;if(!r.finalized_){r.finalized_=!0,r.scope_.unfinalizedDrafts_--;const i=r.copy_;let s=i,a=!1;r.type_===3&&(s=new Set(i),i.clear(),a=!0),Xg(s,(c,d)=>iC(e,r,i,c,d,n,a)),Jg(e,i,!1),n&&e.patches_&&ku("Patches").generatePatches_(r,n,e.patches_,e.inversePatches_)}return r.copy_}function iC(e,t,n,r,i,s,a){if(_f(i)){const c=s&&t&&t.type_!==3&&!Lb(t.assigned_,r)?s.concat(r):void 0,d=Qg(e,i,c);if(T2(n,r,d),_f(d))e.canAutoFreeze_=!1;else return}else a&&n.add(i);if(Su(i)&&!kv(i)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;Qg(e,i),(!t||!t.scope_.parent_)&&typeof r!="symbol"&&Object.prototype.propertyIsEnumerable.call(n,r)&&Jg(e,i)}}function Jg(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&tw(t,n)}function W8(e,t){const n=Array.isArray(e),r={type_:n?1:0,scope_:t?t.scope_:_2(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=r,s=nw;n&&(i=[r],s=ah);const{revoke:a,proxy:c}=Proxy.revocable(i,s);return r.draft_=c,r.revoke_=a,c}var nw={get(e,t){if(t===Ei)return e;const n=fu(e);if(!Lb(n,t))return H8(e,n,t);const r=n[t];return e.finalized_||!Su(r)?r:r===y0(e.base_,t)?(b0(e),e.copy_[t]=Ob(r,e)):r},has(e,t){return t in fu(e)},ownKeys(e){return Reflect.ownKeys(fu(e))},set(e,t,n){const r=I2(fu(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const i=y0(fu(e),t),s=i?.[Ei];if(s&&s.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(j8(n,i)&&(n!==void 0||Lb(e.base_,t)))return!0;b0(e),Fb(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 y0(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,b0(e),Fb(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const n=fu(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:r.enumerable,value:n[t]}},defineProperty(){Po(11)},getPrototypeOf(e){return Tf(e.base_)},setPrototypeOf(){Po(12)}},ah={};Xg(nw,(e,t)=>{ah[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});ah.deleteProperty=function(e,t){return ah.set.call(this,e,t,void 0)};ah.set=function(e,t,n){return nw.set.call(this,e[0],t,n,e[0])};function y0(e,t){const n=e[Ei];return(n?fu(n):e)[t]}function H8(e,t,n){const r=I2(t,n);return r?"value"in r?r.value:r.get?.call(e.draft_):void 0}function I2(e,t){if(!(t in e))return;let n=Tf(e);for(;n;){const r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Tf(n)}}function Fb(e){e.modified_||(e.modified_=!0,e.parent_&&Fb(e.parent_))}function b0(e){e.copy_||(e.copy_=Mb(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var G8=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,n,r)=>{if(typeof t=="function"&&typeof n!="function"){const s=n;n=t;const a=this;return function(d=s,...h){return a.produce(d,m=>n.call(this,m,...h))}}typeof n!="function"&&Po(6),r!==void 0&&typeof r!="function"&&Po(7);let i;if(Su(t)){const s=nC(this),a=Ob(t,void 0);let c=!0;try{i=n(a),c=!1}finally{c?Db(s):Nb(s)}return tC(s,r),rC(i,s)}else if(!t||typeof t!="object"){if(i=n(t),i===void 0&&(i=t),i===E2&&(i=void 0),this.autoFreeze_&&tw(i,!0),r){const s=[],a=[];ku("Patches").generateReplacementPatches_(t,i,s,a),r(s,a)}return i}else Po(1,t)},this.produceWithPatches=(t,n)=>{if(typeof t=="function")return(a,...c)=>this.produceWithPatches(a,d=>t(d,...c));let r,i;return[this.produce(t,n,(a,c)=>{r=a,i=c}),r,i]},typeof e?.autoFreeze=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof e?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){Su(e)||Po(8),_f(e)&&(e=q8(e));const t=nC(this),n=Ob(e,void 0);return n[Ei].isManual_=!0,Nb(t),n}finishDraft(e,t){const n=e&&e[Ei];(!n||!n.isManual_)&&Po(9);const{scope_:r}=n;return tC(r,t),rC(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}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=ku("Patches").applyPatches_;return _f(e)?r(e,t):this.produce(e,i=>r(i,t))}};function Ob(e,t){const n=wv(e)?ku("MapSet").proxyMap_(e,t):Sv(e)?ku("MapSet").proxySet_(e,t):W8(e,t);return(t?t.scope_:_2()).drafts_.push(n),n}function q8(e){return _f(e)||Po(10,e),$2(e)}function $2(e){if(!Su(e)||kv(e))return e;const t=e[Ei];let n;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Mb(e,t.scope_.immer_.useStrictShallowCopy_)}else n=Mb(e,!0);return Xg(n,(r,i)=>{T2(n,r,$2(i))}),t&&(t.finalized_=!1),n}var Pi=new G8,Cv=Pi.produce;Pi.produceWithPatches.bind(Pi);Pi.setAutoFreeze.bind(Pi);Pi.setUseStrictShallowCopy.bind(Pi);Pi.applyPatches.bind(Pi);Pi.createDraft.bind(Pi);Pi.finishDraft.bind(Pi);const Y8=e=>(t,n,r)=>(r.setState=(i,s,...a)=>{const c=typeof i=="function"?Cv(i):i;return t(c,s,...a)},e(r.setState,n,r)),X8=Y8,Q8=({content:e},t)=>{t.serverState=e},J8=({content:e},t,n)=>{const r=n.conversationIdRef.current;return t.conversationId=e,n.conversationIdRef.current=e,{originalConversationId:r}},Z8=(e,t,{originalConversationId:n,conversationIdRef:r})=>{const i=t.conversations[n];if(!i)throw new Error("Received events for non-existent conversation");t.conversations[r.current]=i,t.currentConversation===n&&(t.currentConversation=r.current),delete t.conversations[n]},e7=({content:e},t)=>{t.followupMessages=e},t7=(e,t,n)=>{const r=t.history[n.messageId];r.content+=e.content},n7=(e,t,n)=>{const r=t.history[n.messageId];r.references=[...r.references??[],e.content]},r7=(e,t,n)=>{const r=t.history[n.messageId];r.serverId=e.content},i7=(e,t,n)=>{const r=t.history[n.messageId],{update_id:i,content:s,type:a}=e.content,c=Cv(r.liveUpdates??{},d=>{a===Pz.Start&&i in d&&console.error(`Got duplicate start event for update_id: ${i}. Ignoring the event.`),d[i]=s});r.liveUpdates=c},o7=(e,t,n)=>{const r=t.history[n.messageId],i=e.content;r.images=Cv(r.images??{},s=>{s[i.id]&&console.error(`Got duplicate image event for image_id: ${i.id}. Ignoring the event.`),s[i.id]=i.url})},s7=(e,t,n)=>{const r=t.history[n.messageId];t.history[n.messageId]={id:r.id,role:r.role,content:""}},l7=(e,t,n)=>{const r=t.history[n.messageId];r.usage=e.content};class a7{handlers=new Map;register(t,n){this.handlers.has(t)&&console.warn(`Handler for ${String(t)} already registered - overwriting.`),this.handlers.set(t,n)}get(t){const n=this.handlers.get(t);if(!n)throw new Error(`No handler registered for type: ${String(t)}`);return n}}const $o=new a7;$o.register(oi.StateUpdate,{handle:Q8});$o.register(oi.ConversationId,{handle:J8,after:Z8});$o.register(oi.FollowupMessages,{handle:e7});$o.register(oi.Text,{handle:t7});$o.register(oi.Reference,{handle:n7});$o.register(oi.MessageId,{handle:r7});$o.register(oi.LiveUpdate,{handle:i7});$o.register(oi.Image,{handle:o7});$o.register(oi.ClearMessage,{handle:s7});$o.register(oi.Usage,{handle:l7});const A2="temp-",R2=()=>`${A2}${C2()}`,zb=()=>({history:{},followupMessages:null,serverState:null,conversationId:R2(),eventsLog:[],lastMessageId:null,context:void 0,chatOptions:void 0,isLoading:!1,abortController:null}),u7=()=>{const e=zb();return{conversations:{[e.conversationId]:e},currentConversation:e.conversationId}},os=(e,t)=>n=>{const r=n.conversations[e];if(!r)throw new Error(`Conversation with ID '${e}' does not exist`);t(r)},oC=e=>e.startsWith(A2),sC=X8((e,t)=>({...u7(),computed:{getContext:()=>{const{primitives:{getCurrentConversation:n}}=t(),r=n(),{serverState:i,conversationId:s,chatOptions:a}=r;return{...i??{},...s&&!oC(r.conversationId)?{conversation_id:s}:{},...a?{user_settings:a}:{}}}},_internal:{_hasHydrated:!1,_setHasHydrated:n=>{e(r=>{r._internal._hasHydrated=n})},handleResponse:(n,r,i)=>{let s;const a=$o.get(i.type);e(os(n.current,c=>{if(!c.history[r])throw new Error(`Message ID ${r} not found in history`);s=a.handle(i,c,{conversationIdRef:n,messageId:r})})),e(c=>{a.after?.(i,c,{conversationIdRef:n,messageId:r,...s})}),e(os(n.current,c=>{c.eventsLog[c.eventsLog.length-1].push(i)}))}},primitives:{getCurrentConversation:()=>{const{currentConversation:n,conversations:r}=t(),i=r[n];if(!i)throw new Error("Tried to get conversation that doesn't exist.");return i},restore:(n,r,i,s)=>{const a=R2(),c={...zb(),followupMessages:r,chatOptions:i,serverState:s,history:n,conversationId:a},d=Object.values(n).filter(h=>h.role!==hf.User);c.eventsLog=d.map(()=>[]),e(h=>{h.conversations[a]=c,h.currentConversation=a})},addMessage:(n,r)=>{const i=C2(),s={...r,id:i};return e(os(n,a=>{a.followupMessages=null,a.lastMessageId=i,a.history[i]=s})),i},deleteMessage:(n,r)=>{e(os(n,i=>{const{history:s}=i,a=Object.keys(s);a.at(-1)===r&&(i.lastMessageId=a.at(-2)??null),delete i.history[r]}))},stopAnswering:n=>{const r=t().conversations[n];if(!r)throw new Error("Tried to stop answering for conversation that doesn't exist");r.abortController?.abort(),e(os(n,i=>{i.abortController=null,i.isLoading=!1}))}},actions:{selectConversation:n=>{e(r=>{if(!r.conversations[n])throw new Error(`Tried to select conversation that doesn't exist, id: ${n}`);r.currentConversation=n})},deleteConversation:n=>{const{actions:{newConversation:r},primitives:{stopAnswering:i},currentConversation:s}=t();if(i(n),e(a=>{delete a.conversations[n]}),n===s)return r()},mergeExtensions:(n,r)=>{const{currentConversation:i}=t();e(os(i,s=>{if(!(n in s.history))throw new Error("Attempted to set extensions for a message that does not exist.");const a=s.history[n];a.extensions={...a.extensions,...r},s.history[n]=a}))},initializeChatOptions:n=>{const{currentConversation:r}=t();e(os(r,i=>{const s=i.chatOptions??{};Object.keys(s).forEach(a=>{a in n||delete s[a]}),Object.keys(n).forEach(a=>{a in s||(s[a]=n[a])}),i.chatOptions=s}))},setChatOptions:n=>{const{currentConversation:r}=t();e(os(r,i=>{i.chatOptions=n}))},stopAnswering:()=>{const{currentConversation:n,primitives:{stopAnswering:r}}=t();r(n)},newConversation:()=>{const n=zb();return e(r=>{r.conversations[n.conversationId]=n,r.currentConversation=n.conversationId,r.conversations=m2.omitBy(r.conversations,i=>oC(i.conversationId)&&i.conversationId!==r.currentConversation)}),n.conversationId},sendMessage:(n,r)=>{const{_internal:{handleResponse:i},primitives:{addMessage:s,getCurrentConversation:a,stopAnswering:c},computed:{getContext:d}}=t(),{history:h,conversationId:m}=a();s(m,{role:hf.User,content:n});const g=s(m,{role:hf.Assistant,content:""}),b={message:n,history:O8(h),context:d()};e(os(m,P=>{P.eventsLog.push([])}));const x=new AbortController,E={current:m};e(os(m,P=>{P.abortController=x,P.isLoading=!0})),r.makeStreamRequest("/api/chat",b,{onMessage:P=>i(E,g,P),onError:P=>{i(E,g,{type:oi.Text,content:P.message}),c(E.current)},onClose:()=>{c(E.current)}},x.signal)}}}));function L2(e,t){let n;try{n=e()}catch{return}return{getItem:i=>{var s;const a=d=>d===null?null:JSON.parse(d,void 0),c=(s=n.getItem(i))!=null?s:null;return c instanceof Promise?c.then(a):a(c)},setItem:(i,s)=>n.setItem(i,JSON.stringify(s,void 0)),removeItem:i=>n.removeItem(i)}}const jb=e=>t=>{try{const n=e(t);return n instanceof Promise?n:{then(r){return jb(r)(n)},catch(r){return this}}}catch(n){return{then(r){return this},catch(r){return jb(r)(n)}}}},c7=(e,t)=>(n,r,i)=>{let s={storage:L2(()=>localStorage),partialize:P=>P,version:0,merge:(P,_)=>({..._,...P}),...t},a=!1;const c=new Set,d=new Set;let h=s.storage;if(!h)return e((...P)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),n(...P)},r,i);const m=()=>{const P=s.partialize({...r()});return h.setItem(s.name,{state:P,version:s.version})},g=i.setState;i.setState=(P,_)=>{g(P,_),m()};const b=e((...P)=>{n(...P),m()},r,i);i.getInitialState=()=>b;let x;const E=()=>{var P,_;if(!h)return;a=!1,c.forEach(R=>{var L;return R((L=r())!=null?L:b)});const T=((_=s.onRehydrateStorage)==null?void 0:_.call(s,(P=r())!=null?P:b))||void 0;return jb(h.getItem.bind(h))(s.name).then(R=>{if(R)if(typeof R.version=="number"&&R.version!==s.version){if(s.migrate){const L=s.migrate(R.state,R.version);return L instanceof Promise?L.then(z=>[!0,z]):[!0,L]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,R.state];return[!1,void 0]}).then(R=>{var L;const[z,K]=R;if(x=s.merge(K,(L=r())!=null?L:b),n(x,!0),z)return m()}).then(()=>{T?.(x,void 0),x=r(),a=!0,d.forEach(R=>R(x))}).catch(R=>{T?.(void 0,R)})};return i.persist={setOptions:P=>{s={...s,...P},P.storage&&(h=P.storage)},clearStorage:()=>{h?.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>E(),hasHydrated:()=>a,onHydrate:P=>(c.add(P),()=>{c.delete(P)}),onFinishHydration:P=>(d.add(P),()=>{d.delete(P)})},s.skipHydration||E(),x||b},f7=c7;function Ev(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function d7(e,t){let n;const r=()=>{if(n)return n;const i=indexedDB.open(e);return i.onupgradeneeded=()=>i.result.createObjectStore(t),n=Ev(i),n.then(s=>{s.onclose=()=>n=void 0},()=>{}),n};return(i,s)=>r().then(a=>s(a.transaction(t,i).objectStore(t)))}let x0;function rw(){return x0||(x0=d7("keyval-store","keyval")),x0}function p7(e,t=rw()){return t("readonly",n=>Ev(n.get(e)))}function h7(e,t,n=rw()){return n("readwrite",r=>(r.put(t,e),Ev(r.transaction)))}function m7(e,t=rw()){return t("readwrite",n=>(n.delete(e),Ev(n.transaction)))}const g7={getItem:async e=>await p7(e)||null,setItem:async(e,t)=>{await h7(e,t)},removeItem:async e=>{await m7(e)}},M2=S.createContext(null);function D2(){return N.jsx("div",{className:In("bg-background flex h-screen w-screen items-start justify-center"),children:N.jsxs("div",{className:"text-default-900 m-auto flex flex-col items-center gap-4",children:[N.jsx(N6,{size:"lg","aria-label":"Progress indicator"}),N.jsx("p",{children:"Initializing..."})]})})}const lC="ragbits-history-store";function v7(e,t){if(e)return Jk(f7(sC,{name:t,partialize:r=>({conversations:r.conversations}),onRehydrateStorage:r=>()=>r._internal._setHasHydrated(!0),merge:(r,i)=>{const s=r?.conversations??{},{conversations:a,currentConversation:c}=i,d=Object.values(s).reduce((h,m)=>(m.conversationId===null||(h[m.conversationId]={...m,isLoading:!1,abortController:null}),h),{});return{...i,currentConversation:c,conversations:{...d,...a}}},storage:L2(()=>g7)}));const n=Jk(sC);return n.getState()._internal._setHasHydrated(!0),n}function y7({children:e,shouldStoreHistory:t}){const[n,r]=S.useState(lC),i=S.useMemo(()=>v7(t,n),[t,n]),s=k2(i,d=>d._internal._hasHydrated),a=d=>{r(`${lC}-${d}`)},c=S.useMemo(()=>({store:i,initializeUserStore:a}),[i]);return t&&!s?N.jsx(D2,{}):N.jsx(M2.Provider,{value:c,children:e})}/** - * react-router v7.7.1 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */var aC="popstate";function b7(e={}){function t(r,i){let{pathname:s,search:a,hash:c}=r.location;return Bb("",{pathname:s,search:a,hash:c},i.state&&i.state.usr||null,i.state&&i.state.key||"default")}function n(r,i){return typeof i=="string"?i:uh(i)}return w7(t,n,null,e)}function $n(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Io(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function x7(){return Math.random().toString(36).substring(2,10)}function uC(e,t){return{usr:e.state,key:e.key,idx:t}}function Bb(e,t,n=null,r){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?xh(t):t,state:n,key:t&&t.key||r||x7()}}function uh({pathname:e="/",search:t="",hash:n=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),n&&n!=="#"&&(e+=n.charAt(0)==="#"?n:"#"+n),e}function xh(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function w7(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:s=!1}=r,a=i.history,c="POP",d=null,h=m();h==null&&(h=0,a.replaceState({...a.state,idx:h},""));function m(){return(a.state||{idx:null}).idx}function g(){c="POP";let _=m(),T=_==null?null:_-h;h=_,d&&d({action:c,location:P.location,delta:T})}function b(_,T){c="PUSH";let R=Bb(P.location,_,T);h=m()+1;let L=uC(R,h),z=P.createHref(R);try{a.pushState(L,"",z)}catch(K){if(K instanceof DOMException&&K.name==="DataCloneError")throw K;i.location.assign(z)}s&&d&&d({action:c,location:P.location,delta:1})}function x(_,T){c="REPLACE";let R=Bb(P.location,_,T);h=m();let L=uC(R,h),z=P.createHref(R);a.replaceState(L,"",z),s&&d&&d({action:c,location:P.location,delta:0})}function E(_){return S7(_)}let P={get action(){return c},get location(){return e(i,a)},listen(_){if(d)throw new Error("A history only accepts one active listener");return i.addEventListener(aC,g),d=_,()=>{i.removeEventListener(aC,g),d=null}},createHref(_){return t(i,_)},createURL:E,encodeLocation(_){let T=E(_);return{pathname:T.pathname,search:T.search,hash:T.hash}},push:b,replace:x,go(_){return a.go(_)}};return P}function S7(e,t=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),$n(n,"No window.location.(origin|href) available to create URL");let r=typeof e=="string"?e:uh(e);return r=r.replace(/ $/,"%20"),!t&&r.startsWith("//")&&(r=n+r),new URL(r,n)}function N2(e,t,n="/"){return k7(e,t,n,!1)}function k7(e,t,n,r){let i=typeof t=="string"?xh(t):t,s=tl(i.pathname||"/",n);if(s==null)return null;let a=F2(e);C7(a);let c=null;for(let d=0;c==null&&d{let d={relativePath:c===void 0?s.path||"":c,caseSensitive:s.caseSensitive===!0,childrenIndex:a,route:s};d.relativePath.startsWith("/")&&($n(d.relativePath.startsWith(r),`Absolute route path "${d.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),d.relativePath=d.relativePath.slice(r.length));let h=Js([r,d.relativePath]),m=n.concat(d);s.children&&s.children.length>0&&($n(s.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${h}".`),F2(s.children,t,m,h)),!(s.path==null&&!s.index)&&t.push({path:h,score:A7(h,s.index),routesMeta:m})};return e.forEach((s,a)=>{if(s.path===""||!s.path?.includes("?"))i(s,a);else for(let c of O2(s.path))i(s,a,c)}),t}function O2(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,i=n.endsWith("?"),s=n.replace(/\?$/,"");if(r.length===0)return i?[s,""]:[s];let a=O2(r.join("/")),c=[];return c.push(...a.map(d=>d===""?s:[s,d].join("/"))),i&&c.push(...a),c.map(d=>e.startsWith("/")&&d===""?"/":d)}function C7(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:R7(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}var E7=/^:[\w-]+$/,P7=3,T7=2,_7=1,I7=10,$7=-2,cC=e=>e==="*";function A7(e,t){let n=e.split("/"),r=n.length;return n.some(cC)&&(r+=$7),t&&(r+=T7),n.filter(i=>!cC(i)).reduce((i,s)=>i+(E7.test(s)?P7:s===""?_7:I7),r)}function R7(e,t){return e.length===t.length&&e.slice(0,-1).every((r,i)=>r===t[i])?e[e.length-1]-t[t.length-1]:0}function L7(e,t,n=!1){let{routesMeta:r}=e,i={},s="/",a=[];for(let c=0;c{if(m==="*"){let E=c[b]||"";a=s.slice(0,s.length-E.length).replace(/(.)\/+$/,"$1")}const x=c[b];return g&&!x?h[m]=void 0:h[m]=(x||"").replace(/%2F/g,"/"),h},{}),pathname:s,pathnameBase:a,pattern:e}}function M7(e,t=!1,n=!0){Io(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,c,d)=>(r.push({paramName:c,isOptional:d!=null}),d?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),r]}function D7(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Io(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function tl(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function N7(e,t="/"){let{pathname:n,search:r="",hash:i=""}=typeof e=="string"?xh(e):e;return{pathname:n?n.startsWith("/")?n:F7(n,t):t,search:j7(r),hash:B7(i)}}function F7(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function w0(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function O7(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function iw(e){let t=O7(e);return t.map((n,r)=>r===t.length-1?n.pathname:n.pathnameBase)}function ow(e,t,n,r=!1){let i;typeof e=="string"?i=xh(e):(i={...e},$n(!i.pathname||!i.pathname.includes("?"),w0("?","pathname","search",i)),$n(!i.pathname||!i.pathname.includes("#"),w0("#","pathname","hash",i)),$n(!i.search||!i.search.includes("#"),w0("#","search","hash",i)));let s=e===""||i.pathname==="",a=s?"/":i.pathname,c;if(a==null)c=n;else{let g=t.length-1;if(!r&&a.startsWith("..")){let b=a.split("/");for(;b[0]==="..";)b.shift(),g-=1;i.pathname=b.join("/")}c=g>=0?t[g]:"/"}let d=N7(i,c),h=a&&a!=="/"&&a.endsWith("/"),m=(s||a===".")&&n.endsWith("/");return!d.pathname.endsWith("/")&&(h||m)&&(d.pathname+="/"),d}var Js=e=>e.join("/").replace(/\/\/+/g,"/"),z7=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),j7=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,B7=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function V7(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}var z2=["POST","PUT","PATCH","DELETE"];new Set(z2);var U7=["GET",...z2];new Set(U7);var Ff=S.createContext(null);Ff.displayName="DataRouter";var Pv=S.createContext(null);Pv.displayName="DataRouterState";S.createContext(!1);var j2=S.createContext({isTransitioning:!1});j2.displayName="ViewTransition";var K7=S.createContext(new Map);K7.displayName="Fetchers";var W7=S.createContext(null);W7.displayName="Await";var Ao=S.createContext(null);Ao.displayName="Navigation";var Tv=S.createContext(null);Tv.displayName="Location";var no=S.createContext({outlet:null,matches:[],isDataRoute:!1});no.displayName="Route";var sw=S.createContext(null);sw.displayName="RouteError";function H7(e,{relative:t}={}){$n(Of(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:r}=S.useContext(Ao),{hash:i,pathname:s,search:a}=wh(e,{relative:t}),c=s;return n!=="/"&&(c=s==="/"?n:Js([n,s])),r.createHref({pathname:c,search:a,hash:i})}function Of(){return S.useContext(Tv)!=null}function ra(){return $n(Of(),"useLocation() may be used only in the context of a component."),S.useContext(Tv).location}var B2="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function V2(e){S.useContext(Ao).static||S.useLayoutEffect(e)}function lw(){let{isDataRoute:e}=S.useContext(no);return e?l9():G7()}function G7(){$n(Of(),"useNavigate() may be used only in the context of a component.");let e=S.useContext(Ff),{basename:t,navigator:n}=S.useContext(Ao),{matches:r}=S.useContext(no),{pathname:i}=ra(),s=JSON.stringify(iw(r)),a=S.useRef(!1);return V2(()=>{a.current=!0}),S.useCallback((d,h={})=>{if(Io(a.current,B2),!a.current)return;if(typeof d=="number"){n.go(d);return}let m=ow(d,JSON.parse(s),i,h.relative==="path");e==null&&t!=="/"&&(m.pathname=m.pathname==="/"?t:Js([t,m.pathname])),(h.replace?n.replace:n.push)(m,h.state,h)},[t,n,s,i,e])}var q7=S.createContext(null);function Y7(e){let t=S.useContext(no).outlet;return t&&S.createElement(q7.Provider,{value:e},t)}function U2(){let{matches:e}=S.useContext(no),t=e[e.length-1];return t?t.params:{}}function wh(e,{relative:t}={}){let{matches:n}=S.useContext(no),{pathname:r}=ra(),i=JSON.stringify(iw(n));return S.useMemo(()=>ow(e,JSON.parse(i),r,t==="path"),[e,i,r,t])}function X7(e,t){return K2(e)}function K2(e,t,n,r){$n(Of(),"useRoutes() may be used only in the context of a component.");let{navigator:i}=S.useContext(Ao),{matches:s}=S.useContext(no),a=s[s.length-1],c=a?a.params:{},d=a?a.pathname:"/",h=a?a.pathnameBase:"/",m=a&&a.route;{let T=m&&m.path||"";W2(d,!m||T.endsWith("*")||T.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${d}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. - -Please change the parent to .`)}let g=ra(),b;b=g;let x=b.pathname||"/",E=x;if(h!=="/"){let T=h.replace(/^\//,"").split("/");E="/"+x.replace(/^\//,"").split("/").slice(T.length).join("/")}let P=N2(e,{pathname:E});return Io(m||P!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),Io(P==null||P[P.length-1].route.element!==void 0||P[P.length-1].route.Component!==void 0||P[P.length-1].route.lazy!==void 0,`Matched leaf route at location "${b.pathname}${b.search}${b.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`),t9(P&&P.map(T=>Object.assign({},T,{params:Object.assign({},c,T.params),pathname:Js([h,i.encodeLocation?i.encodeLocation(T.pathname).pathname:T.pathname]),pathnameBase:T.pathnameBase==="/"?h:Js([h,i.encodeLocation?i.encodeLocation(T.pathnameBase).pathname:T.pathnameBase])})),s,n,r)}function Q7(){let e=s9(),t=V7(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:r},s={padding:"2px 4px",backgroundColor:r},a=null;return console.error("Error handled by React Router default ErrorBoundary:",e),a=S.createElement(S.Fragment,null,S.createElement("p",null,"💿 Hey developer 👋"),S.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",S.createElement("code",{style:s},"ErrorBoundary")," or"," ",S.createElement("code",{style:s},"errorElement")," prop on your route.")),S.createElement(S.Fragment,null,S.createElement("h2",null,"Unexpected Application Error!"),S.createElement("h3",{style:{fontStyle:"italic"}},t),n?S.createElement("pre",{style:i},n):null,a)}var J7=S.createElement(Q7,null),Z7=class extends S.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return this.state.error!==void 0?S.createElement(no.Provider,{value:this.props.routeContext},S.createElement(sw.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function e9({routeContext:e,match:t,children:n}){let r=S.useContext(Ff);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),S.createElement(no.Provider,{value:e},n)}function t9(e,t=[],n=null,r=null){if(e==null){if(!n)return null;if(n.errors)e=n.matches;else if(t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let i=e,s=n?.errors;if(s!=null){let d=i.findIndex(h=>h.route.id&&s?.[h.route.id]!==void 0);$n(d>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(s).join(",")}`),i=i.slice(0,Math.min(i.length,d+1))}let a=!1,c=-1;if(n)for(let d=0;d=0?i=i.slice(0,c+1):i=[i[0]];break}}}return i.reduceRight((d,h,m)=>{let g,b=!1,x=null,E=null;n&&(g=s&&h.route.id?s[h.route.id]:void 0,x=h.route.errorElement||J7,a&&(c<0&&m===0?(W2("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),b=!0,E=null):c===m&&(b=!0,E=h.route.hydrateFallbackElement||null)));let P=t.concat(i.slice(0,m+1)),_=()=>{let T;return g?T=x:b?T=E:h.route.Component?T=S.createElement(h.route.Component,null):h.route.element?T=h.route.element:T=d,S.createElement(e9,{match:h,routeContext:{outlet:d,matches:P,isDataRoute:n!=null},children:T})};return n&&(h.route.ErrorBoundary||h.route.errorElement||m===0)?S.createElement(Z7,{location:n.location,revalidation:n.revalidation,component:x,error:g,children:_(),routeContext:{outlet:null,matches:P,isDataRoute:!0}}):_()},null)}function aw(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function n9(e){let t=S.useContext(Ff);return $n(t,aw(e)),t}function r9(e){let t=S.useContext(Pv);return $n(t,aw(e)),t}function i9(e){let t=S.useContext(no);return $n(t,aw(e)),t}function uw(e){let t=i9(e),n=t.matches[t.matches.length-1];return $n(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function o9(){return uw("useRouteId")}function s9(){let e=S.useContext(sw),t=r9("useRouteError"),n=uw("useRouteError");return e!==void 0?e:t.errors?.[n]}function l9(){let{router:e}=n9("useNavigate"),t=uw("useNavigate"),n=S.useRef(!1);return V2(()=>{n.current=!0}),S.useCallback(async(i,s={})=>{Io(n.current,B2),n.current&&(typeof i=="number"?e.navigate(i):await e.navigate(i,{fromRouteId:t,...s}))},[e,t])}var fC={};function W2(e,t,n){!t&&!fC[e]&&(fC[e]=!0,Io(!1,n))}S.memo(a9);function a9({routes:e,future:t,state:n}){return K2(e,void 0,n,t)}function TG({to:e,replace:t,state:n,relative:r}){$n(Of()," may be used only in the context of a component.");let{static:i}=S.useContext(Ao);Io(!i," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:s}=S.useContext(no),{pathname:a}=ra(),c=lw(),d=ow(e,iw(s),a,r==="path"),h=JSON.stringify(d);return S.useEffect(()=>{c(JSON.parse(h),{replace:t,state:n,relative:r})},[c,h,r,t,n]),null}function u9(e){return Y7(e.context)}function c9({basename:e="/",children:t=null,location:n,navigationType:r="POP",navigator:i,static:s=!1}){$n(!Of(),"You cannot render a inside another . You should never have more than one in your app.");let a=e.replace(/^\/*/,"/"),c=S.useMemo(()=>({basename:a,navigator:i,static:s,future:{}}),[a,i,s]);typeof n=="string"&&(n=xh(n));let{pathname:d="/",search:h="",hash:m="",state:g=null,key:b="default"}=n,x=S.useMemo(()=>{let E=tl(d,a);return E==null?null:{location:{pathname:E,search:h,hash:m,state:g,key:b},navigationType:r}},[a,d,h,m,g,b,r]);return Io(x!=null,` is not able to match the URL "${d}${h}${m}" because it does not start with the basename, so the won't render anything.`),x==null?null:S.createElement(Ao.Provider,{value:c},S.createElement(Tv.Provider,{children:t,value:x}))}var Rg="get",Lg="application/x-www-form-urlencoded";function _v(e){return e!=null&&typeof e.tagName=="string"}function f9(e){return _v(e)&&e.tagName.toLowerCase()==="button"}function d9(e){return _v(e)&&e.tagName.toLowerCase()==="form"}function p9(e){return _v(e)&&e.tagName.toLowerCase()==="input"}function h9(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function m9(e,t){return e.button===0&&(!t||t==="_self")&&!h9(e)}var vg=null;function g9(){if(vg===null)try{new FormData(document.createElement("form"),0),vg=!1}catch{vg=!0}return vg}var v9=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function S0(e){return e!=null&&!v9.has(e)?(Io(!1,`"${e}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Lg}"`),null):e}function y9(e,t){let n,r,i,s,a;if(d9(e)){let c=e.getAttribute("action");r=c?tl(c,t):null,n=e.getAttribute("method")||Rg,i=S0(e.getAttribute("enctype"))||Lg,s=new FormData(e)}else if(f9(e)||p9(e)&&(e.type==="submit"||e.type==="image")){let c=e.form;if(c==null)throw new Error('Cannot submit a