From 06426c2b05956b759ef01d0084f792241e9d54f4 Mon Sep 17 00:00:00 2001 From: Zain Hoda <7146154+zainhoda@users.noreply.github.com> Date: Wed, 24 Apr 2024 13:05:26 -0400 Subject: [PATCH 1/3] Modify the core prompt to generate intermediate SQL --- src/vanna/base/base.py | 108 +++++++++++++++++++++++++----------- src/vanna/flask/__init__.py | 2 +- 2 files changed, 76 insertions(+), 34 deletions(-) diff --git a/src/vanna/base/base.py b/src/vanna/base/base.py index eb1eca78..005b959c 100644 --- a/src/vanna/base/base.py +++ b/src/vanna/base/base.py @@ -73,11 +73,12 @@ def __init__(self, config=None): self.config = config self.run_sql_is_set = False self.static_documentation = "" + self.dialect = "SQL" def log(self, message: str): print(message) - def generate_sql(self, question: str, **kwargs) -> str: + def generate_sql(self, question: str, allow_llm_to_see_data=False, **kwargs) -> str: """ Example: ```python @@ -99,6 +100,7 @@ def generate_sql(self, question: str, **kwargs) -> str: Args: question (str): The question to generate a SQL query for. + allow_llm_to_see_data (bool): Whether to allow the LLM to see the data (for the purposes of introspecting the data to generate the final SQL). Returns: str: The SQL query that answers the question. @@ -121,31 +123,61 @@ def generate_sql(self, question: str, **kwargs) -> str: self.log(prompt) llm_response = self.submit_prompt(prompt, **kwargs) self.log(llm_response) - return self.extract_sql(llm_response) - def extract_sql(self, llm_response: str) -> str: - # If the llm_response contains a CTE (with clause), extract the sql bewteen WITH and ; - sql = re.search(r"WITH.*?;", llm_response, re.DOTALL) - if sql: - self.log(f"Output from LLM: {llm_response} \nExtracted SQL: {sql.group(0)}") - return sql.group(0) - # If the llm_response is not markdown formatted, extract sql by finding select and ; in the response - sql = re.search(r"SELECT.*?;", llm_response, re.DOTALL) - if sql: - self.log(f"Output from LLM: {llm_response} \nExtracted SQL: {sql.group(0)}" - ) - return sql.group(0) + if 'intermediate_sql' in llm_response: + if not allow_llm_to_see_data: + return "The LLM is not allowed to see the data in your database. Your question requires database introspection to generate the necessary SQL. Please set allow_llm_to_see_data=True to enable this." - # If the llm_response contains a markdown code block, with or without the sql tag, extract the sql from it - sql = re.search(r"```sql\n(.*)```", llm_response, re.DOTALL) - if sql: - self.log(f"Output from LLM: {llm_response} \nExtracted SQL: {sql.group(1)}") - return sql.group(1) + if allow_llm_to_see_data: + intermediate_sql = self.extract_sql(llm_response) - sql = re.search(r"```(.*)```", llm_response, re.DOTALL) - if sql: - self.log(f"Output from LLM: {llm_response} \nExtracted SQL: {sql.group(1)}") - return sql.group(1) + try: + df = self.run_sql(intermediate_sql) + + prompt = self.get_sql_prompt( + initial_prompt=initial_prompt, + question=question, + question_sql_list=question_sql_list, + ddl_list=ddl_list, + doc_list=doc_list+[f"The following is a pandas DataFrame with the results of the intermediate SQL query {intermediate_sql}: \n" + df.to_markdown()], + **kwargs, + ) + self.log(prompt) + llm_response = self.submit_prompt(prompt, **kwargs) + self.log(llm_response) + except Exception as e: + return f"Error running intermediate SQL: {e}" + + + return self.extract_sql(llm_response) + + def extract_sql(self, llm_response: str) -> str: + # If the llm_response contains a CTE (with clause), extract the last sql between WITH and ; + sqls = re.findall(r"WITH.*?;", llm_response, re.DOTALL) + if sqls: + sql = sqls[-1] + self.log(f"Output from LLM: {llm_response} \nExtracted SQL: {sql}") + return sql + + # If the llm_response is not markdown formatted, extract last sql by finding select and ; in the response + sqls = re.findall(r"SELECT.*?;", llm_response, re.DOTALL) + if sqls: + sql = sqls[-1] + self.log(f"Output from LLM: {llm_response} \nExtracted SQL: {sql}") + return sql + + # If the llm_response contains a markdown code block, with or without the sql tag, extract the last sql from it + sqls = re.findall(r"```sql\n(.*)```", llm_response, re.DOTALL) + if sqls: + sql = sqls[-1] + self.log(f"Output from LLM: {llm_response} \nExtracted SQL: {sql}") + return sql + + sqls = re.findall(r"```(.*)```", llm_response, re.DOTALL) + if sqls: + sql = sqls[-1] + self.log(f"Output from LLM: {llm_response} \nExtracted SQL: {sql}") + return sql return llm_response @@ -375,7 +407,7 @@ def add_ddl_to_prompt( self, initial_prompt: str, ddl_list: list[str], max_tokens: int = 14000 ) -> str: if len(ddl_list) > 0: - initial_prompt += "\nYou may use the following DDL statements as a reference for what tables might be available. Use responses to past questions also to guide you:\n\n" + initial_prompt += "\n===Tables \n" for ddl in ddl_list: if ( @@ -394,7 +426,7 @@ def add_documentation_to_prompt( max_tokens: int = 14000, ) -> str: if len(documentation_list) > 0: - initial_prompt += "\nYou may use the following documentation as a reference for what tables might be available. Use responses to past questions also to guide you:\n\n" + initial_prompt += "\n===Additional Context \n\n" for documentation in documentation_list: if ( @@ -410,7 +442,7 @@ def add_sql_to_prompt( self, initial_prompt: str, sql_list: list[str], max_tokens: int = 14000 ) -> str: if len(sql_list) > 0: - initial_prompt += "\nYou may use the following SQL statements as a reference for what tables might be available. Use responses to past questions also to guide you:\n\n" + initial_prompt += "\n===Question-SQL Pairs\n\n" for question in sql_list: if ( @@ -456,7 +488,8 @@ def get_sql_prompt( """ if initial_prompt is None: - initial_prompt = "The user provides a question and you provide SQL. You will only respond with SQL code and not with any explanations.\n\nRespond with only SQL code. Do not answer with any explanations -- just the code.\n" + initial_prompt = f"You are a {self.dialect} expert. " + "Please help to generate a SQL query to answer the question. Your response should ONLY be based on the given context and follow the response guidelines and format instructions. " initial_prompt = self.add_ddl_to_prompt( initial_prompt, ddl_list, max_tokens=14000 @@ -469,6 +502,15 @@ def get_sql_prompt( initial_prompt, doc_list, max_tokens=14000 ) + initial_prompt += ( + "===Response Guidelines \n" + "1. If the provided context is sufficient, please generate a valid SQL query without any explanations for the question. \n" + "2. If the provided context is almost sufficient but requires knowledge of a specific string in a particular column, please generate an intermediate SQL query to find the distinct strings in that column. Prepend the query with a comment saying intermediate_sql \n" + "3. If the provided context is insufficient, please explain why it can't be generated. \n" + "4. Please use the most relevant table(s). \n" + "5. If the question has been asked and answered before, please repeat the answer exactly as it was given before. \n" + ) + message_log = [self.system_message(initial_prompt)] for example in question_sql_list: @@ -676,7 +718,7 @@ def run_sql_snowflake(sql: str) -> pd.DataFrame: return df - self.static_documentation = "This is a Snowflake database" + self.dialect = "Snowflake SQL" self.run_sql = run_sql_snowflake self.run_sql_is_set = True @@ -710,7 +752,7 @@ def connect_to_sqlite(self, url: str): def run_sql_sqlite(sql: str): return pd.read_sql_query(sql, conn) - self.static_documentation = "This is a SQLite database" + self.dialect = "SQLite" self.run_sql = run_sql_sqlite self.run_sql_is_set = True @@ -815,7 +857,7 @@ def run_sql_postgres(sql: str) -> Union[pd.DataFrame, None]: conn.rollback() raise e - self.static_documentation = "This is a Postgres database" + self.dialect = "PostgreSQL" self.run_sql_is_set = True self.run_sql = run_sql_postgres @@ -1078,7 +1120,7 @@ def run_sql_bigquery(sql: str) -> Union[pd.DataFrame, None]: raise errors return None - self.static_documentation = "This is a BigQuery database" + self.dialect = "BigQuery SQL" self.run_sql_is_set = True self.run_sql = run_sql_bigquery @@ -1127,7 +1169,7 @@ def connect_to_duckdb(self, url: str, init_sql: str = None): def run_sql_duckdb(sql: str): return conn.query(sql).to_df() - self.static_documentation = "This is a DuckDB database" + self.dialect = "DuckDB SQL" self.run_sql = run_sql_duckdb self.run_sql_is_set = True @@ -1174,7 +1216,7 @@ def run_sql_mssql(sql: str): raise Exception("Couldn't run sql") - self.static_documentation = "This is a Microsoft SQL Server database" + self.dialect = "T-SQL / Microsoft SQL Server" self.run_sql = run_sql_mssql self.run_sql_is_set = True diff --git a/src/vanna/flask/__init__.py b/src/vanna/flask/__init__.py index 72efaaaf..cd0f2021 100644 --- a/src/vanna/flask/__init__.py +++ b/src/vanna/flask/__init__.py @@ -304,7 +304,7 @@ def generate_sql(user: any): return jsonify({"type": "error", "error": "No question provided"}) id = self.cache.generate_id(question=question) - sql = vn.generate_sql(question=question) + sql = vn.generate_sql(question=question, allow_llm_to_see_data=self.allow_llm_to_see_data) self.cache.set(id=id, field="question", value=question) self.cache.set(id=id, field="sql", value=sql) From bb6dcdbbff2bc88eefb730642f048bba833bf37d Mon Sep 17 00:00:00 2001 From: Zain Hoda <7146154+zainhoda@users.noreply.github.com> Date: Fri, 26 Apr 2024 13:04:33 -0400 Subject: [PATCH 2/3] add debugger --- pyproject.toml | 2 +- src/vanna/base/base.py | 101 ++++++++++++++++++++++++++++++------ src/vanna/flask/__init__.py | 52 ++++++++++++++++--- src/vanna/flask/assets.py | 32 ++++++------ 4 files changed, 145 insertions(+), 42 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 2383a7c2..dbd763c2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ classifiers = [ "Operating System :: OS Independent", ] dependencies = [ - "requests", "tabulate", "plotly", "pandas", "sqlparse", "kaleido", "flask", "sqlalchemy" + "requests", "tabulate", "plotly", "pandas", "sqlparse", "kaleido", "flask", "flask-sock", "sqlalchemy" ] [project.urls] diff --git a/src/vanna/base/base.py b/src/vanna/base/base.py index 005b959c..eefb4156 100644 --- a/src/vanna/base/base.py +++ b/src/vanna/base/base.py @@ -62,6 +62,7 @@ import plotly.express as px import plotly.graph_objects as go import requests +import sqlparse from ..exceptions import DependencyError, ImproperlyConfigured, ValidationError from ..types import TrainingPlan, TrainingPlanItem @@ -70,14 +71,24 @@ class VannaBase(ABC): def __init__(self, config=None): + if config is None: + config = {} + self.config = config self.run_sql_is_set = False self.static_documentation = "" - self.dialect = "SQL" + self.dialect = self.config.get("dialect", "SQL") + self.language = self.config.get("language", None) - def log(self, message: str): + def log(self, message: str, title: str = "Info"): print(message) + def _response_language(self) -> str: + if self.language is None: + return "" + + return f"Respond in the {self.language} language." + def generate_sql(self, question: str, allow_llm_to_see_data=False, **kwargs) -> str: """ Example: @@ -120,9 +131,9 @@ def generate_sql(self, question: str, allow_llm_to_see_data=False, **kwargs) -> doc_list=doc_list, **kwargs, ) - self.log(prompt) + self.log(title="SQL Prompt", message=prompt) llm_response = self.submit_prompt(prompt, **kwargs) - self.log(llm_response) + self.log(title="LLM Response", message=llm_response) if 'intermediate_sql' in llm_response: if not allow_llm_to_see_data: @@ -132,6 +143,7 @@ def generate_sql(self, question: str, allow_llm_to_see_data=False, **kwargs) -> intermediate_sql = self.extract_sql(llm_response) try: + self.log(title="Running Intermediate SQL", message=intermediate_sql) df = self.run_sql(intermediate_sql) prompt = self.get_sql_prompt( @@ -142,9 +154,9 @@ def generate_sql(self, question: str, allow_llm_to_see_data=False, **kwargs) -> doc_list=doc_list+[f"The following is a pandas DataFrame with the results of the intermediate SQL query {intermediate_sql}: \n" + df.to_markdown()], **kwargs, ) - self.log(prompt) + self.log(title="Final SQL Prompt", message=prompt) llm_response = self.submit_prompt(prompt, **kwargs) - self.log(llm_response) + self.log(title="LLM Response", message=llm_response) except Exception as e: return f"Error running intermediate SQL: {e}" @@ -152,43 +164,96 @@ def generate_sql(self, question: str, allow_llm_to_see_data=False, **kwargs) -> return self.extract_sql(llm_response) def extract_sql(self, llm_response: str) -> str: + """ + Example: + ```python + vn.extract_sql("Here's the SQL query in a code block: ```sql\nSELECT * FROM customers\n```") + ``` + + Extracts the SQL query from the LLM response. This is useful in case the LLM response contains other information besides the SQL query. + Override this function if your LLM responses need custom extraction logic. + + Args: + llm_response (str): The LLM response. + + Returns: + str: The extracted SQL query. + """ + # If the llm_response contains a CTE (with clause), extract the last sql between WITH and ; sqls = re.findall(r"WITH.*?;", llm_response, re.DOTALL) if sqls: sql = sqls[-1] - self.log(f"Output from LLM: {llm_response} \nExtracted SQL: {sql}") + self.log(title="Extracted SQL", message=f"{sql}") return sql # If the llm_response is not markdown formatted, extract last sql by finding select and ; in the response sqls = re.findall(r"SELECT.*?;", llm_response, re.DOTALL) if sqls: sql = sqls[-1] - self.log(f"Output from LLM: {llm_response} \nExtracted SQL: {sql}") + self.log(title="Extracted SQL", message=f"{sql}") return sql # If the llm_response contains a markdown code block, with or without the sql tag, extract the last sql from it sqls = re.findall(r"```sql\n(.*)```", llm_response, re.DOTALL) if sqls: sql = sqls[-1] - self.log(f"Output from LLM: {llm_response} \nExtracted SQL: {sql}") + self.log(title="Extracted SQL", message=f"{sql}") return sql sqls = re.findall(r"```(.*)```", llm_response, re.DOTALL) if sqls: sql = sqls[-1] - self.log(f"Output from LLM: {llm_response} \nExtracted SQL: {sql}") + self.log(title="Extracted SQL", message=f"{sql}") return sql return llm_response def is_sql_valid(self, sql: str) -> bool: - # This is a check to see the SQL is valid and should be run - # This simple function just checks if the SQL contains a SELECT statement + """ + Example: + ```python + vn.is_sql_valid("SELECT * FROM customers") + ``` + Checks if the SQL query is valid. This is usually used to check if we should run the SQL query or not. + By default it checks if the SQL query is a SELECT statement. You can override this method to enable running other types of SQL queries. + + Args: + sql (str): The SQL query to check. - if "SELECT" in sql.upper(): + Returns: + bool: True if the SQL query is valid, False otherwise. + """ + + parsed = sqlparse.parse(sql) + + for statement in parsed: + if statement.get_type() == 'SELECT': + return True + + return False + + def should_generate_chart(self, df: pd.DataFrame) -> bool: + """ + Example: + ```python + vn.should_generate_chart(df) + ``` + + Checks if a chart should be generated for the given DataFrame. By default, it checks if the DataFrame has more than one row and has numerical columns. + You can override this method to customize the logic for generating charts. + + Args: + df (pd.DataFrame): The DataFrame to check. + + Returns: + bool: True if a chart should be generated, False otherwise. + """ + + if len(df) > 1 and df.select_dtypes(include=['number']).shape[1] > 0: return True - else: - return False + + return False def generate_followup_questions( self, question: str, sql: str, df: pd.DataFrame, n_questions: int = 5, **kwargs @@ -216,7 +281,8 @@ def generate_followup_questions( f"You are a helpful data assistant. The user asked the question: '{question}'\n\nThe SQL query for this question was: {sql}\n\nThe following is a pandas DataFrame with the results of the query: \n{df.to_markdown()}\n\n" ), self.user_message( - f"Generate a list of {n_questions} followup questions that the user might ask about this data. Respond with a list of questions, one per line. Do not answer with any explanations -- just the questions. Remember that there should be an unambiguous SQL query that can be generated from the question. Prefer questions that are answerable outside of the context of this conversation. Prefer questions that are slight modifications of the SQL query that was generated that allow digging deeper into the data. Each question will be turned into a button that the user can click to generate a new SQL query so don't use 'example' type questions. Each question must have a one-to-one correspondence with an instantiated SQL query." + f"Generate a list of {n_questions} followup questions that the user might ask about this data. Respond with a list of questions, one per line. Do not answer with any explanations -- just the questions. Remember that there should be an unambiguous SQL query that can be generated from the question. Prefer questions that are answerable outside of the context of this conversation. Prefer questions that are slight modifications of the SQL query that was generated that allow digging deeper into the data. Each question will be turned into a button that the user can click to generate a new SQL query so don't use 'example' type questions. Each question must have a one-to-one correspondence with an instantiated SQL query." + + self._response_language() ), ] @@ -260,7 +326,8 @@ def generate_summary(self, question: str, df: pd.DataFrame, **kwargs) -> str: f"You are a helpful data assistant. The user asked the question: '{question}'\n\nThe following is a pandas DataFrame with the results of the query: \n{df.to_markdown()}\n\n" ), self.user_message( - "Briefly summarize the data based on the question that was asked. Do not respond with any additional explanation beyond the summary." + "Briefly summarize the data based on the question that was asked. Do not respond with any additional explanation beyond the summary." + + self._response_language() ), ] diff --git a/src/vanna/flask/__init__.py b/src/vanna/flask/__init__.py index cd0f2021..b82c3429 100644 --- a/src/vanna/flask/__init__.py +++ b/src/vanna/flask/__init__.py @@ -1,3 +1,4 @@ +import json import logging import uuid from abc import ABC, abstractmethod @@ -6,6 +7,7 @@ import flask import requests from flask import Flask, Response, jsonify, request +from flask_sock import Sock from .assets import css_content, html_content, js_content from .auth import AuthInterface, NoAuth @@ -133,6 +135,7 @@ def decorated(*args, **kwargs): def __init__(self, vn, cache: Cache = MemoryCache(), auth: AuthInterface = NoAuth(), + debug=True, allow_llm_to_see_data=False, logo="https://img.vanna.ai/vanna-flask.svg", title="Welcome to Vanna.AI", @@ -156,6 +159,7 @@ def __init__(self, vn, cache: Cache = MemoryCache(), vn: The Vanna instance to interact with. cache: The cache to use. Defaults to MemoryCache, which uses an in-memory cache. You can also pass in a custom cache that implements the Cache interface. auth: The authentication method to use. Defaults to NoAuth, which doesn't require authentication. You can also pass in a custom authentication method that implements the AuthInterface interface. + debug: Show the debug console. Defaults to True. allow_llm_to_see_data: Whether to allow the LLM to see data. Defaults to False. logo: The logo to display in the UI. Defaults to the Vanna logo. title: The title to display in the UI. Defaults to "Welcome to Vanna.AI". @@ -176,7 +180,10 @@ def __init__(self, vn, cache: Cache = MemoryCache(), None """ self.flask_app = Flask(__name__) + self.sock = Sock(self.flask_app) + self.ws_clients = [] self.vn = vn + self.debug = debug self.auth = auth self.cache = cache self.allow_llm_to_see_data = allow_llm_to_see_data @@ -198,6 +205,12 @@ def __init__(self, vn, cache: Cache = MemoryCache(), log = logging.getLogger("werkzeug") log.setLevel(logging.ERROR) + if self.debug: + def log(message, title="Info"): + [ws.send(json.dumps({'message': message, 'title': title})) for ws in self.ws_clients] + + self.vn.log = log + @self.flask_app.route("/auth/login", methods=["POST"]) def login(): return self.auth.login_handler(flask.request) @@ -214,6 +227,7 @@ def logout(): @self.requires_auth def get_config(user: any): config = { + "debug": self.debug, "logo": self.logo, "title": self.title, "subtitle": self.subtitle, @@ -309,13 +323,22 @@ def generate_sql(user: any): self.cache.set(id=id, field="question", value=question) self.cache.set(id=id, field="sql", value=sql) - return jsonify( - { - "type": "sql", - "id": id, - "text": sql, - } - ) + if vn.is_sql_valid(sql=sql): + return jsonify( + { + "type": "sql", + "id": id, + "text": sql, + } + ) + else: + return jsonify( + { + "type": "text", + "id": id, + "text": sql, + } + ) @self.flask_app.route("/api/v0/run_sql", methods=["GET"]) @self.requires_auth @@ -339,6 +362,7 @@ def run_sql(user: any, id: str, sql: str): "type": "df", "id": id, "df": df.head(10).to_json(orient='records', date_format='iso'), + "should_generate_chart": self.chart and vn.should_generate_chart(df), } ) @@ -619,6 +643,18 @@ def proxy_vanna_svg(): else: return "Error fetching file from remote server", response.status_code + if self.debug: + @self.sock.route("/api/v0/log") + def sock_log(ws): + self.ws_clients.append(ws) + + try: + while True: + message = ws.receive() # This example just reads and ignores to keep the socket open + finally: + self.ws_clients.remove(ws) + + @self.flask_app.route("/", defaults={"path": ""}) @self.flask_app.route("/") def hello(path: str): @@ -651,4 +687,4 @@ def run(self, *args, **kwargs): print("Your app is running at:") print("http://localhost:8084") - self.flask_app.run(host="0.0.0.0", port=8084, debug=False) + self.flask_app.run(host="0.0.0.0", port=8084, debug=self.debug) diff --git a/src/vanna/flask/assets.py b/src/vanna/flask/assets.py index b3c6e191..91cc7391 100644 --- a/src/vanna/flask/assets.py +++ b/src/vanna/flask/assets.py @@ -7,8 +7,8 @@ Vanna.AI - - + +
@@ -17,22 +17,22 @@ ''' -css_content = '''.nav-title{font-family:Roboto Slab,serif}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;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";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-px{left:1px;right:1px}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-px{bottom:1px}.end-0{inset-inline-end:0px}.left-0{left:0}.top-0{top:0}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.-m-1{margin:-.25rem}.-m-1\.5{margin:-.375rem}.m-3{margin:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-auto{margin-bottom:auto}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-3{margin-right:.75rem}.ms-3{margin-inline-start:.75rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[2\.375rem\]{height:2.375rem}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.min-h-\[15rem\]{min-height:15rem}.min-h-\[calc\(100\%-3\.5rem\)\]{min-height:calc(100% - 3.5rem)}.w-0{width:0px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-\[2\.375rem\]{width:2.375rem}.w-\[3\.25rem\]{width:3.25rem}.w-full{width:100%}.w-px{width:1px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-\[50rem\]{max-width:50rem}.max-w-\[85rem\]{max-width:85rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-4{row-gap:1rem}.-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.whitespace-break-spaces{white-space:break-spaces}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[3px\]{border-width:3px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.border-current{border-color:currentColor}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity))}.border-t-transparent{border-top-color:transparent}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity))}.bg-opacity-50{--tw-bg-opacity: .5}.bg-opacity-80{--tw-bg-opacity: .8}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-12{padding-bottom:3rem}.pe-3{padding-inline-end:.75rem}.pl-7{padding-left:1.75rem}.pr-4{padding-right:1rem}.pr-9{padding-right:2.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-7xl{font-size:4.5rem;line-height:1}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity))}.decoration-2{text-decoration-thickness:2px}.opacity-0{opacity:0}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-slate-700{--tw-shadow-color: #334155;--tw-shadow: var(--tw-shadow-colored)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-transparent{--tw-ring-color: transparent}.ring-offset-white{--tw-ring-offset-color: #fff}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.before\:inline-block:before{content:var(--tw-content);display:inline-block}.before\:h-6:before{content:var(--tw-content);height:1.5rem}.before\:w-6:before{content:var(--tw-content);width:1.5rem}.before\:translate-x-0:before{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\:transform:before{content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:bg-white:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.before\:shadow:before{content:var(--tw-content);--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.before\:ring-0:before{content:var(--tw-content);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.before\:transition:before{content:var(--tw-content);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.before\:duration-200:before{content:var(--tw-content);transition-duration:.2s}.before\:ease-in-out:before{content:var(--tw-content);transition-timing-function:cubic-bezier(.4,0,.2,1)}.first\:mt-0:first-child{margin-top:0}.first\:rounded-t-lg:first-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.last\:rounded-b-lg:last-child{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.checked\:bg-blue-600:checked{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.checked\:bg-none:checked{background-image:none}.checked\:before\:translate-x-full:checked:before{content:var(--tw-content);--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.checked\:before\:bg-blue-200:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity))}.hover\:border-green-500:hover{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.hover\:border-red-500:hover{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:bg-green-500:hover{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity))}.hover\:text-gray-400:hover{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.focus\:border-blue-600:focus{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity))}.focus\:ring-blue-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity))}.focus\:ring-gray-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(187 247 208 / var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity))}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-offset-white:focus{--tw-ring-offset-color: #fff}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.open.hs-overlay-open\:mt-7{margin-top:1.75rem}.open.hs-overlay-open\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.open.hs-overlay-open\:opacity-100{opacity:1}.open.hs-overlay-open\:duration-500{transition-duration:.5s}.open .hs-overlay-open\:mt-7{margin-top:1.75rem}.open .hs-overlay-open\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.open .hs-overlay-open\:opacity-100{opacity:1}.open .hs-overlay-open\:duration-500{transition-duration:.5s}@media (prefers-color-scheme: dark){.dark\:divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(55 65 81 / var(--tw-divide-opacity))}.dark\:border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.dark\:border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.dark\:border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.dark\:bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.dark\:bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.dark\:bg-opacity-80{--tw-bg-opacity: .8}.dark\:text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.dark\:text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.dark\:text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.dark\:text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\:text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.dark\:text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.dark\:placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.dark\:shadow-slate-700\/\[\.7\]{--tw-shadow-color: rgb(51 65 85 / .7);--tw-shadow: var(--tw-shadow-colored)}.dark\:before\:bg-gray-400:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.dark\:checked\:border-blue-500:checked{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.dark\:checked\:bg-blue-500:checked{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.dark\:checked\:bg-blue-600:checked{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.dark\:checked\:before\:bg-blue-200:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity))}.dark\:hover\:border-blue-400:hover{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity))}.dark\:hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.dark\:hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.dark\:hover\:text-blue-400:hover{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.dark\:hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.dark\:hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.dark\:hover\:text-slate-300:hover{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.dark\:hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.dark\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.dark\:focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.dark\:focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity))}.dark\:focus\:ring-gray-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}.dark\:focus\:ring-gray-700:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity))}.dark\:focus\:ring-red-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(220 38 38 / var(--tw-ring-opacity))}.dark\:focus\:ring-offset-gray-800:focus{--tw-ring-offset-color: #1f2937}}@media (min-width: 640px){.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:mb-3{margin-bottom:.75rem}.sm\:mt-10{margin-top:2.5rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:flex-row{flex-direction:row}.sm\:gap-3{gap:.75rem}.sm\:gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.sm\:p-4{padding:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-9xl{font-size:8rem;line-height:1}}@media (min-width: 768px){.md\:flex{display:flex}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:p-10{padding:2.5rem}.md\:p-5{padding:1.25rem}}@media (min-width: 1024px){.lg\:bottom-0{bottom:0}.lg\:right-auto{right:auto}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.lg\:pl-64{padding-left:16rem}} +css_content = '''.nav-title{font-family:Roboto Slab,serif}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;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";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-px{left:1px;right:1px}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-px{bottom:1px}.end-0{inset-inline-end:0px}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[80\]{z-index:80}.-m-1{margin:-.25rem}.-m-1\.5{margin:-.375rem}.m-1{margin:.25rem}.m-3{margin:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-auto{margin-bottom:auto}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-3{margin-right:.75rem}.ms-0{margin-inline-start:0px}.ms-3{margin-inline-start:.75rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[2\.375rem\]{height:2.375rem}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.min-h-\[15rem\]{min-height:15rem}.min-h-\[calc\(100\%-3\.5rem\)\]{min-height:calc(100% - 3.5rem)}.w-0{width:0px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-\[2\.375rem\]{width:2.375rem}.w-\[3\.25rem\]{width:3.25rem}.w-full{width:100%}.w-px{width:1px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-\[50rem\]{max-width:50rem}.max-w-\[85rem\]{max-width:85rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-4{row-gap:1rem}.-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.whitespace-break-spaces{white-space:break-spaces}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[3px\]{border-width:3px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.border-current{border-color:currentColor}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity))}.border-neutral-700{--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity))}.border-t-transparent{border-top-color:transparent}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-neutral-800{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity))}.bg-opacity-50{--tw-bg-opacity: .5}.bg-opacity-80{--tw-bg-opacity: .8}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-12{padding-bottom:3rem}.pe-3{padding-inline-end:.75rem}.pl-7{padding-left:1.75rem}.pr-4{padding-right:1rem}.pr-9{padding-right:2.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-7xl{font-size:4.5rem;line-height:1}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-neutral-400{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity))}.decoration-2{text-decoration-thickness:2px}.opacity-0{opacity:0}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-slate-700{--tw-shadow-color: #334155;--tw-shadow: var(--tw-shadow-colored)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-transparent{--tw-ring-color: transparent}.ring-offset-white{--tw-ring-offset-color: #fff}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[--body-scroll\:true\]{--body-scroll: true}.before\:inline-block:before{content:var(--tw-content);display:inline-block}.before\:h-6:before{content:var(--tw-content);height:1.5rem}.before\:w-6:before{content:var(--tw-content);width:1.5rem}.before\:translate-x-0:before{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\:transform:before{content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:bg-white:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.before\:shadow:before{content:var(--tw-content);--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.before\:ring-0:before{content:var(--tw-content);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.before\:transition:before{content:var(--tw-content);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.before\:duration-200:before{content:var(--tw-content);transition-duration:.2s}.before\:ease-in-out:before{content:var(--tw-content);transition-timing-function:cubic-bezier(.4,0,.2,1)}.first\:mt-0:first-child{margin-top:0}.first\:rounded-t-lg:first-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.last\:rounded-b-lg:last-child{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.checked\:bg-blue-600:checked{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.checked\:bg-none:checked{background-image:none}.checked\:before\:translate-x-full:checked:before{content:var(--tw-content);--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.checked\:before\:bg-blue-200:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity))}.hover\:border-green-500:hover{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.hover\:border-red-500:hover{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:bg-green-500:hover{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity))}.hover\:text-gray-400:hover{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.focus\:border-blue-600:focus{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity))}.focus\:ring-blue-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity))}.focus\:ring-gray-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(187 247 208 / var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity))}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-offset-white:focus{--tw-ring-offset-color: #fff}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.open.hs-overlay-open\:mt-7{margin-top:1.75rem}.open.hs-overlay-open\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.open.hs-overlay-open\:opacity-100{opacity:1}.open.hs-overlay-open\:duration-500{transition-duration:.5s}.open .hs-overlay-open\:mt-7{margin-top:1.75rem}.open .hs-overlay-open\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.open .hs-overlay-open\:opacity-100{opacity:1}.open .hs-overlay-open\:duration-500{transition-duration:.5s}@media (prefers-color-scheme: dark){.dark\:divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(55 65 81 / var(--tw-divide-opacity))}.dark\:border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.dark\:border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.dark\:border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.dark\:border-neutral-700{--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity))}.dark\:bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:bg-neutral-800{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.dark\:bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.dark\:bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.dark\:bg-opacity-80{--tw-bg-opacity: .8}.dark\:text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.dark\:text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.dark\:text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.dark\:text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\:text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.dark\:text-neutral-400{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity))}.dark\:text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.dark\:placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.dark\:shadow-slate-700\/\[\.7\]{--tw-shadow-color: rgb(51 65 85 / .7);--tw-shadow: var(--tw-shadow-colored)}.dark\:before\:bg-gray-400:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.dark\:checked\:border-blue-500:checked{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.dark\:checked\:bg-blue-500:checked{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.dark\:checked\:bg-blue-600:checked{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.dark\:checked\:before\:bg-blue-200:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity))}.dark\:hover\:border-blue-400:hover{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity))}.dark\:hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.dark\:hover\:bg-neutral-700:hover{--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity))}.dark\:hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.dark\:hover\:text-blue-400:hover{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.dark\:hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.dark\:hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.dark\:hover\:text-slate-300:hover{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.dark\:hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.dark\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.dark\:focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.dark\:focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity))}.dark\:focus\:ring-gray-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}.dark\:focus\:ring-gray-700:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity))}.dark\:focus\:ring-red-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(220 38 38 / var(--tw-ring-opacity))}.dark\:focus\:ring-offset-gray-800:focus{--tw-ring-offset-color: #1f2937}}@media (min-width: 640px){.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:mb-3{margin-bottom:.75rem}.sm\:mt-10{margin-top:2.5rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:flex-row{flex-direction:row}.sm\:gap-3{gap:.75rem}.sm\:gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.sm\:p-4{padding:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-9xl{font-size:8rem;line-height:1}}@media (min-width: 768px){.md\:flex{display:flex}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:p-10{padding:2.5rem}.md\:p-5{padding:1.25rem}}@media (min-width: 1024px){.lg\:bottom-0{bottom:0}.lg\:right-auto{right:auto}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.lg\:pl-64{padding-left:16rem}} ''' -js_content = '''var Yr=Object.defineProperty;var Kr=(o,e,n)=>e in o?Yr(o,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[e]=n;var _n=(o,e,n)=>(Kr(o,typeof e!="symbol"?e+"":e,n),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))t(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&t(s)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function t(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();function K(){}function Xr(o,e){for(const n in e)o[n]=e[n];return o}function Ar(o){return o()}function Gn(){return Object.create(null)}function gt(o){o.forEach(Ar)}function Dt(o){return typeof o=="function"}function ye(o,e){return o!=o?e==e:o!==e||o&&typeof o=="object"||typeof o=="function"}let en;function Zn(o,e){return o===e?!0:(en||(en=document.createElement("a")),en.href=e,o===en.href)}function eo(o){return Object.keys(o).length===0}function Mr(o,...e){if(o==null){for(const t of e)t(void 0);return K}const n=o.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function pt(o){let e;return Mr(o,n=>e=n)(),e}function et(o,e,n){o.$$.on_destroy.push(Mr(e,n))}function on(o,e,n,t){if(o){const r=Dr(o,e,n,t);return o[0](r)}}function Dr(o,e,n,t){return o[1]&&t?Xr(n.ctx.slice(),o[1](t(e))):n.ctx}function sn(o,e,n,t){if(o[2]&&t){const r=o[2](t(n));if(e.dirty===void 0)return r;if(typeof r=="object"){const i=[],s=Math.max(e.dirty.length,r.length);for(let l=0;l32){const e=[],n=o.ctx.length/32;for(let t=0;to.removeEventListener(e,n,t)}function p(o,e,n){n==null?o.removeAttribute(e):o.getAttribute(e)!==n&&o.setAttribute(e,n)}function to(o){let e;return{p(...n){e=n,e.forEach(t=>o.push(t))},r(){e.forEach(n=>o.splice(o.indexOf(n),1))}}}function no(o){return Array.from(o.childNodes)}function De(o,e){e=""+e,o.data!==e&&(o.data=e)}function mt(o,e){o.value=e??""}function tn(o,e,n,t){n==null?o.style.removeProperty(e):o.style.setProperty(e,n,t?"important":"")}let Qt;function Zt(o){Qt=o}function ro(){if(!Qt)throw new Error("Function called outside component initialization");return Qt}function Rr(o){ro().$$.on_mount.push(o)}const Mt=[],$n=[];let Rt=[];const kn=[],oo=Promise.resolve();let xn=!1;function io(){xn||(xn=!0,oo.then(Hr))}function Sn(o){Rt.push(o)}function so(o){kn.push(o)}const wn=new Set;let qt=0;function Hr(){if(qt!==0)return;const o=Qt;do{try{for(;qto.indexOf(t)===-1?e.push(t):n.push(t)),n.forEach(t=>t()),Rt=e}const nn=new Set;let St;function Oe(){St={r:0,c:[],p:St}}function Ce(){St.r||gt(St.c),St=St.p}function E(o,e){o&&o.i&&(nn.delete(o),o.i(e))}function q(o,e,n,t){if(o&&o.o){if(nn.has(o))return;nn.add(o),St.c.push(()=>{nn.delete(o),t&&(n&&o.d(1),t())}),o.o(e)}else t&&t()}function Le(o){return(o==null?void 0:o.length)!==void 0?o:Array.from(o)}function co(o,e,n){const t=o.$$.props[e];t!==void 0&&(o.$$.bound[t]=n,n(o.$$.ctx[t]))}function Q(o){o&&o.c()}function G(o,e,n){const{fragment:t,after_update:r}=o.$$;t&&t.m(e,n),Sn(()=>{const i=o.$$.on_mount.map(Ar).filter(Dt);o.$$.on_destroy?o.$$.on_destroy.push(...i):gt(i),o.$$.on_mount=[]}),r.forEach(Sn)}function Z(o,e){const n=o.$$;n.fragment!==null&&(ao(n.after_update),gt(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function uo(o,e){o.$$.dirty[0]===-1&&(Mt.push(o),io(),o.$$.dirty.fill(0)),o.$$.dirty[e/31|0]|=1<{const A=k.length?k[0]:$;return a.ctx&&r(a.ctx[h],a.ctx[h]=A)&&(!a.skip_bound&&a.bound[h]&&a.bound[h](A),m&&uo(o,h)),$}):[],a.update(),m=!0,gt(a.before_update),a.fragment=t?t(a.ctx):!1,e.target){if(e.hydrate){const h=no(e.target);a.fragment&&a.fragment.l(h),h.forEach(B)}else a.fragment&&a.fragment.c();e.intro&&E(o.$$.fragment),G(o,e.target,e.anchor),Hr()}Zt(c)}class we{constructor(){_n(this,"$$");_n(this,"$$set")}$destroy(){Z(this,1),this.$destroy=K}$on(e,n){if(!Dt(n))return K;const t=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return t.push(n),()=>{const r=t.indexOf(n);r!==-1&&t.splice(r,1)}}$set(e){this.$$set&&!eo(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const fo="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(fo);const At=[];function rt(o,e=K){let n;const t=new Set;function r(l){if(ye(o,l)&&(o=l,n)){const c=!At.length;for(const a of t)a[1](),At.push(a,o);if(c){for(let a=0;a{t.delete(a),t.size===0&&n&&(n(),n=null)}}return{set:r,update:i,subscribe:s}}let Ht=rt(""),Bt=rt([]),On=rt(null),cn=rt(null),un=rt(!1),Ut=rt(!1),wt=rt("chat"),Cn=rt([]),Wt=rt(""),Br=rt(!1),Ot=rt({logo:"",title:"Welcome to Vanna.AI",subtitle:"Loading...",show_training_data:!0,suggested_questions:!0,sql:!0,table:!0,csv_download:!0,chart:!0,redraw_chart:!0,auto_fix_sql:!0,ask_results_correct:!0,followup_questions:!0,summarization:!0}),fn=rt(null);function dn(){Bt.set([]),un.set(!1),Ut.set(!1)}async function Ln(o){dn();let e=pt(Ot);ue({type:"user_question",question:o}),un.set(!0);const n=await xe("generate_sql","GET",{question:o});if(ue(n),n.type!=="sql")return;window.location.hash=n.id,Ht.set(n.id),Wt.set(n.text);const t=await xe("run_sql","GET",{id:n.id});if(ue(t),t.type!=="df")return;const r=await xe("generate_plotly_figure","GET",{id:t.id});if(ue(r),r.type==="plotly_figure"){if(Cn.update(i=>[...i,{question:o,id:r.id}]),e.summarization){const i=await xe("generate_summary","GET",{id:r.id});ue(i)}ue({type:"feedback_question"}),ue({type:"feedback_buttons"})}}async function po(o){let e=pt(Ot);if(ue(o),o.type!=="sql")return;window.location.hash=o.id,Ht.set(o.id),Wt.set(o.text);const n=await xe("run_sql","GET",{id:o.id});if(ue(n),n.type!=="df")return;const t=await xe("generate_plotly_figure","GET",{id:n.id});if(ue(t),t.type==="plotly_figure"){if(e.summarization){const r=await xe("generate_summary","GET",{id:t.id});ue(r)}ue({type:"feedback_question"}),ue({type:"feedback_buttons"})}}function mo(o){ue({type:"user_question",question:"Re-run the SQL"}),xe("run_sql","GET",{id:o}).then(ue).then(e=>{e.type==="df"&&xe("generate_plotly_figure","GET",{id:e.id}).then(ue).then(n=>{n.type==="plotly_figure"&&xe("generate_followup_questions","GET",{id:n.id}).then(ue)})})}function go(){xe("get_question_history","GET",[]).then(wo)}function ho(){xe("get_config","GET",[]).then(_o)}function Ir(){window.location.hash="training-data",wt.set("training-data"),xe("get_training_data","GET",[]).then(rn)}function Nr(){window.location.hash="",wt.set("chat"),dn(),pt(On)===null&&xe("generate_questions","GET",[]).then(vo)}function yo(o){window.location.hash=o,wt.set("chat"),dn(),un.set(!0),xe("load_question","GET",{id:o}).then(ue)}function bo(o){cn.set(null),xe("remove_training_data","POST",{id:o}).then(e=>{xe("get_training_data","GET",[]).then(rn)})}function ue(o){return o.type==="not_logged_in"?(fn.set(o.html),wt.set("login"),o):(Bt.update(e=>[...e,o]),ko(),o)}function rn(o){return cn.set(o),o.type==="df"?JSON.parse(o.df).length===0&&wt.set("no-training-data"):o.type==="not_logged_in"&&(fn.set(o.html),wt.set("login")),o}function vo(o){return On.set(o),o}function _o(o){return o.type==="config"?Ot.set(o.config):o.type==="not_logged_in"&&(fn.set(o.html),wt.set("login")),o}function wo(o){return o.type==="question_history"&&Cn.set(o.questions),o}function $o(o,e){cn.set(null);let n={};n[e]=o,xe("train","POST",n).then(rn).then(t=>{t.type!=="error"&&xe("get_training_data","GET",[]).then(rn)})}async function xe(o,e,n){try{Ut.set(!0);let t="",r;if(e==="GET")t=Object.entries(n).filter(([s,l])=>s!=="endpoint"&&s!=="addMessage").map(([s,l])=>`${encodeURIComponent(s)}=${encodeURIComponent(l)}`).join("&"),r=await fetch(`/api/v0/${o}?${t}`);else{let s=JSON.stringify(n);r=await fetch(`/api/v0/${o}`,{method:"POST",headers:{"Content-Type":"application/json"},body:s})}if(!r.ok)throw new Error("The server returned an error. See the server logs for more details.");const i=await r.json();return Ut.set(!1),i}catch(t){return Ut.set(!1),{type:"error",error:String(t)}}}function ko(){setTimeout(()=>{window.scrollTo({top:document.body.scrollHeight,behavior:"smooth"})},100)}function xo(){let o=pt(Bt),e=o.find(n=>n.type==="user_question");if(e&&e.type==="user_question"){let n=o.findLast(t=>t.type==="sql");if(n&&n.type==="sql")return{question:e.question,sql:n.text}}return null}function pn(o){Bt.update(e=>e.filter(n=>n.type!==o))}function So(o){xe("fix_sql","POST",{id:pt(Ht),error:o}).then(po)}function Oo(o){let n=pt(Bt).find(t=>t.type==="user_question");n&&n.type==="user_question"&&(xe("update_sql","POST",{id:pt(Ht),sql:o}).then(ue).then(t=>{t.type==="sql"&&(Wt.set(t.text),xe("run_sql","GET",{id:t.id}).then(ue).then(r=>{r.type==="df"?JSON.parse(r.df).length>1?xe("generate_plotly_figure","GET",{id:r.id}).then(ue).then(s=>{ue({type:"feedback_question"}),ue({type:"feedback_buttons"})}):(ue({type:"feedback_question"}),ue({type:"feedback_buttons"})):(ue({type:"feedback_question"}),ue({type:"feedback_buttons"}))}))}),pn("user_sql"))}function Co(){ue({type:"chart_modification"})}function Lo(){pn("feedback_buttons"),ue({type:"feedback_correct"});let o=xo();o&&(xe("train","POST",o),xe("generate_followup_questions","GET",{id:pt(Ht)}).then(ue))}function Un(){pn("feedback_buttons"),ue({type:"feedback_incorrect"}),ue({type:"user_sql"})}function Eo(o){pn("chart_modification"),ue({type:"user_question",question:"Update the chart with these instructions: "+o}),xe("generate_plotly_figure","GET",{id:pt(Ht),chart_instructions:o}).then(ue)}function Qn(o,e,n){const t=o.slice();return t[3]=e[n],t}function Wn(o){let e,n,t,r;return{c(){e=L("li"),n=L("button"),n.innerHTML=` - Training Data`,p(n,"class","flex items-center gap-x-3 py-2 px-3 text-sm text-slate-700 rounded-md hover:bg-gray-100 dark:hover:bg-gray-900 dark:text-slate-400 dark:hover:text-slate-300 border-t border-b border-gray-200 dark:border-gray-700 w-full")},m(i,s){I(i,e,s),v(e,n),t||(r=Te(n,"click",Ir),t=!0)},d(i){i&&B(e),t=!1,r()}}}function Fn(o){let e,n,t,r,i,s=o[3].question+"",l,c,a,m;function h(){return o[2](o[3])}return{c(){e=L("li"),n=L("button"),t=Xe("svg"),r=Xe("path"),i=F(),l=pe(s),c=F(),p(r,"stroke-linecap","round"),p(r,"stroke-linejoin","round"),p(r,"d","M7.5 8.25h9m-9 3H12m-9.75 1.51c0 1.6 1.123 2.994 2.707 3.227 1.129.166 2.27.293 3.423.379.35.026.67.21.865.501L12 21l2.755-4.133a1.14 1.14 0 01.865-.501 48.172 48.172 0 003.423-.379c1.584-.233 2.707-1.626 2.707-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0012 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018z"),p(t,"class","w-3.5 h-3.5"),p(t,"fill","none"),p(t,"stroke","currentColor"),p(t,"stroke-width","1.5"),p(t,"viewBox","0 0 24 24"),p(t,"xmlns","http://www.w3.org/2000/svg"),p(t,"aria-hidden","true"),p(n,"class","flex items-center text-left gap-x-3 py-2 px-3 text-sm text-slate-700 rounded-md hover:bg-gray-100 dark:hover:bg-gray-900 dark:text-slate-400 dark:hover:text-slate-300")},m($,k){I($,e,k),v(e,n),v(n,t),v(t,r),v(n,i),v(n,l),v(e,c),a||(m=Te(n,"click",h),a=!0)},p($,k){o=$,k&2&&s!==(s=o[3].question+"")&&De(l,s)},d($){$&&B(e),a=!1,m()}}}function To(o){let e,n,t,r,i,s,l,c,a,m,h,$,k,A,j,b,d,g,w=o[0].show_training_data&&Wn(),D=Le(o[1]),M=[];for(let O=0;O Sidebar',c=F(),a=L("div"),m=L("ul"),w&&w.c(),h=F(),$=L("li"),k=L("button"),k.innerHTML=` - New question`,A=F();for(let O=0;O

+js_content = '''var Kr=Object.defineProperty;var Xr=(o,e,n)=>e in o?Kr(o,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[e]=n;var _n=(o,e,n)=>(Xr(o,typeof e!="symbol"?e+"":e,n),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))t(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&t(s)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function t(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();function Y(){}function eo(o,e){for(const n in e)o[n]=e[n];return o}function Mr(o){return o()}function Gn(){return Object.create(null)}function mt(o){o.forEach(Mr)}function Dt(o){return typeof o=="function"}function he(o,e){return o!=o?e==e:o!==e||o&&typeof o=="object"||typeof o=="function"}let en;function Zn(o,e){return o===e?!0:(en||(en=document.createElement("a")),en.href=e,o===en.href)}function to(o){return Object.keys(o).length===0}function Dr(o,...e){if(o==null){for(const t of e)t(void 0);return Y}const n=o.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function pt(o){let e;return Dr(o,n=>e=n)(),e}function et(o,e,n){o.$$.on_destroy.push(Dr(e,n))}function on(o,e,n,t){if(o){const r=Rr(o,e,n,t);return o[0](r)}}function Rr(o,e,n,t){return o[1]&&t?eo(n.ctx.slice(),o[1](t(e))):n.ctx}function sn(o,e,n,t){if(o[2]&&t){const r=o[2](t(n));if(e.dirty===void 0)return r;if(typeof r=="object"){const i=[],s=Math.max(e.dirty.length,r.length);for(let l=0;l32){const e=[],n=o.ctx.length/32;for(let t=0;to.removeEventListener(e,n,t)}function d(o,e,n){n==null?o.removeAttribute(e):o.getAttribute(e)!==n&&o.setAttribute(e,n)}function no(o){let e;return{p(...n){e=n,e.forEach(t=>o.push(t))},r(){e.forEach(n=>o.splice(o.indexOf(n),1))}}}function ro(o){return Array.from(o.childNodes)}function De(o,e){e=""+e,o.data!==e&&(o.data=e)}function gt(o,e){o.value=e??""}function tn(o,e,n,t){n==null?o.style.removeProperty(e):o.style.setProperty(e,n,t?"important":"")}let Wt;function Zt(o){Wt=o}function oo(){if(!Wt)throw new Error("Function called outside component initialization");return Wt}function Hr(o){oo().$$.on_mount.push(o)}const Mt=[],$n=[];let Rt=[];const kn=[],io=Promise.resolve();let xn=!1;function so(){xn||(xn=!0,io.then(Br))}function Sn(o){Rt.push(o)}function lo(o){kn.push(o)}const wn=new Set;let qt=0;function Br(){if(qt!==0)return;const o=Wt;do{try{for(;qto.indexOf(t)===-1?e.push(t):n.push(t)),n.forEach(t=>t()),Rt=e}const nn=new Set;let St;function Se(){St={r:0,c:[],p:St}}function Oe(){St.r||mt(St.c),St=St.p}function L(o,e){o&&o.i&&(nn.delete(o),o.i(e))}function A(o,e,n,t){if(o&&o.o){if(nn.has(o))return;nn.add(o),St.c.push(()=>{nn.delete(o),t&&(n&&o.d(1),t())}),o.o(e)}else t&&t()}function Le(o){return(o==null?void 0:o.length)!==void 0?o:Array.from(o)}function uo(o,e,n){const t=o.$$.props[e];t!==void 0&&(o.$$.bound[t]=n,n(o.$$.ctx[t]))}function U(o){o&&o.c()}function G(o,e,n){const{fragment:t,after_update:r}=o.$$;t&&t.m(e,n),Sn(()=>{const i=o.$$.on_mount.map(Mr).filter(Dt);o.$$.on_destroy?o.$$.on_destroy.push(...i):mt(i),o.$$.on_mount=[]}),r.forEach(Sn)}function Z(o,e){const n=o.$$;n.fragment!==null&&(co(n.after_update),mt(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function fo(o,e){o.$$.dirty[0]===-1&&(Mt.push(o),so(),o.$$.dirty.fill(0)),o.$$.dirty[e/31|0]|=1<{const q=k.length?k[0]:x;return a.ctx&&r(a.ctx[h],a.ctx[h]=q)&&(!a.skip_bound&&a.bound[h]&&a.bound[h](q),g&&fo(o,h)),x}):[],a.update(),g=!0,mt(a.before_update),a.fragment=t?t(a.ctx):!1,e.target){if(e.hydrate){const h=ro(e.target);a.fragment&&a.fragment.l(h),h.forEach(B)}else a.fragment&&a.fragment.c();e.intro&&L(o.$$.fragment),G(o,e.target,e.anchor),Br()}Zt(c)}class ve{constructor(){_n(this,"$$");_n(this,"$$set")}$destroy(){Z(this,1),this.$destroy=Y}$on(e,n){if(!Dt(n))return Y;const t=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return t.push(n),()=>{const r=t.indexOf(n);r!==-1&&t.splice(r,1)}}$set(e){this.$$set&&!to(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const po="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(po);const At=[];function rt(o,e=Y){let n;const t=new Set;function r(l){if(he(o,l)&&(o=l,n)){const c=!At.length;for(const a of t)a[1](),At.push(a,o);if(c){for(let a=0;a{t.delete(a),t.size===0&&n&&(n(),n=null)}}return{set:r,update:i,subscribe:s}}let Ht=rt(""),Bt=rt([]),On=rt(null),cn=rt(null),un=rt(!1),Ut=rt(!1),wt=rt("chat"),Cn=rt([]),Qt=rt(""),Nr=rt(!1),Ot=rt({debug:!0,logo:"",title:"Welcome to Vanna.AI",subtitle:"Loading...",show_training_data:!0,suggested_questions:!0,sql:!0,table:!0,csv_download:!0,chart:!0,redraw_chart:!0,auto_fix_sql:!0,ask_results_correct:!0,followup_questions:!0,summarization:!0}),fn=rt(null);function dn(){Bt.set([]),un.set(!1),Ut.set(!1)}async function Ln(o){dn();let e=pt(Ot);ue({type:"user_question",question:o}),un.set(!0);const n=await xe("generate_sql","GET",{question:o});if(ue(n),n.type!=="sql")return;window.location.hash=n.id,Ht.set(n.id),Qt.set(n.text);const t=await xe("run_sql","GET",{id:n.id});if(ue(t),t.type==="df"){if(t.should_generate_chart){const r=await xe("generate_plotly_figure","GET",{id:t.id});if(ue(r),r.type!=="plotly_figure")return;Cn.update(i=>[...i,{question:o,id:r.id}])}if(e.summarization){const r=await xe("generate_summary","GET",{id:n.id});ue(r)}ue({type:"feedback_question"}),ue({type:"feedback_buttons"})}}async function go(o){let e=pt(Ot);if(ue(o),o.type!=="sql")return;window.location.hash=o.id,Ht.set(o.id),Qt.set(o.text);const n=await xe("run_sql","GET",{id:o.id});if(ue(n),n.type!=="df")return;const t=await xe("generate_plotly_figure","GET",{id:n.id});if(ue(t),t.type==="plotly_figure"){if(e.summarization){const r=await xe("generate_summary","GET",{id:t.id});ue(r)}ue({type:"feedback_question"}),ue({type:"feedback_buttons"})}}function mo(o){ue({type:"user_question",question:"Re-run the SQL"}),xe("run_sql","GET",{id:o}).then(ue).then(e=>{e.type==="df"&&xe("generate_plotly_figure","GET",{id:e.id}).then(ue).then(n=>{n.type==="plotly_figure"&&xe("generate_followup_questions","GET",{id:n.id}).then(ue)})})}function ho(){xe("get_question_history","GET",[]).then($o)}function yo(){xe("get_config","GET",[]).then(wo)}function Ir(){window.location.hash="training-data",wt.set("training-data"),xe("get_training_data","GET",[]).then(rn)}function zr(){window.location.hash="",wt.set("chat"),dn(),pt(On)===null&&xe("generate_questions","GET",[]).then(_o)}function bo(o){window.location.hash=o,wt.set("chat"),dn(),un.set(!0),xe("load_question","GET",{id:o}).then(ue)}function vo(o){cn.set(null),xe("remove_training_data","POST",{id:o}).then(e=>{xe("get_training_data","GET",[]).then(rn)})}function ue(o){return o.type==="not_logged_in"?(fn.set(o.html),wt.set("login"),o):(Bt.update(e=>[...e,o]),xo(),o)}function rn(o){return cn.set(o),o.type==="df"?JSON.parse(o.df).length===0&&wt.set("no-training-data"):o.type==="not_logged_in"&&(fn.set(o.html),wt.set("login")),o}function _o(o){return On.set(o),o}function wo(o){return o.type==="config"?(Ot.set(o.config),o.config.debug&&jo()):o.type==="not_logged_in"&&(fn.set(o.html),wt.set("login")),o}function $o(o){return o.type==="question_history"&&Cn.set(o.questions),o}function ko(o,e){cn.set(null);let n={};n[e]=o,xe("train","POST",n).then(rn).then(t=>{t.type!=="error"&&xe("get_training_data","GET",[]).then(rn)})}async function xe(o,e,n){try{Ut.set(!0);let t="",r;if(e==="GET")t=Object.entries(n).filter(([s,l])=>s!=="endpoint"&&s!=="addMessage").map(([s,l])=>`${encodeURIComponent(s)}=${encodeURIComponent(l)}`).join("&"),r=await fetch(`/api/v0/${o}?${t}`);else{let s=JSON.stringify(n);r=await fetch(`/api/v0/${o}`,{method:"POST",headers:{"Content-Type":"application/json"},body:s})}if(!r.ok)throw new Error("The server returned an error. See the server logs for more details.");const i=await r.json();return Ut.set(!1),i}catch(t){return Ut.set(!1),{type:"error",error:String(t)}}}function xo(){setTimeout(()=>{window.scrollTo({top:document.body.scrollHeight,behavior:"smooth"})},100)}function So(){let o=pt(Bt),e=o.find(n=>n.type==="user_question");if(e&&e.type==="user_question"){let n=o.findLast(t=>t.type==="sql");if(n&&n.type==="sql")return{question:e.question,sql:n.text}}return null}function pn(o){Bt.update(e=>e.filter(n=>n.type!==o))}function Oo(o){xe("fix_sql","POST",{id:pt(Ht),error:o}).then(go)}function Co(o){let n=pt(Bt).find(t=>t.type==="user_question");n&&n.type==="user_question"&&(xe("update_sql","POST",{id:pt(Ht),sql:o}).then(ue).then(t=>{t.type==="sql"&&(Qt.set(t.text),xe("run_sql","GET",{id:t.id}).then(ue).then(r=>{r.type==="df"?JSON.parse(r.df).length>1?xe("generate_plotly_figure","GET",{id:r.id}).then(ue).then(s=>{ue({type:"feedback_question"}),ue({type:"feedback_buttons"})}):(ue({type:"feedback_question"}),ue({type:"feedback_buttons"})):(ue({type:"feedback_question"}),ue({type:"feedback_buttons"}))}))}),pn("user_sql"))}function Lo(){ue({type:"chart_modification"})}function Eo(){pn("feedback_buttons"),ue({type:"feedback_correct"});let o=So();o&&(xe("train","POST",o),xe("generate_followup_questions","GET",{id:pt(Ht)}).then(ue))}function Un(){pn("feedback_buttons"),ue({type:"feedback_incorrect"}),ue({type:"user_sql"})}function To(o){pn("chart_modification"),ue({type:"user_question",question:"Update the chart with these instructions: "+o}),xe("generate_plotly_figure","GET",{id:pt(Ht),chart_instructions:o}).then(ue)}function jo(){var o=new WebSocket("ws://"+window.location.host+"/api/v0/log");o.onopen=function(){console.log("Connected to WebSocket server at /log.")},o.onmessage=function(e){console.log("Received message:",e.data);try{var n=JSON.parse(e.data)}catch(r){console.error("Error parsing JSON:",r);return}var t=document.getElementById("log-contents");t&&(t.innerHTML+="

"+n.title+" "+JSON.stringify(n.message)+"

")},o.onclose=function(e){console.log("WebSocket connection closed:",e)},o.onerror=function(e){console.error("WebSocket error:",e)}}function Wn(o,e,n){const t=o.slice();return t[3]=e[n],t}function Qn(o){let e,n,t,r;return{c(){e=E("li"),n=E("button"),n.innerHTML=` + Training Data`,d(n,"class","flex items-center gap-x-3 py-2 px-3 text-sm text-slate-700 rounded-md hover:bg-gray-100 dark:hover:bg-gray-900 dark:text-slate-400 dark:hover:text-slate-300 border-t border-b border-gray-200 dark:border-gray-700 w-full")},m(i,s){N(i,e,s),v(e,n),t||(r=Te(n,"click",Ir),t=!0)},d(i){i&&B(e),t=!1,r()}}}function Fn(o){let e,n,t,r,i,s=o[3].question+"",l,c,a,g;function h(){return o[2](o[3])}return{c(){e=E("li"),n=E("button"),t=Xe("svg"),r=Xe("path"),i=Q(),l=pe(s),c=Q(),d(r,"stroke-linecap","round"),d(r,"stroke-linejoin","round"),d(r,"d","M7.5 8.25h9m-9 3H12m-9.75 1.51c0 1.6 1.123 2.994 2.707 3.227 1.129.166 2.27.293 3.423.379.35.026.67.21.865.501L12 21l2.755-4.133a1.14 1.14 0 01.865-.501 48.172 48.172 0 003.423-.379c1.584-.233 2.707-1.626 2.707-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0012 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018z"),d(t,"class","w-3.5 h-3.5"),d(t,"fill","none"),d(t,"stroke","currentColor"),d(t,"stroke-width","1.5"),d(t,"viewBox","0 0 24 24"),d(t,"xmlns","http://www.w3.org/2000/svg"),d(t,"aria-hidden","true"),d(n,"class","flex items-center text-left gap-x-3 py-2 px-3 text-sm text-slate-700 rounded-md hover:bg-gray-100 dark:hover:bg-gray-900 dark:text-slate-400 dark:hover:text-slate-300")},m(x,k){N(x,e,k),v(e,n),v(n,t),v(t,r),v(n,i),v(n,l),v(e,c),a||(g=Te(n,"click",h),a=!0)},p(x,k){o=x,k&2&&s!==(s=o[3].question+"")&&De(l,s)},d(x){x&&B(e),a=!1,g()}}}function Po(o){let e,n,t,r,i,s,l,c,a,g,h,x,k,q,M,y,p,m,w=o[0].show_training_data&&Qn(),D=Le(o[1]),P=[];for(let C=0;C Sidebar',c=Q(),a=E("div"),g=E("ul"),w&&w.c(),h=Q(),x=E("li"),k=E("button"),k.innerHTML=` + New question`,q=Q();for(let C=0;C

Connected

`,p(r,"class","w-28 h-auto"),Zn(r.src,i=o[0].logo)||p(r,"src",i),p(r,"alt","Vanna Logo"),p(l,"class","lg:hidden"),p(t,"class","flex items-center justify-between py-4 pr-4 pl-7"),p(k,"class","flex items-center gap-x-3 py-2 px-3 text-sm text-slate-700 rounded-md hover:bg-gray-100 dark:hover:bg-gray-900 dark:text-slate-400 dark:hover:text-slate-300"),p(m,"class","space-y-1.5 p-4"),p(a,"class","h-full"),p(b,"class","mt-auto"),p(n,"class","hs-accordion-group w-full h-full flex flex-col"),p(n,"data-hs-accordion-always-open",""),p(e,"id","application-sidebar"),p(e,"class","hs-overlay hs-overlay-open:translate-x-0 -translate-x-full transition-all duration-300 transform hidden fixed top-0 left-0 bottom-0 z-[60] w-64 bg-white border-r border-gray-200 overflow-y-auto scrollbar-y lg:block lg:translate-x-0 lg:right-auto lg:bottom-0 dark:scrollbar-y dark:bg-slate-900 dark:border-gray-700")},m(O,u){I(O,e,u),v(e,n),v(n,t),v(t,r),v(t,s),v(t,l),v(n,c),v(n,a),v(a,m),w&&w.m(m,null),v(m,h),v(m,$),v($,k),v(m,A);for(let f=0;fn(0,t=s)),et(o,Cn,s=>n(1,r=s)),[t,r,s=>{yo(s.id)}]}class Po extends we{constructor(e){super(),_e(this,e,jo,To,ye,{})}}var qo={exports:{}};/*! For license information please see preline.js.LICENSE.txt */(function(o,e){(function(n,t){o.exports=t()})(self,function(){return(()=>{var n={661:(s,l,c)=>{function a(j){return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(b){return typeof b}:function(b){return b&&typeof Symbol=="function"&&b.constructor===Symbol&&b!==Symbol.prototype?"symbol":typeof b},a(j)}function m(j,b){for(var d=0;d"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var O,u=k(g);if(w){var f=k(this).constructor;O=Reflect.construct(u,arguments,f)}else O=u.apply(this,arguments);return $(this,O)});function M(){return function(O,u){if(!(O instanceof u))throw new TypeError("Cannot call a class as a function")}(this,M),D.call(this,".hs-accordion")}return b=M,(d=[{key:"init",value:function(){var O=this;document.addEventListener("click",function(u){var f=u.target,S=f.closest(O.selector),T=f.closest(".hs-accordion-toggle"),C=f.closest(".hs-accordion-group");S&&C&&T&&(O._hideAll(S),O.show(S))})}},{key:"show",value:function(O){var u=this;if(O.classList.contains("active"))return this.hide(O);O.classList.add("active");var f=O.querySelector(".hs-accordion-content");f.style.display="block",f.style.height=0,setTimeout(function(){f.style.height="".concat(f.scrollHeight,"px")}),this.afterTransition(f,function(){O.classList.contains("active")&&(f.style.height="",u._fireEvent("open",O),u._dispatch("open.hs.accordion",O,O))})}},{key:"hide",value:function(O){var u=this,f=O.querySelector(".hs-accordion-content");f.style.height="".concat(f.scrollHeight,"px"),setTimeout(function(){f.style.height=0}),this.afterTransition(f,function(){O.classList.contains("active")||(f.style.display="",u._fireEvent("hide",O),u._dispatch("hide.hs.accordion",O,O))}),O.classList.remove("active")}},{key:"_hideAll",value:function(O){var u=this,f=O.closest(".hs-accordion-group");f.hasAttribute("data-hs-accordion-always-open")||f.querySelectorAll(this.selector).forEach(function(S){O!==S&&u.hide(S)})}}])&&m(b.prototype,d),Object.defineProperty(b,"prototype",{writable:!1}),M}(c(765).Z);window.HSAccordion=new A,document.addEventListener("load",window.HSAccordion.init())},795:(s,l,c)=>{function a(b){return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(d){return typeof d}:function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},a(b)}function m(b,d){(d==null||d>b.length)&&(d=b.length);for(var g=0,w=new Array(d);g"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var u,f=A(w);if(D){var S=A(this).constructor;u=Reflect.construct(f,arguments,S)}else u=f.apply(this,arguments);return k(this,u)});function O(){return function(u,f){if(!(u instanceof f))throw new TypeError("Cannot call a class as a function")}(this,O),M.call(this,"[data-hs-collapse]")}return d=O,(g=[{key:"init",value:function(){var u=this;document.addEventListener("click",function(f){var S=f.target.closest(u.selector);if(S){var T=document.querySelectorAll(S.getAttribute("data-hs-collapse"));u.toggle(T)}})}},{key:"toggle",value:function(u){var f,S=this;u.length&&(f=u,function(T){if(Array.isArray(T))return m(T)}(f)||function(T){if(typeof Symbol<"u"&&T[Symbol.iterator]!=null||T["@@iterator"]!=null)return Array.from(T)}(f)||function(T,C){if(T){if(typeof T=="string")return m(T,C);var P=Object.prototype.toString.call(T).slice(8,-1);return P==="Object"&&T.constructor&&(P=T.constructor.name),P==="Map"||P==="Set"?Array.from(T):P==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(P)?m(T,C):void 0}}(f)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()).forEach(function(T){T.classList.contains("hidden")?S.show(T):S.hide(T)})}},{key:"show",value:function(u){var f=this;u.classList.add("open"),u.classList.remove("hidden"),u.style.height=0,document.querySelectorAll(this.selector).forEach(function(S){u.closest(S.getAttribute("data-hs-collapse"))&&S.classList.add("open")}),u.style.height="".concat(u.scrollHeight,"px"),this.afterTransition(u,function(){u.classList.contains("open")&&(u.style.height="",f._fireEvent("open",u),f._dispatch("open.hs.collapse",u,u))})}},{key:"hide",value:function(u){var f=this;u.style.height="".concat(u.scrollHeight,"px"),setTimeout(function(){u.style.height=0}),u.classList.remove("open"),this.afterTransition(u,function(){u.classList.contains("open")||(u.classList.add("hidden"),u.style.height=null,f._fireEvent("hide",u),f._dispatch("hide.hs.collapse",u,u),u.querySelectorAll(".hs-mega-menu-content.block").forEach(function(S){S.classList.remove("block"),S.classList.add("hidden")}))}),document.querySelectorAll(this.selector).forEach(function(S){u.closest(S.getAttribute("data-hs-collapse"))&&S.classList.remove("open")})}}])&&h(d.prototype,g),Object.defineProperty(d,"prototype",{writable:!1}),O}(c(765).Z);window.HSCollapse=new j,document.addEventListener("load",window.HSCollapse.init())},682:(s,l,c)=>{var a=c(714),m=c(765);const h={historyIndex:-1,addHistory:function(D){this.historyIndex=D},existsInHistory:function(D){return D>this.historyIndex},clearHistory:function(){this.historyIndex=-1}};function $(D){return $=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(M){return typeof M}:function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},$(D)}function k(D){return function(M){if(Array.isArray(M))return A(M)}(D)||function(M){if(typeof Symbol<"u"&&M[Symbol.iterator]!=null||M["@@iterator"]!=null)return Array.from(M)}(D)||function(M,O){if(M){if(typeof M=="string")return A(M,O);var u=Object.prototype.toString.call(M).slice(8,-1);return u==="Object"&&M.constructor&&(u=M.constructor.name),u==="Map"||u==="Set"?Array.from(M):u==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(u)?A(M,O):void 0}}(D)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function A(D,M){(M==null||M>D.length)&&(M=D.length);for(var O=0,u=new Array(M);O"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var C,P=g(u);if(f){var H=g(this).constructor;C=Reflect.construct(P,arguments,H)}else C=P.apply(this,arguments);return d(this,C)});function T(){var C;return function(P,H){if(!(P instanceof H))throw new TypeError("Cannot call a class as a function")}(this,T),(C=S.call(this,".hs-dropdown")).positions={top:"top","top-left":"top-start","top-right":"top-end",bottom:"bottom","bottom-left":"bottom-start","bottom-right":"bottom-end",right:"right","right-top":"right-start","right-bottom":"right-end",left:"left","left-top":"left-start","left-bottom":"left-end"},C.absoluteStrategyModifiers=function(P){return[{name:"applyStyles",fn:function(H){var N=(window.getComputedStyle(P).getPropertyValue("--strategy")||"absolute").replace(" ",""),W=(window.getComputedStyle(P).getPropertyValue("--adaptive")||"adaptive").replace(" ","");H.state.elements.popper.style.position=N,H.state.elements.popper.style.transform=W==="adaptive"?H.state.styles.popper.transform:null,H.state.elements.popper.style.top=null,H.state.elements.popper.style.bottom=null,H.state.elements.popper.style.left=null,H.state.elements.popper.style.right=null,H.state.elements.popper.style.margin=0}},{name:"computeStyles",options:{adaptive:!1}}]},C._history=h,C}return M=T,O=[{key:"init",value:function(){var C=this;document.addEventListener("click",function(P){var H=P.target,N=H.closest(C.selector),W=H.closest(".hs-dropdown-menu");if(N&&N.classList.contains("open")||C._closeOthers(N),W){var J=(window.getComputedStyle(N).getPropertyValue("--auto-close")||"").replace(" ","");if((J=="false"||J=="inside")&&!N.parentElement.closest(C.selector))return}N&&(N.classList.contains("open")?C.close(N):C.open(N))}),document.addEventListener("mousemove",function(P){var H=P.target,N=H.closest(C.selector);if(H.closest(".hs-dropdown-menu"),N){var W=(window.getComputedStyle(N).getPropertyValue("--trigger")||"click").replace(" ","");if(W!=="hover")return;N&&N.classList.contains("open")||C._closeOthers(N),W!=="hover"||N.classList.contains("open")||/iPad|iPhone|iPod/.test(navigator.platform)||navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform)||navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform)||C._hover(H)}}),document.addEventListener("keydown",this._keyboardSupport.bind(this)),window.addEventListener("resize",function(){document.querySelectorAll(".hs-dropdown.open").forEach(function(P){C.close(P,!0)})})}},{key:"_closeOthers",value:function(){var C=this,P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,H=document.querySelectorAll("".concat(this.selector,".open"));H.forEach(function(N){if(!P||P.closest(".hs-dropdown.open")!==N){var W=(window.getComputedStyle(N).getPropertyValue("--auto-close")||"").replace(" ","");W!="false"&&W!="outside"&&C.close(N)}})}},{key:"_hover",value:function(C){var P=this,H=C.closest(this.selector);this.open(H),document.addEventListener("mousemove",function N(W){W.target.closest(P.selector)&&W.target.closest(P.selector)!==H.parentElement.closest(P.selector)||(P.close(H),document.removeEventListener("mousemove",N,!0))},!0)}},{key:"close",value:function(C){var P=this,H=arguments.length>1&&arguments[1]!==void 0&&arguments[1],N=C.querySelector(".hs-dropdown-menu"),W=function(){C.classList.contains("open")||(N.classList.remove("block"),N.classList.add("hidden"),N.style.inset=null,N.style.position=null,C._popper&&C._popper.destroy())};H||this.afterTransition(C.querySelector("[data-hs-dropdown-transition]")||N,function(){W()}),N.style.margin=null,C.classList.remove("open"),H&&W(),this._fireEvent("close",C),this._dispatch("close.hs.dropdown",C,C);var J=N.querySelectorAll(".hs-dropdown.open");J.forEach(function(Se){P.close(Se,!0)})}},{key:"open",value:function(C){var P=C.querySelector(".hs-dropdown-menu"),H=(window.getComputedStyle(C).getPropertyValue("--placement")||"").replace(" ",""),N=(window.getComputedStyle(C).getPropertyValue("--strategy")||"fixed").replace(" ",""),W=((window.getComputedStyle(C).getPropertyValue("--adaptive")||"adaptive").replace(" ",""),parseInt((window.getComputedStyle(C).getPropertyValue("--offset")||"10").replace(" ","")));if(N!=="static"){C._popper&&C._popper.destroy();var J=(0,a.fi)(C,P,{placement:this.positions[H]||"bottom-start",strategy:N,modifiers:[].concat(k(N!=="fixed"?this.absoluteStrategyModifiers(C):[]),[{name:"offset",options:{offset:[0,W]}}])});C._popper=J}P.style.margin=null,P.classList.add("block"),P.classList.remove("hidden"),setTimeout(function(){C.classList.add("open")}),this._fireEvent("open",C),this._dispatch("open.hs.dropdown",C,C)}},{key:"_keyboardSupport",value:function(C){var P=document.querySelector(".hs-dropdown.open");if(P)return C.keyCode===27?(C.preventDefault(),this._esc(P)):C.keyCode===40?(C.preventDefault(),this._down(P)):C.keyCode===38?(C.preventDefault(),this._up(P)):C.keyCode===36?(C.preventDefault(),this._start(P)):C.keyCode===35?(C.preventDefault(),this._end(P)):void this._byChar(P,C.key)}},{key:"_esc",value:function(C){this.close(C)}},{key:"_up",value:function(C){var P=C.querySelector(".hs-dropdown-menu"),H=k(P.querySelectorAll("a")).reverse().filter(function(J){return!J.disabled}),N=P.querySelector("a:focus"),W=H.findIndex(function(J){return J===N});W+1{function a(b){return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(d){return typeof d}:function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},a(b)}function m(b,d){(d==null||d>b.length)&&(d=b.length);for(var g=0,w=new Array(d);g"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var u,f=A(w);if(D){var S=A(this).constructor;u=Reflect.construct(f,arguments,S)}else u=f.apply(this,arguments);return k(this,u)});function O(){var u;return function(f,S){if(!(f instanceof S))throw new TypeError("Cannot call a class as a function")}(this,O),(u=M.call(this,"[data-hs-overlay]")).openNextOverlay=!1,u}return d=O,(g=[{key:"init",value:function(){var u=this;document.addEventListener("click",function(f){var S=f.target.closest(u.selector),T=f.target.closest("[data-hs-overlay-close]"),C=f.target.getAttribute("aria-overlay")==="true";return T?u.close(T.closest(".hs-overlay.open")):S?u.toggle(document.querySelector(S.getAttribute("data-hs-overlay"))):void(C&&u._onBackdropClick(f.target))}),document.addEventListener("keydown",function(f){if(f.keyCode===27){var S=document.querySelector(".hs-overlay.open");if(!S)return;setTimeout(function(){S.getAttribute("data-hs-overlay-keyboard")!=="false"&&u.close(S)})}})}},{key:"toggle",value:function(u){u&&(u.classList.contains("hidden")?this.open(u):this.close(u))}},{key:"open",value:function(u){var f=this;if(u){var S=document.querySelector(".hs-overlay.open"),T=this.getClassProperty(u,"--body-scroll","false")!=="true";if(S)return this.openNextOverlay=!0,this.close(S).then(function(){f.open(u),f.openNextOverlay=!1});T&&(document.body.style.overflow="hidden"),this._buildBackdrop(u),this._checkTimer(u),this._autoHide(u),u.classList.remove("hidden"),u.setAttribute("aria-overlay","true"),u.setAttribute("tabindex","-1"),setTimeout(function(){u.classList.contains("hidden")||(u.classList.add("open"),f._fireEvent("open",u),f._dispatch("open.hs.overlay",u,u),f._focusInput(u))},50)}}},{key:"close",value:function(u){var f=this;return new Promise(function(S){u&&(u.classList.remove("open"),u.removeAttribute("aria-overlay"),u.removeAttribute("tabindex","-1"),f.afterTransition(u,function(){u.classList.contains("open")||(u.classList.add("hidden"),f._destroyBackdrop(),f._fireEvent("close",u),f._dispatch("close.hs.overlay",u,u),document.body.style.overflow="",S(u))}))})}},{key:"_autoHide",value:function(u){var f=this,S=parseInt(this.getClassProperty(u,"--auto-hide","0"));S&&(u.autoHide=setTimeout(function(){f.close(u)},S))}},{key:"_checkTimer",value:function(u){u.autoHide&&(clearTimeout(u.autoHide),delete u.autoHide)}},{key:"_onBackdropClick",value:function(u){this.getClassProperty(u,"--overlay-backdrop","true")!=="static"&&this.close(u)}},{key:"_buildBackdrop",value:function(u){var f,S=this,T=u.getAttribute("data-hs-overlay-backdrop-container")||!1,C=document.createElement("div"),P="transition duration fixed inset-0 z-50 bg-gray-900 bg-opacity-50 dark:bg-opacity-80 hs-overlay-backdrop",H=function(J,Se){var ae=typeof Symbol<"u"&&J[Symbol.iterator]||J["@@iterator"];if(!ae){if(Array.isArray(J)||(ae=function(be,ft){if(be){if(typeof be=="string")return m(be,ft);var Qe=Object.prototype.toString.call(be).slice(8,-1);return Qe==="Object"&&be.constructor&&(Qe=be.constructor.name),Qe==="Map"||Qe==="Set"?Array.from(be):Qe==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Qe)?m(be,ft):void 0}}(J))||Se&&J&&typeof J.length=="number"){ae&&(J=ae);var ot=0,tt=function(){};return{s:tt,n:function(){return ot>=J.length?{done:!0}:{done:!1,value:J[ot++]}},e:function(be){throw be},f:tt}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Ge,Ue=!0,ht=!1;return{s:function(){ae=ae.call(J)},n:function(){var be=ae.next();return Ue=be.done,be},e:function(be){ht=!0,Ge=be},f:function(){try{Ue||ae.return==null||ae.return()}finally{if(ht)throw Ge}}}}(u.classList.values());try{for(H.s();!(f=H.n()).done;){var N=f.value;N.startsWith("hs-overlay-backdrop-open:")&&(P+=" ".concat(N))}}catch(J){H.e(J)}finally{H.f()}var W=this.getClassProperty(u,"--overlay-backdrop","true")!=="static";this.getClassProperty(u,"--overlay-backdrop","true")==="false"||(T&&((C=document.querySelector(T).cloneNode(!0)).classList.remove("hidden"),P=C.classList,C.classList=""),W&&C.addEventListener("click",function(){return S.close(u)},!0),C.setAttribute("data-hs-overlay-backdrop-template",""),document.body.appendChild(C),setTimeout(function(){C.classList=P}))}},{key:"_destroyBackdrop",value:function(){var u=document.querySelector("[data-hs-overlay-backdrop-template]");u&&(this.openNextOverlay&&(u.style.transitionDuration="".concat(1.8*parseFloat(window.getComputedStyle(u).transitionDuration.replace(/[^\d.-]/g,"")),"s")),u.classList.add("opacity-0"),this.afterTransition(u,function(){u.remove()}))}},{key:"_focusInput",value:function(u){var f=u.querySelector("[autofocus]");f&&f.focus()}}])&&h(d.prototype,g),Object.defineProperty(d,"prototype",{writable:!1}),O}(c(765).Z);window.HSOverlay=new j,document.addEventListener("load",window.HSOverlay.init())},181:(s,l,c)=>{function a(j){return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(b){return typeof b}:function(b){return b&&typeof Symbol=="function"&&b.constructor===Symbol&&b!==Symbol.prototype?"symbol":typeof b},a(j)}function m(j,b){for(var d=0;d"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var O,u=k(g);if(w){var f=k(this).constructor;O=Reflect.construct(u,arguments,f)}else O=u.apply(this,arguments);return $(this,O)});function M(){return function(O,u){if(!(O instanceof u))throw new TypeError("Cannot call a class as a function")}(this,M),D.call(this,"[data-hs-remove-element]")}return b=M,(d=[{key:"init",value:function(){var O=this;document.addEventListener("click",function(u){var f=u.target.closest(O.selector);if(f){var S=document.querySelector(f.getAttribute("data-hs-remove-element"));S&&(S.classList.add("hs-removing"),O.afterTransition(S,function(){S.remove()}))}})}}])&&m(b.prototype,d),Object.defineProperty(b,"prototype",{writable:!1}),M}(c(765).Z);window.HSRemoveElement=new A,document.addEventListener("load",window.HSRemoveElement.init())},778:(s,l,c)=>{function a(j){return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(b){return typeof b}:function(b){return b&&typeof Symbol=="function"&&b.constructor===Symbol&&b!==Symbol.prototype?"symbol":typeof b},a(j)}function m(j,b){for(var d=0;d"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var O,u=k(g);if(w){var f=k(this).constructor;O=Reflect.construct(u,arguments,f)}else O=u.apply(this,arguments);return $(this,O)});function M(){var O;return function(u,f){if(!(u instanceof f))throw new TypeError("Cannot call a class as a function")}(this,M),(O=D.call(this,"[data-hs-scrollspy] ")).activeSection=null,O}return b=M,(d=[{key:"init",value:function(){var O=this;document.querySelectorAll(this.selector).forEach(function(u){var f=document.querySelector(u.getAttribute("data-hs-scrollspy")),S=u.querySelectorAll("[href]"),T=f.children,C=u.getAttribute("data-hs-scrollspy-scrollable-parent")?document.querySelector(u.getAttribute("data-hs-scrollspy-scrollable-parent")):document;Array.from(T).forEach(function(P){P.getAttribute("id")&&C.addEventListener("scroll",function(H){return O._update({$scrollspyEl:u,$scrollspyContentEl:f,links:S,$sectionEl:P,sections:T,ev:H})})}),S.forEach(function(P){P.addEventListener("click",function(H){H.preventDefault(),P.getAttribute("href")!=="javascript:;"&&O._scrollTo({$scrollspyEl:u,$scrollableEl:C,$link:P})})})})}},{key:"_update",value:function(O){var u=O.ev,f=O.$scrollspyEl,S=(O.sections,O.links),T=O.$sectionEl,C=parseInt(this.getClassProperty(f,"--scrollspy-offset","0")),P=this.getClassProperty(T,"--scrollspy-offset")||C,H=u.target===document?0:parseInt(u.target.getBoundingClientRect().top),N=parseInt(T.getBoundingClientRect().top)-P-H,W=T.offsetHeight;if(N<=0&&N+W>0){if(this.activeSection===T)return;S.forEach(function(ot){ot.classList.remove("active")});var J=f.querySelector('[href="#'.concat(T.getAttribute("id"),'"]'));if(J){J.classList.add("active");var Se=J.closest("[data-hs-scrollspy-group]");if(Se){var ae=Se.querySelector("[href]");ae&&ae.classList.add("active")}}this.activeSection=T}}},{key:"_scrollTo",value:function(O){var u=O.$scrollspyEl,f=O.$scrollableEl,S=O.$link,T=document.querySelector(S.getAttribute("href")),C=parseInt(this.getClassProperty(u,"--scrollspy-offset","0")),P=this.getClassProperty(T,"--scrollspy-offset")||C,H=f===document?0:f.offsetTop,N=T.offsetTop-P-H,W=f===document?window:f;this._fireEvent("scroll",u),this._dispatch("scroll.hs.scrollspy",u,u),window.history.replaceState(null,null,S.getAttribute("href")),W.scrollTo({top:N,left:0,behavior:"smooth"})}}])&&m(b.prototype,d),Object.defineProperty(b,"prototype",{writable:!1}),M}(c(765).Z);window.HSScrollspy=new A,document.addEventListener("load",window.HSScrollspy.init())},51:(s,l,c)=>{function a(d){return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(g){return typeof g}:function(g){return g&&typeof Symbol=="function"&&g.constructor===Symbol&&g!==Symbol.prototype?"symbol":typeof g},a(d)}function m(d){return function(g){if(Array.isArray(g))return h(g)}(d)||function(g){if(typeof Symbol<"u"&&g[Symbol.iterator]!=null||g["@@iterator"]!=null)return Array.from(g)}(d)||function(g,w){if(g){if(typeof g=="string")return h(g,w);var D=Object.prototype.toString.call(g).slice(8,-1);return D==="Object"&&g.constructor&&(D=g.constructor.name),D==="Map"||D==="Set"?Array.from(g):D==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D)?h(g,w):void 0}}(d)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function h(d,g){(g==null||g>d.length)&&(g=d.length);for(var w=0,D=new Array(g);w"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var f,S=j(D);if(M){var T=j(this).constructor;f=Reflect.construct(S,arguments,T)}else f=S.apply(this,arguments);return A(this,f)});function u(){return function(f,S){if(!(f instanceof S))throw new TypeError("Cannot call a class as a function")}(this,u),O.call(this,"[data-hs-tab]")}return g=u,(w=[{key:"init",value:function(){var f=this;document.addEventListener("keydown",this._keyboardSupport.bind(this)),document.addEventListener("click",function(S){var T=S.target.closest(f.selector);T&&f.open(T)}),document.querySelectorAll("[hs-data-tab-select]").forEach(function(S){var T=document.querySelector(S.getAttribute("hs-data-tab-select"));T&&T.addEventListener("change",function(C){var P=document.querySelector('[data-hs-tab="'.concat(C.target.value,'"]'));P&&f.open(P)})})}},{key:"open",value:function(f){var S=document.querySelector(f.getAttribute("data-hs-tab")),T=m(f.parentElement.children),C=m(S.parentElement.children),P=f.closest("[hs-data-tab-select]"),H=P?document.querySelector(P.getAttribute("data-hs-tab")):null;T.forEach(function(N){return N.classList.remove("active")}),C.forEach(function(N){return N.classList.add("hidden")}),f.classList.add("active"),S.classList.remove("hidden"),this._fireEvent("change",f),this._dispatch("change.hs.tab",f,f),H&&(H.value=f.getAttribute("data-hs-tab"))}},{key:"_keyboardSupport",value:function(f){var S=f.target.closest(this.selector);if(S){var T=S.closest('[role="tablist"]').getAttribute("data-hs-tabs-vertical")==="true";return(T?f.keyCode===38:f.keyCode===37)?(f.preventDefault(),this._left(S)):(T?f.keyCode===40:f.keyCode===39)?(f.preventDefault(),this._right(S)):f.keyCode===36?(f.preventDefault(),this._start(S)):f.keyCode===35?(f.preventDefault(),this._end(S)):void 0}}},{key:"_right",value:function(f){var S=f.closest('[role="tablist"]');if(S){var T=m(S.querySelectorAll(this.selector)).filter(function(H){return!H.disabled}),C=S.querySelector("button:focus"),P=T.findIndex(function(H){return H===C});P+1{var a=c(765),m=c(714);function h(d){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(g){return typeof g}:function(g){return g&&typeof Symbol=="function"&&g.constructor===Symbol&&g!==Symbol.prototype?"symbol":typeof g},h(d)}function $(d,g){for(var w=0;w"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var f,S=j(D);if(M){var T=j(this).constructor;f=Reflect.construct(S,arguments,T)}else f=S.apply(this,arguments);return A(this,f)});function u(){return function(f,S){if(!(f instanceof S))throw new TypeError("Cannot call a class as a function")}(this,u),O.call(this,".hs-tooltip")}return g=u,(w=[{key:"init",value:function(){var f=this;document.addEventListener("click",function(S){var T=S.target.closest(f.selector);T&&f.getClassProperty(T,"--trigger")==="focus"&&f._focus(T),T&&f.getClassProperty(T,"--trigger")==="click"&&f._click(T)}),document.addEventListener("mousemove",function(S){var T=S.target.closest(f.selector);T&&f.getClassProperty(T,"--trigger")!=="focus"&&f.getClassProperty(T,"--trigger")!=="click"&&f._hover(T)})}},{key:"_hover",value:function(f){var S=this;if(!f.classList.contains("show")){var T=f.querySelector(".hs-tooltip-toggle"),C=f.querySelector(".hs-tooltip-content"),P=this.getClassProperty(f,"--placement");(0,m.fi)(T,C,{placement:P||"top",strategy:"fixed",modifiers:[{name:"offset",options:{offset:[0,5]}}]}),this.show(f),f.addEventListener("mouseleave",function H(N){N.relatedTarget.closest(S.selector)&&N.relatedTarget.closest(S.selector)==f||(S.hide(f),f.removeEventListener("mouseleave",H,!0))},!0)}}},{key:"_focus",value:function(f){var S=this,T=f.querySelector(".hs-tooltip-toggle"),C=f.querySelector(".hs-tooltip-content"),P=this.getClassProperty(f,"--placement"),H=this.getClassProperty(f,"--strategy");(0,m.fi)(T,C,{placement:P||"top",strategy:H||"fixed",modifiers:[{name:"offset",options:{offset:[0,5]}}]}),this.show(f),f.addEventListener("blur",function N(){S.hide(f),f.removeEventListener("blur",N,!0)},!0)}},{key:"_click",value:function(f){var S=this;if(!f.classList.contains("show")){var T=f.querySelector(".hs-tooltip-toggle"),C=f.querySelector(".hs-tooltip-content"),P=this.getClassProperty(f,"--placement"),H=this.getClassProperty(f,"--strategy");(0,m.fi)(T,C,{placement:P||"top",strategy:H||"fixed",modifiers:[{name:"offset",options:{offset:[0,5]}}]}),this.show(f);var N=function W(J){setTimeout(function(){S.hide(f),f.removeEventListener("click",W,!0),f.removeEventListener("blur",W,!0)})};f.addEventListener("blur",N,!0),f.addEventListener("click",N,!0)}}},{key:"show",value:function(f){var S=this;f.querySelector(".hs-tooltip-content").classList.remove("hidden"),setTimeout(function(){f.classList.add("show"),S._fireEvent("show",f),S._dispatch("show.hs.tooltip",f,f)})}},{key:"hide",value:function(f){var S=f.querySelector(".hs-tooltip-content");f.classList.remove("show"),this._fireEvent("hide",f),this._dispatch("hide.hs.tooltip",f,f),this.afterTransition(S,function(){f.classList.contains("show")||S.classList.add("hidden")})}}])&&$(g.prototype,w),Object.defineProperty(g,"prototype",{writable:!1}),u}(a.Z);window.HSTooltip=new b,document.addEventListener("load",window.HSTooltip.init())},765:(s,l,c)=>{function a(h,$){for(var k=0;k<$.length;k++){var A=$[k];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(h,A.key,A)}}c.d(l,{Z:()=>m});var m=function(){function h(A,j){(function(b,d){if(!(b instanceof d))throw new TypeError("Cannot call a class as a function")})(this,h),this.$collection=[],this.selector=A,this.config=j,this.events={}}var $,k;return $=h,k=[{key:"_fireEvent",value:function(A){var j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;this.events.hasOwnProperty(A)&&this.events[A](j)}},{key:"_dispatch",value:function(A,j){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,d=new CustomEvent(A,{detail:{payload:b},bubbles:!0,cancelable:!0,composed:!1});j.dispatchEvent(d)}},{key:"on",value:function(A,j){this.events[A]=j}},{key:"afterTransition",value:function(A,j){window.getComputedStyle(A,null).getPropertyValue("transition")!=="all 0s ease 0s"?A.addEventListener("transitionend",function b(){j(),A.removeEventListener("transitionend",b,!0)},!0):j()}},{key:"getClassProperty",value:function(A,j){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",d=(window.getComputedStyle(A).getPropertyValue(j)||b).replace(" ","");return d}}],k&&a($.prototype,k),Object.defineProperty($,"prototype",{writable:!1}),h}()},714:(s,l,c)=>{function a(_){if(_==null)return window;if(_.toString()!=="[object Window]"){var y=_.ownerDocument;return y&&y.defaultView||window}return _}function m(_){return _ instanceof a(_).Element||_ instanceof Element}function h(_){return _ instanceof a(_).HTMLElement||_ instanceof HTMLElement}function $(_){return typeof ShadowRoot<"u"&&(_ instanceof a(_).ShadowRoot||_ instanceof ShadowRoot)}c.d(l,{fi:()=>Wr});var k=Math.max,A=Math.min,j=Math.round;function b(_,y){y===void 0&&(y=!1);var x=_.getBoundingClientRect(),R=1,U=1;if(h(_)&&y){var z=_.offsetHeight,V=_.offsetWidth;V>0&&(R=j(x.width)/V||1),z>0&&(U=j(x.height)/z||1)}return{width:x.width/R,height:x.height/U,top:x.top/U,right:x.right/R,bottom:x.bottom/U,left:x.left/R,x:x.left/R,y:x.top/U}}function d(_){var y=a(_);return{scrollLeft:y.pageXOffset,scrollTop:y.pageYOffset}}function g(_){return _?(_.nodeName||"").toLowerCase():null}function w(_){return((m(_)?_.ownerDocument:_.document)||window.document).documentElement}function D(_){return b(w(_)).left+d(_).scrollLeft}function M(_){return a(_).getComputedStyle(_)}function O(_){var y=M(_),x=y.overflow,R=y.overflowX,U=y.overflowY;return/auto|scroll|overlay|hidden/.test(x+U+R)}function u(_,y,x){x===void 0&&(x=!1);var R,U,z=h(y),V=h(y)&&function(te){var Ae=te.getBoundingClientRect(),se=j(Ae.width)/te.offsetWidth||1,he=j(Ae.height)/te.offsetHeight||1;return se!==1||he!==1}(y),Y=w(y),X=b(_,V),ne={scrollLeft:0,scrollTop:0},re={x:0,y:0};return(z||!z&&!x)&&((g(y)!=="body"||O(Y))&&(ne=(R=y)!==a(R)&&h(R)?{scrollLeft:(U=R).scrollLeft,scrollTop:U.scrollTop}:d(R)),h(y)?((re=b(y,!0)).x+=y.clientLeft,re.y+=y.clientTop):Y&&(re.x=D(Y))),{x:X.left+ne.scrollLeft-re.x,y:X.top+ne.scrollTop-re.y,width:X.width,height:X.height}}function f(_){var y=b(_),x=_.offsetWidth,R=_.offsetHeight;return Math.abs(y.width-x)<=1&&(x=y.width),Math.abs(y.height-R)<=1&&(R=y.height),{x:_.offsetLeft,y:_.offsetTop,width:x,height:R}}function S(_){return g(_)==="html"?_:_.assignedSlot||_.parentNode||($(_)?_.host:null)||w(_)}function T(_){return["html","body","#document"].indexOf(g(_))>=0?_.ownerDocument.body:h(_)&&O(_)?_:T(S(_))}function C(_,y){var x;y===void 0&&(y=[]);var R=T(_),U=R===((x=_.ownerDocument)==null?void 0:x.body),z=a(R),V=U?[z].concat(z.visualViewport||[],O(R)?R:[]):R,Y=y.concat(V);return U?Y:Y.concat(C(S(V)))}function P(_){return["table","td","th"].indexOf(g(_))>=0}function H(_){return h(_)&&M(_).position!=="fixed"?_.offsetParent:null}function N(_){for(var y=a(_),x=H(_);x&&P(x)&&M(x).position==="static";)x=H(x);return x&&(g(x)==="html"||g(x)==="body"&&M(x).position==="static")?y:x||function(R){var U=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1;if(navigator.userAgent.indexOf("Trident")!==-1&&h(R)&&M(R).position==="fixed")return null;for(var z=S(R);h(z)&&["html","body"].indexOf(g(z))<0;){var V=M(z);if(V.transform!=="none"||V.perspective!=="none"||V.contain==="paint"||["transform","perspective"].indexOf(V.willChange)!==-1||U&&V.willChange==="filter"||U&&V.filter&&V.filter!=="none")return z;z=z.parentNode}return null}(_)||y}var W="top",J="bottom",Se="right",ae="left",ot="auto",tt=[W,J,Se,ae],Ge="start",Ue="end",ht="viewport",be="popper",ft=tt.reduce(function(_,y){return _.concat([y+"-"+Ge,y+"-"+Ue])},[]),Qe=[].concat(tt,[ot]).reduce(function(_,y){return _.concat([y,y+"-"+Ge,y+"-"+Ue])},[]),yt=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function It(_){var y=new Map,x=new Set,R=[];function U(z){x.add(z.name),[].concat(z.requires||[],z.requiresIfExists||[]).forEach(function(V){if(!x.has(V)){var Y=y.get(V);Y&&U(Y)}}),R.push(z)}return _.forEach(function(z){y.set(z.name,z)}),_.forEach(function(z){x.has(z.name)||U(z)}),R}var Nt={placement:"bottom",modifiers:[],strategy:"absolute"};function qe(){for(var _=arguments.length,y=new Array(_),x=0;x<_;x++)y[x]=arguments[x];return!y.some(function(R){return!(R&&typeof R.getBoundingClientRect=="function")})}function bt(_){_===void 0&&(_={});var y=_,x=y.defaultModifiers,R=x===void 0?[]:x,U=y.defaultOptions,z=U===void 0?Nt:U;return function(V,Y,X){X===void 0&&(X=z);var ne,re,te={placement:"bottom",orderedModifiers:[],options:Object.assign({},Nt,z),modifiersData:{},elements:{reference:V,popper:Y},attributes:{},styles:{}},Ae=[],se=!1,he={state:te,setOptions:function(ie){var Me=typeof ie=="function"?ie(te.options):ie;me(),te.options=Object.assign({},z,te.options,Me),te.scrollParents={reference:m(V)?C(V):V.contextElement?C(V.contextElement):[],popper:C(Y)};var ke,fe,ve=function(le){var ce=It(le);return yt.reduce(function(de,ge){return de.concat(ce.filter(function($e){return $e.phase===ge}))},[])}((ke=[].concat(R,te.options.modifiers),fe=ke.reduce(function(le,ce){var de=le[ce.name];return le[ce.name]=de?Object.assign({},de,ce,{options:Object.assign({},de.options,ce.options),data:Object.assign({},de.data,ce.data)}):ce,le},{}),Object.keys(fe).map(function(le){return fe[le]})));return te.orderedModifiers=ve.filter(function(le){return le.enabled}),te.orderedModifiers.forEach(function(le){var ce=le.name,de=le.options,ge=de===void 0?{}:de,$e=le.effect;if(typeof $e=="function"){var Ie=$e({state:te,name:ce,instance:he,options:ge});Ae.push(Ie||function(){})}}),he.update()},forceUpdate:function(){if(!se){var ie=te.elements,Me=ie.reference,ke=ie.popper;if(qe(Me,ke)){te.rects={reference:u(Me,N(ke),te.options.strategy==="fixed"),popper:f(ke)},te.reset=!1,te.placement=te.options.placement,te.orderedModifiers.forEach(function($e){return te.modifiersData[$e.name]=Object.assign({},$e.data)});for(var fe=0;fe=0?"x":"y"}function ee(_){var y,x=_.reference,R=_.element,U=_.placement,z=U?ze(U):null,V=U?je(U):null,Y=x.x+x.width/2-R.width/2,X=x.y+x.height/2-R.height/2;switch(z){case W:y={x:Y,y:x.y-R.height};break;case J:y={x:Y,y:x.y+x.height};break;case Se:y={x:x.x+x.width,y:X};break;case ae:y={x:x.x-R.width,y:X};break;default:y={x:x.x,y:x.y}}var ne=z?Pe(z):null;if(ne!=null){var re=ne==="y"?"height":"width";switch(V){case Ge:y[ne]=y[ne]-(x[re]/2-R[re]/2);break;case Ue:y[ne]=y[ne]+(x[re]/2-R[re]/2)}}return y}var Be={top:"auto",right:"auto",bottom:"auto",left:"auto"};function oe(_){var y,x=_.popper,R=_.popperRect,U=_.placement,z=_.variation,V=_.offsets,Y=_.position,X=_.gpuAcceleration,ne=_.adaptive,re=_.roundOffsets,te=_.isFixed,Ae=V.x,se=Ae===void 0?0:Ae,he=V.y,me=he===void 0?0:he,ie=typeof re=="function"?re({x:se,y:me}):{x:se,y:me};se=ie.x,me=ie.y;var Me=V.hasOwnProperty("x"),ke=V.hasOwnProperty("y"),fe=ae,ve=W,le=window;if(ne){var ce=N(x),de="clientHeight",ge="clientWidth";ce===a(x)&&M(ce=w(x)).position!=="static"&&Y==="absolute"&&(de="scrollHeight",ge="scrollWidth"),ce=ce,(U===W||(U===ae||U===Se)&&z===Ue)&&(ve=J,me-=(te&&le.visualViewport?le.visualViewport.height:ce[de])-R.height,me*=X?1:-1),U!==ae&&(U!==W&&U!==J||z!==Ue)||(fe=Se,se-=(te&&le.visualViewport?le.visualViewport.width:ce[ge])-R.width,se*=X?1:-1)}var $e,Ie=Object.assign({position:Y},ne&&Be),Ne=re===!0?function(Je){var it=Je.x,dt=Je.y,Ye=window.devicePixelRatio||1;return{x:j(it*Ye)/Ye||0,y:j(dt*Ye)/Ye||0}}({x:se,y:me}):{x:se,y:me};return se=Ne.x,me=Ne.y,X?Object.assign({},Ie,(($e={})[ve]=ke?"0":"",$e[fe]=Me?"0":"",$e.transform=(le.devicePixelRatio||1)<=1?"translate("+se+"px, "+me+"px)":"translate3d("+se+"px, "+me+"px, 0)",$e)):Object.assign({},Ie,((y={})[ve]=ke?me+"px":"",y[fe]=Me?se+"px":"",y.transform="",y))}var $t={left:"right",right:"left",bottom:"top",top:"bottom"};function Ft(_){return _.replace(/left|right|bottom|top/g,function(y){return $t[y]})}var Qr={start:"end",end:"start"};function Tn(_){return _.replace(/start|end/g,function(y){return Qr[y]})}function jn(_,y){var x=y.getRootNode&&y.getRootNode();if(_.contains(y))return!0;if(x&&$(x)){var R=y;do{if(R&&_.isSameNode(R))return!0;R=R.parentNode||R.host}while(R)}return!1}function mn(_){return Object.assign({},_,{left:_.x,top:_.y,right:_.x+_.width,bottom:_.y+_.height})}function Pn(_,y){return y===ht?mn(function(x){var R=a(x),U=w(x),z=R.visualViewport,V=U.clientWidth,Y=U.clientHeight,X=0,ne=0;return z&&(V=z.width,Y=z.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(X=z.offsetLeft,ne=z.offsetTop)),{width:V,height:Y,x:X+D(x),y:ne}}(_)):m(y)?function(x){var R=b(x);return R.top=R.top+x.clientTop,R.left=R.left+x.clientLeft,R.bottom=R.top+x.clientHeight,R.right=R.left+x.clientWidth,R.width=x.clientWidth,R.height=x.clientHeight,R.x=R.left,R.y=R.top,R}(y):mn(function(x){var R,U=w(x),z=d(x),V=(R=x.ownerDocument)==null?void 0:R.body,Y=k(U.scrollWidth,U.clientWidth,V?V.scrollWidth:0,V?V.clientWidth:0),X=k(U.scrollHeight,U.clientHeight,V?V.scrollHeight:0,V?V.clientHeight:0),ne=-z.scrollLeft+D(x),re=-z.scrollTop;return M(V||U).direction==="rtl"&&(ne+=k(U.clientWidth,V?V.clientWidth:0)-Y),{width:Y,height:X,x:ne,y:re}}(w(_)))}function qn(_){return Object.assign({},{top:0,right:0,bottom:0,left:0},_)}function An(_,y){return y.reduce(function(x,R){return x[R]=_,x},{})}function zt(_,y){y===void 0&&(y={});var x=y,R=x.placement,U=R===void 0?_.placement:R,z=x.boundary,V=z===void 0?"clippingParents":z,Y=x.rootBoundary,X=Y===void 0?ht:Y,ne=x.elementContext,re=ne===void 0?be:ne,te=x.altBoundary,Ae=te!==void 0&&te,se=x.padding,he=se===void 0?0:se,me=qn(typeof he!="number"?he:An(he,tt)),ie=re===be?"reference":be,Me=_.rects.popper,ke=_.elements[Ae?ie:re],fe=function(Ne,Je,it){var dt=Je==="clippingParents"?function(Ee){var vt=C(S(Ee)),Ke=["absolute","fixed"].indexOf(M(Ee).position)>=0&&h(Ee)?N(Ee):Ee;return m(Ke)?vt.filter(function(We){return m(We)&&jn(We,Ke)&&g(We)!=="body"}):[]}(Ne):[].concat(Je),Ye=[].concat(dt,[it]),Ze=Ye[0],He=Ye.reduce(function(Ee,vt){var Ke=Pn(Ne,vt);return Ee.top=k(Ke.top,Ee.top),Ee.right=A(Ke.right,Ee.right),Ee.bottom=A(Ke.bottom,Ee.bottom),Ee.left=k(Ke.left,Ee.left),Ee},Pn(Ne,Ze));return He.width=He.right-He.left,He.height=He.bottom-He.top,He.x=He.left,He.y=He.top,He}(m(ke)?ke:ke.contextElement||w(_.elements.popper),V,X),ve=b(_.elements.reference),le=ee({reference:ve,element:Me,strategy:"absolute",placement:U}),ce=mn(Object.assign({},Me,le)),de=re===be?ce:ve,ge={top:fe.top-de.top+me.top,bottom:de.bottom-fe.bottom+me.bottom,left:fe.left-de.left+me.left,right:de.right-fe.right+me.right},$e=_.modifiersData.offset;if(re===be&&$e){var Ie=$e[U];Object.keys(ge).forEach(function(Ne){var Je=[Se,J].indexOf(Ne)>=0?1:-1,it=[W,J].indexOf(Ne)>=0?"y":"x";ge[Ne]+=Ie[it]*Je})}return ge}function Vt(_,y,x){return k(_,A(y,x))}function Mn(_,y,x){return x===void 0&&(x={x:0,y:0}),{top:_.top-y.height-x.y,right:_.right-y.width+x.x,bottom:_.bottom-y.height+x.y,left:_.left-y.width-x.x}}function Dn(_){return[W,Se,J,ae].some(function(y){return _[y]>=0})}var Wr=bt({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(_){var y=_.state,x=_.instance,R=_.options,U=R.scroll,z=U===void 0||U,V=R.resize,Y=V===void 0||V,X=a(y.elements.popper),ne=[].concat(y.scrollParents.reference,y.scrollParents.popper);return z&&ne.forEach(function(re){re.addEventListener("scroll",x.update,Re)}),Y&&X.addEventListener("resize",x.update,Re),function(){z&&ne.forEach(function(re){re.removeEventListener("scroll",x.update,Re)}),Y&&X.removeEventListener("resize",x.update,Re)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(_){var y=_.state,x=_.name;y.modifiersData[x]=ee({reference:y.rects.reference,element:y.rects.popper,strategy:"absolute",placement:y.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(_){var y=_.state,x=_.options,R=x.gpuAcceleration,U=R===void 0||R,z=x.adaptive,V=z===void 0||z,Y=x.roundOffsets,X=Y===void 0||Y,ne={placement:ze(y.placement),variation:je(y.placement),popper:y.elements.popper,popperRect:y.rects.popper,gpuAcceleration:U,isFixed:y.options.strategy==="fixed"};y.modifiersData.popperOffsets!=null&&(y.styles.popper=Object.assign({},y.styles.popper,oe(Object.assign({},ne,{offsets:y.modifiersData.popperOffsets,position:y.options.strategy,adaptive:V,roundOffsets:X})))),y.modifiersData.arrow!=null&&(y.styles.arrow=Object.assign({},y.styles.arrow,oe(Object.assign({},ne,{offsets:y.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:X})))),y.attributes.popper=Object.assign({},y.attributes.popper,{"data-popper-placement":y.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(_){var y=_.state;Object.keys(y.elements).forEach(function(x){var R=y.styles[x]||{},U=y.attributes[x]||{},z=y.elements[x];h(z)&&g(z)&&(Object.assign(z.style,R),Object.keys(U).forEach(function(V){var Y=U[V];Y===!1?z.removeAttribute(V):z.setAttribute(V,Y===!0?"":Y)}))})},effect:function(_){var y=_.state,x={popper:{position:y.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(y.elements.popper.style,x.popper),y.styles=x,y.elements.arrow&&Object.assign(y.elements.arrow.style,x.arrow),function(){Object.keys(y.elements).forEach(function(R){var U=y.elements[R],z=y.attributes[R]||{},V=Object.keys(y.styles.hasOwnProperty(R)?y.styles[R]:x[R]).reduce(function(Y,X){return Y[X]="",Y},{});h(U)&&g(U)&&(Object.assign(U.style,V),Object.keys(z).forEach(function(Y){U.removeAttribute(Y)}))})}},requires:["computeStyles"]},{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(_){var y=_.state,x=_.options,R=_.name,U=x.offset,z=U===void 0?[0,0]:U,V=Qe.reduce(function(re,te){return re[te]=function(Ae,se,he){var me=ze(Ae),ie=[ae,W].indexOf(me)>=0?-1:1,Me=typeof he=="function"?he(Object.assign({},se,{placement:Ae})):he,ke=Me[0],fe=Me[1];return ke=ke||0,fe=(fe||0)*ie,[ae,Se].indexOf(me)>=0?{x:fe,y:ke}:{x:ke,y:fe}}(te,y.rects,z),re},{}),Y=V[y.placement],X=Y.x,ne=Y.y;y.modifiersData.popperOffsets!=null&&(y.modifiersData.popperOffsets.x+=X,y.modifiersData.popperOffsets.y+=ne),y.modifiersData[R]=V}},{name:"flip",enabled:!0,phase:"main",fn:function(_){var y=_.state,x=_.options,R=_.name;if(!y.modifiersData[R]._skip){for(var U=x.mainAxis,z=U===void 0||U,V=x.altAxis,Y=V===void 0||V,X=x.fallbackPlacements,ne=x.padding,re=x.boundary,te=x.rootBoundary,Ae=x.altBoundary,se=x.flipVariations,he=se===void 0||se,me=x.allowedAutoPlacements,ie=y.options.placement,Me=ze(ie),ke=X||(Me!==ie&&he?function(We){if(ze(We)===ot)return[];var st=Ft(We);return[Tn(We),st,Tn(st)]}(ie):[Ft(ie)]),fe=[ie].concat(ke).reduce(function(We,st){return We.concat(ze(st)===ot?function(Lt,_t){_t===void 0&&(_t={});var lt=_t,Jt=lt.placement,Yt=lt.boundary,Et=lt.rootBoundary,gn=lt.padding,hn=lt.flipVariations,Tt=lt.allowedAutoPlacements,yn=Tt===void 0?Qe:Tt,Gt=je(Jt),Kt=Gt?hn?ft:ft.filter(function(ct){return je(ct)===Gt}):tt,jt=Kt.filter(function(ct){return yn.indexOf(ct)>=0});jt.length===0&&(jt=Kt);var Pt=jt.reduce(function(ct,kt){return ct[kt]=zt(Lt,{placement:kt,boundary:Yt,rootBoundary:Et,padding:gn})[ze(kt)],ct},{});return Object.keys(Pt).sort(function(ct,kt){return Pt[ct]-Pt[kt]})}(y,{placement:st,boundary:re,rootBoundary:te,padding:ne,flipVariations:he,allowedAutoPlacements:me}):st)},[]),ve=y.rects.reference,le=y.rects.popper,ce=new Map,de=!0,ge=fe[0],$e=0;$e=0,dt=it?"width":"height",Ye=zt(y,{placement:Ie,boundary:re,rootBoundary:te,altBoundary:Ae,padding:ne}),Ze=it?Je?Se:ae:Je?J:W;ve[dt]>le[dt]&&(Ze=Ft(Ze));var He=Ft(Ze),Ee=[];if(z&&Ee.push(Ye[Ne]<=0),Y&&Ee.push(Ye[Ze]<=0,Ye[He]<=0),Ee.every(function(We){return We})){ge=Ie,de=!1;break}ce.set(Ie,Ee)}if(de)for(var vt=function(We){var st=fe.find(function(Lt){var _t=ce.get(Lt);if(_t)return _t.slice(0,We).every(function(lt){return lt})});if(st)return ge=st,"break"},Ke=he?3:1;Ke>0&&vt(Ke)!=="break";Ke--);y.placement!==ge&&(y.modifiersData[R]._skip=!0,y.placement=ge,y.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(_){var y=_.state,x=_.options,R=_.name,U=x.mainAxis,z=U===void 0||U,V=x.altAxis,Y=V!==void 0&&V,X=x.boundary,ne=x.rootBoundary,re=x.altBoundary,te=x.padding,Ae=x.tether,se=Ae===void 0||Ae,he=x.tetherOffset,me=he===void 0?0:he,ie=zt(y,{boundary:X,rootBoundary:ne,padding:te,altBoundary:re}),Me=ze(y.placement),ke=je(y.placement),fe=!ke,ve=Pe(Me),le=ve==="x"?"y":"x",ce=y.modifiersData.popperOffsets,de=y.rects.reference,ge=y.rects.popper,$e=typeof me=="function"?me(Object.assign({},y.rects,{placement:y.placement})):me,Ie=typeof $e=="number"?{mainAxis:$e,altAxis:$e}:Object.assign({mainAxis:0,altAxis:0},$e),Ne=y.modifiersData.offset?y.modifiersData.offset[y.placement]:null,Je={x:0,y:0};if(ce){if(z){var it,dt=ve==="y"?W:ae,Ye=ve==="y"?J:Se,Ze=ve==="y"?"height":"width",He=ce[ve],Ee=He+ie[dt],vt=He-ie[Ye],Ke=se?-ge[Ze]/2:0,We=ke===Ge?de[Ze]:ge[Ze],st=ke===Ge?-ge[Ze]:-de[Ze],Lt=y.elements.arrow,_t=se&&Lt?f(Lt):{width:0,height:0},lt=y.modifiersData["arrow#persistent"]?y.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Jt=lt[dt],Yt=lt[Ye],Et=Vt(0,de[Ze],_t[Ze]),gn=fe?de[Ze]/2-Ke-Et-Jt-Ie.mainAxis:We-Et-Jt-Ie.mainAxis,hn=fe?-de[Ze]/2+Ke+Et+Yt+Ie.mainAxis:st+Et+Yt+Ie.mainAxis,Tt=y.elements.arrow&&N(y.elements.arrow),yn=Tt?ve==="y"?Tt.clientTop||0:Tt.clientLeft||0:0,Gt=(it=Ne==null?void 0:Ne[ve])!=null?it:0,Kt=He+hn-Gt,jt=Vt(se?A(Ee,He+gn-Gt-yn):Ee,He,se?k(vt,Kt):vt);ce[ve]=jt,Je[ve]=jt-He}if(Y){var Pt,ct=ve==="x"?W:ae,kt=ve==="x"?J:Se,xt=ce[le],Xt=le==="y"?"height":"width",Rn=xt+ie[ct],Hn=xt-ie[kt],bn=[W,ae].indexOf(Me)!==-1,Bn=(Pt=Ne==null?void 0:Ne[le])!=null?Pt:0,In=bn?Rn:xt-de[Xt]-ge[Xt]-Bn+Ie.altAxis,Nn=bn?xt+de[Xt]+ge[Xt]-Bn-Ie.altAxis:Hn,zn=se&&bn?function(Fr,Jr,vn){var Vn=Vt(Fr,Jr,vn);return Vn>vn?vn:Vn}(In,xt,Nn):Vt(se?In:Rn,xt,se?Nn:Hn);ce[le]=zn,Je[le]=zn-xt}y.modifiersData[R]=Je}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(_){var y,x=_.state,R=_.name,U=_.options,z=x.elements.arrow,V=x.modifiersData.popperOffsets,Y=ze(x.placement),X=Pe(Y),ne=[ae,Se].indexOf(Y)>=0?"height":"width";if(z&&V){var re=function(ge,$e){return qn(typeof(ge=typeof ge=="function"?ge(Object.assign({},$e.rects,{placement:$e.placement})):ge)!="number"?ge:An(ge,tt))}(U.padding,x),te=f(z),Ae=X==="y"?W:ae,se=X==="y"?J:Se,he=x.rects.reference[ne]+x.rects.reference[X]-V[X]-x.rects.popper[ne],me=V[X]-x.rects.reference[X],ie=N(z),Me=ie?X==="y"?ie.clientHeight||0:ie.clientWidth||0:0,ke=he/2-me/2,fe=re[Ae],ve=Me-te[ne]-re[se],le=Me/2-te[ne]/2+ke,ce=Vt(fe,le,ve),de=X;x.modifiersData[R]=((y={})[de]=ce,y.centerOffset=ce-le,y)}},effect:function(_){var y=_.state,x=_.options.element,R=x===void 0?"[data-popper-arrow]":x;R!=null&&(typeof R!="string"||(R=y.elements.popper.querySelector(R)))&&jn(y.elements.popper,R)&&(y.elements.arrow=R)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(_){var y=_.state,x=_.name,R=y.rects.reference,U=y.rects.popper,z=y.modifiersData.preventOverflow,V=zt(y,{elementContext:"reference"}),Y=zt(y,{altBoundary:!0}),X=Mn(V,R),ne=Mn(Y,U,z),re=Dn(X),te=Dn(ne);y.modifiersData[x]={referenceClippingOffsets:X,popperEscapeOffsets:ne,isReferenceHidden:re,hasPopperEscaped:te},y.attributes.popper=Object.assign({},y.attributes.popper,{"data-popper-reference-hidden":re,"data-popper-escaped":te})}}]})}},t={};function r(s){var l=t[s];if(l!==void 0)return l.exports;var c=t[s]={exports:{}};return n[s](c,c.exports,r),c.exports}r.d=(s,l)=>{for(var c in l)r.o(l,c)&&!r.o(s,c)&&Object.defineProperty(s,c,{enumerable:!0,get:l[c]})},r.o=(s,l)=>Object.prototype.hasOwnProperty.call(s,l),r.r=s=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})};var i={};return r.r(i),r(661),r(795),r(682),r(284),r(181),r(778),r(51),r(185),i})()})})(qo);function Ao(o){let e=o[0].title+"",n;return{c(){n=pe(e)},m(t,r){I(t,n,r)},p(t,r){r&1&&e!==(e=t[0].title+"")&&De(n,e)},d(t){t&&B(n)}}}function Mo(o){let e,n;return{c(){e=pe("Welcome to "),n=L("span"),n.textContent="Vanna.AI",p(n,"class","nav-title")},m(t,r){I(t,e,r),I(t,n,r)},p:K,d(t){t&&(B(e),B(n))}}}function Do(o){let e,n,t,r,i=o[0].subtitle+"",s;function l(m,h){return m[0].title=="Welcome to Vanna.AI"?Mo:Ao}let c=l(o),a=c(o);return{c(){e=L("div"),n=L("h1"),a.c(),t=F(),r=L("p"),s=pe(i),p(n,"class","text-3xl font-bold text-gray-800 sm:text-4xl dark:text-white"),p(r,"class","mt-3 text-gray-600 dark:text-gray-400"),p(e,"class","max-w-4xl px-4 sm:px-6 lg:px-8 mx-auto text-center")},m(m,h){I(m,e,h),v(e,n),a.m(n,null),v(e,t),v(e,r),v(r,s)},p(m,[h]){c===(c=l(m))&&a?a.p(m,h):(a.d(1),a=c(m),a&&(a.c(),a.m(n,null))),h&1&&i!==(i=m[0].subtitle+"")&&De(s,i)},i:K,o:K,d(m){m&&B(e),a.d()}}}function Ro(o,e,n){let t;return et(o,Ot,r=>n(0,t=r)),[t]}class Ho extends we{constructor(e){super(),_e(this,e,Ro,Do,ye,{})}}function Bo(o){let e,n;const t=o[1].default,r=on(t,o,o[0],null);return{c(){e=L("p"),r&&r.c(),p(e,"class","text-gray-800 dark:text-gray-200")},m(i,s){I(i,e,s),r&&r.m(e,null),n=!0},p(i,[s]){r&&r.p&&(!n||s&1)&&ln(r,t,i,i[0],n?sn(t,i[0],s,null):an(i[0]),null)},i(i){n||(E(r,i),n=!0)},o(i){q(r,i),n=!1},d(i){i&&B(e),r&&r.d(i)}}}function Io(o,e,n){let{$$slots:t={},$$scope:r}=e;return o.$$set=i=>{"$$scope"in i&&n(0,r=i.$$scope)},[r,t]}class at extends we{constructor(e){super(),_e(this,e,Io,Bo,ye,{})}}function No(o){let e;return{c(){e=pe(o[0])},m(n,t){I(n,e,t)},p(n,t){t&1&&De(e,n[0])},d(n){n&&B(e)}}}function zo(o){let e,n,t,r,i,s,l,c,a;l=new at({props:{$$slots:{default:[No]},$$scope:{ctx:o}}});const m=o[1].default,h=on(m,o,o[2],null);return{c(){e=L("li"),n=L("div"),t=L("div"),r=L("span"),r.innerHTML='You',i=F(),s=L("div"),Q(l.$$.fragment),c=F(),h&&h.c(),p(r,"class","flex-shrink-0 inline-flex items-center justify-center h-[2.375rem] w-[2.375rem] rounded-full bg-gray-600"),p(s,"class","grow mt-2 space-y-3"),p(t,"class","max-w-2xl flex gap-x-2 sm:gap-x-4"),p(n,"class","max-w-4xl px-4 sm:px-6 lg:px-8 mx-auto"),p(e,"class","py-2 sm:py-4")},m($,k){I($,e,k),v(e,n),v(n,t),v(t,r),v(t,i),v(t,s),G(l,s,null),v(s,c),h&&h.m(s,null),a=!0},p($,[k]){const A={};k&5&&(A.$$scope={dirty:k,ctx:$}),l.$set(A),h&&h.p&&(!a||k&4)&&ln(h,m,$,$[2],a?sn(m,$[2],k,null):an($[2]),null)},i($){a||(E(l.$$.fragment,$),E(h,$),a=!0)},o($){q(l.$$.fragment,$),q(h,$),a=!1},d($){$&&B(e),Z(l),h&&h.d($)}}}function Vo(o,e,n){let{$$slots:t={},$$scope:r}=e,{message:i}=e;return o.$$set=s=>{"message"in s&&n(0,i=s.message),"$$scope"in s&&n(2,r=s.$$scope)},[i,t,r]}class Ct extends we{constructor(e){super(),_e(this,e,Vo,zo,ye,{message:0})}}function Go(o){let e,n,t;return{c(){e=L("button"),e.innerHTML='',p(e,"type","button"),p(e,"class","inline-flex flex-shrink-0 justify-center items-center size-8 rounded-lg text-gray-500 hover:text-blue-600 focus:z-10 focus:outline-none focus:ring-2 focus:ring-blue-500 dark:hover:text-blue-500 dark:focus:outline-none dark:focus:ring-1 dark:focus:ring-gray-600")},m(r,i){I(r,e,i),n||(t=Te(e,"click",o[1]),n=!0)},p:K,d(r){r&&B(e),n=!1,t()}}}function Zo(o){let e;return{c(){e=L("button"),e.innerHTML='',p(e,"type","button"),p(e,"class","animate-ping animate-pulse inline-flex flex-shrink-0 justify-center items-center size-8 rounded-lg text-red-500 hover:text-red-600 focus:z-10 focus:outline-none focus:ring-2 focus:ring-red-500 dark:hover:text-red-500 dark:focus:outline-none dark:focus:ring-1 dark:focus:ring-red-600")},m(n,t){I(n,e,t)},p:K,d(n){n&&B(e)}}}function Uo(o){let e;function n(i,s){return i[0]?Zo:Go}let t=n(o),r=t(o);return{c(){r.c(),e=Ve()},m(i,s){r.m(i,s),I(i,e,s)},p(i,[s]){t===(t=n(i))&&r?r.p(i,s):(r.d(1),r=t(i),r&&(r.c(),r.m(e.parentNode,e)))},i:K,o:K,d(i){i&&B(e),r.d(i)}}}function Qo(o,e,n){let{newMessage:t}=e,r=!1;function i(){if(n(0,r=!0),Br.set(!0),"webkitSpeechRecognition"in window)var s=new window.webkitSpeechRecognition;else var s=new window.SpeechRecognition;s.lang="en-US",s.start(),s.onresult=l=>{const c=l.results[0][0].transcript;console.log(c),n(2,t=c),n(0,r=!1)},s.onend=()=>{n(0,r=!1)},s.onerror=()=>{n(0,r=!1)}}return o.$$set=s=>{"newMessage"in s&&n(2,t=s.newMessage)},[r,i,t]}class Wo extends we{constructor(e){super(),_e(this,e,Qo,Uo,ye,{newMessage:2})}}function Fo(o){let e,n,t,r,i,s,l,c,a,m,h,$,k,A,j;function b(g){o[5](g)}let d={};return o[0]!==void 0&&(d.newMessage=o[0]),a=new Wo({props:d}),$n.push(()=>co(a,"newMessage",b)),{c(){e=L("div"),n=L("input"),t=F(),r=L("div"),i=L("div"),s=L("div"),s.innerHTML="",l=F(),c=L("div"),Q(a.$$.fragment),h=F(),$=L("button"),$.innerHTML='',p(n,"type","text"),p(n,"class","p-4 pb-12 block w-full bg-gray-100 border-gray-200 rounded-md text-sm focus:border-blue-500 focus:ring-blue-500 dark:bg-slate-800 dark:border-gray-700 dark:text-gray-400"),p(n,"placeholder","Ask me a question about your data that I can turn into SQL."),p(s,"class","flex items-center"),p($,"type","button"),p($,"class","inline-flex flex-shrink-0 justify-center items-center h-8 w-8 rounded-md text-white bg-blue-600 hover:bg-blue-500 focus:z-10 focus:outline-none focus:ring-2 focus:ring-blue-500 transition-all"),p(c,"class","flex items-center gap-x-1"),p(i,"class","flex justify-between items-center"),p(r,"class","absolute bottom-px inset-x-px p-2 rounded-b-md bg-gray-100 dark:bg-slate-800"),p(e,"class","relative")},m(g,w){I(g,e,w),v(e,n),mt(n,o[0]),v(e,t),v(e,r),v(r,i),v(i,s),v(i,l),v(i,c),G(a,c,null),v(c,h),v(c,$),k=!0,A||(j=[Te(n,"input",o[4]),Te(n,"keydown",o[1]),Te($,"click",o[2])],A=!0)},p(g,[w]){w&1&&n.value!==g[0]&&mt(n,g[0]);const D={};!m&&w&1&&(m=!0,D.newMessage=g[0],so(()=>m=!1)),a.$set(D)},i(g){k||(E(a.$$.fragment,g),k=!0)},o(g){q(a.$$.fragment,g),k=!1},d(g){g&&B(e),Z(a),A=!1,gt(j)}}}function Jo(o,e,n){let{onSubmit:t}=e,r="";function i(a){a.key==="Enter"&&(t(r),a.preventDefault())}function s(){t(r)}function l(){r=this.value,n(0,r)}function c(a){r=a,n(0,r)}return o.$$set=a=>{"onSubmit"in a&&n(3,t=a.onSubmit)},[r,i,s,t,l,c]}class Yo extends we{constructor(e){super(),_e(this,e,Jo,Fo,ye,{onSubmit:3})}}function Ko(o){let e;return{c(){e=L("div"),e.innerHTML='',p(e,"class","lg:hidden flex justify-end mb-2 sm:mb-3")},m(n,t){I(n,e,t)},p:K,i:K,o:K,d(n){n&&B(e)}}}class Xo extends we{constructor(e){super(),_e(this,e,null,Ko,ye,{})}}function ei(o){let e,n,t,r;return{c(){e=L("button"),n=pe(o[0]),p(e,"type","button"),p(e,"class","mb-2.5 mr-1.5 py-2 px-3 inline-flex justify-center items-center gap-x-2 rounded-md border border-blue-600 bg-white text-blue-600 align-middle hover:bg-blue-50 text-sm dark:bg-slate-900 dark:text-blue-500 dark:border-blue-500 dark:hover:text-blue-400 dark:hover:border-blue-400")},m(i,s){I(i,e,s),v(e,n),t||(r=Te(e,"click",o[1]),t=!0)},p(i,[s]){s&1&&De(n,i[0])},i:K,o:K,d(i){i&&B(e),t=!1,r()}}}function ti(o,e,n){let{message:t}=e,{onSubmit:r}=e;function i(){r(t)}return o.$$set=s=>{"message"in s&&n(0,t=s.message),"onSubmit"in s&&n(2,r=s.onSubmit)},[t,i,r]}class ut extends we{constructor(e){super(),_e(this,e,ti,ei,ye,{message:0,onSubmit:2})}}function ni(o){let e,n,t,r,i,s,l,c,a,m,h;return{c(){e=L("span"),n=Xe("svg"),t=Xe("defs"),r=Xe("linearGradient"),i=Xe("stop"),s=Xe("stop"),l=Xe("g"),c=Xe("g"),a=Xe("path"),m=Xe("path"),p(i,"offset","0"),p(i,"stop-color","#009efd"),p(s,"offset","1"),p(s,"stop-color","#2af598"),p(r,"gradientTransform","matrix(1.09331 0 0 1.09331 -47.1838 -88.8946)"),p(r,"gradientUnits","userSpaceOnUse"),p(r,"id","LinearGradient"),p(r,"x1","237.82"),p(r,"x2","785.097"),p(r,"y1","549.609"),p(r,"y2","549.609"),p(a,"d","M117.718 228.798C117.718 119.455 206.358 30.8151 315.701 30.8151L708.299 30.8151C817.642 30.8151 906.282 119.455 906.282 228.798L906.282 795.202C906.282 904.545 817.642 993.185 708.299 993.185L315.701 993.185C206.358 993.185 117.718 904.545 117.718 795.202L117.718 228.798Z"),p(a,"fill","#0f172a"),p(a,"fill-rule","nonzero"),p(a,"opacity","1"),p(a,"stroke","#374151"),p(a,"stroke-linecap","butt"),p(a,"stroke-linejoin","round"),p(a,"stroke-width","20"),p(m,"d","M212.828 215.239C213.095 281.169 213.629 413.028 213.629 413.028C213.629 413.028 511.51 808.257 513.993 809.681C612.915 677.809 810.759 414.065 810.759 414.065C810.759 414.065 811.034 280.901 811.172 214.319C662.105 362.973 662.105 362.973 513.038 511.627C362.933 363.433 362.933 363.433 212.828 215.239Z"),p(m,"fill","url(#LinearGradient)"),p(m,"fill-rule","nonzero"),p(m,"opacity","1"),p(m,"stroke","none"),p(c,"opacity","1"),p(l,"id","Layer-1"),p(n,"height","100%"),p(n,"stroke-miterlimit","10"),tn(n,"fill-rule","nonzero"),tn(n,"clip-rule","evenodd"),tn(n,"stroke-linecap","round"),tn(n,"stroke-linejoin","round"),p(n,"version","1.1"),p(n,"viewBox","0 0 1024 1024"),p(n,"width","100%"),p(n,"xml:space","preserve"),p(n,"xmlns","http://www.w3.org/2000/svg"),p(e,"class",h="flex-shrink-0 w-[2.375rem] h-[2.375rem] "+o[0])},m($,k){I($,e,k),v(e,n),v(n,t),v(t,r),v(r,i),v(r,s),v(n,l),v(l,c),v(c,a),v(c,m)},p($,[k]){k&1&&h!==(h="flex-shrink-0 w-[2.375rem] h-[2.375rem] "+$[0])&&p(e,"class",h)},i:K,o:K,d($){$&&B(e)}}}function ri(o,e,n){let t,{animate:r=!1}=e;return o.$$set=i=>{"animate"in i&&n(1,r=i.animate)},o.$$.update=()=>{o.$$.dirty&2&&n(0,t=r?"animate-bounce":"")},[t,r]}class zr extends we{constructor(e){super(),_e(this,e,ri,ni,ye,{animate:1})}}function oi(o){let e,n,t,r,i;n=new zr({});const s=o[1].default,l=on(s,o,o[0],null);return{c(){e=L("li"),Q(n.$$.fragment),t=F(),r=L("div"),l&&l.c(),p(r,"class","space-y-3 overflow-x-auto overflow-y-hidden whitespace-break-spaces"),p(e,"class","max-w-4xl py-2 px-4 sm:px-6 lg:px-8 mx-auto flex gap-x-2 sm:gap-x-4")},m(c,a){I(c,e,a),G(n,e,null),v(e,t),v(e,r),l&&l.m(r,null),i=!0},p(c,[a]){l&&l.p&&(!i||a&1)&&ln(l,s,c,c[0],i?sn(s,c[0],a,null):an(c[0]),null)},i(c){i||(E(n.$$.fragment,c),E(l,c),i=!0)},o(c){q(n.$$.fragment,c),q(l,c),i=!1},d(c){c&&B(e),Z(n),l&&l.d(c)}}}function ii(o,e,n){let{$$slots:t={},$$scope:r}=e;return o.$$set=i=>{"$$scope"in i&&n(0,r=i.$$scope)},[r,t]}class Fe extends we{constructor(e){super(),_e(this,e,ii,oi,ye,{})}}function si(o){let e;return{c(){e=pe("Thinking...")},m(n,t){I(n,e,t)},d(n){n&&B(e)}}}function li(o){let e,n,t,r,i,s;return n=new zr({props:{animate:!0}}),i=new at({props:{$$slots:{default:[si]},$$scope:{ctx:o}}}),{c(){e=L("li"),Q(n.$$.fragment),t=F(),r=L("div"),Q(i.$$.fragment),p(r,"class","space-y-3"),p(e,"class","max-w-4xl py-2 px-4 sm:px-6 lg:px-8 mx-auto flex gap-x-2 sm:gap-x-4")},m(l,c){I(l,e,c),G(n,e,null),v(e,t),v(e,r),G(i,r,null),s=!0},p(l,[c]){const a={};c&1&&(a.$$scope={dirty:c,ctx:l}),i.$set(a)},i(l){s||(E(n.$$.fragment,l),E(i.$$.fragment,l),s=!0)},o(l){q(n.$$.fragment,l),q(i.$$.fragment,l),s=!1},d(l){l&&B(e),Z(n),Z(i)}}}class ai extends we{constructor(e){super(),_e(this,e,null,li,ye,{})}}function ci(o){let e,n,t,r,i,s,l,c,a,m,h;return{c(){e=L("ul"),n=L("li"),t=L("div"),r=L("span"),r.textContent="CSV",i=F(),s=L("a"),l=Xe("svg"),c=Xe("path"),a=Xe("path"),m=pe(` - Download`),p(r,"class","mr-3 flex-1 w-0 truncate"),p(c,"d","M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"),p(a,"d","M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"),p(l,"class","flex-shrink-0 w-3 h-3"),p(l,"width","16"),p(l,"height","16"),p(l,"viewBox","0 0 16 16"),p(l,"fill","currentColor"),p(s,"class","flex items-center gap-x-2 text-gray-500 hover:text-blue-500 whitespace-nowrap"),p(s,"href",h="/api/v0/download_csv?id="+o[0]),p(t,"class","w-full flex justify-between truncate"),p(n,"class","flex items-center gap-x-2 p-3 text-sm bg-white border text-gray-800 first:rounded-t-lg first:mt-0 last:rounded-b-lg dark:bg-slate-900 dark:border-gray-700 dark:text-gray-200"),p(e,"class","flex flex-col justify-end text-start -space-y-px")},m($,k){I($,e,k),v(e,n),v(n,t),v(t,r),v(t,i),v(t,s),v(s,l),v(l,c),v(l,a),v(s,m)},p($,[k]){k&1&&h!==(h="/api/v0/download_csv?id="+$[0])&&p(s,"href",h)},i:K,o:K,d($){$&&B(e)}}}function ui(o,e,n){let{id:t}=e;return o.$$set=r=>{"id"in r&&n(0,t=r.id)},[t]}class fi extends we{constructor(e){super(),_e(this,e,ui,ci,ye,{id:0})}}function Jn(o,e,n){const t=o.slice();return t[5]=e[n],t}function Yn(o,e,n){const t=o.slice();return t[8]=e[n],t}function Kn(o,e,n){const t=o.slice();return t[8]=e[n],t}function Xn(o){let e,n,t,r;return{c(){e=L("th"),n=L("div"),t=L("span"),t.textContent=`${o[8]}`,r=F(),p(t,"class","text-xs font-semibold uppercase tracking-wide text-gray-800 dark:text-gray-200"),p(n,"class","flex items-center gap-x-2"),p(e,"scope","col"),p(e,"class","px-6 py-3 text-left")},m(i,s){I(i,e,s),v(e,n),v(n,t),v(e,r)},p:K,d(i){i&&B(e)}}}function er(o){let e,n,t;return{c(){e=L("td"),n=L("div"),t=L("span"),t.textContent=`${o[5][o[8]]}`,p(t,"class","text-gray-800 dark:text-gray-200"),p(n,"class","px-6 py-3"),p(e,"class","h-px w-px whitespace-nowrap")},m(r,i){I(r,e,i),v(e,n),v(n,t)},p:K,d(r){r&&B(e)}}}function tr(o){let e,n,t=Le(o[3]),r=[];for(let i=0;i{b=null}),Ce())},i(d){h||(E(b),h=!0)},o(d){q(b),h=!1},d(d){d&&(B(e),B(a),B(m)),nt(k,d),nt(j,d),b&&b.d(d)}}}function pi(o,e,n){let t;et(o,Ot,c=>n(1,t=c));let{id:r}=e,{df:i}=e,s=JSON.parse(i),l=s.length>0?Object.keys(s[0]):[];return o.$$set=c=>{"id"in c&&n(0,r=c.id),"df"in c&&n(4,i=c.df)},[r,t,s,l,i]}class Vr extends we{constructor(e){super(),_e(this,e,pi,di,ye,{id:0,df:4})}}function mi(o){let e;return{c(){e=L("div"),p(e,"id",o[0])},m(n,t){I(n,e,t)},p:K,i:K,o:K,d(n){n&&B(e)}}}function gi(o,e,n){let{fig:t}=e,r=JSON.parse(t),i=Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15);return Rr(()=>{Plotly.newPlot(document.getElementById(i),r,{responsive:!0})}),o.$$set=s=>{"fig"in s&&n(1,t=s.fig)},[i,t]}class Gr extends we{constructor(e){super(),_e(this,e,gi,mi,ye,{fig:1})}}function hi(o){let e,n,t,r;return{c(){e=L("button"),n=pe(o[0]),p(e,"type","button"),p(e,"class","mb-2.5 mr-1.5 py-3 px-4 inline-flex justify-center items-center gap-2 rounded-md border-2 border-green-200 font-semibold text-green-500 hover:text-white hover:bg-green-500 hover:border-green-500 focus:outline-none focus:ring-2 focus:ring-green-200 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800")},m(i,s){I(i,e,s),v(e,n),t||(r=Te(e,"click",o[1]),t=!0)},p(i,[s]){s&1&&De(n,i[0])},i:K,o:K,d(i){i&&B(e),t=!1,r()}}}function yi(o,e,n){let{message:t}=e,{onSubmit:r}=e;function i(){r(t)}return o.$$set=s=>{"message"in s&&n(0,t=s.message),"onSubmit"in s&&n(2,r=s.onSubmit)},[t,i,r]}class Zr extends we{constructor(e){super(),_e(this,e,yi,hi,ye,{message:0,onSubmit:2})}}function bi(o){let e,n,t,r,i,s,l,c,a;return{c(){e=L("div"),n=L("div"),t=L("div"),t.innerHTML='',r=F(),i=L("div"),s=L("h3"),s.textContent="Error",l=F(),c=L("div"),a=pe(o[0]),p(t,"class","flex-shrink-0"),p(s,"class","text-sm text-yellow-800 font-semibold"),p(c,"class","mt-1 text-sm text-yellow-700"),p(i,"class","ml-4"),p(n,"class","flex"),p(e,"class","bg-yellow-50 border border-yellow-200 rounded-md p-4"),p(e,"role","alert")},m(m,h){I(m,e,h),v(e,n),v(n,t),v(n,r),v(n,i),v(i,s),v(i,l),v(i,c),v(c,a)},p(m,[h]){h&1&&De(a,m[0])},i:K,o:K,d(m){m&&B(e)}}}function vi(o,e,n){let{message:t}=e;return o.$$set=r=>{"message"in r&&n(0,t=r.message)},[t]}let En=class extends we{constructor(e){super(),_e(this,e,vi,bi,ye,{message:0})}};function _i(o){let e,n;const t=o[1].default,r=on(t,o,o[0],null);return{c(){e=L("div"),r&&r.c(),p(e,"class","font-mono whitespace-pre-wrap")},m(i,s){I(i,e,s),r&&r.m(e,null),n=!0},p(i,[s]){r&&r.p&&(!n||s&1)&&ln(r,t,i,i[0],n?sn(t,i[0],s,null):an(i[0]),null)},i(i){n||(E(r,i),n=!0)},o(i){q(r,i),n=!1},d(i){i&&B(e),r&&r.d(i)}}}function wi(o,e,n){let{$$slots:t={},$$scope:r}=e;return o.$$set=i=>{"$$scope"in i&&n(0,r=i.$$scope)},[r,t]}class Ur extends we{constructor(e){super(),_e(this,e,wi,_i,ye,{})}}function $i(o){let e;return{c(){e=pe(o[1])},m(n,t){I(n,e,t)},p(n,t){t&2&&De(e,n[1])},d(n){n&&B(e)}}}function ki(o){let e,n,t,r,i,s,l,c;return t=new ut({props:{message:"Run SQL",onSubmit:o[3]}}),i=new at({props:{$$slots:{default:[$i]},$$scope:{ctx:o}}}),{c(){e=L("textarea"),n=F(),Q(t.$$.fragment),r=F(),Q(i.$$.fragment),p(e,"rows","6"),p(e,"class","block p-2.5 w-full text-blue-600 hover:text-blue-500 dark:text-blue-500 dark:hover:text-blue-400 bg-gray-50 rounded-lg border border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500 font-mono"),p(e,"placeholder","SELECT col1, col2, col3 FROM ...")},m(a,m){I(a,e,m),mt(e,o[1]),I(a,n,m),G(t,a,m),I(a,r,m),G(i,a,m),s=!0,l||(c=Te(e,"input",o[2]),l=!0)},p(a,[m]){m&2&&mt(e,a[1]);const h={};m&3&&(h.onSubmit=a[3]),t.$set(h);const $={};m&18&&($.$$scope={dirty:m,ctx:a}),i.$set($)},i(a){s||(E(t.$$.fragment,a),E(i.$$.fragment,a),s=!0)},o(a){q(t.$$.fragment,a),q(i.$$.fragment,a),s=!1},d(a){a&&(B(e),B(n),B(r)),Z(t,a),Z(i,a),l=!1,c()}}}function xi(o,e,n){let t;et(o,Wt,l=>n(1,t=l));let{onSubmit:r}=e;function i(){t=this.value,Wt.set(t)}const s=()=>r(t);return o.$$set=l=>{"onSubmit"in l&&n(0,r=l.onSubmit)},[r,t,i,s]}class Si extends we{constructor(e){super(),_e(this,e,xi,ki,ye,{onSubmit:0})}}function Oi(o){let e,n,t,r,i,s;return t=new ut({props:{message:o[3],onSubmit:o[5]}}),{c(){e=L("textarea"),n=F(),Q(t.$$.fragment),p(e,"rows","6"),p(e,"class","block p-2.5 w-full text-blue-600 hover:text-blue-500 dark:text-blue-500 dark:hover:text-blue-400 bg-gray-50 rounded-lg border border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500 font-mono"),p(e,"placeholder",o[2])},m(l,c){I(l,e,c),mt(e,o[0]),I(l,n,c),G(t,l,c),r=!0,i||(s=Te(e,"input",o[4]),i=!0)},p(l,[c]){(!r||c&4)&&p(e,"placeholder",l[2]),c&1&&mt(e,l[0]);const a={};c&8&&(a.message=l[3]),c&3&&(a.onSubmit=l[5]),t.$set(a)},i(l){r||(E(t.$$.fragment,l),r=!0)},o(l){q(t.$$.fragment,l),r=!1},d(l){l&&(B(e),B(n)),Z(t,l),i=!1,s()}}}function Ci(o,e,n){let{onSubmit:t}=e,{currentValue:r}=e,{placeholder:i}=e,{buttonText:s}=e;function l(){r=this.value,n(0,r)}const c=()=>t(r);return o.$$set=a=>{"onSubmit"in a&&n(1,t=a.onSubmit),"currentValue"in a&&n(0,r=a.currentValue),"placeholder"in a&&n(2,i=a.placeholder),"buttonText"in a&&n(3,s=a.buttonText)},[r,t,i,s,l,c]}class Li extends we{constructor(e){super(),_e(this,e,Ci,Oi,ye,{onSubmit:1,currentValue:0,placeholder:2,buttonText:3})}}function Ei(o){let e,n;return e=new ut({props:{message:"Play",onSubmit:o[2]}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,[r]){const i={};r&1&&(i.onSubmit=t[2]),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function rr(o){if("speechSynthesis"in window){const e=new SpeechSynthesisUtterance(o);e.lang="en-US",e.volume=1,e.rate=1,e.pitch=1,window.speechSynthesis.speak(e)}else console.error("SpeechSynthesis API is not supported in this browser.")}function Ti(o,e,n){let t;et(o,Br,s=>n(1,t=s));let{message:r}=e;const i=()=>rr(r);return o.$$set=s=>{"message"in s&&n(0,r=s.message)},o.$$.update=()=>{o.$$.dirty&3&&t&&rr(r)},[r,t,i]}class ji extends we{constructor(e){super(),_e(this,e,Ti,Ei,ye,{message:0})}}function or(o,e,n){const t=o.slice();return t[11]=e[n],t}function ir(o,e,n){const t=o.slice();return t[14]=e[n],t}function sr(o,e,n){const t=o.slice();return t[17]=e[n],t}function lr(o,e,n){const t=o.slice();return t[17]=e[n],t}function ar(o){let e,n;return e=new Fe({props:{$$slots:{default:[qi]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194305&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function cr(o){let e,n;return e=new ut({props:{message:o[17],onSubmit:Ln}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&1&&(i.message=t[17]),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Pi(o){let e=o[0].header+"",n,t,r,i,s=Le(o[0].questions),l=[];for(let a=0;aq(l[a],1,1,()=>{l[a]=null});return{c(){n=pe(e),t=F();for(let a=0;a{h=null}),Ce())},i($){m||(E(e.$$.fragment,$),E(t.$$.fragment,$),E(i.$$.fragment,$),E(l.$$.fragment,$),E(h),m=!0)},o($){q(e.$$.fragment,$),q(t.$$.fragment,$),q(i.$$.fragment,$),q(l.$$.fragment,$),q(h),m=!1},d($){$&&(B(n),B(r),B(s),B(c),B(a)),Z(e,$),Z(t,$),Z(i,$),Z(l,$),h&&h.d($)}}}function Hi(o){let e,n;return e=new Fe({props:{$$slots:{default:[as]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194316&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Bi(o){let e,n;return e=new Fe({props:{$$slots:{default:[cs]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194308&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Ii(o){let e,n;return e=new Ct({props:{message:"No, the results were not correct."}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p:K,i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Ni(o){let e,n;return e=new Ct({props:{message:"Yes, the results were correct."}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p:K,i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function zi(o){let e,n,t=o[3].ask_results_correct&&dr(o);return{c(){t&&t.c(),e=Ve()},m(r,i){t&&t.m(r,i),I(r,e,i),n=!0},p(r,i){r[3].ask_results_correct?t?i&8&&E(t,1):(t=dr(r),t.c(),E(t,1),t.m(e.parentNode,e)):t&&(Oe(),q(t,1,1,()=>{t=null}),Ce())},i(r){n||(E(t),n=!0)},o(r){q(t),n=!1},d(r){r&&B(e),t&&t.d(r)}}}function Vi(o){let e,n,t=o[3].ask_results_correct&&pr(o);return{c(){t&&t.c(),e=Ve()},m(r,i){t&&t.m(r,i),I(r,e,i),n=!0},p(r,i){r[3].ask_results_correct?t?i&8&&E(t,1):(t=pr(r),t.c(),E(t,1),t.m(e.parentNode,e)):t&&(Oe(),q(t,1,1,()=>{t=null}),Ce())},i(r){n||(E(t),n=!0)},o(r){q(t),n=!1},d(r){r&&B(e),t&&t.d(r)}}}function Gi(o){let e,n;return e=new Ct({props:{message:"Change the chart based on these instructions",$$slots:{default:[ps]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194304&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Zi(o){let e,n,t=o[3].chart&&mr(o);return{c(){t&&t.c(),e=Ve()},m(r,i){t&&t.m(r,i),I(r,e,i),n=!0},p(r,i){r[3].chart?t?(t.p(r,i),i&8&&E(t,1)):(t=mr(r),t.c(),E(t,1),t.m(e.parentNode,e)):t&&(Oe(),q(t,1,1,()=>{t=null}),Ce())},i(r){n||(E(t),n=!0)},o(r){q(t),n=!1},d(r){r&&B(e),t&&t.d(r)}}}function Ui(o){let e,n,t=o[3].table&&hr(o);return{c(){t&&t.c(),e=Ve()},m(r,i){t&&t.m(r,i),I(r,e,i),n=!0},p(r,i){r[3].table?t?(t.p(r,i),i&8&&E(t,1)):(t=hr(r),t.c(),E(t,1),t.m(e.parentNode,e)):t&&(Oe(),q(t,1,1,()=>{t=null}),Ce())},i(r){n||(E(t),n=!0)},o(r){q(t),n=!1},d(r){r&&B(e),t&&t.d(r)}}}function Qi(o){let e,n;return e=new Fe({props:{$$slots:{default:[bs]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194308&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Wi(o){let e,n,t=o[3].sql==!0&&br(o);return{c(){t&&t.c(),e=Ve()},m(r,i){t&&t.m(r,i),I(r,e,i),n=!0},p(r,i){r[3].sql==!0?t?(t.p(r,i),i&8&&E(t,1)):(t=br(r),t.c(),E(t,1),t.m(e.parentNode,e)):t&&(Oe(),q(t,1,1,()=>{t=null}),Ce())},i(r){n||(E(t),n=!0)},o(r){q(t),n=!1},d(r){r&&B(e),t&&t.d(r)}}}function Fi(o){let e,n;return e=new Ct({props:{message:o[14].question}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4&&(i.message=t[14].question),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Ji(o){let e=JSON.stringify(o[14])+"",n;return{c(){n=pe(e)},m(t,r){I(t,n,r)},p(t,r){r&4&&e!==(e=JSON.stringify(t[14])+"")&&De(n,e)},d(t){t&&B(n)}}}function Yi(o){let e,n;return e=new at({props:{$$slots:{default:[Ji]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194308&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Ki(o){let e=o[14].text+"",n;return{c(){n=pe(e)},m(t,r){I(t,n,r)},p(t,r){r&4&&e!==(e=t[14].text+"")&&De(n,e)},d(t){t&&B(n)}}}function Xi(o){let e,n,t,r;return e=new at({props:{$$slots:{default:[Ki]},$$scope:{ctx:o}}}),t=new ji({props:{message:o[14].text}}),{c(){Q(e.$$.fragment),n=F(),Q(t.$$.fragment)},m(i,s){G(e,i,s),I(i,n,s),G(t,i,s),r=!0},p(i,s){const l={};s&4194308&&(l.$$scope={dirty:s,ctx:i}),e.$set(l);const c={};s&4&&(c.message=i[14].text),t.$set(c)},i(i){r||(E(e.$$.fragment,i),E(t.$$.fragment,i),r=!0)},o(i){q(e.$$.fragment,i),q(t.$$.fragment,i),r=!1},d(i){i&&B(n),Z(e,i),Z(t,i)}}}function es(o){let e,n;return e=new Si({props:{onSubmit:Oo}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p:K,i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function ts(o){let e=o[14].sql+"",n;return{c(){n=pe(e)},m(t,r){I(t,n,r)},p(t,r){r&4&&e!==(e=t[14].sql+"")&&De(n,e)},d(t){t&&B(n)}}}function ns(o){let e,n;return e=new Ur({props:{$$slots:{default:[ts]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194308&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function rs(o){let e,n;return e=new at({props:{$$slots:{default:[ns]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194308&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function os(o){let e,n;return e=new Vr({props:{id:o[14].id,df:o[14].df}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4&&(i.id=t[14].id),r&4&&(i.df=t[14].df),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function is(o){let e,n;return e=new Gr({props:{fig:o[14].fig}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4&&(i.fig=t[14].fig),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function ur(o){let e,n;return e=new Fe({props:{$$slots:{default:[ls]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194308&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function ss(o){let e=o[14].summary+"",n;return{c(){n=pe(e)},m(t,r){I(t,n,r)},p(t,r){r&4&&e!==(e=t[14].summary+"")&&De(n,e)},d(t){t&&B(n)}}}function ls(o){let e,n;return e=new at({props:{$$slots:{default:[ss]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194308&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function fr(o){let e,n;function t(){return o[9](o[14])}return e=new ut({props:{message:"Auto Fix",onSubmit:t}}),{c(){Q(e.$$.fragment)},m(r,i){G(e,r,i),n=!0},p(r,i){o=r;const s={};i&4&&(s.onSubmit=t),e.$set(s)},i(r){n||(E(e.$$.fragment,r),n=!0)},o(r){q(e.$$.fragment,r),n=!1},d(r){Z(e,r)}}}function as(o){let e,n,t,r,i,s;e=new En({props:{message:o[14].error}}),t=new ut({props:{message:"Manually Fix",onSubmit:o[8]}});let l=o[3].auto_fix_sql&&fr(o);return{c(){Q(e.$$.fragment),n=F(),Q(t.$$.fragment),r=F(),l&&l.c(),i=Ve()},m(c,a){G(e,c,a),I(c,n,a),G(t,c,a),I(c,r,a),l&&l.m(c,a),I(c,i,a),s=!0},p(c,a){const m={};a&4&&(m.message=c[14].error),e.$set(m),c[3].auto_fix_sql?l?(l.p(c,a),a&8&&E(l,1)):(l=fr(c),l.c(),E(l,1),l.m(i.parentNode,i)):l&&(Oe(),q(l,1,1,()=>{l=null}),Ce())},i(c){s||(E(e.$$.fragment,c),E(t.$$.fragment,c),E(l),s=!0)},o(c){q(e.$$.fragment,c),q(t.$$.fragment,c),q(l),s=!1},d(c){c&&(B(n),B(r),B(i)),Z(e,c),Z(t,c),l&&l.d(c)}}}function cs(o){let e,n;return e=new En({props:{message:o[14].error}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4&&(i.message=t[14].error),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function dr(o){let e,n;return e=new Ct({props:{message:"",$$slots:{default:[us]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function us(o){let e,n,t,r;return e=new ut({props:{message:"Yes",onSubmit:o[6]}}),t=new ut({props:{message:"No",onSubmit:o[7]}}),{c(){Q(e.$$.fragment),n=F(),Q(t.$$.fragment)},m(i,s){G(e,i,s),I(i,n,s),G(t,i,s),r=!0},p:K,i(i){r||(E(e.$$.fragment,i),E(t.$$.fragment,i),r=!0)},o(i){q(e.$$.fragment,i),q(t.$$.fragment,i),r=!1},d(i){i&&B(n),Z(e,i),Z(t,i)}}}function pr(o){let e,n;return e=new Fe({props:{$$slots:{default:[ds]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function fs(o){let e;return{c(){e=pe("Were the results correct?")},m(n,t){I(n,e,t)},d(n){n&&B(e)}}}function ds(o){let e,n;return e=new at({props:{$$slots:{default:[fs]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194304&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function ps(o){let e,n;return e=new Li({props:{onSubmit:o[5],placeholder:"Make the line red",buttonText:"Update Chart",currentValue:""}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p:K,i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function mr(o){let e,n,t,r;e=new Fe({props:{$$slots:{default:[ms]},$$scope:{ctx:o}}});let i=o[3].redraw_chart&&gr(o);return{c(){Q(e.$$.fragment),n=F(),i&&i.c(),t=Ve()},m(s,l){G(e,s,l),I(s,n,l),i&&i.m(s,l),I(s,t,l),r=!0},p(s,l){const c={};l&4194308&&(c.$$scope={dirty:l,ctx:s}),e.$set(c),s[3].redraw_chart?i?l&8&&E(i,1):(i=gr(s),i.c(),E(i,1),i.m(t.parentNode,t)):i&&(Oe(),q(i,1,1,()=>{i=null}),Ce())},i(s){r||(E(e.$$.fragment,s),E(i),r=!0)},o(s){q(e.$$.fragment,s),q(i),r=!1},d(s){s&&(B(n),B(t)),Z(e,s),i&&i.d(s)}}}function ms(o){let e,n;return e=new Gr({props:{fig:o[14].fig}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4&&(i.fig=t[14].fig),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function gr(o){let e,n;return e=new Fe({props:{$$slots:{default:[gs]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function gs(o){let e,n;return e=new ut({props:{message:"Redraw Chart",onSubmit:Co}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p:K,i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function hr(o){let e,n;return e=new Fe({props:{$$slots:{default:[hs]},$$scope:{ctx:o}}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194308&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function hs(o){let e,n;return e=new Vr({props:{id:o[14].id,df:o[14].df}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4&&(i.id=t[14].id),r&4&&(i.df=t[14].df),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function yr(o){let e,n;return e=new ut({props:{message:o[17],onSubmit:Ln}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4&&(i.message=t[17]),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function ys(o){let e=o[14].header+"",n,t,r,i,s=Le(o[14].questions),l=[];for(let a=0;aq(l[a],1,1,()=>{l[a]=null});return{c(){n=pe(e),t=F();for(let a=0;a{s[m]=null}),Ce(),n=s[e],n?n.p(c,a):(n=s[e]=i[e](c),n.c()),E(n,1),n.m(t.parentNode,t))},i(c){r||(E(n),r=!0)},o(c){q(n),r=!1},d(c){c&&B(t),s[e].d(c)}}}function _r(o){let e,n;return e=new ai({}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function $s(o){let e,n;return e=new Yo({props:{onSubmit:Ln}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p:K,i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function ks(o){let e,n,t,r;e=new Zr({props:{message:"New Question",onSubmit:dn}});let i=Le(o[2]),s=[];for(let c=0;cq(s[c],1,1,()=>{s[c]=null});return{c(){Q(e.$$.fragment),n=F();for(let c=0;c{t=null}),Ce())},i(r){n||(E(t),n=!0)},o(r){q(t),n=!1},d(r){r&&B(e),t&&t.d(r)}}}function xs(o){let e,n,t,r,i,s,l,c,a,m,h,$,k,A;t=new Ho({});let j=o[0]&&o[0].type=="question_list"&&!o[1]&&ar(o),b=Le(o[2]),d=[];for(let u=0;uq(d[u],1,1,()=>{d[u]=null});let w=o[4]&&_r();m=new Xo({});const D=[ks,$s],M=[];function O(u,f){return u[1]?0:1}return $=O(o),k=M[$]=D[$](o),{c(){e=L("div"),n=L("div"),Q(t.$$.fragment),r=F(),j&&j.c(),i=F(),s=L("ul");for(let u=0;u{j=null}),Ce()),f&12){b=Le(u[2]);let T;for(T=0;T{w=null}),Ce());let S=$;$=O(u),$===S?M[$].p(u,f):(Oe(),q(M[S],1,1,()=>{M[S]=null}),Ce(),k=M[$],k?k.p(u,f):(k=M[$]=D[$](u),k.c()),E(k,1),k.m(a,null))},i(u){if(!A){E(t.$$.fragment,u),E(j);for(let f=0;fn(0,t=A)),et(o,un,A=>n(1,r=A)),et(o,Bt,A=>n(2,i=A)),et(o,Ot,A=>n(3,s=A)),et(o,Ut,A=>n(4,l=A)),[t,r,i,s,l,A=>{Eo(A)},()=>{Lo()},()=>{Un()},()=>{Un()},A=>{So(A.error)},A=>A.type==="question_cache"?mo(A.id):void 0]}class Os extends we{constructor(e){super(),_e(this,e,Ss,xs,ye,{})}}function Cs(o){let e,n,t,r,i,s,l,c,a,m,h,$,k,A,j,b,d,g,w;return{c(){e=L("div"),n=L("div"),t=L("div"),r=L("div"),i=L("h3"),i.textContent="Are you sure?",s=F(),l=L("button"),l.innerHTML='Close ',c=F(),a=L("div"),m=L("p"),h=pe(o[0]),$=F(),k=L("div"),A=L("button"),A.textContent="Close",j=F(),b=L("button"),d=pe(o[1]),p(i,"class","font-bold text-gray-800 dark:text-white"),p(l,"type","button"),p(l,"class","hs-dropdown-toggle inline-flex flex-shrink-0 justify-center items-center h-8 w-8 rounded-md text-gray-500 hover:text-gray-400 focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-offset-2 focus:ring-offset-white transition-all text-sm dark:focus:ring-gray-700 dark:focus:ring-offset-gray-800"),p(l,"data-hs-overlay","#hs-vertically-centered-modal"),p(r,"class","flex justify-between items-center py-3 px-4 border-b dark:border-gray-700"),p(m,"class","text-gray-800 dark:text-gray-400"),p(a,"class","p-4 overflow-y-auto"),p(A,"type","button"),p(A,"class","hs-dropdown-toggle py-3 px-4 inline-flex justify-center items-center gap-2 rounded-md border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-white focus:ring-blue-600 transition-all text-sm dark:bg-slate-900 dark:hover:bg-slate-800 dark:border-gray-700 dark:text-gray-400 dark:hover:text-white dark:focus:ring-offset-gray-800"),p(A,"data-hs-overlay","#hs-vertically-centered-modal"),p(b,"class","py-3 px-4 inline-flex justify-center items-center gap-2 rounded-md border border-transparent font-semibold bg-blue-500 text-white hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800"),p(k,"class","flex justify-end items-center gap-x-2 py-3 px-4 border-t dark:border-gray-700"),p(t,"class","flex flex-col bg-white border shadow-sm rounded-xl dark:bg-gray-800 dark:border-gray-700 dark:shadow-slate-700/[.7]"),p(n,"class","hs-overlay-open:mt-7 hs-overlay-open:opacity-100 hs-overlay-open:duration-500 mt-0 opacity-0 ease-out transition-all sm:max-w-lg sm:w-full m-3 sm:mx-auto min-h-[calc(100%-3.5rem)] flex items-center"),p(e,"class","hs-overlay open w-full h-full fixed top-0 left-0 z-[60] overflow-x-hidden overflow-y-auto")},m(D,M){I(D,e,M),v(e,n),v(n,t),v(t,r),v(r,i),v(r,s),v(r,l),v(t,c),v(t,a),v(a,m),v(m,h),v(t,$),v(t,k),v(k,A),v(k,j),v(k,b),v(b,d),g||(w=[Te(l,"click",function(){Dt(o[2])&&o[2].apply(this,arguments)}),Te(A,"click",function(){Dt(o[2])&&o[2].apply(this,arguments)}),Te(b,"click",function(){Dt(o[3])&&o[3].apply(this,arguments)})],g=!0)},p(D,[M]){o=D,M&1&&De(h,o[0]),M&2&&De(d,o[1])},i:K,o:K,d(D){D&&B(e),g=!1,gt(w)}}}function Ls(o,e,n){let{message:t}=e,{buttonLabel:r}=e,{onClose:i}=e,{onConfirm:s}=e;return o.$$set=l=>{"message"in l&&n(0,t=l.message),"buttonLabel"in l&&n(1,r=l.buttonLabel),"onClose"in l&&n(2,i=l.onClose),"onConfirm"in l&&n(3,s=l.onConfirm)},[t,r,i,s]}class Es extends we{constructor(e){super(),_e(this,e,Ls,Cs,ye,{message:0,buttonLabel:1,onClose:2,onConfirm:3})}}function kr(o,e,n){const t=o.slice();return t[10]=e[n].name,t[11]=e[n].description,t[12]=e[n].example,t}function xr(o){let e,n,t,r,i,s,l,c,a,m,h,$;return m=to(o[7][0]),{c(){e=L("div"),n=L("div"),t=L("input"),r=F(),i=L("label"),s=L("span"),s.textContent=`${o[10]}`,l=F(),c=L("span"),c.textContent=`${o[11]}`,a=F(),p(t,"id","hs-radio-"+o[10]),t.__value=o[10],mt(t,t.__value),p(t,"name","hs-radio-with-description"),p(t,"type","radio"),p(t,"class","border-gray-200 rounded-full text-blue-600 focus:ring-blue-500 dark:bg-gray-800 dark:border-gray-700 dark:checked:bg-blue-500 dark:checked:border-blue-500 dark:focus:ring-offset-gray-800"),p(t,"aria-describedby","hs-radio-delete-description"),p(n,"class","flex items-center h-5 mt-1"),p(s,"class","block text-sm font-semibold text-gray-800 dark:text-gray-300"),p(c,"id","hs-radio-ddl-description"),p(c,"class","block text-sm text-gray-600 dark:text-gray-500"),p(i,"for","hs-radio-"+o[10]),p(i,"class","ml-3"),p(e,"class","relative flex items-start"),m.p(t)},m(k,A){I(k,e,A),v(e,n),v(n,t),t.checked=t.__value===o[0],v(e,r),v(e,i),v(i,s),v(i,l),v(i,c),v(e,a),h||($=Te(t,"change",o[6]),h=!0)},p(k,A){A&1&&(t.checked=t.__value===k[0])},d(k){k&&B(e),m.r(),h=!1,$()}}}function Ts(o){let e,n,t,r,i,s,l,c,a,m,h,$,k,A,j,b,d,g,w,D,M,O,u,f,S,T=Le(o[3]),C=[];for(let P=0;PClose ',c=F(),a=L("span"),a.textContent="Training Data Type",m=F(),h=L("div");for(let H=0;H{r(l,i.toLowerCase())},a=[[]];function m(){i=this.__value,n(0,i)}const h=k=>k.name===i;function $(){l=this.value,n(2,l)}return o.$$set=k=>{"onDismiss"in k&&n(1,t=k.onDismiss),"onTrain"in k&&n(5,r=k.onTrain),"selectedTrainingDataType"in k&&n(0,i=k.selectedTrainingDataType)},[i,t,l,s,c,r,m,a,h,$]}class Ps extends we{constructor(e){super(),_e(this,e,js,Ts,ye,{onDismiss:1,onTrain:5,selectedTrainingDataType:0})}}function Sr(o,e,n){const t=o.slice();return t[21]=e[n],t}function Or(o,e,n){const t=o.slice();return t[24]=e[n],t}function Cr(o,e,n){const t=o.slice();return t[24]=e[n],t}function Lr(o){let e,n;return e=new Ps({props:{onDismiss:o[13],onTrain:o[0]}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&1&&(i.onTrain=t[0]),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function qs(o){let e;return{c(){e=pe("Action")},m(n,t){I(n,e,t)},p:K,d(n){n&&B(e)}}}function As(o){let e=o[24]+"",n;return{c(){n=pe(e)},m(t,r){I(t,n,r)},p:K,d(t){t&&B(n)}}}function Er(o){let e,n,t,r;function i(c,a){return c[24]!="id"?As:qs}let l=i(o)(o);return{c(){e=L("th"),n=L("div"),t=L("span"),l.c(),r=F(),p(t,"class","text-xs font-semibold uppercase tracking-wide text-gray-800 dark:text-gray-200"),p(n,"class","flex items-center gap-x-2"),p(e,"scope","col"),p(e,"class","px-6 py-3 text-left")},m(c,a){I(c,e,a),v(e,n),v(n,t),l.m(t,null),v(e,r)},p(c,a){l.p(c,a)},d(c){c&&B(e),l.d()}}}function Ms(o){let e,n,t;function r(){return o[18](o[21],o[24])}return{c(){e=L("button"),e.textContent="Delete",p(e,"type","button"),p(e,"class","py-2 px-3 inline-flex justify-center items-center gap-2 rounded-md border-2 border-red-200 font-semibold text-red-500 hover:text-white hover:bg-red-500 hover:border-red-500 focus:outline-none focus:ring-2 focus:ring-red-200 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800")},m(i,s){I(i,e,s),n||(t=Te(e,"click",r),n=!0)},p(i,s){o=i},d(i){i&&B(e),n=!1,t()}}}function Ds(o){let e,n=o[21][o[24]]+"",t;return{c(){e=L("span"),t=pe(n),p(e,"class","text-gray-800 dark:text-gray-200")},m(r,i){I(r,e,i),v(e,t)},p(r,i){i&16&&n!==(n=r[21][r[24]]+"")&&De(t,n)},d(r){r&&B(e)}}}function Tr(o){let e,n;function t(s,l){return s[24]!="id"?Ds:Ms}let i=t(o)(o);return{c(){e=L("td"),n=L("div"),i.c(),p(n,"class","px-6 py-3"),p(e,"class","h-px w-px ")},m(s,l){I(s,e,l),v(e,n),i.m(n,null)},p(s,l){i.p(s,l)},d(s){s&&B(e),i.d()}}}function jr(o){let e,n,t=Le(o[8]),r=[];for(let i=0;iTraining Data

Add or remove training data. Good training data is the key to accuracy.

',a=F(),m=L("div"),h=L("div"),$=L("button"),$.textContent="View all",k=F(),A=L("button"),A.innerHTML=` - Add training data`,j=F(),b=L("table"),d=L("thead"),g=L("tr");for(let ee=0;ee - Prev`,ht=F(),be=L("button"),be.innerHTML=`Next - `,ft=F(),Pe&&Pe.c(),Qe=Ve(),p($,"class","py-2 px-3 inline-flex justify-center items-center gap-2 rounded-md border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-white focus:ring-blue-600 transition-all text-sm dark:bg-slate-900 dark:hover:bg-slate-800 dark:border-gray-700 dark:text-gray-400 dark:hover:text-white dark:focus:ring-offset-gray-800"),p(A,"class","py-2 px-3 inline-flex justify-center items-center gap-2 rounded-md border border-transparent font-semibold bg-blue-500 text-white hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800"),p(h,"class","inline-flex gap-x-2"),p(l,"class","px-6 py-4 grid gap-3 md:flex md:justify-between md:items-center border-b border-gray-200 dark:border-gray-700"),p(d,"class","bg-gray-50 dark:bg-slate-800"),p(D,"class","divide-y divide-gray-200 dark:divide-gray-700"),p(b,"class","min-w-full divide-y divide-gray-200 dark:divide-gray-700"),p(f,"class","text-sm text-gray-600 dark:text-gray-400"),p(C,"class","py-2 px-3 pr-9 block w-full border-gray-200 rounded-md text-sm focus:border-blue-500 focus:ring-blue-500 dark:bg-slate-900 dark:border-gray-700 dark:text-gray-400"),p(T,"class","max-w-sm space-y-3"),p(ae,"class","text-sm text-gray-600 dark:text-gray-400"),p(u,"class","inline-flex items-center gap-x-2"),p(Ue,"type","button"),p(Ue,"class","py-2 px-3 inline-flex justify-center items-center gap-2 rounded-md border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-white focus:ring-blue-600 transition-all text-sm dark:bg-slate-900 dark:hover:bg-slate-800 dark:border-gray-700 dark:text-gray-400 dark:hover:text-white dark:focus:ring-offset-gray-800"),p(be,"type","button"),p(be,"class","py-2 px-3 inline-flex justify-center items-center gap-2 rounded-md border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-white focus:ring-blue-600 transition-all text-sm dark:bg-slate-900 dark:hover:bg-slate-800 dark:border-gray-700 dark:text-gray-400 dark:hover:text-white dark:focus:ring-offset-gray-800"),p(Ge,"class","inline-flex gap-x-2"),p(O,"class","px-6 py-4 grid gap-3 md:flex md:justify-between md:items-center border-t border-gray-200 dark:border-gray-700"),p(s,"class","bg-white border border-gray-200 rounded-xl shadow-sm overflow-hidden dark:bg-slate-900 dark:border-gray-700"),p(i,"class","p-1.5 min-w-full inline-block align-middle"),p(r,"class","-m-1.5 overflow-x-auto"),p(t,"class","flex flex-col"),p(n,"class","max-w-[85rem] px-4 py-10 sm:px-6 lg:px-8 lg:py-14 mx-auto")},m(ee,Be){qe&&qe.m(ee,Be),I(ee,e,Be),I(ee,n,Be),v(n,t),v(t,r),v(r,i),v(i,s),v(s,l),v(l,c),v(l,a),v(l,m),v(m,h),v(h,$),v(h,k),v(h,A),v(s,j),v(s,b),v(b,d),v(d,g);for(let oe=0;oe{qe=null}),Ce()),Be&256){bt=Le(ee[8]);let oe;for(oe=0;oe{Pe=null}),Ce())},i(ee){yt||(E(qe),E(Pe),yt=!0)},o(ee){q(qe),q(Pe),yt=!1},d(ee){ee&&(B(e),B(n),B(ft),B(Qe)),qe&&qe.d(ee),nt(Re,ee),nt(je,ee),Pe&&Pe.d(ee),It=!1,gt(Nt)}}}function Hs(o,e,n){let{df:t}=e,{onTrain:r}=e,{removeTrainingData:i}=e,s=JSON.parse(t),l=s.length>0?Object.keys(s[0]):[],c=10,a=1,m=Math.ceil(s.length/c),h=(a-1)*c,$=a*c,k=s.slice(h,$);const A=()=>{a>1&&n(16,a--,a)},j=()=>{a{n(16,a=1),n(15,c=s.length)};let d=null,g=!1;const w=()=>{n(6,g=!0)},D=()=>{n(6,g=!1)},M=(f,S)=>{n(5,d=f[S])},O=()=>{n(5,d=null)},u=()=>{d&&i(d)};return o.$$set=f=>{"df"in f&&n(14,t=f.df),"onTrain"in f&&n(0,r=f.onTrain),"removeTrainingData"in f&&n(1,i=f.removeTrainingData)},o.$$.update=()=>{o.$$.dirty&98304&&n(2,h=(a-1)*c),o.$$.dirty&98304&&n(3,$=a*c),o.$$.dirty&12&&n(4,k=s.slice(h,$)),o.$$.dirty&32768&&n(17,m=Math.ceil(s.length/c)),o.$$.dirty&196608&&console.log(a,m)},[r,i,h,$,k,d,g,s,l,A,j,b,w,D,t,c,a,m,M,O,u]}class Bs extends we{constructor(e){super(),_e(this,e,Hs,Rs,ye,{df:14,onTrain:0,removeTrainingData:1})}}function Is(o){let e;return{c(){e=L("div"),e.innerHTML='
Loading...
',p(e,"class","min-h-[15rem] flex flex-col bg-white border shadow-sm rounded-xl dark:bg-gray-800 dark:border-gray-700 dark:shadow-slate-700/[.7]")},m(n,t){I(n,e,t)},p:K,i:K,o:K,d(n){n&&B(e)}}}function Ns(o){let e,n,t,r;const i=[Vs,zs],s=[];function l(c,a){return c[0].type==="df"?0:c[0].type==="error"?1:-1}return~(e=l(o))&&(n=s[e]=i[e](o)),{c(){n&&n.c(),t=Ve()},m(c,a){~e&&s[e].m(c,a),I(c,t,a),r=!0},p(c,a){let m=e;e=l(c),e===m?~e&&s[e].p(c,a):(n&&(Oe(),q(s[m],1,1,()=>{s[m]=null}),Ce()),~e?(n=s[e],n?n.p(c,a):(n=s[e]=i[e](c),n.c()),E(n,1),n.m(t.parentNode,t)):n=null)},i(c){r||(E(n),r=!0)},o(c){q(n),r=!1},d(c){c&&B(t),~e&&s[e].d(c)}}}function zs(o){let e,n;return e=new En({props:{message:o[0].error}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&1&&(i.message=t[0].error),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Vs(o){let e,n;return e=new Bs({props:{df:o[0].df,removeTrainingData:bo,onTrain:$o}}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&1&&(i.df=t[0].df),e.$set(i)},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Gs(o){let e,n,t,r,i;const s=[Ns,Is],l=[];function c(a,m){return a[0]!==null?0:1}return t=c(o),r=l[t]=s[t](o),{c(){e=L("div"),n=L("div"),r.c(),p(n,"class","py-10 lg:py-14"),p(e,"class","relative h-screen w-full lg:pl-64")},m(a,m){I(a,e,m),v(e,n),l[t].m(n,null),i=!0},p(a,[m]){let h=t;t=c(a),t===h?l[t].p(a,m):(Oe(),q(l[h],1,1,()=>{l[h]=null}),Ce(),r=l[t],r?r.p(a,m):(r=l[t]=s[t](a),r.c()),E(r,1),r.m(n,null))},i(a){i||(E(r),i=!0)},o(a){q(r),i=!1},d(a){a&&B(e),l[t].d()}}}function Zs(o,e,n){let t;return et(o,cn,r=>n(0,t=r)),[t]}class Us extends we{constructor(e){super(),_e(this,e,Zs,Gs,ye,{})}}function Qs(o){let e;return{c(){e=L("body"),e.innerHTML=`

No Training Data

Did you read the docs?

Oops, something went wrong.

You need some training data before you can use Vanna

`,d(r,"class","w-28 h-auto"),Zn(r.src,i=o[0].logo)||d(r,"src",i),d(r,"alt","Vanna Logo"),d(l,"class","lg:hidden"),d(t,"class","flex items-center justify-between py-4 pr-4 pl-7"),d(k,"class","flex items-center gap-x-3 py-2 px-3 text-sm text-slate-700 rounded-md hover:bg-gray-100 dark:hover:bg-gray-900 dark:text-slate-400 dark:hover:text-slate-300"),d(g,"class","space-y-1.5 p-4"),d(a,"class","h-full"),d(y,"class","mt-auto"),d(n,"class","hs-accordion-group w-full h-full flex flex-col"),d(n,"data-hs-accordion-always-open",""),d(e,"id","application-sidebar"),d(e,"class","hs-overlay hs-overlay-open:translate-x-0 -translate-x-full transition-all duration-300 transform hidden fixed top-0 left-0 bottom-0 z-[60] w-64 bg-white border-r border-gray-200 overflow-y-auto scrollbar-y lg:block lg:translate-x-0 lg:right-auto lg:bottom-0 dark:scrollbar-y dark:bg-slate-900 dark:border-gray-700")},m(C,f){N(C,e,f),v(e,n),v(n,t),v(t,r),v(t,s),v(t,l),v(n,c),v(n,a),v(a,g),w&&w.m(g,null),v(g,h),v(g,x),v(x,k),v(g,q);for(let u=0;un(0,t=s)),et(o,Cn,s=>n(1,r=s)),[t,r,s=>{bo(s.id)}]}class Ao extends ve{constructor(e){super(),be(this,e,qo,Po,he,{})}}var Mo={exports:{}};/*! For license information please see preline.js.LICENSE.txt */(function(o,e){(function(n,t){o.exports=t()})(self,function(){return(()=>{var n={661:(s,l,c)=>{function a(M){return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(y){return typeof y}:function(y){return y&&typeof Symbol=="function"&&y.constructor===Symbol&&y!==Symbol.prototype?"symbol":typeof y},a(M)}function g(M,y){for(var p=0;p"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var C,f=k(m);if(w){var u=k(this).constructor;C=Reflect.construct(f,arguments,u)}else C=f.apply(this,arguments);return x(this,C)});function P(){return function(C,f){if(!(C instanceof f))throw new TypeError("Cannot call a class as a function")}(this,P),D.call(this,".hs-accordion")}return y=P,(p=[{key:"init",value:function(){var C=this;document.addEventListener("click",function(f){var u=f.target,_=u.closest(C.selector),j=u.closest(".hs-accordion-toggle"),O=u.closest(".hs-accordion-group");_&&O&&j&&(C._hideAll(_),C.show(_))})}},{key:"show",value:function(C){var f=this;if(C.classList.contains("active"))return this.hide(C);C.classList.add("active");var u=C.querySelector(".hs-accordion-content");u.style.display="block",u.style.height=0,setTimeout(function(){u.style.height="".concat(u.scrollHeight,"px")}),this.afterTransition(u,function(){C.classList.contains("active")&&(u.style.height="",f._fireEvent("open",C),f._dispatch("open.hs.accordion",C,C))})}},{key:"hide",value:function(C){var f=this,u=C.querySelector(".hs-accordion-content");u.style.height="".concat(u.scrollHeight,"px"),setTimeout(function(){u.style.height=0}),this.afterTransition(u,function(){C.classList.contains("active")||(u.style.display="",f._fireEvent("hide",C),f._dispatch("hide.hs.accordion",C,C))}),C.classList.remove("active")}},{key:"_hideAll",value:function(C){var f=this,u=C.closest(".hs-accordion-group");u.hasAttribute("data-hs-accordion-always-open")||u.querySelectorAll(this.selector).forEach(function(_){C!==_&&f.hide(_)})}}])&&g(y.prototype,p),Object.defineProperty(y,"prototype",{writable:!1}),P}(c(765).Z);window.HSAccordion=new q,document.addEventListener("load",window.HSAccordion.init())},795:(s,l,c)=>{function a(y){return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(p){return typeof p}:function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p},a(y)}function g(y,p){(p==null||p>y.length)&&(p=y.length);for(var m=0,w=new Array(p);m"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var f,u=q(w);if(D){var _=q(this).constructor;f=Reflect.construct(u,arguments,_)}else f=u.apply(this,arguments);return k(this,f)});function C(){return function(f,u){if(!(f instanceof u))throw new TypeError("Cannot call a class as a function")}(this,C),P.call(this,"[data-hs-collapse]")}return p=C,(m=[{key:"init",value:function(){var f=this;document.addEventListener("click",function(u){var _=u.target.closest(f.selector);if(_){var j=document.querySelectorAll(_.getAttribute("data-hs-collapse"));f.toggle(j)}})}},{key:"toggle",value:function(f){var u,_=this;f.length&&(u=f,function(j){if(Array.isArray(j))return g(j)}(u)||function(j){if(typeof Symbol<"u"&&j[Symbol.iterator]!=null||j["@@iterator"]!=null)return Array.from(j)}(u)||function(j,O){if(j){if(typeof j=="string")return g(j,O);var T=Object.prototype.toString.call(j).slice(8,-1);return T==="Object"&&j.constructor&&(T=j.constructor.name),T==="Map"||T==="Set"?Array.from(j):T==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(T)?g(j,O):void 0}}(u)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()).forEach(function(j){j.classList.contains("hidden")?_.show(j):_.hide(j)})}},{key:"show",value:function(f){var u=this;f.classList.add("open"),f.classList.remove("hidden"),f.style.height=0,document.querySelectorAll(this.selector).forEach(function(_){f.closest(_.getAttribute("data-hs-collapse"))&&_.classList.add("open")}),f.style.height="".concat(f.scrollHeight,"px"),this.afterTransition(f,function(){f.classList.contains("open")&&(f.style.height="",u._fireEvent("open",f),u._dispatch("open.hs.collapse",f,f))})}},{key:"hide",value:function(f){var u=this;f.style.height="".concat(f.scrollHeight,"px"),setTimeout(function(){f.style.height=0}),f.classList.remove("open"),this.afterTransition(f,function(){f.classList.contains("open")||(f.classList.add("hidden"),f.style.height=null,u._fireEvent("hide",f),u._dispatch("hide.hs.collapse",f,f),f.querySelectorAll(".hs-mega-menu-content.block").forEach(function(_){_.classList.remove("block"),_.classList.add("hidden")}))}),document.querySelectorAll(this.selector).forEach(function(_){f.closest(_.getAttribute("data-hs-collapse"))&&_.classList.remove("open")})}}])&&h(p.prototype,m),Object.defineProperty(p,"prototype",{writable:!1}),C}(c(765).Z);window.HSCollapse=new M,document.addEventListener("load",window.HSCollapse.init())},682:(s,l,c)=>{var a=c(714),g=c(765);const h={historyIndex:-1,addHistory:function(D){this.historyIndex=D},existsInHistory:function(D){return D>this.historyIndex},clearHistory:function(){this.historyIndex=-1}};function x(D){return x=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(P){return typeof P}:function(P){return P&&typeof Symbol=="function"&&P.constructor===Symbol&&P!==Symbol.prototype?"symbol":typeof P},x(D)}function k(D){return function(P){if(Array.isArray(P))return q(P)}(D)||function(P){if(typeof Symbol<"u"&&P[Symbol.iterator]!=null||P["@@iterator"]!=null)return Array.from(P)}(D)||function(P,C){if(P){if(typeof P=="string")return q(P,C);var f=Object.prototype.toString.call(P).slice(8,-1);return f==="Object"&&P.constructor&&(f=P.constructor.name),f==="Map"||f==="Set"?Array.from(P):f==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(f)?q(P,C):void 0}}(D)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function q(D,P){(P==null||P>D.length)&&(P=D.length);for(var C=0,f=new Array(P);C"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var O,T=m(f);if(u){var H=m(this).constructor;O=Reflect.construct(T,arguments,H)}else O=T.apply(this,arguments);return p(this,O)});function j(){var O;return function(T,H){if(!(T instanceof H))throw new TypeError("Cannot call a class as a function")}(this,j),(O=_.call(this,".hs-dropdown")).positions={top:"top","top-left":"top-start","top-right":"top-end",bottom:"bottom","bottom-left":"bottom-start","bottom-right":"bottom-end",right:"right","right-top":"right-start","right-bottom":"right-end",left:"left","left-top":"left-start","left-bottom":"left-end"},O.absoluteStrategyModifiers=function(T){return[{name:"applyStyles",fn:function(H){var I=(window.getComputedStyle(T).getPropertyValue("--strategy")||"absolute").replace(" ",""),F=(window.getComputedStyle(T).getPropertyValue("--adaptive")||"adaptive").replace(" ","");H.state.elements.popper.style.position=I,H.state.elements.popper.style.transform=F==="adaptive"?H.state.styles.popper.transform:null,H.state.elements.popper.style.top=null,H.state.elements.popper.style.bottom=null,H.state.elements.popper.style.left=null,H.state.elements.popper.style.right=null,H.state.elements.popper.style.margin=0}},{name:"computeStyles",options:{adaptive:!1}}]},O._history=h,O}return P=j,C=[{key:"init",value:function(){var O=this;document.addEventListener("click",function(T){var H=T.target,I=H.closest(O.selector),F=H.closest(".hs-dropdown-menu");if(I&&I.classList.contains("open")||O._closeOthers(I),F){var J=(window.getComputedStyle(I).getPropertyValue("--auto-close")||"").replace(" ","");if((J=="false"||J=="inside")&&!I.parentElement.closest(O.selector))return}I&&(I.classList.contains("open")?O.close(I):O.open(I))}),document.addEventListener("mousemove",function(T){var H=T.target,I=H.closest(O.selector);if(H.closest(".hs-dropdown-menu"),I){var F=(window.getComputedStyle(I).getPropertyValue("--trigger")||"click").replace(" ","");if(F!=="hover")return;I&&I.classList.contains("open")||O._closeOthers(I),F!=="hover"||I.classList.contains("open")||/iPad|iPhone|iPod/.test(navigator.platform)||navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform)||navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform)||O._hover(H)}}),document.addEventListener("keydown",this._keyboardSupport.bind(this)),window.addEventListener("resize",function(){document.querySelectorAll(".hs-dropdown.open").forEach(function(T){O.close(T,!0)})})}},{key:"_closeOthers",value:function(){var O=this,T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,H=document.querySelectorAll("".concat(this.selector,".open"));H.forEach(function(I){if(!T||T.closest(".hs-dropdown.open")!==I){var F=(window.getComputedStyle(I).getPropertyValue("--auto-close")||"").replace(" ","");F!="false"&&F!="outside"&&O.close(I)}})}},{key:"_hover",value:function(O){var T=this,H=O.closest(this.selector);this.open(H),document.addEventListener("mousemove",function I(F){F.target.closest(T.selector)&&F.target.closest(T.selector)!==H.parentElement.closest(T.selector)||(T.close(H),document.removeEventListener("mousemove",I,!0))},!0)}},{key:"close",value:function(O){var T=this,H=arguments.length>1&&arguments[1]!==void 0&&arguments[1],I=O.querySelector(".hs-dropdown-menu"),F=function(){O.classList.contains("open")||(I.classList.remove("block"),I.classList.add("hidden"),I.style.inset=null,I.style.position=null,O._popper&&O._popper.destroy())};H||this.afterTransition(O.querySelector("[data-hs-dropdown-transition]")||I,function(){F()}),I.style.margin=null,O.classList.remove("open"),H&&F(),this._fireEvent("close",O),this._dispatch("close.hs.dropdown",O,O);var J=I.querySelectorAll(".hs-dropdown.open");J.forEach(function(Ce){T.close(Ce,!0)})}},{key:"open",value:function(O){var T=O.querySelector(".hs-dropdown-menu"),H=(window.getComputedStyle(O).getPropertyValue("--placement")||"").replace(" ",""),I=(window.getComputedStyle(O).getPropertyValue("--strategy")||"fixed").replace(" ",""),F=((window.getComputedStyle(O).getPropertyValue("--adaptive")||"adaptive").replace(" ",""),parseInt((window.getComputedStyle(O).getPropertyValue("--offset")||"10").replace(" ","")));if(I!=="static"){O._popper&&O._popper.destroy();var J=(0,a.fi)(O,T,{placement:this.positions[H]||"bottom-start",strategy:I,modifiers:[].concat(k(I!=="fixed"?this.absoluteStrategyModifiers(O):[]),[{name:"offset",options:{offset:[0,F]}}])});O._popper=J}T.style.margin=null,T.classList.add("block"),T.classList.remove("hidden"),setTimeout(function(){O.classList.add("open")}),this._fireEvent("open",O),this._dispatch("open.hs.dropdown",O,O)}},{key:"_keyboardSupport",value:function(O){var T=document.querySelector(".hs-dropdown.open");if(T)return O.keyCode===27?(O.preventDefault(),this._esc(T)):O.keyCode===40?(O.preventDefault(),this._down(T)):O.keyCode===38?(O.preventDefault(),this._up(T)):O.keyCode===36?(O.preventDefault(),this._start(T)):O.keyCode===35?(O.preventDefault(),this._end(T)):void this._byChar(T,O.key)}},{key:"_esc",value:function(O){this.close(O)}},{key:"_up",value:function(O){var T=O.querySelector(".hs-dropdown-menu"),H=k(T.querySelectorAll("a")).reverse().filter(function(J){return!J.disabled}),I=T.querySelector("a:focus"),F=H.findIndex(function(J){return J===I});F+1{function a(y){return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(p){return typeof p}:function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p},a(y)}function g(y,p){(p==null||p>y.length)&&(p=y.length);for(var m=0,w=new Array(p);m"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var f,u=q(w);if(D){var _=q(this).constructor;f=Reflect.construct(u,arguments,_)}else f=u.apply(this,arguments);return k(this,f)});function C(){var f;return function(u,_){if(!(u instanceof _))throw new TypeError("Cannot call a class as a function")}(this,C),(f=P.call(this,"[data-hs-overlay]")).openNextOverlay=!1,f}return p=C,(m=[{key:"init",value:function(){var f=this;document.addEventListener("click",function(u){var _=u.target.closest(f.selector),j=u.target.closest("[data-hs-overlay-close]"),O=u.target.getAttribute("aria-overlay")==="true";return j?f.close(j.closest(".hs-overlay.open")):_?f.toggle(document.querySelector(_.getAttribute("data-hs-overlay"))):void(O&&f._onBackdropClick(u.target))}),document.addEventListener("keydown",function(u){if(u.keyCode===27){var _=document.querySelector(".hs-overlay.open");if(!_)return;setTimeout(function(){_.getAttribute("data-hs-overlay-keyboard")!=="false"&&f.close(_)})}})}},{key:"toggle",value:function(f){f&&(f.classList.contains("hidden")?this.open(f):this.close(f))}},{key:"open",value:function(f){var u=this;if(f){var _=document.querySelector(".hs-overlay.open"),j=this.getClassProperty(f,"--body-scroll","false")!=="true";if(_)return this.openNextOverlay=!0,this.close(_).then(function(){u.open(f),u.openNextOverlay=!1});j&&(document.body.style.overflow="hidden"),this._buildBackdrop(f),this._checkTimer(f),this._autoHide(f),f.classList.remove("hidden"),f.setAttribute("aria-overlay","true"),f.setAttribute("tabindex","-1"),setTimeout(function(){f.classList.contains("hidden")||(f.classList.add("open"),u._fireEvent("open",f),u._dispatch("open.hs.overlay",f,f),u._focusInput(f))},50)}}},{key:"close",value:function(f){var u=this;return new Promise(function(_){f&&(f.classList.remove("open"),f.removeAttribute("aria-overlay"),f.removeAttribute("tabindex","-1"),u.afterTransition(f,function(){f.classList.contains("open")||(f.classList.add("hidden"),u._destroyBackdrop(),u._fireEvent("close",f),u._dispatch("close.hs.overlay",f,f),document.body.style.overflow="",_(f))}))})}},{key:"_autoHide",value:function(f){var u=this,_=parseInt(this.getClassProperty(f,"--auto-hide","0"));_&&(f.autoHide=setTimeout(function(){u.close(f)},_))}},{key:"_checkTimer",value:function(f){f.autoHide&&(clearTimeout(f.autoHide),delete f.autoHide)}},{key:"_onBackdropClick",value:function(f){this.getClassProperty(f,"--overlay-backdrop","true")!=="static"&&this.close(f)}},{key:"_buildBackdrop",value:function(f){var u,_=this,j=f.getAttribute("data-hs-overlay-backdrop-container")||!1,O=document.createElement("div"),T="transition duration fixed inset-0 z-50 bg-gray-900 bg-opacity-50 dark:bg-opacity-80 hs-overlay-backdrop",H=function(J,Ce){var ae=typeof Symbol<"u"&&J[Symbol.iterator]||J["@@iterator"];if(!ae){if(Array.isArray(J)||(ae=function(_e,ft){if(_e){if(typeof _e=="string")return g(_e,ft);var We=Object.prototype.toString.call(_e).slice(8,-1);return We==="Object"&&_e.constructor&&(We=_e.constructor.name),We==="Map"||We==="Set"?Array.from(_e):We==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(We)?g(_e,ft):void 0}}(J))||Ce&&J&&typeof J.length=="number"){ae&&(J=ae);var ot=0,tt=function(){};return{s:tt,n:function(){return ot>=J.length?{done:!0}:{done:!1,value:J[ot++]}},e:function(_e){throw _e},f:tt}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Ge,Ue=!0,ht=!1;return{s:function(){ae=ae.call(J)},n:function(){var _e=ae.next();return Ue=_e.done,_e},e:function(_e){ht=!0,Ge=_e},f:function(){try{Ue||ae.return==null||ae.return()}finally{if(ht)throw Ge}}}}(f.classList.values());try{for(H.s();!(u=H.n()).done;){var I=u.value;I.startsWith("hs-overlay-backdrop-open:")&&(T+=" ".concat(I))}}catch(J){H.e(J)}finally{H.f()}var F=this.getClassProperty(f,"--overlay-backdrop","true")!=="static";this.getClassProperty(f,"--overlay-backdrop","true")==="false"||(j&&((O=document.querySelector(j).cloneNode(!0)).classList.remove("hidden"),T=O.classList,O.classList=""),F&&O.addEventListener("click",function(){return _.close(f)},!0),O.setAttribute("data-hs-overlay-backdrop-template",""),document.body.appendChild(O),setTimeout(function(){O.classList=T}))}},{key:"_destroyBackdrop",value:function(){var f=document.querySelector("[data-hs-overlay-backdrop-template]");f&&(this.openNextOverlay&&(f.style.transitionDuration="".concat(1.8*parseFloat(window.getComputedStyle(f).transitionDuration.replace(/[^\d.-]/g,"")),"s")),f.classList.add("opacity-0"),this.afterTransition(f,function(){f.remove()}))}},{key:"_focusInput",value:function(f){var u=f.querySelector("[autofocus]");u&&u.focus()}}])&&h(p.prototype,m),Object.defineProperty(p,"prototype",{writable:!1}),C}(c(765).Z);window.HSOverlay=new M,document.addEventListener("load",window.HSOverlay.init())},181:(s,l,c)=>{function a(M){return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(y){return typeof y}:function(y){return y&&typeof Symbol=="function"&&y.constructor===Symbol&&y!==Symbol.prototype?"symbol":typeof y},a(M)}function g(M,y){for(var p=0;p"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var C,f=k(m);if(w){var u=k(this).constructor;C=Reflect.construct(f,arguments,u)}else C=f.apply(this,arguments);return x(this,C)});function P(){return function(C,f){if(!(C instanceof f))throw new TypeError("Cannot call a class as a function")}(this,P),D.call(this,"[data-hs-remove-element]")}return y=P,(p=[{key:"init",value:function(){var C=this;document.addEventListener("click",function(f){var u=f.target.closest(C.selector);if(u){var _=document.querySelector(u.getAttribute("data-hs-remove-element"));_&&(_.classList.add("hs-removing"),C.afterTransition(_,function(){_.remove()}))}})}}])&&g(y.prototype,p),Object.defineProperty(y,"prototype",{writable:!1}),P}(c(765).Z);window.HSRemoveElement=new q,document.addEventListener("load",window.HSRemoveElement.init())},778:(s,l,c)=>{function a(M){return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(y){return typeof y}:function(y){return y&&typeof Symbol=="function"&&y.constructor===Symbol&&y!==Symbol.prototype?"symbol":typeof y},a(M)}function g(M,y){for(var p=0;p"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var C,f=k(m);if(w){var u=k(this).constructor;C=Reflect.construct(f,arguments,u)}else C=f.apply(this,arguments);return x(this,C)});function P(){var C;return function(f,u){if(!(f instanceof u))throw new TypeError("Cannot call a class as a function")}(this,P),(C=D.call(this,"[data-hs-scrollspy] ")).activeSection=null,C}return y=P,(p=[{key:"init",value:function(){var C=this;document.querySelectorAll(this.selector).forEach(function(f){var u=document.querySelector(f.getAttribute("data-hs-scrollspy")),_=f.querySelectorAll("[href]"),j=u.children,O=f.getAttribute("data-hs-scrollspy-scrollable-parent")?document.querySelector(f.getAttribute("data-hs-scrollspy-scrollable-parent")):document;Array.from(j).forEach(function(T){T.getAttribute("id")&&O.addEventListener("scroll",function(H){return C._update({$scrollspyEl:f,$scrollspyContentEl:u,links:_,$sectionEl:T,sections:j,ev:H})})}),_.forEach(function(T){T.addEventListener("click",function(H){H.preventDefault(),T.getAttribute("href")!=="javascript:;"&&C._scrollTo({$scrollspyEl:f,$scrollableEl:O,$link:T})})})})}},{key:"_update",value:function(C){var f=C.ev,u=C.$scrollspyEl,_=(C.sections,C.links),j=C.$sectionEl,O=parseInt(this.getClassProperty(u,"--scrollspy-offset","0")),T=this.getClassProperty(j,"--scrollspy-offset")||O,H=f.target===document?0:parseInt(f.target.getBoundingClientRect().top),I=parseInt(j.getBoundingClientRect().top)-T-H,F=j.offsetHeight;if(I<=0&&I+F>0){if(this.activeSection===j)return;_.forEach(function(ot){ot.classList.remove("active")});var J=u.querySelector('[href="#'.concat(j.getAttribute("id"),'"]'));if(J){J.classList.add("active");var Ce=J.closest("[data-hs-scrollspy-group]");if(Ce){var ae=Ce.querySelector("[href]");ae&&ae.classList.add("active")}}this.activeSection=j}}},{key:"_scrollTo",value:function(C){var f=C.$scrollspyEl,u=C.$scrollableEl,_=C.$link,j=document.querySelector(_.getAttribute("href")),O=parseInt(this.getClassProperty(f,"--scrollspy-offset","0")),T=this.getClassProperty(j,"--scrollspy-offset")||O,H=u===document?0:u.offsetTop,I=j.offsetTop-T-H,F=u===document?window:u;this._fireEvent("scroll",f),this._dispatch("scroll.hs.scrollspy",f,f),window.history.replaceState(null,null,_.getAttribute("href")),F.scrollTo({top:I,left:0,behavior:"smooth"})}}])&&g(y.prototype,p),Object.defineProperty(y,"prototype",{writable:!1}),P}(c(765).Z);window.HSScrollspy=new q,document.addEventListener("load",window.HSScrollspy.init())},51:(s,l,c)=>{function a(p){return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},a(p)}function g(p){return function(m){if(Array.isArray(m))return h(m)}(p)||function(m){if(typeof Symbol<"u"&&m[Symbol.iterator]!=null||m["@@iterator"]!=null)return Array.from(m)}(p)||function(m,w){if(m){if(typeof m=="string")return h(m,w);var D=Object.prototype.toString.call(m).slice(8,-1);return D==="Object"&&m.constructor&&(D=m.constructor.name),D==="Map"||D==="Set"?Array.from(m):D==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D)?h(m,w):void 0}}(p)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function h(p,m){(m==null||m>p.length)&&(m=p.length);for(var w=0,D=new Array(m);w"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var u,_=M(D);if(P){var j=M(this).constructor;u=Reflect.construct(_,arguments,j)}else u=_.apply(this,arguments);return q(this,u)});function f(){return function(u,_){if(!(u instanceof _))throw new TypeError("Cannot call a class as a function")}(this,f),C.call(this,"[data-hs-tab]")}return m=f,(w=[{key:"init",value:function(){var u=this;document.addEventListener("keydown",this._keyboardSupport.bind(this)),document.addEventListener("click",function(_){var j=_.target.closest(u.selector);j&&u.open(j)}),document.querySelectorAll("[hs-data-tab-select]").forEach(function(_){var j=document.querySelector(_.getAttribute("hs-data-tab-select"));j&&j.addEventListener("change",function(O){var T=document.querySelector('[data-hs-tab="'.concat(O.target.value,'"]'));T&&u.open(T)})})}},{key:"open",value:function(u){var _=document.querySelector(u.getAttribute("data-hs-tab")),j=g(u.parentElement.children),O=g(_.parentElement.children),T=u.closest("[hs-data-tab-select]"),H=T?document.querySelector(T.getAttribute("data-hs-tab")):null;j.forEach(function(I){return I.classList.remove("active")}),O.forEach(function(I){return I.classList.add("hidden")}),u.classList.add("active"),_.classList.remove("hidden"),this._fireEvent("change",u),this._dispatch("change.hs.tab",u,u),H&&(H.value=u.getAttribute("data-hs-tab"))}},{key:"_keyboardSupport",value:function(u){var _=u.target.closest(this.selector);if(_){var j=_.closest('[role="tablist"]').getAttribute("data-hs-tabs-vertical")==="true";return(j?u.keyCode===38:u.keyCode===37)?(u.preventDefault(),this._left(_)):(j?u.keyCode===40:u.keyCode===39)?(u.preventDefault(),this._right(_)):u.keyCode===36?(u.preventDefault(),this._start(_)):u.keyCode===35?(u.preventDefault(),this._end(_)):void 0}}},{key:"_right",value:function(u){var _=u.closest('[role="tablist"]');if(_){var j=g(_.querySelectorAll(this.selector)).filter(function(H){return!H.disabled}),O=_.querySelector("button:focus"),T=j.findIndex(function(H){return H===O});T+1{var a=c(765),g=c(714);function h(p){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},h(p)}function x(p,m){for(var w=0;w"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var u,_=M(D);if(P){var j=M(this).constructor;u=Reflect.construct(_,arguments,j)}else u=_.apply(this,arguments);return q(this,u)});function f(){return function(u,_){if(!(u instanceof _))throw new TypeError("Cannot call a class as a function")}(this,f),C.call(this,".hs-tooltip")}return m=f,(w=[{key:"init",value:function(){var u=this;document.addEventListener("click",function(_){var j=_.target.closest(u.selector);j&&u.getClassProperty(j,"--trigger")==="focus"&&u._focus(j),j&&u.getClassProperty(j,"--trigger")==="click"&&u._click(j)}),document.addEventListener("mousemove",function(_){var j=_.target.closest(u.selector);j&&u.getClassProperty(j,"--trigger")!=="focus"&&u.getClassProperty(j,"--trigger")!=="click"&&u._hover(j)})}},{key:"_hover",value:function(u){var _=this;if(!u.classList.contains("show")){var j=u.querySelector(".hs-tooltip-toggle"),O=u.querySelector(".hs-tooltip-content"),T=this.getClassProperty(u,"--placement");(0,g.fi)(j,O,{placement:T||"top",strategy:"fixed",modifiers:[{name:"offset",options:{offset:[0,5]}}]}),this.show(u),u.addEventListener("mouseleave",function H(I){I.relatedTarget.closest(_.selector)&&I.relatedTarget.closest(_.selector)==u||(_.hide(u),u.removeEventListener("mouseleave",H,!0))},!0)}}},{key:"_focus",value:function(u){var _=this,j=u.querySelector(".hs-tooltip-toggle"),O=u.querySelector(".hs-tooltip-content"),T=this.getClassProperty(u,"--placement"),H=this.getClassProperty(u,"--strategy");(0,g.fi)(j,O,{placement:T||"top",strategy:H||"fixed",modifiers:[{name:"offset",options:{offset:[0,5]}}]}),this.show(u),u.addEventListener("blur",function I(){_.hide(u),u.removeEventListener("blur",I,!0)},!0)}},{key:"_click",value:function(u){var _=this;if(!u.classList.contains("show")){var j=u.querySelector(".hs-tooltip-toggle"),O=u.querySelector(".hs-tooltip-content"),T=this.getClassProperty(u,"--placement"),H=this.getClassProperty(u,"--strategy");(0,g.fi)(j,O,{placement:T||"top",strategy:H||"fixed",modifiers:[{name:"offset",options:{offset:[0,5]}}]}),this.show(u);var I=function F(J){setTimeout(function(){_.hide(u),u.removeEventListener("click",F,!0),u.removeEventListener("blur",F,!0)})};u.addEventListener("blur",I,!0),u.addEventListener("click",I,!0)}}},{key:"show",value:function(u){var _=this;u.querySelector(".hs-tooltip-content").classList.remove("hidden"),setTimeout(function(){u.classList.add("show"),_._fireEvent("show",u),_._dispatch("show.hs.tooltip",u,u)})}},{key:"hide",value:function(u){var _=u.querySelector(".hs-tooltip-content");u.classList.remove("show"),this._fireEvent("hide",u),this._dispatch("hide.hs.tooltip",u,u),this.afterTransition(_,function(){u.classList.contains("show")||_.classList.add("hidden")})}}])&&x(m.prototype,w),Object.defineProperty(m,"prototype",{writable:!1}),f}(a.Z);window.HSTooltip=new y,document.addEventListener("load",window.HSTooltip.init())},765:(s,l,c)=>{function a(h,x){for(var k=0;kg});var g=function(){function h(q,M){(function(y,p){if(!(y instanceof p))throw new TypeError("Cannot call a class as a function")})(this,h),this.$collection=[],this.selector=q,this.config=M,this.events={}}var x,k;return x=h,k=[{key:"_fireEvent",value:function(q){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;this.events.hasOwnProperty(q)&&this.events[q](M)}},{key:"_dispatch",value:function(q,M){var y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,p=new CustomEvent(q,{detail:{payload:y},bubbles:!0,cancelable:!0,composed:!1});M.dispatchEvent(p)}},{key:"on",value:function(q,M){this.events[q]=M}},{key:"afterTransition",value:function(q,M){window.getComputedStyle(q,null).getPropertyValue("transition")!=="all 0s ease 0s"?q.addEventListener("transitionend",function y(){M(),q.removeEventListener("transitionend",y,!0)},!0):M()}},{key:"getClassProperty",value:function(q,M){var y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",p=(window.getComputedStyle(q).getPropertyValue(M)||y).replace(" ","");return p}}],k&&a(x.prototype,k),Object.defineProperty(x,"prototype",{writable:!1}),h}()},714:(s,l,c)=>{function a($){if($==null)return window;if($.toString()!=="[object Window]"){var b=$.ownerDocument;return b&&b.defaultView||window}return $}function g($){return $ instanceof a($).Element||$ instanceof Element}function h($){return $ instanceof a($).HTMLElement||$ instanceof HTMLElement}function x($){return typeof ShadowRoot<"u"&&($ instanceof a($).ShadowRoot||$ instanceof ShadowRoot)}c.d(l,{fi:()=>Fr});var k=Math.max,q=Math.min,M=Math.round;function y($,b){b===void 0&&(b=!1);var S=$.getBoundingClientRect(),R=1,W=1;if(h($)&&b){var z=$.offsetHeight,V=$.offsetWidth;V>0&&(R=M(S.width)/V||1),z>0&&(W=M(S.height)/z||1)}return{width:S.width/R,height:S.height/W,top:S.top/W,right:S.right/R,bottom:S.bottom/W,left:S.left/R,x:S.left/R,y:S.top/W}}function p($){var b=a($);return{scrollLeft:b.pageXOffset,scrollTop:b.pageYOffset}}function m($){return $?($.nodeName||"").toLowerCase():null}function w($){return((g($)?$.ownerDocument:$.document)||window.document).documentElement}function D($){return y(w($)).left+p($).scrollLeft}function P($){return a($).getComputedStyle($)}function C($){var b=P($),S=b.overflow,R=b.overflowX,W=b.overflowY;return/auto|scroll|overlay|hidden/.test(S+W+R)}function f($,b,S){S===void 0&&(S=!1);var R,W,z=h(b),V=h(b)&&function(te){var Ae=te.getBoundingClientRect(),se=M(Ae.width)/te.offsetWidth||1,ye=M(Ae.height)/te.offsetHeight||1;return se!==1||ye!==1}(b),K=w(b),X=y($,V),ne={scrollLeft:0,scrollTop:0},re={x:0,y:0};return(z||!z&&!S)&&((m(b)!=="body"||C(K))&&(ne=(R=b)!==a(R)&&h(R)?{scrollLeft:(W=R).scrollLeft,scrollTop:W.scrollTop}:p(R)),h(b)?((re=y(b,!0)).x+=b.clientLeft,re.y+=b.clientTop):K&&(re.x=D(K))),{x:X.left+ne.scrollLeft-re.x,y:X.top+ne.scrollTop-re.y,width:X.width,height:X.height}}function u($){var b=y($),S=$.offsetWidth,R=$.offsetHeight;return Math.abs(b.width-S)<=1&&(S=b.width),Math.abs(b.height-R)<=1&&(R=b.height),{x:$.offsetLeft,y:$.offsetTop,width:S,height:R}}function _($){return m($)==="html"?$:$.assignedSlot||$.parentNode||(x($)?$.host:null)||w($)}function j($){return["html","body","#document"].indexOf(m($))>=0?$.ownerDocument.body:h($)&&C($)?$:j(_($))}function O($,b){var S;b===void 0&&(b=[]);var R=j($),W=R===((S=$.ownerDocument)==null?void 0:S.body),z=a(R),V=W?[z].concat(z.visualViewport||[],C(R)?R:[]):R,K=b.concat(V);return W?K:K.concat(O(_(V)))}function T($){return["table","td","th"].indexOf(m($))>=0}function H($){return h($)&&P($).position!=="fixed"?$.offsetParent:null}function I($){for(var b=a($),S=H($);S&&T(S)&&P(S).position==="static";)S=H(S);return S&&(m(S)==="html"||m(S)==="body"&&P(S).position==="static")?b:S||function(R){var W=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1;if(navigator.userAgent.indexOf("Trident")!==-1&&h(R)&&P(R).position==="fixed")return null;for(var z=_(R);h(z)&&["html","body"].indexOf(m(z))<0;){var V=P(z);if(V.transform!=="none"||V.perspective!=="none"||V.contain==="paint"||["transform","perspective"].indexOf(V.willChange)!==-1||W&&V.willChange==="filter"||W&&V.filter&&V.filter!=="none")return z;z=z.parentNode}return null}($)||b}var F="top",J="bottom",Ce="right",ae="left",ot="auto",tt=[F,J,Ce,ae],Ge="start",Ue="end",ht="viewport",_e="popper",ft=tt.reduce(function($,b){return $.concat([b+"-"+Ge,b+"-"+Ue])},[]),We=[].concat(tt,[ot]).reduce(function($,b){return $.concat([b,b+"-"+Ge,b+"-"+Ue])},[]),yt=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Nt($){var b=new Map,S=new Set,R=[];function W(z){S.add(z.name),[].concat(z.requires||[],z.requiresIfExists||[]).forEach(function(V){if(!S.has(V)){var K=b.get(V);K&&W(K)}}),R.push(z)}return $.forEach(function(z){b.set(z.name,z)}),$.forEach(function(z){S.has(z.name)||W(z)}),R}var It={placement:"bottom",modifiers:[],strategy:"absolute"};function qe(){for(var $=arguments.length,b=new Array($),S=0;S<$;S++)b[S]=arguments[S];return!b.some(function(R){return!(R&&typeof R.getBoundingClientRect=="function")})}function bt($){$===void 0&&($={});var b=$,S=b.defaultModifiers,R=S===void 0?[]:S,W=b.defaultOptions,z=W===void 0?It:W;return function(V,K,X){X===void 0&&(X=z);var ne,re,te={placement:"bottom",orderedModifiers:[],options:Object.assign({},It,z),modifiersData:{},elements:{reference:V,popper:K},attributes:{},styles:{}},Ae=[],se=!1,ye={state:te,setOptions:function(ie){var Me=typeof ie=="function"?ie(te.options):ie;ge(),te.options=Object.assign({},z,te.options,Me),te.scrollParents={reference:g(V)?O(V):V.contextElement?O(V.contextElement):[],popper:O(K)};var ke,fe,we=function(le){var ce=Nt(le);return yt.reduce(function(de,me){return de.concat(ce.filter(function($e){return $e.phase===me}))},[])}((ke=[].concat(R,te.options.modifiers),fe=ke.reduce(function(le,ce){var de=le[ce.name];return le[ce.name]=de?Object.assign({},de,ce,{options:Object.assign({},de.options,ce.options),data:Object.assign({},de.data,ce.data)}):ce,le},{}),Object.keys(fe).map(function(le){return fe[le]})));return te.orderedModifiers=we.filter(function(le){return le.enabled}),te.orderedModifiers.forEach(function(le){var ce=le.name,de=le.options,me=de===void 0?{}:de,$e=le.effect;if(typeof $e=="function"){var Ne=$e({state:te,name:ce,instance:ye,options:me});Ae.push(Ne||function(){})}}),ye.update()},forceUpdate:function(){if(!se){var ie=te.elements,Me=ie.reference,ke=ie.popper;if(qe(Me,ke)){te.rects={reference:f(Me,I(ke),te.options.strategy==="fixed"),popper:u(ke)},te.reset=!1,te.placement=te.options.placement,te.orderedModifiers.forEach(function($e){return te.modifiersData[$e.name]=Object.assign({},$e.data)});for(var fe=0;fe=0?"x":"y"}function ee($){var b,S=$.reference,R=$.element,W=$.placement,z=W?ze(W):null,V=W?je(W):null,K=S.x+S.width/2-R.width/2,X=S.y+S.height/2-R.height/2;switch(z){case F:b={x:K,y:S.y-R.height};break;case J:b={x:K,y:S.y+S.height};break;case Ce:b={x:S.x+S.width,y:X};break;case ae:b={x:S.x-R.width,y:X};break;default:b={x:S.x,y:S.y}}var ne=z?Pe(z):null;if(ne!=null){var re=ne==="y"?"height":"width";switch(V){case Ge:b[ne]=b[ne]-(S[re]/2-R[re]/2);break;case Ue:b[ne]=b[ne]+(S[re]/2-R[re]/2)}}return b}var Be={top:"auto",right:"auto",bottom:"auto",left:"auto"};function oe($){var b,S=$.popper,R=$.popperRect,W=$.placement,z=$.variation,V=$.offsets,K=$.position,X=$.gpuAcceleration,ne=$.adaptive,re=$.roundOffsets,te=$.isFixed,Ae=V.x,se=Ae===void 0?0:Ae,ye=V.y,ge=ye===void 0?0:ye,ie=typeof re=="function"?re({x:se,y:ge}):{x:se,y:ge};se=ie.x,ge=ie.y;var Me=V.hasOwnProperty("x"),ke=V.hasOwnProperty("y"),fe=ae,we=F,le=window;if(ne){var ce=I(S),de="clientHeight",me="clientWidth";ce===a(S)&&P(ce=w(S)).position!=="static"&&K==="absolute"&&(de="scrollHeight",me="scrollWidth"),ce=ce,(W===F||(W===ae||W===Ce)&&z===Ue)&&(we=J,ge-=(te&&le.visualViewport?le.visualViewport.height:ce[de])-R.height,ge*=X?1:-1),W!==ae&&(W!==F&&W!==J||z!==Ue)||(fe=Ce,se-=(te&&le.visualViewport?le.visualViewport.width:ce[me])-R.width,se*=X?1:-1)}var $e,Ne=Object.assign({position:K},ne&&Be),Ie=re===!0?function(Je){var it=Je.x,dt=Je.y,Ye=window.devicePixelRatio||1;return{x:M(it*Ye)/Ye||0,y:M(dt*Ye)/Ye||0}}({x:se,y:ge}):{x:se,y:ge};return se=Ie.x,ge=Ie.y,X?Object.assign({},Ne,(($e={})[we]=ke?"0":"",$e[fe]=Me?"0":"",$e.transform=(le.devicePixelRatio||1)<=1?"translate("+se+"px, "+ge+"px)":"translate3d("+se+"px, "+ge+"px, 0)",$e)):Object.assign({},Ne,((b={})[we]=ke?ge+"px":"",b[fe]=Me?se+"px":"",b.transform="",b))}var $t={left:"right",right:"left",bottom:"top",top:"bottom"};function Ft($){return $.replace(/left|right|bottom|top/g,function(b){return $t[b]})}var Qr={start:"end",end:"start"};function Tn($){return $.replace(/start|end/g,function(b){return Qr[b]})}function jn($,b){var S=b.getRootNode&&b.getRootNode();if($.contains(b))return!0;if(S&&x(S)){var R=b;do{if(R&&$.isSameNode(R))return!0;R=R.parentNode||R.host}while(R)}return!1}function gn($){return Object.assign({},$,{left:$.x,top:$.y,right:$.x+$.width,bottom:$.y+$.height})}function Pn($,b){return b===ht?gn(function(S){var R=a(S),W=w(S),z=R.visualViewport,V=W.clientWidth,K=W.clientHeight,X=0,ne=0;return z&&(V=z.width,K=z.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(X=z.offsetLeft,ne=z.offsetTop)),{width:V,height:K,x:X+D(S),y:ne}}($)):g(b)?function(S){var R=y(S);return R.top=R.top+S.clientTop,R.left=R.left+S.clientLeft,R.bottom=R.top+S.clientHeight,R.right=R.left+S.clientWidth,R.width=S.clientWidth,R.height=S.clientHeight,R.x=R.left,R.y=R.top,R}(b):gn(function(S){var R,W=w(S),z=p(S),V=(R=S.ownerDocument)==null?void 0:R.body,K=k(W.scrollWidth,W.clientWidth,V?V.scrollWidth:0,V?V.clientWidth:0),X=k(W.scrollHeight,W.clientHeight,V?V.scrollHeight:0,V?V.clientHeight:0),ne=-z.scrollLeft+D(S),re=-z.scrollTop;return P(V||W).direction==="rtl"&&(ne+=k(W.clientWidth,V?V.clientWidth:0)-K),{width:K,height:X,x:ne,y:re}}(w($)))}function qn($){return Object.assign({},{top:0,right:0,bottom:0,left:0},$)}function An($,b){return b.reduce(function(S,R){return S[R]=$,S},{})}function zt($,b){b===void 0&&(b={});var S=b,R=S.placement,W=R===void 0?$.placement:R,z=S.boundary,V=z===void 0?"clippingParents":z,K=S.rootBoundary,X=K===void 0?ht:K,ne=S.elementContext,re=ne===void 0?_e:ne,te=S.altBoundary,Ae=te!==void 0&&te,se=S.padding,ye=se===void 0?0:se,ge=qn(typeof ye!="number"?ye:An(ye,tt)),ie=re===_e?"reference":_e,Me=$.rects.popper,ke=$.elements[Ae?ie:re],fe=function(Ie,Je,it){var dt=Je==="clippingParents"?function(Ee){var vt=O(_(Ee)),Ke=["absolute","fixed"].indexOf(P(Ee).position)>=0&&h(Ee)?I(Ee):Ee;return g(Ke)?vt.filter(function(Qe){return g(Qe)&&jn(Qe,Ke)&&m(Qe)!=="body"}):[]}(Ie):[].concat(Je),Ye=[].concat(dt,[it]),Ze=Ye[0],He=Ye.reduce(function(Ee,vt){var Ke=Pn(Ie,vt);return Ee.top=k(Ke.top,Ee.top),Ee.right=q(Ke.right,Ee.right),Ee.bottom=q(Ke.bottom,Ee.bottom),Ee.left=k(Ke.left,Ee.left),Ee},Pn(Ie,Ze));return He.width=He.right-He.left,He.height=He.bottom-He.top,He.x=He.left,He.y=He.top,He}(g(ke)?ke:ke.contextElement||w($.elements.popper),V,X),we=y($.elements.reference),le=ee({reference:we,element:Me,strategy:"absolute",placement:W}),ce=gn(Object.assign({},Me,le)),de=re===_e?ce:we,me={top:fe.top-de.top+ge.top,bottom:de.bottom-fe.bottom+ge.bottom,left:fe.left-de.left+ge.left,right:de.right-fe.right+ge.right},$e=$.modifiersData.offset;if(re===_e&&$e){var Ne=$e[W];Object.keys(me).forEach(function(Ie){var Je=[Ce,J].indexOf(Ie)>=0?1:-1,it=[F,J].indexOf(Ie)>=0?"y":"x";me[Ie]+=Ne[it]*Je})}return me}function Vt($,b,S){return k($,q(b,S))}function Mn($,b,S){return S===void 0&&(S={x:0,y:0}),{top:$.top-b.height-S.y,right:$.right-b.width+S.x,bottom:$.bottom-b.height+S.y,left:$.left-b.width-S.x}}function Dn($){return[F,Ce,J,ae].some(function(b){return $[b]>=0})}var Fr=bt({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function($){var b=$.state,S=$.instance,R=$.options,W=R.scroll,z=W===void 0||W,V=R.resize,K=V===void 0||V,X=a(b.elements.popper),ne=[].concat(b.scrollParents.reference,b.scrollParents.popper);return z&&ne.forEach(function(re){re.addEventListener("scroll",S.update,Re)}),K&&X.addEventListener("resize",S.update,Re),function(){z&&ne.forEach(function(re){re.removeEventListener("scroll",S.update,Re)}),K&&X.removeEventListener("resize",S.update,Re)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function($){var b=$.state,S=$.name;b.modifiersData[S]=ee({reference:b.rects.reference,element:b.rects.popper,strategy:"absolute",placement:b.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function($){var b=$.state,S=$.options,R=S.gpuAcceleration,W=R===void 0||R,z=S.adaptive,V=z===void 0||z,K=S.roundOffsets,X=K===void 0||K,ne={placement:ze(b.placement),variation:je(b.placement),popper:b.elements.popper,popperRect:b.rects.popper,gpuAcceleration:W,isFixed:b.options.strategy==="fixed"};b.modifiersData.popperOffsets!=null&&(b.styles.popper=Object.assign({},b.styles.popper,oe(Object.assign({},ne,{offsets:b.modifiersData.popperOffsets,position:b.options.strategy,adaptive:V,roundOffsets:X})))),b.modifiersData.arrow!=null&&(b.styles.arrow=Object.assign({},b.styles.arrow,oe(Object.assign({},ne,{offsets:b.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:X})))),b.attributes.popper=Object.assign({},b.attributes.popper,{"data-popper-placement":b.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function($){var b=$.state;Object.keys(b.elements).forEach(function(S){var R=b.styles[S]||{},W=b.attributes[S]||{},z=b.elements[S];h(z)&&m(z)&&(Object.assign(z.style,R),Object.keys(W).forEach(function(V){var K=W[V];K===!1?z.removeAttribute(V):z.setAttribute(V,K===!0?"":K)}))})},effect:function($){var b=$.state,S={popper:{position:b.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(b.elements.popper.style,S.popper),b.styles=S,b.elements.arrow&&Object.assign(b.elements.arrow.style,S.arrow),function(){Object.keys(b.elements).forEach(function(R){var W=b.elements[R],z=b.attributes[R]||{},V=Object.keys(b.styles.hasOwnProperty(R)?b.styles[R]:S[R]).reduce(function(K,X){return K[X]="",K},{});h(W)&&m(W)&&(Object.assign(W.style,V),Object.keys(z).forEach(function(K){W.removeAttribute(K)}))})}},requires:["computeStyles"]},{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function($){var b=$.state,S=$.options,R=$.name,W=S.offset,z=W===void 0?[0,0]:W,V=We.reduce(function(re,te){return re[te]=function(Ae,se,ye){var ge=ze(Ae),ie=[ae,F].indexOf(ge)>=0?-1:1,Me=typeof ye=="function"?ye(Object.assign({},se,{placement:Ae})):ye,ke=Me[0],fe=Me[1];return ke=ke||0,fe=(fe||0)*ie,[ae,Ce].indexOf(ge)>=0?{x:fe,y:ke}:{x:ke,y:fe}}(te,b.rects,z),re},{}),K=V[b.placement],X=K.x,ne=K.y;b.modifiersData.popperOffsets!=null&&(b.modifiersData.popperOffsets.x+=X,b.modifiersData.popperOffsets.y+=ne),b.modifiersData[R]=V}},{name:"flip",enabled:!0,phase:"main",fn:function($){var b=$.state,S=$.options,R=$.name;if(!b.modifiersData[R]._skip){for(var W=S.mainAxis,z=W===void 0||W,V=S.altAxis,K=V===void 0||V,X=S.fallbackPlacements,ne=S.padding,re=S.boundary,te=S.rootBoundary,Ae=S.altBoundary,se=S.flipVariations,ye=se===void 0||se,ge=S.allowedAutoPlacements,ie=b.options.placement,Me=ze(ie),ke=X||(Me!==ie&&ye?function(Qe){if(ze(Qe)===ot)return[];var st=Ft(Qe);return[Tn(Qe),st,Tn(st)]}(ie):[Ft(ie)]),fe=[ie].concat(ke).reduce(function(Qe,st){return Qe.concat(ze(st)===ot?function(Lt,_t){_t===void 0&&(_t={});var lt=_t,Jt=lt.placement,Yt=lt.boundary,Et=lt.rootBoundary,mn=lt.padding,hn=lt.flipVariations,Tt=lt.allowedAutoPlacements,yn=Tt===void 0?We:Tt,Gt=je(Jt),Kt=Gt?hn?ft:ft.filter(function(ct){return je(ct)===Gt}):tt,jt=Kt.filter(function(ct){return yn.indexOf(ct)>=0});jt.length===0&&(jt=Kt);var Pt=jt.reduce(function(ct,kt){return ct[kt]=zt(Lt,{placement:kt,boundary:Yt,rootBoundary:Et,padding:mn})[ze(kt)],ct},{});return Object.keys(Pt).sort(function(ct,kt){return Pt[ct]-Pt[kt]})}(b,{placement:st,boundary:re,rootBoundary:te,padding:ne,flipVariations:ye,allowedAutoPlacements:ge}):st)},[]),we=b.rects.reference,le=b.rects.popper,ce=new Map,de=!0,me=fe[0],$e=0;$e=0,dt=it?"width":"height",Ye=zt(b,{placement:Ne,boundary:re,rootBoundary:te,altBoundary:Ae,padding:ne}),Ze=it?Je?Ce:ae:Je?J:F;we[dt]>le[dt]&&(Ze=Ft(Ze));var He=Ft(Ze),Ee=[];if(z&&Ee.push(Ye[Ie]<=0),K&&Ee.push(Ye[Ze]<=0,Ye[He]<=0),Ee.every(function(Qe){return Qe})){me=Ne,de=!1;break}ce.set(Ne,Ee)}if(de)for(var vt=function(Qe){var st=fe.find(function(Lt){var _t=ce.get(Lt);if(_t)return _t.slice(0,Qe).every(function(lt){return lt})});if(st)return me=st,"break"},Ke=ye?3:1;Ke>0&&vt(Ke)!=="break";Ke--);b.placement!==me&&(b.modifiersData[R]._skip=!0,b.placement=me,b.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function($){var b=$.state,S=$.options,R=$.name,W=S.mainAxis,z=W===void 0||W,V=S.altAxis,K=V!==void 0&&V,X=S.boundary,ne=S.rootBoundary,re=S.altBoundary,te=S.padding,Ae=S.tether,se=Ae===void 0||Ae,ye=S.tetherOffset,ge=ye===void 0?0:ye,ie=zt(b,{boundary:X,rootBoundary:ne,padding:te,altBoundary:re}),Me=ze(b.placement),ke=je(b.placement),fe=!ke,we=Pe(Me),le=we==="x"?"y":"x",ce=b.modifiersData.popperOffsets,de=b.rects.reference,me=b.rects.popper,$e=typeof ge=="function"?ge(Object.assign({},b.rects,{placement:b.placement})):ge,Ne=typeof $e=="number"?{mainAxis:$e,altAxis:$e}:Object.assign({mainAxis:0,altAxis:0},$e),Ie=b.modifiersData.offset?b.modifiersData.offset[b.placement]:null,Je={x:0,y:0};if(ce){if(z){var it,dt=we==="y"?F:ae,Ye=we==="y"?J:Ce,Ze=we==="y"?"height":"width",He=ce[we],Ee=He+ie[dt],vt=He-ie[Ye],Ke=se?-me[Ze]/2:0,Qe=ke===Ge?de[Ze]:me[Ze],st=ke===Ge?-me[Ze]:-de[Ze],Lt=b.elements.arrow,_t=se&&Lt?u(Lt):{width:0,height:0},lt=b.modifiersData["arrow#persistent"]?b.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Jt=lt[dt],Yt=lt[Ye],Et=Vt(0,de[Ze],_t[Ze]),mn=fe?de[Ze]/2-Ke-Et-Jt-Ne.mainAxis:Qe-Et-Jt-Ne.mainAxis,hn=fe?-de[Ze]/2+Ke+Et+Yt+Ne.mainAxis:st+Et+Yt+Ne.mainAxis,Tt=b.elements.arrow&&I(b.elements.arrow),yn=Tt?we==="y"?Tt.clientTop||0:Tt.clientLeft||0:0,Gt=(it=Ie==null?void 0:Ie[we])!=null?it:0,Kt=He+hn-Gt,jt=Vt(se?q(Ee,He+mn-Gt-yn):Ee,He,se?k(vt,Kt):vt);ce[we]=jt,Je[we]=jt-He}if(K){var Pt,ct=we==="x"?F:ae,kt=we==="x"?J:Ce,xt=ce[le],Xt=le==="y"?"height":"width",Rn=xt+ie[ct],Hn=xt-ie[kt],bn=[F,ae].indexOf(Me)!==-1,Bn=(Pt=Ie==null?void 0:Ie[le])!=null?Pt:0,Nn=bn?Rn:xt-de[Xt]-me[Xt]-Bn+Ne.altAxis,In=bn?xt+de[Xt]+me[Xt]-Bn-Ne.altAxis:Hn,zn=se&&bn?function(Jr,Yr,vn){var Vn=Vt(Jr,Yr,vn);return Vn>vn?vn:Vn}(Nn,xt,In):Vt(se?Nn:Rn,xt,se?In:Hn);ce[le]=zn,Je[le]=zn-xt}b.modifiersData[R]=Je}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function($){var b,S=$.state,R=$.name,W=$.options,z=S.elements.arrow,V=S.modifiersData.popperOffsets,K=ze(S.placement),X=Pe(K),ne=[ae,Ce].indexOf(K)>=0?"height":"width";if(z&&V){var re=function(me,$e){return qn(typeof(me=typeof me=="function"?me(Object.assign({},$e.rects,{placement:$e.placement})):me)!="number"?me:An(me,tt))}(W.padding,S),te=u(z),Ae=X==="y"?F:ae,se=X==="y"?J:Ce,ye=S.rects.reference[ne]+S.rects.reference[X]-V[X]-S.rects.popper[ne],ge=V[X]-S.rects.reference[X],ie=I(z),Me=ie?X==="y"?ie.clientHeight||0:ie.clientWidth||0:0,ke=ye/2-ge/2,fe=re[Ae],we=Me-te[ne]-re[se],le=Me/2-te[ne]/2+ke,ce=Vt(fe,le,we),de=X;S.modifiersData[R]=((b={})[de]=ce,b.centerOffset=ce-le,b)}},effect:function($){var b=$.state,S=$.options.element,R=S===void 0?"[data-popper-arrow]":S;R!=null&&(typeof R!="string"||(R=b.elements.popper.querySelector(R)))&&jn(b.elements.popper,R)&&(b.elements.arrow=R)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function($){var b=$.state,S=$.name,R=b.rects.reference,W=b.rects.popper,z=b.modifiersData.preventOverflow,V=zt(b,{elementContext:"reference"}),K=zt(b,{altBoundary:!0}),X=Mn(V,R),ne=Mn(K,W,z),re=Dn(X),te=Dn(ne);b.modifiersData[S]={referenceClippingOffsets:X,popperEscapeOffsets:ne,isReferenceHidden:re,hasPopperEscaped:te},b.attributes.popper=Object.assign({},b.attributes.popper,{"data-popper-reference-hidden":re,"data-popper-escaped":te})}}]})}},t={};function r(s){var l=t[s];if(l!==void 0)return l.exports;var c=t[s]={exports:{}};return n[s](c,c.exports,r),c.exports}r.d=(s,l)=>{for(var c in l)r.o(l,c)&&!r.o(s,c)&&Object.defineProperty(s,c,{enumerable:!0,get:l[c]})},r.o=(s,l)=>Object.prototype.hasOwnProperty.call(s,l),r.r=s=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})};var i={};return r.r(i),r(661),r(795),r(682),r(284),r(181),r(778),r(51),r(185),i})()})})(Mo);function Do(o){let e=o[0].title+"",n;return{c(){n=pe(e)},m(t,r){N(t,n,r)},p(t,r){r&1&&e!==(e=t[0].title+"")&&De(n,e)},d(t){t&&B(n)}}}function Ro(o){let e,n;return{c(){e=pe("Welcome to "),n=E("span"),n.textContent="Vanna.AI",d(n,"class","nav-title")},m(t,r){N(t,e,r),N(t,n,r)},p:Y,d(t){t&&(B(e),B(n))}}}function Ho(o){let e,n,t,r,i=o[0].subtitle+"",s;function l(g,h){return g[0].title=="Welcome to Vanna.AI"?Ro:Do}let c=l(o),a=c(o);return{c(){e=E("div"),n=E("h1"),a.c(),t=Q(),r=E("p"),s=pe(i),d(n,"class","text-3xl font-bold text-gray-800 sm:text-4xl dark:text-white"),d(r,"class","mt-3 text-gray-600 dark:text-gray-400"),d(e,"class","max-w-4xl px-4 sm:px-6 lg:px-8 mx-auto text-center")},m(g,h){N(g,e,h),v(e,n),a.m(n,null),v(e,t),v(e,r),v(r,s)},p(g,[h]){c===(c=l(g))&&a?a.p(g,h):(a.d(1),a=c(g),a&&(a.c(),a.m(n,null))),h&1&&i!==(i=g[0].subtitle+"")&&De(s,i)},i:Y,o:Y,d(g){g&&B(e),a.d()}}}function Bo(o,e,n){let t;return et(o,Ot,r=>n(0,t=r)),[t]}class No extends ve{constructor(e){super(),be(this,e,Bo,Ho,he,{})}}function Io(o){let e,n;const t=o[1].default,r=on(t,o,o[0],null);return{c(){e=E("p"),r&&r.c(),d(e,"class","text-gray-800 dark:text-gray-200")},m(i,s){N(i,e,s),r&&r.m(e,null),n=!0},p(i,[s]){r&&r.p&&(!n||s&1)&&ln(r,t,i,i[0],n?sn(t,i[0],s,null):an(i[0]),null)},i(i){n||(L(r,i),n=!0)},o(i){A(r,i),n=!1},d(i){i&&B(e),r&&r.d(i)}}}function zo(o,e,n){let{$$slots:t={},$$scope:r}=e;return o.$$set=i=>{"$$scope"in i&&n(0,r=i.$$scope)},[r,t]}class at extends ve{constructor(e){super(),be(this,e,zo,Io,he,{})}}function Vo(o){let e;return{c(){e=pe(o[0])},m(n,t){N(n,e,t)},p(n,t){t&1&&De(e,n[0])},d(n){n&&B(e)}}}function Go(o){let e,n,t,r,i,s,l,c,a;l=new at({props:{$$slots:{default:[Vo]},$$scope:{ctx:o}}});const g=o[1].default,h=on(g,o,o[2],null);return{c(){e=E("li"),n=E("div"),t=E("div"),r=E("span"),r.innerHTML='You',i=Q(),s=E("div"),U(l.$$.fragment),c=Q(),h&&h.c(),d(r,"class","flex-shrink-0 inline-flex items-center justify-center h-[2.375rem] w-[2.375rem] rounded-full bg-gray-600"),d(s,"class","grow mt-2 space-y-3"),d(t,"class","max-w-2xl flex gap-x-2 sm:gap-x-4"),d(n,"class","max-w-4xl px-4 sm:px-6 lg:px-8 mx-auto"),d(e,"class","py-2 sm:py-4")},m(x,k){N(x,e,k),v(e,n),v(n,t),v(t,r),v(t,i),v(t,s),G(l,s,null),v(s,c),h&&h.m(s,null),a=!0},p(x,[k]){const q={};k&5&&(q.$$scope={dirty:k,ctx:x}),l.$set(q),h&&h.p&&(!a||k&4)&&ln(h,g,x,x[2],a?sn(g,x[2],k,null):an(x[2]),null)},i(x){a||(L(l.$$.fragment,x),L(h,x),a=!0)},o(x){A(l.$$.fragment,x),A(h,x),a=!1},d(x){x&&B(e),Z(l),h&&h.d(x)}}}function Zo(o,e,n){let{$$slots:t={},$$scope:r}=e,{message:i}=e;return o.$$set=s=>{"message"in s&&n(0,i=s.message),"$$scope"in s&&n(2,r=s.$$scope)},[i,t,r]}class Ct extends ve{constructor(e){super(),be(this,e,Zo,Go,he,{message:0})}}function Uo(o){let e,n,t;return{c(){e=E("button"),e.innerHTML='',d(e,"type","button"),d(e,"class","inline-flex flex-shrink-0 justify-center items-center size-8 rounded-lg text-gray-500 hover:text-blue-600 focus:z-10 focus:outline-none focus:ring-2 focus:ring-blue-500 dark:hover:text-blue-500 dark:focus:outline-none dark:focus:ring-1 dark:focus:ring-gray-600")},m(r,i){N(r,e,i),n||(t=Te(e,"click",o[1]),n=!0)},p:Y,d(r){r&&B(e),n=!1,t()}}}function Wo(o){let e;return{c(){e=E("button"),e.innerHTML='',d(e,"type","button"),d(e,"class","animate-ping animate-pulse inline-flex flex-shrink-0 justify-center items-center size-8 rounded-lg text-red-500 hover:text-red-600 focus:z-10 focus:outline-none focus:ring-2 focus:ring-red-500 dark:hover:text-red-500 dark:focus:outline-none dark:focus:ring-1 dark:focus:ring-red-600")},m(n,t){N(n,e,t)},p:Y,d(n){n&&B(e)}}}function Qo(o){let e;function n(i,s){return i[0]?Wo:Uo}let t=n(o),r=t(o);return{c(){r.c(),e=Ve()},m(i,s){r.m(i,s),N(i,e,s)},p(i,[s]){t===(t=n(i))&&r?r.p(i,s):(r.d(1),r=t(i),r&&(r.c(),r.m(e.parentNode,e)))},i:Y,o:Y,d(i){i&&B(e),r.d(i)}}}function Fo(o,e,n){let{newMessage:t}=e,r=!1;function i(){if(n(0,r=!0),Nr.set(!0),"webkitSpeechRecognition"in window)var s=new window.webkitSpeechRecognition;else var s=new window.SpeechRecognition;s.lang="en-US",s.start(),s.onresult=l=>{const c=l.results[0][0].transcript;console.log(c),n(2,t=c),n(0,r=!1)},s.onend=()=>{n(0,r=!1)},s.onerror=()=>{n(0,r=!1)}}return o.$$set=s=>{"newMessage"in s&&n(2,t=s.newMessage)},[r,i,t]}class Jo extends ve{constructor(e){super(),be(this,e,Fo,Qo,he,{newMessage:2})}}function Yo(o){let e,n,t,r,i,s,l,c,a,g,h,x,k,q,M;function y(m){o[5](m)}let p={};return o[0]!==void 0&&(p.newMessage=o[0]),a=new Jo({props:p}),$n.push(()=>uo(a,"newMessage",y)),{c(){e=E("div"),n=E("input"),t=Q(),r=E("div"),i=E("div"),s=E("div"),s.innerHTML="",l=Q(),c=E("div"),U(a.$$.fragment),h=Q(),x=E("button"),x.innerHTML='',d(n,"type","text"),d(n,"class","p-4 pb-12 block w-full bg-gray-100 border-gray-200 rounded-md text-sm focus:border-blue-500 focus:ring-blue-500 dark:bg-slate-800 dark:border-gray-700 dark:text-gray-400"),d(n,"placeholder","Ask me a question about your data that I can turn into SQL."),d(s,"class","flex items-center"),d(x,"type","button"),d(x,"class","inline-flex flex-shrink-0 justify-center items-center h-8 w-8 rounded-md text-white bg-blue-600 hover:bg-blue-500 focus:z-10 focus:outline-none focus:ring-2 focus:ring-blue-500 transition-all"),d(c,"class","flex items-center gap-x-1"),d(i,"class","flex justify-between items-center"),d(r,"class","absolute bottom-px inset-x-px p-2 rounded-b-md bg-gray-100 dark:bg-slate-800"),d(e,"class","relative")},m(m,w){N(m,e,w),v(e,n),gt(n,o[0]),v(e,t),v(e,r),v(r,i),v(i,s),v(i,l),v(i,c),G(a,c,null),v(c,h),v(c,x),k=!0,q||(M=[Te(n,"input",o[4]),Te(n,"keydown",o[1]),Te(x,"click",o[2])],q=!0)},p(m,[w]){w&1&&n.value!==m[0]&>(n,m[0]);const D={};!g&&w&1&&(g=!0,D.newMessage=m[0],lo(()=>g=!1)),a.$set(D)},i(m){k||(L(a.$$.fragment,m),k=!0)},o(m){A(a.$$.fragment,m),k=!1},d(m){m&&B(e),Z(a),q=!1,mt(M)}}}function Ko(o,e,n){let{onSubmit:t}=e,r="";function i(a){a.key==="Enter"&&(t(r),a.preventDefault())}function s(){t(r)}function l(){r=this.value,n(0,r)}function c(a){r=a,n(0,r)}return o.$$set=a=>{"onSubmit"in a&&n(3,t=a.onSubmit)},[r,i,s,t,l,c]}class Xo extends ve{constructor(e){super(),be(this,e,Ko,Yo,he,{onSubmit:3})}}function ei(o){let e;return{c(){e=E("div"),e.innerHTML='',d(e,"class","lg:hidden flex justify-end mb-2 sm:mb-3")},m(n,t){N(n,e,t)},p:Y,i:Y,o:Y,d(n){n&&B(e)}}}class ti extends ve{constructor(e){super(),be(this,e,null,ei,he,{})}}function ni(o){let e,n,t,r;return{c(){e=E("button"),n=pe(o[0]),d(e,"type","button"),d(e,"class","mb-2.5 mr-1.5 py-2 px-3 inline-flex justify-center items-center gap-x-2 rounded-md border border-blue-600 bg-white text-blue-600 align-middle hover:bg-blue-50 text-sm dark:bg-slate-900 dark:text-blue-500 dark:border-blue-500 dark:hover:text-blue-400 dark:hover:border-blue-400")},m(i,s){N(i,e,s),v(e,n),t||(r=Te(e,"click",o[1]),t=!0)},p(i,[s]){s&1&&De(n,i[0])},i:Y,o:Y,d(i){i&&B(e),t=!1,r()}}}function ri(o,e,n){let{message:t}=e,{onSubmit:r}=e;function i(){r(t)}return o.$$set=s=>{"message"in s&&n(0,t=s.message),"onSubmit"in s&&n(2,r=s.onSubmit)},[t,i,r]}class ut extends ve{constructor(e){super(),be(this,e,ri,ni,he,{message:0,onSubmit:2})}}function oi(o){let e,n,t,r,i,s,l,c,a,g,h;return{c(){e=E("span"),n=Xe("svg"),t=Xe("defs"),r=Xe("linearGradient"),i=Xe("stop"),s=Xe("stop"),l=Xe("g"),c=Xe("g"),a=Xe("path"),g=Xe("path"),d(i,"offset","0"),d(i,"stop-color","#009efd"),d(s,"offset","1"),d(s,"stop-color","#2af598"),d(r,"gradientTransform","matrix(1.09331 0 0 1.09331 -47.1838 -88.8946)"),d(r,"gradientUnits","userSpaceOnUse"),d(r,"id","LinearGradient"),d(r,"x1","237.82"),d(r,"x2","785.097"),d(r,"y1","549.609"),d(r,"y2","549.609"),d(a,"d","M117.718 228.798C117.718 119.455 206.358 30.8151 315.701 30.8151L708.299 30.8151C817.642 30.8151 906.282 119.455 906.282 228.798L906.282 795.202C906.282 904.545 817.642 993.185 708.299 993.185L315.701 993.185C206.358 993.185 117.718 904.545 117.718 795.202L117.718 228.798Z"),d(a,"fill","#0f172a"),d(a,"fill-rule","nonzero"),d(a,"opacity","1"),d(a,"stroke","#374151"),d(a,"stroke-linecap","butt"),d(a,"stroke-linejoin","round"),d(a,"stroke-width","20"),d(g,"d","M212.828 215.239C213.095 281.169 213.629 413.028 213.629 413.028C213.629 413.028 511.51 808.257 513.993 809.681C612.915 677.809 810.759 414.065 810.759 414.065C810.759 414.065 811.034 280.901 811.172 214.319C662.105 362.973 662.105 362.973 513.038 511.627C362.933 363.433 362.933 363.433 212.828 215.239Z"),d(g,"fill","url(#LinearGradient)"),d(g,"fill-rule","nonzero"),d(g,"opacity","1"),d(g,"stroke","none"),d(c,"opacity","1"),d(l,"id","Layer-1"),d(n,"height","100%"),d(n,"stroke-miterlimit","10"),tn(n,"fill-rule","nonzero"),tn(n,"clip-rule","evenodd"),tn(n,"stroke-linecap","round"),tn(n,"stroke-linejoin","round"),d(n,"version","1.1"),d(n,"viewBox","0 0 1024 1024"),d(n,"width","100%"),d(n,"xml:space","preserve"),d(n,"xmlns","http://www.w3.org/2000/svg"),d(e,"class",h="flex-shrink-0 w-[2.375rem] h-[2.375rem] "+o[0])},m(x,k){N(x,e,k),v(e,n),v(n,t),v(t,r),v(r,i),v(r,s),v(n,l),v(l,c),v(c,a),v(c,g)},p(x,[k]){k&1&&h!==(h="flex-shrink-0 w-[2.375rem] h-[2.375rem] "+x[0])&&d(e,"class",h)},i:Y,o:Y,d(x){x&&B(e)}}}function ii(o,e,n){let t,{animate:r=!1}=e;return o.$$set=i=>{"animate"in i&&n(1,r=i.animate)},o.$$.update=()=>{o.$$.dirty&2&&n(0,t=r?"animate-bounce":"")},[t,r]}class Vr extends ve{constructor(e){super(),be(this,e,ii,oi,he,{animate:1})}}function si(o){let e,n,t,r,i;n=new Vr({});const s=o[1].default,l=on(s,o,o[0],null);return{c(){e=E("li"),U(n.$$.fragment),t=Q(),r=E("div"),l&&l.c(),d(r,"class","space-y-3 overflow-x-auto overflow-y-hidden whitespace-break-spaces"),d(e,"class","max-w-4xl py-2 px-4 sm:px-6 lg:px-8 mx-auto flex gap-x-2 sm:gap-x-4")},m(c,a){N(c,e,a),G(n,e,null),v(e,t),v(e,r),l&&l.m(r,null),i=!0},p(c,[a]){l&&l.p&&(!i||a&1)&&ln(l,s,c,c[0],i?sn(s,c[0],a,null):an(c[0]),null)},i(c){i||(L(n.$$.fragment,c),L(l,c),i=!0)},o(c){A(n.$$.fragment,c),A(l,c),i=!1},d(c){c&&B(e),Z(n),l&&l.d(c)}}}function li(o,e,n){let{$$slots:t={},$$scope:r}=e;return o.$$set=i=>{"$$scope"in i&&n(0,r=i.$$scope)},[r,t]}class Fe extends ve{constructor(e){super(),be(this,e,li,si,he,{})}}function ai(o){let e;return{c(){e=pe("Thinking...")},m(n,t){N(n,e,t)},d(n){n&&B(e)}}}function ci(o){let e,n,t,r,i,s;return n=new Vr({props:{animate:!0}}),i=new at({props:{$$slots:{default:[ai]},$$scope:{ctx:o}}}),{c(){e=E("li"),U(n.$$.fragment),t=Q(),r=E("div"),U(i.$$.fragment),d(r,"class","space-y-3"),d(e,"class","max-w-4xl py-2 px-4 sm:px-6 lg:px-8 mx-auto flex gap-x-2 sm:gap-x-4")},m(l,c){N(l,e,c),G(n,e,null),v(e,t),v(e,r),G(i,r,null),s=!0},p(l,[c]){const a={};c&1&&(a.$$scope={dirty:c,ctx:l}),i.$set(a)},i(l){s||(L(n.$$.fragment,l),L(i.$$.fragment,l),s=!0)},o(l){A(n.$$.fragment,l),A(i.$$.fragment,l),s=!1},d(l){l&&B(e),Z(n),Z(i)}}}class ui extends ve{constructor(e){super(),be(this,e,null,ci,he,{})}}function fi(o){let e,n,t,r,i,s,l,c,a,g,h;return{c(){e=E("ul"),n=E("li"),t=E("div"),r=E("span"),r.textContent="CSV",i=Q(),s=E("a"),l=Xe("svg"),c=Xe("path"),a=Xe("path"),g=pe(` + Download`),d(r,"class","mr-3 flex-1 w-0 truncate"),d(c,"d","M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"),d(a,"d","M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"),d(l,"class","flex-shrink-0 w-3 h-3"),d(l,"width","16"),d(l,"height","16"),d(l,"viewBox","0 0 16 16"),d(l,"fill","currentColor"),d(s,"class","flex items-center gap-x-2 text-gray-500 hover:text-blue-500 whitespace-nowrap"),d(s,"href",h="/api/v0/download_csv?id="+o[0]),d(t,"class","w-full flex justify-between truncate"),d(n,"class","flex items-center gap-x-2 p-3 text-sm bg-white border text-gray-800 first:rounded-t-lg first:mt-0 last:rounded-b-lg dark:bg-slate-900 dark:border-gray-700 dark:text-gray-200"),d(e,"class","flex flex-col justify-end text-start -space-y-px")},m(x,k){N(x,e,k),v(e,n),v(n,t),v(t,r),v(t,i),v(t,s),v(s,l),v(l,c),v(l,a),v(s,g)},p(x,[k]){k&1&&h!==(h="/api/v0/download_csv?id="+x[0])&&d(s,"href",h)},i:Y,o:Y,d(x){x&&B(e)}}}function di(o,e,n){let{id:t}=e;return o.$$set=r=>{"id"in r&&n(0,t=r.id)},[t]}class pi extends ve{constructor(e){super(),be(this,e,di,fi,he,{id:0})}}function Jn(o,e,n){const t=o.slice();return t[5]=e[n],t}function Yn(o,e,n){const t=o.slice();return t[8]=e[n],t}function Kn(o,e,n){const t=o.slice();return t[8]=e[n],t}function Xn(o){let e,n,t,r;return{c(){e=E("th"),n=E("div"),t=E("span"),t.textContent=`${o[8]}`,r=Q(),d(t,"class","text-xs font-semibold uppercase tracking-wide text-gray-800 dark:text-gray-200"),d(n,"class","flex items-center gap-x-2"),d(e,"scope","col"),d(e,"class","px-6 py-3 text-left")},m(i,s){N(i,e,s),v(e,n),v(n,t),v(e,r)},p:Y,d(i){i&&B(e)}}}function er(o){let e,n,t;return{c(){e=E("td"),n=E("div"),t=E("span"),t.textContent=`${o[5][o[8]]}`,d(t,"class","text-gray-800 dark:text-gray-200"),d(n,"class","px-6 py-3"),d(e,"class","h-px w-px whitespace-nowrap")},m(r,i){N(r,e,i),v(e,n),v(n,t)},p:Y,d(r){r&&B(e)}}}function tr(o){let e,n,t=Le(o[3]),r=[];for(let i=0;i{y=null}),Oe())},i(p){h||(L(y),h=!0)},o(p){A(y),h=!1},d(p){p&&(B(e),B(a),B(g)),nt(k,p),nt(M,p),y&&y.d(p)}}}function mi(o,e,n){let t;et(o,Ot,c=>n(1,t=c));let{id:r}=e,{df:i}=e,s=JSON.parse(i),l=s.length>0?Object.keys(s[0]):[];return o.$$set=c=>{"id"in c&&n(0,r=c.id),"df"in c&&n(4,i=c.df)},[r,t,s,l,i]}class Gr extends ve{constructor(e){super(),be(this,e,mi,gi,he,{id:0,df:4})}}function hi(o){let e;return{c(){e=E("div"),d(e,"id",o[0])},m(n,t){N(n,e,t)},p:Y,i:Y,o:Y,d(n){n&&B(e)}}}function yi(o,e,n){let{fig:t}=e,r=JSON.parse(t),i=Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15);return Hr(()=>{Plotly.newPlot(document.getElementById(i),r,{responsive:!0})}),o.$$set=s=>{"fig"in s&&n(1,t=s.fig)},[i,t]}class Zr extends ve{constructor(e){super(),be(this,e,yi,hi,he,{fig:1})}}function bi(o){let e,n,t,r;return{c(){e=E("button"),n=pe(o[0]),d(e,"type","button"),d(e,"class","mb-2.5 mr-1.5 py-3 px-4 inline-flex justify-center items-center gap-2 rounded-md border-2 border-green-200 font-semibold text-green-500 hover:text-white hover:bg-green-500 hover:border-green-500 focus:outline-none focus:ring-2 focus:ring-green-200 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800")},m(i,s){N(i,e,s),v(e,n),t||(r=Te(e,"click",o[1]),t=!0)},p(i,[s]){s&1&&De(n,i[0])},i:Y,o:Y,d(i){i&&B(e),t=!1,r()}}}function vi(o,e,n){let{message:t}=e,{onSubmit:r}=e;function i(){r(t)}return o.$$set=s=>{"message"in s&&n(0,t=s.message),"onSubmit"in s&&n(2,r=s.onSubmit)},[t,i,r]}class Ur extends ve{constructor(e){super(),be(this,e,vi,bi,he,{message:0,onSubmit:2})}}function _i(o){let e,n,t,r,i,s,l,c,a;return{c(){e=E("div"),n=E("div"),t=E("div"),t.innerHTML='',r=Q(),i=E("div"),s=E("h3"),s.textContent="Error",l=Q(),c=E("div"),a=pe(o[0]),d(t,"class","flex-shrink-0"),d(s,"class","text-sm text-yellow-800 font-semibold"),d(c,"class","mt-1 text-sm text-yellow-700"),d(i,"class","ml-4"),d(n,"class","flex"),d(e,"class","bg-yellow-50 border border-yellow-200 rounded-md p-4"),d(e,"role","alert")},m(g,h){N(g,e,h),v(e,n),v(n,t),v(n,r),v(n,i),v(i,s),v(i,l),v(i,c),v(c,a)},p(g,[h]){h&1&&De(a,g[0])},i:Y,o:Y,d(g){g&&B(e)}}}function wi(o,e,n){let{message:t}=e;return o.$$set=r=>{"message"in r&&n(0,t=r.message)},[t]}let En=class extends ve{constructor(e){super(),be(this,e,wi,_i,he,{message:0})}};function $i(o){let e,n;const t=o[1].default,r=on(t,o,o[0],null);return{c(){e=E("div"),r&&r.c(),d(e,"class","font-mono whitespace-pre-wrap")},m(i,s){N(i,e,s),r&&r.m(e,null),n=!0},p(i,[s]){r&&r.p&&(!n||s&1)&&ln(r,t,i,i[0],n?sn(t,i[0],s,null):an(i[0]),null)},i(i){n||(L(r,i),n=!0)},o(i){A(r,i),n=!1},d(i){i&&B(e),r&&r.d(i)}}}function ki(o,e,n){let{$$slots:t={},$$scope:r}=e;return o.$$set=i=>{"$$scope"in i&&n(0,r=i.$$scope)},[r,t]}class Wr extends ve{constructor(e){super(),be(this,e,ki,$i,he,{})}}function xi(o){let e;return{c(){e=pe(o[1])},m(n,t){N(n,e,t)},p(n,t){t&2&&De(e,n[1])},d(n){n&&B(e)}}}function Si(o){let e,n,t,r,i,s,l,c;return t=new ut({props:{message:"Run SQL",onSubmit:o[3]}}),i=new at({props:{$$slots:{default:[xi]},$$scope:{ctx:o}}}),{c(){e=E("textarea"),n=Q(),U(t.$$.fragment),r=Q(),U(i.$$.fragment),d(e,"rows","6"),d(e,"class","block p-2.5 w-full text-blue-600 hover:text-blue-500 dark:text-blue-500 dark:hover:text-blue-400 bg-gray-50 rounded-lg border border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500 font-mono"),d(e,"placeholder","SELECT col1, col2, col3 FROM ...")},m(a,g){N(a,e,g),gt(e,o[1]),N(a,n,g),G(t,a,g),N(a,r,g),G(i,a,g),s=!0,l||(c=Te(e,"input",o[2]),l=!0)},p(a,[g]){g&2&>(e,a[1]);const h={};g&3&&(h.onSubmit=a[3]),t.$set(h);const x={};g&18&&(x.$$scope={dirty:g,ctx:a}),i.$set(x)},i(a){s||(L(t.$$.fragment,a),L(i.$$.fragment,a),s=!0)},o(a){A(t.$$.fragment,a),A(i.$$.fragment,a),s=!1},d(a){a&&(B(e),B(n),B(r)),Z(t,a),Z(i,a),l=!1,c()}}}function Oi(o,e,n){let t;et(o,Qt,l=>n(1,t=l));let{onSubmit:r}=e;function i(){t=this.value,Qt.set(t)}const s=()=>r(t);return o.$$set=l=>{"onSubmit"in l&&n(0,r=l.onSubmit)},[r,t,i,s]}class Ci extends ve{constructor(e){super(),be(this,e,Oi,Si,he,{onSubmit:0})}}function Li(o){let e,n,t,r,i,s;return t=new ut({props:{message:o[3],onSubmit:o[5]}}),{c(){e=E("textarea"),n=Q(),U(t.$$.fragment),d(e,"rows","6"),d(e,"class","block p-2.5 w-full text-blue-600 hover:text-blue-500 dark:text-blue-500 dark:hover:text-blue-400 bg-gray-50 rounded-lg border border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500 font-mono"),d(e,"placeholder",o[2])},m(l,c){N(l,e,c),gt(e,o[0]),N(l,n,c),G(t,l,c),r=!0,i||(s=Te(e,"input",o[4]),i=!0)},p(l,[c]){(!r||c&4)&&d(e,"placeholder",l[2]),c&1&>(e,l[0]);const a={};c&8&&(a.message=l[3]),c&3&&(a.onSubmit=l[5]),t.$set(a)},i(l){r||(L(t.$$.fragment,l),r=!0)},o(l){A(t.$$.fragment,l),r=!1},d(l){l&&(B(e),B(n)),Z(t,l),i=!1,s()}}}function Ei(o,e,n){let{onSubmit:t}=e,{currentValue:r}=e,{placeholder:i}=e,{buttonText:s}=e;function l(){r=this.value,n(0,r)}const c=()=>t(r);return o.$$set=a=>{"onSubmit"in a&&n(1,t=a.onSubmit),"currentValue"in a&&n(0,r=a.currentValue),"placeholder"in a&&n(2,i=a.placeholder),"buttonText"in a&&n(3,s=a.buttonText)},[r,t,i,s,l,c]}class Ti extends ve{constructor(e){super(),be(this,e,Ei,Li,he,{onSubmit:1,currentValue:0,placeholder:2,buttonText:3})}}function ji(o){let e,n;return e=new ut({props:{message:"Play",onSubmit:o[2]}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,[r]){const i={};r&1&&(i.onSubmit=t[2]),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function rr(o){if("speechSynthesis"in window){const e=new SpeechSynthesisUtterance(o);e.lang="en-US",e.volume=1,e.rate=1,e.pitch=1,window.speechSynthesis.speak(e)}else console.error("SpeechSynthesis API is not supported in this browser.")}function Pi(o,e,n){let t;et(o,Nr,s=>n(1,t=s));let{message:r}=e;const i=()=>rr(r);return o.$$set=s=>{"message"in s&&n(0,r=s.message)},o.$$.update=()=>{o.$$.dirty&3&&t&&rr(r)},[r,t,i]}class qi extends ve{constructor(e){super(),be(this,e,Pi,ji,he,{message:0})}}function Ai(o){let e,n,t;return{c(){e=E("button"),e.textContent="Open Debugger",n=Q(),t=E("div"),t.innerHTML='

Server Logs

',d(e,"type","button"),d(e,"class","absolute top-0 right-0 m-1 ms-0 py-3 px-4 inline-flex items-center gap-x-2 text-sm font-semibold rounded-lg border border-transparent bg-blue-600 text-white hover:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none"),d(e,"data-hs-overlay","#hs-overlay-right"),d(t,"id","hs-overlay-right"),d(t,"class","hs-overlay hs-overlay-open:translate-x-0 hidden translate-x-full fixed top-0 end-0 transition-all duration-300 transform h-full max-w-xs w-full z-[80] bg-white border-s dark:bg-neutral-800 dark:border-neutral-700 [--body-scroll:true] overflow-y-auto"),d(t,"tabindex","-1")},m(r,i){N(r,e,i),N(r,n,i),N(r,t,i)},p:Y,i:Y,o:Y,d(r){r&&(B(e),B(n),B(t))}}}class Mi extends ve{constructor(e){super(),be(this,e,null,Ai,he,{})}}function or(o,e,n){const t=o.slice();return t[11]=e[n],t}function ir(o,e,n){const t=o.slice();return t[14]=e[n],t}function sr(o,e,n){const t=o.slice();return t[17]=e[n],t}function lr(o,e,n){const t=o.slice();return t[17]=e[n],t}function ar(o){let e,n;return e=new Mi({}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function cr(o){let e,n;return e=new Fe({props:{$$slots:{default:[Ri]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194306&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function ur(o){let e,n;return e=new ut({props:{message:o[17],onSubmit:Ln}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&2&&(i.message=t[17]),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Di(o){let e=o[1].header+"",n,t,r,i,s=Le(o[1].questions),l=[];for(let a=0;aA(l[a],1,1,()=>{l[a]=null});return{c(){n=pe(e),t=Q();for(let a=0;a{h=null}),Oe())},i(x){g||(L(e.$$.fragment,x),L(t.$$.fragment,x),L(i.$$.fragment,x),L(l.$$.fragment,x),L(h),g=!0)},o(x){A(e.$$.fragment,x),A(t.$$.fragment,x),A(i.$$.fragment,x),A(l.$$.fragment,x),A(h),g=!1},d(x){x&&(B(n),B(r),B(s),B(c),B(a)),Z(e,x),Z(t,x),Z(i,x),Z(l,x),h&&h.d(x)}}}function zi(o){let e,n;return e=new Fe({props:{$$slots:{default:[ds]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194313&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Vi(o){let e,n;return e=new Fe({props:{$$slots:{default:[ps]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194312&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Gi(o){let e,n;return e=new Ct({props:{message:"No, the results were not correct."}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p:Y,i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Zi(o){let e,n;return e=new Ct({props:{message:"Yes, the results were correct."}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p:Y,i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Ui(o){let e,n,t=o[0].ask_results_correct&&pr(o);return{c(){t&&t.c(),e=Ve()},m(r,i){t&&t.m(r,i),N(r,e,i),n=!0},p(r,i){r[0].ask_results_correct?t?i&1&&L(t,1):(t=pr(r),t.c(),L(t,1),t.m(e.parentNode,e)):t&&(Se(),A(t,1,1,()=>{t=null}),Oe())},i(r){n||(L(t),n=!0)},o(r){A(t),n=!1},d(r){r&&B(e),t&&t.d(r)}}}function Wi(o){let e,n,t=o[0].ask_results_correct&&gr(o);return{c(){t&&t.c(),e=Ve()},m(r,i){t&&t.m(r,i),N(r,e,i),n=!0},p(r,i){r[0].ask_results_correct?t?i&1&&L(t,1):(t=gr(r),t.c(),L(t,1),t.m(e.parentNode,e)):t&&(Se(),A(t,1,1,()=>{t=null}),Oe())},i(r){n||(L(t),n=!0)},o(r){A(t),n=!1},d(r){r&&B(e),t&&t.d(r)}}}function Qi(o){let e,n;return e=new Ct({props:{message:"Change the chart based on these instructions",$$slots:{default:[ys]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194304&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Fi(o){let e,n,t=o[0].chart&&mr(o);return{c(){t&&t.c(),e=Ve()},m(r,i){t&&t.m(r,i),N(r,e,i),n=!0},p(r,i){r[0].chart?t?(t.p(r,i),i&1&&L(t,1)):(t=mr(r),t.c(),L(t,1),t.m(e.parentNode,e)):t&&(Se(),A(t,1,1,()=>{t=null}),Oe())},i(r){n||(L(t),n=!0)},o(r){A(t),n=!1},d(r){r&&B(e),t&&t.d(r)}}}function Ji(o){let e,n,t=o[0].table&&yr(o);return{c(){t&&t.c(),e=Ve()},m(r,i){t&&t.m(r,i),N(r,e,i),n=!0},p(r,i){r[0].table?t?(t.p(r,i),i&1&&L(t,1)):(t=yr(r),t.c(),L(t,1),t.m(e.parentNode,e)):t&&(Se(),A(t,1,1,()=>{t=null}),Oe())},i(r){n||(L(t),n=!0)},o(r){A(t),n=!1},d(r){r&&B(e),t&&t.d(r)}}}function Yi(o){let e,n;return e=new Fe({props:{$$slots:{default:[$s]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194312&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Ki(o){let e,n,t=o[0].sql==!0&&vr(o);return{c(){t&&t.c(),e=Ve()},m(r,i){t&&t.m(r,i),N(r,e,i),n=!0},p(r,i){r[0].sql==!0?t?(t.p(r,i),i&1&&L(t,1)):(t=vr(r),t.c(),L(t,1),t.m(e.parentNode,e)):t&&(Se(),A(t,1,1,()=>{t=null}),Oe())},i(r){n||(L(t),n=!0)},o(r){A(t),n=!1},d(r){r&&B(e),t&&t.d(r)}}}function Xi(o){let e,n;return e=new Ct({props:{message:o[14].question}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&8&&(i.message=t[14].question),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function es(o){let e=JSON.stringify(o[14])+"",n;return{c(){n=pe(e)},m(t,r){N(t,n,r)},p(t,r){r&8&&e!==(e=JSON.stringify(t[14])+"")&&De(n,e)},d(t){t&&B(n)}}}function ts(o){let e,n;return e=new at({props:{$$slots:{default:[es]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194312&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function ns(o){let e=o[14].text+"",n;return{c(){n=pe(e)},m(t,r){N(t,n,r)},p(t,r){r&8&&e!==(e=t[14].text+"")&&De(n,e)},d(t){t&&B(n)}}}function rs(o){let e,n,t,r;return e=new at({props:{$$slots:{default:[ns]},$$scope:{ctx:o}}}),t=new qi({props:{message:o[14].text}}),{c(){U(e.$$.fragment),n=Q(),U(t.$$.fragment)},m(i,s){G(e,i,s),N(i,n,s),G(t,i,s),r=!0},p(i,s){const l={};s&4194312&&(l.$$scope={dirty:s,ctx:i}),e.$set(l);const c={};s&8&&(c.message=i[14].text),t.$set(c)},i(i){r||(L(e.$$.fragment,i),L(t.$$.fragment,i),r=!0)},o(i){A(e.$$.fragment,i),A(t.$$.fragment,i),r=!1},d(i){i&&B(n),Z(e,i),Z(t,i)}}}function os(o){let e,n;return e=new Ci({props:{onSubmit:Co}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p:Y,i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function is(o){let e=o[14].sql+"",n;return{c(){n=pe(e)},m(t,r){N(t,n,r)},p(t,r){r&8&&e!==(e=t[14].sql+"")&&De(n,e)},d(t){t&&B(n)}}}function ss(o){let e,n;return e=new Wr({props:{$$slots:{default:[is]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194312&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function ls(o){let e,n;return e=new at({props:{$$slots:{default:[ss]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194312&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function as(o){let e,n;return e=new Gr({props:{id:o[14].id,df:o[14].df}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&8&&(i.id=t[14].id),r&8&&(i.df=t[14].df),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function cs(o){let e,n;return e=new Zr({props:{fig:o[14].fig}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&8&&(i.fig=t[14].fig),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function fr(o){let e,n;return e=new Fe({props:{$$slots:{default:[fs]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194312&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function us(o){let e=o[14].summary+"",n;return{c(){n=pe(e)},m(t,r){N(t,n,r)},p(t,r){r&8&&e!==(e=t[14].summary+"")&&De(n,e)},d(t){t&&B(n)}}}function fs(o){let e,n;return e=new at({props:{$$slots:{default:[us]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194312&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function dr(o){let e,n;function t(){return o[9](o[14])}return e=new ut({props:{message:"Auto Fix",onSubmit:t}}),{c(){U(e.$$.fragment)},m(r,i){G(e,r,i),n=!0},p(r,i){o=r;const s={};i&8&&(s.onSubmit=t),e.$set(s)},i(r){n||(L(e.$$.fragment,r),n=!0)},o(r){A(e.$$.fragment,r),n=!1},d(r){Z(e,r)}}}function ds(o){let e,n,t,r,i,s;e=new En({props:{message:o[14].error}}),t=new ut({props:{message:"Manually Fix",onSubmit:o[8]}});let l=o[0].auto_fix_sql&&dr(o);return{c(){U(e.$$.fragment),n=Q(),U(t.$$.fragment),r=Q(),l&&l.c(),i=Ve()},m(c,a){G(e,c,a),N(c,n,a),G(t,c,a),N(c,r,a),l&&l.m(c,a),N(c,i,a),s=!0},p(c,a){const g={};a&8&&(g.message=c[14].error),e.$set(g),c[0].auto_fix_sql?l?(l.p(c,a),a&1&&L(l,1)):(l=dr(c),l.c(),L(l,1),l.m(i.parentNode,i)):l&&(Se(),A(l,1,1,()=>{l=null}),Oe())},i(c){s||(L(e.$$.fragment,c),L(t.$$.fragment,c),L(l),s=!0)},o(c){A(e.$$.fragment,c),A(t.$$.fragment,c),A(l),s=!1},d(c){c&&(B(n),B(r),B(i)),Z(e,c),Z(t,c),l&&l.d(c)}}}function ps(o){let e,n;return e=new En({props:{message:o[14].error}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&8&&(i.message=t[14].error),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function pr(o){let e,n;return e=new Ct({props:{message:"",$$slots:{default:[gs]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function gs(o){let e,n,t,r;return e=new ut({props:{message:"Yes",onSubmit:o[6]}}),t=new ut({props:{message:"No",onSubmit:o[7]}}),{c(){U(e.$$.fragment),n=Q(),U(t.$$.fragment)},m(i,s){G(e,i,s),N(i,n,s),G(t,i,s),r=!0},p:Y,i(i){r||(L(e.$$.fragment,i),L(t.$$.fragment,i),r=!0)},o(i){A(e.$$.fragment,i),A(t.$$.fragment,i),r=!1},d(i){i&&B(n),Z(e,i),Z(t,i)}}}function gr(o){let e,n;return e=new Fe({props:{$$slots:{default:[hs]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function ms(o){let e;return{c(){e=pe("Were the results correct?")},m(n,t){N(n,e,t)},d(n){n&&B(e)}}}function hs(o){let e,n;return e=new at({props:{$$slots:{default:[ms]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194304&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function ys(o){let e,n;return e=new Ti({props:{onSubmit:o[5],placeholder:"Make the line red",buttonText:"Update Chart",currentValue:""}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p:Y,i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function mr(o){let e,n,t,r;e=new Fe({props:{$$slots:{default:[bs]},$$scope:{ctx:o}}});let i=o[0].redraw_chart&&hr(o);return{c(){U(e.$$.fragment),n=Q(),i&&i.c(),t=Ve()},m(s,l){G(e,s,l),N(s,n,l),i&&i.m(s,l),N(s,t,l),r=!0},p(s,l){const c={};l&4194312&&(c.$$scope={dirty:l,ctx:s}),e.$set(c),s[0].redraw_chart?i?l&1&&L(i,1):(i=hr(s),i.c(),L(i,1),i.m(t.parentNode,t)):i&&(Se(),A(i,1,1,()=>{i=null}),Oe())},i(s){r||(L(e.$$.fragment,s),L(i),r=!0)},o(s){A(e.$$.fragment,s),A(i),r=!1},d(s){s&&(B(n),B(t)),Z(e,s),i&&i.d(s)}}}function bs(o){let e,n;return e=new Zr({props:{fig:o[14].fig}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&8&&(i.fig=t[14].fig),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function hr(o){let e,n;return e=new Fe({props:{$$slots:{default:[vs]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function vs(o){let e,n;return e=new ut({props:{message:"Redraw Chart",onSubmit:Lo}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p:Y,i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function yr(o){let e,n;return e=new Fe({props:{$$slots:{default:[_s]},$$scope:{ctx:o}}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&4194312&&(i.$$scope={dirty:r,ctx:t}),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function _s(o){let e,n;return e=new Gr({props:{id:o[14].id,df:o[14].df}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&8&&(i.id=t[14].id),r&8&&(i.df=t[14].df),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function br(o){let e,n;return e=new ut({props:{message:o[17],onSubmit:Ln}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&8&&(i.message=t[17]),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function ws(o){let e=o[14].header+"",n,t,r,i,s=Le(o[14].questions),l=[];for(let a=0;aA(l[a],1,1,()=>{l[a]=null});return{c(){n=pe(e),t=Q();for(let a=0;a{s[g]=null}),Oe(),n=s[e],n?n.p(c,a):(n=s[e]=i[e](c),n.c()),L(n,1),n.m(t.parentNode,t))},i(c){r||(L(n),r=!0)},o(c){A(n),r=!1},d(c){c&&B(t),s[e].d(c)}}}function wr(o){let e,n;return e=new ui({}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Os(o){let e,n;return e=new Xo({props:{onSubmit:Ln}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p:Y,i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Cs(o){let e,n,t,r;e=new Ur({props:{message:"New Question",onSubmit:dn}});let i=Le(o[3]),s=[];for(let c=0;cA(s[c],1,1,()=>{s[c]=null});return{c(){U(e.$$.fragment),n=Q();for(let c=0;c{t=null}),Oe())},i(r){n||(L(t),n=!0)},o(r){A(t),n=!1},d(r){r&&B(e),t&&t.d(r)}}}function Ls(o){let e,n,t,r,i,s,l,c,a,g,h,x,k,q,M;t=new No({});let y=o[0].debug&&ar(),p=o[1]&&o[1].type=="question_list"&&!o[2]&&cr(o),m=Le(o[3]),w=[];for(let _=0;_A(w[_],1,1,()=>{w[_]=null});let P=o[4]&&wr();h=new ti({});const C=[Cs,Os],f=[];function u(_,j){return _[2]?0:1}return k=u(o),q=f[k]=C[k](o),{c(){e=E("div"),n=E("div"),U(t.$$.fragment),r=Q(),y&&y.c(),i=Q(),p&&p.c(),s=Q(),l=E("ul");for(let _=0;_{y=null}),Oe()),_[1]&&_[1].type=="question_list"&&!_[2]?p?(p.p(_,j),j&6&&L(p,1)):(p=cr(_),p.c(),L(p,1),p.m(n,s)):p&&(Se(),A(p,1,1,()=>{p=null}),Oe()),j&9){m=Le(_[3]);let T;for(T=0;T{P=null}),Oe());let O=k;k=u(_),k===O?f[k].p(_,j):(Se(),A(f[O],1,1,()=>{f[O]=null}),Oe(),q=f[k],q?q.p(_,j):(q=f[k]=C[k](_),q.c()),L(q,1),q.m(g,null))},i(_){if(!M){L(t.$$.fragment,_),L(y),L(p);for(let j=0;jn(0,t=q)),et(o,On,q=>n(1,r=q)),et(o,un,q=>n(2,i=q)),et(o,Bt,q=>n(3,s=q)),et(o,Ut,q=>n(4,l=q)),[t,r,i,s,l,q=>{To(q)},()=>{Eo()},()=>{Un()},()=>{Un()},q=>{Oo(q.error)},q=>q.type==="question_cache"?mo(q.id):void 0]}class Ts extends ve{constructor(e){super(),be(this,e,Es,Ls,he,{})}}function js(o){let e,n,t,r,i,s,l,c,a,g,h,x,k,q,M,y,p,m,w;return{c(){e=E("div"),n=E("div"),t=E("div"),r=E("div"),i=E("h3"),i.textContent="Are you sure?",s=Q(),l=E("button"),l.innerHTML='Close ',c=Q(),a=E("div"),g=E("p"),h=pe(o[0]),x=Q(),k=E("div"),q=E("button"),q.textContent="Close",M=Q(),y=E("button"),p=pe(o[1]),d(i,"class","font-bold text-gray-800 dark:text-white"),d(l,"type","button"),d(l,"class","hs-dropdown-toggle inline-flex flex-shrink-0 justify-center items-center h-8 w-8 rounded-md text-gray-500 hover:text-gray-400 focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-offset-2 focus:ring-offset-white transition-all text-sm dark:focus:ring-gray-700 dark:focus:ring-offset-gray-800"),d(l,"data-hs-overlay","#hs-vertically-centered-modal"),d(r,"class","flex justify-between items-center py-3 px-4 border-b dark:border-gray-700"),d(g,"class","text-gray-800 dark:text-gray-400"),d(a,"class","p-4 overflow-y-auto"),d(q,"type","button"),d(q,"class","hs-dropdown-toggle py-3 px-4 inline-flex justify-center items-center gap-2 rounded-md border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-white focus:ring-blue-600 transition-all text-sm dark:bg-slate-900 dark:hover:bg-slate-800 dark:border-gray-700 dark:text-gray-400 dark:hover:text-white dark:focus:ring-offset-gray-800"),d(q,"data-hs-overlay","#hs-vertically-centered-modal"),d(y,"class","py-3 px-4 inline-flex justify-center items-center gap-2 rounded-md border border-transparent font-semibold bg-blue-500 text-white hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800"),d(k,"class","flex justify-end items-center gap-x-2 py-3 px-4 border-t dark:border-gray-700"),d(t,"class","flex flex-col bg-white border shadow-sm rounded-xl dark:bg-gray-800 dark:border-gray-700 dark:shadow-slate-700/[.7]"),d(n,"class","hs-overlay-open:mt-7 hs-overlay-open:opacity-100 hs-overlay-open:duration-500 mt-0 opacity-0 ease-out transition-all sm:max-w-lg sm:w-full m-3 sm:mx-auto min-h-[calc(100%-3.5rem)] flex items-center"),d(e,"class","hs-overlay open w-full h-full fixed top-0 left-0 z-[60] overflow-x-hidden overflow-y-auto")},m(D,P){N(D,e,P),v(e,n),v(n,t),v(t,r),v(r,i),v(r,s),v(r,l),v(t,c),v(t,a),v(a,g),v(g,h),v(t,x),v(t,k),v(k,q),v(k,M),v(k,y),v(y,p),m||(w=[Te(l,"click",function(){Dt(o[2])&&o[2].apply(this,arguments)}),Te(q,"click",function(){Dt(o[2])&&o[2].apply(this,arguments)}),Te(y,"click",function(){Dt(o[3])&&o[3].apply(this,arguments)})],m=!0)},p(D,[P]){o=D,P&1&&De(h,o[0]),P&2&&De(p,o[1])},i:Y,o:Y,d(D){D&&B(e),m=!1,mt(w)}}}function Ps(o,e,n){let{message:t}=e,{buttonLabel:r}=e,{onClose:i}=e,{onConfirm:s}=e;return o.$$set=l=>{"message"in l&&n(0,t=l.message),"buttonLabel"in l&&n(1,r=l.buttonLabel),"onClose"in l&&n(2,i=l.onClose),"onConfirm"in l&&n(3,s=l.onConfirm)},[t,r,i,s]}class qs extends ve{constructor(e){super(),be(this,e,Ps,js,he,{message:0,buttonLabel:1,onClose:2,onConfirm:3})}}function xr(o,e,n){const t=o.slice();return t[10]=e[n].name,t[11]=e[n].description,t[12]=e[n].example,t}function Sr(o){let e,n,t,r,i,s,l,c,a,g,h,x;return g=no(o[7][0]),{c(){e=E("div"),n=E("div"),t=E("input"),r=Q(),i=E("label"),s=E("span"),s.textContent=`${o[10]}`,l=Q(),c=E("span"),c.textContent=`${o[11]}`,a=Q(),d(t,"id","hs-radio-"+o[10]),t.__value=o[10],gt(t,t.__value),d(t,"name","hs-radio-with-description"),d(t,"type","radio"),d(t,"class","border-gray-200 rounded-full text-blue-600 focus:ring-blue-500 dark:bg-gray-800 dark:border-gray-700 dark:checked:bg-blue-500 dark:checked:border-blue-500 dark:focus:ring-offset-gray-800"),d(t,"aria-describedby","hs-radio-delete-description"),d(n,"class","flex items-center h-5 mt-1"),d(s,"class","block text-sm font-semibold text-gray-800 dark:text-gray-300"),d(c,"id","hs-radio-ddl-description"),d(c,"class","block text-sm text-gray-600 dark:text-gray-500"),d(i,"for","hs-radio-"+o[10]),d(i,"class","ml-3"),d(e,"class","relative flex items-start"),g.p(t)},m(k,q){N(k,e,q),v(e,n),v(n,t),t.checked=t.__value===o[0],v(e,r),v(e,i),v(i,s),v(i,l),v(i,c),v(e,a),h||(x=Te(t,"change",o[6]),h=!0)},p(k,q){q&1&&(t.checked=t.__value===k[0])},d(k){k&&B(e),g.r(),h=!1,x()}}}function As(o){let e,n,t,r,i,s,l,c,a,g,h,x,k,q,M,y,p,m,w,D,P,C,f,u,_,j=Le(o[3]),O=[];for(let T=0;TClose ',c=Q(),a=E("span"),a.textContent="Training Data Type",g=Q(),h=E("div");for(let H=0;H{r(l,i.toLowerCase())},a=[[]];function g(){i=this.__value,n(0,i)}const h=k=>k.name===i;function x(){l=this.value,n(2,l)}return o.$$set=k=>{"onDismiss"in k&&n(1,t=k.onDismiss),"onTrain"in k&&n(5,r=k.onTrain),"selectedTrainingDataType"in k&&n(0,i=k.selectedTrainingDataType)},[i,t,l,s,c,r,g,a,h,x]}class Ds extends ve{constructor(e){super(),be(this,e,Ms,As,he,{onDismiss:1,onTrain:5,selectedTrainingDataType:0})}}function Or(o,e,n){const t=o.slice();return t[21]=e[n],t}function Cr(o,e,n){const t=o.slice();return t[24]=e[n],t}function Lr(o,e,n){const t=o.slice();return t[24]=e[n],t}function Er(o){let e,n;return e=new Ds({props:{onDismiss:o[13],onTrain:o[0]}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&1&&(i.onTrain=t[0]),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Rs(o){let e;return{c(){e=pe("Action")},m(n,t){N(n,e,t)},p:Y,d(n){n&&B(e)}}}function Hs(o){let e=o[24]+"",n;return{c(){n=pe(e)},m(t,r){N(t,n,r)},p:Y,d(t){t&&B(n)}}}function Tr(o){let e,n,t,r;function i(c,a){return c[24]!="id"?Hs:Rs}let l=i(o)(o);return{c(){e=E("th"),n=E("div"),t=E("span"),l.c(),r=Q(),d(t,"class","text-xs font-semibold uppercase tracking-wide text-gray-800 dark:text-gray-200"),d(n,"class","flex items-center gap-x-2"),d(e,"scope","col"),d(e,"class","px-6 py-3 text-left")},m(c,a){N(c,e,a),v(e,n),v(n,t),l.m(t,null),v(e,r)},p(c,a){l.p(c,a)},d(c){c&&B(e),l.d()}}}function Bs(o){let e,n,t;function r(){return o[18](o[21],o[24])}return{c(){e=E("button"),e.textContent="Delete",d(e,"type","button"),d(e,"class","py-2 px-3 inline-flex justify-center items-center gap-2 rounded-md border-2 border-red-200 font-semibold text-red-500 hover:text-white hover:bg-red-500 hover:border-red-500 focus:outline-none focus:ring-2 focus:ring-red-200 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800")},m(i,s){N(i,e,s),n||(t=Te(e,"click",r),n=!0)},p(i,s){o=i},d(i){i&&B(e),n=!1,t()}}}function Ns(o){let e,n=o[21][o[24]]+"",t;return{c(){e=E("span"),t=pe(n),d(e,"class","text-gray-800 dark:text-gray-200")},m(r,i){N(r,e,i),v(e,t)},p(r,i){i&16&&n!==(n=r[21][r[24]]+"")&&De(t,n)},d(r){r&&B(e)}}}function jr(o){let e,n;function t(s,l){return s[24]!="id"?Ns:Bs}let i=t(o)(o);return{c(){e=E("td"),n=E("div"),i.c(),d(n,"class","px-6 py-3"),d(e,"class","h-px w-px ")},m(s,l){N(s,e,l),v(e,n),i.m(n,null)},p(s,l){i.p(s,l)},d(s){s&&B(e),i.d()}}}function Pr(o){let e,n,t=Le(o[8]),r=[];for(let i=0;iTraining Data

Add or remove training data. Good training data is the key to accuracy.

',a=Q(),g=E("div"),h=E("div"),x=E("button"),x.textContent="View all",k=Q(),q=E("button"),q.innerHTML=` + Add training data`,M=Q(),y=E("table"),p=E("thead"),m=E("tr");for(let ee=0;ee + Prev`,ht=Q(),_e=E("button"),_e.innerHTML=`Next + `,ft=Q(),Pe&&Pe.c(),We=Ve(),d(x,"class","py-2 px-3 inline-flex justify-center items-center gap-2 rounded-md border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-white focus:ring-blue-600 transition-all text-sm dark:bg-slate-900 dark:hover:bg-slate-800 dark:border-gray-700 dark:text-gray-400 dark:hover:text-white dark:focus:ring-offset-gray-800"),d(q,"class","py-2 px-3 inline-flex justify-center items-center gap-2 rounded-md border border-transparent font-semibold bg-blue-500 text-white hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800"),d(h,"class","inline-flex gap-x-2"),d(l,"class","px-6 py-4 grid gap-3 md:flex md:justify-between md:items-center border-b border-gray-200 dark:border-gray-700"),d(p,"class","bg-gray-50 dark:bg-slate-800"),d(D,"class","divide-y divide-gray-200 dark:divide-gray-700"),d(y,"class","min-w-full divide-y divide-gray-200 dark:divide-gray-700"),d(u,"class","text-sm text-gray-600 dark:text-gray-400"),d(O,"class","py-2 px-3 pr-9 block w-full border-gray-200 rounded-md text-sm focus:border-blue-500 focus:ring-blue-500 dark:bg-slate-900 dark:border-gray-700 dark:text-gray-400"),d(j,"class","max-w-sm space-y-3"),d(ae,"class","text-sm text-gray-600 dark:text-gray-400"),d(f,"class","inline-flex items-center gap-x-2"),d(Ue,"type","button"),d(Ue,"class","py-2 px-3 inline-flex justify-center items-center gap-2 rounded-md border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-white focus:ring-blue-600 transition-all text-sm dark:bg-slate-900 dark:hover:bg-slate-800 dark:border-gray-700 dark:text-gray-400 dark:hover:text-white dark:focus:ring-offset-gray-800"),d(_e,"type","button"),d(_e,"class","py-2 px-3 inline-flex justify-center items-center gap-2 rounded-md border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-white focus:ring-blue-600 transition-all text-sm dark:bg-slate-900 dark:hover:bg-slate-800 dark:border-gray-700 dark:text-gray-400 dark:hover:text-white dark:focus:ring-offset-gray-800"),d(Ge,"class","inline-flex gap-x-2"),d(C,"class","px-6 py-4 grid gap-3 md:flex md:justify-between md:items-center border-t border-gray-200 dark:border-gray-700"),d(s,"class","bg-white border border-gray-200 rounded-xl shadow-sm overflow-hidden dark:bg-slate-900 dark:border-gray-700"),d(i,"class","p-1.5 min-w-full inline-block align-middle"),d(r,"class","-m-1.5 overflow-x-auto"),d(t,"class","flex flex-col"),d(n,"class","max-w-[85rem] px-4 py-10 sm:px-6 lg:px-8 lg:py-14 mx-auto")},m(ee,Be){qe&&qe.m(ee,Be),N(ee,e,Be),N(ee,n,Be),v(n,t),v(t,r),v(r,i),v(i,s),v(s,l),v(l,c),v(l,a),v(l,g),v(g,h),v(h,x),v(h,k),v(h,q),v(s,M),v(s,y),v(y,p),v(p,m);for(let oe=0;oe{qe=null}),Oe()),Be&256){bt=Le(ee[8]);let oe;for(oe=0;oe{Pe=null}),Oe())},i(ee){yt||(L(qe),L(Pe),yt=!0)},o(ee){A(qe),A(Pe),yt=!1},d(ee){ee&&(B(e),B(n),B(ft),B(We)),qe&&qe.d(ee),nt(Re,ee),nt(je,ee),Pe&&Pe.d(ee),Nt=!1,mt(It)}}}function zs(o,e,n){let{df:t}=e,{onTrain:r}=e,{removeTrainingData:i}=e,s=JSON.parse(t),l=s.length>0?Object.keys(s[0]):[],c=10,a=1,g=Math.ceil(s.length/c),h=(a-1)*c,x=a*c,k=s.slice(h,x);const q=()=>{a>1&&n(16,a--,a)},M=()=>{a{n(16,a=1),n(15,c=s.length)};let p=null,m=!1;const w=()=>{n(6,m=!0)},D=()=>{n(6,m=!1)},P=(u,_)=>{n(5,p=u[_])},C=()=>{n(5,p=null)},f=()=>{p&&i(p)};return o.$$set=u=>{"df"in u&&n(14,t=u.df),"onTrain"in u&&n(0,r=u.onTrain),"removeTrainingData"in u&&n(1,i=u.removeTrainingData)},o.$$.update=()=>{o.$$.dirty&98304&&n(2,h=(a-1)*c),o.$$.dirty&98304&&n(3,x=a*c),o.$$.dirty&12&&n(4,k=s.slice(h,x)),o.$$.dirty&32768&&n(17,g=Math.ceil(s.length/c)),o.$$.dirty&196608&&console.log(a,g)},[r,i,h,x,k,p,m,s,l,q,M,y,w,D,t,c,a,g,P,C,f]}class Vs extends ve{constructor(e){super(),be(this,e,zs,Is,he,{df:14,onTrain:0,removeTrainingData:1})}}function Gs(o){let e;return{c(){e=E("div"),e.innerHTML='
Loading...
',d(e,"class","min-h-[15rem] flex flex-col bg-white border shadow-sm rounded-xl dark:bg-gray-800 dark:border-gray-700 dark:shadow-slate-700/[.7]")},m(n,t){N(n,e,t)},p:Y,i:Y,o:Y,d(n){n&&B(e)}}}function Zs(o){let e,n,t,r;const i=[Ws,Us],s=[];function l(c,a){return c[0].type==="df"?0:c[0].type==="error"?1:-1}return~(e=l(o))&&(n=s[e]=i[e](o)),{c(){n&&n.c(),t=Ve()},m(c,a){~e&&s[e].m(c,a),N(c,t,a),r=!0},p(c,a){let g=e;e=l(c),e===g?~e&&s[e].p(c,a):(n&&(Se(),A(s[g],1,1,()=>{s[g]=null}),Oe()),~e?(n=s[e],n?n.p(c,a):(n=s[e]=i[e](c),n.c()),L(n,1),n.m(t.parentNode,t)):n=null)},i(c){r||(L(n),r=!0)},o(c){A(n),r=!1},d(c){c&&B(t),~e&&s[e].d(c)}}}function Us(o){let e,n;return e=new En({props:{message:o[0].error}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&1&&(i.message=t[0].error),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Ws(o){let e,n;return e=new Vs({props:{df:o[0].df,removeTrainingData:vo,onTrain:ko}}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},p(t,r){const i={};r&1&&(i.df=t[0].df),e.$set(i)},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Qs(o){let e,n,t,r,i;const s=[Zs,Gs],l=[];function c(a,g){return a[0]!==null?0:1}return t=c(o),r=l[t]=s[t](o),{c(){e=E("div"),n=E("div"),r.c(),d(n,"class","py-10 lg:py-14"),d(e,"class","relative h-screen w-full lg:pl-64")},m(a,g){N(a,e,g),v(e,n),l[t].m(n,null),i=!0},p(a,[g]){let h=t;t=c(a),t===h?l[t].p(a,g):(Se(),A(l[h],1,1,()=>{l[h]=null}),Oe(),r=l[t],r?r.p(a,g):(r=l[t]=s[t](a),r.c()),L(r,1),r.m(n,null))},i(a){i||(L(r),i=!0)},o(a){A(r),i=!1},d(a){a&&B(e),l[t].d()}}}function Fs(o,e,n){let t;return et(o,cn,r=>n(0,t=r)),[t]}class Js extends ve{constructor(e){super(),be(this,e,Fs,Qs,he,{})}}function Ys(o){let e;return{c(){e=E("body"),e.innerHTML=`

No Training Data

Did you read the docs?

Oops, something went wrong.

You need some training data before you can use Vanna

© All Rights Reserved. 2022.

`,p(e,"class","flex h-full")},m(n,t){I(n,e,t)},p:K,i:K,o:K,d(n){n&&B(e)}}}class Ws extends we{constructor(e){super(),_e(this,e,null,Qs,ye,{})}}function Fs(o){let e,n,t;return{c(){e=L("div"),n=L("div"),t=L("div"),p(t,"class","mt-7 bg-white border border-gray-200 rounded-xl shadow-sm dark:bg-gray-800 dark:border-gray-700"),p(n,"class","w-full max-w-md mx-auto p-6"),p(e,"class","dark:bg-slate-900 bg-gray-100 flex h-screen items-center py-16")},m(r,i){I(r,e,i),v(e,n),v(n,t),t.innerHTML=o[0]},p(r,[i]){i&1&&(t.innerHTML=r[0])},i:K,o:K,d(r){r&&B(e)}}}function Js(o,e,n){let t;return et(o,fn,r=>n(0,t=r)),[t]}class Ys extends we{constructor(e){super(),_e(this,e,Js,Fs,ye,{})}}function qr(o){let e,n;return e=new Po({}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Ks(o){let e,n;return e=new Ys({}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function Xs(o){let e,n;return e=new Ws({}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function el(o){let e,n;return e=new Us({}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function tl(o){let e,n;return e=new Os({}),{c(){Q(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(E(e.$$.fragment,t),n=!0)},o(t){q(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function nl(o){let e,n,t,r,i,s=o[0]!=="login"&&qr();const l=[tl,el,Xs,Ks],c=[];function a(m,h){return m[0]==="chat"?0:m[0]==="training-data"?1:m[0]==="no-training-data"?2:m[0]==="login"?3:-1}return~(t=a(o))&&(r=c[t]=l[t](o)),{c(){e=L("main"),s&&s.c(),n=F(),r&&r.c()},m(m,h){I(m,e,h),s&&s.m(e,null),v(e,n),~t&&c[t].m(e,null),i=!0},p(m,[h]){m[0]!=="login"?s?h&1&&E(s,1):(s=qr(),s.c(),E(s,1),s.m(e,n)):s&&(Oe(),q(s,1,1,()=>{s=null}),Ce());let $=t;t=a(m),t!==$&&(r&&(Oe(),q(c[$],1,1,()=>{c[$]=null}),Ce()),~t?(r=c[t],r||(r=c[t]=l[t](m),r.c()),E(r,1),r.m(e,null)):r=null)},i(m){i||(E(s),E(r),i=!0)},o(m){q(s),q(r),i=!1},d(m){m&&B(e),s&&s.d(),~t&&c[t].d()}}}function rl(o,e,n){let t;return et(o,wt,r=>n(0,t=r)),Rr(async()=>{ho(),go(),new URL(window.location.href).hash.slice(1)==="training-data"?Ir():Nr()}),[t]}class ol extends we{constructor(e){super(),_e(this,e,rl,nl,ye,{})}}new ol({target:document.getElementById("app")}); + Back to examples
`,d(e,"class","flex h-full")},m(n,t){N(n,e,t)},p:Y,i:Y,o:Y,d(n){n&&B(e)}}}class Ks extends ve{constructor(e){super(),be(this,e,null,Ys,he,{})}}function Xs(o){let e,n,t;return{c(){e=E("div"),n=E("div"),t=E("div"),d(t,"class","mt-7 bg-white border border-gray-200 rounded-xl shadow-sm dark:bg-gray-800 dark:border-gray-700"),d(n,"class","w-full max-w-md mx-auto p-6"),d(e,"class","dark:bg-slate-900 bg-gray-100 flex h-screen items-center py-16")},m(r,i){N(r,e,i),v(e,n),v(n,t),t.innerHTML=o[0]},p(r,[i]){i&1&&(t.innerHTML=r[0])},i:Y,o:Y,d(r){r&&B(e)}}}function el(o,e,n){let t;return et(o,fn,r=>n(0,t=r)),[t]}class tl extends ve{constructor(e){super(),be(this,e,el,Xs,he,{})}}function Ar(o){let e,n;return e=new Ao({}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function nl(o){let e,n;return e=new tl({}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function rl(o){let e,n;return e=new Ks({}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function ol(o){let e,n;return e=new Js({}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function il(o){let e,n;return e=new Ts({}),{c(){U(e.$$.fragment)},m(t,r){G(e,t,r),n=!0},i(t){n||(L(e.$$.fragment,t),n=!0)},o(t){A(e.$$.fragment,t),n=!1},d(t){Z(e,t)}}}function sl(o){let e,n,t,r,i,s=o[0]!=="login"&&Ar();const l=[il,ol,rl,nl],c=[];function a(g,h){return g[0]==="chat"?0:g[0]==="training-data"?1:g[0]==="no-training-data"?2:g[0]==="login"?3:-1}return~(t=a(o))&&(r=c[t]=l[t](o)),{c(){e=E("main"),s&&s.c(),n=Q(),r&&r.c()},m(g,h){N(g,e,h),s&&s.m(e,null),v(e,n),~t&&c[t].m(e,null),i=!0},p(g,[h]){g[0]!=="login"?s?h&1&&L(s,1):(s=Ar(),s.c(),L(s,1),s.m(e,n)):s&&(Se(),A(s,1,1,()=>{s=null}),Oe());let x=t;t=a(g),t!==x&&(r&&(Se(),A(c[x],1,1,()=>{c[x]=null}),Oe()),~t?(r=c[t],r||(r=c[t]=l[t](g),r.c()),L(r,1),r.m(e,null)):r=null)},i(g){i||(L(s),L(r),i=!0)},o(g){A(s),A(r),i=!1},d(g){g&&B(e),s&&s.d(),~t&&c[t].d()}}}function ll(o,e,n){let t;return et(o,wt,r=>n(0,t=r)),Hr(async()=>{yo(),ho(),new URL(window.location.href).hash.slice(1)==="training-data"?Ir():zr()}),[t]}class al extends ve{constructor(e){super(),be(this,e,ll,sl,he,{})}}new al({target:document.getElementById("app")}); ''' \ No newline at end of file From c5239908e0f99deb1ce487d362bd88f48e7335a7 Mon Sep 17 00:00:00 2001 From: Zain Hoda <7146154+zainhoda@users.noreply.github.com> Date: Mon, 29 Apr 2024 19:22:17 -0400 Subject: [PATCH 3/3] disable websocket for colab --- src/vanna/flask/__init__.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/vanna/flask/__init__.py b/src/vanna/flask/__init__.py index b82c3429..2b54cf2a 100644 --- a/src/vanna/flask/__init__.py +++ b/src/vanna/flask/__init__.py @@ -1,5 +1,6 @@ import json import logging +import sys import uuid from abc import ABC, abstractmethod from functools import wraps @@ -205,6 +206,10 @@ def __init__(self, vn, cache: Cache = MemoryCache(), log = logging.getLogger("werkzeug") log.setLevel(logging.ERROR) + if "google.colab" in sys.modules: + self.debug = False + print("Google Colab doesn't support running websocket servers. Disabling debug mode.") + if self.debug: def log(message, title="Info"): [ws.send(json.dumps({'message': message, 'title': title})) for ws in self.ws_clients]