From c7d76b4ceec778675e06befd97974d49ea3ac590 Mon Sep 17 00:00:00 2001 From: Saifeddine ALOUI Date: Mon, 17 Mar 2025 10:21:01 +0100 Subject: [PATCH 01/45] Create anthropic.py --- lightrag/llm/anthropic.py | 271 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 271 insertions(+) create mode 100644 lightrag/llm/anthropic.py diff --git a/lightrag/llm/anthropic.py b/lightrag/llm/anthropic.py new file mode 100644 index 00000000..8e38395e --- /dev/null +++ b/lightrag/llm/anthropic.py @@ -0,0 +1,271 @@ +from ..utils import verbose_debug, VERBOSE_DEBUG +import sys +import os +import logging +import numpy as np +from typing import Any, Union, AsyncIterator +import pipmaster as pm # Pipmaster for dynamic library install + +if sys.version_info < (3, 9): + from typing import AsyncIterator +else: + from collections.abc import AsyncIterator + +# Install Anthropic SDK if not present +if not pm.is_installed("anthropic"): + pm.install("anthropic") + +# Add Voyage AI import +if not pm.is_installed("voyageai"): + pm.install("voyageai") +import voyageai + +from anthropic import ( + AsyncAnthropic, + APIConnectionError, + RateLimitError, + APITimeoutError, +) +from tenacity import ( + retry, + stop_after_attempt, + wait_exponential, + retry_if_exception_type, +) +from lightrag.utils import ( + safe_unicode_decode, + logger, +) +from lightrag.api import __api_version__ + +# Custom exception for retry mechanism +class InvalidResponseError(Exception): + """Custom exception class for triggering retry mechanism""" + pass + +# Core Anthropic completion function with retry +@retry( + stop=stop_after_attempt(3), + wait=wait_exponential(multiplier=1, min=4, max=10), + retry=retry_if_exception_type( + (RateLimitError, APIConnectionError, APITimeoutError, InvalidResponseError) + ), +) +async def anthropic_complete_if_cache( + model: str, + prompt: str, + system_prompt: str | None = None, + history_messages: list[dict[str, Any]] | None = None, + base_url: str | None = None, + api_key: str | None = None, + **kwargs: Any, +) -> Union[str, AsyncIterator[str]]: + if history_messages is None: + history_messages = [] + if not api_key: + api_key = os.environ.get("ANTHROPIC_API_KEY") + + default_headers = { + "User-Agent": f"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_8) LightRAG/{__api_version__}", + "Content-Type": "application/json", + } + + # Set logger level to INFO when VERBOSE_DEBUG is off + if not VERBOSE_DEBUG and logger.level == logging.DEBUG: + logging.getLogger("anthropic").setLevel(logging.INFO) + + anthropic_async_client = ( + AsyncAnthropic(default_headers=default_headers, api_key=api_key) + if base_url is None + else AsyncAnthropic( + base_url=base_url, default_headers=default_headers, api_key=api_key + ) + ) + kwargs.pop("hashing_kv", None) + messages: list[dict[str, Any]] = [] + if system_prompt: + messages.append({"role": "system", "content": system_prompt}) + messages.extend(history_messages) + messages.append({"role": "user", "content": prompt}) + + logger.debug("===== Sending Query to Anthropic LLM =====") + logger.debug(f"Model: {model} Base URL: {base_url}") + logger.debug(f"Additional kwargs: {kwargs}") + verbose_debug(f"Query: {prompt}") + verbose_debug(f"System prompt: {system_prompt}") + + try: + response = await anthropic_async_client.messages.create( + model=model, + messages=messages, + stream=True, + **kwargs + ) + except APIConnectionError as e: + logger.error(f"Anthropic API Connection Error: {e}") + raise + except RateLimitError as e: + logger.error(f"Anthropic API Rate Limit Error: {e}") + raise + except APITimeoutError as e: + logger.error(f"Anthropic API Timeout Error: {e}") + raise + except Exception as e: + logger.error( + f"Anthropic API Call Failed,\nModel: {model},\nParams: {kwargs}, Got: {e}" + ) + raise + + async def stream_response(): + try: + async for event in response: + content = event.delta.text if hasattr(event, "delta") and event.delta.text else None + if content is None: + continue + if r"\u" in content: + content = safe_unicode_decode(content.encode("utf-8")) + yield content + except Exception as e: + logger.error(f"Error in stream response: {str(e)}") + raise + + return stream_response() + +# Generic Anthropic completion function +async def anthropic_complete( + prompt: str, + system_prompt: str | None = None, + history_messages: list[dict[str, Any]] | None = None, + **kwargs: Any, +) -> Union[str, AsyncIterator[str]]: + if history_messages is None: + history_messages = [] + model_name = kwargs["hashing_kv"].global_config["llm_model_name"] + return await anthropic_complete_if_cache( + model_name, + prompt, + system_prompt=system_prompt, + history_messages=history_messages, + **kwargs, + ) + +# Claude 3 Opus specific completion +async def claude_3_opus_complete( + prompt: str, + system_prompt: str | None = None, + history_messages: list[dict[str, Any]] | None = None, + **kwargs: Any, +) -> Union[str, AsyncIterator[str]]: + if history_messages is None: + history_messages = [] + return await anthropic_complete_if_cache( + "claude-3-opus-20240229", + prompt, + system_prompt=system_prompt, + history_messages=history_messages, + **kwargs, + ) + +# Claude 3 Sonnet specific completion +async def claude_3_sonnet_complete( + prompt: str, + system_prompt: str | None = None, + history_messages: list[dict[str, Any]] | None = None, + **kwargs: Any, +) -> Union[str, AsyncIterator[str]]: + if history_messages is None: + history_messages = [] + return await anthropic_complete_if_cache( + "claude-3-sonnet-20240229", + prompt, + system_prompt=system_prompt, + history_messages=history_messages, + **kwargs, + ) + +# Claude 3 Haiku specific completion +async def claude_3_haiku_complete( + prompt: str, + system_prompt: str | None = None, + history_messages: list[dict[str, Any]] | None = None, + **kwargs: Any, +) -> Union[str, AsyncIterator[str]]: + if history_messages is None: + history_messages = [] + return await anthropic_complete_if_cache( + "claude-3-haiku-20240307", + prompt, + system_prompt=system_prompt, + history_messages=history_messages, + **kwargs, + ) + +# Embedding function (placeholder, as Anthropic does not provide embeddings) +@retry( + stop=stop_after_attempt(3), + wait=wait_exponential(multiplier=1, min=4, max=60), + retry=retry_if_exception_type( + (RateLimitError, APIConnectionError, APITimeoutError) + ), +) +async def anthropic_embed( + texts: list[str], + model: str = "voyage-3", # Default to voyage-3 as a good general-purpose model + base_url: str = None, + api_key: str = None, +) -> np.ndarray: + """ + Generate embeddings using Voyage AI since Anthropic doesn't provide native embedding support. + + Args: + texts: List of text strings to embed + model: Voyage AI model name (e.g., "voyage-3", "voyage-3-large", "voyage-code-3") + base_url: Optional custom base URL (not used for Voyage AI) + api_key: API key for Voyage AI (defaults to VOYAGE_API_KEY environment variable) + + Returns: + numpy array of shape (len(texts), embedding_dimension) containing the embeddings + """ + if not api_key: + api_key = os.environ.get("VOYAGE_API_KEY") + if not api_key: + logger.error("VOYAGE_API_KEY environment variable not set") + raise ValueError("VOYAGE_API_KEY environment variable is required for embeddings") + + try: + # Initialize Voyage AI client + voyage_client = voyageai.Client(api_key=api_key) + + # Get embeddings + result = voyage_client.embed( + texts, + model=model, + input_type="document" # Assuming document context; could be made configurable + ) + + # Convert list of embeddings to numpy array + embeddings = np.array(result.embeddings, dtype=np.float32) + + logger.debug(f"Generated embeddings for {len(texts)} texts using {model}") + verbose_debug(f"Embedding shape: {embeddings.shape}") + + return embeddings + + except Exception as e: + logger.error(f"Voyage AI embedding failed: {str(e)}") + raise + +# Optional: a helper function to get available embedding models +def get_available_embedding_models() -> dict[str, dict]: + """ + Returns a dictionary of available Voyage AI embedding models and their properties. + """ + return { + "voyage-3-large": {"context_length": 32000, "dimension": 1024, "description": "Best general-purpose and multilingual"}, + "voyage-3": {"context_length": 32000, "dimension": 1024, "description": "General-purpose and multilingual"}, + "voyage-3-lite": {"context_length": 32000, "dimension": 512, "description": "Optimized for latency and cost"}, + "voyage-code-3": {"context_length": 32000, "dimension": 1024, "description": "Optimized for code"}, + "voyage-finance-2": {"context_length": 32000, "dimension": 1024, "description": "Optimized for finance"}, + "voyage-law-2": {"context_length": 16000, "dimension": 1024, "description": "Optimized for legal"}, + "voyage-multimodal-3": {"context_length": 32000, "dimension": 1024, "description": "Multimodal text and images"}, + } From 5470f9dfee646106d09a766cb64c44a195a265d2 Mon Sep 17 00:00:00 2001 From: Saifeddine ALOUI Date: Mon, 17 Mar 2025 18:56:50 +0100 Subject: [PATCH 02/45] added arabic locale --- lightrag_webui/src/locales/ar.json | 239 +++++++++++++++++++++++++++++ 1 file changed, 239 insertions(+) create mode 100644 lightrag_webui/src/locales/ar.json diff --git a/lightrag_webui/src/locales/ar.json b/lightrag_webui/src/locales/ar.json new file mode 100644 index 00000000..6b0234cf --- /dev/null +++ b/lightrag_webui/src/locales/ar.json @@ -0,0 +1,239 @@ +{ + "settings": { + "language": "اللغة", + "theme": "السمة", + "light": "فاتح", + "dark": "داكن", + "system": "النظام" + }, + "header": { + "documents": "المستندات", + "knowledgeGraph": "شبكة المعرفة", + "retrieval": "الاسترجاع", + "api": "واجهة برمجة التطبيقات", + "projectRepository": "مستودع المشروع", + "themeToggle": { + "switchToLight": "التحويل إلى السمة الفاتحة", + "switchToDark": "التحويل إلى السمة الداكنة" + } + }, + "documentPanel": { + "clearDocuments": { + "button": "مسح", + "tooltip": "مسح المستندات", + "title": "مسح المستندات", + "confirm": "هل تريد حقًا مسح جميع المستندات؟", + "confirmButton": "نعم", + "success": "تم مسح المستندات بنجاح", + "failed": "فشل مسح المستندات:\n{{message}}", + "error": "فشل مسح المستندات:\n{{error}}" + }, + "uploadDocuments": { + "button": "رفع", + "tooltip": "رفع المستندات", + "title": "رفع المستندات", + "description": "اسحب وأفلت مستنداتك هنا أو انقر للتصفح.", + "uploading": "جارٍ الرفع {{name}}: {{percent}}%", + "success": "نجاح الرفع:\nتم رفع {{name}} بنجاح", + "failed": "فشل الرفع:\n{{name}}\n{{message}}", + "error": "فشل الرفع:\n{{name}}\n{{error}}", + "generalError": "فشل الرفع\n{{error}}", + "fileTypes": "الأنواع المدعومة: TXT، MD، DOCX، PDF، PPTX، RTF، ODT، EPUB، HTML، HTM، TEX، JSON، XML، YAML، YML، CSV، LOG، CONF، INI، PROPERTIES، SQL، BAT، SH، C، CPP، PY، JAVA، JS، TS، SWIFT، GO، RB، PHP، CSS، SCSS، LESS" + }, + "documentManager": { + "title": "إدارة المستندات", + "scanButton": "مسح ضوئي", + "scanTooltip": "مسح المستندات ضوئيًا", + "uploadedTitle": "المستندات المرفوعة", + "uploadedDescription": "قائمة المستندات المرفوعة وحالاتها.", + "emptyTitle": "لا توجد مستندات", + "emptyDescription": "لا توجد مستندات مرفوعة بعد.", + "columns": { + "id": "المعرف", + "summary": "الملخص", + "status": "الحالة", + "length": "الطول", + "chunks": "الأجزاء", + "created": "تم الإنشاء", + "updated": "تم التحديث", + "metadata": "البيانات الوصفية" + }, + "status": { + "completed": "مكتمل", + "processing": "قيد المعالجة", + "pending": "معلق", + "failed": "فشل" + }, + "errors": { + "loadFailed": "فشل تحميل المستندات\n{{error}}", + "scanFailed": "فشل المسح الضوئي للمستندات\n{{error}}", + "scanProgressFailed": "فشل الحصول على تقدم المسح الضوئي\n{{error}}" + } + } + }, + "graphPanel": { + "sideBar": { + "settings": { + "settings": "الإعدادات", + "healthCheck": "فحص الحالة", + "showPropertyPanel": "إظهار لوحة الخصائص", + "showSearchBar": "إظهار شريط البحث", + "showNodeLabel": "إظهار تسمية العقدة", + "nodeDraggable": "العقدة قابلة للسحب", + "showEdgeLabel": "إظهار تسمية الحافة", + "hideUnselectedEdges": "إخفاء الحواف غير المحددة", + "edgeEvents": "أحداث الحافة", + "maxQueryDepth": "أقصى عمق للاستعلام", + "minDegree": "الدرجة الدنيا", + "maxLayoutIterations": "أقصى تكرارات التخطيط", + "depth": "العمق", + "degree": "الدرجة", + "apiKey": "مفتاح واجهة برمجة التطبيقات", + "enterYourAPIkey": "أدخل مفتاح واجهة برمجة التطبيقات الخاص بك", + "save": "حفظ", + "refreshLayout": "تحديث التخطيط" + }, + "zoomControl": { + "zoomIn": "تكبير", + "zoomOut": "تصغير", + "resetZoom": "إعادة تعيين التكبير" + }, + "layoutsControl": { + "startAnimation": "بدء حركة التخطيط", + "stopAnimation": "إيقاف حركة التخطيط", + "layoutGraph": "تخطيط الرسم البياني", + "layouts": { + "Circular": "دائري", + "Circlepack": "حزمة دائرية", + "Random": "عشوائي", + "Noverlaps": "بدون تداخل", + "Force Directed": "موجه بالقوة", + "Force Atlas": "أطلس القوة" + } + }, + "fullScreenControl": { + "fullScreen": "شاشة كاملة", + "windowed": "نوافذ" + } + }, + "statusIndicator": { + "connected": "متصل", + "disconnected": "غير متصل" + }, + "statusCard": { + "unavailable": "معلومات الحالة غير متوفرة", + "storageInfo": "معلومات التخزين", + "workingDirectory": "دليل العمل", + "inputDirectory": "دليل الإدخال", + "llmConfig": "تكوين نموذج اللغة الكبير", + "llmBinding": "ربط نموذج اللغة الكبير", + "llmBindingHost": "مضيف ربط نموذج اللغة الكبير", + "llmModel": "نموذج اللغة الكبير", + "maxTokens": "أقصى عدد من الرموز", + "embeddingConfig": "تكوين التضمين", + "embeddingBinding": "ربط التضمين", + "embeddingBindingHost": "مضيف ربط التضمين", + "embeddingModel": "نموذج التضمين", + "storageConfig": "تكوين التخزين", + "kvStorage": "تخزين المفتاح-القيمة", + "docStatusStorage": "تخزين حالة المستند", + "graphStorage": "تخزين الرسم البياني", + "vectorStorage": "تخزين المتجهات" + }, + "propertiesView": { + "node": { + "title": "عقدة", + "id": "المعرف", + "labels": "التسميات", + "degree": "الدرجة", + "properties": "الخصائص", + "relationships": "العلاقات", + "propertyNames": { + "description": "الوصف", + "entity_id": "الاسم", + "entity_type": "النوع", + "source_id": "معرف المصدر", + "Neighbour": "الجار" + } + }, + "edge": { + "title": "علاقة", + "id": "المعرف", + "type": "النوع", + "source": "المصدر", + "target": "الهدف", + "properties": "الخصائص" + } + }, + "search": { + "placeholder": "ابحث في العقد...", + "message": "و {{count}} آخرون" + }, + "graphLabels": { + "selectTooltip": "حدد تسمية الاستعلام", + "noLabels": "لم يتم العثور على تسميات", + "label": "التسمية", + "placeholder": "ابحث في التسميات...", + "andOthers": "و {{count}} آخرون" + } + }, + "retrievePanel": { + "chatMessage": { + "copyTooltip": "نسخ إلى الحافظة", + "copyError": "فشل نسخ النص إلى الحافظة" + }, + "retrieval": { + "startPrompt": "ابدأ الاسترجاع بكتابة استفسارك أدناه", + "clear": "مسح", + "send": "إرسال", + "placeholder": "اكتب استفسارك...", + "error": "خطأ: فشل الحصول على الرد" + }, + "querySettings": { + "parametersTitle": "المعلمات", + "parametersDescription": "تكوين معلمات الاستعلام الخاص بك", + "queryMode": "وضع الاستعلام", + "queryModeTooltip": "حدد استراتيجية الاسترجاع:\n• ساذج: بحث أساسي بدون تقنيات متقدمة\n• محلي: استرجاع معلومات يعتمد على السياق\n• عالمي: يستخدم قاعدة المعرفة العالمية\n• مختلط: يجمع بين الاسترجاع المحلي والعالمي\n• مزيج: يدمج شبكة المعرفة مع الاسترجاع المتجهي", + "queryModeOptions": { + "naive": "ساذج", + "local": "محلي", + "global": "عالمي", + "hybrid": "مختلط", + "mix": "مزيج" + }, + "responseFormat": "تنسيق الرد", + "responseFormatTooltip": "يحدد تنسيق الرد. أمثلة:\n• فقرات متعددة\n• فقرة واحدة\n• نقاط نقطية", + "responseFormatOptions": { + "multipleParagraphs": "فقرات متعددة", + "singleParagraph": "فقرة واحدة", + "bulletPoints": "نقاط نقطية" + }, + "topK": "أعلى K نتائج", + "topKTooltip": "عدد العناصر العلوية للاسترجاع. يمثل الكيانات في وضع 'محلي' والعلاقات في وضع 'عالمي'", + "topKPlaceholder": "عدد النتائج", + "maxTokensTextUnit": "أقصى عدد من الرموز لوحدة النص", + "maxTokensTextUnitTooltip": "الحد الأقصى لعدد الرموز المسموح به لكل جزء نصي مسترجع", + "maxTokensGlobalContext": "أقصى عدد من الرموز للسياق العالمي", + "maxTokensGlobalContextTooltip": "الحد الأقصى لعدد الرموز المخصص لأوصاف العلاقات في الاسترجاع العالمي", + "maxTokensLocalContext": "أقصى عدد من الرموز للسياق المحلي", + "maxTokensLocalContextTooltip": "الحد الأقصى لعدد الرموز المخصص لأوصاف الكيانات في الاسترجاع المحلي", + "historyTurns": "دورات التاريخ", + "historyTurnsTooltip": "عدد الدورات الكاملة للمحادثة (أزواج المستخدم-المساعد) التي يجب مراعاتها في سياق الرد", + "historyTurnsPlaceholder": "عدد دورات التاريخ", + "hlKeywords": "الكلمات المفتاحية عالية المستوى", + "hlKeywordsTooltip": "قائمة الكلمات المفتاحية عالية المستوى لإعطائها الأولوية في الاسترجاع. افصل بينها بفواصل", + "hlkeywordsPlaceHolder": "أدخل الكلمات المفتاحية", + "llKeywords": "الكلمات المفتاحية منخفضة المستوى", + "llKeywordsTooltip": "قائمة الكلمات المفتاحية منخفضة المستوى لتحسين تركيز الاسترجاع. افصل بينها بفواصل", + "onlyNeedContext": "تحتاج فقط إلى السياق", + "onlyNeedContextTooltip": "إذا كان صحيحًا، يتم إرجاع السياق المسترجع فقط دون إنشاء رد", + "onlyNeedPrompt": "تحتاج فقط إلى المطالبة", + "onlyNeedPromptTooltip": "إذا كان صحيحًا، يتم إرجاع المطالبة المولدة فقط دون إنتاج رد", + "streamResponse": "تدفق الرد", + "streamResponseTooltip": "إذا كان صحيحًا، يتيح إخراج التدفق للردود في الوقت الفعلي" + } + }, + "apiSite": { + "loading": "جارٍ تحميل وثائق واجهة برمجة التطبيقات..." + } +} From 9021bfb8a6917da742fb62e13152d3b16eeee0cb Mon Sep 17 00:00:00 2001 From: Saifeddine ALOUI Date: Mon, 17 Mar 2025 18:57:48 +0100 Subject: [PATCH 03/45] Added french locale --- lightrag_webui/src/locales/fr.json | 239 +++++++++++++++++++++++++++++ 1 file changed, 239 insertions(+) create mode 100644 lightrag_webui/src/locales/fr.json diff --git a/lightrag_webui/src/locales/fr.json b/lightrag_webui/src/locales/fr.json new file mode 100644 index 00000000..5de47e50 --- /dev/null +++ b/lightrag_webui/src/locales/fr.json @@ -0,0 +1,239 @@ +{ + "settings": { + "language": "Langue", + "theme": "Thème", + "light": "Clair", + "dark": "Sombre", + "system": "Système" + }, + "header": { + "documents": "Documents", + "knowledgeGraph": "Graphe de connaissances", + "retrieval": "Récupération", + "api": "API", + "projectRepository": "Référentiel du projet", + "themeToggle": { + "switchToLight": "Passer au thème clair", + "switchToDark": "Passer au thème sombre" + } + }, + "documentPanel": { + "clearDocuments": { + "button": "Effacer", + "tooltip": "Effacer les documents", + "title": "Effacer les documents", + "confirm": "Voulez-vous vraiment effacer tous les documents ?", + "confirmButton": "OUI", + "success": "Documents effacés avec succès", + "failed": "Échec de l'effacement des documents :\n{{message}}", + "error": "Échec de l'effacement des documents :\n{{error}}" + }, + "uploadDocuments": { + "button": "Télécharger", + "tooltip": "Télécharger des documents", + "title": "Télécharger des documents", + "description": "Glissez-déposez vos documents ici ou cliquez pour parcourir.", + "uploading": "Téléchargement de {{name}} : {{percent}}%", + "success": "Succès du téléchargement :\n{{name}} téléchargé avec succès", + "failed": "Échec du téléchargement :\n{{name}}\n{{message}}", + "error": "Échec du téléchargement :\n{{name}}\n{{error}}", + "generalError": "Échec du téléchargement\n{{error}}", + "fileTypes": "Types pris en charge : TXT, MD, DOCX, PDF, PPTX, RTF, ODT, EPUB, HTML, HTM, TEX, JSON, XML, YAML, YML, CSV, LOG, CONF, INI, PROPERTIES, SQL, BAT, SH, C, CPP, PY, JAVA, JS, TS, SWIFT, GO, RB, PHP, CSS, SCSS, LESS" + }, + "documentManager": { + "title": "Gestion des documents", + "scanButton": "Scanner", + "scanTooltip": "Scanner les documents", + "uploadedTitle": "Documents téléchargés", + "uploadedDescription": "Liste des documents téléchargés et leurs statuts.", + "emptyTitle": "Aucun document", + "emptyDescription": "Il n'y a pas encore de documents téléchargés.", + "columns": { + "id": "ID", + "summary": "Résumé", + "status": "Statut", + "length": "Longueur", + "chunks": "Fragments", + "created": "Créé", + "updated": "Mis à jour", + "metadata": "Métadonnées" + }, + "status": { + "completed": "Terminé", + "processing": "En traitement", + "pending": "En attente", + "failed": "Échoué" + }, + "errors": { + "loadFailed": "Échec du chargement des documents\n{{error}}", + "scanFailed": "Échec de la numérisation des documents\n{{error}}", + "scanProgressFailed": "Échec de l'obtention de la progression de la numérisation\n{{error}}" + } + } + }, + "graphPanel": { + "sideBar": { + "settings": { + "settings": "Paramètres", + "healthCheck": "Vérification de l'état", + "showPropertyPanel": "Afficher le panneau des propriétés", + "showSearchBar": "Afficher la barre de recherche", + "showNodeLabel": "Afficher l'étiquette du nœud", + "nodeDraggable": "Nœud déplaçable", + "showEdgeLabel": "Afficher l'étiquette de l'arête", + "hideUnselectedEdges": "Masquer les arêtes non sélectionnées", + "edgeEvents": "Événements des arêtes", + "maxQueryDepth": "Profondeur maximale de la requête", + "minDegree": "Degré minimum", + "maxLayoutIterations": "Itérations maximales de mise en page", + "depth": "Profondeur", + "degree": "Degré", + "apiKey": "Clé API", + "enterYourAPIkey": "Entrez votre clé API", + "save": "Sauvegarder", + "refreshLayout": "Actualiser la mise en page" + }, + "zoomControl": { + "zoomIn": "Zoom avant", + "zoomOut": "Zoom arrière", + "resetZoom": "Réinitialiser le zoom" + }, + "layoutsControl": { + "startAnimation": "Démarrer l'animation de mise en page", + "stopAnimation": "Arrêter l'animation de mise en page", + "layoutGraph": "Mettre en page le graphe", + "layouts": { + "Circular": "Circulaire", + "Circlepack": "Paquet circulaire", + "Random": "Aléatoire", + "Noverlaps": "Sans chevauchement", + "Force Directed": "Dirigé par la force", + "Force Atlas": "Atlas de force" + } + }, + "fullScreenControl": { + "fullScreen": "Plein écran", + "windowed": "Fenêtré" + } + }, + "statusIndicator": { + "connected": "Connecté", + "disconnected": "Déconnecté" + }, + "statusCard": { + "unavailable": "Informations sur l'état indisponibles", + "storageInfo": "Informations de stockage", + "workingDirectory": "Répertoire de travail", + "inputDirectory": "Répertoire d'entrée", + "llmConfig": "Configuration du modèle de langage", + "llmBinding": "Liaison du modèle de langage", + "llmBindingHost": "Hôte de liaison du modèle de langage", + "llmModel": "Modèle de langage", + "maxTokens": "Nombre maximum de jetons", + "embeddingConfig": "Configuration d'incorporation", + "embeddingBinding": "Liaison d'incorporation", + "embeddingBindingHost": "Hôte de liaison d'incorporation", + "embeddingModel": "Modèle d'incorporation", + "storageConfig": "Configuration de stockage", + "kvStorage": "Stockage clé-valeur", + "docStatusStorage": "Stockage de l'état des documents", + "graphStorage": "Stockage du graphe", + "vectorStorage": "Stockage vectoriel" + }, + "propertiesView": { + "node": { + "title": "Nœud", + "id": "ID", + "labels": "Étiquettes", + "degree": "Degré", + "properties": "Propriétés", + "relationships": "Relations", + "propertyNames": { + "description": "Description", + "entity_id": "Nom", + "entity_type": "Type", + "source_id": "ID source", + "Neighbour": "Voisin" + } + }, + "edge": { + "title": "Relation", + "id": "ID", + "type": "Type", + "source": "Source", + "target": "Cible", + "properties": "Propriétés" + } + }, + "search": { + "placeholder": "Rechercher des nœuds...", + "message": "Et {{count}} autres" + }, + "graphLabels": { + "selectTooltip": "Sélectionner l'étiquette de la requête", + "noLabels": "Aucune étiquette trouvée", + "label": "Étiquette", + "placeholder": "Rechercher des étiquettes...", + "andOthers": "Et {{count}} autres" + } + }, + "retrievePanel": { + "chatMessage": { + "copyTooltip": "Copier dans le presse-papiers", + "copyError": "Échec de la copie du texte dans le presse-papiers" + }, + "retrieval": { + "startPrompt": "Démarrez une récupération en tapant votre requête ci-dessous", + "clear": "Effacer", + "send": "Envoyer", + "placeholder": "Tapez votre requête...", + "error": "Erreur : Échec de l'obtention de la réponse" + }, + "querySettings": { + "parametersTitle": "Paramètres", + "parametersDescription": "Configurez vos paramètres de requête", + "queryMode": "Mode de requête", + "queryModeTooltip": "Sélectionnez la stratégie de récupération :\n• Naïf : Recherche de base sans techniques avancées\n• Local : Récupération d'informations dépendante du contexte\n• Global : Utilise une base de connaissances globale\n• Hybride : Combine récupération locale et globale\n• Mixte : Intègre le graphe de connaissances avec la récupération vectorielle", + "queryModeOptions": { + "naive": "Naïf", + "local": "Local", + "global": "Global", + "hybrid": "Hybride", + "mix": "Mixte" + }, + "responseFormat": "Format de réponse", + "responseFormatTooltip": "Définit le format de la réponse. Exemples :\n• Plusieurs paragraphes\n• Paragraphe unique\n• Points à puces", + "responseFormatOptions": { + "multipleParagraphs": "Plusieurs paragraphes", + "singleParagraph": "Paragraphe unique", + "bulletPoints": "Points à puces" + }, + "topK": "Top K résultats", + "topKTooltip": "Nombre d'éléments supérieurs à récupérer. Représente les entités en mode 'local' et les relations en mode 'global'", + "topKPlaceholder": "Nombre de résultats", + "maxTokensTextUnit": "Nombre maximum de jetons pour l'unité de texte", + "maxTokensTextUnitTooltip": "Nombre maximum de jetons autorisés pour chaque fragment de texte récupéré", + "maxTokensGlobalContext": "Nombre maximum de jetons pour le contexte global", + "maxTokensGlobalContextTooltip": "Nombre maximum de jetons alloués pour les descriptions des relations dans la récupération globale", + "maxTokensLocalContext": "Nombre maximum de jetons pour le contexte local", + "maxTokensLocalContextTooltip": "Nombre maximum de jetons alloués pour les descriptions des entités dans la récupération locale", + "historyTurns": "Tours d'historique", + "historyTurnsTooltip": "Nombre de tours complets de conversation (paires utilisateur-assistant) à prendre en compte dans le contexte de la réponse", + "historyTurnsPlaceholder": "Nombre de tours d'historique", + "hlKeywords": "Mots-clés de haut niveau", + "hlKeywordsTooltip": "Liste de mots-clés de haut niveau à prioriser dans la récupération. Séparez par des virgules", + "hlkeywordsPlaceHolder": "Entrez les mots-clés", + "llKeywords": "Mots-clés de bas niveau", + "llKeywordsTooltip": "Liste de mots-clés de bas niveau pour affiner la focalisation de la récupération. Séparez par des virgules", + "onlyNeedContext": "Besoin uniquement du contexte", + "onlyNeedContextTooltip": "Si vrai, ne renvoie que le contexte récupéré sans générer de réponse", + "onlyNeedPrompt": "Besoin uniquement de l'invite", + "onlyNeedPromptTooltip": "Si vrai, ne renvoie que l'invite générée sans produire de réponse", + "streamResponse": "Réponse en flux", + "streamResponseTooltip": "Si vrai, active la sortie en flux pour des réponses en temps réel" + } + }, + "apiSite": { + "loading": "Chargement de la documentation de l'API..." + } +} From 168232803b5b496ed70235832ba44fa0f7a1d29f Mon Sep 17 00:00:00 2001 From: yangdx Date: Fri, 21 Mar 2025 13:08:57 +0800 Subject: [PATCH 04/45] Optimized the document processing pipeline - Enqueue all files to pipeline before starting process when scanning input folder - Changed parallel enqueue to sequential to prevent CPU overload by heavy file extraction jobs --- lightrag/api/routers/document_routes.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/lightrag/api/routers/document_routes.py b/lightrag/api/routers/document_routes.py index 7b6f11c1..a26216d2 100644 --- a/lightrag/api/routers/document_routes.py +++ b/lightrag/api/routers/document_routes.py @@ -405,7 +405,7 @@ async def pipeline_index_file(rag: LightRAG, file_path: Path): async def pipeline_index_files(rag: LightRAG, file_paths: List[Path]): - """Index multiple files concurrently + """Index multiple files sequentially to avoid high CPU load Args: rag: LightRAG instance @@ -416,12 +416,12 @@ async def pipeline_index_files(rag: LightRAG, file_paths: List[Path]): try: enqueued = False - if len(file_paths) == 1: - enqueued = await pipeline_enqueue_file(rag, file_paths[0]) - else: - tasks = [pipeline_enqueue_file(rag, path) for path in file_paths] - enqueued = any(await asyncio.gather(*tasks)) + # Process files sequentially + for file_path in file_paths: + if await pipeline_enqueue_file(rag, file_path): + enqueued = True + # Process the queue only if at least one file was successfully enqueued if enqueued: await rag.apipeline_process_enqueue_documents() except Exception as e: @@ -472,11 +472,8 @@ async def run_scanning_process(rag: LightRAG, doc_manager: DocumentManager): total_files = len(new_files) logger.info(f"Found {total_files} new files to index.") - for idx, file_path in enumerate(new_files): - try: - await pipeline_index_file(rag, file_path) - except Exception as e: - logger.error(f"Error indexing file {file_path}: {str(e)}") + if new_files: + await pipeline_index_files(rag, new_files) except Exception as e: logger.error(f"Error during scanning process: {str(e)}") From 67eee2d2d5c2c4a32cdc7f344f1d9fb9bf6fe851 Mon Sep 17 00:00:00 2001 From: yangdx Date: Fri, 21 Mar 2025 13:27:12 +0800 Subject: [PATCH 05/45] Prioritize OS environment variables over .env file to improve Docker compatibility for the server --- lightrag/api/auth.py | 2 ++ lightrag/api/lightrag_server.py | 2 +- lightrag/api/run_with_gunicorn.py | 2 +- lightrag/api/utils_api.py | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lightrag/api/auth.py b/lightrag/api/auth.py index 78a1da1a..1e92d1b9 100644 --- a/lightrag/api/auth.py +++ b/lightrag/api/auth.py @@ -3,7 +3,9 @@ from datetime import datetime, timedelta import jwt from fastapi import HTTPException, status from pydantic import BaseModel +from dotenv import load_dotenv +load_dotenv() class TokenPayload(BaseModel): sub: str # Username diff --git a/lightrag/api/lightrag_server.py b/lightrag/api/lightrag_server.py index 4d4896fc..6c8d11f1 100644 --- a/lightrag/api/lightrag_server.py +++ b/lightrag/api/lightrag_server.py @@ -49,7 +49,7 @@ from .auth import auth_handler # Load environment variables # Updated to use the .env that is inside the current folder # This update allows the user to put a different.env file for each lightrag folder -load_dotenv(".env", override=True) +load_dotenv() # Initialize config parser config = configparser.ConfigParser() diff --git a/lightrag/api/run_with_gunicorn.py b/lightrag/api/run_with_gunicorn.py index cf9b3b91..00821acb 100644 --- a/lightrag/api/run_with_gunicorn.py +++ b/lightrag/api/run_with_gunicorn.py @@ -13,7 +13,7 @@ from dotenv import load_dotenv # Updated to use the .env that is inside the current folder # This update allows the user to put a different.env file for each lightrag folder -load_dotenv(".env") +load_dotenv() def check_and_install_dependencies(): diff --git a/lightrag/api/utils_api.py b/lightrag/api/utils_api.py index 9a8aaf57..53ea3ae8 100644 --- a/lightrag/api/utils_api.py +++ b/lightrag/api/utils_api.py @@ -16,7 +16,7 @@ from starlette.status import HTTP_403_FORBIDDEN from .auth import auth_handler # Load environment variables -load_dotenv(override=True) +load_dotenv() global_args = {"main_args": None} From 0761af19c68210ef2f7fcac909adc255fea26d84 Mon Sep 17 00:00:00 2001 From: yangdx Date: Fri, 21 Mar 2025 13:41:37 +0800 Subject: [PATCH 06/45] Files are now processed in batches in auto scan --- lightrag/api/routers/document_routes.py | 23 +++++++++++++++++++++-- lightrag/api/utils_api.py | 3 +++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/lightrag/api/routers/document_routes.py b/lightrag/api/routers/document_routes.py index a26216d2..248505ba 100644 --- a/lightrag/api/routers/document_routes.py +++ b/lightrag/api/routers/document_routes.py @@ -472,11 +472,30 @@ async def run_scanning_process(rag: LightRAG, doc_manager: DocumentManager): total_files = len(new_files) logger.info(f"Found {total_files} new files to index.") - if new_files: - await pipeline_index_files(rag, new_files) + if not new_files: + return + + # Get MAX_PARALLEL_INSERT from global_args + max_parallel = global_args["max_parallel_insert"] + # Calculate batch size as 2 * MAX_PARALLEL_INSERT + batch_size = 2 * max_parallel + + # Process files in batches + for i in range(0, total_files, batch_size): + batch_files = new_files[i:i+batch_size] + batch_num = i // batch_size + 1 + total_batches = (total_files + batch_size - 1) // batch_size + + logger.info(f"Processing batch {batch_num}/{total_batches} with {len(batch_files)} files") + await pipeline_index_files(rag, batch_files) + + # Log progress + processed = min(i + batch_size, total_files) + logger.info(f"Processed {processed}/{total_files} files ({processed/total_files*100:.1f}%)") except Exception as e: logger.error(f"Error during scanning process: {str(e)}") + logger.error(traceback.format_exc()) def create_document_routes( diff --git a/lightrag/api/utils_api.py b/lightrag/api/utils_api.py index 53ea3ae8..53da3e34 100644 --- a/lightrag/api/utils_api.py +++ b/lightrag/api/utils_api.py @@ -365,6 +365,9 @@ def parse_args(is_uvicorn_mode: bool = False) -> argparse.Namespace: "LIGHTRAG_VECTOR_STORAGE", DefaultRAGStorageConfig.VECTOR_STORAGE ) + # Get MAX_PARALLEL_INSERT from environment + global_args["max_parallel_insert"] = get_env_value("MAX_PARALLEL_INSERT", 2, int) + # Handle openai-ollama special case if args.llm_binding == "openai-ollama": args.llm_binding = "openai" From 1f6d230da1322fb9b55798a12b273cc00601364c Mon Sep 17 00:00:00 2001 From: yangdx Date: Fri, 21 Mar 2025 15:26:23 +0800 Subject: [PATCH 07/45] Increased default timeout values for Gunicorn configuration - Doubled default timeout to 300 seconds --- lightrag/api/gunicorn_config.py | 2 +- lightrag/api/run_with_gunicorn.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lightrag/api/gunicorn_config.py b/lightrag/api/gunicorn_config.py index 23e46807..cb6c3d83 100644 --- a/lightrag/api/gunicorn_config.py +++ b/lightrag/api/gunicorn_config.py @@ -29,7 +29,7 @@ preload_app = True worker_class = "uvicorn.workers.UvicornWorker" # Other Gunicorn configurations -timeout = int(os.getenv("TIMEOUT", 150)) # Default 150s to match run_with_gunicorn.py +timeout = int(os.getenv("TIMEOUT", 150 * 2)) # Default 150s *2 to match run_with_gunicorn.py keepalive = int(os.getenv("KEEPALIVE", 5)) # Default 5s # Logging configuration diff --git a/lightrag/api/run_with_gunicorn.py b/lightrag/api/run_with_gunicorn.py index 00821acb..126d772d 100644 --- a/lightrag/api/run_with_gunicorn.py +++ b/lightrag/api/run_with_gunicorn.py @@ -140,7 +140,7 @@ def main(): # Timeout configuration prioritizes command line arguments gunicorn_config.timeout = ( - args.timeout if args.timeout else int(os.getenv("TIMEOUT", 150)) + args.timeout if args.timeout * 2 else int(os.getenv("TIMEOUT", 150 * 2)) ) # Keepalive configuration From 20d65ae55491eff365f73b92ab9d79807101823f Mon Sep 17 00:00:00 2001 From: yangdx Date: Fri, 21 Mar 2025 16:08:23 +0800 Subject: [PATCH 08/45] feat(shared_storage): prevent event loop blocking in multiprocess mode Add auxiliary async locks in multiprocess mode to prevent event loop blocking --- lightrag/kg/shared_storage.py | 87 ++++++++++++++++++++++++++++++++++- 1 file changed, 85 insertions(+), 2 deletions(-) diff --git a/lightrag/kg/shared_storage.py b/lightrag/kg/shared_storage.py index 736887a6..d5006d62 100644 --- a/lightrag/kg/shared_storage.py +++ b/lightrag/kg/shared_storage.py @@ -41,6 +41,9 @@ _pipeline_status_lock: Optional[LockType] = None _graph_db_lock: Optional[LockType] = None _data_init_lock: Optional[LockType] = None +# async locks for coroutine synchronization in multiprocess mode +_async_locks: Optional[Dict[str, asyncio.Lock]] = None + class UnifiedLock(Generic[T]): """Provide a unified lock interface type for asyncio.Lock and multiprocessing.Lock""" @@ -51,12 +54,14 @@ class UnifiedLock(Generic[T]): is_async: bool, name: str = "unnamed", enable_logging: bool = True, + async_lock: Optional[asyncio.Lock] = None, ): self._lock = lock self._is_async = is_async self._pid = os.getpid() # for debug only self._name = name # for debug only self._enable_logging = enable_logging # for debug only + self._async_lock = async_lock # auxiliary lock for coroutine synchronization async def __aenter__(self) -> "UnifiedLock[T]": try: @@ -64,16 +69,35 @@ class UnifiedLock(Generic[T]): f"== Lock == Process {self._pid}: Acquiring lock '{self._name}' (async={self._is_async})", enable_output=self._enable_logging, ) + + # If in multiprocess mode and async lock exists, acquire it first + if not self._is_async and self._async_lock is not None: + direct_log( + f"== Lock == Process {self._pid}: Acquiring async lock for '{self._name}'", + enable_output=self._enable_logging, + ) + await self._async_lock.acquire() + direct_log( + f"== Lock == Process {self._pid}: Async lock for '{self._name}' acquired", + enable_output=self._enable_logging, + ) + + # Then acquire the main lock if self._is_async: await self._lock.acquire() else: self._lock.acquire() + direct_log( f"== Lock == Process {self._pid}: Lock '{self._name}' acquired (async={self._is_async})", enable_output=self._enable_logging, ) return self except Exception as e: + # If main lock acquisition fails, release the async lock if it was acquired + if not self._is_async and self._async_lock is not None and self._async_lock.locked(): + self._async_lock.release() + direct_log( f"== Lock == Process {self._pid}: Failed to acquire lock '{self._name}': {e}", level="ERROR", @@ -82,15 +106,29 @@ class UnifiedLock(Generic[T]): raise async def __aexit__(self, exc_type, exc_val, exc_tb): + main_lock_released = False try: direct_log( f"== Lock == Process {self._pid}: Releasing lock '{self._name}' (async={self._is_async})", enable_output=self._enable_logging, ) + + # Release main lock first if self._is_async: self._lock.release() else: self._lock.release() + + main_lock_released = True + + # Then release async lock if in multiprocess mode + if not self._is_async and self._async_lock is not None: + direct_log( + f"== Lock == Process {self._pid}: Releasing async lock for '{self._name}'", + enable_output=self._enable_logging, + ) + self._async_lock.release() + direct_log( f"== Lock == Process {self._pid}: Lock '{self._name}' released (async={self._is_async})", enable_output=self._enable_logging, @@ -101,6 +139,27 @@ class UnifiedLock(Generic[T]): level="ERROR", enable_output=self._enable_logging, ) + + # If main lock release failed but async lock hasn't been released, try to release it + if not main_lock_released and not self._is_async and self._async_lock is not None: + try: + direct_log( + f"== Lock == Process {self._pid}: Attempting to release async lock after main lock failure", + level="WARNING", + enable_output=self._enable_logging, + ) + self._async_lock.release() + direct_log( + f"== Lock == Process {self._pid}: Successfully released async lock after main lock failure", + enable_output=self._enable_logging, + ) + except Exception as inner_e: + direct_log( + f"== Lock == Process {self._pid}: Failed to release async lock after main lock failure: {inner_e}", + level="ERROR", + enable_output=self._enable_logging, + ) + raise def __enter__(self) -> "UnifiedLock[T]": @@ -151,51 +210,61 @@ class UnifiedLock(Generic[T]): def get_internal_lock(enable_logging: bool = False) -> UnifiedLock: """return unified storage lock for data consistency""" + async_lock = _async_locks.get("internal_lock") if is_multiprocess else None return UnifiedLock( lock=_internal_lock, is_async=not is_multiprocess, name="internal_lock", enable_logging=enable_logging, + async_lock=async_lock, ) def get_storage_lock(enable_logging: bool = False) -> UnifiedLock: """return unified storage lock for data consistency""" + async_lock = _async_locks.get("storage_lock") if is_multiprocess else None return UnifiedLock( lock=_storage_lock, is_async=not is_multiprocess, name="storage_lock", enable_logging=enable_logging, + async_lock=async_lock, ) def get_pipeline_status_lock(enable_logging: bool = False) -> UnifiedLock: """return unified storage lock for data consistency""" + async_lock = _async_locks.get("pipeline_status_lock") if is_multiprocess else None return UnifiedLock( lock=_pipeline_status_lock, is_async=not is_multiprocess, name="pipeline_status_lock", enable_logging=enable_logging, + async_lock=async_lock, ) def get_graph_db_lock(enable_logging: bool = False) -> UnifiedLock: """return unified graph database lock for ensuring atomic operations""" + async_lock = _async_locks.get("graph_db_lock") if is_multiprocess else None return UnifiedLock( lock=_graph_db_lock, is_async=not is_multiprocess, name="graph_db_lock", enable_logging=enable_logging, + async_lock=async_lock, ) def get_data_init_lock(enable_logging: bool = False) -> UnifiedLock: """return unified data initialization lock for ensuring atomic data initialization""" + async_lock = _async_locks.get("data_init_lock") if is_multiprocess else None return UnifiedLock( lock=_data_init_lock, is_async=not is_multiprocess, name="data_init_lock", enable_logging=enable_logging, + async_lock=async_lock, ) @@ -229,7 +298,8 @@ def initialize_share_data(workers: int = 1): _shared_dicts, \ _init_flags, \ _initialized, \ - _update_flags + _update_flags, \ + _async_locks # Check if already initialized if _initialized: @@ -251,6 +321,16 @@ def initialize_share_data(workers: int = 1): _shared_dicts = _manager.dict() _init_flags = _manager.dict() _update_flags = _manager.dict() + + # Initialize async locks for multiprocess mode + _async_locks = { + "internal_lock": asyncio.Lock(), + "storage_lock": asyncio.Lock(), + "pipeline_status_lock": asyncio.Lock(), + "graph_db_lock": asyncio.Lock(), + "data_init_lock": asyncio.Lock(), + } + direct_log( f"Process {os.getpid()} Shared-Data created for Multiple Process (workers={workers})" ) @@ -264,6 +344,7 @@ def initialize_share_data(workers: int = 1): _shared_dicts = {} _init_flags = {} _update_flags = {} + _async_locks = None # No need for async locks in single process mode direct_log(f"Process {os.getpid()} Shared-Data created for Single Process") # Mark as initialized @@ -458,7 +539,8 @@ def finalize_share_data(): _shared_dicts, \ _init_flags, \ _initialized, \ - _update_flags + _update_flags, \ + _async_locks # Check if already initialized if not _initialized: @@ -523,5 +605,6 @@ def finalize_share_data(): _graph_db_lock = None _data_init_lock = None _update_flags = None + _async_locks = None direct_log(f"Process {os.getpid()} storage data finalization complete") From 53396e4d822c766119b6c3e826274f66a971eed6 Mon Sep 17 00:00:00 2001 From: yangdx Date: Fri, 21 Mar 2025 16:56:47 +0800 Subject: [PATCH 09/45] Fixlinting --- lightrag/api/auth.py | 1 + lightrag/api/gunicorn_config.py | 4 ++- lightrag/api/routers/document_routes.py | 16 ++++++----- lightrag/kg/shared_storage.py | 36 +++++++++++++++---------- 4 files changed, 36 insertions(+), 21 deletions(-) diff --git a/lightrag/api/auth.py b/lightrag/api/auth.py index 1e92d1b9..5d9b00ac 100644 --- a/lightrag/api/auth.py +++ b/lightrag/api/auth.py @@ -7,6 +7,7 @@ from dotenv import load_dotenv load_dotenv() + class TokenPayload(BaseModel): sub: str # Username exp: datetime # Expiration time diff --git a/lightrag/api/gunicorn_config.py b/lightrag/api/gunicorn_config.py index cb6c3d83..0aef108e 100644 --- a/lightrag/api/gunicorn_config.py +++ b/lightrag/api/gunicorn_config.py @@ -29,7 +29,9 @@ preload_app = True worker_class = "uvicorn.workers.UvicornWorker" # Other Gunicorn configurations -timeout = int(os.getenv("TIMEOUT", 150 * 2)) # Default 150s *2 to match run_with_gunicorn.py +timeout = int( + os.getenv("TIMEOUT", 150 * 2) +) # Default 150s *2 to match run_with_gunicorn.py keepalive = int(os.getenv("KEEPALIVE", 5)) # Default 5s # Logging configuration diff --git a/lightrag/api/routers/document_routes.py b/lightrag/api/routers/document_routes.py index 248505ba..e0c8f545 100644 --- a/lightrag/api/routers/document_routes.py +++ b/lightrag/api/routers/document_routes.py @@ -479,19 +479,23 @@ async def run_scanning_process(rag: LightRAG, doc_manager: DocumentManager): max_parallel = global_args["max_parallel_insert"] # Calculate batch size as 2 * MAX_PARALLEL_INSERT batch_size = 2 * max_parallel - + # Process files in batches for i in range(0, total_files, batch_size): - batch_files = new_files[i:i+batch_size] + batch_files = new_files[i : i + batch_size] batch_num = i // batch_size + 1 total_batches = (total_files + batch_size - 1) // batch_size - - logger.info(f"Processing batch {batch_num}/{total_batches} with {len(batch_files)} files") + + logger.info( + f"Processing batch {batch_num}/{total_batches} with {len(batch_files)} files" + ) await pipeline_index_files(rag, batch_files) - + # Log progress processed = min(i + batch_size, total_files) - logger.info(f"Processed {processed}/{total_files} files ({processed/total_files*100:.1f}%)") + logger.info( + f"Processed {processed}/{total_files} files ({processed/total_files*100:.1f}%)" + ) except Exception as e: logger.error(f"Error during scanning process: {str(e)}") diff --git a/lightrag/kg/shared_storage.py b/lightrag/kg/shared_storage.py index d5006d62..e26645c8 100644 --- a/lightrag/kg/shared_storage.py +++ b/lightrag/kg/shared_storage.py @@ -69,7 +69,7 @@ class UnifiedLock(Generic[T]): f"== Lock == Process {self._pid}: Acquiring lock '{self._name}' (async={self._is_async})", enable_output=self._enable_logging, ) - + # If in multiprocess mode and async lock exists, acquire it first if not self._is_async and self._async_lock is not None: direct_log( @@ -81,13 +81,13 @@ class UnifiedLock(Generic[T]): f"== Lock == Process {self._pid}: Async lock for '{self._name}' acquired", enable_output=self._enable_logging, ) - + # Then acquire the main lock if self._is_async: await self._lock.acquire() else: self._lock.acquire() - + direct_log( f"== Lock == Process {self._pid}: Lock '{self._name}' acquired (async={self._is_async})", enable_output=self._enable_logging, @@ -95,9 +95,13 @@ class UnifiedLock(Generic[T]): return self except Exception as e: # If main lock acquisition fails, release the async lock if it was acquired - if not self._is_async and self._async_lock is not None and self._async_lock.locked(): + if ( + not self._is_async + and self._async_lock is not None + and self._async_lock.locked() + ): self._async_lock.release() - + direct_log( f"== Lock == Process {self._pid}: Failed to acquire lock '{self._name}': {e}", level="ERROR", @@ -112,15 +116,15 @@ class UnifiedLock(Generic[T]): f"== Lock == Process {self._pid}: Releasing lock '{self._name}' (async={self._is_async})", enable_output=self._enable_logging, ) - + # Release main lock first if self._is_async: self._lock.release() else: self._lock.release() - + main_lock_released = True - + # Then release async lock if in multiprocess mode if not self._is_async and self._async_lock is not None: direct_log( @@ -128,7 +132,7 @@ class UnifiedLock(Generic[T]): enable_output=self._enable_logging, ) self._async_lock.release() - + direct_log( f"== Lock == Process {self._pid}: Lock '{self._name}' released (async={self._is_async})", enable_output=self._enable_logging, @@ -139,9 +143,13 @@ class UnifiedLock(Generic[T]): level="ERROR", enable_output=self._enable_logging, ) - + # If main lock release failed but async lock hasn't been released, try to release it - if not main_lock_released and not self._is_async and self._async_lock is not None: + if ( + not main_lock_released + and not self._is_async + and self._async_lock is not None + ): try: direct_log( f"== Lock == Process {self._pid}: Attempting to release async lock after main lock failure", @@ -159,7 +167,7 @@ class UnifiedLock(Generic[T]): level="ERROR", enable_output=self._enable_logging, ) - + raise def __enter__(self) -> "UnifiedLock[T]": @@ -321,7 +329,7 @@ def initialize_share_data(workers: int = 1): _shared_dicts = _manager.dict() _init_flags = _manager.dict() _update_flags = _manager.dict() - + # Initialize async locks for multiprocess mode _async_locks = { "internal_lock": asyncio.Lock(), @@ -330,7 +338,7 @@ def initialize_share_data(workers: int = 1): "graph_db_lock": asyncio.Lock(), "data_init_lock": asyncio.Lock(), } - + direct_log( f"Process {os.getpid()} Shared-Data created for Multiple Process (workers={workers})" ) From ce05b436b988bc3be7b1a096cae8596fbc2cb30a Mon Sep 17 00:00:00 2001 From: yangdx Date: Fri, 21 Mar 2025 17:11:55 +0800 Subject: [PATCH 10/45] Refactor splash screen display configuration layout. --- lightrag/api/utils_api.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lightrag/api/utils_api.py b/lightrag/api/utils_api.py index 53da3e34..25136bd2 100644 --- a/lightrag/api/utils_api.py +++ b/lightrag/api/utils_api.py @@ -444,8 +444,8 @@ def display_splash_screen(args: argparse.Namespace) -> None: ASCIIColors.yellow(f"{args.log_level}") ASCIIColors.white(" ├─ Verbose Debug: ", end="") ASCIIColors.yellow(f"{args.verbose}") - ASCIIColors.white(" ├─ Timeout: ", end="") - ASCIIColors.yellow(f"{args.timeout if args.timeout else 'None (infinite)'}") + ASCIIColors.white(" ├─ History Turns: ", end="") + ASCIIColors.yellow(f"{args.history_turns}") ASCIIColors.white(" └─ API Key: ", end="") ASCIIColors.yellow("Set" if args.key else "Not Set") @@ -462,8 +462,10 @@ def display_splash_screen(args: argparse.Namespace) -> None: ASCIIColors.yellow(f"{args.llm_binding}") ASCIIColors.white(" ├─ Host: ", end="") ASCIIColors.yellow(f"{args.llm_binding_host}") - ASCIIColors.white(" └─ Model: ", end="") + ASCIIColors.white(" ├─ Model: ", end="") ASCIIColors.yellow(f"{args.llm_model}") + ASCIIColors.white(" └─ Timeout: ", end="") + ASCIIColors.yellow(f"{args.timeout if args.timeout else 'None (infinite)'}") # Embedding Configuration ASCIIColors.magenta("\n📊 Embedding Configuration:") @@ -478,8 +480,10 @@ def display_splash_screen(args: argparse.Namespace) -> None: # RAG Configuration ASCIIColors.magenta("\n⚙️ RAG Configuration:") - ASCIIColors.white(" ├─ Max Async Operations: ", end="") + ASCIIColors.white(" ├─ Max Async for LLM: ", end="") ASCIIColors.yellow(f"{args.max_async}") + ASCIIColors.white(" ├─ Max Parallel Insert: ", end="") + ASCIIColors.yellow(f"{global_args['max_parallel_insert']}") ASCIIColors.white(" ├─ Max Tokens: ", end="") ASCIIColors.yellow(f"{args.max_tokens}") ASCIIColors.white(" ├─ Max Embed Tokens: ", end="") @@ -488,8 +492,6 @@ def display_splash_screen(args: argparse.Namespace) -> None: ASCIIColors.yellow(f"{args.chunk_size}") ASCIIColors.white(" ├─ Chunk Overlap Size: ", end="") ASCIIColors.yellow(f"{args.chunk_overlap_size}") - ASCIIColors.white(" ├─ History Turns: ", end="") - ASCIIColors.yellow(f"{args.history_turns}") ASCIIColors.white(" ├─ Cosine Threshold: ", end="") ASCIIColors.yellow(f"{args.cosine_threshold}") ASCIIColors.white(" ├─ Top-K: ", end="") From 35e00f1eb23f2ab3fdb1e9028260a251c8c7022c Mon Sep 17 00:00:00 2001 From: yangdx Date: Fri, 21 Mar 2025 19:56:45 +0800 Subject: [PATCH 11/45] Fix: emtpy graph not display correctly after cleaning the database - Improved graph validation with detailed checks - Added empty graph state handling - Enhanced label fetching and refresh logic - Tracked last successful query label - Optimized data fetching flow --- .../src/components/graph/GraphLabels.tsx | 111 ++++++---------- lightrag_webui/src/hooks/useLightragGraph.tsx | 119 +++++++++++++----- lightrag_webui/src/stores/graph.ts | 13 +- 3 files changed, 141 insertions(+), 102 deletions(-) diff --git a/lightrag_webui/src/components/graph/GraphLabels.tsx b/lightrag_webui/src/components/graph/GraphLabels.tsx index 305f63bd..d554fa5b 100644 --- a/lightrag_webui/src/components/graph/GraphLabels.tsx +++ b/lightrag_webui/src/components/graph/GraphLabels.tsx @@ -1,4 +1,4 @@ -import { useCallback, useEffect, useRef } from 'react' +import { useCallback } from 'react' import { AsyncSelect } from '@/components/ui/AsyncSelect' import { useSettingsStore } from '@/stores/settings' import { useGraphStore } from '@/stores/graph' @@ -12,44 +12,8 @@ const GraphLabels = () => { const { t } = useTranslation() const label = useSettingsStore.use.queryLabel() const allDatabaseLabels = useGraphStore.use.allDatabaseLabels() - const rawGraph = useGraphStore.use.rawGraph() - const labelsLoadedRef = useRef(false) - // Track if a fetch is in progress to prevent multiple simultaneous fetches - const fetchInProgressRef = useRef(false) - - // Fetch labels and trigger initial data load - useEffect(() => { - // Check if we've already attempted to fetch labels in this session - const labelsFetchAttempted = useGraphStore.getState().labelsFetchAttempted - - // Only fetch if we haven't attempted in this session and no fetch is in progress - if (!labelsFetchAttempted && !fetchInProgressRef.current) { - fetchInProgressRef.current = true - // Set global flag to indicate we've attempted to fetch in this session - useGraphStore.getState().setLabelsFetchAttempted(true) - - useGraphStore.getState().fetchAllDatabaseLabels() - .then(() => { - labelsLoadedRef.current = true - fetchInProgressRef.current = false - }) - .catch((error) => { - console.error('Failed to fetch labels:', error) - fetchInProgressRef.current = false - // Reset global flag to allow retry - useGraphStore.getState().setLabelsFetchAttempted(false) - }) - } - }, []) // Empty dependency array ensures this only runs once on mount - - // Trigger data load when labels are loaded - useEffect(() => { - if (labelsLoadedRef.current) { - // Reset the fetch attempted flag to force a new data fetch - useGraphStore.getState().setGraphDataFetchAttempted(false) - } - }, [label]) + // Remove initial label fetch effect as it's now handled by fetchGraph based on lastSuccessfulQueryLabel const getSearchEngine = useCallback(() => { // Create search engine @@ -93,40 +57,40 @@ const GraphLabels = () => { ) const handleRefresh = useCallback(() => { - // Reset labels fetch status to allow fetching labels again + // Reset fetch status flags useGraphStore.getState().setLabelsFetchAttempted(false) - - // Reset graph data fetch status directly, not depending on allDatabaseLabels changes useGraphStore.getState().setGraphDataFetchAttempted(false) - - // Fetch all labels again - useGraphStore.getState().fetchAllDatabaseLabels() - .then(() => { - // Trigger a graph data reload by changing the query label back and forth - const currentLabel = useSettingsStore.getState().queryLabel - useSettingsStore.getState().setQueryLabel('') - setTimeout(() => { - useSettingsStore.getState().setQueryLabel(currentLabel) - }, 0) - }) - .catch((error) => { - console.error('Failed to refresh labels:', error) - }) - }, []) + + // Clear last successful query label to ensure labels are fetched + useGraphStore.getState().setLastSuccessfulQueryLabel('') + + // Get current label + const currentLabel = useSettingsStore.getState().queryLabel + + // If current label is empty, use default label '*' + if (!currentLabel) { + useSettingsStore.getState().setQueryLabel('*') + } else { + // Trigger data reload + useSettingsStore.getState().setQueryLabel('') + setTimeout(() => { + useSettingsStore.getState().setQueryLabel(currentLabel) + }, 0) + } + }, []); return (
- {rawGraph && ( - - )} + {/* Always show refresh button */} + className="ml-2" triggerClassName="max-h-8" @@ -141,20 +105,23 @@ const GraphLabels = () => { placeholder={t('graphPanel.graphLabels.placeholder')} value={label !== null ? label : '*'} onChange={(newLabel) => { - const currentLabel = useSettingsStore.getState().queryLabel + const currentLabel = useSettingsStore.getState().queryLabel; // select the last item means query all if (newLabel === '...') { - newLabel = '*' + newLabel = '*'; } // Handle reselecting the same label if (newLabel === currentLabel && newLabel !== '*') { - newLabel = '*' + newLabel = '*'; } - // Update the label, which will trigger the useEffect to handle data loading - useSettingsStore.getState().setQueryLabel(newLabel) + // Reset graphDataFetchAttempted flag to ensure data fetch is triggered + useGraphStore.getState().setGraphDataFetchAttempted(false); + + // Update the label to trigger data loading + useSettingsStore.getState().setQueryLabel(newLabel); }} clearable={false} // Prevent clearing value on reselect /> diff --git a/lightrag_webui/src/hooks/useLightragGraph.tsx b/lightrag_webui/src/hooks/useLightragGraph.tsx index f83d396d..89d3f20a 100644 --- a/lightrag_webui/src/hooks/useLightragGraph.tsx +++ b/lightrag_webui/src/hooks/useLightragGraph.tsx @@ -12,34 +12,52 @@ import { useSettingsStore } from '@/stores/settings' import seedrandom from 'seedrandom' const validateGraph = (graph: RawGraph) => { + // Check if graph exists if (!graph) { - return false - } - if (!Array.isArray(graph.nodes) || !Array.isArray(graph.edges)) { - return false + console.log('Graph validation failed: graph is null'); + return false; } + // Check if nodes and edges are arrays + if (!Array.isArray(graph.nodes) || !Array.isArray(graph.edges)) { + console.log('Graph validation failed: nodes or edges is not an array'); + return false; + } + + // Check if nodes array is empty + if (graph.nodes.length === 0) { + console.log('Graph validation failed: nodes array is empty'); + return false; + } + + // Validate each node for (const node of graph.nodes) { if (!node.id || !node.labels || !node.properties) { - return false + console.log('Graph validation failed: invalid node structure'); + return false; } } + // Validate each edge for (const edge of graph.edges) { if (!edge.id || !edge.source || !edge.target) { - return false + console.log('Graph validation failed: invalid edge structure'); + return false; } } + // Validate edge connections for (const edge of graph.edges) { - const source = graph.getNode(edge.source) - const target = graph.getNode(edge.target) + const source = graph.getNode(edge.source); + const target = graph.getNode(edge.target); if (source == undefined || target == undefined) { - return false + console.log('Graph validation failed: edge references non-existent node'); + return false; } } - return true + console.log('Graph validation passed'); + return true; } export type NodeType = { @@ -53,16 +71,32 @@ export type NodeType = { export type EdgeType = { label: string } const fetchGraph = async (label: string, maxDepth: number, minDegree: number) => { - let rawData: any = null - - try { - rawData = await queryGraphs(label, maxDepth, minDegree) - } catch (e) { - useBackendState.getState().setErrorMessage(errorMessage(e), 'Query Graphs Error!') - return null + let rawData: any = null; + + // Check if we need to fetch all database labels first + const lastSuccessfulQueryLabel = useGraphStore.getState().lastSuccessfulQueryLabel; + if (!lastSuccessfulQueryLabel) { + console.log('Last successful query label is empty, fetching all database labels first...'); + try { + await useGraphStore.getState().fetchAllDatabaseLabels(); + } catch (e) { + console.error('Failed to fetch all database labels:', e); + // Continue with graph fetch even if labels fetch fails + } } - let rawGraph = null + // If label is empty, use default label '*' + const queryLabel = label || '*'; + + try { + console.log(`Fetching graph data with label: ${queryLabel}, maxDepth: ${maxDepth}, minDegree: ${minDegree}`); + rawData = await queryGraphs(queryLabel, maxDepth, minDegree); + } catch (e) { + useBackendState.getState().setErrorMessage(errorMessage(e), 'Query Graphs Error!'); + return null; + } + + let rawGraph = null; if (rawData) { const nodeIdMap: Record = {} @@ -260,22 +294,48 @@ const useLightrangeGraph = () => { // Reset state state.reset() - // Create and set new graph directly - const newSigmaGraph = createSigmaGraph(data) - data?.buildDynamicMap() + // Check if data is empty or invalid + if (!data || !data.nodes || data.nodes.length === 0) { + // Create an empty graph + const emptyGraph = new DirectedGraph(); + + // Set empty graph to store + state.setSigmaGraph(emptyGraph); + state.setRawGraph(null); + + // Show "Graph Is Empty" placeholder + state.setGraphIsEmpty(true); + + // Clear current label + useSettingsStore.getState().setQueryLabel(''); + + // Clear last successful query label to ensure labels are fetched next time + state.setLastSuccessfulQueryLabel(''); + + console.log('Graph data is empty or invalid, set empty graph'); + } else { + // Create and set new graph + const newSigmaGraph = createSigmaGraph(data); + data.buildDynamicMap(); - // Set new graph data - state.setSigmaGraph(newSigmaGraph) - state.setRawGraph(data) + // Set new graph data + state.setSigmaGraph(newSigmaGraph); + state.setRawGraph(data); + state.setGraphIsEmpty(false); + + // Update last successful query label + state.setLastSuccessfulQueryLabel(currentQueryLabel); + + // Reset camera view + state.setMoveToSelectedNode(true); + + console.log('Graph data loaded successfully'); + } // Update flags dataLoadedRef.current = true initialLoadRef.current = true fetchInProgressRef.current = false - - // Reset camera view - state.setMoveToSelectedNode(true) - state.setIsFetching(false) }).catch((error) => { console.error('Error fetching graph data:', error) @@ -283,9 +343,10 @@ const useLightrangeGraph = () => { // Reset state on error const state = useGraphStore.getState() state.setIsFetching(false) - dataLoadedRef.current = false + dataLoadedRef.current = false; fetchInProgressRef.current = false state.setGraphDataFetchAttempted(false) + state.setLastSuccessfulQueryLabel('') // Clear last successful query label on error }) } }, [queryLabel, maxQueryDepth, minDegree, isFetching]) diff --git a/lightrag_webui/src/stores/graph.ts b/lightrag_webui/src/stores/graph.ts index 637a3845..cfcebc1c 100644 --- a/lightrag_webui/src/stores/graph.ts +++ b/lightrag_webui/src/stores/graph.ts @@ -74,6 +74,8 @@ interface GraphState { moveToSelectedNode: boolean isFetching: boolean + graphIsEmpty: boolean + lastSuccessfulQueryLabel: string // Global flags to track data fetching attempts graphDataFetchAttempted: boolean @@ -88,6 +90,8 @@ interface GraphState { reset: () => void setMoveToSelectedNode: (moveToSelectedNode: boolean) => void + setGraphIsEmpty: (isEmpty: boolean) => void + setLastSuccessfulQueryLabel: (label: string) => void setRawGraph: (rawGraph: RawGraph | null) => void setSigmaGraph: (sigmaGraph: DirectedGraph | null) => void @@ -120,6 +124,8 @@ const useGraphStoreBase = create()((set) => ({ moveToSelectedNode: false, isFetching: false, + graphIsEmpty: false, + lastSuccessfulQueryLabel: '', // Initialize as empty to ensure fetchAllDatabaseLabels runs on first query // Initialize global flags graphDataFetchAttempted: false, @@ -132,6 +138,9 @@ const useGraphStoreBase = create()((set) => ({ searchEngine: null, + setGraphIsEmpty: (isEmpty: boolean) => set({ graphIsEmpty: isEmpty }), + setLastSuccessfulQueryLabel: (label: string) => set({ lastSuccessfulQueryLabel: label }), + setIsFetching: (isFetching: boolean) => set({ isFetching }), setSelectedNode: (nodeId: string | null, moveToSelectedNode?: boolean) => @@ -155,7 +164,9 @@ const useGraphStoreBase = create()((set) => ({ rawGraph: null, sigmaGraph: null, // to avoid other components from acccessing graph objects searchEngine: null, - moveToSelectedNode: false + moveToSelectedNode: false, + graphIsEmpty: false + // Do not reset lastSuccessfulQueryLabel here as it's used to track query history }); }, From a5aa3da3bc108f131911905e82609d20f4963727 Mon Sep 17 00:00:00 2001 From: yangdx Date: Fri, 21 Mar 2025 21:49:36 +0800 Subject: [PATCH 12/45] Handle empty graph data and add empty graph hints - Add empty data handling flag - Display "Graph Is Empty" node --- lightrag_webui/src/hooks/useLightragGraph.tsx | 59 +++++++++++++++---- lightrag_webui/src/locales/en.json | 3 +- lightrag_webui/src/locales/zh.json | 3 +- 3 files changed, 52 insertions(+), 13 deletions(-) diff --git a/lightrag_webui/src/hooks/useLightragGraph.tsx b/lightrag_webui/src/hooks/useLightragGraph.tsx index 89d3f20a..74a3d87d 100644 --- a/lightrag_webui/src/hooks/useLightragGraph.tsx +++ b/lightrag_webui/src/hooks/useLightragGraph.tsx @@ -226,6 +226,8 @@ const useLightrangeGraph = () => { // Use ref to track if data has been loaded and initial load const dataLoadedRef = useRef(false) const initialLoadRef = useRef(false) + // Use ref to track if empty data has been handled + const emptyDataHandledRef = useRef(false) const getNode = useCallback( (nodeId: string) => { @@ -258,11 +260,16 @@ const useLightrangeGraph = () => { // Data fetching logic useEffect(() => { - // Skip if fetch is already in progress or no query label - if (fetchInProgressRef.current || !queryLabel) { + // Skip if fetch is already in progress + if (fetchInProgressRef.current) { return } + // Empty queryLabel should be only handle once(avoid infinite loop) + if (!queryLabel && emptyDataHandledRef.current) { + return; + } + // Only fetch data when graphDataFetchAttempted is false (avoids re-fetching on vite dev mode) if (!isFetching && !useGraphStore.getState().graphDataFetchAttempted) { // Set flags @@ -280,15 +287,27 @@ const useLightrangeGraph = () => { }) } - console.log('Fetching graph data...') + console.log('Preparing graph data...') // Use a local copy of the parameters const currentQueryLabel = queryLabel const currentMaxQueryDepth = maxQueryDepth const currentMinDegree = minDegree - // Fetch graph data - fetchGraph(currentQueryLabel, currentMaxQueryDepth, currentMinDegree).then((data) => { + // Declare a variable to store data promise + let dataPromise; + + // 1. If query label is not empty, use fetchGraph + if (currentQueryLabel) { + dataPromise = fetchGraph(currentQueryLabel, currentMaxQueryDepth, currentMinDegree); + } else { + // 2. If query label is empty, set data to null + console.log('Query label is empty, show empty graph') + dataPromise = Promise.resolve(null); + } + + // 3. Process data + dataPromise.then((data) => { const state = useGraphStore.getState() // Reset state @@ -296,23 +315,36 @@ const useLightrangeGraph = () => { // Check if data is empty or invalid if (!data || !data.nodes || data.nodes.length === 0) { - // Create an empty graph + // Create a graph with a single "Graph Is Empty" node const emptyGraph = new DirectedGraph(); - // Set empty graph to store + // Add a single node with "Graph Is Empty" label + emptyGraph.addNode('empty-graph-node', { + label: t('graphPanel.emptyGraph'), + color: '#cccccc', // gray color + x: 0.5, + y: 0.5, + size: 15, + borderColor: Constants.nodeBorderColor, + borderSize: 0.2 + }); + + // Set graph to store state.setSigmaGraph(emptyGraph); state.setRawGraph(null); - // Show "Graph Is Empty" placeholder + // Still mark graph as empty for other logic state.setGraphIsEmpty(true); - // Clear current label - useSettingsStore.getState().setQueryLabel(''); + // Only clear current label if it's not already empty + if (currentQueryLabel) { + useSettingsStore.getState().setQueryLabel(''); + } // Clear last successful query label to ensure labels are fetched next time state.setLastSuccessfulQueryLabel(''); - console.log('Graph data is empty or invalid, set empty graph'); + console.log('Graph data is empty, created graph with empty graph node'); } else { // Create and set new graph const newSigmaGraph = createSigmaGraph(data); @@ -337,6 +369,11 @@ const useLightrangeGraph = () => { initialLoadRef.current = true fetchInProgressRef.current = false state.setIsFetching(false) + + // Mark empty data as handled if data is empty and query label is empty + if ((!data || !data.nodes || data.nodes.length === 0) && !currentQueryLabel) { + emptyDataHandledRef.current = true; + } }).catch((error) => { console.error('Error fetching graph data:', error) diff --git a/lightrag_webui/src/locales/en.json b/lightrag_webui/src/locales/en.json index ed92679a..cea90a56 100644 --- a/lightrag_webui/src/locales/en.json +++ b/lightrag_webui/src/locales/en.json @@ -201,7 +201,8 @@ "placeholder": "Search labels...", "andOthers": "And {count} others", "refreshTooltip": "Reload graph data" - } + }, + "emptyGraph": "Graph Is Empty" }, "retrievePanel": { "chatMessage": { diff --git a/lightrag_webui/src/locales/zh.json b/lightrag_webui/src/locales/zh.json index 19839ea6..a87e9c1d 100644 --- a/lightrag_webui/src/locales/zh.json +++ b/lightrag_webui/src/locales/zh.json @@ -198,7 +198,8 @@ "placeholder": "搜索标签...", "andOthers": "还有 {count} 个", "refreshTooltip": "重新加载图形数据" - } + }, + "emptyGraph": "图谱数据为空" }, "retrievePanel": { "chatMessage": { From 101e1c907cd852f19312a3d9642af548f99a162e Mon Sep 17 00:00:00 2001 From: yangdx Date: Fri, 21 Mar 2025 21:51:52 +0800 Subject: [PATCH 13/45] Fix linting --- lightrag/lightrag.py | 4 ++- .../src/components/graph/GraphLabels.tsx | 8 +++--- lightrag_webui/src/hooks/useLightragGraph.tsx | 26 +++++++++---------- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/lightrag/lightrag.py b/lightrag/lightrag.py index f053b25e..49f3d955 100644 --- a/lightrag/lightrag.py +++ b/lightrag/lightrag.py @@ -186,7 +186,9 @@ class LightRAG: embedding_batch_num: int = field(default=int(os.getenv("EMBEDDING_BATCH_NUM", 32))) """Batch size for embedding computations.""" - embedding_func_max_async: int = field(default=int(os.getenv("EMBEDDING_FUNC_MAX_ASYNC", 16))) + embedding_func_max_async: int = field( + default=int(os.getenv("EMBEDDING_FUNC_MAX_ASYNC", 16)) + ) """Maximum number of concurrent embedding function calls.""" embedding_cache_config: dict[str, Any] = field( diff --git a/lightrag_webui/src/components/graph/GraphLabels.tsx b/lightrag_webui/src/components/graph/GraphLabels.tsx index d554fa5b..b89c2e74 100644 --- a/lightrag_webui/src/components/graph/GraphLabels.tsx +++ b/lightrag_webui/src/components/graph/GraphLabels.tsx @@ -60,13 +60,13 @@ const GraphLabels = () => { // Reset fetch status flags useGraphStore.getState().setLabelsFetchAttempted(false) useGraphStore.getState().setGraphDataFetchAttempted(false) - + // Clear last successful query label to ensure labels are fetched useGraphStore.getState().setLastSuccessfulQueryLabel('') - + // Get current label const currentLabel = useSettingsStore.getState().queryLabel - + // If current label is empty, use default label '*' if (!currentLabel) { useSettingsStore.getState().setQueryLabel('*') @@ -119,7 +119,7 @@ const GraphLabels = () => { // Reset graphDataFetchAttempted flag to ensure data fetch is triggered useGraphStore.getState().setGraphDataFetchAttempted(false); - + // Update the label to trigger data loading useSettingsStore.getState().setQueryLabel(newLabel); }} diff --git a/lightrag_webui/src/hooks/useLightragGraph.tsx b/lightrag_webui/src/hooks/useLightragGraph.tsx index 74a3d87d..dbc26745 100644 --- a/lightrag_webui/src/hooks/useLightragGraph.tsx +++ b/lightrag_webui/src/hooks/useLightragGraph.tsx @@ -72,7 +72,7 @@ export type EdgeType = { label: string } const fetchGraph = async (label: string, maxDepth: number, minDegree: number) => { let rawData: any = null; - + // Check if we need to fetch all database labels first const lastSuccessfulQueryLabel = useGraphStore.getState().lastSuccessfulQueryLabel; if (!lastSuccessfulQueryLabel) { @@ -87,7 +87,7 @@ const fetchGraph = async (label: string, maxDepth: number, minDegree: number) => // If label is empty, use default label '*' const queryLabel = label || '*'; - + try { console.log(`Fetching graph data with label: ${queryLabel}, maxDepth: ${maxDepth}, minDegree: ${minDegree}`); rawData = await queryGraphs(queryLabel, maxDepth, minDegree); @@ -317,33 +317,33 @@ const useLightrangeGraph = () => { if (!data || !data.nodes || data.nodes.length === 0) { // Create a graph with a single "Graph Is Empty" node const emptyGraph = new DirectedGraph(); - + // Add a single node with "Graph Is Empty" label emptyGraph.addNode('empty-graph-node', { label: t('graphPanel.emptyGraph'), color: '#cccccc', // gray color x: 0.5, y: 0.5, - size: 15, + size: 15, borderColor: Constants.nodeBorderColor, borderSize: 0.2 }); - + // Set graph to store state.setSigmaGraph(emptyGraph); state.setRawGraph(null); - + // Still mark graph as empty for other logic state.setGraphIsEmpty(true); - + // Only clear current label if it's not already empty if (currentQueryLabel) { useSettingsStore.getState().setQueryLabel(''); } - + // Clear last successful query label to ensure labels are fetched next time state.setLastSuccessfulQueryLabel(''); - + console.log('Graph data is empty, created graph with empty graph node'); } else { // Create and set new graph @@ -354,13 +354,13 @@ const useLightrangeGraph = () => { state.setSigmaGraph(newSigmaGraph); state.setRawGraph(data); state.setGraphIsEmpty(false); - + // Update last successful query label state.setLastSuccessfulQueryLabel(currentQueryLabel); // Reset camera view state.setMoveToSelectedNode(true); - + console.log('Graph data loaded successfully'); } @@ -369,7 +369,7 @@ const useLightrangeGraph = () => { initialLoadRef.current = true fetchInProgressRef.current = false state.setIsFetching(false) - + // Mark empty data as handled if data is empty and query label is empty if ((!data || !data.nodes || data.nodes.length === 0) && !currentQueryLabel) { emptyDataHandledRef.current = true; @@ -386,7 +386,7 @@ const useLightrangeGraph = () => { state.setLastSuccessfulQueryLabel('') // Clear last successful query label on error }) } - }, [queryLabel, maxQueryDepth, minDegree, isFetching]) + }, [queryLabel, maxQueryDepth, minDegree, isFetching, t]) // Handle node expansion useEffect(() => { From d2c3db65ef776922ea2a1090395934004d892dda Mon Sep 17 00:00:00 2001 From: yangdx Date: Fri, 21 Mar 2025 22:05:21 +0800 Subject: [PATCH 14/45] Update webui assets --- lightrag/api/webui/assets/index-BSOt8Nur.css | 1 - lightrag/api/webui/assets/index-BViPRMGA.css | 1 + .../{index-4I5HV9Fr.js => index-C-CHRwmZ.js} | 308 +++++++++--------- lightrag/api/webui/index.html | 4 +- 4 files changed, 153 insertions(+), 161 deletions(-) delete mode 100644 lightrag/api/webui/assets/index-BSOt8Nur.css create mode 100644 lightrag/api/webui/assets/index-BViPRMGA.css rename lightrag/api/webui/assets/{index-4I5HV9Fr.js => index-C-CHRwmZ.js} (50%) diff --git a/lightrag/api/webui/assets/index-BSOt8Nur.css b/lightrag/api/webui/assets/index-BSOt8Nur.css deleted file mode 100644 index 74781c96..00000000 --- a/lightrag/api/webui/assets/index-BSOt8Nur.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.0.8 | MIT License | https://tailwindcss.com */@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-red-100:oklch(.936 .032 17.717);--color-red-400:oklch(.704 .191 22.216);--color-red-500:oklch(.637 .237 25.331);--color-red-600:oklch(.577 .245 27.325);--color-red-700:oklch(.505 .213 27.518);--color-red-950:oklch(.258 .092 26.042);--color-amber-100:oklch(.962 .059 95.617);--color-amber-200:oklch(.924 .12 95.746);--color-amber-700:oklch(.555 .163 48.998);--color-amber-800:oklch(.473 .137 46.201);--color-amber-900:oklch(.414 .112 45.904);--color-yellow-600:oklch(.681 .162 75.834);--color-green-500:oklch(.723 .219 149.579);--color-green-600:oklch(.627 .194 149.214);--color-emerald-50:oklch(.979 .021 166.113);--color-emerald-400:oklch(.765 .177 163.223);--color-emerald-700:oklch(.508 .118 165.612);--color-teal-100:oklch(.953 .051 180.801);--color-blue-600:oklch(.546 .245 262.881);--color-blue-700:oklch(.488 .243 264.376);--color-violet-700:oklch(.491 .27 292.581);--color-gray-100:oklch(.967 .003 264.542);--color-gray-200:oklch(.928 .006 264.531);--color-gray-300:oklch(.872 .01 258.338);--color-gray-400:oklch(.707 .022 261.325);--color-gray-600:oklch(.446 .03 256.802);--color-gray-700:oklch(.373 .034 259.733);--color-gray-800:oklch(.278 .033 256.848);--color-gray-900:oklch(.21 .034 264.665);--color-zinc-50:oklch(.985 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-lg:32rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}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;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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:color-mix(in oklab,var(--ring)50%,transparent)}body{background-color:var(--background);color:var(--foreground)}*{scrollbar-color:initial;scrollbar-width:initial}}@layer components;@layer utilities{.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}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-12{top:calc(var(--spacing)*12)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-4{bottom:calc(var(--spacing)*4)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-\[50\%\]{left:50%}.left-\[calc\(1rem\+2\.5rem\)\]{left:3.5rem}.z-10{z-index:10}.z-50{z-index:50}.z-60{z-index:60}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.\!m-0{margin:calc(var(--spacing)*0)!important}.m-0{margin:calc(var(--spacing)*0)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-4{margin-inline:calc(var(--spacing)*4)}.my-1{margin-block:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-6{margin-right:calc(var(--spacing)*6)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!inline{display:inline!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.\!size-full{width:100%!important;height:100%!important}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-full{width:100%;height:100%}.h-1\/2{height:50%}.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-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-24{height:calc(var(--spacing)*24)}.h-52{height:calc(var(--spacing)*52)}.h-\[1px\]{height:1px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-8{max-height:calc(var(--spacing)*8)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[300px\]{max-height:300px}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.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-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-24{width:calc(var(--spacing)*24)}.w-56{width:calc(var(--spacing)*56)}.w-\[1px\]{width:1px}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.max-w-80{max-width:calc(var(--spacing)*80)}.max-w-\[80\%\]{max-width:80%}.max-w-\[480px\]{max-width:480px}.max-w-lg{max-width:var(--container-lg)}.max-w-none{max-width:none}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-24{min-width:calc(var(--spacing)*24)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[180px\]{min-width:180px}.min-w-\[300px\]{min-width:300px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.flex-auto{flex:auto}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;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-20{--tw-translate-y:calc(var(--spacing)*-20);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-px{gap:1px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.rounded-br-none{border-bottom-right-radius:0}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.\!border-none{--tw-border-style:none;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.\!border-input{border-color:var(--input)!important}.border-border\/40{border-color:color-mix(in oklab,var(--border)40%,transparent)}.border-destructive\/50{border-color:color-mix(in oklab,var(--destructive)50%,transparent)}.border-gray-400{border-color:var(--color-gray-400)}.border-input{border-color:var(--input)}.border-muted-foreground\/25{border-color:color-mix(in oklab,var(--muted-foreground)25%,transparent)}.border-muted-foreground\/50{border-color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}.border-primary{border-color:var(--primary)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.\!bg-background{background-color:var(--background)!important}.\!bg-emerald-400{background-color:var(--color-emerald-400)!important}.bg-amber-100{background-color:var(--color-amber-100)}.bg-background{background-color:var(--background)}.bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}.bg-background\/90{background-color:color-mix(in oklab,var(--background)90%,transparent)}.bg-background\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}.bg-black\/10{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground\/10{background-color:color-mix(in oklab,var(--foreground)10%,transparent)}.bg-green-500{background-color:var(--color-green-500)}.bg-muted{background-color:var(--muted)}.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-primary-foreground\/60{background-color:color-mix(in oklab,var(--primary-foreground)60%,transparent)}.bg-primary\/5{background-color:color-mix(in oklab,var(--primary)5%,transparent)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-700{background-color:var(--color-red-700)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white\/30{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-emerald-50{--tw-gradient-from:var(--color-emerald-50);--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-teal-100{--tw-gradient-to:var(--color-teal-100);--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))}.object-cover{object-fit:cover}.\!p-0{padding:calc(var(--spacing)*0)!important}.\!p-2{padding:calc(var(--spacing)*2)!important}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-16{padding:calc(var(--spacing)*16)}.p-\[1px\]{padding:1px}.px-1{padding-inline:calc(var(--spacing)*1)}.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-8{padding-inline:calc(var(--spacing)*8)}.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-6{padding-block:calc(var(--spacing)*6)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-zinc-50{color:var(--color-zinc-50)!important}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground{color:var(--foreground)}.text-foreground\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}.text-gray-400{color:var(--color-gray-400)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground{color:var(--muted-foreground)}.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-primary\/60{color:color-mix(in oklab,var(--primary)60%,transparent)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-violet-700{color:var(--color-violet-700)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#0003);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_0_12px_rgba\(34\,197\,94\,0\.4\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#22c55e66);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_0_12px_rgba\(239\,68\,68\,0\.4\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#ef444466);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-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.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-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,)}.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;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-2000{--tw-duration:2s;transition-duration:2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-2000{animation-duration:2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.fade-in-0{--tw-enter-opacity:0}.running{animation-play-state:running}.zoom-in-95{--tw-enter-scale:.95}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:w-fit:hover{width:fit-content}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-background\/60:hover{background-color:color-mix(in oklab,var(--background)60%,transparent)}.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab,var(--destructive)80%,transparent)}.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-muted\/25:hover{background-color:color-mix(in oklab,var(--muted)25%,transparent)}.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab,var(--primary)5%,transparent)}.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--primary)20%,transparent)}.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-0:focus{--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)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-0:focus{outline-style:var(--tw-outline-style);outline-width:0}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:relative:focus-visible{position:relative}.focus-visible\:ring-1:focus-visible{--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)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:right-0:active{right:calc(var(--spacing)*0)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=active\]\:visible[data-state=active]{visibility:visible}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--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)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=inactive\]\:invisible[data-state=inactive]{visibility:hidden}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}}@media (width>=40rem){.sm\:mt-0{margin-top:calc(var(--spacing)*0)}.sm\:max-w-xl{max-width:var(--container-xl)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:px-5{padding-inline:calc(var(--spacing)*5)}.sm\:text-left{text-align:left}}@media (width>=48rem){.md\:inline-block{display:inline-block}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-destructive:is(.dark *){border-color:var(--destructive)}.dark\:border-gray-600:is(.dark *){border-color:var(--color-gray-600)}.dark\:bg-amber-900:is(.dark *){background-color:var(--color-amber-900)}.dark\:bg-gray-100\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-100)20%,transparent)}.dark\:bg-gray-800\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-800)30%,transparent)}.dark\:bg-red-950:is(.dark *){background-color:var(--color-red-950)}.dark\:from-gray-900:is(.dark *){--tw-gradient-from:var(--color-gray-900);--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))}.dark\:to-gray-800:is(.dark *){--tw-gradient-to:var(--color-gray-800);--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))}.dark\:text-amber-200:is(.dark *){color:var(--color-amber-200)}.dark\:text-gray-300:is(.dark *){color:var(--color-gray-300)}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}@media (hover:hover){.dark\:hover\:bg-gray-700:is(.dark *):hover{background-color:var(--color-gray-700)}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-inner-spin-button\]\:opacity-100::-webkit-inner-spin-button{opacity:1}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:opacity-100::-webkit-outer-spin-button{opacity:1}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing)*4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing)*4)}.\[\&\>svg\]\:text-destructive>svg{color:var(--destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing)*7)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}:root{--background:#fff;--foreground:#09090b;--card:#fff;--card-foreground:#09090b;--popover:#fff;--popover-foreground:#09090b;--primary:#18181b;--primary-foreground:#fafafa;--secondary:#f4f4f5;--secondary-foreground:#18181b;--muted:#f4f4f5;--muted-foreground:#71717a;--accent:#f4f4f5;--accent-foreground:#18181b;--destructive:#ef4444;--destructive-foreground:#fafafa;--border:#e4e4e7;--input:#e4e4e7;--ring:#09090b;--chart-1:#e76e50;--chart-2:#2a9d90;--chart-3:#274754;--chart-4:#e8c468;--chart-5:#f4a462;--radius:.6rem;--sidebar-background:#fafafa;--sidebar-foreground:#3f3f46;--sidebar-primary:#18181b;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f4f4f5;--sidebar-accent-foreground:#18181b;--sidebar-border:#e5e7eb;--sidebar-ring:#3b82f6}.dark{--background:#09090b;--foreground:#fafafa;--card:#09090b;--card-foreground:#fafafa;--popover:#09090b;--popover-foreground:#fafafa;--primary:#fafafa;--primary-foreground:#18181b;--secondary:#27272a;--secondary-foreground:#fafafa;--muted:#27272a;--muted-foreground:#a1a1aa;--accent:#27272a;--accent-foreground:#fafafa;--destructive:#7f1d1d;--destructive-foreground:#fafafa;--border:#27272a;--input:#27272a;--ring:#d4d4d8;--chart-1:#2662d9;--chart-2:#2eb88a;--chart-3:#e88c30;--chart-4:#af57db;--chart-5:#e23670;--sidebar-background:#18181b;--sidebar-foreground:#f4f4f5;--sidebar-primary:#1d4ed8;--sidebar-primary-foreground:#fff;--sidebar-accent:#27272a;--sidebar-accent-foreground:#f4f4f5;--sidebar-border:#27272a;--sidebar-ring:#3b82f6}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:5px}::-webkit-scrollbar-track{background-color:#f2f2f2}.dark ::-webkit-scrollbar-thumb{background-color:#e6e6e6}.dark ::-webkit-scrollbar-track{background-color:#000}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@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;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-y-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-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-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-space-x-reverse{syntax:"*";inherits:false;initial-value:0}:root{--sigma-background-color:#fff;--sigma-controls-background-color:#fff;--sigma-controls-background-color-hover:rgba(0,0,0,.2);--sigma-controls-border-color:rgba(0,0,0,.2);--sigma-controls-color:#000;--sigma-controls-zindex:100;--sigma-controls-margin:5px;--sigma-controls-size:30px}div.react-sigma{height:100%;width:100%;position:relative;background:var(--sigma-background-color)}div.sigma-container{height:100%;width:100%}.react-sigma-controls{position:absolute;z-index:var(--sigma-controls-zindex);border:2px solid var(--sigma-controls-border-color);border-radius:4px;color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color)}.react-sigma-controls.bottom-right{bottom:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.bottom-left{bottom:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls.top-right{top:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.top-left{top:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.react-sigma-controls:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.react-sigma-control{width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-color:var(--sigma-controls-background-color);border-bottom:1px solid var(--sigma-controls-border-color)}.react-sigma-control:last-child{border-bottom:none}.react-sigma-control>*{box-sizing:border-box}.react-sigma-control>button{display:block;border:none;margin:0;padding:0;width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-position:center;background-size:50%;background-repeat:no-repeat;background-color:var(--sigma-controls-background-color);clip:rect(0,0,0,0)}.react-sigma-control>button:hover{background-color:var(--sigma-controls-background-color-hover)}.react-sigma-search{background-color:var(--sigma-controls-background-color)}.react-sigma-search label{visibility:hidden}.react-sigma-search input{color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color);font-size:1em;width:100%;margin:0;border:none;padding:var(--sigma-controls-margin);box-sizing:border-box}:root{--sigma-grey-color:#ccc}.react-sigma .option.hoverable{cursor:pointer!important}.react-sigma .text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.react-sigma .react-select__clear-indicator{cursor:pointer!important}.react-sigma .text-muted{color:var(--sigma-grey-color)}.react-sigma .text-italic{font-style:italic}.react-sigma .text-center{text-align:center}.react-sigma .graph-search{min-width:250px}.react-sigma .graph-search .option{padding:2px 8px}.react-sigma .graph-search .dropdown-indicator{font-size:1.25em;padding:4px}.react-sigma .graph-search .option.selected{background-color:var(--sigma-grey-color)}.react-sigma .node .render{position:relative;display:inline-block;width:1em;height:1em;border-radius:1em;background-color:var(--sigma-grey-color);margin-right:8px}.react-sigma .node{display:flex;flex-direction:row;align-items:center}.react-sigma .node .render{flex-grow:0;flex-shrink:0;margin-right:0 .25em}.react-sigma .node .label{flex-grow:1;flex-shrink:1}.react-sigma .edge{display:flex;flex-direction:column;align-items:flex-start;flex-grow:0;flex-shrink:0;flex-wrap:nowrap}.react-sigma .edge .node{font-size:.7em}.react-sigma .edge .body{display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;min-height:.6em}.react-sigma .edge .body .render{display:flex;flex-direction:column;margin:0 2px}.react-sigma .edge .body .render .dash,.react-sigma .edge .body .render .dotted{display:inline-block;width:0;margin:0 2px;border:2px solid #ccc;flex-grow:1;flex-shrink:1}.react-sigma .edge .body .render .dotted{border-style:dotted}.react-sigma .edge .body .render .arrow{width:0;height:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.6em solid red;flex-shrink:0;flex-grow:0;border-left-width:.3em;border-right-width:.3em}.react-sigma .edge .body .label{flex-grow:1;flex-shrink:1;text-align:center} diff --git a/lightrag/api/webui/assets/index-BViPRMGA.css b/lightrag/api/webui/assets/index-BViPRMGA.css new file mode 100644 index 00000000..f1cd0cab --- /dev/null +++ b/lightrag/api/webui/assets/index-BViPRMGA.css @@ -0,0 +1 @@ +/*! tailwindcss v4.0.14 | MIT License | https://tailwindcss.com */@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-red-100:oklch(.936 .032 17.717);--color-red-400:oklch(.704 .191 22.216);--color-red-500:oklch(.637 .237 25.331);--color-red-600:oklch(.577 .245 27.325);--color-red-700:oklch(.505 .213 27.518);--color-red-950:oklch(.258 .092 26.042);--color-amber-100:oklch(.962 .059 95.617);--color-amber-200:oklch(.924 .12 95.746);--color-amber-700:oklch(.555 .163 48.998);--color-amber-800:oklch(.473 .137 46.201);--color-amber-900:oklch(.414 .112 45.904);--color-yellow-600:oklch(.681 .162 75.834);--color-green-500:oklch(.723 .219 149.579);--color-green-600:oklch(.627 .194 149.214);--color-emerald-50:oklch(.979 .021 166.113);--color-emerald-400:oklch(.765 .177 163.223);--color-emerald-700:oklch(.508 .118 165.612);--color-teal-100:oklch(.953 .051 180.801);--color-blue-600:oklch(.546 .245 262.881);--color-blue-700:oklch(.488 .243 264.376);--color-violet-700:oklch(.491 .27 292.581);--color-gray-100:oklch(.967 .003 264.542);--color-gray-200:oklch(.928 .006 264.531);--color-gray-300:oklch(.872 .01 258.338);--color-gray-400:oklch(.707 .022 261.325);--color-gray-600:oklch(.446 .03 256.802);--color-gray-700:oklch(.373 .034 259.733);--color-gray-800:oklch(.278 .033 256.848);--color-gray-900:oklch(.21 .034 264.665);--color-zinc-50:oklch(.985 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-lg:32rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}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;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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:color-mix(in oklab,var(--ring)50%,transparent)}body{background-color:var(--background);color:var(--foreground)}*{scrollbar-color:initial;scrollbar-width:initial}}@layer components;@layer utilities{.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}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-12{top:calc(var(--spacing)*12)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-4{bottom:calc(var(--spacing)*4)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-\[50\%\]{left:50%}.left-\[calc\(1rem\+2\.5rem\)\]{left:3.5rem}.z-10{z-index:10}.z-50{z-index:50}.z-60{z-index:60}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.\!m-0{margin:calc(var(--spacing)*0)!important}.m-0{margin:calc(var(--spacing)*0)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-4{margin-inline:calc(var(--spacing)*4)}.my-1{margin-block:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-6{margin-right:calc(var(--spacing)*6)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!inline{display:inline!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.\!size-full{width:100%!important;height:100%!important}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-full{width:100%;height:100%}.h-1\/2{height:50%}.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-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-24{height:calc(var(--spacing)*24)}.h-52{height:calc(var(--spacing)*52)}.h-\[1px\]{height:1px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-8{max-height:calc(var(--spacing)*8)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[300px\]{max-height:300px}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.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-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-24{width:calc(var(--spacing)*24)}.w-56{width:calc(var(--spacing)*56)}.w-\[1px\]{width:1px}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.max-w-80{max-width:calc(var(--spacing)*80)}.max-w-\[80\%\]{max-width:80%}.max-w-\[480px\]{max-width:480px}.max-w-lg{max-width:var(--container-lg)}.max-w-none{max-width:none}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-24{min-width:calc(var(--spacing)*24)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[180px\]{min-width:180px}.min-w-\[300px\]{min-width:300px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.flex-auto{flex:auto}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;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-20{--tw-translate-y:calc(var(--spacing)*-20);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-px{gap:1px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.rounded-br-none{border-bottom-right-radius:0}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.\!border-input{border-color:var(--input)!important}.border-border\/40{border-color:color-mix(in oklab,var(--border)40%,transparent)}.border-destructive\/50{border-color:color-mix(in oklab,var(--destructive)50%,transparent)}.border-gray-400{border-color:var(--color-gray-400)}.border-input{border-color:var(--input)}.border-muted-foreground\/25{border-color:color-mix(in oklab,var(--muted-foreground)25%,transparent)}.border-muted-foreground\/50{border-color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}.border-primary{border-color:var(--primary)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.\!bg-background{background-color:var(--background)!important}.\!bg-emerald-400{background-color:var(--color-emerald-400)!important}.bg-amber-100{background-color:var(--color-amber-100)}.bg-background{background-color:var(--background)}.bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}.bg-background\/90{background-color:color-mix(in oklab,var(--background)90%,transparent)}.bg-background\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}.bg-black\/10{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground\/10{background-color:color-mix(in oklab,var(--foreground)10%,transparent)}.bg-green-500{background-color:var(--color-green-500)}.bg-muted{background-color:var(--muted)}.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-primary-foreground\/60{background-color:color-mix(in oklab,var(--primary-foreground)60%,transparent)}.bg-primary\/5{background-color:color-mix(in oklab,var(--primary)5%,transparent)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-700{background-color:var(--color-red-700)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white\/30{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-emerald-50{--tw-gradient-from:var(--color-emerald-50);--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-teal-100{--tw-gradient-to:var(--color-teal-100);--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))}.object-cover{object-fit:cover}.\!p-0{padding:calc(var(--spacing)*0)!important}.\!p-2{padding:calc(var(--spacing)*2)!important}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-16{padding:calc(var(--spacing)*16)}.p-\[1px\]{padding:1px}.px-1{padding-inline:calc(var(--spacing)*1)}.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-8{padding-inline:calc(var(--spacing)*8)}.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-6{padding-block:calc(var(--spacing)*6)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-zinc-50{color:var(--color-zinc-50)!important}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground{color:var(--foreground)}.text-foreground\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}.text-gray-400{color:var(--color-gray-400)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground{color:var(--muted-foreground)}.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-primary\/60{color:color-mix(in oklab,var(--primary)60%,transparent)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-violet-700{color:var(--color-violet-700)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#0003);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_0_12px_rgba\(34\,197\,94\,0\.4\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#22c55e66);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_0_12px_rgba\(239\,68\,68\,0\.4\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#ef444466);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-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.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-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,)}.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;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-2000{--tw-duration:2s;transition-duration:2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-2000{animation-duration:2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.fade-in-0{--tw-enter-opacity:0}.running{animation-play-state:running}.zoom-in-95{--tw-enter-scale:.95}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:w-fit:hover{width:fit-content}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-background\/60:hover{background-color:color-mix(in oklab,var(--background)60%,transparent)}.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab,var(--destructive)80%,transparent)}.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-muted\/25:hover{background-color:color-mix(in oklab,var(--muted)25%,transparent)}.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab,var(--primary)5%,transparent)}.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--primary)20%,transparent)}.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-0:focus{--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)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-0:focus{outline-style:var(--tw-outline-style);outline-width:0}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:relative:focus-visible{position:relative}.focus-visible\:ring-1:focus-visible{--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)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:right-0:active{right:calc(var(--spacing)*0)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=active\]\:visible[data-state=active]{visibility:visible}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--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)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=inactive\]\:invisible[data-state=inactive]{visibility:hidden}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}}@media (width>=40rem){.sm\:mt-0{margin-top:calc(var(--spacing)*0)}.sm\:max-w-xl{max-width:var(--container-xl)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:px-5{padding-inline:calc(var(--spacing)*5)}.sm\:text-left{text-align:left}}@media (width>=48rem){.md\:inline-block{display:inline-block}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-destructive:is(.dark *){border-color:var(--destructive)}.dark\:border-gray-600:is(.dark *){border-color:var(--color-gray-600)}.dark\:bg-amber-900:is(.dark *){background-color:var(--color-amber-900)}.dark\:bg-gray-100\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-100)20%,transparent)}.dark\:bg-gray-800\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-800)30%,transparent)}.dark\:bg-red-950:is(.dark *){background-color:var(--color-red-950)}.dark\:from-gray-900:is(.dark *){--tw-gradient-from:var(--color-gray-900);--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))}.dark\:to-gray-800:is(.dark *){--tw-gradient-to:var(--color-gray-800);--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))}.dark\:text-amber-200:is(.dark *){color:var(--color-amber-200)}.dark\:text-gray-300:is(.dark *){color:var(--color-gray-300)}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}@media (hover:hover){.dark\:hover\:bg-gray-700:is(.dark *):hover{background-color:var(--color-gray-700)}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-inner-spin-button\]\:opacity-100::-webkit-inner-spin-button{opacity:1}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:opacity-100::-webkit-outer-spin-button{opacity:1}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing)*4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing)*4)}.\[\&\>svg\]\:text-destructive>svg{color:var(--destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing)*7)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}:root{--background:#fff;--foreground:#09090b;--card:#fff;--card-foreground:#09090b;--popover:#fff;--popover-foreground:#09090b;--primary:#18181b;--primary-foreground:#fafafa;--secondary:#f4f4f5;--secondary-foreground:#18181b;--muted:#f4f4f5;--muted-foreground:#71717a;--accent:#f4f4f5;--accent-foreground:#18181b;--destructive:#ef4444;--destructive-foreground:#fafafa;--border:#e4e4e7;--input:#e4e4e7;--ring:#09090b;--chart-1:#e76e50;--chart-2:#2a9d90;--chart-3:#274754;--chart-4:#e8c468;--chart-5:#f4a462;--radius:.6rem;--sidebar-background:#fafafa;--sidebar-foreground:#3f3f46;--sidebar-primary:#18181b;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f4f4f5;--sidebar-accent-foreground:#18181b;--sidebar-border:#e5e7eb;--sidebar-ring:#3b82f6}.dark{--background:#09090b;--foreground:#fafafa;--card:#09090b;--card-foreground:#fafafa;--popover:#09090b;--popover-foreground:#fafafa;--primary:#fafafa;--primary-foreground:#18181b;--secondary:#27272a;--secondary-foreground:#fafafa;--muted:#27272a;--muted-foreground:#a1a1aa;--accent:#27272a;--accent-foreground:#fafafa;--destructive:#7f1d1d;--destructive-foreground:#fafafa;--border:#27272a;--input:#27272a;--ring:#d4d4d8;--chart-1:#2662d9;--chart-2:#2eb88a;--chart-3:#e88c30;--chart-4:#af57db;--chart-5:#e23670;--sidebar-background:#18181b;--sidebar-foreground:#f4f4f5;--sidebar-primary:#1d4ed8;--sidebar-primary-foreground:#fff;--sidebar-accent:#27272a;--sidebar-accent-foreground:#f4f4f5;--sidebar-border:#27272a;--sidebar-ring:#3b82f6}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:5px}::-webkit-scrollbar-track{background-color:#f2f2f2}.dark ::-webkit-scrollbar-thumb{background-color:#e6e6e6}.dark ::-webkit-scrollbar-track{background-color:#000}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@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;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-y-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-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-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-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}:root{--sigma-background-color:#fff;--sigma-controls-background-color:#fff;--sigma-controls-background-color-hover:rgba(0,0,0,.2);--sigma-controls-border-color:rgba(0,0,0,.2);--sigma-controls-color:#000;--sigma-controls-zindex:100;--sigma-controls-margin:5px;--sigma-controls-size:30px}div.react-sigma{height:100%;width:100%;position:relative;background:var(--sigma-background-color)}div.sigma-container{height:100%;width:100%}.react-sigma-controls{position:absolute;z-index:var(--sigma-controls-zindex);border:2px solid var(--sigma-controls-border-color);border-radius:4px;color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color)}.react-sigma-controls.bottom-right{bottom:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.bottom-left{bottom:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls.top-right{top:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.top-left{top:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.react-sigma-controls:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.react-sigma-control{width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-color:var(--sigma-controls-background-color);border-bottom:1px solid var(--sigma-controls-border-color)}.react-sigma-control:last-child{border-bottom:none}.react-sigma-control>*{box-sizing:border-box}.react-sigma-control>button{display:block;border:none;margin:0;padding:0;width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-position:center;background-size:50%;background-repeat:no-repeat;background-color:var(--sigma-controls-background-color);clip:rect(0,0,0,0)}.react-sigma-control>button:hover{background-color:var(--sigma-controls-background-color-hover)}.react-sigma-search{background-color:var(--sigma-controls-background-color)}.react-sigma-search label{visibility:hidden}.react-sigma-search input{color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color);font-size:1em;width:100%;margin:0;border:none;padding:var(--sigma-controls-margin);box-sizing:border-box}:root{--sigma-grey-color:#ccc}.react-sigma .option.hoverable{cursor:pointer!important}.react-sigma .text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.react-sigma .react-select__clear-indicator{cursor:pointer!important}.react-sigma .text-muted{color:var(--sigma-grey-color)}.react-sigma .text-italic{font-style:italic}.react-sigma .text-center{text-align:center}.react-sigma .graph-search{min-width:250px}.react-sigma .graph-search .option{padding:2px 8px}.react-sigma .graph-search .dropdown-indicator{font-size:1.25em;padding:4px}.react-sigma .graph-search .option.selected{background-color:var(--sigma-grey-color)}.react-sigma .node .render{position:relative;display:inline-block;width:1em;height:1em;border-radius:1em;background-color:var(--sigma-grey-color);margin-right:8px}.react-sigma .node{display:flex;flex-direction:row;align-items:center}.react-sigma .node .render{flex-grow:0;flex-shrink:0;margin-right:0 .25em}.react-sigma .node .label{flex-grow:1;flex-shrink:1}.react-sigma .edge{display:flex;flex-direction:column;align-items:flex-start;flex-grow:0;flex-shrink:0;flex-wrap:nowrap}.react-sigma .edge .node{font-size:.7em}.react-sigma .edge .body{display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;min-height:.6em}.react-sigma .edge .body .render{display:flex;flex-direction:column;margin:0 2px}.react-sigma .edge .body .render .dash,.react-sigma .edge .body .render .dotted{display:inline-block;width:0;margin:0 2px;border:2px solid #ccc;flex-grow:1;flex-shrink:1}.react-sigma .edge .body .render .dotted{border-style:dotted}.react-sigma .edge .body .render .arrow{width:0;height:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.6em solid red;flex-shrink:0;flex-grow:0;border-left-width:.3em;border-right-width:.3em}.react-sigma .edge .body .label{flex-grow:1;flex-shrink:1;text-align:center} diff --git a/lightrag/api/webui/assets/index-4I5HV9Fr.js b/lightrag/api/webui/assets/index-C-CHRwmZ.js similarity index 50% rename from lightrag/api/webui/assets/index-4I5HV9Fr.js rename to lightrag/api/webui/assets/index-C-CHRwmZ.js index 297c5542..28e9a046 100644 --- a/lightrag/api/webui/assets/index-4I5HV9Fr.js +++ b/lightrag/api/webui/assets/index-C-CHRwmZ.js @@ -1,4 +1,4 @@ -var l9=Object.defineProperty;var u9=(e,t,n)=>t in e?l9(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Xr=(e,t,n)=>u9(e,typeof t!="symbol"?t+"":t,n);function c9(e,t){for(var n=0;nr[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const o of a)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(a){const o={};return a.integrity&&(o.integrity=a.integrity),a.referrerPolicy&&(o.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?o.credentials="include":a.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(a){if(a.ep)return;a.ep=!0;const o=n(a);fetch(a.href,o)}})();var df=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function un(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function d9(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}),n}var $h={exports:{}},Xl={};/** +var e9=Object.defineProperty;var t9=(e,t,n)=>t in e?e9(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Xr=(e,t,n)=>t9(e,typeof t!="symbol"?t+"":t,n);function n9(e,t){for(var n=0;nr[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const o of a)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(a){const o={};return a.integrity&&(o.integrity=a.integrity),a.referrerPolicy&&(o.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?o.credentials="include":a.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(a){if(a.ep)return;a.ep=!0;const o=n(a);fetch(a.href,o)}})();var ff=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function un(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r9(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}),n}var Hh={exports:{}},Zl={};/** * @license React * react-jsx-runtime.production.js * @@ -6,7 +6,7 @@ var l9=Object.defineProperty;var u9=(e,t,n)=>t in e?l9(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var q_;function f9(){if(q_)return Xl;q_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,a,o){var s=null;if(o!==void 0&&(s=""+o),a.key!==void 0&&(s=""+a.key),"key"in a){o={};for(var u in a)u!=="key"&&(o[u]=a[u])}else o=a;return a=o.ref,{$$typeof:e,type:r,key:s,ref:a!==void 0?a:null,props:o}}return Xl.Fragment=t,Xl.jsx=n,Xl.jsxs=n,Xl}var V_;function p9(){return V_||(V_=1,$h.exports=f9()),$h.exports}var w=p9(),qh={exports:{}},it={};/** + */var G_;function a9(){if(G_)return Zl;G_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,a,o){var s=null;if(o!==void 0&&(s=""+o),a.key!==void 0&&(s=""+a.key),"key"in a){o={};for(var l in a)l!=="key"&&(o[l]=a[l])}else o=a;return a=o.ref,{$$typeof:e,type:r,key:s,ref:a!==void 0?a:null,props:o}}return Zl.Fragment=t,Zl.jsx=n,Zl.jsxs=n,Zl}var H_;function o9(){return H_||(H_=1,Hh.exports=a9()),Hh.exports}var w=o9(),$h={exports:{}},it={};/** * @license React * react.production.js * @@ -14,7 +14,7 @@ var l9=Object.defineProperty;var u9=(e,t,n)=>t in e?l9(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var W_;function g9(){if(W_)return it;W_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),s=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),g=Symbol.iterator;function m(D){return D===null||typeof D!="object"?null:(D=g&&D[g]||D["@@iterator"],typeof D=="function"?D:null)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,S={};function x(D,V,B){this.props=D,this.context=V,this.refs=S,this.updater=B||b}x.prototype.isReactComponent={},x.prototype.setState=function(D,V){if(typeof D!="object"&&typeof D!="function"&&D!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,D,V,"setState")},x.prototype.forceUpdate=function(D){this.updater.enqueueForceUpdate(this,D,"forceUpdate")};function R(){}R.prototype=x.prototype;function k(D,V,B){this.props=D,this.context=V,this.refs=S,this.updater=B||b}var A=k.prototype=new R;A.constructor=k,y(A,x.prototype),A.isPureReactComponent=!0;var C=Array.isArray,N={H:null,A:null,T:null,S:null},_=Object.prototype.hasOwnProperty;function O(D,V,B,M,W,Q){return B=Q.ref,{$$typeof:e,type:D,key:V,ref:B!==void 0?B:null,props:Q}}function F(D,V){return O(D.type,V,void 0,void 0,void 0,D.props)}function L(D){return typeof D=="object"&&D!==null&&D.$$typeof===e}function I(D){var V={"=":"=0",":":"=2"};return"$"+D.replace(/[=:]/g,function(B){return V[B]})}var H=/\/+/g;function $(D,V){return typeof D=="object"&&D!==null&&D.key!=null?I(""+D.key):V.toString(36)}function U(){}function Y(D){switch(D.status){case"fulfilled":return D.value;case"rejected":throw D.reason;default:switch(typeof D.status=="string"?D.then(U,U):(D.status="pending",D.then(function(V){D.status==="pending"&&(D.status="fulfilled",D.value=V)},function(V){D.status==="pending"&&(D.status="rejected",D.reason=V)})),D.status){case"fulfilled":return D.value;case"rejected":throw D.reason}}throw D}function Z(D,V,B,M,W){var Q=typeof D;(Q==="undefined"||Q==="boolean")&&(D=null);var oe=!1;if(D===null)oe=!0;else switch(Q){case"bigint":case"string":case"number":oe=!0;break;case"object":switch(D.$$typeof){case e:case t:oe=!0;break;case p:return oe=D._init,Z(oe(D._payload),V,B,M,W)}}if(oe)return W=W(D),oe=M===""?"."+$(D,0):M,C(W)?(B="",oe!=null&&(B=oe.replace(H,"$&/")+"/"),Z(W,V,B,"",function(Se){return Se})):W!=null&&(L(W)&&(W=F(W,B+(W.key==null||D&&D.key===W.key?"":(""+W.key).replace(H,"$&/")+"/")+oe)),V.push(W)),1;oe=0;var re=M===""?".":M+":";if(C(D))for(var ie=0;iet in e?l9(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var K_;function m9(){return K_||(K_=1,function(e){function t(j,G){var z=j.length;j.push(G);e:for(;0>>1,D=j[K];if(0>>1;Ka(M,z))Wa(Q,M)?(j[K]=Q,j[W]=z,K=W):(j[K]=M,j[B]=z,K=B);else if(Wa(Q,z))j[K]=Q,j[W]=z,K=W;else break e}}return G}function a(j,G){var z=j.sortIndex-G.sortIndex;return z!==0?z:j.id-G.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,u=s.now();e.unstable_now=function(){return s.now()-u}}var c=[],d=[],p=1,g=null,m=3,b=!1,y=!1,S=!1,x=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,k=typeof setImmediate<"u"?setImmediate:null;function A(j){for(var G=n(d);G!==null;){if(G.callback===null)r(d);else if(G.startTime<=j)r(d),G.sortIndex=G.expirationTime,t(c,G);else break;G=n(d)}}function C(j){if(S=!1,A(j),!y)if(n(c)!==null)y=!0,Y();else{var G=n(d);G!==null&&Z(C,G.startTime-j)}}var N=!1,_=-1,O=5,F=-1;function L(){return!(e.unstable_now()-Fj&&L());){var K=g.callback;if(typeof K=="function"){g.callback=null,m=g.priorityLevel;var D=K(g.expirationTime<=j);if(j=e.unstable_now(),typeof D=="function"){g.callback=D,A(j),G=!0;break t}g===n(c)&&r(c),A(j)}else r(c);g=n(c)}if(g!==null)G=!0;else{var V=n(d);V!==null&&Z(C,V.startTime-j),G=!1}}break e}finally{g=null,m=z,b=!1}G=void 0}}finally{G?H():N=!1}}}var H;if(typeof k=="function")H=function(){k(I)};else if(typeof MessageChannel<"u"){var $=new MessageChannel,U=$.port2;$.port1.onmessage=I,H=function(){U.postMessage(null)}}else H=function(){x(I,0)};function Y(){N||(N=!0,H())}function Z(j,G){_=x(function(){j(e.unstable_now())},G)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(j){j.callback=null},e.unstable_continueExecution=function(){y||b||(y=!0,Y())},e.unstable_forceFrameRate=function(j){0>j||125K?(j.sortIndex=z,t(d,j),n(c)===null&&j===n(d)&&(S?(R(_),_=-1):S=!0,Z(C,z-K))):(j.sortIndex=D,t(c,j),y||b||(y=!0,Y())),j},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(j){var G=m;return function(){var z=m;m=G;try{return j.apply(this,arguments)}finally{m=z}}}}(Yh)),Yh}var X_;function b9(){return X_||(X_=1,Wh.exports=m9()),Wh.exports}var Kh={exports:{}},wn={};/** + */var V_;function l9(){return V_||(V_=1,function(e){function t(j,H){var z=j.length;j.push(H);e:for(;0>>1,I=j[Y];if(0>>1;Ya(M,z))Xa(K,M)?(j[Y]=K,j[X]=z,Y=X):(j[Y]=M,j[B]=z,Y=B);else if(Xa(K,z))j[Y]=K,j[X]=z,Y=X;else break e}}return H}function a(j,H){var z=j.sortIndex-H.sortIndex;return z!==0?z:j.id-H.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,l=s.now();e.unstable_now=function(){return s.now()-l}}var c=[],d=[],p=1,g=null,m=3,b=!1,y=!1,S=!1,k=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;function A(j){for(var H=n(d);H!==null;){if(H.callback===null)r(d);else if(H.startTime<=j)r(d),H.sortIndex=H.expirationTime,t(c,H);else break;H=n(d)}}function N(j){if(S=!1,A(j),!y)if(n(c)!==null)y=!0,W();else{var H=n(d);H!==null&&Q(N,H.startTime-j)}}var O=!1,_=-1,C=5,F=-1;function D(){return!(e.unstable_now()-Fj&&D());){var Y=g.callback;if(typeof Y=="function"){g.callback=null,m=g.priorityLevel;var I=Y(g.expirationTime<=j);if(j=e.unstable_now(),typeof I=="function"){g.callback=I,A(j),H=!0;break t}g===n(c)&&r(c),A(j)}else r(c);g=n(c)}if(g!==null)H=!0;else{var V=n(d);V!==null&&Q(N,V.startTime-j),H=!1}}break e}finally{g=null,m=z,b=!1}H=void 0}}finally{H?G():O=!1}}}var G;if(typeof x=="function")G=function(){x(L)};else if(typeof MessageChannel<"u"){var $=new MessageChannel,U=$.port2;$.port1.onmessage=L,G=function(){U.postMessage(null)}}else G=function(){k(L,0)};function W(){O||(O=!0,G())}function Q(j,H){_=k(function(){j(e.unstable_now())},H)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(j){j.callback=null},e.unstable_continueExecution=function(){y||b||(y=!0,W())},e.unstable_forceFrameRate=function(j){0>j||125Y?(j.sortIndex=z,t(d,j),n(c)===null&&j===n(d)&&(S?(R(_),_=-1):S=!0,Q(N,z-Y))):(j.sortIndex=I,t(c,j),y||b||(y=!0,W())),j},e.unstable_shouldYield=D,e.unstable_wrapCallback=function(j){var H=m;return function(){var z=m;m=H;try{return j.apply(this,arguments)}finally{m=z}}}}(Wh)),Wh}var W_;function u9(){return W_||(W_=1,Vh.exports=l9()),Vh.exports}var Yh={exports:{}},wn={};/** * @license React * react-dom.production.js * @@ -30,7 +30,7 @@ var l9=Object.defineProperty;var u9=(e,t,n)=>t in e?l9(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Z_;function y9(){if(Z_)return wn;Z_=1;var e=$f();function t(c){var d="https://react.dev/errors/"+c;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Kh.exports=y9(),Kh.exports}/** + */var Y_;function c9(){if(Y_)return wn;Y_=1;var e=m0();function t(c){var d="https://react.dev/errors/"+c;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Yh.exports=c9(),Yh.exports}/** * @license React * react-dom-client.production.js * @@ -38,16 +38,16 @@ var l9=Object.defineProperty;var u9=(e,t,n)=>t in e?l9(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var J_;function v9(){if(J_)return Zl;J_=1;var e=b9(),t=$f(),n=Pz();function r(i){var l="https://react.dev/errors/"+i;if(1)":-1v||X[h]!==ne[v]){var be=` -`+X[h].replace(" at new "," at ");return i.displayName&&be.includes("")&&(be=be.replace("",i.displayName)),be}while(1<=h&&0<=v);break}}}finally{Y=!1,Error.prepareStackTrace=f}return(f=i?i.displayName||i.name:"")?U(f):""}function j(i){switch(i.tag){case 26:case 27:case 5:return U(i.type);case 16:return U("Lazy");case 13:return U("Suspense");case 19:return U("SuspenseList");case 0:case 15:return i=Z(i.type,!1),i;case 11:return i=Z(i.type.render,!1),i;case 1:return i=Z(i.type,!0),i;default:return""}}function G(i){try{var l="";do l+=j(i),i=i.return;while(i);return l}catch(f){return` +`+G+i+$}var W=!1;function Q(i,u){if(!i||W)return"";W=!0;var f=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var h={DetermineComponentFrameRoot:function(){try{if(u){var Ae=function(){throw Error()};if(Object.defineProperty(Ae.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Ae,[])}catch(ge){var de=ge}Reflect.construct(i,[],Ae)}else{try{Ae.call()}catch(ge){de=ge}i.call(Ae.prototype)}}else{try{throw Error()}catch(ge){de=ge}(Ae=i())&&typeof Ae.catch=="function"&&Ae.catch(function(){})}}catch(ge){if(ge&&de&&typeof ge.stack=="string")return[ge.stack,de.stack]}return[null,null]}};h.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var v=Object.getOwnPropertyDescriptor(h.DetermineComponentFrameRoot,"name");v&&v.configurable&&Object.defineProperty(h.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var T=h.DetermineComponentFrameRoot(),P=T[0],q=T[1];if(P&&q){var Z=P.split(` +`),ae=q.split(` +`);for(v=h=0;hv||Z[h]!==ae[v]){var be=` +`+Z[h].replace(" at new "," at ");return i.displayName&&be.includes("")&&(be=be.replace("",i.displayName)),be}while(1<=h&&0<=v);break}}}finally{W=!1,Error.prepareStackTrace=f}return(f=i?i.displayName||i.name:"")?U(f):""}function j(i){switch(i.tag){case 26:case 27:case 5:return U(i.type);case 16:return U("Lazy");case 13:return U("Suspense");case 19:return U("SuspenseList");case 0:case 15:return i=Q(i.type,!1),i;case 11:return i=Q(i.type.render,!1),i;case 1:return i=Q(i.type,!0),i;default:return""}}function H(i){try{var u="";do u+=j(i),i=i.return;while(i);return u}catch(f){return` Error generating stack: `+f.message+` -`+f.stack}}function z(i){var l=i,f=i;if(i.alternate)for(;l.return;)l=l.return;else{i=l;do l=i,l.flags&4098&&(f=l.return),i=l.return;while(i)}return l.tag===3?f:null}function K(i){if(i.tag===13){var l=i.memoizedState;if(l===null&&(i=i.alternate,i!==null&&(l=i.memoizedState)),l!==null)return l.dehydrated}return null}function D(i){if(z(i)!==i)throw Error(r(188))}function V(i){var l=i.alternate;if(!l){if(l=z(i),l===null)throw Error(r(188));return l!==i?null:i}for(var f=i,h=l;;){var v=f.return;if(v===null)break;var T=v.alternate;if(T===null){if(h=v.return,h!==null){f=h;continue}break}if(v.child===T.child){for(T=v.child;T;){if(T===f)return D(v),i;if(T===h)return D(v),l;T=T.sibling}throw Error(r(188))}if(f.return!==h.return)f=v,h=T;else{for(var P=!1,q=v.child;q;){if(q===f){P=!0,f=v,h=T;break}if(q===h){P=!0,h=v,f=T;break}q=q.sibling}if(!P){for(q=T.child;q;){if(q===f){P=!0,f=T,h=v;break}if(q===h){P=!0,h=T,f=v;break}q=q.sibling}if(!P)throw Error(r(189))}}if(f.alternate!==h)throw Error(r(190))}if(f.tag!==3)throw Error(r(188));return f.stateNode.current===f?i:l}function B(i){var l=i.tag;if(l===5||l===26||l===27||l===6)return i;for(i=i.child;i!==null;){if(l=B(i),l!==null)return l;i=i.sibling}return null}var M=Array.isArray,W=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Q={pending:!1,data:null,method:null,action:null},oe=[],re=-1;function ie(i){return{current:i}}function Se(i){0>re||(i.current=oe[re],oe[re]=null,re--)}function ae(i,l){re++,oe[re]=i.current,i.current=l}var ve=ie(null),xe=ie(null),Ie=ie(null),Ce=ie(null);function ke(i,l){switch(ae(Ie,l),ae(xe,i),ae(ve,null),i=l.nodeType,i){case 9:case 11:l=(l=l.documentElement)&&(l=l.namespaceURI)?S_(l):0;break;default:if(i=i===8?l.parentNode:l,l=i.tagName,i=i.namespaceURI)i=S_(i),l=E_(i,l);else switch(l){case"svg":l=1;break;case"math":l=2;break;default:l=0}}Se(ve),ae(ve,l)}function J(){Se(ve),Se(xe),Se(Ie)}function fe(i){i.memoizedState!==null&&ae(Ce,i);var l=ve.current,f=E_(l,i.type);l!==f&&(ae(xe,i),ae(ve,f))}function Te(i){xe.current===i&&(Se(ve),Se(xe)),Ce.current===i&&(Se(Ce),ql._currentValue=Q)}var me=Object.prototype.hasOwnProperty,Ee=e.unstable_scheduleCallback,le=e.unstable_cancelCallback,Be=e.unstable_shouldYield,Ue=e.unstable_requestPaint,he=e.unstable_now,Ne=e.unstable_getCurrentPriorityLevel,ee=e.unstable_ImmediatePriority,ce=e.unstable_UserBlockingPriority,_e=e.unstable_NormalPriority,Pe=e.unstable_LowPriority,We=e.unstable_IdlePriority,yt=e.log,kt=e.unstable_setDisableYieldValue,ht=null,et=null;function Tt(i){if(et&&typeof et.onCommitFiberRoot=="function")try{et.onCommitFiberRoot(ht,i,void 0,(i.current.flags&128)===128)}catch{}}function ot(i){if(typeof yt=="function"&&kt(i),et&&typeof et.setStrictMode=="function")try{et.setStrictMode(ht,i)}catch{}}var St=Math.clz32?Math.clz32:zt,Ht=Math.log,fn=Math.LN2;function zt(i){return i>>>=0,i===0?32:31-(Ht(i)/fn|0)|0}var or=128,$r=4194304;function Jt(i){var l=i&42;if(l!==0)return l;switch(i&-i){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i&4194176;case 4194304:case 8388608:case 16777216:case 33554432:return i&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return i}}function fa(i,l){var f=i.pendingLanes;if(f===0)return 0;var h=0,v=i.suspendedLanes,T=i.pingedLanes,P=i.warmLanes;i=i.finishedLanes!==0;var q=f&134217727;return q!==0?(f=q&~v,f!==0?h=Jt(f):(T&=q,T!==0?h=Jt(T):i||(P=q&~P,P!==0&&(h=Jt(P))))):(q=f&~v,q!==0?h=Jt(q):T!==0?h=Jt(T):i||(P=f&~P,P!==0&&(h=Jt(P)))),h===0?0:l!==0&&l!==h&&!(l&v)&&(v=h&-h,P=l&-l,v>=P||v===32&&(P&4194176)!==0)?l:h}function Xe(i,l){return(i.pendingLanes&~(i.suspendedLanes&~i.pingedLanes)&l)===0}function mt(i,l){switch(i){case 1:case 2:case 4:case 8:return l+250;case 16:case 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 l+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ct(){var i=or;return or<<=1,!(or&4194176)&&(or=128),i}function Dn(){var i=$r;return $r<<=1,!($r&62914560)&&($r=4194304),i}function _n(i){for(var l=[],f=0;31>f;f++)l.push(i);return l}function In(i,l){i.pendingLanes|=l,l!==268435456&&(i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0)}function pa(i,l,f,h,v,T){var P=i.pendingLanes;i.pendingLanes=f,i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0,i.expiredLanes&=f,i.entangledLanes&=f,i.errorRecoveryDisabledLanes&=f,i.shellSuspendCounter=0;var q=i.entanglements,X=i.expirationTimes,ne=i.hiddenUpdates;for(f=P&~f;0"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),t$=RegExp("^[: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]*$"),EA={},wA={};function n$(i){return me.call(wA,i)?!0:me.call(EA,i)?!1:t$.test(i)?wA[i]=!0:(EA[i]=!0,!1)}function sc(i,l,f){if(n$(l))if(f===null)i.removeAttribute(l);else{switch(typeof f){case"undefined":case"function":case"symbol":i.removeAttribute(l);return;case"boolean":var h=l.toLowerCase().slice(0,5);if(h!=="data-"&&h!=="aria-"){i.removeAttribute(l);return}}i.setAttribute(l,""+f)}}function lc(i,l,f){if(f===null)i.removeAttribute(l);else{switch(typeof f){case"undefined":case"function":case"symbol":case"boolean":i.removeAttribute(l);return}i.setAttribute(l,""+f)}}function ha(i,l,f,h){if(h===null)i.removeAttribute(f);else{switch(typeof h){case"undefined":case"function":case"symbol":case"boolean":i.removeAttribute(f);return}i.setAttributeNS(l,f,""+h)}}function ir(i){switch(typeof i){case"bigint":case"boolean":case"number":case"string":case"undefined":return i;case"object":return i;default:return""}}function xA(i){var l=i.type;return(i=i.nodeName)&&i.toLowerCase()==="input"&&(l==="checkbox"||l==="radio")}function r$(i){var l=xA(i)?"checked":"value",f=Object.getOwnPropertyDescriptor(i.constructor.prototype,l),h=""+i[l];if(!i.hasOwnProperty(l)&&typeof f<"u"&&typeof f.get=="function"&&typeof f.set=="function"){var v=f.get,T=f.set;return Object.defineProperty(i,l,{configurable:!0,get:function(){return v.call(this)},set:function(P){h=""+P,T.call(this,P)}}),Object.defineProperty(i,l,{enumerable:f.enumerable}),{getValue:function(){return h},setValue:function(P){h=""+P},stopTracking:function(){i._valueTracker=null,delete i[l]}}}}function uc(i){i._valueTracker||(i._valueTracker=r$(i))}function kA(i){if(!i)return!1;var l=i._valueTracker;if(!l)return!0;var f=l.getValue(),h="";return i&&(h=xA(i)?i.checked?"true":"false":i.value),i=h,i!==f?(l.setValue(i),!0):!1}function cc(i){if(i=i||(typeof document<"u"?document:void 0),typeof i>"u")return null;try{return i.activeElement||i.body}catch{return i.body}}var a$=/[\n"\\]/g;function sr(i){return i.replace(a$,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Gp(i,l,f,h,v,T,P,q){i.name="",P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"?i.type=P:i.removeAttribute("type"),l!=null?P==="number"?(l===0&&i.value===""||i.value!=l)&&(i.value=""+ir(l)):i.value!==""+ir(l)&&(i.value=""+ir(l)):P!=="submit"&&P!=="reset"||i.removeAttribute("value"),l!=null?Hp(i,P,ir(l)):f!=null?Hp(i,P,ir(f)):h!=null&&i.removeAttribute("value"),v==null&&T!=null&&(i.defaultChecked=!!T),v!=null&&(i.checked=v&&typeof v!="function"&&typeof v!="symbol"),q!=null&&typeof q!="function"&&typeof q!="symbol"&&typeof q!="boolean"?i.name=""+ir(q):i.removeAttribute("name")}function TA(i,l,f,h,v,T,P,q){if(T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"&&(i.type=T),l!=null||f!=null){if(!(T!=="submit"&&T!=="reset"||l!=null))return;f=f!=null?""+ir(f):"",l=l!=null?""+ir(l):f,q||l===i.value||(i.value=l),i.defaultValue=l}h=h??v,h=typeof h!="function"&&typeof h!="symbol"&&!!h,i.checked=q?i.checked:!!h,i.defaultChecked=!!h,P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"&&(i.name=P)}function Hp(i,l,f){l==="number"&&cc(i.ownerDocument)===i||i.defaultValue===""+f||(i.defaultValue=""+f)}function Oi(i,l,f,h){if(i=i.options,l){l={};for(var v=0;v=ul),zA=" ",BA=!1;function UA(i,l){switch(i){case"keyup":return D$.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function jA(i){return i=i.detail,typeof i=="object"&&"data"in i?i.data:null}var Mi=!1;function L$(i,l){switch(i){case"compositionend":return jA(l);case"keypress":return l.which!==32?null:(BA=!0,zA);case"textInput":return i=l.data,i===zA&&BA?null:i;default:return null}}function M$(i,l){if(Mi)return i==="compositionend"||!eg&&UA(i,l)?(i=DA(),fc=Kp=Xa=null,Mi=!1,i):null;switch(i){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:f,offset:l-i};i=h}e:{for(;f;){if(f.nextSibling){f=f.nextSibling;break e}f=f.parentNode}f=void 0}f=KA(f)}}function ZA(i,l){return i&&l?i===l?!0:i&&i.nodeType===3?!1:l&&l.nodeType===3?ZA(i,l.parentNode):"contains"in i?i.contains(l):i.compareDocumentPosition?!!(i.compareDocumentPosition(l)&16):!1:!1}function QA(i){i=i!=null&&i.ownerDocument!=null&&i.ownerDocument.defaultView!=null?i.ownerDocument.defaultView:window;for(var l=cc(i.document);l instanceof i.HTMLIFrameElement;){try{var f=typeof l.contentWindow.location.href=="string"}catch{f=!1}if(f)i=l.contentWindow;else break;l=cc(i.document)}return l}function rg(i){var l=i&&i.nodeName&&i.nodeName.toLowerCase();return l&&(l==="input"&&(i.type==="text"||i.type==="search"||i.type==="tel"||i.type==="url"||i.type==="password")||l==="textarea"||i.contentEditable==="true")}function H$(i,l){var f=QA(l);l=i.focusedElem;var h=i.selectionRange;if(f!==l&&l&&l.ownerDocument&&ZA(l.ownerDocument.documentElement,l)){if(h!==null&&rg(l)){if(i=h.start,f=h.end,f===void 0&&(f=i),"selectionStart"in l)l.selectionStart=i,l.selectionEnd=Math.min(f,l.value.length);else if(f=(i=l.ownerDocument||document)&&i.defaultView||window,f.getSelection){f=f.getSelection();var v=l.textContent.length,T=Math.min(h.start,v);h=h.end===void 0?T:Math.min(h.end,v),!f.extend&&T>h&&(v=h,h=T,T=v),v=XA(l,T);var P=XA(l,h);v&&P&&(f.rangeCount!==1||f.anchorNode!==v.node||f.anchorOffset!==v.offset||f.focusNode!==P.node||f.focusOffset!==P.offset)&&(i=i.createRange(),i.setStart(v.node,v.offset),f.removeAllRanges(),T>h?(f.addRange(i),f.extend(P.node,P.offset)):(i.setEnd(P.node,P.offset),f.addRange(i)))}}for(i=[],f=l;f=f.parentNode;)f.nodeType===1&&i.push({element:f,left:f.scrollLeft,top:f.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;l=document.documentMode,Fi=null,ag=null,pl=null,og=!1;function JA(i,l,f){var h=f.window===f?f.document:f.nodeType===9?f:f.ownerDocument;og||Fi==null||Fi!==cc(h)||(h=Fi,"selectionStart"in h&&rg(h)?h={start:h.selectionStart,end:h.selectionEnd}:(h=(h.ownerDocument&&h.ownerDocument.defaultView||window).getSelection(),h={anchorNode:h.anchorNode,anchorOffset:h.anchorOffset,focusNode:h.focusNode,focusOffset:h.focusOffset}),pl&&fl(pl,h)||(pl=h,h=Jc(ag,"onSelect"),0>=P,v-=P,ma=1<<32-St(l)+v|f<Je?(sn=Ye,Ye=null):sn=Ye.sibling;var wt=de(se,Ye,ue[Je],we);if(wt===null){Ye===null&&(Ye=sn);break}i&&Ye&&wt.alternate===null&&l(se,Ye),te=T(wt,te,Je),lt===null?Ge=wt:lt.sibling=wt,lt=wt,Ye=sn}if(Je===ue.length)return f(se,Ye),Et&&Go(se,Je),Ge;if(Ye===null){for(;JeJe?(sn=Ye,Ye=null):sn=Ye.sibling;var bo=de(se,Ye,wt.value,we);if(bo===null){Ye===null&&(Ye=sn);break}i&&Ye&&bo.alternate===null&&l(se,Ye),te=T(bo,te,Je),lt===null?Ge=bo:lt.sibling=bo,lt=bo,Ye=sn}if(wt.done)return f(se,Ye),Et&&Go(se,Je),Ge;if(Ye===null){for(;!wt.done;Je++,wt=ue.next())wt=Ae(se,wt.value,we),wt!==null&&(te=T(wt,te,Je),lt===null?Ge=wt:lt.sibling=wt,lt=wt);return Et&&Go(se,Je),Ge}for(Ye=h(Ye);!wt.done;Je++,wt=ue.next())wt=ge(Ye,se,Je,wt.value,we),wt!==null&&(i&&wt.alternate!==null&&Ye.delete(wt.key===null?Je:wt.key),te=T(wt,te,Je),lt===null?Ge=wt:lt.sibling=wt,lt=wt);return i&&Ye.forEach(function(s9){return l(se,s9)}),Et&&Go(se,Je),Ge}function Vt(se,te,ue,we){if(typeof ue=="object"&&ue!==null&&ue.type===c&&ue.key===null&&(ue=ue.props.children),typeof ue=="object"&&ue!==null){switch(ue.$$typeof){case s:e:{for(var Ge=ue.key;te!==null;){if(te.key===Ge){if(Ge=ue.type,Ge===c){if(te.tag===7){f(se,te.sibling),we=v(te,ue.props.children),we.return=se,se=we;break e}}else if(te.elementType===Ge||typeof Ge=="object"&&Ge!==null&&Ge.$$typeof===k&&m1(Ge)===te.type){f(se,te.sibling),we=v(te,ue.props),Sl(we,ue),we.return=se,se=we;break e}f(se,te);break}else l(se,te);te=te.sibling}ue.type===c?(we=Jo(ue.props.children,se.mode,we,ue.key),we.return=se,se=we):(we=Hc(ue.type,ue.key,ue.props,null,se.mode,we),Sl(we,ue),we.return=se,se=we)}return P(se);case u:e:{for(Ge=ue.key;te!==null;){if(te.key===Ge)if(te.tag===4&&te.stateNode.containerInfo===ue.containerInfo&&te.stateNode.implementation===ue.implementation){f(se,te.sibling),we=v(te,ue.children||[]),we.return=se,se=we;break e}else{f(se,te);break}else l(se,te);te=te.sibling}we=sh(ue,se.mode,we),we.return=se,se=we}return P(se);case k:return Ge=ue._init,ue=Ge(ue._payload),Vt(se,te,ue,we)}if(M(ue))return qe(se,te,ue,we);if(_(ue)){if(Ge=_(ue),typeof Ge!="function")throw Error(r(150));return ue=Ge.call(ue),nt(se,te,ue,we)}if(typeof ue.then=="function")return Vt(se,te,kc(ue),we);if(ue.$$typeof===b)return Vt(se,te,Uc(se,ue),we);Tc(se,ue)}return typeof ue=="string"&&ue!==""||typeof ue=="number"||typeof ue=="bigint"?(ue=""+ue,te!==null&&te.tag===6?(f(se,te.sibling),we=v(te,ue),we.return=se,se=we):(f(se,te),we=ih(ue,se.mode,we),we.return=se,se=we),P(se)):f(se,te)}return function(se,te,ue,we){try{vl=0;var Ge=Vt(se,te,ue,we);return Gi=null,Ge}catch(Ye){if(Ye===bl)throw Ye;var lt=hr(29,Ye,null,se.mode);return lt.lanes=we,lt.return=se,lt}finally{}}}var $o=b1(!0),y1=b1(!1),Hi=ie(null),Ac=ie(0);function v1(i,l){i=_a,ae(Ac,i),ae(Hi,l),_a=i|l.baseLanes}function pg(){ae(Ac,_a),ae(Hi,Hi.current)}function gg(){_a=Ac.current,Se(Hi),Se(Ac)}var fr=ie(null),Vr=null;function Qa(i){var l=i.alternate;ae(en,en.current&1),ae(fr,i),Vr===null&&(l===null||Hi.current!==null||l.memoizedState!==null)&&(Vr=i)}function S1(i){if(i.tag===22){if(ae(en,en.current),ae(fr,i),Vr===null){var l=i.alternate;l!==null&&l.memoizedState!==null&&(Vr=i)}}else Ja()}function Ja(){ae(en,en.current),ae(fr,fr.current)}function ya(i){Se(fr),Vr===i&&(Vr=null),Se(en)}var en=ie(0);function Rc(i){for(var l=i;l!==null;){if(l.tag===13){var f=l.memoizedState;if(f!==null&&(f=f.dehydrated,f===null||f.data==="$?"||f.data==="$!"))return l}else if(l.tag===19&&l.memoizedProps.revealOrder!==void 0){if(l.flags&128)return l}else if(l.child!==null){l.child.return=l,l=l.child;continue}if(l===i)break;for(;l.sibling===null;){if(l.return===null||l.return===i)return null;l=l.return}l.sibling.return=l.return,l=l.sibling}return null}var Y$=typeof AbortController<"u"?AbortController:function(){var i=[],l=this.signal={aborted:!1,addEventListener:function(f,h){i.push(h)}};this.abort=function(){l.aborted=!0,i.forEach(function(f){return f()})}},K$=e.unstable_scheduleCallback,X$=e.unstable_NormalPriority,tn={$$typeof:b,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function hg(){return{controller:new Y$,data:new Map,refCount:0}}function El(i){i.refCount--,i.refCount===0&&K$(X$,function(){i.controller.abort()})}var wl=null,mg=0,$i=0,qi=null;function Z$(i,l){if(wl===null){var f=wl=[];mg=0,$i=wh(),qi={status:"pending",value:void 0,then:function(h){f.push(h)}}}return mg++,l.then(E1,E1),l}function E1(){if(--mg===0&&wl!==null){qi!==null&&(qi.status="fulfilled");var i=wl;wl=null,$i=0,qi=null;for(var l=0;lT?T:8;var P=L.T,q={};L.T=q,Ig(i,!1,l,f);try{var X=v(),ne=L.S;if(ne!==null&&ne(q,X),X!==null&&typeof X=="object"&&typeof X.then=="function"){var be=Q$(X,h);Tl(i,l,be,Qn(i))}else Tl(i,l,h,Qn(i))}catch(Ae){Tl(i,l,{then:function(){},status:"rejected",reason:Ae},Qn())}finally{W.p=T,L.T=P}}function r6(){}function Og(i,l,f,h){if(i.tag!==5)throw Error(r(476));var v=Q1(i).queue;Z1(i,v,l,Q,f===null?r6:function(){return J1(i),f(h)})}function Q1(i){var l=i.memoizedState;if(l!==null)return l;l={memoizedState:Q,baseState:Q,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:va,lastRenderedState:Q},next:null};var f={};return l.next={memoizedState:f,baseState:f,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:va,lastRenderedState:f},next:null},i.memoizedState=l,i=i.alternate,i!==null&&(i.memoizedState=l),l}function J1(i){var l=Q1(i).next.queue;Tl(i,l,{},Qn())}function Dg(){return En(ql)}function eR(){return Xt().memoizedState}function tR(){return Xt().memoizedState}function a6(i){for(var l=i.return;l!==null;){switch(l.tag){case 24:case 3:var f=Qn();i=ao(f);var h=oo(l,i,f);h!==null&&(Nn(h,l,f),_l(h,l,f)),l={cache:hg()},i.payload=l;return}l=l.return}}function o6(i,l,f){var h=Qn();f={lane:h,revertLane:0,action:f,hasEagerState:!1,eagerState:null,next:null},Fc(i)?rR(l,f):(f=lg(i,l,f,h),f!==null&&(Nn(f,i,h),aR(f,l,h)))}function nR(i,l,f){var h=Qn();Tl(i,l,f,h)}function Tl(i,l,f,h){var v={lane:h,revertLane:0,action:f,hasEagerState:!1,eagerState:null,next:null};if(Fc(i))rR(l,v);else{var T=i.alternate;if(i.lanes===0&&(T===null||T.lanes===0)&&(T=l.lastRenderedReducer,T!==null))try{var P=l.lastRenderedState,q=T(P,f);if(v.hasEagerState=!0,v.eagerState=q,Yn(q,P))return vc(i,l,v,0),It===null&&yc(),!1}catch{}finally{}if(f=lg(i,l,v,h),f!==null)return Nn(f,i,h),aR(f,l,h),!0}return!1}function Ig(i,l,f,h){if(h={lane:2,revertLane:wh(),action:h,hasEagerState:!1,eagerState:null,next:null},Fc(i)){if(l)throw Error(r(479))}else l=lg(i,f,h,2),l!==null&&Nn(l,i,2)}function Fc(i){var l=i.alternate;return i===st||l!==null&&l===st}function rR(i,l){Vi=Cc=!0;var f=i.pending;f===null?l.next=l:(l.next=f.next,f.next=l),i.pending=l}function aR(i,l,f){if(f&4194176){var h=l.lanes;h&=i.pendingLanes,f|=h,l.lanes=f,Rr(i,f)}}var Wr={readContext:En,use:Dc,useCallback:Wt,useContext:Wt,useEffect:Wt,useImperativeHandle:Wt,useLayoutEffect:Wt,useInsertionEffect:Wt,useMemo:Wt,useReducer:Wt,useRef:Wt,useState:Wt,useDebugValue:Wt,useDeferredValue:Wt,useTransition:Wt,useSyncExternalStore:Wt,useId:Wt};Wr.useCacheRefresh=Wt,Wr.useMemoCache=Wt,Wr.useHostTransitionStatus=Wt,Wr.useFormState=Wt,Wr.useActionState=Wt,Wr.useOptimistic=Wt;var Wo={readContext:En,use:Dc,useCallback:function(i,l){return Pn().memoizedState=[i,l===void 0?null:l],i},useContext:En,useEffect:H1,useImperativeHandle:function(i,l,f){f=f!=null?f.concat([i]):null,Lc(4194308,4,V1.bind(null,l,i),f)},useLayoutEffect:function(i,l){return Lc(4194308,4,i,l)},useInsertionEffect:function(i,l){Lc(4,2,i,l)},useMemo:function(i,l){var f=Pn();l=l===void 0?null:l;var h=i();if(Vo){ot(!0);try{i()}finally{ot(!1)}}return f.memoizedState=[h,l],h},useReducer:function(i,l,f){var h=Pn();if(f!==void 0){var v=f(l);if(Vo){ot(!0);try{f(l)}finally{ot(!1)}}}else v=l;return h.memoizedState=h.baseState=v,i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:i,lastRenderedState:v},h.queue=i,i=i.dispatch=o6.bind(null,st,i),[h.memoizedState,i]},useRef:function(i){var l=Pn();return i={current:i},l.memoizedState=i},useState:function(i){i=Ag(i);var l=i.queue,f=nR.bind(null,st,l);return l.dispatch=f,[i.memoizedState,f]},useDebugValue:Cg,useDeferredValue:function(i,l){var f=Pn();return Ng(f,i,l)},useTransition:function(){var i=Ag(!1);return i=Z1.bind(null,st,i.queue,!0,!1),Pn().memoizedState=i,[!1,i]},useSyncExternalStore:function(i,l,f){var h=st,v=Pn();if(Et){if(f===void 0)throw Error(r(407));f=f()}else{if(f=l(),It===null)throw Error(r(349));bt&60||R1(h,l,f)}v.memoizedState=f;var T={value:f,getSnapshot:l};return v.queue=T,H1(C1.bind(null,h,T,i),[i]),h.flags|=2048,Yi(9,_1.bind(null,h,T,f,l),{destroy:void 0},null),f},useId:function(){var i=Pn(),l=It.identifierPrefix;if(Et){var f=ba,h=ma;f=(h&~(1<<32-St(h)-1)).toString(32)+f,l=":"+l+"R"+f,f=Nc++,0 title"))),hn(T,h,f),T[Sn]=i,rn(T),h=T;break e;case"link":var P=O_("link","href",v).get(h+(f.href||""));if(P){for(var q=0;q<\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof h.is=="string"?v.createElement("select",{is:h.is}):v.createElement("select"),h.multiple?i.multiple=!0:h.size&&(i.size=h.size);break;default:i=typeof h.is=="string"?v.createElement(f,{is:h.is}):v.createElement(f)}}i[Sn]=l,i[Mn]=h;e:for(v=l.child;v!==null;){if(v.tag===5||v.tag===6)i.appendChild(v.stateNode);else if(v.tag!==4&&v.tag!==27&&v.child!==null){v.child.return=v,v=v.child;continue}if(v===l)break e;for(;v.sibling===null;){if(v.return===null||v.return===l)break e;v=v.return}v.sibling.return=v.return,v=v.sibling}l.stateNode=i;e:switch(hn(i,f,h),f){case"button":case"input":case"select":case"textarea":i=!!h.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&Aa(l)}}return Bt(l),l.flags&=-16777217,null;case 6:if(i&&l.stateNode!=null)i.memoizedProps!==h&&Aa(l);else{if(typeof h!="string"&&l.stateNode===null)throw Error(r(166));if(i=Ie.current,gl(l)){if(i=l.stateNode,f=l.memoizedProps,h=null,v=Cn,v!==null)switch(v.tag){case 27:case 5:h=v.memoizedProps}i[Sn]=l,i=!!(i.nodeValue===f||h!==null&&h.suppressHydrationWarning===!0||v_(i.nodeValue,f)),i||Ho(l)}else i=td(i).createTextNode(h),i[Sn]=l,l.stateNode=i}return Bt(l),null;case 13:if(h=l.memoizedState,i===null||i.memoizedState!==null&&i.memoizedState.dehydrated!==null){if(v=gl(l),h!==null&&h.dehydrated!==null){if(i===null){if(!v)throw Error(r(318));if(v=l.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(r(317));v[Sn]=l}else hl(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;Bt(l),v=!1}else Cr!==null&&(hh(Cr),Cr=null),v=!0;if(!v)return l.flags&256?(ya(l),l):(ya(l),null)}if(ya(l),l.flags&128)return l.lanes=f,l;if(f=h!==null,i=i!==null&&i.memoizedState!==null,f){h=l.child,v=null,h.alternate!==null&&h.alternate.memoizedState!==null&&h.alternate.memoizedState.cachePool!==null&&(v=h.alternate.memoizedState.cachePool.pool);var T=null;h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(T=h.memoizedState.cachePool.pool),T!==v&&(h.flags|=2048)}return f!==i&&f&&(l.child.flags|=8192),$c(l,l.updateQueue),Bt(l),null;case 4:return J(),i===null&&Ah(l.stateNode.containerInfo),Bt(l),null;case 10:return wa(l.type),Bt(l),null;case 19:if(Se(en),v=l.memoizedState,v===null)return Bt(l),null;if(h=(l.flags&128)!==0,T=v.rendering,T===null)if(h)Ml(v,!1);else{if(qt!==0||i!==null&&i.flags&128)for(i=l.child;i!==null;){if(T=Rc(i),T!==null){for(l.flags|=128,Ml(v,!1),i=T.updateQueue,l.updateQueue=i,$c(l,i),l.subtreeFlags=0,i=f,f=l.child;f!==null;)WR(f,i),f=f.sibling;return ae(en,en.current&1|2),l.child}i=i.sibling}v.tail!==null&&he()>qc&&(l.flags|=128,h=!0,Ml(v,!1),l.lanes=4194304)}else{if(!h)if(i=Rc(T),i!==null){if(l.flags|=128,h=!0,i=i.updateQueue,l.updateQueue=i,$c(l,i),Ml(v,!0),v.tail===null&&v.tailMode==="hidden"&&!T.alternate&&!Et)return Bt(l),null}else 2*he()-v.renderingStartTime>qc&&f!==536870912&&(l.flags|=128,h=!0,Ml(v,!1),l.lanes=4194304);v.isBackwards?(T.sibling=l.child,l.child=T):(i=v.last,i!==null?i.sibling=T:l.child=T,v.last=T)}return v.tail!==null?(l=v.tail,v.rendering=l,v.tail=l.sibling,v.renderingStartTime=he(),l.sibling=null,i=en.current,ae(en,h?i&1|2:i&1),l):(Bt(l),null);case 22:case 23:return ya(l),gg(),h=l.memoizedState!==null,i!==null?i.memoizedState!==null!==h&&(l.flags|=8192):h&&(l.flags|=8192),h?f&536870912&&!(l.flags&128)&&(Bt(l),l.subtreeFlags&6&&(l.flags|=8192)):Bt(l),f=l.updateQueue,f!==null&&$c(l,f.retryQueue),f=null,i!==null&&i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(f=i.memoizedState.cachePool.pool),h=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(h=l.memoizedState.cachePool.pool),h!==f&&(l.flags|=2048),i!==null&&Se(qo),null;case 24:return f=null,i!==null&&(f=i.memoizedState.cache),l.memoizedState.cache!==f&&(l.flags|=2048),wa(tn),Bt(l),null;case 25:return null}throw Error(r(156,l.tag))}function f6(i,l){switch(cg(l),l.tag){case 1:return i=l.flags,i&65536?(l.flags=i&-65537|128,l):null;case 3:return wa(tn),J(),i=l.flags,i&65536&&!(i&128)?(l.flags=i&-65537|128,l):null;case 26:case 27:case 5:return Te(l),null;case 13:if(ya(l),i=l.memoizedState,i!==null&&i.dehydrated!==null){if(l.alternate===null)throw Error(r(340));hl()}return i=l.flags,i&65536?(l.flags=i&-65537|128,l):null;case 19:return Se(en),null;case 4:return J(),null;case 10:return wa(l.type),null;case 22:case 23:return ya(l),gg(),i!==null&&Se(qo),i=l.flags,i&65536?(l.flags=i&-65537|128,l):null;case 24:return wa(tn),null;case 25:return null;default:return null}}function XR(i,l){switch(cg(l),l.tag){case 3:wa(tn),J();break;case 26:case 27:case 5:Te(l);break;case 4:J();break;case 13:ya(l);break;case 19:Se(en);break;case 10:wa(l.type);break;case 22:case 23:ya(l),gg(),i!==null&&Se(qo);break;case 24:wa(tn)}}var p6={getCacheForType:function(i){var l=En(tn),f=l.data.get(i);return f===void 0&&(f=i(),l.data.set(i,f)),f}},g6=typeof WeakMap=="function"?WeakMap:Map,Ut=0,It=null,ct=null,bt=0,Lt=0,Zn=null,Ra=!1,Qi=!1,lh=!1,_a=0,qt=0,co=0,ei=0,uh=0,mr=0,Ji=0,Fl=null,Yr=null,ch=!1,dh=0,qc=1/0,Vc=null,fo=null,Wc=!1,ti=null,Pl=0,fh=0,ph=null,zl=0,gh=null;function Qn(){if(Ut&2&&bt!==0)return bt&-bt;if(L.T!==null){var i=$i;return i!==0?i:wh()}return bA()}function ZR(){mr===0&&(mr=!(bt&536870912)||Et?Ct():536870912);var i=fr.current;return i!==null&&(i.flags|=32),mr}function Nn(i,l,f){(i===It&&Lt===2||i.cancelPendingCommit!==null)&&(es(i,0),Ca(i,bt,mr,!1)),In(i,f),(!(Ut&2)||i!==It)&&(i===It&&(!(Ut&2)&&(ei|=f),qt===4&&Ca(i,bt,mr,!1)),Kr(i))}function QR(i,l,f){if(Ut&6)throw Error(r(327));var h=!f&&(l&60)===0&&(l&i.expiredLanes)===0||Xe(i,l),v=h?b6(i,l):yh(i,l,!0),T=h;do{if(v===0){Qi&&!h&&Ca(i,l,0,!1);break}else if(v===6)Ca(i,l,0,!Ra);else{if(f=i.current.alternate,T&&!h6(f)){v=yh(i,l,!1),T=!1;continue}if(v===2){if(T=l,i.errorRecoveryDisabledLanes&T)var P=0;else P=i.pendingLanes&-536870913,P=P!==0?P:P&536870912?536870912:0;if(P!==0){l=P;e:{var q=i;v=Fl;var X=q.current.memoizedState.isDehydrated;if(X&&(es(q,P).flags|=256),P=yh(q,P,!1),P!==2){if(lh&&!X){q.errorRecoveryDisabledLanes|=T,ei|=T,v=4;break e}T=Yr,Yr=v,T!==null&&hh(T)}v=P}if(T=!1,v!==2)continue}}if(v===1){es(i,0),Ca(i,l,0,!0);break}e:{switch(h=i,v){case 0:case 1:throw Error(r(345));case 4:if((l&4194176)===l){Ca(h,l,mr,!Ra);break e}break;case 2:Yr=null;break;case 3:case 5:break;default:throw Error(r(329))}if(h.finishedWork=f,h.finishedLanes=l,(l&62914560)===l&&(T=dh+300-he(),10f?32:f,L.T=null,ti===null)var T=!1;else{f=ph,ph=null;var P=ti,q=Pl;if(ti=null,Pl=0,Ut&6)throw Error(r(331));var X=Ut;if(Ut|=4,qR(P.current),GR(P,P.current,q,f),Ut=X,Bl(0,!1),et&&typeof et.onPostCommitFiberRoot=="function")try{et.onPostCommitFiberRoot(ht,P)}catch{}T=!0}return T}finally{W.p=v,L.T=h,s_(i,l)}}return!1}function l_(i,l,f){l=ur(f,l),l=Fg(i.stateNode,l,2),i=oo(i,l,2),i!==null&&(In(i,2),Kr(i))}function Nt(i,l,f){if(i.tag===3)l_(i,i,f);else for(;l!==null;){if(l.tag===3){l_(l,i,f);break}else if(l.tag===1){var h=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof h.componentDidCatch=="function"&&(fo===null||!fo.has(h))){i=ur(f,i),f=dR(2),h=oo(l,f,2),h!==null&&(fR(f,h,l,i),In(h,2),Kr(h));break}}l=l.return}}function vh(i,l,f){var h=i.pingCache;if(h===null){h=i.pingCache=new g6;var v=new Set;h.set(l,v)}else v=h.get(l),v===void 0&&(v=new Set,h.set(l,v));v.has(f)||(lh=!0,v.add(f),i=S6.bind(null,i,l,f),l.then(i,i))}function S6(i,l,f){var h=i.pingCache;h!==null&&h.delete(l),i.pingedLanes|=i.suspendedLanes&f,i.warmLanes&=~f,It===i&&(bt&f)===f&&(qt===4||qt===3&&(bt&62914560)===bt&&300>he()-dh?!(Ut&2)&&es(i,0):uh|=f,Ji===bt&&(Ji=0)),Kr(i)}function u_(i,l){l===0&&(l=Dn()),i=Za(i,l),i!==null&&(In(i,l),Kr(i))}function E6(i){var l=i.memoizedState,f=0;l!==null&&(f=l.retryLane),u_(i,f)}function w6(i,l){var f=0;switch(i.tag){case 13:var h=i.stateNode,v=i.memoizedState;v!==null&&(f=v.retryLane);break;case 19:h=i.stateNode;break;case 22:h=i.stateNode._retryCache;break;default:throw Error(r(314))}h!==null&&h.delete(l),u_(i,f)}function x6(i,l){return Ee(i,l)}var Xc=null,rs=null,Sh=!1,Zc=!1,Eh=!1,ni=0;function Kr(i){i!==rs&&i.next===null&&(rs===null?Xc=rs=i:rs=rs.next=i),Zc=!0,Sh||(Sh=!0,T6(k6))}function Bl(i,l){if(!Eh&&Zc){Eh=!0;do for(var f=!1,h=Xc;h!==null;){if(i!==0){var v=h.pendingLanes;if(v===0)var T=0;else{var P=h.suspendedLanes,q=h.pingedLanes;T=(1<<31-St(42|i)+1)-1,T&=v&~(P&~q),T=T&201326677?T&201326677|1:T?T|2:0}T!==0&&(f=!0,f_(h,T))}else T=bt,T=fa(h,h===It?T:0),!(T&3)||Xe(h,T)||(f=!0,f_(h,T));h=h.next}while(f);Eh=!1}}function k6(){Zc=Sh=!1;var i=0;ni!==0&&(I6()&&(i=ni),ni=0);for(var l=he(),f=null,h=Xc;h!==null;){var v=h.next,T=c_(h,l);T===0?(h.next=null,f===null?Xc=v:f.next=v,v===null&&(rs=f)):(f=h,(i!==0||T&3)&&(Zc=!0)),h=v}Bl(i)}function c_(i,l){for(var f=i.suspendedLanes,h=i.pingedLanes,v=i.expirationTimes,T=i.pendingLanes&-62914561;0"u"?null:document;function R_(i,l,f){var h=os;if(h&&typeof l=="string"&&l){var v=sr(l);v='link[rel="'+i+'"][href="'+v+'"]',typeof f=="string"&&(v+='[crossorigin="'+f+'"]'),A_.has(v)||(A_.add(v),i={rel:i,crossOrigin:f,href:l},h.querySelector(v)===null&&(l=h.createElement("link"),hn(l,"link",i),rn(l),h.head.appendChild(l)))}}function j6(i){Na.D(i),R_("dns-prefetch",i,null)}function G6(i,l){Na.C(i,l),R_("preconnect",i,l)}function H6(i,l,f){Na.L(i,l,f);var h=os;if(h&&i&&l){var v='link[rel="preload"][as="'+sr(l)+'"]';l==="image"&&f&&f.imageSrcSet?(v+='[imagesrcset="'+sr(f.imageSrcSet)+'"]',typeof f.imageSizes=="string"&&(v+='[imagesizes="'+sr(f.imageSizes)+'"]')):v+='[href="'+sr(i)+'"]';var T=v;switch(l){case"style":T=is(i);break;case"script":T=ss(i)}br.has(T)||(i=I({rel:"preload",href:l==="image"&&f&&f.imageSrcSet?void 0:i,as:l},f),br.set(T,i),h.querySelector(v)!==null||l==="style"&&h.querySelector(Gl(T))||l==="script"&&h.querySelector(Hl(T))||(l=h.createElement("link"),hn(l,"link",i),rn(l),h.head.appendChild(l)))}}function $6(i,l){Na.m(i,l);var f=os;if(f&&i){var h=l&&typeof l.as=="string"?l.as:"script",v='link[rel="modulepreload"][as="'+sr(h)+'"][href="'+sr(i)+'"]',T=v;switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":T=ss(i)}if(!br.has(T)&&(i=I({rel:"modulepreload",href:i},l),br.set(T,i),f.querySelector(v)===null)){switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(f.querySelector(Hl(T)))return}h=f.createElement("link"),hn(h,"link",i),rn(h),f.head.appendChild(h)}}}function q6(i,l,f){Na.S(i,l,f);var h=os;if(h&&i){var v=Ci(h).hoistableStyles,T=is(i);l=l||"default";var P=v.get(T);if(!P){var q={loading:0,preload:null};if(P=h.querySelector(Gl(T)))q.loading=5;else{i=I({rel:"stylesheet",href:i,"data-precedence":l},f),(f=br.get(T))&&Mh(i,f);var X=P=h.createElement("link");rn(X),hn(X,"link",i),X._p=new Promise(function(ne,be){X.onload=ne,X.onerror=be}),X.addEventListener("load",function(){q.loading|=1}),X.addEventListener("error",function(){q.loading|=2}),q.loading|=4,rd(P,l,h)}P={type:"stylesheet",instance:P,count:1,state:q},v.set(T,P)}}}function V6(i,l){Na.X(i,l);var f=os;if(f&&i){var h=Ci(f).hoistableScripts,v=ss(i),T=h.get(v);T||(T=f.querySelector(Hl(v)),T||(i=I({src:i,async:!0},l),(l=br.get(v))&&Fh(i,l),T=f.createElement("script"),rn(T),hn(T,"link",i),f.head.appendChild(T)),T={type:"script",instance:T,count:1,state:null},h.set(v,T))}}function W6(i,l){Na.M(i,l);var f=os;if(f&&i){var h=Ci(f).hoistableScripts,v=ss(i),T=h.get(v);T||(T=f.querySelector(Hl(v)),T||(i=I({src:i,async:!0,type:"module"},l),(l=br.get(v))&&Fh(i,l),T=f.createElement("script"),rn(T),hn(T,"link",i),f.head.appendChild(T)),T={type:"script",instance:T,count:1,state:null},h.set(v,T))}}function __(i,l,f,h){var v=(v=Ie.current)?nd(v):null;if(!v)throw Error(r(446));switch(i){case"meta":case"title":return null;case"style":return typeof f.precedence=="string"&&typeof f.href=="string"?(l=is(f.href),f=Ci(v).hoistableStyles,h=f.get(l),h||(h={type:"style",instance:null,count:0,state:null},f.set(l,h)),h):{type:"void",instance:null,count:0,state:null};case"link":if(f.rel==="stylesheet"&&typeof f.href=="string"&&typeof f.precedence=="string"){i=is(f.href);var T=Ci(v).hoistableStyles,P=T.get(i);if(P||(v=v.ownerDocument||v,P={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},T.set(i,P),(T=v.querySelector(Gl(i)))&&!T._p&&(P.instance=T,P.state.loading=5),br.has(i)||(f={rel:"preload",as:"style",href:f.href,crossOrigin:f.crossOrigin,integrity:f.integrity,media:f.media,hrefLang:f.hrefLang,referrerPolicy:f.referrerPolicy},br.set(i,f),T||Y6(v,i,f,P.state))),l&&h===null)throw Error(r(528,""));return P}if(l&&h!==null)throw Error(r(529,""));return null;case"script":return l=f.async,f=f.src,typeof f=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=ss(f),f=Ci(v).hoistableScripts,h=f.get(l),h||(h={type:"script",instance:null,count:0,state:null},f.set(l,h)),h):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,i))}}function is(i){return'href="'+sr(i)+'"'}function Gl(i){return'link[rel="stylesheet"]['+i+"]"}function C_(i){return I({},i,{"data-precedence":i.precedence,precedence:null})}function Y6(i,l,f,h){i.querySelector('link[rel="preload"][as="style"]['+l+"]")?h.loading=1:(l=i.createElement("link"),h.preload=l,l.addEventListener("load",function(){return h.loading|=1}),l.addEventListener("error",function(){return h.loading|=2}),hn(l,"link",f),rn(l),i.head.appendChild(l))}function ss(i){return'[src="'+sr(i)+'"]'}function Hl(i){return"script[async]"+i}function N_(i,l,f){if(l.count++,l.instance===null)switch(l.type){case"style":var h=i.querySelector('style[data-href~="'+sr(f.href)+'"]');if(h)return l.instance=h,rn(h),h;var v=I({},f,{"data-href":f.href,"data-precedence":f.precedence,href:null,precedence:null});return h=(i.ownerDocument||i).createElement("style"),rn(h),hn(h,"style",v),rd(h,f.precedence,i),l.instance=h;case"stylesheet":v=is(f.href);var T=i.querySelector(Gl(v));if(T)return l.state.loading|=4,l.instance=T,rn(T),T;h=C_(f),(v=br.get(v))&&Mh(h,v),T=(i.ownerDocument||i).createElement("link"),rn(T);var P=T;return P._p=new Promise(function(q,X){P.onload=q,P.onerror=X}),hn(T,"link",h),l.state.loading|=4,rd(T,f.precedence,i),l.instance=T;case"script":return T=ss(f.src),(v=i.querySelector(Hl(T)))?(l.instance=v,rn(v),v):(h=f,(v=br.get(T))&&(h=I({},f),Fh(h,v)),i=i.ownerDocument||i,v=i.createElement("script"),rn(v),hn(v,"link",h),i.head.appendChild(v),l.instance=v);case"void":return null;default:throw Error(r(443,l.type))}else l.type==="stylesheet"&&!(l.state.loading&4)&&(h=l.instance,l.state.loading|=4,rd(h,f.precedence,i));return l.instance}function rd(i,l,f){for(var h=f.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),v=h.length?h[h.length-1]:null,T=v,P=0;P title"):null)}function K6(i,l,f){if(f===1||l.itemProp!=null)return!1;switch(i){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return i=l.disabled,typeof l.precedence=="string"&&i==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function I_(i){return!(i.type==="stylesheet"&&!(i.state.loading&3))}var $l=null;function X6(){}function Z6(i,l,f){if($l===null)throw Error(r(475));var h=$l;if(l.type==="stylesheet"&&(typeof f.media!="string"||matchMedia(f.media).matches!==!1)&&!(l.state.loading&4)){if(l.instance===null){var v=is(f.href),T=i.querySelector(Gl(v));if(T){i=T._p,i!==null&&typeof i=="object"&&typeof i.then=="function"&&(h.count++,h=od.bind(h),i.then(h,h)),l.state.loading|=4,l.instance=T,rn(T);return}T=i.ownerDocument||i,f=C_(f),(v=br.get(v))&&Mh(f,v),T=T.createElement("link"),rn(T);var P=T;P._p=new Promise(function(q,X){P.onload=q,P.onerror=X}),hn(T,"link",f),l.instance=T}h.stylesheets===null&&(h.stylesheets=new Map),h.stylesheets.set(l,i),(i=l.state.preload)&&!(l.state.loading&3)&&(h.count++,l=od.bind(h),i.addEventListener("load",l),i.addEventListener("error",l))}}function Q6(){if($l===null)throw Error(r(475));var i=$l;return i.stylesheets&&i.count===0&&Ph(i,i.stylesheets),0"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Vh.exports=v9(),Vh.exports}var E9=S9(),Ql={},tC;function w9(){if(tC)return Ql;tC=1,Object.defineProperty(Ql,"__esModule",{value:!0}),Ql.parse=s,Ql.serialize=d;const e=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,t=/^[\u0021-\u003A\u003C-\u007E]*$/,n=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,r=/^[\u0020-\u003A\u003D-\u007E]*$/,a=Object.prototype.toString,o=(()=>{const m=function(){};return m.prototype=Object.create(null),m})();function s(m,b){const y=new o,S=m.length;if(S<2)return y;const x=(b==null?void 0:b.decode)||p;let R=0;do{const k=m.indexOf("=",R);if(k===-1)break;const A=m.indexOf(";",R),C=A===-1?S:A;if(k>C){R=m.lastIndexOf(";",k-1)+1;continue}const N=u(m,R,k),_=c(m,k,N),O=m.slice(N,_);if(y[O]===void 0){let F=u(m,k+1,C),L=c(m,C,F);const I=x(m.slice(F,L));y[O]=I}R=C+1}while(Ry;){const S=m.charCodeAt(--b);if(S!==32&&S!==9)return b+1}return y}function d(m,b,y){const S=(y==null?void 0:y.encode)||encodeURIComponent;if(!e.test(m))throw new TypeError(`argument name is invalid: ${m}`);const x=S(b);if(!t.test(x))throw new TypeError(`argument val is invalid: ${b}`);let R=m+"="+x;if(!y)return R;if(y.maxAge!==void 0){if(!Number.isInteger(y.maxAge))throw new TypeError(`option maxAge is invalid: ${y.maxAge}`);R+="; Max-Age="+y.maxAge}if(y.domain){if(!n.test(y.domain))throw new TypeError(`option domain is invalid: ${y.domain}`);R+="; Domain="+y.domain}if(y.path){if(!r.test(y.path))throw new TypeError(`option path is invalid: ${y.path}`);R+="; Path="+y.path}if(y.expires){if(!g(y.expires)||!Number.isFinite(y.expires.valueOf()))throw new TypeError(`option expires is invalid: ${y.expires}`);R+="; Expires="+y.expires.toUTCString()}if(y.httpOnly&&(R+="; HttpOnly"),y.secure&&(R+="; Secure"),y.partitioned&&(R+="; Partitioned"),y.priority)switch(typeof y.priority=="string"?y.priority.toLowerCase():void 0){case"low":R+="; Priority=Low";break;case"medium":R+="; Priority=Medium";break;case"high":R+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${y.priority}`)}if(y.sameSite)switch(typeof y.sameSite=="string"?y.sameSite.toLowerCase():y.sameSite){case!0:case"strict":R+="; SameSite=Strict";break;case"lax":R+="; SameSite=Lax";break;case"none":R+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${y.sameSite}`)}return R}function p(m){if(m.indexOf("%")===-1)return m;try{return decodeURIComponent(m)}catch{return m}}function g(m){return a.call(m)==="[object Date]"}return Ql}w9();/** - * react-router v7.3.0 +`+f.stack}}function z(i){var u=i,f=i;if(i.alternate)for(;u.return;)u=u.return;else{i=u;do u=i,(u.flags&4098)!==0&&(f=u.return),i=u.return;while(i)}return u.tag===3?f:null}function Y(i){if(i.tag===13){var u=i.memoizedState;if(u===null&&(i=i.alternate,i!==null&&(u=i.memoizedState)),u!==null)return u.dehydrated}return null}function I(i){if(z(i)!==i)throw Error(r(188))}function V(i){var u=i.alternate;if(!u){if(u=z(i),u===null)throw Error(r(188));return u!==i?null:i}for(var f=i,h=u;;){var v=f.return;if(v===null)break;var T=v.alternate;if(T===null){if(h=v.return,h!==null){f=h;continue}break}if(v.child===T.child){for(T=v.child;T;){if(T===f)return I(v),i;if(T===h)return I(v),u;T=T.sibling}throw Error(r(188))}if(f.return!==h.return)f=v,h=T;else{for(var P=!1,q=v.child;q;){if(q===f){P=!0,f=v,h=T;break}if(q===h){P=!0,h=v,f=T;break}q=q.sibling}if(!P){for(q=T.child;q;){if(q===f){P=!0,f=T,h=v;break}if(q===h){P=!0,h=T,f=v;break}q=q.sibling}if(!P)throw Error(r(189))}}if(f.alternate!==h)throw Error(r(190))}if(f.tag!==3)throw Error(r(188));return f.stateNode.current===f?i:u}function B(i){var u=i.tag;if(u===5||u===26||u===27||u===6)return i;for(i=i.child;i!==null;){if(u=B(i),u!==null)return u;i=i.sibling}return null}var M=Array.isArray,X=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K={pending:!1,data:null,method:null,action:null},ne=[],J=-1;function ie(i){return{current:i}}function ve(i){0>J||(i.current=ne[J],ne[J]=null,J--)}function oe(i,u){J++,ne[J]=i.current,i.current=u}var Se=ie(null),Ee=ie(null),De=ie(null),Ce=ie(null);function ke(i,u){switch(oe(De,u),oe(Ee,i),oe(Se,null),i=u.nodeType,i){case 9:case 11:u=(u=u.documentElement)&&(u=u.namespaceURI)?b_(u):0;break;default:if(i=i===8?u.parentNode:u,u=i.tagName,i=i.namespaceURI)i=b_(i),u=y_(i,u);else switch(u){case"svg":u=1;break;case"math":u=2;break;default:u=0}}ve(Se),oe(Se,u)}function ee(){ve(Se),ve(Ee),ve(De)}function fe(i){i.memoizedState!==null&&oe(Ce,i);var u=Se.current,f=y_(u,i.type);u!==f&&(oe(Ee,i),oe(Se,f))}function Te(i){Ee.current===i&&(ve(Se),ve(Ee)),Ce.current===i&&(ve(Ce),Vl._currentValue=K)}var me=Object.prototype.hasOwnProperty,we=e.unstable_scheduleCallback,le=e.unstable_cancelCallback,ze=e.unstable_shouldYield,Be=e.unstable_requestPaint,he=e.unstable_now,Ne=e.unstable_getCurrentPriorityLevel,te=e.unstable_ImmediatePriority,ce=e.unstable_UserBlockingPriority,_e=e.unstable_NormalPriority,Pe=e.unstable_LowPriority,We=e.unstable_IdlePriority,yt=e.log,kt=e.unstable_setDisableYieldValue,ht=null,et=null;function Tt(i){if(et&&typeof et.onCommitFiberRoot=="function")try{et.onCommitFiberRoot(ht,i,void 0,(i.current.flags&128)===128)}catch{}}function ot(i){if(typeof yt=="function"&&kt(i),et&&typeof et.setStrictMode=="function")try{et.setStrictMode(ht,i)}catch{}}var St=Math.clz32?Math.clz32:zt,Ht=Math.log,fn=Math.LN2;function zt(i){return i>>>=0,i===0?32:31-(Ht(i)/fn|0)|0}var or=128,$r=4194304;function Jt(i){var u=i&42;if(u!==0)return u;switch(i&-i){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i&4194176;case 4194304:case 8388608:case 16777216:case 33554432:return i&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return i}}function fa(i,u){var f=i.pendingLanes;if(f===0)return 0;var h=0,v=i.suspendedLanes,T=i.pingedLanes,P=i.warmLanes;i=i.finishedLanes!==0;var q=f&134217727;return q!==0?(f=q&~v,f!==0?h=Jt(f):(T&=q,T!==0?h=Jt(T):i||(P=q&~P,P!==0&&(h=Jt(P))))):(q=f&~v,q!==0?h=Jt(q):T!==0?h=Jt(T):i||(P=f&~P,P!==0&&(h=Jt(P)))),h===0?0:u!==0&&u!==h&&(u&v)===0&&(v=h&-h,P=u&-u,v>=P||v===32&&(P&4194176)!==0)?u:h}function Xe(i,u){return(i.pendingLanes&~(i.suspendedLanes&~i.pingedLanes)&u)===0}function mt(i,u){switch(i){case 1:case 2:case 4:case 8:return u+250;case 16:case 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 u+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ct(){var i=or;return or<<=1,(or&4194176)===0&&(or=128),i}function In(){var i=$r;return $r<<=1,($r&62914560)===0&&($r=4194304),i}function _n(i){for(var u=[],f=0;31>f;f++)u.push(i);return u}function Dn(i,u){i.pendingLanes|=u,u!==268435456&&(i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0)}function pa(i,u,f,h,v,T){var P=i.pendingLanes;i.pendingLanes=f,i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0,i.expiredLanes&=f,i.entangledLanes&=f,i.errorRecoveryDisabledLanes&=f,i.shellSuspendCounter=0;var q=i.entanglements,Z=i.expirationTimes,ae=i.hiddenUpdates;for(f=P&~f;0"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),WH=RegExp("^[: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]*$"),yA={},vA={};function YH(i){return me.call(vA,i)?!0:me.call(yA,i)?!1:WH.test(i)?vA[i]=!0:(yA[i]=!0,!1)}function lc(i,u,f){if(YH(u))if(f===null)i.removeAttribute(u);else{switch(typeof f){case"undefined":case"function":case"symbol":i.removeAttribute(u);return;case"boolean":var h=u.toLowerCase().slice(0,5);if(h!=="data-"&&h!=="aria-"){i.removeAttribute(u);return}}i.setAttribute(u,""+f)}}function uc(i,u,f){if(f===null)i.removeAttribute(u);else{switch(typeof f){case"undefined":case"function":case"symbol":case"boolean":i.removeAttribute(u);return}i.setAttribute(u,""+f)}}function ha(i,u,f,h){if(h===null)i.removeAttribute(f);else{switch(typeof h){case"undefined":case"function":case"symbol":case"boolean":i.removeAttribute(f);return}i.setAttributeNS(u,f,""+h)}}function ir(i){switch(typeof i){case"bigint":case"boolean":case"number":case"string":case"undefined":return i;case"object":return i;default:return""}}function SA(i){var u=i.type;return(i=i.nodeName)&&i.toLowerCase()==="input"&&(u==="checkbox"||u==="radio")}function KH(i){var u=SA(i)?"checked":"value",f=Object.getOwnPropertyDescriptor(i.constructor.prototype,u),h=""+i[u];if(!i.hasOwnProperty(u)&&typeof f<"u"&&typeof f.get=="function"&&typeof f.set=="function"){var v=f.get,T=f.set;return Object.defineProperty(i,u,{configurable:!0,get:function(){return v.call(this)},set:function(P){h=""+P,T.call(this,P)}}),Object.defineProperty(i,u,{enumerable:f.enumerable}),{getValue:function(){return h},setValue:function(P){h=""+P},stopTracking:function(){i._valueTracker=null,delete i[u]}}}}function cc(i){i._valueTracker||(i._valueTracker=KH(i))}function EA(i){if(!i)return!1;var u=i._valueTracker;if(!u)return!0;var f=u.getValue(),h="";return i&&(h=SA(i)?i.checked?"true":"false":i.value),i=h,i!==f?(u.setValue(i),!0):!1}function dc(i){if(i=i||(typeof document<"u"?document:void 0),typeof i>"u")return null;try{return i.activeElement||i.body}catch{return i.body}}var XH=/[\n"\\]/g;function sr(i){return i.replace(XH,function(u){return"\\"+u.charCodeAt(0).toString(16)+" "})}function jp(i,u,f,h,v,T,P,q){i.name="",P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"?i.type=P:i.removeAttribute("type"),u!=null?P==="number"?(u===0&&i.value===""||i.value!=u)&&(i.value=""+ir(u)):i.value!==""+ir(u)&&(i.value=""+ir(u)):P!=="submit"&&P!=="reset"||i.removeAttribute("value"),u!=null?Gp(i,P,ir(u)):f!=null?Gp(i,P,ir(f)):h!=null&&i.removeAttribute("value"),v==null&&T!=null&&(i.defaultChecked=!!T),v!=null&&(i.checked=v&&typeof v!="function"&&typeof v!="symbol"),q!=null&&typeof q!="function"&&typeof q!="symbol"&&typeof q!="boolean"?i.name=""+ir(q):i.removeAttribute("name")}function wA(i,u,f,h,v,T,P,q){if(T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"&&(i.type=T),u!=null||f!=null){if(!(T!=="submit"&&T!=="reset"||u!=null))return;f=f!=null?""+ir(f):"",u=u!=null?""+ir(u):f,q||u===i.value||(i.value=u),i.defaultValue=u}h=h??v,h=typeof h!="function"&&typeof h!="symbol"&&!!h,i.checked=q?i.checked:!!h,i.defaultChecked=!!h,P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"&&(i.name=P)}function Gp(i,u,f){u==="number"&&dc(i.ownerDocument)===i||i.defaultValue===""+f||(i.defaultValue=""+f)}function Oi(i,u,f,h){if(i=i.options,u){u={};for(var v=0;v=cl),MA=" ",FA=!1;function PA(i,u){switch(i){case"keyup":return k$.indexOf(u.keyCode)!==-1;case"keydown":return u.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zA(i){return i=i.detail,typeof i=="object"&&"data"in i?i.data:null}var Mi=!1;function A$(i,u){switch(i){case"compositionend":return zA(u);case"keypress":return u.which!==32?null:(FA=!0,MA);case"textInput":return i=u.data,i===MA&&FA?null:i;default:return null}}function R$(i,u){if(Mi)return i==="compositionend"||!Jp&&PA(i,u)?(i=CA(),pc=Yp=Xa=null,Mi=!1,i):null;switch(i){case"paste":return null;case"keypress":if(!(u.ctrlKey||u.altKey||u.metaKey)||u.ctrlKey&&u.altKey){if(u.char&&1=u)return{node:f,offset:u-i};i=h}e:{for(;f;){if(f.nextSibling){f=f.nextSibling;break e}f=f.parentNode}f=void 0}f=VA(f)}}function YA(i,u){return i&&u?i===u?!0:i&&i.nodeType===3?!1:u&&u.nodeType===3?YA(i,u.parentNode):"contains"in i?i.contains(u):i.compareDocumentPosition?!!(i.compareDocumentPosition(u)&16):!1:!1}function KA(i){i=i!=null&&i.ownerDocument!=null&&i.ownerDocument.defaultView!=null?i.ownerDocument.defaultView:window;for(var u=dc(i.document);u instanceof i.HTMLIFrameElement;){try{var f=typeof u.contentWindow.location.href=="string"}catch{f=!1}if(f)i=u.contentWindow;else break;u=dc(i.document)}return u}function ng(i){var u=i&&i.nodeName&&i.nodeName.toLowerCase();return u&&(u==="input"&&(i.type==="text"||i.type==="search"||i.type==="tel"||i.type==="url"||i.type==="password")||u==="textarea"||i.contentEditable==="true")}function M$(i,u){var f=KA(u);u=i.focusedElem;var h=i.selectionRange;if(f!==u&&u&&u.ownerDocument&&YA(u.ownerDocument.documentElement,u)){if(h!==null&&ng(u)){if(i=h.start,f=h.end,f===void 0&&(f=i),"selectionStart"in u)u.selectionStart=i,u.selectionEnd=Math.min(f,u.value.length);else if(f=(i=u.ownerDocument||document)&&i.defaultView||window,f.getSelection){f=f.getSelection();var v=u.textContent.length,T=Math.min(h.start,v);h=h.end===void 0?T:Math.min(h.end,v),!f.extend&&T>h&&(v=h,h=T,T=v),v=WA(u,T);var P=WA(u,h);v&&P&&(f.rangeCount!==1||f.anchorNode!==v.node||f.anchorOffset!==v.offset||f.focusNode!==P.node||f.focusOffset!==P.offset)&&(i=i.createRange(),i.setStart(v.node,v.offset),f.removeAllRanges(),T>h?(f.addRange(i),f.extend(P.node,P.offset)):(i.setEnd(P.node,P.offset),f.addRange(i)))}}for(i=[],f=u;f=f.parentNode;)f.nodeType===1&&i.push({element:f,left:f.scrollLeft,top:f.scrollTop});for(typeof u.focus=="function"&&u.focus(),u=0;u=document.documentMode,Fi=null,rg=null,gl=null,ag=!1;function XA(i,u,f){var h=f.window===f?f.document:f.nodeType===9?f:f.ownerDocument;ag||Fi==null||Fi!==dc(h)||(h=Fi,"selectionStart"in h&&ng(h)?h={start:h.selectionStart,end:h.selectionEnd}:(h=(h.ownerDocument&&h.ownerDocument.defaultView||window).getSelection(),h={anchorNode:h.anchorNode,anchorOffset:h.anchorOffset,focusNode:h.focusNode,focusOffset:h.focusOffset}),gl&&pl(gl,h)||(gl=h,h=ed(rg,"onSelect"),0>=P,v-=P,ma=1<<32-St(u)+v|f<Je?(sn=Ye,Ye=null):sn=Ye.sibling;var wt=de(se,Ye,ue[Je],xe);if(wt===null){Ye===null&&(Ye=sn);break}i&&Ye&&wt.alternate===null&&u(se,Ye),re=T(wt,re,Je),lt===null?je=wt:lt.sibling=wt,lt=wt,Ye=sn}if(Je===ue.length)return f(se,Ye),Et&&Ho(se,Je),je;if(Ye===null){for(;JeJe?(sn=Ye,Ye=null):sn=Ye.sibling;var bo=de(se,Ye,wt.value,xe);if(bo===null){Ye===null&&(Ye=sn);break}i&&Ye&&bo.alternate===null&&u(se,Ye),re=T(bo,re,Je),lt===null?je=bo:lt.sibling=bo,lt=bo,Ye=sn}if(wt.done)return f(se,Ye),Et&&Ho(se,Je),je;if(Ye===null){for(;!wt.done;Je++,wt=ue.next())wt=Ae(se,wt.value,xe),wt!==null&&(re=T(wt,re,Je),lt===null?je=wt:lt.sibling=wt,lt=wt);return Et&&Ho(se,Je),je}for(Ye=h(Ye);!wt.done;Je++,wt=ue.next())wt=ge(Ye,se,Je,wt.value,xe),wt!==null&&(i&&wt.alternate!==null&&Ye.delete(wt.key===null?Je:wt.key),re=T(wt,re,Je),lt===null?je=wt:lt.sibling=wt,lt=wt);return i&&Ye.forEach(function(J6){return u(se,J6)}),Et&&Ho(se,Je),je}function Vt(se,re,ue,xe){if(typeof ue=="object"&&ue!==null&&ue.type===c&&ue.key===null&&(ue=ue.props.children),typeof ue=="object"&&ue!==null){switch(ue.$$typeof){case s:e:{for(var je=ue.key;re!==null;){if(re.key===je){if(je=ue.type,je===c){if(re.tag===7){f(se,re.sibling),xe=v(re,ue.props.children),xe.return=se,se=xe;break e}}else if(re.elementType===je||typeof je=="object"&&je!==null&&je.$$typeof===x&&p1(je)===re.type){f(se,re.sibling),xe=v(re,ue.props),El(xe,ue),xe.return=se,se=xe;break e}f(se,re);break}else u(se,re);re=re.sibling}ue.type===c?(xe=ei(ue.props.children,se.mode,xe,ue.key),xe.return=se,se=xe):(xe=$c(ue.type,ue.key,ue.props,null,se.mode,xe),El(xe,ue),xe.return=se,se=xe)}return P(se);case l:e:{for(je=ue.key;re!==null;){if(re.key===je)if(re.tag===4&&re.stateNode.containerInfo===ue.containerInfo&&re.stateNode.implementation===ue.implementation){f(se,re.sibling),xe=v(re,ue.children||[]),xe.return=se,se=xe;break e}else{f(se,re);break}else u(se,re);re=re.sibling}xe=ih(ue,se.mode,xe),xe.return=se,se=xe}return P(se);case x:return je=ue._init,ue=je(ue._payload),Vt(se,re,ue,xe)}if(M(ue))return qe(se,re,ue,xe);if(_(ue)){if(je=_(ue),typeof je!="function")throw Error(r(150));return ue=je.call(ue),nt(se,re,ue,xe)}if(typeof ue.then=="function")return Vt(se,re,Tc(ue),xe);if(ue.$$typeof===b)return Vt(se,re,jc(se,ue),xe);Ac(se,ue)}return typeof ue=="string"&&ue!==""||typeof ue=="number"||typeof ue=="bigint"?(ue=""+ue,re!==null&&re.tag===6?(f(se,re.sibling),xe=v(re,ue),xe.return=se,se=xe):(f(se,re),xe=oh(ue,se.mode,xe),xe.return=se,se=xe),P(se)):f(se,re)}return function(se,re,ue,xe){try{Sl=0;var je=Vt(se,re,ue,xe);return Gi=null,je}catch(Ye){if(Ye===yl)throw Ye;var lt=hr(29,Ye,null,se.mode);return lt.lanes=xe,lt.return=se,lt}finally{}}}var qo=g1(!0),h1=g1(!1),Hi=ie(null),Rc=ie(0);function m1(i,u){i=_a,oe(Rc,i),oe(Hi,u),_a=i|u.baseLanes}function fg(){oe(Rc,_a),oe(Hi,Hi.current)}function pg(){_a=Rc.current,ve(Hi),ve(Rc)}var fr=ie(null),Vr=null;function Qa(i){var u=i.alternate;oe(en,en.current&1),oe(fr,i),Vr===null&&(u===null||Hi.current!==null||u.memoizedState!==null)&&(Vr=i)}function b1(i){if(i.tag===22){if(oe(en,en.current),oe(fr,i),Vr===null){var u=i.alternate;u!==null&&u.memoizedState!==null&&(Vr=i)}}else Ja()}function Ja(){oe(en,en.current),oe(fr,fr.current)}function ya(i){ve(fr),Vr===i&&(Vr=null),ve(en)}var en=ie(0);function _c(i){for(var u=i;u!==null;){if(u.tag===13){var f=u.memoizedState;if(f!==null&&(f=f.dehydrated,f===null||f.data==="$?"||f.data==="$!"))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if((u.flags&128)!==0)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===i)break;for(;u.sibling===null;){if(u.return===null||u.return===i)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var U$=typeof AbortController<"u"?AbortController:function(){var i=[],u=this.signal={aborted:!1,addEventListener:function(f,h){i.push(h)}};this.abort=function(){u.aborted=!0,i.forEach(function(f){return f()})}},j$=e.unstable_scheduleCallback,G$=e.unstable_NormalPriority,tn={$$typeof:b,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function gg(){return{controller:new U$,data:new Map,refCount:0}}function wl(i){i.refCount--,i.refCount===0&&j$(G$,function(){i.controller.abort()})}var xl=null,hg=0,$i=0,qi=null;function H$(i,u){if(xl===null){var f=xl=[];hg=0,$i=Eh(),qi={status:"pending",value:void 0,then:function(h){f.push(h)}}}return hg++,u.then(y1,y1),u}function y1(){if(--hg===0&&xl!==null){qi!==null&&(qi.status="fulfilled");var i=xl;xl=null,$i=0,qi=null;for(var u=0;uT?T:8;var P=D.T,q={};D.T=q,Ig(i,!1,u,f);try{var Z=v(),ae=D.S;if(ae!==null&&ae(q,Z),Z!==null&&typeof Z=="object"&&typeof Z.then=="function"){var be=$$(Z,h);Al(i,u,be,Qn(i))}else Al(i,u,h,Qn(i))}catch(Ae){Al(i,u,{then:function(){},status:"rejected",reason:Ae},Qn())}finally{X.p=T,D.T=P}}function K$(){}function Ng(i,u,f,h){if(i.tag!==5)throw Error(r(476));var v=K1(i).queue;Y1(i,v,u,K,f===null?K$:function(){return X1(i),f(h)})}function K1(i){var u=i.memoizedState;if(u!==null)return u;u={memoizedState:K,baseState:K,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:va,lastRenderedState:K},next:null};var f={};return u.next={memoizedState:f,baseState:f,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:va,lastRenderedState:f},next:null},i.memoizedState=u,i=i.alternate,i!==null&&(i.memoizedState=u),u}function X1(i){var u=K1(i).next.queue;Al(i,u,{},Qn())}function Og(){return En(Vl)}function Z1(){return Xt().memoizedState}function Q1(){return Xt().memoizedState}function X$(i){for(var u=i.return;u!==null;){switch(u.tag){case 24:case 3:var f=Qn();i=ao(f);var h=oo(u,i,f);h!==null&&(Nn(h,u,f),Cl(h,u,f)),u={cache:gg()},i.payload=u;return}u=u.return}}function Z$(i,u,f){var h=Qn();f={lane:h,revertLane:0,action:f,hasEagerState:!1,eagerState:null,next:null},Pc(i)?eR(u,f):(f=sg(i,u,f,h),f!==null&&(Nn(f,i,h),tR(f,u,h)))}function J1(i,u,f){var h=Qn();Al(i,u,f,h)}function Al(i,u,f,h){var v={lane:h,revertLane:0,action:f,hasEagerState:!1,eagerState:null,next:null};if(Pc(i))eR(u,v);else{var T=i.alternate;if(i.lanes===0&&(T===null||T.lanes===0)&&(T=u.lastRenderedReducer,T!==null))try{var P=u.lastRenderedState,q=T(P,f);if(v.hasEagerState=!0,v.eagerState=q,Yn(q,P))return Sc(i,u,v,0),Dt===null&&vc(),!1}catch{}finally{}if(f=sg(i,u,v,h),f!==null)return Nn(f,i,h),tR(f,u,h),!0}return!1}function Ig(i,u,f,h){if(h={lane:2,revertLane:Eh(),action:h,hasEagerState:!1,eagerState:null,next:null},Pc(i)){if(u)throw Error(r(479))}else u=sg(i,f,h,2),u!==null&&Nn(u,i,2)}function Pc(i){var u=i.alternate;return i===st||u!==null&&u===st}function eR(i,u){Vi=Nc=!0;var f=i.pending;f===null?u.next=u:(u.next=f.next,f.next=u),i.pending=u}function tR(i,u,f){if((f&4194176)!==0){var h=u.lanes;h&=i.pendingLanes,f|=h,u.lanes=f,Rr(i,f)}}var Wr={readContext:En,use:Dc,useCallback:Wt,useContext:Wt,useEffect:Wt,useImperativeHandle:Wt,useLayoutEffect:Wt,useInsertionEffect:Wt,useMemo:Wt,useReducer:Wt,useRef:Wt,useState:Wt,useDebugValue:Wt,useDeferredValue:Wt,useTransition:Wt,useSyncExternalStore:Wt,useId:Wt};Wr.useCacheRefresh=Wt,Wr.useMemoCache=Wt,Wr.useHostTransitionStatus=Wt,Wr.useFormState=Wt,Wr.useActionState=Wt,Wr.useOptimistic=Wt;var Yo={readContext:En,use:Dc,useCallback:function(i,u){return Pn().memoizedState=[i,u===void 0?null:u],i},useContext:En,useEffect:U1,useImperativeHandle:function(i,u,f){f=f!=null?f.concat([i]):null,Mc(4194308,4,H1.bind(null,u,i),f)},useLayoutEffect:function(i,u){return Mc(4194308,4,i,u)},useInsertionEffect:function(i,u){Mc(4,2,i,u)},useMemo:function(i,u){var f=Pn();u=u===void 0?null:u;var h=i();if(Wo){ot(!0);try{i()}finally{ot(!1)}}return f.memoizedState=[h,u],h},useReducer:function(i,u,f){var h=Pn();if(f!==void 0){var v=f(u);if(Wo){ot(!0);try{f(u)}finally{ot(!1)}}}else v=u;return h.memoizedState=h.baseState=v,i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:i,lastRenderedState:v},h.queue=i,i=i.dispatch=Z$.bind(null,st,i),[h.memoizedState,i]},useRef:function(i){var u=Pn();return i={current:i},u.memoizedState=i},useState:function(i){i=Tg(i);var u=i.queue,f=J1.bind(null,st,u);return u.dispatch=f,[i.memoizedState,f]},useDebugValue:_g,useDeferredValue:function(i,u){var f=Pn();return Cg(f,i,u)},useTransition:function(){var i=Tg(!1);return i=Y1.bind(null,st,i.queue,!0,!1),Pn().memoizedState=i,[!1,i]},useSyncExternalStore:function(i,u,f){var h=st,v=Pn();if(Et){if(f===void 0)throw Error(r(407));f=f()}else{if(f=u(),Dt===null)throw Error(r(349));(bt&60)!==0||k1(h,u,f)}v.memoizedState=f;var T={value:f,getSnapshot:u};return v.queue=T,U1(A1.bind(null,h,T,i),[i]),h.flags|=2048,Yi(9,T1.bind(null,h,T,f,u),{destroy:void 0},null),f},useId:function(){var i=Pn(),u=Dt.identifierPrefix;if(Et){var f=ba,h=ma;f=(h&~(1<<32-St(h)-1)).toString(32)+f,u=":"+u+"R"+f,f=Oc++,0 title"))),hn(T,h,f),T[Sn]=i,rn(T),h=T;break e;case"link":var P=__("link","href",v).get(h+(f.href||""));if(P){for(var q=0;q<\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof h.is=="string"?v.createElement("select",{is:h.is}):v.createElement("select"),h.multiple?i.multiple=!0:h.size&&(i.size=h.size);break;default:i=typeof h.is=="string"?v.createElement(f,{is:h.is}):v.createElement(f)}}i[Sn]=u,i[Mn]=h;e:for(v=u.child;v!==null;){if(v.tag===5||v.tag===6)i.appendChild(v.stateNode);else if(v.tag!==4&&v.tag!==27&&v.child!==null){v.child.return=v,v=v.child;continue}if(v===u)break e;for(;v.sibling===null;){if(v.return===null||v.return===u)break e;v=v.return}v.sibling.return=v.return,v=v.sibling}u.stateNode=i;e:switch(hn(i,f,h),f){case"button":case"input":case"select":case"textarea":i=!!h.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&Aa(u)}}return Bt(u),u.flags&=-16777217,null;case 6:if(i&&u.stateNode!=null)i.memoizedProps!==h&&Aa(u);else{if(typeof h!="string"&&u.stateNode===null)throw Error(r(166));if(i=De.current,hl(u)){if(i=u.stateNode,f=u.memoizedProps,h=null,v=Cn,v!==null)switch(v.tag){case 27:case 5:h=v.memoizedProps}i[Sn]=u,i=!!(i.nodeValue===f||h!==null&&h.suppressHydrationWarning===!0||m_(i.nodeValue,f)),i||$o(u)}else i=nd(i).createTextNode(h),i[Sn]=u,u.stateNode=i}return Bt(u),null;case 13:if(h=u.memoizedState,i===null||i.memoizedState!==null&&i.memoizedState.dehydrated!==null){if(v=hl(u),h!==null&&h.dehydrated!==null){if(i===null){if(!v)throw Error(r(318));if(v=u.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(r(317));v[Sn]=u}else ml(),(u.flags&128)===0&&(u.memoizedState=null),u.flags|=4;Bt(u),v=!1}else Cr!==null&&(gh(Cr),Cr=null),v=!0;if(!v)return u.flags&256?(ya(u),u):(ya(u),null)}if(ya(u),(u.flags&128)!==0)return u.lanes=f,u;if(f=h!==null,i=i!==null&&i.memoizedState!==null,f){h=u.child,v=null,h.alternate!==null&&h.alternate.memoizedState!==null&&h.alternate.memoizedState.cachePool!==null&&(v=h.alternate.memoizedState.cachePool.pool);var T=null;h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(T=h.memoizedState.cachePool.pool),T!==v&&(h.flags|=2048)}return f!==i&&f&&(u.child.flags|=8192),qc(u,u.updateQueue),Bt(u),null;case 4:return ee(),i===null&&Th(u.stateNode.containerInfo),Bt(u),null;case 10:return wa(u.type),Bt(u),null;case 19:if(ve(en),v=u.memoizedState,v===null)return Bt(u),null;if(h=(u.flags&128)!==0,T=v.rendering,T===null)if(h)Fl(v,!1);else{if(qt!==0||i!==null&&(i.flags&128)!==0)for(i=u.child;i!==null;){if(T=_c(i),T!==null){for(u.flags|=128,Fl(v,!1),i=T.updateQueue,u.updateQueue=i,qc(u,i),u.subtreeFlags=0,i=f,f=u.child;f!==null;)$R(f,i),f=f.sibling;return oe(en,en.current&1|2),u.child}i=i.sibling}v.tail!==null&&he()>Vc&&(u.flags|=128,h=!0,Fl(v,!1),u.lanes=4194304)}else{if(!h)if(i=_c(T),i!==null){if(u.flags|=128,h=!0,i=i.updateQueue,u.updateQueue=i,qc(u,i),Fl(v,!0),v.tail===null&&v.tailMode==="hidden"&&!T.alternate&&!Et)return Bt(u),null}else 2*he()-v.renderingStartTime>Vc&&f!==536870912&&(u.flags|=128,h=!0,Fl(v,!1),u.lanes=4194304);v.isBackwards?(T.sibling=u.child,u.child=T):(i=v.last,i!==null?i.sibling=T:u.child=T,v.last=T)}return v.tail!==null?(u=v.tail,v.rendering=u,v.tail=u.sibling,v.renderingStartTime=he(),u.sibling=null,i=en.current,oe(en,h?i&1|2:i&1),u):(Bt(u),null);case 22:case 23:return ya(u),pg(),h=u.memoizedState!==null,i!==null?i.memoizedState!==null!==h&&(u.flags|=8192):h&&(u.flags|=8192),h?(f&536870912)!==0&&(u.flags&128)===0&&(Bt(u),u.subtreeFlags&6&&(u.flags|=8192)):Bt(u),f=u.updateQueue,f!==null&&qc(u,f.retryQueue),f=null,i!==null&&i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(f=i.memoizedState.cachePool.pool),h=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(h=u.memoizedState.cachePool.pool),h!==f&&(u.flags|=2048),i!==null&&ve(Vo),null;case 24:return f=null,i!==null&&(f=i.memoizedState.cache),u.memoizedState.cache!==f&&(u.flags|=2048),wa(tn),Bt(u),null;case 25:return null}throw Error(r(156,u.tag))}function a6(i,u){switch(ug(u),u.tag){case 1:return i=u.flags,i&65536?(u.flags=i&-65537|128,u):null;case 3:return wa(tn),ee(),i=u.flags,(i&65536)!==0&&(i&128)===0?(u.flags=i&-65537|128,u):null;case 26:case 27:case 5:return Te(u),null;case 13:if(ya(u),i=u.memoizedState,i!==null&&i.dehydrated!==null){if(u.alternate===null)throw Error(r(340));ml()}return i=u.flags,i&65536?(u.flags=i&-65537|128,u):null;case 19:return ve(en),null;case 4:return ee(),null;case 10:return wa(u.type),null;case 22:case 23:return ya(u),pg(),i!==null&&ve(Vo),i=u.flags,i&65536?(u.flags=i&-65537|128,u):null;case 24:return wa(tn),null;case 25:return null;default:return null}}function WR(i,u){switch(ug(u),u.tag){case 3:wa(tn),ee();break;case 26:case 27:case 5:Te(u);break;case 4:ee();break;case 13:ya(u);break;case 19:ve(en);break;case 10:wa(u.type);break;case 22:case 23:ya(u),pg(),i!==null&&ve(Vo);break;case 24:wa(tn)}}var o6={getCacheForType:function(i){var u=En(tn),f=u.data.get(i);return f===void 0&&(f=i(),u.data.set(i,f)),f}},i6=typeof WeakMap=="function"?WeakMap:Map,Ut=0,Dt=null,ct=null,bt=0,Lt=0,Zn=null,Ra=!1,Qi=!1,sh=!1,_a=0,qt=0,co=0,ti=0,lh=0,mr=0,Ji=0,Pl=null,Yr=null,uh=!1,ch=0,Vc=1/0,Wc=null,fo=null,Yc=!1,ni=null,zl=0,dh=0,fh=null,Bl=0,ph=null;function Qn(){if((Ut&2)!==0&&bt!==0)return bt&-bt;if(D.T!==null){var i=$i;return i!==0?i:Eh()}return gA()}function YR(){mr===0&&(mr=(bt&536870912)===0||Et?Ct():536870912);var i=fr.current;return i!==null&&(i.flags|=32),mr}function Nn(i,u,f){(i===Dt&&Lt===2||i.cancelPendingCommit!==null)&&(es(i,0),Ca(i,bt,mr,!1)),Dn(i,f),((Ut&2)===0||i!==Dt)&&(i===Dt&&((Ut&2)===0&&(ti|=f),qt===4&&Ca(i,bt,mr,!1)),Kr(i))}function KR(i,u,f){if((Ut&6)!==0)throw Error(r(327));var h=!f&&(u&60)===0&&(u&i.expiredLanes)===0||Xe(i,u),v=h?u6(i,u):bh(i,u,!0),T=h;do{if(v===0){Qi&&!h&&Ca(i,u,0,!1);break}else if(v===6)Ca(i,u,0,!Ra);else{if(f=i.current.alternate,T&&!s6(f)){v=bh(i,u,!1),T=!1;continue}if(v===2){if(T=u,i.errorRecoveryDisabledLanes&T)var P=0;else P=i.pendingLanes&-536870913,P=P!==0?P:P&536870912?536870912:0;if(P!==0){u=P;e:{var q=i;v=Pl;var Z=q.current.memoizedState.isDehydrated;if(Z&&(es(q,P).flags|=256),P=bh(q,P,!1),P!==2){if(sh&&!Z){q.errorRecoveryDisabledLanes|=T,ti|=T,v=4;break e}T=Yr,Yr=v,T!==null&&gh(T)}v=P}if(T=!1,v!==2)continue}}if(v===1){es(i,0),Ca(i,u,0,!0);break}e:{switch(h=i,v){case 0:case 1:throw Error(r(345));case 4:if((u&4194176)===u){Ca(h,u,mr,!Ra);break e}break;case 2:Yr=null;break;case 3:case 5:break;default:throw Error(r(329))}if(h.finishedWork=f,h.finishedLanes=u,(u&62914560)===u&&(T=ch+300-he(),10f?32:f,D.T=null,ni===null)var T=!1;else{f=fh,fh=null;var P=ni,q=zl;if(ni=null,zl=0,(Ut&6)!==0)throw Error(r(331));var Z=Ut;if(Ut|=4,GR(P.current),BR(P,P.current,q,f),Ut=Z,Ul(0,!1),et&&typeof et.onPostCommitFiberRoot=="function")try{et.onPostCommitFiberRoot(ht,P)}catch{}T=!0}return T}finally{X.p=v,D.T=h,a_(i,u)}}return!1}function o_(i,u,f){u=ur(f,u),u=Mg(i.stateNode,u,2),i=oo(i,u,2),i!==null&&(Dn(i,2),Kr(i))}function Nt(i,u,f){if(i.tag===3)o_(i,i,f);else for(;u!==null;){if(u.tag===3){o_(u,i,f);break}else if(u.tag===1){var h=u.stateNode;if(typeof u.type.getDerivedStateFromError=="function"||typeof h.componentDidCatch=="function"&&(fo===null||!fo.has(h))){i=ur(f,i),f=lR(2),h=oo(u,f,2),h!==null&&(uR(f,h,u,i),Dn(h,2),Kr(h));break}}u=u.return}}function yh(i,u,f){var h=i.pingCache;if(h===null){h=i.pingCache=new i6;var v=new Set;h.set(u,v)}else v=h.get(u),v===void 0&&(v=new Set,h.set(u,v));v.has(f)||(sh=!0,v.add(f),i=f6.bind(null,i,u,f),u.then(i,i))}function f6(i,u,f){var h=i.pingCache;h!==null&&h.delete(u),i.pingedLanes|=i.suspendedLanes&f,i.warmLanes&=~f,Dt===i&&(bt&f)===f&&(qt===4||qt===3&&(bt&62914560)===bt&&300>he()-ch?(Ut&2)===0&&es(i,0):lh|=f,Ji===bt&&(Ji=0)),Kr(i)}function i_(i,u){u===0&&(u=In()),i=Za(i,u),i!==null&&(Dn(i,u),Kr(i))}function p6(i){var u=i.memoizedState,f=0;u!==null&&(f=u.retryLane),i_(i,f)}function g6(i,u){var f=0;switch(i.tag){case 13:var h=i.stateNode,v=i.memoizedState;v!==null&&(f=v.retryLane);break;case 19:h=i.stateNode;break;case 22:h=i.stateNode._retryCache;break;default:throw Error(r(314))}h!==null&&h.delete(u),i_(i,f)}function h6(i,u){return we(i,u)}var Zc=null,rs=null,vh=!1,Qc=!1,Sh=!1,ri=0;function Kr(i){i!==rs&&i.next===null&&(rs===null?Zc=rs=i:rs=rs.next=i),Qc=!0,vh||(vh=!0,b6(m6))}function Ul(i,u){if(!Sh&&Qc){Sh=!0;do for(var f=!1,h=Zc;h!==null;){if(i!==0){var v=h.pendingLanes;if(v===0)var T=0;else{var P=h.suspendedLanes,q=h.pingedLanes;T=(1<<31-St(42|i)+1)-1,T&=v&~(P&~q),T=T&201326677?T&201326677|1:T?T|2:0}T!==0&&(f=!0,u_(h,T))}else T=bt,T=fa(h,h===Dt?T:0),(T&3)===0||Xe(h,T)||(f=!0,u_(h,T));h=h.next}while(f);Sh=!1}}function m6(){Qc=vh=!1;var i=0;ri!==0&&(T6()&&(i=ri),ri=0);for(var u=he(),f=null,h=Zc;h!==null;){var v=h.next,T=s_(h,u);T===0?(h.next=null,f===null?Zc=v:f.next=v,v===null&&(rs=f)):(f=h,(i!==0||(T&3)!==0)&&(Qc=!0)),h=v}Ul(i)}function s_(i,u){for(var f=i.suspendedLanes,h=i.pingedLanes,v=i.expirationTimes,T=i.pendingLanes&-62914561;0"u"?null:document;function k_(i,u,f){var h=os;if(h&&typeof u=="string"&&u){var v=sr(u);v='link[rel="'+i+'"][href="'+v+'"]',typeof f=="string"&&(v+='[crossorigin="'+f+'"]'),x_.has(v)||(x_.add(v),i={rel:i,crossOrigin:f,href:u},h.querySelector(v)===null&&(u=h.createElement("link"),hn(u,"link",i),rn(u),h.head.appendChild(u)))}}function D6(i){Na.D(i),k_("dns-prefetch",i,null)}function L6(i,u){Na.C(i,u),k_("preconnect",i,u)}function M6(i,u,f){Na.L(i,u,f);var h=os;if(h&&i&&u){var v='link[rel="preload"][as="'+sr(u)+'"]';u==="image"&&f&&f.imageSrcSet?(v+='[imagesrcset="'+sr(f.imageSrcSet)+'"]',typeof f.imageSizes=="string"&&(v+='[imagesizes="'+sr(f.imageSizes)+'"]')):v+='[href="'+sr(i)+'"]';var T=v;switch(u){case"style":T=is(i);break;case"script":T=ss(i)}br.has(T)||(i=L({rel:"preload",href:u==="image"&&f&&f.imageSrcSet?void 0:i,as:u},f),br.set(T,i),h.querySelector(v)!==null||u==="style"&&h.querySelector(Hl(T))||u==="script"&&h.querySelector($l(T))||(u=h.createElement("link"),hn(u,"link",i),rn(u),h.head.appendChild(u)))}}function F6(i,u){Na.m(i,u);var f=os;if(f&&i){var h=u&&typeof u.as=="string"?u.as:"script",v='link[rel="modulepreload"][as="'+sr(h)+'"][href="'+sr(i)+'"]',T=v;switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":T=ss(i)}if(!br.has(T)&&(i=L({rel:"modulepreload",href:i},u),br.set(T,i),f.querySelector(v)===null)){switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(f.querySelector($l(T)))return}h=f.createElement("link"),hn(h,"link",i),rn(h),f.head.appendChild(h)}}}function P6(i,u,f){Na.S(i,u,f);var h=os;if(h&&i){var v=Ci(h).hoistableStyles,T=is(i);u=u||"default";var P=v.get(T);if(!P){var q={loading:0,preload:null};if(P=h.querySelector(Hl(T)))q.loading=5;else{i=L({rel:"stylesheet",href:i,"data-precedence":u},f),(f=br.get(T))&&Lh(i,f);var Z=P=h.createElement("link");rn(Z),hn(Z,"link",i),Z._p=new Promise(function(ae,be){Z.onload=ae,Z.onerror=be}),Z.addEventListener("load",function(){q.loading|=1}),Z.addEventListener("error",function(){q.loading|=2}),q.loading|=4,ad(P,u,h)}P={type:"stylesheet",instance:P,count:1,state:q},v.set(T,P)}}}function z6(i,u){Na.X(i,u);var f=os;if(f&&i){var h=Ci(f).hoistableScripts,v=ss(i),T=h.get(v);T||(T=f.querySelector($l(v)),T||(i=L({src:i,async:!0},u),(u=br.get(v))&&Mh(i,u),T=f.createElement("script"),rn(T),hn(T,"link",i),f.head.appendChild(T)),T={type:"script",instance:T,count:1,state:null},h.set(v,T))}}function B6(i,u){Na.M(i,u);var f=os;if(f&&i){var h=Ci(f).hoistableScripts,v=ss(i),T=h.get(v);T||(T=f.querySelector($l(v)),T||(i=L({src:i,async:!0,type:"module"},u),(u=br.get(v))&&Mh(i,u),T=f.createElement("script"),rn(T),hn(T,"link",i),f.head.appendChild(T)),T={type:"script",instance:T,count:1,state:null},h.set(v,T))}}function T_(i,u,f,h){var v=(v=De.current)?rd(v):null;if(!v)throw Error(r(446));switch(i){case"meta":case"title":return null;case"style":return typeof f.precedence=="string"&&typeof f.href=="string"?(u=is(f.href),f=Ci(v).hoistableStyles,h=f.get(u),h||(h={type:"style",instance:null,count:0,state:null},f.set(u,h)),h):{type:"void",instance:null,count:0,state:null};case"link":if(f.rel==="stylesheet"&&typeof f.href=="string"&&typeof f.precedence=="string"){i=is(f.href);var T=Ci(v).hoistableStyles,P=T.get(i);if(P||(v=v.ownerDocument||v,P={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},T.set(i,P),(T=v.querySelector(Hl(i)))&&!T._p&&(P.instance=T,P.state.loading=5),br.has(i)||(f={rel:"preload",as:"style",href:f.href,crossOrigin:f.crossOrigin,integrity:f.integrity,media:f.media,hrefLang:f.hrefLang,referrerPolicy:f.referrerPolicy},br.set(i,f),T||U6(v,i,f,P.state))),u&&h===null)throw Error(r(528,""));return P}if(u&&h!==null)throw Error(r(529,""));return null;case"script":return u=f.async,f=f.src,typeof f=="string"&&u&&typeof u!="function"&&typeof u!="symbol"?(u=ss(f),f=Ci(v).hoistableScripts,h=f.get(u),h||(h={type:"script",instance:null,count:0,state:null},f.set(u,h)),h):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,i))}}function is(i){return'href="'+sr(i)+'"'}function Hl(i){return'link[rel="stylesheet"]['+i+"]"}function A_(i){return L({},i,{"data-precedence":i.precedence,precedence:null})}function U6(i,u,f,h){i.querySelector('link[rel="preload"][as="style"]['+u+"]")?h.loading=1:(u=i.createElement("link"),h.preload=u,u.addEventListener("load",function(){return h.loading|=1}),u.addEventListener("error",function(){return h.loading|=2}),hn(u,"link",f),rn(u),i.head.appendChild(u))}function ss(i){return'[src="'+sr(i)+'"]'}function $l(i){return"script[async]"+i}function R_(i,u,f){if(u.count++,u.instance===null)switch(u.type){case"style":var h=i.querySelector('style[data-href~="'+sr(f.href)+'"]');if(h)return u.instance=h,rn(h),h;var v=L({},f,{"data-href":f.href,"data-precedence":f.precedence,href:null,precedence:null});return h=(i.ownerDocument||i).createElement("style"),rn(h),hn(h,"style",v),ad(h,f.precedence,i),u.instance=h;case"stylesheet":v=is(f.href);var T=i.querySelector(Hl(v));if(T)return u.state.loading|=4,u.instance=T,rn(T),T;h=A_(f),(v=br.get(v))&&Lh(h,v),T=(i.ownerDocument||i).createElement("link"),rn(T);var P=T;return P._p=new Promise(function(q,Z){P.onload=q,P.onerror=Z}),hn(T,"link",h),u.state.loading|=4,ad(T,f.precedence,i),u.instance=T;case"script":return T=ss(f.src),(v=i.querySelector($l(T)))?(u.instance=v,rn(v),v):(h=f,(v=br.get(T))&&(h=L({},f),Mh(h,v)),i=i.ownerDocument||i,v=i.createElement("script"),rn(v),hn(v,"link",h),i.head.appendChild(v),u.instance=v);case"void":return null;default:throw Error(r(443,u.type))}else u.type==="stylesheet"&&(u.state.loading&4)===0&&(h=u.instance,u.state.loading|=4,ad(h,f.precedence,i));return u.instance}function ad(i,u,f){for(var h=f.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),v=h.length?h[h.length-1]:null,T=v,P=0;P title"):null)}function j6(i,u,f){if(f===1||u.itemProp!=null)return!1;switch(i){case"meta":case"title":return!0;case"style":if(typeof u.precedence!="string"||typeof u.href!="string"||u.href==="")break;return!0;case"link":if(typeof u.rel!="string"||typeof u.href!="string"||u.href===""||u.onLoad||u.onError)break;switch(u.rel){case"stylesheet":return i=u.disabled,typeof u.precedence=="string"&&i==null;default:return!0}case"script":if(u.async&&typeof u.async!="function"&&typeof u.async!="symbol"&&!u.onLoad&&!u.onError&&u.src&&typeof u.src=="string")return!0}return!1}function N_(i){return!(i.type==="stylesheet"&&(i.state.loading&3)===0)}var ql=null;function G6(){}function H6(i,u,f){if(ql===null)throw Error(r(475));var h=ql;if(u.type==="stylesheet"&&(typeof f.media!="string"||matchMedia(f.media).matches!==!1)&&(u.state.loading&4)===0){if(u.instance===null){var v=is(f.href),T=i.querySelector(Hl(v));if(T){i=T._p,i!==null&&typeof i=="object"&&typeof i.then=="function"&&(h.count++,h=id.bind(h),i.then(h,h)),u.state.loading|=4,u.instance=T,rn(T);return}T=i.ownerDocument||i,f=A_(f),(v=br.get(v))&&Lh(f,v),T=T.createElement("link"),rn(T);var P=T;P._p=new Promise(function(q,Z){P.onload=q,P.onerror=Z}),hn(T,"link",f),u.instance=T}h.stylesheets===null&&(h.stylesheets=new Map),h.stylesheets.set(u,i),(i=u.state.preload)&&(u.state.loading&3)===0&&(h.count++,u=id.bind(h),i.addEventListener("load",u),i.addEventListener("error",u))}}function $6(){if(ql===null)throw Error(r(475));var i=ql;return i.stylesheets&&i.count===0&&Fh(i,i.stylesheets),0"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),qh.exports=d9(),qh.exports}var p9=f9(),Jl={},Q_;function g9(){if(Q_)return Jl;Q_=1,Object.defineProperty(Jl,"__esModule",{value:!0}),Jl.parse=s,Jl.serialize=d;const e=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,t=/^[\u0021-\u003A\u003C-\u007E]*$/,n=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,r=/^[\u0020-\u003A\u003D-\u007E]*$/,a=Object.prototype.toString,o=(()=>{const m=function(){};return m.prototype=Object.create(null),m})();function s(m,b){const y=new o,S=m.length;if(S<2)return y;const k=(b==null?void 0:b.decode)||p;let R=0;do{const x=m.indexOf("=",R);if(x===-1)break;const A=m.indexOf(";",R),N=A===-1?S:A;if(x>N){R=m.lastIndexOf(";",x-1)+1;continue}const O=l(m,R,x),_=c(m,x,O),C=m.slice(O,_);if(y[C]===void 0){let F=l(m,x+1,N),D=c(m,N,F);const L=k(m.slice(F,D));y[C]=L}R=N+1}while(Ry;){const S=m.charCodeAt(--b);if(S!==32&&S!==9)return b+1}return y}function d(m,b,y){const S=(y==null?void 0:y.encode)||encodeURIComponent;if(!e.test(m))throw new TypeError(`argument name is invalid: ${m}`);const k=S(b);if(!t.test(k))throw new TypeError(`argument val is invalid: ${b}`);let R=m+"="+k;if(!y)return R;if(y.maxAge!==void 0){if(!Number.isInteger(y.maxAge))throw new TypeError(`option maxAge is invalid: ${y.maxAge}`);R+="; Max-Age="+y.maxAge}if(y.domain){if(!n.test(y.domain))throw new TypeError(`option domain is invalid: ${y.domain}`);R+="; Domain="+y.domain}if(y.path){if(!r.test(y.path))throw new TypeError(`option path is invalid: ${y.path}`);R+="; Path="+y.path}if(y.expires){if(!g(y.expires)||!Number.isFinite(y.expires.valueOf()))throw new TypeError(`option expires is invalid: ${y.expires}`);R+="; Expires="+y.expires.toUTCString()}if(y.httpOnly&&(R+="; HttpOnly"),y.secure&&(R+="; Secure"),y.partitioned&&(R+="; Partitioned"),y.priority)switch(typeof y.priority=="string"?y.priority.toLowerCase():void 0){case"low":R+="; Priority=Low";break;case"medium":R+="; Priority=Medium";break;case"high":R+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${y.priority}`)}if(y.sameSite)switch(typeof y.sameSite=="string"?y.sameSite.toLowerCase():y.sameSite){case!0:case"strict":R+="; SameSite=Strict";break;case"lax":R+="; SameSite=Lax";break;case"none":R+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${y.sameSite}`)}return R}function p(m){if(m.indexOf("%")===-1)return m;try{return decodeURIComponent(m)}catch{return m}}function g(m){return a.call(m)==="[object Date]"}return Jl}g9();/** + * react-router v7.4.0 * * Copyright (c) Remix Software Inc. * @@ -55,208 +55,208 @@ Error generating stack: `+f.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */var nC="popstate";function x9(e={}){function t(a,o){let{pathname:s="/",search:u="",hash:c=""}=Ei(a.location.hash.substring(1));return!s.startsWith("/")&&!s.startsWith(".")&&(s="/"+s),rk("",{pathname:s,search:u,hash:c},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function n(a,o){let s=a.document.querySelector("base"),u="";if(s&&s.getAttribute("href")){let c=a.location.href,d=c.indexOf("#");u=d===-1?c:c.slice(0,d)}return u+"#"+(typeof o=="string"?o:Eu(o))}function r(a,o){Br(a.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(o)})`)}return T9(t,n,r,e)}function Gt(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Br(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function k9(){return Math.random().toString(36).substring(2,10)}function rC(e,t){return{usr:e.state,key:e.key,idx:t}}function rk(e,t,n=null,r){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?Ei(t):t,state:n,key:t&&t.key||r||k9()}}function Eu({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 Ei(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 T9(e,t,n,r={}){let{window:a=document.defaultView,v5Compat:o=!1}=r,s=a.history,u="POP",c=null,d=p();d==null&&(d=0,s.replaceState({...s.state,idx:d},""));function p(){return(s.state||{idx:null}).idx}function g(){u="POP";let x=p(),R=x==null?null:x-d;d=x,c&&c({action:u,location:S.location,delta:R})}function m(x,R){u="PUSH";let k=rk(S.location,x,R);n&&n(k,x),d=p()+1;let A=rC(k,d),C=S.createHref(k);try{s.pushState(A,"",C)}catch(N){if(N instanceof DOMException&&N.name==="DataCloneError")throw N;a.location.assign(C)}o&&c&&c({action:u,location:S.location,delta:1})}function b(x,R){u="REPLACE";let k=rk(S.location,x,R);n&&n(k,x),d=p();let A=rC(k,d),C=S.createHref(k);s.replaceState(A,"",C),o&&c&&c({action:u,location:S.location,delta:0})}function y(x){let R=a.location.origin!=="null"?a.location.origin:a.location.href,k=typeof x=="string"?x:Eu(x);return k=k.replace(/ $/,"%20"),Gt(R,`No window.location.(origin|href) available to create URL for href: ${k}`),new URL(k,R)}let S={get action(){return u},get location(){return e(a,s)},listen(x){if(c)throw new Error("A history only accepts one active listener");return a.addEventListener(nC,g),c=x,()=>{a.removeEventListener(nC,g),c=null}},createHref(x){return t(a,x)},createURL:y,encodeLocation(x){let R=y(x);return{pathname:R.pathname,search:R.search,hash:R.hash}},push:m,replace:b,go(x){return s.go(x)}};return S}function zz(e,t,n="/"){return A9(e,t,n,!1)}function A9(e,t,n,r){let a=typeof t=="string"?Ei(t):t,o=Ua(a.pathname||"/",n);if(o==null)return null;let s=Bz(e);R9(s);let u=null;for(let c=0;u==null&&c{let c={relativePath:u===void 0?o.path||"":u,caseSensitive:o.caseSensitive===!0,childrenIndex:s,route:o};c.relativePath.startsWith("/")&&(Gt(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length));let d=za([r,c.relativePath]),p=n.concat(c);o.children&&o.children.length>0&&(Gt(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),Bz(o.children,t,p,d)),!(o.path==null&&!o.index)&&t.push({path:d,score:L9(d,o.index),routesMeta:p})};return e.forEach((o,s)=>{var u;if(o.path===""||!((u=o.path)!=null&&u.includes("?")))a(o,s);else for(let c of Uz(o.path))a(o,s,c)}),t}function Uz(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,a=n.endsWith("?"),o=n.replace(/\?$/,"");if(r.length===0)return a?[o,""]:[o];let s=Uz(r.join("/")),u=[];return u.push(...s.map(c=>c===""?o:[o,c].join("/"))),a&&u.push(...s),u.map(c=>e.startsWith("/")&&c===""?"/":c)}function R9(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:M9(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}var _9=/^:[\w-]+$/,C9=3,N9=2,O9=1,D9=10,I9=-2,aC=e=>e==="*";function L9(e,t){let n=e.split("/"),r=n.length;return n.some(aC)&&(r+=I9),t&&(r+=N9),n.filter(a=>!aC(a)).reduce((a,o)=>a+(_9.test(o)?C9:o===""?O9:D9),r)}function M9(e,t){return e.length===t.length&&e.slice(0,-1).every((r,a)=>r===t[a])?e[e.length-1]-t[t.length-1]:0}function F9(e,t,n=!1){let{routesMeta:r}=e,a={},o="/",s=[];for(let u=0;u{if(p==="*"){let y=u[m]||"";s=o.slice(0,o.length-y.length).replace(/(.)\/+$/,"$1")}const b=u[m];return g&&!b?d[p]=void 0:d[p]=(b||"").replace(/%2F/g,"/"),d},{}),pathname:o,pathnameBase:s,pattern:e}}function P9(e,t=!1,n=!0){Br(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=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,u,c)=>(r.push({paramName:u,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}function z9(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Br(!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 Ua(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 B9(e,t="/"){let{pathname:n,search:r="",hash:a=""}=typeof e=="string"?Ei(e):e;return{pathname:n?n.startsWith("/")?n:U9(n,t):t,search:H9(r),hash:$9(a)}}function U9(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?n.length>1&&n.pop():a!=="."&&n.push(a)}),n.length>1?n.join("/"):"/"}function Xh(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 j9(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function jz(e){let t=j9(e);return t.map((n,r)=>r===t.length-1?n.pathname:n.pathnameBase)}function Gz(e,t,n,r=!1){let a;typeof e=="string"?a=Ei(e):(a={...e},Gt(!a.pathname||!a.pathname.includes("?"),Xh("?","pathname","search",a)),Gt(!a.pathname||!a.pathname.includes("#"),Xh("#","pathname","hash",a)),Gt(!a.search||!a.search.includes("#"),Xh("#","search","hash",a)));let o=e===""||a.pathname==="",s=o?"/":a.pathname,u;if(s==null)u=n;else{let g=t.length-1;if(!r&&s.startsWith("..")){let m=s.split("/");for(;m[0]==="..";)m.shift(),g-=1;a.pathname=m.join("/")}u=g>=0?t[g]:"/"}let c=B9(a,u),d=s&&s!=="/"&&s.endsWith("/"),p=(o||s===".")&&n.endsWith("/");return!c.pathname.endsWith("/")&&(d||p)&&(c.pathname+="/"),c}var za=e=>e.join("/").replace(/\/\/+/g,"/"),G9=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),H9=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,$9=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function q9(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}var Hz=["POST","PUT","PATCH","DELETE"];new Set(Hz);var V9=["GET",...Hz];new Set(V9);var Bs=E.createContext(null);Bs.displayName="DataRouter";var qf=E.createContext(null);qf.displayName="DataRouterState";var $z=E.createContext({isTransitioning:!1});$z.displayName="ViewTransition";var W9=E.createContext(new Map);W9.displayName="Fetchers";var Y9=E.createContext(null);Y9.displayName="Await";var ia=E.createContext(null);ia.displayName="Navigation";var Bu=E.createContext(null);Bu.displayName="Location";var qa=E.createContext({outlet:null,matches:[],isDataRoute:!1});qa.displayName="Route";var v0=E.createContext(null);v0.displayName="RouteError";function K9(e,{relative:t}={}){Gt(Uu(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:r}=E.useContext(ia),{hash:a,pathname:o,search:s}=ju(e,{relative:t}),u=o;return n!=="/"&&(u=o==="/"?n:za([n,o])),r.createHref({pathname:u,search:s,hash:a})}function Uu(){return E.useContext(Bu)!=null}function wi(){return Gt(Uu(),"useLocation() may be used only in the context of a component."),E.useContext(Bu).location}var qz="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Vz(e){E.useContext(ia).static||E.useLayoutEffect(e)}function Vf(){let{isDataRoute:e}=E.useContext(qa);return e?lq():X9()}function X9(){Gt(Uu(),"useNavigate() may be used only in the context of a component.");let e=E.useContext(Bs),{basename:t,navigator:n}=E.useContext(ia),{matches:r}=E.useContext(qa),{pathname:a}=wi(),o=JSON.stringify(jz(r)),s=E.useRef(!1);return Vz(()=>{s.current=!0}),E.useCallback((c,d={})=>{if(Br(s.current,qz),!s.current)return;if(typeof c=="number"){n.go(c);return}let p=Gz(c,JSON.parse(o),a,d.relative==="path");e==null&&t!=="/"&&(p.pathname=p.pathname==="/"?t:za([t,p.pathname])),(d.replace?n.replace:n.push)(p,d.state,d)},[t,n,o,a,e])}E.createContext(null);function ju(e,{relative:t}={}){let{matches:n}=E.useContext(qa),{pathname:r}=wi(),a=JSON.stringify(jz(n));return E.useMemo(()=>Gz(e,JSON.parse(a),r,t==="path"),[e,a,r,t])}function Z9(e,t){return Wz(e,t)}function Wz(e,t,n,r){var k;Gt(Uu(),"useRoutes() may be used only in the context of a component.");let{navigator:a,static:o}=E.useContext(ia),{matches:s}=E.useContext(qa),u=s[s.length-1],c=u?u.params:{},d=u?u.pathname:"/",p=u?u.pathnameBase:"/",g=u&&u.route;{let A=g&&g.path||"";Yz(d,!g||A.endsWith("*")||A.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. + */var J_="popstate";function h9(e={}){function t(a,o){let{pathname:s="/",search:l="",hash:c=""}=Ei(a.location.hash.substring(1));return!s.startsWith("/")&&!s.startsWith(".")&&(s="/"+s),Jx("",{pathname:s,search:l,hash:c},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function n(a,o){let s=a.document.querySelector("base"),l="";if(s&&s.getAttribute("href")){let c=a.location.href,d=c.indexOf("#");l=d===-1?c:c.slice(0,d)}return l+"#"+(typeof o=="string"?o:wu(o))}function r(a,o){Br(a.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(o)})`)}return b9(t,n,r,e)}function Gt(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Br(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function m9(){return Math.random().toString(36).substring(2,10)}function eC(e,t){return{usr:e.state,key:e.key,idx:t}}function Jx(e,t,n=null,r){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?Ei(t):t,state:n,key:t&&t.key||r||m9()}}function wu({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 Ei(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 b9(e,t,n,r={}){let{window:a=document.defaultView,v5Compat:o=!1}=r,s=a.history,l="POP",c=null,d=p();d==null&&(d=0,s.replaceState({...s.state,idx:d},""));function p(){return(s.state||{idx:null}).idx}function g(){l="POP";let k=p(),R=k==null?null:k-d;d=k,c&&c({action:l,location:S.location,delta:R})}function m(k,R){l="PUSH";let x=Jx(S.location,k,R);n&&n(x,k),d=p()+1;let A=eC(x,d),N=S.createHref(x);try{s.pushState(A,"",N)}catch(O){if(O instanceof DOMException&&O.name==="DataCloneError")throw O;a.location.assign(N)}o&&c&&c({action:l,location:S.location,delta:1})}function b(k,R){l="REPLACE";let x=Jx(S.location,k,R);n&&n(x,k),d=p();let A=eC(x,d),N=S.createHref(x);s.replaceState(A,"",N),o&&c&&c({action:l,location:S.location,delta:0})}function y(k){let R=a.location.origin!=="null"?a.location.origin:a.location.href,x=typeof k=="string"?k:wu(k);return x=x.replace(/ $/,"%20"),Gt(R,`No window.location.(origin|href) available to create URL for href: ${x}`),new URL(x,R)}let S={get action(){return l},get location(){return e(a,s)},listen(k){if(c)throw new Error("A history only accepts one active listener");return a.addEventListener(J_,g),c=k,()=>{a.removeEventListener(J_,g),c=null}},createHref(k){return t(a,k)},createURL:y,encodeLocation(k){let R=y(k);return{pathname:R.pathname,search:R.search,hash:R.hash}},push:m,replace:b,go(k){return s.go(k)}};return S}function Iz(e,t,n="/"){return y9(e,t,n,!1)}function y9(e,t,n,r){let a=typeof t=="string"?Ei(t):t,o=Ua(a.pathname||"/",n);if(o==null)return null;let s=Dz(e);v9(s);let l=null;for(let c=0;l==null&&c{let c={relativePath:l===void 0?o.path||"":l,caseSensitive:o.caseSensitive===!0,childrenIndex:s,route:o};c.relativePath.startsWith("/")&&(Gt(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length));let d=za([r,c.relativePath]),p=n.concat(c);o.children&&o.children.length>0&&(Gt(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),Dz(o.children,t,p,d)),!(o.path==null&&!o.index)&&t.push({path:d,score:A9(d,o.index),routesMeta:p})};return e.forEach((o,s)=>{var l;if(o.path===""||!((l=o.path)!=null&&l.includes("?")))a(o,s);else for(let c of Lz(o.path))a(o,s,c)}),t}function Lz(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,a=n.endsWith("?"),o=n.replace(/\?$/,"");if(r.length===0)return a?[o,""]:[o];let s=Lz(r.join("/")),l=[];return l.push(...s.map(c=>c===""?o:[o,c].join("/"))),a&&l.push(...s),l.map(c=>e.startsWith("/")&&c===""?"/":c)}function v9(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:R9(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}var S9=/^:[\w-]+$/,E9=3,w9=2,x9=1,k9=10,T9=-2,tC=e=>e==="*";function A9(e,t){let n=e.split("/"),r=n.length;return n.some(tC)&&(r+=T9),t&&(r+=w9),n.filter(a=>!tC(a)).reduce((a,o)=>a+(S9.test(o)?E9:o===""?x9:k9),r)}function R9(e,t){return e.length===t.length&&e.slice(0,-1).every((r,a)=>r===t[a])?e[e.length-1]-t[t.length-1]:0}function _9(e,t,n=!1){let{routesMeta:r}=e,a={},o="/",s=[];for(let l=0;l{if(p==="*"){let y=l[m]||"";s=o.slice(0,o.length-y.length).replace(/(.)\/+$/,"$1")}const b=l[m];return g&&!b?d[p]=void 0:d[p]=(b||"").replace(/%2F/g,"/"),d},{}),pathname:o,pathnameBase:s,pattern:e}}function C9(e,t=!1,n=!0){Br(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=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,l,c)=>(r.push({paramName:l,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}function N9(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Br(!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 Ua(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 O9(e,t="/"){let{pathname:n,search:r="",hash:a=""}=typeof e=="string"?Ei(e):e;return{pathname:n?n.startsWith("/")?n:I9(n,t):t,search:M9(r),hash:F9(a)}}function I9(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?n.length>1&&n.pop():a!=="."&&n.push(a)}),n.length>1?n.join("/"):"/"}function Kh(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 D9(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Mz(e){let t=D9(e);return t.map((n,r)=>r===t.length-1?n.pathname:n.pathnameBase)}function Fz(e,t,n,r=!1){let a;typeof e=="string"?a=Ei(e):(a={...e},Gt(!a.pathname||!a.pathname.includes("?"),Kh("?","pathname","search",a)),Gt(!a.pathname||!a.pathname.includes("#"),Kh("#","pathname","hash",a)),Gt(!a.search||!a.search.includes("#"),Kh("#","search","hash",a)));let o=e===""||a.pathname==="",s=o?"/":a.pathname,l;if(s==null)l=n;else{let g=t.length-1;if(!r&&s.startsWith("..")){let m=s.split("/");for(;m[0]==="..";)m.shift(),g-=1;a.pathname=m.join("/")}l=g>=0?t[g]:"/"}let c=O9(a,l),d=s&&s!=="/"&&s.endsWith("/"),p=(o||s===".")&&n.endsWith("/");return!c.pathname.endsWith("/")&&(d||p)&&(c.pathname+="/"),c}var za=e=>e.join("/").replace(/\/\/+/g,"/"),L9=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),M9=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,F9=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function P9(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}var Pz=["POST","PUT","PATCH","DELETE"];new Set(Pz);var z9=["GET",...Pz];new Set(z9);var Us=E.createContext(null);Us.displayName="DataRouter";var qf=E.createContext(null);qf.displayName="DataRouterState";var zz=E.createContext({isTransitioning:!1});zz.displayName="ViewTransition";var B9=E.createContext(new Map);B9.displayName="Fetchers";var U9=E.createContext(null);U9.displayName="Await";var ia=E.createContext(null);ia.displayName="Navigation";var Uu=E.createContext(null);Uu.displayName="Location";var qa=E.createContext({outlet:null,matches:[],isDataRoute:!1});qa.displayName="Route";var b0=E.createContext(null);b0.displayName="RouteError";function j9(e,{relative:t}={}){Gt(ju(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:r}=E.useContext(ia),{hash:a,pathname:o,search:s}=Gu(e,{relative:t}),l=o;return n!=="/"&&(l=o==="/"?n:za([n,o])),r.createHref({pathname:l,search:s,hash:a})}function ju(){return E.useContext(Uu)!=null}function wi(){return Gt(ju(),"useLocation() may be used only in the context of a component."),E.useContext(Uu).location}var Bz="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Uz(e){E.useContext(ia).static||E.useLayoutEffect(e)}function Vf(){let{isDataRoute:e}=E.useContext(qa);return e?eq():G9()}function G9(){Gt(ju(),"useNavigate() may be used only in the context of a component.");let e=E.useContext(Us),{basename:t,navigator:n}=E.useContext(ia),{matches:r}=E.useContext(qa),{pathname:a}=wi(),o=JSON.stringify(Mz(r)),s=E.useRef(!1);return Uz(()=>{s.current=!0}),E.useCallback((c,d={})=>{if(Br(s.current,Bz),!s.current)return;if(typeof c=="number"){n.go(c);return}let p=Fz(c,JSON.parse(o),a,d.relative==="path");e==null&&t!=="/"&&(p.pathname=p.pathname==="/"?t:za([t,p.pathname])),(d.replace?n.replace:n.push)(p,d.state,d)},[t,n,o,a,e])}E.createContext(null);function Gu(e,{relative:t}={}){let{matches:n}=E.useContext(qa),{pathname:r}=wi(),a=JSON.stringify(Mz(n));return E.useMemo(()=>Fz(e,JSON.parse(a),r,t==="path"),[e,a,r,t])}function H9(e,t){return jz(e,t)}function jz(e,t,n,r){var x;Gt(ju(),"useRoutes() may be used only in the context of a component.");let{navigator:a,static:o}=E.useContext(ia),{matches:s}=E.useContext(qa),l=s[s.length-1],c=l?l.params:{},d=l?l.pathname:"/",p=l?l.pathnameBase:"/",g=l&&l.route;{let A=g&&g.path||"";Gz(d,!g||A.endsWith("*")||A.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 m=wi(),b;if(t){let A=typeof t=="string"?Ei(t):t;Gt(p==="/"||((k=A.pathname)==null?void 0:k.startsWith(p)),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${p}" but pathname "${A.pathname}" was given in the \`location\` prop.`),b=A}else b=m;let y=b.pathname||"/",S=y;if(p!=="/"){let A=p.replace(/^\//,"").split("/");S="/"+y.replace(/^\//,"").split("/").slice(A.length).join("/")}let x=!o&&n&&n.matches&&n.matches.length>0?n.matches:zz(e,{pathname:S});Br(g||x!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),Br(x==null||x[x.length-1].route.element!==void 0||x[x.length-1].route.Component!==void 0||x[x.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.`);let R=nq(x&&x.map(A=>Object.assign({},A,{params:Object.assign({},c,A.params),pathname:za([p,a.encodeLocation?a.encodeLocation(A.pathname).pathname:A.pathname]),pathnameBase:A.pathnameBase==="/"?p:za([p,a.encodeLocation?a.encodeLocation(A.pathnameBase).pathname:A.pathnameBase])})),s,n,r);return t&&R?E.createElement(Bu.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...b},navigationType:"POP"}},R):R}function Q9(){let e=sq(),t=q9(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)",a={padding:"0.5rem",backgroundColor:r},o={padding:"2px 4px",backgroundColor:r},s=null;return console.error("Error handled by React Router default ErrorBoundary:",e),s=E.createElement(E.Fragment,null,E.createElement("p",null,"💿 Hey developer 👋"),E.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",E.createElement("code",{style:o},"ErrorBoundary")," or"," ",E.createElement("code",{style:o},"errorElement")," prop on your route.")),E.createElement(E.Fragment,null,E.createElement("h2",null,"Unexpected Application Error!"),E.createElement("h3",{style:{fontStyle:"italic"}},t),n?E.createElement("pre",{style:a},n):null,s)}var J9=E.createElement(Q9,null),eq=class extends E.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?E.createElement(qa.Provider,{value:this.props.routeContext},E.createElement(v0.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function tq({routeContext:e,match:t,children:n}){let r=E.useContext(Bs);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),E.createElement(qa.Provider,{value:e},n)}function nq(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 a=e,o=n==null?void 0:n.errors;if(o!=null){let c=a.findIndex(d=>d.route.id&&(o==null?void 0:o[d.route.id])!==void 0);Gt(c>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),a=a.slice(0,Math.min(a.length,c+1))}let s=!1,u=-1;if(n)for(let c=0;c=0?a=a.slice(0,u+1):a=[a[0]];break}}}return a.reduceRight((c,d,p)=>{let g,m=!1,b=null,y=null;n&&(g=o&&d.route.id?o[d.route.id]:void 0,b=d.route.errorElement||J9,s&&(u<0&&p===0?(Yz("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),m=!0,y=null):u===p&&(m=!0,y=d.route.hydrateFallbackElement||null)));let S=t.concat(a.slice(0,p+1)),x=()=>{let R;return g?R=b:m?R=y:d.route.Component?R=E.createElement(d.route.Component,null):d.route.element?R=d.route.element:R=c,E.createElement(tq,{match:d,routeContext:{outlet:c,matches:S,isDataRoute:n!=null},children:R})};return n&&(d.route.ErrorBoundary||d.route.errorElement||p===0)?E.createElement(eq,{location:n.location,revalidation:n.revalidation,component:b,error:g,children:x(),routeContext:{outlet:null,matches:S,isDataRoute:!0}}):x()},null)}function S0(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function rq(e){let t=E.useContext(Bs);return Gt(t,S0(e)),t}function aq(e){let t=E.useContext(qf);return Gt(t,S0(e)),t}function oq(e){let t=E.useContext(qa);return Gt(t,S0(e)),t}function E0(e){let t=oq(e),n=t.matches[t.matches.length-1];return Gt(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function iq(){return E0("useRouteId")}function sq(){var r;let e=E.useContext(v0),t=aq("useRouteError"),n=E0("useRouteError");return e!==void 0?e:(r=t.errors)==null?void 0:r[n]}function lq(){let{router:e}=rq("useNavigate"),t=E0("useNavigate"),n=E.useRef(!1);return Vz(()=>{n.current=!0}),E.useCallback(async(a,o={})=>{Br(n.current,qz),n.current&&(typeof a=="number"?e.navigate(a):await e.navigate(a,{fromRouteId:t,...o}))},[e,t])}var oC={};function Yz(e,t,n){!t&&!oC[e]&&(oC[e]=!0,Br(!1,n))}E.memo(uq);function uq({routes:e,future:t,state:n}){return Wz(e,void 0,n,t)}function ak(e){Gt(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function cq({basename:e="/",children:t=null,location:n,navigationType:r="POP",navigator:a,static:o=!1}){Gt(!Uu(),"You cannot render a inside another . You should never have more than one in your app.");let s=e.replace(/^\/*/,"/"),u=E.useMemo(()=>({basename:s,navigator:a,static:o,future:{}}),[s,a,o]);typeof n=="string"&&(n=Ei(n));let{pathname:c="/",search:d="",hash:p="",state:g=null,key:m="default"}=n,b=E.useMemo(()=>{let y=Ua(c,s);return y==null?null:{location:{pathname:y,search:d,hash:p,state:g,key:m},navigationType:r}},[s,c,d,p,g,m,r]);return Br(b!=null,` is not able to match the URL "${c}${d}${p}" because it does not start with the basename, so the won't render anything.`),b==null?null:E.createElement(ia.Provider,{value:u},E.createElement(Bu.Provider,{children:t,value:b}))}function dq({children:e,location:t}){return Z9(ok(e),t)}function ok(e,t=[]){let n=[];return E.Children.forEach(e,(r,a)=>{if(!E.isValidElement(r))return;let o=[...t,a];if(r.type===E.Fragment){n.push.apply(n,ok(r.props.children,o));return}Gt(r.type===ak,`[${typeof r.type=="string"?r.type:r.type.name}] is not a component. All component children of must be a or `),Gt(!r.props.index||!r.props.children,"An index route cannot have child routes.");let s={id:r.props.id||o.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(s.children=ok(r.props.children,o)),n.push(s)}),n}var qd="get",Vd="application/x-www-form-urlencoded";function Wf(e){return e!=null&&typeof e.tagName=="string"}function fq(e){return Wf(e)&&e.tagName.toLowerCase()==="button"}function pq(e){return Wf(e)&&e.tagName.toLowerCase()==="form"}function gq(e){return Wf(e)&&e.tagName.toLowerCase()==="input"}function hq(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function mq(e,t){return e.button===0&&(!t||t==="_self")&&!hq(e)}var gd=null;function bq(){if(gd===null)try{new FormData(document.createElement("form"),0),gd=!1}catch{gd=!0}return gd}var yq=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Zh(e){return e!=null&&!yq.has(e)?(Br(!1,`"${e}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Vd}"`),null):e}function vq(e,t){let n,r,a,o,s;if(pq(e)){let u=e.getAttribute("action");r=u?Ua(u,t):null,n=e.getAttribute("method")||qd,a=Zh(e.getAttribute("enctype"))||Vd,o=new FormData(e)}else if(fq(e)||gq(e)&&(e.type==="submit"||e.type==="image")){let u=e.form;if(u==null)throw new Error('Cannot submit a
diff --git a/lightrag_webui/src/i18n.js b/lightrag_webui/src/i18n.js deleted file mode 100644 index be364b2c..00000000 --- a/lightrag_webui/src/i18n.js +++ /dev/null @@ -1,35 +0,0 @@ -import i18n from "i18next"; -import { initReactI18next } from "react-i18next"; -import { useSettingsStore } from "./stores/settings"; - -import en from "./locales/en.json"; -import zh from "./locales/zh.json"; - -const getStoredLanguage = () => { - try { - const settingsString = localStorage.getItem('settings-storage'); - if (settingsString) { - const settings = JSON.parse(settingsString); - return settings.state?.language || 'en'; - } - } catch (e) { - console.error('Failed to get stored language:', e); - } - return 'en'; -}; - -i18n - .use(initReactI18next) - .init({ - resources: { - en: { translation: en }, - zh: { translation: zh } - }, - lng: getStoredLanguage(), // 使用存储的语言设置 - fallbackLng: "en", - interpolation: { - escapeValue: false - } - }); - -export default i18n; diff --git a/lightrag_webui/src/i18n.ts b/lightrag_webui/src/i18n.ts index 85ed13e5..d2753a0e 100644 --- a/lightrag_webui/src/i18n.ts +++ b/lightrag_webui/src/i18n.ts @@ -4,34 +4,44 @@ import { useSettingsStore } from '@/stores/settings' import en from './locales/en.json' import zh from './locales/zh.json' +import fr from './locales/fr.json' +import ar from './locales/ar.json' -// Function to sync i18n with store state -export const initializeI18n = async (): Promise => { - // Get initial language from store - const initialLanguage = useSettingsStore.getState().language +const getStoredLanguage = () => { + try { + const settingsString = localStorage.getItem('settings-storage') + if (settingsString) { + const settings = JSON.parse(settingsString) + return settings.state?.language || 'en' + } + } catch (e) { + console.error('Failed to get stored language:', e) + } + return 'en' +} - // Initialize with store language - await i18n.use(initReactI18next).init({ +i18n + .use(initReactI18next) + .init({ resources: { en: { translation: en }, - zh: { translation: zh } + zh: { translation: zh }, + fr: { translation: fr }, + ar: { translation: ar } }, - lng: initialLanguage, + lng: getStoredLanguage(), // 使用存储的语言设置 fallbackLng: 'en', interpolation: { escapeValue: false } }) - // Subscribe to language changes - useSettingsStore.subscribe((state) => { - const currentLanguage = state.language - if (i18n.language !== currentLanguage) { - i18n.changeLanguage(currentLanguage) - } - }) - - return i18n -} +// Subscribe to language changes +useSettingsStore.subscribe((state) => { + const currentLanguage = state.language + if (i18n.language !== currentLanguage) { + i18n.changeLanguage(currentLanguage) + } +}) export default i18n diff --git a/lightrag_webui/src/locales/ar.json b/lightrag_webui/src/locales/ar.json index 6b0234cf..fb415363 100644 --- a/lightrag_webui/src/locales/ar.json +++ b/lightrag_webui/src/locales/ar.json @@ -12,11 +12,26 @@ "retrieval": "الاسترجاع", "api": "واجهة برمجة التطبيقات", "projectRepository": "مستودع المشروع", + "logout": "تسجيل الخروج", "themeToggle": { "switchToLight": "التحويل إلى السمة الفاتحة", "switchToDark": "التحويل إلى السمة الداكنة" } }, + "login": { + "description": "الرجاء إدخال حسابك وكلمة المرور لتسجيل الدخول إلى النظام", + "username": "اسم المستخدم", + "usernamePlaceholder": "الرجاء إدخال اسم المستخدم", + "password": "كلمة المرور", + "passwordPlaceholder": "الرجاء إدخال كلمة المرور", + "loginButton": "تسجيل الدخول", + "loggingIn": "جاري تسجيل الدخول...", + "successMessage": "تم تسجيل الدخول بنجاح", + "errorEmptyFields": "الرجاء إدخال اسم المستخدم وكلمة المرور", + "errorInvalidCredentials": "فشل تسجيل الدخول، يرجى التحقق من اسم المستخدم وكلمة المرور", + "authDisabled": "تم تعطيل المصادقة. استخدام وضع بدون تسجيل دخول.", + "guestMode": "وضع بدون تسجيل دخول" + }, "documentPanel": { "clearDocuments": { "button": "مسح", @@ -96,7 +111,9 @@ "zoomControl": { "zoomIn": "تكبير", "zoomOut": "تصغير", - "resetZoom": "إعادة تعيين التكبير" + "resetZoom": "إعادة تعيين التكبير", + "rotateCamera": "تدوير في اتجاه عقارب الساعة", + "rotateCameraCounterClockwise": "تدوير عكس اتجاه عقارب الساعة" }, "layoutsControl": { "startAnimation": "بدء حركة التخطيط", @@ -148,6 +165,11 @@ "degree": "الدرجة", "properties": "الخصائص", "relationships": "العلاقات", + "expandNode": "توسيع العقدة", + "pruneNode": "تقليم العقدة", + "deleteAllNodesError": "رفض حذف جميع العقد في الرسم البياني", + "nodesRemoved": "تم إزالة {{count}} عقدة، بما في ذلك العقد اليتيمة", + "noNewNodes": "لم يتم العثور على عقد قابلة للتوسيع", "propertyNames": { "description": "الوصف", "entity_id": "الاسم", @@ -174,7 +196,8 @@ "noLabels": "لم يتم العثور على تسميات", "label": "التسمية", "placeholder": "ابحث في التسميات...", - "andOthers": "و {{count}} آخرون" + "andOthers": "و {{count}} آخرون", + "refreshTooltip": "إعادة تحميل بيانات الرسم البياني" } }, "retrievePanel": { diff --git a/lightrag_webui/src/locales/fr.json b/lightrag_webui/src/locales/fr.json index 5de47e50..3b4a0b32 100644 --- a/lightrag_webui/src/locales/fr.json +++ b/lightrag_webui/src/locales/fr.json @@ -12,11 +12,26 @@ "retrieval": "Récupération", "api": "API", "projectRepository": "Référentiel du projet", + "logout": "Déconnexion", "themeToggle": { "switchToLight": "Passer au thème clair", "switchToDark": "Passer au thème sombre" } }, + "login": { + "description": "Veuillez entrer votre compte et mot de passe pour vous connecter au système", + "username": "Nom d'utilisateur", + "usernamePlaceholder": "Veuillez saisir un nom d'utilisateur", + "password": "Mot de passe", + "passwordPlaceholder": "Veuillez saisir un mot de passe", + "loginButton": "Connexion", + "loggingIn": "Connexion en cours...", + "successMessage": "Connexion réussie", + "errorEmptyFields": "Veuillez saisir votre nom d'utilisateur et mot de passe", + "errorInvalidCredentials": "Échec de la connexion, veuillez vérifier le nom d'utilisateur et le mot de passe", + "authDisabled": "L'authentification est désactivée. Utilisation du mode sans connexion.", + "guestMode": "Mode sans connexion" + }, "documentPanel": { "clearDocuments": { "button": "Effacer", @@ -96,7 +111,9 @@ "zoomControl": { "zoomIn": "Zoom avant", "zoomOut": "Zoom arrière", - "resetZoom": "Réinitialiser le zoom" + "resetZoom": "Réinitialiser le zoom", + "rotateCamera": "Rotation horaire", + "rotateCameraCounterClockwise": "Rotation antihoraire" }, "layoutsControl": { "startAnimation": "Démarrer l'animation de mise en page", @@ -148,6 +165,11 @@ "degree": "Degré", "properties": "Propriétés", "relationships": "Relations", + "expandNode": "Développer le nœud", + "pruneNode": "Élaguer le nœud", + "deleteAllNodesError": "Refus de supprimer tous les nœuds du graphe", + "nodesRemoved": "{{count}} nœuds supprimés, y compris les nœuds orphelins", + "noNewNodes": "Aucun nœud développable trouvé", "propertyNames": { "description": "Description", "entity_id": "Nom", @@ -174,7 +196,8 @@ "noLabels": "Aucune étiquette trouvée", "label": "Étiquette", "placeholder": "Rechercher des étiquettes...", - "andOthers": "Et {{count}} autres" + "andOthers": "Et {{count}} autres", + "refreshTooltip": "Recharger les données du graphe" } }, "retrievePanel": { diff --git a/lightrag_webui/src/main.tsx b/lightrag_webui/src/main.tsx index 4c613602..081fef26 100644 --- a/lightrag_webui/src/main.tsx +++ b/lightrag_webui/src/main.tsx @@ -2,7 +2,7 @@ import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' import './index.css' import AppRouter from './AppRouter' -import './i18n'; +import './i18n.ts'; diff --git a/lightrag_webui/src/stores/settings.ts b/lightrag_webui/src/stores/settings.ts index 72df7351..2344ea13 100644 --- a/lightrag_webui/src/stores/settings.ts +++ b/lightrag_webui/src/stores/settings.ts @@ -5,7 +5,7 @@ import { defaultQueryLabel } from '@/lib/constants' import { Message, QueryRequest } from '@/api/lightrag' type Theme = 'dark' | 'light' | 'system' -type Language = 'en' | 'zh' +type Language = 'en' | 'zh' | 'fr' | 'ar' type Tab = 'documents' | 'knowledge-graph' | 'retrieval' | 'api' interface SettingsState { From b21c32645d16150e8e595f049b51029eac27a2a1 Mon Sep 17 00:00:00 2001 From: yangdx Date: Sat, 22 Mar 2025 00:35:43 +0800 Subject: [PATCH 16/45] Added "emptyGraph" translation for Arabic and French. --- lightrag_webui/src/locales/ar.json | 3 ++- lightrag_webui/src/locales/fr.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lightrag_webui/src/locales/ar.json b/lightrag_webui/src/locales/ar.json index fb415363..c77a946a 100644 --- a/lightrag_webui/src/locales/ar.json +++ b/lightrag_webui/src/locales/ar.json @@ -198,7 +198,8 @@ "placeholder": "ابحث في التسميات...", "andOthers": "و {{count}} آخرون", "refreshTooltip": "إعادة تحميل بيانات الرسم البياني" - } + }, + "emptyGraph": "الرسم البياني فارغ" }, "retrievePanel": { "chatMessage": { diff --git a/lightrag_webui/src/locales/fr.json b/lightrag_webui/src/locales/fr.json index 3b4a0b32..a4e3b280 100644 --- a/lightrag_webui/src/locales/fr.json +++ b/lightrag_webui/src/locales/fr.json @@ -198,7 +198,8 @@ "placeholder": "Rechercher des étiquettes...", "andOthers": "Et {{count}} autres", "refreshTooltip": "Recharger les données du graphe" - } + }, + "emptyGraph": "Le graphe est vide" }, "retrievePanel": { "chatMessage": { From dc99b714bacb0b0c52e2f690ff7f3c9cd0cf3b20 Mon Sep 17 00:00:00 2001 From: yangdx Date: Sat, 22 Mar 2025 00:36:38 +0800 Subject: [PATCH 17/45] Update webui assets --- .../{index-C-CHRwmZ.js => index-BItOVH8B.js} | 192 +++++++++++------- lightrag/api/webui/index.html | 2 +- lightrag/llm/anthropic.py | 80 ++++++-- 3 files changed, 176 insertions(+), 98 deletions(-) rename lightrag/api/webui/assets/{index-C-CHRwmZ.js => index-BItOVH8B.js} (83%) diff --git a/lightrag/api/webui/assets/index-C-CHRwmZ.js b/lightrag/api/webui/assets/index-BItOVH8B.js similarity index 83% rename from lightrag/api/webui/assets/index-C-CHRwmZ.js rename to lightrag/api/webui/assets/index-BItOVH8B.js index 28e9a046..3707f39b 100644 --- a/lightrag/api/webui/assets/index-C-CHRwmZ.js +++ b/lightrag/api/webui/assets/index-BItOVH8B.js @@ -1,4 +1,4 @@ -var e9=Object.defineProperty;var t9=(e,t,n)=>t in e?e9(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Xr=(e,t,n)=>t9(e,typeof t!="symbol"?t+"":t,n);function n9(e,t){for(var n=0;nr[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const o of a)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(a){const o={};return a.integrity&&(o.integrity=a.integrity),a.referrerPolicy&&(o.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?o.credentials="include":a.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(a){if(a.ep)return;a.ep=!0;const o=n(a);fetch(a.href,o)}})();var ff=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function un(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r9(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}),n}var Hh={exports:{}},Zl={};/** +var eq=Object.defineProperty;var tq=(e,t,n)=>t in e?eq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Xr=(e,t,n)=>tq(e,typeof t!="symbol"?t+"":t,n);function nq(e,t){for(var n=0;nr[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const o of a)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(a){const o={};return a.integrity&&(o.integrity=a.integrity),a.referrerPolicy&&(o.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?o.credentials="include":a.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(a){if(a.ep)return;a.ep=!0;const o=n(a);fetch(a.href,o)}})();var ff=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function cn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function rq(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}),n}var Hh={exports:{}},Zl={};/** * @license React * react-jsx-runtime.production.js * @@ -6,7 +6,7 @@ var e9=Object.defineProperty;var t9=(e,t,n)=>t in e?e9(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var G_;function a9(){if(G_)return Zl;G_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,a,o){var s=null;if(o!==void 0&&(s=""+o),a.key!==void 0&&(s=""+a.key),"key"in a){o={};for(var l in a)l!=="key"&&(o[l]=a[l])}else o=a;return a=o.ref,{$$typeof:e,type:r,key:s,ref:a!==void 0?a:null,props:o}}return Zl.Fragment=t,Zl.jsx=n,Zl.jsxs=n,Zl}var H_;function o9(){return H_||(H_=1,Hh.exports=a9()),Hh.exports}var w=o9(),$h={exports:{}},it={};/** + */var GC;function aq(){if(GC)return Zl;GC=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,a,o){var s=null;if(o!==void 0&&(s=""+o),a.key!==void 0&&(s=""+a.key),"key"in a){o={};for(var l in a)l!=="key"&&(o[l]=a[l])}else o=a;return a=o.ref,{$$typeof:e,type:r,key:s,ref:a!==void 0?a:null,props:o}}return Zl.Fragment=t,Zl.jsx=n,Zl.jsxs=n,Zl}var HC;function oq(){return HC||(HC=1,Hh.exports=aq()),Hh.exports}var w=oq(),$h={exports:{}},it={};/** * @license React * react.production.js * @@ -14,7 +14,7 @@ var e9=Object.defineProperty;var t9=(e,t,n)=>t in e?e9(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var $_;function i9(){if($_)return it;$_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),s=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),g=Symbol.iterator;function m(I){return I===null||typeof I!="object"?null:(I=g&&I[g]||I["@@iterator"],typeof I=="function"?I:null)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,S={};function k(I,V,B){this.props=I,this.context=V,this.refs=S,this.updater=B||b}k.prototype.isReactComponent={},k.prototype.setState=function(I,V){if(typeof I!="object"&&typeof I!="function"&&I!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,I,V,"setState")},k.prototype.forceUpdate=function(I){this.updater.enqueueForceUpdate(this,I,"forceUpdate")};function R(){}R.prototype=k.prototype;function x(I,V,B){this.props=I,this.context=V,this.refs=S,this.updater=B||b}var A=x.prototype=new R;A.constructor=x,y(A,k.prototype),A.isPureReactComponent=!0;var N=Array.isArray,O={H:null,A:null,T:null,S:null},_=Object.prototype.hasOwnProperty;function C(I,V,B,M,X,K){return B=K.ref,{$$typeof:e,type:I,key:V,ref:B!==void 0?B:null,props:K}}function F(I,V){return C(I.type,V,void 0,void 0,void 0,I.props)}function D(I){return typeof I=="object"&&I!==null&&I.$$typeof===e}function L(I){var V={"=":"=0",":":"=2"};return"$"+I.replace(/[=:]/g,function(B){return V[B]})}var G=/\/+/g;function $(I,V){return typeof I=="object"&&I!==null&&I.key!=null?L(""+I.key):V.toString(36)}function U(){}function W(I){switch(I.status){case"fulfilled":return I.value;case"rejected":throw I.reason;default:switch(typeof I.status=="string"?I.then(U,U):(I.status="pending",I.then(function(V){I.status==="pending"&&(I.status="fulfilled",I.value=V)},function(V){I.status==="pending"&&(I.status="rejected",I.reason=V)})),I.status){case"fulfilled":return I.value;case"rejected":throw I.reason}}throw I}function Q(I,V,B,M,X){var K=typeof I;(K==="undefined"||K==="boolean")&&(I=null);var ne=!1;if(I===null)ne=!0;else switch(K){case"bigint":case"string":case"number":ne=!0;break;case"object":switch(I.$$typeof){case e:case t:ne=!0;break;case p:return ne=I._init,Q(ne(I._payload),V,B,M,X)}}if(ne)return X=X(I),ne=M===""?"."+$(I,0):M,N(X)?(B="",ne!=null&&(B=ne.replace(G,"$&/")+"/"),Q(X,V,B,"",function(ve){return ve})):X!=null&&(D(X)&&(X=F(X,B+(X.key==null||I&&I.key===X.key?"":(""+X.key).replace(G,"$&/")+"/")+ne)),V.push(X)),1;ne=0;var J=M===""?".":M+":";if(N(I))for(var ie=0;iet in e?e9(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var V_;function l9(){return V_||(V_=1,function(e){function t(j,H){var z=j.length;j.push(H);e:for(;0>>1,I=j[Y];if(0>>1;Ya(M,z))Xa(K,M)?(j[Y]=K,j[X]=z,Y=X):(j[Y]=M,j[B]=z,Y=B);else if(Xa(K,z))j[Y]=K,j[X]=z,Y=X;else break e}}return H}function a(j,H){var z=j.sortIndex-H.sortIndex;return z!==0?z:j.id-H.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,l=s.now();e.unstable_now=function(){return s.now()-l}}var c=[],d=[],p=1,g=null,m=3,b=!1,y=!1,S=!1,k=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;function A(j){for(var H=n(d);H!==null;){if(H.callback===null)r(d);else if(H.startTime<=j)r(d),H.sortIndex=H.expirationTime,t(c,H);else break;H=n(d)}}function N(j){if(S=!1,A(j),!y)if(n(c)!==null)y=!0,W();else{var H=n(d);H!==null&&Q(N,H.startTime-j)}}var O=!1,_=-1,C=5,F=-1;function D(){return!(e.unstable_now()-Fj&&D());){var Y=g.callback;if(typeof Y=="function"){g.callback=null,m=g.priorityLevel;var I=Y(g.expirationTime<=j);if(j=e.unstable_now(),typeof I=="function"){g.callback=I,A(j),H=!0;break t}g===n(c)&&r(c),A(j)}else r(c);g=n(c)}if(g!==null)H=!0;else{var V=n(d);V!==null&&Q(N,V.startTime-j),H=!1}}break e}finally{g=null,m=z,b=!1}H=void 0}}finally{H?G():O=!1}}}var G;if(typeof x=="function")G=function(){x(L)};else if(typeof MessageChannel<"u"){var $=new MessageChannel,U=$.port2;$.port1.onmessage=L,G=function(){U.postMessage(null)}}else G=function(){k(L,0)};function W(){O||(O=!0,G())}function Q(j,H){_=k(function(){j(e.unstable_now())},H)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(j){j.callback=null},e.unstable_continueExecution=function(){y||b||(y=!0,W())},e.unstable_forceFrameRate=function(j){0>j||125Y?(j.sortIndex=z,t(d,j),n(c)===null&&j===n(d)&&(S?(R(_),_=-1):S=!0,Q(N,z-Y))):(j.sortIndex=I,t(c,j),y||b||(y=!0,W())),j},e.unstable_shouldYield=D,e.unstable_wrapCallback=function(j){var H=m;return function(){var z=m;m=H;try{return j.apply(this,arguments)}finally{m=z}}}}(Wh)),Wh}var W_;function u9(){return W_||(W_=1,Vh.exports=l9()),Vh.exports}var Yh={exports:{}},wn={};/** + */var VC;function lq(){return VC||(VC=1,function(e){function t(j,H){var z=j.length;j.push(H);e:for(;0>>1,D=j[Y];if(0>>1;Ya(M,z))Xa(K,M)?(j[Y]=K,j[X]=z,Y=X):(j[Y]=M,j[B]=z,Y=B);else if(Xa(K,z))j[Y]=K,j[X]=z,Y=X;else break e}}return H}function a(j,H){var z=j.sortIndex-H.sortIndex;return z!==0?z:j.id-H.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,l=s.now();e.unstable_now=function(){return s.now()-l}}var c=[],d=[],p=1,g=null,m=3,b=!1,y=!1,S=!1,k=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;function A(j){for(var H=n(d);H!==null;){if(H.callback===null)r(d);else if(H.startTime<=j)r(d),H.sortIndex=H.expirationTime,t(c,H);else break;H=n(d)}}function N(j){if(S=!1,A(j),!y)if(n(c)!==null)y=!0,W();else{var H=n(d);H!==null&&Q(N,H.startTime-j)}}var O=!1,C=-1,_=5,P=-1;function I(){return!(e.unstable_now()-P<_)}function L(){if(O){var j=e.unstable_now();P=j;var H=!0;try{e:{y=!1,S&&(S=!1,R(C),C=-1),b=!0;var z=m;try{t:{for(A(j),g=n(c);g!==null&&!(g.expirationTime>j&&I());){var Y=g.callback;if(typeof Y=="function"){g.callback=null,m=g.priorityLevel;var D=Y(g.expirationTime<=j);if(j=e.unstable_now(),typeof D=="function"){g.callback=D,A(j),H=!0;break t}g===n(c)&&r(c),A(j)}else r(c);g=n(c)}if(g!==null)H=!0;else{var V=n(d);V!==null&&Q(N,V.startTime-j),H=!1}}break e}finally{g=null,m=z,b=!1}H=void 0}}finally{H?G():O=!1}}}var G;if(typeof x=="function")G=function(){x(L)};else if(typeof MessageChannel<"u"){var $=new MessageChannel,U=$.port2;$.port1.onmessage=L,G=function(){U.postMessage(null)}}else G=function(){k(L,0)};function W(){O||(O=!0,G())}function Q(j,H){C=k(function(){j(e.unstable_now())},H)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(j){j.callback=null},e.unstable_continueExecution=function(){y||b||(y=!0,W())},e.unstable_forceFrameRate=function(j){0>j||125Y?(j.sortIndex=z,t(d,j),n(c)===null&&j===n(d)&&(S?(R(C),C=-1):S=!0,Q(N,z-Y))):(j.sortIndex=D,t(c,j),y||b||(y=!0,W())),j},e.unstable_shouldYield=I,e.unstable_wrapCallback=function(j){var H=m;return function(){var z=m;m=H;try{return j.apply(this,arguments)}finally{m=z}}}}(Wh)),Wh}var WC;function uq(){return WC||(WC=1,Vh.exports=lq()),Vh.exports}var Yh={exports:{}},wn={};/** * @license React * react-dom.production.js * @@ -30,7 +30,7 @@ var e9=Object.defineProperty;var t9=(e,t,n)=>t in e?e9(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Y_;function c9(){if(Y_)return wn;Y_=1;var e=m0();function t(c){var d="https://react.dev/errors/"+c;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Yh.exports=c9(),Yh.exports}/** + */var YC;function cq(){if(YC)return wn;YC=1;var e=m0();function t(c){var d="https://react.dev/errors/"+c;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Yh.exports=cq(),Yh.exports}/** * @license React * react-dom-client.production.js * @@ -38,15 +38,15 @@ var e9=Object.defineProperty;var t9=(e,t,n)=>t in e?e9(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var X_;function d9(){if(X_)return Ql;X_=1;var e=u9(),t=m0(),n=Oz();function r(i){var u="https://react.dev/errors/"+i;if(1)":-1v||Z[h]!==ae[v]){var be=` `+Z[h].replace(" at new "," at ");return i.displayName&&be.includes("")&&(be=be.replace("",i.displayName)),be}while(1<=h&&0<=v);break}}}finally{W=!1,Error.prepareStackTrace=f}return(f=i?i.displayName||i.name:"")?U(f):""}function j(i){switch(i.tag){case 26:case 27:case 5:return U(i.type);case 16:return U("Lazy");case 13:return U("Suspense");case 19:return U("SuspenseList");case 0:case 15:return i=Q(i.type,!1),i;case 11:return i=Q(i.type.render,!1),i;case 1:return i=Q(i.type,!0),i;default:return""}}function H(i){try{var u="";do u+=j(i),i=i.return;while(i);return u}catch(f){return` Error generating stack: `+f.message+` -`+f.stack}}function z(i){var u=i,f=i;if(i.alternate)for(;u.return;)u=u.return;else{i=u;do u=i,(u.flags&4098)!==0&&(f=u.return),i=u.return;while(i)}return u.tag===3?f:null}function Y(i){if(i.tag===13){var u=i.memoizedState;if(u===null&&(i=i.alternate,i!==null&&(u=i.memoizedState)),u!==null)return u.dehydrated}return null}function I(i){if(z(i)!==i)throw Error(r(188))}function V(i){var u=i.alternate;if(!u){if(u=z(i),u===null)throw Error(r(188));return u!==i?null:i}for(var f=i,h=u;;){var v=f.return;if(v===null)break;var T=v.alternate;if(T===null){if(h=v.return,h!==null){f=h;continue}break}if(v.child===T.child){for(T=v.child;T;){if(T===f)return I(v),i;if(T===h)return I(v),u;T=T.sibling}throw Error(r(188))}if(f.return!==h.return)f=v,h=T;else{for(var P=!1,q=v.child;q;){if(q===f){P=!0,f=v,h=T;break}if(q===h){P=!0,h=v,f=T;break}q=q.sibling}if(!P){for(q=T.child;q;){if(q===f){P=!0,f=T,h=v;break}if(q===h){P=!0,h=T,f=v;break}q=q.sibling}if(!P)throw Error(r(189))}}if(f.alternate!==h)throw Error(r(190))}if(f.tag!==3)throw Error(r(188));return f.stateNode.current===f?i:u}function B(i){var u=i.tag;if(u===5||u===26||u===27||u===6)return i;for(i=i.child;i!==null;){if(u=B(i),u!==null)return u;i=i.sibling}return null}var M=Array.isArray,X=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K={pending:!1,data:null,method:null,action:null},ne=[],J=-1;function ie(i){return{current:i}}function ve(i){0>J||(i.current=ne[J],ne[J]=null,J--)}function oe(i,u){J++,ne[J]=i.current,i.current=u}var Se=ie(null),Ee=ie(null),De=ie(null),Ce=ie(null);function ke(i,u){switch(oe(De,u),oe(Ee,i),oe(Se,null),i=u.nodeType,i){case 9:case 11:u=(u=u.documentElement)&&(u=u.namespaceURI)?b_(u):0;break;default:if(i=i===8?u.parentNode:u,u=i.tagName,i=i.namespaceURI)i=b_(i),u=y_(i,u);else switch(u){case"svg":u=1;break;case"math":u=2;break;default:u=0}}ve(Se),oe(Se,u)}function ee(){ve(Se),ve(Ee),ve(De)}function fe(i){i.memoizedState!==null&&oe(Ce,i);var u=Se.current,f=y_(u,i.type);u!==f&&(oe(Ee,i),oe(Se,f))}function Te(i){Ee.current===i&&(ve(Se),ve(Ee)),Ce.current===i&&(ve(Ce),Vl._currentValue=K)}var me=Object.prototype.hasOwnProperty,we=e.unstable_scheduleCallback,le=e.unstable_cancelCallback,ze=e.unstable_shouldYield,Be=e.unstable_requestPaint,he=e.unstable_now,Ne=e.unstable_getCurrentPriorityLevel,te=e.unstable_ImmediatePriority,ce=e.unstable_UserBlockingPriority,_e=e.unstable_NormalPriority,Pe=e.unstable_LowPriority,We=e.unstable_IdlePriority,yt=e.log,kt=e.unstable_setDisableYieldValue,ht=null,et=null;function Tt(i){if(et&&typeof et.onCommitFiberRoot=="function")try{et.onCommitFiberRoot(ht,i,void 0,(i.current.flags&128)===128)}catch{}}function ot(i){if(typeof yt=="function"&&kt(i),et&&typeof et.setStrictMode=="function")try{et.setStrictMode(ht,i)}catch{}}var St=Math.clz32?Math.clz32:zt,Ht=Math.log,fn=Math.LN2;function zt(i){return i>>>=0,i===0?32:31-(Ht(i)/fn|0)|0}var or=128,$r=4194304;function Jt(i){var u=i&42;if(u!==0)return u;switch(i&-i){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i&4194176;case 4194304:case 8388608:case 16777216:case 33554432:return i&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return i}}function fa(i,u){var f=i.pendingLanes;if(f===0)return 0;var h=0,v=i.suspendedLanes,T=i.pingedLanes,P=i.warmLanes;i=i.finishedLanes!==0;var q=f&134217727;return q!==0?(f=q&~v,f!==0?h=Jt(f):(T&=q,T!==0?h=Jt(T):i||(P=q&~P,P!==0&&(h=Jt(P))))):(q=f&~v,q!==0?h=Jt(q):T!==0?h=Jt(T):i||(P=f&~P,P!==0&&(h=Jt(P)))),h===0?0:u!==0&&u!==h&&(u&v)===0&&(v=h&-h,P=u&-u,v>=P||v===32&&(P&4194176)!==0)?u:h}function Xe(i,u){return(i.pendingLanes&~(i.suspendedLanes&~i.pingedLanes)&u)===0}function mt(i,u){switch(i){case 1:case 2:case 4:case 8:return u+250;case 16:case 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 u+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ct(){var i=or;return or<<=1,(or&4194176)===0&&(or=128),i}function In(){var i=$r;return $r<<=1,($r&62914560)===0&&($r=4194304),i}function _n(i){for(var u=[],f=0;31>f;f++)u.push(i);return u}function Dn(i,u){i.pendingLanes|=u,u!==268435456&&(i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0)}function pa(i,u,f,h,v,T){var P=i.pendingLanes;i.pendingLanes=f,i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0,i.expiredLanes&=f,i.entangledLanes&=f,i.errorRecoveryDisabledLanes&=f,i.shellSuspendCounter=0;var q=i.entanglements,Z=i.expirationTimes,ae=i.hiddenUpdates;for(f=P&~f;0"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),WH=RegExp("^[: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]*$"),yA={},vA={};function YH(i){return me.call(vA,i)?!0:me.call(yA,i)?!1:WH.test(i)?vA[i]=!0:(yA[i]=!0,!1)}function lc(i,u,f){if(YH(u))if(f===null)i.removeAttribute(u);else{switch(typeof f){case"undefined":case"function":case"symbol":i.removeAttribute(u);return;case"boolean":var h=u.toLowerCase().slice(0,5);if(h!=="data-"&&h!=="aria-"){i.removeAttribute(u);return}}i.setAttribute(u,""+f)}}function uc(i,u,f){if(f===null)i.removeAttribute(u);else{switch(typeof f){case"undefined":case"function":case"symbol":case"boolean":i.removeAttribute(u);return}i.setAttribute(u,""+f)}}function ha(i,u,f,h){if(h===null)i.removeAttribute(f);else{switch(typeof h){case"undefined":case"function":case"symbol":case"boolean":i.removeAttribute(f);return}i.setAttributeNS(u,f,""+h)}}function ir(i){switch(typeof i){case"bigint":case"boolean":case"number":case"string":case"undefined":return i;case"object":return i;default:return""}}function SA(i){var u=i.type;return(i=i.nodeName)&&i.toLowerCase()==="input"&&(u==="checkbox"||u==="radio")}function KH(i){var u=SA(i)?"checked":"value",f=Object.getOwnPropertyDescriptor(i.constructor.prototype,u),h=""+i[u];if(!i.hasOwnProperty(u)&&typeof f<"u"&&typeof f.get=="function"&&typeof f.set=="function"){var v=f.get,T=f.set;return Object.defineProperty(i,u,{configurable:!0,get:function(){return v.call(this)},set:function(P){h=""+P,T.call(this,P)}}),Object.defineProperty(i,u,{enumerable:f.enumerable}),{getValue:function(){return h},setValue:function(P){h=""+P},stopTracking:function(){i._valueTracker=null,delete i[u]}}}}function cc(i){i._valueTracker||(i._valueTracker=KH(i))}function EA(i){if(!i)return!1;var u=i._valueTracker;if(!u)return!0;var f=u.getValue(),h="";return i&&(h=SA(i)?i.checked?"true":"false":i.value),i=h,i!==f?(u.setValue(i),!0):!1}function dc(i){if(i=i||(typeof document<"u"?document:void 0),typeof i>"u")return null;try{return i.activeElement||i.body}catch{return i.body}}var XH=/[\n"\\]/g;function sr(i){return i.replace(XH,function(u){return"\\"+u.charCodeAt(0).toString(16)+" "})}function jp(i,u,f,h,v,T,P,q){i.name="",P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"?i.type=P:i.removeAttribute("type"),u!=null?P==="number"?(u===0&&i.value===""||i.value!=u)&&(i.value=""+ir(u)):i.value!==""+ir(u)&&(i.value=""+ir(u)):P!=="submit"&&P!=="reset"||i.removeAttribute("value"),u!=null?Gp(i,P,ir(u)):f!=null?Gp(i,P,ir(f)):h!=null&&i.removeAttribute("value"),v==null&&T!=null&&(i.defaultChecked=!!T),v!=null&&(i.checked=v&&typeof v!="function"&&typeof v!="symbol"),q!=null&&typeof q!="function"&&typeof q!="symbol"&&typeof q!="boolean"?i.name=""+ir(q):i.removeAttribute("name")}function wA(i,u,f,h,v,T,P,q){if(T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"&&(i.type=T),u!=null||f!=null){if(!(T!=="submit"&&T!=="reset"||u!=null))return;f=f!=null?""+ir(f):"",u=u!=null?""+ir(u):f,q||u===i.value||(i.value=u),i.defaultValue=u}h=h??v,h=typeof h!="function"&&typeof h!="symbol"&&!!h,i.checked=q?i.checked:!!h,i.defaultChecked=!!h,P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"&&(i.name=P)}function Gp(i,u,f){u==="number"&&dc(i.ownerDocument)===i||i.defaultValue===""+f||(i.defaultValue=""+f)}function Oi(i,u,f,h){if(i=i.options,u){u={};for(var v=0;v=cl),MA=" ",FA=!1;function PA(i,u){switch(i){case"keyup":return k$.indexOf(u.keyCode)!==-1;case"keydown":return u.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zA(i){return i=i.detail,typeof i=="object"&&"data"in i?i.data:null}var Mi=!1;function A$(i,u){switch(i){case"compositionend":return zA(u);case"keypress":return u.which!==32?null:(FA=!0,MA);case"textInput":return i=u.data,i===MA&&FA?null:i;default:return null}}function R$(i,u){if(Mi)return i==="compositionend"||!Jp&&PA(i,u)?(i=CA(),pc=Yp=Xa=null,Mi=!1,i):null;switch(i){case"paste":return null;case"keypress":if(!(u.ctrlKey||u.altKey||u.metaKey)||u.ctrlKey&&u.altKey){if(u.char&&1=u)return{node:f,offset:u-i};i=h}e:{for(;f;){if(f.nextSibling){f=f.nextSibling;break e}f=f.parentNode}f=void 0}f=VA(f)}}function YA(i,u){return i&&u?i===u?!0:i&&i.nodeType===3?!1:u&&u.nodeType===3?YA(i,u.parentNode):"contains"in i?i.contains(u):i.compareDocumentPosition?!!(i.compareDocumentPosition(u)&16):!1:!1}function KA(i){i=i!=null&&i.ownerDocument!=null&&i.ownerDocument.defaultView!=null?i.ownerDocument.defaultView:window;for(var u=dc(i.document);u instanceof i.HTMLIFrameElement;){try{var f=typeof u.contentWindow.location.href=="string"}catch{f=!1}if(f)i=u.contentWindow;else break;u=dc(i.document)}return u}function ng(i){var u=i&&i.nodeName&&i.nodeName.toLowerCase();return u&&(u==="input"&&(i.type==="text"||i.type==="search"||i.type==="tel"||i.type==="url"||i.type==="password")||u==="textarea"||i.contentEditable==="true")}function M$(i,u){var f=KA(u);u=i.focusedElem;var h=i.selectionRange;if(f!==u&&u&&u.ownerDocument&&YA(u.ownerDocument.documentElement,u)){if(h!==null&&ng(u)){if(i=h.start,f=h.end,f===void 0&&(f=i),"selectionStart"in u)u.selectionStart=i,u.selectionEnd=Math.min(f,u.value.length);else if(f=(i=u.ownerDocument||document)&&i.defaultView||window,f.getSelection){f=f.getSelection();var v=u.textContent.length,T=Math.min(h.start,v);h=h.end===void 0?T:Math.min(h.end,v),!f.extend&&T>h&&(v=h,h=T,T=v),v=WA(u,T);var P=WA(u,h);v&&P&&(f.rangeCount!==1||f.anchorNode!==v.node||f.anchorOffset!==v.offset||f.focusNode!==P.node||f.focusOffset!==P.offset)&&(i=i.createRange(),i.setStart(v.node,v.offset),f.removeAllRanges(),T>h?(f.addRange(i),f.extend(P.node,P.offset)):(i.setEnd(P.node,P.offset),f.addRange(i)))}}for(i=[],f=u;f=f.parentNode;)f.nodeType===1&&i.push({element:f,left:f.scrollLeft,top:f.scrollTop});for(typeof u.focus=="function"&&u.focus(),u=0;u=document.documentMode,Fi=null,rg=null,gl=null,ag=!1;function XA(i,u,f){var h=f.window===f?f.document:f.nodeType===9?f:f.ownerDocument;ag||Fi==null||Fi!==dc(h)||(h=Fi,"selectionStart"in h&&ng(h)?h={start:h.selectionStart,end:h.selectionEnd}:(h=(h.ownerDocument&&h.ownerDocument.defaultView||window).getSelection(),h={anchorNode:h.anchorNode,anchorOffset:h.anchorOffset,focusNode:h.focusNode,focusOffset:h.focusOffset}),gl&&pl(gl,h)||(gl=h,h=ed(rg,"onSelect"),0>=P,v-=P,ma=1<<32-St(u)+v|f<Je?(sn=Ye,Ye=null):sn=Ye.sibling;var wt=de(se,Ye,ue[Je],xe);if(wt===null){Ye===null&&(Ye=sn);break}i&&Ye&&wt.alternate===null&&u(se,Ye),re=T(wt,re,Je),lt===null?je=wt:lt.sibling=wt,lt=wt,Ye=sn}if(Je===ue.length)return f(se,Ye),Et&&Ho(se,Je),je;if(Ye===null){for(;JeJe?(sn=Ye,Ye=null):sn=Ye.sibling;var bo=de(se,Ye,wt.value,xe);if(bo===null){Ye===null&&(Ye=sn);break}i&&Ye&&bo.alternate===null&&u(se,Ye),re=T(bo,re,Je),lt===null?je=bo:lt.sibling=bo,lt=bo,Ye=sn}if(wt.done)return f(se,Ye),Et&&Ho(se,Je),je;if(Ye===null){for(;!wt.done;Je++,wt=ue.next())wt=Ae(se,wt.value,xe),wt!==null&&(re=T(wt,re,Je),lt===null?je=wt:lt.sibling=wt,lt=wt);return Et&&Ho(se,Je),je}for(Ye=h(Ye);!wt.done;Je++,wt=ue.next())wt=ge(Ye,se,Je,wt.value,xe),wt!==null&&(i&&wt.alternate!==null&&Ye.delete(wt.key===null?Je:wt.key),re=T(wt,re,Je),lt===null?je=wt:lt.sibling=wt,lt=wt);return i&&Ye.forEach(function(J6){return u(se,J6)}),Et&&Ho(se,Je),je}function Vt(se,re,ue,xe){if(typeof ue=="object"&&ue!==null&&ue.type===c&&ue.key===null&&(ue=ue.props.children),typeof ue=="object"&&ue!==null){switch(ue.$$typeof){case s:e:{for(var je=ue.key;re!==null;){if(re.key===je){if(je=ue.type,je===c){if(re.tag===7){f(se,re.sibling),xe=v(re,ue.props.children),xe.return=se,se=xe;break e}}else if(re.elementType===je||typeof je=="object"&&je!==null&&je.$$typeof===x&&p1(je)===re.type){f(se,re.sibling),xe=v(re,ue.props),El(xe,ue),xe.return=se,se=xe;break e}f(se,re);break}else u(se,re);re=re.sibling}ue.type===c?(xe=ei(ue.props.children,se.mode,xe,ue.key),xe.return=se,se=xe):(xe=$c(ue.type,ue.key,ue.props,null,se.mode,xe),El(xe,ue),xe.return=se,se=xe)}return P(se);case l:e:{for(je=ue.key;re!==null;){if(re.key===je)if(re.tag===4&&re.stateNode.containerInfo===ue.containerInfo&&re.stateNode.implementation===ue.implementation){f(se,re.sibling),xe=v(re,ue.children||[]),xe.return=se,se=xe;break e}else{f(se,re);break}else u(se,re);re=re.sibling}xe=ih(ue,se.mode,xe),xe.return=se,se=xe}return P(se);case x:return je=ue._init,ue=je(ue._payload),Vt(se,re,ue,xe)}if(M(ue))return qe(se,re,ue,xe);if(_(ue)){if(je=_(ue),typeof je!="function")throw Error(r(150));return ue=je.call(ue),nt(se,re,ue,xe)}if(typeof ue.then=="function")return Vt(se,re,Tc(ue),xe);if(ue.$$typeof===b)return Vt(se,re,jc(se,ue),xe);Ac(se,ue)}return typeof ue=="string"&&ue!==""||typeof ue=="number"||typeof ue=="bigint"?(ue=""+ue,re!==null&&re.tag===6?(f(se,re.sibling),xe=v(re,ue),xe.return=se,se=xe):(f(se,re),xe=oh(ue,se.mode,xe),xe.return=se,se=xe),P(se)):f(se,re)}return function(se,re,ue,xe){try{Sl=0;var je=Vt(se,re,ue,xe);return Gi=null,je}catch(Ye){if(Ye===yl)throw Ye;var lt=hr(29,Ye,null,se.mode);return lt.lanes=xe,lt.return=se,lt}finally{}}}var qo=g1(!0),h1=g1(!1),Hi=ie(null),Rc=ie(0);function m1(i,u){i=_a,oe(Rc,i),oe(Hi,u),_a=i|u.baseLanes}function fg(){oe(Rc,_a),oe(Hi,Hi.current)}function pg(){_a=Rc.current,ve(Hi),ve(Rc)}var fr=ie(null),Vr=null;function Qa(i){var u=i.alternate;oe(en,en.current&1),oe(fr,i),Vr===null&&(u===null||Hi.current!==null||u.memoizedState!==null)&&(Vr=i)}function b1(i){if(i.tag===22){if(oe(en,en.current),oe(fr,i),Vr===null){var u=i.alternate;u!==null&&u.memoizedState!==null&&(Vr=i)}}else Ja()}function Ja(){oe(en,en.current),oe(fr,fr.current)}function ya(i){ve(fr),Vr===i&&(Vr=null),ve(en)}var en=ie(0);function _c(i){for(var u=i;u!==null;){if(u.tag===13){var f=u.memoizedState;if(f!==null&&(f=f.dehydrated,f===null||f.data==="$?"||f.data==="$!"))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if((u.flags&128)!==0)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===i)break;for(;u.sibling===null;){if(u.return===null||u.return===i)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var U$=typeof AbortController<"u"?AbortController:function(){var i=[],u=this.signal={aborted:!1,addEventListener:function(f,h){i.push(h)}};this.abort=function(){u.aborted=!0,i.forEach(function(f){return f()})}},j$=e.unstable_scheduleCallback,G$=e.unstable_NormalPriority,tn={$$typeof:b,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function gg(){return{controller:new U$,data:new Map,refCount:0}}function wl(i){i.refCount--,i.refCount===0&&j$(G$,function(){i.controller.abort()})}var xl=null,hg=0,$i=0,qi=null;function H$(i,u){if(xl===null){var f=xl=[];hg=0,$i=Eh(),qi={status:"pending",value:void 0,then:function(h){f.push(h)}}}return hg++,u.then(y1,y1),u}function y1(){if(--hg===0&&xl!==null){qi!==null&&(qi.status="fulfilled");var i=xl;xl=null,$i=0,qi=null;for(var u=0;uT?T:8;var P=D.T,q={};D.T=q,Ig(i,!1,u,f);try{var Z=v(),ae=D.S;if(ae!==null&&ae(q,Z),Z!==null&&typeof Z=="object"&&typeof Z.then=="function"){var be=$$(Z,h);Al(i,u,be,Qn(i))}else Al(i,u,h,Qn(i))}catch(Ae){Al(i,u,{then:function(){},status:"rejected",reason:Ae},Qn())}finally{X.p=T,D.T=P}}function K$(){}function Ng(i,u,f,h){if(i.tag!==5)throw Error(r(476));var v=K1(i).queue;Y1(i,v,u,K,f===null?K$:function(){return X1(i),f(h)})}function K1(i){var u=i.memoizedState;if(u!==null)return u;u={memoizedState:K,baseState:K,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:va,lastRenderedState:K},next:null};var f={};return u.next={memoizedState:f,baseState:f,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:va,lastRenderedState:f},next:null},i.memoizedState=u,i=i.alternate,i!==null&&(i.memoizedState=u),u}function X1(i){var u=K1(i).next.queue;Al(i,u,{},Qn())}function Og(){return En(Vl)}function Z1(){return Xt().memoizedState}function Q1(){return Xt().memoizedState}function X$(i){for(var u=i.return;u!==null;){switch(u.tag){case 24:case 3:var f=Qn();i=ao(f);var h=oo(u,i,f);h!==null&&(Nn(h,u,f),Cl(h,u,f)),u={cache:gg()},i.payload=u;return}u=u.return}}function Z$(i,u,f){var h=Qn();f={lane:h,revertLane:0,action:f,hasEagerState:!1,eagerState:null,next:null},Pc(i)?eR(u,f):(f=sg(i,u,f,h),f!==null&&(Nn(f,i,h),tR(f,u,h)))}function J1(i,u,f){var h=Qn();Al(i,u,f,h)}function Al(i,u,f,h){var v={lane:h,revertLane:0,action:f,hasEagerState:!1,eagerState:null,next:null};if(Pc(i))eR(u,v);else{var T=i.alternate;if(i.lanes===0&&(T===null||T.lanes===0)&&(T=u.lastRenderedReducer,T!==null))try{var P=u.lastRenderedState,q=T(P,f);if(v.hasEagerState=!0,v.eagerState=q,Yn(q,P))return Sc(i,u,v,0),Dt===null&&vc(),!1}catch{}finally{}if(f=sg(i,u,v,h),f!==null)return Nn(f,i,h),tR(f,u,h),!0}return!1}function Ig(i,u,f,h){if(h={lane:2,revertLane:Eh(),action:h,hasEagerState:!1,eagerState:null,next:null},Pc(i)){if(u)throw Error(r(479))}else u=sg(i,f,h,2),u!==null&&Nn(u,i,2)}function Pc(i){var u=i.alternate;return i===st||u!==null&&u===st}function eR(i,u){Vi=Nc=!0;var f=i.pending;f===null?u.next=u:(u.next=f.next,f.next=u),i.pending=u}function tR(i,u,f){if((f&4194176)!==0){var h=u.lanes;h&=i.pendingLanes,f|=h,u.lanes=f,Rr(i,f)}}var Wr={readContext:En,use:Dc,useCallback:Wt,useContext:Wt,useEffect:Wt,useImperativeHandle:Wt,useLayoutEffect:Wt,useInsertionEffect:Wt,useMemo:Wt,useReducer:Wt,useRef:Wt,useState:Wt,useDebugValue:Wt,useDeferredValue:Wt,useTransition:Wt,useSyncExternalStore:Wt,useId:Wt};Wr.useCacheRefresh=Wt,Wr.useMemoCache=Wt,Wr.useHostTransitionStatus=Wt,Wr.useFormState=Wt,Wr.useActionState=Wt,Wr.useOptimistic=Wt;var Yo={readContext:En,use:Dc,useCallback:function(i,u){return Pn().memoizedState=[i,u===void 0?null:u],i},useContext:En,useEffect:U1,useImperativeHandle:function(i,u,f){f=f!=null?f.concat([i]):null,Mc(4194308,4,H1.bind(null,u,i),f)},useLayoutEffect:function(i,u){return Mc(4194308,4,i,u)},useInsertionEffect:function(i,u){Mc(4,2,i,u)},useMemo:function(i,u){var f=Pn();u=u===void 0?null:u;var h=i();if(Wo){ot(!0);try{i()}finally{ot(!1)}}return f.memoizedState=[h,u],h},useReducer:function(i,u,f){var h=Pn();if(f!==void 0){var v=f(u);if(Wo){ot(!0);try{f(u)}finally{ot(!1)}}}else v=u;return h.memoizedState=h.baseState=v,i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:i,lastRenderedState:v},h.queue=i,i=i.dispatch=Z$.bind(null,st,i),[h.memoizedState,i]},useRef:function(i){var u=Pn();return i={current:i},u.memoizedState=i},useState:function(i){i=Tg(i);var u=i.queue,f=J1.bind(null,st,u);return u.dispatch=f,[i.memoizedState,f]},useDebugValue:_g,useDeferredValue:function(i,u){var f=Pn();return Cg(f,i,u)},useTransition:function(){var i=Tg(!1);return i=Y1.bind(null,st,i.queue,!0,!1),Pn().memoizedState=i,[!1,i]},useSyncExternalStore:function(i,u,f){var h=st,v=Pn();if(Et){if(f===void 0)throw Error(r(407));f=f()}else{if(f=u(),Dt===null)throw Error(r(349));(bt&60)!==0||k1(h,u,f)}v.memoizedState=f;var T={value:f,getSnapshot:u};return v.queue=T,U1(A1.bind(null,h,T,i),[i]),h.flags|=2048,Yi(9,T1.bind(null,h,T,f,u),{destroy:void 0},null),f},useId:function(){var i=Pn(),u=Dt.identifierPrefix;if(Et){var f=ba,h=ma;f=(h&~(1<<32-St(h)-1)).toString(32)+f,u=":"+u+"R"+f,f=Oc++,0 title"))),hn(T,h,f),T[Sn]=i,rn(T),h=T;break e;case"link":var P=__("link","href",v).get(h+(f.href||""));if(P){for(var q=0;q<\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof h.is=="string"?v.createElement("select",{is:h.is}):v.createElement("select"),h.multiple?i.multiple=!0:h.size&&(i.size=h.size);break;default:i=typeof h.is=="string"?v.createElement(f,{is:h.is}):v.createElement(f)}}i[Sn]=u,i[Mn]=h;e:for(v=u.child;v!==null;){if(v.tag===5||v.tag===6)i.appendChild(v.stateNode);else if(v.tag!==4&&v.tag!==27&&v.child!==null){v.child.return=v,v=v.child;continue}if(v===u)break e;for(;v.sibling===null;){if(v.return===null||v.return===u)break e;v=v.return}v.sibling.return=v.return,v=v.sibling}u.stateNode=i;e:switch(hn(i,f,h),f){case"button":case"input":case"select":case"textarea":i=!!h.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&Aa(u)}}return Bt(u),u.flags&=-16777217,null;case 6:if(i&&u.stateNode!=null)i.memoizedProps!==h&&Aa(u);else{if(typeof h!="string"&&u.stateNode===null)throw Error(r(166));if(i=De.current,hl(u)){if(i=u.stateNode,f=u.memoizedProps,h=null,v=Cn,v!==null)switch(v.tag){case 27:case 5:h=v.memoizedProps}i[Sn]=u,i=!!(i.nodeValue===f||h!==null&&h.suppressHydrationWarning===!0||m_(i.nodeValue,f)),i||$o(u)}else i=nd(i).createTextNode(h),i[Sn]=u,u.stateNode=i}return Bt(u),null;case 13:if(h=u.memoizedState,i===null||i.memoizedState!==null&&i.memoizedState.dehydrated!==null){if(v=hl(u),h!==null&&h.dehydrated!==null){if(i===null){if(!v)throw Error(r(318));if(v=u.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(r(317));v[Sn]=u}else ml(),(u.flags&128)===0&&(u.memoizedState=null),u.flags|=4;Bt(u),v=!1}else Cr!==null&&(gh(Cr),Cr=null),v=!0;if(!v)return u.flags&256?(ya(u),u):(ya(u),null)}if(ya(u),(u.flags&128)!==0)return u.lanes=f,u;if(f=h!==null,i=i!==null&&i.memoizedState!==null,f){h=u.child,v=null,h.alternate!==null&&h.alternate.memoizedState!==null&&h.alternate.memoizedState.cachePool!==null&&(v=h.alternate.memoizedState.cachePool.pool);var T=null;h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(T=h.memoizedState.cachePool.pool),T!==v&&(h.flags|=2048)}return f!==i&&f&&(u.child.flags|=8192),qc(u,u.updateQueue),Bt(u),null;case 4:return ee(),i===null&&Th(u.stateNode.containerInfo),Bt(u),null;case 10:return wa(u.type),Bt(u),null;case 19:if(ve(en),v=u.memoizedState,v===null)return Bt(u),null;if(h=(u.flags&128)!==0,T=v.rendering,T===null)if(h)Fl(v,!1);else{if(qt!==0||i!==null&&(i.flags&128)!==0)for(i=u.child;i!==null;){if(T=_c(i),T!==null){for(u.flags|=128,Fl(v,!1),i=T.updateQueue,u.updateQueue=i,qc(u,i),u.subtreeFlags=0,i=f,f=u.child;f!==null;)$R(f,i),f=f.sibling;return oe(en,en.current&1|2),u.child}i=i.sibling}v.tail!==null&&he()>Vc&&(u.flags|=128,h=!0,Fl(v,!1),u.lanes=4194304)}else{if(!h)if(i=_c(T),i!==null){if(u.flags|=128,h=!0,i=i.updateQueue,u.updateQueue=i,qc(u,i),Fl(v,!0),v.tail===null&&v.tailMode==="hidden"&&!T.alternate&&!Et)return Bt(u),null}else 2*he()-v.renderingStartTime>Vc&&f!==536870912&&(u.flags|=128,h=!0,Fl(v,!1),u.lanes=4194304);v.isBackwards?(T.sibling=u.child,u.child=T):(i=v.last,i!==null?i.sibling=T:u.child=T,v.last=T)}return v.tail!==null?(u=v.tail,v.rendering=u,v.tail=u.sibling,v.renderingStartTime=he(),u.sibling=null,i=en.current,oe(en,h?i&1|2:i&1),u):(Bt(u),null);case 22:case 23:return ya(u),pg(),h=u.memoizedState!==null,i!==null?i.memoizedState!==null!==h&&(u.flags|=8192):h&&(u.flags|=8192),h?(f&536870912)!==0&&(u.flags&128)===0&&(Bt(u),u.subtreeFlags&6&&(u.flags|=8192)):Bt(u),f=u.updateQueue,f!==null&&qc(u,f.retryQueue),f=null,i!==null&&i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(f=i.memoizedState.cachePool.pool),h=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(h=u.memoizedState.cachePool.pool),h!==f&&(u.flags|=2048),i!==null&&ve(Vo),null;case 24:return f=null,i!==null&&(f=i.memoizedState.cache),u.memoizedState.cache!==f&&(u.flags|=2048),wa(tn),Bt(u),null;case 25:return null}throw Error(r(156,u.tag))}function a6(i,u){switch(ug(u),u.tag){case 1:return i=u.flags,i&65536?(u.flags=i&-65537|128,u):null;case 3:return wa(tn),ee(),i=u.flags,(i&65536)!==0&&(i&128)===0?(u.flags=i&-65537|128,u):null;case 26:case 27:case 5:return Te(u),null;case 13:if(ya(u),i=u.memoizedState,i!==null&&i.dehydrated!==null){if(u.alternate===null)throw Error(r(340));ml()}return i=u.flags,i&65536?(u.flags=i&-65537|128,u):null;case 19:return ve(en),null;case 4:return ee(),null;case 10:return wa(u.type),null;case 22:case 23:return ya(u),pg(),i!==null&&ve(Vo),i=u.flags,i&65536?(u.flags=i&-65537|128,u):null;case 24:return wa(tn),null;case 25:return null;default:return null}}function WR(i,u){switch(ug(u),u.tag){case 3:wa(tn),ee();break;case 26:case 27:case 5:Te(u);break;case 4:ee();break;case 13:ya(u);break;case 19:ve(en);break;case 10:wa(u.type);break;case 22:case 23:ya(u),pg(),i!==null&&ve(Vo);break;case 24:wa(tn)}}var o6={getCacheForType:function(i){var u=En(tn),f=u.data.get(i);return f===void 0&&(f=i(),u.data.set(i,f)),f}},i6=typeof WeakMap=="function"?WeakMap:Map,Ut=0,Dt=null,ct=null,bt=0,Lt=0,Zn=null,Ra=!1,Qi=!1,sh=!1,_a=0,qt=0,co=0,ti=0,lh=0,mr=0,Ji=0,Pl=null,Yr=null,uh=!1,ch=0,Vc=1/0,Wc=null,fo=null,Yc=!1,ni=null,zl=0,dh=0,fh=null,Bl=0,ph=null;function Qn(){if((Ut&2)!==0&&bt!==0)return bt&-bt;if(D.T!==null){var i=$i;return i!==0?i:Eh()}return gA()}function YR(){mr===0&&(mr=(bt&536870912)===0||Et?Ct():536870912);var i=fr.current;return i!==null&&(i.flags|=32),mr}function Nn(i,u,f){(i===Dt&&Lt===2||i.cancelPendingCommit!==null)&&(es(i,0),Ca(i,bt,mr,!1)),Dn(i,f),((Ut&2)===0||i!==Dt)&&(i===Dt&&((Ut&2)===0&&(ti|=f),qt===4&&Ca(i,bt,mr,!1)),Kr(i))}function KR(i,u,f){if((Ut&6)!==0)throw Error(r(327));var h=!f&&(u&60)===0&&(u&i.expiredLanes)===0||Xe(i,u),v=h?u6(i,u):bh(i,u,!0),T=h;do{if(v===0){Qi&&!h&&Ca(i,u,0,!1);break}else if(v===6)Ca(i,u,0,!Ra);else{if(f=i.current.alternate,T&&!s6(f)){v=bh(i,u,!1),T=!1;continue}if(v===2){if(T=u,i.errorRecoveryDisabledLanes&T)var P=0;else P=i.pendingLanes&-536870913,P=P!==0?P:P&536870912?536870912:0;if(P!==0){u=P;e:{var q=i;v=Pl;var Z=q.current.memoizedState.isDehydrated;if(Z&&(es(q,P).flags|=256),P=bh(q,P,!1),P!==2){if(sh&&!Z){q.errorRecoveryDisabledLanes|=T,ti|=T,v=4;break e}T=Yr,Yr=v,T!==null&&gh(T)}v=P}if(T=!1,v!==2)continue}}if(v===1){es(i,0),Ca(i,u,0,!0);break}e:{switch(h=i,v){case 0:case 1:throw Error(r(345));case 4:if((u&4194176)===u){Ca(h,u,mr,!Ra);break e}break;case 2:Yr=null;break;case 3:case 5:break;default:throw Error(r(329))}if(h.finishedWork=f,h.finishedLanes=u,(u&62914560)===u&&(T=ch+300-he(),10f?32:f,D.T=null,ni===null)var T=!1;else{f=fh,fh=null;var P=ni,q=zl;if(ni=null,zl=0,(Ut&6)!==0)throw Error(r(331));var Z=Ut;if(Ut|=4,GR(P.current),BR(P,P.current,q,f),Ut=Z,Ul(0,!1),et&&typeof et.onPostCommitFiberRoot=="function")try{et.onPostCommitFiberRoot(ht,P)}catch{}T=!0}return T}finally{X.p=v,D.T=h,a_(i,u)}}return!1}function o_(i,u,f){u=ur(f,u),u=Mg(i.stateNode,u,2),i=oo(i,u,2),i!==null&&(Dn(i,2),Kr(i))}function Nt(i,u,f){if(i.tag===3)o_(i,i,f);else for(;u!==null;){if(u.tag===3){o_(u,i,f);break}else if(u.tag===1){var h=u.stateNode;if(typeof u.type.getDerivedStateFromError=="function"||typeof h.componentDidCatch=="function"&&(fo===null||!fo.has(h))){i=ur(f,i),f=lR(2),h=oo(u,f,2),h!==null&&(uR(f,h,u,i),Dn(h,2),Kr(h));break}}u=u.return}}function yh(i,u,f){var h=i.pingCache;if(h===null){h=i.pingCache=new i6;var v=new Set;h.set(u,v)}else v=h.get(u),v===void 0&&(v=new Set,h.set(u,v));v.has(f)||(sh=!0,v.add(f),i=f6.bind(null,i,u,f),u.then(i,i))}function f6(i,u,f){var h=i.pingCache;h!==null&&h.delete(u),i.pingedLanes|=i.suspendedLanes&f,i.warmLanes&=~f,Dt===i&&(bt&f)===f&&(qt===4||qt===3&&(bt&62914560)===bt&&300>he()-ch?(Ut&2)===0&&es(i,0):lh|=f,Ji===bt&&(Ji=0)),Kr(i)}function i_(i,u){u===0&&(u=In()),i=Za(i,u),i!==null&&(Dn(i,u),Kr(i))}function p6(i){var u=i.memoizedState,f=0;u!==null&&(f=u.retryLane),i_(i,f)}function g6(i,u){var f=0;switch(i.tag){case 13:var h=i.stateNode,v=i.memoizedState;v!==null&&(f=v.retryLane);break;case 19:h=i.stateNode;break;case 22:h=i.stateNode._retryCache;break;default:throw Error(r(314))}h!==null&&h.delete(u),i_(i,f)}function h6(i,u){return we(i,u)}var Zc=null,rs=null,vh=!1,Qc=!1,Sh=!1,ri=0;function Kr(i){i!==rs&&i.next===null&&(rs===null?Zc=rs=i:rs=rs.next=i),Qc=!0,vh||(vh=!0,b6(m6))}function Ul(i,u){if(!Sh&&Qc){Sh=!0;do for(var f=!1,h=Zc;h!==null;){if(i!==0){var v=h.pendingLanes;if(v===0)var T=0;else{var P=h.suspendedLanes,q=h.pingedLanes;T=(1<<31-St(42|i)+1)-1,T&=v&~(P&~q),T=T&201326677?T&201326677|1:T?T|2:0}T!==0&&(f=!0,u_(h,T))}else T=bt,T=fa(h,h===Dt?T:0),(T&3)===0||Xe(h,T)||(f=!0,u_(h,T));h=h.next}while(f);Sh=!1}}function m6(){Qc=vh=!1;var i=0;ri!==0&&(T6()&&(i=ri),ri=0);for(var u=he(),f=null,h=Zc;h!==null;){var v=h.next,T=s_(h,u);T===0?(h.next=null,f===null?Zc=v:f.next=v,v===null&&(rs=f)):(f=h,(i!==0||(T&3)!==0)&&(Qc=!0)),h=v}Ul(i)}function s_(i,u){for(var f=i.suspendedLanes,h=i.pingedLanes,v=i.expirationTimes,T=i.pendingLanes&-62914561;0"u"?null:document;function k_(i,u,f){var h=os;if(h&&typeof u=="string"&&u){var v=sr(u);v='link[rel="'+i+'"][href="'+v+'"]',typeof f=="string"&&(v+='[crossorigin="'+f+'"]'),x_.has(v)||(x_.add(v),i={rel:i,crossOrigin:f,href:u},h.querySelector(v)===null&&(u=h.createElement("link"),hn(u,"link",i),rn(u),h.head.appendChild(u)))}}function D6(i){Na.D(i),k_("dns-prefetch",i,null)}function L6(i,u){Na.C(i,u),k_("preconnect",i,u)}function M6(i,u,f){Na.L(i,u,f);var h=os;if(h&&i&&u){var v='link[rel="preload"][as="'+sr(u)+'"]';u==="image"&&f&&f.imageSrcSet?(v+='[imagesrcset="'+sr(f.imageSrcSet)+'"]',typeof f.imageSizes=="string"&&(v+='[imagesizes="'+sr(f.imageSizes)+'"]')):v+='[href="'+sr(i)+'"]';var T=v;switch(u){case"style":T=is(i);break;case"script":T=ss(i)}br.has(T)||(i=L({rel:"preload",href:u==="image"&&f&&f.imageSrcSet?void 0:i,as:u},f),br.set(T,i),h.querySelector(v)!==null||u==="style"&&h.querySelector(Hl(T))||u==="script"&&h.querySelector($l(T))||(u=h.createElement("link"),hn(u,"link",i),rn(u),h.head.appendChild(u)))}}function F6(i,u){Na.m(i,u);var f=os;if(f&&i){var h=u&&typeof u.as=="string"?u.as:"script",v='link[rel="modulepreload"][as="'+sr(h)+'"][href="'+sr(i)+'"]',T=v;switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":T=ss(i)}if(!br.has(T)&&(i=L({rel:"modulepreload",href:i},u),br.set(T,i),f.querySelector(v)===null)){switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(f.querySelector($l(T)))return}h=f.createElement("link"),hn(h,"link",i),rn(h),f.head.appendChild(h)}}}function P6(i,u,f){Na.S(i,u,f);var h=os;if(h&&i){var v=Ci(h).hoistableStyles,T=is(i);u=u||"default";var P=v.get(T);if(!P){var q={loading:0,preload:null};if(P=h.querySelector(Hl(T)))q.loading=5;else{i=L({rel:"stylesheet",href:i,"data-precedence":u},f),(f=br.get(T))&&Lh(i,f);var Z=P=h.createElement("link");rn(Z),hn(Z,"link",i),Z._p=new Promise(function(ae,be){Z.onload=ae,Z.onerror=be}),Z.addEventListener("load",function(){q.loading|=1}),Z.addEventListener("error",function(){q.loading|=2}),q.loading|=4,ad(P,u,h)}P={type:"stylesheet",instance:P,count:1,state:q},v.set(T,P)}}}function z6(i,u){Na.X(i,u);var f=os;if(f&&i){var h=Ci(f).hoistableScripts,v=ss(i),T=h.get(v);T||(T=f.querySelector($l(v)),T||(i=L({src:i,async:!0},u),(u=br.get(v))&&Mh(i,u),T=f.createElement("script"),rn(T),hn(T,"link",i),f.head.appendChild(T)),T={type:"script",instance:T,count:1,state:null},h.set(v,T))}}function B6(i,u){Na.M(i,u);var f=os;if(f&&i){var h=Ci(f).hoistableScripts,v=ss(i),T=h.get(v);T||(T=f.querySelector($l(v)),T||(i=L({src:i,async:!0,type:"module"},u),(u=br.get(v))&&Mh(i,u),T=f.createElement("script"),rn(T),hn(T,"link",i),f.head.appendChild(T)),T={type:"script",instance:T,count:1,state:null},h.set(v,T))}}function T_(i,u,f,h){var v=(v=De.current)?rd(v):null;if(!v)throw Error(r(446));switch(i){case"meta":case"title":return null;case"style":return typeof f.precedence=="string"&&typeof f.href=="string"?(u=is(f.href),f=Ci(v).hoistableStyles,h=f.get(u),h||(h={type:"style",instance:null,count:0,state:null},f.set(u,h)),h):{type:"void",instance:null,count:0,state:null};case"link":if(f.rel==="stylesheet"&&typeof f.href=="string"&&typeof f.precedence=="string"){i=is(f.href);var T=Ci(v).hoistableStyles,P=T.get(i);if(P||(v=v.ownerDocument||v,P={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},T.set(i,P),(T=v.querySelector(Hl(i)))&&!T._p&&(P.instance=T,P.state.loading=5),br.has(i)||(f={rel:"preload",as:"style",href:f.href,crossOrigin:f.crossOrigin,integrity:f.integrity,media:f.media,hrefLang:f.hrefLang,referrerPolicy:f.referrerPolicy},br.set(i,f),T||U6(v,i,f,P.state))),u&&h===null)throw Error(r(528,""));return P}if(u&&h!==null)throw Error(r(529,""));return null;case"script":return u=f.async,f=f.src,typeof f=="string"&&u&&typeof u!="function"&&typeof u!="symbol"?(u=ss(f),f=Ci(v).hoistableScripts,h=f.get(u),h||(h={type:"script",instance:null,count:0,state:null},f.set(u,h)),h):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,i))}}function is(i){return'href="'+sr(i)+'"'}function Hl(i){return'link[rel="stylesheet"]['+i+"]"}function A_(i){return L({},i,{"data-precedence":i.precedence,precedence:null})}function U6(i,u,f,h){i.querySelector('link[rel="preload"][as="style"]['+u+"]")?h.loading=1:(u=i.createElement("link"),h.preload=u,u.addEventListener("load",function(){return h.loading|=1}),u.addEventListener("error",function(){return h.loading|=2}),hn(u,"link",f),rn(u),i.head.appendChild(u))}function ss(i){return'[src="'+sr(i)+'"]'}function $l(i){return"script[async]"+i}function R_(i,u,f){if(u.count++,u.instance===null)switch(u.type){case"style":var h=i.querySelector('style[data-href~="'+sr(f.href)+'"]');if(h)return u.instance=h,rn(h),h;var v=L({},f,{"data-href":f.href,"data-precedence":f.precedence,href:null,precedence:null});return h=(i.ownerDocument||i).createElement("style"),rn(h),hn(h,"style",v),ad(h,f.precedence,i),u.instance=h;case"stylesheet":v=is(f.href);var T=i.querySelector(Hl(v));if(T)return u.state.loading|=4,u.instance=T,rn(T),T;h=A_(f),(v=br.get(v))&&Lh(h,v),T=(i.ownerDocument||i).createElement("link"),rn(T);var P=T;return P._p=new Promise(function(q,Z){P.onload=q,P.onerror=Z}),hn(T,"link",h),u.state.loading|=4,ad(T,f.precedence,i),u.instance=T;case"script":return T=ss(f.src),(v=i.querySelector($l(T)))?(u.instance=v,rn(v),v):(h=f,(v=br.get(T))&&(h=L({},f),Mh(h,v)),i=i.ownerDocument||i,v=i.createElement("script"),rn(v),hn(v,"link",h),i.head.appendChild(v),u.instance=v);case"void":return null;default:throw Error(r(443,u.type))}else u.type==="stylesheet"&&(u.state.loading&4)===0&&(h=u.instance,u.state.loading|=4,ad(h,f.precedence,i));return u.instance}function ad(i,u,f){for(var h=f.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),v=h.length?h[h.length-1]:null,T=v,P=0;P title"):null)}function j6(i,u,f){if(f===1||u.itemProp!=null)return!1;switch(i){case"meta":case"title":return!0;case"style":if(typeof u.precedence!="string"||typeof u.href!="string"||u.href==="")break;return!0;case"link":if(typeof u.rel!="string"||typeof u.href!="string"||u.href===""||u.onLoad||u.onError)break;switch(u.rel){case"stylesheet":return i=u.disabled,typeof u.precedence=="string"&&i==null;default:return!0}case"script":if(u.async&&typeof u.async!="function"&&typeof u.async!="symbol"&&!u.onLoad&&!u.onError&&u.src&&typeof u.src=="string")return!0}return!1}function N_(i){return!(i.type==="stylesheet"&&(i.state.loading&3)===0)}var ql=null;function G6(){}function H6(i,u,f){if(ql===null)throw Error(r(475));var h=ql;if(u.type==="stylesheet"&&(typeof f.media!="string"||matchMedia(f.media).matches!==!1)&&(u.state.loading&4)===0){if(u.instance===null){var v=is(f.href),T=i.querySelector(Hl(v));if(T){i=T._p,i!==null&&typeof i=="object"&&typeof i.then=="function"&&(h.count++,h=id.bind(h),i.then(h,h)),u.state.loading|=4,u.instance=T,rn(T);return}T=i.ownerDocument||i,f=A_(f),(v=br.get(v))&&Lh(f,v),T=T.createElement("link"),rn(T);var P=T;P._p=new Promise(function(q,Z){P.onload=q,P.onerror=Z}),hn(T,"link",f),u.instance=T}h.stylesheets===null&&(h.stylesheets=new Map),h.stylesheets.set(u,i),(i=u.state.preload)&&(u.state.loading&3)===0&&(h.count++,u=id.bind(h),i.addEventListener("load",u),i.addEventListener("error",u))}}function $6(){if(ql===null)throw Error(r(475));var i=ql;return i.stylesheets&&i.count===0&&Fh(i,i.stylesheets),0"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),qh.exports=d9(),qh.exports}var p9=f9(),Jl={},Q_;function g9(){if(Q_)return Jl;Q_=1,Object.defineProperty(Jl,"__esModule",{value:!0}),Jl.parse=s,Jl.serialize=d;const e=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,t=/^[\u0021-\u003A\u003C-\u007E]*$/,n=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,r=/^[\u0020-\u003A\u003D-\u007E]*$/,a=Object.prototype.toString,o=(()=>{const m=function(){};return m.prototype=Object.create(null),m})();function s(m,b){const y=new o,S=m.length;if(S<2)return y;const k=(b==null?void 0:b.decode)||p;let R=0;do{const x=m.indexOf("=",R);if(x===-1)break;const A=m.indexOf(";",R),N=A===-1?S:A;if(x>N){R=m.lastIndexOf(";",x-1)+1;continue}const O=l(m,R,x),_=c(m,x,O),C=m.slice(O,_);if(y[C]===void 0){let F=l(m,x+1,N),D=c(m,N,F);const L=k(m.slice(F,D));y[C]=L}R=N+1}while(Ry;){const S=m.charCodeAt(--b);if(S!==32&&S!==9)return b+1}return y}function d(m,b,y){const S=(y==null?void 0:y.encode)||encodeURIComponent;if(!e.test(m))throw new TypeError(`argument name is invalid: ${m}`);const k=S(b);if(!t.test(k))throw new TypeError(`argument val is invalid: ${b}`);let R=m+"="+k;if(!y)return R;if(y.maxAge!==void 0){if(!Number.isInteger(y.maxAge))throw new TypeError(`option maxAge is invalid: ${y.maxAge}`);R+="; Max-Age="+y.maxAge}if(y.domain){if(!n.test(y.domain))throw new TypeError(`option domain is invalid: ${y.domain}`);R+="; Domain="+y.domain}if(y.path){if(!r.test(y.path))throw new TypeError(`option path is invalid: ${y.path}`);R+="; Path="+y.path}if(y.expires){if(!g(y.expires)||!Number.isFinite(y.expires.valueOf()))throw new TypeError(`option expires is invalid: ${y.expires}`);R+="; Expires="+y.expires.toUTCString()}if(y.httpOnly&&(R+="; HttpOnly"),y.secure&&(R+="; Secure"),y.partitioned&&(R+="; Partitioned"),y.priority)switch(typeof y.priority=="string"?y.priority.toLowerCase():void 0){case"low":R+="; Priority=Low";break;case"medium":R+="; Priority=Medium";break;case"high":R+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${y.priority}`)}if(y.sameSite)switch(typeof y.sameSite=="string"?y.sameSite.toLowerCase():y.sameSite){case!0:case"strict":R+="; SameSite=Strict";break;case"lax":R+="; SameSite=Lax";break;case"none":R+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${y.sameSite}`)}return R}function p(m){if(m.indexOf("%")===-1)return m;try{return decodeURIComponent(m)}catch{return m}}function g(m){return a.call(m)==="[object Date]"}return Jl}g9();/** +`+f.stack}}function z(i){var u=i,f=i;if(i.alternate)for(;u.return;)u=u.return;else{i=u;do u=i,(u.flags&4098)!==0&&(f=u.return),i=u.return;while(i)}return u.tag===3?f:null}function Y(i){if(i.tag===13){var u=i.memoizedState;if(u===null&&(i=i.alternate,i!==null&&(u=i.memoizedState)),u!==null)return u.dehydrated}return null}function D(i){if(z(i)!==i)throw Error(r(188))}function V(i){var u=i.alternate;if(!u){if(u=z(i),u===null)throw Error(r(188));return u!==i?null:i}for(var f=i,h=u;;){var v=f.return;if(v===null)break;var T=v.alternate;if(T===null){if(h=v.return,h!==null){f=h;continue}break}if(v.child===T.child){for(T=v.child;T;){if(T===f)return D(v),i;if(T===h)return D(v),u;T=T.sibling}throw Error(r(188))}if(f.return!==h.return)f=v,h=T;else{for(var F=!1,q=v.child;q;){if(q===f){F=!0,f=v,h=T;break}if(q===h){F=!0,h=v,f=T;break}q=q.sibling}if(!F){for(q=T.child;q;){if(q===f){F=!0,f=T,h=v;break}if(q===h){F=!0,h=T,f=v;break}q=q.sibling}if(!F)throw Error(r(189))}}if(f.alternate!==h)throw Error(r(190))}if(f.tag!==3)throw Error(r(188));return f.stateNode.current===f?i:u}function B(i){var u=i.tag;if(u===5||u===26||u===27||u===6)return i;for(i=i.child;i!==null;){if(u=B(i),u!==null)return u;i=i.sibling}return null}var M=Array.isArray,X=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K={pending:!1,data:null,method:null,action:null},ne=[],J=-1;function ie(i){return{current:i}}function ve(i){0>J||(i.current=ne[J],ne[J]=null,J--)}function oe(i,u){J++,ne[J]=i.current,i.current=u}var Se=ie(null),Ee=ie(null),Ie=ie(null),_e=ie(null);function ke(i,u){switch(oe(Ie,u),oe(Ee,i),oe(Se,null),i=u.nodeType,i){case 9:case 11:u=(u=u.documentElement)&&(u=u.namespaceURI)?bC(u):0;break;default:if(i=i===8?u.parentNode:u,u=i.tagName,i=i.namespaceURI)i=bC(i),u=yC(i,u);else switch(u){case"svg":u=1;break;case"math":u=2;break;default:u=0}}ve(Se),oe(Se,u)}function ee(){ve(Se),ve(Ee),ve(Ie)}function fe(i){i.memoizedState!==null&&oe(_e,i);var u=Se.current,f=yC(u,i.type);u!==f&&(oe(Ee,i),oe(Se,f))}function Te(i){Ee.current===i&&(ve(Se),ve(Ee)),_e.current===i&&(ve(_e),Vl._currentValue=K)}var me=Object.prototype.hasOwnProperty,we=e.unstable_scheduleCallback,le=e.unstable_cancelCallback,ze=e.unstable_shouldYield,Be=e.unstable_requestPaint,he=e.unstable_now,Ne=e.unstable_getCurrentPriorityLevel,te=e.unstable_ImmediatePriority,ce=e.unstable_UserBlockingPriority,Ce=e.unstable_NormalPriority,Fe=e.unstable_LowPriority,We=e.unstable_IdlePriority,yt=e.log,kt=e.unstable_setDisableYieldValue,ht=null,et=null;function Tt(i){if(et&&typeof et.onCommitFiberRoot=="function")try{et.onCommitFiberRoot(ht,i,void 0,(i.current.flags&128)===128)}catch{}}function ot(i){if(typeof yt=="function"&&kt(i),et&&typeof et.setStrictMode=="function")try{et.setStrictMode(ht,i)}catch{}}var St=Math.clz32?Math.clz32:zt,Ht=Math.log,pn=Math.LN2;function zt(i){return i>>>=0,i===0?32:31-(Ht(i)/pn|0)|0}var or=128,$r=4194304;function Jt(i){var u=i&42;if(u!==0)return u;switch(i&-i){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i&4194176;case 4194304:case 8388608:case 16777216:case 33554432:return i&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return i}}function fa(i,u){var f=i.pendingLanes;if(f===0)return 0;var h=0,v=i.suspendedLanes,T=i.pingedLanes,F=i.warmLanes;i=i.finishedLanes!==0;var q=f&134217727;return q!==0?(f=q&~v,f!==0?h=Jt(f):(T&=q,T!==0?h=Jt(T):i||(F=q&~F,F!==0&&(h=Jt(F))))):(q=f&~v,q!==0?h=Jt(q):T!==0?h=Jt(T):i||(F=f&~F,F!==0&&(h=Jt(F)))),h===0?0:u!==0&&u!==h&&(u&v)===0&&(v=h&-h,F=u&-u,v>=F||v===32&&(F&4194176)!==0)?u:h}function Xe(i,u){return(i.pendingLanes&~(i.suspendedLanes&~i.pingedLanes)&u)===0}function mt(i,u){switch(i){case 1:case 2:case 4:case 8:return u+250;case 16:case 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 u+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function _t(){var i=or;return or<<=1,(or&4194176)===0&&(or=128),i}function In(){var i=$r;return $r<<=1,($r&62914560)===0&&($r=4194304),i}function _n(i){for(var u=[],f=0;31>f;f++)u.push(i);return u}function Ln(i,u){i.pendingLanes|=u,u!==268435456&&(i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0)}function pa(i,u,f,h,v,T){var F=i.pendingLanes;i.pendingLanes=f,i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0,i.expiredLanes&=f,i.entangledLanes&=f,i.errorRecoveryDisabledLanes&=f,i.shellSuspendCounter=0;var q=i.entanglements,Z=i.expirationTimes,ae=i.hiddenUpdates;for(f=F&~f;0"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),WH=RegExp("^[: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]*$"),yA={},vA={};function YH(i){return me.call(vA,i)?!0:me.call(yA,i)?!1:WH.test(i)?vA[i]=!0:(yA[i]=!0,!1)}function lc(i,u,f){if(YH(u))if(f===null)i.removeAttribute(u);else{switch(typeof f){case"undefined":case"function":case"symbol":i.removeAttribute(u);return;case"boolean":var h=u.toLowerCase().slice(0,5);if(h!=="data-"&&h!=="aria-"){i.removeAttribute(u);return}}i.setAttribute(u,""+f)}}function uc(i,u,f){if(f===null)i.removeAttribute(u);else{switch(typeof f){case"undefined":case"function":case"symbol":case"boolean":i.removeAttribute(u);return}i.setAttribute(u,""+f)}}function ha(i,u,f,h){if(h===null)i.removeAttribute(f);else{switch(typeof h){case"undefined":case"function":case"symbol":case"boolean":i.removeAttribute(f);return}i.setAttributeNS(u,f,""+h)}}function ir(i){switch(typeof i){case"bigint":case"boolean":case"number":case"string":case"undefined":return i;case"object":return i;default:return""}}function SA(i){var u=i.type;return(i=i.nodeName)&&i.toLowerCase()==="input"&&(u==="checkbox"||u==="radio")}function KH(i){var u=SA(i)?"checked":"value",f=Object.getOwnPropertyDescriptor(i.constructor.prototype,u),h=""+i[u];if(!i.hasOwnProperty(u)&&typeof f<"u"&&typeof f.get=="function"&&typeof f.set=="function"){var v=f.get,T=f.set;return Object.defineProperty(i,u,{configurable:!0,get:function(){return v.call(this)},set:function(F){h=""+F,T.call(this,F)}}),Object.defineProperty(i,u,{enumerable:f.enumerable}),{getValue:function(){return h},setValue:function(F){h=""+F},stopTracking:function(){i._valueTracker=null,delete i[u]}}}}function cc(i){i._valueTracker||(i._valueTracker=KH(i))}function EA(i){if(!i)return!1;var u=i._valueTracker;if(!u)return!0;var f=u.getValue(),h="";return i&&(h=SA(i)?i.checked?"true":"false":i.value),i=h,i!==f?(u.setValue(i),!0):!1}function dc(i){if(i=i||(typeof document<"u"?document:void 0),typeof i>"u")return null;try{return i.activeElement||i.body}catch{return i.body}}var XH=/[\n"\\]/g;function sr(i){return i.replace(XH,function(u){return"\\"+u.charCodeAt(0).toString(16)+" "})}function jp(i,u,f,h,v,T,F,q){i.name="",F!=null&&typeof F!="function"&&typeof F!="symbol"&&typeof F!="boolean"?i.type=F:i.removeAttribute("type"),u!=null?F==="number"?(u===0&&i.value===""||i.value!=u)&&(i.value=""+ir(u)):i.value!==""+ir(u)&&(i.value=""+ir(u)):F!=="submit"&&F!=="reset"||i.removeAttribute("value"),u!=null?Gp(i,F,ir(u)):f!=null?Gp(i,F,ir(f)):h!=null&&i.removeAttribute("value"),v==null&&T!=null&&(i.defaultChecked=!!T),v!=null&&(i.checked=v&&typeof v!="function"&&typeof v!="symbol"),q!=null&&typeof q!="function"&&typeof q!="symbol"&&typeof q!="boolean"?i.name=""+ir(q):i.removeAttribute("name")}function wA(i,u,f,h,v,T,F,q){if(T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"&&(i.type=T),u!=null||f!=null){if(!(T!=="submit"&&T!=="reset"||u!=null))return;f=f!=null?""+ir(f):"",u=u!=null?""+ir(u):f,q||u===i.value||(i.value=u),i.defaultValue=u}h=h??v,h=typeof h!="function"&&typeof h!="symbol"&&!!h,i.checked=q?i.checked:!!h,i.defaultChecked=!!h,F!=null&&typeof F!="function"&&typeof F!="symbol"&&typeof F!="boolean"&&(i.name=F)}function Gp(i,u,f){u==="number"&&dc(i.ownerDocument)===i||i.defaultValue===""+f||(i.defaultValue=""+f)}function Oi(i,u,f,h){if(i=i.options,u){u={};for(var v=0;v=cl),MA=" ",PA=!1;function FA(i,u){switch(i){case"keyup":return k$.indexOf(u.keyCode)!==-1;case"keydown":return u.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zA(i){return i=i.detail,typeof i=="object"&&"data"in i?i.data:null}var Mi=!1;function A$(i,u){switch(i){case"compositionend":return zA(u);case"keypress":return u.which!==32?null:(PA=!0,MA);case"textInput":return i=u.data,i===MA&&PA?null:i;default:return null}}function R$(i,u){if(Mi)return i==="compositionend"||!Jp&&FA(i,u)?(i=_A(),pc=Yp=Xa=null,Mi=!1,i):null;switch(i){case"paste":return null;case"keypress":if(!(u.ctrlKey||u.altKey||u.metaKey)||u.ctrlKey&&u.altKey){if(u.char&&1=u)return{node:f,offset:u-i};i=h}e:{for(;f;){if(f.nextSibling){f=f.nextSibling;break e}f=f.parentNode}f=void 0}f=VA(f)}}function YA(i,u){return i&&u?i===u?!0:i&&i.nodeType===3?!1:u&&u.nodeType===3?YA(i,u.parentNode):"contains"in i?i.contains(u):i.compareDocumentPosition?!!(i.compareDocumentPosition(u)&16):!1:!1}function KA(i){i=i!=null&&i.ownerDocument!=null&&i.ownerDocument.defaultView!=null?i.ownerDocument.defaultView:window;for(var u=dc(i.document);u instanceof i.HTMLIFrameElement;){try{var f=typeof u.contentWindow.location.href=="string"}catch{f=!1}if(f)i=u.contentWindow;else break;u=dc(i.document)}return u}function ng(i){var u=i&&i.nodeName&&i.nodeName.toLowerCase();return u&&(u==="input"&&(i.type==="text"||i.type==="search"||i.type==="tel"||i.type==="url"||i.type==="password")||u==="textarea"||i.contentEditable==="true")}function M$(i,u){var f=KA(u);u=i.focusedElem;var h=i.selectionRange;if(f!==u&&u&&u.ownerDocument&&YA(u.ownerDocument.documentElement,u)){if(h!==null&&ng(u)){if(i=h.start,f=h.end,f===void 0&&(f=i),"selectionStart"in u)u.selectionStart=i,u.selectionEnd=Math.min(f,u.value.length);else if(f=(i=u.ownerDocument||document)&&i.defaultView||window,f.getSelection){f=f.getSelection();var v=u.textContent.length,T=Math.min(h.start,v);h=h.end===void 0?T:Math.min(h.end,v),!f.extend&&T>h&&(v=h,h=T,T=v),v=WA(u,T);var F=WA(u,h);v&&F&&(f.rangeCount!==1||f.anchorNode!==v.node||f.anchorOffset!==v.offset||f.focusNode!==F.node||f.focusOffset!==F.offset)&&(i=i.createRange(),i.setStart(v.node,v.offset),f.removeAllRanges(),T>h?(f.addRange(i),f.extend(F.node,F.offset)):(i.setEnd(F.node,F.offset),f.addRange(i)))}}for(i=[],f=u;f=f.parentNode;)f.nodeType===1&&i.push({element:f,left:f.scrollLeft,top:f.scrollTop});for(typeof u.focus=="function"&&u.focus(),u=0;u=document.documentMode,Pi=null,rg=null,gl=null,ag=!1;function XA(i,u,f){var h=f.window===f?f.document:f.nodeType===9?f:f.ownerDocument;ag||Pi==null||Pi!==dc(h)||(h=Pi,"selectionStart"in h&&ng(h)?h={start:h.selectionStart,end:h.selectionEnd}:(h=(h.ownerDocument&&h.ownerDocument.defaultView||window).getSelection(),h={anchorNode:h.anchorNode,anchorOffset:h.anchorOffset,focusNode:h.focusNode,focusOffset:h.focusOffset}),gl&&pl(gl,h)||(gl=h,h=ed(rg,"onSelect"),0>=F,v-=F,ma=1<<32-St(u)+v|f<Je?(ln=Ye,Ye=null):ln=Ye.sibling;var wt=de(se,Ye,ue[Je],xe);if(wt===null){Ye===null&&(Ye=ln);break}i&&Ye&&wt.alternate===null&&u(se,Ye),re=T(wt,re,Je),lt===null?je=wt:lt.sibling=wt,lt=wt,Ye=ln}if(Je===ue.length)return f(se,Ye),Et&&Ho(se,Je),je;if(Ye===null){for(;JeJe?(ln=Ye,Ye=null):ln=Ye.sibling;var bo=de(se,Ye,wt.value,xe);if(bo===null){Ye===null&&(Ye=ln);break}i&&Ye&&bo.alternate===null&&u(se,Ye),re=T(bo,re,Je),lt===null?je=bo:lt.sibling=bo,lt=bo,Ye=ln}if(wt.done)return f(se,Ye),Et&&Ho(se,Je),je;if(Ye===null){for(;!wt.done;Je++,wt=ue.next())wt=Ae(se,wt.value,xe),wt!==null&&(re=T(wt,re,Je),lt===null?je=wt:lt.sibling=wt,lt=wt);return Et&&Ho(se,Je),je}for(Ye=h(Ye);!wt.done;Je++,wt=ue.next())wt=ge(Ye,se,Je,wt.value,xe),wt!==null&&(i&&wt.alternate!==null&&Ye.delete(wt.key===null?Je:wt.key),re=T(wt,re,Je),lt===null?je=wt:lt.sibling=wt,lt=wt);return i&&Ye.forEach(function(J6){return u(se,J6)}),Et&&Ho(se,Je),je}function Vt(se,re,ue,xe){if(typeof ue=="object"&&ue!==null&&ue.type===c&&ue.key===null&&(ue=ue.props.children),typeof ue=="object"&&ue!==null){switch(ue.$$typeof){case s:e:{for(var je=ue.key;re!==null;){if(re.key===je){if(je=ue.type,je===c){if(re.tag===7){f(se,re.sibling),xe=v(re,ue.props.children),xe.return=se,se=xe;break e}}else if(re.elementType===je||typeof je=="object"&&je!==null&&je.$$typeof===x&&p1(je)===re.type){f(se,re.sibling),xe=v(re,ue.props),El(xe,ue),xe.return=se,se=xe;break e}f(se,re);break}else u(se,re);re=re.sibling}ue.type===c?(xe=ei(ue.props.children,se.mode,xe,ue.key),xe.return=se,se=xe):(xe=$c(ue.type,ue.key,ue.props,null,se.mode,xe),El(xe,ue),xe.return=se,se=xe)}return F(se);case l:e:{for(je=ue.key;re!==null;){if(re.key===je)if(re.tag===4&&re.stateNode.containerInfo===ue.containerInfo&&re.stateNode.implementation===ue.implementation){f(se,re.sibling),xe=v(re,ue.children||[]),xe.return=se,se=xe;break e}else{f(se,re);break}else u(se,re);re=re.sibling}xe=ih(ue,se.mode,xe),xe.return=se,se=xe}return F(se);case x:return je=ue._init,ue=je(ue._payload),Vt(se,re,ue,xe)}if(M(ue))return qe(se,re,ue,xe);if(C(ue)){if(je=C(ue),typeof je!="function")throw Error(r(150));return ue=je.call(ue),nt(se,re,ue,xe)}if(typeof ue.then=="function")return Vt(se,re,Tc(ue),xe);if(ue.$$typeof===b)return Vt(se,re,jc(se,ue),xe);Ac(se,ue)}return typeof ue=="string"&&ue!==""||typeof ue=="number"||typeof ue=="bigint"?(ue=""+ue,re!==null&&re.tag===6?(f(se,re.sibling),xe=v(re,ue),xe.return=se,se=xe):(f(se,re),xe=oh(ue,se.mode,xe),xe.return=se,se=xe),F(se)):f(se,re)}return function(se,re,ue,xe){try{Sl=0;var je=Vt(se,re,ue,xe);return Gi=null,je}catch(Ye){if(Ye===yl)throw Ye;var lt=hr(29,Ye,null,se.mode);return lt.lanes=xe,lt.return=se,lt}finally{}}}var qo=g1(!0),h1=g1(!1),Hi=ie(null),Rc=ie(0);function m1(i,u){i=Ca,oe(Rc,i),oe(Hi,u),Ca=i|u.baseLanes}function fg(){oe(Rc,Ca),oe(Hi,Hi.current)}function pg(){Ca=Rc.current,ve(Hi),ve(Rc)}var fr=ie(null),Vr=null;function Qa(i){var u=i.alternate;oe(en,en.current&1),oe(fr,i),Vr===null&&(u===null||Hi.current!==null||u.memoizedState!==null)&&(Vr=i)}function b1(i){if(i.tag===22){if(oe(en,en.current),oe(fr,i),Vr===null){var u=i.alternate;u!==null&&u.memoizedState!==null&&(Vr=i)}}else Ja()}function Ja(){oe(en,en.current),oe(fr,fr.current)}function ya(i){ve(fr),Vr===i&&(Vr=null),ve(en)}var en=ie(0);function Cc(i){for(var u=i;u!==null;){if(u.tag===13){var f=u.memoizedState;if(f!==null&&(f=f.dehydrated,f===null||f.data==="$?"||f.data==="$!"))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if((u.flags&128)!==0)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===i)break;for(;u.sibling===null;){if(u.return===null||u.return===i)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var U$=typeof AbortController<"u"?AbortController:function(){var i=[],u=this.signal={aborted:!1,addEventListener:function(f,h){i.push(h)}};this.abort=function(){u.aborted=!0,i.forEach(function(f){return f()})}},j$=e.unstable_scheduleCallback,G$=e.unstable_NormalPriority,tn={$$typeof:b,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function gg(){return{controller:new U$,data:new Map,refCount:0}}function wl(i){i.refCount--,i.refCount===0&&j$(G$,function(){i.controller.abort()})}var xl=null,hg=0,$i=0,qi=null;function H$(i,u){if(xl===null){var f=xl=[];hg=0,$i=Eh(),qi={status:"pending",value:void 0,then:function(h){f.push(h)}}}return hg++,u.then(y1,y1),u}function y1(){if(--hg===0&&xl!==null){qi!==null&&(qi.status="fulfilled");var i=xl;xl=null,$i=0,qi=null;for(var u=0;uT?T:8;var F=I.T,q={};I.T=q,Dg(i,!1,u,f);try{var Z=v(),ae=I.S;if(ae!==null&&ae(q,Z),Z!==null&&typeof Z=="object"&&typeof Z.then=="function"){var be=$$(Z,h);Al(i,u,be,Qn(i))}else Al(i,u,h,Qn(i))}catch(Ae){Al(i,u,{then:function(){},status:"rejected",reason:Ae},Qn())}finally{X.p=T,I.T=F}}function K$(){}function Ng(i,u,f,h){if(i.tag!==5)throw Error(r(476));var v=K1(i).queue;Y1(i,v,u,K,f===null?K$:function(){return X1(i),f(h)})}function K1(i){var u=i.memoizedState;if(u!==null)return u;u={memoizedState:K,baseState:K,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:va,lastRenderedState:K},next:null};var f={};return u.next={memoizedState:f,baseState:f,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:va,lastRenderedState:f},next:null},i.memoizedState=u,i=i.alternate,i!==null&&(i.memoizedState=u),u}function X1(i){var u=K1(i).next.queue;Al(i,u,{},Qn())}function Og(){return En(Vl)}function Z1(){return Xt().memoizedState}function Q1(){return Xt().memoizedState}function X$(i){for(var u=i.return;u!==null;){switch(u.tag){case 24:case 3:var f=Qn();i=ao(f);var h=oo(u,i,f);h!==null&&(On(h,u,f),_l(h,u,f)),u={cache:gg()},i.payload=u;return}u=u.return}}function Z$(i,u,f){var h=Qn();f={lane:h,revertLane:0,action:f,hasEagerState:!1,eagerState:null,next:null},Fc(i)?eR(u,f):(f=sg(i,u,f,h),f!==null&&(On(f,i,h),tR(f,u,h)))}function J1(i,u,f){var h=Qn();Al(i,u,f,h)}function Al(i,u,f,h){var v={lane:h,revertLane:0,action:f,hasEagerState:!1,eagerState:null,next:null};if(Fc(i))eR(u,v);else{var T=i.alternate;if(i.lanes===0&&(T===null||T.lanes===0)&&(T=u.lastRenderedReducer,T!==null))try{var F=u.lastRenderedState,q=T(F,f);if(v.hasEagerState=!0,v.eagerState=q,Yn(q,F))return Sc(i,u,v,0),It===null&&vc(),!1}catch{}finally{}if(f=sg(i,u,v,h),f!==null)return On(f,i,h),tR(f,u,h),!0}return!1}function Dg(i,u,f,h){if(h={lane:2,revertLane:Eh(),action:h,hasEagerState:!1,eagerState:null,next:null},Fc(i)){if(u)throw Error(r(479))}else u=sg(i,f,h,2),u!==null&&On(u,i,2)}function Fc(i){var u=i.alternate;return i===st||u!==null&&u===st}function eR(i,u){Vi=Nc=!0;var f=i.pending;f===null?u.next=u:(u.next=f.next,f.next=u),i.pending=u}function tR(i,u,f){if((f&4194176)!==0){var h=u.lanes;h&=i.pendingLanes,f|=h,u.lanes=f,Rr(i,f)}}var Wr={readContext:En,use:Ic,useCallback:Wt,useContext:Wt,useEffect:Wt,useImperativeHandle:Wt,useLayoutEffect:Wt,useInsertionEffect:Wt,useMemo:Wt,useReducer:Wt,useRef:Wt,useState:Wt,useDebugValue:Wt,useDeferredValue:Wt,useTransition:Wt,useSyncExternalStore:Wt,useId:Wt};Wr.useCacheRefresh=Wt,Wr.useMemoCache=Wt,Wr.useHostTransitionStatus=Wt,Wr.useFormState=Wt,Wr.useActionState=Wt,Wr.useOptimistic=Wt;var Yo={readContext:En,use:Ic,useCallback:function(i,u){return zn().memoizedState=[i,u===void 0?null:u],i},useContext:En,useEffect:U1,useImperativeHandle:function(i,u,f){f=f!=null?f.concat([i]):null,Mc(4194308,4,H1.bind(null,u,i),f)},useLayoutEffect:function(i,u){return Mc(4194308,4,i,u)},useInsertionEffect:function(i,u){Mc(4,2,i,u)},useMemo:function(i,u){var f=zn();u=u===void 0?null:u;var h=i();if(Wo){ot(!0);try{i()}finally{ot(!1)}}return f.memoizedState=[h,u],h},useReducer:function(i,u,f){var h=zn();if(f!==void 0){var v=f(u);if(Wo){ot(!0);try{f(u)}finally{ot(!1)}}}else v=u;return h.memoizedState=h.baseState=v,i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:i,lastRenderedState:v},h.queue=i,i=i.dispatch=Z$.bind(null,st,i),[h.memoizedState,i]},useRef:function(i){var u=zn();return i={current:i},u.memoizedState=i},useState:function(i){i=Tg(i);var u=i.queue,f=J1.bind(null,st,u);return u.dispatch=f,[i.memoizedState,f]},useDebugValue:Cg,useDeferredValue:function(i,u){var f=zn();return _g(f,i,u)},useTransition:function(){var i=Tg(!1);return i=Y1.bind(null,st,i.queue,!0,!1),zn().memoizedState=i,[!1,i]},useSyncExternalStore:function(i,u,f){var h=st,v=zn();if(Et){if(f===void 0)throw Error(r(407));f=f()}else{if(f=u(),It===null)throw Error(r(349));(bt&60)!==0||k1(h,u,f)}v.memoizedState=f;var T={value:f,getSnapshot:u};return v.queue=T,U1(A1.bind(null,h,T,i),[i]),h.flags|=2048,Yi(9,T1.bind(null,h,T,f,u),{destroy:void 0},null),f},useId:function(){var i=zn(),u=It.identifierPrefix;if(Et){var f=ba,h=ma;f=(h&~(1<<32-St(h)-1)).toString(32)+f,u=":"+u+"R"+f,f=Oc++,0 title"))),mn(T,h,f),T[Sn]=i,an(T),h=T;break e;case"link":var F=CC("link","href",v).get(h+(f.href||""));if(F){for(var q=0;q<\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof h.is=="string"?v.createElement("select",{is:h.is}):v.createElement("select"),h.multiple?i.multiple=!0:h.size&&(i.size=h.size);break;default:i=typeof h.is=="string"?v.createElement(f,{is:h.is}):v.createElement(f)}}i[Sn]=u,i[Pn]=h;e:for(v=u.child;v!==null;){if(v.tag===5||v.tag===6)i.appendChild(v.stateNode);else if(v.tag!==4&&v.tag!==27&&v.child!==null){v.child.return=v,v=v.child;continue}if(v===u)break e;for(;v.sibling===null;){if(v.return===null||v.return===u)break e;v=v.return}v.sibling.return=v.return,v=v.sibling}u.stateNode=i;e:switch(mn(i,f,h),f){case"button":case"input":case"select":case"textarea":i=!!h.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&Aa(u)}}return Bt(u),u.flags&=-16777217,null;case 6:if(i&&u.stateNode!=null)i.memoizedProps!==h&&Aa(u);else{if(typeof h!="string"&&u.stateNode===null)throw Error(r(166));if(i=Ie.current,hl(u)){if(i=u.stateNode,f=u.memoizedProps,h=null,v=Nn,v!==null)switch(v.tag){case 27:case 5:h=v.memoizedProps}i[Sn]=u,i=!!(i.nodeValue===f||h!==null&&h.suppressHydrationWarning===!0||mC(i.nodeValue,f)),i||$o(u)}else i=nd(i).createTextNode(h),i[Sn]=u,u.stateNode=i}return Bt(u),null;case 13:if(h=u.memoizedState,i===null||i.memoizedState!==null&&i.memoizedState.dehydrated!==null){if(v=hl(u),h!==null&&h.dehydrated!==null){if(i===null){if(!v)throw Error(r(318));if(v=u.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(r(317));v[Sn]=u}else ml(),(u.flags&128)===0&&(u.memoizedState=null),u.flags|=4;Bt(u),v=!1}else _r!==null&&(gh(_r),_r=null),v=!0;if(!v)return u.flags&256?(ya(u),u):(ya(u),null)}if(ya(u),(u.flags&128)!==0)return u.lanes=f,u;if(f=h!==null,i=i!==null&&i.memoizedState!==null,f){h=u.child,v=null,h.alternate!==null&&h.alternate.memoizedState!==null&&h.alternate.memoizedState.cachePool!==null&&(v=h.alternate.memoizedState.cachePool.pool);var T=null;h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(T=h.memoizedState.cachePool.pool),T!==v&&(h.flags|=2048)}return f!==i&&f&&(u.child.flags|=8192),qc(u,u.updateQueue),Bt(u),null;case 4:return ee(),i===null&&Th(u.stateNode.containerInfo),Bt(u),null;case 10:return wa(u.type),Bt(u),null;case 19:if(ve(en),v=u.memoizedState,v===null)return Bt(u),null;if(h=(u.flags&128)!==0,T=v.rendering,T===null)if(h)Pl(v,!1);else{if(qt!==0||i!==null&&(i.flags&128)!==0)for(i=u.child;i!==null;){if(T=Cc(i),T!==null){for(u.flags|=128,Pl(v,!1),i=T.updateQueue,u.updateQueue=i,qc(u,i),u.subtreeFlags=0,i=f,f=u.child;f!==null;)$R(f,i),f=f.sibling;return oe(en,en.current&1|2),u.child}i=i.sibling}v.tail!==null&&he()>Vc&&(u.flags|=128,h=!0,Pl(v,!1),u.lanes=4194304)}else{if(!h)if(i=Cc(T),i!==null){if(u.flags|=128,h=!0,i=i.updateQueue,u.updateQueue=i,qc(u,i),Pl(v,!0),v.tail===null&&v.tailMode==="hidden"&&!T.alternate&&!Et)return Bt(u),null}else 2*he()-v.renderingStartTime>Vc&&f!==536870912&&(u.flags|=128,h=!0,Pl(v,!1),u.lanes=4194304);v.isBackwards?(T.sibling=u.child,u.child=T):(i=v.last,i!==null?i.sibling=T:u.child=T,v.last=T)}return v.tail!==null?(u=v.tail,v.rendering=u,v.tail=u.sibling,v.renderingStartTime=he(),u.sibling=null,i=en.current,oe(en,h?i&1|2:i&1),u):(Bt(u),null);case 22:case 23:return ya(u),pg(),h=u.memoizedState!==null,i!==null?i.memoizedState!==null!==h&&(u.flags|=8192):h&&(u.flags|=8192),h?(f&536870912)!==0&&(u.flags&128)===0&&(Bt(u),u.subtreeFlags&6&&(u.flags|=8192)):Bt(u),f=u.updateQueue,f!==null&&qc(u,f.retryQueue),f=null,i!==null&&i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(f=i.memoizedState.cachePool.pool),h=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(h=u.memoizedState.cachePool.pool),h!==f&&(u.flags|=2048),i!==null&&ve(Vo),null;case 24:return f=null,i!==null&&(f=i.memoizedState.cache),u.memoizedState.cache!==f&&(u.flags|=2048),wa(tn),Bt(u),null;case 25:return null}throw Error(r(156,u.tag))}function a6(i,u){switch(ug(u),u.tag){case 1:return i=u.flags,i&65536?(u.flags=i&-65537|128,u):null;case 3:return wa(tn),ee(),i=u.flags,(i&65536)!==0&&(i&128)===0?(u.flags=i&-65537|128,u):null;case 26:case 27:case 5:return Te(u),null;case 13:if(ya(u),i=u.memoizedState,i!==null&&i.dehydrated!==null){if(u.alternate===null)throw Error(r(340));ml()}return i=u.flags,i&65536?(u.flags=i&-65537|128,u):null;case 19:return ve(en),null;case 4:return ee(),null;case 10:return wa(u.type),null;case 22:case 23:return ya(u),pg(),i!==null&&ve(Vo),i=u.flags,i&65536?(u.flags=i&-65537|128,u):null;case 24:return wa(tn),null;case 25:return null;default:return null}}function WR(i,u){switch(ug(u),u.tag){case 3:wa(tn),ee();break;case 26:case 27:case 5:Te(u);break;case 4:ee();break;case 13:ya(u);break;case 19:ve(en);break;case 10:wa(u.type);break;case 22:case 23:ya(u),pg(),i!==null&&ve(Vo);break;case 24:wa(tn)}}var o6={getCacheForType:function(i){var u=En(tn),f=u.data.get(i);return f===void 0&&(f=i(),u.data.set(i,f)),f}},i6=typeof WeakMap=="function"?WeakMap:Map,Ut=0,It=null,ct=null,bt=0,Lt=0,Zn=null,Ra=!1,Qi=!1,sh=!1,Ca=0,qt=0,co=0,ti=0,lh=0,mr=0,Ji=0,Fl=null,Yr=null,uh=!1,ch=0,Vc=1/0,Wc=null,fo=null,Yc=!1,ni=null,zl=0,dh=0,fh=null,Bl=0,ph=null;function Qn(){if((Ut&2)!==0&&bt!==0)return bt&-bt;if(I.T!==null){var i=$i;return i!==0?i:Eh()}return gA()}function YR(){mr===0&&(mr=(bt&536870912)===0||Et?_t():536870912);var i=fr.current;return i!==null&&(i.flags|=32),mr}function On(i,u,f){(i===It&&Lt===2||i.cancelPendingCommit!==null)&&(es(i,0),_a(i,bt,mr,!1)),Ln(i,f),((Ut&2)===0||i!==It)&&(i===It&&((Ut&2)===0&&(ti|=f),qt===4&&_a(i,bt,mr,!1)),Kr(i))}function KR(i,u,f){if((Ut&6)!==0)throw Error(r(327));var h=!f&&(u&60)===0&&(u&i.expiredLanes)===0||Xe(i,u),v=h?u6(i,u):bh(i,u,!0),T=h;do{if(v===0){Qi&&!h&&_a(i,u,0,!1);break}else if(v===6)_a(i,u,0,!Ra);else{if(f=i.current.alternate,T&&!s6(f)){v=bh(i,u,!1),T=!1;continue}if(v===2){if(T=u,i.errorRecoveryDisabledLanes&T)var F=0;else F=i.pendingLanes&-536870913,F=F!==0?F:F&536870912?536870912:0;if(F!==0){u=F;e:{var q=i;v=Fl;var Z=q.current.memoizedState.isDehydrated;if(Z&&(es(q,F).flags|=256),F=bh(q,F,!1),F!==2){if(sh&&!Z){q.errorRecoveryDisabledLanes|=T,ti|=T,v=4;break e}T=Yr,Yr=v,T!==null&&gh(T)}v=F}if(T=!1,v!==2)continue}}if(v===1){es(i,0),_a(i,u,0,!0);break}e:{switch(h=i,v){case 0:case 1:throw Error(r(345));case 4:if((u&4194176)===u){_a(h,u,mr,!Ra);break e}break;case 2:Yr=null;break;case 3:case 5:break;default:throw Error(r(329))}if(h.finishedWork=f,h.finishedLanes=u,(u&62914560)===u&&(T=ch+300-he(),10f?32:f,I.T=null,ni===null)var T=!1;else{f=fh,fh=null;var F=ni,q=zl;if(ni=null,zl=0,(Ut&6)!==0)throw Error(r(331));var Z=Ut;if(Ut|=4,GR(F.current),BR(F,F.current,q,f),Ut=Z,Ul(0,!1),et&&typeof et.onPostCommitFiberRoot=="function")try{et.onPostCommitFiberRoot(ht,F)}catch{}T=!0}return T}finally{X.p=v,I.T=h,aC(i,u)}}return!1}function oC(i,u,f){u=ur(f,u),u=Mg(i.stateNode,u,2),i=oo(i,u,2),i!==null&&(Ln(i,2),Kr(i))}function Nt(i,u,f){if(i.tag===3)oC(i,i,f);else for(;u!==null;){if(u.tag===3){oC(u,i,f);break}else if(u.tag===1){var h=u.stateNode;if(typeof u.type.getDerivedStateFromError=="function"||typeof h.componentDidCatch=="function"&&(fo===null||!fo.has(h))){i=ur(f,i),f=lR(2),h=oo(u,f,2),h!==null&&(uR(f,h,u,i),Ln(h,2),Kr(h));break}}u=u.return}}function yh(i,u,f){var h=i.pingCache;if(h===null){h=i.pingCache=new i6;var v=new Set;h.set(u,v)}else v=h.get(u),v===void 0&&(v=new Set,h.set(u,v));v.has(f)||(sh=!0,v.add(f),i=f6.bind(null,i,u,f),u.then(i,i))}function f6(i,u,f){var h=i.pingCache;h!==null&&h.delete(u),i.pingedLanes|=i.suspendedLanes&f,i.warmLanes&=~f,It===i&&(bt&f)===f&&(qt===4||qt===3&&(bt&62914560)===bt&&300>he()-ch?(Ut&2)===0&&es(i,0):lh|=f,Ji===bt&&(Ji=0)),Kr(i)}function iC(i,u){u===0&&(u=In()),i=Za(i,u),i!==null&&(Ln(i,u),Kr(i))}function p6(i){var u=i.memoizedState,f=0;u!==null&&(f=u.retryLane),iC(i,f)}function g6(i,u){var f=0;switch(i.tag){case 13:var h=i.stateNode,v=i.memoizedState;v!==null&&(f=v.retryLane);break;case 19:h=i.stateNode;break;case 22:h=i.stateNode._retryCache;break;default:throw Error(r(314))}h!==null&&h.delete(u),iC(i,f)}function h6(i,u){return we(i,u)}var Zc=null,rs=null,vh=!1,Qc=!1,Sh=!1,ri=0;function Kr(i){i!==rs&&i.next===null&&(rs===null?Zc=rs=i:rs=rs.next=i),Qc=!0,vh||(vh=!0,b6(m6))}function Ul(i,u){if(!Sh&&Qc){Sh=!0;do for(var f=!1,h=Zc;h!==null;){if(i!==0){var v=h.pendingLanes;if(v===0)var T=0;else{var F=h.suspendedLanes,q=h.pingedLanes;T=(1<<31-St(42|i)+1)-1,T&=v&~(F&~q),T=T&201326677?T&201326677|1:T?T|2:0}T!==0&&(f=!0,uC(h,T))}else T=bt,T=fa(h,h===It?T:0),(T&3)===0||Xe(h,T)||(f=!0,uC(h,T));h=h.next}while(f);Sh=!1}}function m6(){Qc=vh=!1;var i=0;ri!==0&&(T6()&&(i=ri),ri=0);for(var u=he(),f=null,h=Zc;h!==null;){var v=h.next,T=sC(h,u);T===0?(h.next=null,f===null?Zc=v:f.next=v,v===null&&(rs=f)):(f=h,(i!==0||(T&3)!==0)&&(Qc=!0)),h=v}Ul(i)}function sC(i,u){for(var f=i.suspendedLanes,h=i.pingedLanes,v=i.expirationTimes,T=i.pendingLanes&-62914561;0"u"?null:document;function kC(i,u,f){var h=os;if(h&&typeof u=="string"&&u){var v=sr(u);v='link[rel="'+i+'"][href="'+v+'"]',typeof f=="string"&&(v+='[crossorigin="'+f+'"]'),xC.has(v)||(xC.add(v),i={rel:i,crossOrigin:f,href:u},h.querySelector(v)===null&&(u=h.createElement("link"),mn(u,"link",i),an(u),h.head.appendChild(u)))}}function I6(i){Na.D(i),kC("dns-prefetch",i,null)}function L6(i,u){Na.C(i,u),kC("preconnect",i,u)}function M6(i,u,f){Na.L(i,u,f);var h=os;if(h&&i&&u){var v='link[rel="preload"][as="'+sr(u)+'"]';u==="image"&&f&&f.imageSrcSet?(v+='[imagesrcset="'+sr(f.imageSrcSet)+'"]',typeof f.imageSizes=="string"&&(v+='[imagesizes="'+sr(f.imageSizes)+'"]')):v+='[href="'+sr(i)+'"]';var T=v;switch(u){case"style":T=is(i);break;case"script":T=ss(i)}br.has(T)||(i=L({rel:"preload",href:u==="image"&&f&&f.imageSrcSet?void 0:i,as:u},f),br.set(T,i),h.querySelector(v)!==null||u==="style"&&h.querySelector(Hl(T))||u==="script"&&h.querySelector($l(T))||(u=h.createElement("link"),mn(u,"link",i),an(u),h.head.appendChild(u)))}}function P6(i,u){Na.m(i,u);var f=os;if(f&&i){var h=u&&typeof u.as=="string"?u.as:"script",v='link[rel="modulepreload"][as="'+sr(h)+'"][href="'+sr(i)+'"]',T=v;switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":T=ss(i)}if(!br.has(T)&&(i=L({rel:"modulepreload",href:i},u),br.set(T,i),f.querySelector(v)===null)){switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(f.querySelector($l(T)))return}h=f.createElement("link"),mn(h,"link",i),an(h),f.head.appendChild(h)}}}function F6(i,u,f){Na.S(i,u,f);var h=os;if(h&&i){var v=_i(h).hoistableStyles,T=is(i);u=u||"default";var F=v.get(T);if(!F){var q={loading:0,preload:null};if(F=h.querySelector(Hl(T)))q.loading=5;else{i=L({rel:"stylesheet",href:i,"data-precedence":u},f),(f=br.get(T))&&Lh(i,f);var Z=F=h.createElement("link");an(Z),mn(Z,"link",i),Z._p=new Promise(function(ae,be){Z.onload=ae,Z.onerror=be}),Z.addEventListener("load",function(){q.loading|=1}),Z.addEventListener("error",function(){q.loading|=2}),q.loading|=4,ad(F,u,h)}F={type:"stylesheet",instance:F,count:1,state:q},v.set(T,F)}}}function z6(i,u){Na.X(i,u);var f=os;if(f&&i){var h=_i(f).hoistableScripts,v=ss(i),T=h.get(v);T||(T=f.querySelector($l(v)),T||(i=L({src:i,async:!0},u),(u=br.get(v))&&Mh(i,u),T=f.createElement("script"),an(T),mn(T,"link",i),f.head.appendChild(T)),T={type:"script",instance:T,count:1,state:null},h.set(v,T))}}function B6(i,u){Na.M(i,u);var f=os;if(f&&i){var h=_i(f).hoistableScripts,v=ss(i),T=h.get(v);T||(T=f.querySelector($l(v)),T||(i=L({src:i,async:!0,type:"module"},u),(u=br.get(v))&&Mh(i,u),T=f.createElement("script"),an(T),mn(T,"link",i),f.head.appendChild(T)),T={type:"script",instance:T,count:1,state:null},h.set(v,T))}}function TC(i,u,f,h){var v=(v=Ie.current)?rd(v):null;if(!v)throw Error(r(446));switch(i){case"meta":case"title":return null;case"style":return typeof f.precedence=="string"&&typeof f.href=="string"?(u=is(f.href),f=_i(v).hoistableStyles,h=f.get(u),h||(h={type:"style",instance:null,count:0,state:null},f.set(u,h)),h):{type:"void",instance:null,count:0,state:null};case"link":if(f.rel==="stylesheet"&&typeof f.href=="string"&&typeof f.precedence=="string"){i=is(f.href);var T=_i(v).hoistableStyles,F=T.get(i);if(F||(v=v.ownerDocument||v,F={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},T.set(i,F),(T=v.querySelector(Hl(i)))&&!T._p&&(F.instance=T,F.state.loading=5),br.has(i)||(f={rel:"preload",as:"style",href:f.href,crossOrigin:f.crossOrigin,integrity:f.integrity,media:f.media,hrefLang:f.hrefLang,referrerPolicy:f.referrerPolicy},br.set(i,f),T||U6(v,i,f,F.state))),u&&h===null)throw Error(r(528,""));return F}if(u&&h!==null)throw Error(r(529,""));return null;case"script":return u=f.async,f=f.src,typeof f=="string"&&u&&typeof u!="function"&&typeof u!="symbol"?(u=ss(f),f=_i(v).hoistableScripts,h=f.get(u),h||(h={type:"script",instance:null,count:0,state:null},f.set(u,h)),h):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,i))}}function is(i){return'href="'+sr(i)+'"'}function Hl(i){return'link[rel="stylesheet"]['+i+"]"}function AC(i){return L({},i,{"data-precedence":i.precedence,precedence:null})}function U6(i,u,f,h){i.querySelector('link[rel="preload"][as="style"]['+u+"]")?h.loading=1:(u=i.createElement("link"),h.preload=u,u.addEventListener("load",function(){return h.loading|=1}),u.addEventListener("error",function(){return h.loading|=2}),mn(u,"link",f),an(u),i.head.appendChild(u))}function ss(i){return'[src="'+sr(i)+'"]'}function $l(i){return"script[async]"+i}function RC(i,u,f){if(u.count++,u.instance===null)switch(u.type){case"style":var h=i.querySelector('style[data-href~="'+sr(f.href)+'"]');if(h)return u.instance=h,an(h),h;var v=L({},f,{"data-href":f.href,"data-precedence":f.precedence,href:null,precedence:null});return h=(i.ownerDocument||i).createElement("style"),an(h),mn(h,"style",v),ad(h,f.precedence,i),u.instance=h;case"stylesheet":v=is(f.href);var T=i.querySelector(Hl(v));if(T)return u.state.loading|=4,u.instance=T,an(T),T;h=AC(f),(v=br.get(v))&&Lh(h,v),T=(i.ownerDocument||i).createElement("link"),an(T);var F=T;return F._p=new Promise(function(q,Z){F.onload=q,F.onerror=Z}),mn(T,"link",h),u.state.loading|=4,ad(T,f.precedence,i),u.instance=T;case"script":return T=ss(f.src),(v=i.querySelector($l(T)))?(u.instance=v,an(v),v):(h=f,(v=br.get(T))&&(h=L({},f),Mh(h,v)),i=i.ownerDocument||i,v=i.createElement("script"),an(v),mn(v,"link",h),i.head.appendChild(v),u.instance=v);case"void":return null;default:throw Error(r(443,u.type))}else u.type==="stylesheet"&&(u.state.loading&4)===0&&(h=u.instance,u.state.loading|=4,ad(h,f.precedence,i));return u.instance}function ad(i,u,f){for(var h=f.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),v=h.length?h[h.length-1]:null,T=v,F=0;F title"):null)}function j6(i,u,f){if(f===1||u.itemProp!=null)return!1;switch(i){case"meta":case"title":return!0;case"style":if(typeof u.precedence!="string"||typeof u.href!="string"||u.href==="")break;return!0;case"link":if(typeof u.rel!="string"||typeof u.href!="string"||u.href===""||u.onLoad||u.onError)break;switch(u.rel){case"stylesheet":return i=u.disabled,typeof u.precedence=="string"&&i==null;default:return!0}case"script":if(u.async&&typeof u.async!="function"&&typeof u.async!="symbol"&&!u.onLoad&&!u.onError&&u.src&&typeof u.src=="string")return!0}return!1}function NC(i){return!(i.type==="stylesheet"&&(i.state.loading&3)===0)}var ql=null;function G6(){}function H6(i,u,f){if(ql===null)throw Error(r(475));var h=ql;if(u.type==="stylesheet"&&(typeof f.media!="string"||matchMedia(f.media).matches!==!1)&&(u.state.loading&4)===0){if(u.instance===null){var v=is(f.href),T=i.querySelector(Hl(v));if(T){i=T._p,i!==null&&typeof i=="object"&&typeof i.then=="function"&&(h.count++,h=id.bind(h),i.then(h,h)),u.state.loading|=4,u.instance=T,an(T);return}T=i.ownerDocument||i,f=AC(f),(v=br.get(v))&&Lh(f,v),T=T.createElement("link"),an(T);var F=T;F._p=new Promise(function(q,Z){F.onload=q,F.onerror=Z}),mn(T,"link",f),u.instance=T}h.stylesheets===null&&(h.stylesheets=new Map),h.stylesheets.set(u,i),(i=u.state.preload)&&(u.state.loading&3)===0&&(h.count++,u=id.bind(h),i.addEventListener("load",u),i.addEventListener("error",u))}}function $6(){if(ql===null)throw Error(r(475));var i=ql;return i.stylesheets&&i.count===0&&Ph(i,i.stylesheets),0"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),qh.exports=dq(),qh.exports}var pq=fq(),Jl={},QC;function gq(){if(QC)return Jl;QC=1,Object.defineProperty(Jl,"__esModule",{value:!0}),Jl.parse=s,Jl.serialize=d;const e=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,t=/^[\u0021-\u003A\u003C-\u007E]*$/,n=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,r=/^[\u0020-\u003A\u003D-\u007E]*$/,a=Object.prototype.toString,o=(()=>{const m=function(){};return m.prototype=Object.create(null),m})();function s(m,b){const y=new o,S=m.length;if(S<2)return y;const k=(b==null?void 0:b.decode)||p;let R=0;do{const x=m.indexOf("=",R);if(x===-1)break;const A=m.indexOf(";",R),N=A===-1?S:A;if(x>N){R=m.lastIndexOf(";",x-1)+1;continue}const O=l(m,R,x),C=c(m,x,O),_=m.slice(O,C);if(y[_]===void 0){let P=l(m,x+1,N),I=c(m,N,P);const L=k(m.slice(P,I));y[_]=L}R=N+1}while(Ry;){const S=m.charCodeAt(--b);if(S!==32&&S!==9)return b+1}return y}function d(m,b,y){const S=(y==null?void 0:y.encode)||encodeURIComponent;if(!e.test(m))throw new TypeError(`argument name is invalid: ${m}`);const k=S(b);if(!t.test(k))throw new TypeError(`argument val is invalid: ${b}`);let R=m+"="+k;if(!y)return R;if(y.maxAge!==void 0){if(!Number.isInteger(y.maxAge))throw new TypeError(`option maxAge is invalid: ${y.maxAge}`);R+="; Max-Age="+y.maxAge}if(y.domain){if(!n.test(y.domain))throw new TypeError(`option domain is invalid: ${y.domain}`);R+="; Domain="+y.domain}if(y.path){if(!r.test(y.path))throw new TypeError(`option path is invalid: ${y.path}`);R+="; Path="+y.path}if(y.expires){if(!g(y.expires)||!Number.isFinite(y.expires.valueOf()))throw new TypeError(`option expires is invalid: ${y.expires}`);R+="; Expires="+y.expires.toUTCString()}if(y.httpOnly&&(R+="; HttpOnly"),y.secure&&(R+="; Secure"),y.partitioned&&(R+="; Partitioned"),y.priority)switch(typeof y.priority=="string"?y.priority.toLowerCase():void 0){case"low":R+="; Priority=Low";break;case"medium":R+="; Priority=Medium";break;case"high":R+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${y.priority}`)}if(y.sameSite)switch(typeof y.sameSite=="string"?y.sameSite.toLowerCase():y.sameSite){case!0:case"strict":R+="; SameSite=Strict";break;case"lax":R+="; SameSite=Lax";break;case"none":R+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${y.sameSite}`)}return R}function p(m){if(m.indexOf("%")===-1)return m;try{return decodeURIComponent(m)}catch{return m}}function g(m){return a.call(m)==="[object Date]"}return Jl}gq();/** * react-router v7.4.0 * * Copyright (c) Remix Software Inc. @@ -55,18 +55,18 @@ Error generating stack: `+f.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */var J_="popstate";function h9(e={}){function t(a,o){let{pathname:s="/",search:l="",hash:c=""}=Ei(a.location.hash.substring(1));return!s.startsWith("/")&&!s.startsWith(".")&&(s="/"+s),Jx("",{pathname:s,search:l,hash:c},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function n(a,o){let s=a.document.querySelector("base"),l="";if(s&&s.getAttribute("href")){let c=a.location.href,d=c.indexOf("#");l=d===-1?c:c.slice(0,d)}return l+"#"+(typeof o=="string"?o:wu(o))}function r(a,o){Br(a.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(o)})`)}return b9(t,n,r,e)}function Gt(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Br(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function m9(){return Math.random().toString(36).substring(2,10)}function eC(e,t){return{usr:e.state,key:e.key,idx:t}}function Jx(e,t,n=null,r){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?Ei(t):t,state:n,key:t&&t.key||r||m9()}}function wu({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 Ei(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 b9(e,t,n,r={}){let{window:a=document.defaultView,v5Compat:o=!1}=r,s=a.history,l="POP",c=null,d=p();d==null&&(d=0,s.replaceState({...s.state,idx:d},""));function p(){return(s.state||{idx:null}).idx}function g(){l="POP";let k=p(),R=k==null?null:k-d;d=k,c&&c({action:l,location:S.location,delta:R})}function m(k,R){l="PUSH";let x=Jx(S.location,k,R);n&&n(x,k),d=p()+1;let A=eC(x,d),N=S.createHref(x);try{s.pushState(A,"",N)}catch(O){if(O instanceof DOMException&&O.name==="DataCloneError")throw O;a.location.assign(N)}o&&c&&c({action:l,location:S.location,delta:1})}function b(k,R){l="REPLACE";let x=Jx(S.location,k,R);n&&n(x,k),d=p();let A=eC(x,d),N=S.createHref(x);s.replaceState(A,"",N),o&&c&&c({action:l,location:S.location,delta:0})}function y(k){let R=a.location.origin!=="null"?a.location.origin:a.location.href,x=typeof k=="string"?k:wu(k);return x=x.replace(/ $/,"%20"),Gt(R,`No window.location.(origin|href) available to create URL for href: ${x}`),new URL(x,R)}let S={get action(){return l},get location(){return e(a,s)},listen(k){if(c)throw new Error("A history only accepts one active listener");return a.addEventListener(J_,g),c=k,()=>{a.removeEventListener(J_,g),c=null}},createHref(k){return t(a,k)},createURL:y,encodeLocation(k){let R=y(k);return{pathname:R.pathname,search:R.search,hash:R.hash}},push:m,replace:b,go(k){return s.go(k)}};return S}function Iz(e,t,n="/"){return y9(e,t,n,!1)}function y9(e,t,n,r){let a=typeof t=="string"?Ei(t):t,o=Ua(a.pathname||"/",n);if(o==null)return null;let s=Dz(e);v9(s);let l=null;for(let c=0;l==null&&c{let c={relativePath:l===void 0?o.path||"":l,caseSensitive:o.caseSensitive===!0,childrenIndex:s,route:o};c.relativePath.startsWith("/")&&(Gt(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length));let d=za([r,c.relativePath]),p=n.concat(c);o.children&&o.children.length>0&&(Gt(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),Dz(o.children,t,p,d)),!(o.path==null&&!o.index)&&t.push({path:d,score:A9(d,o.index),routesMeta:p})};return e.forEach((o,s)=>{var l;if(o.path===""||!((l=o.path)!=null&&l.includes("?")))a(o,s);else for(let c of Lz(o.path))a(o,s,c)}),t}function Lz(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,a=n.endsWith("?"),o=n.replace(/\?$/,"");if(r.length===0)return a?[o,""]:[o];let s=Lz(r.join("/")),l=[];return l.push(...s.map(c=>c===""?o:[o,c].join("/"))),a&&l.push(...s),l.map(c=>e.startsWith("/")&&c===""?"/":c)}function v9(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:R9(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}var S9=/^:[\w-]+$/,E9=3,w9=2,x9=1,k9=10,T9=-2,tC=e=>e==="*";function A9(e,t){let n=e.split("/"),r=n.length;return n.some(tC)&&(r+=T9),t&&(r+=w9),n.filter(a=>!tC(a)).reduce((a,o)=>a+(S9.test(o)?E9:o===""?x9:k9),r)}function R9(e,t){return e.length===t.length&&e.slice(0,-1).every((r,a)=>r===t[a])?e[e.length-1]-t[t.length-1]:0}function _9(e,t,n=!1){let{routesMeta:r}=e,a={},o="/",s=[];for(let l=0;l{if(p==="*"){let y=l[m]||"";s=o.slice(0,o.length-y.length).replace(/(.)\/+$/,"$1")}const b=l[m];return g&&!b?d[p]=void 0:d[p]=(b||"").replace(/%2F/g,"/"),d},{}),pathname:o,pathnameBase:s,pattern:e}}function C9(e,t=!1,n=!0){Br(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=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,l,c)=>(r.push({paramName:l,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}function N9(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Br(!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 Ua(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 O9(e,t="/"){let{pathname:n,search:r="",hash:a=""}=typeof e=="string"?Ei(e):e;return{pathname:n?n.startsWith("/")?n:I9(n,t):t,search:M9(r),hash:F9(a)}}function I9(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?n.length>1&&n.pop():a!=="."&&n.push(a)}),n.length>1?n.join("/"):"/"}function Kh(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 D9(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Mz(e){let t=D9(e);return t.map((n,r)=>r===t.length-1?n.pathname:n.pathnameBase)}function Fz(e,t,n,r=!1){let a;typeof e=="string"?a=Ei(e):(a={...e},Gt(!a.pathname||!a.pathname.includes("?"),Kh("?","pathname","search",a)),Gt(!a.pathname||!a.pathname.includes("#"),Kh("#","pathname","hash",a)),Gt(!a.search||!a.search.includes("#"),Kh("#","search","hash",a)));let o=e===""||a.pathname==="",s=o?"/":a.pathname,l;if(s==null)l=n;else{let g=t.length-1;if(!r&&s.startsWith("..")){let m=s.split("/");for(;m[0]==="..";)m.shift(),g-=1;a.pathname=m.join("/")}l=g>=0?t[g]:"/"}let c=O9(a,l),d=s&&s!=="/"&&s.endsWith("/"),p=(o||s===".")&&n.endsWith("/");return!c.pathname.endsWith("/")&&(d||p)&&(c.pathname+="/"),c}var za=e=>e.join("/").replace(/\/\/+/g,"/"),L9=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),M9=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,F9=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function P9(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}var Pz=["POST","PUT","PATCH","DELETE"];new Set(Pz);var z9=["GET",...Pz];new Set(z9);var Us=E.createContext(null);Us.displayName="DataRouter";var qf=E.createContext(null);qf.displayName="DataRouterState";var zz=E.createContext({isTransitioning:!1});zz.displayName="ViewTransition";var B9=E.createContext(new Map);B9.displayName="Fetchers";var U9=E.createContext(null);U9.displayName="Await";var ia=E.createContext(null);ia.displayName="Navigation";var Uu=E.createContext(null);Uu.displayName="Location";var qa=E.createContext({outlet:null,matches:[],isDataRoute:!1});qa.displayName="Route";var b0=E.createContext(null);b0.displayName="RouteError";function j9(e,{relative:t}={}){Gt(ju(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:r}=E.useContext(ia),{hash:a,pathname:o,search:s}=Gu(e,{relative:t}),l=o;return n!=="/"&&(l=o==="/"?n:za([n,o])),r.createHref({pathname:l,search:s,hash:a})}function ju(){return E.useContext(Uu)!=null}function wi(){return Gt(ju(),"useLocation() may be used only in the context of a component."),E.useContext(Uu).location}var Bz="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Uz(e){E.useContext(ia).static||E.useLayoutEffect(e)}function Vf(){let{isDataRoute:e}=E.useContext(qa);return e?eq():G9()}function G9(){Gt(ju(),"useNavigate() may be used only in the context of a component.");let e=E.useContext(Us),{basename:t,navigator:n}=E.useContext(ia),{matches:r}=E.useContext(qa),{pathname:a}=wi(),o=JSON.stringify(Mz(r)),s=E.useRef(!1);return Uz(()=>{s.current=!0}),E.useCallback((c,d={})=>{if(Br(s.current,Bz),!s.current)return;if(typeof c=="number"){n.go(c);return}let p=Fz(c,JSON.parse(o),a,d.relative==="path");e==null&&t!=="/"&&(p.pathname=p.pathname==="/"?t:za([t,p.pathname])),(d.replace?n.replace:n.push)(p,d.state,d)},[t,n,o,a,e])}E.createContext(null);function Gu(e,{relative:t}={}){let{matches:n}=E.useContext(qa),{pathname:r}=wi(),a=JSON.stringify(Mz(n));return E.useMemo(()=>Fz(e,JSON.parse(a),r,t==="path"),[e,a,r,t])}function H9(e,t){return jz(e,t)}function jz(e,t,n,r){var x;Gt(ju(),"useRoutes() may be used only in the context of a component.");let{navigator:a,static:o}=E.useContext(ia),{matches:s}=E.useContext(qa),l=s[s.length-1],c=l?l.params:{},d=l?l.pathname:"/",p=l?l.pathnameBase:"/",g=l&&l.route;{let A=g&&g.path||"";Gz(d,!g||A.endsWith("*")||A.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. + */var JC="popstate";function hq(e={}){function t(a,o){let{pathname:s="/",search:l="",hash:c=""}=Ei(a.location.hash.substring(1));return!s.startsWith("/")&&!s.startsWith(".")&&(s="/"+s),Jx("",{pathname:s,search:l,hash:c},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function n(a,o){let s=a.document.querySelector("base"),l="";if(s&&s.getAttribute("href")){let c=a.location.href,d=c.indexOf("#");l=d===-1?c:c.slice(0,d)}return l+"#"+(typeof o=="string"?o:wu(o))}function r(a,o){Br(a.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(o)})`)}return bq(t,n,r,e)}function Gt(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Br(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function mq(){return Math.random().toString(36).substring(2,10)}function e_(e,t){return{usr:e.state,key:e.key,idx:t}}function Jx(e,t,n=null,r){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?Ei(t):t,state:n,key:t&&t.key||r||mq()}}function wu({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 Ei(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 bq(e,t,n,r={}){let{window:a=document.defaultView,v5Compat:o=!1}=r,s=a.history,l="POP",c=null,d=p();d==null&&(d=0,s.replaceState({...s.state,idx:d},""));function p(){return(s.state||{idx:null}).idx}function g(){l="POP";let k=p(),R=k==null?null:k-d;d=k,c&&c({action:l,location:S.location,delta:R})}function m(k,R){l="PUSH";let x=Jx(S.location,k,R);n&&n(x,k),d=p()+1;let A=e_(x,d),N=S.createHref(x);try{s.pushState(A,"",N)}catch(O){if(O instanceof DOMException&&O.name==="DataCloneError")throw O;a.location.assign(N)}o&&c&&c({action:l,location:S.location,delta:1})}function b(k,R){l="REPLACE";let x=Jx(S.location,k,R);n&&n(x,k),d=p();let A=e_(x,d),N=S.createHref(x);s.replaceState(A,"",N),o&&c&&c({action:l,location:S.location,delta:0})}function y(k){let R=a.location.origin!=="null"?a.location.origin:a.location.href,x=typeof k=="string"?k:wu(k);return x=x.replace(/ $/,"%20"),Gt(R,`No window.location.(origin|href) available to create URL for href: ${x}`),new URL(x,R)}let S={get action(){return l},get location(){return e(a,s)},listen(k){if(c)throw new Error("A history only accepts one active listener");return a.addEventListener(JC,g),c=k,()=>{a.removeEventListener(JC,g),c=null}},createHref(k){return t(a,k)},createURL:y,encodeLocation(k){let R=y(k);return{pathname:R.pathname,search:R.search,hash:R.hash}},push:m,replace:b,go(k){return s.go(k)}};return S}function Dz(e,t,n="/"){return yq(e,t,n,!1)}function yq(e,t,n,r){let a=typeof t=="string"?Ei(t):t,o=Ua(a.pathname||"/",n);if(o==null)return null;let s=Iz(e);vq(s);let l=null;for(let c=0;l==null&&c{let c={relativePath:l===void 0?o.path||"":l,caseSensitive:o.caseSensitive===!0,childrenIndex:s,route:o};c.relativePath.startsWith("/")&&(Gt(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length));let d=za([r,c.relativePath]),p=n.concat(c);o.children&&o.children.length>0&&(Gt(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),Iz(o.children,t,p,d)),!(o.path==null&&!o.index)&&t.push({path:d,score:Aq(d,o.index),routesMeta:p})};return e.forEach((o,s)=>{var l;if(o.path===""||!((l=o.path)!=null&&l.includes("?")))a(o,s);else for(let c of Lz(o.path))a(o,s,c)}),t}function Lz(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,a=n.endsWith("?"),o=n.replace(/\?$/,"");if(r.length===0)return a?[o,""]:[o];let s=Lz(r.join("/")),l=[];return l.push(...s.map(c=>c===""?o:[o,c].join("/"))),a&&l.push(...s),l.map(c=>e.startsWith("/")&&c===""?"/":c)}function vq(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Rq(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}var Sq=/^:[\w-]+$/,Eq=3,wq=2,xq=1,kq=10,Tq=-2,t_=e=>e==="*";function Aq(e,t){let n=e.split("/"),r=n.length;return n.some(t_)&&(r+=Tq),t&&(r+=wq),n.filter(a=>!t_(a)).reduce((a,o)=>a+(Sq.test(o)?Eq:o===""?xq:kq),r)}function Rq(e,t){return e.length===t.length&&e.slice(0,-1).every((r,a)=>r===t[a])?e[e.length-1]-t[t.length-1]:0}function Cq(e,t,n=!1){let{routesMeta:r}=e,a={},o="/",s=[];for(let l=0;l{if(p==="*"){let y=l[m]||"";s=o.slice(0,o.length-y.length).replace(/(.)\/+$/,"$1")}const b=l[m];return g&&!b?d[p]=void 0:d[p]=(b||"").replace(/%2F/g,"/"),d},{}),pathname:o,pathnameBase:s,pattern:e}}function _q(e,t=!1,n=!0){Br(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=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,l,c)=>(r.push({paramName:l,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}function Nq(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Br(!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 Ua(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 Oq(e,t="/"){let{pathname:n,search:r="",hash:a=""}=typeof e=="string"?Ei(e):e;return{pathname:n?n.startsWith("/")?n:Dq(n,t):t,search:Mq(r),hash:Pq(a)}}function Dq(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?n.length>1&&n.pop():a!=="."&&n.push(a)}),n.length>1?n.join("/"):"/"}function Kh(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 Iq(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Mz(e){let t=Iq(e);return t.map((n,r)=>r===t.length-1?n.pathname:n.pathnameBase)}function Pz(e,t,n,r=!1){let a;typeof e=="string"?a=Ei(e):(a={...e},Gt(!a.pathname||!a.pathname.includes("?"),Kh("?","pathname","search",a)),Gt(!a.pathname||!a.pathname.includes("#"),Kh("#","pathname","hash",a)),Gt(!a.search||!a.search.includes("#"),Kh("#","search","hash",a)));let o=e===""||a.pathname==="",s=o?"/":a.pathname,l;if(s==null)l=n;else{let g=t.length-1;if(!r&&s.startsWith("..")){let m=s.split("/");for(;m[0]==="..";)m.shift(),g-=1;a.pathname=m.join("/")}l=g>=0?t[g]:"/"}let c=Oq(a,l),d=s&&s!=="/"&&s.endsWith("/"),p=(o||s===".")&&n.endsWith("/");return!c.pathname.endsWith("/")&&(d||p)&&(c.pathname+="/"),c}var za=e=>e.join("/").replace(/\/\/+/g,"/"),Lq=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Mq=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Pq=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Fq(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}var Fz=["POST","PUT","PATCH","DELETE"];new Set(Fz);var zq=["GET",...Fz];new Set(zq);var Us=E.createContext(null);Us.displayName="DataRouter";var qf=E.createContext(null);qf.displayName="DataRouterState";var zz=E.createContext({isTransitioning:!1});zz.displayName="ViewTransition";var Bq=E.createContext(new Map);Bq.displayName="Fetchers";var Uq=E.createContext(null);Uq.displayName="Await";var ia=E.createContext(null);ia.displayName="Navigation";var Uu=E.createContext(null);Uu.displayName="Location";var qa=E.createContext({outlet:null,matches:[],isDataRoute:!1});qa.displayName="Route";var b0=E.createContext(null);b0.displayName="RouteError";function jq(e,{relative:t}={}){Gt(ju(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:r}=E.useContext(ia),{hash:a,pathname:o,search:s}=Gu(e,{relative:t}),l=o;return n!=="/"&&(l=o==="/"?n:za([n,o])),r.createHref({pathname:l,search:s,hash:a})}function ju(){return E.useContext(Uu)!=null}function wi(){return Gt(ju(),"useLocation() may be used only in the context of a component."),E.useContext(Uu).location}var Bz="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Uz(e){E.useContext(ia).static||E.useLayoutEffect(e)}function Vf(){let{isDataRoute:e}=E.useContext(qa);return e?e9():Gq()}function Gq(){Gt(ju(),"useNavigate() may be used only in the context of a component.");let e=E.useContext(Us),{basename:t,navigator:n}=E.useContext(ia),{matches:r}=E.useContext(qa),{pathname:a}=wi(),o=JSON.stringify(Mz(r)),s=E.useRef(!1);return Uz(()=>{s.current=!0}),E.useCallback((c,d={})=>{if(Br(s.current,Bz),!s.current)return;if(typeof c=="number"){n.go(c);return}let p=Pz(c,JSON.parse(o),a,d.relative==="path");e==null&&t!=="/"&&(p.pathname=p.pathname==="/"?t:za([t,p.pathname])),(d.replace?n.replace:n.push)(p,d.state,d)},[t,n,o,a,e])}E.createContext(null);function Gu(e,{relative:t}={}){let{matches:n}=E.useContext(qa),{pathname:r}=wi(),a=JSON.stringify(Mz(n));return E.useMemo(()=>Pz(e,JSON.parse(a),r,t==="path"),[e,a,r,t])}function Hq(e,t){return jz(e,t)}function jz(e,t,n,r){var x;Gt(ju(),"useRoutes() may be used only in the context of a component.");let{navigator:a,static:o}=E.useContext(ia),{matches:s}=E.useContext(qa),l=s[s.length-1],c=l?l.params:{},d=l?l.pathname:"/",p=l?l.pathnameBase:"/",g=l&&l.route;{let A=g&&g.path||"";Gz(d,!g||A.endsWith("*")||A.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 m=wi(),b;if(t){let A=typeof t=="string"?Ei(t):t;Gt(p==="/"||((x=A.pathname)==null?void 0:x.startsWith(p)),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${p}" but pathname "${A.pathname}" was given in the \`location\` prop.`),b=A}else b=m;let y=b.pathname||"/",S=y;if(p!=="/"){let A=p.replace(/^\//,"").split("/");S="/"+y.replace(/^\//,"").split("/").slice(A.length).join("/")}let k=!o&&n&&n.matches&&n.matches.length>0?n.matches:Iz(e,{pathname:S});Br(g||k!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),Br(k==null||k[k.length-1].route.element!==void 0||k[k.length-1].route.Component!==void 0||k[k.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.`);let R=Y9(k&&k.map(A=>Object.assign({},A,{params:Object.assign({},c,A.params),pathname:za([p,a.encodeLocation?a.encodeLocation(A.pathname).pathname:A.pathname]),pathnameBase:A.pathnameBase==="/"?p:za([p,a.encodeLocation?a.encodeLocation(A.pathnameBase).pathname:A.pathnameBase])})),s,n,r);return t&&R?E.createElement(Uu.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...b},navigationType:"POP"}},R):R}function $9(){let e=J9(),t=P9(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)",a={padding:"0.5rem",backgroundColor:r},o={padding:"2px 4px",backgroundColor:r},s=null;return console.error("Error handled by React Router default ErrorBoundary:",e),s=E.createElement(E.Fragment,null,E.createElement("p",null,"💿 Hey developer 👋"),E.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",E.createElement("code",{style:o},"ErrorBoundary")," or"," ",E.createElement("code",{style:o},"errorElement")," prop on your route.")),E.createElement(E.Fragment,null,E.createElement("h2",null,"Unexpected Application Error!"),E.createElement("h3",{style:{fontStyle:"italic"}},t),n?E.createElement("pre",{style:a},n):null,s)}var q9=E.createElement($9,null),V9=class extends E.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?E.createElement(qa.Provider,{value:this.props.routeContext},E.createElement(b0.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function W9({routeContext:e,match:t,children:n}){let r=E.useContext(Us);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),E.createElement(qa.Provider,{value:e},n)}function Y9(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 a=e,o=n==null?void 0:n.errors;if(o!=null){let c=a.findIndex(d=>d.route.id&&(o==null?void 0:o[d.route.id])!==void 0);Gt(c>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),a=a.slice(0,Math.min(a.length,c+1))}let s=!1,l=-1;if(n)for(let c=0;c=0?a=a.slice(0,l+1):a=[a[0]];break}}}return a.reduceRight((c,d,p)=>{let g,m=!1,b=null,y=null;n&&(g=o&&d.route.id?o[d.route.id]:void 0,b=d.route.errorElement||q9,s&&(l<0&&p===0?(Gz("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),m=!0,y=null):l===p&&(m=!0,y=d.route.hydrateFallbackElement||null)));let S=t.concat(a.slice(0,p+1)),k=()=>{let R;return g?R=b:m?R=y:d.route.Component?R=E.createElement(d.route.Component,null):d.route.element?R=d.route.element:R=c,E.createElement(W9,{match:d,routeContext:{outlet:c,matches:S,isDataRoute:n!=null},children:R})};return n&&(d.route.ErrorBoundary||d.route.errorElement||p===0)?E.createElement(V9,{location:n.location,revalidation:n.revalidation,component:b,error:g,children:k(),routeContext:{outlet:null,matches:S,isDataRoute:!0}}):k()},null)}function y0(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function K9(e){let t=E.useContext(Us);return Gt(t,y0(e)),t}function X9(e){let t=E.useContext(qf);return Gt(t,y0(e)),t}function Z9(e){let t=E.useContext(qa);return Gt(t,y0(e)),t}function v0(e){let t=Z9(e),n=t.matches[t.matches.length-1];return Gt(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function Q9(){return v0("useRouteId")}function J9(){var r;let e=E.useContext(b0),t=X9("useRouteError"),n=v0("useRouteError");return e!==void 0?e:(r=t.errors)==null?void 0:r[n]}function eq(){let{router:e}=K9("useNavigate"),t=v0("useNavigate"),n=E.useRef(!1);return Uz(()=>{n.current=!0}),E.useCallback(async(a,o={})=>{Br(n.current,Bz),n.current&&(typeof a=="number"?e.navigate(a):await e.navigate(a,{fromRouteId:t,...o}))},[e,t])}var nC={};function Gz(e,t,n){!t&&!nC[e]&&(nC[e]=!0,Br(!1,n))}E.memo(tq);function tq({routes:e,future:t,state:n}){return jz(e,void 0,n,t)}function ek(e){Gt(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function nq({basename:e="/",children:t=null,location:n,navigationType:r="POP",navigator:a,static:o=!1}){Gt(!ju(),"You cannot render a inside another . You should never have more than one in your app.");let s=e.replace(/^\/*/,"/"),l=E.useMemo(()=>({basename:s,navigator:a,static:o,future:{}}),[s,a,o]);typeof n=="string"&&(n=Ei(n));let{pathname:c="/",search:d="",hash:p="",state:g=null,key:m="default"}=n,b=E.useMemo(()=>{let y=Ua(c,s);return y==null?null:{location:{pathname:y,search:d,hash:p,state:g,key:m},navigationType:r}},[s,c,d,p,g,m,r]);return Br(b!=null,` is not able to match the URL "${c}${d}${p}" because it does not start with the basename, so the won't render anything.`),b==null?null:E.createElement(ia.Provider,{value:l},E.createElement(Uu.Provider,{children:t,value:b}))}function rq({children:e,location:t}){return H9(tk(e),t)}function tk(e,t=[]){let n=[];return E.Children.forEach(e,(r,a)=>{if(!E.isValidElement(r))return;let o=[...t,a];if(r.type===E.Fragment){n.push.apply(n,tk(r.props.children,o));return}Gt(r.type===ek,`[${typeof r.type=="string"?r.type:r.type.name}] is not a component. All component children of must be a or `),Gt(!r.props.index||!r.props.children,"An index route cannot have child routes.");let s={id:r.props.id||o.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(s.children=tk(r.props.children,o)),n.push(s)}),n}var Vd="get",Wd="application/x-www-form-urlencoded";function Wf(e){return e!=null&&typeof e.tagName=="string"}function aq(e){return Wf(e)&&e.tagName.toLowerCase()==="button"}function oq(e){return Wf(e)&&e.tagName.toLowerCase()==="form"}function iq(e){return Wf(e)&&e.tagName.toLowerCase()==="input"}function sq(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function lq(e,t){return e.button===0&&(!t||t==="_self")&&!sq(e)}var hd=null;function uq(){if(hd===null)try{new FormData(document.createElement("form"),0),hd=!1}catch{hd=!0}return hd}var cq=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Xh(e){return e!=null&&!cq.has(e)?(Br(!1,`"${e}" is not a valid \`encType\` for \`\`/\`\` and will default to "${Wd}"`),null):e}function dq(e,t){let n,r,a,o,s;if(oq(e)){let l=e.getAttribute("action");r=l?Ua(l,t):null,n=e.getAttribute("method")||Vd,a=Xh(e.getAttribute("enctype"))||Wd,o=new FormData(e)}else if(aq(e)||iq(e)&&(e.type==="submit"||e.type==="image")){let l=e.form;if(l==null)throw new Error('Cannot submit a - + {!isGuestMode && ( + + )} From 3609dc5b26ead54eed6cf704ecb85bee6e76388b Mon Sep 17 00:00:00 2001 From: yangdx Date: Sun, 23 Mar 2025 01:39:43 +0800 Subject: [PATCH 41/45] Improve authentication flow and navigation handling - Replace never-resolving promise with rejection - Remove unnecessary setTimeout in navigation --- lightrag_webui/src/api/lightrag.ts | 5 +++-- lightrag_webui/src/services/navigation.ts | 10 +++------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/lightrag_webui/src/api/lightrag.ts b/lightrag_webui/src/api/lightrag.ts index 3b8b46f2..21da295a 100644 --- a/lightrag_webui/src/api/lightrag.ts +++ b/lightrag_webui/src/api/lightrag.ts @@ -186,8 +186,9 @@ axiosInstance.interceptors.response.use( } // For other APIs, navigate to login page navigationService.navigateToLogin(); - // Return a never-resolving promise to prevent further execution - return new Promise(() => {}); + + // return a reject Promise + return Promise.reject(new Error('Authentication required')); } throw new Error( `${error.response.status} ${error.response.statusText}\n${JSON.stringify( diff --git a/lightrag_webui/src/services/navigation.ts b/lightrag_webui/src/services/navigation.ts index d06c86c4..19da250e 100644 --- a/lightrag_webui/src/services/navigation.ts +++ b/lightrag_webui/src/services/navigation.ts @@ -67,14 +67,10 @@ class NavigationService { return; } - // First navigate to login page - this.navigate('/login'); + this.resetAllApplicationState(); + useAuthStore.getState().logout(); - // Then reset state after navigation - setTimeout(() => { - this.resetAllApplicationState(); - useAuthStore.getState().logout(); - }, 0); + this.navigate('/login'); } navigateToHome() { From d3b2cff182705b7e5e586d84174a7efc522bb2de Mon Sep 17 00:00:00 2001 From: yangdx Date: Sun, 23 Mar 2025 02:00:59 +0800 Subject: [PATCH 42/45] Prevent login page show up when on auth is needed --- lightrag_webui/src/AppRouter.tsx | 11 +++-------- lightrag_webui/src/features/LoginPage.tsx | 11 ++--------- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/lightrag_webui/src/AppRouter.tsx b/lightrag_webui/src/AppRouter.tsx index f0a07ad3..9aec0a14 100644 --- a/lightrag_webui/src/AppRouter.tsx +++ b/lightrag_webui/src/AppRouter.tsx @@ -19,14 +19,13 @@ const AppContent = () => { // Token validity check useEffect(() => { - let isMounted = true; const checkAuth = async () => { try { const token = localStorage.getItem('LIGHTRAG-API-TOKEN') if (token && isAuthenticated) { - if (isMounted) setInitializing(false); + setInitializing(false); return; } @@ -35,21 +34,17 @@ const AppContent = () => { } } catch (error) { console.error('Auth initialization error:', error) - if (isMounted && !isAuthenticated) { + if (!isAuthenticated) { useAuthStore.getState().logout() } } finally { - if (isMounted) { - setInitializing(false) - } + setInitializing(false) } } checkAuth() return () => { - isMounted = false; - setInitializing(false) } }, [isAuthenticated]) diff --git a/lightrag_webui/src/features/LoginPage.tsx b/lightrag_webui/src/features/LoginPage.tsx index 29217594..847a4c9e 100644 --- a/lightrag_webui/src/features/LoginPage.tsx +++ b/lightrag_webui/src/features/LoginPage.tsx @@ -26,7 +26,6 @@ const LoginPage = () => { // Check if authentication is configured, skip login if not useEffect(() => { - let isMounted = true; // Flag to prevent state updates after unmount const checkAuthConfig = async () => { // Prevent duplicate calls in Vite dev mode @@ -61,16 +60,12 @@ const LoginPage = () => { } // Only set checkingAuth to false if we need to show the login page - if (isMounted) { - setCheckingAuth(false); - } + setCheckingAuth(false); } catch (error) { console.error('Failed to check auth configuration:', error) // Also set checkingAuth to false in case of error - if (isMounted) { - setCheckingAuth(false); - } + setCheckingAuth(false); } // Removed finally block as we're setting checkingAuth earlier } @@ -80,8 +75,6 @@ const LoginPage = () => { // Cleanup function to prevent state updates after unmount return () => { - isMounted = false; - setCheckingAuth(false); } }, [isAuthenticated, login, navigate]) From a444edd9eb1fe5e22381ad42b14a82d6a37f7293 Mon Sep 17 00:00:00 2001 From: yangdx Date: Sun, 23 Mar 2025 02:43:44 +0800 Subject: [PATCH 43/45] Added auth mode status to health check endpoint. - Introduced auth_mode in health check response - Updated App.tsx to handle guest mode logic --- lightrag/api/lightrag_server.py | 8 ++++++++ lightrag_webui/src/App.tsx | 3 ++- lightrag_webui/src/api/lightrag.ts | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lightrag/api/lightrag_server.py b/lightrag/api/lightrag_server.py index 2e091ac8..584d020f 100644 --- a/lightrag/api/lightrag_server.py +++ b/lightrag/api/lightrag_server.py @@ -417,6 +417,13 @@ def create_app(args): # Get update flags status for all namespaces update_status = await get_all_update_flags_status() + username = os.getenv("AUTH_USERNAME") + password = os.getenv("AUTH_PASSWORD") + if not (username and password): + auth_mode = "disabled" + else: + auth_mode = "enabled" + return { "status": "healthy", "working_directory": str(args.working_dir), @@ -440,6 +447,7 @@ def create_app(args): "update_status": update_status, "core_version": core_version, "api_version": __api_version__, + "auth_mode": auth_mode, } # Custom StaticFiles class to prevent caching of HTML files diff --git a/lightrag_webui/src/App.tsx b/lightrag_webui/src/App.tsx index 48d94ced..c0b6ac3d 100644 --- a/lightrag_webui/src/App.tsx +++ b/lightrag_webui/src/App.tsx @@ -61,10 +61,11 @@ function App() { try { const status = await getAuthStatus(); if (status.core_version || status.api_version) { + const isGuestMode = status.auth_mode === 'disabled' || useAuthStore.getState().isGuestMode; // Update version info while maintaining login state useAuthStore.getState().login( token, - useAuthStore.getState().isGuestMode, + isGuestMode, status.core_version, status.api_version ); diff --git a/lightrag_webui/src/api/lightrag.ts b/lightrag_webui/src/api/lightrag.ts index 21da295a..fd1f02bb 100644 --- a/lightrag_webui/src/api/lightrag.ts +++ b/lightrag_webui/src/api/lightrag.ts @@ -44,6 +44,7 @@ export type LightragStatus = { update_status?: Record core_version?: string api_version?: string + auth_mode?: 'enabled' | 'disabled' } export type LightragDocumentsScanProgress = { From faa39e0f1b84d920140823315264b26f4fc5b443 Mon Sep 17 00:00:00 2001 From: yangdx Date: Sun, 23 Mar 2025 02:44:01 +0800 Subject: [PATCH 44/45] Update webui assets --- .../api/webui/assets/{index-DRBxSvP-.js => index-6Cgle0rM.js} | 4 ++-- lightrag/api/webui/index.html | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename lightrag/api/webui/assets/{index-DRBxSvP-.js => index-6Cgle0rM.js} (97%) diff --git a/lightrag/api/webui/assets/index-DRBxSvP-.js b/lightrag/api/webui/assets/index-6Cgle0rM.js similarity index 97% rename from lightrag/api/webui/assets/index-DRBxSvP-.js rename to lightrag/api/webui/assets/index-6Cgle0rM.js index 8db42c1a..79036e8b 100644 --- a/lightrag/api/webui/assets/index-DRBxSvP-.js +++ b/lightrag/api/webui/assets/index-6Cgle0rM.js @@ -62,7 +62,7 @@ Please change the parent to r.set(a)),r}static accessor(t){const r=(this[p_]=this[p_]={accessors:{}}).accessors,a=this.prototype;function o(s){const u=nu(s);r[u]||(O7(a,s),r[u]=!0)}return pe.isArray(t)?t.forEach(o):o(t),this}};Gn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);pe.reduceDescriptors(Gn.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});pe.freezeMethods(Gn);function Zh(e,t){const n=this||$u,r=t||n,a=Gn.from(r.headers);let o=r.data;return pe.forEach(e,function(u){o=u.call(n,o,a.normalize(),t?t.status:void 0)}),a.normalize(),o}function EB(e){return!!(e&&e.__CANCEL__)}function qs(e,t,n){at.call(this,e??"canceled",at.ERR_CANCELED,t,n),this.name="CanceledError"}pe.inherits(qs,at,{__CANCEL__:!0});function wB(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new at("Request failed with status code "+n.status,[at.ERR_BAD_REQUEST,at.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function I7(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function D7(e,t){e=e||10;const n=new Array(e),r=new Array(e);let a=0,o=0,s;return t=t!==void 0?t:1e3,function(c){const d=Date.now(),p=r[o];s||(s=d),n[a]=c,r[a]=d;let g=o,m=0;for(;g!==a;)m+=n[g++],g=g%e;if(a=(a+1)%e,a===o&&(o=(o+1)%e),d-s{n=p,a=null,o&&(clearTimeout(o),o=null),e.apply(null,d)};return[(...d)=>{const p=Date.now(),g=p-n;g>=r?s(d,p):(a=d,o||(o=setTimeout(()=>{o=null,s(a)},r-g)))},()=>a&&s(a)]}const pf=(e,t,n=3)=>{let r=0;const a=D7(50,250);return L7(o=>{const s=o.loaded,u=o.lengthComputable?o.total:void 0,c=s-r,d=a(c),p=s<=u;r=s;const g={loaded:s,total:u,progress:u?s/u:void 0,bytes:c,rate:d||void 0,estimated:d&&u&&p?(u-s)/d:void 0,event:o,lengthComputable:u!=null,[t?"download":"upload"]:!0};e(g)},n)},g_=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},h_=e=>(...t)=>pe.asap(()=>e(...t)),M7=kn.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,kn.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(kn.origin),kn.navigator&&/(msie|trident)/i.test(kn.navigator.userAgent)):()=>!0,P7=kn.hasStandardBrowserEnv?{write(e,t,n,r,a,o){const s=[e+"="+encodeURIComponent(t)];pe.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),pe.isString(r)&&s.push("path="+r),pe.isString(a)&&s.push("domain="+a),o===!0&&s.push("secure"),document.cookie=s.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function F7(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function z7(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function xB(e,t,n){let r=!F7(t);return e&&r||n==!1?z7(e,t):t}const m_=e=>e instanceof Gn?{...e}:e;function hi(e,t){t=t||{};const n={};function r(d,p,g,m){return pe.isPlainObject(d)&&pe.isPlainObject(p)?pe.merge.call({caseless:m},d,p):pe.isPlainObject(p)?pe.merge({},p):pe.isArray(p)?p.slice():p}function a(d,p,g,m){if(pe.isUndefined(p)){if(!pe.isUndefined(d))return r(void 0,d,g,m)}else return r(d,p,g,m)}function o(d,p){if(!pe.isUndefined(p))return r(void 0,p)}function s(d,p){if(pe.isUndefined(p)){if(!pe.isUndefined(d))return r(void 0,d)}else return r(void 0,p)}function u(d,p,g){if(g in t)return r(d,p);if(g in e)return r(void 0,d)}const c={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:u,headers:(d,p,g)=>a(m_(d),m_(p),g,!0)};return pe.forEach(Object.keys(Object.assign({},e,t)),function(p){const g=c[p]||a,m=g(e[p],t[p],p);pe.isUndefined(m)&&g!==u||(n[p]=m)}),n}const kB=e=>{const t=hi({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:a,xsrfCookieName:o,headers:s,auth:u}=t;t.headers=s=Gn.from(s),t.url=yB(xB(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),u&&s.set("Authorization","Basic "+btoa((u.username||"")+":"+(u.password?unescape(encodeURIComponent(u.password)):"")));let c;if(pe.isFormData(n)){if(kn.hasStandardBrowserEnv||kn.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if((c=s.getContentType())!==!1){const[d,...p]=c?c.split(";").map(g=>g.trim()).filter(Boolean):[];s.setContentType([d||"multipart/form-data",...p].join("; "))}}if(kn.hasStandardBrowserEnv&&(r&&pe.isFunction(r)&&(r=r(t)),r||r!==!1&&M7(t.url))){const d=a&&o&&P7.read(o);d&&s.set(a,d)}return t},B7=typeof XMLHttpRequest<"u",U7=B7&&function(e){return new Promise(function(n,r){const a=kB(e);let o=a.data;const s=Gn.from(a.headers).normalize();let{responseType:u,onUploadProgress:c,onDownloadProgress:d}=a,p,g,m,b,y;function S(){b&&b(),y&&y(),a.cancelToken&&a.cancelToken.unsubscribe(p),a.signal&&a.signal.removeEventListener("abort",p)}let k=new XMLHttpRequest;k.open(a.method.toUpperCase(),a.url,!0),k.timeout=a.timeout;function R(){if(!k)return;const A=Gn.from("getAllResponseHeaders"in k&&k.getAllResponseHeaders()),O={data:!u||u==="text"||u==="json"?k.responseText:k.response,status:k.status,statusText:k.statusText,headers:A,config:e,request:k};wB(function(_){n(_),S()},function(_){r(_),S()},O),k=null}"onloadend"in k?k.onloadend=R:k.onreadystatechange=function(){!k||k.readyState!==4||k.status===0&&!(k.responseURL&&k.responseURL.indexOf("file:")===0)||setTimeout(R)},k.onabort=function(){k&&(r(new at("Request aborted",at.ECONNABORTED,e,k)),k=null)},k.onerror=function(){r(new at("Network Error",at.ERR_NETWORK,e,k)),k=null},k.ontimeout=function(){let N=a.timeout?"timeout of "+a.timeout+"ms exceeded":"timeout exceeded";const O=a.transitional||vB;a.timeoutErrorMessage&&(N=a.timeoutErrorMessage),r(new at(N,O.clarifyTimeoutError?at.ETIMEDOUT:at.ECONNABORTED,e,k)),k=null},o===void 0&&s.setContentType(null),"setRequestHeader"in k&&pe.forEach(s.toJSON(),function(N,O){k.setRequestHeader(O,N)}),pe.isUndefined(a.withCredentials)||(k.withCredentials=!!a.withCredentials),u&&u!=="json"&&(k.responseType=a.responseType),d&&([m,y]=pf(d,!0),k.addEventListener("progress",m)),c&&k.upload&&([g,b]=pf(c),k.upload.addEventListener("progress",g),k.upload.addEventListener("loadend",b)),(a.cancelToken||a.signal)&&(p=A=>{k&&(r(!A||A.type?new qs(null,e,k):A),k.abort(),k=null)},a.cancelToken&&a.cancelToken.subscribe(p),a.signal&&(a.signal.aborted?p():a.signal.addEventListener("abort",p)));const x=I7(a.url);if(x&&kn.protocols.indexOf(x)===-1){r(new at("Unsupported protocol "+x+":",at.ERR_BAD_REQUEST,e));return}k.send(o||null)})},j7=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,a;const o=function(d){if(!a){a=!0,u();const p=d instanceof Error?d:this.reason;r.abort(p instanceof at?p:new qs(p instanceof Error?p.message:p))}};let s=t&&setTimeout(()=>{s=null,o(new at(`timeout ${t} of ms exceeded`,at.ETIMEDOUT))},t);const u=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(d=>{d.unsubscribe?d.unsubscribe(o):d.removeEventListener("abort",o)}),e=null)};e.forEach(d=>d.addEventListener("abort",o));const{signal:c}=r;return c.unsubscribe=()=>pe.asap(u),c}},G7=function*(e,t){let n=e.byteLength;if(n{const a=H7(e,t);let o=0,s,u=c=>{s||(s=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:d,value:p}=await a.next();if(d){u(),c.close();return}let g=p.byteLength;if(n){let m=o+=g;n(m)}c.enqueue(new Uint8Array(p))}catch(d){throw u(d),d}},cancel(c){return u(c),a.return()}},{highWaterMark:2})},Zf=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",TB=Zf&&typeof ReadableStream=="function",q7=Zf&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),AB=(e,...t)=>{try{return!!e(...t)}catch{return!1}},V7=TB&&AB(()=>{let e=!1;const t=new Request(kn.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),y_=64*1024,ik=TB&&AB(()=>pe.isReadableStream(new Response("").body)),gf={stream:ik&&(e=>e.body)};Zf&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!gf[t]&&(gf[t]=pe.isFunction(e[t])?n=>n[t]():(n,r)=>{throw new at(`Response type '${t}' is not supported`,at.ERR_NOT_SUPPORT,r)})})})(new Response);const W7=async e=>{if(e==null)return 0;if(pe.isBlob(e))return e.size;if(pe.isSpecCompliantForm(e))return(await new Request(kn.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(pe.isArrayBufferView(e)||pe.isArrayBuffer(e))return e.byteLength;if(pe.isURLSearchParams(e)&&(e=e+""),pe.isString(e))return(await q7(e)).byteLength},Y7=async(e,t)=>{const n=pe.toFiniteNumber(e.getContentLength());return n??W7(t)},K7=Zf&&(async e=>{let{url:t,method:n,data:r,signal:a,cancelToken:o,timeout:s,onDownloadProgress:u,onUploadProgress:c,responseType:d,headers:p,withCredentials:g="same-origin",fetchOptions:m}=kB(e);d=d?(d+"").toLowerCase():"text";let b=j7([a,o&&o.toAbortSignal()],s),y;const S=b&&b.unsubscribe&&(()=>{b.unsubscribe()});let k;try{if(c&&V7&&n!=="get"&&n!=="head"&&(k=await Y7(p,r))!==0){let O=new Request(t,{method:"POST",body:r,duplex:"half"}),C;if(pe.isFormData(r)&&(C=O.headers.get("content-type"))&&p.setContentType(C),O.body){const[_,P]=g_(k,pf(h_(c)));r=b_(O.body,y_,_,P)}}pe.isString(g)||(g=g?"include":"omit");const R="credentials"in Request.prototype;y=new Request(t,{...m,signal:b,method:n.toUpperCase(),headers:p.normalize().toJSON(),body:r,duplex:"half",credentials:R?g:void 0});let x=await fetch(y);const A=ik&&(d==="stream"||d==="response");if(ik&&(u||A&&S)){const O={};["status","statusText","headers"].forEach(D=>{O[D]=x[D]});const C=pe.toFiniteNumber(x.headers.get("content-length")),[_,P]=u&&g_(C,pf(h_(u),!0))||[];x=new Response(b_(x.body,y_,_,()=>{P&&P(),S&&S()}),O)}d=d||"text";let N=await gf[pe.findKey(gf,d)||"text"](x,e);return!A&&S&&S(),await new Promise((O,C)=>{wB(O,C,{data:N,headers:Gn.from(x.headers),status:x.status,statusText:x.statusText,config:e,request:y})})}catch(R){throw S&&S(),R&&R.name==="TypeError"&&/fetch/i.test(R.message)?Object.assign(new at("Network Error",at.ERR_NETWORK,e,y),{cause:R.cause||R}):at.from(R,R&&R.code,e,y)}}),sk={http:c7,xhr:U7,fetch:K7};pe.forEach(sk,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const v_=e=>`- ${e}`,X7=e=>pe.isFunction(e)||e===null||e===!1,RB={getAdapter:e=>{e=pe.isArray(e)?e:[e];const{length:t}=e;let n,r;const a={};for(let o=0;o`adapter ${u} `+(c===!1?"is not supported by the environment":"is not available in the build"));let s=t?o.length>1?`since : `+o.map(v_).join(` `):" "+v_(o[0]):"as no adapter specified";throw new at("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return r},adapters:sk};function Qh(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new qs(null,e)}function S_(e){return Qh(e),e.headers=Gn.from(e.headers),e.data=Zh.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),RB.getAdapter(e.adapter||$u.adapter)(e).then(function(r){return Qh(e),r.data=Zh.call(e,e.transformResponse,r),r.headers=Gn.from(r.headers),r},function(r){return EB(r)||(Qh(e),r&&r.response&&(r.response.data=Zh.call(e,e.transformResponse,r.response),r.response.headers=Gn.from(r.response.headers))),Promise.reject(r)})}const CB="1.8.3",Qf={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Qf[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const E_={};Qf.transitional=function(t,n,r){function a(o,s){return"[Axios v"+CB+"] Transitional option '"+o+"'"+s+(r?". "+r:"")}return(o,s,u)=>{if(t===!1)throw new at(a(s," has been removed"+(n?" in "+n:"")),at.ERR_DEPRECATED);return n&&!E_[s]&&(E_[s]=!0,console.warn(a(s," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,s,u):!0}};Qf.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function Z7(e,t,n){if(typeof e!="object")throw new at("options must be an object",at.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let a=r.length;for(;a-- >0;){const o=r[a],s=t[o];if(s){const u=e[o],c=u===void 0||s(u,o,e);if(c!==!0)throw new at("option "+o+" must be "+c,at.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new at("Unknown option "+o,at.ERR_BAD_OPTION)}}const Kd={assertOptions:Z7,validators:Qf},Zr=Kd.validators;let pi=class{constructor(t){this.defaults=t,this.interceptors={request:new f_,response:new f_}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let a={};Error.captureStackTrace?Error.captureStackTrace(a):a=new Error;const o=a.stack?a.stack.replace(/^.+\n/,""):"";try{r.stack?o&&!String(r.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(r.stack+=` -`+o):r.stack=o}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=hi(this.defaults,n);const{transitional:r,paramsSerializer:a,headers:o}=n;r!==void 0&&Kd.assertOptions(r,{silentJSONParsing:Zr.transitional(Zr.boolean),forcedJSONParsing:Zr.transitional(Zr.boolean),clarifyTimeoutError:Zr.transitional(Zr.boolean)},!1),a!=null&&(pe.isFunction(a)?n.paramsSerializer={serialize:a}:Kd.assertOptions(a,{encode:Zr.function,serialize:Zr.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Kd.assertOptions(n,{baseUrl:Zr.spelling("baseURL"),withXsrfToken:Zr.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let s=o&&pe.merge(o.common,o[n.method]);o&&pe.forEach(["delete","get","head","post","put","patch","common"],y=>{delete o[y]}),n.headers=Gn.concat(s,o);const u=[];let c=!0;this.interceptors.request.forEach(function(S){typeof S.runWhen=="function"&&S.runWhen(n)===!1||(c=c&&S.synchronous,u.unshift(S.fulfilled,S.rejected))});const d=[];this.interceptors.response.forEach(function(S){d.push(S.fulfilled,S.rejected)});let p,g=0,m;if(!c){const y=[S_.bind(this),void 0];for(y.unshift.apply(y,u),y.push.apply(y,d),m=y.length,p=Promise.resolve(n);g{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](a);r._listeners=null}),this.promise.then=a=>{let o;const s=new Promise(u=>{r.subscribe(u),o=u}).then(a);return s.cancel=function(){r.unsubscribe(o)},s},t(function(o,s,u){r.reason||(r.reason=new qs(o,s,u),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new _B(function(a){t=a}),cancel:t}}};function J7(e){return function(n){return e.apply(null,n)}}function eV(e){return pe.isObject(e)&&e.isAxiosError===!0}const lk={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(lk).forEach(([e,t])=>{lk[t]=e});function NB(e){const t=new pi(e),n=sB(pi.prototype.request,t);return pe.extend(n,pi.prototype,t,{allOwnKeys:!0}),pe.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return NB(hi(e,a))},n}const Yt=NB($u);Yt.Axios=pi;Yt.CanceledError=qs;Yt.CancelToken=Q7;Yt.isCancel=EB;Yt.VERSION=CB;Yt.toFormData=Xf;Yt.AxiosError=at;Yt.Cancel=Yt.CanceledError;Yt.all=function(t){return Promise.all(t)};Yt.spread=J7;Yt.isAxiosError=eV;Yt.mergeConfig=hi;Yt.AxiosHeaders=Gn;Yt.formToJSON=e=>SB(pe.isHTMLForm(e)?new FormData(e):e);Yt.getAdapter=RB.getAdapter;Yt.HttpStatusCode=lk;Yt.default=Yt;const{Axios:mxe,AxiosError:bxe,CanceledError:yxe,isCancel:vxe,CancelToken:Sxe,VERSION:Exe,all:wxe,Cancel:xxe,isAxiosError:kxe,spread:Txe,toFormData:Axe,AxiosHeaders:Rxe,HttpStatusCode:Cxe,formToJSON:_xe,getAdapter:Nxe,mergeConfig:Oxe}=Yt,OB="",tV="/webui/",Pr="ghost",nV="#B2EBF2",rV="#000",aV="#E2E2E2",uk="#EEEEEE",oV="#F57F17",iV="#969696",sV="#F57F17",w_="#B2EBF2",md=50,x_=100,ui=4,ck=20,lV=15,k_="*",uV={"text/plain":[".txt",".md",".html",".htm",".tex",".json",".xml",".yaml",".yml",".rtf",".odt",".epub",".csv",".log",".conf",".ini",".properties",".sql",".bat",".sh",".c",".cpp",".py",".java",".js",".ts",".swift",".go",".rb",".php",".css",".scss",".less"],"application/pdf":[".pdf"],"application/msword":[".doc"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":[".docx"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":[".pptx"]},T_={name:"LightRAG",github:"https://github.com/HKUDS/LightRAG"},cV="modulepreload",dV=function(e){return"/webui/"+e},A_={},fV=function(t,n,r){let a=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),u=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));a=Promise.allSettled(n.map(c=>{if(c=dV(c),c in A_)return;A_[c]=!0;const d=c.endsWith(".css"),p=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${p}`))return;const g=document.createElement("link");if(g.rel=d?"stylesheet":cV,d||(g.as="script"),g.crossOrigin="",g.href=c,u&&g.setAttribute("nonce",u),document.head.appendChild(g),d)return new Promise((m,b)=>{g.addEventListener("load",m),g.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(s){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=s,window.dispatchEvent(u),!u.defaultPrevented)throw s}return a.then(s=>{for(const u of s||[])u.status==="rejected"&&o(u.reason);return t().catch(o)})};function IB(e,t){let n;try{n=e()}catch{return}return{getItem:a=>{var o;const s=c=>c===null?null:JSON.parse(c,void 0),u=(o=n.getItem(a))!=null?o:null;return u instanceof Promise?u.then(s):s(u)},setItem:(a,o)=>n.setItem(a,JSON.stringify(o,void 0)),removeItem:a=>n.removeItem(a)}}const dk=e=>t=>{try{const n=e(t);return n instanceof Promise?n:{then(r){return dk(r)(n)},catch(r){return this}}}catch(n){return{then(r){return this},catch(r){return dk(r)(n)}}}},pV=(e,t)=>(n,r,a)=>{let o={storage:IB(()=>localStorage),partialize:S=>S,version:0,merge:(S,k)=>({...k,...S}),...t},s=!1;const u=new Set,c=new Set;let d=o.storage;if(!d)return e((...S)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),n(...S)},r,a);const p=()=>{const S=o.partialize({...r()});return d.setItem(o.name,{state:S,version:o.version})},g=a.setState;a.setState=(S,k)=>{g(S,k),p()};const m=e((...S)=>{n(...S),p()},r,a);a.getInitialState=()=>m;let b;const y=()=>{var S,k;if(!d)return;s=!1,u.forEach(x=>{var A;return x((A=r())!=null?A:m)});const R=((k=o.onRehydrateStorage)==null?void 0:k.call(o,(S=r())!=null?S:m))||void 0;return dk(d.getItem.bind(d))(o.name).then(x=>{if(x)if(typeof x.version=="number"&&x.version!==o.version){if(o.migrate){const A=o.migrate(x.state,x.version);return A instanceof Promise?A.then(N=>[!0,N]):[!0,A]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,x.state];return[!1,void 0]}).then(x=>{var A;const[N,O]=x;if(b=o.merge(O,(A=r())!=null?A:m),n(b,!0),N)return p()}).then(()=>{R==null||R(b,void 0),b=r(),s=!0,c.forEach(x=>x(b))}).catch(x=>{R==null||R(void 0,x)})};return a.persist={setOptions:S=>{o={...o,...S},S.storage&&(d=S.storage)},clearStorage:()=>{d==null||d.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>y(),hasHydrated:()=>s,onHydrate:S=>(u.add(S),()=>{u.delete(S)}),onFinishHydration:S=>(c.add(S),()=>{c.delete(S)})},o.skipHydration||y(),b||m},gV=pV,hV=Vf()(gV(e=>({theme:"system",language:"en",showPropertyPanel:!0,showNodeSearchBar:!0,showNodeLabel:!0,enableNodeDrag:!0,showEdgeLabel:!1,enableHideUnselectedEdges:!0,enableEdgeEvents:!1,graphQueryMaxDepth:3,graphMinDegree:0,graphLayoutMaxIterations:15,queryLabel:k_,enableHealthCheck:!0,apiKey:null,currentTab:"documents",retrievalHistory:[],querySettings:{mode:"global",response_type:"Multiple Paragraphs",top_k:10,max_token_for_text_unit:4e3,max_token_for_global_context:4e3,max_token_for_local_context:4e3,only_need_context:!1,only_need_prompt:!1,stream:!0,history_turns:3,hl_keywords:[],ll_keywords:[]},setTheme:t=>e({theme:t}),setLanguage:t=>{e({language:t}),fV(async()=>{const{default:n}=await Promise.resolve().then(()=>Dwe);return{default:n}},[]).then(({default:n})=>{n.language!==t&&n.changeLanguage(t)})},setGraphLayoutMaxIterations:t=>e({graphLayoutMaxIterations:t}),setQueryLabel:t=>e({queryLabel:t}),setGraphQueryMaxDepth:t=>e({graphQueryMaxDepth:t}),setGraphMinDegree:t=>e({graphMinDegree:t}),setEnableHealthCheck:t=>e({enableHealthCheck:t}),setApiKey:t=>e({apiKey:t}),setCurrentTab:t=>e({currentTab:t}),setRetrievalHistory:t=>e({retrievalHistory:t}),updateQuerySettings:t=>e(n=>({querySettings:{...n.querySettings,...t}}))}),{name:"settings-storage",storage:IB(()=>localStorage),version:8,migrate:(e,t)=>(t<2&&(e.showEdgeLabel=!1),t<3&&(e.queryLabel=k_),t<4&&(e.showPropertyPanel=!0,e.showNodeSearchBar=!0,e.showNodeLabel=!0,e.enableHealthCheck=!0,e.apiKey=null),t<5&&(e.currentTab="documents"),t<6&&(e.querySettings={mode:"global",response_type:"Multiple Paragraphs",top_k:10,max_token_for_text_unit:4e3,max_token_for_global_context:4e3,max_token_for_local_context:4e3,only_need_context:!1,only_need_prompt:!1,stream:!0,history_turns:3,hl_keywords:[],ll_keywords:[]},e.retrievalHistory=[]),t<7&&(e.graphQueryMaxDepth=3,e.graphLayoutMaxIterations=15),t<8&&(e.graphMinDegree=0,e.language="en"),e)})),Le=k0(hV);class mV{constructor(){Xr(this,"nodes",[]);Xr(this,"edges",[]);Xr(this,"nodeIdMap",{});Xr(this,"edgeIdMap",{});Xr(this,"edgeDynamicIdMap",{});Xr(this,"getNode",t=>{const n=this.nodeIdMap[t];if(n!==void 0)return this.nodes[n]});Xr(this,"getEdge",(t,n=!0)=>{const r=n?this.edgeDynamicIdMap[t]:this.edgeIdMap[t];if(r!==void 0)return this.edges[r]});Xr(this,"buildDynamicMap",()=>{this.edgeDynamicIdMap={};for(let t=0;t({selectedNode:null,focusedNode:null,selectedEdge:null,focusedEdge:null,moveToSelectedNode:!1,isFetching:!1,graphIsEmpty:!1,lastSuccessfulQueryLabel:"",graphDataFetchAttempted:!1,labelsFetchAttempted:!1,rawGraph:null,sigmaGraph:null,sigmaInstance:null,allDatabaseLabels:["*"],searchEngine:null,setGraphIsEmpty:t=>e({graphIsEmpty:t}),setLastSuccessfulQueryLabel:t=>e({lastSuccessfulQueryLabel:t}),setIsFetching:t=>e({isFetching:t}),setSelectedNode:(t,n)=>e({selectedNode:t,moveToSelectedNode:n}),setFocusedNode:t=>e({focusedNode:t}),setSelectedEdge:t=>e({selectedEdge:t}),setFocusedEdge:t=>e({focusedEdge:t}),clearSelection:()=>e({selectedNode:null,focusedNode:null,selectedEdge:null,focusedEdge:null}),reset:()=>{e({selectedNode:null,focusedNode:null,selectedEdge:null,focusedEdge:null,rawGraph:null,sigmaGraph:null,searchEngine:null,moveToSelectedNode:!1,graphIsEmpty:!1})},setRawGraph:t=>e({rawGraph:t}),setSigmaGraph:t=>{e({sigmaGraph:t})},setAllDatabaseLabels:t=>e({allDatabaseLabels:t}),fetchAllDatabaseLabels:async()=>{try{console.log("Fetching all database labels...");const t=await vV();e({allDatabaseLabels:["*",...t]});return}catch(t){throw console.error("Failed to fetch all database labels:",t),e({allDatabaseLabels:["*"]}),t}},setMoveToSelectedNode:t=>e({moveToSelectedNode:t}),setSigmaInstance:t=>e({sigmaInstance:t}),setSearchEngine:t=>e({searchEngine:t}),resetSearchEngine:()=>e({searchEngine:null}),setGraphDataFetchAttempted:t=>e({graphDataFetchAttempted:t}),setLabelsFetchAttempted:t=>e({labelsFetchAttempted:t}),nodeToExpand:null,nodeToPrune:null,triggerNodeExpand:t=>e({nodeToExpand:t}),triggerNodePrune:t=>e({nodeToPrune:t})})),$e=k0(bV);class yV{constructor(){Xr(this,"navigate",null)}setNavigate(t){this.navigate=t}resetAllApplicationState(){console.log("Resetting all application state...");const t=$e.getState(),n=t.sigmaInstance;t.reset(),t.setGraphDataFetchAttempted(!1),t.setLabelsFetchAttempted(!1),t.setSigmaInstance(null),t.setIsFetching(!1),tr.getState().clear(),Le.getState().setRetrievalHistory([]),sessionStorage.clear(),n&&(n.getGraph().clear(),n.kill(),$e.getState().setSigmaInstance(null))}handleDirectLoginAccess(){const t=!document.referrer;return t&&this.resetAllApplicationState(),t}navigateToLogin(){if(!this.navigate){console.error("Navigation function not set");return}this.navigate("/login"),setTimeout(()=>{this.resetAllApplicationState(),ra.getState().logout()},0)}navigateToHome(){if(!this.navigate){console.error("Navigation function not set");return}this.navigate("/")}}const C0=new yV,DB="Invalid API Key",LB="API Key required",ar=Yt.create({baseURL:OB,headers:{"Content-Type":"application/json"}});ar.interceptors.request.use(e=>{const t=Le.getState().apiKey,n=localStorage.getItem("LIGHTRAG-API-TOKEN");return n&&(e.headers.Authorization=`Bearer ${n}`),t&&(e.headers["X-API-Key"]=t),e});ar.interceptors.response.use(e=>e,e=>{var t,n,r,a;if(e.response){if(((t=e.response)==null?void 0:t.status)===401){if((r=(n=e.config)==null?void 0:n.url)!=null&&r.includes("/login"))throw e;return C0.navigateToLogin(),new Promise(()=>{})}throw new Error(`${e.response.status} ${e.response.statusText} +`+o):r.stack=o}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=hi(this.defaults,n);const{transitional:r,paramsSerializer:a,headers:o}=n;r!==void 0&&Kd.assertOptions(r,{silentJSONParsing:Zr.transitional(Zr.boolean),forcedJSONParsing:Zr.transitional(Zr.boolean),clarifyTimeoutError:Zr.transitional(Zr.boolean)},!1),a!=null&&(pe.isFunction(a)?n.paramsSerializer={serialize:a}:Kd.assertOptions(a,{encode:Zr.function,serialize:Zr.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Kd.assertOptions(n,{baseUrl:Zr.spelling("baseURL"),withXsrfToken:Zr.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let s=o&&pe.merge(o.common,o[n.method]);o&&pe.forEach(["delete","get","head","post","put","patch","common"],y=>{delete o[y]}),n.headers=Gn.concat(s,o);const u=[];let c=!0;this.interceptors.request.forEach(function(S){typeof S.runWhen=="function"&&S.runWhen(n)===!1||(c=c&&S.synchronous,u.unshift(S.fulfilled,S.rejected))});const d=[];this.interceptors.response.forEach(function(S){d.push(S.fulfilled,S.rejected)});let p,g=0,m;if(!c){const y=[S_.bind(this),void 0];for(y.unshift.apply(y,u),y.push.apply(y,d),m=y.length,p=Promise.resolve(n);g{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](a);r._listeners=null}),this.promise.then=a=>{let o;const s=new Promise(u=>{r.subscribe(u),o=u}).then(a);return s.cancel=function(){r.unsubscribe(o)},s},t(function(o,s,u){r.reason||(r.reason=new qs(o,s,u),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new _B(function(a){t=a}),cancel:t}}};function J7(e){return function(n){return e.apply(null,n)}}function eV(e){return pe.isObject(e)&&e.isAxiosError===!0}const lk={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(lk).forEach(([e,t])=>{lk[t]=e});function NB(e){const t=new pi(e),n=sB(pi.prototype.request,t);return pe.extend(n,pi.prototype,t,{allOwnKeys:!0}),pe.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return NB(hi(e,a))},n}const Yt=NB($u);Yt.Axios=pi;Yt.CanceledError=qs;Yt.CancelToken=Q7;Yt.isCancel=EB;Yt.VERSION=CB;Yt.toFormData=Xf;Yt.AxiosError=at;Yt.Cancel=Yt.CanceledError;Yt.all=function(t){return Promise.all(t)};Yt.spread=J7;Yt.isAxiosError=eV;Yt.mergeConfig=hi;Yt.AxiosHeaders=Gn;Yt.formToJSON=e=>SB(pe.isHTMLForm(e)?new FormData(e):e);Yt.getAdapter=RB.getAdapter;Yt.HttpStatusCode=lk;Yt.default=Yt;const{Axios:mxe,AxiosError:bxe,CanceledError:yxe,isCancel:vxe,CancelToken:Sxe,VERSION:Exe,all:wxe,Cancel:xxe,isAxiosError:kxe,spread:Txe,toFormData:Axe,AxiosHeaders:Rxe,HttpStatusCode:Cxe,formToJSON:_xe,getAdapter:Nxe,mergeConfig:Oxe}=Yt,OB="",tV="/webui/",Pr="ghost",nV="#B2EBF2",rV="#000",aV="#E2E2E2",uk="#EEEEEE",oV="#F57F17",iV="#969696",sV="#F57F17",w_="#B2EBF2",md=50,x_=100,ui=4,ck=20,lV=15,k_="*",uV={"text/plain":[".txt",".md",".html",".htm",".tex",".json",".xml",".yaml",".yml",".rtf",".odt",".epub",".csv",".log",".conf",".ini",".properties",".sql",".bat",".sh",".c",".cpp",".py",".java",".js",".ts",".swift",".go",".rb",".php",".css",".scss",".less"],"application/pdf":[".pdf"],"application/msword":[".doc"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":[".docx"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":[".pptx"]},T_={name:"LightRAG",github:"https://github.com/HKUDS/LightRAG"},cV="modulepreload",dV=function(e){return"/webui/"+e},A_={},fV=function(t,n,r){let a=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),u=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));a=Promise.allSettled(n.map(c=>{if(c=dV(c),c in A_)return;A_[c]=!0;const d=c.endsWith(".css"),p=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${p}`))return;const g=document.createElement("link");if(g.rel=d?"stylesheet":cV,d||(g.as="script"),g.crossOrigin="",g.href=c,u&&g.setAttribute("nonce",u),document.head.appendChild(g),d)return new Promise((m,b)=>{g.addEventListener("load",m),g.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(s){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=s,window.dispatchEvent(u),!u.defaultPrevented)throw s}return a.then(s=>{for(const u of s||[])u.status==="rejected"&&o(u.reason);return t().catch(o)})};function IB(e,t){let n;try{n=e()}catch{return}return{getItem:a=>{var o;const s=c=>c===null?null:JSON.parse(c,void 0),u=(o=n.getItem(a))!=null?o:null;return u instanceof Promise?u.then(s):s(u)},setItem:(a,o)=>n.setItem(a,JSON.stringify(o,void 0)),removeItem:a=>n.removeItem(a)}}const dk=e=>t=>{try{const n=e(t);return n instanceof Promise?n:{then(r){return dk(r)(n)},catch(r){return this}}}catch(n){return{then(r){return this},catch(r){return dk(r)(n)}}}},pV=(e,t)=>(n,r,a)=>{let o={storage:IB(()=>localStorage),partialize:S=>S,version:0,merge:(S,k)=>({...k,...S}),...t},s=!1;const u=new Set,c=new Set;let d=o.storage;if(!d)return e((...S)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),n(...S)},r,a);const p=()=>{const S=o.partialize({...r()});return d.setItem(o.name,{state:S,version:o.version})},g=a.setState;a.setState=(S,k)=>{g(S,k),p()};const m=e((...S)=>{n(...S),p()},r,a);a.getInitialState=()=>m;let b;const y=()=>{var S,k;if(!d)return;s=!1,u.forEach(x=>{var A;return x((A=r())!=null?A:m)});const R=((k=o.onRehydrateStorage)==null?void 0:k.call(o,(S=r())!=null?S:m))||void 0;return dk(d.getItem.bind(d))(o.name).then(x=>{if(x)if(typeof x.version=="number"&&x.version!==o.version){if(o.migrate){const A=o.migrate(x.state,x.version);return A instanceof Promise?A.then(N=>[!0,N]):[!0,A]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,x.state];return[!1,void 0]}).then(x=>{var A;const[N,O]=x;if(b=o.merge(O,(A=r())!=null?A:m),n(b,!0),N)return p()}).then(()=>{R==null||R(b,void 0),b=r(),s=!0,c.forEach(x=>x(b))}).catch(x=>{R==null||R(void 0,x)})};return a.persist={setOptions:S=>{o={...o,...S},S.storage&&(d=S.storage)},clearStorage:()=>{d==null||d.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>y(),hasHydrated:()=>s,onHydrate:S=>(u.add(S),()=>{u.delete(S)}),onFinishHydration:S=>(c.add(S),()=>{c.delete(S)})},o.skipHydration||y(),b||m},gV=pV,hV=Vf()(gV(e=>({theme:"system",language:"en",showPropertyPanel:!0,showNodeSearchBar:!0,showNodeLabel:!0,enableNodeDrag:!0,showEdgeLabel:!1,enableHideUnselectedEdges:!0,enableEdgeEvents:!1,graphQueryMaxDepth:3,graphMinDegree:0,graphLayoutMaxIterations:15,queryLabel:k_,enableHealthCheck:!0,apiKey:null,currentTab:"documents",retrievalHistory:[],querySettings:{mode:"global",response_type:"Multiple Paragraphs",top_k:10,max_token_for_text_unit:4e3,max_token_for_global_context:4e3,max_token_for_local_context:4e3,only_need_context:!1,only_need_prompt:!1,stream:!0,history_turns:3,hl_keywords:[],ll_keywords:[]},setTheme:t=>e({theme:t}),setLanguage:t=>{e({language:t}),fV(async()=>{const{default:n}=await Promise.resolve().then(()=>Dwe);return{default:n}},[]).then(({default:n})=>{n.language!==t&&n.changeLanguage(t)})},setGraphLayoutMaxIterations:t=>e({graphLayoutMaxIterations:t}),setQueryLabel:t=>e({queryLabel:t}),setGraphQueryMaxDepth:t=>e({graphQueryMaxDepth:t}),setGraphMinDegree:t=>e({graphMinDegree:t}),setEnableHealthCheck:t=>e({enableHealthCheck:t}),setApiKey:t=>e({apiKey:t}),setCurrentTab:t=>e({currentTab:t}),setRetrievalHistory:t=>e({retrievalHistory:t}),updateQuerySettings:t=>e(n=>({querySettings:{...n.querySettings,...t}}))}),{name:"settings-storage",storage:IB(()=>localStorage),version:8,migrate:(e,t)=>(t<2&&(e.showEdgeLabel=!1),t<3&&(e.queryLabel=k_),t<4&&(e.showPropertyPanel=!0,e.showNodeSearchBar=!0,e.showNodeLabel=!0,e.enableHealthCheck=!0,e.apiKey=null),t<5&&(e.currentTab="documents"),t<6&&(e.querySettings={mode:"global",response_type:"Multiple Paragraphs",top_k:10,max_token_for_text_unit:4e3,max_token_for_global_context:4e3,max_token_for_local_context:4e3,only_need_context:!1,only_need_prompt:!1,stream:!0,history_turns:3,hl_keywords:[],ll_keywords:[]},e.retrievalHistory=[]),t<7&&(e.graphQueryMaxDepth=3,e.graphLayoutMaxIterations=15),t<8&&(e.graphMinDegree=0,e.language="en"),e)})),Le=k0(hV);class mV{constructor(){Xr(this,"nodes",[]);Xr(this,"edges",[]);Xr(this,"nodeIdMap",{});Xr(this,"edgeIdMap",{});Xr(this,"edgeDynamicIdMap",{});Xr(this,"getNode",t=>{const n=this.nodeIdMap[t];if(n!==void 0)return this.nodes[n]});Xr(this,"getEdge",(t,n=!0)=>{const r=n?this.edgeDynamicIdMap[t]:this.edgeIdMap[t];if(r!==void 0)return this.edges[r]});Xr(this,"buildDynamicMap",()=>{this.edgeDynamicIdMap={};for(let t=0;t({selectedNode:null,focusedNode:null,selectedEdge:null,focusedEdge:null,moveToSelectedNode:!1,isFetching:!1,graphIsEmpty:!1,lastSuccessfulQueryLabel:"",graphDataFetchAttempted:!1,labelsFetchAttempted:!1,rawGraph:null,sigmaGraph:null,sigmaInstance:null,allDatabaseLabels:["*"],searchEngine:null,setGraphIsEmpty:t=>e({graphIsEmpty:t}),setLastSuccessfulQueryLabel:t=>e({lastSuccessfulQueryLabel:t}),setIsFetching:t=>e({isFetching:t}),setSelectedNode:(t,n)=>e({selectedNode:t,moveToSelectedNode:n}),setFocusedNode:t=>e({focusedNode:t}),setSelectedEdge:t=>e({selectedEdge:t}),setFocusedEdge:t=>e({focusedEdge:t}),clearSelection:()=>e({selectedNode:null,focusedNode:null,selectedEdge:null,focusedEdge:null}),reset:()=>{e({selectedNode:null,focusedNode:null,selectedEdge:null,focusedEdge:null,rawGraph:null,sigmaGraph:null,searchEngine:null,moveToSelectedNode:!1,graphIsEmpty:!1})},setRawGraph:t=>e({rawGraph:t}),setSigmaGraph:t=>{e({sigmaGraph:t})},setAllDatabaseLabels:t=>e({allDatabaseLabels:t}),fetchAllDatabaseLabels:async()=>{try{console.log("Fetching all database labels...");const t=await vV();e({allDatabaseLabels:["*",...t]});return}catch(t){throw console.error("Failed to fetch all database labels:",t),e({allDatabaseLabels:["*"]}),t}},setMoveToSelectedNode:t=>e({moveToSelectedNode:t}),setSigmaInstance:t=>e({sigmaInstance:t}),setSearchEngine:t=>e({searchEngine:t}),resetSearchEngine:()=>e({searchEngine:null}),setGraphDataFetchAttempted:t=>e({graphDataFetchAttempted:t}),setLabelsFetchAttempted:t=>e({labelsFetchAttempted:t}),nodeToExpand:null,nodeToPrune:null,triggerNodeExpand:t=>e({nodeToExpand:t}),triggerNodePrune:t=>e({nodeToPrune:t})})),$e=k0(bV);class yV{constructor(){Xr(this,"navigate",null)}setNavigate(t){this.navigate=t}resetAllApplicationState(){console.log("Resetting all application state...");const t=$e.getState(),n=t.sigmaInstance;t.reset(),t.setGraphDataFetchAttempted(!1),t.setLabelsFetchAttempted(!1),t.setSigmaInstance(null),t.setIsFetching(!1),tr.getState().clear(),Le.getState().setRetrievalHistory([]),sessionStorage.clear(),n&&(n.getGraph().clear(),n.kill(),$e.getState().setSigmaInstance(null))}handleDirectLoginAccess(){const t=!document.referrer;return t&&this.resetAllApplicationState(),t}navigateToLogin(){if(!this.navigate){console.error("Navigation function not set");return}this.resetAllApplicationState(),ra.getState().logout(),this.navigate("/login")}navigateToHome(){if(!this.navigate){console.error("Navigation function not set");return}this.navigate("/")}}const C0=new yV,DB="Invalid API Key",LB="API Key required",ar=Yt.create({baseURL:OB,headers:{"Content-Type":"application/json"}});ar.interceptors.request.use(e=>{const t=Le.getState().apiKey,n=localStorage.getItem("LIGHTRAG-API-TOKEN");return n&&(e.headers.Authorization=`Bearer ${n}`),t&&(e.headers["X-API-Key"]=t),e});ar.interceptors.response.use(e=>e,e=>{var t,n,r,a;if(e.response){if(((t=e.response)==null?void 0:t.status)===401){if((r=(n=e.config)==null?void 0:n.url)!=null&&r.includes("/login"))throw e;return C0.navigateToLogin(),Promise.reject(new Error("Authentication required"))}throw new Error(`${e.response.status} ${e.response.statusText} ${JSON.stringify(e.response.data)} ${(a=e.config)==null?void 0:a.url}`)}throw e});const MB=async(e,t,n)=>(await ar.get(`/graphs?label=${encodeURIComponent(e)}&max_depth=${t}&min_degree=${n}`)).data,vV=async()=>(await ar.get("/graph/label/list")).data,SV=async()=>{try{return(await ar.get("/health")).data}catch(e){return{status:"error",message:Sr(e)}}},EV=async()=>(await ar.get("/documents")).data,wV=async()=>(await ar.post("/documents/scan")).data,xV=async e=>(await ar.post("/query",e)).data,kV=async(e,t,n)=>{try{let r="";if(await ar.post("/query/stream",e,{responseType:"text",headers:{Accept:"application/x-ndjson"},transformResponse:[a=>{r+=a;const o=r.split(` `);r=o.pop()||"";for(const s of o)if(s.trim())try{const u=JSON.parse(s);u.response?t(u.response):u.error&&n&&n(u.error)}catch(u){console.error("Error parsing stream chunk:",u),n&&n("Error parsing server response")}return a}]}).catch(a=>{n&&n(Sr(a))}),r.trim())try{const a=JSON.parse(r);a.response?t(a.response):a.error&&n&&n(a.error)}catch(a){console.error("Error parsing final chunk:",a),n&&n("Error parsing server response")}}catch(r){const a=Sr(r);console.error("Stream request failed:",a),n&&n(a)}},TV=async(e,t)=>{const n=new FormData;return n.append("file",e),(await ar.post("/documents/upload",n,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress:t!==void 0?a=>{const o=Math.round(a.loaded*100/a.total);t(o)}:void 0})).data},AV=async()=>(await ar.delete("/documents")).data,PB=async()=>{try{const e=await ar.get("/auth-status",{timeout:5e3,headers:{Accept:"application/json"}});if((e.headers["content-type"]||"").includes("text/html"))return console.warn("Received HTML response instead of JSON for auth-status endpoint"),{auth_configured:!0,auth_mode:"enabled"};if(e.data&&typeof e.data=="object"&&"auth_configured"in e.data&&typeof e.data.auth_configured=="boolean"){if(e.data.auth_configured)return e.data;if(e.data.access_token&&typeof e.data.access_token=="string")return e.data;console.warn("Auth not configured but no valid access token provided")}return console.warn("Received invalid auth status response:",e.data),{auth_configured:!0,auth_mode:"enabled"}}catch(e){return console.error("Failed to get auth status:",Sr(e)),{auth_configured:!0,auth_mode:"enabled"}}},RV=async(e,t)=>{const n=new FormData;return n.append("username",e),n.append("password",t),(await ar.post("/login",n,{headers:{"Content-Type":"multipart/form-data"}})).data},CV=Vf()(e=>({health:!0,message:null,messageTitle:null,lastCheckTime:Date.now(),status:null,check:async()=>{const t=await SV();return t.status==="healthy"?((t.core_version||t.api_version)&&ra.getState().setVersion(t.core_version||null,t.api_version||null),e({health:!0,message:null,messageTitle:null,lastCheckTime:Date.now(),status:t}),!0):(e({health:!1,message:t.message,messageTitle:"Backend Health Check Error!",lastCheckTime:Date.now(),status:null}),!1)},clear:()=>{e({health:!0,message:null,messageTitle:null})},setErrorMessage:(t,n)=>{e({health:!1,message:t,messageTitle:n})}})),tr=k0(CV),_V=e=>{try{const t=e.split(".");return t.length!==3?!1:JSON.parse(atob(t[1])).role==="guest"}catch(t){return console.error("Error parsing token:",t),!1}},NV=()=>{const e=localStorage.getItem("LIGHTRAG-API-TOKEN"),t=localStorage.getItem("LIGHTRAG-CORE-VERSION"),n=localStorage.getItem("LIGHTRAG-API-VERSION");return e?{isAuthenticated:!0,isGuestMode:_V(e),coreVersion:t,apiVersion:n}:{isAuthenticated:!1,isGuestMode:!1,coreVersion:t,apiVersion:n}},ra=Vf(e=>{const t=NV();return{isAuthenticated:t.isAuthenticated,isGuestMode:t.isGuestMode,coreVersion:t.coreVersion,apiVersion:t.apiVersion,login:(n,r=!1,a=null,o=null)=>{localStorage.setItem("LIGHTRAG-API-TOKEN",n),a&&localStorage.setItem("LIGHTRAG-CORE-VERSION",a),o&&localStorage.setItem("LIGHTRAG-API-VERSION",o),e({isAuthenticated:!0,isGuestMode:r,coreVersion:a,apiVersion:o})},logout:()=>{localStorage.removeItem("LIGHTRAG-API-TOKEN");const n=localStorage.getItem("LIGHTRAG-CORE-VERSION"),r=localStorage.getItem("LIGHTRAG-API-VERSION");e({isAuthenticated:!1,isGuestMode:!1,coreVersion:n,apiVersion:r})},setVersion:(n,r)=>{n&&localStorage.setItem("LIGHTRAG-CORE-VERSION",n),r&&localStorage.setItem("LIGHTRAG-API-VERSION",r),e({coreVersion:n,apiVersion:r})}}});var OV=e=>{switch(e){case"success":return LV;case"info":return PV;case"warning":return MV;case"error":return FV;default:return null}},IV=Array(12).fill(0),DV=({visible:e,className:t})=>ve.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},ve.createElement("div",{className:"sonner-spinner"},IV.map((n,r)=>ve.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),LV=ve.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ve.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),MV=ve.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},ve.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),PV=ve.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ve.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),FV=ve.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ve.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),zV=ve.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},ve.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),ve.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),BV=()=>{let[e,t]=ve.useState(document.hidden);return ve.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},fk=1,UV=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,a=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:fk++,o=this.toasts.find(u=>u.id===a),s=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(a)&&this.dismissedToasts.delete(a),o?this.toasts=this.toasts.map(u=>u.id===a?(this.publish({...u,...e,id:a,title:n}),{...u,...e,id:a,dismissible:s,title:n}):u):this.addToast({title:n,...r,dismissible:s,id:a}),a},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),a=n!==void 0,o,s=r.then(async c=>{if(o=["resolve",c],ve.isValidElement(c))a=!1,this.create({id:n,type:"default",message:c});else if(GV(c)&&!c.ok){a=!1;let d=typeof t.error=="function"?await t.error(`HTTP error! status: ${c.status}`):t.error,p=typeof t.description=="function"?await t.description(`HTTP error! status: ${c.status}`):t.description;this.create({id:n,type:"error",message:d,description:p})}else if(t.success!==void 0){a=!1;let d=typeof t.success=="function"?await t.success(c):t.success,p=typeof t.description=="function"?await t.description(c):t.description;this.create({id:n,type:"success",message:d,description:p})}}).catch(async c=>{if(o=["reject",c],t.error!==void 0){a=!1;let d=typeof t.error=="function"?await t.error(c):t.error,p=typeof t.description=="function"?await t.description(c):t.description;this.create({id:n,type:"error",message:d,description:p})}}).finally(()=>{var c;a&&(this.dismiss(n),n=void 0),(c=t.finally)==null||c.call(t)}),u=()=>new Promise((c,d)=>s.then(()=>o[0]==="reject"?d(o[1]):c(o[1])).catch(d));return typeof n!="string"&&typeof n!="number"?{unwrap:u}:Object.assign(n,{unwrap:u})},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||fk++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},jn=new UV,jV=(e,t)=>{let n=(t==null?void 0:t.id)||fk++;return jn.addToast({title:e,...t,id:n}),n},GV=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",HV=jV,$V=()=>jn.toasts,qV=()=>jn.getActiveToasts(),Ft=Object.assign(HV,{success:jn.success,info:jn.info,warning:jn.warning,error:jn.error,custom:jn.custom,message:jn.message,promise:jn.promise,dismiss:jn.dismiss,loading:jn.loading},{getHistory:$V,getToasts:qV});function VV(e,{insertAt:t}={}){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}VV(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} @@ -1129,7 +1129,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho ]))(?:`+(/[^\s\\]/.source+'|[ ]+(?:(?![ "])|'+a+")|"+/\\[\r\n]+(?:[#;].*[\r\n]+)*(?![#;])/.source)+")*"),lookbehind:!0,greedy:!0,alias:"attr-value",inside:{comment:r,quoted:{pattern:RegExp(/(^|\s)/.source+a),lookbehind:!0,greedy:!0},punctuation:/\\$/m,boolean:{pattern:/^(?:false|no|off|on|true|yes)$/,greedy:!0}}},punctuation:/=/}})(t)}return Sw}var Ew,GP;function fA(){if(GP)return Ew;GP=1,Ew=e,e.displayName="t4Templating",e.aliases=[];function e(t){(function(n){function r(o,s,u){return{pattern:RegExp("<#"+o+"[\\s\\S]*?#>"),alias:"block",inside:{delimiter:{pattern:RegExp("^<#"+o+"|#>$"),alias:"important"},content:{pattern:/[\s\S]+/,inside:s,alias:u}}}}function a(o){var s=n.languages[o],u="language-"+o;return{block:{pattern:/<#[\s\S]+?#>/,inside:{directive:r("@",{"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/,inside:{punctuation:/^=|^["']|["']$/}},keyword:/\b\w+(?=\s)/,"attr-name":/\b\w+/}),expression:r("=",s,u),"class-feature":r("\\+",s,u),standard:r("",s,u)}}}}n.languages["t4-templating"]=Object.defineProperty({},"createT4",{value:a})})(t)}return Ew}var ww,HP;function OSe(){if(HP)return ww;HP=1;var e=fA(),t=Ip();ww=n,n.displayName="t4Cs",n.aliases=[];function n(r){r.register(e),r.register(t),r.languages.t4=r.languages["t4-cs"]=r.languages["t4-templating"].createT4("csharp")}return ww}var xw,$P;function BH(){if($P)return xw;$P=1;var e=MH();xw=t,t.displayName="vbnet",t.aliases=[];function t(n){n.register(e),n.languages.vbnet=n.languages.extend("basic",{comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^"])"(?:""|[^"])*"(?!")/,lookbehind:!0,greedy:!0},keyword:/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,punctuation:/[,;:(){}]/})}return xw}var kw,qP;function ISe(){if(qP)return kw;qP=1;var e=fA(),t=BH();kw=n,n.displayName="t4Vb",n.aliases=[];function n(r){r.register(e),r.register(t),r.languages["t4-vb"]=r.languages["t4-templating"].createT4("vbnet")}return kw}var Tw,VP;function UH(){if(VP)return Tw;VP=1,Tw=e,e.displayName="yaml",e.aliases=["yml"];function e(t){(function(n){var r=/[*&][^\s[\]{},]+/,a=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,o="(?:"+a.source+"(?:[ ]+"+r.source+")?|"+r.source+"(?:[ ]+"+a.source+")?)",s=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),u=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function c(d,p){p=(p||"").replace(/m/g,"")+"m";var g=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,function(){return o}).replace(/<>/g,function(){return d});return RegExp(g,p)}n.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,function(){return o})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,function(){return o}).replace(/<>/g,function(){return"(?:"+s+"|"+u+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:c(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:c(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:c(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:c(u),lookbehind:!0,greedy:!0},number:{pattern:c(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:a,important:r,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},n.languages.yml=n.languages.yaml})(t)}return Tw}var Aw,WP;function DSe(){if(WP)return Aw;WP=1;var e=UH();Aw=t,t.displayName="tap",t.aliases=[];function t(n){n.register(e),n.languages.tap={fail:/not ok[^#{\n\r]*/,pass:/ok[^#{\n\r]*/,pragma:/pragma [+-][a-z]+/,bailout:/bail out!.*/i,version:/TAP version \d+/i,plan:/\b\d+\.\.\d+(?: +#.*)?/,subtest:{pattern:/# Subtest(?:: .*)?/,greedy:!0},punctuation:/[{}]/,directive:/#.*/,yamlish:{pattern:/(^[ \t]*)---[\s\S]*?[\r\n][ \t]*\.\.\.$/m,lookbehind:!0,inside:n.languages.yaml,alias:"language-yaml"}}}return Aw}var Rw,YP;function LSe(){if(YP)return Rw;YP=1,Rw=e,e.displayName="tcl",e.aliases=[];function e(t){t.languages.tcl={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:{pattern:/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"/,greedy:!0},variable:[{pattern:/(\$)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/,lookbehind:!0},{pattern:/(\$)\{[^}]+\}/,lookbehind:!0},{pattern:/(^[\t ]*set[ \t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/m,lookbehind:!0}],function:{pattern:/(^[\t ]*proc[ \t]+)\S+/m,lookbehind:!0},builtin:[{pattern:/(^[\t ]*)(?:break|class|continue|error|eval|exit|for|foreach|if|proc|return|switch|while)\b/m,lookbehind:!0},/\b(?:else|elseif)\b/],scope:{pattern:/(^[\t ]*)(?:global|upvar|variable)\b/m,lookbehind:!0,alias:"constant"},keyword:{pattern:/(^[\t ]*|\[)(?:Safe_Base|Tcl|after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|scan|seek|set|socket|source|split|string|subst|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|test|vars|wordBreak(?:After|Before))|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m,lookbehind:!0},operator:/!=?|\*\*?|==|&&?|\|\|?|<[=<]?|>[=>]?|[-+~\/%?^]|\b(?:eq|in|ne|ni)\b/,punctuation:/[{}()\[\]]/}}return Rw}var Cw,KP;function MSe(){if(KP)return Cw;KP=1,Cw=e,e.displayName="textile",e.aliases=[];function e(t){(function(n){var r=/\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\}/.source,a=/\)|\((?![^|()\n]+\))/.source;function o(m,b){return RegExp(m.replace(//g,function(){return"(?:"+r+")"}).replace(//g,function(){return"(?:"+a+")"}),b||"")}var s={css:{pattern:/\{[^{}]+\}/,inside:{rest:n.languages.css}},"class-id":{pattern:/(\()[^()]+(?=\))/,lookbehind:!0,alias:"attr-value"},lang:{pattern:/(\[)[^\[\]]+(?=\])/,lookbehind:!0,alias:"attr-value"},punctuation:/[\\\/]\d+|\S/},u=n.languages.textile=n.languages.extend("markup",{phrase:{pattern:/(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/,lookbehind:!0,inside:{"block-tag":{pattern:o(/^[a-z]\w*(?:||[<>=])*\./.source),inside:{modifier:{pattern:o(/(^[a-z]\w*)(?:||[<>=])+(?=\.)/.source),lookbehind:!0,inside:s},tag:/^[a-z]\w*/,punctuation:/\.$/}},list:{pattern:o(/^[*#]+*\s+\S.*/.source,"m"),inside:{modifier:{pattern:o(/(^[*#]+)+/.source),lookbehind:!0,inside:s},punctuation:/^[*#]+/}},table:{pattern:o(/^(?:(?:||[<>=^~])+\.\s*)?(?:\|(?:(?:||[<>=^~_]|[\\/]\d+)+\.|(?!(?:||[<>=^~_]|[\\/]\d+)+\.))[^|]*)+\|/.source,"m"),inside:{modifier:{pattern:o(/(^|\|(?:\r?\n|\r)?)(?:||[<>=^~_]|[\\/]\d+)+(?=\.)/.source),lookbehind:!0,inside:s},punctuation:/\||^\./}},inline:{pattern:o(/(^|[^a-zA-Z\d])(\*\*|__|\?\?|[*_%@+\-^~])*.+?\2(?![a-zA-Z\d])/.source),lookbehind:!0,inside:{bold:{pattern:o(/(^(\*\*?)*).+?(?=\2)/.source),lookbehind:!0},italic:{pattern:o(/(^(__?)*).+?(?=\2)/.source),lookbehind:!0},cite:{pattern:o(/(^\?\?*).+?(?=\?\?)/.source),lookbehind:!0,alias:"string"},code:{pattern:o(/(^@*).+?(?=@)/.source),lookbehind:!0,alias:"keyword"},inserted:{pattern:o(/(^\+*).+?(?=\+)/.source),lookbehind:!0},deleted:{pattern:o(/(^-*).+?(?=-)/.source),lookbehind:!0},span:{pattern:o(/(^%*).+?(?=%)/.source),lookbehind:!0},modifier:{pattern:o(/(^\*\*|__|\?\?|[*_%@+\-^~])+/.source),lookbehind:!0,inside:s},punctuation:/[*_%?@+\-^~]+/}},"link-ref":{pattern:/^\[[^\]]+\]\S+$/m,inside:{string:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0},url:{pattern:/(^\])\S+$/,lookbehind:!0},punctuation:/[\[\]]/}},link:{pattern:o(/"*[^"]+":.+?(?=[^\w/]?(?:\s|$))/.source),inside:{text:{pattern:o(/(^"*)[^"]+(?=")/.source),lookbehind:!0},modifier:{pattern:o(/(^")+/.source),lookbehind:!0,inside:s},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[":]/}},image:{pattern:o(/!(?:||[<>=])*(?![<>=])[^!\s()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/.source),inside:{source:{pattern:o(/(^!(?:||[<>=])*)(?![<>=])[^!\s()]+(?:\([^)]+\))?(?=!)/.source),lookbehind:!0,alias:"url"},modifier:{pattern:o(/(^!)(?:||[<>=])+/.source),lookbehind:!0,inside:s},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[!:]/}},footnote:{pattern:/\b\[\d+\]/,alias:"comment",inside:{punctuation:/\[|\]/}},acronym:{pattern:/\b[A-Z\d]+\([^)]+\)/,inside:{comment:{pattern:/(\()[^()]+(?=\))/,lookbehind:!0},punctuation:/[()]/}},mark:{pattern:/\b\((?:C|R|TM)\)/,alias:"comment",inside:{punctuation:/[()]/}}}}}),c=u.phrase.inside,d={inline:c.inline,link:c.link,image:c.image,footnote:c.footnote,acronym:c.acronym,mark:c.mark};u.tag.pattern=/<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i;var p=c.inline.inside;p.bold.inside=d,p.italic.inside=d,p.inserted.inside=d,p.deleted.inside=d,p.span.inside=d;var g=c.table.inside;g.inline=d.inline,g.link=d.link,g.image=d.image,g.footnote=d.footnote,g.acronym=d.acronym,g.mark=d.mark})(t)}return Cw}var _w,XP;function PSe(){if(XP)return _w;XP=1,_w=e,e.displayName="toml",e.aliases=[];function e(t){(function(n){var r=/(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")/.source;function a(o){return o.replace(/__/g,function(){return r})}n.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(a(/(^[\t ]*\[\s*(?:\[\s*)?)__(?:\s*\.\s*__)*(?=\s*\])/.source),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(a(/(^[\t ]*|[{,]\s*)__(?:\s*\.\s*__)*(?=\s*=)/.source),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},date:[{pattern:/\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,alias:"number"},{pattern:/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,alias:"number"}],number:/(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/,boolean:/\b(?:false|true)\b/,punctuation:/[.,=[\]{}]/}})(t)}return _w}var Nw,ZP;function FSe(){if(ZP)return Nw;ZP=1,Nw=e,e.displayName="tremor",e.aliases=[];function e(t){(function(n){n.languages.tremor={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},"interpolated-string":null,extractor:{pattern:/\b[a-z_]\w*\|(?:[^\r\n\\|]|\\(?:\r\n|[\s\S]))*\|/i,greedy:!0,inside:{regex:{pattern:/(^re)\|[\s\S]+/,lookbehind:!0},function:/^\w+/,value:/\|[\s\S]+/}},identifier:{pattern:/`[^`]*`/,greedy:!0},function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())\b/,keyword:/\b(?:args|as|by|case|config|connect|connector|const|copy|create|default|define|deploy|drop|each|emit|end|erase|event|flow|fn|for|from|group|having|insert|into|intrinsic|let|links|match|merge|mod|move|of|operator|patch|pipeline|recur|script|select|set|sliding|state|stream|to|tumbling|update|use|when|where|window|with)\b/,boolean:/\b(?:false|null|true)\b/i,number:/\b(?:0b[01_]*|0x[0-9a-fA-F_]*|\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee][+-]?[\d_]+)?)\b/,"pattern-punctuation":{pattern:/%(?=[({[])/,alias:"punctuation"},operator:/[-+*\/%~!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?>?=?|(?:absent|and|not|or|present|xor)\b/,punctuation:/::|[;\[\]()\{\},.:]/};var r=/#\{(?:[^"{}]|\{[^{}]*\}|"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*")*\}/.source;n.languages.tremor["interpolated-string"]={pattern:RegExp(/(^|[^\\])/.source+'(?:"""(?:'+/[^"\\#]|\\[\s\S]|"(?!"")|#(?!\{)/.source+"|"+r+')*"""|"(?:'+/[^"\\\r\n#]|\\(?:\r\n|[\s\S])|#(?!\{)/.source+"|"+r+')*")'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:RegExp(r),inside:{punctuation:/^#\{|\}$/,expression:{pattern:/[\s\S]+/,inside:n.languages.tremor}}},string:/[\s\S]+/}},n.languages.troy=n.languages.tremor,n.languages.trickle=n.languages.tremor})(t)}return Nw}var Ow,QP;function zSe(){if(QP)return Ow;QP=1;var e=FH(),t=uA();Ow=n,n.displayName="tsx",n.aliases=[];function n(r){r.register(e),r.register(t),function(a){var o=a.util.clone(a.languages.typescript);a.languages.tsx=a.languages.extend("jsx",o),delete a.languages.tsx.parameter,delete a.languages.tsx["literal-property"];var s=a.languages.tsx.tag;s.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+s.pattern.source+")",s.pattern.flags),s.lookbehind=!0}(r)}return Ow}var Iw,JP;function BSe(){if(JP)return Iw;JP=1;var e=Vn();Iw=t,t.displayName="tt2",t.aliases=[];function t(n){n.register(e),function(r){r.languages.tt2=r.languages.extend("clike",{comment:/#.*|\[%#[\s\S]*?%\]/,keyword:/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|SWITCH|TAGS|THROW|TRY|UNLESS|USE|WHILE|WRAPPER)\b/,punctuation:/[[\]{},()]/}),r.languages.insertBefore("tt2","number",{operator:/=[>=]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|not|or)\b/,variable:{pattern:/\b[a-z]\w*(?:\s*\.\s*(?:\d+|\$?[a-z]\w*))*\b/i}}),r.languages.insertBefore("tt2","keyword",{delimiter:{pattern:/^(?:\[%|%%)-?|-?%\]$/,alias:"punctuation"}}),r.languages.insertBefore("tt2","string",{"single-quoted-string":{pattern:/'[^\\']*(?:\\[\s\S][^\\']*)*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"[^\\"]*(?:\\[\s\S][^\\"]*)*"/,greedy:!0,alias:"string",inside:{variable:{pattern:/\$(?:[a-z]\w*(?:\.(?:\d+|\$?[a-z]\w*))*)/i}}}}),delete r.languages.tt2.string,r.hooks.add("before-tokenize",function(a){var o=/\[%[\s\S]+?%\]/g;r.languages["markup-templating"].buildPlaceholders(a,"tt2",o)}),r.hooks.add("after-tokenize",function(a){r.languages["markup-templating"].tokenizePlaceholders(a,"tt2")})}(n)}return Iw}var Dw,eF;function USe(){if(eF)return Dw;eF=1;var e=Vn();Dw=t,t.displayName="twig",t.aliases=[];function t(n){n.register(e),n.languages.twig={comment:/^\{#[\s\S]*?#\}$/,"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/},n.hooks.add("before-tokenize",function(r){if(r.language==="twig"){var a=/\{(?:#[\s\S]*?#|%[\s\S]*?%|\{[\s\S]*?\})\}/g;n.languages["markup-templating"].buildPlaceholders(r,"twig",a)}}),n.hooks.add("after-tokenize",function(r){n.languages["markup-templating"].tokenizePlaceholders(r,"twig")})}return Dw}var Lw,tF;function jSe(){if(tF)return Lw;tF=1,Lw=e,e.displayName="typoscript",e.aliases=["tsconfig"];function e(t){(function(n){var r=/\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\b/;n.languages.typoscript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^"'])#.*/,lookbehind:!0,greedy:!0}],function:[{pattern://,inside:{string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,inside:{keyword:r}},keyword:{pattern:/INCLUDE_TYPOSCRIPT/}}},{pattern:/@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/,inside:{string:/"[^"\r\n]*"|'[^'\r\n]*'/}}],string:{pattern:/^([^=]*=[< ]?)(?:(?!\]\n).)*/,lookbehind:!0,inside:{function:/\{\$.*\}/,keyword:r,number:/^\d+$/,punctuation:/[,|:]/}},keyword:r,number:{pattern:/\b\d+\s*[.{=]/,inside:{operator:/[.{=]/}},tag:{pattern:/\.?[-\w\\]+\.?/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:|]/,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},n.languages.tsconfig=n.languages.typoscript})(t)}return Lw}var Mw,nF;function GSe(){if(nF)return Mw;nF=1,Mw=e,e.displayName="unrealscript",e.aliases=["uc","uscript"];function e(t){t.languages.unrealscript={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},category:{pattern:/(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/,lookbehind:!0,greedy:!0,alias:"property"},metadata:{pattern:/(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/,lookbehind:!0,greedy:!0,inside:{property:/\b\w+(?=\s*=)/,operator:/=/,punctuation:/[<>|]/}},macro:{pattern:/`\w+/,alias:"property"},"class-name":{pattern:/(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/,lookbehind:!0},keyword:/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/>>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:ClockwiseFrom|Cross|Dot)\b/,punctuation:/[()[\]{};,.]/},t.languages.uc=t.languages.uscript=t.languages.unrealscript}return Mw}var Pw,rF;function HSe(){if(rF)return Pw;rF=1,Pw=e,e.displayName="uorazor",e.aliases=[];function e(t){t.languages.uorazor={"comment-hash":{pattern:/#.*/,alias:"comment",greedy:!0},"comment-slash":{pattern:/\/\/.*/,alias:"comment",greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/},greedy:!0},"source-layers":{pattern:/\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\b/i,alias:"function"},"source-commands":{pattern:/\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\b/,alias:"function"},"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},function:/\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\b/,keyword:/\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/}}return Pw}var Fw,aF;function $Se(){if(aF)return Fw;aF=1,Fw=e,e.displayName="uri",e.aliases=["url"];function e(t){t.languages.uri={scheme:{pattern:/^[a-z][a-z0-9+.-]*:/im,greedy:!0,inside:{"scheme-delimiter":/:$/}},fragment:{pattern:/#[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"fragment-delimiter":/^#/}},query:{pattern:/\?[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"query-delimiter":{pattern:/^\?/,greedy:!0},"pair-delimiter":/[&;]/,pair:{pattern:/^[^=][\s\S]*/,inside:{key:/^[^=]+/,value:{pattern:/(^=)[\s\S]+/,lookbehind:!0}}}}},authority:{pattern:RegExp(/^\/\//.source+/(?:[\w\-.~!$&'()*+,;=%:]*@)?/.source+("(?:"+/\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\.[\w\-.~!$&'()*+,;=]+)\]/.source+"|"+/[\w\-.~!$&'()*+,;=%]*/.source+")")+/(?::\d*)?/.source,"m"),inside:{"authority-delimiter":/^\/\//,"user-info-segment":{pattern:/^[\w\-.~!$&'()*+,;=%:]*@/,inside:{"user-info-delimiter":/@$/,"user-info":/^[\w\-.~!$&'()*+,;=%:]+/}},"port-segment":{pattern:/:\d*$/,inside:{"port-delimiter":/^:/,port:/^\d+/}},host:{pattern:/[\s\S]+/,inside:{"ip-literal":{pattern:/^\[[\s\S]+\]$/,inside:{"ip-literal-delimiter":/^\[|\]$/,"ipv-future":/^v[\s\S]+/,"ipv6-address":/^[\s\S]+/}},"ipv4-address":/^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/}}}},path:{pattern:/^[\w\-.~!$&'()*+,;=%:@/]+/m,inside:{"path-separator":/\//}}},t.languages.url=t.languages.uri}return Fw}var zw,oF;function qSe(){if(oF)return zw;oF=1,zw=e,e.displayName="v",e.aliases=[];function e(t){(function(n){var r={pattern:/[\s\S]+/,inside:null};n.languages.v=n.languages.extend("clike",{string:{pattern:/r?(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,alias:"quoted-string",greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[^{}]*\}|\w+(?:\.\w+(?:\([^\(\)]*\))?|\[[^\[\]]+\])*)/,lookbehind:!0,inside:{"interpolation-variable":{pattern:/^\$\w[\s\S]*$/,alias:"variable"},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},"interpolation-expression":r}}}},"class-name":{pattern:/(\b(?:enum|interface|struct|type)\s+)(?:C\.)?\w+/,lookbehind:!0},keyword:/(?:\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\$(?:else|for|if)|#(?:flag|include))\b/,number:/\b(?:0x[a-f\d]+(?:_[a-f\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?)\b/i,operator:/~|\?|[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\.?/,builtin:/\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\b/}),r.inside=n.languages.v,n.languages.insertBefore("v","string",{char:{pattern:/`(?:\\`|\\?[^`]{1,2})`/,alias:"rune"}}),n.languages.insertBefore("v","operator",{attribute:{pattern:/(^[\t ]*)\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\]/m,lookbehind:!0,alias:"annotation",inside:{punctuation:/[\[\]]/,keyword:/\w+/}},generic:{pattern:/<\w+>(?=\s*[\)\{])/,inside:{punctuation:/[<>]/,"class-name":/\w+/}}}),n.languages.insertBefore("v","function",{"generic-function":{pattern:/\b\w+\s*<\w+>(?=\()/,inside:{function:/^\w+/,generic:{pattern:/<\w+>/,inside:n.languages.v.generic.inside}}}})})(t)}return zw}var Bw,iF;function VSe(){if(iF)return Bw;iF=1,Bw=e,e.displayName="vala",e.aliases=[];function e(t){t.languages.vala=t.languages.extend("clike",{"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/,inside:{punctuation:/\./}},{pattern:/(\[)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/((?:\b(?:class|enum|interface|new|struct)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}}],keyword:/\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\b/i,function:/\b\w+(?=\s*\()/,number:/(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i,operator:/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./,punctuation:/[{}[\];(),.:]/,constant:/\b[A-Z0-9_]+\b/}),t.languages.insertBefore("vala","string",{"raw-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"template-string":{pattern:/@"[\s\S]*?"/,greedy:!0,inside:{interpolation:{pattern:/\$(?:\([^)]*\)|[a-zA-Z]\w*)/,inside:{delimiter:{pattern:/^\$\(?|\)$/,alias:"punctuation"},rest:t.languages.vala}},string:/[\s\S]+/}}}),t.languages.insertBefore("vala","keyword",{regex:{pattern:/\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:t.languages.regex},"regex-delimiter":/^\//,"regex-flags":/^[a-z]+$/}}})}return Bw}var Uw,sF;function WSe(){if(sF)return Uw;sF=1,Uw=e,e.displayName="velocity",e.aliases=[];function e(t){(function(n){n.languages.velocity=n.languages.extend("markup",{});var r={variable:{pattern:/(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i,lookbehind:!0,inside:{}},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},number:/\b\d+\b/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,punctuation:/[(){}[\]:,.]/};r.variable.inside={string:r.string,function:{pattern:/([^\w-])[a-z][\w-]*(?=\()/,lookbehind:!0},number:r.number,boolean:r.boolean,punctuation:r.punctuation},n.languages.insertBefore("velocity","comment",{unparsed:{pattern:/(^|[^\\])#\[\[[\s\S]*?\]\]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\[\[|\]\]#$/}},"velocity-comment":[{pattern:/(^|[^\\])#\*[\s\S]*?\*#/,lookbehind:!0,greedy:!0,alias:"comment"},{pattern:/(^|[^\\])##.*/,lookbehind:!0,greedy:!0,alias:"comment"}],directive:{pattern:/(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})|\bin\b/,inside:{punctuation:/[{}]/}},rest:r}},variable:r.variable}),n.languages.velocity.tag.inside["attr-value"].inside.rest=n.languages.velocity})(t)}return Uw}var jw,lF;function YSe(){if(lF)return jw;lF=1,jw=e,e.displayName="verilog",e.aliases=[];function e(t){t.languages.verilog={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"kernel-function":{pattern:/\B\$\w+\b/,alias:"property"},constant:/\B`\w+\b/,function:/\b\w+(?=\()/,keyword:/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/,important:/\b(?:always|always_comb|always_ff|always_latch)\b(?: *@)?/,number:/\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b(?:\d*[._])?\d+(?:e[-+]?\d+)?/i,operator:/[-+{}^~%*\/?=!<>&|]+/,punctuation:/[[\];(),.:]/}}return jw}var Gw,uF;function KSe(){if(uF)return Gw;uF=1,Gw=e,e.displayName="vhdl",e.aliases=[];function e(t){t.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,constant:/\b(?:library|use)\b/i,keyword:/\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\b/i,boolean:/\b(?:false|true)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i,punctuation:/[{}[\];(),.:]/}}return Gw}var Hw,cF;function XSe(){if(cF)return Hw;cF=1,Hw=e,e.displayName="vim",e.aliases=[];function e(t){t.languages.vim={string:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,comment:/".*/,function:/\b\w+(?=\()/,keyword:/\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/,builtin:/\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,operator:/\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,punctuation:/[{}[\](),;:]/}}return Hw}var $w,dF;function ZSe(){if(dF)return $w;dF=1,$w=e,e.displayName="visualBasic",e.aliases=[];function e(t){t.languages["visual-basic"]={comment:{pattern:/(?:['‘’]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\b_[ \t]*(?:\r\n?|\n)|.)+/i,alias:"property",greedy:!0},string:{pattern:/\$?["“”](?:["“”]{2}|[^"“”])*["“”]C?/i,greedy:!0},date:{pattern:/#[ \t]*(?:\d+([/-])\d+\1\d+(?:[ \t]+(?:\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?))?|\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?)[ \t]*#/i,alias:"number"},number:/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:[FRD]|U?[ILS])?/i,boolean:/\b(?:False|Nothing|True)\b/i,keyword:/\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\b/i,operator:/[+\-*/\\^<=>&#@$%!]|\b_(?=[ \t]*[\r\n])/,punctuation:/[{}().,:?]/},t.languages.vb=t.languages["visual-basic"],t.languages.vba=t.languages["visual-basic"]}return $w}var qw,fF;function QSe(){if(fF)return qw;fF=1,qw=e,e.displayName="warpscript",e.aliases=[];function e(t){t.languages.warpscript={comment:/#.*|\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/,greedy:!0},variable:/\$\S+/,macro:{pattern:/@\S+/,alias:"property"},keyword:/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/,number:/[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/,boolean:/\b(?:F|T|false|true)\b/,punctuation:/<%|%>|[{}[\]()]/,operator:/==|&&?|\|\|?|\*\*?|>>>?|<<|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/}}return qw}var Vw,pF;function JSe(){if(pF)return Vw;pF=1,Vw=e,e.displayName="wasm",e.aliases=[];function e(t){t.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/}}return Vw}var Ww,gF;function eEe(){if(gF)return Ww;gF=1,Ww=e,e.displayName="webIdl",e.aliases=[];function e(t){(function(n){var r=/(?:\B-|\b_|\b)[A-Za-z][\w-]*(?![\w-])/.source,a="(?:"+/\b(?:unsigned\s+)?long\s+long(?![\w-])/.source+"|"+/\b(?:unrestricted|unsigned)\s+[a-z]+(?![\w-])/.source+"|"+/(?!(?:unrestricted|unsigned)\b)/.source+r+/(?:\s*<(?:[^<>]|<[^<>]*>)*>)?/.source+")"+/(?:\s*\?)?/.source,o={};n.languages["web-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"[^"]*"/,greedy:!0},namespace:{pattern:RegExp(/(\bnamespace\s+)/.source+r),lookbehind:!0},"class-name":[{pattern:/(^|[^\w-])(?:iterable|maplike|setlike)\s*<(?:[^<>]|<[^<>]*>)*>/,lookbehind:!0,inside:o},{pattern:RegExp(/(\b(?:attribute|const|deleter|getter|optional|setter)\s+)/.source+a),lookbehind:!0,inside:o},{pattern:RegExp("("+/\bcallback\s+/.source+r+/\s*=\s*/.source+")"+a),lookbehind:!0,inside:o},{pattern:RegExp(/(\btypedef\b\s*)/.source+a),lookbehind:!0,inside:o},{pattern:RegExp(/(\b(?:callback|dictionary|enum|interface(?:\s+mixin)?)\s+)(?!(?:interface|mixin)\b)/.source+r),lookbehind:!0},{pattern:RegExp(/(:\s*)/.source+r),lookbehind:!0},RegExp(r+/(?=\s+(?:implements|includes)\b)/.source),{pattern:RegExp(/(\b(?:implements|includes)\s+)/.source+r),lookbehind:!0},{pattern:RegExp(a+"(?="+/\s*(?:\.{3}\s*)?/.source+r+/\s*[(),;=]/.source+")"),inside:o}],builtin:/\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\b/,keyword:[/\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\b/,/\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\b/],boolean:/\b(?:false|true)\b/,number:{pattern:/(^|[^\w-])-?(?:0x[0-9a-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|NaN|Infinity)(?![\w-])/i,lookbehind:!0},operator:/\.{3}|[=:?<>-]/,punctuation:/[(){}[\].,;]/};for(var s in n.languages["web-idl"])s!=="class-name"&&(o[s]=n.languages["web-idl"][s]);n.languages.webidl=n.languages["web-idl"]})(t)}return Ww}var Yw,hF;function tEe(){if(hF)return Yw;hF=1,Yw=e,e.displayName="wiki",e.aliases=[];function e(t){t.languages.wiki=t.languages.extend("markup",{"block-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,alias:"comment"},heading:{pattern:/^(=+)[^=\r\n].*?\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\1/,inside:{"bold-italic":{pattern:/(''''').+?(?=\1)/,lookbehind:!0,alias:["bold","italic"]},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:"punctuation"},url:[/ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:PMID|RFC) +\d+/i,/\[\[.+?\]\]|\[.+?\]/],variable:[/__[A-Z]+__/,/\{{3}.+?\}{3}/,/\{\{.+?\}\}/],symbol:[/^#redirect/im,/~{3,5}/],"table-tag":{pattern:/((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,lookbehind:!0,inside:{"table-bar":{pattern:/\|$/,alias:"punctuation"},rest:t.languages.markup.tag.inside}},punctuation:/^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m}),t.languages.insertBefore("wiki","tag",{nowiki:{pattern:/<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,inside:t.languages.markup.tag.inside}}}})}return Yw}var Kw,mF;function nEe(){if(mF)return Kw;mF=1,Kw=e,e.displayName="wolfram",e.aliases=["mathematica","wl","nb"];function e(t){t.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\b\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:False|True)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\^|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},t.languages.mathematica=t.languages.wolfram,t.languages.wl=t.languages.wolfram,t.languages.nb=t.languages.wolfram}return Kw}var Xw,bF;function rEe(){if(bF)return Xw;bF=1,Xw=e,e.displayName="wren",e.aliases=[];function e(t){t.languages.wren={comment:[{pattern:/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\//,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"string-literal":null,hashbang:{pattern:/^#!\/.+/,greedy:!0,alias:"comment"},attribute:{pattern:/#!?[ \t\u3000]*\w+/,alias:"keyword"},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},/\b[A-Z][a-z\d_]*\b/],constant:/\b[A-Z][A-Z\d_]*\b/,null:{pattern:/\bnull\b/,alias:"keyword"},keyword:/\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\b/,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,function:/\b[a-z_]\w*(?=\s*[({])/i,operator:/<<|>>|[=!<>]=?|&&|\|\||[-+*/%~^&|?:]|\.{2,3}/,punctuation:/[\[\](){}.,;]/},t.languages.wren["string-literal"]={pattern:/(^|[^\\"])"(?:[^\\"%]|\\[\s\S]|%(?!\()|%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\))*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\)/,lookbehind:!0,inside:{expression:{pattern:/^(%\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:t.languages.wren},"interpolation-punctuation":{pattern:/^%\(|\)$/,alias:"punctuation"}}},string:/[\s\S]+/}}}return Xw}var Zw,yF;function aEe(){if(yF)return Zw;yF=1,Zw=e,e.displayName="xeora",e.aliases=["xeoracube"];function e(t){(function(n){n.languages.xeora=n.languages.extend("markup",{constant:{pattern:/\$(?:DomainContents|PageRenderDuration)\$/,inside:{punctuation:{pattern:/\$/}}},variable:{pattern:/\$@?(?:#+|[-+*~=^])?[\w.]+\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},"function-inline":{pattern:/\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\$\w:|[$:?.,|]/}},alias:"function"},"function-block":{pattern:/\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:"function"},"directive-inline":{pattern:/\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}}},alias:"function"},"directive-block-open":{pattern:/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:"keyword"}},alias:"function"},"directive-block-separator":{pattern:/\}:[-\w.]+:\{/,inside:{punctuation:{pattern:/[:{}]/}},alias:"function"},"directive-block-close":{pattern:/\}:[-\w.]+\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:"function"}}),n.languages.insertBefore("inside","punctuation",{variable:n.languages.xeora["function-inline"].inside.variable},n.languages.xeora["function-block"]),n.languages.xeoracube=n.languages.xeora})(t)}return Zw}var Qw,vF;function oEe(){if(vF)return Qw;vF=1,Qw=e,e.displayName="xmlDoc",e.aliases=[];function e(t){(function(n){function r(u,c){n.languages[u]&&n.languages.insertBefore(u,"comment",{"doc-comment":c})}var a=n.languages.markup.tag,o={pattern:/\/\/\/.*/,greedy:!0,alias:"comment",inside:{tag:a}},s={pattern:/'''.*/,greedy:!0,alias:"comment",inside:{tag:a}};r("csharp",o),r("fsharp",o),r("vbnet",s)})(t)}return Qw}var Jw,SF;function iEe(){if(SF)return Jw;SF=1,Jw=e,e.displayName="xojo",e.aliases=[];function e(t){t.languages.xojo={comment:{pattern:/(?:'|\/\/|Rem\b).+/i,greedy:!0},string:{pattern:/"(?:""|[^"])*"/,greedy:!0},number:[/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,/&[bchou][a-z\d]+/i],directive:{pattern:/#(?:Else|ElseIf|Endif|If|Pragma)\b/i,alias:"property"},keyword:/\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\b/i,operator:/<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\b/i,punctuation:/[.,;:()]/}}return Jw}var ex,EF;function sEe(){if(EF)return ex;EF=1,ex=e,e.displayName="xquery",e.aliases=[];function e(t){(function(n){n.languages.xquery=n.languages.extend("markup",{"xquery-comment":{pattern:/\(:[\s\S]*?:\)/,greedy:!0,alias:"comment"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:!0},extension:{pattern:/\(#.+?#\)/,alias:"symbol"},variable:/\$[-\w:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:"operator"},"keyword-operator":{pattern:/(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,lookbehind:!0},function:/[\w-]+(?::[\w-]+)*(?=\s*\()/,"xquery-element":{pattern:/(element\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"tag"},"xquery-attribute":{pattern:/(attribute\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"attr-name"},builtin:{pattern:/(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,lookbehind:!0},number:/\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,operator:[/[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}],punctuation:/[[\](){},;:/]/}),n.languages.xquery.tag.pattern=/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,n.languages.xquery.tag.inside["attr-value"].pattern=/=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/,n.languages.xquery.tag.inside["attr-value"].inside.punctuation=/^="|"$/,n.languages.xquery.tag.inside["attr-value"].inside.expression={pattern:/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,inside:n.languages.xquery,alias:"language-xquery"};var r=function(o){return typeof o=="string"?o:typeof o.content=="string"?o.content:o.content.map(r).join("")},a=function(o){for(var s=[],u=0;u0&&s[s.length-1].tagName===r(c.content[0].content[1])&&s.pop():c.content[c.content.length-1].content==="/>"||s.push({tagName:r(c.content[0].content[1]),openedBraces:0}):s.length>0&&c.type==="punctuation"&&c.content==="{"&&(!o[u+1]||o[u+1].type!=="punctuation"||o[u+1].content!=="{")&&(!o[u-1]||o[u-1].type!=="plain-text"||o[u-1].content!=="{")?s[s.length-1].openedBraces++:s.length>0&&s[s.length-1].openedBraces>0&&c.type==="punctuation"&&c.content==="}"?s[s.length-1].openedBraces--:c.type!=="comment"&&(d=!0)),(d||typeof c=="string")&&s.length>0&&s[s.length-1].openedBraces===0){var p=r(c);u0&&(typeof o[u-1]=="string"||o[u-1].type==="plain-text")&&(p=r(o[u-1])+p,o.splice(u-1,1),u--),/^\s+$/.test(p)?o[u]=p:o[u]=new n.Token("plain-text",p,null,p)}c.content&&typeof c.content!="string"&&a(c.content)}};n.hooks.add("after-tokenize",function(o){o.language==="xquery"&&a(o.tokens)})})(t)}return ex}var tx,wF;function lEe(){if(wF)return tx;wF=1,tx=e,e.displayName="yang",e.aliases=[];function e(t){t.languages.yang={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"(?:[^\\"]|\\.)*"|'[^']*'/,greedy:!0},keyword:{pattern:/(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i,lookbehind:!0},namespace:{pattern:/(\s)[a-z_][\w.-]*(?=:)/i,lookbehind:!0},boolean:/\b(?:false|true)\b/,operator:/\+/,punctuation:/[{};:]/}}return tx}var nx,xF;function uEe(){if(xF)return nx;xF=1,nx=e,e.displayName="zig",e.aliases=[];function e(t){(function(n){function r(p){return function(){return p}}var a=/\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/,o="\\b(?!"+a.source+")(?!\\d)\\w+\\b",s=/align\s*\((?:[^()]|\([^()]*\))*\)/.source,u=/(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*|\s*const\b|\s*volatile\b|\s*allowzero\b)*)/.source.replace(//g,r(s)),c=/(?:\bpromise\b|(?:\berror\.)?(?:\.)*(?!\s+))/.source.replace(//g,r(o)),d="(?!\\s)(?:!?\\s*(?:"+u+"\\s*)*"+c+")+";n.languages.zig={comment:[{pattern:/\/\/[/!].*/,alias:"doc-comment"},/\/{2}.*/],string:[{pattern:/(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,lookbehind:!0,greedy:!0},{pattern:/([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,lookbehind:!0,greedy:!0}],char:{pattern:/(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,lookbehind:!0,greedy:!0},builtin:/\B@(?!\d)\w+(?=\s*\()/,label:{pattern:/(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,lookbehind:!0},"class-name":[/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,{pattern:RegExp(/(:\s*)(?=\s*(?:\s*)?[=;,)])|(?=\s*(?:\s*)?\{)/.source.replace(//g,r(d)).replace(//g,r(s))),lookbehind:!0,inside:null},{pattern:RegExp(/(\)\s*)(?=\s*(?:\s*)?;)/.source.replace(//g,r(d)).replace(//g,r(s))),lookbehind:!0,inside:null}],"builtin-type":{pattern:/\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/,alias:"keyword"},keyword:a,function:/\b(?!\d)\w+(?=\s*\()/,number:/\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/,boolean:/\b(?:false|true)\b/,operator:/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,punctuation:/[.:,;(){}[\]]/},n.languages.zig["class-name"].forEach(function(p){p.inside===null&&(p.inside=n.languages.zig)})})(t)}return nx}var rx,kF;function cEe(){if(kF)return rx;kF=1;var e=Ame();return rx=e,e.register(Cme()),e.register(_me()),e.register(Nme()),e.register(Ome()),e.register(Ime()),e.register(Dme()),e.register(Lme()),e.register(Mme()),e.register(Pme()),e.register(Fme()),e.register(zme()),e.register(Bme()),e.register(Ume()),e.register(jme()),e.register(Gme()),e.register(Hme()),e.register($me()),e.register(qme()),e.register(Vme()),e.register(Wme()),e.register(Yme()),e.register(Kme()),e.register(LH()),e.register(MH()),e.register(Xme()),e.register(Zme()),e.register(Qme()),e.register(Jme()),e.register(ebe()),e.register(tbe()),e.register(nbe()),e.register(rbe()),e.register(abe()),e.register(obe()),e.register(Ri()),e.register(ibe()),e.register(sbe()),e.register(lbe()),e.register(ube()),e.register(cbe()),e.register(dbe()),e.register(fbe()),e.register(pbe()),e.register(gbe()),e.register(iA()),e.register(hbe()),e.register(Ip()),e.register(mbe()),e.register(bbe()),e.register(ybe()),e.register(vbe()),e.register(Sbe()),e.register(Ebe()),e.register(wbe()),e.register(xbe()),e.register(kbe()),e.register(Tbe()),e.register(Abe()),e.register(Rbe()),e.register(Cbe()),e.register(_be()),e.register(Nbe()),e.register(Obe()),e.register(Ibe()),e.register(Dbe()),e.register(Lbe()),e.register(Mbe()),e.register(Pbe()),e.register(Fbe()),e.register(zbe()),e.register(Bbe()),e.register(Ube()),e.register(jbe()),e.register(Gbe()),e.register(Hbe()),e.register($be()),e.register(qbe()),e.register(Vbe()),e.register(Wbe()),e.register(Ybe()),e.register(Kbe()),e.register(Xbe()),e.register(Zbe()),e.register(Qbe()),e.register(Jbe()),e.register(eye()),e.register(tye()),e.register(nye()),e.register(rye()),e.register(aye()),e.register(oye()),e.register(iye()),e.register(sye()),e.register(lye()),e.register(sA()),e.register(uye()),e.register(cye()),e.register(dye()),e.register(fye()),e.register(pye()),e.register(gye()),e.register(hye()),e.register(mye()),e.register(bye()),e.register(yye()),e.register(vye()),e.register(Sye()),e.register(Eye()),e.register(wye()),e.register(xye()),e.register(kye()),e.register(Tye()),e.register(lA()),e.register(Aye()),e.register(Lp()),e.register(Rye()),e.register(Cye()),e.register(_ye()),e.register(Nye()),e.register(Oye()),e.register(Iye()),e.register(Dye()),e.register(cA()),e.register(Lye()),e.register(Mye()),e.register(Pye()),e.register(FH()),e.register(Fye()),e.register(zye()),e.register(Bye()),e.register(Uye()),e.register(jye()),e.register(Gye()),e.register(Hye()),e.register($ye()),e.register(qye()),e.register(Vye()),e.register(Wye()),e.register(Yye()),e.register(Kye()),e.register(Xye()),e.register(Zye()),e.register(Qye()),e.register(PH()),e.register(Jye()),e.register(eve()),e.register(tve()),e.register(Vn()),e.register(nve()),e.register(rve()),e.register(ave()),e.register(ove()),e.register(ive()),e.register(sve()),e.register(lve()),e.register(uve()),e.register(cve()),e.register(dve()),e.register(fve()),e.register(pve()),e.register(gve()),e.register(hve()),e.register(mve()),e.register(bve()),e.register(yve()),e.register(vve()),e.register(Sve()),e.register(Eve()),e.register(wve()),e.register(xve()),e.register(kve()),e.register(Tve()),e.register(Ave()),e.register(Rve()),e.register(Cve()),e.register(_ve()),e.register(Nve()),e.register(Ove()),e.register(Ive()),e.register(Dve()),e.register(Mp()),e.register(Lve()),e.register(Mve()),e.register(Pve()),e.register(Fve()),e.register(zve()),e.register(Bve()),e.register(Uve()),e.register(jve()),e.register(Gve()),e.register(Hve()),e.register($ve()),e.register(qve()),e.register(Vve()),e.register(Wve()),e.register(Yve()),e.register(Kve()),e.register(Xve()),e.register(Zve()),e.register(Qve()),e.register(Jve()),e.register(eSe()),e.register(tSe()),e.register(nSe()),e.register(rSe()),e.register(aSe()),e.register(oSe()),e.register(iSe()),e.register(sSe()),e.register(lSe()),e.register(uSe()),e.register(Dp()),e.register(cSe()),e.register(dSe()),e.register(fSe()),e.register(pSe()),e.register(dA()),e.register(gSe()),e.register(hSe()),e.register(mSe()),e.register(bSe()),e.register(ySe()),e.register(vSe()),e.register(SSe()),e.register(ESe()),e.register(wSe()),e.register(xSe()),e.register(kSe()),e.register(TSe()),e.register(oA()),e.register(ASe()),e.register(RSe()),e.register(CSe()),e.register(_Se()),e.register(NSe()),e.register(OSe()),e.register(fA()),e.register(ISe()),e.register(DSe()),e.register(LSe()),e.register(MSe()),e.register(PSe()),e.register(FSe()),e.register(zSe()),e.register(BSe()),e.register(zH()),e.register(USe()),e.register(uA()),e.register(jSe()),e.register(GSe()),e.register(HSe()),e.register($Se()),e.register(qSe()),e.register(VSe()),e.register(BH()),e.register(WSe()),e.register(YSe()),e.register(KSe()),e.register(XSe()),e.register(ZSe()),e.register(QSe()),e.register(JSe()),e.register(eEe()),e.register(tEe()),e.register(nEe()),e.register(rEe()),e.register(aEe()),e.register(oEe()),e.register(iEe()),e.register(sEe()),e.register(UH()),e.register(lEe()),e.register(uEe()),rx}var dEe=cEe();const fEe=cn(dEe);var jH=Qpe(fEe,Rme);jH.supportedLanguages=Jpe;var ax={},ox={exports:{}},TF;function pEe(){return TF||(TF=1,function(e){function t(n){return n&&n.__esModule?n:{default:n}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}(ox)),ox.exports}var ix={},AF;function gEe(){return AF||(AF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"black",background:"none",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",maxHeight:"inherit",height:"inherit",padding:"0 1em",display:"block",overflow:"auto"},'pre[class*="language-"]':{color:"black",background:"none",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",position:"relative",margin:".5em 0",overflow:"visible",padding:"1px",backgroundColor:"#fdfdfd",WebkitBoxSizing:"border-box",MozBoxSizing:"border-box",boxSizing:"border-box",marginBottom:"1em"},'pre[class*="language-"] > code':{position:"relative",zIndex:"1",borderLeft:"10px solid #358ccb",boxShadow:"-1px 0px 0px 0px #358ccb, 0px 0px 0px 1px #dfdfdf",backgroundColor:"#fdfdfd",backgroundImage:"linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%)",backgroundSize:"3em 3em",backgroundOrigin:"content-box",backgroundAttachment:"local"},':not(pre) > code[class*="language-"]':{backgroundColor:"#fdfdfd",WebkitBoxSizing:"border-box",MozBoxSizing:"border-box",boxSizing:"border-box",marginBottom:"1em",position:"relative",padding:".2em",borderRadius:"0.3em",color:"#c92c2c",border:"1px solid rgba(0, 0, 0, 0.1)",display:"inline",whiteSpace:"normal"},'pre[class*="language-"]:before':{content:"''",display:"block",position:"absolute",bottom:"0.75em",left:"0.18em",width:"40%",height:"20%",maxHeight:"13em",boxShadow:"0px 13px 8px #979797",WebkitTransform:"rotate(-2deg)",MozTransform:"rotate(-2deg)",msTransform:"rotate(-2deg)",OTransform:"rotate(-2deg)",transform:"rotate(-2deg)"},'pre[class*="language-"]:after':{content:"''",display:"block",position:"absolute",bottom:"0.75em",left:"auto",width:"40%",height:"20%",maxHeight:"13em",boxShadow:"0px 13px 8px #979797",WebkitTransform:"rotate(2deg)",MozTransform:"rotate(2deg)",msTransform:"rotate(2deg)",OTransform:"rotate(2deg)",transform:"rotate(2deg)",right:"0.75em"},comment:{color:"#7D8B99"},"block-comment":{color:"#7D8B99"},prolog:{color:"#7D8B99"},doctype:{color:"#7D8B99"},cdata:{color:"#7D8B99"},punctuation:{color:"#5F6364"},property:{color:"#c92c2c"},tag:{color:"#c92c2c"},boolean:{color:"#c92c2c"},number:{color:"#c92c2c"},"function-name":{color:"#c92c2c"},constant:{color:"#c92c2c"},symbol:{color:"#c92c2c"},deleted:{color:"#c92c2c"},selector:{color:"#2f9c0a"},"attr-name":{color:"#2f9c0a"},string:{color:"#2f9c0a"},char:{color:"#2f9c0a"},function:{color:"#2f9c0a"},builtin:{color:"#2f9c0a"},inserted:{color:"#2f9c0a"},operator:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},entity:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)",cursor:"help"},url:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},variable:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},atrule:{color:"#1990b8"},"attr-value":{color:"#1990b8"},keyword:{color:"#1990b8"},"class-name":{color:"#1990b8"},regex:{color:"#e90"},important:{color:"#e90",fontWeight:"normal"},".language-css .token.string":{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},".style .token.string":{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},namespace:{Opacity:".7"},'pre[class*="language-"].line-numbers.line-numbers':{paddingLeft:"0"},'pre[class*="language-"].line-numbers.line-numbers code':{paddingLeft:"3.8em"},'pre[class*="language-"].line-numbers.line-numbers .line-numbers-rows':{left:"0"},'pre[class*="language-"][data-line]':{paddingTop:"0",paddingBottom:"0",paddingLeft:"0"},"pre[data-line] code":{position:"relative",paddingLeft:"4em"},"pre .line-highlight":{marginTop:"0"}}}(ix)),ix}var sx={},RF;function hEe(){return RF||(RF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"white",background:"none",textShadow:"0 -.1em .2em black",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"white",background:"hsl(30, 20%, 25%)",textShadow:"0 -.1em .2em black",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",border:".3em solid hsl(30, 20%, 40%)",borderRadius:".5em",boxShadow:"1px 1px .5em black inset"},':not(pre) > code[class*="language-"]':{background:"hsl(30, 20%, 25%)",padding:".15em .2em .05em",borderRadius:".3em",border:".13em solid hsl(30, 20%, 40%)",boxShadow:"1px 1px .3em -.1em black inset",whiteSpace:"normal"},comment:{color:"hsl(30, 20%, 50%)"},prolog:{color:"hsl(30, 20%, 50%)"},doctype:{color:"hsl(30, 20%, 50%)"},cdata:{color:"hsl(30, 20%, 50%)"},punctuation:{Opacity:".7"},namespace:{Opacity:".7"},property:{color:"hsl(350, 40%, 70%)"},tag:{color:"hsl(350, 40%, 70%)"},boolean:{color:"hsl(350, 40%, 70%)"},number:{color:"hsl(350, 40%, 70%)"},constant:{color:"hsl(350, 40%, 70%)"},symbol:{color:"hsl(350, 40%, 70%)"},selector:{color:"hsl(75, 70%, 60%)"},"attr-name":{color:"hsl(75, 70%, 60%)"},string:{color:"hsl(75, 70%, 60%)"},char:{color:"hsl(75, 70%, 60%)"},builtin:{color:"hsl(75, 70%, 60%)"},inserted:{color:"hsl(75, 70%, 60%)"},operator:{color:"hsl(40, 90%, 60%)"},entity:{color:"hsl(40, 90%, 60%)",cursor:"help"},url:{color:"hsl(40, 90%, 60%)"},".language-css .token.string":{color:"hsl(40, 90%, 60%)"},".style .token.string":{color:"hsl(40, 90%, 60%)"},variable:{color:"hsl(40, 90%, 60%)"},atrule:{color:"hsl(350, 40%, 70%)"},"attr-value":{color:"hsl(350, 40%, 70%)"},keyword:{color:"hsl(350, 40%, 70%)"},regex:{color:"#e90"},important:{color:"#e90",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},deleted:{color:"red"}}}(sx)),sx}var lx={},CF;function mEe(){return CF||(CF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"black",color:"white",boxShadow:"-.3em 0 0 .3em black, .3em 0 0 .3em black"},'pre[class*="language-"]':{fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:".4em .8em",margin:".5em 0",overflow:"auto",background:`url('data:image/svg+xml;charset=utf-8,%0D%0A%0D%0A%0D%0A<%2Fsvg>')`,backgroundSize:"1em 1em"},':not(pre) > code[class*="language-"]':{padding:".2em",borderRadius:".3em",boxShadow:"none",whiteSpace:"normal"},comment:{color:"#aaa"},prolog:{color:"#aaa"},doctype:{color:"#aaa"},cdata:{color:"#aaa"},punctuation:{color:"#999"},namespace:{Opacity:".7"},property:{color:"#0cf"},tag:{color:"#0cf"},boolean:{color:"#0cf"},number:{color:"#0cf"},constant:{color:"#0cf"},symbol:{color:"#0cf"},selector:{color:"yellow"},"attr-name":{color:"yellow"},string:{color:"yellow"},char:{color:"yellow"},builtin:{color:"yellow"},operator:{color:"yellowgreen"},entity:{color:"yellowgreen",cursor:"help"},url:{color:"yellowgreen"},".language-css .token.string":{color:"yellowgreen"},variable:{color:"yellowgreen"},inserted:{color:"yellowgreen"},atrule:{color:"deeppink"},"attr-value":{color:"deeppink"},keyword:{color:"deeppink"},regex:{color:"orange"},important:{color:"orange",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},deleted:{color:"red"},"pre.diff-highlight.diff-highlight > code .token.deleted:not(.prefix)":{backgroundColor:"rgba(255, 0, 0, .3)",display:"inline"},"pre > code.diff-highlight.diff-highlight .token.deleted:not(.prefix)":{backgroundColor:"rgba(255, 0, 0, .3)",display:"inline"},"pre.diff-highlight.diff-highlight > code .token.inserted:not(.prefix)":{backgroundColor:"rgba(0, 255, 128, .3)",display:"inline"},"pre > code.diff-highlight.diff-highlight .token.inserted:not(.prefix)":{backgroundColor:"rgba(0, 255, 128, .3)",display:"inline"}}}(lx)),lx}var ux={},_F;function bEe(){return _F||(_F=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#f8f8f2",background:"none",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#f8f8f2",background:"#272822",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",borderRadius:"0.3em"},':not(pre) > code[class*="language-"]':{background:"#272822",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"#8292a2"},prolog:{color:"#8292a2"},doctype:{color:"#8292a2"},cdata:{color:"#8292a2"},punctuation:{color:"#f8f8f2"},namespace:{Opacity:".7"},property:{color:"#f92672"},tag:{color:"#f92672"},constant:{color:"#f92672"},symbol:{color:"#f92672"},deleted:{color:"#f92672"},boolean:{color:"#ae81ff"},number:{color:"#ae81ff"},selector:{color:"#a6e22e"},"attr-name":{color:"#a6e22e"},string:{color:"#a6e22e"},char:{color:"#a6e22e"},builtin:{color:"#a6e22e"},inserted:{color:"#a6e22e"},operator:{color:"#f8f8f2"},entity:{color:"#f8f8f2",cursor:"help"},url:{color:"#f8f8f2"},".language-css .token.string":{color:"#f8f8f2"},".style .token.string":{color:"#f8f8f2"},variable:{color:"#f8f8f2"},atrule:{color:"#e6db74"},"attr-value":{color:"#e6db74"},function:{color:"#e6db74"},"class-name":{color:"#e6db74"},keyword:{color:"#66d9ef"},regex:{color:"#fd971f"},important:{color:"#fd971f",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}}}(ux)),ux}var cx={},NF;function yEe(){return NF||(NF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#657b83",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#657b83",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",borderRadius:"0.3em",backgroundColor:"#fdf6e3"},'pre[class*="language-"]::-moz-selection':{background:"#073642"},'pre[class*="language-"] ::-moz-selection':{background:"#073642"},'code[class*="language-"]::-moz-selection':{background:"#073642"},'code[class*="language-"] ::-moz-selection':{background:"#073642"},'pre[class*="language-"]::selection':{background:"#073642"},'pre[class*="language-"] ::selection':{background:"#073642"},'code[class*="language-"]::selection':{background:"#073642"},'code[class*="language-"] ::selection':{background:"#073642"},':not(pre) > code[class*="language-"]':{backgroundColor:"#fdf6e3",padding:".1em",borderRadius:".3em"},comment:{color:"#93a1a1"},prolog:{color:"#93a1a1"},doctype:{color:"#93a1a1"},cdata:{color:"#93a1a1"},punctuation:{color:"#586e75"},namespace:{Opacity:".7"},property:{color:"#268bd2"},tag:{color:"#268bd2"},boolean:{color:"#268bd2"},number:{color:"#268bd2"},constant:{color:"#268bd2"},symbol:{color:"#268bd2"},deleted:{color:"#268bd2"},selector:{color:"#2aa198"},"attr-name":{color:"#2aa198"},string:{color:"#2aa198"},char:{color:"#2aa198"},builtin:{color:"#2aa198"},url:{color:"#2aa198"},inserted:{color:"#2aa198"},entity:{color:"#657b83",background:"#eee8d5",cursor:"help"},atrule:{color:"#859900"},"attr-value":{color:"#859900"},keyword:{color:"#859900"},function:{color:"#b58900"},"class-name":{color:"#b58900"},regex:{color:"#cb4b16"},important:{color:"#cb4b16",fontWeight:"bold"},variable:{color:"#cb4b16"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}}}(cx)),cx}var dx={},OF;function vEe(){return OF||(OF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#ccc",background:"none",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#ccc",background:"#2d2d2d",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto"},':not(pre) > code[class*="language-"]':{background:"#2d2d2d",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"#999"},"block-comment":{color:"#999"},prolog:{color:"#999"},doctype:{color:"#999"},cdata:{color:"#999"},punctuation:{color:"#ccc"},tag:{color:"#e2777a"},"attr-name":{color:"#e2777a"},namespace:{color:"#e2777a"},deleted:{color:"#e2777a"},"function-name":{color:"#6196cc"},boolean:{color:"#f08d49"},number:{color:"#f08d49"},function:{color:"#f08d49"},property:{color:"#f8c555"},"class-name":{color:"#f8c555"},constant:{color:"#f8c555"},symbol:{color:"#f8c555"},selector:{color:"#cc99cd"},important:{color:"#cc99cd",fontWeight:"bold"},atrule:{color:"#cc99cd"},keyword:{color:"#cc99cd"},builtin:{color:"#cc99cd"},string:{color:"#7ec699"},char:{color:"#7ec699"},"attr-value":{color:"#7ec699"},regex:{color:"#7ec699"},variable:{color:"#7ec699"},operator:{color:"#67cdcc"},entity:{color:"#67cdcc",cursor:"help"},url:{color:"#67cdcc"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},inserted:{color:"green"}}}(dx)),dx}var fx={},IF;function SEe(){return IF||(IF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"white",background:"none",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",textShadow:"0 -.1em .2em black",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"white",background:"hsl(0, 0%, 8%)",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",textShadow:"0 -.1em .2em black",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",borderRadius:".5em",border:".3em solid hsl(0, 0%, 33%)",boxShadow:"1px 1px .5em black inset",margin:".5em 0",overflow:"auto",padding:"1em"},':not(pre) > code[class*="language-"]':{background:"hsl(0, 0%, 8%)",borderRadius:".3em",border:".13em solid hsl(0, 0%, 33%)",boxShadow:"1px 1px .3em -.1em black inset",padding:".15em .2em .05em",whiteSpace:"normal"},'pre[class*="language-"]::-moz-selection':{background:"hsla(0, 0%, 93%, 0.15)",textShadow:"none"},'pre[class*="language-"]::selection':{background:"hsla(0, 0%, 93%, 0.15)",textShadow:"none"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"hsla(0, 0%, 93%, 0.15)"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"hsla(0, 0%, 93%, 0.15)"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"hsla(0, 0%, 93%, 0.15)"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"hsla(0, 0%, 93%, 0.15)"},'code[class*="language-"]::selection':{textShadow:"none",background:"hsla(0, 0%, 93%, 0.15)"},'code[class*="language-"] ::selection':{textShadow:"none",background:"hsla(0, 0%, 93%, 0.15)"},comment:{color:"hsl(0, 0%, 47%)"},prolog:{color:"hsl(0, 0%, 47%)"},doctype:{color:"hsl(0, 0%, 47%)"},cdata:{color:"hsl(0, 0%, 47%)"},punctuation:{Opacity:".7"},namespace:{Opacity:".7"},tag:{color:"hsl(14, 58%, 55%)"},boolean:{color:"hsl(14, 58%, 55%)"},number:{color:"hsl(14, 58%, 55%)"},deleted:{color:"hsl(14, 58%, 55%)"},keyword:{color:"hsl(53, 89%, 79%)"},property:{color:"hsl(53, 89%, 79%)"},selector:{color:"hsl(53, 89%, 79%)"},constant:{color:"hsl(53, 89%, 79%)"},symbol:{color:"hsl(53, 89%, 79%)"},builtin:{color:"hsl(53, 89%, 79%)"},"attr-name":{color:"hsl(76, 21%, 52%)"},"attr-value":{color:"hsl(76, 21%, 52%)"},string:{color:"hsl(76, 21%, 52%)"},char:{color:"hsl(76, 21%, 52%)"},operator:{color:"hsl(76, 21%, 52%)"},entity:{color:"hsl(76, 21%, 52%)",cursor:"help"},url:{color:"hsl(76, 21%, 52%)"},".language-css .token.string":{color:"hsl(76, 21%, 52%)"},".style .token.string":{color:"hsl(76, 21%, 52%)"},variable:{color:"hsl(76, 21%, 52%)"},inserted:{color:"hsl(76, 21%, 52%)"},atrule:{color:"hsl(218, 22%, 55%)"},regex:{color:"hsl(42, 75%, 65%)"},important:{color:"hsl(42, 75%, 65%)",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},".language-markup .token.tag":{color:"hsl(33, 33%, 52%)"},".language-markup .token.attr-name":{color:"hsl(33, 33%, 52%)"},".language-markup .token.punctuation":{color:"hsl(33, 33%, 52%)"},"":{position:"relative",zIndex:"1"},".line-highlight.line-highlight":{background:"linear-gradient(to right, hsla(0, 0%, 33%, .1) 70%, hsla(0, 0%, 33%, 0))",borderBottom:"1px dashed hsl(0, 0%, 33%)",borderTop:"1px dashed hsl(0, 0%, 33%)",marginTop:"0.75em",zIndex:"0"},".line-highlight.line-highlight:before":{backgroundColor:"hsl(215, 15%, 59%)",color:"hsl(24, 20%, 95%)"},".line-highlight.line-highlight[data-end]:after":{backgroundColor:"hsl(215, 15%, 59%)",color:"hsl(24, 20%, 95%)"}}}(fx)),fx}var px={},DF;function EEe(){return DF||(DF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"black",background:"none",textShadow:"0 1px white",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"black",background:"#f5f2f0",textShadow:"0 1px white",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},':not(pre) > code[class*="language-"]':{background:"#f5f2f0",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"slategray"},prolog:{color:"slategray"},doctype:{color:"slategray"},cdata:{color:"slategray"},punctuation:{color:"#999"},namespace:{Opacity:".7"},property:{color:"#905"},tag:{color:"#905"},boolean:{color:"#905"},number:{color:"#905"},constant:{color:"#905"},symbol:{color:"#905"},deleted:{color:"#905"},selector:{color:"#690"},"attr-name":{color:"#690"},string:{color:"#690"},char:{color:"#690"},builtin:{color:"#690"},inserted:{color:"#690"},operator:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},entity:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)",cursor:"help"},url:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".language-css .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".style .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},atrule:{color:"#07a"},"attr-value":{color:"#07a"},keyword:{color:"#07a"},function:{color:"#DD4A68"},"class-name":{color:"#DD4A68"},regex:{color:"#e90"},important:{color:"#e90",fontWeight:"bold"},variable:{color:"#e90"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}}}(px)),px}var gx={},LF;function wEe(){return LF||(LF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#f8f8f2",background:"none",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#f8f8f2",background:"#2b2b2b",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto",borderRadius:"0.3em"},':not(pre) > code[class*="language-"]':{background:"#2b2b2b",padding:"0.1em",borderRadius:"0.3em",whiteSpace:"normal"},comment:{color:"#d4d0ab"},prolog:{color:"#d4d0ab"},doctype:{color:"#d4d0ab"},cdata:{color:"#d4d0ab"},punctuation:{color:"#fefefe"},property:{color:"#ffa07a"},tag:{color:"#ffa07a"},constant:{color:"#ffa07a"},symbol:{color:"#ffa07a"},deleted:{color:"#ffa07a"},boolean:{color:"#00e0e0"},number:{color:"#00e0e0"},selector:{color:"#abe338"},"attr-name":{color:"#abe338"},string:{color:"#abe338"},char:{color:"#abe338"},builtin:{color:"#abe338"},inserted:{color:"#abe338"},operator:{color:"#00e0e0"},entity:{color:"#00e0e0",cursor:"help"},url:{color:"#00e0e0"},".language-css .token.string":{color:"#00e0e0"},".style .token.string":{color:"#00e0e0"},variable:{color:"#00e0e0"},atrule:{color:"#ffd700"},"attr-value":{color:"#ffd700"},function:{color:"#ffd700"},keyword:{color:"#00e0e0"},regex:{color:"#ffd700"},important:{color:"#ffd700",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}}}(gx)),gx}var hx={},MF;function xEe(){return MF||(MF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#c5c8c6",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#c5c8c6",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",borderRadius:"0.3em",background:"#1d1f21"},':not(pre) > code[class*="language-"]':{background:"#1d1f21",padding:".1em",borderRadius:".3em"},comment:{color:"#7C7C7C"},prolog:{color:"#7C7C7C"},doctype:{color:"#7C7C7C"},cdata:{color:"#7C7C7C"},punctuation:{color:"#c5c8c6"},".namespace":{Opacity:".7"},property:{color:"#96CBFE"},keyword:{color:"#96CBFE"},tag:{color:"#96CBFE"},"class-name":{color:"#FFFFB6",textDecoration:"underline"},boolean:{color:"#99CC99"},constant:{color:"#99CC99"},symbol:{color:"#f92672"},deleted:{color:"#f92672"},number:{color:"#FF73FD"},selector:{color:"#A8FF60"},"attr-name":{color:"#A8FF60"},string:{color:"#A8FF60"},char:{color:"#A8FF60"},builtin:{color:"#A8FF60"},inserted:{color:"#A8FF60"},variable:{color:"#C6C5FE"},operator:{color:"#EDEDED"},entity:{color:"#FFFFB6",cursor:"help"},url:{color:"#96CBFE"},".language-css .token.string":{color:"#87C38A"},".style .token.string":{color:"#87C38A"},atrule:{color:"#F9EE98"},"attr-value":{color:"#F9EE98"},function:{color:"#DAD085"},regex:{color:"#E9C062"},important:{color:"#fd971f",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}}}(hx)),hx}var mx={},PF;function kEe(){return PF||(PF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{fontFamily:'Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace',fontSize:"14px",lineHeight:"1.375",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"#f5f7ff",color:"#5e6687"},'pre[class*="language-"]':{fontFamily:'Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace',fontSize:"14px",lineHeight:"1.375",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"#f5f7ff",color:"#5e6687",padding:"1em",margin:".5em 0",overflow:"auto"},'pre > code[class*="language-"]':{fontSize:"1em"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#dfe2f1"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#dfe2f1"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#dfe2f1"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#dfe2f1"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#dfe2f1"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#dfe2f1"},'code[class*="language-"]::selection':{textShadow:"none",background:"#dfe2f1"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#dfe2f1"},':not(pre) > code[class*="language-"]':{padding:".1em",borderRadius:".3em"},comment:{color:"#898ea4"},prolog:{color:"#898ea4"},doctype:{color:"#898ea4"},cdata:{color:"#898ea4"},punctuation:{color:"#5e6687"},namespace:{Opacity:".7"},operator:{color:"#c76b29"},boolean:{color:"#c76b29"},number:{color:"#c76b29"},property:{color:"#c08b30"},tag:{color:"#3d8fd1"},string:{color:"#22a2c9"},selector:{color:"#6679cc"},"attr-name":{color:"#c76b29"},entity:{color:"#22a2c9",cursor:"help"},url:{color:"#22a2c9"},".language-css .token.string":{color:"#22a2c9"},".style .token.string":{color:"#22a2c9"},"attr-value":{color:"#ac9739"},keyword:{color:"#ac9739"},control:{color:"#ac9739"},directive:{color:"#ac9739"},unit:{color:"#ac9739"},statement:{color:"#22a2c9"},regex:{color:"#22a2c9"},atrule:{color:"#22a2c9"},placeholder:{color:"#3d8fd1"},variable:{color:"#3d8fd1"},deleted:{textDecoration:"line-through"},inserted:{borderBottom:"1px dotted #202746",textDecoration:"none"},italic:{fontStyle:"italic"},important:{fontWeight:"bold",color:"#c94922"},bold:{fontWeight:"bold"},"pre > code.highlight":{Outline:"0.4em solid #c94922",OutlineOffset:".4em"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"#dfe2f1"},".line-numbers .line-numbers-rows > span:before":{color:"#979db4"},".line-highlight.line-highlight":{background:"linear-gradient(to right, rgba(107, 115, 148, 0.2) 70%, rgba(107, 115, 148, 0))"}}}(mx)),mx}var bx={},FF;function TEe(){return FF||(FF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#fff",textShadow:"0 1px 1px #000",fontFamily:'Menlo, Monaco, "Courier New", monospace',direction:"ltr",textAlign:"left",wordSpacing:"normal",whiteSpace:"pre",wordWrap:"normal",lineHeight:"1.4",background:"none",border:"0",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#fff",textShadow:"0 1px 1px #000",fontFamily:'Menlo, Monaco, "Courier New", monospace',direction:"ltr",textAlign:"left",wordSpacing:"normal",whiteSpace:"pre",wordWrap:"normal",lineHeight:"1.4",background:"#222",border:"0",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"15px",margin:"1em 0",overflow:"auto",MozBorderRadius:"8px",WebkitBorderRadius:"8px",borderRadius:"8px"},'pre[class*="language-"] code':{float:"left",padding:"0 15px 0 0"},':not(pre) > code[class*="language-"]':{background:"#222",padding:"5px 10px",lineHeight:"1",MozBorderRadius:"3px",WebkitBorderRadius:"3px",borderRadius:"3px"},comment:{color:"#797979"},prolog:{color:"#797979"},doctype:{color:"#797979"},cdata:{color:"#797979"},selector:{color:"#fff"},operator:{color:"#fff"},punctuation:{color:"#fff"},namespace:{Opacity:".7"},tag:{color:"#ffd893"},boolean:{color:"#ffd893"},atrule:{color:"#B0C975"},"attr-value":{color:"#B0C975"},hex:{color:"#B0C975"},string:{color:"#B0C975"},property:{color:"#c27628"},entity:{color:"#c27628",cursor:"help"},url:{color:"#c27628"},"attr-name":{color:"#c27628"},keyword:{color:"#c27628"},regex:{color:"#9B71C6"},function:{color:"#e5a638"},constant:{color:"#e5a638"},variable:{color:"#fdfba8"},number:{color:"#8799B0"},important:{color:"#E45734"},deliminator:{color:"#E45734"},".line-highlight.line-highlight":{background:"rgba(255, 255, 255, .2)"},".line-highlight.line-highlight:before":{top:".3em",backgroundColor:"rgba(255, 255, 255, .3)",color:"#fff",MozBorderRadius:"8px",WebkitBorderRadius:"8px",borderRadius:"8px"},".line-highlight.line-highlight[data-end]:after":{top:".3em",backgroundColor:"rgba(255, 255, 255, .3)",color:"#fff",MozBorderRadius:"8px",WebkitBorderRadius:"8px",borderRadius:"8px"},".line-numbers .line-numbers-rows > span":{borderRight:"3px #d9d336 solid"}}}(bx)),bx}var yx={},zF;function AEe(){return zF||(zF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#111b27",background:"none",fontFamily:'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#111b27",background:"#e3eaf2",fontFamily:'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto"},'pre[class*="language-"]::-moz-selection':{background:"#8da1b9"},'pre[class*="language-"] ::-moz-selection':{background:"#8da1b9"},'code[class*="language-"]::-moz-selection':{background:"#8da1b9"},'code[class*="language-"] ::-moz-selection':{background:"#8da1b9"},'pre[class*="language-"]::selection':{background:"#8da1b9"},'pre[class*="language-"] ::selection':{background:"#8da1b9"},'code[class*="language-"]::selection':{background:"#8da1b9"},'code[class*="language-"] ::selection':{background:"#8da1b9"},':not(pre) > code[class*="language-"]':{background:"#e3eaf2",padding:"0.1em 0.3em",borderRadius:"0.3em",whiteSpace:"normal"},comment:{color:"#3c526d"},prolog:{color:"#3c526d"},doctype:{color:"#3c526d"},cdata:{color:"#3c526d"},punctuation:{color:"#111b27"},"delimiter.important":{color:"#006d6d",fontWeight:"inherit"},"selector.parent":{color:"#006d6d"},tag:{color:"#006d6d"},"tag.punctuation":{color:"#006d6d"},"attr-name":{color:"#755f00"},boolean:{color:"#755f00"},"boolean.important":{color:"#755f00"},number:{color:"#755f00"},constant:{color:"#755f00"},"selector.attribute":{color:"#755f00"},"class-name":{color:"#005a8e"},key:{color:"#005a8e"},parameter:{color:"#005a8e"},property:{color:"#005a8e"},"property-access":{color:"#005a8e"},variable:{color:"#005a8e"},"attr-value":{color:"#116b00"},inserted:{color:"#116b00"},color:{color:"#116b00"},"selector.value":{color:"#116b00"},string:{color:"#116b00"},"string.url-link":{color:"#116b00"},builtin:{color:"#af00af"},"keyword-array":{color:"#af00af"},package:{color:"#af00af"},regex:{color:"#af00af"},function:{color:"#7c00aa"},"selector.class":{color:"#7c00aa"},"selector.id":{color:"#7c00aa"},"atrule.rule":{color:"#a04900"},combinator:{color:"#a04900"},keyword:{color:"#a04900"},operator:{color:"#a04900"},"pseudo-class":{color:"#a04900"},"pseudo-element":{color:"#a04900"},selector:{color:"#a04900"},unit:{color:"#a04900"},deleted:{color:"#c22f2e"},important:{color:"#c22f2e",fontWeight:"bold"},"keyword-this":{color:"#005a8e",fontWeight:"bold"},this:{color:"#005a8e",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},entity:{cursor:"help"},".language-markdown .token.title":{color:"#005a8e",fontWeight:"bold"},".language-markdown .token.title .token.punctuation":{color:"#005a8e",fontWeight:"bold"},".language-markdown .token.blockquote.punctuation":{color:"#af00af"},".language-markdown .token.code":{color:"#006d6d"},".language-markdown .token.hr.punctuation":{color:"#005a8e"},".language-markdown .token.url > .token.content":{color:"#116b00"},".language-markdown .token.url-link":{color:"#755f00"},".language-markdown .token.list.punctuation":{color:"#af00af"},".language-markdown .token.table-header":{color:"#111b27"},".language-json .token.operator":{color:"#111b27"},".language-scss .token.variable":{color:"#006d6d"},"token.tab:not(:empty):before":{color:"#3c526d"},"token.cr:before":{color:"#3c526d"},"token.lf:before":{color:"#3c526d"},"token.space:before":{color:"#3c526d"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a":{color:"#e3eaf2",background:"#005a8e"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button":{color:"#e3eaf2",background:"#005a8e"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover":{color:"#e3eaf2",background:"#005a8eda",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus":{color:"#e3eaf2",background:"#005a8eda",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover":{color:"#e3eaf2",background:"#005a8eda",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus":{color:"#e3eaf2",background:"#005a8eda",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span":{color:"#e3eaf2",background:"#3c526d"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover":{color:"#e3eaf2",background:"#3c526d"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus":{color:"#e3eaf2",background:"#3c526d"},".line-highlight.line-highlight":{background:"linear-gradient(to right, #8da1b92f 70%, #8da1b925)"},".line-highlight.line-highlight:before":{backgroundColor:"#3c526d",color:"#e3eaf2",boxShadow:"0 1px #8da1b9"},".line-highlight.line-highlight[data-end]:after":{backgroundColor:"#3c526d",color:"#e3eaf2",boxShadow:"0 1px #8da1b9"},"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before":{backgroundColor:"#3c526d1f"},".line-numbers.line-numbers .line-numbers-rows":{borderRight:"1px solid #8da1b97a",background:"#d0dae77a"},".line-numbers .line-numbers-rows > span:before":{color:"#3c526dda"},".rainbow-braces .token.token.punctuation.brace-level-1":{color:"#755f00"},".rainbow-braces .token.token.punctuation.brace-level-5":{color:"#755f00"},".rainbow-braces .token.token.punctuation.brace-level-9":{color:"#755f00"},".rainbow-braces .token.token.punctuation.brace-level-2":{color:"#af00af"},".rainbow-braces .token.token.punctuation.brace-level-6":{color:"#af00af"},".rainbow-braces .token.token.punctuation.brace-level-10":{color:"#af00af"},".rainbow-braces .token.token.punctuation.brace-level-3":{color:"#005a8e"},".rainbow-braces .token.token.punctuation.brace-level-7":{color:"#005a8e"},".rainbow-braces .token.token.punctuation.brace-level-11":{color:"#005a8e"},".rainbow-braces .token.token.punctuation.brace-level-4":{color:"#7c00aa"},".rainbow-braces .token.token.punctuation.brace-level-8":{color:"#7c00aa"},".rainbow-braces .token.token.punctuation.brace-level-12":{color:"#7c00aa"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)":{backgroundColor:"#c22f2e1f"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)":{backgroundColor:"#c22f2e1f"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)":{backgroundColor:"#116b001f"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)":{backgroundColor:"#116b001f"},".command-line .command-line-prompt":{borderRight:"1px solid #8da1b97a"},".command-line .command-line-prompt > span:before":{color:"#3c526dda"}}}(yx)),yx}var vx={},BF;function REe(){return BF||(BF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#e3eaf2",background:"none",fontFamily:'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#e3eaf2",background:"#111b27",fontFamily:'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto"},'pre[class*="language-"]::-moz-selection':{background:"#3c526d"},'pre[class*="language-"] ::-moz-selection':{background:"#3c526d"},'code[class*="language-"]::-moz-selection':{background:"#3c526d"},'code[class*="language-"] ::-moz-selection':{background:"#3c526d"},'pre[class*="language-"]::selection':{background:"#3c526d"},'pre[class*="language-"] ::selection':{background:"#3c526d"},'code[class*="language-"]::selection':{background:"#3c526d"},'code[class*="language-"] ::selection':{background:"#3c526d"},':not(pre) > code[class*="language-"]':{background:"#111b27",padding:"0.1em 0.3em",borderRadius:"0.3em",whiteSpace:"normal"},comment:{color:"#8da1b9"},prolog:{color:"#8da1b9"},doctype:{color:"#8da1b9"},cdata:{color:"#8da1b9"},punctuation:{color:"#e3eaf2"},"delimiter.important":{color:"#66cccc",fontWeight:"inherit"},"selector.parent":{color:"#66cccc"},tag:{color:"#66cccc"},"tag.punctuation":{color:"#66cccc"},"attr-name":{color:"#e6d37a"},boolean:{color:"#e6d37a"},"boolean.important":{color:"#e6d37a"},number:{color:"#e6d37a"},constant:{color:"#e6d37a"},"selector.attribute":{color:"#e6d37a"},"class-name":{color:"#6cb8e6"},key:{color:"#6cb8e6"},parameter:{color:"#6cb8e6"},property:{color:"#6cb8e6"},"property-access":{color:"#6cb8e6"},variable:{color:"#6cb8e6"},"attr-value":{color:"#91d076"},inserted:{color:"#91d076"},color:{color:"#91d076"},"selector.value":{color:"#91d076"},string:{color:"#91d076"},"string.url-link":{color:"#91d076"},builtin:{color:"#f4adf4"},"keyword-array":{color:"#f4adf4"},package:{color:"#f4adf4"},regex:{color:"#f4adf4"},function:{color:"#c699e3"},"selector.class":{color:"#c699e3"},"selector.id":{color:"#c699e3"},"atrule.rule":{color:"#e9ae7e"},combinator:{color:"#e9ae7e"},keyword:{color:"#e9ae7e"},operator:{color:"#e9ae7e"},"pseudo-class":{color:"#e9ae7e"},"pseudo-element":{color:"#e9ae7e"},selector:{color:"#e9ae7e"},unit:{color:"#e9ae7e"},deleted:{color:"#cd6660"},important:{color:"#cd6660",fontWeight:"bold"},"keyword-this":{color:"#6cb8e6",fontWeight:"bold"},this:{color:"#6cb8e6",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},entity:{cursor:"help"},".language-markdown .token.title":{color:"#6cb8e6",fontWeight:"bold"},".language-markdown .token.title .token.punctuation":{color:"#6cb8e6",fontWeight:"bold"},".language-markdown .token.blockquote.punctuation":{color:"#f4adf4"},".language-markdown .token.code":{color:"#66cccc"},".language-markdown .token.hr.punctuation":{color:"#6cb8e6"},".language-markdown .token.url .token.content":{color:"#91d076"},".language-markdown .token.url-link":{color:"#e6d37a"},".language-markdown .token.list.punctuation":{color:"#f4adf4"},".language-markdown .token.table-header":{color:"#e3eaf2"},".language-json .token.operator":{color:"#e3eaf2"},".language-scss .token.variable":{color:"#66cccc"},"token.tab:not(:empty):before":{color:"#8da1b9"},"token.cr:before":{color:"#8da1b9"},"token.lf:before":{color:"#8da1b9"},"token.space:before":{color:"#8da1b9"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a":{color:"#111b27",background:"#6cb8e6"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button":{color:"#111b27",background:"#6cb8e6"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover":{color:"#111b27",background:"#6cb8e6da",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus":{color:"#111b27",background:"#6cb8e6da",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover":{color:"#111b27",background:"#6cb8e6da",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus":{color:"#111b27",background:"#6cb8e6da",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span":{color:"#111b27",background:"#8da1b9"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover":{color:"#111b27",background:"#8da1b9"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus":{color:"#111b27",background:"#8da1b9"},".line-highlight.line-highlight":{background:"linear-gradient(to right, #3c526d5f 70%, #3c526d55)"},".line-highlight.line-highlight:before":{backgroundColor:"#8da1b9",color:"#111b27",boxShadow:"0 1px #3c526d"},".line-highlight.line-highlight[data-end]:after":{backgroundColor:"#8da1b9",color:"#111b27",boxShadow:"0 1px #3c526d"},"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before":{backgroundColor:"#8da1b918"},".line-numbers.line-numbers .line-numbers-rows":{borderRight:"1px solid #0b121b",background:"#0b121b7a"},".line-numbers .line-numbers-rows > span:before":{color:"#8da1b9da"},".rainbow-braces .token.token.punctuation.brace-level-1":{color:"#e6d37a"},".rainbow-braces .token.token.punctuation.brace-level-5":{color:"#e6d37a"},".rainbow-braces .token.token.punctuation.brace-level-9":{color:"#e6d37a"},".rainbow-braces .token.token.punctuation.brace-level-2":{color:"#f4adf4"},".rainbow-braces .token.token.punctuation.brace-level-6":{color:"#f4adf4"},".rainbow-braces .token.token.punctuation.brace-level-10":{color:"#f4adf4"},".rainbow-braces .token.token.punctuation.brace-level-3":{color:"#6cb8e6"},".rainbow-braces .token.token.punctuation.brace-level-7":{color:"#6cb8e6"},".rainbow-braces .token.token.punctuation.brace-level-11":{color:"#6cb8e6"},".rainbow-braces .token.token.punctuation.brace-level-4":{color:"#c699e3"},".rainbow-braces .token.token.punctuation.brace-level-8":{color:"#c699e3"},".rainbow-braces .token.token.punctuation.brace-level-12":{color:"#c699e3"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)":{backgroundColor:"#cd66601f"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)":{backgroundColor:"#cd66601f"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)":{backgroundColor:"#91d0761f"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)":{backgroundColor:"#91d0761f"},".command-line .command-line-prompt":{borderRight:"1px solid #0b121b"},".command-line .command-line-prompt > span:before":{color:"#8da1b9da"}}}(vx)),vx}var Sx={},UF;function CEe(){return UF||(UF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"black",background:"none",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"black",background:"none",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",position:"relative",borderLeft:"10px solid #358ccb",boxShadow:"-1px 0 0 0 #358ccb, 0 0 0 1px #dfdfdf",backgroundColor:"#fdfdfd",backgroundImage:"linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%)",backgroundSize:"3em 3em",backgroundOrigin:"content-box",backgroundAttachment:"local",margin:".5em 0",padding:"0 1em"},'pre[class*="language-"] > code':{display:"block"},':not(pre) > code[class*="language-"]':{position:"relative",padding:".2em",borderRadius:"0.3em",color:"#c92c2c",border:"1px solid rgba(0, 0, 0, 0.1)",display:"inline",whiteSpace:"normal",backgroundColor:"#fdfdfd",WebkitBoxSizing:"border-box",MozBoxSizing:"border-box",boxSizing:"border-box"},comment:{color:"#7D8B99"},"block-comment":{color:"#7D8B99"},prolog:{color:"#7D8B99"},doctype:{color:"#7D8B99"},cdata:{color:"#7D8B99"},punctuation:{color:"#5F6364"},property:{color:"#c92c2c"},tag:{color:"#c92c2c"},boolean:{color:"#c92c2c"},number:{color:"#c92c2c"},"function-name":{color:"#c92c2c"},constant:{color:"#c92c2c"},symbol:{color:"#c92c2c"},deleted:{color:"#c92c2c"},selector:{color:"#2f9c0a"},"attr-name":{color:"#2f9c0a"},string:{color:"#2f9c0a"},char:{color:"#2f9c0a"},function:{color:"#2f9c0a"},builtin:{color:"#2f9c0a"},inserted:{color:"#2f9c0a"},operator:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},entity:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)",cursor:"help"},url:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},variable:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},atrule:{color:"#1990b8"},"attr-value":{color:"#1990b8"},keyword:{color:"#1990b8"},"class-name":{color:"#1990b8"},regex:{color:"#e90"},important:{color:"#e90",fontWeight:"normal"},".language-css .token.string":{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},".style .token.string":{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},namespace:{Opacity:".7"}}}(Sx)),Sx}var Ex={},jF;function _Ee(){return jF||(jF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#a9b7c6",fontFamily:"Consolas, Monaco, 'Andale Mono', monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#a9b7c6",fontFamily:"Consolas, Monaco, 'Andale Mono', monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",background:"#2b2b2b"},'pre[class*="language-"]::-moz-selection':{color:"inherit",background:"rgba(33, 66, 131, .85)"},'pre[class*="language-"] ::-moz-selection':{color:"inherit",background:"rgba(33, 66, 131, .85)"},'code[class*="language-"]::-moz-selection':{color:"inherit",background:"rgba(33, 66, 131, .85)"},'code[class*="language-"] ::-moz-selection':{color:"inherit",background:"rgba(33, 66, 131, .85)"},'pre[class*="language-"]::selection':{color:"inherit",background:"rgba(33, 66, 131, .85)"},'pre[class*="language-"] ::selection':{color:"inherit",background:"rgba(33, 66, 131, .85)"},'code[class*="language-"]::selection':{color:"inherit",background:"rgba(33, 66, 131, .85)"},'code[class*="language-"] ::selection':{color:"inherit",background:"rgba(33, 66, 131, .85)"},':not(pre) > code[class*="language-"]':{background:"#2b2b2b",padding:".1em",borderRadius:".3em"},comment:{color:"#808080"},prolog:{color:"#808080"},cdata:{color:"#808080"},delimiter:{color:"#cc7832"},boolean:{color:"#cc7832"},keyword:{color:"#cc7832"},selector:{color:"#cc7832"},important:{color:"#cc7832"},atrule:{color:"#cc7832"},operator:{color:"#a9b7c6"},punctuation:{color:"#a9b7c6"},"attr-name":{color:"#a9b7c6"},tag:{color:"#e8bf6a"},"tag.punctuation":{color:"#e8bf6a"},doctype:{color:"#e8bf6a"},builtin:{color:"#e8bf6a"},entity:{color:"#6897bb"},number:{color:"#6897bb"},symbol:{color:"#6897bb"},property:{color:"#9876aa"},constant:{color:"#9876aa"},variable:{color:"#9876aa"},string:{color:"#6a8759"},char:{color:"#6a8759"},"attr-value":{color:"#a5c261"},"attr-value.punctuation":{color:"#a5c261"},"attr-value.punctuation:first-child":{color:"#a9b7c6"},url:{color:"#287bde",textDecoration:"underline"},function:{color:"#ffc66d"},regex:{background:"#364135"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},inserted:{background:"#294436"},deleted:{background:"#484a4a"},"code.language-css .token.property":{color:"#a9b7c6"},"code.language-css .token.property + .token.punctuation":{color:"#a9b7c6"},"code.language-css .token.id":{color:"#ffc66d"},"code.language-css .token.selector > .token.class":{color:"#ffc66d"},"code.language-css .token.selector > .token.attribute":{color:"#ffc66d"},"code.language-css .token.selector > .token.pseudo-class":{color:"#ffc66d"},"code.language-css .token.selector > .token.pseudo-element":{color:"#ffc66d"}}}(Ex)),Ex}var wx={},GF;function NEe(){return GF||(GF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#f8f8f2",background:"none",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#f8f8f2",background:"#282a36",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",borderRadius:"0.3em"},':not(pre) > code[class*="language-"]':{background:"#282a36",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"#6272a4"},prolog:{color:"#6272a4"},doctype:{color:"#6272a4"},cdata:{color:"#6272a4"},punctuation:{color:"#f8f8f2"},".namespace":{Opacity:".7"},property:{color:"#ff79c6"},tag:{color:"#ff79c6"},constant:{color:"#ff79c6"},symbol:{color:"#ff79c6"},deleted:{color:"#ff79c6"},boolean:{color:"#bd93f9"},number:{color:"#bd93f9"},selector:{color:"#50fa7b"},"attr-name":{color:"#50fa7b"},string:{color:"#50fa7b"},char:{color:"#50fa7b"},builtin:{color:"#50fa7b"},inserted:{color:"#50fa7b"},operator:{color:"#f8f8f2"},entity:{color:"#f8f8f2",cursor:"help"},url:{color:"#f8f8f2"},".language-css .token.string":{color:"#f8f8f2"},".style .token.string":{color:"#f8f8f2"},variable:{color:"#f8f8f2"},atrule:{color:"#f1fa8c"},"attr-value":{color:"#f1fa8c"},function:{color:"#f1fa8c"},"class-name":{color:"#f1fa8c"},keyword:{color:"#8be9fd"},regex:{color:"#ffb86c"},important:{color:"#ffb86c",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}}}(wx)),wx}var xx={},HF;function OEe(){return HF||(HF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{fontFamily:'Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace',fontSize:"14px",lineHeight:"1.375",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"#2a2734",color:"#9a86fd"},'pre[class*="language-"]':{fontFamily:'Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace',fontSize:"14px",lineHeight:"1.375",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"#2a2734",color:"#9a86fd",padding:"1em",margin:".5em 0",overflow:"auto"},'pre > code[class*="language-"]':{fontSize:"1em"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#6a51e6"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#6a51e6"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#6a51e6"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#6a51e6"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#6a51e6"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#6a51e6"},'code[class*="language-"]::selection':{textShadow:"none",background:"#6a51e6"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#6a51e6"},':not(pre) > code[class*="language-"]':{padding:".1em",borderRadius:".3em"},comment:{color:"#6c6783"},prolog:{color:"#6c6783"},doctype:{color:"#6c6783"},cdata:{color:"#6c6783"},punctuation:{color:"#6c6783"},namespace:{Opacity:".7"},tag:{color:"#e09142"},operator:{color:"#e09142"},number:{color:"#e09142"},property:{color:"#9a86fd"},function:{color:"#9a86fd"},"tag-id":{color:"#eeebff"},selector:{color:"#eeebff"},"atrule-id":{color:"#eeebff"},"code.language-javascript":{color:"#c4b9fe"},"attr-name":{color:"#c4b9fe"},"code.language-css":{color:"#ffcc99"},"code.language-scss":{color:"#ffcc99"},boolean:{color:"#ffcc99"},string:{color:"#ffcc99"},entity:{color:"#ffcc99",cursor:"help"},url:{color:"#ffcc99"},".language-css .token.string":{color:"#ffcc99"},".language-scss .token.string":{color:"#ffcc99"},".style .token.string":{color:"#ffcc99"},"attr-value":{color:"#ffcc99"},keyword:{color:"#ffcc99"},control:{color:"#ffcc99"},directive:{color:"#ffcc99"},unit:{color:"#ffcc99"},statement:{color:"#ffcc99"},regex:{color:"#ffcc99"},atrule:{color:"#ffcc99"},placeholder:{color:"#ffcc99"},variable:{color:"#ffcc99"},deleted:{textDecoration:"line-through"},inserted:{borderBottom:"1px dotted #eeebff",textDecoration:"none"},italic:{fontStyle:"italic"},important:{fontWeight:"bold",color:"#c4b9fe"},bold:{fontWeight:"bold"},"pre > code.highlight":{Outline:".4em solid #8a75f5",OutlineOffset:".4em"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"#2c2937"},".line-numbers .line-numbers-rows > span:before":{color:"#3c3949"},".line-highlight.line-highlight":{background:"linear-gradient(to right, rgba(224, 145, 66, 0.2) 70%, rgba(224, 145, 66, 0))"}}}(xx)),xx}var kx={},$F;function IEe(){return $F||($F=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{fontFamily:'Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace',fontSize:"14px",lineHeight:"1.375",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"#322d29",color:"#88786d"},'pre[class*="language-"]':{fontFamily:'Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace',fontSize:"14px",lineHeight:"1.375",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"#322d29",color:"#88786d",padding:"1em",margin:".5em 0",overflow:"auto"},'pre > code[class*="language-"]':{fontSize:"1em"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#6f5849"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#6f5849"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#6f5849"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#6f5849"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#6f5849"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#6f5849"},'code[class*="language-"]::selection':{textShadow:"none",background:"#6f5849"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#6f5849"},':not(pre) > code[class*="language-"]':{padding:".1em",borderRadius:".3em"},comment:{color:"#6a5f58"},prolog:{color:"#6a5f58"},doctype:{color:"#6a5f58"},cdata:{color:"#6a5f58"},punctuation:{color:"#6a5f58"},namespace:{Opacity:".7"},tag:{color:"#bfa05a"},operator:{color:"#bfa05a"},number:{color:"#bfa05a"},property:{color:"#88786d"},function:{color:"#88786d"},"tag-id":{color:"#fff3eb"},selector:{color:"#fff3eb"},"atrule-id":{color:"#fff3eb"},"code.language-javascript":{color:"#a48774"},"attr-name":{color:"#a48774"},"code.language-css":{color:"#fcc440"},"code.language-scss":{color:"#fcc440"},boolean:{color:"#fcc440"},string:{color:"#fcc440"},entity:{color:"#fcc440",cursor:"help"},url:{color:"#fcc440"},".language-css .token.string":{color:"#fcc440"},".language-scss .token.string":{color:"#fcc440"},".style .token.string":{color:"#fcc440"},"attr-value":{color:"#fcc440"},keyword:{color:"#fcc440"},control:{color:"#fcc440"},directive:{color:"#fcc440"},unit:{color:"#fcc440"},statement:{color:"#fcc440"},regex:{color:"#fcc440"},atrule:{color:"#fcc440"},placeholder:{color:"#fcc440"},variable:{color:"#fcc440"},deleted:{textDecoration:"line-through"},inserted:{borderBottom:"1px dotted #fff3eb",textDecoration:"none"},italic:{fontStyle:"italic"},important:{fontWeight:"bold",color:"#a48774"},bold:{fontWeight:"bold"},"pre > code.highlight":{Outline:".4em solid #816d5f",OutlineOffset:".4em"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"#35302b"},".line-numbers .line-numbers-rows > span:before":{color:"#46403d"},".line-highlight.line-highlight":{background:"linear-gradient(to right, rgba(191, 160, 90, 0.2) 70%, rgba(191, 160, 90, 0))"}}}(kx)),kx}var Tx={},qF;function DEe(){return qF||(qF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{fontFamily:'Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace',fontSize:"14px",lineHeight:"1.375",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"#2a2d2a",color:"#687d68"},'pre[class*="language-"]':{fontFamily:'Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace',fontSize:"14px",lineHeight:"1.375",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"#2a2d2a",color:"#687d68",padding:"1em",margin:".5em 0",overflow:"auto"},'pre > code[class*="language-"]':{fontSize:"1em"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#435643"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#435643"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#435643"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#435643"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#435643"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#435643"},'code[class*="language-"]::selection':{textShadow:"none",background:"#435643"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#435643"},':not(pre) > code[class*="language-"]':{padding:".1em",borderRadius:".3em"},comment:{color:"#535f53"},prolog:{color:"#535f53"},doctype:{color:"#535f53"},cdata:{color:"#535f53"},punctuation:{color:"#535f53"},namespace:{Opacity:".7"},tag:{color:"#a2b34d"},operator:{color:"#a2b34d"},number:{color:"#a2b34d"},property:{color:"#687d68"},function:{color:"#687d68"},"tag-id":{color:"#f0fff0"},selector:{color:"#f0fff0"},"atrule-id":{color:"#f0fff0"},"code.language-javascript":{color:"#b3d6b3"},"attr-name":{color:"#b3d6b3"},"code.language-css":{color:"#e5fb79"},"code.language-scss":{color:"#e5fb79"},boolean:{color:"#e5fb79"},string:{color:"#e5fb79"},entity:{color:"#e5fb79",cursor:"help"},url:{color:"#e5fb79"},".language-css .token.string":{color:"#e5fb79"},".language-scss .token.string":{color:"#e5fb79"},".style .token.string":{color:"#e5fb79"},"attr-value":{color:"#e5fb79"},keyword:{color:"#e5fb79"},control:{color:"#e5fb79"},directive:{color:"#e5fb79"},unit:{color:"#e5fb79"},statement:{color:"#e5fb79"},regex:{color:"#e5fb79"},atrule:{color:"#e5fb79"},placeholder:{color:"#e5fb79"},variable:{color:"#e5fb79"},deleted:{textDecoration:"line-through"},inserted:{borderBottom:"1px dotted #f0fff0",textDecoration:"none"},italic:{fontStyle:"italic"},important:{fontWeight:"bold",color:"#b3d6b3"},bold:{fontWeight:"bold"},"pre > code.highlight":{Outline:".4em solid #5c705c",OutlineOffset:".4em"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"#2c302c"},".line-numbers .line-numbers-rows > span:before":{color:"#3b423b"},".line-highlight.line-highlight":{background:"linear-gradient(to right, rgba(162, 179, 77, 0.2) 70%, rgba(162, 179, 77, 0))"}}}(Tx)),Tx}var Ax={},VF;function LEe(){return VF||(VF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{fontFamily:'Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace',fontSize:"14px",lineHeight:"1.375",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"#faf8f5",color:"#728fcb"},'pre[class*="language-"]':{fontFamily:'Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace',fontSize:"14px",lineHeight:"1.375",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"#faf8f5",color:"#728fcb",padding:"1em",margin:".5em 0",overflow:"auto"},'pre > code[class*="language-"]':{fontSize:"1em"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#faf8f5"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#faf8f5"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#faf8f5"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#faf8f5"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#faf8f5"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#faf8f5"},'code[class*="language-"]::selection':{textShadow:"none",background:"#faf8f5"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#faf8f5"},':not(pre) > code[class*="language-"]':{padding:".1em",borderRadius:".3em"},comment:{color:"#b6ad9a"},prolog:{color:"#b6ad9a"},doctype:{color:"#b6ad9a"},cdata:{color:"#b6ad9a"},punctuation:{color:"#b6ad9a"},namespace:{Opacity:".7"},tag:{color:"#063289"},operator:{color:"#063289"},number:{color:"#063289"},property:{color:"#b29762"},function:{color:"#b29762"},"tag-id":{color:"#2d2006"},selector:{color:"#2d2006"},"atrule-id":{color:"#2d2006"},"code.language-javascript":{color:"#896724"},"attr-name":{color:"#896724"},"code.language-css":{color:"#728fcb"},"code.language-scss":{color:"#728fcb"},boolean:{color:"#728fcb"},string:{color:"#728fcb"},entity:{color:"#728fcb",cursor:"help"},url:{color:"#728fcb"},".language-css .token.string":{color:"#728fcb"},".language-scss .token.string":{color:"#728fcb"},".style .token.string":{color:"#728fcb"},"attr-value":{color:"#728fcb"},keyword:{color:"#728fcb"},control:{color:"#728fcb"},directive:{color:"#728fcb"},unit:{color:"#728fcb"},statement:{color:"#728fcb"},regex:{color:"#728fcb"},atrule:{color:"#728fcb"},placeholder:{color:"#93abdc"},variable:{color:"#93abdc"},deleted:{textDecoration:"line-through"},inserted:{borderBottom:"1px dotted #2d2006",textDecoration:"none"},italic:{fontStyle:"italic"},important:{fontWeight:"bold",color:"#896724"},bold:{fontWeight:"bold"},"pre > code.highlight":{Outline:".4em solid #896724",OutlineOffset:".4em"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"#ece8de"},".line-numbers .line-numbers-rows > span:before":{color:"#cdc4b1"},".line-highlight.line-highlight":{background:"linear-gradient(to right, rgba(45, 32, 6, 0.2) 70%, rgba(45, 32, 6, 0))"}}}(Ax)),Ax}var Rx={},WF;function MEe(){return WF||(WF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{fontFamily:'Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace',fontSize:"14px",lineHeight:"1.375",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"#1d262f",color:"#57718e"},'pre[class*="language-"]':{fontFamily:'Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace',fontSize:"14px",lineHeight:"1.375",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"#1d262f",color:"#57718e",padding:"1em",margin:".5em 0",overflow:"auto"},'pre > code[class*="language-"]':{fontSize:"1em"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#004a9e"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#004a9e"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#004a9e"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#004a9e"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#004a9e"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#004a9e"},'code[class*="language-"]::selection':{textShadow:"none",background:"#004a9e"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#004a9e"},':not(pre) > code[class*="language-"]':{padding:".1em",borderRadius:".3em"},comment:{color:"#4a5f78"},prolog:{color:"#4a5f78"},doctype:{color:"#4a5f78"},cdata:{color:"#4a5f78"},punctuation:{color:"#4a5f78"},namespace:{Opacity:".7"},tag:{color:"#0aa370"},operator:{color:"#0aa370"},number:{color:"#0aa370"},property:{color:"#57718e"},function:{color:"#57718e"},"tag-id":{color:"#ebf4ff"},selector:{color:"#ebf4ff"},"atrule-id":{color:"#ebf4ff"},"code.language-javascript":{color:"#7eb6f6"},"attr-name":{color:"#7eb6f6"},"code.language-css":{color:"#47ebb4"},"code.language-scss":{color:"#47ebb4"},boolean:{color:"#47ebb4"},string:{color:"#47ebb4"},entity:{color:"#47ebb4",cursor:"help"},url:{color:"#47ebb4"},".language-css .token.string":{color:"#47ebb4"},".language-scss .token.string":{color:"#47ebb4"},".style .token.string":{color:"#47ebb4"},"attr-value":{color:"#47ebb4"},keyword:{color:"#47ebb4"},control:{color:"#47ebb4"},directive:{color:"#47ebb4"},unit:{color:"#47ebb4"},statement:{color:"#47ebb4"},regex:{color:"#47ebb4"},atrule:{color:"#47ebb4"},placeholder:{color:"#47ebb4"},variable:{color:"#47ebb4"},deleted:{textDecoration:"line-through"},inserted:{borderBottom:"1px dotted #ebf4ff",textDecoration:"none"},italic:{fontStyle:"italic"},important:{fontWeight:"bold",color:"#7eb6f6"},bold:{fontWeight:"bold"},"pre > code.highlight":{Outline:".4em solid #34659d",OutlineOffset:".4em"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"#1f2932"},".line-numbers .line-numbers-rows > span:before":{color:"#2c3847"},".line-highlight.line-highlight":{background:"linear-gradient(to right, rgba(10, 163, 112, 0.2) 70%, rgba(10, 163, 112, 0))"}}}(Rx)),Rx}var Cx={},YF;function PEe(){return YF||(YF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{fontFamily:'Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace',fontSize:"14px",lineHeight:"1.375",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"#24242e",color:"#767693"},'pre[class*="language-"]':{fontFamily:'Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace',fontSize:"14px",lineHeight:"1.375",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",background:"#24242e",color:"#767693",padding:"1em",margin:".5em 0",overflow:"auto"},'pre > code[class*="language-"]':{fontSize:"1em"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#5151e6"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#5151e6"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#5151e6"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#5151e6"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#5151e6"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#5151e6"},'code[class*="language-"]::selection':{textShadow:"none",background:"#5151e6"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#5151e6"},':not(pre) > code[class*="language-"]':{padding:".1em",borderRadius:".3em"},comment:{color:"#5b5b76"},prolog:{color:"#5b5b76"},doctype:{color:"#5b5b76"},cdata:{color:"#5b5b76"},punctuation:{color:"#5b5b76"},namespace:{Opacity:".7"},tag:{color:"#dd672c"},operator:{color:"#dd672c"},number:{color:"#dd672c"},property:{color:"#767693"},function:{color:"#767693"},"tag-id":{color:"#ebebff"},selector:{color:"#ebebff"},"atrule-id":{color:"#ebebff"},"code.language-javascript":{color:"#aaaaca"},"attr-name":{color:"#aaaaca"},"code.language-css":{color:"#fe8c52"},"code.language-scss":{color:"#fe8c52"},boolean:{color:"#fe8c52"},string:{color:"#fe8c52"},entity:{color:"#fe8c52",cursor:"help"},url:{color:"#fe8c52"},".language-css .token.string":{color:"#fe8c52"},".language-scss .token.string":{color:"#fe8c52"},".style .token.string":{color:"#fe8c52"},"attr-value":{color:"#fe8c52"},keyword:{color:"#fe8c52"},control:{color:"#fe8c52"},directive:{color:"#fe8c52"},unit:{color:"#fe8c52"},statement:{color:"#fe8c52"},regex:{color:"#fe8c52"},atrule:{color:"#fe8c52"},placeholder:{color:"#fe8c52"},variable:{color:"#fe8c52"},deleted:{textDecoration:"line-through"},inserted:{borderBottom:"1px dotted #ebebff",textDecoration:"none"},italic:{fontStyle:"italic"},important:{fontWeight:"bold",color:"#aaaaca"},bold:{fontWeight:"bold"},"pre > code.highlight":{Outline:".4em solid #7676f4",OutlineOffset:".4em"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"#262631"},".line-numbers .line-numbers-rows > span:before":{color:"#393949"},".line-highlight.line-highlight":{background:"linear-gradient(to right, rgba(221, 103, 44, 0.2) 70%, rgba(221, 103, 44, 0))"}}}(Cx)),Cx}var _x={},KF;function FEe(){return KF||(KF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#393A34",fontFamily:'"Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",fontSize:".9em",lineHeight:"1.2em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#393A34",fontFamily:'"Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",fontSize:".9em",lineHeight:"1.2em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",border:"1px solid #dddddd",backgroundColor:"white"},'pre > code[class*="language-"]':{fontSize:"1em"},'pre[class*="language-"]::-moz-selection':{background:"#b3d4fc"},'pre[class*="language-"] ::-moz-selection':{background:"#b3d4fc"},'code[class*="language-"]::-moz-selection':{background:"#b3d4fc"},'code[class*="language-"] ::-moz-selection':{background:"#b3d4fc"},'pre[class*="language-"]::selection':{background:"#b3d4fc"},'pre[class*="language-"] ::selection':{background:"#b3d4fc"},'code[class*="language-"]::selection':{background:"#b3d4fc"},'code[class*="language-"] ::selection':{background:"#b3d4fc"},':not(pre) > code[class*="language-"]':{padding:".2em",paddingTop:"1px",paddingBottom:"1px",background:"#f8f8f8",border:"1px solid #dddddd"},comment:{color:"#999988",fontStyle:"italic"},prolog:{color:"#999988",fontStyle:"italic"},doctype:{color:"#999988",fontStyle:"italic"},cdata:{color:"#999988",fontStyle:"italic"},namespace:{Opacity:".7"},string:{color:"#e3116c"},"attr-value":{color:"#e3116c"},punctuation:{color:"#393A34"},operator:{color:"#393A34"},entity:{color:"#36acaa"},url:{color:"#36acaa"},symbol:{color:"#36acaa"},number:{color:"#36acaa"},boolean:{color:"#36acaa"},variable:{color:"#36acaa"},constant:{color:"#36acaa"},property:{color:"#36acaa"},regex:{color:"#36acaa"},inserted:{color:"#36acaa"},atrule:{color:"#00a4db"},keyword:{color:"#00a4db"},"attr-name":{color:"#00a4db"},".language-autohotkey .token.selector":{color:"#00a4db"},function:{color:"#9a050f",fontWeight:"bold"},deleted:{color:"#9a050f"},".language-autohotkey .token.tag":{color:"#9a050f"},tag:{color:"#00009f"},selector:{color:"#00009f"},".language-autohotkey .token.keyword":{color:"#00009f"},important:{fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}}}(_x)),_x}var Nx={},XF;function zEe(){return XF||(XF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#ebdbb2",fontFamily:'Consolas, Monaco, "Andale Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#ebdbb2",fontFamily:'Consolas, Monaco, "Andale Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto",background:"#1d2021"},'pre[class*="language-"]::-moz-selection':{color:"#fbf1c7",background:"#7c6f64"},'pre[class*="language-"] ::-moz-selection':{color:"#fbf1c7",background:"#7c6f64"},'code[class*="language-"]::-moz-selection':{color:"#fbf1c7",background:"#7c6f64"},'code[class*="language-"] ::-moz-selection':{color:"#fbf1c7",background:"#7c6f64"},'pre[class*="language-"]::selection':{color:"#fbf1c7",background:"#7c6f64"},'pre[class*="language-"] ::selection':{color:"#fbf1c7",background:"#7c6f64"},'code[class*="language-"]::selection':{color:"#fbf1c7",background:"#7c6f64"},'code[class*="language-"] ::selection':{color:"#fbf1c7",background:"#7c6f64"},':not(pre) > code[class*="language-"]':{background:"#1d2021",padding:"0.1em",borderRadius:"0.3em"},comment:{color:"#a89984"},prolog:{color:"#a89984"},cdata:{color:"#a89984"},delimiter:{color:"#fb4934"},boolean:{color:"#fb4934"},keyword:{color:"#fb4934"},selector:{color:"#fb4934"},important:{color:"#fb4934"},atrule:{color:"#fb4934"},operator:{color:"#a89984"},punctuation:{color:"#a89984"},"attr-name":{color:"#a89984"},tag:{color:"#fabd2f"},"tag.punctuation":{color:"#fabd2f"},doctype:{color:"#fabd2f"},builtin:{color:"#fabd2f"},entity:{color:"#d3869b"},number:{color:"#d3869b"},symbol:{color:"#d3869b"},property:{color:"#fb4934"},constant:{color:"#fb4934"},variable:{color:"#fb4934"},string:{color:"#b8bb26"},char:{color:"#b8bb26"},"attr-value":{color:"#a89984"},"attr-value.punctuation":{color:"#a89984"},url:{color:"#b8bb26",textDecoration:"underline"},function:{color:"#fabd2f"},regex:{background:"#b8bb26"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},inserted:{background:"#a89984"},deleted:{background:"#fb4934"}}}(Nx)),Nx}var Ox={},ZF;function BEe(){return ZF||(ZF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#3c3836",fontFamily:'Consolas, Monaco, "Andale Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#3c3836",fontFamily:'Consolas, Monaco, "Andale Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto",background:"#f9f5d7"},'pre[class*="language-"]::-moz-selection':{color:"#282828",background:"#a89984"},'pre[class*="language-"] ::-moz-selection':{color:"#282828",background:"#a89984"},'code[class*="language-"]::-moz-selection':{color:"#282828",background:"#a89984"},'code[class*="language-"] ::-moz-selection':{color:"#282828",background:"#a89984"},'pre[class*="language-"]::selection':{color:"#282828",background:"#a89984"},'pre[class*="language-"] ::selection':{color:"#282828",background:"#a89984"},'code[class*="language-"]::selection':{color:"#282828",background:"#a89984"},'code[class*="language-"] ::selection':{color:"#282828",background:"#a89984"},':not(pre) > code[class*="language-"]':{background:"#f9f5d7",padding:"0.1em",borderRadius:"0.3em"},comment:{color:"#7c6f64"},prolog:{color:"#7c6f64"},cdata:{color:"#7c6f64"},delimiter:{color:"#9d0006"},boolean:{color:"#9d0006"},keyword:{color:"#9d0006"},selector:{color:"#9d0006"},important:{color:"#9d0006"},atrule:{color:"#9d0006"},operator:{color:"#7c6f64"},punctuation:{color:"#7c6f64"},"attr-name":{color:"#7c6f64"},tag:{color:"#b57614"},"tag.punctuation":{color:"#b57614"},doctype:{color:"#b57614"},builtin:{color:"#b57614"},entity:{color:"#8f3f71"},number:{color:"#8f3f71"},symbol:{color:"#8f3f71"},property:{color:"#9d0006"},constant:{color:"#9d0006"},variable:{color:"#9d0006"},string:{color:"#797403"},char:{color:"#797403"},"attr-value":{color:"#7c6f64"},"attr-value.punctuation":{color:"#7c6f64"},url:{color:"#797403",textDecoration:"underline"},function:{color:"#b57614"},regex:{background:"#797403"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},inserted:{background:"#7c6f64"},deleted:{background:"#9d0006"}}}(Ox)),Ox}var Ix={},QF;function UEe(){return QF||(QF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={"code[class*='language-']":{color:"#d6e7ff",background:"#030314",textShadow:"none",fontFamily:'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',fontSize:"1em",lineHeight:"1.5",letterSpacing:".2px",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",textAlign:"left",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},"pre[class*='language-']":{color:"#d6e7ff",background:"#030314",textShadow:"none",fontFamily:'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',fontSize:"1em",lineHeight:"1.5",letterSpacing:".2px",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",textAlign:"left",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",border:"1px solid #2a4555",borderRadius:"5px",padding:"1.5em 1em",margin:"1em 0",overflow:"auto"},"pre[class*='language-']::-moz-selection":{color:"inherit",background:"#1d3b54",textShadow:"none"},"pre[class*='language-'] ::-moz-selection":{color:"inherit",background:"#1d3b54",textShadow:"none"},"code[class*='language-']::-moz-selection":{color:"inherit",background:"#1d3b54",textShadow:"none"},"code[class*='language-'] ::-moz-selection":{color:"inherit",background:"#1d3b54",textShadow:"none"},"pre[class*='language-']::selection":{color:"inherit",background:"#1d3b54",textShadow:"none"},"pre[class*='language-'] ::selection":{color:"inherit",background:"#1d3b54",textShadow:"none"},"code[class*='language-']::selection":{color:"inherit",background:"#1d3b54",textShadow:"none"},"code[class*='language-'] ::selection":{color:"inherit",background:"#1d3b54",textShadow:"none"},":not(pre) > code[class*='language-']":{color:"#f0f6f6",background:"#2a4555",padding:"0.2em 0.3em",borderRadius:"0.2em",boxDecorationBreak:"clone"},comment:{color:"#446e69"},prolog:{color:"#446e69"},doctype:{color:"#446e69"},cdata:{color:"#446e69"},punctuation:{color:"#d6b007"},property:{color:"#d6e7ff"},tag:{color:"#d6e7ff"},boolean:{color:"#d6e7ff"},number:{color:"#d6e7ff"},constant:{color:"#d6e7ff"},symbol:{color:"#d6e7ff"},deleted:{color:"#d6e7ff"},selector:{color:"#e60067"},"attr-name":{color:"#e60067"},builtin:{color:"#e60067"},inserted:{color:"#e60067"},string:{color:"#49c6ec"},char:{color:"#49c6ec"},operator:{color:"#ec8e01",background:"transparent"},entity:{color:"#ec8e01",background:"transparent"},url:{color:"#ec8e01",background:"transparent"},".language-css .token.string":{color:"#ec8e01",background:"transparent"},".style .token.string":{color:"#ec8e01",background:"transparent"},atrule:{color:"#0fe468"},"attr-value":{color:"#0fe468"},keyword:{color:"#0fe468"},function:{color:"#78f3e9"},"class-name":{color:"#78f3e9"},regex:{color:"#d6e7ff"},important:{color:"#d6e7ff"},variable:{color:"#d6e7ff"}}}(Ix)),Ix}var Dx={},JF;function jEe(){return JF||(JF=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{fontFamily:'"Fira Mono", Menlo, Monaco, "Lucida Console", "Courier New", Courier, monospace',fontSize:"16px",lineHeight:"1.375",direction:"ltr",textAlign:"left",wordSpacing:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",whiteSpace:"pre-wrap",wordBreak:"break-all",wordWrap:"break-word",background:"#322931",color:"#b9b5b8"},'pre[class*="language-"]':{fontFamily:'"Fira Mono", Menlo, Monaco, "Lucida Console", "Courier New", Courier, monospace',fontSize:"16px",lineHeight:"1.375",direction:"ltr",textAlign:"left",wordSpacing:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",whiteSpace:"pre-wrap",wordBreak:"break-all",wordWrap:"break-word",background:"#322931",color:"#b9b5b8",padding:"1em",margin:".5em 0",overflow:"auto"},'pre > code[class*="language-"]':{fontSize:"1em"},':not(pre) > code[class*="language-"]':{padding:".1em",borderRadius:".3em"},comment:{color:"#797379"},prolog:{color:"#797379"},doctype:{color:"#797379"},cdata:{color:"#797379"},punctuation:{color:"#b9b5b8"},".namespace":{Opacity:".7"},null:{color:"#fd8b19"},operator:{color:"#fd8b19"},boolean:{color:"#fd8b19"},number:{color:"#fd8b19"},property:{color:"#fdcc59"},tag:{color:"#1290bf"},string:{color:"#149b93"},selector:{color:"#c85e7c"},"attr-name":{color:"#fd8b19"},entity:{color:"#149b93",cursor:"help"},url:{color:"#149b93"},".language-css .token.string":{color:"#149b93"},".style .token.string":{color:"#149b93"},"attr-value":{color:"#8fc13e"},keyword:{color:"#8fc13e"},control:{color:"#8fc13e"},directive:{color:"#8fc13e"},unit:{color:"#8fc13e"},statement:{color:"#149b93"},regex:{color:"#149b93"},atrule:{color:"#149b93"},placeholder:{color:"#1290bf"},variable:{color:"#1290bf"},important:{color:"#dd464c",fontWeight:"bold"},"pre > code.highlight":{Outline:".4em solid red",OutlineOffset:".4em"}}}(Dx)),Dx}var Lx={},ez;function GEe(){return ez||(ez=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#f8f8f2",background:"none",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Monaco, Consolas, 'Andale Mono', 'Ubuntu Mono', monospace",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#f8f8f2",background:"#263E52",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Monaco, Consolas, 'Andale Mono', 'Ubuntu Mono', monospace",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",borderRadius:"0.3em"},':not(pre) > code[class*="language-"]':{background:"#263E52",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"#5c98cd"},prolog:{color:"#5c98cd"},doctype:{color:"#5c98cd"},cdata:{color:"#5c98cd"},punctuation:{color:"#f8f8f2"},".namespace":{Opacity:".7"},property:{color:"#F05E5D"},tag:{color:"#F05E5D"},constant:{color:"#F05E5D"},symbol:{color:"#F05E5D"},deleted:{color:"#F05E5D"},boolean:{color:"#BC94F9"},number:{color:"#BC94F9"},selector:{color:"#FCFCD6"},"attr-name":{color:"#FCFCD6"},string:{color:"#FCFCD6"},char:{color:"#FCFCD6"},builtin:{color:"#FCFCD6"},inserted:{color:"#FCFCD6"},operator:{color:"#f8f8f2"},entity:{color:"#f8f8f2",cursor:"help"},url:{color:"#f8f8f2"},".language-css .token.string":{color:"#f8f8f2"},".style .token.string":{color:"#f8f8f2"},variable:{color:"#f8f8f2"},atrule:{color:"#66D8EF"},"attr-value":{color:"#66D8EF"},function:{color:"#66D8EF"},"class-name":{color:"#66D8EF"},keyword:{color:"#6EB26E"},regex:{color:"#F05E5D"},important:{color:"#F05E5D",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}}}(Lx)),Lx}var Mx={},tz;function HEe(){return tz||(tz=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",color:"#eee",background:"#2f2f2f",fontFamily:"Roboto Mono, monospace",fontSize:"1em",lineHeight:"1.5em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",color:"#eee",background:"#2f2f2f",fontFamily:"Roboto Mono, monospace",fontSize:"1em",lineHeight:"1.5em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",overflow:"auto",position:"relative",margin:"0.5em 0",padding:"1.25em 1em"},'code[class*="language-"]::-moz-selection':{background:"#363636"},'pre[class*="language-"]::-moz-selection':{background:"#363636"},'code[class*="language-"] ::-moz-selection':{background:"#363636"},'pre[class*="language-"] ::-moz-selection':{background:"#363636"},'code[class*="language-"]::selection':{background:"#363636"},'pre[class*="language-"]::selection':{background:"#363636"},'code[class*="language-"] ::selection':{background:"#363636"},'pre[class*="language-"] ::selection':{background:"#363636"},':not(pre) > code[class*="language-"]':{whiteSpace:"normal",borderRadius:"0.2em",padding:"0.1em"},".language-css > code":{color:"#fd9170"},".language-sass > code":{color:"#fd9170"},".language-scss > code":{color:"#fd9170"},'[class*="language-"] .namespace':{Opacity:"0.7"},atrule:{color:"#c792ea"},"attr-name":{color:"#ffcb6b"},"attr-value":{color:"#a5e844"},attribute:{color:"#a5e844"},boolean:{color:"#c792ea"},builtin:{color:"#ffcb6b"},cdata:{color:"#80cbc4"},char:{color:"#80cbc4"},class:{color:"#ffcb6b"},"class-name":{color:"#f2ff00"},comment:{color:"#616161"},constant:{color:"#c792ea"},deleted:{color:"#ff6666"},doctype:{color:"#616161"},entity:{color:"#ff6666"},function:{color:"#c792ea"},hexcode:{color:"#f2ff00"},id:{color:"#c792ea",fontWeight:"bold"},important:{color:"#c792ea",fontWeight:"bold"},inserted:{color:"#80cbc4"},keyword:{color:"#c792ea"},number:{color:"#fd9170"},operator:{color:"#89ddff"},prolog:{color:"#616161"},property:{color:"#80cbc4"},"pseudo-class":{color:"#a5e844"},"pseudo-element":{color:"#a5e844"},punctuation:{color:"#89ddff"},regex:{color:"#f2ff00"},selector:{color:"#ff6666"},string:{color:"#a5e844"},symbol:{color:"#c792ea"},tag:{color:"#ff6666"},unit:{color:"#fd9170"},url:{color:"#ff6666"},variable:{color:"#ff6666"}}}(Mx)),Mx}var Px={},nz;function $Ee(){return nz||(nz=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",color:"#90a4ae",background:"#fafafa",fontFamily:"Roboto Mono, monospace",fontSize:"1em",lineHeight:"1.5em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",color:"#90a4ae",background:"#fafafa",fontFamily:"Roboto Mono, monospace",fontSize:"1em",lineHeight:"1.5em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",overflow:"auto",position:"relative",margin:"0.5em 0",padding:"1.25em 1em"},'code[class*="language-"]::-moz-selection':{background:"#cceae7",color:"#263238"},'pre[class*="language-"]::-moz-selection':{background:"#cceae7",color:"#263238"},'code[class*="language-"] ::-moz-selection':{background:"#cceae7",color:"#263238"},'pre[class*="language-"] ::-moz-selection':{background:"#cceae7",color:"#263238"},'code[class*="language-"]::selection':{background:"#cceae7",color:"#263238"},'pre[class*="language-"]::selection':{background:"#cceae7",color:"#263238"},'code[class*="language-"] ::selection':{background:"#cceae7",color:"#263238"},'pre[class*="language-"] ::selection':{background:"#cceae7",color:"#263238"},':not(pre) > code[class*="language-"]':{whiteSpace:"normal",borderRadius:"0.2em",padding:"0.1em"},".language-css > code":{color:"#f76d47"},".language-sass > code":{color:"#f76d47"},".language-scss > code":{color:"#f76d47"},'[class*="language-"] .namespace':{Opacity:"0.7"},atrule:{color:"#7c4dff"},"attr-name":{color:"#39adb5"},"attr-value":{color:"#f6a434"},attribute:{color:"#f6a434"},boolean:{color:"#7c4dff"},builtin:{color:"#39adb5"},cdata:{color:"#39adb5"},char:{color:"#39adb5"},class:{color:"#39adb5"},"class-name":{color:"#6182b8"},comment:{color:"#aabfc9"},constant:{color:"#7c4dff"},deleted:{color:"#e53935"},doctype:{color:"#aabfc9"},entity:{color:"#e53935"},function:{color:"#7c4dff"},hexcode:{color:"#f76d47"},id:{color:"#7c4dff",fontWeight:"bold"},important:{color:"#7c4dff",fontWeight:"bold"},inserted:{color:"#39adb5"},keyword:{color:"#7c4dff"},number:{color:"#f76d47"},operator:{color:"#39adb5"},prolog:{color:"#aabfc9"},property:{color:"#39adb5"},"pseudo-class":{color:"#f6a434"},"pseudo-element":{color:"#f6a434"},punctuation:{color:"#39adb5"},regex:{color:"#6182b8"},selector:{color:"#e53935"},string:{color:"#f6a434"},symbol:{color:"#7c4dff"},tag:{color:"#e53935"},unit:{color:"#f76d47"},url:{color:"#e53935"},variable:{color:"#e53935"}}}(Px)),Px}var Fx={},rz;function qEe(){return rz||(rz=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",color:"#c3cee3",background:"#263238",fontFamily:"Roboto Mono, monospace",fontSize:"1em",lineHeight:"1.5em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",color:"#c3cee3",background:"#263238",fontFamily:"Roboto Mono, monospace",fontSize:"1em",lineHeight:"1.5em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",overflow:"auto",position:"relative",margin:"0.5em 0",padding:"1.25em 1em"},'code[class*="language-"]::-moz-selection':{background:"#363636"},'pre[class*="language-"]::-moz-selection':{background:"#363636"},'code[class*="language-"] ::-moz-selection':{background:"#363636"},'pre[class*="language-"] ::-moz-selection':{background:"#363636"},'code[class*="language-"]::selection':{background:"#363636"},'pre[class*="language-"]::selection':{background:"#363636"},'code[class*="language-"] ::selection':{background:"#363636"},'pre[class*="language-"] ::selection':{background:"#363636"},':not(pre) > code[class*="language-"]':{whiteSpace:"normal",borderRadius:"0.2em",padding:"0.1em"},".language-css > code":{color:"#fd9170"},".language-sass > code":{color:"#fd9170"},".language-scss > code":{color:"#fd9170"},'[class*="language-"] .namespace':{Opacity:"0.7"},atrule:{color:"#c792ea"},"attr-name":{color:"#ffcb6b"},"attr-value":{color:"#c3e88d"},attribute:{color:"#c3e88d"},boolean:{color:"#c792ea"},builtin:{color:"#ffcb6b"},cdata:{color:"#80cbc4"},char:{color:"#80cbc4"},class:{color:"#ffcb6b"},"class-name":{color:"#f2ff00"},color:{color:"#f2ff00"},comment:{color:"#546e7a"},constant:{color:"#c792ea"},deleted:{color:"#f07178"},doctype:{color:"#546e7a"},entity:{color:"#f07178"},function:{color:"#c792ea"},hexcode:{color:"#f2ff00"},id:{color:"#c792ea",fontWeight:"bold"},important:{color:"#c792ea",fontWeight:"bold"},inserted:{color:"#80cbc4"},keyword:{color:"#c792ea",fontStyle:"italic"},number:{color:"#fd9170"},operator:{color:"#89ddff"},prolog:{color:"#546e7a"},property:{color:"#80cbc4"},"pseudo-class":{color:"#c3e88d"},"pseudo-element":{color:"#c3e88d"},punctuation:{color:"#89ddff"},regex:{color:"#f2ff00"},selector:{color:"#f07178"},string:{color:"#c3e88d"},symbol:{color:"#c792ea"},tag:{color:"#f07178"},unit:{color:"#f07178"},url:{color:"#fd9170"},variable:{color:"#f07178"}}}(Fx)),Fx}var zx={},az;function VEe(){return az||(az=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#d6deeb",fontFamily:'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",fontSize:"1em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"white",fontFamily:'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",fontSize:"1em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto",background:"#011627"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},'pre[class*="language-"]::selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},'code[class*="language-"]::selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},'code[class*="language-"] ::selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},':not(pre) > code[class*="language-"]':{color:"white",background:"#011627",padding:"0.1em",borderRadius:"0.3em",whiteSpace:"normal"},comment:{color:"rgb(99, 119, 119)",fontStyle:"italic"},prolog:{color:"rgb(99, 119, 119)",fontStyle:"italic"},cdata:{color:"rgb(99, 119, 119)",fontStyle:"italic"},punctuation:{color:"rgb(199, 146, 234)"},".namespace":{color:"rgb(178, 204, 214)"},deleted:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"},symbol:{color:"rgb(128, 203, 196)"},property:{color:"rgb(128, 203, 196)"},tag:{color:"rgb(127, 219, 202)"},operator:{color:"rgb(127, 219, 202)"},keyword:{color:"rgb(127, 219, 202)"},boolean:{color:"rgb(255, 88, 116)"},number:{color:"rgb(247, 140, 108)"},constant:{color:"rgb(130, 170, 255)"},function:{color:"rgb(130, 170, 255)"},builtin:{color:"rgb(130, 170, 255)"},char:{color:"rgb(130, 170, 255)"},selector:{color:"rgb(199, 146, 234)",fontStyle:"italic"},doctype:{color:"rgb(199, 146, 234)",fontStyle:"italic"},"attr-name":{color:"rgb(173, 219, 103)",fontStyle:"italic"},inserted:{color:"rgb(173, 219, 103)",fontStyle:"italic"},string:{color:"rgb(173, 219, 103)"},url:{color:"rgb(173, 219, 103)"},entity:{color:"rgb(173, 219, 103)"},".language-css .token.string":{color:"rgb(173, 219, 103)"},".style .token.string":{color:"rgb(173, 219, 103)"},"class-name":{color:"rgb(255, 203, 139)"},atrule:{color:"rgb(255, 203, 139)"},"attr-value":{color:"rgb(255, 203, 139)"},regex:{color:"rgb(214, 222, 235)"},important:{color:"rgb(214, 222, 235)",fontWeight:"bold"},variable:{color:"rgb(214, 222, 235)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}}}(zx)),zx}var Bx={},oz;function WEe(){return oz||(oz=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#f8f8f2",background:"none",fontFamily:`"Fira Code", Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace`,textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#f8f8f2",background:"#2E3440",fontFamily:`"Fira Code", Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace`,textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",borderRadius:"0.3em"},':not(pre) > code[class*="language-"]':{background:"#2E3440",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"#636f88"},prolog:{color:"#636f88"},doctype:{color:"#636f88"},cdata:{color:"#636f88"},punctuation:{color:"#81A1C1"},".namespace":{Opacity:".7"},property:{color:"#81A1C1"},tag:{color:"#81A1C1"},constant:{color:"#81A1C1"},symbol:{color:"#81A1C1"},deleted:{color:"#81A1C1"},number:{color:"#B48EAD"},boolean:{color:"#81A1C1"},selector:{color:"#A3BE8C"},"attr-name":{color:"#A3BE8C"},string:{color:"#A3BE8C"},char:{color:"#A3BE8C"},builtin:{color:"#A3BE8C"},inserted:{color:"#A3BE8C"},operator:{color:"#81A1C1"},entity:{color:"#81A1C1",cursor:"help"},url:{color:"#81A1C1"},".language-css .token.string":{color:"#81A1C1"},".style .token.string":{color:"#81A1C1"},variable:{color:"#81A1C1"},atrule:{color:"#88C0D0"},"attr-value":{color:"#88C0D0"},function:{color:"#88C0D0"},"class-name":{color:"#88C0D0"},keyword:{color:"#81A1C1"},regex:{color:"#EBCB8B"},important:{color:"#EBCB8B",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}}}(Bx)),Bx}var Ux={},iz;function YEe(){return iz||(iz=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{background:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{background:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto",borderRadius:"0.3em"},'code[class*="language-"]::-moz-selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'code[class*="language-"] *::-moz-selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'pre[class*="language-"] *::-moz-selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'code[class*="language-"]::selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'code[class*="language-"] *::selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'pre[class*="language-"] *::selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},':not(pre) > code[class*="language-"]':{padding:"0.2em 0.3em",borderRadius:"0.3em",whiteSpace:"normal"},comment:{color:"hsl(220, 10%, 40%)",fontStyle:"italic"},prolog:{color:"hsl(220, 10%, 40%)"},cdata:{color:"hsl(220, 10%, 40%)"},doctype:{color:"hsl(220, 14%, 71%)"},punctuation:{color:"hsl(220, 14%, 71%)"},entity:{color:"hsl(220, 14%, 71%)",cursor:"help"},"attr-name":{color:"hsl(29, 54%, 61%)"},"class-name":{color:"hsl(29, 54%, 61%)"},boolean:{color:"hsl(29, 54%, 61%)"},constant:{color:"hsl(29, 54%, 61%)"},number:{color:"hsl(29, 54%, 61%)"},atrule:{color:"hsl(29, 54%, 61%)"},keyword:{color:"hsl(286, 60%, 67%)"},property:{color:"hsl(355, 65%, 65%)"},tag:{color:"hsl(355, 65%, 65%)"},symbol:{color:"hsl(355, 65%, 65%)"},deleted:{color:"hsl(355, 65%, 65%)"},important:{color:"hsl(355, 65%, 65%)"},selector:{color:"hsl(95, 38%, 62%)"},string:{color:"hsl(95, 38%, 62%)"},char:{color:"hsl(95, 38%, 62%)"},builtin:{color:"hsl(95, 38%, 62%)"},inserted:{color:"hsl(95, 38%, 62%)"},regex:{color:"hsl(95, 38%, 62%)"},"attr-value":{color:"hsl(95, 38%, 62%)"},"attr-value > .token.punctuation":{color:"hsl(95, 38%, 62%)"},variable:{color:"hsl(207, 82%, 66%)"},operator:{color:"hsl(207, 82%, 66%)"},function:{color:"hsl(207, 82%, 66%)"},url:{color:"hsl(187, 47%, 55%)"},"attr-value > .token.punctuation.attr-equals":{color:"hsl(220, 14%, 71%)"},"special-attr > .token.attr-value > .token.value.css":{color:"hsl(220, 14%, 71%)"},".language-css .token.selector":{color:"hsl(355, 65%, 65%)"},".language-css .token.property":{color:"hsl(220, 14%, 71%)"},".language-css .token.function":{color:"hsl(187, 47%, 55%)"},".language-css .token.url > .token.function":{color:"hsl(187, 47%, 55%)"},".language-css .token.url > .token.string.url":{color:"hsl(95, 38%, 62%)"},".language-css .token.important":{color:"hsl(286, 60%, 67%)"},".language-css .token.atrule .token.rule":{color:"hsl(286, 60%, 67%)"},".language-javascript .token.operator":{color:"hsl(286, 60%, 67%)"},".language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation":{color:"hsl(5, 48%, 51%)"},".language-json .token.operator":{color:"hsl(220, 14%, 71%)"},".language-json .token.null.keyword":{color:"hsl(29, 54%, 61%)"},".language-markdown .token.url":{color:"hsl(220, 14%, 71%)"},".language-markdown .token.url > .token.operator":{color:"hsl(220, 14%, 71%)"},".language-markdown .token.url-reference.url > .token.string":{color:"hsl(220, 14%, 71%)"},".language-markdown .token.url > .token.content":{color:"hsl(207, 82%, 66%)"},".language-markdown .token.url > .token.url":{color:"hsl(187, 47%, 55%)"},".language-markdown .token.url-reference.url":{color:"hsl(187, 47%, 55%)"},".language-markdown .token.blockquote.punctuation":{color:"hsl(220, 10%, 40%)",fontStyle:"italic"},".language-markdown .token.hr.punctuation":{color:"hsl(220, 10%, 40%)",fontStyle:"italic"},".language-markdown .token.code-snippet":{color:"hsl(95, 38%, 62%)"},".language-markdown .token.bold .token.content":{color:"hsl(29, 54%, 61%)"},".language-markdown .token.italic .token.content":{color:"hsl(286, 60%, 67%)"},".language-markdown .token.strike .token.content":{color:"hsl(355, 65%, 65%)"},".language-markdown .token.strike .token.punctuation":{color:"hsl(355, 65%, 65%)"},".language-markdown .token.list.punctuation":{color:"hsl(355, 65%, 65%)"},".language-markdown .token.title.important > .token.punctuation":{color:"hsl(355, 65%, 65%)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},namespace:{Opacity:"0.8"},"token.tab:not(:empty):before":{color:"hsla(220, 14%, 71%, 0.15)",textShadow:"none"},"token.cr:before":{color:"hsla(220, 14%, 71%, 0.15)",textShadow:"none"},"token.lf:before":{color:"hsla(220, 14%, 71%, 0.15)",textShadow:"none"},"token.space:before":{color:"hsla(220, 14%, 71%, 0.15)",textShadow:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item":{marginRight:"0.4em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 9%, 55%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 9%, 55%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 9%, 55%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},".line-highlight.line-highlight":{background:"hsla(220, 100%, 80%, 0.04)"},".line-highlight.line-highlight:before":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 14%, 71%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},".line-highlight.line-highlight[data-end]:after":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 14%, 71%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before":{backgroundColor:"hsla(220, 100%, 80%, 0.04)"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"hsla(220, 14%, 71%, 0.15)"},".command-line .command-line-prompt":{borderRightColor:"hsla(220, 14%, 71%, 0.15)"},".line-numbers .line-numbers-rows > span:before":{color:"hsl(220, 14%, 45%)"},".command-line .command-line-prompt > span:before":{color:"hsl(220, 14%, 45%)"},".rainbow-braces .token.token.punctuation.brace-level-1":{color:"hsl(355, 65%, 65%)"},".rainbow-braces .token.token.punctuation.brace-level-5":{color:"hsl(355, 65%, 65%)"},".rainbow-braces .token.token.punctuation.brace-level-9":{color:"hsl(355, 65%, 65%)"},".rainbow-braces .token.token.punctuation.brace-level-2":{color:"hsl(95, 38%, 62%)"},".rainbow-braces .token.token.punctuation.brace-level-6":{color:"hsl(95, 38%, 62%)"},".rainbow-braces .token.token.punctuation.brace-level-10":{color:"hsl(95, 38%, 62%)"},".rainbow-braces .token.token.punctuation.brace-level-3":{color:"hsl(207, 82%, 66%)"},".rainbow-braces .token.token.punctuation.brace-level-7":{color:"hsl(207, 82%, 66%)"},".rainbow-braces .token.token.punctuation.brace-level-11":{color:"hsl(207, 82%, 66%)"},".rainbow-braces .token.token.punctuation.brace-level-4":{color:"hsl(286, 60%, 67%)"},".rainbow-braces .token.token.punctuation.brace-level-8":{color:"hsl(286, 60%, 67%)"},".rainbow-braces .token.token.punctuation.brace-level-12":{color:"hsl(286, 60%, 67%)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},".prism-previewer.prism-previewer:before":{borderColor:"hsl(224, 13%, 17%)"},".prism-previewer-gradient.prism-previewer-gradient div":{borderColor:"hsl(224, 13%, 17%)",borderRadius:"0.3em"},".prism-previewer-color.prism-previewer-color:before":{borderRadius:"0.3em"},".prism-previewer-easing.prism-previewer-easing:before":{borderRadius:"0.3em"},".prism-previewer.prism-previewer:after":{borderTopColor:"hsl(224, 13%, 17%)"},".prism-previewer-flipped.prism-previewer-flipped.after":{borderBottomColor:"hsl(224, 13%, 17%)"},".prism-previewer-angle.prism-previewer-angle:before":{background:"hsl(219, 13%, 22%)"},".prism-previewer-time.prism-previewer-time:before":{background:"hsl(219, 13%, 22%)"},".prism-previewer-easing.prism-previewer-easing":{background:"hsl(219, 13%, 22%)"},".prism-previewer-angle.prism-previewer-angle circle":{stroke:"hsl(220, 14%, 71%)",strokeOpacity:"1"},".prism-previewer-time.prism-previewer-time circle":{stroke:"hsl(220, 14%, 71%)",strokeOpacity:"1"},".prism-previewer-easing.prism-previewer-easing circle":{stroke:"hsl(220, 14%, 71%)",fill:"transparent"},".prism-previewer-easing.prism-previewer-easing path":{stroke:"hsl(220, 14%, 71%)"},".prism-previewer-easing.prism-previewer-easing line":{stroke:"hsl(220, 14%, 71%)"}}}(Ux)),Ux}var jx={},sz;function KEe(){return sz||(sz=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{background:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{background:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto",borderRadius:"0.3em"},'code[class*="language-"]::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"] *::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'pre[class*="language-"] *::-moz-selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"]::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'code[class*="language-"] *::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},'pre[class*="language-"] *::selection':{background:"hsl(230, 1%, 90%)",color:"inherit"},':not(pre) > code[class*="language-"]':{padding:"0.2em 0.3em",borderRadius:"0.3em",whiteSpace:"normal"},comment:{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},prolog:{color:"hsl(230, 4%, 64%)"},cdata:{color:"hsl(230, 4%, 64%)"},doctype:{color:"hsl(230, 8%, 24%)"},punctuation:{color:"hsl(230, 8%, 24%)"},entity:{color:"hsl(230, 8%, 24%)",cursor:"help"},"attr-name":{color:"hsl(35, 99%, 36%)"},"class-name":{color:"hsl(35, 99%, 36%)"},boolean:{color:"hsl(35, 99%, 36%)"},constant:{color:"hsl(35, 99%, 36%)"},number:{color:"hsl(35, 99%, 36%)"},atrule:{color:"hsl(35, 99%, 36%)"},keyword:{color:"hsl(301, 63%, 40%)"},property:{color:"hsl(5, 74%, 59%)"},tag:{color:"hsl(5, 74%, 59%)"},symbol:{color:"hsl(5, 74%, 59%)"},deleted:{color:"hsl(5, 74%, 59%)"},important:{color:"hsl(5, 74%, 59%)"},selector:{color:"hsl(119, 34%, 47%)"},string:{color:"hsl(119, 34%, 47%)"},char:{color:"hsl(119, 34%, 47%)"},builtin:{color:"hsl(119, 34%, 47%)"},inserted:{color:"hsl(119, 34%, 47%)"},regex:{color:"hsl(119, 34%, 47%)"},"attr-value":{color:"hsl(119, 34%, 47%)"},"attr-value > .token.punctuation":{color:"hsl(119, 34%, 47%)"},variable:{color:"hsl(221, 87%, 60%)"},operator:{color:"hsl(221, 87%, 60%)"},function:{color:"hsl(221, 87%, 60%)"},url:{color:"hsl(198, 99%, 37%)"},"attr-value > .token.punctuation.attr-equals":{color:"hsl(230, 8%, 24%)"},"special-attr > .token.attr-value > .token.value.css":{color:"hsl(230, 8%, 24%)"},".language-css .token.selector":{color:"hsl(5, 74%, 59%)"},".language-css .token.property":{color:"hsl(230, 8%, 24%)"},".language-css .token.function":{color:"hsl(198, 99%, 37%)"},".language-css .token.url > .token.function":{color:"hsl(198, 99%, 37%)"},".language-css .token.url > .token.string.url":{color:"hsl(119, 34%, 47%)"},".language-css .token.important":{color:"hsl(301, 63%, 40%)"},".language-css .token.atrule .token.rule":{color:"hsl(301, 63%, 40%)"},".language-javascript .token.operator":{color:"hsl(301, 63%, 40%)"},".language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation":{color:"hsl(344, 84%, 43%)"},".language-json .token.operator":{color:"hsl(230, 8%, 24%)"},".language-json .token.null.keyword":{color:"hsl(35, 99%, 36%)"},".language-markdown .token.url":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url > .token.operator":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url-reference.url > .token.string":{color:"hsl(230, 8%, 24%)"},".language-markdown .token.url > .token.content":{color:"hsl(221, 87%, 60%)"},".language-markdown .token.url > .token.url":{color:"hsl(198, 99%, 37%)"},".language-markdown .token.url-reference.url":{color:"hsl(198, 99%, 37%)"},".language-markdown .token.blockquote.punctuation":{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},".language-markdown .token.hr.punctuation":{color:"hsl(230, 4%, 64%)",fontStyle:"italic"},".language-markdown .token.code-snippet":{color:"hsl(119, 34%, 47%)"},".language-markdown .token.bold .token.content":{color:"hsl(35, 99%, 36%)"},".language-markdown .token.italic .token.content":{color:"hsl(301, 63%, 40%)"},".language-markdown .token.strike .token.content":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.strike .token.punctuation":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.list.punctuation":{color:"hsl(5, 74%, 59%)"},".language-markdown .token.title.important > .token.punctuation":{color:"hsl(5, 74%, 59%)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},namespace:{Opacity:"0.8"},"token.tab:not(:empty):before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.cr:before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.lf:before":{color:"hsla(230, 8%, 24%, 0.2)"},"token.space:before":{color:"hsla(230, 8%, 24%, 0.2)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item":{marginRight:"0.4em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 6%, 44%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus":{background:"hsl(230, 1%, 78%)",color:"hsl(230, 8%, 24%)"},".line-highlight.line-highlight":{background:"hsla(230, 8%, 24%, 0.05)"},".line-highlight.line-highlight:before":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 8%, 24%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},".line-highlight.line-highlight[data-end]:after":{background:"hsl(230, 1%, 90%)",color:"hsl(230, 8%, 24%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before":{backgroundColor:"hsla(230, 8%, 24%, 0.05)"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"hsla(230, 8%, 24%, 0.2)"},".command-line .command-line-prompt":{borderRightColor:"hsla(230, 8%, 24%, 0.2)"},".line-numbers .line-numbers-rows > span:before":{color:"hsl(230, 1%, 62%)"},".command-line .command-line-prompt > span:before":{color:"hsl(230, 1%, 62%)"},".rainbow-braces .token.token.punctuation.brace-level-1":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-5":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-9":{color:"hsl(5, 74%, 59%)"},".rainbow-braces .token.token.punctuation.brace-level-2":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-6":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-10":{color:"hsl(119, 34%, 47%)"},".rainbow-braces .token.token.punctuation.brace-level-3":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-7":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-11":{color:"hsl(221, 87%, 60%)"},".rainbow-braces .token.token.punctuation.brace-level-4":{color:"hsl(301, 63%, 40%)"},".rainbow-braces .token.token.punctuation.brace-level-8":{color:"hsl(301, 63%, 40%)"},".rainbow-braces .token.token.punctuation.brace-level-12":{color:"hsl(301, 63%, 40%)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},".prism-previewer.prism-previewer:before":{borderColor:"hsl(0, 0, 95%)"},".prism-previewer-gradient.prism-previewer-gradient div":{borderColor:"hsl(0, 0, 95%)",borderRadius:"0.3em"},".prism-previewer-color.prism-previewer-color:before":{borderRadius:"0.3em"},".prism-previewer-easing.prism-previewer-easing:before":{borderRadius:"0.3em"},".prism-previewer.prism-previewer:after":{borderTopColor:"hsl(0, 0, 95%)"},".prism-previewer-flipped.prism-previewer-flipped.after":{borderBottomColor:"hsl(0, 0, 95%)"},".prism-previewer-angle.prism-previewer-angle:before":{background:"hsl(0, 0%, 100%)"},".prism-previewer-time.prism-previewer-time:before":{background:"hsl(0, 0%, 100%)"},".prism-previewer-easing.prism-previewer-easing":{background:"hsl(0, 0%, 100%)"},".prism-previewer-angle.prism-previewer-angle circle":{stroke:"hsl(230, 8%, 24%)",strokeOpacity:"1"},".prism-previewer-time.prism-previewer-time circle":{stroke:"hsl(230, 8%, 24%)",strokeOpacity:"1"},".prism-previewer-easing.prism-previewer-easing circle":{stroke:"hsl(230, 8%, 24%)",fill:"transparent"},".prism-previewer-easing.prism-previewer-easing path":{stroke:"hsl(230, 8%, 24%)"},".prism-previewer-easing.prism-previewer-easing line":{stroke:"hsl(230, 8%, 24%)"}}}(jx)),jx}var Gx={},lz;function XEe(){return lz||(lz=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",whiteSpace:"pre-wrap",wordBreak:"break-all",wordWrap:"break-word",fontFamily:'Menlo, Monaco, "Courier New", monospace',fontSize:"15px",lineHeight:"1.5",color:"#dccf8f",textShadow:"0"},'pre[class*="language-"]':{MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",whiteSpace:"pre-wrap",wordBreak:"break-all",wordWrap:"break-word",fontFamily:'Menlo, Monaco, "Courier New", monospace',fontSize:"15px",lineHeight:"1.5",color:"#DCCF8F",textShadow:"0",borderRadius:"5px",border:"1px solid #000",background:"#181914 url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAMAAA/+4ADkFkb2JlAGTAAAAAAf/bAIQACQYGBgcGCQcHCQ0IBwgNDwsJCQsPEQ4ODw4OERENDg4ODg0RERQUFhQUERoaHBwaGiYmJiYmKysrKysrKysrKwEJCAgJCgkMCgoMDwwODA8TDg4ODhMVDg4PDg4VGhMRERERExoXGhYWFhoXHR0aGh0dJCQjJCQrKysrKysrKysr/8AAEQgAjACMAwEiAAIRAQMRAf/EAF4AAQEBAAAAAAAAAAAAAAAAAAABBwEBAQAAAAAAAAAAAAAAAAAAAAIQAAEDAwIHAQEAAAAAAAAAAADwAREhYaExkUFRcYGxwdHh8REBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AyGFEjHaBS2fDDs2zkhKmBKktb7km+ZwwCnXPkLVmCTMItj6AXFxRS465/BTnkAJvkLkJe+7AKKoi2AtRS2zuAWsCb5GOlBN8gKfmuGHZ8MFqIth3ALmFoFwbwKWyAlTAp17uKqBvgBD8sM4fTjhvAhkzhaRkBMKBrfs7jGPIpzy7gFrAqnC0C0gB0EWwBDW2cBVQwm+QtPpa3wBO3sVvszCnLAhkzgL5/RLf13cLQd8/AGlu0Cb5HTx9KuAEieGJEdcehS3eRTp2ATdt3CpIm+QtZwAhROXFeb7swp/ahaM3kBE/jSIUBc/AWrgBN8uNFAl+b7sAXFxFn2YLUU5Ns7gFX8C4ib+hN8gFWXwK3bZglxEJm+gKdciLPsFV/TClsgJUwKJ5FVA7tvIFrfZhVfGJDcsCKaYgAqv6YRbE+RWOWBtu7+AL3yRalXLyKqAIIfk+zARbDgFyEsncYwJvlgFRW+GEWntIi2P0BooyFxcNr8Ep3+ANLbMO+QyhvbiqdgC0kVvgUUiLYgBS2QtPbiVI1/sgOmG9uO+Y8DW+7jS2zAOnj6O2BndwuIAUtkdRN8gFoK3wwXMQyZwHVbClsuNLd4E3yAUR6FVDBR+BafQGt93LVMxJTv8ABts4CVLhcfYWsCb5kC9/BHdU8CLYFY5bMAd+eX9MGthhpbA1vu4B7+RKkaW2Yq4AQtVBBFsAJU/AuIXBhN8gGWnstefhiZyWvLAEnbYS1uzSFP6Jvn4Baxx70JKkQojLib5AVTey1jjgkKJGO0AKWyOm7N7cSpgSpAdPH0Tfd/gp1z5C1ZgKqN9J2wFxcUUuAFLZAm+QC0Fb4YUVRFsAOvj4KW2dwtYE3yAWk/wS/PLMKfmuGHZ8MAXF/Ja32Yi5haAKWz4Ydm2cSpgU693Atb7km+Zwwh+WGcPpxw3gAkzCLY+iYUDW/Z3Adc/gpzyFrAqnALkJe+7DoItgAtRS2zuKqGE3yAx0oJvkdvYrfZmALURbDuL5/RLf13cAuDeBS2RpbtAm+QFVA3wR+3fUtFHoBDJnC0jIXH0HWsgMY8inPLuOkd9chp4z20ALQLSA8cI9jYAIa2zjzjBd8gRafS1vgiUho/kAKcsCGTOGWvoOpkAtB3z8Hm8x2Ff5ADp4+lXAlIvcmwH/2Q==') repeat left top",padding:"12px",overflow:"auto"},'pre > code[class*="language-"]':{fontSize:"1em"},':not(pre) > code[class*="language-"]':{borderRadius:"5px",border:"1px solid #000",color:"#DCCF8F",background:"#181914 url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAMAAA/+4ADkFkb2JlAGTAAAAAAf/bAIQACQYGBgcGCQcHCQ0IBwgNDwsJCQsPEQ4ODw4OERENDg4ODg0RERQUFhQUERoaHBwaGiYmJiYmKysrKysrKysrKwEJCAgJCgkMCgoMDwwODA8TDg4ODhMVDg4PDg4VGhMRERERExoXGhYWFhoXHR0aGh0dJCQjJCQrKysrKysrKysr/8AAEQgAjACMAwEiAAIRAQMRAf/EAF4AAQEBAAAAAAAAAAAAAAAAAAABBwEBAQAAAAAAAAAAAAAAAAAAAAIQAAEDAwIHAQEAAAAAAAAAAADwAREhYaExkUFRcYGxwdHh8REBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AyGFEjHaBS2fDDs2zkhKmBKktb7km+ZwwCnXPkLVmCTMItj6AXFxRS465/BTnkAJvkLkJe+7AKKoi2AtRS2zuAWsCb5GOlBN8gKfmuGHZ8MFqIth3ALmFoFwbwKWyAlTAp17uKqBvgBD8sM4fTjhvAhkzhaRkBMKBrfs7jGPIpzy7gFrAqnC0C0gB0EWwBDW2cBVQwm+QtPpa3wBO3sVvszCnLAhkzgL5/RLf13cLQd8/AGlu0Cb5HTx9KuAEieGJEdcehS3eRTp2ATdt3CpIm+QtZwAhROXFeb7swp/ahaM3kBE/jSIUBc/AWrgBN8uNFAl+b7sAXFxFn2YLUU5Ns7gFX8C4ib+hN8gFWXwK3bZglxEJm+gKdciLPsFV/TClsgJUwKJ5FVA7tvIFrfZhVfGJDcsCKaYgAqv6YRbE+RWOWBtu7+AL3yRalXLyKqAIIfk+zARbDgFyEsncYwJvlgFRW+GEWntIi2P0BooyFxcNr8Ep3+ANLbMO+QyhvbiqdgC0kVvgUUiLYgBS2QtPbiVI1/sgOmG9uO+Y8DW+7jS2zAOnj6O2BndwuIAUtkdRN8gFoK3wwXMQyZwHVbClsuNLd4E3yAUR6FVDBR+BafQGt93LVMxJTv8ABts4CVLhcfYWsCb5kC9/BHdU8CLYFY5bMAd+eX9MGthhpbA1vu4B7+RKkaW2Yq4AQtVBBFsAJU/AuIXBhN8gGWnstefhiZyWvLAEnbYS1uzSFP6Jvn4Baxx70JKkQojLib5AVTey1jjgkKJGO0AKWyOm7N7cSpgSpAdPH0Tfd/gp1z5C1ZgKqN9J2wFxcUUuAFLZAm+QC0Fb4YUVRFsAOvj4KW2dwtYE3yAWk/wS/PLMKfmuGHZ8MAXF/Ja32Yi5haAKWz4Ydm2cSpgU693Atb7km+Zwwh+WGcPpxw3gAkzCLY+iYUDW/Z3Adc/gpzyFrAqnALkJe+7DoItgAtRS2zuKqGE3yAx0oJvkdvYrfZmALURbDuL5/RLf13cAuDeBS2RpbtAm+QFVA3wR+3fUtFHoBDJnC0jIXH0HWsgMY8inPLuOkd9chp4z20ALQLSA8cI9jYAIa2zjzjBd8gRafS1vgiUho/kAKcsCGTOGWvoOpkAtB3z8Hm8x2Ff5ADp4+lXAlIvcmwH/2Q==') repeat left top",padding:"2px 6px"},namespace:{Opacity:".7"},comment:{color:"#586e75",fontStyle:"italic"},prolog:{color:"#586e75",fontStyle:"italic"},doctype:{color:"#586e75",fontStyle:"italic"},cdata:{color:"#586e75",fontStyle:"italic"},number:{color:"#b89859"},string:{color:"#468966"},char:{color:"#468966"},builtin:{color:"#468966"},inserted:{color:"#468966"},"attr-name":{color:"#b89859"},operator:{color:"#dccf8f"},entity:{color:"#dccf8f",cursor:"help"},url:{color:"#dccf8f"},".language-css .token.string":{color:"#dccf8f"},".style .token.string":{color:"#dccf8f"},selector:{color:"#859900"},regex:{color:"#859900"},atrule:{color:"#cb4b16"},keyword:{color:"#cb4b16"},"attr-value":{color:"#468966"},function:{color:"#b58900"},variable:{color:"#b58900"},placeholder:{color:"#b58900"},property:{color:"#b89859"},tag:{color:"#ffb03b"},boolean:{color:"#b89859"},constant:{color:"#b89859"},symbol:{color:"#b89859"},important:{color:"#dc322f"},statement:{color:"#dc322f"},deleted:{color:"#dc322f"},punctuation:{color:"#dccf8f"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}}}(Gx)),Gx}var Hx={},uz;function ZEe(){return uz||(uz=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={"code[class*='language-']":{color:"#9efeff",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",fontFamily:"'Operator Mono', 'Fira Code', Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontWeight:"400",fontSize:"17px",lineHeight:"25px",letterSpacing:"0.5px",textShadow:"0 1px #222245"},"pre[class*='language-']":{color:"#9efeff",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",fontFamily:"'Operator Mono', 'Fira Code', Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontWeight:"400",fontSize:"17px",lineHeight:"25px",letterSpacing:"0.5px",textShadow:"0 1px #222245",padding:"2em",margin:"0.5em 0",overflow:"auto",background:"#1e1e3f"},"pre[class*='language-']::-moz-selection":{color:"inherit",background:"#a599e9"},"pre[class*='language-'] ::-moz-selection":{color:"inherit",background:"#a599e9"},"code[class*='language-']::-moz-selection":{color:"inherit",background:"#a599e9"},"code[class*='language-'] ::-moz-selection":{color:"inherit",background:"#a599e9"},"pre[class*='language-']::selection":{color:"inherit",background:"#a599e9"},"pre[class*='language-'] ::selection":{color:"inherit",background:"#a599e9"},"code[class*='language-']::selection":{color:"inherit",background:"#a599e9"},"code[class*='language-'] ::selection":{color:"inherit",background:"#a599e9"},":not(pre) > code[class*='language-']":{background:"#1e1e3f",padding:"0.1em",borderRadius:"0.3em"},"":{fontWeight:"400"},comment:{color:"#b362ff"},prolog:{color:"#b362ff"},cdata:{color:"#b362ff"},delimiter:{color:"#ff9d00"},keyword:{color:"#ff9d00"},selector:{color:"#ff9d00"},important:{color:"#ff9d00"},atrule:{color:"#ff9d00"},operator:{color:"rgb(255, 180, 84)",background:"none"},"attr-name":{color:"rgb(255, 180, 84)"},punctuation:{color:"#ffffff"},boolean:{color:"rgb(255, 98, 140)"},tag:{color:"rgb(255, 157, 0)"},"tag.punctuation":{color:"rgb(255, 157, 0)"},doctype:{color:"rgb(255, 157, 0)"},builtin:{color:"rgb(255, 157, 0)"},entity:{color:"#6897bb",background:"none"},symbol:{color:"#6897bb"},number:{color:"#ff628c"},property:{color:"#ff628c"},constant:{color:"#ff628c"},variable:{color:"#ff628c"},string:{color:"#a5ff90"},char:{color:"#a5ff90"},"attr-value":{color:"#a5c261"},"attr-value.punctuation":{color:"#a5c261"},"attr-value.punctuation:first-child":{color:"#a9b7c6"},url:{color:"#287bde",textDecoration:"underline",background:"none"},function:{color:"rgb(250, 208, 0)"},regex:{background:"#364135"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},inserted:{background:"#00ff00"},deleted:{background:"#ff000d"},"code.language-css .token.property":{color:"#a9b7c6"},"code.language-css .token.property + .token.punctuation":{color:"#a9b7c6"},"code.language-css .token.id":{color:"#ffc66d"},"code.language-css .token.selector > .token.class":{color:"#ffc66d"},"code.language-css .token.selector > .token.attribute":{color:"#ffc66d"},"code.language-css .token.selector > .token.pseudo-class":{color:"#ffc66d"},"code.language-css .token.selector > .token.pseudo-element":{color:"#ffc66d"},"class-name":{color:"#fb94ff"},".language-css .token.string":{background:"none"},".style .token.string":{background:"none"},".line-highlight.line-highlight":{marginTop:"36px",background:"linear-gradient(to right, rgba(179, 98, 255, 0.17), transparent)"},".line-highlight.line-highlight:before":{content:"''"},".line-highlight.line-highlight[data-end]:after":{content:"''"}}}(Hx)),Hx}var $x={},cz;function QEe(){return cz||(cz=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#839496",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#839496",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",borderRadius:"0.3em",background:"#002b36"},':not(pre) > code[class*="language-"]':{background:"#002b36",padding:".1em",borderRadius:".3em"},comment:{color:"#586e75"},prolog:{color:"#586e75"},doctype:{color:"#586e75"},cdata:{color:"#586e75"},punctuation:{color:"#93a1a1"},".namespace":{Opacity:".7"},property:{color:"#268bd2"},keyword:{color:"#268bd2"},tag:{color:"#268bd2"},"class-name":{color:"#FFFFB6",textDecoration:"underline"},boolean:{color:"#b58900"},constant:{color:"#b58900"},symbol:{color:"#dc322f"},deleted:{color:"#dc322f"},number:{color:"#859900"},selector:{color:"#859900"},"attr-name":{color:"#859900"},string:{color:"#859900"},char:{color:"#859900"},builtin:{color:"#859900"},inserted:{color:"#859900"},variable:{color:"#268bd2"},operator:{color:"#EDEDED"},function:{color:"#268bd2"},regex:{color:"#E9C062"},important:{color:"#fd971f",fontWeight:"bold"},entity:{color:"#FFFFB6",cursor:"help"},url:{color:"#96CBFE"},".language-css .token.string":{color:"#87C38A"},".style .token.string":{color:"#87C38A"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},atrule:{color:"#F9EE98"},"attr-value":{color:"#F9EE98"}}}($x)),$x}var qx={},dz;function JEe(){return dz||(dz=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3",background:"none",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3",background:"none",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",backgroundColor:"transparent !important",backgroundImage:"linear-gradient(to bottom, #2a2139 75%, #34294f)"},':not(pre) > code[class*="language-"]':{backgroundColor:"transparent !important",backgroundImage:"linear-gradient(to bottom, #2a2139 75%, #34294f)",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"#8e8e8e"},"block-comment":{color:"#8e8e8e"},prolog:{color:"#8e8e8e"},doctype:{color:"#8e8e8e"},cdata:{color:"#8e8e8e"},punctuation:{color:"#ccc"},tag:{color:"#e2777a"},"attr-name":{color:"#e2777a"},namespace:{color:"#e2777a"},number:{color:"#e2777a"},unit:{color:"#e2777a"},hexcode:{color:"#e2777a"},deleted:{color:"#e2777a"},property:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"},selector:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"},"function-name":{color:"#6196cc"},boolean:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"},"selector.id":{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"},function:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"},"class-name":{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"},constant:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},symbol:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},important:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575",fontWeight:"bold"},atrule:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"},keyword:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"},"selector.class":{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"},builtin:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"},string:{color:"#f87c32"},char:{color:"#f87c32"},"attr-value":{color:"#f87c32"},regex:{color:"#f87c32"},variable:{color:"#f87c32"},operator:{color:"#67cdcc"},entity:{color:"#67cdcc",cursor:"help"},url:{color:"#67cdcc"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},inserted:{color:"green"}}}(qx)),qx}var Vx={},fz;function ewe(){return fz||(fz=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#393A34",fontFamily:'"Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",fontSize:".9em",lineHeight:"1.2em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#393A34",fontFamily:'"Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",fontSize:".9em",lineHeight:"1.2em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",border:"1px solid #dddddd",backgroundColor:"white"},'pre > code[class*="language-"]':{fontSize:"1em"},'pre[class*="language-"]::-moz-selection':{background:"#C1DEF1"},'pre[class*="language-"] ::-moz-selection':{background:"#C1DEF1"},'code[class*="language-"]::-moz-selection':{background:"#C1DEF1"},'code[class*="language-"] ::-moz-selection':{background:"#C1DEF1"},'pre[class*="language-"]::selection':{background:"#C1DEF1"},'pre[class*="language-"] ::selection':{background:"#C1DEF1"},'code[class*="language-"]::selection':{background:"#C1DEF1"},'code[class*="language-"] ::selection':{background:"#C1DEF1"},':not(pre) > code[class*="language-"]':{padding:".2em",paddingTop:"1px",paddingBottom:"1px",background:"#f8f8f8",border:"1px solid #dddddd"},comment:{color:"#008000",fontStyle:"italic"},prolog:{color:"#008000",fontStyle:"italic"},doctype:{color:"#008000",fontStyle:"italic"},cdata:{color:"#008000",fontStyle:"italic"},namespace:{Opacity:".7"},string:{color:"#A31515"},punctuation:{color:"#393A34"},operator:{color:"#393A34"},url:{color:"#36acaa"},symbol:{color:"#36acaa"},number:{color:"#36acaa"},boolean:{color:"#36acaa"},variable:{color:"#36acaa"},constant:{color:"#36acaa"},inserted:{color:"#36acaa"},atrule:{color:"#0000ff"},keyword:{color:"#0000ff"},"attr-value":{color:"#0000ff"},".language-autohotkey .token.selector":{color:"#0000ff"},".language-json .token.boolean":{color:"#0000ff"},".language-json .token.number":{color:"#0000ff"},'code[class*="language-css"]':{color:"#0000ff"},function:{color:"#393A34"},deleted:{color:"#9a050f"},".language-autohotkey .token.tag":{color:"#9a050f"},selector:{color:"#800000"},".language-autohotkey .token.keyword":{color:"#00009f"},important:{color:"#e90",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},"class-name":{color:"#2B91AF"},".language-json .token.property":{color:"#2B91AF"},tag:{color:"#800000"},"attr-name":{color:"#ff0000"},property:{color:"#ff0000"},regex:{color:"#ff0000"},entity:{color:"#ff0000"},"directive.tag.tag":{background:"#ffff00",color:"#393A34"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"#a5a5a5"},".line-numbers .line-numbers-rows > span:before":{color:"#2B91AF"},".line-highlight.line-highlight":{background:"linear-gradient(to right, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0))"}}}(Vx)),Vx}var Wx={},pz;function twe(){return pz||(pz=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'pre[class*="language-"]':{color:"#d4d4d4",fontSize:"13px",textShadow:"none",fontFamily:'Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",background:"#1e1e1e"},'code[class*="language-"]':{color:"#d4d4d4",fontSize:"13px",textShadow:"none",fontFamily:'Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#264F78"},'code[class*="language-"]::selection':{textShadow:"none",background:"#264F78"},'pre[class*="language-"] *::selection':{textShadow:"none",background:"#264F78"},'code[class*="language-"] *::selection':{textShadow:"none",background:"#264F78"},':not(pre) > code[class*="language-"]':{padding:".1em .3em",borderRadius:".3em",color:"#db4c69",background:"#1e1e1e"},".namespace":{Opacity:".7"},"doctype.doctype-tag":{color:"#569CD6"},"doctype.name":{color:"#9cdcfe"},comment:{color:"#6a9955"},prolog:{color:"#6a9955"},punctuation:{color:"#d4d4d4"},".language-html .language-css .token.punctuation":{color:"#d4d4d4"},".language-html .language-javascript .token.punctuation":{color:"#d4d4d4"},property:{color:"#9cdcfe"},tag:{color:"#569cd6"},boolean:{color:"#569cd6"},number:{color:"#b5cea8"},constant:{color:"#9cdcfe"},symbol:{color:"#b5cea8"},inserted:{color:"#b5cea8"},unit:{color:"#b5cea8"},selector:{color:"#d7ba7d"},"attr-name":{color:"#9cdcfe"},string:{color:"#ce9178"},char:{color:"#ce9178"},builtin:{color:"#ce9178"},deleted:{color:"#ce9178"},".language-css .token.string.url":{textDecoration:"underline"},operator:{color:"#d4d4d4"},entity:{color:"#569cd6"},"operator.arrow":{color:"#569CD6"},atrule:{color:"#ce9178"},"atrule.rule":{color:"#c586c0"},"atrule.url":{color:"#9cdcfe"},"atrule.url.function":{color:"#dcdcaa"},"atrule.url.punctuation":{color:"#d4d4d4"},keyword:{color:"#569CD6"},"keyword.module":{color:"#c586c0"},"keyword.control-flow":{color:"#c586c0"},function:{color:"#dcdcaa"},"function.maybe-class-name":{color:"#dcdcaa"},regex:{color:"#d16969"},important:{color:"#569cd6"},italic:{fontStyle:"italic"},"class-name":{color:"#4ec9b0"},"maybe-class-name":{color:"#4ec9b0"},console:{color:"#9cdcfe"},parameter:{color:"#9cdcfe"},interpolation:{color:"#9cdcfe"},"punctuation.interpolation-punctuation":{color:"#569cd6"},variable:{color:"#9cdcfe"},"imports.maybe-class-name":{color:"#9cdcfe"},"exports.maybe-class-name":{color:"#9cdcfe"},escape:{color:"#d7ba7d"},"tag.punctuation":{color:"#808080"},cdata:{color:"#808080"},"attr-value":{color:"#ce9178"},"attr-value.punctuation":{color:"#ce9178"},"attr-value.punctuation.attr-equals":{color:"#d4d4d4"},namespace:{color:"#4ec9b0"},'pre[class*="language-javascript"]':{color:"#9cdcfe"},'code[class*="language-javascript"]':{color:"#9cdcfe"},'pre[class*="language-jsx"]':{color:"#9cdcfe"},'code[class*="language-jsx"]':{color:"#9cdcfe"},'pre[class*="language-typescript"]':{color:"#9cdcfe"},'code[class*="language-typescript"]':{color:"#9cdcfe"},'pre[class*="language-tsx"]':{color:"#9cdcfe"},'code[class*="language-tsx"]':{color:"#9cdcfe"},'pre[class*="language-css"]':{color:"#ce9178"},'code[class*="language-css"]':{color:"#ce9178"},'pre[class*="language-html"]':{color:"#d4d4d4"},'code[class*="language-html"]':{color:"#d4d4d4"},".language-regex .token.anchor":{color:"#dcdcaa"},".language-html .token.punctuation":{color:"#808080"},'pre[class*="language-"] > code[class*="language-"]':{position:"relative",zIndex:"1"},".line-highlight.line-highlight":{background:"#f7ebc6",boxShadow:"inset 5px 0 0 #f7d87c",zIndex:"0"}}}(Wx)),Wx}var Yx={},gz;function nwe(){return gz||(gz=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",whiteSpace:"pre-wrap",wordWrap:"normal",fontFamily:'Menlo, Monaco, "Courier New", monospace',fontSize:"14px",color:"#76d9e6",textShadow:"none"},'pre[class*="language-"]':{MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",whiteSpace:"pre-wrap",wordWrap:"normal",fontFamily:'Menlo, Monaco, "Courier New", monospace',fontSize:"14px",color:"#76d9e6",textShadow:"none",background:"#2a2a2a",padding:"15px",borderRadius:"4px",border:"1px solid #e1e1e8",overflow:"auto",position:"relative"},'pre > code[class*="language-"]':{fontSize:"1em"},':not(pre) > code[class*="language-"]':{background:"#2a2a2a",padding:"0.15em 0.2em 0.05em",borderRadius:".3em",border:"0.13em solid #7a6652",boxShadow:"1px 1px 0.3em -0.1em #000 inset"},'pre[class*="language-"] code':{whiteSpace:"pre",display:"block"},namespace:{Opacity:".7"},comment:{color:"#6f705e"},prolog:{color:"#6f705e"},doctype:{color:"#6f705e"},cdata:{color:"#6f705e"},operator:{color:"#a77afe"},boolean:{color:"#a77afe"},number:{color:"#a77afe"},"attr-name":{color:"#e6d06c"},string:{color:"#e6d06c"},entity:{color:"#e6d06c",cursor:"help"},url:{color:"#e6d06c"},".language-css .token.string":{color:"#e6d06c"},".style .token.string":{color:"#e6d06c"},selector:{color:"#a6e22d"},inserted:{color:"#a6e22d"},atrule:{color:"#ef3b7d"},"attr-value":{color:"#ef3b7d"},keyword:{color:"#ef3b7d"},important:{color:"#ef3b7d",fontWeight:"bold"},deleted:{color:"#ef3b7d"},regex:{color:"#76d9e6"},statement:{color:"#76d9e6",fontWeight:"bold"},placeholder:{color:"#fff"},variable:{color:"#fff"},bold:{fontWeight:"bold"},punctuation:{color:"#bebec5"},italic:{fontStyle:"italic"},"code.language-markup":{color:"#f9f9f9"},"code.language-markup .token.tag":{color:"#ef3b7d"},"code.language-markup .token.attr-name":{color:"#a6e22d"},"code.language-markup .token.attr-value":{color:"#e6d06c"},"code.language-markup .token.style":{color:"#76d9e6"},"code.language-markup .token.script":{color:"#76d9e6"},"code.language-markup .token.script .token.keyword":{color:"#76d9e6"},".line-highlight.line-highlight":{padding:"0",background:"rgba(255, 255, 255, 0.08)"},".line-highlight.line-highlight:before":{padding:"0.2em 0.5em",backgroundColor:"rgba(255, 255, 255, 0.4)",color:"black",height:"1em",lineHeight:"1em",boxShadow:"0 1px 1px rgba(255, 255, 255, 0.7)"},".line-highlight.line-highlight[data-end]:after":{padding:"0.2em 0.5em",backgroundColor:"rgba(255, 255, 255, 0.4)",color:"black",height:"1em",lineHeight:"1em",boxShadow:"0 1px 1px rgba(255, 255, 255, 0.7)"}}}(Yx)),Yx}var Kx={},hz;function rwe(){return hz||(hz=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default={'code[class*="language-"]':{color:"#22da17",fontFamily:"monospace",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",lineHeight:"25px",fontSize:"18px",margin:"5px 0"},'pre[class*="language-"]':{color:"white",fontFamily:"monospace",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",lineHeight:"25px",fontSize:"18px",margin:"0.5em 0",background:"#0a143c",padding:"1em",overflow:"auto"},'pre[class*="language-"] *':{fontFamily:"monospace"},':not(pre) > code[class*="language-"]':{color:"white",background:"#0a143c",padding:"0.1em",borderRadius:"0.3em",whiteSpace:"normal"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},'pre[class*="language-"]::selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},'code[class*="language-"]::selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},'code[class*="language-"] ::selection':{textShadow:"none",background:"rgba(29, 59, 83, 0.99)"},comment:{color:"rgb(99, 119, 119)",fontStyle:"italic"},prolog:{color:"rgb(99, 119, 119)",fontStyle:"italic"},cdata:{color:"rgb(99, 119, 119)",fontStyle:"italic"},punctuation:{color:"rgb(199, 146, 234)"},".namespace":{color:"rgb(178, 204, 214)"},deleted:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"},symbol:{color:"rgb(128, 203, 196)"},property:{color:"rgb(128, 203, 196)"},tag:{color:"rgb(127, 219, 202)"},operator:{color:"rgb(127, 219, 202)"},keyword:{color:"rgb(127, 219, 202)"},boolean:{color:"rgb(255, 88, 116)"},number:{color:"rgb(247, 140, 108)"},constant:{color:"rgb(34 183 199)"},function:{color:"rgb(34 183 199)"},builtin:{color:"rgb(34 183 199)"},char:{color:"rgb(34 183 199)"},selector:{color:"rgb(199, 146, 234)",fontStyle:"italic"},doctype:{color:"rgb(199, 146, 234)",fontStyle:"italic"},"attr-name":{color:"rgb(173, 219, 103)",fontStyle:"italic"},inserted:{color:"rgb(173, 219, 103)",fontStyle:"italic"},string:{color:"rgb(173, 219, 103)"},url:{color:"rgb(173, 219, 103)"},entity:{color:"rgb(173, 219, 103)"},".language-css .token.string":{color:"rgb(173, 219, 103)"},".style .token.string":{color:"rgb(173, 219, 103)"},"class-name":{color:"rgb(255, 203, 139)"},atrule:{color:"rgb(255, 203, 139)"},"attr-value":{color:"rgb(255, 203, 139)"},regex:{color:"rgb(214, 222, 235)"},important:{color:"rgb(214, 222, 235)",fontWeight:"bold"},variable:{color:"rgb(214, 222, 235)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}}}(Kx)),Kx}var mz;function awe(){return mz||(mz=1,function(e){var t=pEe();Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"a11yDark",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(e,"atomDark",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(e,"base16AteliersulphurpoolLight",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(e,"cb",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(e,"coldarkCold",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(e,"coldarkDark",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(e,"coy",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"coyWithoutShadows",{enumerable:!0,get:function(){return k.default}}),Object.defineProperty(e,"darcula",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(e,"dark",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"dracula",{enumerable:!0,get:function(){return x.default}}),Object.defineProperty(e,"duotoneDark",{enumerable:!0,get:function(){return A.default}}),Object.defineProperty(e,"duotoneEarth",{enumerable:!0,get:function(){return N.default}}),Object.defineProperty(e,"duotoneForest",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(e,"duotoneLight",{enumerable:!0,get:function(){return C.default}}),Object.defineProperty(e,"duotoneSea",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(e,"duotoneSpace",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(e,"funky",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"ghcolors",{enumerable:!0,get:function(){return D.default}}),Object.defineProperty(e,"gruvboxDark",{enumerable:!0,get:function(){return L.default}}),Object.defineProperty(e,"gruvboxLight",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(e,"holiTheme",{enumerable:!0,get:function(){return $.default}}),Object.defineProperty(e,"hopscotch",{enumerable:!0,get:function(){return U.default}}),Object.defineProperty(e,"lucario",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(e,"materialDark",{enumerable:!0,get:function(){return Z.default}}),Object.defineProperty(e,"materialLight",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(e,"materialOceanic",{enumerable:!0,get:function(){return G.default}}),Object.defineProperty(e,"nightOwl",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(e,"nord",{enumerable:!0,get:function(){return Y.default}}),Object.defineProperty(e,"okaidia",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"oneDark",{enumerable:!0,get:function(){return I.default}}),Object.defineProperty(e,"oneLight",{enumerable:!0,get:function(){return V.default}}),Object.defineProperty(e,"pojoaque",{enumerable:!0,get:function(){return B.default}}),Object.defineProperty(e,"prism",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(e,"shadesOfPurple",{enumerable:!0,get:function(){return M.default}}),Object.defineProperty(e,"solarizedDarkAtom",{enumerable:!0,get:function(){return K.default}}),Object.defineProperty(e,"solarizedlight",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(e,"synthwave84",{enumerable:!0,get:function(){return ee.default}}),Object.defineProperty(e,"tomorrow",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"twilight",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"vs",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(e,"vscDarkPlus",{enumerable:!0,get:function(){return J.default}}),Object.defineProperty(e,"xonokai",{enumerable:!0,get:function(){return ae.default}}),Object.defineProperty(e,"zTouch",{enumerable:!0,get:function(){return ye.default}});var n=t(gEe()),r=t(hEe()),a=t(mEe()),o=t(bEe()),s=t(yEe()),u=t(vEe()),c=t(SEe()),d=t(EEe()),p=t(wEe()),g=t(xEe()),m=t(kEe()),b=t(TEe()),y=t(AEe()),S=t(REe()),k=t(CEe()),R=t(_Ee()),x=t(NEe()),A=t(OEe()),N=t(IEe()),O=t(DEe()),C=t(LEe()),_=t(MEe()),P=t(PEe()),D=t(FEe()),L=t(zEe()),H=t(BEe()),$=t(UEe()),U=t(jEe()),W=t(GEe()),Z=t(HEe()),j=t($Ee()),G=t(qEe()),z=t(VEe()),Y=t(WEe()),I=t(YEe()),V=t(KEe()),B=t(XEe()),M=t(ZEe()),K=t(QEe()),ee=t(JEe()),Q=t(ewe()),J=t(twe()),ae=t(nwe()),ye=t(rwe())}(ax)),ax}var bz=awe();const owe=({message:e})=>{const{t}=Pt(),n=E.useCallback(async()=>{if(e.content)try{await navigator.clipboard.writeText(e.content)}catch(r){console.error(t("chat.copyError"),r)}},[e]);return w.jsxs("div",{className:`max-w-[80%] rounded-lg px-4 py-2 ${e.role==="user"?"bg-primary text-primary-foreground":e.isError?"bg-red-100 text-red-600 dark:bg-red-950 dark:text-red-400":"bg-muted"}`,children:[w.jsxs("pre",{className:"relative break-words whitespace-pre-wrap",children:[w.jsx(ode,{className:"dark:prose-invert max-w-none text-base text-sm",remarkPlugins:[bpe,_pe],rehypePlugins:[ype],skipHtml:!1,components:{code:swe},children:e.content}),e.role==="assistant"&&e.content.length>0&&w.jsx(xt,{onClick:n,className:"absolute right-0 bottom-0 size-6 rounded-md opacity-20 transition-opacity hover:opacity-100",tooltip:t("retrievePanel.chatMessage.copyTooltip"),variant:"default",size:"icon",children:w.jsx(vW,{})})]}),e.content.length===0&&w.jsx(MW,{className:"animate-spin duration-2000"})]})},iwe=e=>!(e.children||[]).filter(n=>n.type==="text").map(n=>n.value).join("").includes(` `),swe=({className:e,children:t,node:n,...r})=>{const{theme:a}=p5(),o=e==null?void 0:e.match(/language-(\w+)/),s=o?o[1]:void 0;return(n?iwe(n):!1)?w.jsx("code",{className:Pe(e,"mx-1 rounded-xs bg-black/10 px-1 dark:bg-gray-100/20"),...r,children:t}):w.jsx(jH,{style:a==="dark"?bz.oneDark:bz.oneLight,PreTag:"div",language:s,...r,children:String(t).replace(/\n$/,"")})};function lwe(){const{t:e}=Pt(),[t,n]=E.useState(()=>Le.getState().retrievalHistory||[]),[r,a]=E.useState(""),[o,s]=E.useState(!1),u=E.useRef(null),c=E.useCallback(()=>{var m;(m=u.current)==null||m.scrollIntoView({behavior:"smooth"})},[]),d=E.useCallback(async m=>{if(m.preventDefault(),!r.trim()||o)return;const b={content:r,role:"user"},y={content:"",role:"assistant"},S=[...t];n([...S,b,y]),a(""),s(!0);const k=(A,N)=>{y.content+=A,n(O=>{const C=[...O],_=C[C.length-1];return _.role==="assistant"&&(_.content=y.content,_.isError=N),C})},R=Le.getState(),x={...R.querySettings,query:b.content,conversation_history:S.filter(A=>A.isError!==!0).map(A=>({role:A.role,content:A.content}))};try{if(R.querySettings.stream){let A="";await kV(x,k,N=>{A+=N}),A&&(y.content&&(A=y.content+` `+A),k(A,!0))}else{const A=await xV(x);k(A.response)}}catch(A){k(`${e("retrievePanel.retrieval.error")} -${Sr(A)}`,!0)}finally{s(!1),Le.getState().setRetrievalHistory([...S,b,y])}},[r,o,t,n,e]),p=OT(t,100);E.useEffect(()=>c(),[p,c]);const g=E.useCallback(()=>{n([]),Le.getState().setRetrievalHistory([])},[n]);return w.jsxs("div",{className:"flex size-full gap-2 px-2 pb-12 overflow-hidden",children:[w.jsxs("div",{className:"flex grow flex-col gap-4",children:[w.jsx("div",{className:"relative grow",children:w.jsx("div",{className:"bg-primary-foreground/60 absolute inset-0 flex flex-col overflow-auto rounded-lg border p-2",children:w.jsxs("div",{className:"flex min-h-0 flex-1 flex-col gap-2",children:[t.length===0?w.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center text-lg",children:e("retrievePanel.retrieval.startPrompt")}):t.map((m,b)=>w.jsx("div",{className:`flex ${m.role==="user"?"justify-end":"justify-start"}`,children:w.jsx(owe,{message:m})},b)),w.jsx("div",{ref:u,className:"pb-1"})]})})}),w.jsxs("form",{onSubmit:d,className:"flex shrink-0 items-center gap-2",children:[w.jsxs(xt,{type:"button",variant:"outline",onClick:g,disabled:o,size:"sm",children:[w.jsx(VB,{}),e("retrievePanel.retrieval.clear")]}),w.jsx($a,{className:"flex-1",value:r,onChange:m=>a(m.target.value),placeholder:e("retrievePanel.retrieval.placeholder"),disabled:o}),w.jsxs(xt,{type:"submit",variant:"default",disabled:o,size:"sm",children:[w.jsx(aY,{}),e("retrievePanel.retrieval.send")]})]})]}),w.jsx(Yie,{})]})}const uwe=()=>{const e=E.useContext(BB);if(!e)throw new Error("useTabVisibility must be used within a TabVisibilityProvider");return e};function cwe(){const{t:e}=Pt(),{isTabVisible:t}=uwe(),n=t("api"),[r,a]=E.useState(!1);return E.useEffect(()=>{r||a(!0)},[r]),w.jsx("div",{className:`size-full ${n?"":"hidden"}`,children:r?w.jsx("iframe",{src:OB+"/docs",className:"size-full w-full h-full",style:{width:"100%",height:"100%",border:"none"}},"api-docs-iframe"):w.jsx("div",{className:"flex h-full w-full items-center justify-center bg-background",children:w.jsxs("div",{className:"text-center",children:[w.jsx("div",{className:"mb-2 h-8 w-8 animate-spin rounded-full border-4 border-primary border-t-transparent"}),w.jsx("p",{children:e("apiSite.loading")})]})})})}function dwe(){const e=tr.use.message(),t=Le.use.enableHealthCheck(),n=Le.use.currentTab(),[r,a]=E.useState(!1),o=E.useRef(!1);E.useEffect(()=>{if(!t)return;const u=async()=>{await tr.getState().check()};u();const c=setInterval(u,lV*1e3);return()=>clearInterval(c)},[t]),E.useEffect(()=>{(async()=>{if(o.current||(o.current=!0,sessionStorage.getItem("VERSION_CHECKED_FROM_LOGIN")==="true"))return;const d=localStorage.getItem("LIGHTRAG-API-TOKEN");if(d)try{const p=await PB();(p.core_version||p.api_version)&&(ra.getState().login(d,ra.getState().isGuestMode,p.core_version,p.api_version),sessionStorage.setItem("VERSION_CHECKED_FROM_LOGIN","true"))}catch(p){console.error("Failed to get version info:",p)}})()},[]);const s=E.useCallback(u=>Le.getState().setCurrentTab(u),[]);return E.useEffect(()=>{if(e&&(e.includes(DB)||e.includes(LB))){a(!0);return}a(!1)},[e,a]),w.jsx(zB,{children:w.jsx(iW,{children:w.jsxs("main",{className:"flex h-screen w-screen overflow-hidden",children:[w.jsxs(qQ,{defaultValue:n,className:"!m-0 flex grow flex-col !p-0 overflow-hidden",onValueChange:s,children:[w.jsx(WQ,{}),w.jsxs("div",{className:"relative grow",children:[w.jsx(hu,{value:"documents",className:"absolute top-0 right-0 bottom-0 left-0 overflow-auto",children:w.jsx(xie,{})}),w.jsx(hu,{value:"knowledge-graph",className:"absolute top-0 right-0 bottom-0 left-0 overflow-hidden",children:w.jsx(Wae,{})}),w.jsx(hu,{value:"retrieval",className:"absolute top-0 right-0 bottom-0 left-0 overflow-hidden",children:w.jsx(lwe,{})}),w.jsx(hu,{value:"api",className:"absolute top-0 right-0 bottom-0 left-0 overflow-hidden",children:w.jsx(cwe,{})})]})]}),t&&w.jsx(eQ,{}),e!==null&&!r&&w.jsx(gY,{}),r&&w.jsx(TZ,{})]})})})}const fwe=()=>{const e=b0(),{login:t,isAuthenticated:n}=ra(),{t:r}=Pt(),[a,o]=E.useState(!1),[s,u]=E.useState(""),[c,d]=E.useState(""),[p,g]=E.useState(!0),m=E.useRef(!1);if(E.useEffect(()=>{console.log("LoginPage mounted")},[]),E.useEffect(()=>{let y=!0;return(async()=>{if(!m.current){m.current=!0;try{if(n){e("/");return}const k=await PB();if((k.core_version||k.api_version)&&sessionStorage.setItem("VERSION_CHECKED_FROM_LOGIN","true"),!k.auth_configured&&k.access_token){t(k.access_token,!0,k.core_version,k.api_version),k.message&&Ft.info(k.message),e("/");return}y&&g(!1)}catch(k){console.error("Failed to check auth configuration:",k),y&&g(!1)}}})(),()=>{y=!1,g(!1)}},[n,t,e]),p)return null;const b=async y=>{if(y.preventDefault(),!s||!c){Ft.error(r("login.errorEmptyFields"));return}try{o(!0);const S=await RV(s,c),k=S.auth_mode==="disabled";t(S.access_token,k,S.core_version,S.api_version),(S.core_version||S.api_version)&&sessionStorage.setItem("VERSION_CHECKED_FROM_LOGIN","true"),k?Ft.info(S.message||r("login.authDisabled","Authentication is disabled. Using guest access.")):Ft.success(r("login.successMessage")),e("/")}catch(S){console.error("Login failed...",S),Ft.error(r("login.errorInvalidCredentials")),ra.getState().logout(),localStorage.removeItem("LIGHTRAG-API-TOKEN")}finally{o(!1)}};return w.jsxs("div",{className:"flex h-screen w-screen items-center justify-center bg-gradient-to-br from-emerald-50 to-teal-100 dark:from-gray-900 dark:to-gray-800",children:[w.jsx("div",{className:"absolute top-4 right-4 flex items-center gap-2",children:w.jsx(Aj,{className:"bg-white/30 dark:bg-gray-800/30 backdrop-blur-sm rounded-md"})}),w.jsxs(Fs,{className:"w-full max-w-[480px] shadow-lg mx-4",children:[w.jsx(_u,{className:"flex items-center justify-center space-y-2 pb-8 pt-6",children:w.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[w.jsxs("div",{className:"flex items-center gap-3",children:[w.jsx("img",{src:"logo.png",alt:"LightRAG Logo",className:"h-12 w-12"}),w.jsx(XB,{className:"size-10 text-emerald-400","aria-hidden":"true"})]}),w.jsxs("div",{className:"text-center space-y-2",children:[w.jsx("h1",{className:"text-3xl font-bold tracking-tight",children:"LightRAG"}),w.jsx("p",{className:"text-muted-foreground text-sm",children:r("login.description")})]})]})}),w.jsx(Ou,{className:"px-8 pb-8",children:w.jsxs("form",{onSubmit:b,className:"space-y-6",children:[w.jsxs("div",{className:"flex items-center gap-4",children:[w.jsx("label",{htmlFor:"username",className:"text-sm font-medium w-16 shrink-0",children:r("login.username")}),w.jsx($a,{id:"username",placeholder:r("login.usernamePlaceholder"),value:s,onChange:y=>u(y.target.value),required:!0,className:"h-11 flex-1"})]}),w.jsxs("div",{className:"flex items-center gap-4",children:[w.jsx("label",{htmlFor:"password",className:"text-sm font-medium w-16 shrink-0",children:r("login.password")}),w.jsx($a,{id:"password",type:"password",placeholder:r("login.passwordPlaceholder"),value:c,onChange:y=>d(y.target.value),required:!0,className:"h-11 flex-1"})]}),w.jsx(xt,{type:"submit",className:"w-full h-11 text-base font-medium mt-2",disabled:a,children:r(a?"login.loggingIn":"login.loginButton")})]})})]})]})},pwe=()=>{const[e,t]=E.useState(!0),{isAuthenticated:n}=ra(),r=b0();return E.useEffect(()=>{C0.setNavigate(r)},[r]),E.useEffect(()=>{let a=!0;return(async()=>{try{const s=localStorage.getItem("LIGHTRAG-API-TOKEN");if(s&&n){a&&t(!1);return}s||ra.getState().logout()}catch(s){console.error("Auth initialization error:",s),a&&!n&&ra.getState().logout()}finally{a&&t(!1)}})(),()=>{a=!1,t(!1)}},[n]),E.useEffect(()=>{!e&&!n&&window.location.hash.slice(1)!=="/login"&&(console.log("Not authenticated, redirecting to login"),r("/login"))},[e,n,r]),e?null:w.jsxs(r9,{children:[w.jsx(Qx,{path:"/login",element:w.jsx(fwe,{})}),w.jsx(Qx,{path:"/*",element:n?w.jsx(dwe,{}):null})]})},gwe=()=>w.jsx(zB,{children:w.jsxs(A9,{children:[w.jsx(pwe,{}),w.jsx(rW,{position:"bottom-center"})]})}),tt=e=>typeof e=="string",pu=()=>{let e,t;const n=new Promise((r,a)=>{e=r,t=a});return n.resolve=e,n.reject=t,n},yz=e=>e==null?"":""+e,hwe=(e,t,n)=>{e.forEach(r=>{t[r]&&(n[r]=t[r])})},mwe=/###/g,vz=e=>e&&e.indexOf("###")>-1?e.replace(mwe,"."):e,Sz=e=>!e||tt(e),Eu=(e,t,n)=>{const r=tt(t)?t.split("."):t;let a=0;for(;a{const{obj:r,k:a}=Eu(e,t,Object);if(r!==void 0||t.length===1){r[a]=n;return}let o=t[t.length-1],s=t.slice(0,t.length-1),u=Eu(e,s,Object);for(;u.obj===void 0&&s.length;)o=`${s[s.length-1]}.${o}`,s=s.slice(0,s.length-1),u=Eu(e,s,Object),u!=null&&u.obj&&typeof u.obj[`${u.k}.${o}`]<"u"&&(u.obj=void 0);u.obj[`${u.k}.${o}`]=n},bwe=(e,t,n,r)=>{const{obj:a,k:o}=Eu(e,t,Object);a[o]=a[o]||[],a[o].push(n)},Uf=(e,t)=>{const{obj:n,k:r}=Eu(e,t);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},ywe=(e,t,n)=>{const r=Uf(e,n);return r!==void 0?r:Uf(t,n)},GH=(e,t,n)=>{for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?tt(e[r])||e[r]instanceof String||tt(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):GH(e[r],t[r],n):e[r]=t[r]);return e},bs=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var vwe={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const Swe=e=>tt(e)?e.replace(/[&<>"'\/]/g,t=>vwe[t]):e;class Ewe{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){const n=this.regExpMap.get(t);if(n!==void 0)return n;const r=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,r),this.regExpQueue.push(t),r}}const wwe=[" ",",","?","!",";"],xwe=new Ewe(20),kwe=(e,t,n)=>{t=t||"",n=n||"";const r=wwe.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const a=xwe.getRegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!a.test(e);if(!o){const s=e.indexOf(n);s>0&&!a.test(e.substring(0,s))&&(o=!0)}return o},g0=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;const r=t.split(n);let a=e;for(let o=0;o-1&&ce==null?void 0:e.replace("_","-"),Twe={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){var n,r;(r=(n=console==null?void 0:console[e])==null?void 0:n.apply)==null||r.call(n,console,t)}};class Gf{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||Twe,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]||(this.observers[r]=new Map);const a=this.observers[r].get(n)||0;this.observers[r].set(n,a+1)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t].delete(n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),a=1;a{let[u,c]=s;for(let d=0;d{let[u,c]=s;for(let d=0;d1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){var d,p;let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator,s=a.ignoreJSONStructure!==void 0?a.ignoreJSONStructure:this.options.ignoreJSONStructure;let u;t.indexOf(".")>-1?u=t.split("."):(u=[t,n],r&&(Array.isArray(r)?u.push(...r):tt(r)&&o?u.push(...r.split(o)):u.push(r)));const c=Uf(this.data,u);return!c&&!n&&!r&&t.indexOf(".")>-1&&(t=u[0],n=u[1],r=u.slice(2).join(".")),c||!s||!tt(r)?c:g0((p=(d=this.data)==null?void 0:d[t])==null?void 0:p[n],r,o)}addResource(t,n,r,a){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let u=[t,n];r&&(u=u.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(u=t.split("."),a=n,n=u[1]),this.addNamespaces(n),Ez(this.data,u,a),o.silent||this.emit("added",t,n,r,a)}addResources(t,n,r){let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(tt(r[o])||Array.isArray(r[o]))&&this.addResource(t,n,o,r[o],{silent:!0});a.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,a,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},u=[t,n];t.indexOf(".")>-1&&(u=t.split("."),a=r,r=n,n=u[1]),this.addNamespaces(n);let c=Uf(this.data,u)||{};s.skipCopy||(r=JSON.parse(JSON.stringify(r))),a?GH(c,r,o):c={...c,...r},Ez(this.data,u,c),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(a=>n[a]&&Object.keys(n[a]).length>0)}toJSON(){return this.data}}var HH={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,a){return e.forEach(o=>{var s;t=((s=this.processors[o])==null?void 0:s.process(t,n,r,a))??t}),t}};const xz={},kz=e=>!tt(e)&&typeof e!="boolean"&&typeof e!="number";class Hf extends Pp{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),hwe(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=na.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return(r==null?void 0:r.res)!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const a=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,u=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!kwe(t,r,a);if(s&&!u){const c=t.match(this.interpolator.nestingRegexp);if(c&&c.length>0)return{key:t,namespaces:tt(o)?[o]:o};const d=t.split(r);(r!==a||r===a&&this.options.ns.indexOf(d[0])>-1)&&(o=d.shift()),t=d.join(a)}return{key:t,namespaces:tt(o)?[o]:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const a=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:u}=this.extractFromKey(t[t.length-1],n),c=u[u.length-1],d=n.lng||this.language,p=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((d==null?void 0:d.toLowerCase())==="cimode"){if(p){const H=n.nsSeparator||this.options.nsSeparator;return a?{res:`${c}${H}${s}`,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:c,usedParams:this.getUsedParamsDetails(n)}:`${c}${H}${s}`}return a?{res:s,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:c,usedParams:this.getUsedParamsDetails(n)}:s}const g=this.resolve(t,n);let m=g==null?void 0:g.res;const b=(g==null?void 0:g.usedKey)||s,y=(g==null?void 0:g.exactUsedKey)||s,S=["[object Number]","[object Function]","[object RegExp]"],k=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,R=!this.i18nFormat||this.i18nFormat.handleAsObject,x=n.count!==void 0&&!tt(n.count),A=Hf.hasDefaultValue(n),N=x?this.pluralResolver.getSuffix(d,n.count,n):"",O=n.ordinal&&x?this.pluralResolver.getSuffix(d,n.count,{ordinal:!1}):"",C=x&&!n.ordinal&&n.count===0,_=C&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${N}`]||n[`defaultValue${O}`]||n.defaultValue;let P=m;R&&!m&&A&&(P=_);const D=kz(P),L=Object.prototype.toString.apply(P);if(R&&P&&D&&S.indexOf(L)<0&&!(tt(k)&&Array.isArray(P))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const H=this.options.returnedObjectHandler?this.options.returnedObjectHandler(b,P,{...n,ns:u}):`key '${s} (${this.language})' returned an object instead of string.`;return a?(g.res=H,g.usedParams=this.getUsedParamsDetails(n),g):H}if(o){const H=Array.isArray(P),$=H?[]:{},U=H?y:b;for(const W in P)if(Object.prototype.hasOwnProperty.call(P,W)){const Z=`${U}${o}${W}`;A&&!m?$[W]=this.translate(Z,{...n,defaultValue:kz(_)?_[W]:void 0,joinArrays:!1,ns:u}):$[W]=this.translate(Z,{...n,joinArrays:!1,ns:u}),$[W]===Z&&($[W]=P[W])}m=$}}else if(R&&tt(k)&&Array.isArray(m))m=m.join(k),m&&(m=this.extendTranslation(m,t,n,r));else{let H=!1,$=!1;!this.isValidLookup(m)&&A&&(H=!0,m=_),this.isValidLookup(m)||($=!0,m=s);const W=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&$?void 0:m,Z=A&&_!==m&&this.options.updateMissing;if($||H||Z){if(this.logger.log(Z?"updateKey":"missingKey",d,c,s,Z?_:m),o){const Y=this.resolve(s,{...n,keySeparator:!1});Y&&Y.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let j=[];const G=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&G&&G[0])for(let Y=0;Y{var M;const B=A&&V!==m?V:W;this.options.missingKeyHandler?this.options.missingKeyHandler(Y,c,I,B,Z,n):(M=this.backendConnector)!=null&&M.saveMissing&&this.backendConnector.saveMissing(Y,c,I,B,Z,n),this.emit("missingKey",Y,c,I,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&x?j.forEach(Y=>{const I=this.pluralResolver.getSuffixes(Y,n);C&&n[`defaultValue${this.options.pluralSeparator}zero`]&&I.indexOf(`${this.options.pluralSeparator}zero`)<0&&I.push(`${this.options.pluralSeparator}zero`),I.forEach(V=>{z([Y],s+V,n[`defaultValue${V}`]||_)})}):z(j,s,_))}m=this.extendTranslation(m,t,n,g,r),$&&m===s&&this.options.appendNamespaceToMissingKey&&(m=`${c}:${s}`),($||H)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${c}:${s}`:s,H?m:void 0))}return a?(g.res=m,g.usedParams=this.getUsedParamsDetails(n),g):m}extendTranslation(t,n,r,a,o){var d,p;var s=this;if((d=this.i18nFormat)!=null&&d.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||a.usedLng,a.usedNS,a.usedKey,{resolved:a});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const g=tt(t)&&(((p=r==null?void 0:r.interpolation)==null?void 0:p.skipOnVariables)!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let m;if(g){const y=t.match(this.interpolator.nestingRegexp);m=y&&y.length}let b=r.replace&&!tt(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(b={...this.options.interpolation.defaultVariables,...b}),t=this.interpolator.interpolate(t,b,r.lng||this.language||a.usedLng,r),g){const y=t.match(this.interpolator.nestingRegexp),S=y&&y.length;m1&&arguments[1]!==void 0?arguments[1]:{},r,a,o,s,u;return tt(t)&&(t=[t]),t.forEach(c=>{if(this.isValidLookup(r))return;const d=this.extractFromKey(c,n),p=d.key;a=p;let g=d.namespaces;this.options.fallbackNS&&(g=g.concat(this.options.fallbackNS));const m=n.count!==void 0&&!tt(n.count),b=m&&!n.ordinal&&n.count===0,y=n.context!==void 0&&(tt(n.context)||typeof n.context=="number")&&n.context!=="",S=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);g.forEach(k=>{var R,x;this.isValidLookup(r)||(u=k,!xz[`${S[0]}-${k}`]&&((R=this.utils)!=null&&R.hasLoadedNamespace)&&!((x=this.utils)!=null&&x.hasLoadedNamespace(u))&&(xz[`${S[0]}-${k}`]=!0,this.logger.warn(`key "${a}" for languages "${S.join(", ")}" won't get resolved as namespace "${u}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),S.forEach(A=>{var C;if(this.isValidLookup(r))return;s=A;const N=[p];if((C=this.i18nFormat)!=null&&C.addLookupKeys)this.i18nFormat.addLookupKeys(N,p,A,k,n);else{let _;m&&(_=this.pluralResolver.getSuffix(A,n.count,n));const P=`${this.options.pluralSeparator}zero`,D=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(N.push(p+_),n.ordinal&&_.indexOf(D)===0&&N.push(p+_.replace(D,this.options.pluralSeparator)),b&&N.push(p+P)),y){const L=`${p}${this.options.contextSeparator}${n.context}`;N.push(L),m&&(N.push(L+_),n.ordinal&&_.indexOf(D)===0&&N.push(L+_.replace(D,this.options.pluralSeparator)),b&&N.push(L+P))}}let O;for(;O=N.pop();)this.isValidLookup(r)||(o=O,r=this.getResource(A,k,O,n))}))})}),{res:r,usedKey:a,exactUsedKey:o,usedLng:s,usedNS:u}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){var o;let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return(o=this.i18nFormat)!=null&&o.getResource?this.i18nFormat.getResource(t,n,r,a):this.resourceStore.getResource(t,n,r,a)}getUsedParamsDetails(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=t.replace&&!tt(t.replace);let a=r?t.replace:t;if(r&&typeof t.count<"u"&&(a.count=t.count),this.options.interpolation.defaultVariables&&(a={...this.options.interpolation.defaultVariables,...a}),!r){a={...a};for(const o of n)delete a[o]}return a}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}class Tz{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=na.create("languageUtils")}getScriptPartFromCode(t){if(t=jf(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=jf(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(tt(t)&&t.indexOf("-")>-1){let n;try{n=Intl.getCanonicalLocales(t)[0]}catch{}return n&&this.options.lowerCaseLng&&(n=n.toLowerCase()),n||(this.options.lowerCaseLng?t.toLowerCase():t)}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const a=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(a))&&(n=a)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const a=this.getLanguagePartFromCode(r);if(this.isSupportedCode(a))return n=a;n=this.options.supportedLngs.find(o=>{if(o===a)return o;if(!(o.indexOf("-")<0&&a.indexOf("-")<0)&&(o.indexOf("-")>0&&a.indexOf("-")<0&&o.substring(0,o.indexOf("-"))===a||o.indexOf(a)===0&&a.length>1))return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),tt(t)&&(t=[t]),Array.isArray(t))return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),a=[],o=s=>{s&&(this.isSupportedCode(s)?a.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return tt(t)&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):tt(t)&&o(this.formatLanguageCode(t)),r.forEach(s=>{a.indexOf(s)<0&&o(this.formatLanguageCode(s))}),a}}const Az={zero:0,one:1,two:2,few:3,many:4,other:5},Rz={select:e=>e===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Awe{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=na.create("pluralResolver"),this.pluralRulesCache={}}addRule(t,n){this.rules[t]=n}clearCache(){this.pluralRulesCache={}}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=jf(t==="dev"?"en":t),a=n.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:r,type:a});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];let s;try{s=new Intl.PluralRules(r,{type:a})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),Rz;if(!t.match(/-|_/))return Rz;const c=this.languageUtils.getLanguagePartFromCode(t);s=this.getRule(c,n)}return this.pluralRulesCache[o]=s,s}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(t,n);return r||(r=this.getRule("dev",n)),(r==null?void 0:r.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(a=>`${n}${a}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(t,n);return r||(r=this.getRule("dev",n)),r?r.resolvedOptions().pluralCategories.sort((a,o)=>Az[a]-Az[o]).map(a=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${a}`):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const a=this.getRule(t,r);return a?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${a.select(n)}`:(this.logger.warn(`no plural rule found for: ${t}`),this.getSuffix("dev",n,r))}}const Cz=function(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=ywe(e,t,n);return!o&&a&&tt(n)&&(o=g0(e,n,r),o===void 0&&(o=g0(t,n,r))),o},Xx=e=>e.replace(/\$/g,"$$$$");class Rwe{constructor(){var n;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=na.create("interpolator"),this.options=t,this.format=((n=t==null?void 0:t.interpolation)==null?void 0:n.format)||(r=>r),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:a,prefix:o,prefixEscaped:s,suffix:u,suffixEscaped:c,formatSeparator:d,unescapeSuffix:p,unescapePrefix:g,nestingPrefix:m,nestingPrefixEscaped:b,nestingSuffix:y,nestingSuffixEscaped:S,nestingOptionsSeparator:k,maxReplaces:R,alwaysFormat:x}=t.interpolation;this.escape=n!==void 0?n:Swe,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=a!==void 0?a:!1,this.prefix=o?bs(o):s||"{{",this.suffix=u?bs(u):c||"}}",this.formatSeparator=d||",",this.unescapePrefix=p?"":g||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=m?bs(m):b||bs("$t("),this.nestingSuffix=y?bs(y):S||bs(")"),this.nestingOptionsSeparator=k||",",this.maxReplaces=R||1e3,this.alwaysFormat=x!==void 0?x:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=(n,r)=>(n==null?void 0:n.source)===r?(n.lastIndex=0,n):new RegExp(r,"g");this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(t,n,r,a){var b;let o,s,u;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},d=y=>{if(y.indexOf(this.formatSeparator)<0){const x=Cz(n,c,y,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(x,void 0,r,{...a,...n,interpolationkey:y}):x}const S=y.split(this.formatSeparator),k=S.shift().trim(),R=S.join(this.formatSeparator).trim();return this.format(Cz(n,c,k,this.options.keySeparator,this.options.ignoreJSONStructure),R,r,{...a,...n,interpolationkey:k})};this.resetRegExp();const p=(a==null?void 0:a.missingInterpolationHandler)||this.options.missingInterpolationHandler,g=((b=a==null?void 0:a.interpolation)==null?void 0:b.skipOnVariables)!==void 0?a.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:y=>Xx(y)},{regex:this.regexp,safeValue:y=>this.escapeValue?Xx(this.escape(y)):Xx(y)}].forEach(y=>{for(u=0;o=y.regex.exec(t);){const S=o[1].trim();if(s=d(S),s===void 0)if(typeof p=="function"){const R=p(t,o,a);s=tt(R)?R:""}else if(a&&Object.prototype.hasOwnProperty.call(a,S))s="";else if(g){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${S} for interpolating ${t}`),s="";else!tt(s)&&!this.useRawValueToEscape&&(s=yz(s));const k=y.safeValue(s);if(t=t.replace(o[0],k),g?(y.regex.lastIndex+=s.length,y.regex.lastIndex-=o[0].length):y.regex.lastIndex=0,u++,u>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a,o,s;const u=(c,d)=>{const p=this.nestingOptionsSeparator;if(c.indexOf(p)<0)return c;const g=c.split(new RegExp(`${p}[ ]*{`));let m=`{${g[1]}`;c=g[0],m=this.interpolate(m,s);const b=m.match(/'/g),y=m.match(/"/g);(((b==null?void 0:b.length)??0)%2===0&&!y||y.length%2!==0)&&(m=m.replace(/'/g,'"'));try{s=JSON.parse(m),d&&(s={...d,...s})}catch(S){return this.logger.warn(`failed parsing options string in nesting for key ${c}`,S),`${c}${p}${m}`}return s.defaultValue&&s.defaultValue.indexOf(this.prefix)>-1&&delete s.defaultValue,c};for(;a=this.nestingRegexp.exec(t);){let c=[];s={...r},s=s.replace&&!tt(s.replace)?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let d=!1;if(a[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(a[1])){const p=a[1].split(this.formatSeparator).map(g=>g.trim());a[1]=p.shift(),c=p,d=!0}if(o=n(u.call(this,a[1].trim(),s),s),o&&a[0]===t&&!tt(o))return o;tt(o)||(o=yz(o)),o||(this.logger.warn(`missed to resolve ${a[1]} for nesting ${t}`),o=""),d&&(o=c.reduce((p,g)=>this.format(p,g,r.lng,{...r,interpolationkey:a[1].trim()}),o.trim())),t=t.replace(a[0],o),this.regexp.lastIndex=0}return t}}const Cwe=e=>{let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const a=r[1].substring(0,r[1].length-1);t==="currency"&&a.indexOf(":")<0?n.currency||(n.currency=a.trim()):t==="relativetime"&&a.indexOf(":")<0?n.range||(n.range=a.trim()):a.split(";").forEach(s=>{if(s){const[u,...c]=s.split(":"),d=c.join(":").trim().replace(/^'+|'+$/g,""),p=u.trim();n[p]||(n[p]=d),d==="false"&&(n[p]=!1),d==="true"&&(n[p]=!0),isNaN(d)||(n[p]=parseInt(d,10))}})}return{formatName:t,formatOptions:n}},ys=e=>{const t={};return(n,r,a)=>{let o=a;a&&a.interpolationkey&&a.formatParams&&a.formatParams[a.interpolationkey]&&a[a.interpolationkey]&&(o={...o,[a.interpolationkey]:void 0});const s=r+JSON.stringify(o);let u=t[s];return u||(u=e(jf(r),a),t[s]=u),u(n)}};class _we{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=na.create("formatter"),this.options=t,this.formats={number:ys((n,r)=>{const a=new Intl.NumberFormat(n,{...r});return o=>a.format(o)}),currency:ys((n,r)=>{const a=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>a.format(o)}),datetime:ys((n,r)=>{const a=new Intl.DateTimeFormat(n,{...r});return o=>a.format(o)}),relativetime:ys((n,r)=>{const a=new Intl.RelativeTimeFormat(n,{...r});return o=>a.format(o,r.range||"day")}),list:ys((n,r)=>{const a=new Intl.ListFormat(n,{...r});return o=>a.format(o)})},this.init(t)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=n.interpolation.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=ys(n)}format(t,n,r){let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=n.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&o[0].indexOf(")")<0&&o.find(u=>u.indexOf(")")>-1)){const u=o.findIndex(c=>c.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,u)].join(this.formatSeparator)}return o.reduce((u,c)=>{var g;const{formatName:d,formatOptions:p}=Cwe(c);if(this.formats[d]){let m=u;try{const b=((g=a==null?void 0:a.formatParams)==null?void 0:g[a.interpolationkey])||{},y=b.locale||b.lng||a.locale||a.lng||r;m=this.formats[d](u,y,{...p,...a,...b})}catch(b){this.logger.warn(b)}return m}else this.logger.warn(`there was no format function for ${d}`);return u},t)}}const Nwe=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)};class Owe extends Pp{constructor(t,n,r){var o,s;let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=a,this.logger=na.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=a.maxParallelReads||10,this.readingCalls=0,this.maxRetries=a.maxRetries>=0?a.maxRetries:5,this.retryTimeout=a.retryTimeout>=1?a.retryTimeout:350,this.state={},this.queue=[],(s=(o=this.backend)==null?void 0:o.init)==null||s.call(o,r,a.backend,a)}queueLoad(t,n,r,a){const o={},s={},u={},c={};return t.forEach(d=>{let p=!0;n.forEach(g=>{const m=`${d}|${g}`;!r.reload&&this.store.hasResourceBundle(d,g)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?s[m]===void 0&&(s[m]=!0):(this.state[m]=1,p=!1,s[m]===void 0&&(s[m]=!0),o[m]===void 0&&(o[m]=!0),c[g]===void 0&&(c[g]=!0)))}),p||(u[d]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:a}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(u),toLoadNamespaces:Object.keys(c)}}loaded(t,n,r){const a=t.split("|"),o=a[0],s=a[1];n&&this.emit("failedLoading",o,s,n),!n&&r&&this.store.addResourceBundle(o,s,r,void 0,void 0,{skipCopy:!0}),this.state[t]=n?-1:2,n&&r&&(this.state[t]=0);const u={};this.queue.forEach(c=>{bwe(c.loaded,[o],s),Nwe(c,t),n&&c.errors.push(n),c.pendingCount===0&&!c.done&&(Object.keys(c.loaded).forEach(d=>{u[d]||(u[d]={});const p=c.loaded[d];p.length&&p.forEach(g=>{u[d][g]===void 0&&(u[d][g]=!0)})}),c.done=!0,c.errors.length?c.callback(c.errors):c.callback())}),this.emit("loaded",u),this.queue=this.queue.filter(c=>!c.done)}read(t,n,r){let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:a,wait:o,callback:s});return}this.readingCalls++;const u=(d,p)=>{if(this.readingCalls--,this.waitingReads.length>0){const g=this.waitingReads.shift();this.read(g.lng,g.ns,g.fcName,g.tried,g.wait,g.callback)}if(d&&p&&a{this.read.call(this,t,n,r,a+1,o*2,s)},o);return}s(d,p)},c=this.backend[r].bind(this.backend);if(c.length===2){try{const d=c(t,n);d&&typeof d.then=="function"?d.then(p=>u(null,p)).catch(u):u(null,d)}catch(d){u(d)}return}return c(t,n,u)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),a&&a();tt(t)&&(t=this.languageUtils.toResolveHierarchy(t)),tt(n)&&(n=[n]);const o=this.queueLoad(t,n,r,a);if(!o.toLoad.length)return o.pending.length||a(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),a=r[0],o=r[1];this.read(a,o,"read",void 0,void 0,(s,u)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${a} failed`,s),!s&&u&&this.logger.log(`${n}loaded namespace ${o} for language ${a}`,u),this.loaded(t,s,u)})}saveMissing(t,n,r,a,o){var c,d,p,g,m;let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},u=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if((d=(c=this.services)==null?void 0:c.utils)!=null&&d.hasLoadedNamespace&&!((g=(p=this.services)==null?void 0:p.utils)!=null&&g.hasLoadedNamespace(n))){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if((m=this.backend)!=null&&m.create){const b={...s,isUpdate:o},y=this.backend.create.bind(this.backend);if(y.length<6)try{let S;y.length===5?S=y(t,n,r,a,b):S=y(t,n,r,a),S&&typeof S.then=="function"?S.then(k=>u(null,k)).catch(u):u(null,S)}catch(S){u(S)}else y(t,n,r,a,u,b)}!t||!t[0]||this.store.addResource(t[0],n,r,a)}}}const _z=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]=="object"&&(t=e[1]),tt(e[1])&&(t.defaultValue=e[1]),tt(e[2])&&(t.tDescription=e[2]),typeof e[2]=="object"||typeof e[3]=="object"){const n=e[3]||e[2];Object.keys(n).forEach(r=>{t[r]=n[r]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),Nz=e=>{var t,n;return tt(e.ns)&&(e.ns=[e.ns]),tt(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),tt(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),((n=(t=e.supportedLngs)==null?void 0:t.indexOf)==null?void 0:n.call(t,"cimode"))<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),typeof e.initImmediate=="boolean"&&(e.initAsync=e.initImmediate),e},$d=()=>{},Iwe=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})};class zu extends Pp{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=Nz(t),this.services={},this.logger=na,this.modules={external:[]},Iwe(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initAsync)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(r=n,n={}),n.defaultNS==null&&n.ns&&(tt(n.ns)?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const a=_z();this.options={...a,...this.options,...Nz(n)},this.options.interpolation={...a.interpolation,...this.options.interpolation},n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);const o=p=>p?typeof p=="function"?new p:p:null;if(!this.options.isClone){this.modules.logger?na.init(o(this.modules.logger),this.options):na.init(null,this.options);let p;this.modules.formatter?p=this.modules.formatter:p=_we;const g=new Tz(this.options);this.store=new wz(this.options.resources,this.options);const m=this.services;m.logger=na,m.resourceStore=this.store,m.languageUtils=g,m.pluralResolver=new Awe(g,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),p&&(!this.options.interpolation.format||this.options.interpolation.format===a.interpolation.format)&&(m.formatter=o(p),m.formatter.init(m,this.options),this.options.interpolation.format=m.formatter.format.bind(m.formatter)),m.interpolator=new Rwe(this.options),m.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},m.backendConnector=new Owe(o(this.modules.backend),m.resourceStore,m,this.options),m.backendConnector.on("*",function(b){for(var y=arguments.length,S=new Array(y>1?y-1:0),k=1;k1?y-1:0),k=1;k{b.init&&b.init(this)})}if(this.format=this.options.interpolation.format,r||(r=$d),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const p=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);p.length>0&&p[0]!=="dev"&&(this.options.lng=p[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(p=>{this[p]=function(){return t.store[p](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(p=>{this[p]=function(){return t.store[p](...arguments),t}});const c=pu(),d=()=>{const p=(g,m)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),c.resolve(m),r(g,m)};if(this.languages&&!this.isInitialized)return p(null,this.t.bind(this));this.changeLanguage(this.options.lng,p)};return this.options.resources||!this.options.initAsync?d():setTimeout(d,0),c}loadResources(t){var o,s;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:$d;const a=tt(t)?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if((a==null?void 0:a.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const u=[],c=d=>{if(!d||d==="cimode")return;this.services.languageUtils.toResolveHierarchy(d).forEach(g=>{g!=="cimode"&&u.indexOf(g)<0&&u.push(g)})};a?c(a):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(p=>c(p)),(s=(o=this.options.preload)==null?void 0:o.forEach)==null||s.call(o,d=>c(d)),this.services.backendConnector.load(u,this.options.ns,d=>{!d&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(d)})}else r(null)}reloadResources(t,n,r){const a=pu();return typeof t=="function"&&(r=t,t=void 0),typeof n=="function"&&(r=n,n=void 0),t||(t=this.languages),n||(n=this.options.ns),r||(r=$d),this.services.backendConnector.reload(t,n,o=>{a.resolve(),r(o)}),a}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&HH.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const a=pu();this.emit("languageChanging",t);const o=c=>{this.language=c,this.languages=this.services.languageUtils.toResolveHierarchy(c),this.resolvedLanguage=void 0,this.setResolvedLanguage(c)},s=(c,d)=>{d?(o(d),this.translator.changeLanguage(d),this.isLanguageChangingTo=void 0,this.emit("languageChanged",d),this.logger.log("languageChanged",d)):this.isLanguageChangingTo=void 0,a.resolve(function(){return r.t(...arguments)}),n&&n(c,function(){return r.t(...arguments)})},u=c=>{var p,g;!t&&!c&&this.services.languageDetector&&(c=[]);const d=tt(c)?c:this.services.languageUtils.getBestMatchFromCodes(c);d&&(this.language||o(d),this.translator.language||this.translator.changeLanguage(d),(g=(p=this.services.languageDetector)==null?void 0:p.cacheUserLanguage)==null||g.call(p,d)),this.loadResources(d,m=>{s(m,d)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?u(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(u):this.services.languageDetector.detect(u):u(t),a}getFixedT(t,n,r){var a=this;const o=function(s,u){let c;if(typeof u!="object"){for(var d=arguments.length,p=new Array(d>2?d-2:0),g=2;g`${c.keyPrefix}${m}${y}`):b=c.keyPrefix?`${c.keyPrefix}${m}${s}`:s,a.t(b,c)};return tt(t)?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){var a;for(var t=arguments.length,n=new Array(t),r=0;r1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],a=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(u,c)=>{const d=this.services.backendConnector.state[`${u}|${c}`];return d===-1||d===0||d===2};if(n.precheck){const u=n.precheck(this,s);if(u!==void 0)return u}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!a||s(o,t)))}loadNamespaces(t,n){const r=pu();return this.options.ns?(tt(t)&&(t=[t]),t.forEach(a=>{this.options.ns.indexOf(a)<0&&this.options.ns.push(a)}),this.loadResources(a=>{r.resolve(),n&&n(a)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=pu();tt(t)&&(t=[t]);const a=this.options.preload||[],o=t.filter(s=>a.indexOf(s)<0&&this.services.languageUtils.isSupportedCode(s));return o.length?(this.options.preload=a.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){var a,o;if(t||(t=this.resolvedLanguage||(((a=this.languages)==null?void 0:a.length)>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=((o=this.services)==null?void 0:o.languageUtils)||new Tz(_z());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new zu(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:$d;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const a={...this.options,...t,isClone:!0},o=new zu(a);if((t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(u=>{o[u]=this[u]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r){const u=Object.keys(this.store.data).reduce((c,d)=>(c[d]={...this.store.data[d]},Object.keys(c[d]).reduce((p,g)=>(p[g]={...c[d][g]},p),{})),{});o.store=new wz(u,a),o.services.resourceStore=o.store}return o.translator=new Hf(o.services,a),o.translator.on("*",function(u){for(var c=arguments.length,d=new Array(c>1?c-1:0),p=1;pc(),[p,c]);const g=E.useCallback(()=>{n([]),Le.getState().setRetrievalHistory([])},[n]);return w.jsxs("div",{className:"flex size-full gap-2 px-2 pb-12 overflow-hidden",children:[w.jsxs("div",{className:"flex grow flex-col gap-4",children:[w.jsx("div",{className:"relative grow",children:w.jsx("div",{className:"bg-primary-foreground/60 absolute inset-0 flex flex-col overflow-auto rounded-lg border p-2",children:w.jsxs("div",{className:"flex min-h-0 flex-1 flex-col gap-2",children:[t.length===0?w.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center text-lg",children:e("retrievePanel.retrieval.startPrompt")}):t.map((m,b)=>w.jsx("div",{className:`flex ${m.role==="user"?"justify-end":"justify-start"}`,children:w.jsx(owe,{message:m})},b)),w.jsx("div",{ref:u,className:"pb-1"})]})})}),w.jsxs("form",{onSubmit:d,className:"flex shrink-0 items-center gap-2",children:[w.jsxs(xt,{type:"button",variant:"outline",onClick:g,disabled:o,size:"sm",children:[w.jsx(VB,{}),e("retrievePanel.retrieval.clear")]}),w.jsx($a,{className:"flex-1",value:r,onChange:m=>a(m.target.value),placeholder:e("retrievePanel.retrieval.placeholder"),disabled:o}),w.jsxs(xt,{type:"submit",variant:"default",disabled:o,size:"sm",children:[w.jsx(aY,{}),e("retrievePanel.retrieval.send")]})]})]}),w.jsx(Yie,{})]})}const uwe=()=>{const e=E.useContext(BB);if(!e)throw new Error("useTabVisibility must be used within a TabVisibilityProvider");return e};function cwe(){const{t:e}=Pt(),{isTabVisible:t}=uwe(),n=t("api"),[r,a]=E.useState(!1);return E.useEffect(()=>{r||a(!0)},[r]),w.jsx("div",{className:`size-full ${n?"":"hidden"}`,children:r?w.jsx("iframe",{src:OB+"/docs",className:"size-full w-full h-full",style:{width:"100%",height:"100%",border:"none"}},"api-docs-iframe"):w.jsx("div",{className:"flex h-full w-full items-center justify-center bg-background",children:w.jsxs("div",{className:"text-center",children:[w.jsx("div",{className:"mb-2 h-8 w-8 animate-spin rounded-full border-4 border-primary border-t-transparent"}),w.jsx("p",{children:e("apiSite.loading")})]})})})}function dwe(){const e=tr.use.message(),t=Le.use.enableHealthCheck(),n=Le.use.currentTab(),[r,a]=E.useState(!1),o=E.useRef(!1);E.useEffect(()=>{if(!t)return;const u=async()=>{await tr.getState().check()};u();const c=setInterval(u,lV*1e3);return()=>clearInterval(c)},[t]),E.useEffect(()=>{(async()=>{if(o.current||(o.current=!0,sessionStorage.getItem("VERSION_CHECKED_FROM_LOGIN")==="true"))return;const d=localStorage.getItem("LIGHTRAG-API-TOKEN");if(d)try{const p=await PB();if(p.core_version||p.api_version){const g=p.auth_mode==="disabled"||ra.getState().isGuestMode;ra.getState().login(d,g,p.core_version,p.api_version),sessionStorage.setItem("VERSION_CHECKED_FROM_LOGIN","true")}}catch(p){console.error("Failed to get version info:",p)}})()},[]);const s=E.useCallback(u=>Le.getState().setCurrentTab(u),[]);return E.useEffect(()=>{if(e&&(e.includes(DB)||e.includes(LB))){a(!0);return}a(!1)},[e,a]),w.jsx(zB,{children:w.jsx(iW,{children:w.jsxs("main",{className:"flex h-screen w-screen overflow-hidden",children:[w.jsxs(qQ,{defaultValue:n,className:"!m-0 flex grow flex-col !p-0 overflow-hidden",onValueChange:s,children:[w.jsx(WQ,{}),w.jsxs("div",{className:"relative grow",children:[w.jsx(hu,{value:"documents",className:"absolute top-0 right-0 bottom-0 left-0 overflow-auto",children:w.jsx(xie,{})}),w.jsx(hu,{value:"knowledge-graph",className:"absolute top-0 right-0 bottom-0 left-0 overflow-hidden",children:w.jsx(Wae,{})}),w.jsx(hu,{value:"retrieval",className:"absolute top-0 right-0 bottom-0 left-0 overflow-hidden",children:w.jsx(lwe,{})}),w.jsx(hu,{value:"api",className:"absolute top-0 right-0 bottom-0 left-0 overflow-hidden",children:w.jsx(cwe,{})})]})]}),t&&w.jsx(eQ,{}),e!==null&&!r&&w.jsx(gY,{}),r&&w.jsx(TZ,{})]})})})}const fwe=()=>{const e=b0(),{login:t,isAuthenticated:n}=ra(),{t:r}=Pt(),[a,o]=E.useState(!1),[s,u]=E.useState(""),[c,d]=E.useState(""),[p,g]=E.useState(!0),m=E.useRef(!1);if(E.useEffect(()=>{console.log("LoginPage mounted")},[]),E.useEffect(()=>((async()=>{if(!m.current){m.current=!0;try{if(n){e("/");return}const S=await PB();if((S.core_version||S.api_version)&&sessionStorage.setItem("VERSION_CHECKED_FROM_LOGIN","true"),!S.auth_configured&&S.access_token){t(S.access_token,!0,S.core_version,S.api_version),S.message&&Ft.info(S.message),e("/");return}g(!1)}catch(S){console.error("Failed to check auth configuration:",S),g(!1)}}})(),()=>{}),[n,t,e]),p)return null;const b=async y=>{if(y.preventDefault(),!s||!c){Ft.error(r("login.errorEmptyFields"));return}try{o(!0);const S=await RV(s,c),k=S.auth_mode==="disabled";t(S.access_token,k,S.core_version,S.api_version),(S.core_version||S.api_version)&&sessionStorage.setItem("VERSION_CHECKED_FROM_LOGIN","true"),k?Ft.info(S.message||r("login.authDisabled","Authentication is disabled. Using guest access.")):Ft.success(r("login.successMessage")),e("/")}catch(S){console.error("Login failed...",S),Ft.error(r("login.errorInvalidCredentials")),ra.getState().logout(),localStorage.removeItem("LIGHTRAG-API-TOKEN")}finally{o(!1)}};return w.jsxs("div",{className:"flex h-screen w-screen items-center justify-center bg-gradient-to-br from-emerald-50 to-teal-100 dark:from-gray-900 dark:to-gray-800",children:[w.jsx("div",{className:"absolute top-4 right-4 flex items-center gap-2",children:w.jsx(Aj,{className:"bg-white/30 dark:bg-gray-800/30 backdrop-blur-sm rounded-md"})}),w.jsxs(Fs,{className:"w-full max-w-[480px] shadow-lg mx-4",children:[w.jsx(_u,{className:"flex items-center justify-center space-y-2 pb-8 pt-6",children:w.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[w.jsxs("div",{className:"flex items-center gap-3",children:[w.jsx("img",{src:"logo.png",alt:"LightRAG Logo",className:"h-12 w-12"}),w.jsx(XB,{className:"size-10 text-emerald-400","aria-hidden":"true"})]}),w.jsxs("div",{className:"text-center space-y-2",children:[w.jsx("h1",{className:"text-3xl font-bold tracking-tight",children:"LightRAG"}),w.jsx("p",{className:"text-muted-foreground text-sm",children:r("login.description")})]})]})}),w.jsx(Ou,{className:"px-8 pb-8",children:w.jsxs("form",{onSubmit:b,className:"space-y-6",children:[w.jsxs("div",{className:"flex items-center gap-4",children:[w.jsx("label",{htmlFor:"username",className:"text-sm font-medium w-16 shrink-0",children:r("login.username")}),w.jsx($a,{id:"username",placeholder:r("login.usernamePlaceholder"),value:s,onChange:y=>u(y.target.value),required:!0,className:"h-11 flex-1"})]}),w.jsxs("div",{className:"flex items-center gap-4",children:[w.jsx("label",{htmlFor:"password",className:"text-sm font-medium w-16 shrink-0",children:r("login.password")}),w.jsx($a,{id:"password",type:"password",placeholder:r("login.passwordPlaceholder"),value:c,onChange:y=>d(y.target.value),required:!0,className:"h-11 flex-1"})]}),w.jsx(xt,{type:"submit",className:"w-full h-11 text-base font-medium mt-2",disabled:a,children:r(a?"login.loggingIn":"login.loginButton")})]})})]})]})},pwe=()=>{const[e,t]=E.useState(!0),{isAuthenticated:n}=ra(),r=b0();return E.useEffect(()=>{C0.setNavigate(r)},[r]),E.useEffect(()=>((async()=>{try{const o=localStorage.getItem("LIGHTRAG-API-TOKEN");if(o&&n){t(!1);return}o||ra.getState().logout()}catch(o){console.error("Auth initialization error:",o),n||ra.getState().logout()}finally{t(!1)}})(),()=>{}),[n]),E.useEffect(()=>{!e&&!n&&window.location.hash.slice(1)!=="/login"&&(console.log("Not authenticated, redirecting to login"),r("/login"))},[e,n,r]),e?null:w.jsxs(r9,{children:[w.jsx(Qx,{path:"/login",element:w.jsx(fwe,{})}),w.jsx(Qx,{path:"/*",element:n?w.jsx(dwe,{}):null})]})},gwe=()=>w.jsx(zB,{children:w.jsxs(A9,{children:[w.jsx(pwe,{}),w.jsx(rW,{position:"bottom-center"})]})}),tt=e=>typeof e=="string",pu=()=>{let e,t;const n=new Promise((r,a)=>{e=r,t=a});return n.resolve=e,n.reject=t,n},yz=e=>e==null?"":""+e,hwe=(e,t,n)=>{e.forEach(r=>{t[r]&&(n[r]=t[r])})},mwe=/###/g,vz=e=>e&&e.indexOf("###")>-1?e.replace(mwe,"."):e,Sz=e=>!e||tt(e),Eu=(e,t,n)=>{const r=tt(t)?t.split("."):t;let a=0;for(;a{const{obj:r,k:a}=Eu(e,t,Object);if(r!==void 0||t.length===1){r[a]=n;return}let o=t[t.length-1],s=t.slice(0,t.length-1),u=Eu(e,s,Object);for(;u.obj===void 0&&s.length;)o=`${s[s.length-1]}.${o}`,s=s.slice(0,s.length-1),u=Eu(e,s,Object),u!=null&&u.obj&&typeof u.obj[`${u.k}.${o}`]<"u"&&(u.obj=void 0);u.obj[`${u.k}.${o}`]=n},bwe=(e,t,n,r)=>{const{obj:a,k:o}=Eu(e,t,Object);a[o]=a[o]||[],a[o].push(n)},Uf=(e,t)=>{const{obj:n,k:r}=Eu(e,t);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},ywe=(e,t,n)=>{const r=Uf(e,n);return r!==void 0?r:Uf(t,n)},GH=(e,t,n)=>{for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?tt(e[r])||e[r]instanceof String||tt(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):GH(e[r],t[r],n):e[r]=t[r]);return e},bs=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var vwe={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const Swe=e=>tt(e)?e.replace(/[&<>"'\/]/g,t=>vwe[t]):e;class Ewe{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){const n=this.regExpMap.get(t);if(n!==void 0)return n;const r=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,r),this.regExpQueue.push(t),r}}const wwe=[" ",",","?","!",";"],xwe=new Ewe(20),kwe=(e,t,n)=>{t=t||"",n=n||"";const r=wwe.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const a=xwe.getRegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!a.test(e);if(!o){const s=e.indexOf(n);s>0&&!a.test(e.substring(0,s))&&(o=!0)}return o},g0=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;const r=t.split(n);let a=e;for(let o=0;o-1&&ce==null?void 0:e.replace("_","-"),Twe={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){var n,r;(r=(n=console==null?void 0:console[e])==null?void 0:n.apply)==null||r.call(n,console,t)}};class Gf{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||Twe,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]||(this.observers[r]=new Map);const a=this.observers[r].get(n)||0;this.observers[r].set(n,a+1)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t].delete(n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),a=1;a{let[u,c]=s;for(let d=0;d{let[u,c]=s;for(let d=0;d1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){var d,p;let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator,s=a.ignoreJSONStructure!==void 0?a.ignoreJSONStructure:this.options.ignoreJSONStructure;let u;t.indexOf(".")>-1?u=t.split("."):(u=[t,n],r&&(Array.isArray(r)?u.push(...r):tt(r)&&o?u.push(...r.split(o)):u.push(r)));const c=Uf(this.data,u);return!c&&!n&&!r&&t.indexOf(".")>-1&&(t=u[0],n=u[1],r=u.slice(2).join(".")),c||!s||!tt(r)?c:g0((p=(d=this.data)==null?void 0:d[t])==null?void 0:p[n],r,o)}addResource(t,n,r,a){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let u=[t,n];r&&(u=u.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(u=t.split("."),a=n,n=u[1]),this.addNamespaces(n),Ez(this.data,u,a),o.silent||this.emit("added",t,n,r,a)}addResources(t,n,r){let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(tt(r[o])||Array.isArray(r[o]))&&this.addResource(t,n,o,r[o],{silent:!0});a.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,a,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},u=[t,n];t.indexOf(".")>-1&&(u=t.split("."),a=r,r=n,n=u[1]),this.addNamespaces(n);let c=Uf(this.data,u)||{};s.skipCopy||(r=JSON.parse(JSON.stringify(r))),a?GH(c,r,o):c={...c,...r},Ez(this.data,u,c),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(a=>n[a]&&Object.keys(n[a]).length>0)}toJSON(){return this.data}}var HH={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,a){return e.forEach(o=>{var s;t=((s=this.processors[o])==null?void 0:s.process(t,n,r,a))??t}),t}};const xz={},kz=e=>!tt(e)&&typeof e!="boolean"&&typeof e!="number";class Hf extends Pp{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),hwe(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=na.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return(r==null?void 0:r.res)!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const a=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,u=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!kwe(t,r,a);if(s&&!u){const c=t.match(this.interpolator.nestingRegexp);if(c&&c.length>0)return{key:t,namespaces:tt(o)?[o]:o};const d=t.split(r);(r!==a||r===a&&this.options.ns.indexOf(d[0])>-1)&&(o=d.shift()),t=d.join(a)}return{key:t,namespaces:tt(o)?[o]:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const a=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:u}=this.extractFromKey(t[t.length-1],n),c=u[u.length-1],d=n.lng||this.language,p=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((d==null?void 0:d.toLowerCase())==="cimode"){if(p){const H=n.nsSeparator||this.options.nsSeparator;return a?{res:`${c}${H}${s}`,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:c,usedParams:this.getUsedParamsDetails(n)}:`${c}${H}${s}`}return a?{res:s,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:c,usedParams:this.getUsedParamsDetails(n)}:s}const g=this.resolve(t,n);let m=g==null?void 0:g.res;const b=(g==null?void 0:g.usedKey)||s,y=(g==null?void 0:g.exactUsedKey)||s,S=["[object Number]","[object Function]","[object RegExp]"],k=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,R=!this.i18nFormat||this.i18nFormat.handleAsObject,x=n.count!==void 0&&!tt(n.count),A=Hf.hasDefaultValue(n),N=x?this.pluralResolver.getSuffix(d,n.count,n):"",O=n.ordinal&&x?this.pluralResolver.getSuffix(d,n.count,{ordinal:!1}):"",C=x&&!n.ordinal&&n.count===0,_=C&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${N}`]||n[`defaultValue${O}`]||n.defaultValue;let P=m;R&&!m&&A&&(P=_);const D=kz(P),L=Object.prototype.toString.apply(P);if(R&&P&&D&&S.indexOf(L)<0&&!(tt(k)&&Array.isArray(P))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const H=this.options.returnedObjectHandler?this.options.returnedObjectHandler(b,P,{...n,ns:u}):`key '${s} (${this.language})' returned an object instead of string.`;return a?(g.res=H,g.usedParams=this.getUsedParamsDetails(n),g):H}if(o){const H=Array.isArray(P),$=H?[]:{},U=H?y:b;for(const W in P)if(Object.prototype.hasOwnProperty.call(P,W)){const Z=`${U}${o}${W}`;A&&!m?$[W]=this.translate(Z,{...n,defaultValue:kz(_)?_[W]:void 0,joinArrays:!1,ns:u}):$[W]=this.translate(Z,{...n,joinArrays:!1,ns:u}),$[W]===Z&&($[W]=P[W])}m=$}}else if(R&&tt(k)&&Array.isArray(m))m=m.join(k),m&&(m=this.extendTranslation(m,t,n,r));else{let H=!1,$=!1;!this.isValidLookup(m)&&A&&(H=!0,m=_),this.isValidLookup(m)||($=!0,m=s);const W=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&$?void 0:m,Z=A&&_!==m&&this.options.updateMissing;if($||H||Z){if(this.logger.log(Z?"updateKey":"missingKey",d,c,s,Z?_:m),o){const Y=this.resolve(s,{...n,keySeparator:!1});Y&&Y.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let j=[];const G=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&G&&G[0])for(let Y=0;Y{var M;const B=A&&V!==m?V:W;this.options.missingKeyHandler?this.options.missingKeyHandler(Y,c,I,B,Z,n):(M=this.backendConnector)!=null&&M.saveMissing&&this.backendConnector.saveMissing(Y,c,I,B,Z,n),this.emit("missingKey",Y,c,I,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&x?j.forEach(Y=>{const I=this.pluralResolver.getSuffixes(Y,n);C&&n[`defaultValue${this.options.pluralSeparator}zero`]&&I.indexOf(`${this.options.pluralSeparator}zero`)<0&&I.push(`${this.options.pluralSeparator}zero`),I.forEach(V=>{z([Y],s+V,n[`defaultValue${V}`]||_)})}):z(j,s,_))}m=this.extendTranslation(m,t,n,g,r),$&&m===s&&this.options.appendNamespaceToMissingKey&&(m=`${c}:${s}`),($||H)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${c}:${s}`:s,H?m:void 0))}return a?(g.res=m,g.usedParams=this.getUsedParamsDetails(n),g):m}extendTranslation(t,n,r,a,o){var d,p;var s=this;if((d=this.i18nFormat)!=null&&d.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||a.usedLng,a.usedNS,a.usedKey,{resolved:a});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const g=tt(t)&&(((p=r==null?void 0:r.interpolation)==null?void 0:p.skipOnVariables)!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let m;if(g){const y=t.match(this.interpolator.nestingRegexp);m=y&&y.length}let b=r.replace&&!tt(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(b={...this.options.interpolation.defaultVariables,...b}),t=this.interpolator.interpolate(t,b,r.lng||this.language||a.usedLng,r),g){const y=t.match(this.interpolator.nestingRegexp),S=y&&y.length;m1&&arguments[1]!==void 0?arguments[1]:{},r,a,o,s,u;return tt(t)&&(t=[t]),t.forEach(c=>{if(this.isValidLookup(r))return;const d=this.extractFromKey(c,n),p=d.key;a=p;let g=d.namespaces;this.options.fallbackNS&&(g=g.concat(this.options.fallbackNS));const m=n.count!==void 0&&!tt(n.count),b=m&&!n.ordinal&&n.count===0,y=n.context!==void 0&&(tt(n.context)||typeof n.context=="number")&&n.context!=="",S=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);g.forEach(k=>{var R,x;this.isValidLookup(r)||(u=k,!xz[`${S[0]}-${k}`]&&((R=this.utils)!=null&&R.hasLoadedNamespace)&&!((x=this.utils)!=null&&x.hasLoadedNamespace(u))&&(xz[`${S[0]}-${k}`]=!0,this.logger.warn(`key "${a}" for languages "${S.join(", ")}" won't get resolved as namespace "${u}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),S.forEach(A=>{var C;if(this.isValidLookup(r))return;s=A;const N=[p];if((C=this.i18nFormat)!=null&&C.addLookupKeys)this.i18nFormat.addLookupKeys(N,p,A,k,n);else{let _;m&&(_=this.pluralResolver.getSuffix(A,n.count,n));const P=`${this.options.pluralSeparator}zero`,D=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(N.push(p+_),n.ordinal&&_.indexOf(D)===0&&N.push(p+_.replace(D,this.options.pluralSeparator)),b&&N.push(p+P)),y){const L=`${p}${this.options.contextSeparator}${n.context}`;N.push(L),m&&(N.push(L+_),n.ordinal&&_.indexOf(D)===0&&N.push(L+_.replace(D,this.options.pluralSeparator)),b&&N.push(L+P))}}let O;for(;O=N.pop();)this.isValidLookup(r)||(o=O,r=this.getResource(A,k,O,n))}))})}),{res:r,usedKey:a,exactUsedKey:o,usedLng:s,usedNS:u}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){var o;let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return(o=this.i18nFormat)!=null&&o.getResource?this.i18nFormat.getResource(t,n,r,a):this.resourceStore.getResource(t,n,r,a)}getUsedParamsDetails(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=t.replace&&!tt(t.replace);let a=r?t.replace:t;if(r&&typeof t.count<"u"&&(a.count=t.count),this.options.interpolation.defaultVariables&&(a={...this.options.interpolation.defaultVariables,...a}),!r){a={...a};for(const o of n)delete a[o]}return a}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}class Tz{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=na.create("languageUtils")}getScriptPartFromCode(t){if(t=jf(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=jf(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(tt(t)&&t.indexOf("-")>-1){let n;try{n=Intl.getCanonicalLocales(t)[0]}catch{}return n&&this.options.lowerCaseLng&&(n=n.toLowerCase()),n||(this.options.lowerCaseLng?t.toLowerCase():t)}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const a=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(a))&&(n=a)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const a=this.getLanguagePartFromCode(r);if(this.isSupportedCode(a))return n=a;n=this.options.supportedLngs.find(o=>{if(o===a)return o;if(!(o.indexOf("-")<0&&a.indexOf("-")<0)&&(o.indexOf("-")>0&&a.indexOf("-")<0&&o.substring(0,o.indexOf("-"))===a||o.indexOf(a)===0&&a.length>1))return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),tt(t)&&(t=[t]),Array.isArray(t))return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),a=[],o=s=>{s&&(this.isSupportedCode(s)?a.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return tt(t)&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):tt(t)&&o(this.formatLanguageCode(t)),r.forEach(s=>{a.indexOf(s)<0&&o(this.formatLanguageCode(s))}),a}}const Az={zero:0,one:1,two:2,few:3,many:4,other:5},Rz={select:e=>e===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Awe{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=na.create("pluralResolver"),this.pluralRulesCache={}}addRule(t,n){this.rules[t]=n}clearCache(){this.pluralRulesCache={}}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=jf(t==="dev"?"en":t),a=n.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:r,type:a});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];let s;try{s=new Intl.PluralRules(r,{type:a})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),Rz;if(!t.match(/-|_/))return Rz;const c=this.languageUtils.getLanguagePartFromCode(t);s=this.getRule(c,n)}return this.pluralRulesCache[o]=s,s}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(t,n);return r||(r=this.getRule("dev",n)),(r==null?void 0:r.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(a=>`${n}${a}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(t,n);return r||(r=this.getRule("dev",n)),r?r.resolvedOptions().pluralCategories.sort((a,o)=>Az[a]-Az[o]).map(a=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${a}`):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const a=this.getRule(t,r);return a?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${a.select(n)}`:(this.logger.warn(`no plural rule found for: ${t}`),this.getSuffix("dev",n,r))}}const Cz=function(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=ywe(e,t,n);return!o&&a&&tt(n)&&(o=g0(e,n,r),o===void 0&&(o=g0(t,n,r))),o},Xx=e=>e.replace(/\$/g,"$$$$");class Rwe{constructor(){var n;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=na.create("interpolator"),this.options=t,this.format=((n=t==null?void 0:t.interpolation)==null?void 0:n.format)||(r=>r),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:a,prefix:o,prefixEscaped:s,suffix:u,suffixEscaped:c,formatSeparator:d,unescapeSuffix:p,unescapePrefix:g,nestingPrefix:m,nestingPrefixEscaped:b,nestingSuffix:y,nestingSuffixEscaped:S,nestingOptionsSeparator:k,maxReplaces:R,alwaysFormat:x}=t.interpolation;this.escape=n!==void 0?n:Swe,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=a!==void 0?a:!1,this.prefix=o?bs(o):s||"{{",this.suffix=u?bs(u):c||"}}",this.formatSeparator=d||",",this.unescapePrefix=p?"":g||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=m?bs(m):b||bs("$t("),this.nestingSuffix=y?bs(y):S||bs(")"),this.nestingOptionsSeparator=k||",",this.maxReplaces=R||1e3,this.alwaysFormat=x!==void 0?x:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=(n,r)=>(n==null?void 0:n.source)===r?(n.lastIndex=0,n):new RegExp(r,"g");this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(t,n,r,a){var b;let o,s,u;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},d=y=>{if(y.indexOf(this.formatSeparator)<0){const x=Cz(n,c,y,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(x,void 0,r,{...a,...n,interpolationkey:y}):x}const S=y.split(this.formatSeparator),k=S.shift().trim(),R=S.join(this.formatSeparator).trim();return this.format(Cz(n,c,k,this.options.keySeparator,this.options.ignoreJSONStructure),R,r,{...a,...n,interpolationkey:k})};this.resetRegExp();const p=(a==null?void 0:a.missingInterpolationHandler)||this.options.missingInterpolationHandler,g=((b=a==null?void 0:a.interpolation)==null?void 0:b.skipOnVariables)!==void 0?a.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:y=>Xx(y)},{regex:this.regexp,safeValue:y=>this.escapeValue?Xx(this.escape(y)):Xx(y)}].forEach(y=>{for(u=0;o=y.regex.exec(t);){const S=o[1].trim();if(s=d(S),s===void 0)if(typeof p=="function"){const R=p(t,o,a);s=tt(R)?R:""}else if(a&&Object.prototype.hasOwnProperty.call(a,S))s="";else if(g){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${S} for interpolating ${t}`),s="";else!tt(s)&&!this.useRawValueToEscape&&(s=yz(s));const k=y.safeValue(s);if(t=t.replace(o[0],k),g?(y.regex.lastIndex+=s.length,y.regex.lastIndex-=o[0].length):y.regex.lastIndex=0,u++,u>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a,o,s;const u=(c,d)=>{const p=this.nestingOptionsSeparator;if(c.indexOf(p)<0)return c;const g=c.split(new RegExp(`${p}[ ]*{`));let m=`{${g[1]}`;c=g[0],m=this.interpolate(m,s);const b=m.match(/'/g),y=m.match(/"/g);(((b==null?void 0:b.length)??0)%2===0&&!y||y.length%2!==0)&&(m=m.replace(/'/g,'"'));try{s=JSON.parse(m),d&&(s={...d,...s})}catch(S){return this.logger.warn(`failed parsing options string in nesting for key ${c}`,S),`${c}${p}${m}`}return s.defaultValue&&s.defaultValue.indexOf(this.prefix)>-1&&delete s.defaultValue,c};for(;a=this.nestingRegexp.exec(t);){let c=[];s={...r},s=s.replace&&!tt(s.replace)?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let d=!1;if(a[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(a[1])){const p=a[1].split(this.formatSeparator).map(g=>g.trim());a[1]=p.shift(),c=p,d=!0}if(o=n(u.call(this,a[1].trim(),s),s),o&&a[0]===t&&!tt(o))return o;tt(o)||(o=yz(o)),o||(this.logger.warn(`missed to resolve ${a[1]} for nesting ${t}`),o=""),d&&(o=c.reduce((p,g)=>this.format(p,g,r.lng,{...r,interpolationkey:a[1].trim()}),o.trim())),t=t.replace(a[0],o),this.regexp.lastIndex=0}return t}}const Cwe=e=>{let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const a=r[1].substring(0,r[1].length-1);t==="currency"&&a.indexOf(":")<0?n.currency||(n.currency=a.trim()):t==="relativetime"&&a.indexOf(":")<0?n.range||(n.range=a.trim()):a.split(";").forEach(s=>{if(s){const[u,...c]=s.split(":"),d=c.join(":").trim().replace(/^'+|'+$/g,""),p=u.trim();n[p]||(n[p]=d),d==="false"&&(n[p]=!1),d==="true"&&(n[p]=!0),isNaN(d)||(n[p]=parseInt(d,10))}})}return{formatName:t,formatOptions:n}},ys=e=>{const t={};return(n,r,a)=>{let o=a;a&&a.interpolationkey&&a.formatParams&&a.formatParams[a.interpolationkey]&&a[a.interpolationkey]&&(o={...o,[a.interpolationkey]:void 0});const s=r+JSON.stringify(o);let u=t[s];return u||(u=e(jf(r),a),t[s]=u),u(n)}};class _we{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=na.create("formatter"),this.options=t,this.formats={number:ys((n,r)=>{const a=new Intl.NumberFormat(n,{...r});return o=>a.format(o)}),currency:ys((n,r)=>{const a=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>a.format(o)}),datetime:ys((n,r)=>{const a=new Intl.DateTimeFormat(n,{...r});return o=>a.format(o)}),relativetime:ys((n,r)=>{const a=new Intl.RelativeTimeFormat(n,{...r});return o=>a.format(o,r.range||"day")}),list:ys((n,r)=>{const a=new Intl.ListFormat(n,{...r});return o=>a.format(o)})},this.init(t)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=n.interpolation.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=ys(n)}format(t,n,r){let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=n.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&o[0].indexOf(")")<0&&o.find(u=>u.indexOf(")")>-1)){const u=o.findIndex(c=>c.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,u)].join(this.formatSeparator)}return o.reduce((u,c)=>{var g;const{formatName:d,formatOptions:p}=Cwe(c);if(this.formats[d]){let m=u;try{const b=((g=a==null?void 0:a.formatParams)==null?void 0:g[a.interpolationkey])||{},y=b.locale||b.lng||a.locale||a.lng||r;m=this.formats[d](u,y,{...p,...a,...b})}catch(b){this.logger.warn(b)}return m}else this.logger.warn(`there was no format function for ${d}`);return u},t)}}const Nwe=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)};class Owe extends Pp{constructor(t,n,r){var o,s;let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=a,this.logger=na.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=a.maxParallelReads||10,this.readingCalls=0,this.maxRetries=a.maxRetries>=0?a.maxRetries:5,this.retryTimeout=a.retryTimeout>=1?a.retryTimeout:350,this.state={},this.queue=[],(s=(o=this.backend)==null?void 0:o.init)==null||s.call(o,r,a.backend,a)}queueLoad(t,n,r,a){const o={},s={},u={},c={};return t.forEach(d=>{let p=!0;n.forEach(g=>{const m=`${d}|${g}`;!r.reload&&this.store.hasResourceBundle(d,g)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?s[m]===void 0&&(s[m]=!0):(this.state[m]=1,p=!1,s[m]===void 0&&(s[m]=!0),o[m]===void 0&&(o[m]=!0),c[g]===void 0&&(c[g]=!0)))}),p||(u[d]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:a}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(u),toLoadNamespaces:Object.keys(c)}}loaded(t,n,r){const a=t.split("|"),o=a[0],s=a[1];n&&this.emit("failedLoading",o,s,n),!n&&r&&this.store.addResourceBundle(o,s,r,void 0,void 0,{skipCopy:!0}),this.state[t]=n?-1:2,n&&r&&(this.state[t]=0);const u={};this.queue.forEach(c=>{bwe(c.loaded,[o],s),Nwe(c,t),n&&c.errors.push(n),c.pendingCount===0&&!c.done&&(Object.keys(c.loaded).forEach(d=>{u[d]||(u[d]={});const p=c.loaded[d];p.length&&p.forEach(g=>{u[d][g]===void 0&&(u[d][g]=!0)})}),c.done=!0,c.errors.length?c.callback(c.errors):c.callback())}),this.emit("loaded",u),this.queue=this.queue.filter(c=>!c.done)}read(t,n,r){let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:a,wait:o,callback:s});return}this.readingCalls++;const u=(d,p)=>{if(this.readingCalls--,this.waitingReads.length>0){const g=this.waitingReads.shift();this.read(g.lng,g.ns,g.fcName,g.tried,g.wait,g.callback)}if(d&&p&&a{this.read.call(this,t,n,r,a+1,o*2,s)},o);return}s(d,p)},c=this.backend[r].bind(this.backend);if(c.length===2){try{const d=c(t,n);d&&typeof d.then=="function"?d.then(p=>u(null,p)).catch(u):u(null,d)}catch(d){u(d)}return}return c(t,n,u)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),a&&a();tt(t)&&(t=this.languageUtils.toResolveHierarchy(t)),tt(n)&&(n=[n]);const o=this.queueLoad(t,n,r,a);if(!o.toLoad.length)return o.pending.length||a(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),a=r[0],o=r[1];this.read(a,o,"read",void 0,void 0,(s,u)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${a} failed`,s),!s&&u&&this.logger.log(`${n}loaded namespace ${o} for language ${a}`,u),this.loaded(t,s,u)})}saveMissing(t,n,r,a,o){var c,d,p,g,m;let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},u=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if((d=(c=this.services)==null?void 0:c.utils)!=null&&d.hasLoadedNamespace&&!((g=(p=this.services)==null?void 0:p.utils)!=null&&g.hasLoadedNamespace(n))){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if((m=this.backend)!=null&&m.create){const b={...s,isUpdate:o},y=this.backend.create.bind(this.backend);if(y.length<6)try{let S;y.length===5?S=y(t,n,r,a,b):S=y(t,n,r,a),S&&typeof S.then=="function"?S.then(k=>u(null,k)).catch(u):u(null,S)}catch(S){u(S)}else y(t,n,r,a,u,b)}!t||!t[0]||this.store.addResource(t[0],n,r,a)}}}const _z=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]=="object"&&(t=e[1]),tt(e[1])&&(t.defaultValue=e[1]),tt(e[2])&&(t.tDescription=e[2]),typeof e[2]=="object"||typeof e[3]=="object"){const n=e[3]||e[2];Object.keys(n).forEach(r=>{t[r]=n[r]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),Nz=e=>{var t,n;return tt(e.ns)&&(e.ns=[e.ns]),tt(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),tt(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),((n=(t=e.supportedLngs)==null?void 0:t.indexOf)==null?void 0:n.call(t,"cimode"))<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),typeof e.initImmediate=="boolean"&&(e.initAsync=e.initImmediate),e},$d=()=>{},Iwe=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})};class zu extends Pp{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=Nz(t),this.services={},this.logger=na,this.modules={external:[]},Iwe(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initAsync)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(r=n,n={}),n.defaultNS==null&&n.ns&&(tt(n.ns)?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const a=_z();this.options={...a,...this.options,...Nz(n)},this.options.interpolation={...a.interpolation,...this.options.interpolation},n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);const o=p=>p?typeof p=="function"?new p:p:null;if(!this.options.isClone){this.modules.logger?na.init(o(this.modules.logger),this.options):na.init(null,this.options);let p;this.modules.formatter?p=this.modules.formatter:p=_we;const g=new Tz(this.options);this.store=new wz(this.options.resources,this.options);const m=this.services;m.logger=na,m.resourceStore=this.store,m.languageUtils=g,m.pluralResolver=new Awe(g,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),p&&(!this.options.interpolation.format||this.options.interpolation.format===a.interpolation.format)&&(m.formatter=o(p),m.formatter.init(m,this.options),this.options.interpolation.format=m.formatter.format.bind(m.formatter)),m.interpolator=new Rwe(this.options),m.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},m.backendConnector=new Owe(o(this.modules.backend),m.resourceStore,m,this.options),m.backendConnector.on("*",function(b){for(var y=arguments.length,S=new Array(y>1?y-1:0),k=1;k1?y-1:0),k=1;k{b.init&&b.init(this)})}if(this.format=this.options.interpolation.format,r||(r=$d),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const p=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);p.length>0&&p[0]!=="dev"&&(this.options.lng=p[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(p=>{this[p]=function(){return t.store[p](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(p=>{this[p]=function(){return t.store[p](...arguments),t}});const c=pu(),d=()=>{const p=(g,m)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),c.resolve(m),r(g,m)};if(this.languages&&!this.isInitialized)return p(null,this.t.bind(this));this.changeLanguage(this.options.lng,p)};return this.options.resources||!this.options.initAsync?d():setTimeout(d,0),c}loadResources(t){var o,s;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:$d;const a=tt(t)?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if((a==null?void 0:a.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const u=[],c=d=>{if(!d||d==="cimode")return;this.services.languageUtils.toResolveHierarchy(d).forEach(g=>{g!=="cimode"&&u.indexOf(g)<0&&u.push(g)})};a?c(a):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(p=>c(p)),(s=(o=this.options.preload)==null?void 0:o.forEach)==null||s.call(o,d=>c(d)),this.services.backendConnector.load(u,this.options.ns,d=>{!d&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(d)})}else r(null)}reloadResources(t,n,r){const a=pu();return typeof t=="function"&&(r=t,t=void 0),typeof n=="function"&&(r=n,n=void 0),t||(t=this.languages),n||(n=this.options.ns),r||(r=$d),this.services.backendConnector.reload(t,n,o=>{a.resolve(),r(o)}),a}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&HH.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const a=pu();this.emit("languageChanging",t);const o=c=>{this.language=c,this.languages=this.services.languageUtils.toResolveHierarchy(c),this.resolvedLanguage=void 0,this.setResolvedLanguage(c)},s=(c,d)=>{d?(o(d),this.translator.changeLanguage(d),this.isLanguageChangingTo=void 0,this.emit("languageChanged",d),this.logger.log("languageChanged",d)):this.isLanguageChangingTo=void 0,a.resolve(function(){return r.t(...arguments)}),n&&n(c,function(){return r.t(...arguments)})},u=c=>{var p,g;!t&&!c&&this.services.languageDetector&&(c=[]);const d=tt(c)?c:this.services.languageUtils.getBestMatchFromCodes(c);d&&(this.language||o(d),this.translator.language||this.translator.changeLanguage(d),(g=(p=this.services.languageDetector)==null?void 0:p.cacheUserLanguage)==null||g.call(p,d)),this.loadResources(d,m=>{s(m,d)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?u(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(u):this.services.languageDetector.detect(u):u(t),a}getFixedT(t,n,r){var a=this;const o=function(s,u){let c;if(typeof u!="object"){for(var d=arguments.length,p=new Array(d>2?d-2:0),g=2;g`${c.keyPrefix}${m}${y}`):b=c.keyPrefix?`${c.keyPrefix}${m}${s}`:s,a.t(b,c)};return tt(t)?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){var a;for(var t=arguments.length,n=new Array(t),r=0;r1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],a=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(u,c)=>{const d=this.services.backendConnector.state[`${u}|${c}`];return d===-1||d===0||d===2};if(n.precheck){const u=n.precheck(this,s);if(u!==void 0)return u}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!a||s(o,t)))}loadNamespaces(t,n){const r=pu();return this.options.ns?(tt(t)&&(t=[t]),t.forEach(a=>{this.options.ns.indexOf(a)<0&&this.options.ns.push(a)}),this.loadResources(a=>{r.resolve(),n&&n(a)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=pu();tt(t)&&(t=[t]);const a=this.options.preload||[],o=t.filter(s=>a.indexOf(s)<0&&this.services.languageUtils.isSupportedCode(s));return o.length?(this.options.preload=a.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){var a,o;if(t||(t=this.resolvedLanguage||(((a=this.languages)==null?void 0:a.length)>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=((o=this.services)==null?void 0:o.languageUtils)||new Tz(_z());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new zu(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:$d;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const a={...this.options,...t,isClone:!0},o=new zu(a);if((t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(u=>{o[u]=this[u]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r){const u=Object.keys(this.store.data).reduce((c,d)=>(c[d]={...this.store.data[d]},Object.keys(c[d]).reduce((p,g)=>(p[g]={...c[d][g]},p),{})),{});o.store=new wz(u,a),o.services.resourceStore=o.store}return o.translator=new Hf(o.services,a),o.translator.on("*",function(u){for(var c=arguments.length,d=new Array(c>1?c-1:0),p=1;p