From 5607794dbb3a727a1ab62cc65421e63fa17767db Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sat, 22 Jul 2023 20:12:16 -0400 Subject: [PATCH 01/78] add support for controlnet & sdxl conversion - not fully working --- .../backend/install/invokeai_configure.py | 8 + .../backend/install/model_install_backend.py | 25 +- .../convert_ckpt_to_diffusers.py | 1818 +++++++++++------ .../backend/model_management/model_manager.py | 3 +- .../backend/model_management/model_probe.py | 3 +- .../model_management/models/controlnet.py | 62 +- .../backend/model_management/models/sdxl.py | 11 +- .../models/stable_diffusion.py | 80 +- .../configs/stable-diffusion/sd_xl_base.yaml | 98 + .../stable-diffusion/sd_xl_refiner.yaml | 91 + 10 files changed, 1519 insertions(+), 680 deletions(-) create mode 100644 invokeai/configs/stable-diffusion/sd_xl_base.yaml create mode 100644 invokeai/configs/stable-diffusion/sd_xl_refiner.yaml diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 1f0e39961b..90df00dd28 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -55,6 +55,7 @@ from invokeai.frontend.install.widgets import ( from invokeai.backend.install.legacy_arg_parsing import legacy_parser from invokeai.backend.install.model_install_backend import ( hf_download_from_pretrained, + hf_download_with_resume, InstallSelections, ModelInstall, ) @@ -204,6 +205,13 @@ def download_conversion_models(): pipeline = CLIPTextModel.from_pretrained(repo_id, subfolder="text_encoder", **kwargs) pipeline.save_pretrained(target_dir / 'stable-diffusion-2-clip' / 'text_encoder', safe_serialization=True) + repo_id = "laion/CLIP-ViT-bigG-14-laion2B-39B-b160k" + _, model_name = repo_id.split('/') + tokenizer_2 = CLIPTokenizer.from_pretrained(repo_id, **kwargs) + tokenizer_2.save_pretrained(target_dir / model_name, safe_serialization=True) + # for some reason config.json never downloads + hf_download_with_resume(repo_id, target_dir / model_name, "config.json") + # VAE logger.info('Downloading stable diffusion VAE') vae = AutoencoderKL.from_pretrained('stabilityai/sd-vae-ft-mse', **kwargs) diff --git a/invokeai/backend/install/model_install_backend.py b/invokeai/backend/install/model_install_backend.py index 0537d6069a..1731c2134a 100644 --- a/invokeai/backend/install/model_install_backend.py +++ b/invokeai/backend/install/model_install_backend.py @@ -58,7 +58,15 @@ LEGACY_CONFIGS = { SchedulerPredictionType.Epsilon: 'v2-inpainting-inference.yaml', SchedulerPredictionType.VPrediction: 'v2-inpainting-inference-v.yaml', } - } + }, + + BaseModelType.StableDiffusionXL: { + ModelVariantType.Normal: 'sd_xl_base.yaml', + }, + + BaseModelType.StableDiffusionXLRefiner: { + ModelVariantType.Normal: 'sd_xl_refiner.yaml', + }, } @dataclass @@ -329,6 +337,7 @@ class ModelInstall(object): description = str(description), model_format = info.format, ) + legacy_conf = None if info.model_type == ModelType.Main: attributes.update(dict(variant = info.variant_type,)) if info.format=="checkpoint": @@ -343,11 +352,17 @@ class ModelInstall(object): except KeyError: legacy_conf = Path(self.config.legacy_conf_dir, 'v1-inference.yaml') # best guess - attributes.update( - dict( - config = str(legacy_conf) - ) + if info.model_type == ModelType.ControlNet and info.format=="checkpoint": + possible_conf = path.with_suffix('.yaml') + if possible_conf.exists(): + legacy_conf = str(self.relative_to_root(possible_conf)) + + if legacy_conf: + attributes.update( + dict( + config = str(legacy_conf) ) + ) return attributes def relative_to_root(self, path: Path)->Path: diff --git a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py index d9d4262e47..3d071437ae 100644 --- a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py +++ b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright 2022 The HuggingFace Inc. team. +# Copyright 2023 The HuggingFace Inc. team. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,23 +13,60 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Adapted for use as a module by Lincoln Stein -# Original file at: https://github.com/huggingface/diffusers/blob/main/scripts/convert_ldm_original_checkpoint_to_diffusers.py -""" Conversion script for the LDM checkpoints. """ +# Adapted for use in InvokeAI by Lincoln Stein, July 2023 +# +""" Conversion script for the Stable Diffusion checkpoints.""" import re -import warnings +from contextlib import nullcontext +from io import BytesIO +from typing import Optional, Union from pathlib import Path -from typing import Union -from packaging import version +import requests import torch -from safetensors.torch import load_file +from transformers import ( + AutoFeatureExtractor, + BertTokenizerFast, + CLIPImageProcessor, + CLIPTextConfig, + CLIPTextModel, + CLIPTextModelWithProjection, + CLIPTokenizer, + CLIPVisionConfig, + CLIPVisionModelWithProjection, +) -import invokeai.backend.util.logging as logger -from invokeai.app.services.config import InvokeAIAppConfig +from diffusers.models import ( + AutoencoderKL, + ControlNetModel, + PriorTransformer, + UNet2DConditionModel, +) +from diffusers.schedulers import ( + DDIMScheduler, + DDPMScheduler, + DPMSolverMultistepScheduler, + EulerAncestralDiscreteScheduler, + EulerDiscreteScheduler, + HeunDiscreteScheduler, + LMSDiscreteScheduler, + PNDMScheduler, + UnCLIPScheduler, +) +from diffusers.utils import is_accelerate_available, is_omegaconf_available, is_safetensors_available +from diffusers.utils.import_utils import BACKENDS_MAPPING +from diffusers.pipelines.latent_diffusion.pipeline_latent_diffusion import ( + LDMBertConfig, LDMBertModel +) +from diffusers.pipelines.paint_by_example import PaintByExampleImageEncoder +from diffusers.pipelines.pipeline_utils import DiffusionPipeline +from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker +from diffusers.pipelines.stable_diffusion.stable_unclip_image_normalizer import StableUnCLIPImageNormalizer + +from invokeai.backend.util.logging import InvokeAILogger +from invokeai.app.services.config import InvokeAIAppConfig, MODEL_CORE -from .model_manager import ModelManager from picklescan.scanner import scan_file_path from .models import BaseModelType, ModelVariantType @@ -41,43 +78,12 @@ except ImportError: "OmegaConf is required to convert the LDM checkpoints. Please install it with `pip install OmegaConf`." ) -from diffusers import ( - AutoencoderKL, - DDIMScheduler, - DPMSolverMultistepScheduler, - EulerAncestralDiscreteScheduler, - EulerDiscreteScheduler, - HeunDiscreteScheduler, - LDMTextToImagePipeline, - LMSDiscreteScheduler, - PNDMScheduler, - UniPCMultistepScheduler, - StableDiffusionPipeline, - UNet2DConditionModel, -) -from diffusers import logging as dlogging -from diffusers.pipelines.latent_diffusion.pipeline_latent_diffusion import ( - LDMBertConfig, - LDMBertModel, -) -from diffusers.pipelines.stable_diffusion.safety_checker import ( - StableDiffusionSafetyChecker, -) -from diffusers.utils import is_safetensors_available -import transformers -from transformers import ( - AutoFeatureExtractor, - BertTokenizerFast, - CLIPTextModel, - CLIPTokenizer, - CLIPVisionConfig, -) +if is_accelerate_available(): + from accelerate import init_empty_weights + from accelerate.utils import set_module_tensor_to_device -from ..stable_diffusion import StableDiffusionGeneratorPipeline - -# TODO: redo in future -#CONVERT_MODEL_ROOT = InvokeAIAppConfig.get_config().models_path / "core" / "convert" -CONVERT_MODEL_ROOT = InvokeAIAppConfig.get_config().root_path / "models" / "core" / "convert" +logger = InvokeAILogger.getLogger(__name__) +CONVERT_MODEL_ROOT = InvokeAIAppConfig.get_config().root_path / MODEL_CORE / "convert" def shave_segments(path, n_shave_prefix_segments=1): """ @@ -104,9 +110,7 @@ def renew_resnet_paths(old_list, n_shave_prefix_segments=0): new_item = new_item.replace("emb_layers.1", "time_emb_proj") new_item = new_item.replace("skip_connection", "conv_shortcut") - new_item = shave_segments( - new_item, n_shave_prefix_segments=n_shave_prefix_segments - ) + new_item = shave_segments(new_item, n_shave_prefix_segments=n_shave_prefix_segments) mapping.append({"old": old_item, "new": new_item}) @@ -122,9 +126,7 @@ def renew_vae_resnet_paths(old_list, n_shave_prefix_segments=0): new_item = old_item new_item = new_item.replace("nin_shortcut", "conv_shortcut") - new_item = shave_segments( - new_item, n_shave_prefix_segments=n_shave_prefix_segments - ) + new_item = shave_segments(new_item, n_shave_prefix_segments=n_shave_prefix_segments) mapping.append({"old": old_item, "new": new_item}) @@ -175,9 +177,7 @@ def renew_vae_attention_paths(old_list, n_shave_prefix_segments=0): new_item = new_item.replace("proj_out.weight", "to_out.0.weight") new_item = new_item.replace("proj_out.bias", "to_out.0.bias") - new_item = shave_segments( - new_item, n_shave_prefix_segments=n_shave_prefix_segments - ) + new_item = shave_segments(new_item, n_shave_prefix_segments=n_shave_prefix_segments) mapping.append({"old": old_item, "new": new_item}) @@ -185,26 +185,40 @@ def renew_vae_attention_paths(old_list, n_shave_prefix_segments=0): def assign_to_checkpoint( - paths, - checkpoint, - old_checkpoint, - additional_replacements=None, - config=None, + paths, checkpoint, old_checkpoint, attention_paths_to_split=None, additional_replacements=None, config=None ): """ - This does the final conversion step: take locally converted weights and apply a global renaming - to them. It splits attention layers, and takes into account additional replacements - that may arise. + This does the final conversion step: take locally converted weights and apply a global renaming to them. It splits + attention layers, and takes into account additional replacements that may arise. Assigns the weights to the new checkpoint. """ - assert isinstance( - paths, list - ), "Paths should be a list of dicts containing 'old' and 'new' keys." + assert isinstance(paths, list), "Paths should be a list of dicts containing 'old' and 'new' keys." + + # Splits the attention layers into three variables. + if attention_paths_to_split is not None: + for path, path_map in attention_paths_to_split.items(): + old_tensor = old_checkpoint[path] + channels = old_tensor.shape[0] // 3 + + target_shape = (-1, channels) if len(old_tensor.shape) == 3 else (-1) + + num_heads = old_tensor.shape[0] // config["num_head_channels"] // 3 + + old_tensor = old_tensor.reshape((num_heads, 3 * channels // num_heads) + old_tensor.shape[1:]) + query, key, value = old_tensor.split(channels // num_heads, dim=1) + + checkpoint[path_map["query"]] = query.reshape(target_shape) + checkpoint[path_map["key"]] = key.reshape(target_shape) + checkpoint[path_map["value"]] = value.reshape(target_shape) for path in paths: new_path = path["new"] + # These have already been assigned + if attention_paths_to_split is not None and new_path in attention_paths_to_split: + continue + # Global renaming happens here new_path = new_path.replace("middle_block.0", "mid_block.resnets.0") new_path = new_path.replace("middle_block.1", "mid_block.attentions.0") @@ -215,82 +229,124 @@ def assign_to_checkpoint( new_path = new_path.replace(replacement["old"], replacement["new"]) # proj_attn.weight has to be converted from conv 1D to linear - if "proj_attn.weight" in new_path: + is_attn_weight = "proj_attn.weight" in new_path or ("attentions" in new_path and "to_" in new_path) + shape = old_checkpoint[path["old"]].shape + if is_attn_weight and len(shape) == 3: checkpoint[new_path] = old_checkpoint[path["old"]][:, :, 0] + elif is_attn_weight and len(shape) == 4: + checkpoint[new_path] = old_checkpoint[path["old"]][:, :, 0, 0] else: checkpoint[new_path] = old_checkpoint[path["old"]] def conv_attn_to_linear(checkpoint): keys = list(checkpoint.keys()) - attn_keys = ["to_q.weight", "to_k.weight", "to_v.weight"] + attn_keys = ["query.weight", "key.weight", "value.weight"] for key in keys: if ".".join(key.split(".")[-2:]) in attn_keys: if checkpoint[key].ndim > 2: checkpoint[key] = checkpoint[key][:, :, 0, 0] - elif "to_out.0.weight" in key: + elif "proj_attn.weight" in key: if checkpoint[key].ndim > 2: - checkpoint[key] = checkpoint[key][:, :, 0, 0] + checkpoint[key] = checkpoint[key][:, :, 0] -def create_unet_diffusers_config(original_config, image_size: int): +def create_unet_diffusers_config(original_config, image_size: int, controlnet=False): """ Creates a config for the diffusers based on the config of the LDM model. """ - unet_params = original_config.model.params.unet_config.params + if controlnet: + unet_params = original_config.model.params.control_stage_config.params + else: + if "unet_config" in original_config.model.params and original_config.model.params.unet_config is not None: + unet_params = original_config.model.params.unet_config.params + else: + unet_params = original_config.model.params.network_config.params + vae_params = original_config.model.params.first_stage_config.params.ddconfig - block_out_channels = [ - unet_params.model_channels * mult for mult in unet_params.channel_mult - ] + block_out_channels = [unet_params.model_channels * mult for mult in unet_params.channel_mult] down_block_types = [] resolution = 1 for i in range(len(block_out_channels)): - block_type = ( - "CrossAttnDownBlock2D" - if resolution in unet_params.attention_resolutions - else "DownBlock2D" - ) + block_type = "CrossAttnDownBlock2D" if resolution in unet_params.attention_resolutions else "DownBlock2D" down_block_types.append(block_type) if i != len(block_out_channels) - 1: resolution *= 2 up_block_types = [] for i in range(len(block_out_channels)): - block_type = ( - "CrossAttnUpBlock2D" - if resolution in unet_params.attention_resolutions - else "UpBlock2D" - ) + block_type = "CrossAttnUpBlock2D" if resolution in unet_params.attention_resolutions else "UpBlock2D" up_block_types.append(block_type) resolution //= 2 + if unet_params.transformer_depth is not None: + transformer_layers_per_block = ( + unet_params.transformer_depth + if isinstance(unet_params.transformer_depth, int) + else list(unet_params.transformer_depth) + ) + else: + transformer_layers_per_block = 1 + vae_scale_factor = 2 ** (len(vae_params.ch_mult) - 1) head_dim = unet_params.num_heads if "num_heads" in unet_params else None use_linear_projection = ( - unet_params.use_linear_in_transformer - if "use_linear_in_transformer" in unet_params - else False + unet_params.use_linear_in_transformer if "use_linear_in_transformer" in unet_params else False ) if use_linear_projection: # stable diffusion 2-base-512 and 2-768 if head_dim is None: - head_dim = [5, 10, 20, 20] + head_dim_mult = unet_params.model_channels // unet_params.num_head_channels + head_dim = [head_dim_mult * c for c in list(unet_params.channel_mult)] - config = dict( - sample_size=image_size // vae_scale_factor, - in_channels=unet_params.in_channels, - out_channels=unet_params.out_channels, - down_block_types=tuple(down_block_types), - up_block_types=tuple(up_block_types), - block_out_channels=tuple(block_out_channels), - layers_per_block=unet_params.num_res_blocks, - cross_attention_dim=unet_params.context_dim, - attention_head_dim=head_dim, - use_linear_projection=use_linear_projection, - ) + class_embed_type = None + addition_embed_type = None + addition_time_embed_dim = None + projection_class_embeddings_input_dim = None + context_dim = None + + if unet_params.context_dim is not None: + context_dim = ( + unet_params.context_dim if isinstance(unet_params.context_dim, int) else unet_params.context_dim[0] + ) + + if "num_classes" in unet_params: + if unet_params.num_classes == "sequential": + if context_dim in [2048, 1280]: + # SDXL + addition_embed_type = "text_time" + addition_time_embed_dim = 256 + else: + class_embed_type = "projection" + assert "adm_in_channels" in unet_params + projection_class_embeddings_input_dim = unet_params.adm_in_channels + else: + raise NotImplementedError(f"Unknown conditional unet num_classes config: {unet_params.num_classes}") + + config = { + "sample_size": image_size // vae_scale_factor, + "in_channels": unet_params.in_channels, + "down_block_types": tuple(down_block_types), + "block_out_channels": tuple(block_out_channels), + "layers_per_block": unet_params.num_res_blocks, + "cross_attention_dim": context_dim, + "attention_head_dim": head_dim, + "use_linear_projection": use_linear_projection, + "class_embed_type": class_embed_type, + "addition_embed_type": addition_embed_type, + "addition_time_embed_dim": addition_time_embed_dim, + "projection_class_embeddings_input_dim": projection_class_embeddings_input_dim, + "transformer_layers_per_block": transformer_layers_per_block, + } + + if controlnet: + config["conditioning_channels"] = unet_params.hint_channels + else: + config["out_channels"] = unet_params.out_channels + config["up_block_types"] = tuple(up_block_types) return config @@ -306,16 +362,16 @@ def create_vae_diffusers_config(original_config, image_size: int): down_block_types = ["DownEncoderBlock2D"] * len(block_out_channels) up_block_types = ["UpDecoderBlock2D"] * len(block_out_channels) - config = dict( - sample_size=image_size, - in_channels=vae_params.in_channels, - out_channels=vae_params.out_ch, - down_block_types=tuple(down_block_types), - up_block_types=tuple(up_block_types), - block_out_channels=tuple(block_out_channels), - latent_channels=vae_params.z_channels, - layers_per_block=vae_params.num_res_blocks, - ) + config = { + "sample_size": image_size, + "in_channels": vae_params.in_channels, + "out_channels": vae_params.out_ch, + "down_block_types": tuple(down_block_types), + "up_block_types": tuple(up_block_types), + "block_out_channels": tuple(block_out_channels), + "latent_channels": vae_params.z_channels, + "layers_per_block": vae_params.num_res_blocks, + } return config @@ -330,7 +386,7 @@ def create_diffusers_schedular(original_config): def create_ldm_bert_config(original_config): - bert_params = original_config.model.params.cond_stage_config.params + bert_params = original_config.model.parms.cond_stage_config.params config = LDMBertConfig( d_model=bert_params.n_embed, encoder_layers=bert_params.n_layer, @@ -339,103 +395,96 @@ def create_ldm_bert_config(original_config): return config -def convert_ldm_unet_checkpoint(checkpoint, config, path=None, extract_ema=False): +def convert_ldm_unet_checkpoint( + checkpoint, config, path=None, extract_ema=False, controlnet=False, skip_extract_state_dict=False +): """ Takes a state dict and a config, and returns a converted checkpoint. """ - # extract state_dict for UNet - unet_state_dict = {} - keys = list(checkpoint.keys()) + if skip_extract_state_dict: + unet_state_dict = checkpoint + else: + # extract state_dict for UNet + unet_state_dict = {} + keys = list(checkpoint.keys()) - unet_key = "model.diffusion_model." - # at least a 100 parameters have to start with `model_ema` in order for the checkpoint to be EMA - if sum(k.startswith("model_ema") for k in keys) > 100: - logger.debug(f"Checkpoint {path} has both EMA and non-EMA weights.") - if extract_ema: - logger.debug("Extracting EMA weights (usually better for inference)") + if controlnet: + unet_key = "control_model." + else: + unet_key = "model.diffusion_model." + + # at least a 100 parameters have to start with `model_ema` in order for the checkpoint to be EMA + if sum(k.startswith("model_ema") for k in keys) > 100 and extract_ema: + logger.warning(f"Checkpoint {path} has both EMA and non-EMA weights.") + logger.warning( + "In this conversion only the EMA weights are extracted. If you want to instead extract the non-EMA" + " weights (useful to continue fine-tuning), please make sure to remove the `--extract_ema` flag." + ) for key in keys: if key.startswith("model.diffusion_model"): flat_ema_key = "model_ema." + "".join(key.split(".")[1:]) - flat_ema_key_alt = "model_ema." + "".join(key.split(".")[2:]) - if flat_ema_key in checkpoint: - unet_state_dict[key.replace(unet_key, "")] = checkpoint.pop( - flat_ema_key - ) - elif flat_ema_key_alt in checkpoint: - unet_state_dict[key.replace(unet_key, "")] = checkpoint.pop( - flat_ema_key_alt - ) - else: - unet_state_dict[key.replace(unet_key, "")] = checkpoint.pop( - key - ) + unet_state_dict[key.replace(unet_key, "")] = checkpoint.pop(flat_ema_key) else: - logger.debug( - "Extracting only the non-EMA weights (usually better for fine-tuning)" - ) + if sum(k.startswith("model_ema") for k in keys) > 100: + logger.warning( + "In this conversion only the non-EMA weights are extracted. If you want to instead extract the EMA" + " weights (usually better for inference), please make sure to add the `--extract_ema` flag." + ) - for key in keys: - if key.startswith("model.diffusion_model") and key in checkpoint: - unet_state_dict[key.replace(unet_key, "")] = checkpoint.pop(key) + for key in keys: + if key.startswith(unet_key): + unet_state_dict[key.replace(unet_key, "")] = checkpoint.pop(key) new_checkpoint = {} - new_checkpoint["time_embedding.linear_1.weight"] = unet_state_dict[ - "time_embed.0.weight" - ] - new_checkpoint["time_embedding.linear_1.bias"] = unet_state_dict[ - "time_embed.0.bias" - ] - new_checkpoint["time_embedding.linear_2.weight"] = unet_state_dict[ - "time_embed.2.weight" - ] - new_checkpoint["time_embedding.linear_2.bias"] = unet_state_dict[ - "time_embed.2.bias" - ] + new_checkpoint["time_embedding.linear_1.weight"] = unet_state_dict["time_embed.0.weight"] + new_checkpoint["time_embedding.linear_1.bias"] = unet_state_dict["time_embed.0.bias"] + new_checkpoint["time_embedding.linear_2.weight"] = unet_state_dict["time_embed.2.weight"] + new_checkpoint["time_embedding.linear_2.bias"] = unet_state_dict["time_embed.2.bias"] + + if config["class_embed_type"] is None: + # No parameters to port + ... + elif config["class_embed_type"] == "timestep" or config["class_embed_type"] == "projection": + new_checkpoint["class_embedding.linear_1.weight"] = unet_state_dict["label_emb.0.0.weight"] + new_checkpoint["class_embedding.linear_1.bias"] = unet_state_dict["label_emb.0.0.bias"] + new_checkpoint["class_embedding.linear_2.weight"] = unet_state_dict["label_emb.0.2.weight"] + new_checkpoint["class_embedding.linear_2.bias"] = unet_state_dict["label_emb.0.2.bias"] + else: + raise NotImplementedError(f"Not implemented `class_embed_type`: {config['class_embed_type']}") + + if config["addition_embed_type"] == "text_time": + new_checkpoint["add_embedding.linear_1.weight"] = unet_state_dict["label_emb.0.0.weight"] + new_checkpoint["add_embedding.linear_1.bias"] = unet_state_dict["label_emb.0.0.bias"] + new_checkpoint["add_embedding.linear_2.weight"] = unet_state_dict["label_emb.0.2.weight"] + new_checkpoint["add_embedding.linear_2.bias"] = unet_state_dict["label_emb.0.2.bias"] new_checkpoint["conv_in.weight"] = unet_state_dict["input_blocks.0.0.weight"] new_checkpoint["conv_in.bias"] = unet_state_dict["input_blocks.0.0.bias"] - new_checkpoint["conv_norm_out.weight"] = unet_state_dict["out.0.weight"] - new_checkpoint["conv_norm_out.bias"] = unet_state_dict["out.0.bias"] - new_checkpoint["conv_out.weight"] = unet_state_dict["out.2.weight"] - new_checkpoint["conv_out.bias"] = unet_state_dict["out.2.bias"] + if not controlnet: + new_checkpoint["conv_norm_out.weight"] = unet_state_dict["out.0.weight"] + new_checkpoint["conv_norm_out.bias"] = unet_state_dict["out.0.bias"] + new_checkpoint["conv_out.weight"] = unet_state_dict["out.2.weight"] + new_checkpoint["conv_out.bias"] = unet_state_dict["out.2.bias"] # Retrieves the keys for the input blocks only - num_input_blocks = len( - { - ".".join(layer.split(".")[:2]) - for layer in unet_state_dict - if "input_blocks" in layer - } - ) + num_input_blocks = len({".".join(layer.split(".")[:2]) for layer in unet_state_dict if "input_blocks" in layer}) input_blocks = { layer_id: [key for key in unet_state_dict if f"input_blocks.{layer_id}" in key] for layer_id in range(num_input_blocks) } # Retrieves the keys for the middle blocks only - num_middle_blocks = len( - { - ".".join(layer.split(".")[:2]) - for layer in unet_state_dict - if "middle_block" in layer - } - ) + num_middle_blocks = len({".".join(layer.split(".")[:2]) for layer in unet_state_dict if "middle_block" in layer}) middle_blocks = { layer_id: [key for key in unet_state_dict if f"middle_block.{layer_id}" in key] for layer_id in range(num_middle_blocks) } # Retrieves the keys for the output blocks only - num_output_blocks = len( - { - ".".join(layer.split(".")[:2]) - for layer in unet_state_dict - if "output_blocks" in layer - } - ) + num_output_blocks = len({".".join(layer.split(".")[:2]) for layer in unet_state_dict if "output_blocks" in layer}) output_blocks = { layer_id: [key for key in unet_state_dict if f"output_blocks.{layer_id}" in key] for layer_id in range(num_output_blocks) @@ -446,45 +495,29 @@ def convert_ldm_unet_checkpoint(checkpoint, config, path=None, extract_ema=False layer_in_block_id = (i - 1) % (config["layers_per_block"] + 1) resnets = [ - key - for key in input_blocks[i] - if f"input_blocks.{i}.0" in key and f"input_blocks.{i}.0.op" not in key + key for key in input_blocks[i] if f"input_blocks.{i}.0" in key and f"input_blocks.{i}.0.op" not in key ] attentions = [key for key in input_blocks[i] if f"input_blocks.{i}.1" in key] if f"input_blocks.{i}.0.op.weight" in unet_state_dict: - new_checkpoint[ - f"down_blocks.{block_id}.downsamplers.0.conv.weight" - ] = unet_state_dict.pop(f"input_blocks.{i}.0.op.weight") - new_checkpoint[ - f"down_blocks.{block_id}.downsamplers.0.conv.bias" - ] = unet_state_dict.pop(f"input_blocks.{i}.0.op.bias") + new_checkpoint[f"down_blocks.{block_id}.downsamplers.0.conv.weight"] = unet_state_dict.pop( + f"input_blocks.{i}.0.op.weight" + ) + new_checkpoint[f"down_blocks.{block_id}.downsamplers.0.conv.bias"] = unet_state_dict.pop( + f"input_blocks.{i}.0.op.bias" + ) paths = renew_resnet_paths(resnets) - meta_path = { - "old": f"input_blocks.{i}.0", - "new": f"down_blocks.{block_id}.resnets.{layer_in_block_id}", - } + meta_path = {"old": f"input_blocks.{i}.0", "new": f"down_blocks.{block_id}.resnets.{layer_in_block_id}"} assign_to_checkpoint( - paths, - new_checkpoint, - unet_state_dict, - additional_replacements=[meta_path], - config=config, + paths, new_checkpoint, unet_state_dict, additional_replacements=[meta_path], config=config ) if len(attentions): paths = renew_attention_paths(attentions) - meta_path = { - "old": f"input_blocks.{i}.1", - "new": f"down_blocks.{block_id}.attentions.{layer_in_block_id}", - } + meta_path = {"old": f"input_blocks.{i}.1", "new": f"down_blocks.{block_id}.attentions.{layer_in_block_id}"} assign_to_checkpoint( - paths, - new_checkpoint, - unet_state_dict, - additional_replacements=[meta_path], - config=config, + paths, new_checkpoint, unet_state_dict, additional_replacements=[meta_path], config=config ) resnet_0 = middle_blocks[0] @@ -500,11 +533,7 @@ def convert_ldm_unet_checkpoint(checkpoint, config, path=None, extract_ema=False attentions_paths = renew_attention_paths(attentions) meta_path = {"old": "middle_block.1", "new": "mid_block.attentions.0"} assign_to_checkpoint( - attentions_paths, - new_checkpoint, - unet_state_dict, - additional_replacements=[meta_path], - config=config, + attentions_paths, new_checkpoint, unet_state_dict, additional_replacements=[meta_path], config=config ) for i in range(num_output_blocks): @@ -522,36 +551,25 @@ def convert_ldm_unet_checkpoint(checkpoint, config, path=None, extract_ema=False if len(output_block_list) > 1: resnets = [key for key in output_blocks[i] if f"output_blocks.{i}.0" in key] - attentions = [ - key for key in output_blocks[i] if f"output_blocks.{i}.1" in key - ] + attentions = [key for key in output_blocks[i] if f"output_blocks.{i}.1" in key] resnet_0_paths = renew_resnet_paths(resnets) paths = renew_resnet_paths(resnets) - meta_path = { - "old": f"output_blocks.{i}.0", - "new": f"up_blocks.{block_id}.resnets.{layer_in_block_id}", - } + meta_path = {"old": f"output_blocks.{i}.0", "new": f"up_blocks.{block_id}.resnets.{layer_in_block_id}"} assign_to_checkpoint( - paths, - new_checkpoint, - unet_state_dict, - additional_replacements=[meta_path], - config=config, + paths, new_checkpoint, unet_state_dict, additional_replacements=[meta_path], config=config ) output_block_list = {k: sorted(v) for k, v in output_block_list.items()} if ["conv.bias", "conv.weight"] in output_block_list.values(): - index = list(output_block_list.values()).index( - ["conv.bias", "conv.weight"] - ) - new_checkpoint[ - f"up_blocks.{block_id}.upsamplers.0.conv.weight" - ] = unet_state_dict[f"output_blocks.{i}.{index}.conv.weight"] - new_checkpoint[ - f"up_blocks.{block_id}.upsamplers.0.conv.bias" - ] = unet_state_dict[f"output_blocks.{i}.{index}.conv.bias"] + index = list(output_block_list.values()).index(["conv.bias", "conv.weight"]) + new_checkpoint[f"up_blocks.{block_id}.upsamplers.0.conv.weight"] = unet_state_dict[ + f"output_blocks.{i}.{index}.conv.weight" + ] + new_checkpoint[f"up_blocks.{block_id}.upsamplers.0.conv.bias"] = unet_state_dict[ + f"output_blocks.{i}.{index}.conv.bias" + ] # Clear attentions as they have been attributed above. if len(attentions) == 2: @@ -564,82 +582,85 @@ def convert_ldm_unet_checkpoint(checkpoint, config, path=None, extract_ema=False "new": f"up_blocks.{block_id}.attentions.{layer_in_block_id}", } assign_to_checkpoint( - paths, - new_checkpoint, - unet_state_dict, - additional_replacements=[meta_path], - config=config, + paths, new_checkpoint, unet_state_dict, additional_replacements=[meta_path], config=config ) else: - resnet_0_paths = renew_resnet_paths( - output_block_layers, n_shave_prefix_segments=1 - ) + resnet_0_paths = renew_resnet_paths(output_block_layers, n_shave_prefix_segments=1) for path in resnet_0_paths: old_path = ".".join(["output_blocks", str(i), path["old"]]) - new_path = ".".join( - [ - "up_blocks", - str(block_id), - "resnets", - str(layer_in_block_id), - path["new"], - ] - ) + new_path = ".".join(["up_blocks", str(block_id), "resnets", str(layer_in_block_id), path["new"]]) new_checkpoint[new_path] = unet_state_dict[old_path] + if controlnet: + # conditioning embedding + + orig_index = 0 + + new_checkpoint["controlnet_cond_embedding.conv_in.weight"] = unet_state_dict.pop( + f"input_hint_block.{orig_index}.weight" + ) + new_checkpoint["controlnet_cond_embedding.conv_in.bias"] = unet_state_dict.pop( + f"input_hint_block.{orig_index}.bias" + ) + + orig_index += 2 + + diffusers_index = 0 + + while diffusers_index < 6: + new_checkpoint[f"controlnet_cond_embedding.blocks.{diffusers_index}.weight"] = unet_state_dict.pop( + f"input_hint_block.{orig_index}.weight" + ) + new_checkpoint[f"controlnet_cond_embedding.blocks.{diffusers_index}.bias"] = unet_state_dict.pop( + f"input_hint_block.{orig_index}.bias" + ) + diffusers_index += 1 + orig_index += 2 + + new_checkpoint["controlnet_cond_embedding.conv_out.weight"] = unet_state_dict.pop( + f"input_hint_block.{orig_index}.weight" + ) + new_checkpoint["controlnet_cond_embedding.conv_out.bias"] = unet_state_dict.pop( + f"input_hint_block.{orig_index}.bias" + ) + + # down blocks + for i in range(num_input_blocks): + new_checkpoint[f"controlnet_down_blocks.{i}.weight"] = unet_state_dict.pop(f"zero_convs.{i}.0.weight") + new_checkpoint[f"controlnet_down_blocks.{i}.bias"] = unet_state_dict.pop(f"zero_convs.{i}.0.bias") + + # mid block + new_checkpoint["controlnet_mid_block.weight"] = unet_state_dict.pop("middle_block_out.0.weight") + new_checkpoint["controlnet_mid_block.bias"] = unet_state_dict.pop("middle_block_out.0.bias") + return new_checkpoint + def convert_ldm_vae_checkpoint(checkpoint, config): - # Extract state dict for VAE. Works both with burnt-in - # VAEs, and with standalone VAEs. + # extract state dict for VAE + vae_state_dict = {} + keys = list(checkpoint.keys()) + vae_key = "first_stage_model." if any(k.startswith("first_stage_model.") for k in keys) else "" + for key in keys: + if key.startswith(vae_key): + vae_state_dict[key.replace(vae_key, "")] = checkpoint.get(key) - # checkpoint can either be a all-in-one stable diffusion - # model, or an isolated vae .ckpt. This tests for - # a key that will be present in the all-in-one model - # that isn't present in the isolated ckpt. - probe_key = "first_stage_model.encoder.conv_in.weight" - if probe_key in checkpoint: - vae_state_dict = {} - vae_key = "first_stage_model." - keys = list(checkpoint.keys()) - for key in keys: - if key.startswith(vae_key): - vae_state_dict[key.replace(vae_key, "")] = checkpoint.get(key) - else: - vae_state_dict = checkpoint - - new_checkpoint = convert_ldm_vae_state_dict(vae_state_dict, config) - return new_checkpoint - -def convert_ldm_vae_state_dict(vae_state_dict, config): new_checkpoint = {} new_checkpoint["encoder.conv_in.weight"] = vae_state_dict["encoder.conv_in.weight"] new_checkpoint["encoder.conv_in.bias"] = vae_state_dict["encoder.conv_in.bias"] - new_checkpoint["encoder.conv_out.weight"] = vae_state_dict[ - "encoder.conv_out.weight" - ] + new_checkpoint["encoder.conv_out.weight"] = vae_state_dict["encoder.conv_out.weight"] new_checkpoint["encoder.conv_out.bias"] = vae_state_dict["encoder.conv_out.bias"] - new_checkpoint["encoder.conv_norm_out.weight"] = vae_state_dict[ - "encoder.norm_out.weight" - ] - new_checkpoint["encoder.conv_norm_out.bias"] = vae_state_dict[ - "encoder.norm_out.bias" - ] + new_checkpoint["encoder.conv_norm_out.weight"] = vae_state_dict["encoder.norm_out.weight"] + new_checkpoint["encoder.conv_norm_out.bias"] = vae_state_dict["encoder.norm_out.bias"] new_checkpoint["decoder.conv_in.weight"] = vae_state_dict["decoder.conv_in.weight"] new_checkpoint["decoder.conv_in.bias"] = vae_state_dict["decoder.conv_in.bias"] - new_checkpoint["decoder.conv_out.weight"] = vae_state_dict[ - "decoder.conv_out.weight" - ] + new_checkpoint["decoder.conv_out.weight"] = vae_state_dict["decoder.conv_out.weight"] new_checkpoint["decoder.conv_out.bias"] = vae_state_dict["decoder.conv_out.bias"] - new_checkpoint["decoder.conv_norm_out.weight"] = vae_state_dict[ - "decoder.norm_out.weight" - ] - new_checkpoint["decoder.conv_norm_out.bias"] = vae_state_dict[ - "decoder.norm_out.bias" - ] + new_checkpoint["decoder.conv_norm_out.weight"] = vae_state_dict["decoder.norm_out.weight"] + new_checkpoint["decoder.conv_norm_out.bias"] = vae_state_dict["decoder.norm_out.bias"] new_checkpoint["quant_conv.weight"] = vae_state_dict["quant_conv.weight"] new_checkpoint["quant_conv.bias"] = vae_state_dict["quant_conv.bias"] @@ -647,55 +668,31 @@ def convert_ldm_vae_state_dict(vae_state_dict, config): new_checkpoint["post_quant_conv.bias"] = vae_state_dict["post_quant_conv.bias"] # Retrieves the keys for the encoder down blocks only - num_down_blocks = len( - { - ".".join(layer.split(".")[:3]) - for layer in vae_state_dict - if "encoder.down" in layer - } - ) + num_down_blocks = len({".".join(layer.split(".")[:3]) for layer in vae_state_dict if "encoder.down" in layer}) down_blocks = { - layer_id: [key for key in vae_state_dict if f"down.{layer_id}" in key] - for layer_id in range(num_down_blocks) + layer_id: [key for key in vae_state_dict if f"down.{layer_id}" in key] for layer_id in range(num_down_blocks) } # Retrieves the keys for the decoder up blocks only - num_up_blocks = len( - { - ".".join(layer.split(".")[:3]) - for layer in vae_state_dict - if "decoder.up" in layer - } - ) + num_up_blocks = len({".".join(layer.split(".")[:3]) for layer in vae_state_dict if "decoder.up" in layer}) up_blocks = { - layer_id: [key for key in vae_state_dict if f"up.{layer_id}" in key] - for layer_id in range(num_up_blocks) + layer_id: [key for key in vae_state_dict if f"up.{layer_id}" in key] for layer_id in range(num_up_blocks) } for i in range(num_down_blocks): - resnets = [ - key - for key in down_blocks[i] - if f"down.{i}" in key and f"down.{i}.downsample" not in key - ] + resnets = [key for key in down_blocks[i] if f"down.{i}" in key and f"down.{i}.downsample" not in key] if f"encoder.down.{i}.downsample.conv.weight" in vae_state_dict: - new_checkpoint[ - f"encoder.down_blocks.{i}.downsamplers.0.conv.weight" - ] = vae_state_dict.pop(f"encoder.down.{i}.downsample.conv.weight") - new_checkpoint[ - f"encoder.down_blocks.{i}.downsamplers.0.conv.bias" - ] = vae_state_dict.pop(f"encoder.down.{i}.downsample.conv.bias") + new_checkpoint[f"encoder.down_blocks.{i}.downsamplers.0.conv.weight"] = vae_state_dict.pop( + f"encoder.down.{i}.downsample.conv.weight" + ) + new_checkpoint[f"encoder.down_blocks.{i}.downsamplers.0.conv.bias"] = vae_state_dict.pop( + f"encoder.down.{i}.downsample.conv.bias" + ) paths = renew_vae_resnet_paths(resnets) meta_path = {"old": f"down.{i}.block", "new": f"down_blocks.{i}.resnets"} - assign_to_checkpoint( - paths, - new_checkpoint, - vae_state_dict, - additional_replacements=[meta_path], - config=config, - ) + assign_to_checkpoint(paths, new_checkpoint, vae_state_dict, additional_replacements=[meta_path], config=config) mid_resnets = [key for key in vae_state_dict if "encoder.mid.block" in key] num_mid_res_blocks = 2 @@ -704,51 +701,31 @@ def convert_ldm_vae_state_dict(vae_state_dict, config): paths = renew_vae_resnet_paths(resnets) meta_path = {"old": f"mid.block_{i}", "new": f"mid_block.resnets.{i - 1}"} - assign_to_checkpoint( - paths, - new_checkpoint, - vae_state_dict, - additional_replacements=[meta_path], - config=config, - ) + assign_to_checkpoint(paths, new_checkpoint, vae_state_dict, additional_replacements=[meta_path], config=config) mid_attentions = [key for key in vae_state_dict if "encoder.mid.attn" in key] paths = renew_vae_attention_paths(mid_attentions) meta_path = {"old": "mid.attn_1", "new": "mid_block.attentions.0"} - assign_to_checkpoint( - paths, - new_checkpoint, - vae_state_dict, - additional_replacements=[meta_path], - config=config, - ) + assign_to_checkpoint(paths, new_checkpoint, vae_state_dict, additional_replacements=[meta_path], config=config) conv_attn_to_linear(new_checkpoint) for i in range(num_up_blocks): block_id = num_up_blocks - 1 - i resnets = [ - key - for key in up_blocks[block_id] - if f"up.{block_id}" in key and f"up.{block_id}.upsample" not in key + key for key in up_blocks[block_id] if f"up.{block_id}" in key and f"up.{block_id}.upsample" not in key ] if f"decoder.up.{block_id}.upsample.conv.weight" in vae_state_dict: - new_checkpoint[ - f"decoder.up_blocks.{i}.upsamplers.0.conv.weight" - ] = vae_state_dict[f"decoder.up.{block_id}.upsample.conv.weight"] - new_checkpoint[ - f"decoder.up_blocks.{i}.upsamplers.0.conv.bias" - ] = vae_state_dict[f"decoder.up.{block_id}.upsample.conv.bias"] + new_checkpoint[f"decoder.up_blocks.{i}.upsamplers.0.conv.weight"] = vae_state_dict[ + f"decoder.up.{block_id}.upsample.conv.weight" + ] + new_checkpoint[f"decoder.up_blocks.{i}.upsamplers.0.conv.bias"] = vae_state_dict[ + f"decoder.up.{block_id}.upsample.conv.bias" + ] paths = renew_vae_resnet_paths(resnets) meta_path = {"old": f"up.{block_id}.block", "new": f"up_blocks.{i}.resnets"} - assign_to_checkpoint( - paths, - new_checkpoint, - vae_state_dict, - additional_replacements=[meta_path], - config=config, - ) + assign_to_checkpoint(paths, new_checkpoint, vae_state_dict, additional_replacements=[meta_path], config=config) mid_resnets = [key for key in vae_state_dict if "decoder.mid.block" in key] num_mid_res_blocks = 2 @@ -757,24 +734,12 @@ def convert_ldm_vae_state_dict(vae_state_dict, config): paths = renew_vae_resnet_paths(resnets) meta_path = {"old": f"mid.block_{i}", "new": f"mid_block.resnets.{i - 1}"} - assign_to_checkpoint( - paths, - new_checkpoint, - vae_state_dict, - additional_replacements=[meta_path], - config=config, - ) + assign_to_checkpoint(paths, new_checkpoint, vae_state_dict, additional_replacements=[meta_path], config=config) mid_attentions = [key for key in vae_state_dict if "decoder.mid.attn" in key] paths = renew_vae_attention_paths(mid_attentions) meta_path = {"old": "mid.attn_1", "new": "mid_block.attentions.0"} - assign_to_checkpoint( - paths, - new_checkpoint, - vae_state_dict, - additional_replacements=[meta_path], - config=config, - ) + assign_to_checkpoint(paths, new_checkpoint, vae_state_dict, additional_replacements=[meta_path], config=config) conv_attn_to_linear(new_checkpoint) return new_checkpoint @@ -816,9 +781,7 @@ def convert_ldm_bert_checkpoint(checkpoint, config): # copy embeds hf_model.model.embed_tokens.weight = checkpoint.transformer.token_emb.weight - hf_model.model.embed_positions.weight.data = ( - checkpoint.transformer.pos_emb.emb.weight - ) + hf_model.model.embed_positions.weight.data = checkpoint.transformer.pos_emb.emb.weight # copy layer norm _copy_linear(hf_model.model.layer_norm, checkpoint.transformer.norm) @@ -831,43 +794,40 @@ def convert_ldm_bert_checkpoint(checkpoint, config): return hf_model -def convert_ldm_clip_checkpoint(checkpoint): - text_model = CLIPTextModel.from_pretrained(CONVERT_MODEL_ROOT / 'clip-vit-large-patch14') +def convert_ldm_clip_checkpoint(checkpoint, local_files_only=False, text_encoder=None): + if text_encoder is None: + config = CLIPTextConfig.from_pretrained(CONVERT_MODEL_ROOT / 'clip-vit-large-patch14') + + ctx = init_empty_weights if is_accelerate_available() else nullcontext + with ctx(): + text_model = CLIPTextModel(config) + keys = list(checkpoint.keys()) text_model_dict = {} + remove_prefixes = ["cond_stage_model.transformer", "conditioner.embedders.0.transformer"] + for key in keys: - if key.startswith("cond_stage_model.transformer"): - text_model_dict[key[len("cond_stage_model.transformer.") :]] = checkpoint[ - key - ] + for prefix in remove_prefixes: + if key.startswith(prefix): + text_model_dict[key[len(prefix + ".") :]] = checkpoint[key] - # transformers 4.31.0 and higher - this key no longer in state dict - if version.parse(transformers.__version__) >= version.parse("4.31.0"): - position_ids = text_model_dict.pop("text_model.embeddings.position_ids", None) - text_model.load_state_dict(text_model_dict) - if position_ids is not None: - text_model.text_model.embeddings.position_ids.copy_(position_ids) - - # transformers 4.30.2 and lower - position_ids is part of state_dict + if is_accelerate_available(): + for param_name, param in text_model_dict.items(): + set_module_tensor_to_device(text_model, param_name, "cpu", value=param) else: - text_model.load_state_dict(text_model_dict) + text_model.load_state_dict(text_model_dict) return text_model textenc_conversion_lst = [ - ( - "cond_stage_model.model.positional_embedding", - "text_model.embeddings.position_embedding.weight", - ), - ( - "cond_stage_model.model.token_embedding.weight", - "text_model.embeddings.token_embedding.weight", - ), - ("cond_stage_model.model.ln_final.weight", "text_model.final_layer_norm.weight"), - ("cond_stage_model.model.ln_final.bias", "text_model.final_layer_norm.bias"), + ("positional_embedding", "text_model.embeddings.position_embedding.weight"), + ("token_embedding.weight", "text_model.embeddings.token_embedding.weight"), + ("ln_final.weight", "text_model.final_layer_norm.weight"), + ("ln_final.bias", "text_model.final_layer_norm.bias"), + ("text_projection", "text_projection.weight"), ] textenc_conversion_map = {x[0]: x[1] for x in textenc_conversion_lst} @@ -880,106 +840,848 @@ textenc_transformer_conversion_lst = [ (".c_proj.", ".fc2."), (".attn", ".self_attn"), ("ln_final.", "transformer.text_model.final_layer_norm."), - ( - "token_embedding.weight", - "transformer.text_model.embeddings.token_embedding.weight", - ), - ( - "positional_embedding", - "transformer.text_model.embeddings.position_embedding.weight", - ), + ("token_embedding.weight", "transformer.text_model.embeddings.token_embedding.weight"), + ("positional_embedding", "transformer.text_model.embeddings.position_embedding.weight"), ] protected = {re.escape(x[0]): x[1] for x in textenc_transformer_conversion_lst} textenc_pattern = re.compile("|".join(protected.keys())) -def convert_open_clip_checkpoint(checkpoint): - text_model = CLIPTextModel.from_pretrained( - CONVERT_MODEL_ROOT / 'stable-diffusion-2-clip', - subfolder='text_encoder', - ) +def convert_paint_by_example_checkpoint(checkpoint): + config = CLIPVisionConfig.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") + model = PaintByExampleImageEncoder(config) keys = list(checkpoint.keys()) text_model_dict = {} - if "cond_stage_model.model.text_projection" in keys: - d_model = int(checkpoint["cond_stage_model.model.text_projection"].shape[0]) - elif "cond_stage_model.model.ln_final.bias" in keys: - d_model = int(checkpoint["cond_stage_model.model.ln_final.bias"].shape[0]) - else: - raise KeyError( - 'Expected key "cond_stage_model.model.text_projection" not found in model' - ) + for key in keys: + if key.startswith("cond_stage_model.transformer"): + text_model_dict[key[len("cond_stage_model.transformer.") :]] = checkpoint[key] - text_model_dict[ - "text_model.embeddings.position_ids" - ] = text_model.text_model.embeddings.get_buffer("position_ids") + # load clip vision + model.model.load_state_dict(text_model_dict) + + # load mapper + keys_mapper = { + k[len("cond_stage_model.mapper.res") :]: v + for k, v in checkpoint.items() + if k.startswith("cond_stage_model.mapper") + } + + MAPPING = { + "attn.c_qkv": ["attn1.to_q", "attn1.to_k", "attn1.to_v"], + "attn.c_proj": ["attn1.to_out.0"], + "ln_1": ["norm1"], + "ln_2": ["norm3"], + "mlp.c_fc": ["ff.net.0.proj"], + "mlp.c_proj": ["ff.net.2"], + } + + mapped_weights = {} + for key, value in keys_mapper.items(): + prefix = key[: len("blocks.i")] + suffix = key.split(prefix)[-1].split(".")[-1] + name = key.split(prefix)[-1].split(suffix)[0][1:-1] + mapped_names = MAPPING[name] + + num_splits = len(mapped_names) + for i, mapped_name in enumerate(mapped_names): + new_name = ".".join([prefix, mapped_name, suffix]) + shape = value.shape[0] // num_splits + mapped_weights[new_name] = value[i * shape : (i + 1) * shape] + + model.mapper.load_state_dict(mapped_weights) + + # load final layer norm + model.final_layer_norm.load_state_dict( + { + "bias": checkpoint["cond_stage_model.final_ln.bias"], + "weight": checkpoint["cond_stage_model.final_ln.weight"], + } + ) + + # load final proj + model.proj_out.load_state_dict( + { + "bias": checkpoint["proj_out.bias"], + "weight": checkpoint["proj_out.weight"], + } + ) + + # load uncond vector + model.uncond_vector.data = torch.nn.Parameter(checkpoint["learnable_vector"]) + return model + + +def convert_open_clip_checkpoint( + checkpoint, config_name, prefix="cond_stage_model.model.", has_projection=False, **config_kwargs +): + # text_model = CLIPTextModel.from_pretrained("stabilityai/stable-diffusion-2", subfolder="text_encoder") + # text_model = CLIPTextModelWithProjection.from_pretrained( + # "laion/CLIP-ViT-bigG-14-laion2B-39B-b160k", projection_dim=1280 + # ) + config = CLIPTextConfig.from_pretrained(config_name, **config_kwargs) + + ctx = init_empty_weights if is_accelerate_available() else nullcontext + with ctx(): + text_model = CLIPTextModelWithProjection(config) if has_projection else CLIPTextModel(config) + + keys = list(checkpoint.keys()) + + keys_to_ignore = [] + if config_name == "stabilityai/stable-diffusion-2" and config.num_hidden_layers == 23: + # make sure to remove all keys > 22 + keys_to_ignore += [k for k in keys if k.startswith("cond_stage_model.model.transformer.resblocks.23")] + keys_to_ignore += ["cond_stage_model.model.text_projection"] + + text_model_dict = {} + + if prefix + "text_projection" in checkpoint: + d_model = int(checkpoint[prefix + "text_projection"].shape[0]) + else: + d_model = 1024 + + text_model_dict["text_model.embeddings.position_ids"] = text_model.text_model.embeddings.get_buffer("position_ids") for key in keys: - if ( - "resblocks.23" in key - ): # Diffusers drops the final layer and only uses the penultimate layer + if key in keys_to_ignore: continue - if key in textenc_conversion_map: - text_model_dict[textenc_conversion_map[key]] = checkpoint[key] - if key.startswith("cond_stage_model.model.transformer."): - new_key = key[len("cond_stage_model.model.transformer.") :] + if key[len(prefix) :] in textenc_conversion_map: + if key.endswith("text_projection"): + value = checkpoint[key].T.contiguous() + else: + value = checkpoint[key] + + text_model_dict[textenc_conversion_map[key[len(prefix) :]]] = value + + if key.startswith(prefix + "transformer."): + new_key = key[len(prefix + "transformer.") :] if new_key.endswith(".in_proj_weight"): new_key = new_key[: -len(".in_proj_weight")] - new_key = textenc_pattern.sub( - lambda m: protected[re.escape(m.group(0))], new_key - ) - text_model_dict[new_key + ".q_proj.weight"] = checkpoint[key][ - :d_model, : - ] - text_model_dict[new_key + ".k_proj.weight"] = checkpoint[key][ - d_model : d_model * 2, : - ] - text_model_dict[new_key + ".v_proj.weight"] = checkpoint[key][ - d_model * 2 :, : - ] + new_key = textenc_pattern.sub(lambda m: protected[re.escape(m.group(0))], new_key) + text_model_dict[new_key + ".q_proj.weight"] = checkpoint[key][:d_model, :] + text_model_dict[new_key + ".k_proj.weight"] = checkpoint[key][d_model : d_model * 2, :] + text_model_dict[new_key + ".v_proj.weight"] = checkpoint[key][d_model * 2 :, :] elif new_key.endswith(".in_proj_bias"): new_key = new_key[: -len(".in_proj_bias")] - new_key = textenc_pattern.sub( - lambda m: protected[re.escape(m.group(0))], new_key - ) + new_key = textenc_pattern.sub(lambda m: protected[re.escape(m.group(0))], new_key) text_model_dict[new_key + ".q_proj.bias"] = checkpoint[key][:d_model] - text_model_dict[new_key + ".k_proj.bias"] = checkpoint[key][ - d_model : d_model * 2 - ] - text_model_dict[new_key + ".v_proj.bias"] = checkpoint[key][ - d_model * 2 : - ] + text_model_dict[new_key + ".k_proj.bias"] = checkpoint[key][d_model : d_model * 2] + text_model_dict[new_key + ".v_proj.bias"] = checkpoint[key][d_model * 2 :] else: - new_key = textenc_pattern.sub( - lambda m: protected[re.escape(m.group(0))], new_key - ) + new_key = textenc_pattern.sub(lambda m: protected[re.escape(m.group(0))], new_key) text_model_dict[new_key] = checkpoint[key] - # transformers 4.31.0 and higher - this key no longer in state dict - if version.parse(transformers.__version__) >= version.parse("4.31.0"): - position_ids = text_model_dict.pop("text_model.embeddings.position_ids", None) - text_model.load_state_dict(text_model_dict) - if position_ids is not None: - text_model.text_model.embeddings.position_ids.copy_(position_ids) - - # transformers 4.30.2 and lower - position_ids is part of state_dict + if is_accelerate_available(): + for param_name, param in text_model_dict.items(): + set_module_tensor_to_device(text_model, param_name, "cpu", value=param) else: - text_model.load_state_dict(text_model_dict) + text_model.load_state_dict(text_model_dict) return text_model -def replace_checkpoint_vae(checkpoint, vae_path: str): - if vae_path.endswith(".safetensors"): - vae_ckpt = load_file(vae_path) + +def stable_unclip_image_encoder(original_config): + """ + Returns the image processor and clip image encoder for the img2img unclip pipeline. + + We currently know of two types of stable unclip models which separately use the clip and the openclip image + encoders. + """ + + image_embedder_config = original_config.model.params.embedder_config + + sd_clip_image_embedder_class = image_embedder_config.target + sd_clip_image_embedder_class = sd_clip_image_embedder_class.split(".")[-1] + + if sd_clip_image_embedder_class == "ClipImageEmbedder": + clip_model_name = image_embedder_config.params.model + + if clip_model_name == "ViT-L/14": + feature_extractor = CLIPImageProcessor() + image_encoder = CLIPVisionModelWithProjection.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") + else: + raise NotImplementedError(f"Unknown CLIP checkpoint name in stable diffusion checkpoint {clip_model_name}") + + elif sd_clip_image_embedder_class == "FrozenOpenCLIPImageEmbedder": + feature_extractor = CLIPImageProcessor() + # InvokeAI doesn't use CLIPVisionModelWithProjection so it isn't in the core - if this code is hit a download will occur + image_encoder = CLIPVisionModelWithProjection.from_pretrained(CONVERT_MODEL_ROOT / "CLIP-ViT-H-14-laion2B-s32B-b79K") else: - vae_ckpt = torch.load(vae_path, map_location="cpu") - state_dict = vae_ckpt['state_dict'] if "state_dict" in vae_ckpt else vae_ckpt - for vae_key in state_dict: - new_key = f'first_stage_model.{vae_key}' - checkpoint[new_key] = state_dict[vae_key] + raise NotImplementedError( + f"Unknown CLIP image embedder class in stable diffusion checkpoint {sd_clip_image_embedder_class}" + ) + + return feature_extractor, image_encoder + + +def stable_unclip_image_noising_components( + original_config, clip_stats_path: Optional[str] = None, device: Optional[str] = None +): + """ + Returns the noising components for the img2img and txt2img unclip pipelines. + + Converts the stability noise augmentor into + 1. a `StableUnCLIPImageNormalizer` for holding the CLIP stats + 2. a `DDPMScheduler` for holding the noise schedule + + If the noise augmentor config specifies a clip stats path, the `clip_stats_path` must be provided. + """ + noise_aug_config = original_config.model.params.noise_aug_config + noise_aug_class = noise_aug_config.target + noise_aug_class = noise_aug_class.split(".")[-1] + + if noise_aug_class == "CLIPEmbeddingNoiseAugmentation": + noise_aug_config = noise_aug_config.params + embedding_dim = noise_aug_config.timestep_dim + max_noise_level = noise_aug_config.noise_schedule_config.timesteps + beta_schedule = noise_aug_config.noise_schedule_config.beta_schedule + + image_normalizer = StableUnCLIPImageNormalizer(embedding_dim=embedding_dim) + image_noising_scheduler = DDPMScheduler(num_train_timesteps=max_noise_level, beta_schedule=beta_schedule) + + if "clip_stats_path" in noise_aug_config: + if clip_stats_path is None: + raise ValueError("This stable unclip config requires a `clip_stats_path`") + + clip_mean, clip_std = torch.load(clip_stats_path, map_location=device) + clip_mean = clip_mean[None, :] + clip_std = clip_std[None, :] + + clip_stats_state_dict = { + "mean": clip_mean, + "std": clip_std, + } + + image_normalizer.load_state_dict(clip_stats_state_dict) + else: + raise NotImplementedError(f"Unknown noise augmentor class: {noise_aug_class}") + + return image_normalizer, image_noising_scheduler + + +def convert_controlnet_checkpoint( + checkpoint, + original_config, + checkpoint_path, + image_size, + upcast_attention, + extract_ema, + use_linear_projection=None, + cross_attention_dim=None, +): + ctrlnet_config = create_unet_diffusers_config(original_config, image_size=image_size, controlnet=True) + ctrlnet_config["upcast_attention"] = upcast_attention + + ctrlnet_config.pop("sample_size") + original_config = ctrlnet_config.copy() + + ctrlnet_config.pop('addition_embed_type') + ctrlnet_config.pop('addition_time_embed_dim') + ctrlnet_config.pop('transformer_layers_per_block') + + if use_linear_projection is not None: + ctrlnet_config["use_linear_projection"] = use_linear_projection + + if cross_attention_dim is not None: + ctrlnet_config["cross_attention_dim"] = cross_attention_dim + + controlnet = ControlNetModel(**ctrlnet_config) + + # Some controlnet ckpt files are distributed independently from the rest of the + # model components i.e. https://huggingface.co/thibaud/controlnet-sd21/ + if "time_embed.0.weight" in checkpoint: + skip_extract_state_dict = True + else: + skip_extract_state_dict = False + + converted_ctrl_checkpoint = convert_ldm_unet_checkpoint( + checkpoint, + original_config, + path=checkpoint_path, + extract_ema=extract_ema, + controlnet=True, + skip_extract_state_dict=skip_extract_state_dict, + ) + + controlnet.load_state_dict(converted_ctrl_checkpoint) + + return controlnet + + +def download_from_original_stable_diffusion_ckpt( + checkpoint_path: str, + model_version: BaseModelType, + model_variant: ModelVariantType, + original_config_file: str = None, + image_size: Optional[int] = None, + prediction_type: str = None, + model_type: str = None, + extract_ema: bool = False, + scheduler_type: str = "pndm", + num_in_channels: Optional[int] = None, + upcast_attention: Optional[bool] = None, + device: str = None, + from_safetensors: bool = False, + stable_unclip: Optional[str] = None, + stable_unclip_prior: Optional[str] = None, + clip_stats_path: Optional[str] = None, + controlnet: Optional[bool] = None, + load_safety_checker: bool = True, + pipeline_class: DiffusionPipeline = None, + local_files_only=False, + vae_path=None, + text_encoder=None, + tokenizer=None, + scan_needed: bool = True, +) -> DiffusionPipeline: + """ + Load a Stable Diffusion pipeline object from a CompVis-style `.ckpt`/`.safetensors` file and (ideally) a `.yaml` + config file. + + Although many of the arguments can be automatically inferred, some of these rely on brittle checks against the + global step count, which will likely fail for models that have undergone further fine-tuning. Therefore, it is + recommended that you override the default values and/or supply an `original_config_file` wherever possible. + + Args: + checkpoint_path (`str`): Path to `.ckpt` file. + original_config_file (`str`): + Path to `.yaml` config file corresponding to the original architecture. If `None`, will be automatically + inferred by looking for a key that only exists in SD2.0 models. + image_size (`int`, *optional*, defaults to 512): + The image size that the model was trained on. Use 512 for Stable Diffusion v1.X and Stable Diffusion v2 + Base. Use 768 for Stable Diffusion v2. + prediction_type (`str`, *optional*): + The prediction type that the model was trained on. Use `'epsilon'` for Stable Diffusion v1.X and Stable + Diffusion v2 Base. Use `'v_prediction'` for Stable Diffusion v2. + num_in_channels (`int`, *optional*, defaults to None): + The number of input channels. If `None`, it will be automatically inferred. + scheduler_type (`str`, *optional*, defaults to 'pndm'): + Type of scheduler to use. Should be one of `["pndm", "lms", "heun", "euler", "euler-ancestral", "dpm", + "ddim"]`. + model_type (`str`, *optional*, defaults to `None`): + The pipeline type. `None` to automatically infer, or one of `["FrozenOpenCLIPEmbedder", + "FrozenCLIPEmbedder", "PaintByExample"]`. + is_img2img (`bool`, *optional*, defaults to `False`): + Whether the model should be loaded as an img2img pipeline. + extract_ema (`bool`, *optional*, defaults to `False`): Only relevant for + checkpoints that have both EMA and non-EMA weights. Whether to extract the EMA weights or not. Defaults to + `False`. Pass `True` to extract the EMA weights. EMA weights usually yield higher quality images for + inference. Non-EMA weights are usually better to continue fine-tuning. + upcast_attention (`bool`, *optional*, defaults to `None`): + Whether the attention computation should always be upcasted. This is necessary when running stable + diffusion 2.1. + device (`str`, *optional*, defaults to `None`): + The device to use. Pass `None` to determine automatically. + from_safetensors (`str`, *optional*, defaults to `False`): + If `checkpoint_path` is in `safetensors` format, load checkpoint with safetensors instead of PyTorch. + load_safety_checker (`bool`, *optional*, defaults to `True`): + Whether to load the safety checker or not. Defaults to `True`. + pipeline_class (`str`, *optional*, defaults to `None`): + The pipeline class to use. Pass `None` to determine automatically. + local_files_only (`bool`, *optional*, defaults to `False`): + Whether or not to only look at local files (i.e., do not try to download the model). + text_encoder (`CLIPTextModel`, *optional*, defaults to `None`): + An instance of [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel) + to use, specifically the [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) + variant. If this parameter is `None`, the function will load a new instance of [CLIP] by itself, if needed. + tokenizer (`CLIPTokenizer`, *optional*, defaults to `None`): + An instance of + [CLIPTokenizer](https://huggingface.co/docs/transformers/v4.21.0/en/model_doc/clip#transformers.CLIPTokenizer) + to use. If this parameter is `None`, the function will load a new instance of [CLIPTokenizer] by itself, if + needed. + return: A StableDiffusionPipeline object representing the passed-in `.ckpt`/`.safetensors` file. + """ + + # import pipelines here to avoid circular import error when using from_single_file method + from diffusers import ( + LDMTextToImagePipeline, + PaintByExamplePipeline, + StableDiffusionControlNetPipeline, + StableDiffusionInpaintPipeline, + StableDiffusionPipeline, + StableDiffusionXLPipeline, + StableDiffusionXLImg2ImgPipeline, + StableUnCLIPImg2ImgPipeline, + StableUnCLIPPipeline, + ) + + if pipeline_class is None: + pipeline_class = StableDiffusionPipeline if not controlnet else StableDiffusionControlNetPipeline + + if prediction_type == "v-prediction": + prediction_type = "v_prediction" + + if not is_omegaconf_available(): + raise ValueError(BACKENDS_MAPPING["omegaconf"][1]) + + if from_safetensors: + if not is_safetensors_available(): + raise ValueError(BACKENDS_MAPPING["safetensors"][1]) + + from safetensors.torch import load_file as safe_load + + checkpoint = safe_load(checkpoint_path, device="cpu") + else: + if scan_needed: + # scan model + scan_result = scan_file_path(checkpoint_path) + if scan_result.infected_files != 0: + raise "The model {checkpoint_path} is potentially infected by malware. Aborting import." + if device is None: + device = "cuda" if torch.cuda.is_available() else "cpu" + checkpoint = torch.load(checkpoint_path, map_location=device) + else: + checkpoint = torch.load(checkpoint_path, map_location=device) + + # Sometimes models don't have the global_step item + if "global_step" in checkpoint: + global_step = checkpoint["global_step"] + else: + logger.debug("global_step key not found in model") + global_step = None + + # NOTE: this while loop isn't great but this controlnet checkpoint has one additional + # "state_dict" key https://huggingface.co/thibaud/controlnet-canny-sd21 + while "state_dict" in checkpoint: + checkpoint = checkpoint["state_dict"] + + print(f'DEBUG: model_type = {model_type}; original_config_file = {original_config_file}') + + if original_config_file is None: + key_name_v2_1 = "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_k.weight" + key_name_sd_xl_base = "conditioner.embedders.1.model.transformer.resblocks.9.mlp.c_proj.bias" + key_name_sd_xl_refiner = "conditioner.embedders.0.model.transformer.resblocks.9.mlp.c_proj.bias" + + # model_type = "v1" + config_url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/configs/stable-diffusion/v1-inference.yaml" + + if key_name_v2_1 in checkpoint and checkpoint[key_name_v2_1].shape[-1] == 1024: + # model_type = "v2" + config_url = "https://raw.githubusercontent.com/Stability-AI/stablediffusion/main/configs/stable-diffusion/v2-inference-v.yaml" + + if global_step == 110000: + # v2.1 needs to upcast attention + upcast_attention = True + elif key_name_sd_xl_base in checkpoint: + # only base xl has two text embedders + config_url = "https://raw.githubusercontent.com/Stability-AI/generative-models/main/configs/inference/sd_xl_base.yaml" + elif key_name_sd_xl_refiner in checkpoint: + # only refiner xl has embedder and one text embedders + config_url = "https://raw.githubusercontent.com/Stability-AI/generative-models/main/configs/inference/sd_xl_refiner.yaml" + + original_config_file = BytesIO(requests.get(config_url).content) + + original_config = OmegaConf.load(original_config_file) + if model_version == BaseModelType.StableDiffusion2 and original_config["model"]["params"]["parameterization"] == "v": + prediction_type = "v_prediction" + upcast_attention = True + image_size = 768 + else: + prediction_type = "epsilon" + upcast_attention = False + image_size = 512 + + # Convert the text model. + if ( + model_type is None + and "cond_stage_config" in original_config.model.params + and original_config.model.params.cond_stage_config is not None + ): + model_type = original_config.model.params.cond_stage_config.target.split(".")[-1] + logger.debug(f"no `model_type` given, `model_type` inferred as: {model_type}") + elif model_type is None and original_config.model.params.network_config is not None: + if original_config.model.params.network_config.params.context_dim == 2048: + model_type = "SDXL" + else: + model_type = "SDXL-Refiner" + if image_size is None: + image_size = 1024 + + if num_in_channels is None and pipeline_class == StableDiffusionInpaintPipeline: + num_in_channels = 9 + elif num_in_channels is None: + num_in_channels = 4 + + if "unet_config" in original_config.model.params: + original_config["model"]["params"]["unet_config"]["params"]["in_channels"] = num_in_channels + + if ( + "parameterization" in original_config["model"]["params"] + and original_config["model"]["params"]["parameterization"] == "v" + ): + if prediction_type is None: + # NOTE: For stable diffusion 2 base it is recommended to pass `prediction_type=="epsilon"` + # as it relies on a brittle global step parameter here + prediction_type = "epsilon" if global_step == 875000 else "v_prediction" + if image_size is None: + # NOTE: For stable diffusion 2 base one has to pass `image_size==512` + # as it relies on a brittle global step parameter here + image_size = 512 if global_step == 875000 else 768 + else: + if prediction_type is None: + prediction_type = "epsilon" + if image_size is None: + image_size = 512 + + if controlnet is None and "control_stage_config" in original_config.model.params: + controlnet = convert_controlnet_checkpoint( + checkpoint, original_config, checkpoint_path, image_size, upcast_attention, extract_ema + ) + + num_train_timesteps = getattr(original_config.model.params, "timesteps", None) or 1000 + + if model_type in ["SDXL", "SDXL-Refiner"]: + scheduler_dict = { + "beta_schedule": "scaled_linear", + "beta_start": 0.00085, + "beta_end": 0.012, + "interpolation_type": "linear", + "num_train_timesteps": num_train_timesteps, + "prediction_type": "epsilon", + "sample_max_value": 1.0, + "set_alpha_to_one": False, + "skip_prk_steps": True, + "steps_offset": 1, + "timestep_spacing": "leading", + } + scheduler = EulerDiscreteScheduler.from_config(scheduler_dict) + scheduler_type = "euler" + else: + beta_start = getattr(original_config.model.params, "linear_start", None) or 0.02 + beta_end = getattr(original_config.model.params, "linear_end", None) or 0.085 + scheduler = DDIMScheduler( + beta_end=beta_end, + beta_schedule="scaled_linear", + beta_start=beta_start, + num_train_timesteps=num_train_timesteps, + steps_offset=1, + clip_sample=False, + set_alpha_to_one=False, + prediction_type=prediction_type, + ) + # make sure scheduler works correctly with DDIM + scheduler.register_to_config(clip_sample=False) + + if scheduler_type == "pndm": + config = dict(scheduler.config) + config["skip_prk_steps"] = True + scheduler = PNDMScheduler.from_config(config) + elif scheduler_type == "lms": + scheduler = LMSDiscreteScheduler.from_config(scheduler.config) + elif scheduler_type == "heun": + scheduler = HeunDiscreteScheduler.from_config(scheduler.config) + elif scheduler_type == "euler": + scheduler = EulerDiscreteScheduler.from_config(scheduler.config) + elif scheduler_type == "euler-ancestral": + scheduler = EulerAncestralDiscreteScheduler.from_config(scheduler.config) + elif scheduler_type == "dpm": + scheduler = DPMSolverMultistepScheduler.from_config(scheduler.config) + elif scheduler_type == "ddim": + scheduler = scheduler + else: + raise ValueError(f"Scheduler of type {scheduler_type} doesn't exist!") + + # Convert the UNet2DConditionModel model. + unet_config = create_unet_diffusers_config(original_config, image_size=image_size) + unet_config["upcast_attention"] = upcast_attention + converted_unet_checkpoint = convert_ldm_unet_checkpoint( + checkpoint, unet_config, path=checkpoint_path, extract_ema=extract_ema + ) + + ctx = init_empty_weights if is_accelerate_available() else nullcontext + with ctx(): + unet = UNet2DConditionModel(**unet_config) + + # if is_accelerate_available(): + # for param_name, param in converted_unet_checkpoint.items(): + # set_module_tensor_to_device(unet, param_name, "cpu", value=param) + # else: + unet.load_state_dict(converted_unet_checkpoint) + + # Convert the VAE model. + if vae_path is None: + vae_config = create_vae_diffusers_config(original_config, image_size=image_size) + converted_vae_checkpoint = convert_ldm_vae_checkpoint(checkpoint, vae_config) + + if ( + "model" in original_config + and "params" in original_config.model + and "scale_factor" in original_config.model.params + ): + vae_scaling_factor = original_config.model.params.scale_factor + else: + vae_scaling_factor = 0.18215 # default SD scaling factor + + vae_config["scaling_factor"] = vae_scaling_factor + + ctx = init_empty_weights if is_accelerate_available() else nullcontext + with ctx(): + vae = AutoencoderKL(**vae_config) + + if is_accelerate_available(): + for param_name, param in converted_vae_checkpoint.items(): + set_module_tensor_to_device(vae, param_name, "cpu", value=param) + else: + vae.load_state_dict(converted_vae_checkpoint) + else: + vae = AutoencoderKL.from_pretrained(vae_path) + + if model_type == "FrozenOpenCLIPEmbedder": + config_name = "stabilityai/stable-diffusion-2" + config_kwargs = {"subfolder": "text_encoder"} + + text_model = convert_open_clip_checkpoint(checkpoint, config_name, **config_kwargs) + tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / 'stable-diffusion-2-clip', subfolder="tokenizer") + + if stable_unclip is None: + if controlnet: + pipe = pipeline_class( + vae=vae, + text_encoder=text_model, + tokenizer=tokenizer, + unet=unet, + scheduler=scheduler, + controlnet=controlnet, + safety_checker=None, + feature_extractor=None, + requires_safety_checker=False, + ) + else: + pipe = pipeline_class( + vae=vae, + text_encoder=text_model, + tokenizer=tokenizer, + unet=unet, + scheduler=scheduler, + safety_checker=None, + feature_extractor=None, + requires_safety_checker=False, + ) + else: + image_normalizer, image_noising_scheduler = stable_unclip_image_noising_components( + original_config, clip_stats_path=clip_stats_path, device=device + ) + + if stable_unclip == "img2img": + feature_extractor, image_encoder = stable_unclip_image_encoder(original_config) + + pipe = StableUnCLIPImg2ImgPipeline( + # image encoding components + feature_extractor=feature_extractor, + image_encoder=image_encoder, + # image noising components + image_normalizer=image_normalizer, + image_noising_scheduler=image_noising_scheduler, + # regular denoising components + tokenizer=tokenizer, + text_encoder=text_model, + unet=unet, + scheduler=scheduler, + # vae + vae=vae, + ) + elif stable_unclip == "txt2img": + if stable_unclip_prior is None or stable_unclip_prior == "karlo": + karlo_model = "kakaobrain/karlo-v1-alpha" + prior = PriorTransformer.from_pretrained(karlo_model, subfolder="prior") + + prior_tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") + prior_text_model = CLIPTextModelWithProjection.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") + + prior_scheduler = UnCLIPScheduler.from_pretrained(karlo_model, subfolder="prior_scheduler") + prior_scheduler = DDPMScheduler.from_config(prior_scheduler.config) + else: + raise NotImplementedError(f"unknown prior for stable unclip model: {stable_unclip_prior}") + + pipe = StableUnCLIPPipeline( + # prior components + prior_tokenizer=prior_tokenizer, + prior_text_encoder=prior_text_model, + prior=prior, + prior_scheduler=prior_scheduler, + # image noising components + image_normalizer=image_normalizer, + image_noising_scheduler=image_noising_scheduler, + # regular denoising components + tokenizer=tokenizer, + text_encoder=text_model, + unet=unet, + scheduler=scheduler, + # vae + vae=vae, + ) + else: + raise NotImplementedError(f"unknown `stable_unclip` type: {stable_unclip}") + elif model_type == "PaintByExample": + vision_model = convert_paint_by_example_checkpoint(checkpoint) + tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") + feature_extractor = AutoFeatureExtractor.from_pretrained(CONVERT_MODEL_ROOT / "stable-diffusion-safety-checker") + pipe = PaintByExamplePipeline( + vae=vae, + image_encoder=vision_model, + unet=unet, + scheduler=scheduler, + safety_checker=None, + feature_extractor=feature_extractor, + ) + elif model_type == "FrozenCLIPEmbedder": + text_model = convert_ldm_clip_checkpoint( + checkpoint, local_files_only=local_files_only, text_encoder=text_encoder + ) + tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") if tokenizer is None else tokenizer + + if load_safety_checker: + safety_checker = StableDiffusionSafetyChecker.from_pretrained(CONVERT_MODEL_ROOT / "stable-diffusion-safety-checker") + feature_extractor = AutoFeatureExtractor.from_pretrained(CONVERT_MODEL_ROOT / "stable-diffusion-safety-checker") + else: + safety_checker = None + feature_extractor = None + + if controlnet: + pipe = pipeline_class( + vae=vae, + text_encoder=text_model, + tokenizer=tokenizer, + unet=unet, + controlnet=controlnet, + scheduler=scheduler, + safety_checker=safety_checker, + feature_extractor=feature_extractor, + ) + else: + pipe = pipeline_class( + vae=vae, + text_encoder=text_model, + tokenizer=tokenizer, + unet=unet, + scheduler=scheduler, + safety_checker=safety_checker, + feature_extractor=feature_extractor, + ) + elif model_type in ["SDXL", "SDXL-Refiner"]: + if model_type == "SDXL": + tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") + text_encoder = convert_ldm_clip_checkpoint(checkpoint, local_files_only=local_files_only) + + tokenizer_name = CONVERT_MODEL_ROOT / "CLIP-ViT-bigG-14-laion2B-39B-b160k" + tokenizer_2 = CLIPTokenizer.from_pretrained(tokenizer_name, pad_token="!") + + config_name = tokenizer_name + config_kwargs = {"projection_dim": 1280} + text_encoder_2 = convert_open_clip_checkpoint( + checkpoint, config_name, prefix="conditioner.embedders.1.model.", has_projection=True, **config_kwargs + ) + + pipe = StableDiffusionXLPipeline ( + vae=vae, + text_encoder=text_encoder, + tokenizer=tokenizer, + text_encoder_2=text_encoder_2, + tokenizer_2=tokenizer_2, + unet=unet, + scheduler=scheduler, + force_zeros_for_empty_prompt=True, + ) + else: + tokenizer = None + text_encoder = None + tokenizer_name = CONVERT_MODEL_ROOT / "CLIP-ViT-bigG-14-laion2B-39B-b160k" + tokenizer_2 = CLIPTokenizer.from_pretrained(tokenizer_name, pad_token="!") + + config_name = tokenizer_name + config_kwargs = {"projection_dim": 1280} + text_encoder_2 = convert_open_clip_checkpoint( + checkpoint, config_name, prefix="conditioner.embedders.0.model.", has_projection=True, **config_kwargs + ) + + pipe = StableDiffusionXLImg2ImgPipeline( + vae=vae, + text_encoder=text_encoder, + tokenizer=tokenizer, + text_encoder_2=text_encoder_2, + tokenizer_2=tokenizer_2, + unet=unet, + scheduler=scheduler, + requires_aesthetics_score=True, + force_zeros_for_empty_prompt=False, + ) + else: + text_config = create_ldm_bert_config(original_config) + text_model = convert_ldm_bert_checkpoint(checkpoint, text_config) + tokenizer = BertTokenizerFast.from_pretrained(CONVERT_MODEL_ROOT / "bert-base-uncased") + pipe = LDMTextToImagePipeline(vqvae=vae, bert=text_model, tokenizer=tokenizer, unet=unet, scheduler=scheduler) + + return pipe + + +def download_controlnet_from_original_ckpt( + checkpoint_path: str, + original_config_file: str, + image_size: int = 512, + extract_ema: bool = False, + num_in_channels: Optional[int] = None, + upcast_attention: Optional[bool] = None, + device: str = None, + from_safetensors: bool = False, + use_linear_projection: Optional[bool] = None, + cross_attention_dim: Optional[bool] = None, + scan_needed: bool = False, +) -> DiffusionPipeline: + if not is_omegaconf_available(): + raise ValueError(BACKENDS_MAPPING["omegaconf"][1]) + + from omegaconf import OmegaConf + + if from_safetensors: + if not is_safetensors_available(): + raise ValueError(BACKENDS_MAPPING["safetensors"][1]) + + from safetensors import safe_open + + checkpoint = {} + with safe_open(checkpoint_path, framework="pt", device="cpu") as f: + for key in f.keys(): + checkpoint[key] = f.get_tensor(key) + else: + if scan_needed: + # scan model + scan_result = scan_file_path(checkpoint_path) + if scan_result.infected_files != 0: + raise "The model {checkpoint_path} is potentially infected by malware. Aborting import." + if device is None: + device = "cuda" if torch.cuda.is_available() else "cpu" + checkpoint = torch.load(checkpoint_path, map_location=device) + else: + checkpoint = torch.load(checkpoint_path, map_location=device) + + # NOTE: this while loop isn't great but this controlnet checkpoint has one additional + # "state_dict" key https://huggingface.co/thibaud/controlnet-canny-sd21 + while "state_dict" in checkpoint: + checkpoint = checkpoint["state_dict"] + + original_config = OmegaConf.load(original_config_file) + + if num_in_channels is not None: + original_config["model"]["params"]["unet_config"]["params"]["in_channels"] = num_in_channels + + if "control_stage_config" not in original_config.model.params: + raise ValueError("`control_stage_config` not present in original config") + + controlnet = convert_controlnet_checkpoint( + checkpoint, + original_config, + checkpoint_path, + image_size, + upcast_attention, + extract_ema, + use_linear_projection=use_linear_projection, + cross_attention_dim=cross_attention_dim, + ) + + return controlnet def convert_ldm_vae_to_diffusers(checkpoint, vae_config: DictConfig, image_size: int) -> AutoencoderKL: vae_config = create_vae_diffusers_config( @@ -994,175 +1696,35 @@ def convert_ldm_vae_to_diffusers(checkpoint, vae_config: DictConfig, image_size: vae.load_state_dict(converted_vae_checkpoint) return vae -def load_pipeline_from_original_stable_diffusion_ckpt( - checkpoint_path: str, - model_version: BaseModelType, - model_variant: ModelVariantType, - original_config_file: str, - extract_ema: bool = True, - precision: torch.dtype = torch.float32, - scan_needed: bool = True, -) -> StableDiffusionPipeline: - """ - Load a Stable Diffusion pipeline object from a CompVis-style `.ckpt`/`.safetensors` file and (ideally) a `.yaml` - config file. - - Although many of the arguments can be automatically inferred, some of these rely on brittle checks against the - global step count, which will likely fail for models that have undergone further fine-tuning. Therefore, it is - recommended that you override the default values and/or supply an `original_config_file` wherever possible. - - :param checkpoint_path: Path to `.ckpt` file. - :param original_config_file: Path to `.yaml` config file corresponding to the original architecture. - If `None`, will be automatically inferred by looking for a key that only exists in SD2.0 models. - :param scheduler_type: Type of scheduler to use. Should be one of `["pndm", "lms", "heun", "euler", - "euler-ancestral", "dpm", "ddim"]`. :param model_type: The pipeline type. `None` to automatically infer, or one of - `["FrozenOpenCLIPEmbedder", "FrozenCLIPEmbedder"]`. :param extract_ema: Only relevant for - checkpoints that have both EMA and non-EMA weights. Whether to extract the EMA weights - or not. Defaults to `False`. Pass `True` to extract the EMA weights. EMA weights usually yield higher - quality images for inference. Non-EMA weights are usually better to continue fine-tuning. - :param precision: precision to use - torch.float16, torch.float32 or torch.autocast - """ - if not isinstance(checkpoint_path, Path): - checkpoint_path = Path(checkpoint_path) - - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - verbosity = dlogging.get_verbosity() - dlogging.set_verbosity_error() - - if checkpoint_path.suffix == ".safetensors": - checkpoint = load_file(checkpoint_path) - else: - if scan_needed: - # scan model - scan_result = scan_file_path(checkpoint_path) - if scan_result.infected_files != 0: - raise "The model {checkpoint_path} is potentially infected by malware. Aborting import." - checkpoint = torch.load(checkpoint_path) - - # sometimes there is a state_dict key and sometimes not - if "state_dict" in checkpoint: - checkpoint = checkpoint["state_dict"] - - original_config = OmegaConf.load(original_config_file) - - if model_version == BaseModelType.StableDiffusion2 and original_config["model"]["params"]["parameterization"] == "v": - prediction_type = "v_prediction" - upcast_attention = True - image_size = 768 - else: - prediction_type = "epsilon" - upcast_attention = False - image_size = 512 - - # - # convert scheduler - # - - num_train_timesteps = original_config.model.params.timesteps - beta_start = original_config.model.params.linear_start - beta_end = original_config.model.params.linear_end - - scheduler = PNDMScheduler( - beta_end=beta_end, - beta_schedule="scaled_linear", - beta_start=beta_start, - num_train_timesteps=num_train_timesteps, - steps_offset=1, - set_alpha_to_one=False, - prediction_type=prediction_type, - skip_prk_steps=True - ) - # make sure scheduler works correctly with DDIM - scheduler.register_to_config(clip_sample=False) - - # - # convert unet - # - - unet_config = create_unet_diffusers_config( - original_config, image_size=image_size - ) - unet_config["upcast_attention"] = upcast_attention - unet = UNet2DConditionModel(**unet_config) - - converted_unet_checkpoint = convert_ldm_unet_checkpoint( - checkpoint, unet_config, path=checkpoint_path, extract_ema=extract_ema - ) - - unet.load_state_dict(converted_unet_checkpoint) - - # - # convert vae - # - - vae = convert_ldm_vae_to_diffusers( - checkpoint, - original_config, - image_size, - ) - - # Convert the text model. - model_type = original_config.model.params.cond_stage_config.target.split(".")[-1] - if model_type == "FrozenOpenCLIPEmbedder": - text_model = convert_open_clip_checkpoint(checkpoint) - tokenizer = CLIPTokenizer.from_pretrained( - CONVERT_MODEL_ROOT / 'stable-diffusion-2-clip', - subfolder='tokenizer', - ) - pipe = StableDiffusionPipeline( - vae=vae.to(precision), - text_encoder=text_model.to(precision), - tokenizer=tokenizer, - unet=unet.to(precision), - scheduler=scheduler, - safety_checker=None, - feature_extractor=None, - requires_safety_checker=False, - ) - - elif model_type in ["FrozenCLIPEmbedder", "WeightedFrozenCLIPEmbedder"]: - text_model = convert_ldm_clip_checkpoint(checkpoint) - tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / 'clip-vit-large-patch14') - safety_checker = StableDiffusionSafetyChecker.from_pretrained(CONVERT_MODEL_ROOT / 'stable-diffusion-safety-checker') - feature_extractor = AutoFeatureExtractor.from_pretrained(CONVERT_MODEL_ROOT / 'stable-diffusion-safety-checker') - pipe = StableDiffusionPipeline( - vae=vae.to(precision), - text_encoder=text_model.to(precision), - tokenizer=tokenizer, - unet=unet.to(precision), - scheduler=scheduler, - safety_checker=safety_checker.to(precision), - feature_extractor=feature_extractor, - ) - - else: - text_config = create_ldm_bert_config(original_config) - text_model = convert_ldm_bert_checkpoint(checkpoint, text_config) - tokenizer = BertTokenizerFast.from_pretrained(CONVERT_MODEL_ROOT / "bert-base-uncased") - pipe = LDMTextToImagePipeline( - vqvae=vae, - bert=text_model, - tokenizer=tokenizer, - unet=unet, - scheduler=scheduler, - ) - dlogging.set_verbosity(verbosity) - - return pipe - - def convert_ckpt_to_diffusers( checkpoint_path: Union[str, Path], dump_path: Union[str, Path], + no_safetensors: bool = False, **kwargs, ): """ - Takes all the arguments of load_pipeline_from_original_stable_diffusion_ckpt(), + Takes all the arguments of download_from_original_stable_diffusion_ckpt(), and in addition a path-like object indicating the location of the desired diffusers model to be written. """ - pipe = load_pipeline_from_original_stable_diffusion_ckpt(checkpoint_path, **kwargs) + pipe = download_from_original_stable_diffusion_ckpt(checkpoint_path, **kwargs) + + pipe.save_pretrained( + dump_path, + safe_serialization=is_safetensors_available(), + ) + +def convert_controlnet_to_diffusers( + checkpoint_path: Union[str, Path], + dump_path: Union[str, Path], + **kwargs, +): + """ + Takes all the arguments of download_controlnet_from_original_ckpt(), + and in addition a path-like object indicating the location of the desired diffusers + model to be written. + """ + pipe = download_controlnet_from_original_ckpt(checkpoint_path, **kwargs) pipe.save_pretrained( dump_path, diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index a0b3e6d625..894fca9d74 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -673,6 +673,7 @@ class ModelManager(object): self.models[model_key] = model_config self.commit() + return AddModelResult( name = model_name, model_type = model_type, @@ -840,7 +841,7 @@ class ModelManager(object): Returns the preamble for the config file. """ return textwrap.dedent( - """\ + """ # This file describes the alternative machine learning models # available to InvokeAI script. # diff --git a/invokeai/backend/model_management/model_probe.py b/invokeai/backend/model_management/model_probe.py index 6a65401675..d2f20bdef7 100644 --- a/invokeai/backend/model_management/model_probe.py +++ b/invokeai/backend/model_management/model_probe.py @@ -253,7 +253,8 @@ class PipelineCheckpointProbe(CheckpointProbeBase): return BaseModelType.StableDiffusion1 if key_name in state_dict and state_dict[key_name].shape[-1] == 1024: return BaseModelType.StableDiffusion2 - # TODO: Verify that this is correct! Need an XL checkpoint file for this. + # TODO: This is just a guess based on N=1 + key_name = 'model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_k.weight' if key_name in state_dict and state_dict[key_name].shape[-1] == 2048: return BaseModelType.StableDiffusionXL raise InvalidModelException("Cannot determine base type") diff --git a/invokeai/backend/model_management/models/controlnet.py b/invokeai/backend/model_management/models/controlnet.py index 178fea4d13..41952af5d9 100644 --- a/invokeai/backend/model_management/models/controlnet.py +++ b/invokeai/backend/model_management/models/controlnet.py @@ -1,7 +1,8 @@ import os import torch from enum import Enum -from typing import Optional +from pathlib import Path +from typing import Optional, Literal from .base import ( ModelBase, ModelConfigBase, @@ -15,6 +16,7 @@ from .base import ( InvalidModelException, ModelNotFoundException, ) +from invokeai.app.services.config import InvokeAIAppConfig class ControlNetModelFormat(str, Enum): Checkpoint = "checkpoint" @@ -24,8 +26,12 @@ class ControlNetModel(ModelBase): #model_class: Type #model_size: int - class Config(ModelConfigBase): - model_format: ControlNetModelFormat + class DiffusersConfig(ModelConfigBase): + model_format: Literal[ControlNetModelFormat.Diffusers] + + class CheckpointConfig(ModelConfigBase): + model_format: Literal[ControlNetModelFormat.Checkpoint] + config: str def __init__(self, model_path: str, base_model: BaseModelType, model_type: ModelType): assert model_type == ModelType.ControlNet @@ -99,13 +105,51 @@ class ControlNetModel(ModelBase): @classmethod def convert_if_required( + cls, + model_path: str, + output_path: str, + config: ModelConfigBase, + base_model: BaseModelType, + ) -> str: + if cls.detect_format(model_path) == ControlNetModelFormat.Checkpoint: + return _convert_controlnet_ckpt_and_cache( + model_path = model_path, + model_config = config.config, + output_path = output_path, + base_model = base_model, + ) + else: + return model_path + +@classmethod +def _convert_controlnet_ckpt_and_cache( cls, model_path: str, output_path: str, - config: ModelConfigBase, # empty config or config of parent model base_model: BaseModelType, - ) -> str: - if cls.detect_format(model_path) != ControlNetModelFormat.Diffusers: - raise NotImplementedError("Checkpoint controlnet models currently unsupported") - else: - return model_path + model_config: ControlNetModel.CheckpointConfig, +) -> str: + """ + Convert the controlnet from checkpoint format to diffusers format, + cache it to disk, and return Path to converted + file. If already on disk then just returns Path. + """ + app_config = InvokeAIAppConfig.get_config() + weights = app_config.root_path / model_path + output_path = Path(output_path) + + # return cached version if it exists + if output_path.exists(): + return output_path + + # to avoid circular import errors + from ..convert_ckpt_to_diffusers import convert_controlnet_to_diffusers + convert_controlnet_to_diffusers( + weights, + output_path, + original_config_file = app_config.root_path / model_config, + image_size = 512, + scan_needed = True, + from_safetensors = weights.suffix == ".safetensors" + ) + return output_path diff --git a/invokeai/backend/model_management/models/sdxl.py b/invokeai/backend/model_management/models/sdxl.py index 76cabcdc62..f66aa5a87a 100644 --- a/invokeai/backend/model_management/models/sdxl.py +++ b/invokeai/backend/model_management/models/sdxl.py @@ -48,7 +48,7 @@ class StableDiffusionXLModel(DiffusersModel): if model_format == StableDiffusionXLModelFormat.Checkpoint: if ckpt_config_path: ckpt_config = OmegaConf.load(ckpt_config_path) - ckpt_config["model"]["params"]["unet_config"]["params"]["in_channels"] + in_channels = ckpt_config["model"]["params"]["unet_config"]["params"]["in_channels"] else: checkpoint = read_checkpoint_meta(path) @@ -109,6 +109,13 @@ class StableDiffusionXLModel(DiffusersModel): base_model: BaseModelType, ) -> str: if isinstance(config, cls.CheckpointConfig): - raise NotImplementedError('conversion of SDXL checkpoint models to diffusers format is not yet supported') + from invokeai.backend.model_management.models.stable_diffusion import _convert_ckpt_and_cache + return _convert_ckpt_and_cache( + version=base_model, + model_config=config, + output_path=output_path, + model_type='SDXL', + no_safetensors=True, # giving errors for some reason + ) else: return model_path diff --git a/invokeai/backend/model_management/models/stable_diffusion.py b/invokeai/backend/model_management/models/stable_diffusion.py index a90a72ba30..6a8329e911 100644 --- a/invokeai/backend/model_management/models/stable_diffusion.py +++ b/invokeai/backend/model_management/models/stable_diffusion.py @@ -15,6 +15,7 @@ from .base import ( classproperty, InvalidModelException, ) +from .sdxl import StableDiffusionXLModel from invokeai.app.services.config import InvokeAIAppConfig from omegaconf import OmegaConf @@ -235,42 +236,16 @@ class StableDiffusion2Model(DiffusersModel): else: return model_path -def _select_ckpt_config(version: BaseModelType, variant: ModelVariantType): - ckpt_configs = { - BaseModelType.StableDiffusion1: { - ModelVariantType.Normal: "v1-inference.yaml", - ModelVariantType.Inpaint: "v1-inpainting-inference.yaml", - }, - BaseModelType.StableDiffusion2: { - ModelVariantType.Normal: "v2-inference-v.yaml", # best guess, as we can't differentiate with base(512) - ModelVariantType.Inpaint: "v2-inpainting-inference.yaml", - ModelVariantType.Depth: "v2-midas-inference.yaml", - }, - # note that these .yaml files don't yet exist! - BaseModelType.StableDiffusionXL: { - ModelVariantType.Normal: "xl-inference-v.yaml", - ModelVariantType.Inpaint: "xl-inpainting-inference.yaml", - ModelVariantType.Depth: "xl-midas-inference.yaml", - } - } - - app_config = InvokeAIAppConfig.get_config() - try: - config_path = app_config.legacy_conf_path / ckpt_configs[version][variant] - if config_path.is_relative_to(app_config.root_path): - config_path = config_path.relative_to(app_config.root_path) - return str(config_path) - - except: - return None - - # TODO: rework -# Note that convert_ckpt_to_diffuses does not currently support conversion of SDXL models def _convert_ckpt_and_cache( - version: BaseModelType, - model_config: Union[StableDiffusion1Model.CheckpointConfig, StableDiffusion2Model.CheckpointConfig], - output_path: str, + version: BaseModelType, + model_config: Union[StableDiffusion1Model.CheckpointConfig, + StableDiffusion2Model.CheckpointConfig, + StableDiffusionXLModel.CheckpointConfig, + ], + output_path: str, + use_save_model: bool=False, + **kwargs, ) -> str: """ Convert the checkpoint model indicated in mconfig into a @@ -298,5 +273,42 @@ def _convert_ckpt_and_cache( original_config_file=config_file, extract_ema=True, scan_needed=True, + from_safetensors = weights.suffix == ".safetensors", + **kwargs, ) return output_path + +def _select_ckpt_config(version: BaseModelType, variant: ModelVariantType): + ckpt_configs = { + BaseModelType.StableDiffusion1: { + ModelVariantType.Normal: "v1-inference.yaml", + ModelVariantType.Inpaint: "v1-inpainting-inference.yaml", + }, + BaseModelType.StableDiffusion2: { + ModelVariantType.Normal: "v2-inference-v.yaml", # best guess, as we can't differentiate with base(512) + ModelVariantType.Inpaint: "v2-inpainting-inference.yaml", + ModelVariantType.Depth: "v2-midas-inference.yaml", + }, + BaseModelType.StableDiffusionXL: { + ModelVariantType.Normal: "sd_xl_base.yaml", + ModelVariantType.Inpaint: None, + ModelVariantType.Depth: None, + }, + BaseModelType.StableDiffusionXLRefiner: { + ModelVariantType.Normal: "sd_xl_refiner.yaml", + ModelVariantType.Inpaint: None, + ModelVariantType.Depth: None, + }, + } + + app_config = InvokeAIAppConfig.get_config() + try: + config_path = app_config.legacy_conf_path / ckpt_configs[version][variant] + if config_path.is_relative_to(app_config.root_path): + config_path = config_path.relative_to(app_config.root_path) + return str(config_path) + + except: + return None + + diff --git a/invokeai/configs/stable-diffusion/sd_xl_base.yaml b/invokeai/configs/stable-diffusion/sd_xl_base.yaml new file mode 100644 index 0000000000..2022dac950 --- /dev/null +++ b/invokeai/configs/stable-diffusion/sd_xl_base.yaml @@ -0,0 +1,98 @@ +model: + target: sgm.models.diffusion.DiffusionEngine + params: + scale_factor: 0.13025 + disable_first_stage_autocast: True + + denoiser_config: + target: sgm.modules.diffusionmodules.denoiser.DiscreteDenoiser + params: + num_idx: 1000 + + weighting_config: + target: sgm.modules.diffusionmodules.denoiser_weighting.EpsWeighting + scaling_config: + target: sgm.modules.diffusionmodules.denoiser_scaling.EpsScaling + discretization_config: + target: sgm.modules.diffusionmodules.discretizer.LegacyDDPMDiscretization + + network_config: + target: sgm.modules.diffusionmodules.openaimodel.UNetModel + params: + adm_in_channels: 2816 + num_classes: sequential + use_checkpoint: True + in_channels: 4 + out_channels: 4 + model_channels: 320 + attention_resolutions: [4, 2] + num_res_blocks: 2 + channel_mult: [1, 2, 4] + num_head_channels: 64 + use_spatial_transformer: True + use_linear_in_transformer: True + transformer_depth: [1, 2, 10] # note: the first is unused (due to attn_res starting at 2) 32, 16, 8 --> 64, 32, 16 + context_dim: 2048 + spatial_transformer_attn_type: softmax-xformers + legacy: False + + conditioner_config: + target: sgm.modules.GeneralConditioner + params: + emb_models: + # crossattn cond + - is_trainable: False + input_key: txt + target: sgm.modules.encoders.modules.FrozenCLIPEmbedder + params: + layer: hidden + layer_idx: 11 + # crossattn and vector cond + - is_trainable: False + input_key: txt + target: sgm.modules.encoders.modules.FrozenOpenCLIPEmbedder2 + params: + arch: ViT-bigG-14 + version: laion2b_s39b_b160k + freeze: True + layer: penultimate + always_return_pooled: True + legacy: False + # vector cond + - is_trainable: False + input_key: original_size_as_tuple + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + # vector cond + - is_trainable: False + input_key: crop_coords_top_left + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + # vector cond + - is_trainable: False + input_key: target_size_as_tuple + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + + first_stage_config: + target: sgm.models.autoencoder.AutoencoderKLInferenceWrapper + params: + embed_dim: 4 + monitor: val/rec_loss + ddconfig: + attn_type: vanilla-xformers + double_z: true + z_channels: 4 + resolution: 256 + in_channels: 3 + out_ch: 3 + ch: 128 + ch_mult: [1, 2, 4, 4] + num_res_blocks: 2 + attn_resolutions: [] + dropout: 0.0 + lossconfig: + target: torch.nn.Identity \ No newline at end of file diff --git a/invokeai/configs/stable-diffusion/sd_xl_refiner.yaml b/invokeai/configs/stable-diffusion/sd_xl_refiner.yaml new file mode 100644 index 0000000000..cab5fe283d --- /dev/null +++ b/invokeai/configs/stable-diffusion/sd_xl_refiner.yaml @@ -0,0 +1,91 @@ +model: + target: sgm.models.diffusion.DiffusionEngine + params: + scale_factor: 0.13025 + disable_first_stage_autocast: True + + denoiser_config: + target: sgm.modules.diffusionmodules.denoiser.DiscreteDenoiser + params: + num_idx: 1000 + + weighting_config: + target: sgm.modules.diffusionmodules.denoiser_weighting.EpsWeighting + scaling_config: + target: sgm.modules.diffusionmodules.denoiser_scaling.EpsScaling + discretization_config: + target: sgm.modules.diffusionmodules.discretizer.LegacyDDPMDiscretization + + network_config: + target: sgm.modules.diffusionmodules.openaimodel.UNetModel + params: + adm_in_channels: 2560 + num_classes: sequential + use_checkpoint: True + in_channels: 4 + out_channels: 4 + model_channels: 384 + attention_resolutions: [4, 2] + num_res_blocks: 2 + channel_mult: [1, 2, 4, 4] + num_head_channels: 64 + use_spatial_transformer: True + use_linear_in_transformer: True + transformer_depth: 4 + context_dim: [1280, 1280, 1280, 1280] # 1280 + spatial_transformer_attn_type: softmax-xformers + legacy: False + + conditioner_config: + target: sgm.modules.GeneralConditioner + params: + emb_models: + # crossattn and vector cond + - is_trainable: False + input_key: txt + target: sgm.modules.encoders.modules.FrozenOpenCLIPEmbedder2 + params: + arch: ViT-bigG-14 + version: laion2b_s39b_b160k + legacy: False + freeze: True + layer: penultimate + always_return_pooled: True + # vector cond + - is_trainable: False + input_key: original_size_as_tuple + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + # vector cond + - is_trainable: False + input_key: crop_coords_top_left + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + # vector cond + - is_trainable: False + input_key: aesthetic_score + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by one + + first_stage_config: + target: sgm.models.autoencoder.AutoencoderKLInferenceWrapper + params: + embed_dim: 4 + monitor: val/rec_loss + ddconfig: + attn_type: vanilla-xformers + double_z: true + z_channels: 4 + resolution: 256 + in_channels: 3 + out_ch: 3 + ch: 128 + ch_mult: [1, 2, 4, 4] + num_res_blocks: 2 + attn_resolutions: [] + dropout: 0.0 + lossconfig: + target: torch.nn.Identity From b1d7c9b3064b7c8ed6d7dfdc9b0af1088678ec5e Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sat, 22 Jul 2023 21:33:40 -0400 Subject: [PATCH 02/78] save text_encoder_2 config, not whole model --- invokeai/backend/install/invokeai_configure.py | 13 ++++++++----- .../model_management/convert_ckpt_to_diffusers.py | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 90df00dd28..8d329a9db1 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -32,6 +32,7 @@ from omegaconf import OmegaConf from tqdm import tqdm from transformers import ( CLIPTextModel, + CLIPTextConfig, CLIPTokenizer, AutoFeatureExtractor, BertTokenizerFast, @@ -205,13 +206,15 @@ def download_conversion_models(): pipeline = CLIPTextModel.from_pretrained(repo_id, subfolder="text_encoder", **kwargs) pipeline.save_pretrained(target_dir / 'stable-diffusion-2-clip' / 'text_encoder', safe_serialization=True) + # sd-xl - tokenizer_2 repo_id = "laion/CLIP-ViT-bigG-14-laion2B-39B-b160k" _, model_name = repo_id.split('/') - tokenizer_2 = CLIPTokenizer.from_pretrained(repo_id, **kwargs) - tokenizer_2.save_pretrained(target_dir / model_name, safe_serialization=True) - # for some reason config.json never downloads - hf_download_with_resume(repo_id, target_dir / model_name, "config.json") - + pipeline = CLIPTokenizer.from_pretrained(repo_id, **kwargs) + pipeline.save_pretrained(target_dir / model_name, safe_serialization=True) + + pipeline = CLIPTextConfig.from_pretrained(repo_id, **kwargs) + pipeline.save_pretrained(target_dir / model_name, safe_serialization=True) + # VAE logger.info('Downloading stable diffusion VAE') vae = AutoencoderKL.from_pretrained('stabilityai/sd-vae-ft-mse', **kwargs) diff --git a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py index 3d071437ae..dfd7fd100c 100644 --- a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py +++ b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py @@ -1711,7 +1711,7 @@ def convert_ckpt_to_diffusers( pipe.save_pretrained( dump_path, - safe_serialization=is_safetensors_available(), + safe_serialization=is_safetensors_available() and not no_safetensors, ) def convert_controlnet_to_diffusers( From 5e59edfaf153e40cbb15fd625001c363ef2dfc33 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 23 Jul 2023 00:00:31 -0400 Subject: [PATCH 03/78] SDXL checkpoint models now convert and load; needs refactor --- .../convert_ckpt_to_diffusers.py | 41 ++++++++++--------- .../models/stable_diffusion.py | 1 + 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py index dfd7fd100c..aa4dc0ecbc 100644 --- a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py +++ b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py @@ -1071,6 +1071,7 @@ def convert_controlnet_checkpoint( extract_ema, use_linear_projection=None, cross_attention_dim=None, + precision: torch.dtype=torch.float32, ): ctrlnet_config = create_unet_diffusers_config(original_config, image_size=image_size, controlnet=True) ctrlnet_config["upcast_attention"] = upcast_attention @@ -1108,9 +1109,9 @@ def convert_controlnet_checkpoint( controlnet.load_state_dict(converted_ctrl_checkpoint) - return controlnet - + return controlnet.to(precision) +# TO DO - PASS PRECISION def download_from_original_stable_diffusion_ckpt( checkpoint_path: str, model_version: BaseModelType, @@ -1120,6 +1121,7 @@ def download_from_original_stable_diffusion_ckpt( prediction_type: str = None, model_type: str = None, extract_ema: bool = False, + precision: torch.dtype = torch.float16, scheduler_type: str = "pndm", num_in_channels: Optional[int] = None, upcast_attention: Optional[bool] = None, @@ -1395,11 +1397,11 @@ def download_from_original_stable_diffusion_ckpt( with ctx(): unet = UNet2DConditionModel(**unet_config) - # if is_accelerate_available(): - # for param_name, param in converted_unet_checkpoint.items(): - # set_module_tensor_to_device(unet, param_name, "cpu", value=param) - # else: - unet.load_state_dict(converted_unet_checkpoint) + if is_accelerate_available(): + for param_name, param in converted_unet_checkpoint.items(): + set_module_tensor_to_device(unet, param_name, "cpu", value=param) + else: + unet.load_state_dict(converted_unet_checkpoint) # Convert the VAE model. if vae_path is None: @@ -1439,10 +1441,10 @@ def download_from_original_stable_diffusion_ckpt( if stable_unclip is None: if controlnet: pipe = pipeline_class( - vae=vae, + vae=vae.to(precision), text_encoder=text_model, tokenizer=tokenizer, - unet=unet, + unet=unet.to(precision), scheduler=scheduler, controlnet=controlnet, safety_checker=None, @@ -1451,10 +1453,10 @@ def download_from_original_stable_diffusion_ckpt( ) else: pipe = pipeline_class( - vae=vae, + vae=vae.to(precision), text_encoder=text_model, tokenizer=tokenizer, - unet=unet, + unet=unet.to(precision), scheduler=scheduler, safety_checker=None, feature_extractor=None, @@ -1542,10 +1544,10 @@ def download_from_original_stable_diffusion_ckpt( if controlnet: pipe = pipeline_class( - vae=vae, + vae=vae.to(precision), text_encoder=text_model, tokenizer=tokenizer, - unet=unet, + unet=unet.to(precision), controlnet=controlnet, scheduler=scheduler, safety_checker=safety_checker, @@ -1553,10 +1555,10 @@ def download_from_original_stable_diffusion_ckpt( ) else: pipe = pipeline_class( - vae=vae, + vae=vae.to(precision), text_encoder=text_model, tokenizer=tokenizer, - unet=unet, + unet=unet.to(precision), scheduler=scheduler, safety_checker=safety_checker, feature_extractor=feature_extractor, @@ -1576,12 +1578,12 @@ def download_from_original_stable_diffusion_ckpt( ) pipe = StableDiffusionXLPipeline ( - vae=vae, + vae=vae.to(precision), text_encoder=text_encoder, tokenizer=tokenizer, text_encoder_2=text_encoder_2, tokenizer_2=tokenizer_2, - unet=unet, + unet=unet.to(precision), scheduler=scheduler, force_zeros_for_empty_prompt=True, ) @@ -1598,12 +1600,12 @@ def download_from_original_stable_diffusion_ckpt( ) pipe = StableDiffusionXLImg2ImgPipeline( - vae=vae, + vae=vae.to(precision), text_encoder=text_encoder, tokenizer=tokenizer, text_encoder_2=text_encoder_2, tokenizer_2=tokenizer_2, - unet=unet, + unet=unet.to(precision), scheduler=scheduler, requires_aesthetics_score=True, force_zeros_for_empty_prompt=False, @@ -1622,6 +1624,7 @@ def download_controlnet_from_original_ckpt( original_config_file: str, image_size: int = 512, extract_ema: bool = False, + precision: torch.dtype = torch.float16, num_in_channels: Optional[int] = None, upcast_attention: Optional[bool] = None, device: str = None, diff --git a/invokeai/backend/model_management/models/stable_diffusion.py b/invokeai/backend/model_management/models/stable_diffusion.py index 6a8329e911..cf34686d6f 100644 --- a/invokeai/backend/model_management/models/stable_diffusion.py +++ b/invokeai/backend/model_management/models/stable_diffusion.py @@ -237,6 +237,7 @@ class StableDiffusion2Model(DiffusersModel): return model_path # TODO: rework +# pass precision - currently defaulting to fp16 def _convert_ckpt_and_cache( version: BaseModelType, model_config: Union[StableDiffusion1Model.CheckpointConfig, From f2a6f0cf2185ebe222ad7b60e80ef91a3d9c8006 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 23 Jul 2023 09:31:14 -0400 Subject: [PATCH 04/78] SDXL & SDXL-refiner models convert correctly --- .../model_management/convert_ckpt_to_diffusers.py | 10 +++++----- invokeai/backend/model_management/model_probe.py | 6 ++++-- invokeai/backend/model_management/models/sdxl.py | 11 +++++++++-- .../model_management/models/stable_diffusion.py | 6 ++++++ invokeai/backend/util/logging.py | 2 +- 5 files changed, 25 insertions(+), 10 deletions(-) diff --git a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py index aa4dc0ecbc..0124da7f56 100644 --- a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py +++ b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py @@ -1121,7 +1121,7 @@ def download_from_original_stable_diffusion_ckpt( prediction_type: str = None, model_type: str = None, extract_ema: bool = False, - precision: torch.dtype = torch.float16, + precision: torch.dtype = torch.float32, scheduler_type: str = "pndm", num_in_channels: Optional[int] = None, upcast_attention: Optional[bool] = None, @@ -1250,7 +1250,7 @@ def download_from_original_stable_diffusion_ckpt( while "state_dict" in checkpoint: checkpoint = checkpoint["state_dict"] - print(f'DEBUG: model_type = {model_type}; original_config_file = {original_config_file}') + logger.debug(f'model_type = {model_type}; original_config_file = {original_config_file}') if original_config_file is None: key_name_v2_1 = "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_k.weight" @@ -1624,7 +1624,7 @@ def download_controlnet_from_original_ckpt( original_config_file: str, image_size: int = 512, extract_ema: bool = False, - precision: torch.dtype = torch.float16, + precision: torch.dtype = torch.float32, num_in_channels: Optional[int] = None, upcast_attention: Optional[bool] = None, device: str = None, @@ -1702,7 +1702,7 @@ def convert_ldm_vae_to_diffusers(checkpoint, vae_config: DictConfig, image_size: def convert_ckpt_to_diffusers( checkpoint_path: Union[str, Path], dump_path: Union[str, Path], - no_safetensors: bool = False, + use_safetensors: bool=True, **kwargs, ): """ @@ -1714,7 +1714,7 @@ def convert_ckpt_to_diffusers( pipe.save_pretrained( dump_path, - safe_serialization=is_safetensors_available() and not no_safetensors, + safe_serialization=use_safetensors and is_safetensors_available(), ) def convert_controlnet_to_diffusers( diff --git a/invokeai/backend/model_management/model_probe.py b/invokeai/backend/model_management/model_probe.py index d2f20bdef7..f768417506 100644 --- a/invokeai/backend/model_management/model_probe.py +++ b/invokeai/backend/model_management/model_probe.py @@ -253,11 +253,13 @@ class PipelineCheckpointProbe(CheckpointProbeBase): return BaseModelType.StableDiffusion1 if key_name in state_dict and state_dict[key_name].shape[-1] == 1024: return BaseModelType.StableDiffusion2 - # TODO: This is just a guess based on N=1 key_name = 'model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_k.weight' if key_name in state_dict and state_dict[key_name].shape[-1] == 2048: return BaseModelType.StableDiffusionXL - raise InvalidModelException("Cannot determine base type") + elif key_name in state_dict and state_dict[key_name].shape[-1] == 1280: + return BaseModelType.StableDiffusionXLRefiner + else: + raise InvalidModelException("Cannot determine base type") def get_scheduler_prediction_type(self)->SchedulerPredictionType: type = self.get_base_type() diff --git a/invokeai/backend/model_management/models/sdxl.py b/invokeai/backend/model_management/models/sdxl.py index f66aa5a87a..ef0dd4c720 100644 --- a/invokeai/backend/model_management/models/sdxl.py +++ b/invokeai/backend/model_management/models/sdxl.py @@ -1,5 +1,6 @@ import os import json +import invokeai.backend.util.logging as logger from enum import Enum from pydantic import Field from typing import Literal, Optional @@ -108,14 +109,20 @@ class StableDiffusionXLModel(DiffusersModel): config: ModelConfigBase, base_model: BaseModelType, ) -> str: + # The convert script adapted from the diffusers package uses + # strings for the base model type. To avoid making too many + # source code changes, we simply translate here + model_base_to_model_type = {BaseModelType.StableDiffusionXL: 'SDXL', + BaseModelType.StableDiffusionXLRefiner: 'SDXL-Refiner', + } if isinstance(config, cls.CheckpointConfig): from invokeai.backend.model_management.models.stable_diffusion import _convert_ckpt_and_cache return _convert_ckpt_and_cache( version=base_model, model_config=config, output_path=output_path, - model_type='SDXL', - no_safetensors=True, # giving errors for some reason + model_type=model_base_to_model_type[base_model], + use_safetensors=False, # corrupts sdxl models for some reason ) else: return model_path diff --git a/invokeai/backend/model_management/models/stable_diffusion.py b/invokeai/backend/model_management/models/stable_diffusion.py index cf34686d6f..735e2e6bfb 100644 --- a/invokeai/backend/model_management/models/stable_diffusion.py +++ b/invokeai/backend/model_management/models/stable_diffusion.py @@ -16,9 +16,11 @@ from .base import ( InvalidModelException, ) from .sdxl import StableDiffusionXLModel +import invokeai.backend.util.logging as logger from invokeai.app.services.config import InvokeAIAppConfig from omegaconf import OmegaConf + class StableDiffusion1ModelFormat(str, Enum): Checkpoint = "checkpoint" Diffusers = "diffusers" @@ -265,6 +267,9 @@ def _convert_ckpt_and_cache( # to avoid circular import errors from ..convert_ckpt_to_diffusers import convert_ckpt_to_diffusers + from ...util.devices import choose_torch_device, torch_dtype + + logger.info(f'Converting {weights} to diffusers format') with SilenceWarnings(): convert_ckpt_to_diffusers( weights, @@ -275,6 +280,7 @@ def _convert_ckpt_and_cache( extract_ema=True, scan_needed=True, from_safetensors = weights.suffix == ".safetensors", + precision = torch_dtype(choose_torch_device()), **kwargs, ) return output_path diff --git a/invokeai/backend/util/logging.py b/invokeai/backend/util/logging.py index 09ae600633..d06c036506 100644 --- a/invokeai/backend/util/logging.py +++ b/invokeai/backend/util/logging.py @@ -1,7 +1,7 @@ # Copyright (c) 2023 Lincoln D. Stein and The InvokeAI Development Team """ -invokeai.util.logging +invokeai.backend.util.logging Logging class for InvokeAI that produces console messages From 5c6f417471edaf7f2b5e1a08363836935208cd9f Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 23 Jul 2023 16:24:34 -0400 Subject: [PATCH 05/78] add safetychecker and watermark nodes --- invokeai/app/invocations/image.py | 136 +++++++++++++++++- invokeai/backend/__init__.py | 1 + .../frontend/web/src/services/api/schema.d.ts | 54 +++++-- 3 files changed, 178 insertions(+), 13 deletions(-) diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 8405aa6daf..dfb047ef50 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -5,8 +5,12 @@ from typing import Literal, Optional import numpy from PIL import Image, ImageFilter, ImageOps, ImageChops from pydantic import BaseModel, Field +from pathlib import Path from typing import Union +from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker +from transformers import AutoFeatureExtractor + from ..models.image import ImageCategory, ImageField, ResourceOrigin from .baseinvocation import ( BaseInvocation, @@ -14,7 +18,8 @@ from .baseinvocation import ( InvocationContext, InvocationConfig, ) - +from invokeai.backend.util.devices import choose_torch_device +from invokeai.backend import SilenceWarnings class PILInvocationConfig(BaseModel): """Helper class to provide all PIL invocations with additional config""" @@ -397,7 +402,6 @@ class ImageConvertInvocation(BaseInvocation, PILInvocationConfig): height=image_dto.height, ) - class ImageBlurInvocation(BaseInvocation, PILInvocationConfig): """Blurs an image""" @@ -602,7 +606,6 @@ class ImageLerpInvocation(BaseInvocation, PILInvocationConfig): height=image_dto.height, ) - class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): """Inverse linear interpolation of all pixels of an image""" @@ -650,3 +653,130 @@ class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): width=image_dto.width, height=image_dto.height, ) + +class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): + """Add blur to NSFW-flagged images""" + + # fmt: off + type: Literal["img_nsfw"] = "img_nsfw" + + # Inputs + image: Optional[ImageField] = Field(default=None, description="The image to check") + active: bool = Field(default=True, description="Whether the NSFW checker is active") + # fmt: on + + class Config(InvocationConfig): + schema_extra = { + "ui": { + "title": "Blur NSFW Images", + "tags": ["image", "nsfw", "checker"] + }, + } + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = context.services.images.get_pil_image(self.image.image_name) + + if not self.active: + return ImageOutput( + image=ImageField(image_name=self.image.image_name), + width=image.width, + height=image.height, + ) + + config = context.services.configuration + logger = context.services.logger + device = choose_torch_device() + + logger.info("Running NSFW checker") + safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') + feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') + + features = feature_extractor([image], return_tensors="pt") + features.to(device) + safety_checker.to(device) + + x_image = numpy.array(image).astype(numpy.float32) / 255.0 + x_image = x_image[None].transpose(0, 3, 1, 2) + with SilenceWarnings(): + checked_image, has_nsfw_concept = safety_checker(images=x_image, clip_input=features.pixel_values) + + logger.info(f"NSFW scan result: {has_nsfw_concept[0]}") + if has_nsfw_concept[0]: + blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) + caution = self._get_caution_img() + blurry_image.paste(caution,(0,0),caution) + + image_dto = context.services.images.create( + image=blurry_image, + image_origin=ResourceOrigin.INTERNAL, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + is_intermediate=self.is_intermediate, + ) + return ImageOutput( + image=ImageField(image_name=image_dto.image_name), + width=image_dto.width, + height=image_dto.height, + ) + else: + return ImageOutput( + image=ImageField(image_name=self.image.image_name), + width=image.width, + height=image.height, + ) + + def _get_caution_img(self)->Image: + import invokeai.assets.web as web_assets + caution = Image.open(Path(web_assets.__path__[0]) / 'caution.png') + return caution.resize((caution.width // 2, caution.height //2)) + +class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): + """ Add an invisible watermark to an image """ + # fmt: off + type: Literal["img_watermark"] = "img_watermark" + + # Inputs + image: Optional[ImageField] = Field(default=None, description="The image to check") + text: str = Field(default='InvokeAI', description="Watermark text") + # fmt: on + + class Config(InvocationConfig): + schema_extra = { + "ui": { + "title": "Add Invisible Watermark", + "tags": ["image", "watermark", "invisible"] + }, + } + + def invoke(self, context: InvocationContext) -> ImageOutput: + import cv2 + from imwatermark import WatermarkEncoder + + image = context.services.images.get_pil_image(self.image.image_name) + bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) + wm = self.text + encoder = WatermarkEncoder() + encoder.set_watermark('bytes', wm.encode('utf-8')) + bgr_encoded = encoder.encode(bgr, 'dwtDct') + new_image = Image.fromarray( + cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) + ).convert("RGBA") + + image_dto = context.services.images.create( + image=new_image, + image_origin=ResourceOrigin.INTERNAL, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + is_intermediate=self.is_intermediate, + ) + + return ImageOutput( + image=ImageField(image_name=image_dto.image_name), + width=image_dto.width, + height=image_dto.height, + ) + + + diff --git a/invokeai/backend/__init__.py b/invokeai/backend/__init__.py index ff8b4bc8c5..cb21f1f9ed 100644 --- a/invokeai/backend/__init__.py +++ b/invokeai/backend/__init__.py @@ -13,3 +13,4 @@ from .model_management import ( ModelType, SubModelType, ModelInfo ) from .safety_checker import SafetyChecker +from .model_management.models import SilenceWarnings diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 0fce960703..8cef034e98 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -1305,7 +1305,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; + [key: string]: (components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; }; /** * Edges @@ -1348,7 +1348,7 @@ export type components = { * @description The results of node executions */ results: { - [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; + [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; }; /** * Errors @@ -1895,6 +1895,40 @@ export type components = { */ image2?: components["schemas"]["ImageField"]; }; + /** + * ImageNSFWBlur + * @description Add blur to NSFW-flagged images + */ + ImageNSFWBlur: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default img_nsfw + * @enum {string} + */ + type?: "img_nsfw"; + /** + * Image + * @description The image to pass to the NSFW checker + */ + image?: components["schemas"]["ImageField"]; + /** + * Active + * @description Whether the NSFW checker is active + * @default true + */ + active?: boolean; + }; /** * ImageOutput * @description Base class for invocations that output an image @@ -5355,12 +5389,6 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; - /** - * StableDiffusion2ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionXLModelFormat * @description An enumeration. @@ -5373,6 +5401,12 @@ export type components = { * @enum {string} */ StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusion2ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -5483,7 +5517,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { @@ -5520,7 +5554,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { From 4754a941026dc74c8cb8c3b360bdeb1a567e5538 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 23 Jul 2023 23:32:08 -0400 Subject: [PATCH 06/78] update linear graphs to perform safety checking and watermarking --- .../controlnet_image_processors.py | 2 +- invokeai/app/invocations/image.py | 161 +++++++----------- invokeai/app/invocations/image_defs.py | 54 ++++++ invokeai/app/invocations/latent.py | 2 +- invokeai/app/invocations/metadata.py | 1 - .../services/board_image_record_storage.py | 2 + invokeai/app/services/config.py | 1 + invokeai/app/services/default_graphs.py | 5 +- invokeai/app/services/images.py | 5 +- .../buildCanvasImageToImageGraph.ts | 36 +++- .../buildCanvasTextToImageGraph.ts | 34 +++- .../buildLinearImageToImageGraph.ts | 35 +++- .../buildLinearTextToImageGraph.ts | 36 +++- .../nodes/util/graphBuilders/constants.ts | 2 + 14 files changed, 263 insertions(+), 113 deletions(-) create mode 100644 invokeai/app/invocations/image_defs.py diff --git a/invokeai/app/invocations/controlnet_image_processors.py b/invokeai/app/invocations/controlnet_image_processors.py index 911fede8fb..b04c45ae20 100644 --- a/invokeai/app/invocations/controlnet_image_processors.py +++ b/invokeai/app/invocations/controlnet_image_processors.py @@ -20,7 +20,7 @@ from ...backend.model_management import BaseModelType, ModelType from ..models.image import ImageCategory, ImageField, ResourceOrigin from .baseinvocation import (BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext) -from .image import ImageOutput, PILInvocationConfig +from .image_defs import ImageOutput, PILInvocationConfig CONTROLNET_DEFAULT_MODELS = [ ########################################### diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index dfb047ef50..cf82148483 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -7,10 +7,9 @@ from PIL import Image, ImageFilter, ImageOps, ImageChops from pydantic import BaseModel, Field from pathlib import Path from typing import Union - +from invokeai.app.invocations.metadata import CoreMetadata from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker from transformers import AutoFeatureExtractor - from ..models.image import ImageCategory, ImageField, ResourceOrigin from .baseinvocation import ( BaseInvocation, @@ -18,53 +17,15 @@ from .baseinvocation import ( InvocationContext, InvocationConfig, ) +from .image_defs import ( + PILInvocationConfig, + ImageOutput, + MaskOutput, + ) +from ..services.config import InvokeAIAppConfig from invokeai.backend.util.devices import choose_torch_device from invokeai.backend import SilenceWarnings -class PILInvocationConfig(BaseModel): - """Helper class to provide all PIL invocations with additional config""" - - class Config(InvocationConfig): - schema_extra = { - "ui": { - "tags": ["PIL", "image"], - }, - } - - -class ImageOutput(BaseInvocationOutput): - """Base class for invocations that output an image""" - - # fmt: off - type: Literal["image_output"] = "image_output" - image: ImageField = Field(default=None, description="The output image") - width: int = Field(description="The width of the image in pixels") - height: int = Field(description="The height of the image in pixels") - # fmt: on - - class Config: - schema_extra = {"required": ["type", "image", "width", "height"]} - - -class MaskOutput(BaseInvocationOutput): - """Base class for invocations that output a mask""" - - # fmt: off - type: Literal["mask"] = "mask" - mask: ImageField = Field(default=None, description="The output mask") - width: int = Field(description="The width of the mask in pixels") - height: int = Field(description="The height of the mask in pixels") - # fmt: on - - class Config: - schema_extra = { - "required": [ - "type", - "mask", - ] - } - - class LoadImageInvocation(BaseInvocation): """Load an image and provide it as output.""" @@ -656,13 +617,15 @@ class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): """Add blur to NSFW-flagged images""" + DEFAULT_ENABLED = InvokeAIAppConfig.get_config().nsfw_checker # fmt: off type: Literal["img_nsfw"] = "img_nsfw" # Inputs image: Optional[ImageField] = Field(default=None, description="The image to check") - active: bool = Field(default=True, description="Whether the NSFW checker is active") + enabled: bool = Field(default=DEFAULT_ENABLED, description="Whether the NSFW checker is enabled") + metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") # fmt: on class Config(InvocationConfig): @@ -676,55 +639,46 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) - if not self.active: - return ImageOutput( - image=ImageField(image_name=self.image.image_name), - width=image.width, - height=image.height, - ) - config = context.services.configuration logger = context.services.logger device = choose_torch_device() - logger.info("Running NSFW checker") - safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - - features = feature_extractor([image], return_tensors="pt") - features.to(device) - safety_checker.to(device) + if self.enabled: + logger.info("Running NSFW checker") + safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') + feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - x_image = numpy.array(image).astype(numpy.float32) / 255.0 - x_image = x_image[None].transpose(0, 3, 1, 2) - with SilenceWarnings(): - checked_image, has_nsfw_concept = safety_checker(images=x_image, clip_input=features.pixel_values) + features = feature_extractor([image], return_tensors="pt") + features.to(device) + safety_checker.to(device) - logger.info(f"NSFW scan result: {has_nsfw_concept[0]}") - if has_nsfw_concept[0]: - blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) - caution = self._get_caution_img() - blurry_image.paste(caution,(0,0),caution) + x_image = numpy.array(image).astype(numpy.float32) / 255.0 + x_image = x_image[None].transpose(0, 3, 1, 2) + with SilenceWarnings(): + checked_image, has_nsfw_concept = safety_checker(images=x_image, clip_input=features.pixel_values) - image_dto = context.services.images.create( - image=blurry_image, - image_origin=ResourceOrigin.INTERNAL, - image_category=ImageCategory.GENERAL, - node_id=self.id, - session_id=context.graph_execution_state_id, - is_intermediate=self.is_intermediate, - ) - return ImageOutput( - image=ImageField(image_name=image_dto.image_name), - width=image_dto.width, - height=image_dto.height, - ) - else: - return ImageOutput( - image=ImageField(image_name=self.image.image_name), - width=image.width, - height=image.height, - ) + logger.info(f"NSFW scan result: {has_nsfw_concept[0]}") + if has_nsfw_concept[0]: + blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) + caution = self._get_caution_img() + blurry_image.paste(caution,(0,0),caution) + image = blurry_image + + image_dto = context.services.images.create( + image=image, + image_origin=ResourceOrigin.INTERNAL, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + is_intermediate=self.is_intermediate, + metadata=self.metadata.dict() if self.metadata else None, + ) + + return ImageOutput( + image=ImageField(image_name=image_dto.image_name), + width=image_dto.width, + height=image_dto.height, + ) def _get_caution_img(self)->Image: import invokeai.assets.web as web_assets @@ -733,12 +687,18 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): """ Add an invisible watermark to an image """ + + # to avoid circular import + DEFAULT_ENABLED = InvokeAIAppConfig.get_config().invisible_watermark + # fmt: off type: Literal["img_watermark"] = "img_watermark" # Inputs image: Optional[ImageField] = Field(default=None, description="The image to check") text: str = Field(default='InvokeAI', description="Watermark text") + enabled: bool = Field(default=DEFAULT_ENABLED, description="Whether the invisible watermark is enabled") + metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") # fmt: on class Config(InvocationConfig): @@ -753,23 +713,28 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): import cv2 from imwatermark import WatermarkEncoder + logger = context.services.logger image = context.services.images.get_pil_image(self.image.image_name) - bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) - wm = self.text - encoder = WatermarkEncoder() - encoder.set_watermark('bytes', wm.encode('utf-8')) - bgr_encoded = encoder.encode(bgr, 'dwtDct') - new_image = Image.fromarray( - cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) - ).convert("RGBA") + if self.enabled: + logger.info("Running invisible watermarker") + bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) + wm = self.text + encoder = WatermarkEncoder() + encoder.set_watermark('bytes', wm.encode('utf-8')) + bgr_encoded = encoder.encode(bgr, 'dwtDct') + new_image = Image.fromarray( + cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) + ).convert("RGBA") + image = new_image image_dto = context.services.images.create( - image=new_image, + image=image, image_origin=ResourceOrigin.INTERNAL, image_category=ImageCategory.GENERAL, node_id=self.id, session_id=context.graph_execution_state_id, is_intermediate=self.is_intermediate, + metadata=self.metadata.dict() if self.metadata else None, ) return ImageOutput( diff --git a/invokeai/app/invocations/image_defs.py b/invokeai/app/invocations/image_defs.py new file mode 100644 index 0000000000..8bab09debf --- /dev/null +++ b/invokeai/app/invocations/image_defs.py @@ -0,0 +1,54 @@ +# Copyright 2023 Lincoln D. Stein and the InvokeAI Team +""" Common classes used by .image and .controlnet; avoids circular import issues """ + +from pydantic import BaseModel, Field +from typing import Literal +from ..models.image import ImageField +from .baseinvocation import ( + BaseInvocationOutput, + InvocationConfig, +) + +class PILInvocationConfig(BaseModel): + """Helper class to provide all PIL invocations with additional config""" + + class Config(InvocationConfig): + schema_extra = { + "ui": { + "tags": ["PIL", "image"], + }, + } + +class ImageOutput(BaseInvocationOutput): + """Base class for invocations that output an image""" + + # fmt: off + type: Literal["image_output"] = "image_output" + image: ImageField = Field(default=None, description="The output image") + width: int = Field(description="The width of the image in pixels") + height: int = Field(description="The height of the image in pixels") + # fmt: on + + class Config: + schema_extra = {"required": ["type", "image", "width", "height"]} + + +class MaskOutput(BaseInvocationOutput): + """Base class for invocations that output a mask""" + + # fmt: off + type: Literal["mask"] = "mask" + mask: ImageField = Field(default=None, description="The output mask") + width: int = Field(description="The width of the mask in pixels") + height: int = Field(description="The height of the mask in pixels") + # fmt: on + + class Config: + schema_extra = { + "required": [ + "type", + "mask", + ] + } + + diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 6082057bd3..69dffef09f 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -501,7 +501,7 @@ class LatentsToImageInvocation(BaseInvocation): vae: VaeField = Field(default=None, description="Vae submodel") tiled: bool = Field( default=False, - description="Decode latents by overlaping tiles(less memory consumption)") + description="Decode latents by overlapping tiles(less memory consumption)") fp32: bool = Field(DEFAULT_PRECISION=='float32', description="Decode in full precision") metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") diff --git a/invokeai/app/invocations/metadata.py b/invokeai/app/invocations/metadata.py index 836ab7d0af..be9515d5d2 100644 --- a/invokeai/app/invocations/metadata.py +++ b/invokeai/app/invocations/metadata.py @@ -9,7 +9,6 @@ from invokeai.app.invocations.controlnet_image_processors import ControlField from invokeai.app.invocations.model import (LoRAModelField, MainModelField, VAEModelField) - class LoRAMetadataField(BaseModel): """LoRA metadata for an image generated in InvokeAI.""" lora: LoRAModelField = Field(description="The LoRA model") diff --git a/invokeai/app/services/board_image_record_storage.py b/invokeai/app/services/board_image_record_storage.py index 491972bd32..693b078589 100644 --- a/invokeai/app/services/board_image_record_storage.py +++ b/invokeai/app/services/board_image_record_storage.py @@ -135,6 +135,7 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): board_id: str, image_name: str, ) -> None: + print(f'DEBUG: board_id={board_id}, image_name={image_name}') try: self._lock.acquire() self._cursor.execute( @@ -146,6 +147,7 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): (board_id, image_name, board_id), ) self._conn.commit() + print('got here') except sqlite3.Error as e: self._conn.rollback() raise e diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index b1e4e7ed5d..f2652ddd6b 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -365,6 +365,7 @@ setting environment variables INVOKEAI_. internet_available : bool = Field(default=True, description="If true, attempt to download models on the fly; otherwise only use local models", category='Features') log_tokenization : bool = Field(default=False, description="Enable logging of parsed prompt tokens.", category='Features') nsfw_checker : bool = Field(default=True, description="Enable/disable the NSFW checker", category='Features') + invisible_watermark : bool = Field(default=True, description="Enable/disable the invisible watermark", category='Features') patchmatch : bool = Field(default=True, description="Enable/disable patchmatch inpaint code", category='Features') restore : bool = Field(default=True, description="Enable/disable face restoration code (DEPRECATED)", category='DEPRECATED') diff --git a/invokeai/app/services/default_graphs.py b/invokeai/app/services/default_graphs.py index 92263751b7..22e35d1d6b 100644 --- a/invokeai/app/services/default_graphs.py +++ b/invokeai/app/services/default_graphs.py @@ -1,4 +1,5 @@ from ..invocations.latent import LatentsToImageInvocation, TextToLatentsInvocation +from ..invocations.image import ImageNSFWBlurInvocation from ..invocations.noise import NoiseInvocation from ..invocations.compel import CompelInvocation from ..invocations.params import ParamIntInvocation @@ -24,6 +25,7 @@ def create_text_to_image() -> LibraryGraph: '5': CompelInvocation(id='5'), '6': TextToLatentsInvocation(id='6'), '7': LatentsToImageInvocation(id='7'), + '8': ImageNSFWBlurInvocation(id='8'), }, edges=[ Edge(source=EdgeConnection(node_id='width', field='a'), destination=EdgeConnection(node_id='3', field='width')), @@ -33,6 +35,7 @@ def create_text_to_image() -> LibraryGraph: Edge(source=EdgeConnection(node_id='6', field='latents'), destination=EdgeConnection(node_id='7', field='latents')), Edge(source=EdgeConnection(node_id='4', field='conditioning'), destination=EdgeConnection(node_id='6', field='positive_conditioning')), Edge(source=EdgeConnection(node_id='5', field='conditioning'), destination=EdgeConnection(node_id='6', field='negative_conditioning')), + Edge(source=EdgeConnection(node_id='7', field='image'), destination=EdgeConnection(node_id='8', field='image')), ] ), exposed_inputs=[ @@ -43,7 +46,7 @@ def create_text_to_image() -> LibraryGraph: ExposedNodeInput(node_path='seed', field='a', alias='seed'), ], exposed_outputs=[ - ExposedNodeOutput(node_path='7', field='image', alias='image') + ExposedNodeOutput(node_path='8', field='image', alias='image') ]) diff --git a/invokeai/app/services/images.py b/invokeai/app/services/images.py index dc1b18babe..007f4021d4 100644 --- a/invokeai/app/services/images.py +++ b/invokeai/app/services/images.py @@ -216,16 +216,13 @@ class ImageService(ImageServiceABC): metadata=metadata, session_id=session_id, ) - if board_id is not None: self._services.board_image_records.add_image_to_board( board_id=board_id, image_name=image_name ) - self._services.image_files.save( image_name=image_name, image=image, metadata=metadata, graph=graph ) - image_dto = self.get_dto(image_name) return image_dto @@ -236,7 +233,7 @@ class ImageService(ImageServiceABC): self._services.logger.error("Failed to save image file") raise except Exception as e: - self._services.logger.error("Problem saving image record and file") + self._services.logger.error(f"Problem saving image record and file: {str(e)}") raise e def update( diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts index 4ef3ff77d2..7920d2638a 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts @@ -23,6 +23,8 @@ import { NOISE, POSITIVE_CONDITIONING, RESIZE, + NSFW_CHECKER, + WATERMARKER, } from './constants'; /** @@ -104,9 +106,9 @@ export const buildCanvasImageToImageGraph = ( skipped_layers: clipSkip, }, [LATENTS_TO_IMAGE]: { - is_intermediate: !shouldAutoSave, type: 'l2i', id: LATENTS_TO_IMAGE, + is_intermediate: true, }, [LATENTS_TO_LATENTS]: { type: 'l2l', @@ -126,6 +128,16 @@ export const buildCanvasImageToImageGraph = ( // image_name: initialImage.image_name, // }, }, + [NSFW_CHECKER]: { + type: 'img_nsfw', + id: NSFW_CHECKER, + is_intermediate: true, + }, + [WATERMARKER]: { + is_intermediate: !shouldAutoSave, + type: 'img_watermark', + id: WATERMARKER, + }, }, edges: [ { @@ -168,6 +180,26 @@ export const buildCanvasImageToImageGraph = ( field: 'latents', }, }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: NSFW_CHECKER, + field: 'image', + }, + }, + { + source: { + node_id: NSFW_CHECKER, + field: 'image', + }, + destination: { + node_id: WATERMARKER, + field: 'image', + }, + }, { source: { node_id: IMAGE_TO_LATENTS, @@ -316,7 +348,7 @@ export const buildCanvasImageToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: WATERMARKER, field: 'metadata', }, }); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts index d0eabbc14b..88e2f5e70b 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -16,6 +16,8 @@ import { POSITIVE_CONDITIONING, TEXT_TO_IMAGE_GRAPH, TEXT_TO_LATENTS, + NSFW_CHECKER, + WATERMARKER, } from './constants'; /** @@ -107,6 +109,16 @@ export const buildCanvasTextToImageGraph = ( [LATENTS_TO_IMAGE]: { type: 'l2i', id: LATENTS_TO_IMAGE, + is_intermediate: true, + }, + [NSFW_CHECKER]: { + type: 'img_nsfw', + id: NSFW_CHECKER, + is_intermediate: true, + }, + [WATERMARKER]: { + type: 'img_watermark', + id: WATERMARKER, is_intermediate: !shouldAutoSave, }, }, @@ -181,6 +193,26 @@ export const buildCanvasTextToImageGraph = ( field: 'latents', }, }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: NSFW_CHECKER, + field: 'image', + }, + }, + { + source: { + node_id: NSFW_CHECKER, + field: 'image', + }, + destination: { + node_id: WATERMARKER, + field: 'image', + }, + }, { source: { node_id: NOISE, @@ -221,7 +253,7 @@ export const buildCanvasTextToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: WATERMARKER, field: 'metadata', }, }); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts index f5f5e670c9..ebe0a51f99 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts @@ -22,6 +22,8 @@ import { NOISE, POSITIVE_CONDITIONING, RESIZE, + NSFW_CHECKER, + WATERMARKER, } from './constants'; /** @@ -113,6 +115,7 @@ export const buildLinearImageToImageGraph = ( [LATENTS_TO_IMAGE]: { type: 'l2i', id: LATENTS_TO_IMAGE, + is_intermediate: true, }, [LATENTS_TO_LATENTS]: { type: 'l2l', @@ -128,7 +131,15 @@ export const buildLinearImageToImageGraph = ( // must be set manually later, bc `fit` parameter may require a resize node inserted // image: { // image_name: initialImage.image_name, - // }, + }, + [NSFW_CHECKER]: { + type: 'img_nsfw', + id: NSFW_CHECKER, + is_intermediate: true, + }, + [WATERMARKER]: { + type: 'img_watermark', + id: WATERMARKER, }, }, edges: [ @@ -182,6 +193,26 @@ export const buildLinearImageToImageGraph = ( field: 'latents', }, }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: NSFW_CHECKER, + field: 'image', + }, + }, + { + source: { + node_id: NSFW_CHECKER, + field: 'image', + }, + destination: { + node_id: WATERMARKER, + field: 'image', + }, + }, { source: { node_id: IMAGE_TO_LATENTS, @@ -359,7 +390,7 @@ export const buildLinearImageToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: WATERMARKER, field: 'metadata', }, }); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index c8529f95d3..03bf4d6cd5 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -16,6 +16,8 @@ import { POSITIVE_CONDITIONING, TEXT_TO_IMAGE_GRAPH, TEXT_TO_LATENTS, + NSFW_CHECKER, + WATERMARKER, } from './constants'; export const buildLinearTextToImageGraph = ( @@ -46,7 +48,7 @@ export const buildLinearTextToImageGraph = ( } /** - * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the +v * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node * ids. * @@ -95,6 +97,16 @@ export const buildLinearTextToImageGraph = ( [LATENTS_TO_IMAGE]: { type: 'l2i', id: LATENTS_TO_IMAGE, + is_intermediate: true, + }, + [NSFW_CHECKER]: { + type: 'img_nsfw', + id: NSFW_CHECKER, + is_intermediate: true, + }, + [WATERMARKER]: { + type: 'img_watermark', + id: WATERMARKER, }, }, edges: [ @@ -178,6 +190,26 @@ export const buildLinearTextToImageGraph = ( field: 'noise', }, }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: NSFW_CHECKER, + field: 'image', + }, + }, + { + source: { + node_id: NSFW_CHECKER, + field: 'image', + }, + destination: { + node_id: WATERMARKER, + field: 'image', + }, + }, ], }; @@ -208,7 +240,7 @@ export const buildLinearTextToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: WATERMARKER, field: 'metadata', }, }); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts index e01fcf2c70..d33bffb266 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts @@ -3,6 +3,8 @@ export const POSITIVE_CONDITIONING = 'positive_conditioning'; export const NEGATIVE_CONDITIONING = 'negative_conditioning'; export const TEXT_TO_LATENTS = 'text_to_latents'; export const LATENTS_TO_IMAGE = 'latents_to_image'; +export const NSFW_CHECKER = 'nsfw_checker'; +export const WATERMARKER = 'invisible_watermark'; export const NOISE = 'noise'; export const RANDOM_INT = 'rand_int'; export const RANGE_OF_SIZE = 'range_of_size'; From 8eab96c441e2b0bdaf180cad0baf8be3c676b3d0 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 23 Jul 2023 23:41:44 -0400 Subject: [PATCH 07/78] update documentation --- docs/features/CONFIGURATION.md | 24 +++++++++++------------- docs/features/NODES.md | 2 ++ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/features/CONFIGURATION.md b/docs/features/CONFIGURATION.md index 68c5ced59b..ccb23ae79a 100644 --- a/docs/features/CONFIGURATION.md +++ b/docs/features/CONFIGURATION.md @@ -136,19 +136,16 @@ command-line options by giving the `--help` argument: ``` (.venv) > invokeai-web --help -usage: InvokeAI [-h] [--host HOST] [--port PORT] [--allow_origins [ALLOW_ORIGINS ...]] [--allow_credentials | --no-allow_credentials] - [--allow_methods [ALLOW_METHODS ...]] [--allow_headers [ALLOW_HEADERS ...]] [--esrgan | --no-esrgan] - [--internet_available | --no-internet_available] [--log_tokenization | --no-log_tokenization] - [--nsfw_checker | --no-nsfw_checker] [--patchmatch | --no-patchmatch] [--restore | --no-restore] - [--always_use_cpu | --no-always_use_cpu] [--free_gpu_mem | --no-free_gpu_mem] [--max_cache_size MAX_CACHE_SIZE] - [--max_vram_cache_size MAX_VRAM_CACHE_SIZE] [--precision {auto,float16,float32,autocast}] - [--sequential_guidance | --no-sequential_guidance] [--xformers_enabled | --no-xformers_enabled] - [--tiled_decode | --no-tiled_decode] [--root ROOT] [--autoimport_dir AUTOIMPORT_DIR] [--lora_dir LORA_DIR] - [--embedding_dir EMBEDDING_DIR] [--controlnet_dir CONTROLNET_DIR] [--conf_path CONF_PATH] [--models_dir MODELS_DIR] - [--legacy_conf_dir LEGACY_CONF_DIR] [--db_dir DB_DIR] [--outdir OUTDIR] [--from_file FROM_FILE] - [--use_memory_db | --no-use_memory_db] [--model MODEL] [--log_handlers [LOG_HANDLERS ...]] - [--log_format {plain,color,syslog,legacy}] [--log_level {debug,info,warning,error,critical}] -... +usage: InvokeAI [-h] [--host HOST] [--port PORT] [--allow_origins [ALLOW_ORIGINS ...]] [--allow_credentials | --no-allow_credentials] [--allow_methods [ALLOW_METHODS ...]] + [--allow_headers [ALLOW_HEADERS ...]] [--esrgan | --no-esrgan] [--internet_available | --no-internet_available] [--log_tokenization | --no-log_tokenization] + [--nsfw_checker | --no-nsfw_checker] [--invisible_watermark | --no-invisible_watermark] [--patchmatch | --no-patchmatch] [--restore | --no-restore] + [--always_use_cpu | --no-always_use_cpu] [--free_gpu_mem | --no-free_gpu_mem] [--max_loaded_models MAX_LOADED_MODELS] [--max_cache_size MAX_CACHE_SIZE] + [--max_vram_cache_size MAX_VRAM_CACHE_SIZE] [--gpu_mem_reserved GPU_MEM_RESERVED] [--precision {auto,float16,float32,autocast}] + [--sequential_guidance | --no-sequential_guidance] [--xformers_enabled | --no-xformers_enabled] [--tiled_decode | --no-tiled_decode] [--root ROOT] + [--autoimport_dir AUTOIMPORT_DIR] [--lora_dir LORA_DIR] [--embedding_dir EMBEDDING_DIR] [--controlnet_dir CONTROLNET_DIR] [--conf_path CONF_PATH] + [--models_dir MODELS_DIR] [--legacy_conf_dir LEGACY_CONF_DIR] [--db_dir DB_DIR] [--outdir OUTDIR] [--from_file FROM_FILE] + [--use_memory_db | --no-use_memory_db] [--model MODEL] [--log_handlers [LOG_HANDLERS ...]] [--log_format {plain,color,syslog,legacy}] + [--log_level {debug,info,warning,error,critical}] [--version | --no-version] ``` ## The Configuration Settings @@ -179,6 +176,7 @@ These configuration settings allow you to enable and disable various InvokeAI fe | `internet_available` | `true` | When a resource is not available locally, try to fetch it via the internet | | `log_tokenization` | `false` | Before each text2image generation, print a color-coded representation of the prompt to the console; this can help understand why a prompt is not working as expected | | `nsfw_checker` | `true` | Activate the NSFW checker to blur out risque images | +| `invisible_watermark` | `true` | Write an invisible watermark 'InvokeAI' into generated images for use by AI image detectors | | `patchmatch` | `true` | Activate the "patchmatch" algorithm for improved inpainting | | `restore` | `true` | Activate the facial restoration features (DEPRECATED; restoration features will be removed in 3.0.0) | diff --git a/docs/features/NODES.md b/docs/features/NODES.md index 1f276d2012..5af40678d9 100644 --- a/docs/features/NODES.md +++ b/docs/features/NODES.md @@ -61,11 +61,13 @@ A noise scheduler (eg. DPM++ 2M Karras) schedules the subtraction of noise from | ImageInverseLerp | Inverse linear interpolation of all pixels of an image | | ImageLerp | Linear interpolation of all pixels of an image | | ImageMultiply | Multiplies two images together using `PIL.ImageChops.Multiply()` | +| ImageNSFWBlurInvocation | Detects and blurs images that may contain sexually explicit content | | ImagePaste | Pastes an image into another image | | ImageProcessor | Base class for invocations that reprocess images for ControlNet | | ImageResize | Resizes an image to specific dimensions | | ImageScale | Scales an image by a factor | | ImageToLatents | Scales latents by a given factor | +| ImageWatermarkInvocation | Adds an invisible watermark to images | | InfillColor | Infills transparent areas of an image with a solid color | | InfillPatchMatch | Infills transparent areas of an image using the PatchMatch algorithm | | InfillTile | Infills transparent areas of an image with tiles of the image | From 97f4475fdfd59952be3095ce88a3cc2859840e48 Mon Sep 17 00:00:00 2001 From: Millun Atluri Date: Mon, 24 Jul 2023 20:50:33 +1000 Subject: [PATCH 08/78] Update close-inactive-issues.yml --- .github/workflows/close-inactive-issues.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/close-inactive-issues.yml b/.github/workflows/close-inactive-issues.yml index 58ec78c0b8..4f45f156b0 100644 --- a/.github/workflows/close-inactive-issues.yml +++ b/.github/workflows/close-inactive-issues.yml @@ -1,11 +1,11 @@ name: Close inactive issues on: schedule: - - cron: "00 6 * * *" + - cron: "00 4 * * *" env: - DAYS_BEFORE_ISSUE_STALE: 14 - DAYS_BEFORE_ISSUE_CLOSE: 28 + DAYS_BEFORE_ISSUE_STALE: 30 + DAYS_BEFORE_ISSUE_CLOSE: 14 jobs: close-issues: @@ -23,5 +23,6 @@ jobs: close-issue-message: "Due to inactivity, this issue was automatically closed. If you are still experiencing the issue, please recreate the issue." days-before-pr-stale: -1 days-before-pr-close: -1 + exempt-issue-labels: "Active Issue" repo-token: ${{ secrets.GITHUB_TOKEN }} operations-per-run: 500 From aea8ad5670a78bf81b2eb82437579538c91cdc2b Mon Sep 17 00:00:00 2001 From: Millun Atluri Date: Mon, 24 Jul 2023 20:52:34 +1000 Subject: [PATCH 09/78] Update close-inactive-issues.yml with latest stale version --- .github/workflows/close-inactive-issues.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/close-inactive-issues.yml b/.github/workflows/close-inactive-issues.yml index 4f45f156b0..b1e5d2b0b4 100644 --- a/.github/workflows/close-inactive-issues.yml +++ b/.github/workflows/close-inactive-issues.yml @@ -14,7 +14,7 @@ jobs: issues: write pull-requests: write steps: - - uses: actions/stale@v5 + - uses: actions/stale@v4.1.1 with: days-before-issue-stale: ${{ env.DAYS_BEFORE_ISSUE_STALE }} days-before-issue-close: ${{ env.DAYS_BEFORE_ISSUE_CLOSE }} From 7ce5b6504fdca99c4b8ac71394c674a7cab85a79 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 24 Jul 2023 08:25:39 -0400 Subject: [PATCH 10/78] rebuild schema --- .../frontend/web/dist/assets/App-06ea4e5e.js | 169 ---------- .../dist/assets/MantineProvider-b5842fc1.js | 1 - .../assets/ThemeLocaleProvider-a6269375.js | 302 ------------------ .../web/dist/assets/index-e2437518.js | 125 -------- invokeai/frontend/web/dist/index.html | 2 +- invokeai/frontend/web/dist/locales/en.json | 15 +- .../frontend/web/src/services/api/schema.d.ts | 94 +++++- 7 files changed, 88 insertions(+), 620 deletions(-) delete mode 100644 invokeai/frontend/web/dist/assets/App-06ea4e5e.js delete mode 100644 invokeai/frontend/web/dist/assets/MantineProvider-b5842fc1.js delete mode 100644 invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a6269375.js delete mode 100644 invokeai/frontend/web/dist/assets/index-e2437518.js diff --git a/invokeai/frontend/web/dist/assets/App-06ea4e5e.js b/invokeai/frontend/web/dist/assets/App-06ea4e5e.js deleted file mode 100644 index a7597f8d24..0000000000 --- a/invokeai/frontend/web/dist/assets/App-06ea4e5e.js +++ /dev/null @@ -1,169 +0,0 @@ -import{t as Gg,r as mE,i as gE,a as yu,b as m4,S as g4,c as v4,d as y4,e as qg,f as b4,g as Kg,h as vE,j as yE,k as bE,l as xE,m as wE,n as SE,o as CE,p as _E,q as kE,s as f,u as rt,v as a,I as io,w as cr,x as Wn,y as He,z as Mt,A as bu,B as gt,C as xu,D as Ko,E as Jr,F as uo,G as wr,H as jE,J as PE,K as Ga,L as Kc,M as Li,N as sn,O as Ca,P as Gp,Q as ov,R as jl,T as sv,U as wu,_ as Xn,V as IE,W as z,X as x4,Y as w4,Z as Yb,$ as S4,a0 as qp,a1 as av,a2 as Zl,a3 as EE,a4 as OE,a5 as ME,a6 as RE,a7 as C4,a8 as _4,a9 as Kp,aa as Cf,ab as DE,ac as AE,ad as Vm,ae as Xb,af as TE,ag as k4,ah as j4,ai as ec,aj as Jb,ak as Zb,al as NE,am as $E,an as zE,ao as LE,ap as BE,aq as Um,ar as sl,as as Gm,at as FE,au as HE,av as WE,aw as iv,ax as Qp,ay as _f,az as VE,aA as P4,aB as I4,aC as UE,aD as Su,aE as lv,aF as GE,aG as qE,aH as KE,aI as QE,aJ as YE,aK as XE,aL as JE,aM as ex,aN as he,aO as ZE,aP as Gt,aQ as $e,aR as L,aS as zs,aT as mt,aU as Ke,aV as $,aW as Sr,aX as tc,aY as ue,aZ as E4,a_ as xo,a$ as O4,b0 as M4,b1 as nc,b2 as xs,b3 as cv,b4 as e8,b5 as t8,b6 as n8,b7 as al,b8 as Cn,b9 as kf,ba as Lc,bb as r8,bc as o8,bd as s8,be as a8,bf as Ve,bg as i8,bh as je,bi as Z,bj as tx,bk as qa,bl as Ka,bm as uv,bn as jf,bo as l8,bp as c8,bq as Yp,br as Xp,bs as dv,bt as Uo,bu as u8,bv as rc,bw as R4,bx as D4,by as d8,bz as f8,bA as p8,bB as h8,bC as fv,bD as Go,bE as ws,bF as gs,bG as Ct,bH as Pf,bI as m8,bJ as oc,bK as g8,bL as v8,bM as Id,bN as Ed,bO as Qc,bP as Yc,bQ as nx,bR as If,bS as rx,bT as Ef,bU as ox,bV as Qg,bW as sx,bX as Yg,bY as ax,bZ as Of,b_ as ix,b$ as zl,c0 as lx,c1 as Ll,c2 as cx,c3 as Mf,c4 as pv,c5 as hv,c6 as A4,c7 as mv,c8 as gv,c9 as y8,ca as b8,cb as Jp,cc as xl,cd as x8,ce as w8,cf as gf,cg as S8,ch as C8,ci as _8,cj as Rf,ck as T4,cl as k8,cm as N4,cn as $4,co as Ws,cp as ux,cq as j8,cr as Xg,cs as Vs,ct as P8,cu as z4,cv as dx,cw as I8,cx as E8,cy as O8,cz as pr,cA as L4,cB as M8,cC as R8,cD as D8,cE as A8,cF as vv,cG as Bn,cH as B4,cI as F4,cJ as T8,cK as fx,cL as N8,cM as $8,cN as z8,cO as L8,cP as B8,cQ as F8,cR as H4,cS as H8,cT as W8,cU as V8,cV as U8,cW as G8,cX as q8,cY as K8,cZ as W4,c_ as Q8,c$ as Y8,d0 as X8,d1 as J8,d2 as Z8,d3 as e7,d4 as t7,d5 as n7,d6 as r7,d7 as o7,d8 as s7,d9 as V4,da as Qo,db as a7,dc as i7,dd as l7,de as Zp,df as c7,dg as yv,dh as U4,di as u7,dj as d7,dk as f7,dl as Yo,dm as p7,dn as px,dp as hx,dq as Pl,dr as h7,ds as m7,dt as g7,du as v7,dv as y7,dw as b7,dx as x7,dy as w7,dz as S7,dA as C7,dB as _7,dC as k7,dD as bv,dE as xv,dF as j7,dG as mx,dH as P7,dI as gx,dJ as I7,dK as E7,dL as vx,dM as yx,dN as O7,dO as bx,dP as M7,dQ as R7,dR as D7,dS as A7,dT as T7,dU as N7,dV as G4,dW as q4,dX as K4,dY as Q4,dZ as Y4,d_ as Cu,d$ as xx,e0 as $7,e1 as z7,e2 as Vn,e3 as Ei,e4 as L7,e5 as X4,e6 as wx,e7 as B7,e8 as cs,e9 as F7,ea as H7,eb as J4,ec as Z4,ed as W7,ee as e3,ef as t3,eg as _u,eh as n3,ei as r3,ej as Sx,ek as V7,el as Cx,em as U7,en as o3,eo as G7,ep as eh,eq as _x,er as s3,es as q7,et as kx,eu as a3,ev as qo,ew as K7,ex as Q7,ey as i3,ez as jx,eA as Y7,eB as X7,eC as J7,eD as Z7,eE as eO,eF as tO,eG as nO,eH as rO,eI as oO,eJ as sO,eK as aO,eL as iO,eM as lO,eN as cO,eO as uO,eP as dO,eQ as fO,eR as pO,eS as hO,eT as mO,eU as gO,eV as Px,eW as vf,eX as vO,eY as Df,eZ as l3,e_ as ou,e$ as yO,f0 as bO,f1 as Hs,f2 as c3,f3 as wv,f4 as ku,f5 as xO,f6 as wO,f7 as SO,f8 as ma,f9 as u3,fa as CO,fb as _O,fc as d3,fd as kO,fe as jO,ff as PO,fg as IO,fh as EO,fi as OO,fj as MO,fk as RO,fl as DO,fm as AO,fn as Ix,fo as TO,fp as NO,fq as $O,fr as zO,fs as LO,ft as BO,fu as qm,fv as Bs,fw as Od,fx as Km,fy as Qm,fz as Md,fA as Ex,fB as Jg,fC as FO,fD as HO,fE as WO,fF as VO,fG as Af,fH as f3,fI as p3,fJ as UO,fK as GO,fL as h3,fM as m3,fN as g3,fO as v3,fP as y3,fQ as b3,fR as x3,fS as w3,fT as Il,fU as El,fV as S3,fW as C3,fX as qO,fY as _3,fZ as k3,f_ as j3,f$ as P3,g0 as I3,g1 as E3,g2 as Sv,g3 as KO,g4 as QO,g5 as Ox,g6 as YO,g7 as XO,g8 as Tf,g9 as Mx,ga as Rx,gb as Dx,gc as Ax,gd as JO,ge as ZO,gf as eM,gg as tM,gh as nM,gi as rM,gj as oM,gk as sM,gl as aM}from"./index-e2437518.js";import{m as Cv,u as O3,a as _a,b as iM,r as ze,f as lM,g as Tx,c as Tt,d as mr}from"./MantineProvider-b5842fc1.js";function cM(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var Nx=1/0,uM=17976931348623157e292;function Ym(e){if(!e)return e===0?e:0;if(e=Gg(e),e===Nx||e===-Nx){var t=e<0?-1:1;return t*uM}return e===e?e:0}var dM=function(){return mE.Date.now()};const Xm=dM;var fM="Expected a function",pM=Math.max,hM=Math.min;function mM(e,t,n){var r,o,s,i,u,d,p=0,h=!1,g=!1,v=!0;if(typeof e!="function")throw new TypeError(fM);t=Gg(t)||0,gE(n)&&(h=!!n.leading,g="maxWait"in n,s=g?pM(Gg(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,D=o;return r=o=void 0,p=O,i=e.apply(D,R),i}function S(O){return p=O,u=setTimeout(_,t),h?b(O):i}function x(O){var R=O-d,D=O-p,T=t-R;return g?hM(T,s-D):T}function C(O){var R=O-d,D=O-p;return d===void 0||R>=t||R<0||g&&D>=s}function _(){var O=Xm();if(C(O))return k(O);u=setTimeout(_,x(O))}function k(O){return u=void 0,v&&r?b(O):(r=o=void 0,i)}function P(){u!==void 0&&clearTimeout(u),p=0,r=d=o=u=void 0}function I(){return u===void 0?i:k(Xm())}function E(){var O=Xm(),R=C(O);if(r=arguments,o=this,d=O,R){if(u===void 0)return S(d);if(g)return clearTimeout(u),u=setTimeout(_,t),b(d)}return u===void 0&&(u=setTimeout(_,t)),i}return E.cancel=P,E.flush=I,E}var gM=200;function vM(e,t,n,r){var o=-1,s=v4,i=!0,u=e.length,d=[],p=t.length;if(!u)return d;n&&(t=yu(t,m4(n))),r?(s=y4,i=!1):t.length>=gM&&(s=qg,i=!1,t=new g4(t));e:for(;++o=120&&h.length>=120)?new g4(i&&h):void 0}h=e[0];var g=-1,v=u[0];e:for(;++ga.jsx(io,{ref:d,viewBox:t,...o,...u,children:s.length?s:a.jsx("path",{fill:"currentColor",d:n})}));return i.displayName=r,i}var AM=Object.defineProperty,TM=(e,t,n)=>t in e?AM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lr=(e,t,n)=>(TM(e,typeof t!="symbol"?t+"":t,n),n);function zx(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var NM=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function Lx(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function Bx(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var Zg=typeof window<"u"?f.useLayoutEffect:f.useEffect,Nf=e=>e,$M=class{constructor(){lr(this,"descendants",new Map),lr(this,"register",e=>{if(e!=null)return NM(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),lr(this,"unregister",e=>{this.descendants.delete(e);const t=zx(Array.from(this.descendants.keys()));this.assignIndex(t)}),lr(this,"destroy",()=>{this.descendants.clear()}),lr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),lr(this,"count",()=>this.descendants.size),lr(this,"enabledCount",()=>this.enabledValues().length),lr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),lr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),lr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),lr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),lr(this,"first",()=>this.item(0)),lr(this,"firstEnabled",()=>this.enabledItem(0)),lr(this,"last",()=>this.item(this.descendants.size-1)),lr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),lr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),lr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),lr(this,"next",(e,t=!0)=>{const n=Lx(e,this.count(),t);return this.item(n)}),lr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Lx(r,this.enabledCount(),t);return this.enabledItem(o)}),lr(this,"prev",(e,t=!0)=>{const n=Bx(e,this.count()-1,t);return this.item(n)}),lr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Bx(r,this.enabledCount()-1,t);return this.enabledItem(o)}),lr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=zx(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const o={node:e,index:-1,...t};this.descendants.set(e,o),this.assignIndex(r)})}};function zM(){const e=f.useRef(new $M);return Zg(()=>()=>e.current.destroy()),e.current}var[LM,M3]=cr({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function BM(e){const t=M3(),[n,r]=f.useState(-1),o=f.useRef(null);Zg(()=>()=>{o.current&&t.unregister(o.current)},[]),Zg(()=>{if(!o.current)return;const i=Number(o.current.dataset.index);n!=i&&!Number.isNaN(i)&&r(i)});const s=Nf(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:Wn(s,o)}}function kv(){return[Nf(LM),()=>Nf(M3()),()=>zM(),o=>BM(o)]}var[FM,th]=cr({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[HM,jv]=cr({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[WM,_se,VM,UM]=kv(),Bc=rt(function(t,n){const{getButtonProps:r}=jv(),o=r(t,n),i={display:"flex",alignItems:"center",width:"100%",outline:0,...th().button};return a.jsx(He.button,{...o,className:Mt("chakra-accordion__button",t.className),__css:i})});Bc.displayName="AccordionButton";function GM(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...i}=e;QM(e),YM(e);const u=VM(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,g]=bu({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:g,htmlProps:i,getAccordionItemProps:b=>{let S=!1;return b!==null&&(S=Array.isArray(h)?h.includes(b):h===b),{isOpen:S,onChange:C=>{if(b!==null)if(o&&Array.isArray(h)){const _=C?h.concat(b):h.filter(k=>k!==b);g(_)}else C?g(b):s&&g(-1)}}},focusedIndex:d,setFocusedIndex:p,descendants:u}}var[qM,Pv]=cr({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function KM(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:i}=Pv(),u=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,g=`accordion-panel-${p}`;XM(e);const{register:v,index:b,descendants:S}=UM({disabled:t&&!n}),{isOpen:x,onChange:C}=s(b===-1?null:b);JM({isOpen:x,isDisabled:t});const _=()=>{C==null||C(!0)},k=()=>{C==null||C(!1)},P=f.useCallback(()=>{C==null||C(!x),i(b)},[b,i,x,C]),I=f.useCallback(D=>{const B={ArrowDown:()=>{const W=S.nextEnabled(b);W==null||W.node.focus()},ArrowUp:()=>{const W=S.prevEnabled(b);W==null||W.node.focus()},Home:()=>{const W=S.firstEnabled();W==null||W.node.focus()},End:()=>{const W=S.lastEnabled();W==null||W.node.focus()}}[D.key];B&&(D.preventDefault(),B(D))},[S,b]),E=f.useCallback(()=>{i(b)},[i,b]),O=f.useCallback(function(T={},B=null){return{...T,type:"button",ref:Wn(v,u,B),id:h,disabled:!!t,"aria-expanded":!!x,"aria-controls":g,onClick:gt(T.onClick,P),onFocus:gt(T.onFocus,E),onKeyDown:gt(T.onKeyDown,I)}},[h,t,x,P,E,I,g,v]),R=f.useCallback(function(T={},B=null){return{...T,ref:B,role:"region",id:g,"aria-labelledby":h,hidden:!x}},[h,x,g]);return{isOpen:x,isDisabled:t,isFocusable:n,onOpen:_,onClose:k,getButtonProps:O,getPanelProps:R,htmlProps:o}}function QM(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;xu({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function YM(e){xu({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function XM(e){xu({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. - `})}function JM(e){xu({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Fc(e){const{isOpen:t,isDisabled:n}=jv(),{reduceMotion:r}=Pv(),o=Mt("chakra-accordion__icon",e.className),s=th(),i={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...s.icon};return a.jsx(io,{viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:i,...e,children:a.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}Fc.displayName="AccordionIcon";var Hc=rt(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...i}=KM(t),d={...th().container,overflowAnchor:"none"},p=f.useMemo(()=>i,[i]);return a.jsx(HM,{value:p,children:a.jsx(He.div,{ref:n,...s,className:Mt("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!i.isOpen,isDisabled:!!i.isDisabled}):r})})});Hc.displayName="AccordionItem";var wi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},Oc={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function e0(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return Oc.slideRight;case"left":return Oc.slideLeft;case"bottom":return Oc.slideDown;case"top":return Oc.slideUp;default:return Oc.slideRight}}var Ci={enter:{duration:.2,ease:wi.easeOut},exit:{duration:.1,ease:wi.easeIn}},us={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},ZM=e=>e!=null&&parseInt(e.toString(),10)>0,Fx={exit:{height:{duration:.2,ease:wi.ease},opacity:{duration:.3,ease:wi.ease}},enter:{height:{duration:.3,ease:wi.ease},opacity:{duration:.4,ease:wi.ease}}},eR={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:ZM(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:us.exit(Fx.exit,o)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(s=n==null?void 0:n.enter)!=null?s:us.enter(Fx.enter,o)}}},nh=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:i="auto",style:u,className:d,transition:p,transitionEnd:h,...g}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const k=setTimeout(()=>{b(!0)});return()=>clearTimeout(k)},[]),xu({condition:Number(s)>0&&!!r,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const S=parseFloat(s.toString())>0,x={startingHeight:s,endingHeight:i,animateOpacity:o,transition:v?p:{enter:{duration:0}},transitionEnd:{enter:h==null?void 0:h.enter,exit:r?h==null?void 0:h.exit:{...h==null?void 0:h.exit,display:S?"block":"none"}}},C=r?n:!0,_=n||r?"enter":"exit";return a.jsx(Ko,{initial:!1,custom:x,children:C&&a.jsx(Jr.div,{ref:t,...g,className:Mt("chakra-collapse",d),style:{overflow:"hidden",display:"block",...u},custom:x,variants:eR,initial:r?"exit":!1,animate:_,exit:"exit"})})});nh.displayName="Collapse";var tR={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:us.enter(Ci.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:us.exit(Ci.exit,n),transitionEnd:t==null?void 0:t.exit}}},R3={initial:"exit",animate:"enter",exit:"exit",variants:tR},nR=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:i,transitionEnd:u,delay:d,...p}=t,h=o||r?"enter":"exit",g=r?o&&r:!0,v={transition:i,transitionEnd:u,delay:d};return a.jsx(Ko,{custom:v,children:g&&a.jsx(Jr.div,{ref:n,className:Mt("chakra-fade",s),custom:v,...R3,animate:h,...p})})});nR.displayName="Fade";var rR={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(s=n==null?void 0:n.exit)!=null?s:us.exit(Ci.exit,o)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:us.enter(Ci.enter,n),transitionEnd:e==null?void 0:e.enter}}},D3={initial:"exit",animate:"enter",exit:"exit",variants:rR},oR=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:i=.95,className:u,transition:d,transitionEnd:p,delay:h,...g}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",S={initialScale:i,reverse:s,transition:d,transitionEnd:p,delay:h};return a.jsx(Ko,{custom:S,children:v&&a.jsx(Jr.div,{ref:n,className:Mt("chakra-offset-slide",u),...D3,animate:b,custom:S,...g})})});oR.displayName="ScaleFade";var sR={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,x:e,y:t,transition:(s=n==null?void 0:n.exit)!=null?s:us.exit(Ci.exit,o),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:us.enter(Ci.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:o,delay:s})=>{var i;const u={x:t,y:e};return{opacity:0,transition:(i=n==null?void 0:n.exit)!=null?i:us.exit(Ci.exit,s),...o?{...u,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...u,...r==null?void 0:r.exit}}}}},t0={initial:"initial",animate:"enter",exit:"exit",variants:sR},aR=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:i,offsetX:u=0,offsetY:d=8,transition:p,transitionEnd:h,delay:g,...v}=t,b=r?o&&r:!0,S=o||r?"enter":"exit",x={offsetX:u,offsetY:d,reverse:s,transition:p,transitionEnd:h,delay:g};return a.jsx(Ko,{custom:x,children:b&&a.jsx(Jr.div,{ref:n,className:Mt("chakra-offset-slide",i),custom:x,...t0,animate:S,...v})})});aR.displayName="SlideFade";var Hx={exit:{duration:.15,ease:wi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},iR={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=e0({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:us.exit(Hx.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=e0({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:us.enter(Hx.enter,r),transitionEnd:t==null?void 0:t.enter}}},A3=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:i,className:u,transition:d,transitionEnd:p,delay:h,motionProps:g,...v}=t,b=e0({direction:r}),S=Object.assign({position:"fixed"},b.position,o),x=s?i&&s:!0,C=i||s?"enter":"exit",_={transitionEnd:p,transition:d,direction:r,delay:h};return a.jsx(Ko,{custom:_,children:x&&a.jsx(Jr.div,{...v,ref:n,initial:"exit",className:Mt("chakra-slide",u),animate:C,exit:"exit",custom:_,variants:iR,style:S,...g})})});A3.displayName="Slide";var Wc=rt(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:i}=Pv(),{getPanelProps:u,isOpen:d}=jv(),p=u(s,n),h=Mt("chakra-accordion__panel",r),g=th();i||delete p.hidden;const v=a.jsx(He.div,{...p,__css:g.panel,className:h});return i?v:a.jsx(nh,{in:d,...o,children:v})});Wc.displayName="AccordionPanel";var T3=rt(function({children:t,reduceMotion:n,...r},o){const s=uo("Accordion",r),i=wr(r),{htmlProps:u,descendants:d,...p}=GM(i),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return a.jsx(WM,{value:d,children:a.jsx(qM,{value:h,children:a.jsx(FM,{value:s,children:a.jsx(He.div,{ref:o,...u,className:Mt("chakra-accordion",r.className),__css:s.root,children:t})})})})});T3.displayName="Accordion";var lR={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},cR={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},Yn=rt(function(t,n){const{size:r,colorScheme:o,variant:s,className:i,spacing:u="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...g}=t,v=Mt("chakra-button__group",i),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let S={display:"inline-flex",...d?lR[h]:cR[h](u)};const x=h==="vertical";return a.jsx(jE,{value:b,children:a.jsx(He.div,{ref:n,role:"group",__css:S,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:x?"column":void 0,...g})})});Yn.displayName="ButtonGroup";var[kse,uR]=cr({name:"CheckboxGroupContext",strict:!1});function dR(e){const[t,n]=f.useState(e),[r,o]=f.useState(!1);return e!==t&&(o(!0),n(e)),r}function fR(e){return a.jsx(He.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:a.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function pR(e){return a.jsx(He.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:a.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function hR(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?pR:fR;return n||t?a.jsx(He.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:a.jsx(o,{...r})}):null}var Iv={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},N3=He("span",{baseStyle:Iv});N3.displayName="VisuallyHidden";var mR=He("input",{baseStyle:Iv});mR.displayName="VisuallyHiddenInput";var Wx=!1,Pu=null,Oi=!1,n0=!1,r0=new Set;function Ev(e,t){r0.forEach(n=>n(e,t))}var gR=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function vR(e){return!(e.metaKey||!gR&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function Vx(e){Oi=!0,vR(e)&&(Pu="keyboard",Ev("keyboard",e))}function ll(e){if(Pu="pointer",e.type==="mousedown"||e.type==="pointerdown"){Oi=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;Ev("pointer",e)}}function yR(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function bR(e){yR(e)&&(Oi=!0,Pu="virtual")}function xR(e){e.target===window||e.target===document||(!Oi&&!n0&&(Pu="virtual",Ev("virtual",e)),Oi=!1,n0=!1)}function wR(){Oi=!1,n0=!0}function Ux(){return Pu!=="pointer"}function SR(){if(typeof window>"u"||Wx)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){Oi=!0,e.apply(this,n)},document.addEventListener("keydown",Vx,!0),document.addEventListener("keyup",Vx,!0),document.addEventListener("click",bR,!0),window.addEventListener("focus",xR,!0),window.addEventListener("blur",wR,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",ll,!0),document.addEventListener("pointermove",ll,!0),document.addEventListener("pointerup",ll,!0)):(document.addEventListener("mousedown",ll,!0),document.addEventListener("mousemove",ll,!0),document.addEventListener("mouseup",ll,!0)),Wx=!0}function $3(e){SR(),e(Ux());const t=()=>e(Ux());return r0.add(t),()=>{r0.delete(t)}}function CR(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function z3(e={}){const t=PE(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:i,onBlur:u,onFocus:d,"aria-describedby":p}=t,{defaultChecked:h,isChecked:g,isFocusable:v,onChange:b,isIndeterminate:S,name:x,value:C,tabIndex:_=void 0,"aria-label":k,"aria-labelledby":P,"aria-invalid":I,...E}=e,O=CR(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=Ga(b),D=Ga(u),T=Ga(d),[B,W]=f.useState(!1),[J,F]=f.useState(!1),[N,G]=f.useState(!1),[K,M]=f.useState(!1);f.useEffect(()=>$3(W),[]);const U=f.useRef(null),[V,ee]=f.useState(!0),[ie,xe]=f.useState(!!h),me=g!==void 0,ae=me?g:ie,te=f.useCallback(ge=>{if(r||n){ge.preventDefault();return}me||xe(ae?ge.target.checked:S?!0:ge.target.checked),R==null||R(ge)},[r,n,ae,me,S,R]);Kc(()=>{U.current&&(U.current.indeterminate=!!S)},[S]),Li(()=>{n&&F(!1)},[n,F]),Kc(()=>{const ge=U.current;ge!=null&&ge.form&&(ge.form.onreset=()=>{xe(!!h)})},[]);const H=n&&!v,re=f.useCallback(ge=>{ge.key===" "&&M(!0)},[M]),pe=f.useCallback(ge=>{ge.key===" "&&M(!1)},[M]);Kc(()=>{if(!U.current)return;U.current.checked!==ae&&xe(U.current.checked)},[U.current]);const ne=f.useCallback((ge={},_e=null)=>{const We=Le=>{J&&Le.preventDefault(),M(!0)};return{...ge,ref:_e,"data-active":sn(K),"data-hover":sn(N),"data-checked":sn(ae),"data-focus":sn(J),"data-focus-visible":sn(J&&B),"data-indeterminate":sn(S),"data-disabled":sn(n),"data-invalid":sn(s),"data-readonly":sn(r),"aria-hidden":!0,onMouseDown:gt(ge.onMouseDown,We),onMouseUp:gt(ge.onMouseUp,()=>M(!1)),onMouseEnter:gt(ge.onMouseEnter,()=>G(!0)),onMouseLeave:gt(ge.onMouseLeave,()=>G(!1))}},[K,ae,n,J,B,N,S,s,r]),ve=f.useCallback((ge={},_e=null)=>({...O,...ge,ref:Wn(_e,We=>{We&&ee(We.tagName==="LABEL")}),onClick:gt(ge.onClick,()=>{var We;V||((We=U.current)==null||We.click(),requestAnimationFrame(()=>{var Le;(Le=U.current)==null||Le.focus({preventScroll:!0})}))}),"data-disabled":sn(n),"data-checked":sn(ae),"data-invalid":sn(s)}),[O,n,ae,s,V]),de=f.useCallback((ge={},_e=null)=>({...ge,ref:Wn(U,_e),type:"checkbox",name:x,value:C,id:i,tabIndex:_,onChange:gt(ge.onChange,te),onBlur:gt(ge.onBlur,D,()=>F(!1)),onFocus:gt(ge.onFocus,T,()=>F(!0)),onKeyDown:gt(ge.onKeyDown,re),onKeyUp:gt(ge.onKeyUp,pe),required:o,checked:ae,disabled:H,readOnly:r,"aria-label":k,"aria-labelledby":P,"aria-invalid":I?!!I:s,"aria-describedby":p,"aria-disabled":n,style:Iv}),[x,C,i,te,D,T,re,pe,o,ae,H,r,k,P,I,s,p,n,_]),Ce=f.useCallback((ge={},_e=null)=>({...ge,ref:_e,onMouseDown:gt(ge.onMouseDown,_R),"data-disabled":sn(n),"data-checked":sn(ae),"data-invalid":sn(s)}),[ae,n,s]);return{state:{isInvalid:s,isFocused:J,isChecked:ae,isActive:K,isHovered:N,isIndeterminate:S,isDisabled:n,isReadOnly:r,isRequired:o},getRootProps:ve,getCheckboxProps:ne,getInputProps:de,getLabelProps:Ce,htmlProps:O}}function _R(e){e.preventDefault(),e.stopPropagation()}var kR={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},jR={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},PR=Ca({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),IR=Ca({from:{opacity:0},to:{opacity:1}}),ER=Ca({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),L3=rt(function(t,n){const r=uR(),o={...r,...t},s=uo("Checkbox",o),i=wr(t),{spacing:u="0.5rem",className:d,children:p,iconColor:h,iconSize:g,icon:v=a.jsx(hR,{}),isChecked:b,isDisabled:S=r==null?void 0:r.isDisabled,onChange:x,inputProps:C,..._}=i;let k=b;r!=null&&r.value&&i.value&&(k=r.value.includes(i.value));let P=x;r!=null&&r.onChange&&i.value&&(P=Gp(r.onChange,x));const{state:I,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:D}=z3({..._,isDisabled:S,isChecked:k,onChange:P}),T=dR(I.isChecked),B=f.useMemo(()=>({animation:T?I.isIndeterminate?`${IR} 20ms linear, ${ER} 200ms linear`:`${PR} 200ms linear`:void 0,fontSize:g,color:h,...s.icon}),[h,g,T,I.isIndeterminate,s.icon]),W=f.cloneElement(v,{__css:B,isIndeterminate:I.isIndeterminate,isChecked:I.isChecked});return a.jsxs(He.label,{__css:{...jR,...s.container},className:Mt("chakra-checkbox",d),...D(),children:[a.jsx("input",{className:"chakra-checkbox__input",...E(C,n)}),a.jsx(He.span,{__css:{...kR,...s.control},className:"chakra-checkbox__control",...O(),children:W}),p&&a.jsx(He.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:u,...s.label},children:p})]})});L3.displayName="Checkbox";var[OR,B3]=cr({name:"EditableStylesContext",errorMessage:`useEditableStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[MR,F3]=cr({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),H3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},W3=rt(function(t,n){const{getInputProps:r}=F3(),o=B3(),s=r(t,n),i=Mt("chakra-editable__input",t.className);return a.jsx(He.input,{...s,__css:{outline:0,...H3,...o.input},className:i})});W3.displayName="EditableInput";var V3=rt(function(t,n){const{getPreviewProps:r}=F3(),o=B3(),s=r(t,n),i=Mt("chakra-editable__preview",t.className);return a.jsx(He.span,{...s,__css:{cursor:"text",display:"inline-block",...H3,...o.preview},className:i})});V3.displayName="EditablePreview";function RR(e){return"current"in e}var U3=()=>typeof window<"u";function DR(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var AR=e=>U3()&&e.test(navigator.vendor),TR=e=>U3()&&e.test(DR()),NR=()=>TR(/mac|iphone|ipad|ipod/i),$R=()=>NR()&&AR(/apple/i);function G3(e){const{ref:t,elements:n,enabled:r}=e,o=()=>{var s,i;return(i=(s=t.current)==null?void 0:s.ownerDocument)!=null?i:document};ov(o,"pointerdown",s=>{if(!$R()||!r)return;const i=s.target,d=(n??[t]).some(p=>{const h=RR(p)?p.current:p;return(h==null?void 0:h.contains(i))||h===i});o().activeElement!==i&&d&&(s.preventDefault(),i.focus())})}function Gx(e,t){return e?e===t||e.contains(t):!1}function zR(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:i,defaultValue:u,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:g=!0,placeholder:v,onEdit:b,finalFocusRef:S,...x}=e,C=Ga(b),_=!!(d&&!i),[k,P]=f.useState(_),[I,E]=bu({defaultValue:u||"",value:s,onChange:t}),[O,R]=f.useState(I),D=f.useRef(null),T=f.useRef(null),B=f.useRef(null),W=f.useRef(null),J=f.useRef(null);G3({ref:D,enabled:k,elements:[W,J]});const F=!k&&!i;Kc(()=>{var ne,ve;k&&((ne=D.current)==null||ne.focus(),g&&((ve=D.current)==null||ve.select()))},[]),Li(()=>{var ne,ve,de,Ce;if(!k){S?(ne=S.current)==null||ne.focus():(ve=B.current)==null||ve.focus();return}(de=D.current)==null||de.focus(),g&&((Ce=D.current)==null||Ce.select()),C==null||C()},[k,C,g]);const N=f.useCallback(()=>{F&&P(!0)},[F]),G=f.useCallback(()=>{R(I)},[I]),K=f.useCallback(()=>{P(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),M=f.useCallback(()=>{P(!1),R(I),r==null||r(I),o==null||o(O)},[I,r,o,O]);f.useEffect(()=>{if(k)return;const ne=D.current;(ne==null?void 0:ne.ownerDocument.activeElement)===ne&&(ne==null||ne.blur())},[k]);const U=f.useCallback(ne=>{E(ne.currentTarget.value)},[E]),V=f.useCallback(ne=>{const ve=ne.key,Ce={Escape:K,Enter:Re=>{!Re.shiftKey&&!Re.metaKey&&M()}}[ve];Ce&&(ne.preventDefault(),Ce(ne))},[K,M]),ee=f.useCallback(ne=>{const ve=ne.key,Ce={Escape:K}[ve];Ce&&(ne.preventDefault(),Ce(ne))},[K]),ie=I.length===0,xe=f.useCallback(ne=>{var ve;if(!k)return;const de=ne.currentTarget.ownerDocument,Ce=(ve=ne.relatedTarget)!=null?ve:de.activeElement,Re=Gx(W.current,Ce),ge=Gx(J.current,Ce);!Re&&!ge&&(h?M():K())},[h,M,K,k]),me=f.useCallback((ne={},ve=null)=>{const de=F&&p?0:void 0;return{...ne,ref:Wn(ve,T),children:ie?v:I,hidden:k,"aria-disabled":jl(i),tabIndex:de,onFocus:gt(ne.onFocus,N,G)}},[i,k,F,p,ie,N,G,v,I]),ae=f.useCallback((ne={},ve=null)=>({...ne,hidden:!k,placeholder:v,ref:Wn(ve,D),disabled:i,"aria-disabled":jl(i),value:I,onBlur:gt(ne.onBlur,xe),onChange:gt(ne.onChange,U),onKeyDown:gt(ne.onKeyDown,V),onFocus:gt(ne.onFocus,G)}),[i,k,xe,U,V,G,v,I]),te=f.useCallback((ne={},ve=null)=>({...ne,hidden:!k,placeholder:v,ref:Wn(ve,D),disabled:i,"aria-disabled":jl(i),value:I,onBlur:gt(ne.onBlur,xe),onChange:gt(ne.onChange,U),onKeyDown:gt(ne.onKeyDown,ee),onFocus:gt(ne.onFocus,G)}),[i,k,xe,U,ee,G,v,I]),H=f.useCallback((ne={},ve=null)=>({"aria-label":"Edit",...ne,type:"button",onClick:gt(ne.onClick,N),ref:Wn(ve,B),disabled:i}),[N,i]),re=f.useCallback((ne={},ve=null)=>({...ne,"aria-label":"Submit",ref:Wn(J,ve),type:"button",onClick:gt(ne.onClick,M),disabled:i}),[M,i]),pe=f.useCallback((ne={},ve=null)=>({"aria-label":"Cancel",id:"cancel",...ne,ref:Wn(W,ve),type:"button",onClick:gt(ne.onClick,K),disabled:i}),[K,i]);return{isEditing:k,isDisabled:i,isValueEmpty:ie,value:I,onEdit:N,onCancel:K,onSubmit:M,getPreviewProps:me,getInputProps:ae,getTextareaProps:te,getEditButtonProps:H,getSubmitButtonProps:re,getCancelButtonProps:pe,htmlProps:x}}var q3=rt(function(t,n){const r=uo("Editable",t),o=wr(t),{htmlProps:s,...i}=zR(o),{isEditing:u,onSubmit:d,onCancel:p,onEdit:h}=i,g=Mt("chakra-editable",t.className),v=sv(t.children,{isEditing:u,onSubmit:d,onCancel:p,onEdit:h});return a.jsx(MR,{value:i,children:a.jsx(OR,{value:r,children:a.jsx(He.div,{ref:n,...s,className:g,children:v})})})});q3.displayName="Editable";var K3={exports:{}},LR="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",BR=LR,FR=BR;function Q3(){}function Y3(){}Y3.resetWarningCache=Q3;var HR=function(){function e(r,o,s,i,u,d){if(d!==FR){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:Y3,resetWarningCache:Q3};return n.PropTypes=n,n};K3.exports=HR();var WR=K3.exports;const Dn=wu(WR);var o0="data-focus-lock",X3="data-focus-lock-disabled",VR="data-no-focus-lock",UR="data-autofocus-inside",GR="data-no-autofocus";function qR(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function KR(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}function J3(e,t){return KR(t||null,function(n){return e.forEach(function(r){return qR(r,n)})})}var Jm={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},Ls=function(){return Ls=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&s[s.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]0)&&!(o=r.next()).done;)s.push(o.value)}catch(u){i={error:u}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(i)throw i.error}}return s}function s0(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(l9)},c9=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],Dv=c9.join(","),u9="".concat(Dv,", [data-focus-guard]"),g6=function(e,t){return Ks((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?u9:Dv)?[r]:[],g6(r))},[])},d9=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?rh([e.contentDocument.body],t):[e]},rh=function(e,t){return e.reduce(function(n,r){var o,s=g6(r,t),i=(o=[]).concat.apply(o,s.map(function(u){return d9(u,t)}));return n.concat(i,r.parentNode?Ks(r.parentNode.querySelectorAll(Dv)).filter(function(u){return u===r}):[])},[])},f9=function(e){var t=e.querySelectorAll("[".concat(UR,"]"));return Ks(t).map(function(n){return rh([n])}).reduce(function(n,r){return n.concat(r)},[])},Av=function(e,t){return Ks(e).filter(function(n){return u6(t,n)}).filter(function(n){return s9(n)})},Kx=function(e,t){return t===void 0&&(t=new Map),Ks(e).filter(function(n){return d6(t,n)})},i0=function(e,t,n){return m6(Av(rh(e,n),t),!0,n)},Qx=function(e,t){return m6(Av(rh(e),t),!1)},p9=function(e,t){return Av(f9(e),t)},Ol=function(e,t){return e.shadowRoot?Ol(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:Ks(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var o=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return o?Ol(o,t):!1}return Ol(n,t)})},h9=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(o),(s&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(i,u){return!t.has(u)})},v6=function(e){return e.parentNode?v6(e.parentNode):e},Tv=function(e){var t=$f(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(o0);return n.push.apply(n,o?h9(Ks(v6(r).querySelectorAll("[".concat(o0,'="').concat(o,'"]:not([').concat(X3,'="disabled"])')))):[r]),n},[])},m9=function(e){try{return e()}catch{return}},su=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?su(t.shadowRoot):t instanceof HTMLIFrameElement&&m9(function(){return t.contentWindow.document})?su(t.contentWindow.document):t}},g9=function(e,t){return e===t},v9=function(e,t){return!!Ks(e.querySelectorAll("iframe")).some(function(n){return g9(n,t)})},y6=function(e,t){return t===void 0&&(t=su(i6(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:Tv(e).some(function(n){return Ol(n,t)||v9(n,t)})},y9=function(e){e===void 0&&(e=document);var t=su(e);return t?Ks(e.querySelectorAll("[".concat(VR,"]"))).some(function(n){return Ol(n,t)}):!1},b9=function(e,t){return t.filter(h6).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},Nv=function(e,t){return h6(e)&&e.name?b9(e,t):e},x9=function(e){var t=new Set;return e.forEach(function(n){return t.add(Nv(n,e))}),e.filter(function(n){return t.has(n)})},Yx=function(e){return e[0]&&e.length>1?Nv(e[0],e):e[0]},Xx=function(e,t){return e.length>1?e.indexOf(Nv(e[t],e)):t},b6="NEW_FOCUS",w9=function(e,t,n,r){var o=e.length,s=e[0],i=e[o-1],u=Rv(n);if(!(n&&e.indexOf(n)>=0)){var d=n!==void 0?t.indexOf(n):-1,p=r?t.indexOf(r):d,h=r?e.indexOf(r):-1,g=d-p,v=t.indexOf(s),b=t.indexOf(i),S=x9(t),x=n!==void 0?S.indexOf(n):-1,C=x-(r?S.indexOf(r):d),_=Xx(e,0),k=Xx(e,o-1);if(d===-1||h===-1)return b6;if(!g&&h>=0)return h;if(d<=v&&u&&Math.abs(g)>1)return k;if(d>=b&&u&&Math.abs(g)>1)return _;if(g&&Math.abs(C)>1)return h;if(d<=v)return k;if(d>b)return _;if(g)return Math.abs(g)>1?h:(o+h+g)%o}},S9=function(e){return function(t){var n,r=(n=f6(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},C9=function(e,t,n){var r=e.map(function(s){var i=s.node;return i}),o=Kx(r.filter(S9(n)));return o&&o.length?Yx(o):Yx(Kx(t))},l0=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&l0(e.parentNode.host||e.parentNode,t),t},Zm=function(e,t){for(var n=l0(e),r=l0(t),o=0;o=0)return s}return!1},x6=function(e,t,n){var r=$f(e),o=$f(t),s=r[0],i=!1;return o.filter(Boolean).forEach(function(u){i=Zm(i||u,u)||i,n.filter(Boolean).forEach(function(d){var p=Zm(s,d);p&&(!i||Ol(p,i)?i=p:i=Zm(p,i))})}),i},_9=function(e,t){return e.reduce(function(n,r){return n.concat(p9(r,t))},[])},k9=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(i9)},j9=function(e,t){var n=su($f(e).length>0?document:i6(e).ownerDocument),r=Tv(e).filter(zf),o=x6(n||e,e,r),s=new Map,i=Qx(r,s),u=i0(r,s).filter(function(b){var S=b.node;return zf(S)});if(!(!u[0]&&(u=i,!u[0]))){var d=Qx([o],s).map(function(b){var S=b.node;return S}),p=k9(d,u),h=p.map(function(b){var S=b.node;return S}),g=w9(h,d,n,t);if(g===b6){var v=C9(i,h,_9(r,s));if(v)return{node:v};console.warn("focus-lock: cannot find any node to move focus into");return}return g===void 0?g:p[g]}},P9=function(e){var t=Tv(e).filter(zf),n=x6(e,e,t),r=new Map,o=i0([n],r,!0),s=i0(t,r).filter(function(i){var u=i.node;return zf(u)}).map(function(i){var u=i.node;return u});return o.map(function(i){var u=i.node,d=i.index;return{node:u,index:d,lockItem:s.indexOf(u)>=0,guard:Rv(u)}})},I9=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},eg=0,tg=!1,w6=function(e,t,n){n===void 0&&(n={});var r=j9(e,t);if(!tg&&r){if(eg>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),tg=!0,setTimeout(function(){tg=!1},1);return}eg++,I9(r.node,n.focusOptions),eg--}};function $v(e){setTimeout(e,1)}var E9=function(){return document&&document.activeElement===document.body},O9=function(){return E9()||y9()},Ml=null,wl=null,Rl=null,au=!1,M9=function(){return!0},R9=function(t){return(Ml.whiteList||M9)(t)},D9=function(t,n){Rl={observerNode:t,portaledElement:n}},A9=function(t){return Rl&&Rl.portaledElement===t};function Jx(e,t,n,r){var o=null,s=e;do{var i=r[s];if(i.guard)i.node.dataset.focusAutoGuard&&(o=i);else if(i.lockItem){if(s!==e)return;o=null}else break}while((s+=n)!==t);o&&(o.node.tabIndex=0)}var T9=function(t){return t&&"current"in t?t.current:t},N9=function(t){return t?!!au:au==="meanwhile"},$9=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},z9=function(t,n){return n.some(function(r){return $9(t,r,r)})},Lf=function(){var t=!1;if(Ml){var n=Ml,r=n.observed,o=n.persistentFocus,s=n.autoFocus,i=n.shards,u=n.crossFrame,d=n.focusOptions,p=r||Rl&&Rl.portaledElement,h=document&&document.activeElement;if(p){var g=[p].concat(i.map(T9).filter(Boolean));if((!h||R9(h))&&(o||N9(u)||!O9()||!wl&&s)&&(p&&!(y6(g)||h&&z9(h,g)||A9(h))&&(document&&!wl&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=w6(g,wl,{focusOptions:d}),Rl={})),au=!1,wl=document&&document.activeElement),document){var v=document&&document.activeElement,b=P9(g),S=b.map(function(x){var C=x.node;return C}).indexOf(v);S>-1&&(b.filter(function(x){var C=x.guard,_=x.node;return C&&_.dataset.focusAutoGuard}).forEach(function(x){var C=x.node;return C.removeAttribute("tabIndex")}),Jx(S,b.length,1,b),Jx(S,-1,-1,b))}}}return t},S6=function(t){Lf()&&t&&(t.stopPropagation(),t.preventDefault())},zv=function(){return $v(Lf)},L9=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||D9(r,n)},B9=function(){return null},C6=function(){au="just",$v(function(){au="meanwhile"})},F9=function(){document.addEventListener("focusin",S6),document.addEventListener("focusout",zv),window.addEventListener("blur",C6)},H9=function(){document.removeEventListener("focusin",S6),document.removeEventListener("focusout",zv),window.removeEventListener("blur",C6)};function W9(e){return e.filter(function(t){var n=t.disabled;return!n})}function V9(e){var t=e.slice(-1)[0];t&&!Ml&&F9();var n=Ml,r=n&&t&&t.id===n.id;Ml=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(wl=null,(!r||n.observed!==t.observed)&&t.onActivation(),Lf(),$v(Lf)):(H9(),wl=null)}o6.assignSyncMedium(L9);s6.assignMedium(zv);YR.assignMedium(function(e){return e({moveFocusInside:w6,focusInside:y6})});const U9=e9(W9,V9)(B9);var _6=f.forwardRef(function(t,n){return f.createElement(a6,Xn({sideCar:U9,ref:n},t))}),k6=a6.propTypes||{};k6.sideCar;cM(k6,["sideCar"]);_6.propTypes={};const Zx=_6;var j6=e=>e.hasAttribute("tabindex"),G9=e=>j6(e)&&e.tabIndex===-1;function q9(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function P6(e){return e.parentElement&&P6(e.parentElement)?!0:e.hidden}function K9(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function I6(e){if(!x4(e)||P6(e)||q9(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():K9(e)?!0:j6(e)}function Q9(e){return e?x4(e)&&I6(e)&&!G9(e):!1}var Y9=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],X9=Y9.join(),J9=e=>e.offsetWidth>0&&e.offsetHeight>0;function E6(e){const t=Array.from(e.querySelectorAll(X9));return t.unshift(e),t.filter(n=>I6(n)&&J9(n))}var e2,Z9=(e2=Zx.default)!=null?e2:Zx,O6=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:i,autoFocus:u,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&E6(r.current).length===0&&requestAnimationFrame(()=>{var S;(S=r.current)==null||S.focus()})},[t,r]),g=f.useCallback(()=>{var b;(b=n==null?void 0:n.current)==null||b.focus()},[n]),v=o&&!n;return a.jsx(Z9,{crossFrame:p,persistentFocus:d,autoFocus:u,disabled:i,onActivation:h,onDeactivation:g,returnFocus:v,children:s})};O6.displayName="FocusLock";function eD(e,t,n,r){const o=w4(t);return f.useEffect(()=>{var s;const i=(s=Yb(n))!=null?s:document;if(t)return i.addEventListener(e,o,r),()=>{i.removeEventListener(e,o,r)}},[e,n,r,o,t]),()=>{var s;((s=Yb(n))!=null?s:document).removeEventListener(e,o,r)}}function tD(e){const{ref:t,handler:n,enabled:r=!0}=e,o=w4(n),i=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const u=g=>{ng(g,t)&&(i.isPointerDown=!0)},d=g=>{if(i.ignoreEmulatedMouseEvents){i.ignoreEmulatedMouseEvents=!1;return}i.isPointerDown&&n&&ng(g,t)&&(i.isPointerDown=!1,o(g))},p=g=>{i.ignoreEmulatedMouseEvents=!0,n&&i.isPointerDown&&ng(g,t)&&(i.isPointerDown=!1,o(g))},h=S4(t.current);return h.addEventListener("mousedown",u,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",u,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",u,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",u,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,i,r])}function ng(e,t){var n;const r=e.target;return r&&!S4(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}var[nD,rD]=cr({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),M6=rt(function(t,n){const r=uo("Input",t),{children:o,className:s,...i}=wr(t),u=Mt("chakra-input__group",s),d={},p=qp(o),h=r.field;p.forEach(v=>{var b,S;r&&(h&&v.type.id==="InputLeftElement"&&(d.paddingStart=(b=h.height)!=null?b:h.h),h&&v.type.id==="InputRightElement"&&(d.paddingEnd=(S=h.height)!=null?S:h.h),v.type.id==="InputRightAddon"&&(d.borderEndRadius=0),v.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const g=p.map(v=>{var b,S;const x=_v({size:((b=v.props)==null?void 0:b.size)||t.size,variant:((S=v.props)==null?void 0:S.variant)||t.variant});return v.type.id!=="Input"?f.cloneElement(v,x):f.cloneElement(v,Object.assign(x,d,v.props))});return a.jsx(He.div,{className:u,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate"},"data-group":!0,...i,children:a.jsx(nD,{value:r,children:g})})});M6.displayName="InputGroup";var oD=He("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),oh=rt(function(t,n){var r,o;const{placement:s="left",...i}=t,u=rD(),d=u.field,h={[s==="left"?"insetStart":"insetEnd"]:"0",width:(r=d==null?void 0:d.height)!=null?r:d==null?void 0:d.h,height:(o=d==null?void 0:d.height)!=null?o:d==null?void 0:d.h,fontSize:d==null?void 0:d.fontSize,...u.element};return a.jsx(oD,{ref:n,__css:h,...i})});oh.id="InputElement";oh.displayName="InputElement";var R6=rt(function(t,n){const{className:r,...o}=t,s=Mt("chakra-input__left-element",r);return a.jsx(oh,{ref:n,placement:"left",className:s,...o})});R6.id="InputLeftElement";R6.displayName="InputLeftElement";var Lv=rt(function(t,n){const{className:r,...o}=t,s=Mt("chakra-input__right-element",r);return a.jsx(oh,{ref:n,placement:"right",className:s,...o})});Lv.id="InputRightElement";Lv.displayName="InputRightElement";var Iu=rt(function(t,n){const{htmlSize:r,...o}=t,s=uo("Input",o),i=wr(o),u=av(i),d=Mt("chakra-input",t.className);return a.jsx(He.input,{size:r,...u,__css:s.field,ref:n,className:d})});Iu.displayName="Input";Iu.id="Input";var Qa=rt(function(t,n){const r=Zl("Link",t),{className:o,isExternal:s,...i}=wr(t);return a.jsx(He.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:Mt("chakra-link",o),...i,__css:r})});Qa.displayName="Link";var[sD,D6]=cr({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Bv=rt(function(t,n){const r=uo("List",t),{children:o,styleType:s="none",stylePosition:i,spacing:u,...d}=wr(t),p=qp(o),g=u?{["& > *:not(style) ~ *:not(style)"]:{mt:u}}:{};return a.jsx(sD,{value:r,children:a.jsx(He.ul,{ref:n,listStyleType:s,listStylePosition:i,role:"list",__css:{...r.container,...g},...d,children:p})})});Bv.displayName="List";var aD=rt((e,t)=>{const{as:n,...r}=e;return a.jsx(Bv,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});aD.displayName="OrderedList";var Fv=rt(function(t,n){const{as:r,...o}=t;return a.jsx(Bv,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});Fv.displayName="UnorderedList";var la=rt(function(t,n){const r=D6();return a.jsx(He.li,{ref:n,...t,__css:r.item})});la.displayName="ListItem";var iD=rt(function(t,n){const r=D6();return a.jsx(io,{ref:n,role:"presentation",...t,__css:r.icon})});iD.displayName="ListIcon";var Mi=rt(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:i,column:u,row:d,autoFlow:p,autoRows:h,templateRows:g,autoColumns:v,templateColumns:b,...S}=t,x={display:"grid",gridTemplateAreas:r,gridGap:o,gridRowGap:s,gridColumnGap:i,gridAutoColumns:v,gridColumn:u,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:g,gridTemplateColumns:b};return a.jsx(He.div,{ref:n,__css:x,...S})});Mi.displayName="Grid";var Bi=He("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});Bi.displayName="Spacer";var qe=rt(function(t,n){const r=Zl("Text",t),{className:o,align:s,decoration:i,casing:u,...d}=wr(t),p=_v({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return a.jsx(He.p,{ref:n,className:Mt("chakra-text",t.className),...p,...d,__css:r})});qe.displayName="Text";var A6=rt((e,t)=>a.jsx(EE,{align:"center",...e,direction:"column",ref:t}));A6.displayName="VStack";function t2(e){return OE(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var c0=rt(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:i,rowEnd:u,rowSpan:d,rowStart:p,...h}=t,g=_v({gridArea:r,gridColumn:t2(o),gridRow:t2(d),gridColumnStart:s,gridColumnEnd:i,gridRowStart:p,gridRowEnd:u});return a.jsx(He.div,{ref:n,__css:g,...h})});c0.displayName="GridItem";var Za=rt(function(t,n){const r=Zl("Badge",t),{className:o,...s}=wr(t);return a.jsx(He.span,{ref:n,className:Mt("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});Za.displayName="Badge";var Fi=rt(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:i,borderWidth:u,borderStyle:d,borderColor:p,...h}=Zl("Divider",t),{className:g,orientation:v="horizontal",__css:b,...S}=wr(t),x={vertical:{borderLeftWidth:r||i||u||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||u||"1px",width:"100%"}};return a.jsx(He.hr,{ref:n,"aria-orientation":v,...S,__css:{...h,border:"0",borderColor:p,borderStyle:d,...x[v],...b},className:Mt("chakra-divider",g)})});Fi.displayName="Divider";function lD(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function cD(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,o]=f.useState([]),s=f.useRef(),i=()=>{s.current&&(clearTimeout(s.current),s.current=null)},u=()=>{i(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>i,[]);function d(p){return h=>{if(h.key==="Backspace"){const g=[...r];g.pop(),o(g);return}if(lD(h)){const g=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(g),p(g.join("")),u()}}}return d}function uD(e,t,n,r){if(t==null)return r;if(!r)return e.find(i=>n(i).toLowerCase().startsWith(t.toLowerCase()));const o=e.filter(s=>n(s).toLowerCase().startsWith(t.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=e.indexOf(o[0]),e[s])}return r}function dD(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,i,u)=>{e.current.set(i,{type:s,el:o,options:u}),o.addEventListener(s,i,u)},[]),r=f.useCallback((o,s,i,u)=>{o.removeEventListener(s,i,u),e.current.delete(i)},[]);return f.useEffect(()=>()=>{t.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,t]),{add:n,remove:r}}function rg(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function T6(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:i,onMouseUp:u,onClick:d,onKeyDown:p,onKeyUp:h,tabIndex:g,onMouseOver:v,onMouseLeave:b,...S}=e,[x,C]=f.useState(!0),[_,k]=f.useState(!1),P=dD(),I=M=>{M&&M.tagName!=="BUTTON"&&C(!1)},E=x?g:g||0,O=n&&!r,R=f.useCallback(M=>{if(n){M.stopPropagation(),M.preventDefault();return}M.currentTarget.focus(),d==null||d(M)},[n,d]),D=f.useCallback(M=>{_&&rg(M)&&(M.preventDefault(),M.stopPropagation(),k(!1),P.remove(document,"keyup",D,!1))},[_,P]),T=f.useCallback(M=>{if(p==null||p(M),n||M.defaultPrevented||M.metaKey||!rg(M.nativeEvent)||x)return;const U=o&&M.key==="Enter";s&&M.key===" "&&(M.preventDefault(),k(!0)),U&&(M.preventDefault(),M.currentTarget.click()),P.add(document,"keyup",D,!1)},[n,x,p,o,s,P,D]),B=f.useCallback(M=>{if(h==null||h(M),n||M.defaultPrevented||M.metaKey||!rg(M.nativeEvent)||x)return;s&&M.key===" "&&(M.preventDefault(),k(!1),M.currentTarget.click())},[s,x,n,h]),W=f.useCallback(M=>{M.button===0&&(k(!1),P.remove(document,"mouseup",W,!1))},[P]),J=f.useCallback(M=>{if(M.button!==0)return;if(n){M.stopPropagation(),M.preventDefault();return}x||k(!0),M.currentTarget.focus({preventScroll:!0}),P.add(document,"mouseup",W,!1),i==null||i(M)},[n,x,i,P,W]),F=f.useCallback(M=>{M.button===0&&(x||k(!1),u==null||u(M))},[u,x]),N=f.useCallback(M=>{if(n){M.preventDefault();return}v==null||v(M)},[n,v]),G=f.useCallback(M=>{_&&(M.preventDefault(),k(!1)),b==null||b(M)},[_,b]),K=Wn(t,I);return x?{...S,ref:K,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:i,onMouseUp:u,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...S,ref:K,role:"button","data-active":sn(_),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:J,onMouseUp:F,onKeyUp:B,onKeyDown:T,onMouseOver:N,onMouseLeave:G}}function fD(e){const t=e.current;if(!t)return!1;const n=ME(t);return!n||t.contains(n)?!1:!!Q9(n)}function N6(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Li(()=>{if(!s||fD(e))return;const i=(o==null?void 0:o.current)||e.current;let u;if(i)return u=requestAnimationFrame(()=>{i.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(u)}},[s,e,o])}var pD={preventScroll:!0,shouldFocus:!1};function hD(e,t=pD){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,i=mD(e)?e.current:e,u=o&&s,d=f.useRef(u),p=f.useRef(s);Kc(()=>{!p.current&&s&&(d.current=u),p.current=s},[s,u]);const h=f.useCallback(()=>{if(!(!s||!i||!d.current)&&(d.current=!1,!i.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var g;(g=n.current)==null||g.focus({preventScroll:r})});else{const g=E6(i);g.length>0&&requestAnimationFrame(()=>{g[0].focus({preventScroll:r})})}},[s,r,i,n]);Li(()=>{h()},[h]),ov(i,"transitionend",h)}function mD(e){return"current"in e}function gD(e){const{ref:t,handler:n,enabled:r=!0}=e,o=Ga(n),i=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const u=g=>{og(g,t)&&(i.isPointerDown=!0)},d=g=>{if(i.ignoreEmulatedMouseEvents){i.ignoreEmulatedMouseEvents=!1;return}i.isPointerDown&&n&&og(g,t)&&(i.isPointerDown=!1,o(g))},p=g=>{i.ignoreEmulatedMouseEvents=!0,n&&i.isPointerDown&&og(g,t)&&(i.isPointerDown=!1,o(g))},h=$6(t.current);return h.addEventListener("mousedown",u,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",u,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",u,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",u,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,i,r])}function og(e,t){var n;const r=e.target;return r&&!$6(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function $6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function z6(e){const{isOpen:t,ref:n}=e,[r,o]=f.useState(t),[s,i]=f.useState(!1);return f.useEffect(()=>{s||(o(t),i(!0))},[t,s,r]),ov(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=RE(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Hv(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[vD,yD,bD,xD]=kv(),[wD,Eu]=cr({strict:!1,name:"MenuContext"});function SD(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function L6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function n2(e){return L6(e).activeElement===e}function CD(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:i,isOpen:u,defaultIsOpen:d,onClose:p,onOpen:h,placement:g="bottom-start",lazyBehavior:v="unmount",direction:b,computePositionOnMount:S=!1,...x}=e,C=f.useRef(null),_=f.useRef(null),k=bD(),P=f.useCallback(()=>{requestAnimationFrame(()=>{var me;(me=C.current)==null||me.focus({preventScroll:!1})})},[]),I=f.useCallback(()=>{const me=setTimeout(()=>{var ae;if(o)(ae=o.current)==null||ae.focus();else{const te=k.firstEnabled();te&&F(te.index)}});U.current.add(me)},[k,o]),E=f.useCallback(()=>{const me=setTimeout(()=>{const ae=k.lastEnabled();ae&&F(ae.index)});U.current.add(me)},[k]),O=f.useCallback(()=>{h==null||h(),s?I():P()},[s,I,P,h]),{isOpen:R,onOpen:D,onClose:T,onToggle:B}=C4({isOpen:u,defaultIsOpen:d,onClose:p,onOpen:O});gD({enabled:R&&r,ref:C,handler:me=>{var ae;(ae=_.current)!=null&&ae.contains(me.target)||T()}});const W=_4({...x,enabled:R||S,placement:g,direction:b}),[J,F]=f.useState(-1);Li(()=>{R||F(-1)},[R]),N6(C,{focusRef:_,visible:R,shouldFocus:!0});const N=z6({isOpen:R,ref:C}),[G,K]=SD(t,"menu-button","menu-list"),M=f.useCallback(()=>{D(),P()},[D,P]),U=f.useRef(new Set([]));MD(()=>{U.current.forEach(me=>clearTimeout(me)),U.current.clear()});const V=f.useCallback(()=>{D(),I()},[I,D]),ee=f.useCallback(()=>{D(),E()},[D,E]),ie=f.useCallback(()=>{var me,ae;const te=L6(C.current),H=(me=C.current)==null?void 0:me.contains(te.activeElement);if(!(R&&!H))return;const pe=(ae=k.item(J))==null?void 0:ae.node;pe==null||pe.focus()},[R,J,k]),xe=f.useRef(null);return{openAndFocusMenu:M,openAndFocusFirstItem:V,openAndFocusLastItem:ee,onTransitionEnd:ie,unstable__animationState:N,descendants:k,popper:W,buttonId:G,menuId:K,forceUpdate:W.forceUpdate,orientation:"vertical",isOpen:R,onToggle:B,onOpen:D,onClose:T,menuRef:C,buttonRef:_,focusedIndex:J,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:F,isLazy:i,lazyBehavior:v,initialFocusRef:o,rafId:xe}}function _D(e={},t=null){const n=Eu(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:i}=n,u=f.useCallback(d=>{const p=d.key,g={Enter:s,ArrowDown:s,ArrowUp:i}[p];g&&(d.preventDefault(),d.stopPropagation(),g(d))},[s,i]);return{...e,ref:Wn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":sn(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:gt(e.onClick,r),onKeyDown:gt(e.onKeyDown,u)}}function u0(e){var t;return ED(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function kD(e={},t=null){const n=Eu();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:o,menuRef:s,isOpen:i,onClose:u,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:g}=n,v=yD(),b=cD({preventDefault:_=>_.key!==" "&&u0(_.target)}),S=f.useCallback(_=>{if(!_.currentTarget.contains(_.target))return;const k=_.key,I={Tab:O=>O.preventDefault(),Escape:u,ArrowDown:()=>{const O=v.nextEnabled(r);O&&o(O.index)},ArrowUp:()=>{const O=v.prevEnabled(r);O&&o(O.index)}}[k];if(I){_.preventDefault(),I(_);return}const E=b(O=>{const R=uD(v.values(),O,D=>{var T,B;return(B=(T=D==null?void 0:D.node)==null?void 0:T.textContent)!=null?B:""},v.item(r));if(R){const D=v.indexOf(R.node);o(D)}});u0(_.target)&&E(_)},[v,r,b,u,o]),x=f.useRef(!1);i&&(x.current=!0);const C=Hv({wasSelected:x.current,enabled:p,mode:h,isSelected:g.present});return{...e,ref:Wn(s,t),children:C?e.children:null,tabIndex:-1,role:"menu",id:d,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:gt(e.onKeyDown,S)}}function jD(e={}){const{popper:t,isOpen:n}=Eu();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function B6(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:i,isDisabled:u,isFocusable:d,closeOnSelect:p,type:h,...g}=e,v=Eu(),{setFocusedIndex:b,focusedIndex:S,closeOnSelect:x,onClose:C,menuRef:_,isOpen:k,menuId:P,rafId:I}=v,E=f.useRef(null),O=`${P}-menuitem-${f.useId()}`,{index:R,register:D}=xD({disabled:u&&!d}),T=f.useCallback(M=>{n==null||n(M),!u&&b(R)},[b,R,u,n]),B=f.useCallback(M=>{r==null||r(M),E.current&&!n2(E.current)&&T(M)},[T,r]),W=f.useCallback(M=>{o==null||o(M),!u&&b(-1)},[b,u,o]),J=f.useCallback(M=>{s==null||s(M),u0(M.currentTarget)&&(p??x)&&C()},[C,s,x,p]),F=f.useCallback(M=>{i==null||i(M),b(R)},[b,i,R]),N=R===S,G=u&&!d;Li(()=>{k&&(N&&!G&&E.current?(I.current&&cancelAnimationFrame(I.current),I.current=requestAnimationFrame(()=>{var M;(M=E.current)==null||M.focus(),I.current=null})):_.current&&!n2(_.current)&&_.current.focus({preventScroll:!0}))},[N,G,_,k]);const K=T6({onClick:J,onFocus:F,onMouseEnter:T,onMouseMove:B,onMouseLeave:W,ref:Wn(D,E,t),isDisabled:u,isFocusable:d});return{...g,...K,type:h??K.type,id:O,role:"menuitem",tabIndex:N?0:-1}}function PD(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...B6(o,t),role:`menuitem${n}`,"aria-checked":r}}function ID(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...i}=e,d=n==="radio"?"":[],[p,h]=bu({defaultValue:o??d,value:r,onChange:s}),g=f.useCallback(S=>{if(n==="radio"&&typeof p=="string"&&h(S),n==="checkbox"&&Array.isArray(p)){const x=p.includes(S)?p.filter(C=>C!==S):p.concat(S);h(x)}},[p,h,n]),b=qp(t).map(S=>{if(S.type.id!=="MenuItemOption")return S;const x=_=>{var k,P;g(S.props.value),(P=(k=S.props).onClick)==null||P.call(k,_)},C=n==="radio"?S.props.value===p:p.includes(S.props.value);return f.cloneElement(S,{type:n,onClick:x,isChecked:C})});return{...i,children:b}}function ED(e){var t;if(!OD(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function OD(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function MD(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[RD,Ou]=cr({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Mu=e=>{const{children:t}=e,n=uo("Menu",e),r=wr(e),{direction:o}=Kp(),{descendants:s,...i}=CD({...r,direction:o}),u=f.useMemo(()=>i,[i]),{isOpen:d,onClose:p,forceUpdate:h}=u;return a.jsx(vD,{value:s,children:a.jsx(wD,{value:u,children:a.jsx(RD,{value:n,children:sv(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};Mu.displayName="Menu";var F6=rt((e,t)=>{const n=Ou();return a.jsx(He.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});F6.displayName="MenuCommand";var H6=rt((e,t)=>{const{type:n,...r}=e,o=Ou(),s=r.as||n?n??void 0:"button",i=f.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item}),[o.item]);return a.jsx(He.button,{ref:t,type:s,...r,__css:i})}),Wv=e=>{const{className:t,children:n,...r}=e,o=f.Children.only(n),s=f.isValidElement(o)?f.cloneElement(o,{focusable:"false","aria-hidden":!0,className:Mt("chakra-menu__icon",o.props.className)}):null,i=Mt("chakra-menu__icon-wrapper",t);return a.jsx(He.span,{className:i,...r,__css:{display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:s})};Wv.displayName="MenuIcon";var ao=rt((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:i,...u}=e,d=B6(u,t),h=n||o?a.jsx("span",{style:{pointerEvents:"none",flex:1},children:i}):i;return a.jsxs(H6,{...d,className:Mt("chakra-menu__menuitem",d.className),children:[n&&a.jsx(Wv,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&a.jsx(F6,{marginStart:s,children:o})]})});ao.displayName="MenuItem";var DD={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},AD=He(Jr.div),ic=rt(function(t,n){var r,o;const{rootProps:s,motionProps:i,...u}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Eu(),g=kD(u,n),v=jD(s),b=Ou();return a.jsx(He.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:a.jsx(AD,{variants:DD,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...i,className:Mt("chakra-menu__menu-list",g.className),...g,onUpdate:p,onAnimationComplete:Gp(h.onComplete,g.onAnimationComplete)})})});ic.displayName="MenuList";var Vv=rt((e,t)=>{const{title:n,children:r,className:o,...s}=e,i=Mt("chakra-menu__group__title",o),u=Ou();return a.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&a.jsx(He.p,{className:i,...s,__css:u.groupTitle,children:n}),r]})});Vv.displayName="MenuGroup";var Uv=e=>{const{className:t,title:n,...r}=e,o=ID(r);return a.jsx(Vv,{title:n,className:Mt("chakra-menu__option-group",t),...o})};Uv.displayName="MenuOptionGroup";var TD=rt((e,t)=>{const n=Ou();return a.jsx(He.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),Ru=rt((e,t)=>{const{children:n,as:r,...o}=e,s=_D(o,t),i=r||TD;return a.jsx(i,{...s,className:Mt("chakra-menu__menu-button",e.className),children:a.jsx(He.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});Ru.displayName="MenuButton";var ND=e=>a.jsx("svg",{viewBox:"0 0 14 14",width:"1em",height:"1em",...e,children:a.jsx("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})}),iu=rt((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=PD(o,t);return a.jsxs(H6,{...s,className:Mt("chakra-menu__menuitem-option",o.className),children:[n!==null&&a.jsx(Wv,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||a.jsx(ND,{})}),a.jsx("span",{style:{flex:1},children:s.children})]})});iu.id="MenuItemOption";iu.displayName="MenuItemOption";var $D={slideInBottom:{...t0,custom:{offsetY:16,reverse:!0}},slideInRight:{...t0,custom:{offsetX:16,reverse:!0}},scale:{...D3,custom:{initialScale:.95,reverse:!0}},none:{}},zD=He(Jr.section),LD=e=>$D[e||"none"],W6=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=LD(n),...o}=e;return a.jsx(zD,{ref:t,...r,...o})});W6.displayName="ModalTransition";var BD=Object.defineProperty,FD=(e,t,n)=>t in e?BD(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,HD=(e,t,n)=>(FD(e,typeof t!="symbol"?t+"":t,n),n),WD=class{constructor(){HD(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},d0=new WD;function V6(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=d0.add(o);r(s)}return()=>{d0.remove(o),r(0)}}},[t,e]),n}var VD=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},cl=new WeakMap,Rd=new WeakMap,Dd={},sg=0,U6=function(e){return e&&(e.host||U6(e.parentNode))},UD=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=U6(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},GD=function(e,t,n,r){var o=UD(t,Array.isArray(e)?e:[e]);Dd[n]||(Dd[n]=new WeakMap);var s=Dd[n],i=[],u=new Set,d=new Set(o),p=function(g){!g||u.has(g)||(u.add(g),p(g.parentNode))};o.forEach(p);var h=function(g){!g||d.has(g)||Array.prototype.forEach.call(g.children,function(v){if(u.has(v))h(v);else{var b=v.getAttribute(r),S=b!==null&&b!=="false",x=(cl.get(v)||0)+1,C=(s.get(v)||0)+1;cl.set(v,x),s.set(v,C),i.push(v),x===1&&S&&Rd.set(v,!0),C===1&&v.setAttribute(n,"true"),S||v.setAttribute(r,"true")}})};return h(t),u.clear(),sg++,function(){i.forEach(function(g){var v=cl.get(g)-1,b=s.get(g)-1;cl.set(g,v),s.set(g,b),v||(Rd.has(g)||g.removeAttribute(r),Rd.delete(g)),b||g.removeAttribute(n)}),sg--,sg||(cl=new WeakMap,cl=new WeakMap,Rd=new WeakMap,Dd={})}},qD=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||VD(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),GD(r,o,n,"aria-hidden")):function(){return null}};function KD(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:i=!0,onOverlayClick:u,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[g,v,b]=YD(r,"chakra-modal","chakra-modal--header","chakra-modal--body");QD(p,t&&i);const S=V6(p,t),x=f.useRef(null),C=f.useCallback(T=>{x.current=T.target},[]),_=f.useCallback(T=>{T.key==="Escape"&&(T.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[k,P]=f.useState(!1),[I,E]=f.useState(!1),O=f.useCallback((T={},B=null)=>({role:"dialog",...T,ref:Wn(B,p),id:g,tabIndex:-1,"aria-modal":!0,"aria-labelledby":k?v:void 0,"aria-describedby":I?b:void 0,onClick:gt(T.onClick,W=>W.stopPropagation())}),[b,I,g,v,k]),R=f.useCallback(T=>{T.stopPropagation(),x.current===T.target&&d0.isTopModal(p.current)&&(o&&(n==null||n()),u==null||u())},[n,o,u]),D=f.useCallback((T={},B=null)=>({...T,ref:Wn(B,h),onClick:gt(T.onClick,R),onKeyDown:gt(T.onKeyDown,_),onMouseDown:gt(T.onMouseDown,C)}),[_,C,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:P,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:D,index:S}}function QD(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return qD(e.current)},[t,e,n])}function YD(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[XD,lc]=cr({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[JD,Ri]=cr({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),lu=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:o,trapFocus:s,initialFocusRef:i,finalFocusRef:u,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:g,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:S}=t,x=uo("Modal",t),_={...KD(t),autoFocus:o,trapFocus:s,initialFocusRef:i,finalFocusRef:u,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:g,motionPreset:v,lockFocusAcrossFrames:b};return a.jsx(JD,{value:_,children:a.jsx(XD,{value:x,children:a.jsx(Ko,{onExitComplete:S,children:_.isOpen&&a.jsx(Cf,{...n,children:r})})})})};lu.displayName="Modal";var yf="right-scroll-bar-position",bf="width-before-scroll-bar",ZD="with-scroll-bars-hidden",eA="--removed-body-scroll-bar-size",G6=n6(),ag=function(){},sh=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:ag,onWheelCapture:ag,onTouchMoveCapture:ag}),o=r[0],s=r[1],i=e.forwardProps,u=e.children,d=e.className,p=e.removeScrollBar,h=e.enabled,g=e.shards,v=e.sideCar,b=e.noIsolation,S=e.inert,x=e.allowPinchZoom,C=e.as,_=C===void 0?"div":C,k=e.gapMode,P=Z3(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),I=v,E=J3([n,t]),O=Ls(Ls({},P),o);return f.createElement(f.Fragment,null,h&&f.createElement(I,{sideCar:G6,removeScrollBar:p,shards:g,noIsolation:b,inert:S,setCallbacks:s,allowPinchZoom:!!x,lockRef:n,gapMode:k}),i?f.cloneElement(f.Children.only(u),Ls(Ls({},O),{ref:E})):f.createElement(_,Ls({},O,{className:d,ref:E}),u))});sh.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};sh.classNames={fullWidth:bf,zeroRight:yf};var r2,tA=function(){if(r2)return r2;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function nA(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=tA();return t&&e.setAttribute("nonce",t),e}function rA(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function oA(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var sA=function(){var e=0,t=null;return{add:function(n){e==0&&(t=nA())&&(rA(t,n),oA(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},aA=function(){var e=sA();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},q6=function(){var e=aA(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},iA={left:0,top:0,right:0,gap:0},ig=function(e){return parseInt(e||"",10)||0},lA=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[ig(n),ig(r),ig(o)]},cA=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return iA;var t=lA(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},uA=q6(),dA=function(e,t,n,r){var o=e.left,s=e.top,i=e.right,u=e.gap;return n===void 0&&(n="margin"),` - .`.concat(ZD,` { - overflow: hidden `).concat(r,`; - padding-right: `).concat(u,"px ").concat(r,`; - } - body { - overflow: hidden `).concat(r,`; - overscroll-behavior: contain; - `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` - padding-left: `.concat(o,`px; - padding-top: `).concat(s,`px; - padding-right: `).concat(i,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(u,"px ").concat(r,`; - `),n==="padding"&&"padding-right: ".concat(u,"px ").concat(r,";")].filter(Boolean).join(""),` - } - - .`).concat(yf,` { - right: `).concat(u,"px ").concat(r,`; - } - - .`).concat(bf,` { - margin-right: `).concat(u,"px ").concat(r,`; - } - - .`).concat(yf," .").concat(yf,` { - right: 0 `).concat(r,`; - } - - .`).concat(bf," .").concat(bf,` { - margin-right: 0 `).concat(r,`; - } - - body { - `).concat(eA,": ").concat(u,`px; - } -`)},fA=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,s=f.useMemo(function(){return cA(o)},[o]);return f.createElement(uA,{styles:dA(s,!t,o,n?"":"!important")})},f0=!1;if(typeof window<"u")try{var Ad=Object.defineProperty({},"passive",{get:function(){return f0=!0,!0}});window.addEventListener("test",Ad,Ad),window.removeEventListener("test",Ad,Ad)}catch{f0=!1}var ul=f0?{passive:!1}:!1,pA=function(e){return e.tagName==="TEXTAREA"},K6=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!pA(e)&&n[t]==="visible")},hA=function(e){return K6(e,"overflowY")},mA=function(e){return K6(e,"overflowX")},o2=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=Q6(e,r);if(o){var s=Y6(e,r),i=s[1],u=s[2];if(i>u)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},gA=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},vA=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Q6=function(e,t){return e==="v"?hA(t):mA(t)},Y6=function(e,t){return e==="v"?gA(t):vA(t)},yA=function(e,t){return e==="h"&&t==="rtl"?-1:1},bA=function(e,t,n,r,o){var s=yA(e,window.getComputedStyle(t).direction),i=s*r,u=n.target,d=t.contains(u),p=!1,h=i>0,g=0,v=0;do{var b=Y6(e,u),S=b[0],x=b[1],C=b[2],_=x-C-s*S;(S||_)&&Q6(e,u)&&(g+=_,v+=S),u=u.parentNode}while(!d&&u!==document.body||d&&(t.contains(u)||t===u));return(h&&(o&&g===0||!o&&i>g)||!h&&(o&&v===0||!o&&-i>v))&&(p=!0),p},Td=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},s2=function(e){return[e.deltaX,e.deltaY]},a2=function(e){return e&&"current"in e?e.current:e},xA=function(e,t){return e[0]===t[0]&&e[1]===t[1]},wA=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},SA=0,dl=[];function CA(e){var t=f.useRef([]),n=f.useRef([0,0]),r=f.useRef(),o=f.useState(SA++)[0],s=f.useState(q6)[0],i=f.useRef(e);f.useEffect(function(){i.current=e},[e]),f.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var x=s0([e.lockRef.current],(e.shards||[]).map(a2),!0).filter(Boolean);return x.forEach(function(C){return C.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),x.forEach(function(C){return C.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var u=f.useCallback(function(x,C){if("touches"in x&&x.touches.length===2)return!i.current.allowPinchZoom;var _=Td(x),k=n.current,P="deltaX"in x?x.deltaX:k[0]-_[0],I="deltaY"in x?x.deltaY:k[1]-_[1],E,O=x.target,R=Math.abs(P)>Math.abs(I)?"h":"v";if("touches"in x&&R==="h"&&O.type==="range")return!1;var D=o2(R,O);if(!D)return!0;if(D?E=R:(E=R==="v"?"h":"v",D=o2(R,O)),!D)return!1;if(!r.current&&"changedTouches"in x&&(P||I)&&(r.current=E),!E)return!0;var T=r.current||E;return bA(T,C,x,T==="h"?P:I,!0)},[]),d=f.useCallback(function(x){var C=x;if(!(!dl.length||dl[dl.length-1]!==s)){var _="deltaY"in C?s2(C):Td(C),k=t.current.filter(function(E){return E.name===C.type&&E.target===C.target&&xA(E.delta,_)})[0];if(k&&k.should){C.cancelable&&C.preventDefault();return}if(!k){var P=(i.current.shards||[]).map(a2).filter(Boolean).filter(function(E){return E.contains(C.target)}),I=P.length>0?u(C,P[0]):!i.current.noIsolation;I&&C.cancelable&&C.preventDefault()}}},[]),p=f.useCallback(function(x,C,_,k){var P={name:x,delta:C,target:_,should:k};t.current.push(P),setTimeout(function(){t.current=t.current.filter(function(I){return I!==P})},1)},[]),h=f.useCallback(function(x){n.current=Td(x),r.current=void 0},[]),g=f.useCallback(function(x){p(x.type,s2(x),x.target,u(x,e.lockRef.current))},[]),v=f.useCallback(function(x){p(x.type,Td(x),x.target,u(x,e.lockRef.current))},[]);f.useEffect(function(){return dl.push(s),e.setCallbacks({onScrollCapture:g,onWheelCapture:g,onTouchMoveCapture:v}),document.addEventListener("wheel",d,ul),document.addEventListener("touchmove",d,ul),document.addEventListener("touchstart",h,ul),function(){dl=dl.filter(function(x){return x!==s}),document.removeEventListener("wheel",d,ul),document.removeEventListener("touchmove",d,ul),document.removeEventListener("touchstart",h,ul)}},[]);var b=e.removeScrollBar,S=e.inert;return f.createElement(f.Fragment,null,S?f.createElement(s,{styles:wA(o)}):null,b?f.createElement(fA,{gapMode:e.gapMode}):null)}const _A=QR(G6,CA);var X6=f.forwardRef(function(e,t){return f.createElement(sh,Ls({},e,{ref:t,sideCar:_A}))});X6.classNames=sh.classNames;const kA=X6;function jA(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:o,blockScrollOnMount:s,allowPinchZoom:i,finalFocusRef:u,returnFocusOnClose:d,preserveScrollBarGap:p,lockFocusAcrossFrames:h,isOpen:g}=Ri(),[v,b]=DE();f.useEffect(()=>{!v&&b&&setTimeout(b)},[v,b]);const S=V6(r,g);return a.jsx(O6,{autoFocus:t,isDisabled:!n,initialFocusRef:o,finalFocusRef:u,restoreFocus:d,contentRef:r,lockFocusAcrossFrames:h,children:a.jsx(kA,{removeScrollBar:!p,allowPinchZoom:i,enabled:S===1&&s,forwardProps:!0,children:e.children})})}var cu=rt((e,t)=>{const{className:n,children:r,containerProps:o,motionProps:s,...i}=e,{getDialogProps:u,getDialogContainerProps:d}=Ri(),p=u(i,t),h=d(o),g=Mt("chakra-modal__content",n),v=lc(),b={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...v.dialog},S={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...v.dialogContainer},{motionPreset:x}=Ri();return a.jsx(jA,{children:a.jsx(He.div,{...h,className:"chakra-modal__content-container",tabIndex:-1,__css:S,children:a.jsx(W6,{preset:x,motionProps:s,className:g,...p,__css:b,children:r})})})});cu.displayName="ModalContent";function Du(e){const{leastDestructiveRef:t,...n}=e;return a.jsx(lu,{...n,initialFocusRef:t})}var Au=rt((e,t)=>a.jsx(cu,{ref:t,role:"alertdialog",...e})),ga=rt((e,t)=>{const{className:n,...r}=e,o=Mt("chakra-modal__footer",n),i={display:"flex",alignItems:"center",justifyContent:"flex-end",...lc().footer};return a.jsx(He.footer,{ref:t,...r,__css:i,className:o})});ga.displayName="ModalFooter";var va=rt((e,t)=>{const{className:n,...r}=e,{headerId:o,setHeaderMounted:s}=Ri();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const i=Mt("chakra-modal__header",n),d={flex:0,...lc().header};return a.jsx(He.header,{ref:t,className:i,id:o,...r,__css:d})});va.displayName="ModalHeader";var PA=He(Jr.div),ya=rt((e,t)=>{const{className:n,transition:r,motionProps:o,...s}=e,i=Mt("chakra-modal__overlay",n),d={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...lc().overlay},{motionPreset:p}=Ri(),g=o||(p==="none"?{}:R3);return a.jsx(PA,{...g,__css:d,ref:t,className:i,...s})});ya.displayName="ModalOverlay";var ba=rt((e,t)=>{const{className:n,...r}=e,{bodyId:o,setBodyMounted:s}=Ri();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const i=Mt("chakra-modal__body",n),u=lc();return a.jsx(He.div,{ref:t,className:i,id:o,...r,__css:u.body})});ba.displayName="ModalBody";var Gv=rt((e,t)=>{const{onClick:n,className:r,...o}=e,{onClose:s}=Ri(),i=Mt("chakra-modal__close-btn",r),u=lc();return a.jsx(AE,{ref:t,__css:u.closeButton,className:i,onClick:gt(n,d=>{d.stopPropagation(),s()}),...o})});Gv.displayName="ModalCloseButton";var[IA,Tu]=cr({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[EA,qv]=cr({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function Kv(e){const t=f.Children.only(e.children),{getTriggerProps:n}=Tu();return f.cloneElement(t,n(t.props,t.ref))}Kv.displayName="PopoverTrigger";var fl={click:"click",hover:"hover"};function OA(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:o,returnFocusOnClose:s=!0,autoFocus:i=!0,arrowSize:u,arrowShadowColor:d,trigger:p=fl.click,openDelay:h=200,closeDelay:g=200,isLazy:v,lazyBehavior:b="unmount",computePositionOnMount:S,...x}=e,{isOpen:C,onClose:_,onOpen:k,onToggle:P}=C4(e),I=f.useRef(null),E=f.useRef(null),O=f.useRef(null),R=f.useRef(!1),D=f.useRef(!1);C&&(D.current=!0);const[T,B]=f.useState(!1),[W,J]=f.useState(!1),F=f.useId(),N=o??F,[G,K,M,U]=["popover-trigger","popover-content","popover-header","popover-body"].map(_e=>`${_e}-${N}`),{referenceRef:V,getArrowProps:ee,getPopperProps:ie,getArrowInnerProps:xe,forceUpdate:me}=_4({...x,enabled:C||!!S}),ae=z6({isOpen:C,ref:O});G3({enabled:C,ref:E}),N6(O,{focusRef:E,visible:C,shouldFocus:s&&p===fl.click}),hD(O,{focusRef:r,visible:C,shouldFocus:i&&p===fl.click});const te=Hv({wasSelected:D.current,enabled:v,mode:b,isSelected:ae.present}),H=f.useCallback((_e={},We=null)=>{const Le={..._e,style:{..._e.style,transformOrigin:Vm.transformOrigin.varRef,[Vm.arrowSize.var]:u?`${u}px`:void 0,[Vm.arrowShadowColor.var]:d},ref:Wn(O,We),children:te?_e.children:null,id:K,tabIndex:-1,role:"dialog",onKeyDown:gt(_e.onKeyDown,Ue=>{n&&Ue.key==="Escape"&&_()}),onBlur:gt(_e.onBlur,Ue=>{const jt=i2(Ue),vt=lg(O.current,jt),jn=lg(E.current,jt);C&&t&&(!vt&&!jn)&&_()}),"aria-labelledby":T?M:void 0,"aria-describedby":W?U:void 0};return p===fl.hover&&(Le.role="tooltip",Le.onMouseEnter=gt(_e.onMouseEnter,()=>{R.current=!0}),Le.onMouseLeave=gt(_e.onMouseLeave,Ue=>{Ue.nativeEvent.relatedTarget!==null&&(R.current=!1,setTimeout(()=>_(),g))})),Le},[te,K,T,M,W,U,p,n,_,C,t,g,d,u]),re=f.useCallback((_e={},We=null)=>ie({..._e,style:{visibility:C?"visible":"hidden",..._e.style}},We),[C,ie]),pe=f.useCallback((_e,We=null)=>({..._e,ref:Wn(We,I,V)}),[I,V]),ne=f.useRef(),ve=f.useRef(),de=f.useCallback(_e=>{I.current==null&&V(_e)},[V]),Ce=f.useCallback((_e={},We=null)=>{const Le={..._e,ref:Wn(E,We,de),id:G,"aria-haspopup":"dialog","aria-expanded":C,"aria-controls":K};return p===fl.click&&(Le.onClick=gt(_e.onClick,P)),p===fl.hover&&(Le.onFocus=gt(_e.onFocus,()=>{ne.current===void 0&&k()}),Le.onBlur=gt(_e.onBlur,Ue=>{const jt=i2(Ue),vt=!lg(O.current,jt);C&&t&&vt&&_()}),Le.onKeyDown=gt(_e.onKeyDown,Ue=>{Ue.key==="Escape"&&_()}),Le.onMouseEnter=gt(_e.onMouseEnter,()=>{R.current=!0,ne.current=window.setTimeout(()=>k(),h)}),Le.onMouseLeave=gt(_e.onMouseLeave,()=>{R.current=!1,ne.current&&(clearTimeout(ne.current),ne.current=void 0),ve.current=window.setTimeout(()=>{R.current===!1&&_()},g)})),Le},[G,C,K,p,de,P,k,t,_,h,g]);f.useEffect(()=>()=>{ne.current&&clearTimeout(ne.current),ve.current&&clearTimeout(ve.current)},[]);const Re=f.useCallback((_e={},We=null)=>({..._e,id:M,ref:Wn(We,Le=>{B(!!Le)})}),[M]),ge=f.useCallback((_e={},We=null)=>({..._e,id:U,ref:Wn(We,Le=>{J(!!Le)})}),[U]);return{forceUpdate:me,isOpen:C,onAnimationComplete:ae.onComplete,onClose:_,getAnchorProps:pe,getArrowProps:ee,getArrowInnerProps:xe,getPopoverPositionerProps:re,getPopoverProps:H,getTriggerProps:Ce,getHeaderProps:Re,getBodyProps:ge}}function lg(e,t){return e===t||(e==null?void 0:e.contains(t))}function i2(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function Qv(e){const t=uo("Popover",e),{children:n,...r}=wr(e),o=Kp(),s=OA({...r,direction:o.direction});return a.jsx(IA,{value:s,children:a.jsx(EA,{value:t,children:sv(n,{isOpen:s.isOpen,onClose:s.onClose,forceUpdate:s.forceUpdate})})})}Qv.displayName="Popover";var cg=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function J6(e){var t;const{bg:n,bgColor:r,backgroundColor:o,shadow:s,boxShadow:i,shadowColor:u}=e,{getArrowProps:d,getArrowInnerProps:p}=Tu(),h=qv(),g=(t=n??r)!=null?t:o,v=s??i;return a.jsx(He.div,{...d(),className:"chakra-popover__arrow-positioner",children:a.jsx(He.div,{className:Mt("chakra-popover__arrow",e.className),...p(e),__css:{"--popper-arrow-shadow-color":cg("colors",u),"--popper-arrow-bg":cg("colors",g),"--popper-arrow-shadow":cg("shadows",v),...h.arrow}})})}J6.displayName="PopoverArrow";var Z6=rt(function(t,n){const{getBodyProps:r}=Tu(),o=qv();return a.jsx(He.div,{...r(t,n),className:Mt("chakra-popover__body",t.className),__css:o.body})});Z6.displayName="PopoverBody";function MA(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var RA={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},DA=He(Jr.section),e5=rt(function(t,n){const{variants:r=RA,...o}=t,{isOpen:s}=Tu();return a.jsx(DA,{ref:n,variants:MA(r),initial:!1,animate:s?"enter":"exit",...o})});e5.displayName="PopoverTransition";var Yv=rt(function(t,n){const{rootProps:r,motionProps:o,...s}=t,{getPopoverProps:i,getPopoverPositionerProps:u,onAnimationComplete:d}=Tu(),p=qv(),h={position:"relative",display:"flex",flexDirection:"column",...p.content};return a.jsx(He.div,{...u(r),__css:p.popper,className:"chakra-popover__popper",children:a.jsx(e5,{...o,...i(s,n),onAnimationComplete:Gp(d,s.onAnimationComplete),className:Mt("chakra-popover__content",t.className),__css:h})})});Yv.displayName="PopoverContent";function AA(e,t,n){return(e-t)*100/(n-t)}Ca({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});Ca({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var TA=Ca({"0%":{left:"-40%"},"100%":{left:"100%"}}),NA=Ca({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function $A(e){const{value:t=0,min:n,max:r,valueText:o,getValueText:s,isIndeterminate:i,role:u="progressbar"}=e,d=AA(t,n,r);return{bind:{"data-indeterminate":i?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":i?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof s=="function"?s(t,d):o})(),role:u},percent:d,value:t}}var[zA,LA]=cr({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),BA=rt((e,t)=>{const{min:n,max:r,value:o,isIndeterminate:s,role:i,...u}=e,d=$A({value:o,min:n,max:r,isIndeterminate:s,role:i}),h={height:"100%",...LA().filledTrack};return a.jsx(He.div,{ref:t,style:{width:`${d.percent}%`,...u.style},...d.bind,...u,__css:h})}),t5=rt((e,t)=>{var n;const{value:r,min:o=0,max:s=100,hasStripe:i,isAnimated:u,children:d,borderRadius:p,isIndeterminate:h,"aria-label":g,"aria-labelledby":v,"aria-valuetext":b,title:S,role:x,...C}=wr(e),_=uo("Progress",e),k=p??((n=_.track)==null?void 0:n.borderRadius),P={animation:`${NA} 1s linear infinite`},O={...!h&&i&&u&&P,...h&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${TA} 1s ease infinite normal none running`}},R={overflow:"hidden",position:"relative",..._.track};return a.jsx(He.div,{ref:t,borderRadius:k,__css:R,...C,children:a.jsxs(zA,{value:_,children:[a.jsx(BA,{"aria-label":g,"aria-labelledby":v,"aria-valuetext":b,min:o,max:s,value:r,isIndeterminate:h,css:O,borderRadius:k,title:S,role:x}),d]})})});t5.displayName="Progress";function FA(e){return e&&Xb(e)&&Xb(e.target)}function HA(e={}){const{onChange:t,value:n,defaultValue:r,name:o,isDisabled:s,isFocusable:i,isNative:u,...d}=e,[p,h]=f.useState(r||""),g=typeof n<"u",v=g?n:p,b=f.useRef(null),S=f.useCallback(()=>{const E=b.current;if(!E)return;let O="input:not(:disabled):checked";const R=E.querySelector(O);if(R){R.focus();return}O="input:not(:disabled)";const D=E.querySelector(O);D==null||D.focus()},[]),C=`radio-${f.useId()}`,_=o||C,k=f.useCallback(E=>{const O=FA(E)?E.target.value:E;g||h(O),t==null||t(String(O))},[t,g]),P=f.useCallback((E={},O=null)=>({...E,ref:Wn(O,b),role:"radiogroup"}),[]),I=f.useCallback((E={},O=null)=>({...E,ref:O,name:_,[u?"checked":"isChecked"]:v!=null?E.value===v:void 0,onChange(D){k(D)},"data-radiogroup":!0}),[u,_,k,v]);return{getRootProps:P,getRadioProps:I,name:_,ref:b,focus:S,setValue:h,value:v,onChange:k,isDisabled:s,isFocusable:i,htmlProps:d}}var[WA,n5]=cr({name:"RadioGroupContext",strict:!1}),Bf=rt((e,t)=>{const{colorScheme:n,size:r,variant:o,children:s,className:i,isDisabled:u,isFocusable:d,...p}=e,{value:h,onChange:g,getRootProps:v,name:b,htmlProps:S}=HA(p),x=f.useMemo(()=>({name:b,size:r,onChange:g,colorScheme:n,value:h,variant:o,isDisabled:u,isFocusable:d}),[b,r,g,n,h,o,u,d]);return a.jsx(WA,{value:x,children:a.jsx(He.div,{...v(S,t),className:Mt("chakra-radio-group",i),children:s})})});Bf.displayName="RadioGroup";var VA={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function UA(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:o,isReadOnly:s,isRequired:i,onChange:u,isInvalid:d,name:p,value:h,id:g,"data-radiogroup":v,"aria-describedby":b,...S}=e,x=`radio-${f.useId()}`,C=TE(),k=!!n5()||!!v;let I=!!C&&!k?C.id:x;I=g??I;const E=o??(C==null?void 0:C.isDisabled),O=s??(C==null?void 0:C.isReadOnly),R=i??(C==null?void 0:C.isRequired),D=d??(C==null?void 0:C.isInvalid),[T,B]=f.useState(!1),[W,J]=f.useState(!1),[F,N]=f.useState(!1),[G,K]=f.useState(!1),[M,U]=f.useState(!!t),V=typeof n<"u",ee=V?n:M;f.useEffect(()=>$3(B),[]);const ie=f.useCallback(de=>{if(O||E){de.preventDefault();return}V||U(de.target.checked),u==null||u(de)},[V,E,O,u]),xe=f.useCallback(de=>{de.key===" "&&K(!0)},[K]),me=f.useCallback(de=>{de.key===" "&&K(!1)},[K]),ae=f.useCallback((de={},Ce=null)=>({...de,ref:Ce,"data-active":sn(G),"data-hover":sn(F),"data-disabled":sn(E),"data-invalid":sn(D),"data-checked":sn(ee),"data-focus":sn(W),"data-focus-visible":sn(W&&T),"data-readonly":sn(O),"aria-hidden":!0,onMouseDown:gt(de.onMouseDown,()=>K(!0)),onMouseUp:gt(de.onMouseUp,()=>K(!1)),onMouseEnter:gt(de.onMouseEnter,()=>N(!0)),onMouseLeave:gt(de.onMouseLeave,()=>N(!1))}),[G,F,E,D,ee,W,O,T]),{onFocus:te,onBlur:H}=C??{},re=f.useCallback((de={},Ce=null)=>{const Re=E&&!r;return{...de,id:I,ref:Ce,type:"radio",name:p,value:h,onChange:gt(de.onChange,ie),onBlur:gt(H,de.onBlur,()=>J(!1)),onFocus:gt(te,de.onFocus,()=>J(!0)),onKeyDown:gt(de.onKeyDown,xe),onKeyUp:gt(de.onKeyUp,me),checked:ee,disabled:Re,readOnly:O,required:R,"aria-invalid":jl(D),"aria-disabled":jl(Re),"aria-required":jl(R),"data-readonly":sn(O),"aria-describedby":b,style:VA}},[E,r,I,p,h,ie,H,te,xe,me,ee,O,R,D,b]);return{state:{isInvalid:D,isFocused:W,isChecked:ee,isActive:G,isHovered:F,isDisabled:E,isReadOnly:O,isRequired:R},getCheckboxProps:ae,getRadioProps:ae,getInputProps:re,getLabelProps:(de={},Ce=null)=>({...de,ref:Ce,onMouseDown:gt(de.onMouseDown,GA),"data-disabled":sn(E),"data-checked":sn(ee),"data-invalid":sn(D)}),getRootProps:(de,Ce=null)=>({...de,ref:Ce,"data-disabled":sn(E),"data-checked":sn(ee),"data-invalid":sn(D)}),htmlProps:S}}function GA(e){e.preventDefault(),e.stopPropagation()}function qA(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var aa=rt((e,t)=>{var n;const r=n5(),{onChange:o,value:s}=e,i=uo("Radio",{...r,...e}),u=wr(e),{spacing:d="0.5rem",children:p,isDisabled:h=r==null?void 0:r.isDisabled,isFocusable:g=r==null?void 0:r.isFocusable,inputProps:v,...b}=u;let S=e.isChecked;(r==null?void 0:r.value)!=null&&s!=null&&(S=r.value===s);let x=o;r!=null&&r.onChange&&s!=null&&(x=Gp(r.onChange,o));const C=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:_,getCheckboxProps:k,getLabelProps:P,getRootProps:I,htmlProps:E}=UA({...b,isChecked:S,isFocusable:g,isDisabled:h,onChange:x,name:C}),[O,R]=qA(E,k4),D=k(R),T=_(v,t),B=P(),W=Object.assign({},O,I()),J={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...i.container},F={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...i.control},N={userSelect:"none",marginStart:d,...i.label};return a.jsxs(He.label,{className:"chakra-radio",...W,__css:J,children:[a.jsx("input",{className:"chakra-radio__input",...T}),a.jsx(He.span,{className:"chakra-radio__control",...D,__css:F}),p&&a.jsx(He.span,{className:"chakra-radio__label",...B,__css:N,children:p})]})});aa.displayName="Radio";var r5=rt(function(t,n){const{children:r,placeholder:o,className:s,...i}=t;return a.jsxs(He.select,{...i,ref:n,className:Mt("chakra-select",s),children:[o&&a.jsx("option",{value:"",children:o}),r]})});r5.displayName="SelectField";function KA(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var o5=rt((e,t)=>{var n;const r=uo("Select",e),{rootProps:o,placeholder:s,icon:i,color:u,height:d,h:p,minH:h,minHeight:g,iconColor:v,iconSize:b,...S}=wr(e),[x,C]=KA(S,k4),_=av(C),k={width:"100%",height:"fit-content",position:"relative",color:u},P={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return a.jsxs(He.div,{className:"chakra-select__wrapper",__css:k,...x,...o,children:[a.jsx(r5,{ref:t,height:p??d,minH:h??g,placeholder:s,..._,__css:P,children:e.children}),a.jsx(s5,{"data-disabled":sn(_.disabled),...(v||u)&&{color:v||u},__css:r.icon,...b&&{fontSize:b},children:i})]})});o5.displayName="Select";var QA=e=>a.jsx("svg",{viewBox:"0 0 24 24",...e,children:a.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),YA=He("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),s5=e=>{const{children:t=a.jsx(QA,{}),...n}=e,r=f.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return a.jsx(YA,{...n,className:"chakra-select__icon-wrapper",children:f.isValidElement(t)?r:null})};s5.displayName="SelectIcon";function XA(){const e=f.useRef(!0);return f.useEffect(()=>{e.current=!1},[]),e.current}function JA(e){const t=f.useRef();return f.useEffect(()=>{t.current=e},[e]),t.current}var ZA=He("div",{baseStyle:{boxShadow:"none",backgroundClip:"padding-box",cursor:"default",color:"transparent",pointerEvents:"none",userSelect:"none","&::before, &::after, *":{visibility:"hidden"}}}),p0=j4("skeleton-start-color"),h0=j4("skeleton-end-color"),eT=Ca({from:{opacity:0},to:{opacity:1}}),tT=Ca({from:{borderColor:p0.reference,background:p0.reference},to:{borderColor:h0.reference,background:h0.reference}}),ah=rt((e,t)=>{const n={...e,fadeDuration:typeof e.fadeDuration=="number"?e.fadeDuration:.4,speed:typeof e.speed=="number"?e.speed:.8},r=Zl("Skeleton",n),o=XA(),{startColor:s="",endColor:i="",isLoaded:u,fadeDuration:d,speed:p,className:h,fitContent:g,...v}=wr(n),[b,S]=ec("colors",[s,i]),x=JA(u),C=Mt("chakra-skeleton",h),_={...b&&{[p0.variable]:b},...S&&{[h0.variable]:S}};if(u){const k=o||x?"none":`${eT} ${d}s`;return a.jsx(He.div,{ref:t,className:C,__css:{animation:k},...v})}return a.jsx(ZA,{ref:t,className:C,...v,__css:{width:g?"fit-content":void 0,...r,..._,_dark:{...r._dark,..._},animation:`${p}s linear infinite alternate ${tT}`}})});ah.displayName="Skeleton";function nT(e){const{min:t=0,max:n=100,onChange:r,value:o,defaultValue:s,isReversed:i,direction:u="ltr",orientation:d="horizontal",id:p,isDisabled:h,isReadOnly:g,onChangeStart:v,onChangeEnd:b,step:S=1,getAriaValueText:x,"aria-valuetext":C,"aria-label":_,"aria-labelledby":k,name:P,focusThumbOnChange:I=!0,minStepsBetweenThumbs:E=0,...O}=e,R=Ga(v),D=Ga(b),T=Ga(x),B=HE({isReversed:i,direction:u,orientation:d}),[W,J]=bu({value:o,defaultValue:s??[25,75],onChange:r});if(!Array.isArray(W))throw new TypeError(`[range-slider] You passed an invalid value for \`value\` or \`defaultValue\`, expected \`Array\` but got \`${typeof W}\``);const[F,N]=f.useState(!1),[G,K]=f.useState(!1),[M,U]=f.useState(-1),V=!(h||g),ee=f.useRef(W),ie=W.map(Ie=>Jb(Ie,t,n)),xe=E*S,me=rT(ie,t,n,xe),ae=f.useRef({eventSource:null,value:[],valueBounds:[]});ae.current.value=ie,ae.current.valueBounds=me;const te=ie.map(Ie=>n-Ie+t),re=(B?te:ie).map(Ie=>Zb(Ie,t,n)),pe=d==="vertical",ne=f.useRef(null),ve=f.useRef(null),de=NE({getNodes(){const Ie=ve.current,it=Ie==null?void 0:Ie.querySelectorAll("[role=slider]");return it?Array.from(it):[]}}),Ce=f.useId(),ge=WE(p??Ce),_e=f.useCallback(Ie=>{var it,Xe;if(!ne.current)return;ae.current.eventSource="pointer";const ot=ne.current.getBoundingClientRect(),{clientX:Nt,clientY:ur}=(Xe=(it=Ie.touches)==null?void 0:it[0])!=null?Xe:Ie,yn=pe?ot.bottom-ur:Nt-ot.left,bn=pe?ot.height:ot.width;let $r=yn/bn;return B&&($r=1-$r),$E($r,t,n)},[pe,B,n,t]),We=(n-t)/10,Le=S||(n-t)/100,Ue=f.useMemo(()=>({setValueAtIndex(Ie,it){if(!V)return;const Xe=ae.current.valueBounds[Ie];it=parseFloat(zE(it,Xe.min,Le)),it=Jb(it,Xe.min,Xe.max);const ot=[...ae.current.value];ot[Ie]=it,J(ot)},setActiveIndex:U,stepUp(Ie,it=Le){const Xe=ae.current.value[Ie],ot=B?Xe-it:Xe+it;Ue.setValueAtIndex(Ie,ot)},stepDown(Ie,it=Le){const Xe=ae.current.value[Ie],ot=B?Xe+it:Xe-it;Ue.setValueAtIndex(Ie,ot)},reset(){J(ee.current)}}),[Le,B,J,V]),jt=f.useCallback(Ie=>{const it=Ie.key,ot={ArrowRight:()=>Ue.stepUp(M),ArrowUp:()=>Ue.stepUp(M),ArrowLeft:()=>Ue.stepDown(M),ArrowDown:()=>Ue.stepDown(M),PageUp:()=>Ue.stepUp(M,We),PageDown:()=>Ue.stepDown(M,We),Home:()=>{const{min:Nt}=me[M];Ue.setValueAtIndex(M,Nt)},End:()=>{const{max:Nt}=me[M];Ue.setValueAtIndex(M,Nt)}}[it];ot&&(Ie.preventDefault(),Ie.stopPropagation(),ot(Ie),ae.current.eventSource="keyboard")},[Ue,M,We,me]),{getThumbStyle:vt,rootStyle:jn,trackStyle:Pt,innerTrackStyle:bt}=f.useMemo(()=>LE({isReversed:B,orientation:d,thumbRects:de,thumbPercents:re}),[B,d,re,de]),be=f.useCallback(Ie=>{var it;const Xe=Ie??M;if(Xe!==-1&&I){const ot=ge.getThumb(Xe),Nt=(it=ve.current)==null?void 0:it.ownerDocument.getElementById(ot);Nt&&setTimeout(()=>Nt.focus())}},[I,M,ge]);Li(()=>{ae.current.eventSource==="keyboard"&&(D==null||D(ae.current.value))},[ie,D]);const Ae=Ie=>{const it=_e(Ie)||0,Xe=ae.current.value.map(bn=>Math.abs(bn-it)),ot=Math.min(...Xe);let Nt=Xe.indexOf(ot);const ur=Xe.filter(bn=>bn===ot);ur.length>1&&it>ae.current.value[Nt]&&(Nt=Nt+ur.length-1),U(Nt),Ue.setValueAtIndex(Nt,it),be(Nt)},Et=Ie=>{if(M==-1)return;const it=_e(Ie)||0;U(M),Ue.setValueAtIndex(M,it),be(M)};BE(ve,{onPanSessionStart(Ie){V&&(N(!0),Ae(Ie),R==null||R(ae.current.value))},onPanSessionEnd(){V&&(N(!1),D==null||D(ae.current.value))},onPan(Ie){V&&Et(Ie)}});const Ft=f.useCallback((Ie={},it=null)=>({...Ie,...O,id:ge.root,ref:Wn(it,ve),tabIndex:-1,"aria-disabled":Um(h),"data-focused":sl(G),style:{...Ie.style,...jn}}),[O,h,G,jn,ge]),Wt=f.useCallback((Ie={},it=null)=>({...Ie,ref:Wn(it,ne),id:ge.track,"data-disabled":sl(h),style:{...Ie.style,...Pt}}),[h,Pt,ge]),_n=f.useCallback((Ie={},it=null)=>({...Ie,ref:it,id:ge.innerTrack,style:{...Ie.style,...bt}}),[bt,ge]),In=f.useCallback((Ie,it=null)=>{var Xe;const{index:ot,...Nt}=Ie,ur=ie[ot];if(ur==null)throw new TypeError(`[range-slider > thumb] Cannot find value at index \`${ot}\`. The \`value\` or \`defaultValue\` length is : ${ie.length}`);const yn=me[ot];return{...Nt,ref:it,role:"slider",tabIndex:V?0:void 0,id:ge.getThumb(ot),"data-active":sl(F&&M===ot),"aria-valuetext":(Xe=T==null?void 0:T(ur))!=null?Xe:C==null?void 0:C[ot],"aria-valuemin":yn.min,"aria-valuemax":yn.max,"aria-valuenow":ur,"aria-orientation":d,"aria-disabled":Um(h),"aria-readonly":Um(g),"aria-label":_==null?void 0:_[ot],"aria-labelledby":_!=null&&_[ot]||k==null?void 0:k[ot],style:{...Ie.style,...vt(ot)},onKeyDown:Gm(Ie.onKeyDown,jt),onFocus:Gm(Ie.onFocus,()=>{K(!0),U(ot)}),onBlur:Gm(Ie.onBlur,()=>{K(!1),U(-1)})}},[ge,ie,me,V,F,M,T,C,d,h,g,_,k,vt,jt,K]),ln=f.useCallback((Ie={},it=null)=>({...Ie,ref:it,id:ge.output,htmlFor:ie.map((Xe,ot)=>ge.getThumb(ot)).join(" "),"aria-live":"off"}),[ge,ie]),Cr=f.useCallback((Ie,it=null)=>{const{value:Xe,...ot}=Ie,Nt=!(Xen),ur=Xe>=ie[0]&&Xe<=ie[ie.length-1];let yn=Zb(Xe,t,n);yn=B?100-yn:yn;const bn={position:"absolute",pointerEvents:"none",...FE({orientation:d,vertical:{bottom:`${yn}%`},horizontal:{left:`${yn}%`}})};return{...ot,ref:it,id:ge.getMarker(Ie.value),role:"presentation","aria-hidden":!0,"data-disabled":sl(h),"data-invalid":sl(!Nt),"data-highlighted":sl(ur),style:{...Ie.style,...bn}}},[h,B,n,t,d,ie,ge]),vn=f.useCallback((Ie,it=null)=>{const{index:Xe,...ot}=Ie;return{...ot,ref:it,id:ge.getInput(Xe),type:"hidden",value:ie[Xe],name:Array.isArray(P)?P[Xe]:`${P}-${Xe}`}},[P,ie,ge]);return{state:{value:ie,isFocused:G,isDragging:F,getThumbPercent:Ie=>re[Ie],getThumbMinValue:Ie=>me[Ie].min,getThumbMaxValue:Ie=>me[Ie].max},actions:Ue,getRootProps:Ft,getTrackProps:Wt,getInnerTrackProps:_n,getThumbProps:In,getMarkerProps:Cr,getInputProps:vn,getOutputProps:ln}}function rT(e,t,n,r){return e.map((o,s)=>{const i=s===0?t:e[s-1]+r,u=s===e.length-1?n:e[s+1]-r;return{min:i,max:u}})}var[oT,ih]=cr({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within "}),[sT,lh]=cr({name:"RangeSliderStylesContext",errorMessage:`useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),a5=rt(function(t,n){const r={orientation:"horizontal",...t},o=uo("Slider",r),s=wr(r),{direction:i}=Kp();s.direction=i;const{getRootProps:u,...d}=nT(s),p=f.useMemo(()=>({...d,name:r.name}),[d,r.name]);return a.jsx(oT,{value:p,children:a.jsx(sT,{value:o,children:a.jsx(He.div,{...u({},n),className:"chakra-slider",__css:o.container,children:r.children})})})});a5.displayName="RangeSlider";var m0=rt(function(t,n){const{getThumbProps:r,getInputProps:o,name:s}=ih(),i=lh(),u=r(t,n);return a.jsxs(He.div,{...u,className:iv("chakra-slider__thumb",t.className),__css:i.thumb,children:[u.children,s&&a.jsx("input",{...o({index:t.index})})]})});m0.displayName="RangeSliderThumb";var i5=rt(function(t,n){const{getTrackProps:r}=ih(),o=lh(),s=r(t,n);return a.jsx(He.div,{...s,className:iv("chakra-slider__track",t.className),__css:o.track,"data-testid":"chakra-range-slider-track"})});i5.displayName="RangeSliderTrack";var l5=rt(function(t,n){const{getInnerTrackProps:r}=ih(),o=lh(),s=r(t,n);return a.jsx(He.div,{...s,className:"chakra-slider__filled-track",__css:o.filledTrack})});l5.displayName="RangeSliderFilledTrack";var xf=rt(function(t,n){const{getMarkerProps:r}=ih(),o=lh(),s=r(t,n);return a.jsx(He.div,{...s,className:iv("chakra-slider__marker",t.className),__css:o.mark})});xf.displayName="RangeSliderMark";var Xv=rt(function(t,n){const r=uo("Switch",t),{spacing:o="0.5rem",children:s,...i}=wr(t),{state:u,getInputProps:d,getCheckboxProps:p,getRootProps:h,getLabelProps:g}=z3(i),v=f.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),b=f.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),S=f.useMemo(()=>({userSelect:"none",marginStart:o,...r.label}),[o,r.label]);return a.jsxs(He.label,{...h(),className:Mt("chakra-switch",t.className),__css:v,children:[a.jsx("input",{className:"chakra-switch__input",...d({},n)}),a.jsx(He.span,{...p(),className:"chakra-switch__track",__css:b,children:a.jsx(He.span,{__css:r.thumb,className:"chakra-switch__thumb","data-checked":sn(u.isChecked),"data-hover":sn(u.isHovered)})}),s&&a.jsx(He.span,{className:"chakra-switch__label",...g(),__css:S,children:s})]})});Xv.displayName="Switch";var[aT,iT,lT,cT]=kv();function uT(e){var t;const{defaultIndex:n,onChange:r,index:o,isManual:s,isLazy:i,lazyBehavior:u="unmount",orientation:d="horizontal",direction:p="ltr",...h}=e,[g,v]=f.useState(n??0),[b,S]=bu({defaultValue:n??0,value:o,onChange:r});f.useEffect(()=>{o!=null&&v(o)},[o]);const x=lT(),C=f.useId();return{id:`tabs-${(t=e.id)!=null?t:C}`,selectedIndex:b,focusedIndex:g,setSelectedIndex:S,setFocusedIndex:v,isManual:s,isLazy:i,lazyBehavior:u,orientation:d,descendants:x,direction:p,htmlProps:h}}var[dT,ch]=cr({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function fT(e){const{focusedIndex:t,orientation:n,direction:r}=ch(),o=iT(),s=f.useCallback(i=>{const u=()=>{var k;const P=o.nextEnabled(t);P&&((k=P.node)==null||k.focus())},d=()=>{var k;const P=o.prevEnabled(t);P&&((k=P.node)==null||k.focus())},p=()=>{var k;const P=o.firstEnabled();P&&((k=P.node)==null||k.focus())},h=()=>{var k;const P=o.lastEnabled();P&&((k=P.node)==null||k.focus())},g=n==="horizontal",v=n==="vertical",b=i.key,S=r==="ltr"?"ArrowLeft":"ArrowRight",x=r==="ltr"?"ArrowRight":"ArrowLeft",_={[S]:()=>g&&d(),[x]:()=>g&&u(),ArrowDown:()=>v&&u(),ArrowUp:()=>v&&d(),Home:p,End:h}[b];_&&(i.preventDefault(),_(i))},[o,t,n,r]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:gt(e.onKeyDown,s)}}function pT(e){const{isDisabled:t,isFocusable:n,...r}=e,{setSelectedIndex:o,isManual:s,id:i,setFocusedIndex:u,selectedIndex:d}=ch(),{index:p,register:h}=cT({disabled:t&&!n}),g=p===d,v=()=>{o(p)},b=()=>{u(p),!s&&!(t&&n)&&o(p)},S=T6({...r,ref:Wn(h,e.ref),isDisabled:t,isFocusable:n,onClick:gt(e.onClick,v)}),x="button";return{...S,id:c5(i,p),role:"tab",tabIndex:g?0:-1,type:x,"aria-selected":g,"aria-controls":u5(i,p),onFocus:t?void 0:gt(e.onFocus,b)}}var[hT,mT]=cr({});function gT(e){const t=ch(),{id:n,selectedIndex:r}=t,s=qp(e.children).map((i,u)=>f.createElement(hT,{key:u,value:{isSelected:u===r,id:u5(n,u),tabId:c5(n,u),selectedIndex:r}},i));return{...e,children:s}}function vT(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:o}=ch(),{isSelected:s,id:i,tabId:u}=mT(),d=f.useRef(!1);s&&(d.current=!0);const p=Hv({wasSelected:d.current,isSelected:s,enabled:r,mode:o});return{tabIndex:0,...n,children:p?t:null,role:"tabpanel","aria-labelledby":u,hidden:!s,id:i}}function c5(e,t){return`${e}--tab-${t}`}function u5(e,t){return`${e}--tabpanel-${t}`}var[yT,uh]=cr({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Nu=rt(function(t,n){const r=uo("Tabs",t),{children:o,className:s,...i}=wr(t),{htmlProps:u,descendants:d,...p}=uT(i),h=f.useMemo(()=>p,[p]),{isFitted:g,...v}=u;return a.jsx(aT,{value:d,children:a.jsx(dT,{value:h,children:a.jsx(yT,{value:r,children:a.jsx(He.div,{className:Mt("chakra-tabs",s),ref:n,...v,__css:r.root,children:o})})})})});Nu.displayName="Tabs";var $u=rt(function(t,n){const r=fT({...t,ref:n}),s={display:"flex",...uh().tablist};return a.jsx(He.div,{...r,className:Mt("chakra-tabs__tablist",t.className),__css:s})});$u.displayName="TabList";var dh=rt(function(t,n){const r=vT({...t,ref:n}),o=uh();return a.jsx(He.div,{outline:"0",...r,className:Mt("chakra-tabs__tab-panel",t.className),__css:o.tabpanel})});dh.displayName="TabPanel";var fh=rt(function(t,n){const r=gT(t),o=uh();return a.jsx(He.div,{...r,width:"100%",ref:n,className:Mt("chakra-tabs__tab-panels",t.className),__css:o.tabpanels})});fh.displayName="TabPanels";var Bl=rt(function(t,n){const r=uh(),o=pT({...t,ref:n}),s={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return a.jsx(He.button,{...o,className:Mt("chakra-tabs__tab",t.className),__css:s})});Bl.displayName="Tab";function bT(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var xT=["h","minH","height","minHeight"],d5=rt((e,t)=>{const n=Zl("Textarea",e),{className:r,rows:o,...s}=wr(e),i=av(s),u=o?bT(n,xT):n;return a.jsx(He.textarea,{ref:t,rows:o,...i,className:Mt("chakra-textarea",r),__css:u})});d5.displayName="Textarea";const f5=({id:e,x:t,y:n,width:r,height:o,style:s,color:i,strokeColor:u,strokeWidth:d,className:p,borderRadius:h,shapeRendering:g,onClick:v})=>{const{background:b,backgroundColor:S}=s||{},x=i||b||S;return a.jsx("rect",{className:Qp(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:x,stroke:u,strokeWidth:d,shapeRendering:g,onClick:v?C=>v(C,e):void 0})};f5.displayName="MiniMapNode";var wT=f.memo(f5);const ST=e=>e.nodeOrigin,CT=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),ug=e=>e instanceof Function?e:()=>e;function _T({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=wT,onClick:i}){const u=_f(CT,lv),d=_f(ST),p=ug(t),h=ug(e),g=ug(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return a.jsx(a.Fragment,{children:u.map(b=>{const{x:S,y:x}=VE(b,d).positionAbsolute;return a.jsx(s,{x:S,y:x,width:b.width,height:b.height,style:b.style,className:g(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:i,id:b.id},b.id)})})}var kT=f.memo(_T);const jT=200,PT=150,IT=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?KE(QE(t,e.nodeOrigin),n):n,rfId:e.rfId}},ET="react-flow__minimap-desc";function p5({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:i=2,nodeComponent:u,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:g="bottom-right",onClick:v,onNodeClick:b,pannable:S=!1,zoomable:x=!1,ariaLabel:C="React Flow mini map",inversePan:_=!1,zoomStep:k=10}){const P=P4(),I=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=_f(IT,lv),D=(e==null?void 0:e.width)??jT,T=(e==null?void 0:e.height)??PT,B=E.width/D,W=E.height/T,J=Math.max(B,W),F=J*D,N=J*T,G=5*J,K=E.x-(F-E.width)/2-G,M=E.y-(N-E.height)/2-G,U=F+G*2,V=N+G*2,ee=`${ET}-${R}`,ie=f.useRef(0);ie.current=J,f.useEffect(()=>{if(I.current){const ae=I4(I.current),te=pe=>{const{transform:ne,d3Selection:ve,d3Zoom:de}=P.getState();if(pe.sourceEvent.type!=="wheel"||!ve||!de)return;const Ce=-pe.sourceEvent.deltaY*(pe.sourceEvent.deltaMode===1?.05:pe.sourceEvent.deltaMode?1:.002)*k,Re=ne[2]*Math.pow(2,Ce);de.scaleTo(ve,Re)},H=pe=>{const{transform:ne,d3Selection:ve,d3Zoom:de,translateExtent:Ce,width:Re,height:ge}=P.getState();if(pe.sourceEvent.type!=="mousemove"||!ve||!de)return;const _e=ie.current*Math.max(1,ne[2])*(_?-1:1),We={x:ne[0]-pe.sourceEvent.movementX*_e,y:ne[1]-pe.sourceEvent.movementY*_e},Le=[[0,0],[Re,ge]],Ue=GE.translate(We.x,We.y).scale(ne[2]),jt=de.constrain()(Ue,Le,Ce);de.transform(ve,jt)},re=UE().on("zoom",S?H:null).on("zoom.wheel",x?te:null);return ae.call(re),()=>{ae.on("zoom",null)}}},[S,x,_,k]);const xe=v?ae=>{const te=qE(ae);v(ae,{x:te[0],y:te[1]})}:void 0,me=b?(ae,te)=>{const H=P.getState().nodeInternals.get(te);b(ae,H)}:void 0;return a.jsx(Su,{position:g,style:e,className:Qp(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:a.jsxs("svg",{width:D,height:T,viewBox:`${K} ${M} ${U} ${V}`,role:"img","aria-labelledby":ee,ref:I,onClick:xe,children:[C&&a.jsx("title",{id:ee,children:C}),a.jsx(kT,{onClick:me,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:i,nodeComponent:u}),a.jsx("path",{className:"react-flow__minimap-mask",d:`M${K-G},${M-G}h${U+G*2}v${V+G*2}h${-U-G*2}z - M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})]})})}p5.displayName="MiniMap";var OT=f.memo(p5),ds;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ds||(ds={}));function MT({color:e,dimensions:t,lineWidth:n}){return a.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function RT({color:e,radius:t}){return a.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const DT={[ds.Dots]:"#91919a",[ds.Lines]:"#eee",[ds.Cross]:"#e2e2e2"},AT={[ds.Dots]:1,[ds.Lines]:1,[ds.Cross]:6},TT=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function h5({id:e,variant:t=ds.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:i,style:u,className:d}){const p=f.useRef(null),{transform:h,patternId:g}=_f(TT,lv),v=i||DT[t],b=r||AT[t],S=t===ds.Dots,x=t===ds.Cross,C=Array.isArray(n)?n:[n,n],_=[C[0]*h[2]||1,C[1]*h[2]||1],k=b*h[2],P=x?[k,k]:_,I=S?[k/s,k/s]:[P[0]/s,P[1]/s];return a.jsxs("svg",{className:Qp(["react-flow__background",d]),style:{...u,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[a.jsx("pattern",{id:g+e,x:h[0]%_[0],y:h[1]%_[1],width:_[0],height:_[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${I[0]},-${I[1]})`,children:S?a.jsx(RT,{color:v,radius:k/s}):a.jsx(MT,{dimensions:P,color:v,lineWidth:o})}),a.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${g+e})`})]})}h5.displayName="Background";var NT=f.memo(h5),Xc;(function(e){e.Line="line",e.Handle="handle"})(Xc||(Xc={}));function $T({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const i=e-t,u=n-r,d=[i>0?1:i<0?-1:0,u>0?1:u<0?-1:0];return i&&o&&(d[0]=d[0]*-1),u&&s&&(d[1]=d[1]*-1),d}const m5={width:0,height:0,x:0,y:0},zT={...m5,pointerX:0,pointerY:0,aspectRatio:1};function LT({nodeId:e,position:t,variant:n=Xc.Handle,className:r,style:o={},children:s,color:i,minWidth:u=10,minHeight:d=10,maxWidth:p=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:g=!1,shouldResize:v,onResizeStart:b,onResize:S,onResizeEnd:x}){const C=YE(),_=typeof e=="string"?e:C,k=P4(),P=f.useRef(null),I=f.useRef(zT),E=f.useRef(m5),O=XE(),R=n===Xc.Line?"right":"bottom-right",D=t??R;f.useEffect(()=>{if(!P.current||!_)return;const J=I4(P.current),F=D.includes("right")||D.includes("left"),N=D.includes("bottom")||D.includes("top"),G=D.includes("left"),K=D.includes("top"),M=JE().on("start",U=>{const V=k.getState().nodeInternals.get(_),{xSnapped:ee,ySnapped:ie}=O(U);E.current={width:(V==null?void 0:V.width)??0,height:(V==null?void 0:V.height)??0,x:(V==null?void 0:V.position.x)??0,y:(V==null?void 0:V.position.y)??0},I.current={...E.current,pointerX:ee,pointerY:ie,aspectRatio:E.current.width/E.current.height},b==null||b(U,{...E.current})}).on("drag",U=>{const{nodeInternals:V,triggerNodeChanges:ee}=k.getState(),{xSnapped:ie,ySnapped:xe}=O(U),me=V.get(_);if(me){const ae=[],{pointerX:te,pointerY:H,width:re,height:pe,x:ne,y:ve,aspectRatio:de}=I.current,{x:Ce,y:Re,width:ge,height:_e}=E.current,We=Math.floor(F?ie-te:0),Le=Math.floor(N?xe-H:0);let Ue=ex(re+(G?-We:We),u,p),jt=ex(pe+(K?-Le:Le),d,h);if(g){const Ae=Ue/jt,Et=F&&N,Ft=F&&!N,Wt=N&&!F;Ue=Ae<=de&&Et||Wt?jt*de:Ue,jt=Ae>de&&Et||Ft?Ue/de:jt,Ue>=p?(Ue=p,jt=p/de):Ue<=u&&(Ue=u,jt=u/de),jt>=h?(jt=h,Ue=h*de):jt<=d&&(jt=d,Ue=d*de)}const vt=Ue!==ge,jn=jt!==_e;if(G||K){const Ae=G?ne-(Ue-re):ne,Et=K?ve-(jt-pe):ve,Ft=Ae!==Ce&&vt,Wt=Et!==Re&&jn;if(Ft||Wt){const _n={id:me.id,type:"position",position:{x:Ft?Ae:Ce,y:Wt?Et:Re}};ae.push(_n),E.current.x=_n.position.x,E.current.y=_n.position.y}}if(vt||jn){const Ae={id:_,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:Ue,height:jt}};ae.push(Ae),E.current.width=Ue,E.current.height=jt}if(ae.length===0)return;const Pt=$T({width:E.current.width,prevWidth:ge,height:E.current.height,prevHeight:_e,invertX:G,invertY:K}),bt={...E.current,direction:Pt};if((v==null?void 0:v(U,bt))===!1)return;S==null||S(U,bt),ee(ae)}}).on("end",U=>{const V={id:_,type:"dimensions",resizing:!1};x==null||x(U,{...E.current}),k.getState().triggerNodeChanges([V])});return J.call(M),()=>{J.on(".drag",null)}},[_,D,u,d,p,h,g,O,b,S,x]);const T=D.split("-"),B=n===Xc.Line?"borderColor":"backgroundColor",W=i?{...o,[B]:i}:o;return a.jsx("div",{className:Qp(["react-flow__resize-control","nodrag",...T,n,r]),ref:P,style:W,children:s})}var BT=f.memo(LT);const or=he(e=>e.ui,e=>ZE[e.activeTab],{memoizeOptions:{equalityCheck:Gt}}),FT=he(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:Gt}}),Zr=he(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:Gt}});var HT=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function zu(e,t){var n=WT(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function WT(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=HT.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var VT=[".DS_Store","Thumbs.db"];function UT(e){return sc(this,void 0,void 0,function(){return ac(this,function(t){return Ff(e)&>(e.dataTransfer)?[2,YT(e.dataTransfer,e.type)]:qT(e)?[2,KT(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,QT(e)]:[2,[]]})})}function GT(e){return Ff(e)}function qT(e){return Ff(e)&&Ff(e.target)}function Ff(e){return typeof e=="object"&&e!==null}function KT(e){return g0(e.target.files).map(function(t){return zu(t)})}function QT(e){return sc(this,void 0,void 0,function(){var t;return ac(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return zu(r)})]}})})}function YT(e,t){return sc(this,void 0,void 0,function(){var n,r;return ac(this,function(o){switch(o.label){case 0:return e.items?(n=g0(e.items).filter(function(s){return s.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(XT))]):[3,2];case 1:return r=o.sent(),[2,l2(g5(r))];case 2:return[2,l2(g0(e.files).map(function(s){return zu(s)}))]}})})}function l2(e){return e.filter(function(t){return VT.indexOf(t.name)===-1})}function g0(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,p2(n)];if(e.sizen)return[!1,p2(n)]}return[!0,null]}function bi(e){return e!=null}function pN(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,s=e.multiple,i=e.maxFiles,u=e.validator;return!s&&t.length>1||s&&i>=1&&t.length>i?!1:t.every(function(d){var p=x5(d,n),h=uu(p,1),g=h[0],v=w5(d,r,o),b=uu(v,1),S=b[0],x=u?u(d):null;return g&&S&&!x})}function Hf(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function Nd(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function m2(e){e.preventDefault()}function hN(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function mN(e){return e.indexOf("Edge/")!==-1}function gN(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return hN(e)||mN(e)}function As(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),i=1;ie.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function DN(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var Jv=f.forwardRef(function(e,t){var n=e.children,r=Wf(e,SN),o=Zv(r),s=o.open,i=Wf(o,CN);return f.useImperativeHandle(t,function(){return{open:s}},[s]),z.createElement(f.Fragment,null,n(tr(tr({},i),{},{open:s})))});Jv.displayName="Dropzone";var k5={disabled:!1,getFilesFromEvent:UT,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};Jv.defaultProps=k5;Jv.propTypes={children:Dn.func,accept:Dn.objectOf(Dn.arrayOf(Dn.string)),multiple:Dn.bool,preventDropOnDocument:Dn.bool,noClick:Dn.bool,noKeyboard:Dn.bool,noDrag:Dn.bool,noDragEventsBubbling:Dn.bool,minSize:Dn.number,maxSize:Dn.number,maxFiles:Dn.number,disabled:Dn.bool,getFilesFromEvent:Dn.func,onFileDialogCancel:Dn.func,onFileDialogOpen:Dn.func,useFsAccessApi:Dn.bool,autoFocus:Dn.bool,onDragEnter:Dn.func,onDragLeave:Dn.func,onDragOver:Dn.func,onDrop:Dn.func,onDropAccepted:Dn.func,onDropRejected:Dn.func,onError:Dn.func,validator:Dn.func};var x0={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function Zv(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=tr(tr({},k5),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,s=t.maxSize,i=t.minSize,u=t.multiple,d=t.maxFiles,p=t.onDragEnter,h=t.onDragLeave,g=t.onDragOver,v=t.onDrop,b=t.onDropAccepted,S=t.onDropRejected,x=t.onFileDialogCancel,C=t.onFileDialogOpen,_=t.useFsAccessApi,k=t.autoFocus,P=t.preventDropOnDocument,I=t.noClick,E=t.noKeyboard,O=t.noDrag,R=t.noDragEventsBubbling,D=t.onError,T=t.validator,B=f.useMemo(function(){return bN(n)},[n]),W=f.useMemo(function(){return yN(n)},[n]),J=f.useMemo(function(){return typeof C=="function"?C:v2},[C]),F=f.useMemo(function(){return typeof x=="function"?x:v2},[x]),N=f.useRef(null),G=f.useRef(null),K=f.useReducer(AN,x0),M=dg(K,2),U=M[0],V=M[1],ee=U.isFocused,ie=U.isFileDialogActive,xe=f.useRef(typeof window<"u"&&window.isSecureContext&&_&&vN()),me=function(){!xe.current&&ie&&setTimeout(function(){if(G.current){var Ae=G.current.files;Ae.length||(V({type:"closeDialog"}),F())}},300)};f.useEffect(function(){return window.addEventListener("focus",me,!1),function(){window.removeEventListener("focus",me,!1)}},[G,ie,F,xe]);var ae=f.useRef([]),te=function(Ae){N.current&&N.current.contains(Ae.target)||(Ae.preventDefault(),ae.current=[])};f.useEffect(function(){return P&&(document.addEventListener("dragover",m2,!1),document.addEventListener("drop",te,!1)),function(){P&&(document.removeEventListener("dragover",m2),document.removeEventListener("drop",te))}},[N,P]),f.useEffect(function(){return!r&&k&&N.current&&N.current.focus(),function(){}},[N,k,r]);var H=f.useCallback(function(be){D?D(be):console.error(be)},[D]),re=f.useCallback(function(be){be.preventDefault(),be.persist(),vt(be),ae.current=[].concat(jN(ae.current),[be.target]),Nd(be)&&Promise.resolve(o(be)).then(function(Ae){if(!(Hf(be)&&!R)){var Et=Ae.length,Ft=Et>0&&pN({files:Ae,accept:B,minSize:i,maxSize:s,multiple:u,maxFiles:d,validator:T}),Wt=Et>0&&!Ft;V({isDragAccept:Ft,isDragReject:Wt,isDragActive:!0,type:"setDraggedFiles"}),p&&p(be)}}).catch(function(Ae){return H(Ae)})},[o,p,H,R,B,i,s,u,d,T]),pe=f.useCallback(function(be){be.preventDefault(),be.persist(),vt(be);var Ae=Nd(be);if(Ae&&be.dataTransfer)try{be.dataTransfer.dropEffect="copy"}catch{}return Ae&&g&&g(be),!1},[g,R]),ne=f.useCallback(function(be){be.preventDefault(),be.persist(),vt(be);var Ae=ae.current.filter(function(Ft){return N.current&&N.current.contains(Ft)}),Et=Ae.indexOf(be.target);Et!==-1&&Ae.splice(Et,1),ae.current=Ae,!(Ae.length>0)&&(V({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Nd(be)&&h&&h(be))},[N,h,R]),ve=f.useCallback(function(be,Ae){var Et=[],Ft=[];be.forEach(function(Wt){var _n=x5(Wt,B),In=dg(_n,2),ln=In[0],Cr=In[1],vn=w5(Wt,i,s),sr=dg(vn,2),Ie=sr[0],it=sr[1],Xe=T?T(Wt):null;if(ln&&Ie&&!Xe)Et.push(Wt);else{var ot=[Cr,it];Xe&&(ot=ot.concat(Xe)),Ft.push({file:Wt,errors:ot.filter(function(Nt){return Nt})})}}),(!u&&Et.length>1||u&&d>=1&&Et.length>d)&&(Et.forEach(function(Wt){Ft.push({file:Wt,errors:[fN]})}),Et.splice(0)),V({acceptedFiles:Et,fileRejections:Ft,type:"setFiles"}),v&&v(Et,Ft,Ae),Ft.length>0&&S&&S(Ft,Ae),Et.length>0&&b&&b(Et,Ae)},[V,u,B,i,s,d,v,b,S,T]),de=f.useCallback(function(be){be.preventDefault(),be.persist(),vt(be),ae.current=[],Nd(be)&&Promise.resolve(o(be)).then(function(Ae){Hf(be)&&!R||ve(Ae,be)}).catch(function(Ae){return H(Ae)}),V({type:"reset"})},[o,ve,H,R]),Ce=f.useCallback(function(){if(xe.current){V({type:"openDialog"}),J();var be={multiple:u,types:W};window.showOpenFilePicker(be).then(function(Ae){return o(Ae)}).then(function(Ae){ve(Ae,null),V({type:"closeDialog"})}).catch(function(Ae){xN(Ae)?(F(Ae),V({type:"closeDialog"})):wN(Ae)?(xe.current=!1,G.current?(G.current.value=null,G.current.click()):H(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):H(Ae)});return}G.current&&(V({type:"openDialog"}),J(),G.current.value=null,G.current.click())},[V,J,F,_,ve,H,W,u]),Re=f.useCallback(function(be){!N.current||!N.current.isEqualNode(be.target)||(be.key===" "||be.key==="Enter"||be.keyCode===32||be.keyCode===13)&&(be.preventDefault(),Ce())},[N,Ce]),ge=f.useCallback(function(){V({type:"focus"})},[]),_e=f.useCallback(function(){V({type:"blur"})},[]),We=f.useCallback(function(){I||(gN()?setTimeout(Ce,0):Ce())},[I,Ce]),Le=function(Ae){return r?null:Ae},Ue=function(Ae){return E?null:Le(Ae)},jt=function(Ae){return O?null:Le(Ae)},vt=function(Ae){R&&Ae.stopPropagation()},jn=f.useMemo(function(){return function(){var be=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Ae=be.refKey,Et=Ae===void 0?"ref":Ae,Ft=be.role,Wt=be.onKeyDown,_n=be.onFocus,In=be.onBlur,ln=be.onClick,Cr=be.onDragEnter,vn=be.onDragOver,sr=be.onDragLeave,Ie=be.onDrop,it=Wf(be,_N);return tr(tr(b0({onKeyDown:Ue(As(Wt,Re)),onFocus:Ue(As(_n,ge)),onBlur:Ue(As(In,_e)),onClick:Le(As(ln,We)),onDragEnter:jt(As(Cr,re)),onDragOver:jt(As(vn,pe)),onDragLeave:jt(As(sr,ne)),onDrop:jt(As(Ie,de)),role:typeof Ft=="string"&&Ft!==""?Ft:"presentation"},Et,N),!r&&!E?{tabIndex:0}:{}),it)}},[N,Re,ge,_e,We,re,pe,ne,de,E,O,r]),Pt=f.useCallback(function(be){be.stopPropagation()},[]),bt=f.useMemo(function(){return function(){var be=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Ae=be.refKey,Et=Ae===void 0?"ref":Ae,Ft=be.onChange,Wt=be.onClick,_n=Wf(be,kN),In=b0({accept:B,multiple:u,type:"file",style:{display:"none"},onChange:Le(As(Ft,de)),onClick:Le(As(Wt,Pt)),tabIndex:-1},Et,G);return tr(tr({},In),_n)}},[G,n,u,de,r]);return tr(tr({},U),{},{isFocused:ee&&!r,getRootProps:jn,getInputProps:bt,rootRef:N,inputRef:G,open:Le(Ce)})}function AN(e,t){switch(t.type){case"focus":return tr(tr({},e),{},{isFocused:!0});case"blur":return tr(tr({},e),{},{isFocused:!1});case"openDialog":return tr(tr({},x0),{},{isFileDialogActive:!0});case"closeDialog":return tr(tr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return tr(tr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return tr(tr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return tr({},x0);default:return e}}function v2(){}function w0(){return w0=Object.assign?Object.assign.bind():function(e){for(var t=1;t'),!0):t?e.some(function(n){return t.includes(n)})||e.includes("*"):!0}var FN=function(t,n,r){r===void 0&&(r=!1);var o=n.alt,s=n.meta,i=n.mod,u=n.shift,d=n.ctrl,p=n.keys,h=t.key,g=t.code,v=t.ctrlKey,b=t.metaKey,S=t.shiftKey,x=t.altKey,C=Wa(g),_=h.toLowerCase();if(!r){if(o===!x&&_!=="alt"||u===!S&&_!=="shift")return!1;if(i){if(!b&&!v)return!1}else if(s===!b&&_!=="meta"&&_!=="os"||d===!v&&_!=="ctrl"&&_!=="control")return!1}return p&&p.length===1&&(p.includes(_)||p.includes(C))?!0:p?P5(p):!p},HN=f.createContext(void 0),WN=function(){return f.useContext(HN)};function M5(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce(function(n,r){return n&&M5(e[r],t[r])},!0):e===t}var VN=f.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),UN=function(){return f.useContext(VN)};function GN(e){var t=f.useRef(void 0);return M5(t.current,e)||(t.current=e),t.current}var y2=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},qN=typeof window<"u"?f.useLayoutEffect:f.useEffect;function Ye(e,t,n,r){var o=f.useRef(null),s=f.useRef(!1),i=n instanceof Array?r instanceof Array?void 0:r:n,u=e instanceof Array?e.join(i==null?void 0:i.splitKey):e,d=n instanceof Array?n:r instanceof Array?r:void 0,p=f.useCallback(t,d??[]),h=f.useRef(p);d?h.current=p:h.current=t;var g=GN(i),v=UN(),b=v.enabledScopes,S=WN();return qN(function(){if(!((g==null?void 0:g.enabled)===!1||!BN(b,g==null?void 0:g.scopes))){var x=function(I,E){var O;if(E===void 0&&(E=!1),!(LN(I)&&!O5(I,g==null?void 0:g.enableOnFormTags))&&!(g!=null&&g.ignoreEventWhen!=null&&g.ignoreEventWhen(I))){if(o.current!==null&&document.activeElement!==o.current&&!o.current.contains(document.activeElement)){y2(I);return}(O=I.target)!=null&&O.isContentEditable&&!(g!=null&&g.enableOnContentEditable)||fg(u,g==null?void 0:g.splitKey).forEach(function(R){var D,T=pg(R,g==null?void 0:g.combinationKey);if(FN(I,T,g==null?void 0:g.ignoreModifiers)||(D=T.keys)!=null&&D.includes("*")){if(E&&s.current)return;if($N(I,T,g==null?void 0:g.preventDefault),!zN(I,T,g==null?void 0:g.enabled)){y2(I);return}h.current(I,T),E||(s.current=!0)}})}},C=function(I){I.key!==void 0&&(I5(Wa(I.code)),((g==null?void 0:g.keydown)===void 0&&(g==null?void 0:g.keyup)!==!0||g!=null&&g.keydown)&&x(I))},_=function(I){I.key!==void 0&&(E5(Wa(I.code)),s.current=!1,g!=null&&g.keyup&&x(I,!0))},k=o.current||(i==null?void 0:i.document)||document;return k.addEventListener("keyup",_),k.addEventListener("keydown",C),S&&fg(u,g==null?void 0:g.splitKey).forEach(function(P){return S.addHotkey(pg(P,g==null?void 0:g.combinationKey,g==null?void 0:g.description))}),function(){k.removeEventListener("keyup",_),k.removeEventListener("keydown",C),S&&fg(u,g==null?void 0:g.splitKey).forEach(function(P){return S.removeHotkey(pg(P,g==null?void 0:g.combinationKey,g==null?void 0:g.description))})}}},[u,g,b]),o}const KN=e=>{const{isDragAccept:t,isDragReject:n,setIsHandlingUpload:r}=e;return Ye("esc",()=>{r(!1)}),a.jsxs($e,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"100vw",height:"100vh",zIndex:999,backdropFilter:"blur(20px)"},children:[a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:"base.700",_dark:{bg:"base.900"},opacity:.7,alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"full",height:"full",alignItems:"center",justifyContent:"center",p:4},children:a.jsx(L,{sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",flexDir:"column",gap:4,borderWidth:3,borderRadius:"xl",borderStyle:"dashed",color:"base.100",borderColor:"base.100",_dark:{borderColor:"base.200"}},children:t?a.jsx(zs,{size:"lg",children:"Drop to Upload"}):a.jsxs(a.Fragment,{children:[a.jsx(zs,{size:"lg",children:"Invalid Upload"}),a.jsx(zs,{size:"md",children:"Must be single JPEG or PNG image"})]})})})]})},QN=he([mt,or],({gallery:e},t)=>{let n={type:"TOAST"};t==="unifiedCanvas"&&(n={type:"SET_CANVAS_INITIAL_IMAGE"}),t==="img2img"&&(n={type:"SET_INITIAL_IMAGE"});const{autoAddBoardId:r}=e;return{autoAddBoardId:r,postUploadAction:n}},Ke),YN=e=>{const{children:t}=e,{autoAddBoardId:n,postUploadAction:r}=$(QN),o=$(Sr),s=tc(),{t:i}=ue(),[u,d]=f.useState(!1),[p]=E4(),h=f.useCallback(P=>{d(!0),s({title:i("toast.uploadFailed"),description:P.errors.map(I=>I.message).join(` -`),status:"error"})},[i,s]),g=f.useCallback(async P=>{p({file:P,image_category:"user",is_intermediate:!1,postUploadAction:r,board_id:n})},[n,r,p]),v=f.useCallback((P,I)=>{if(I.length>1){s({title:i("toast.uploadFailed"),description:i("toast.uploadFailedInvalidUploadDesc"),status:"error"});return}I.forEach(E=>{h(E)}),P.forEach(E=>{g(E)})},[i,s,g,h]),{getRootProps:b,getInputProps:S,isDragAccept:x,isDragReject:C,isDragActive:_,inputRef:k}=Zv({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:v,onDragOver:()=>d(!0),disabled:o,multiple:!1});return f.useEffect(()=>{const P=async I=>{var E,O;k.current&&(E=I.clipboardData)!=null&&E.files&&(k.current.files=I.clipboardData.files,(O=k.current)==null||O.dispatchEvent(new Event("change",{bubbles:!0})))};return document.addEventListener("paste",P),()=>{document.removeEventListener("paste",P)}},[k]),a.jsxs($e,{...b({style:{}}),onKeyDown:P=>{P.key},children:[a.jsx("input",{...S()}),t,a.jsx(Ko,{children:_&&u&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:a.jsx(KN,{isDragAccept:x,isDragReject:C,setIsHandlingUpload:d})},"image-upload-overlay")})]})},XN=f.memo(YN),en=e=>e.canvas,Jn=he([en,or,xo],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),JN=e=>e.canvas.layerState.objects.find(O4),ZN=mM(e=>{e(M4(!0))},300),yo=()=>(e,t)=>{or(t())==="unifiedCanvas"&&ZN(e)};var e$=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),vr=globalThis&&globalThis.__assign||function(){return vr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof o>"u"?void 0:Number(o),minWidth:typeof s>"u"?void 0:Number(s),minHeight:typeof i>"u"?void 0:Number(i)}},i$=["as","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],C2="__resizable_base__",l$=function(e){r$(t,e);function t(n){var r=e.call(this,n)||this;return r.ratio=1,r.resizable=null,r.parentLeft=0,r.parentTop=0,r.resizableLeft=0,r.resizableRight=0,r.resizableTop=0,r.resizableBottom=0,r.targetLeft=0,r.targetTop=0,r.appendBase=function(){if(!r.resizable||!r.window)return null;var o=r.parentNode;if(!o)return null;var s=r.window.document.createElement("div");return s.style.width="100%",s.style.height="100%",s.style.position="absolute",s.style.transform="scale(0, 0)",s.style.left="0",s.style.flex="0 0 100%",s.classList?s.classList.add(C2):s.className+=C2,o.appendChild(s),s},r.removeBase=function(o){var s=r.parentNode;s&&s.removeChild(o)},r.ref=function(o){o&&(r.resizable=o)},r.state={isResizing:!1,width:typeof(r.propsSize&&r.propsSize.width)>"u"?"auto":r.propsSize&&r.propsSize.width,height:typeof(r.propsSize&&r.propsSize.height)>"u"?"auto":r.propsSize&&r.propsSize.height,direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},r.onResizeStart=r.onResizeStart.bind(r),r.onMouseMove=r.onMouseMove.bind(r),r.onMouseUp=r.onMouseUp.bind(r),r}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||o$},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var o=this.resizable.offsetWidth,s=this.resizable.offsetHeight,i=this.resizable.style.position;i!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:o,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:s,this.resizable.style.position=i}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,o=function(u){if(typeof n.state[u]>"u"||n.state[u]==="auto")return"auto";if(n.propsSize&&n.propsSize[u]&&n.propsSize[u].toString().endsWith("%")){if(n.state[u].toString().endsWith("%"))return n.state[u].toString();var d=n.getParentSize(),p=Number(n.state[u].toString().replace("px","")),h=p/d[u]*100;return h+"%"}return hg(n.state[u])},s=r&&typeof r.width<"u"&&!this.state.isResizing?hg(r.width):o("width"),i=r&&typeof r.height<"u"&&!this.state.isResizing?hg(r.height):o("height");return{width:s,height:i}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var n=this.appendBase();if(!n)return{width:0,height:0};var r=!1,o=this.parentNode.style.flexWrap;o!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var s={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=o),this.removeBase(n),s},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var n=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:n.flexBasis!=="auto"?n.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(n,r){var o=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof o>"u"||o==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var o=this.props.boundsByDirection,s=this.state.direction,i=o&&pl("left",s),u=o&&pl("top",s),d,p;if(this.props.bounds==="parent"){var h=this.parentNode;h&&(d=i?this.resizableRight-this.parentLeft:h.offsetWidth+(this.parentLeft-this.resizableLeft),p=u?this.resizableBottom-this.parentTop:h.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(d=i?this.resizableRight:this.window.innerWidth-this.resizableLeft,p=u?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(d=i?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),p=u?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return d&&Number.isFinite(d)&&(n=n&&n"u"?10:s.width,g=typeof o.width>"u"||o.width<0?n:o.width,v=typeof s.height>"u"?10:s.height,b=typeof o.height>"u"||o.height<0?r:o.height,S=d||0,x=p||0;if(u){var C=(v-S)*this.ratio+x,_=(b-S)*this.ratio+x,k=(h-x)/this.ratio+S,P=(g-x)/this.ratio+S,I=Math.max(h,C),E=Math.min(g,_),O=Math.max(v,k),R=Math.min(b,P);n=zd(n,I,E),r=zd(r,O,R)}else n=zd(n,h,g),r=zd(r,v,b);return{newWidth:n,newHeight:r}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var n=this.parentNode;if(n){var r=n.getBoundingClientRect();this.parentLeft=r.left,this.parentTop=r.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var o=this.props.bounds.getBoundingClientRect();this.targetLeft=o.left,this.targetTop=o.top}if(this.resizable){var s=this.resizable.getBoundingClientRect(),i=s.left,u=s.top,d=s.right,p=s.bottom;this.resizableLeft=i,this.resizableRight=d,this.resizableTop=u,this.resizableBottom=p}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var o=0,s=0;if(n.nativeEvent&&s$(n.nativeEvent)?(o=n.nativeEvent.clientX,s=n.nativeEvent.clientY):n.nativeEvent&&Ld(n.nativeEvent)&&(o=n.nativeEvent.touches[0].clientX,s=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var i=this.props.onResizeStart(n,r,this.resizable);if(i===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var u,d=this.window.getComputedStyle(this.resizable);if(d.flexBasis!=="auto"){var p=this.parentNode;if(p){var h=this.window.getComputedStyle(p).flexDirection;this.flexDir=h.startsWith("row")?"row":"column",u=d.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var g={original:{x:o,y:s,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:Ts(Ts({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:u};this.setState(g)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&Ld(n))try{n.preventDefault(),n.stopPropagation()}catch{}var o=this.props,s=o.maxWidth,i=o.maxHeight,u=o.minWidth,d=o.minHeight,p=Ld(n)?n.touches[0].clientX:n.clientX,h=Ld(n)?n.touches[0].clientY:n.clientY,g=this.state,v=g.direction,b=g.original,S=g.width,x=g.height,C=this.getParentSize(),_=a$(C,this.window.innerWidth,this.window.innerHeight,s,i,u,d);s=_.maxWidth,i=_.maxHeight,u=_.minWidth,d=_.minHeight;var k=this.calculateNewSizeFromDirection(p,h),P=k.newHeight,I=k.newWidth,E=this.calculateNewMaxFromBoundary(s,i);this.props.snap&&this.props.snap.x&&(I=S2(I,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(P=S2(P,this.props.snap.y,this.props.snapGap));var O=this.calculateNewSizeFromAspectRatio(I,P,{width:E.maxWidth,height:E.maxHeight},{width:u,height:d});if(I=O.newWidth,P=O.newHeight,this.props.grid){var R=w2(I,this.props.grid[0]),D=w2(P,this.props.grid[1]),T=this.props.snapGap||0;I=T===0||Math.abs(R-I)<=T?R:I,P=T===0||Math.abs(D-P)<=T?D:P}var B={width:I-b.width,height:P-b.height};if(S&&typeof S=="string"){if(S.endsWith("%")){var W=I/C.width*100;I=W+"%"}else if(S.endsWith("vw")){var J=I/this.window.innerWidth*100;I=J+"vw"}else if(S.endsWith("vh")){var F=I/this.window.innerHeight*100;I=F+"vh"}}if(x&&typeof x=="string"){if(x.endsWith("%")){var W=P/C.height*100;P=W+"%"}else if(x.endsWith("vw")){var J=P/this.window.innerWidth*100;P=J+"vw"}else if(x.endsWith("vh")){var F=P/this.window.innerHeight*100;P=F+"vh"}}var N={width:this.createSizeForCssProperty(I,"width"),height:this.createSizeForCssProperty(P,"height")};this.flexDir==="row"?N.flexBasis=N.width:this.flexDir==="column"&&(N.flexBasis=N.height),nc.flushSync(function(){r.setState(N)}),this.props.onResize&&this.props.onResize(n,v,this.resizable,B)}},t.prototype.onMouseUp=function(n){var r=this.state,o=r.isResizing,s=r.direction,i=r.original;if(!(!o||!this.resizable)){var u={width:this.size.width-i.width,height:this.size.height-i.height};this.props.onResizeStop&&this.props.onResizeStop(n,s,this.resizable,u),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:Ts(Ts({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(n){this.setState({width:n.width,height:n.height})},t.prototype.renderResizer=function(){var n=this,r=this.props,o=r.enable,s=r.handleStyles,i=r.handleClasses,u=r.handleWrapperStyle,d=r.handleWrapperClass,p=r.handleComponent;if(!o)return null;var h=Object.keys(o).map(function(g){return o[g]!==!1?f.createElement(n$,{key:g,direction:g,onResizeStart:n.onResizeStart,replaceStyles:s&&s[g],className:i&&i[g]},p&&p[g]?p[g]:null):null});return f.createElement("div",{className:d,style:u},h)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(i,u){return i$.indexOf(u)!==-1||(i[u]=n.props[u]),i},{}),o=Ts(Ts(Ts({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(o.flexBasis=this.state.flexBasis);var s=this.props.as||"div";return f.createElement(s,Ts({ref:this.ref,style:o,className:this.props.className},r),this.state.isResizing&&f.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(f.PureComponent);const c$=({direction:e,langDirection:t})=>({top:e==="bottom",right:t!=="rtl"&&e==="left"||t==="rtl"&&e==="right",bottom:e==="top",left:t!=="rtl"&&e==="right"||t==="rtl"&&e==="left"}),u$=({direction:e,minWidth:t,maxWidth:n,minHeight:r,maxHeight:o})=>{const s=t??(["left","right"].includes(e)?10:void 0),i=n??(["left","right"].includes(e)?"95vw":void 0),u=r??(["top","bottom"].includes(e)?10:void 0),d=o??(["top","bottom"].includes(e)?"95vh":void 0);return{...s?{minWidth:s}:{},...i?{maxWidth:i}:{},...u?{minHeight:u}:{},...d?{maxHeight:d}:{}}},oa="0.75rem",Fd="1rem",Mc="5px",d$=({isResizable:e,direction:t})=>{const n=`calc((2 * ${oa} + ${Mc}) / -2)`;return t==="top"?{containerStyles:{borderBottomWidth:Mc,paddingBottom:Fd},handleStyles:e?{top:{paddingTop:oa,paddingBottom:oa,bottom:n}}:{}}:t==="left"?{containerStyles:{borderInlineEndWidth:Mc,paddingInlineEnd:Fd},handleStyles:e?{right:{paddingInlineStart:oa,paddingInlineEnd:oa,insetInlineEnd:n}}:{}}:t==="bottom"?{containerStyles:{borderTopWidth:Mc,paddingTop:Fd},handleStyles:e?{bottom:{paddingTop:oa,paddingBottom:oa,top:n}}:{}}:t==="right"?{containerStyles:{borderInlineStartWidth:Mc,paddingInlineStart:Fd},handleStyles:e?{left:{paddingInlineStart:oa,paddingInlineEnd:oa,insetInlineStart:n}}:{}}:{containerStyles:{},handleStyles:{}}},f$=(e,t)=>["top","bottom"].includes(e)?e:e==="left"?t==="rtl"?"right":"left":e==="right"?t==="rtl"?"left":"right":"left",Me=(e,t)=>n=>n==="light"?e:t,p$=He(l$,{shouldForwardProp:e=>!["sx"].includes(e)}),R5=({direction:e="left",isResizable:t,isOpen:n,onClose:r,children:o,initialWidth:s,minWidth:i,maxWidth:u,initialHeight:d,minHeight:p,maxHeight:h,onResizeStart:g,onResizeStop:v,onResize:b,sx:S={}})=>{const x=Kp().direction,{colorMode:C}=xs(),_=f.useRef(null),k=f.useMemo(()=>s??i??(["left","right"].includes(e)?"auto":"100%"),[s,i,e]),P=f.useMemo(()=>d??p??(["top","bottom"].includes(e)?"auto":"100%"),[d,p,e]),[I,E]=f.useState(k),[O,R]=f.useState(P);tD({ref:_,handler:()=>{r()},enabled:n});const D=f.useMemo(()=>t?c$({direction:e,langDirection:x}):{},[t,x,e]),T=f.useMemo(()=>u$({direction:e,minWidth:i,maxWidth:u,minHeight:p,maxHeight:h}),[i,u,p,h,e]),{containerStyles:B,handleStyles:W}=f.useMemo(()=>d$({isResizable:t,direction:e}),[t,e]),J=f.useMemo(()=>f$(e,x),[e,x]);return f.useEffect(()=>{["left","right"].includes(e)&&R("100vh"),["top","bottom"].includes(e)&&E("100vw")},[e]),a.jsx(A3,{direction:J,in:n,motionProps:{initial:!1},style:{width:"full"},children:a.jsx($e,{ref:_,sx:{width:"full",height:"full"},children:a.jsx(p$,{size:{width:t?I:k,height:t?O:P},enable:D,handleStyles:W,...T,sx:{borderColor:Me("base.200","base.800")(C),p:4,bg:Me("base.50","base.900")(C),height:"full",shadow:n?"dark-lg":void 0,...B,...S},onResizeStart:(F,N,G)=>{g&&g(F,N,G)},onResize:(F,N,G,K)=>{b&&b(F,N,G,K)},onResizeStop:(F,N,G,K)=>{["left","right"].includes(N)&&E(Number(I)+K.width),["top","bottom"].includes(N)&&R(Number(O)+K.height),v&&v(F,N,G,K)},children:o})})})};/*! - * OverlayScrollbars - * Version: 2.2.1 - * - * Copyright (c) Rene Haas | KingSora. - * https://github.com/KingSora - * - * Released under the MIT license. - */function gn(e,t){if(hh(e))for(let n=0;nt(e[n],n,e));return e}function Yr(e,t){const n=oi(t);if(ys(t)||n){let o=n?"":{};if(e){const s=window.getComputedStyle(e,null);o=n?P2(e,s,t):t.reduce((i,u)=>(i[u]=P2(e,s,u),i),o)}return o}e&&gn(Mo(t),o=>E$(e,o,t[o]))}const is=(e,t)=>{const{o:n,u:r,_:o}=e;let s=n,i;const u=(h,g)=>{const v=s,b=h,S=g||(r?!r(v,b):v!==b);return(S||o)&&(s=b,i=v),[s,S,i]};return[t?h=>u(t(s,i),h):u,h=>[s,!!h,i]]},Lu=()=>typeof window<"u",D5=Lu()&&Node.ELEMENT_NODE,{toString:h$,hasOwnProperty:mg}=Object.prototype,ka=e=>e===void 0,ph=e=>e===null,m$=e=>ka(e)||ph(e)?`${e}`:h$.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),Ya=e=>typeof e=="number",oi=e=>typeof e=="string",e1=e=>typeof e=="boolean",vs=e=>typeof e=="function",ys=e=>Array.isArray(e),du=e=>typeof e=="object"&&!ys(e)&&!ph(e),hh=e=>{const t=!!e&&e.length,n=Ya(t)&&t>-1&&t%1==0;return ys(e)||!vs(e)&&n?t>0&&du(e)?t-1 in e:!0:!1},S0=e=>{if(!e||!du(e)||m$(e)!=="object")return!1;let t;const n="constructor",r=e[n],o=r&&r.prototype,s=mg.call(e,n),i=o&&mg.call(o,"isPrototypeOf");if(r&&!s&&!i)return!1;for(t in e);return ka(t)||mg.call(e,t)},Vf=e=>{const t=HTMLElement;return e?t?e instanceof t:e.nodeType===D5:!1},mh=e=>{const t=Element;return e?t?e instanceof t:e.nodeType===D5:!1},t1=(e,t,n)=>e.indexOf(t,n),Pn=(e,t,n)=>(!n&&!oi(t)&&hh(t)?Array.prototype.push.apply(e,t):e.push(t),e),Di=e=>{const t=Array.from,n=[];return t&&e?t(e):(e instanceof Set?e.forEach(r=>{Pn(n,r)}):gn(e,r=>{Pn(n,r)}),n)},n1=e=>!!e&&e.length===0,Qs=(e,t,n)=>{gn(e,o=>o&&o.apply(void 0,t||[])),!n&&(e.length=0)},gh=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Mo=e=>e?Object.keys(e):[],rr=(e,t,n,r,o,s,i)=>{const u=[t,n,r,o,s,i];return(typeof e!="object"||ph(e))&&!vs(e)&&(e={}),gn(u,d=>{gn(Mo(d),p=>{const h=d[p];if(e===h)return!0;const g=ys(h);if(h&&(S0(h)||g)){const v=e[p];let b=v;g&&!ys(v)?b=[]:!g&&!S0(v)&&(b={}),e[p]=rr(b,h)}else e[p]=h})}),e},r1=e=>{for(const t in e)return!1;return!0},A5=(e,t,n,r)=>{if(ka(r))return n?n[e]:t;n&&(oi(r)||Ya(r))&&(n[e]=r)},Qr=(e,t,n)=>{if(ka(n))return e?e.getAttribute(t):null;e&&e.setAttribute(t,n)},go=(e,t)=>{e&&e.removeAttribute(t)},_i=(e,t,n,r)=>{if(n){const o=Qr(e,t)||"",s=new Set(o.split(" "));s[r?"add":"delete"](n);const i=Di(s).join(" ").trim();Qr(e,t,i)}},g$=(e,t,n)=>{const r=Qr(e,t)||"";return new Set(r.split(" ")).has(n)},fs=(e,t)=>A5("scrollLeft",0,e,t),ua=(e,t)=>A5("scrollTop",0,e,t),C0=Lu()&&Element.prototype,T5=(e,t)=>{const n=[],r=t?mh(t)?t:null:document;return r?Pn(n,r.querySelectorAll(e)):n},v$=(e,t)=>{const n=t?mh(t)?t:null:document;return n?n.querySelector(e):null},Uf=(e,t)=>mh(e)?(C0.matches||C0.msMatchesSelector).call(e,t):!1,o1=e=>e?Di(e.childNodes):[],xa=e=>e?e.parentElement:null,Sl=(e,t)=>{if(mh(e)){const n=C0.closest;if(n)return n.call(e,t);do{if(Uf(e,t))return e;e=xa(e)}while(e)}return null},y$=(e,t,n)=>{const r=e&&Sl(e,t),o=e&&v$(n,r),s=Sl(o,t)===r;return r&&o?r===e||o===e||s&&Sl(Sl(e,n),t)!==r:!1},s1=(e,t,n)=>{if(n&&e){let r=t,o;hh(n)?(o=document.createDocumentFragment(),gn(n,s=>{s===r&&(r=s.previousSibling),o.appendChild(s)})):o=n,t&&(r?r!==t&&(r=r.nextSibling):r=e.firstChild),e.insertBefore(o,r||null)}},Vo=(e,t)=>{s1(e,null,t)},b$=(e,t)=>{s1(xa(e),e,t)},_2=(e,t)=>{s1(xa(e),e&&e.nextSibling,t)},Us=e=>{if(hh(e))gn(Di(e),t=>Us(t));else if(e){const t=xa(e);t&&t.removeChild(e)}},ki=e=>{const t=document.createElement("div");return e&&Qr(t,"class",e),t},N5=e=>{const t=ki();return t.innerHTML=e.trim(),gn(o1(t),n=>Us(n))},_0=e=>e.charAt(0).toUpperCase()+e.slice(1),x$=()=>ki().style,w$=["-webkit-","-moz-","-o-","-ms-"],S$=["WebKit","Moz","O","MS","webkit","moz","o","ms"],gg={},vg={},C$=e=>{let t=vg[e];if(gh(vg,e))return t;const n=_0(e),r=x$();return gn(w$,o=>{const s=o.replace(/-/g,"");return!(t=[e,o+e,s+n,_0(s)+n].find(u=>r[u]!==void 0))}),vg[e]=t||""},Bu=e=>{if(Lu()){let t=gg[e]||window[e];return gh(gg,e)||(gn(S$,n=>(t=t||window[n+_0(e)],!t)),gg[e]=t),t}},_$=Bu("MutationObserver"),k2=Bu("IntersectionObserver"),Cl=Bu("ResizeObserver"),$5=Bu("cancelAnimationFrame"),z5=Bu("requestAnimationFrame"),Gf=Lu()&&window.setTimeout,k0=Lu()&&window.clearTimeout,k$=/[^\x20\t\r\n\f]+/g,L5=(e,t,n)=>{const r=e&&e.classList;let o,s=0,i=!1;if(r&&t&&oi(t)){const u=t.match(k$)||[];for(i=u.length>0;o=u[s++];)i=!!n(r,o)&&i}return i},a1=(e,t)=>{L5(e,t,(n,r)=>n.remove(r))},da=(e,t)=>(L5(e,t,(n,r)=>n.add(r)),a1.bind(0,e,t)),vh=(e,t,n,r)=>{if(e&&t){let o=!0;return gn(n,s=>{const i=r?r(e[s]):e[s],u=r?r(t[s]):t[s];i!==u&&(o=!1)}),o}return!1},B5=(e,t)=>vh(e,t,["w","h"]),F5=(e,t)=>vh(e,t,["x","y"]),j$=(e,t)=>vh(e,t,["t","r","b","l"]),j2=(e,t,n)=>vh(e,t,["width","height"],n&&(r=>Math.round(r))),Wo=()=>{},yl=e=>{let t;const n=e?Gf:z5,r=e?k0:$5;return[o=>{r(t),t=n(o,vs(e)?e():e)},()=>r(t)]},i1=(e,t)=>{let n,r,o,s=Wo;const{v:i,g:u,p:d}=t||{},p=function(S){s(),k0(n),n=r=void 0,s=Wo,e.apply(this,S)},h=b=>d&&r?d(r,b):b,g=()=>{s!==Wo&&p(h(o)||o)},v=function(){const S=Di(arguments),x=vs(i)?i():i;if(Ya(x)&&x>=0){const _=vs(u)?u():u,k=Ya(_)&&_>=0,P=x>0?Gf:z5,I=x>0?k0:$5,O=h(S)||S,R=p.bind(0,O);s();const D=P(R,x);s=()=>I(D),k&&!n&&(n=Gf(g,_)),r=o=O}else p(S)};return v.m=g,v},P$={opacity:1,zindex:1},Hd=(e,t)=>{const n=t?parseFloat(e):parseInt(e,10);return n===n?n:0},I$=(e,t)=>!P$[e.toLowerCase()]&&Ya(t)?`${t}px`:t,P2=(e,t,n)=>t!=null?t[n]||t.getPropertyValue(n):e.style[n],E$=(e,t,n)=>{try{const{style:r}=e;ka(r[t])?r.setProperty(t,n):r[t]=I$(t,n)}catch{}},fu=e=>Yr(e,"direction")==="rtl",I2=(e,t,n)=>{const r=t?`${t}-`:"",o=n?`-${n}`:"",s=`${r}top${o}`,i=`${r}right${o}`,u=`${r}bottom${o}`,d=`${r}left${o}`,p=Yr(e,[s,i,u,d]);return{t:Hd(p[s],!0),r:Hd(p[i],!0),b:Hd(p[u],!0),l:Hd(p[d],!0)}},{round:E2}=Math,l1={w:0,h:0},pu=e=>e?{w:e.offsetWidth,h:e.offsetHeight}:l1,wf=e=>e?{w:e.clientWidth,h:e.clientHeight}:l1,qf=e=>e?{w:e.scrollWidth,h:e.scrollHeight}:l1,Kf=e=>{const t=parseFloat(Yr(e,"height"))||0,n=parseFloat(Yr(e,"width"))||0;return{w:n-E2(n),h:t-E2(t)}},Fs=e=>e.getBoundingClientRect();let Wd;const O$=()=>{if(ka(Wd)){Wd=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){Wd=!0}}))}catch{}}return Wd},H5=e=>e.split(" "),M$=(e,t,n,r)=>{gn(H5(t),o=>{e.removeEventListener(o,n,r)})},Er=(e,t,n,r)=>{var o;const s=O$(),i=(o=s&&r&&r.S)!=null?o:s,u=r&&r.$||!1,d=r&&r.C||!1,p=[],h=s?{passive:i,capture:u}:u;return gn(H5(t),g=>{const v=d?b=>{e.removeEventListener(g,v,u),n&&n(b)}:n;Pn(p,M$.bind(null,e,g,v,u)),e.addEventListener(g,v,h)}),Qs.bind(0,p)},W5=e=>e.stopPropagation(),V5=e=>e.preventDefault(),R$={x:0,y:0},yg=e=>{const t=e?Fs(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:R$},O2=(e,t)=>{gn(ys(t)?t:[t],e)},c1=e=>{const t=new Map,n=(s,i)=>{if(s){const u=t.get(s);O2(d=>{u&&u[d?"delete":"clear"](d)},i)}else t.forEach(u=>{u.clear()}),t.clear()},r=(s,i)=>{if(oi(s)){const p=t.get(s)||new Set;return t.set(s,p),O2(h=>{vs(h)&&p.add(h)},i),n.bind(0,s,i)}e1(i)&&i&&n();const u=Mo(s),d=[];return gn(u,p=>{const h=s[p];h&&Pn(d,r(p,h))}),Qs.bind(0,d)},o=(s,i)=>{const u=t.get(s);gn(Di(u),d=>{i&&!n1(i)?d.apply(0,i):d()})};return r(e||{}),[r,n,o]},M2=e=>JSON.stringify(e,(t,n)=>{if(vs(n))throw new Error;return n}),D$={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[["img","load"]],debounce:[0,33],attributes:null,ignoreMutation:null},overflow:{x:"scroll",y:"scroll"},scrollbars:{theme:"os-theme-dark",visibility:"auto",autoHide:"never",autoHideDelay:1300,dragScroll:!0,clickScroll:!1,pointers:["mouse","touch","pen"]}},U5=(e,t)=>{const n={},r=Mo(t).concat(Mo(e));return gn(r,o=>{const s=e[o],i=t[o];if(du(s)&&du(i))rr(n[o]={},U5(s,i)),r1(n[o])&&delete n[o];else if(gh(t,o)&&i!==s){let u=!0;if(ys(s)||ys(i))try{M2(s)===M2(i)&&(u=!1)}catch{}u&&(n[o]=i)}}),n},G5="os-environment",q5=`${G5}-flexbox-glue`,A$=`${q5}-max`,K5="os-scrollbar-hidden",bg="data-overlayscrollbars-initialize",ls="data-overlayscrollbars",Q5=`${ls}-overflow-x`,Y5=`${ls}-overflow-y`,Dl="overflowVisible",T$="scrollbarHidden",R2="scrollbarPressed",Qf="updating",Ba="data-overlayscrollbars-viewport",xg="arrange",X5="scrollbarHidden",Al=Dl,j0="data-overlayscrollbars-padding",N$=Al,D2="data-overlayscrollbars-content",u1="os-size-observer",$$=`${u1}-appear`,z$=`${u1}-listener`,L$="os-trinsic-observer",B$="os-no-css-vars",F$="os-theme-none",wo="os-scrollbar",H$=`${wo}-rtl`,W$=`${wo}-horizontal`,V$=`${wo}-vertical`,J5=`${wo}-track`,d1=`${wo}-handle`,U$=`${wo}-visible`,G$=`${wo}-cornerless`,A2=`${wo}-transitionless`,T2=`${wo}-interaction`,N2=`${wo}-unusable`,$2=`${wo}-auto-hidden`,z2=`${wo}-wheel`,q$=`${J5}-interactive`,K$=`${d1}-interactive`,Z5={},Ai=()=>Z5,Q$=e=>{const t=[];return gn(ys(e)?e:[e],n=>{const r=Mo(n);gn(r,o=>{Pn(t,Z5[o]=n[o])})}),t},Y$="__osOptionsValidationPlugin",X$="__osSizeObserverPlugin",f1="__osScrollbarsHidingPlugin",J$="__osClickScrollPlugin";let wg;const L2=(e,t,n,r)=>{Vo(e,t);const o=wf(t),s=pu(t),i=Kf(n);return r&&Us(t),{x:s.h-o.h+i.h,y:s.w-o.w+i.w}},Z$=e=>{let t=!1;const n=da(e,K5);try{t=Yr(e,C$("scrollbar-width"))==="none"||window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return n(),t},ez=(e,t)=>{const n="hidden";Yr(e,{overflowX:n,overflowY:n,direction:"rtl"}),fs(e,0);const r=yg(e),o=yg(t);fs(e,-999);const s=yg(t);return{i:r.x===o.x,n:o.x!==s.x}},tz=(e,t)=>{const n=da(e,q5),r=Fs(e),o=Fs(t),s=j2(o,r,!0),i=da(e,A$),u=Fs(e),d=Fs(t),p=j2(d,u,!0);return n(),i(),s&&p},nz=()=>{const{body:e}=document,n=N5(`
`)[0],r=n.firstChild,[o,,s]=c1(),[i,u]=is({o:L2(e,n,r),u:F5},L2.bind(0,e,n,r,!0)),[d]=u(),p=Z$(n),h={x:d.x===0,y:d.y===0},g={elements:{host:null,padding:!p,viewport:k=>p&&k===k.ownerDocument.body&&k,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},v=rr({},D$),b=rr.bind(0,{},v),S=rr.bind(0,{},g),x={k:d,A:h,I:p,L:Yr(n,"zIndex")==="-1",B:ez(n,r),V:tz(n,r),Y:o.bind(0,"z"),j:o.bind(0,"r"),N:S,q:k=>rr(g,k)&&S(),F:b,G:k=>rr(v,k)&&b(),X:rr({},g),U:rr({},v)},C=window.addEventListener,_=i1(k=>s(k?"z":"r"),{v:33,g:99});if(go(n,"style"),Us(n),C("resize",_.bind(0,!1)),!p&&(!h.x||!h.y)){let k;C("resize",()=>{const P=Ai()[f1];k=k||P&&P.R(),k&&k(x,i,_.bind(0,!0))})}return x},So=()=>(wg||(wg=nz()),wg),p1=(e,t)=>vs(t)?t.apply(0,e):t,rz=(e,t,n,r)=>{const o=ka(r)?n:r;return p1(e,o)||t.apply(0,e)},e_=(e,t,n,r)=>{const o=ka(r)?n:r,s=p1(e,o);return!!s&&(Vf(s)?s:t.apply(0,e))},oz=(e,t,n)=>{const{nativeScrollbarsOverlaid:r,body:o}=n||{},{A:s,I:i}=So(),{nativeScrollbarsOverlaid:u,body:d}=t,p=r??u,h=ka(o)?d:o,g=(s.x||s.y)&&p,v=e&&(ph(h)?!i:h);return!!g||!!v},h1=new WeakMap,sz=(e,t)=>{h1.set(e,t)},az=e=>{h1.delete(e)},t_=e=>h1.get(e),B2=(e,t)=>e?t.split(".").reduce((n,r)=>n&&gh(n,r)?n[r]:void 0,e):void 0,P0=(e,t,n)=>r=>[B2(e,r),n||B2(t,r)!==void 0],n_=e=>{let t=e;return[()=>t,n=>{t=rr({},t,n)}]},Vd="tabindex",Ud=ki.bind(0,""),Sg=e=>{Vo(xa(e),o1(e)),Us(e)},iz=e=>{const t=So(),{N:n,I:r}=t,o=Ai()[f1],s=o&&o.T,{elements:i}=n(),{host:u,padding:d,viewport:p,content:h}=i,g=Vf(e),v=g?{}:e,{elements:b}=v,{host:S,padding:x,viewport:C,content:_}=b||{},k=g?e:v.target,P=Uf(k,"textarea"),I=k.ownerDocument,E=I.documentElement,O=k===I.body,R=I.defaultView,D=rz.bind(0,[k]),T=e_.bind(0,[k]),B=p1.bind(0,[k]),W=D.bind(0,Ud,p),J=T.bind(0,Ud,h),F=W(C),N=F===k,G=N&&O,K=!N&&J(_),M=!N&&Vf(F)&&F===K,U=M&&!!B(h),V=U?W():F,ee=U?K:J(),xe=G?E:M?V:F,me=P?D(Ud,u,S):k,ae=G?xe:me,te=M?ee:K,H=I.activeElement,re=!N&&R.top===R&&H===k,pe={W:k,Z:ae,J:xe,K:!N&&T(Ud,d,x),tt:te,nt:!N&&!r&&s&&s(t),ot:G?E:xe,st:G?I:xe,et:R,ct:I,rt:P,it:O,lt:g,ut:N,dt:M,ft:(Pt,bt)=>g$(xe,N?ls:Ba,N?bt:Pt),_t:(Pt,bt,be)=>_i(xe,N?ls:Ba,N?bt:Pt,be)},ne=Mo(pe).reduce((Pt,bt)=>{const be=pe[bt];return Pn(Pt,be&&!xa(be)?be:!1)},[]),ve=Pt=>Pt?t1(ne,Pt)>-1:null,{W:de,Z:Ce,K:Re,J:ge,tt:_e,nt:We}=pe,Le=[()=>{go(Ce,ls),go(Ce,bg),go(de,bg),O&&(go(E,ls),go(E,bg))}],Ue=P&&ve(Ce);let jt=P?de:o1([_e,ge,Re,Ce,de].find(Pt=>ve(Pt)===!1));const vt=G?de:_e||ge;return[pe,()=>{Qr(Ce,ls,N?"viewport":"host"),Qr(Re,j0,""),Qr(_e,D2,""),N||Qr(ge,Ba,"");const Pt=O&&!N?da(xa(k),K5):Wo;if(Ue&&(_2(de,Ce),Pn(Le,()=>{_2(Ce,de),Us(Ce)})),Vo(vt,jt),Vo(Ce,Re),Vo(Re||Ce,!N&&ge),Vo(ge,_e),Pn(Le,()=>{Pt(),go(Re,j0),go(_e,D2),go(ge,Q5),go(ge,Y5),go(ge,Ba),ve(_e)&&Sg(_e),ve(ge)&&Sg(ge),ve(Re)&&Sg(Re)}),r&&!N&&(_i(ge,Ba,X5,!0),Pn(Le,go.bind(0,ge,Ba))),We&&(b$(ge,We),Pn(Le,Us.bind(0,We))),re){const bt=Qr(ge,Vd);Qr(ge,Vd,"-1"),ge.focus();const be=()=>bt?Qr(ge,Vd,bt):go(ge,Vd),Ae=Er(I,"pointerdown keydown",()=>{be(),Ae()});Pn(Le,[be,Ae])}else H&&H.focus&&H.focus();jt=0},Qs.bind(0,Le)]},lz=(e,t)=>{const{tt:n}=e,[r]=t;return o=>{const{V:s}=So(),{ht:i}=r(),{vt:u}=o,d=(n||!s)&&u;return d&&Yr(n,{height:i?"":"100%"}),{gt:d,wt:d}}},cz=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:i,ut:u}=e,[d,p]=is({u:j$,o:I2()},I2.bind(0,o,"padding",""));return(h,g,v)=>{let[b,S]=p(v);const{I:x,V:C}=So(),{bt:_}=n(),{gt:k,wt:P,yt:I}=h,[E,O]=g("paddingAbsolute");(k||S||!C&&P)&&([b,S]=d(v));const D=!u&&(O||I||S);if(D){const T=!E||!s&&!x,B=b.r+b.l,W=b.t+b.b,J={marginRight:T&&!_?-B:0,marginBottom:T?-W:0,marginLeft:T&&_?-B:0,top:T?-b.t:0,right:T?_?-b.r:"auto":0,left:T?_?"auto":-b.l:0,width:T?`calc(100% + ${B}px)`:""},F={paddingTop:T?b.t:0,paddingRight:T?b.r:0,paddingBottom:T?b.b:0,paddingLeft:T?b.l:0};Yr(s||i,J),Yr(i,F),r({K:b,St:!T,P:s?F:rr({},J,F)})}return{xt:D}}},{max:I0}=Math,Fa=I0.bind(0,0),r_="visible",F2="hidden",uz=42,Gd={u:B5,o:{w:0,h:0}},dz={u:F5,o:{x:F2,y:F2}},fz=(e,t)=>{const n=window.devicePixelRatio%1!==0?1:0,r={w:Fa(e.w-t.w),h:Fa(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},qd=e=>e.indexOf(r_)===0,pz=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:i,nt:u,ut:d,_t:p,it:h,et:g}=e,{k:v,V:b,I:S,A:x}=So(),C=Ai()[f1],_=!d&&!S&&(x.x||x.y),k=h&&d,[P,I]=is(Gd,Kf.bind(0,i)),[E,O]=is(Gd,qf.bind(0,i)),[R,D]=is(Gd),[T,B]=is(Gd),[W]=is(dz),J=(U,V)=>{if(Yr(i,{height:""}),V){const{St:ee,K:ie}=n(),{$t:xe,D:me}=U,ae=Kf(o),te=wf(o),H=Yr(i,"boxSizing")==="content-box",re=ee||H?ie.b+ie.t:0,pe=!(x.x&&H);Yr(i,{height:te.h+ae.h+(xe.x&&pe?me.x:0)-re})}},F=(U,V)=>{const ee=!S&&!U?uz:0,ie=(ve,de,Ce)=>{const Re=Yr(i,ve),_e=(V?V[ve]:Re)==="scroll";return[Re,_e,_e&&!S?de?ee:Ce:0,de&&!!ee]},[xe,me,ae,te]=ie("overflowX",x.x,v.x),[H,re,pe,ne]=ie("overflowY",x.y,v.y);return{Ct:{x:xe,y:H},$t:{x:me,y:re},D:{x:ae,y:pe},M:{x:te,y:ne}}},N=(U,V,ee,ie)=>{const xe=(re,pe)=>{const ne=qd(re),ve=pe&&ne&&re.replace(`${r_}-`,"")||"";return[pe&&!ne?re:"",qd(ve)?"hidden":ve]},[me,ae]=xe(ee.x,V.x),[te,H]=xe(ee.y,V.y);return ie.overflowX=ae&&te?ae:me,ie.overflowY=H&&me?H:te,F(U,ie)},G=(U,V,ee,ie)=>{const{D:xe,M:me}=U,{x:ae,y:te}=me,{x:H,y:re}=xe,{P:pe}=n(),ne=V?"marginLeft":"marginRight",ve=V?"paddingLeft":"paddingRight",de=pe[ne],Ce=pe.marginBottom,Re=pe[ve],ge=pe.paddingBottom;ie.width=`calc(100% + ${re+-1*de}px)`,ie[ne]=-re+de,ie.marginBottom=-H+Ce,ee&&(ie[ve]=Re+(te?re:0),ie.paddingBottom=ge+(ae?H:0))},[K,M]=C?C.H(_,b,i,u,n,F,G):[()=>_,()=>[Wo]];return(U,V,ee)=>{const{gt:ie,Ot:xe,wt:me,xt:ae,vt:te,yt:H}=U,{ht:re,bt:pe}=n(),[ne,ve]=V("showNativeOverlaidScrollbars"),[de,Ce]=V("overflow"),Re=ne&&x.x&&x.y,ge=!d&&!b&&(ie||me||xe||ve||te),_e=qd(de.x),We=qd(de.y),Le=_e||We;let Ue=I(ee),jt=O(ee),vt=D(ee),jn=B(ee),Pt;if(ve&&S&&p(X5,T$,!Re),ge&&(Pt=F(Re),J(Pt,re)),ie||ae||me||H||ve){Le&&p(Al,Dl,!1);const[Ie,it]=M(Re,pe,Pt),[Xe,ot]=Ue=P(ee),[Nt,ur]=jt=E(ee),yn=wf(i);let bn=Nt,$r=yn;Ie(),(ur||ot||ve)&&it&&!Re&&K(it,Nt,Xe,pe)&&($r=wf(i),bn=qf(i));const dr={w:Fa(I0(Nt.w,bn.w)+Xe.w),h:Fa(I0(Nt.h,bn.h)+Xe.h)},An={w:Fa((k?g.innerWidth:$r.w+Fa(yn.w-Nt.w))+Xe.w),h:Fa((k?g.innerHeight+Xe.h:$r.h+Fa(yn.h-Nt.h))+Xe.h)};jn=T(An),vt=R(fz(dr,An),ee)}const[bt,be]=jn,[Ae,Et]=vt,[Ft,Wt]=jt,[_n,In]=Ue,ln={x:Ae.w>0,y:Ae.h>0},Cr=_e&&We&&(ln.x||ln.y)||_e&&ln.x&&!ln.y||We&&ln.y&&!ln.x;if(ae||H||In||Wt||be||Et||Ce||ve||ge){const Ie={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},it=N(Re,ln,de,Ie),Xe=K(it,Ft,_n,pe);d||G(it,pe,Xe,Ie),ge&&J(it,re),d?(Qr(o,Q5,Ie.overflowX),Qr(o,Y5,Ie.overflowY)):Yr(i,Ie)}_i(o,ls,Dl,Cr),_i(s,j0,N$,Cr),d||_i(i,Ba,Al,Le);const[vn,sr]=W(F(Re).Ct);return r({Ct:vn,zt:{x:bt.w,y:bt.h},Tt:{x:Ae.w,y:Ae.h},Et:ln}),{It:sr,At:be,Lt:Et}}},H2=(e,t,n)=>{const r={},o=t||{},s=Mo(e).concat(Mo(o));return gn(s,i=>{const u=e[i],d=o[i];r[i]=!!(n||u||d)}),r},hz=(e,t)=>{const{W:n,J:r,_t:o,ut:s}=e,{I:i,A:u,V:d}=So(),p=!i&&(u.x||u.y),h=[lz(e,t),cz(e,t),pz(e,t)];return(g,v,b)=>{const S=H2(rr({gt:!1,xt:!1,yt:!1,vt:!1,At:!1,Lt:!1,It:!1,Ot:!1,wt:!1},v),{},b),x=p||!d,C=x&&fs(r),_=x&&ua(r);o("",Qf,!0);let k=S;return gn(h,P=>{k=H2(k,P(k,g,!!b)||{},b)}),fs(r,C),ua(r,_),o("",Qf),s||(fs(n,0),ua(n,0)),k}},mz=(e,t,n)=>{let r,o=!1;const s=()=>{o=!0},i=u=>{if(n){const d=n.reduce((p,h)=>{if(h){const[g,v]=h,b=v&&g&&(u?u(g):T5(g,e));b&&b.length&&v&&oi(v)&&Pn(p,[b,v.trim()],!0)}return p},[]);gn(d,p=>gn(p[0],h=>{const g=p[1],v=r.get(h)||[];if(e.contains(h)){const S=Er(h,g,x=>{o?(S(),r.delete(h)):t(x)});r.set(h,Pn(v,S))}else Qs(v),r.delete(h)}))}};return n&&(r=new WeakMap,i()),[s,i]},W2=(e,t,n,r)=>{let o=!1;const{Ht:s,Pt:i,Dt:u,Mt:d,Rt:p,kt:h}=r||{},g=i1(()=>{o&&n(!0)},{v:33,g:99}),[v,b]=mz(e,g,u),S=s||[],x=i||[],C=S.concat(x),_=(P,I)=>{const E=p||Wo,O=h||Wo,R=new Set,D=new Set;let T=!1,B=!1;if(gn(P,W=>{const{attributeName:J,target:F,type:N,oldValue:G,addedNodes:K,removedNodes:M}=W,U=N==="attributes",V=N==="childList",ee=e===F,ie=U&&oi(J)?Qr(F,J):0,xe=ie!==0&&G!==ie,me=t1(x,J)>-1&&xe;if(t&&(V||!ee)){const ae=!U,te=U&&xe,H=te&&d&&Uf(F,d),pe=(H?!E(F,J,G,ie):ae||te)&&!O(W,!!H,e,r);gn(K,ne=>R.add(ne)),gn(M,ne=>R.add(ne)),B=B||pe}!t&&ee&&xe&&!E(F,J,G,ie)&&(D.add(J),T=T||me)}),R.size>0&&b(W=>Di(R).reduce((J,F)=>(Pn(J,T5(W,F)),Uf(F,W)?Pn(J,F):J),[])),t)return!I&&B&&n(!1),[!1];if(D.size>0||T){const W=[Di(D),T];return!I&&n.apply(0,W),W}},k=new _$(P=>_(P));return k.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:C,subtree:t,childList:t,characterData:t}),o=!0,[()=>{o&&(v(),k.disconnect(),o=!1)},()=>{if(o){g.m();const P=k.takeRecords();return!n1(P)&&_(P,!0)}}]},Kd=3333333,Qd=e=>e&&(e.height||e.width),o_=(e,t,n)=>{const{Bt:r=!1,Vt:o=!1}=n||{},s=Ai()[X$],{B:i}=So(),d=N5(`
`)[0],p=d.firstChild,h=fu.bind(0,e),[g]=is({o:void 0,_:!0,u:(x,C)=>!(!x||!Qd(x)&&Qd(C))}),v=x=>{const C=ys(x)&&x.length>0&&du(x[0]),_=!C&&e1(x[0]);let k=!1,P=!1,I=!0;if(C){const[E,,O]=g(x.pop().contentRect),R=Qd(E),D=Qd(O);k=!O||!R,P=!D&&R,I=!k}else _?[,I]=x:P=x===!0;if(r&&I){const E=_?x[0]:fu(d);fs(d,E?i.n?-Kd:i.i?0:Kd:Kd),ua(d,Kd)}k||t({gt:!_,Yt:_?x:void 0,Vt:!!P})},b=[];let S=o?v:!1;return[()=>{Qs(b),Us(d)},()=>{if(Cl){const x=new Cl(v);x.observe(p),Pn(b,()=>{x.disconnect()})}else if(s){const[x,C]=s.O(p,v,o);S=x,Pn(b,C)}if(r){const[x]=is({o:void 0},h);Pn(b,Er(d,"scroll",C=>{const _=x(),[k,P,I]=_;P&&(a1(p,"ltr rtl"),k?da(p,"rtl"):da(p,"ltr"),v([!!k,P,I])),W5(C)}))}S&&(da(d,$$),Pn(b,Er(d,"animationstart",S,{C:!!Cl}))),(Cl||s)&&Vo(e,d)}]},gz=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,vz=(e,t)=>{let n;const r=ki(L$),o=[],[s]=is({o:!1}),i=(d,p)=>{if(d){const h=s(gz(d)),[,g]=h;if(g)return!p&&t(h),[h]}},u=(d,p)=>{if(d&&d.length>0)return i(d.pop(),p)};return[()=>{Qs(o),Us(r)},()=>{if(k2)n=new k2(d=>u(d),{root:e}),n.observe(r),Pn(o,()=>{n.disconnect()});else{const d=()=>{const g=pu(r);i(g)},[p,h]=o_(r,d);Pn(o,p),h(),d()}Vo(e,r)},()=>{if(n)return u(n.takeRecords(),!0)}]},V2=`[${ls}]`,yz=`[${Ba}]`,Cg=["tabindex"],U2=["wrap","cols","rows"],_g=["id","class","style","open"],bz=(e,t,n)=>{let r,o,s;const{Z:i,J:u,tt:d,rt:p,ut:h,ft:g,_t:v}=e,{V:b}=So(),[S]=is({u:B5,o:{w:0,h:0}},()=>{const N=g(Al,Dl),G=g(xg,""),K=G&&fs(u),M=G&&ua(u);v(Al,Dl),v(xg,""),v("",Qf,!0);const U=qf(d),V=qf(u),ee=Kf(u);return v(Al,Dl,N),v(xg,"",G),v("",Qf),fs(u,K),ua(u,M),{w:V.w+U.w+ee.w,h:V.h+U.h+ee.h}}),x=p?U2:_g.concat(U2),C=i1(n,{v:()=>r,g:()=>o,p(N,G){const[K]=N,[M]=G;return[Mo(K).concat(Mo(M)).reduce((U,V)=>(U[V]=K[V]||M[V],U),{})]}}),_=N=>{gn(N||Cg,G=>{if(t1(Cg,G)>-1){const K=Qr(i,G);oi(K)?Qr(u,G,K):go(u,G)}})},k=(N,G)=>{const[K,M]=N,U={vt:M};return t({ht:K}),!G&&n(U),U},P=({gt:N,Yt:G,Vt:K})=>{const M=!N||K?n:C;let U=!1;if(G){const[V,ee]=G;U=ee,t({bt:V})}M({gt:N,yt:U})},I=(N,G)=>{const[,K]=S(),M={wt:K};return K&&!G&&(N?n:C)(M),M},E=(N,G,K)=>{const M={Ot:G};return G?!K&&C(M):h||_(N),M},[O,R,D]=d||!b?vz(i,k):[Wo,Wo,Wo],[T,B]=h?[Wo,Wo]:o_(i,P,{Vt:!0,Bt:!0}),[W,J]=W2(i,!1,E,{Pt:_g,Ht:_g.concat(Cg)}),F=h&&Cl&&new Cl(P.bind(0,{gt:!0}));return F&&F.observe(i),_(),[()=>{O(),T(),s&&s[0](),F&&F.disconnect(),W()},()=>{B(),R()},()=>{const N={},G=J(),K=D(),M=s&&s[1]();return G&&rr(N,E.apply(0,Pn(G,!0))),K&&rr(N,k.apply(0,Pn(K,!0))),M&&rr(N,I.apply(0,Pn(M,!0))),N},N=>{const[G]=N("update.ignoreMutation"),[K,M]=N("update.attributes"),[U,V]=N("update.elementEvents"),[ee,ie]=N("update.debounce"),xe=V||M,me=ae=>vs(G)&&G(ae);if(xe&&(s&&(s[1](),s[0]()),s=W2(d||u,!0,I,{Ht:x.concat(K||[]),Dt:U,Mt:V2,kt:(ae,te)=>{const{target:H,attributeName:re}=ae;return(!te&&re&&!h?y$(H,V2,yz):!1)||!!Sl(H,`.${wo}`)||!!me(ae)}})),ie)if(C.m(),ys(ee)){const ae=ee[0],te=ee[1];r=Ya(ae)&&ae,o=Ya(te)&&te}else Ya(ee)?(r=ee,o=!1):(r=!1,o=!1)}]},G2={x:0,y:0},xz=e=>({K:{t:0,r:0,b:0,l:0},St:!1,P:{marginRight:0,marginBottom:0,marginLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0},zt:G2,Tt:G2,Ct:{x:"hidden",y:"hidden"},Et:{x:!1,y:!1},ht:!1,bt:fu(e.Z)}),wz=(e,t)=>{const n=P0(t,{}),[r,o,s]=c1(),[i,u,d]=iz(e),p=n_(xz(i)),[h,g]=p,v=hz(i,p),b=(P,I,E)=>{const R=Mo(P).some(D=>P[D])||!r1(I)||E;return R&&s("u",[P,I,E]),R},[S,x,C,_]=bz(i,g,P=>b(v(n,P),{},!1)),k=h.bind(0);return k.jt=P=>r("u",P),k.Nt=()=>{const{W:P,J:I}=i,E=fs(P),O=ua(P);x(),u(),fs(I,E),ua(I,O)},k.qt=i,[(P,I)=>{const E=P0(t,P,I);return _(E),b(v(E,C(),I),P,!!I)},k,()=>{o(),S(),d()}]},{round:q2}=Math,Sz=e=>{const{width:t,height:n}=Fs(e),{w:r,h:o}=pu(e);return{x:q2(t)/r||1,y:q2(n)/o||1}},Cz=(e,t,n)=>{const r=t.scrollbars,{button:o,isPrimary:s,pointerType:i}=e,{pointers:u}=r;return o===0&&s&&r[n?"dragScroll":"clickScroll"]&&(u||[]).includes(i)},_z=(e,t)=>Er(e,"mousedown",Er.bind(0,t,"click",W5,{C:!0,$:!0}),{$:!0}),K2="pointerup pointerleave pointercancel lostpointercapture",kz=(e,t,n,r,o,s,i)=>{const{B:u}=So(),{Ft:d,Gt:p,Xt:h}=r,g=`scroll${i?"Left":"Top"}`,v=`client${i?"X":"Y"}`,b=i?"width":"height",S=i?"left":"top",x=i?"w":"h",C=i?"x":"y",_=(k,P)=>I=>{const{Tt:E}=s(),O=pu(p)[x]-pu(d)[x],D=P*I/O*E[C],B=fu(h)&&i?u.n||u.i?1:-1:1;o[g]=k+D*B};return Er(p,"pointerdown",k=>{const P=Sl(k.target,`.${d1}`)===d,I=P?d:p;if(_i(t,ls,R2,!0),Cz(k,e,P)){const E=!P&&k.shiftKey,O=()=>Fs(d),R=()=>Fs(p),D=(V,ee)=>(V||O())[S]-(ee||R())[S],T=_(o[g]||0,1/Sz(o)[C]),B=k[v],W=O(),J=R(),F=W[b],N=D(W,J)+F/2,G=B-J[S],K=P?0:G-N,M=V=>{Qs(U),I.releasePointerCapture(V.pointerId)},U=[_i.bind(0,t,ls,R2),Er(n,K2,M),Er(n,"selectstart",V=>V5(V),{S:!1}),Er(p,K2,M),Er(p,"pointermove",V=>{const ee=V[v]-B;(P||E)&&T(K+ee)})];if(E)T(K);else if(!P){const V=Ai()[J$];V&&Pn(U,V.O(T,D,K,F,G))}I.setPointerCapture(k.pointerId)}})},jz=(e,t)=>(n,r,o,s,i,u)=>{const{Xt:d}=n,[p,h]=yl(333),g=!!i.scrollBy;let v=!0;return Qs.bind(0,[Er(d,"pointerenter",()=>{r(T2,!0)}),Er(d,"pointerleave pointercancel",()=>{r(T2)}),Er(d,"wheel",b=>{const{deltaX:S,deltaY:x,deltaMode:C}=b;g&&v&&C===0&&xa(d)===s&&i.scrollBy({left:S,top:x,behavior:"smooth"}),v=!1,r(z2,!0),p(()=>{v=!0,r(z2)}),V5(b)},{S:!1,$:!0}),_z(d,o),kz(e,s,o,n,i,t,u),h])},{min:E0,max:Q2,abs:Pz,round:Iz}=Math,s_=(e,t,n,r)=>{if(r){const u=n?"x":"y",{Tt:d,zt:p}=r,h=p[u],g=d[u];return Q2(0,E0(1,h/(h+g)))}const o=n?"width":"height",s=Fs(e)[o],i=Fs(t)[o];return Q2(0,E0(1,s/i))},Ez=(e,t,n,r,o,s)=>{const{B:i}=So(),u=s?"x":"y",d=s?"Left":"Top",{Tt:p}=r,h=Iz(p[u]),g=Pz(n[`scroll${d}`]),v=s&&o,b=i.i?g:h-g,x=E0(1,(v?b:g)/h),C=s_(e,t,s);return 1/C*(1-C)*x},Oz=(e,t,n)=>{const{N:r,L:o}=So(),{scrollbars:s}=r(),{slot:i}=s,{ct:u,W:d,Z:p,J:h,lt:g,ot:v,it:b,ut:S}=t,{scrollbars:x}=g?{}:e,{slot:C}=x||{},_=e_([d,p,h],()=>S&&b?d:p,i,C),k=(K,M,U)=>{const V=U?da:a1;gn(K,ee=>{V(ee.Xt,M)})},P=(K,M)=>{gn(K,U=>{const[V,ee]=M(U);Yr(V,ee)})},I=(K,M,U)=>{P(K,V=>{const{Ft:ee,Gt:ie}=V;return[ee,{[U?"width":"height"]:`${(100*s_(ee,ie,U,M)).toFixed(3)}%`}]})},E=(K,M,U)=>{const V=U?"X":"Y";P(K,ee=>{const{Ft:ie,Gt:xe,Xt:me}=ee,ae=Ez(ie,xe,v,M,fu(me),U);return[ie,{transform:ae===ae?`translate${V}(${(100*ae).toFixed(3)}%)`:""}]})},O=[],R=[],D=[],T=(K,M,U)=>{const V=e1(U),ee=V?U:!0,ie=V?!U:!0;ee&&k(R,K,M),ie&&k(D,K,M)},B=K=>{I(R,K,!0),I(D,K)},W=K=>{E(R,K,!0),E(D,K)},J=K=>{const M=K?W$:V$,U=K?R:D,V=n1(U)?A2:"",ee=ki(`${wo} ${M} ${V}`),ie=ki(J5),xe=ki(d1),me={Xt:ee,Gt:ie,Ft:xe};return o||da(ee,B$),Vo(ee,ie),Vo(ie,xe),Pn(U,me),Pn(O,[Us.bind(0,ee),n(me,T,u,p,v,K)]),me},F=J.bind(0,!0),N=J.bind(0,!1),G=()=>{Vo(_,R[0].Xt),Vo(_,D[0].Xt),Gf(()=>{T(A2)},300)};return F(),N(),[{Ut:B,Wt:W,Zt:T,Jt:{Kt:R,Qt:F,tn:P.bind(0,R)},nn:{Kt:D,Qt:N,tn:P.bind(0,D)}},G,Qs.bind(0,O)]},Mz=(e,t,n,r)=>{let o,s,i,u,d,p=0;const h=n_({}),[g]=h,[v,b]=yl(),[S,x]=yl(),[C,_]=yl(100),[k,P]=yl(100),[I,E]=yl(()=>p),[O,R,D]=Oz(e,n.qt,jz(t,n)),{Z:T,J:B,ot:W,st:J,ut:F,it:N}=n.qt,{Jt:G,nn:K,Zt:M,Ut:U,Wt:V}=O,{tn:ee}=G,{tn:ie}=K,xe=re=>{const{Xt:pe}=re,ne=F&&!N&&xa(pe)===B&&pe;return[ne,{transform:ne?`translate(${fs(W)}px, ${ua(W)}px)`:""}]},me=(re,pe)=>{if(E(),re)M($2);else{const ne=()=>M($2,!0);p>0&&!pe?I(ne):ne()}},ae=()=>{u=s,u&&me(!0)},te=[_,E,P,x,b,D,Er(T,"pointerover",ae,{C:!0}),Er(T,"pointerenter",ae),Er(T,"pointerleave",()=>{u=!1,s&&me(!1)}),Er(T,"pointermove",()=>{o&&v(()=>{_(),me(!0),k(()=>{o&&me(!1)})})}),Er(J,"scroll",re=>{S(()=>{V(n()),i&&me(!0),C(()=>{i&&!u&&me(!1)})}),r(re),F&&ee(xe),F&&ie(xe)})],H=g.bind(0);return H.qt=O,H.Nt=R,[(re,pe,ne)=>{const{At:ve,Lt:de,It:Ce,yt:Re}=ne,{A:ge}=So(),_e=P0(t,re,pe),We=n(),{Tt:Le,Ct:Ue,bt:jt}=We,[vt,jn]=_e("showNativeOverlaidScrollbars"),[Pt,bt]=_e("scrollbars.theme"),[be,Ae]=_e("scrollbars.visibility"),[Et,Ft]=_e("scrollbars.autoHide"),[Wt]=_e("scrollbars.autoHideDelay"),[_n,In]=_e("scrollbars.dragScroll"),[ln,Cr]=_e("scrollbars.clickScroll"),vn=ve||de||Re,sr=Ce||Ae,Ie=vt&&ge.x&&ge.y,it=(Xe,ot)=>{const Nt=be==="visible"||be==="auto"&&Xe==="scroll";return M(U$,Nt,ot),Nt};if(p=Wt,jn&&M(F$,Ie),bt&&(M(d),M(Pt,!0),d=Pt),Ft&&(o=Et==="move",s=Et==="leave",i=Et!=="never",me(!i,!0)),In&&M(K$,_n),Cr&&M(q$,ln),sr){const Xe=it(Ue.x,!0),ot=it(Ue.y,!1);M(G$,!(Xe&&ot))}vn&&(U(We),V(We),M(N2,!Le.x,!0),M(N2,!Le.y,!1),M(H$,jt&&!N))},H,Qs.bind(0,te)]},a_=(e,t,n)=>{vs(e)&&e(t||void 0,n||void 0)},Ua=(e,t,n)=>{const{F:r,N:o,Y:s,j:i}=So(),u=Ai(),d=Vf(e),p=d?e:e.target,h=t_(p);if(t&&!h){let g=!1;const v=F=>{const N=Ai()[Y$],G=N&&N.O;return G?G(F,!0):F},b=rr({},r(),v(t)),[S,x,C]=c1(n),[_,k,P]=wz(e,b),[I,E,O]=Mz(e,b,k,F=>C("scroll",[J,F])),R=(F,N)=>_(F,!!N),D=R.bind(0,{},!0),T=s(D),B=i(D),W=F=>{az(p),T(),B(),O(),P(),g=!0,C("destroyed",[J,!!F]),x()},J={options(F,N){if(F){const G=N?r():{},K=U5(b,rr(G,v(F)));r1(K)||(rr(b,K),R(K))}return rr({},b)},on:S,off:(F,N)=>{F&&N&&x(F,N)},state(){const{zt:F,Tt:N,Ct:G,Et:K,K:M,St:U,bt:V}=k();return rr({},{overflowEdge:F,overflowAmount:N,overflowStyle:G,hasOverflow:K,padding:M,paddingAbsolute:U,directionRTL:V,destroyed:g})},elements(){const{W:F,Z:N,K:G,J:K,tt:M,ot:U,st:V}=k.qt,{Jt:ee,nn:ie}=E.qt,xe=ae=>{const{Ft:te,Gt:H,Xt:re}=ae;return{scrollbar:re,track:H,handle:te}},me=ae=>{const{Kt:te,Qt:H}=ae,re=xe(te[0]);return rr({},re,{clone:()=>{const pe=xe(H());return I({},!0,{}),pe}})};return rr({},{target:F,host:N,padding:G||K,viewport:K,content:M||K,scrollOffsetElement:U,scrollEventElement:V,scrollbarHorizontal:me(ee),scrollbarVertical:me(ie)})},update:F=>R({},F),destroy:W.bind(0)};return k.jt((F,N,G)=>{I(N,G,F)}),sz(p,J),gn(Mo(u),F=>a_(u[F],0,J)),oz(k.qt.it,o().cancel,!d&&e.cancel)?(W(!0),J):(k.Nt(),E.Nt(),C("initialized",[J]),k.jt((F,N,G)=>{const{gt:K,yt:M,vt:U,At:V,Lt:ee,It:ie,wt:xe,Ot:me}=F;C("updated",[J,{updateHints:{sizeChanged:K,directionChanged:M,heightIntrinsicChanged:U,overflowEdgeChanged:V,overflowAmountChanged:ee,overflowStyleChanged:ie,contentMutation:xe,hostMutation:me},changedOptions:N,force:G}])}),J.update(!0),J)}return h};Ua.plugin=e=>{gn(Q$(e),t=>a_(t,Ua))};Ua.valid=e=>{const t=e&&e.elements,n=vs(t)&&t();return S0(n)&&!!t_(n.target)};Ua.env=()=>{const{k:e,A:t,I:n,B:r,V:o,L:s,X:i,U:u,N:d,q:p,F:h,G:g}=So();return rr({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,rtlScrollBehavior:r,flexboxGlue:o,cssCustomProperties:s,staticDefaultInitialization:i,staticDefaultOptions:u,getDefaultInitialization:d,setDefaultInitialization:p,getDefaultOptions:h,setDefaultOptions:g})};const Rz=()=>{if(typeof window>"u"){const p=()=>{};return[p,p]}let e,t;const n=window,r=typeof n.requestIdleCallback=="function",o=n.requestAnimationFrame,s=n.cancelAnimationFrame,i=r?n.requestIdleCallback:o,u=r?n.cancelIdleCallback:s,d=()=>{u(e),s(t)};return[(p,h)=>{d(),e=i(r?()=>{d(),t=o(p)}:p,typeof h=="object"?h:{timeout:2233})},d]},m1=e=>{const{options:t,events:n,defer:r}=e||{},[o,s]=f.useMemo(Rz,[]),i=f.useRef(null),u=f.useRef(r),d=f.useRef(t),p=f.useRef(n);return f.useEffect(()=>{u.current=r},[r]),f.useEffect(()=>{const{current:h}=i;d.current=t,Ua.valid(h)&&h.options(t||{},!0)},[t]),f.useEffect(()=>{const{current:h}=i;p.current=n,Ua.valid(h)&&h.on(n||{},!0)},[n]),f.useEffect(()=>()=>{var h;s(),(h=i.current)==null||h.destroy()},[]),f.useMemo(()=>[h=>{const g=i.current;if(Ua.valid(g))return;const v=u.current,b=d.current||{},S=p.current||{},x=()=>i.current=Ua(h,b,S);v?o(x,v):x()},()=>i.current],[])},Dz=(e,t)=>{const{element:n="div",options:r,events:o,defer:s,children:i,...u}=e,d=n,p=f.useRef(null),h=f.useRef(null),[g,v]=m1({options:r,events:o,defer:s});return f.useEffect(()=>{const{current:b}=p,{current:S}=h;return b&&S&&g({target:b,elements:{viewport:S,content:S}}),()=>{var x;return(x=v())==null?void 0:x.destroy()}},[g,n]),f.useImperativeHandle(t,()=>({osInstance:v,getElement:()=>p.current}),[]),z.createElement(d,{"data-overlayscrollbars-initialize":"",ref:p,...u},z.createElement("div",{ref:h},i))},i_=f.forwardRef(Dz),yr=e=>{const t=$(i=>i.config.disabledTabs),n=$(i=>i.config.disabledFeatures),r=$(i=>i.config.disabledSDFeatures),o=f.useMemo(()=>n.includes(e)||r.includes(e)||t.includes(e),[n,r,t,e]),s=f.useMemo(()=>!(n.includes(e)||r.includes(e)||t.includes(e)),[n,r,t,e]);return{isFeatureDisabled:o,isFeatureEnabled:s}};var l_={exports:{}},c_={};const Eo=cv(e8),Rc=cv(t8),Az=cv(n8);(function(e){var t,n,r=al&&al.__generator||function(q,Y){var le,we,ce,nt,Je={label:0,sent:function(){if(1&ce[0])throw ce[1];return ce[1]},trys:[],ops:[]};return nt={next:Dt(0),throw:Dt(1),return:Dt(2)},typeof Symbol=="function"&&(nt[Symbol.iterator]=function(){return this}),nt;function Dt(st){return function(dt){return function(De){if(le)throw new TypeError("Generator is already executing.");for(;Je;)try{if(le=1,we&&(ce=2&De[0]?we.return:De[0]?we.throw||((ce=we.return)&&ce.call(we),0):we.next)&&!(ce=ce.call(we,De[1])).done)return ce;switch(we=0,ce&&(De=[2&De[0],ce.value]),De[0]){case 0:case 1:ce=De;break;case 4:return Je.label++,{value:De[1],done:!1};case 5:Je.label++,we=De[1],De=[0];continue;case 7:De=Je.ops.pop(),Je.trys.pop();continue;default:if(!((ce=(ce=Je.trys).length>0&&ce[ce.length-1])||De[0]!==6&&De[0]!==2)){Je=0;continue}if(De[0]===3&&(!ce||De[1]>ce[0]&&De[1]=200&&q.status<=299},J=function(q){return/ion\/(vnd\.api\+)?json/.test(q.get("content-type")||"")};function F(q){if(!(0,T.isPlainObject)(q))return q;for(var Y=C({},q),le=0,we=Object.entries(Y);le"u"&&Je===B&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(qt,$t){return E(Y,null,function(){var Oe,ut,_t,At,xn,zt,tn,Jt,_r,Un,yt,wn,kn,Gn,ar,En,On,nn,pn,Sn,cn,un,Be,wt,pt,Ze,ft,Rt,lt,Qe,ke,Se,Pe,Te,Ge,kt;return r(this,function(St){switch(St.label){case 0:return Oe=$t.signal,ut=$t.getState,_t=$t.extra,At=$t.endpoint,xn=$t.forced,zt=$t.type,_r=(Jt=typeof qt=="string"?{url:qt}:qt).url,yt=(Un=Jt.headers)===void 0?new Headers(Lt.headers):Un,kn=(wn=Jt.params)===void 0?void 0:wn,ar=(Gn=Jt.responseHandler)===void 0?xt??"json":Gn,On=(En=Jt.validateStatus)===void 0?Ot??W:En,pn=(nn=Jt.timeout)===void 0?ht:nn,Sn=P(Jt,["url","headers","params","responseHandler","validateStatus","timeout"]),cn=C(_(C({},Lt),{signal:Oe}),Sn),yt=new Headers(F(yt)),un=cn,[4,ce(yt,{getState:ut,extra:_t,endpoint:At,forced:xn,type:zt})];case 1:un.headers=St.sent()||yt,Be=function(Ne){return typeof Ne=="object"&&((0,T.isPlainObject)(Ne)||Array.isArray(Ne)||typeof Ne.toJSON=="function")},!cn.headers.has("content-type")&&Be(cn.body)&&cn.headers.set("content-type",ye),Be(cn.body)&&dt(cn.headers)&&(cn.body=JSON.stringify(cn.body,Fe)),kn&&(wt=~_r.indexOf("?")?"&":"?",pt=Dt?Dt(kn):new URLSearchParams(F(kn)),_r+=wt+pt),_r=function(Ne,Qt){if(!Ne)return Qt;if(!Qt)return Ne;if(function(on){return new RegExp("(^|:)//").test(on)}(Qt))return Qt;var dn=Ne.endsWith("/")||!Qt.startsWith("?")?"/":"";return Ne=function(on){return on.replace(/\/$/,"")}(Ne),""+Ne+dn+function(on){return on.replace(/^\//,"")}(Qt)}(le,_r),Ze=new Request(_r,cn),ft=Ze.clone(),tn={request:ft},lt=!1,Qe=pn&&setTimeout(function(){lt=!0,$t.abort()},pn),St.label=2;case 2:return St.trys.push([2,4,5,6]),[4,Je(Ze)];case 3:return Rt=St.sent(),[3,6];case 4:return ke=St.sent(),[2,{error:{status:lt?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(ke)},meta:tn}];case 5:return Qe&&clearTimeout(Qe),[7];case 6:Se=Rt.clone(),tn.response=Se,Te="",St.label=7;case 7:return St.trys.push([7,9,,10]),[4,Promise.all([Kt(Rt,ar).then(function(Ne){return Pe=Ne},function(Ne){return Ge=Ne}),Se.text().then(function(Ne){return Te=Ne},function(){})])];case 8:if(St.sent(),Ge)throw Ge;return[3,10];case 9:return kt=St.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Rt.status,data:Te,error:String(kt)},meta:tn}];case 10:return[2,On(Rt,Pe)?{data:Pe,meta:tn}:{error:{status:Rt.status,data:Pe},meta:tn}]}})})};function Kt(qt,$t){return E(this,null,function(){var Oe;return r(this,function(ut){switch(ut.label){case 0:return typeof $t=="function"?[2,$t(qt)]:($t==="content-type"&&($t=dt(qt.headers)?"json":"text"),$t!=="json"?[3,2]:[4,qt.text()]);case 1:return[2,(Oe=ut.sent()).length?JSON.parse(Oe):null];case 2:return[2,qt.text()]}})})}}var G=function(q,Y){Y===void 0&&(Y=void 0),this.value=q,this.meta=Y};function K(q,Y){return q===void 0&&(q=0),Y===void 0&&(Y=5),E(this,null,function(){var le,we;return r(this,function(ce){switch(ce.label){case 0:return le=Math.min(q,Y),we=~~((Math.random()+.4)*(300<=Se)}var Sn=(0,Ue.createAsyncThunk)(kn+"/executeQuery",nn,{getPendingMeta:function(){var Be;return(Be={startedTimeStamp:Date.now()})[Ue.SHOULD_AUTOBATCH]=!0,Be},condition:function(Be,wt){var pt,Ze,ft,Rt=(0,wt.getState)(),lt=(Ze=(pt=Rt[kn])==null?void 0:pt.queries)==null?void 0:Ze[Be.queryCacheKey],Qe=lt==null?void 0:lt.fulfilledTimeStamp,ke=Be.originalArgs,Se=lt==null?void 0:lt.originalArgs,Pe=ar[Be.endpointName];return!(!_e(Be)&&((lt==null?void 0:lt.status)==="pending"||!pn(Be,Rt)&&(!ne(Pe)||!((ft=Pe==null?void 0:Pe.forceRefetch)!=null&&ft.call(Pe,{currentArg:ke,previousArg:Se,endpointState:lt,state:Rt})))&&Qe))},dispatchConditionRejection:!0}),cn=(0,Ue.createAsyncThunk)(kn+"/executeMutation",nn,{getPendingMeta:function(){var Be;return(Be={startedTimeStamp:Date.now()})[Ue.SHOULD_AUTOBATCH]=!0,Be}});function un(Be){return function(wt){var pt,Ze;return((Ze=(pt=wt==null?void 0:wt.meta)==null?void 0:pt.arg)==null?void 0:Ze.endpointName)===Be}}return{queryThunk:Sn,mutationThunk:cn,prefetch:function(Be,wt,pt){return function(Ze,ft){var Rt=function(Pe){return"force"in Pe}(pt)&&pt.force,lt=function(Pe){return"ifOlderThan"in Pe}(pt)&&pt.ifOlderThan,Qe=function(Pe){return Pe===void 0&&(Pe=!0),On.endpoints[Be].initiate(wt,{forceRefetch:Pe})},ke=On.endpoints[Be].select(wt)(ft());if(Rt)Ze(Qe());else if(lt){var Se=ke==null?void 0:ke.fulfilledTimeStamp;if(!Se)return void Ze(Qe());(Number(new Date)-Number(new Date(Se)))/1e3>=lt&&Ze(Qe())}else Ze(Qe(!1))}},updateQueryData:function(Be,wt,pt){return function(Ze,ft){var Rt,lt,Qe=On.endpoints[Be].select(wt)(ft()),ke={patches:[],inversePatches:[],undo:function(){return Ze(On.util.patchQueryData(Be,wt,ke.inversePatches))}};if(Qe.status===t.uninitialized)return ke;if("data"in Qe)if((0,Le.isDraftable)(Qe.data)){var Se=(0,Le.produceWithPatches)(Qe.data,pt),Pe=Se[2];(Rt=ke.patches).push.apply(Rt,Se[1]),(lt=ke.inversePatches).push.apply(lt,Pe)}else{var Te=pt(Qe.data);ke.patches.push({op:"replace",path:[],value:Te}),ke.inversePatches.push({op:"replace",path:[],value:Qe.data})}return Ze(On.util.patchQueryData(Be,wt,ke.patches)),ke}},upsertQueryData:function(Be,wt,pt){return function(Ze){var ft;return Ze(On.endpoints[Be].initiate(wt,((ft={subscribe:!1,forceRefetch:!0})[ge]=function(){return{data:pt}},ft)))}},patchQueryData:function(Be,wt,pt){return function(Ze){Ze(On.internalActions.queryResultPatched({queryCacheKey:En({queryArgs:wt,endpointDefinition:ar[Be],endpointName:Be}),patches:pt}))}},buildMatchThunkActions:function(Be,wt){return{matchPending:(0,We.isAllOf)((0,We.isPending)(Be),un(wt)),matchFulfilled:(0,We.isAllOf)((0,We.isFulfilled)(Be),un(wt)),matchRejected:(0,We.isAllOf)((0,We.isRejected)(Be),un(wt))}}}}({baseQuery:we,reducerPath:ce,context:le,api:q,serializeQueryArgs:nt}),Fe=ye.queryThunk,ht=ye.mutationThunk,xt=ye.patchQueryData,Ot=ye.updateQueryData,Lt=ye.upsertQueryData,Kt=ye.prefetch,qt=ye.buildMatchThunkActions,$t=function(yt){var wn=yt.reducerPath,kn=yt.queryThunk,Gn=yt.mutationThunk,ar=yt.context,En=ar.endpointDefinitions,On=ar.apiUid,nn=ar.extractRehydrationInfo,pn=ar.hasRehydrationInfo,Sn=yt.assertTagType,cn=yt.config,un=(0,Ce.createAction)(wn+"/resetApiState"),Be=(0,Ce.createSlice)({name:wn+"/queries",initialState:Et,reducers:{removeQueryResult:{reducer:function(Qe,ke){delete Qe[ke.payload.queryCacheKey]},prepare:(0,Ce.prepareAutoBatched)()},queryResultPatched:function(Qe,ke){var Se=ke.payload,Pe=Se.patches;bt(Qe,Se.queryCacheKey,function(Te){Te.data=(0,Pt.applyPatches)(Te.data,Pe.concat())})}},extraReducers:function(Qe){Qe.addCase(kn.pending,function(ke,Se){var Pe,Te=Se.meta,Ge=Se.meta.arg,kt=_e(Ge);(Ge.subscribe||kt)&&(ke[Pe=Ge.queryCacheKey]!=null||(ke[Pe]={status:t.uninitialized,endpointName:Ge.endpointName})),bt(ke,Ge.queryCacheKey,function(St){St.status=t.pending,St.requestId=kt&&St.requestId?St.requestId:Te.requestId,Ge.originalArgs!==void 0&&(St.originalArgs=Ge.originalArgs),St.startedTimeStamp=Te.startedTimeStamp})}).addCase(kn.fulfilled,function(ke,Se){var Pe=Se.meta,Te=Se.payload;bt(ke,Pe.arg.queryCacheKey,function(Ge){var kt;if(Ge.requestId===Pe.requestId||_e(Pe.arg)){var St=En[Pe.arg.endpointName].merge;if(Ge.status=t.fulfilled,St)if(Ge.data!==void 0){var Ne=Pe.fulfilledTimeStamp,Qt=Pe.arg,dn=Pe.baseQueryMeta,on=Pe.requestId,ir=(0,Ce.createNextState)(Ge.data,function(Fn){return St(Fn,Te,{arg:Qt.originalArgs,baseQueryMeta:dn,fulfilledTimeStamp:Ne,requestId:on})});Ge.data=ir}else Ge.data=Te;else Ge.data=(kt=En[Pe.arg.endpointName].structuralSharing)==null||kt?D((0,jn.isDraft)(Ge.data)?(0,Pt.original)(Ge.data):Ge.data,Te):Te;delete Ge.error,Ge.fulfilledTimeStamp=Pe.fulfilledTimeStamp}})}).addCase(kn.rejected,function(ke,Se){var Pe=Se.meta,Te=Pe.condition,Ge=Pe.requestId,kt=Se.error,St=Se.payload;bt(ke,Pe.arg.queryCacheKey,function(Ne){if(!Te){if(Ne.requestId!==Ge)return;Ne.status=t.rejected,Ne.error=St??kt}})}).addMatcher(pn,function(ke,Se){for(var Pe=nn(Se).queries,Te=0,Ge=Object.entries(Pe);Te"u"||navigator.onLine===void 0||navigator.onLine,focused:typeof document>"u"||document.visibilityState!=="hidden",middlewareRegistered:!1},cn),reducers:{middlewareRegistered:function(Qe,ke){Qe.middlewareRegistered=Qe.middlewareRegistered!=="conflict"&&On===ke.payload||"conflict"}},extraReducers:function(Qe){Qe.addCase(xe,function(ke){ke.online=!0}).addCase(me,function(ke){ke.online=!1}).addCase(ee,function(ke){ke.focused=!0}).addCase(ie,function(ke){ke.focused=!1}).addMatcher(pn,function(ke){return C({},ke)})}}),lt=(0,Ce.combineReducers)({queries:Be.reducer,mutations:wt.reducer,provided:pt.reducer,subscriptions:ft.reducer,config:Rt.reducer});return{reducer:function(Qe,ke){return lt(un.match(ke)?void 0:Qe,ke)},actions:_(C(C(C(C(C({},Rt.actions),Be.actions),Ze.actions),ft.actions),wt.actions),{unsubscribeMutationResult:wt.actions.removeMutationResult,resetApiState:un})}}({context:le,queryThunk:Fe,mutationThunk:ht,reducerPath:ce,assertTagType:De,config:{refetchOnFocus:st,refetchOnReconnect:dt,refetchOnMountOrArgChange:Dt,keepUnusedDataFor:Je,reducerPath:ce}}),Oe=$t.reducer,ut=$t.actions;Dr(q.util,{patchQueryData:xt,updateQueryData:Ot,upsertQueryData:Lt,prefetch:Kt,resetApiState:ut.resetApiState}),Dr(q.internalActions,ut);var _t=function(yt){var wn=yt.reducerPath,kn=yt.queryThunk,Gn=yt.api,ar=yt.context,En=ar.apiUid,On={invalidateTags:(0,ur.createAction)(wn+"/invalidateTags")},nn=[zr,yn,$r,dr,Nn,_o];return{middleware:function(Sn){var cn=!1,un=_(C({},yt),{internalState:{currentSubscriptions:{}},refetchQuery:pn}),Be=nn.map(function(Ze){return Ze(un)}),wt=function(Ze){var ft=Ze.api,Rt=Ze.queryThunk,lt=Ze.internalState,Qe=ft.reducerPath+"/subscriptions",ke=null,Se=!1,Pe=ft.internalActions,Te=Pe.updateSubscriptionOptions,Ge=Pe.unsubscribeQueryResult;return function(kt,St){var Ne,Qt;if(ke||(ke=JSON.parse(JSON.stringify(lt.currentSubscriptions))),ft.util.resetApiState.match(kt))return ke=lt.currentSubscriptions={},[!0,!1];if(ft.internalActions.internal_probeSubscription.match(kt)){var dn=kt.payload;return[!1,!!((Ne=lt.currentSubscriptions[dn.queryCacheKey])!=null&&Ne[dn.requestId])]}var on=function(an,$n){var to,rn,Mn,Br,kr,Pa,Uu,ko,Js;if(Te.match($n)){var Ps=$n.payload,Zs=Ps.queryCacheKey,no=Ps.requestId;return(to=an==null?void 0:an[Zs])!=null&&to[no]&&(an[Zs][no]=Ps.options),!0}if(Ge.match($n)){var ro=$n.payload;return no=ro.requestId,an[Zs=ro.queryCacheKey]&&delete an[Zs][no],!0}if(ft.internalActions.removeQueryResult.match($n))return delete an[$n.payload.queryCacheKey],!0;if(Rt.pending.match($n)){var oo=$n.meta;if(no=oo.requestId,(Vr=oo.arg).subscribe)return(Do=(Mn=an[rn=Vr.queryCacheKey])!=null?Mn:an[rn]={})[no]=(kr=(Br=Vr.subscriptionOptions)!=null?Br:Do[no])!=null?kr:{},!0}if(Rt.rejected.match($n)){var Do,jo=$n.meta,Vr=jo.arg;if(no=jo.requestId,jo.condition&&Vr.subscribe)return(Do=(Uu=an[Pa=Vr.queryCacheKey])!=null?Uu:an[Pa]={})[no]=(Js=(ko=Vr.subscriptionOptions)!=null?ko:Do[no])!=null?Js:{},!0}return!1}(lt.currentSubscriptions,kt);if(on){Se||(es(function(){var an=JSON.parse(JSON.stringify(lt.currentSubscriptions)),$n=(0,Lr.produceWithPatches)(ke,function(){return an});St.next(ft.internalActions.subscriptionsUpdated($n[1])),ke=an,Se=!1}),Se=!0);var ir=!!((Qt=kt.type)!=null&&Qt.startsWith(Qe)),Fn=Rt.rejected.match(kt)&&kt.meta.condition&&!!kt.meta.arg.subscribe;return[!ir&&!Fn,!1]}return[!0,!1]}}(un),pt=function(Ze){var ft=Ze.reducerPath,Rt=Ze.context,lt=Ze.refetchQuery,Qe=Ze.internalState,ke=Ze.api.internalActions.removeQueryResult;function Se(Pe,Te){var Ge=Pe.getState()[ft],kt=Ge.queries,St=Qe.currentSubscriptions;Rt.batch(function(){for(var Ne=0,Qt=Object.keys(St);Ne{const{children:n,tooltip:r="",tooltipProps:{placement:o="top",hasArrow:s=!0,...i}={},isChecked:u,...d}=e;return a.jsx(Cn,{label:r,placement:o,hasArrow:s,...i,children:a.jsx(kf,{ref:t,colorScheme:u?"accent":"base",...d,children:n})})}),Xt=f.memo(Tz),Nz=e=>{const{imageUsage:t,topMessage:n="This image is currently in use in the following features:",bottomMessage:r="If you delete this image, those features will immediately be reset."}=e;return!t||!Lc(t)?null:a.jsxs(a.Fragment,{children:[a.jsx(qe,{children:n}),a.jsxs(Fv,{sx:{paddingInlineStart:6},children:[t.isInitialImage&&a.jsx(la,{children:"Image to Image"}),t.isCanvasImage&&a.jsx(la,{children:"Unified Canvas"}),t.isControlNetImage&&a.jsx(la,{children:"ControlNet"}),t.isNodesImage&&a.jsx(la,{children:"Node Editor"})]}),a.jsx(qe,{children:r})]})},u_=f.memo(Nz),$z=e=>{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=ue(),o=$(k=>k.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:i}=r8((t==null?void 0:t.board_id)??Xr.skipToken),u=f.useMemo(()=>he([mt],k=>{const P=(s??[]).map(E=>o8(k,E));return{imageUsageSummary:{isInitialImage:Lc(P,E=>E.isInitialImage),isCanvasImage:Lc(P,E=>E.isCanvasImage),isNodesImage:Lc(P,E=>E.isNodesImage),isControlNetImage:Lc(P,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=s8(),[h,{isLoading:g}]=a8(),{imageUsageSummary:v}=$(u),b=f.useCallback(()=>{t&&(d(t.board_id),n(void 0))},[t,d,n]),S=f.useCallback(()=>{t&&(h(t.board_id),n(void 0))},[t,h,n]),x=f.useCallback(()=>{n(void 0)},[n]),C=f.useRef(null),_=f.useMemo(()=>g||p||i,[g,p,i]);return t?a.jsx(Du,{isOpen:!!t,onClose:x,leastDestructiveRef:C,isCentered:!0,children:a.jsx(ya,{children:a.jsxs(Au,{children:[a.jsxs(va,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),a.jsx(ba,{children:a.jsxs(L,{direction:"column",gap:3,children:[i?a.jsx(ah,{children:a.jsx(L,{sx:{w:"full",h:32}})}):a.jsx(u_,{imageUsage:v,topMessage:"This board contains images used in the following features:",bottomMessage:"Deleting this board and its images will reset any features currently using them."}),a.jsx(qe,{children:"Deleted boards cannot be restored."}),a.jsx(qe,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),a.jsx(ga,{children:a.jsxs(L,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[a.jsx(Xt,{ref:C,onClick:x,children:"Cancel"}),a.jsx(Xt,{colorScheme:"warning",isLoading:_,onClick:b,children:"Delete Board Only"}),a.jsx(Xt,{colorScheme:"error",isLoading:_,onClick:S,children:"Delete Board and Images"})]})})]})})}):null},zz=f.memo($z);function Lz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"}}]})(e)}function Bz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"}}]})(e)}function Fz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"}}]})(e)}function Hz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z"}}]})(e)}function Wz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 256 512"},child:[{tag:"path",attr:{d:"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z"}}]})(e)}function Vz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 256 512"},child:[{tag:"path",attr:{d:"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"}}]})(e)}function Uz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"}}]})(e)}function Gz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"}}]})(e)}function d_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z"}}]})(e)}function f_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z"}}]})(e)}function qz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z"}}]})(e)}function Kz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"}}]})(e)}function Qz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"}}]})(e)}function g1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"}}]})(e)}function cc(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"}}]})(e)}function p_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z"}}]})(e)}function Yz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"}}]})(e)}function v1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"}}]})(e)}function h_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z"}}]})(e)}function m_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"}}]})(e)}function Xz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 192 512"},child:[{tag:"path",attr:{d:"M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"}}]})(e)}function Jz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z"}}]})(e)}function Zz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"}}]})(e)}function eL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z"}}]})(e)}function g_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z"}}]})(e)}function tL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"}}]})(e)}function nL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"}}]})(e)}function v_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z"}}]})(e)}function kg(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"}}]})(e)}function rL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M432 416h-23.41L277.88 53.69A32 32 0 0 0 247.58 32h-47.16a32 32 0 0 0-30.3 21.69L39.41 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-19.58l23.3-64h152.56l23.3 64H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM176.85 272L224 142.51 271.15 272z"}}]})(e)}function oL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z"}}]})(e)}function Ti(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"}}]})(e)}function sL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z"}}]})(e)}function aL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"}}]})(e)}function iL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 192 512"},child:[{tag:"path",attr:{d:"M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z"}}]})(e)}function lL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"}}]})(e)}function y_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z"}}]})(e)}function cL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"}}]})(e)}function uL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"}}]})(e)}function dL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z"}}]})(e)}function fL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"}}]})(e)}function pL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z"}}]})(e)}function b_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z"}}]})(e)}function x_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"}}]})(e)}function Hi(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"}}]})(e)}function w_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z"}}]})(e)}function hL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z"}}]})(e)}function mL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z"}}]})(e)}function yh(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"}}]})(e)}function gL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"}}]})(e)}function S_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z"}}]})(e)}function vL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z"}}]})(e)}function yL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z"}}]})(e)}function Y2(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"}}]})(e)}function y1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"}}]})(e)}function bL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"}}]})(e)}function xL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"}}]})(e)}function C_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z"}}]})(e)}function wL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"}}]})(e)}function Xo(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z"}}]})(e)}function b1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z"}}]})(e)}function Fu(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"}}]})(e)}function SL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"}}]})(e)}function x1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"}}]})(e)}const CL="My Board",_L=()=>{const[e,{isLoading:t}]=i8(),n=f.useCallback(()=>{e(CL)},[e]);return a.jsx(je,{icon:a.jsx(Hi,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var __=ju({displayName:"ExternalLinkIcon",path:a.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[a.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),a.jsx("path",{d:"M15 3h6v6"}),a.jsx("path",{d:"M10 14L21 3"})]})}),w1=ju({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),kL=ju({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),jL=ju({displayName:"DeleteIcon",path:a.jsx("g",{fill:"currentColor",children:a.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})}),PL=ju({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const IL=he([mt],({boards:e})=>{const{searchText:t}=e;return{searchText:t}},Ke),EL=()=>{const e=Z(),{searchText:t}=$(IL),n=f.useRef(null),r=f.useCallback(u=>{e(tx(u))},[e]),o=f.useCallback(()=>{e(tx(""))},[e]),s=f.useCallback(u=>{u.key==="Escape"&&o()},[o]),i=f.useCallback(u=>{r(u.target.value)},[r]);return f.useEffect(()=>{n.current&&n.current.focus()},[]),a.jsxs(M6,{children:[a.jsx(Iu,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:i}),t&&t.length&&a.jsx(Lv,{children:a.jsx(qa,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:a.jsx(kL,{boxSize:2})})})]})},OL=f.memo(EL),ML=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(Ka()),{colorMode:o}=xs();return a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:a.jsxs(L,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full"},children:[a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:Me("base.700","base.900")(o),opacity:.7,borderRadius:"base",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),a.jsx(L,{sx:{position:"absolute",top:.5,insetInlineStart:.5,insetInlineEnd:.5,bottom:.5,opacity:1,borderWidth:2,borderColor:t?Me("base.50","base.50")(o):Me("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:a.jsx(qe,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?Me("base.50","base.50")(o):Me("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},Yf=f.memo(ML),RL=e=>{const{dropLabel:t,data:n,disabled:r,hoverRef:o}=e,s=f.useRef(Ka()),{isOver:i,setNodeRef:u,active:d}=uv({id:s.current,disabled:r,data:n});return a.jsx($e,{ref:u,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:a.jsx(Ko,{children:jf(n,d)&&a.jsx(Yf,{isOver:i,label:t})})})},S1=f.memo(RL),C1=e=>{const t=$(s=>s.gallery.galleryView),{data:n}=l8(e),{data:r}=c8(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},k_=()=>a.jsx(L,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:a.jsx(Za,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Jc=globalThis&&globalThis.__assign||function(){return Jc=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const n=Z(),r=f.useMemo(()=>he(mt,({gallery:i})=>({isSelectedForAutoAdd:e.board_id===i.autoAddBoardId}),Ke),[e.board_id]),{isSelectedForAutoAdd:o}=$(r),s=f.useCallback(()=>{t&&t(e)},[e,t]);return f.useCallback(()=>{n(Yp(o?void 0:e.board_id))},[e.board_id,n,o]),a.jsxs(a.Fragment,{children:[e.image_count>0&&a.jsx(a.Fragment,{}),a.jsx(ao,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:a.jsx(Xo,{}),onClick:s,children:"Delete Board"})]})},AL=f.memo(DL),TL=()=>{const e=Z();return $(t=>t.gallery.autoAddBoardId),f.useCallback(()=>{e(Yp(void 0))},[e]),a.jsx(a.Fragment,{})},NL=f.memo(TL),bh=e=>{const{boardName:t}=Xp(void 0,{selectFromResult:({data:n})=>{const r=n==null?void 0:n.find(s=>s.board_id===e);return{boardName:(r==null?void 0:r.board_name)||"Uncategorized"}}});return t},_1=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=Z(),s=f.useMemo(()=>he(mt,({gallery:g})=>{const v=g.selectedBoardId===t,b=g.autoAddBoardId===t;return{isSelected:v,isAutoAdd:b}}),[t]),{isSelected:i,isAutoAdd:u}=$(s),d=bh(t);f.useCallback(()=>{o(dv(t))},[t,o]);const p=f.useCallback(()=>{o(Yp(t))},[t,o]),h=f.useCallback(g=>{g.preventDefault()},[]);return a.jsx(j_,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>a.jsx(ic,{sx:{visibility:"visible !important"},motionProps:Cv,onContextMenu:h,children:a.jsxs(Vv,{title:d,children:[a.jsx(ao,{icon:a.jsx(Hi,{}),isDisabled:u,onClick:p,children:"Auto-add to this Board"}),!e&&a.jsx(NL,{}),e&&a.jsx(AL,{board:e,setBoardToDelete:n})]})}),children:r})});_1.displayName="HoverableBoard";const k1=({isSelected:e,isHovered:t})=>a.jsx($e,{className:"selection-box",sx:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,borderRadius:"base",opacity:e?1:.7,transitionProperty:"common",transitionDuration:"0.1s",shadow:e?t?"hoverSelected.light":"selected.light":t?"hoverUnselected.light":void 0,_dark:{shadow:e?t?"hoverSelected.dark":"selected.dark":t?"hoverUnselected.dark":void 0}}}),P_=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=Z(),o=f.useMemo(()=>he(mt,({gallery:E})=>({isSelectedForAutoAdd:e.board_id===E.autoAddBoardId}),Ke),[e.board_id]),{isSelectedForAutoAdd:s}=$(o),[i,u]=f.useState(!1),d=f.useCallback(()=>{u(!0)},[]),p=f.useCallback(()=>{u(!1)},[]),{currentData:h}=Uo(e.cover_image_name??Xr.skipToken);C1(e.board_id);const{board_name:g,board_id:v}=e,[b,S]=f.useState(g),x=f.useCallback(()=>{r(dv(v))},[v,r]),[C,{isLoading:_}]=u8(),k=f.useMemo(()=>({id:v,actionType:"MOVE_BOARD",context:{boardId:v}}),[v]),P=f.useCallback(async E=>{if(!E.trim()){S(g);return}if(E!==g)try{const{board_name:O}=await C({board_id:v,changes:{board_name:E}}).unwrap();S(O)}catch{S(g)}},[v,g,C]),I=f.useCallback(E=>{S(E)},[]);return a.jsx($e,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:a.jsx(L,{onMouseOver:d,onMouseOut:p,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:a.jsx(_1,{board:e,board_id:v,setBoardToDelete:n,children:E=>a.jsxs(L,{ref:E,onClick:x,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[h!=null&&h.thumbnail_url?a.jsx(rc,{src:h==null?void 0:h.thumbnail_url,draggable:!1,sx:{objectFit:"cover",w:"full",h:"full",maxH:"full",borderRadius:"base",borderBottomRadius:"lg"}}):a.jsx(L,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:a.jsx(io,{boxSize:12,as:SL,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&a.jsx(k_,{}),a.jsx(k1,{isSelected:t,isHovered:i}),a.jsx(L,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:t?"accent.400":"base.500",color:t?"base.50":"base.100",_dark:{bg:t?"accent.500":"base.600",color:t?"base.50":"base.100"},lineHeight:"short",fontSize:"xs"},children:a.jsxs(q3,{value:b,isDisabled:_,submitOnBlur:!0,onChange:I,onSubmit:P,sx:{w:"full"},children:[a.jsx(V3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),a.jsx(W3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),a.jsx(S1,{data:k,dropLabel:a.jsx(qe,{fontSize:"md",children:"Move"})})]})})})})});P_.displayName="HoverableBoard";const $L=he(mt,({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ke),I_=f.memo(({isSelected:e})=>{const t=Z();C1(void 0);const{autoAddBoardId:n}=$($L),r=bh(void 0),o=f.useCallback(()=>{t(dv(void 0))},[t]),[s,i]=f.useState(!1),u=f.useCallback(()=>{i(!0)},[]),d=f.useCallback(()=>{i(!1)},[]),p=f.useMemo(()=>({id:"no_board",actionType:"MOVE_BOARD",context:{boardId:void 0}}),[]);return a.jsx($e,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:a.jsx(L,{onMouseOver:u,onMouseOut:d,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:a.jsx(_1,{children:h=>a.jsxs(L,{ref:h,onClick:o,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsx(L,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:a.jsx(rc,{src:R4,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),!n&&a.jsx(k_,{}),a.jsx(L,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:e?"accent.400":"base.500",color:e?"base.50":"base.100",_dark:{bg:e?"accent.500":"base.600",color:e?"base.50":"base.100"},lineHeight:"short",fontSize:"xs",fontWeight:e?700:500},children:r}),a.jsx(k1,{isSelected:e,isHovered:s}),a.jsx(S1,{data:p,dropLabel:a.jsx(qe,{fontSize:"md",children:"Move"})})]})})})})});I_.displayName="HoverableBoard";const zL=he([mt],({boards:e,gallery:t})=>{const{searchText:n}=e,{selectedBoardId:r}=t;return{selectedBoardId:r,searchText:n}},Ke),LL=e=>{const{isOpen:t}=e,{selectedBoardId:n,searchText:r}=$(zL),{data:o}=Xp();yr("batches").isFeatureEnabled;const s=r?o==null?void 0:o.filter(d=>d.board_name.toLowerCase().includes(r.toLowerCase())):o,[i,u]=f.useState();return a.jsxs(a.Fragment,{children:[a.jsx(nh,{in:t,animateOpacity:!0,children:a.jsxs(L,{layerStyle:"first",sx:{flexDir:"column",gap:2,p:2,mt:2,borderRadius:"base"},children:[a.jsxs(L,{sx:{gap:2,alignItems:"center"},children:[a.jsx(OL,{}),a.jsx(_L,{})]}),a.jsx(i_,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:a.jsxs(Mi,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[a.jsx(c0,{sx:{p:1.5},children:a.jsx(I_,{isSelected:n===void 0})}),s&&s.map(d=>a.jsx(c0,{sx:{p:1.5},children:a.jsx(P_,{board:d,isSelected:n===d.board_id,setBoardToDelete:u})},d.board_id))]})})]})}),a.jsx(zz,{boardToDelete:i,setBoardToDelete:u})]})},BL=f.memo(LL),FL=he([mt],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Ke),HL=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=$(FL),o=bh(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return a.jsxs(L,{as:kf,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[a.jsx(qe,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),a.jsx(w1,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},WL=f.memo(HL);function E_(e){return Ve({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function O_(e){return Ve({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}const VL=he([mt],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Ke),UL=()=>{const e=Z(),{t}=ue(),{shouldPinGallery:n}=$(VL),r=()=>{e(D4()),e(yo())};return a.jsx(je,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?a.jsx(E_,{}):a.jsx(O_,{})})},GL=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return a.jsxs(Qv,{isLazy:o,...s,children:[a.jsx(Kv,{children:t}),a.jsxs(Yv,{shadow:"dark-lg",children:[r&&a.jsx(J6,{}),n]})]})},Wi=f.memo(GL),qL=e=>{const{label:t,...n}=e,{colorMode:r}=xs();return a.jsx(L3,{colorScheme:"accent",...n,children:a.jsx(qe,{sx:{fontSize:"sm",color:Me("base.800","base.200")(r)},children:t})})},Ln=f.memo(qL);function KL(e){const t=f.createContext(null);return[({children:o,value:s})=>z.createElement(t.Provider,{value:s},o),()=>{const o=f.useContext(t);if(o===null)throw new Error(e);return o}]}function M_(e){return Array.isArray(e)?e:[e]}const QL=()=>{};function YL(e,t={active:!0}){return typeof e!="function"||!t.active?t.onKeyDown||QL:n=>{var r;n.key==="Escape"&&(e(n),(r=t.onTrigger)==null||r.call(t))}}function R_({data:e}){const t=[],n=[],r=e.reduce((o,s,i)=>(s.group?o[s.group]?o[s.group].push(i):o[s.group]=[i]:n.push(i),o),{});return Object.keys(r).forEach(o=>{t.push(...r[o].map(s=>e[s]))}),t.push(...n.map(o=>e[o])),t}function D_(e){return Array.isArray(e)||e===null?!1:typeof e=="object"?e.type!==z.Fragment:!1}function A_(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;tr===t[o]).indexOf(!1)>=0)&&(n.current={v:e(),prevDeps:[...t]}),n.current.v}const ZL=d8({key:"mantine",prepend:!0});function eB(){return O3()||ZL}var tB=Object.defineProperty,X2=Object.getOwnPropertySymbols,nB=Object.prototype.hasOwnProperty,rB=Object.prototype.propertyIsEnumerable,J2=(e,t,n)=>t in e?tB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oB=(e,t)=>{for(var n in t||(t={}))nB.call(t,n)&&J2(e,n,t[n]);if(X2)for(var n of X2(t))rB.call(t,n)&&J2(e,n,t[n]);return e};const jg="ref";function sB(e){let t;if(e.length!==1)return{args:e,ref:t};const[n]=e;if(!(n instanceof Object))return{args:e,ref:t};if(!(jg in n))return{args:e,ref:t};t=n[jg];const r=oB({},n);return delete r[jg],{args:[r],ref:t}}const{cssFactory:aB}=(()=>{function e(n,r,o){const s=[],i=h8(n,s,o);return s.length<2?o:i+r(s)}function t(n){const{cache:r}=n,o=(...i)=>{const{ref:u,args:d}=sB(i),p=f8(d,r.registered);return p8(r,p,!1),`${r.key}-${p.name}${u===void 0?"":` ${u}`}`};return{css:o,cx:(...i)=>e(r.registered,o,T_(i))}}return{cssFactory:t}})();function N_(){const e=eB();return JL(()=>aB({cache:e}),[e])}function iB({cx:e,classes:t,context:n,classNames:r,name:o,cache:s}){const i=n.reduce((u,d)=>(Object.keys(d.classNames).forEach(p=>{typeof u[p]!="string"?u[p]=`${d.classNames[p]}`:u[p]=`${u[p]} ${d.classNames[p]}`}),u),{});return Object.keys(t).reduce((u,d)=>(u[d]=e(t[d],i[d],r!=null&&r[d],Array.isArray(o)?o.filter(Boolean).map(p=>`${(s==null?void 0:s.key)||"mantine"}-${p}-${d}`).join(" "):o?`${(s==null?void 0:s.key)||"mantine"}-${o}-${d}`:null),u),{})}var lB=Object.defineProperty,Z2=Object.getOwnPropertySymbols,cB=Object.prototype.hasOwnProperty,uB=Object.prototype.propertyIsEnumerable,ew=(e,t,n)=>t in e?lB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pg=(e,t)=>{for(var n in t||(t={}))cB.call(t,n)&&ew(e,n,t[n]);if(Z2)for(var n of Z2(t))uB.call(t,n)&&ew(e,n,t[n]);return e};function O0(e,t){return t&&Object.keys(t).forEach(n=>{e[n]?e[n]=Pg(Pg({},e[n]),t[n]):e[n]=Pg({},t[n])}),e}function tw(e,t,n,r){const o=s=>typeof s=="function"?s(t,n||{},r):s||{};return Array.isArray(e)?e.map(s=>o(s.styles)).reduce((s,i)=>O0(s,i),{}):o(e)}function dB({ctx:e,theme:t,params:n,variant:r,size:o}){return e.reduce((s,i)=>(i.variants&&r in i.variants&&O0(s,i.variants[r](t,n,{variant:r,size:o})),i.sizes&&o in i.sizes&&O0(s,i.sizes[o](t,n,{variant:r,size:o})),s),{})}function eo(e){const t=typeof e=="function"?e:()=>e;function n(r,o){const s=_a(),i=iM(o==null?void 0:o.name),u=O3(),d={variant:o==null?void 0:o.variant,size:o==null?void 0:o.size},{css:p,cx:h}=N_(),g=t(s,r,d),v=tw(o==null?void 0:o.styles,s,r,d),b=tw(i,s,r,d),S=dB({ctx:i,theme:s,params:r,variant:o==null?void 0:o.variant,size:o==null?void 0:o.size}),x=Object.fromEntries(Object.keys(g).map(C=>{const _=h({[p(g[C])]:!(o!=null&&o.unstyled)},p(S[C]),p(b[C]),p(v[C]));return[C,_]}));return{classes:iB({cx:h,classes:x,context:i,classNames:o==null?void 0:o.classNames,name:o==null?void 0:o.name,cache:u}),cx:h,theme:s}}return n}function nw(e){return`___ref-${e||""}`}var fB=Object.defineProperty,pB=Object.defineProperties,hB=Object.getOwnPropertyDescriptors,rw=Object.getOwnPropertySymbols,mB=Object.prototype.hasOwnProperty,gB=Object.prototype.propertyIsEnumerable,ow=(e,t,n)=>t in e?fB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Dc=(e,t)=>{for(var n in t||(t={}))mB.call(t,n)&&ow(e,n,t[n]);if(rw)for(var n of rw(t))gB.call(t,n)&&ow(e,n,t[n]);return e},Ac=(e,t)=>pB(e,hB(t));const Tc={in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${ze(10)})`},transitionProperty:"transform, opacity"},Yd={fade:{in:{opacity:1},out:{opacity:0},transitionProperty:"opacity"},scale:{in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:"scale(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-y":{in:{opacity:1,transform:"scaleY(1)"},out:{opacity:0,transform:"scaleY(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-x":{in:{opacity:1,transform:"scaleX(1)"},out:{opacity:0,transform:"scaleX(0)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"skew-up":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(-${ze(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"skew-down":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(${ze(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-left":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${ze(20)}) rotate(-5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-right":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${ze(20)}) rotate(5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-down":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(-100%)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-up":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(100%)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"slide-left":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(100%)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"slide-right":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(-100%)"},common:{transformOrigin:"right"},transitionProperty:"transform, opacity"},pop:Ac(Dc({},Tc),{common:{transformOrigin:"center center"}}),"pop-bottom-left":Ac(Dc({},Tc),{common:{transformOrigin:"bottom left"}}),"pop-bottom-right":Ac(Dc({},Tc),{common:{transformOrigin:"bottom right"}}),"pop-top-left":Ac(Dc({},Tc),{common:{transformOrigin:"top left"}}),"pop-top-right":Ac(Dc({},Tc),{common:{transformOrigin:"top right"}})},sw=["mousedown","touchstart"];function vB(e,t,n){const r=f.useRef();return f.useEffect(()=>{const o=s=>{const{target:i}=s??{};if(Array.isArray(n)){const u=(i==null?void 0:i.hasAttribute("data-ignore-outside-clicks"))||!document.body.contains(i)&&i.tagName!=="HTML";n.every(p=>!!p&&!s.composedPath().includes(p))&&!u&&e()}else r.current&&!r.current.contains(i)&&e()};return(t||sw).forEach(s=>document.addEventListener(s,o)),()=>{(t||sw).forEach(s=>document.removeEventListener(s,o))}},[r,e,n]),r}function yB(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch{return e.addListener(t),()=>e.removeListener(t)}}function bB(e,t){return typeof t=="boolean"?t:typeof window<"u"&&"matchMedia"in window?window.matchMedia(e).matches:!1}function xB(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){const[r,o]=f.useState(n?t:bB(e,t)),s=f.useRef();return f.useEffect(()=>{if("matchMedia"in window)return s.current=window.matchMedia(e),o(s.current.matches),yB(s.current,i=>o(i.matches))},[e]),r}const $_=typeof document<"u"?f.useLayoutEffect:f.useEffect;function ps(e,t){const n=f.useRef(!1);f.useEffect(()=>()=>{n.current=!1},[]),f.useEffect(()=>{if(n.current)return e();n.current=!0},t)}function wB({opened:e,shouldReturnFocus:t=!0}){const n=f.useRef(),r=()=>{var o;n.current&&"focus"in n.current&&typeof n.current.focus=="function"&&((o=n.current)==null||o.focus({preventScroll:!0}))};return ps(()=>{let o=-1;const s=i=>{i.key==="Tab"&&window.clearTimeout(o)};return document.addEventListener("keydown",s),e?n.current=document.activeElement:t&&(o=window.setTimeout(r,10)),()=>{window.clearTimeout(o),document.removeEventListener("keydown",s)}},[e,t]),r}const SB=/input|select|textarea|button|object/,z_="a, input, select, textarea, button, object, [tabindex]";function CB(e){return e.style.display==="none"}function _B(e){if(e.getAttribute("aria-hidden")||e.getAttribute("hidden")||e.getAttribute("type")==="hidden")return!1;let n=e;for(;n&&!(n===document.body||n.nodeType===11);){if(CB(n))return!1;n=n.parentNode}return!0}function L_(e){let t=e.getAttribute("tabindex");return t===null&&(t=void 0),parseInt(t,10)}function M0(e){const t=e.nodeName.toLowerCase(),n=!Number.isNaN(L_(e));return(SB.test(t)&&!e.disabled||e instanceof HTMLAnchorElement&&e.href||n)&&_B(e)}function B_(e){const t=L_(e);return(Number.isNaN(t)||t>=0)&&M0(e)}function kB(e){return Array.from(e.querySelectorAll(z_)).filter(B_)}function jB(e,t){const n=kB(e);if(!n.length){t.preventDefault();return}const r=n[t.shiftKey?0:n.length-1],o=e.getRootNode();if(!(r===o.activeElement||e===o.activeElement))return;t.preventDefault();const i=n[t.shiftKey?n.length-1:0];i&&i.focus()}function P1(){return`mantine-${Math.random().toString(36).slice(2,11)}`}function PB(e,t="body > :not(script)"){const n=P1(),r=Array.from(document.querySelectorAll(t)).map(o=>{var s;if((s=o==null?void 0:o.shadowRoot)!=null&&s.contains(e)||o.contains(e))return;const i=o.getAttribute("aria-hidden"),u=o.getAttribute("data-hidden"),d=o.getAttribute("data-focus-id");return o.setAttribute("data-focus-id",n),i===null||i==="false"?o.setAttribute("aria-hidden","true"):!u&&!d&&o.setAttribute("data-hidden",i),{node:o,ariaHidden:u||null}});return()=>{r.forEach(o=>{!o||n!==o.node.getAttribute("data-focus-id")||(o.ariaHidden===null?o.node.removeAttribute("aria-hidden"):o.node.setAttribute("aria-hidden",o.ariaHidden),o.node.removeAttribute("data-focus-id"),o.node.removeAttribute("data-hidden"))})}}function IB(e=!0){const t=f.useRef(),n=f.useRef(null),r=s=>{let i=s.querySelector("[data-autofocus]");if(!i){const u=Array.from(s.querySelectorAll(z_));i=u.find(B_)||u.find(M0)||null,!i&&M0(s)&&(i=s)}i&&i.focus({preventScroll:!0})},o=f.useCallback(s=>{if(e){if(s===null){n.current&&(n.current(),n.current=null);return}n.current=PB(s),t.current!==s&&(s?(setTimeout(()=>{s.getRootNode()&&r(s)}),t.current=s):t.current=null)}},[e]);return f.useEffect(()=>{if(!e)return;t.current&&setTimeout(()=>r(t.current));const s=i=>{i.key==="Tab"&&t.current&&jB(t.current,i)};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s),n.current&&n.current()}},[e]),o}const EB=z["useId".toString()]||(()=>{});function OB(){const e=EB();return e?`mantine-${e.replace(/:/g,"")}`:""}function I1(e){const t=OB(),[n,r]=f.useState(t);return $_(()=>{r(P1())},[]),typeof e=="string"?e:typeof window>"u"?t:n}function aw(e,t,n){f.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t])}function F_(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function MB(...e){return t=>{e.forEach(n=>F_(n,t))}}function Hu(...e){return f.useCallback(MB(...e),e)}function hu({value:e,defaultValue:t,finalValue:n,onChange:r=()=>{}}){const[o,s]=f.useState(t!==void 0?t:n),i=u=>{s(u),r==null||r(u)};return e!==void 0?[e,r,!0]:[o,i,!1]}function H_(e,t){return xB("(prefers-reduced-motion: reduce)",e,t)}const RB=e=>e<.5?2*e*e:-1+(4-2*e)*e,DB=({axis:e,target:t,parent:n,alignment:r,offset:o,isList:s})=>{if(!t||!n&&typeof document>"u")return 0;const i=!!n,d=(n||document.body).getBoundingClientRect(),p=t.getBoundingClientRect(),h=g=>p[g]-d[g];if(e==="y"){const g=h("top");if(g===0)return 0;if(r==="start"){const b=g-o;return b<=p.height*(s?0:1)||!s?b:0}const v=i?d.height:window.innerHeight;if(r==="end"){const b=g+o-v+p.height;return b>=-p.height*(s?0:1)||!s?b:0}return r==="center"?g-v/2+p.height/2:0}if(e==="x"){const g=h("left");if(g===0)return 0;if(r==="start"){const b=g-o;return b<=p.width||!s?b:0}const v=i?d.width:window.innerWidth;if(r==="end"){const b=g+o-v+p.width;return b>=-p.width||!s?b:0}return r==="center"?g-v/2+p.width/2:0}return 0},AB=({axis:e,parent:t})=>{if(!t&&typeof document>"u")return 0;const n=e==="y"?"scrollTop":"scrollLeft";if(t)return t[n];const{body:r,documentElement:o}=document;return r[n]+o[n]},TB=({axis:e,parent:t,distance:n})=>{if(!t&&typeof document>"u")return;const r=e==="y"?"scrollTop":"scrollLeft";if(t)t[r]=n;else{const{body:o,documentElement:s}=document;o[r]=n,s[r]=n}};function W_({duration:e=1250,axis:t="y",onScrollFinish:n,easing:r=RB,offset:o=0,cancelable:s=!0,isList:i=!1}={}){const u=f.useRef(0),d=f.useRef(0),p=f.useRef(!1),h=f.useRef(null),g=f.useRef(null),v=H_(),b=()=>{u.current&&cancelAnimationFrame(u.current)},S=f.useCallback(({alignment:C="start"}={})=>{var _;p.current=!1,u.current&&b();const k=(_=AB({parent:h.current,axis:t}))!=null?_:0,P=DB({parent:h.current,target:g.current,axis:t,alignment:C,offset:o,isList:i})-(h.current?0:k);function I(){d.current===0&&(d.current=performance.now());const O=performance.now()-d.current,R=v||e===0?1:O/e,D=k+P*r(R);TB({parent:h.current,axis:t,distance:D}),!p.current&&R<1?u.current=requestAnimationFrame(I):(typeof n=="function"&&n(),d.current=0,u.current=0,b())}I()},[t,e,r,i,o,n,v]),x=()=>{s&&(p.current=!0)};return aw("wheel",x,{passive:!0}),aw("touchmove",x,{passive:!0}),f.useEffect(()=>b,[]),{scrollableRef:h,targetRef:g,scrollIntoView:S,cancel:b}}var iw=Object.getOwnPropertySymbols,NB=Object.prototype.hasOwnProperty,$B=Object.prototype.propertyIsEnumerable,zB=(e,t)=>{var n={};for(var r in e)NB.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&iw)for(var r of iw(e))t.indexOf(r)<0&&$B.call(e,r)&&(n[r]=e[r]);return n};function xh(e){const t=e,{m:n,mx:r,my:o,mt:s,mb:i,ml:u,mr:d,p,px:h,py:g,pt:v,pb:b,pl:S,pr:x,bg:C,c:_,opacity:k,ff:P,fz:I,fw:E,lts:O,ta:R,lh:D,fs:T,tt:B,td:W,w:J,miw:F,maw:N,h:G,mih:K,mah:M,bgsz:U,bgp:V,bgr:ee,bga:ie,pos:xe,top:me,left:ae,bottom:te,right:H,inset:re,display:pe}=t,ne=zB(t,["m","mx","my","mt","mb","ml","mr","p","px","py","pt","pb","pl","pr","bg","c","opacity","ff","fz","fw","lts","ta","lh","fs","tt","td","w","miw","maw","h","mih","mah","bgsz","bgp","bgr","bga","pos","top","left","bottom","right","inset","display"]);return{systemStyles:lM({m:n,mx:r,my:o,mt:s,mb:i,ml:u,mr:d,p,px:h,py:g,pt:v,pb:b,pl:S,pr:x,bg:C,c:_,opacity:k,ff:P,fz:I,fw:E,lts:O,ta:R,lh:D,fs:T,tt:B,td:W,w:J,miw:F,maw:N,h:G,mih:K,mah:M,bgsz:U,bgp:V,bgr:ee,bga:ie,pos:xe,top:me,left:ae,bottom:te,right:H,inset:re,display:pe}),rest:ne}}function LB(e,t){const n=Object.keys(e).filter(r=>r!=="base").sort((r,o)=>Tx(Tt({size:r,sizes:t.breakpoints}))-Tx(Tt({size:o,sizes:t.breakpoints})));return"base"in e?["base",...n]:n}function BB({value:e,theme:t,getValue:n,property:r}){if(e==null)return;if(typeof e=="object")return LB(e,t).reduce((i,u)=>{if(u==="base"&&e.base!==void 0){const p=n(e.base,t);return Array.isArray(r)?(r.forEach(h=>{i[h]=p}),i):(i[r]=p,i)}const d=n(e[u],t);return Array.isArray(r)?(i[t.fn.largerThan(u)]={},r.forEach(p=>{i[t.fn.largerThan(u)][p]=d}),i):(i[t.fn.largerThan(u)]={[r]:d},i)},{});const o=n(e,t);return Array.isArray(r)?r.reduce((s,i)=>(s[i]=o,s),{}):{[r]:o}}function FB(e,t){return e==="dimmed"?t.colorScheme==="dark"?t.colors.dark[2]:t.colors.gray[6]:t.fn.variant({variant:"filled",color:e,primaryFallback:!1}).background}function HB(e){return ze(e)}function WB(e){return e}function VB(e,t){return Tt({size:e,sizes:t.fontSizes})}const UB=["-xs","-sm","-md","-lg","-xl"];function GB(e,t){return UB.includes(e)?`calc(${Tt({size:e.replace("-",""),sizes:t.spacing})} * -1)`:Tt({size:e,sizes:t.spacing})}const qB={identity:WB,color:FB,size:HB,fontSize:VB,spacing:GB},KB={m:{type:"spacing",property:"margin"},mt:{type:"spacing",property:"marginTop"},mb:{type:"spacing",property:"marginBottom"},ml:{type:"spacing",property:"marginLeft"},mr:{type:"spacing",property:"marginRight"},mx:{type:"spacing",property:["marginRight","marginLeft"]},my:{type:"spacing",property:["marginTop","marginBottom"]},p:{type:"spacing",property:"padding"},pt:{type:"spacing",property:"paddingTop"},pb:{type:"spacing",property:"paddingBottom"},pl:{type:"spacing",property:"paddingLeft"},pr:{type:"spacing",property:"paddingRight"},px:{type:"spacing",property:["paddingRight","paddingLeft"]},py:{type:"spacing",property:["paddingTop","paddingBottom"]},bg:{type:"color",property:"background"},c:{type:"color",property:"color"},opacity:{type:"identity",property:"opacity"},ff:{type:"identity",property:"fontFamily"},fz:{type:"fontSize",property:"fontSize"},fw:{type:"identity",property:"fontWeight"},lts:{type:"size",property:"letterSpacing"},ta:{type:"identity",property:"textAlign"},lh:{type:"identity",property:"lineHeight"},fs:{type:"identity",property:"fontStyle"},tt:{type:"identity",property:"textTransform"},td:{type:"identity",property:"textDecoration"},w:{type:"spacing",property:"width"},miw:{type:"spacing",property:"minWidth"},maw:{type:"spacing",property:"maxWidth"},h:{type:"spacing",property:"height"},mih:{type:"spacing",property:"minHeight"},mah:{type:"spacing",property:"maxHeight"},bgsz:{type:"size",property:"backgroundSize"},bgp:{type:"identity",property:"backgroundPosition"},bgr:{type:"identity",property:"backgroundRepeat"},bga:{type:"identity",property:"backgroundAttachment"},pos:{type:"identity",property:"position"},top:{type:"identity",property:"top"},left:{type:"size",property:"left"},bottom:{type:"size",property:"bottom"},right:{type:"size",property:"right"},inset:{type:"size",property:"inset"},display:{type:"identity",property:"display"}};var QB=Object.defineProperty,lw=Object.getOwnPropertySymbols,YB=Object.prototype.hasOwnProperty,XB=Object.prototype.propertyIsEnumerable,cw=(e,t,n)=>t in e?QB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,uw=(e,t)=>{for(var n in t||(t={}))YB.call(t,n)&&cw(e,n,t[n]);if(lw)for(var n of lw(t))XB.call(t,n)&&cw(e,n,t[n]);return e};function dw(e,t,n=KB){return Object.keys(n).reduce((o,s)=>(s in e&&e[s]!==void 0&&o.push(BB({value:e[s],getValue:qB[n[s].type],property:n[s].property,theme:t})),o),[]).reduce((o,s)=>(Object.keys(s).forEach(i=>{typeof s[i]=="object"&&s[i]!==null&&i in o?o[i]=uw(uw({},o[i]),s[i]):o[i]=s[i]}),o),{})}function fw(e,t){return typeof e=="function"?e(t):e}function JB(e,t,n){const r=_a(),{css:o,cx:s}=N_();return Array.isArray(e)?s(n,o(dw(t,r)),e.map(i=>o(fw(i,r)))):s(n,o(fw(e,r)),o(dw(t,r)))}var ZB=Object.defineProperty,Xf=Object.getOwnPropertySymbols,V_=Object.prototype.hasOwnProperty,U_=Object.prototype.propertyIsEnumerable,pw=(e,t,n)=>t in e?ZB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,eF=(e,t)=>{for(var n in t||(t={}))V_.call(t,n)&&pw(e,n,t[n]);if(Xf)for(var n of Xf(t))U_.call(t,n)&&pw(e,n,t[n]);return e},tF=(e,t)=>{var n={};for(var r in e)V_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Xf)for(var r of Xf(e))t.indexOf(r)<0&&U_.call(e,r)&&(n[r]=e[r]);return n};const G_=f.forwardRef((e,t)=>{var n=e,{className:r,component:o,style:s,sx:i}=n,u=tF(n,["className","component","style","sx"]);const{systemStyles:d,rest:p}=xh(u),h=o||"div";return z.createElement(h,eF({ref:t,className:JB(i,d,r),style:s},p))});G_.displayName="@mantine/core/Box";const bo=G_;var nF=Object.defineProperty,rF=Object.defineProperties,oF=Object.getOwnPropertyDescriptors,hw=Object.getOwnPropertySymbols,sF=Object.prototype.hasOwnProperty,aF=Object.prototype.propertyIsEnumerable,mw=(e,t,n)=>t in e?nF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gw=(e,t)=>{for(var n in t||(t={}))sF.call(t,n)&&mw(e,n,t[n]);if(hw)for(var n of hw(t))aF.call(t,n)&&mw(e,n,t[n]);return e},iF=(e,t)=>rF(e,oF(t)),lF=eo(e=>({root:iF(gw(gw({},e.fn.focusStyles()),e.fn.fontStyles()),{cursor:"pointer",border:0,padding:0,appearance:"none",fontSize:e.fontSizes.md,backgroundColor:"transparent",textAlign:"left",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,textDecoration:"none",boxSizing:"border-box"})}));const cF=lF;var uF=Object.defineProperty,Jf=Object.getOwnPropertySymbols,q_=Object.prototype.hasOwnProperty,K_=Object.prototype.propertyIsEnumerable,vw=(e,t,n)=>t in e?uF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dF=(e,t)=>{for(var n in t||(t={}))q_.call(t,n)&&vw(e,n,t[n]);if(Jf)for(var n of Jf(t))K_.call(t,n)&&vw(e,n,t[n]);return e},fF=(e,t)=>{var n={};for(var r in e)q_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Jf)for(var r of Jf(e))t.indexOf(r)<0&&K_.call(e,r)&&(n[r]=e[r]);return n};const Q_=f.forwardRef((e,t)=>{const n=mr("UnstyledButton",{},e),{className:r,component:o="button",unstyled:s,variant:i}=n,u=fF(n,["className","component","unstyled","variant"]),{classes:d,cx:p}=cF(null,{name:"UnstyledButton",unstyled:s,variant:i});return z.createElement(bo,dF({component:o,ref:t,className:p(d.root,r),type:o==="button"?"button":void 0},u))});Q_.displayName="@mantine/core/UnstyledButton";const pF=Q_;var hF=Object.defineProperty,mF=Object.defineProperties,gF=Object.getOwnPropertyDescriptors,yw=Object.getOwnPropertySymbols,vF=Object.prototype.hasOwnProperty,yF=Object.prototype.propertyIsEnumerable,bw=(e,t,n)=>t in e?hF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,R0=(e,t)=>{for(var n in t||(t={}))vF.call(t,n)&&bw(e,n,t[n]);if(yw)for(var n of yw(t))yF.call(t,n)&&bw(e,n,t[n]);return e},xw=(e,t)=>mF(e,gF(t));const bF=["subtle","filled","outline","light","default","transparent","gradient"],Xd={xs:ze(18),sm:ze(22),md:ze(28),lg:ze(34),xl:ze(44)};function xF({variant:e,theme:t,color:n,gradient:r}){const o=t.fn.variant({color:n,variant:e,gradient:r});return e==="gradient"?{border:0,backgroundImage:o.background,color:o.color,"&:hover":t.fn.hover({backgroundSize:"200%"})}:bF.includes(e)?R0({border:`${ze(1)} solid ${o.border}`,backgroundColor:o.background,color:o.color},t.fn.hover({backgroundColor:o.hover})):null}var wF=eo((e,{radius:t,color:n,gradient:r},{variant:o,size:s})=>({root:xw(R0({position:"relative",borderRadius:e.fn.radius(t),padding:0,lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",height:Tt({size:s,sizes:Xd}),minHeight:Tt({size:s,sizes:Xd}),width:Tt({size:s,sizes:Xd}),minWidth:Tt({size:s,sizes:Xd})},xF({variant:o,theme:e,color:n,gradient:r})),{"&:active":e.activeStyles,"& [data-action-icon-loader]":{maxWidth:"70%"},"&:disabled, &[data-disabled]":{color:e.colors.gray[e.colorScheme==="dark"?6:4],cursor:"not-allowed",backgroundColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),borderColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),backgroundImage:"none",pointerEvents:"none","&:active":{transform:"none"}},"&[data-loading]":{pointerEvents:"none","&::before":xw(R0({content:'""'},e.fn.cover(ze(-1))),{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.colors.dark[7],.5):"rgba(255, 255, 255, .5)",borderRadius:e.fn.radius(t),cursor:"not-allowed"})}})}));const SF=wF;var CF=Object.defineProperty,Zf=Object.getOwnPropertySymbols,Y_=Object.prototype.hasOwnProperty,X_=Object.prototype.propertyIsEnumerable,ww=(e,t,n)=>t in e?CF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Sw=(e,t)=>{for(var n in t||(t={}))Y_.call(t,n)&&ww(e,n,t[n]);if(Zf)for(var n of Zf(t))X_.call(t,n)&&ww(e,n,t[n]);return e},Cw=(e,t)=>{var n={};for(var r in e)Y_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Zf)for(var r of Zf(e))t.indexOf(r)<0&&X_.call(e,r)&&(n[r]=e[r]);return n};function _F(e){var t=e,{size:n,color:r}=t,o=Cw(t,["size","color"]);const s=o,{style:i}=s,u=Cw(s,["style"]);return z.createElement("svg",Sw({viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",fill:r,style:Sw({width:n},i)},u),z.createElement("rect",{y:"10",width:"15",height:"120",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("rect",{x:"30",y:"10",width:"15",height:"120",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("rect",{x:"60",width:"15",height:"140",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("rect",{x:"90",y:"10",width:"15",height:"120",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("rect",{x:"120",y:"10",width:"15",height:"120",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})))}var kF=Object.defineProperty,ep=Object.getOwnPropertySymbols,J_=Object.prototype.hasOwnProperty,Z_=Object.prototype.propertyIsEnumerable,_w=(e,t,n)=>t in e?kF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kw=(e,t)=>{for(var n in t||(t={}))J_.call(t,n)&&_w(e,n,t[n]);if(ep)for(var n of ep(t))Z_.call(t,n)&&_w(e,n,t[n]);return e},jw=(e,t)=>{var n={};for(var r in e)J_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ep)for(var r of ep(e))t.indexOf(r)<0&&Z_.call(e,r)&&(n[r]=e[r]);return n};function jF(e){var t=e,{size:n,color:r}=t,o=jw(t,["size","color"]);const s=o,{style:i}=s,u=jw(s,["style"]);return z.createElement("svg",kw({viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:r,style:kw({width:n,height:n},i)},u),z.createElement("g",{fill:"none",fillRule:"evenodd"},z.createElement("g",{transform:"translate(2.5 2.5)",strokeWidth:"5"},z.createElement("circle",{strokeOpacity:".5",cx:"16",cy:"16",r:"16"}),z.createElement("path",{d:"M32 16c0-9.94-8.06-16-16-16"},z.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 16 16",to:"360 16 16",dur:"1s",repeatCount:"indefinite"})))))}var PF=Object.defineProperty,tp=Object.getOwnPropertySymbols,ek=Object.prototype.hasOwnProperty,tk=Object.prototype.propertyIsEnumerable,Pw=(e,t,n)=>t in e?PF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Iw=(e,t)=>{for(var n in t||(t={}))ek.call(t,n)&&Pw(e,n,t[n]);if(tp)for(var n of tp(t))tk.call(t,n)&&Pw(e,n,t[n]);return e},Ew=(e,t)=>{var n={};for(var r in e)ek.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&tp)for(var r of tp(e))t.indexOf(r)<0&&tk.call(e,r)&&(n[r]=e[r]);return n};function IF(e){var t=e,{size:n,color:r}=t,o=Ew(t,["size","color"]);const s=o,{style:i}=s,u=Ew(s,["style"]);return z.createElement("svg",Iw({viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",fill:r,style:Iw({width:n},i)},u),z.createElement("circle",{cx:"15",cy:"15",r:"15"},z.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("circle",{cx:"60",cy:"15",r:"9",fillOpacity:"0.3"},z.createElement("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"fill-opacity",from:"0.5",to:"0.5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("circle",{cx:"105",cy:"15",r:"15"},z.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})))}var EF=Object.defineProperty,np=Object.getOwnPropertySymbols,nk=Object.prototype.hasOwnProperty,rk=Object.prototype.propertyIsEnumerable,Ow=(e,t,n)=>t in e?EF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OF=(e,t)=>{for(var n in t||(t={}))nk.call(t,n)&&Ow(e,n,t[n]);if(np)for(var n of np(t))rk.call(t,n)&&Ow(e,n,t[n]);return e},MF=(e,t)=>{var n={};for(var r in e)nk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&np)for(var r of np(e))t.indexOf(r)<0&&rk.call(e,r)&&(n[r]=e[r]);return n};const Ig={bars:_F,oval:jF,dots:IF},RF={xs:ze(18),sm:ze(22),md:ze(36),lg:ze(44),xl:ze(58)},DF={size:"md"};function ok(e){const t=mr("Loader",DF,e),{size:n,color:r,variant:o}=t,s=MF(t,["size","color","variant"]),i=_a(),u=o in Ig?o:i.loader;return z.createElement(bo,OF({role:"presentation",component:Ig[u]||Ig.bars,size:Tt({size:n,sizes:RF}),color:i.fn.variant({variant:"filled",primaryFallback:!1,color:r||i.primaryColor}).background},s))}ok.displayName="@mantine/core/Loader";var AF=Object.defineProperty,rp=Object.getOwnPropertySymbols,sk=Object.prototype.hasOwnProperty,ak=Object.prototype.propertyIsEnumerable,Mw=(e,t,n)=>t in e?AF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Rw=(e,t)=>{for(var n in t||(t={}))sk.call(t,n)&&Mw(e,n,t[n]);if(rp)for(var n of rp(t))ak.call(t,n)&&Mw(e,n,t[n]);return e},TF=(e,t)=>{var n={};for(var r in e)sk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&rp)for(var r of rp(e))t.indexOf(r)<0&&ak.call(e,r)&&(n[r]=e[r]);return n};const NF={color:"gray",size:"md",variant:"subtle"},ik=f.forwardRef((e,t)=>{const n=mr("ActionIcon",NF,e),{className:r,color:o,children:s,radius:i,size:u,variant:d,gradient:p,disabled:h,loaderProps:g,loading:v,unstyled:b,__staticSelector:S}=n,x=TF(n,["className","color","children","radius","size","variant","gradient","disabled","loaderProps","loading","unstyled","__staticSelector"]),{classes:C,cx:_,theme:k}=SF({radius:i,color:o,gradient:p},{name:["ActionIcon",S],unstyled:b,size:u,variant:d}),P=z.createElement(ok,Rw({color:k.fn.variant({color:o,variant:d}).color,size:"100%","data-action-icon-loader":!0},g));return z.createElement(pF,Rw({className:_(C.root,r),ref:t,disabled:h,"data-disabled":h||void 0,"data-loading":v||void 0,unstyled:b},x),v?P:s)});ik.displayName="@mantine/core/ActionIcon";const $F=ik;var zF=Object.defineProperty,LF=Object.defineProperties,BF=Object.getOwnPropertyDescriptors,op=Object.getOwnPropertySymbols,lk=Object.prototype.hasOwnProperty,ck=Object.prototype.propertyIsEnumerable,Dw=(e,t,n)=>t in e?zF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,FF=(e,t)=>{for(var n in t||(t={}))lk.call(t,n)&&Dw(e,n,t[n]);if(op)for(var n of op(t))ck.call(t,n)&&Dw(e,n,t[n]);return e},HF=(e,t)=>LF(e,BF(t)),WF=(e,t)=>{var n={};for(var r in e)lk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&op)for(var r of op(e))t.indexOf(r)<0&&ck.call(e,r)&&(n[r]=e[r]);return n};function uk(e){const t=mr("Portal",{},e),{children:n,target:r,className:o,innerRef:s}=t,i=WF(t,["children","target","className","innerRef"]),u=_a(),[d,p]=f.useState(!1),h=f.useRef();return $_(()=>(p(!0),h.current=r?typeof r=="string"?document.querySelector(r):r:document.createElement("div"),r||document.body.appendChild(h.current),()=>{!r&&document.body.removeChild(h.current)}),[r]),d?nc.createPortal(z.createElement("div",HF(FF({className:o,dir:u.dir},i),{ref:s}),n),h.current):null}uk.displayName="@mantine/core/Portal";var VF=Object.defineProperty,sp=Object.getOwnPropertySymbols,dk=Object.prototype.hasOwnProperty,fk=Object.prototype.propertyIsEnumerable,Aw=(e,t,n)=>t in e?VF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UF=(e,t)=>{for(var n in t||(t={}))dk.call(t,n)&&Aw(e,n,t[n]);if(sp)for(var n of sp(t))fk.call(t,n)&&Aw(e,n,t[n]);return e},GF=(e,t)=>{var n={};for(var r in e)dk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&sp)for(var r of sp(e))t.indexOf(r)<0&&fk.call(e,r)&&(n[r]=e[r]);return n};function pk(e){var t=e,{withinPortal:n=!0,children:r}=t,o=GF(t,["withinPortal","children"]);return n?z.createElement(uk,UF({},o),r):z.createElement(z.Fragment,null,r)}pk.displayName="@mantine/core/OptionalPortal";var qF=Object.defineProperty,ap=Object.getOwnPropertySymbols,hk=Object.prototype.hasOwnProperty,mk=Object.prototype.propertyIsEnumerable,Tw=(e,t,n)=>t in e?qF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Nw=(e,t)=>{for(var n in t||(t={}))hk.call(t,n)&&Tw(e,n,t[n]);if(ap)for(var n of ap(t))mk.call(t,n)&&Tw(e,n,t[n]);return e},KF=(e,t)=>{var n={};for(var r in e)hk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ap)for(var r of ap(e))t.indexOf(r)<0&&mk.call(e,r)&&(n[r]=e[r]);return n};function gk(e){const t=e,{width:n,height:r,style:o}=t,s=KF(t,["width","height","style"]);return z.createElement("svg",Nw({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:Nw({width:n,height:r},o)},s),z.createElement("path",{d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}gk.displayName="@mantine/core/CloseIcon";var QF=Object.defineProperty,ip=Object.getOwnPropertySymbols,vk=Object.prototype.hasOwnProperty,yk=Object.prototype.propertyIsEnumerable,$w=(e,t,n)=>t in e?QF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,YF=(e,t)=>{for(var n in t||(t={}))vk.call(t,n)&&$w(e,n,t[n]);if(ip)for(var n of ip(t))yk.call(t,n)&&$w(e,n,t[n]);return e},XF=(e,t)=>{var n={};for(var r in e)vk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ip)for(var r of ip(e))t.indexOf(r)<0&&yk.call(e,r)&&(n[r]=e[r]);return n};const JF={xs:ze(12),sm:ze(16),md:ze(20),lg:ze(28),xl:ze(34)},ZF={size:"sm"},bk=f.forwardRef((e,t)=>{const n=mr("CloseButton",ZF,e),{iconSize:r,size:o,children:s}=n,i=XF(n,["iconSize","size","children"]),u=ze(r||JF[o]);return z.createElement($F,YF({ref:t,__staticSelector:"CloseButton",size:o},i),s||z.createElement(gk,{width:u,height:u}))});bk.displayName="@mantine/core/CloseButton";const xk=bk;var eH=Object.defineProperty,tH=Object.defineProperties,nH=Object.getOwnPropertyDescriptors,zw=Object.getOwnPropertySymbols,rH=Object.prototype.hasOwnProperty,oH=Object.prototype.propertyIsEnumerable,Lw=(e,t,n)=>t in e?eH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Jd=(e,t)=>{for(var n in t||(t={}))rH.call(t,n)&&Lw(e,n,t[n]);if(zw)for(var n of zw(t))oH.call(t,n)&&Lw(e,n,t[n]);return e},sH=(e,t)=>tH(e,nH(t));function aH({underline:e,strikethrough:t}){const n=[];return e&&n.push("underline"),t&&n.push("line-through"),n.length>0?n.join(" "):"none"}function iH({theme:e,color:t}){return t==="dimmed"?e.fn.dimmed():typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?e.fn.variant({variant:"filled",color:t}).background:t||"inherit"}function lH(e){return typeof e=="number"?{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:e,WebkitBoxOrient:"vertical"}:null}function cH({theme:e,truncate:t}){return t==="start"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",direction:e.dir==="ltr"?"rtl":"ltr",textAlign:e.dir==="ltr"?"right":"left"}:t?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:null}var uH=eo((e,{color:t,lineClamp:n,truncate:r,inline:o,inherit:s,underline:i,gradient:u,weight:d,transform:p,align:h,strikethrough:g,italic:v},{size:b})=>{const S=e.fn.variant({variant:"gradient",gradient:u});return{root:sH(Jd(Jd(Jd(Jd({},e.fn.fontStyles()),e.fn.focusStyles()),lH(n)),cH({theme:e,truncate:r})),{color:iH({color:t,theme:e}),fontFamily:s?"inherit":e.fontFamily,fontSize:s||b===void 0?"inherit":Tt({size:b,sizes:e.fontSizes}),lineHeight:s?"inherit":o?1:e.lineHeight,textDecoration:aH({underline:i,strikethrough:g}),WebkitTapHighlightColor:"transparent",fontWeight:s?"inherit":d,textTransform:p,textAlign:h,fontStyle:v?"italic":void 0}),gradient:{backgroundImage:S.background,WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"}}});const dH=uH;var fH=Object.defineProperty,lp=Object.getOwnPropertySymbols,wk=Object.prototype.hasOwnProperty,Sk=Object.prototype.propertyIsEnumerable,Bw=(e,t,n)=>t in e?fH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pH=(e,t)=>{for(var n in t||(t={}))wk.call(t,n)&&Bw(e,n,t[n]);if(lp)for(var n of lp(t))Sk.call(t,n)&&Bw(e,n,t[n]);return e},hH=(e,t)=>{var n={};for(var r in e)wk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&lp)for(var r of lp(e))t.indexOf(r)<0&&Sk.call(e,r)&&(n[r]=e[r]);return n};const mH={variant:"text"},Ck=f.forwardRef((e,t)=>{const n=mr("Text",mH,e),{className:r,size:o,weight:s,transform:i,color:u,align:d,variant:p,lineClamp:h,truncate:g,gradient:v,inline:b,inherit:S,underline:x,strikethrough:C,italic:_,classNames:k,styles:P,unstyled:I,span:E,__staticSelector:O}=n,R=hH(n,["className","size","weight","transform","color","align","variant","lineClamp","truncate","gradient","inline","inherit","underline","strikethrough","italic","classNames","styles","unstyled","span","__staticSelector"]),{classes:D,cx:T}=dH({color:u,lineClamp:h,truncate:g,inline:b,inherit:S,underline:x,strikethrough:C,italic:_,weight:s,transform:i,align:d,gradient:v},{unstyled:I,name:O||"Text",variant:p,size:o});return z.createElement(bo,pH({ref:t,className:T(D.root,{[D.gradient]:p==="gradient"},r),component:E?"span":"div"},R))});Ck.displayName="@mantine/core/Text";const Fl=Ck,Zd={xs:ze(1),sm:ze(2),md:ze(3),lg:ze(4),xl:ze(5)};function ef(e,t){const n=e.fn.variant({variant:"outline",color:t}).border;return typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?n:t===void 0?e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]:t}var gH=eo((e,{color:t},{size:n,variant:r})=>({root:{},withLabel:{borderTop:"0 !important"},left:{"&::before":{display:"none"}},right:{"&::after":{display:"none"}},label:{display:"flex",alignItems:"center","&::before":{content:'""',flex:1,height:ze(1),borderTop:`${Tt({size:n,sizes:Zd})} ${r} ${ef(e,t)}`,marginRight:e.spacing.xs},"&::after":{content:'""',flex:1,borderTop:`${Tt({size:n,sizes:Zd})} ${r} ${ef(e,t)}`,marginLeft:e.spacing.xs}},labelDefaultStyles:{color:t==="dark"?e.colors.dark[1]:e.fn.themeColor(t,e.colorScheme==="dark"?5:e.fn.primaryShade(),!1)},horizontal:{border:0,borderTopWidth:ze(Tt({size:n,sizes:Zd})),borderTopColor:ef(e,t),borderTopStyle:r,margin:0},vertical:{border:0,alignSelf:"stretch",height:"auto",borderLeftWidth:ze(Tt({size:n,sizes:Zd})),borderLeftColor:ef(e,t),borderLeftStyle:r}}));const vH=gH;var yH=Object.defineProperty,bH=Object.defineProperties,xH=Object.getOwnPropertyDescriptors,cp=Object.getOwnPropertySymbols,_k=Object.prototype.hasOwnProperty,kk=Object.prototype.propertyIsEnumerable,Fw=(e,t,n)=>t in e?yH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hw=(e,t)=>{for(var n in t||(t={}))_k.call(t,n)&&Fw(e,n,t[n]);if(cp)for(var n of cp(t))kk.call(t,n)&&Fw(e,n,t[n]);return e},wH=(e,t)=>bH(e,xH(t)),SH=(e,t)=>{var n={};for(var r in e)_k.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&cp)for(var r of cp(e))t.indexOf(r)<0&&kk.call(e,r)&&(n[r]=e[r]);return n};const CH={orientation:"horizontal",size:"xs",labelPosition:"left",variant:"solid"},D0=f.forwardRef((e,t)=>{const n=mr("Divider",CH,e),{className:r,color:o,orientation:s,size:i,label:u,labelPosition:d,labelProps:p,variant:h,styles:g,classNames:v,unstyled:b}=n,S=SH(n,["className","color","orientation","size","label","labelPosition","labelProps","variant","styles","classNames","unstyled"]),{classes:x,cx:C}=vH({color:o},{classNames:v,styles:g,unstyled:b,name:"Divider",variant:h,size:i}),_=s==="vertical",k=s==="horizontal",P=!!u&&k,I=!(p!=null&&p.color);return z.createElement(bo,Hw({ref:t,className:C(x.root,{[x.vertical]:_,[x.horizontal]:k,[x.withLabel]:P},r),role:"separator"},S),P&&z.createElement(Fl,wH(Hw({},p),{size:(p==null?void 0:p.size)||"xs",mt:ze(2),className:C(x.label,x[d],{[x.labelDefaultStyles]:I})}),u))});D0.displayName="@mantine/core/Divider";var _H=Object.defineProperty,kH=Object.defineProperties,jH=Object.getOwnPropertyDescriptors,Ww=Object.getOwnPropertySymbols,PH=Object.prototype.hasOwnProperty,IH=Object.prototype.propertyIsEnumerable,Vw=(e,t,n)=>t in e?_H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Uw=(e,t)=>{for(var n in t||(t={}))PH.call(t,n)&&Vw(e,n,t[n]);if(Ww)for(var n of Ww(t))IH.call(t,n)&&Vw(e,n,t[n]);return e},EH=(e,t)=>kH(e,jH(t)),OH=eo((e,t,{size:n})=>({item:EH(Uw({},e.fn.fontStyles()),{boxSizing:"border-box",wordBreak:"break-all",textAlign:"left",width:"100%",padding:`calc(${Tt({size:n,sizes:e.spacing})} / 1.5) ${Tt({size:n,sizes:e.spacing})}`,cursor:"pointer",fontSize:Tt({size:n,sizes:e.fontSizes}),color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,borderRadius:e.fn.radius(),"&[data-hovered]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1]},"&[data-selected]":Uw({backgroundColor:e.fn.variant({variant:"filled"}).background,color:e.fn.variant({variant:"filled"}).color},e.fn.hover({backgroundColor:e.fn.variant({variant:"filled"}).hover})),"&[data-disabled]":{cursor:"default",color:e.colors.dark[2]}}),nothingFound:{boxSizing:"border-box",color:e.colors.gray[6],paddingTop:`calc(${Tt({size:n,sizes:e.spacing})} / 2)`,paddingBottom:`calc(${Tt({size:n,sizes:e.spacing})} / 2)`,textAlign:"center"},separator:{boxSizing:"border-box",textAlign:"left",width:"100%",padding:`calc(${Tt({size:n,sizes:e.spacing})} / 1.5) ${Tt({size:n,sizes:e.spacing})}`},separatorLabel:{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]}}));const MH=OH;var RH=Object.defineProperty,Gw=Object.getOwnPropertySymbols,DH=Object.prototype.hasOwnProperty,AH=Object.prototype.propertyIsEnumerable,qw=(e,t,n)=>t in e?RH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TH=(e,t)=>{for(var n in t||(t={}))DH.call(t,n)&&qw(e,n,t[n]);if(Gw)for(var n of Gw(t))AH.call(t,n)&&qw(e,n,t[n]);return e};function E1({data:e,hovered:t,classNames:n,styles:r,isItemSelected:o,uuid:s,__staticSelector:i,onItemHover:u,onItemSelect:d,itemsRefs:p,itemComponent:h,size:g,nothingFound:v,creatable:b,createLabel:S,unstyled:x,variant:C}){const{classes:_}=MH(null,{classNames:n,styles:r,unstyled:x,name:i,variant:C,size:g}),k=[],P=[];let I=null;const E=(R,D)=>{const T=typeof o=="function"?o(R.value):!1;return z.createElement(h,TH({key:R.value,className:_.item,"data-disabled":R.disabled||void 0,"data-hovered":!R.disabled&&t===D||void 0,"data-selected":!R.disabled&&T||void 0,selected:T,onMouseEnter:()=>u(D),id:`${s}-${D}`,role:"option",tabIndex:-1,"aria-selected":t===D,ref:B=>{p&&p.current&&(p.current[R.value]=B)},onMouseDown:R.disabled?null:B=>{B.preventDefault(),d(R)},disabled:R.disabled,variant:C},R))};let O=null;if(e.forEach((R,D)=>{R.creatable?I=D:R.group?(O!==R.group&&(O=R.group,P.push(z.createElement("div",{className:_.separator,key:`__mantine-divider-${D}`},z.createElement(D0,{classNames:{label:_.separatorLabel},label:R.group})))),P.push(E(R,D))):k.push(E(R,D))}),b){const R=e[I];k.push(z.createElement("div",{key:P1(),className:_.item,"data-hovered":t===I||void 0,onMouseEnter:()=>u(I),onMouseDown:D=>{D.preventDefault(),d(R)},tabIndex:-1,ref:D=>{p&&p.current&&(p.current[R.value]=D)}},S))}return P.length>0&&k.length>0&&k.unshift(z.createElement("div",{className:_.separator,key:"empty-group-separator"},z.createElement(D0,null))),P.length>0||k.length>0?z.createElement(z.Fragment,null,P,k):z.createElement(Fl,{size:g,unstyled:x,className:_.nothingFound},v)}E1.displayName="@mantine/core/SelectItems";var NH=Object.defineProperty,up=Object.getOwnPropertySymbols,jk=Object.prototype.hasOwnProperty,Pk=Object.prototype.propertyIsEnumerable,Kw=(e,t,n)=>t in e?NH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$H=(e,t)=>{for(var n in t||(t={}))jk.call(t,n)&&Kw(e,n,t[n]);if(up)for(var n of up(t))Pk.call(t,n)&&Kw(e,n,t[n]);return e},zH=(e,t)=>{var n={};for(var r in e)jk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&up)for(var r of up(e))t.indexOf(r)<0&&Pk.call(e,r)&&(n[r]=e[r]);return n};const O1=f.forwardRef((e,t)=>{var n=e,{label:r,value:o}=n,s=zH(n,["label","value"]);return z.createElement("div",$H({ref:t},s),r||o)});O1.displayName="@mantine/core/DefaultItem";function LH(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function Ik(...e){return t=>e.forEach(n=>LH(n,t))}function Vi(...e){return f.useCallback(Ik(...e),e)}const Ek=f.forwardRef((e,t)=>{const{children:n,...r}=e,o=f.Children.toArray(n),s=o.find(FH);if(s){const i=s.props.children,u=o.map(d=>d===s?f.Children.count(i)>1?f.Children.only(null):f.isValidElement(i)?i.props.children:null:d);return f.createElement(A0,Xn({},r,{ref:t}),f.isValidElement(i)?f.cloneElement(i,void 0,u):null)}return f.createElement(A0,Xn({},r,{ref:t}),n)});Ek.displayName="Slot";const A0=f.forwardRef((e,t)=>{const{children:n,...r}=e;return f.isValidElement(n)?f.cloneElement(n,{...HH(r,n.props),ref:Ik(t,n.ref)}):f.Children.count(n)>1?f.Children.only(null):null});A0.displayName="SlotClone";const BH=({children:e})=>f.createElement(f.Fragment,null,e);function FH(e){return f.isValidElement(e)&&e.type===BH}function HH(e,t){const n={...t};for(const r in t){const o=e[r],s=t[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...u)=>{s(...u),o(...u)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...e,...n}}const WH=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],Wu=WH.reduce((e,t)=>{const n=f.forwardRef((r,o)=>{const{asChild:s,...i}=r,u=s?Ek:t;return f.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),f.createElement(u,Xn({},i,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),T0=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{};function VH(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const Vu=e=>{const{present:t,children:n}=e,r=UH(t),o=typeof n=="function"?n({present:r.isPresent}):f.Children.only(n),s=Vi(r.ref,o.ref);return typeof n=="function"||r.isPresent?f.cloneElement(o,{ref:s}):null};Vu.displayName="Presence";function UH(e){const[t,n]=f.useState(),r=f.useRef({}),o=f.useRef(e),s=f.useRef("none"),i=e?"mounted":"unmounted",[u,d]=VH(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const p=tf(r.current);s.current=u==="mounted"?p:"none"},[u]),T0(()=>{const p=r.current,h=o.current;if(h!==e){const v=s.current,b=tf(p);e?d("MOUNT"):b==="none"||(p==null?void 0:p.display)==="none"?d("UNMOUNT"):d(h&&v!==b?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),T0(()=>{if(t){const p=g=>{const b=tf(r.current).includes(g.animationName);g.target===t&&b&&nc.flushSync(()=>d("ANIMATION_END"))},h=g=>{g.target===t&&(s.current=tf(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:f.useCallback(p=>{p&&(r.current=getComputedStyle(p)),n(p)},[])}}function tf(e){return(e==null?void 0:e.animationName)||"none"}function GH(e,t=[]){let n=[];function r(s,i){const u=f.createContext(i),d=n.length;n=[...n,i];function p(g){const{scope:v,children:b,...S}=g,x=(v==null?void 0:v[e][d])||u,C=f.useMemo(()=>S,Object.values(S));return f.createElement(x.Provider,{value:C},b)}function h(g,v){const b=(v==null?void 0:v[e][d])||u,S=f.useContext(b);if(S)return S;if(i!==void 0)return i;throw new Error(`\`${g}\` must be used within \`${s}\``)}return p.displayName=s+"Provider",[p,h]}const o=()=>{const s=n.map(i=>f.createContext(i));return function(u){const d=(u==null?void 0:u[e])||s;return f.useMemo(()=>({[`__scope${e}`]:{...u,[e]:d}}),[u,d])}};return o.scopeName=e,[r,qH(o,...t)]}function qH(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const i=r.reduce((u,{useScope:d,scopeName:p})=>{const g=d(s)[`__scope${p}`];return{...u,...g}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}function xi(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}const KH=f.createContext(void 0);function QH(e){const t=f.useContext(KH);return e||t||"ltr"}function YH(e,[t,n]){return Math.min(n,Math.max(t,e))}function ji(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function XH(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const Ok="ScrollArea",[Mk,jse]=GH(Ok),[JH,Jo]=Mk(Ok),ZH=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...i}=e,[u,d]=f.useState(null),[p,h]=f.useState(null),[g,v]=f.useState(null),[b,S]=f.useState(null),[x,C]=f.useState(null),[_,k]=f.useState(0),[P,I]=f.useState(0),[E,O]=f.useState(!1),[R,D]=f.useState(!1),T=Vi(t,W=>d(W)),B=QH(o);return f.createElement(JH,{scope:n,type:r,dir:B,scrollHideDelay:s,scrollArea:u,viewport:p,onViewportChange:h,content:g,onContentChange:v,scrollbarX:b,onScrollbarXChange:S,scrollbarXEnabled:E,onScrollbarXEnabledChange:O,scrollbarY:x,onScrollbarYChange:C,scrollbarYEnabled:R,onScrollbarYEnabledChange:D,onCornerWidthChange:k,onCornerHeightChange:I},f.createElement(Wu.div,Xn({dir:B},i,{ref:T,style:{position:"relative","--radix-scroll-area-corner-width":_+"px","--radix-scroll-area-corner-height":P+"px",...e.style}})))}),eW="ScrollAreaViewport",tW=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,...o}=e,s=Jo(eW,n),i=f.useRef(null),u=Vi(t,i,s.onViewportChange);return f.createElement(f.Fragment,null,f.createElement("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"}}),f.createElement(Wu.div,Xn({"data-radix-scroll-area-viewport":""},o,{ref:u,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style}}),f.createElement("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"}},r)))}),ja="ScrollAreaScrollbar",nW=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Jo(ja,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:i}=o,u=e.orientation==="horizontal";return f.useEffect(()=>(u?s(!0):i(!0),()=>{u?s(!1):i(!1)}),[u,s,i]),o.type==="hover"?f.createElement(rW,Xn({},r,{ref:t,forceMount:n})):o.type==="scroll"?f.createElement(oW,Xn({},r,{ref:t,forceMount:n})):o.type==="auto"?f.createElement(Rk,Xn({},r,{ref:t,forceMount:n})):o.type==="always"?f.createElement(M1,Xn({},r,{ref:t})):null}),rW=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Jo(ja,e.__scopeScrollArea),[s,i]=f.useState(!1);return f.useEffect(()=>{const u=o.scrollArea;let d=0;if(u){const p=()=>{window.clearTimeout(d),i(!0)},h=()=>{d=window.setTimeout(()=>i(!1),o.scrollHideDelay)};return u.addEventListener("pointerenter",p),u.addEventListener("pointerleave",h),()=>{window.clearTimeout(d),u.removeEventListener("pointerenter",p),u.removeEventListener("pointerleave",h)}}},[o.scrollArea,o.scrollHideDelay]),f.createElement(Vu,{present:n||s},f.createElement(Rk,Xn({"data-state":s?"visible":"hidden"},r,{ref:t})))}),oW=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Jo(ja,e.__scopeScrollArea),s=e.orientation==="horizontal",i=Sh(()=>d("SCROLL_END"),100),[u,d]=XH("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return f.useEffect(()=>{if(u==="idle"){const p=window.setTimeout(()=>d("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(p)}},[u,o.scrollHideDelay,d]),f.useEffect(()=>{const p=o.viewport,h=s?"scrollLeft":"scrollTop";if(p){let g=p[h];const v=()=>{const b=p[h];g!==b&&(d("SCROLL"),i()),g=b};return p.addEventListener("scroll",v),()=>p.removeEventListener("scroll",v)}},[o.viewport,s,d,i]),f.createElement(Vu,{present:n||u!=="hidden"},f.createElement(M1,Xn({"data-state":u==="hidden"?"hidden":"visible"},r,{ref:t,onPointerEnter:ji(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:ji(e.onPointerLeave,()=>d("POINTER_LEAVE"))})))}),Rk=f.forwardRef((e,t)=>{const n=Jo(ja,e.__scopeScrollArea),{forceMount:r,...o}=e,[s,i]=f.useState(!1),u=e.orientation==="horizontal",d=Sh(()=>{if(n.viewport){const p=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,o=Jo(ja,e.__scopeScrollArea),s=f.useRef(null),i=f.useRef(0),[u,d]=f.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),p=Nk(u.viewport,u.content),h={...r,sizes:u,onSizesChange:d,hasThumb:p>0&&p<1,onThumbChange:v=>s.current=v,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:v=>i.current=v};function g(v,b){return fW(v,i.current,u,b)}return n==="horizontal"?f.createElement(sW,Xn({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollLeft,b=Qw(v,u,o.dir);s.current.style.transform=`translate3d(${b}px, 0, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollLeft=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollLeft=g(v,o.dir))}})):n==="vertical"?f.createElement(aW,Xn({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollTop,b=Qw(v,u);s.current.style.transform=`translate3d(0, ${b}px, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollTop=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollTop=g(v))}})):null}),sW=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=Jo(ja,e.__scopeScrollArea),[i,u]=f.useState(),d=f.useRef(null),p=Vi(t,d,s.onScrollbarXChange);return f.useEffect(()=>{d.current&&u(getComputedStyle(d.current))},[d]),f.createElement(Ak,Xn({"data-orientation":"horizontal"},o,{ref:p,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":wh(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.x),onDragScroll:h=>e.onDragScroll(h.x),onWheelScroll:(h,g)=>{if(s.viewport){const v=s.viewport.scrollLeft+h.deltaX;e.onWheelScroll(v),zk(v,g)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&i&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:dp(i.paddingLeft),paddingEnd:dp(i.paddingRight)}})}}))}),aW=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=Jo(ja,e.__scopeScrollArea),[i,u]=f.useState(),d=f.useRef(null),p=Vi(t,d,s.onScrollbarYChange);return f.useEffect(()=>{d.current&&u(getComputedStyle(d.current))},[d]),f.createElement(Ak,Xn({"data-orientation":"vertical"},o,{ref:p,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":wh(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.y),onDragScroll:h=>e.onDragScroll(h.y),onWheelScroll:(h,g)=>{if(s.viewport){const v=s.viewport.scrollTop+h.deltaY;e.onWheelScroll(v),zk(v,g)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&i&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:dp(i.paddingTop),paddingEnd:dp(i.paddingBottom)}})}}))}),[iW,Dk]=Mk(ja),Ak=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:i,onThumbPointerDown:u,onThumbPositionChange:d,onDragScroll:p,onWheelScroll:h,onResize:g,...v}=e,b=Jo(ja,n),[S,x]=f.useState(null),C=Vi(t,T=>x(T)),_=f.useRef(null),k=f.useRef(""),P=b.viewport,I=r.content-r.viewport,E=xi(h),O=xi(d),R=Sh(g,10);function D(T){if(_.current){const B=T.clientX-_.current.left,W=T.clientY-_.current.top;p({x:B,y:W})}}return f.useEffect(()=>{const T=B=>{const W=B.target;(S==null?void 0:S.contains(W))&&E(B,I)};return document.addEventListener("wheel",T,{passive:!1}),()=>document.removeEventListener("wheel",T,{passive:!1})},[P,S,I,E]),f.useEffect(O,[r,O]),Hl(S,R),Hl(b.content,R),f.createElement(iW,{scope:n,scrollbar:S,hasThumb:o,onThumbChange:xi(s),onThumbPointerUp:xi(i),onThumbPositionChange:O,onThumbPointerDown:xi(u)},f.createElement(Wu.div,Xn({},v,{ref:C,style:{position:"absolute",...v.style},onPointerDown:ji(e.onPointerDown,T=>{T.button===0&&(T.target.setPointerCapture(T.pointerId),_.current=S.getBoundingClientRect(),k.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",D(T))}),onPointerMove:ji(e.onPointerMove,D),onPointerUp:ji(e.onPointerUp,T=>{const B=T.target;B.hasPointerCapture(T.pointerId)&&B.releasePointerCapture(T.pointerId),document.body.style.webkitUserSelect=k.current,_.current=null})})))}),N0="ScrollAreaThumb",lW=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Dk(N0,e.__scopeScrollArea);return f.createElement(Vu,{present:n||o.hasThumb},f.createElement(cW,Xn({ref:t},r)))}),cW=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,s=Jo(N0,n),i=Dk(N0,n),{onThumbPositionChange:u}=i,d=Vi(t,g=>i.onThumbChange(g)),p=f.useRef(),h=Sh(()=>{p.current&&(p.current(),p.current=void 0)},100);return f.useEffect(()=>{const g=s.viewport;if(g){const v=()=>{if(h(),!p.current){const b=pW(g,u);p.current=b,u()}};return u(),g.addEventListener("scroll",v),()=>g.removeEventListener("scroll",v)}},[s.viewport,h,u]),f.createElement(Wu.div,Xn({"data-state":i.hasThumb?"visible":"hidden"},o,{ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:ji(e.onPointerDownCapture,g=>{const b=g.target.getBoundingClientRect(),S=g.clientX-b.left,x=g.clientY-b.top;i.onThumbPointerDown({x:S,y:x})}),onPointerUp:ji(e.onPointerUp,i.onThumbPointerUp)}))}),Tk="ScrollAreaCorner",uW=f.forwardRef((e,t)=>{const n=Jo(Tk,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?f.createElement(dW,Xn({},e,{ref:t})):null}),dW=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=Jo(Tk,n),[s,i]=f.useState(0),[u,d]=f.useState(0),p=!!(s&&u);return Hl(o.scrollbarX,()=>{var h;const g=((h=o.scrollbarX)===null||h===void 0?void 0:h.offsetHeight)||0;o.onCornerHeightChange(g),d(g)}),Hl(o.scrollbarY,()=>{var h;const g=((h=o.scrollbarY)===null||h===void 0?void 0:h.offsetWidth)||0;o.onCornerWidthChange(g),i(g)}),p?f.createElement(Wu.div,Xn({},r,{ref:t,style:{width:s,height:u,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}})):null});function dp(e){return e?parseInt(e,10):0}function Nk(e,t){const n=e/t;return isNaN(n)?0:n}function wh(e){const t=Nk(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function fW(e,t,n,r="ltr"){const o=wh(n),s=o/2,i=t||s,u=o-i,d=n.scrollbar.paddingStart+i,p=n.scrollbar.size-n.scrollbar.paddingEnd-u,h=n.content-n.viewport,g=r==="ltr"?[0,h]:[h*-1,0];return $k([d,p],g)(e)}function Qw(e,t,n="ltr"){const r=wh(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,i=t.content-t.viewport,u=s-r,d=n==="ltr"?[0,i]:[i*-1,0],p=YH(e,d);return $k([0,i],[0,u])(p)}function $k(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function zk(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},i=n.left!==s.left,u=n.top!==s.top;(i||u)&&t(),n=s,r=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(r)};function Sh(e,t){const n=xi(e),r=f.useRef(0);return f.useEffect(()=>()=>window.clearTimeout(r.current),[]),f.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Hl(e,t){const n=xi(t);T0(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}const hW=ZH,mW=tW,Yw=nW,Xw=lW,gW=uW;var vW=eo((e,{scrollbarSize:t,offsetScrollbars:n,scrollbarHovered:r,hidden:o})=>({root:{overflow:"hidden"},viewport:{width:"100%",height:"100%",paddingRight:n?ze(t):void 0,paddingBottom:n?ze(t):void 0},scrollbar:{display:o?"none":"flex",userSelect:"none",touchAction:"none",boxSizing:"border-box",padding:`calc(${ze(t)} / 5)`,transition:"background-color 150ms ease, opacity 150ms ease","&:hover":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[8]:e.colors.gray[0],[`& .${nw("thumb")}`]:{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.5):e.fn.rgba(e.black,.5)}},'&[data-orientation="vertical"]':{width:ze(t)},'&[data-orientation="horizontal"]':{flexDirection:"column",height:ze(t)},'&[data-state="hidden"]':{display:"none",opacity:0}},thumb:{ref:nw("thumb"),flex:1,backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.4):e.fn.rgba(e.black,.4),borderRadius:ze(t),position:"relative",transition:"background-color 150ms ease",display:o?"none":void 0,overflow:"hidden","&::before":{content:'""',position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"100%",height:"100%",minWidth:ze(44),minHeight:ze(44)}},corner:{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[0],transition:"opacity 150ms ease",opacity:r?1:0,display:o?"none":void 0}}));const yW=vW;var bW=Object.defineProperty,xW=Object.defineProperties,wW=Object.getOwnPropertyDescriptors,fp=Object.getOwnPropertySymbols,Lk=Object.prototype.hasOwnProperty,Bk=Object.prototype.propertyIsEnumerable,Jw=(e,t,n)=>t in e?bW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$0=(e,t)=>{for(var n in t||(t={}))Lk.call(t,n)&&Jw(e,n,t[n]);if(fp)for(var n of fp(t))Bk.call(t,n)&&Jw(e,n,t[n]);return e},Fk=(e,t)=>xW(e,wW(t)),Hk=(e,t)=>{var n={};for(var r in e)Lk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&fp)for(var r of fp(e))t.indexOf(r)<0&&Bk.call(e,r)&&(n[r]=e[r]);return n};const Wk={scrollbarSize:12,scrollHideDelay:1e3,type:"hover",offsetScrollbars:!1},Ch=f.forwardRef((e,t)=>{const n=mr("ScrollArea",Wk,e),{children:r,className:o,classNames:s,styles:i,scrollbarSize:u,scrollHideDelay:d,type:p,dir:h,offsetScrollbars:g,viewportRef:v,onScrollPositionChange:b,unstyled:S,variant:x,viewportProps:C}=n,_=Hk(n,["children","className","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","variant","viewportProps"]),[k,P]=f.useState(!1),I=_a(),{classes:E,cx:O}=yW({scrollbarSize:u,offsetScrollbars:g,scrollbarHovered:k,hidden:p==="never"},{name:"ScrollArea",classNames:s,styles:i,unstyled:S,variant:x});return z.createElement(hW,{type:p==="never"?"always":p,scrollHideDelay:d,dir:h||I.dir,ref:t,asChild:!0},z.createElement(bo,$0({className:O(E.root,o)},_),z.createElement(mW,Fk($0({},C),{className:E.viewport,ref:v,onScroll:typeof b=="function"?({currentTarget:R})=>b({x:R.scrollLeft,y:R.scrollTop}):void 0}),r),z.createElement(Yw,{orientation:"horizontal",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},z.createElement(Xw,{className:E.thumb})),z.createElement(Yw,{orientation:"vertical",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},z.createElement(Xw,{className:E.thumb})),z.createElement(gW,{className:E.corner})))}),Vk=f.forwardRef((e,t)=>{const n=mr("ScrollAreaAutosize",Wk,e),{children:r,classNames:o,styles:s,scrollbarSize:i,scrollHideDelay:u,type:d,dir:p,offsetScrollbars:h,viewportRef:g,onScrollPositionChange:v,unstyled:b,sx:S,variant:x,viewportProps:C}=n,_=Hk(n,["children","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","sx","variant","viewportProps"]);return z.createElement(bo,Fk($0({},_),{ref:t,sx:[{display:"flex"},...M_(S)]}),z.createElement(bo,{sx:{display:"flex",flexDirection:"column",flex:1}},z.createElement(Ch,{classNames:o,styles:s,scrollHideDelay:u,scrollbarSize:i,type:d,dir:p,offsetScrollbars:h,viewportRef:g,onScrollPositionChange:v,unstyled:b,variant:x,viewportProps:C},r)))});Vk.displayName="@mantine/core/ScrollAreaAutosize";Ch.displayName="@mantine/core/ScrollArea";Ch.Autosize=Vk;const Uk=Ch;var SW=Object.defineProperty,CW=Object.defineProperties,_W=Object.getOwnPropertyDescriptors,pp=Object.getOwnPropertySymbols,Gk=Object.prototype.hasOwnProperty,qk=Object.prototype.propertyIsEnumerable,Zw=(e,t,n)=>t in e?SW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,eS=(e,t)=>{for(var n in t||(t={}))Gk.call(t,n)&&Zw(e,n,t[n]);if(pp)for(var n of pp(t))qk.call(t,n)&&Zw(e,n,t[n]);return e},kW=(e,t)=>CW(e,_W(t)),jW=(e,t)=>{var n={};for(var r in e)Gk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&pp)for(var r of pp(e))t.indexOf(r)<0&&qk.call(e,r)&&(n[r]=e[r]);return n};const _h=f.forwardRef((e,t)=>{var n=e,{style:r}=n,o=jW(n,["style"]);return z.createElement(Uk,kW(eS({},o),{style:eS({width:"100%"},r),viewportProps:{tabIndex:-1},viewportRef:t}),o.children)});_h.displayName="@mantine/core/SelectScrollArea";var PW=eo(()=>({dropdown:{},itemsWrapper:{padding:ze(4),display:"flex",width:"100%",boxSizing:"border-box"}}));const IW=PW;function uc(e){return e.split("-")[1]}function R1(e){return e==="y"?"height":"width"}function hs(e){return e.split("-")[0]}function si(e){return["top","bottom"].includes(hs(e))?"x":"y"}function tS(e,t,n){let{reference:r,floating:o}=e;const s=r.x+r.width/2-o.width/2,i=r.y+r.height/2-o.height/2,u=si(t),d=R1(u),p=r[d]/2-o[d]/2,h=u==="x";let g;switch(hs(t)){case"top":g={x:s,y:r.y-o.height};break;case"bottom":g={x:s,y:r.y+r.height};break;case"right":g={x:r.x+r.width,y:i};break;case"left":g={x:r.x-o.width,y:i};break;default:g={x:r.x,y:r.y}}switch(uc(t)){case"start":g[u]-=p*(n&&h?-1:1);break;case"end":g[u]+=p*(n&&h?-1:1)}return g}const EW=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:i}=n,u=s.filter(Boolean),d=await(i.isRTL==null?void 0:i.isRTL(t));let p=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:h,y:g}=tS(p,r,d),v=r,b={},S=0;for(let x=0;x({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:s,platform:i,elements:u}=t,{element:d,padding:p=0}=wa(e,t)||{};if(d==null)return{};const h=D1(p),g={x:n,y:r},v=si(o),b=R1(v),S=await i.getDimensions(d),x=v==="y",C=x?"top":"left",_=x?"bottom":"right",k=x?"clientHeight":"clientWidth",P=s.reference[b]+s.reference[v]-g[v]-s.floating[b],I=g[v]-s.reference[v],E=await(i.getOffsetParent==null?void 0:i.getOffsetParent(d));let O=E?E[k]:0;O&&await(i.isElement==null?void 0:i.isElement(E))||(O=u.floating[k]||s.floating[b]);const R=P/2-I/2,D=O/2-S[b]/2-1,T=ei(h[C],D),B=ei(h[_],D),W=T,J=O-S[b]-B,F=O/2-S[b]/2+R,N=z0(W,F,J),G=uc(o)!=null&&F!=N&&s.reference[b]/2-(Fe.concat(t,t+"-start",t+"-end"),[]);const MW={left:"right",right:"left",bottom:"top",top:"bottom"};function hp(e){return e.replace(/left|right|bottom|top/g,t=>MW[t])}function RW(e,t,n){n===void 0&&(n=!1);const r=uc(e),o=si(e),s=R1(o);let i=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(i=hp(i)),{main:i,cross:hp(i)}}const DW={start:"end",end:"start"};function Eg(e){return e.replace(/start|end/g,t=>DW[t])}const AW=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:o,rects:s,initialPlacement:i,platform:u,elements:d}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:g,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:S=!0,...x}=wa(e,t),C=hs(r),_=hs(i)===i,k=await(u.isRTL==null?void 0:u.isRTL(d.floating)),P=g||(_||!S?[hp(i)]:function(W){const J=hp(W);return[Eg(W),J,Eg(J)]}(i));g||b==="none"||P.push(...function(W,J,F,N){const G=uc(W);let K=function(M,U,V){const ee=["left","right"],ie=["right","left"],xe=["top","bottom"],me=["bottom","top"];switch(M){case"top":case"bottom":return V?U?ie:ee:U?ee:ie;case"left":case"right":return U?xe:me;default:return[]}}(hs(W),F==="start",N);return G&&(K=K.map(M=>M+"-"+G),J&&(K=K.concat(K.map(Eg)))),K}(i,S,b,k));const I=[i,...P],E=await A1(t,x),O=[];let R=((n=o.flip)==null?void 0:n.overflows)||[];if(p&&O.push(E[C]),h){const{main:W,cross:J}=RW(r,s,k);O.push(E[W],E[J])}if(R=[...R,{placement:r,overflows:O}],!O.every(W=>W<=0)){var D,T;const W=(((D=o.flip)==null?void 0:D.index)||0)+1,J=I[W];if(J)return{data:{index:W,overflows:R},reset:{placement:J}};let F=(T=R.filter(N=>N.overflows[0]<=0).sort((N,G)=>N.overflows[1]-G.overflows[1])[0])==null?void 0:T.placement;if(!F)switch(v){case"bestFit":{var B;const N=(B=R.map(G=>[G.placement,G.overflows.filter(K=>K>0).reduce((K,M)=>K+M,0)]).sort((G,K)=>G[1]-K[1])[0])==null?void 0:B[0];N&&(F=N);break}case"initialPlacement":F=i}if(r!==F)return{reset:{placement:F}}}return{}}}};function rS(e){const t=ei(...e.map(r=>r.left)),n=ei(...e.map(r=>r.top));return{x:t,y:n,width:Ns(...e.map(r=>r.right))-t,height:Ns(...e.map(r=>r.bottom))-n}}const TW=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:r,rects:o,platform:s,strategy:i}=t,{padding:u=2,x:d,y:p}=wa(e,t),h=Array.from(await(s.getClientRects==null?void 0:s.getClientRects(r.reference))||[]),g=function(x){const C=x.slice().sort((P,I)=>P.y-I.y),_=[];let k=null;for(let P=0;Pk.height/2?_.push([I]):_[_.length-1].push(I),k=I}return _.map(P=>Wl(rS(P)))}(h),v=Wl(rS(h)),b=D1(u),S=await s.getElementRects({reference:{getBoundingClientRect:function(){if(g.length===2&&g[0].left>g[1].right&&d!=null&&p!=null)return g.find(x=>d>x.left-b.left&&dx.top-b.top&&p=2){if(si(n)==="x"){const E=g[0],O=g[g.length-1],R=hs(n)==="top",D=E.top,T=O.bottom,B=R?E.left:O.left,W=R?E.right:O.right;return{top:D,bottom:T,left:B,right:W,width:W-B,height:T-D,x:B,y:D}}const x=hs(n)==="left",C=Ns(...g.map(E=>E.right)),_=ei(...g.map(E=>E.left)),k=g.filter(E=>x?E.left===_:E.right===C),P=k[0].top,I=k[k.length-1].bottom;return{top:P,bottom:I,left:_,right:C,width:C-_,height:I-P,x:_,y:P}}return v}},floating:r.floating,strategy:i});return o.reference.x!==S.reference.x||o.reference.y!==S.reference.y||o.reference.width!==S.reference.width||o.reference.height!==S.reference.height?{reset:{rects:S}}:{}}}},NW=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,o=await async function(s,i){const{placement:u,platform:d,elements:p}=s,h=await(d.isRTL==null?void 0:d.isRTL(p.floating)),g=hs(u),v=uc(u),b=si(u)==="x",S=["left","top"].includes(g)?-1:1,x=h&&b?-1:1,C=wa(i,s);let{mainAxis:_,crossAxis:k,alignmentAxis:P}=typeof C=="number"?{mainAxis:C,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...C};return v&&typeof P=="number"&&(k=v==="end"?-1*P:P),b?{x:k*x,y:_*S}:{x:_*S,y:k*x}}(t,e);return{x:n+o.x,y:r+o.y,data:o}}}};function Kk(e){return e==="x"?"y":"x"}const $W=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:s=!0,crossAxis:i=!1,limiter:u={fn:C=>{let{x:_,y:k}=C;return{x:_,y:k}}},...d}=wa(e,t),p={x:n,y:r},h=await A1(t,d),g=si(hs(o)),v=Kk(g);let b=p[g],S=p[v];if(s){const C=g==="y"?"bottom":"right";b=z0(b+h[g==="y"?"top":"left"],b,b-h[C])}if(i){const C=v==="y"?"bottom":"right";S=z0(S+h[v==="y"?"top":"left"],S,S-h[C])}const x=u.fn({...t,[g]:b,[v]:S});return{...x,data:{x:x.x-n,y:x.y-r}}}}},zW=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:s,middlewareData:i}=t,{offset:u=0,mainAxis:d=!0,crossAxis:p=!0}=wa(e,t),h={x:n,y:r},g=si(o),v=Kk(g);let b=h[g],S=h[v];const x=wa(u,t),C=typeof x=="number"?{mainAxis:x,crossAxis:0}:{mainAxis:0,crossAxis:0,...x};if(d){const P=g==="y"?"height":"width",I=s.reference[g]-s.floating[P]+C.mainAxis,E=s.reference[g]+s.reference[P]-C.mainAxis;bE&&(b=E)}if(p){var _,k;const P=g==="y"?"width":"height",I=["top","left"].includes(hs(o)),E=s.reference[v]-s.floating[P]+(I&&((_=i.offset)==null?void 0:_[v])||0)+(I?0:C.crossAxis),O=s.reference[v]+s.reference[P]+(I?0:((k=i.offset)==null?void 0:k[v])||0)-(I?C.crossAxis:0);SO&&(S=O)}return{[g]:b,[v]:S}}}},LW=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:s}=t,{apply:i=()=>{},...u}=wa(e,t),d=await A1(t,u),p=hs(n),h=uc(n),g=si(n)==="x",{width:v,height:b}=r.floating;let S,x;p==="top"||p==="bottom"?(S=p,x=h===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(x=p,S=h==="end"?"top":"bottom");const C=b-d[S],_=v-d[x],k=!t.middlewareData.shift;let P=C,I=_;if(g){const O=v-d.left-d.right;I=h||k?ei(_,O):O}else{const O=b-d.top-d.bottom;P=h||k?ei(C,O):O}if(k&&!h){const O=Ns(d.left,0),R=Ns(d.right,0),D=Ns(d.top,0),T=Ns(d.bottom,0);g?I=v-2*(O!==0||R!==0?O+R:Ns(d.left,d.right)):P=b-2*(D!==0||T!==0?D+T:Ns(d.top,d.bottom))}await i({...t,availableWidth:I,availableHeight:P});const E=await o.getDimensions(s.floating);return v!==E.width||b!==E.height?{reset:{rects:!0}}:{}}}};function Oo(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Gs(e){return Oo(e).getComputedStyle(e)}function Qk(e){return e instanceof Oo(e).Node}function ti(e){return Qk(e)?(e.nodeName||"").toLowerCase():"#document"}function bs(e){return e instanceof HTMLElement||e instanceof Oo(e).HTMLElement}function oS(e){return typeof ShadowRoot<"u"&&(e instanceof Oo(e).ShadowRoot||e instanceof ShadowRoot)}function mu(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=Gs(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function BW(e){return["table","td","th"].includes(ti(e))}function L0(e){const t=T1(),n=Gs(e);return n.transform!=="none"||n.perspective!=="none"||!!n.containerType&&n.containerType!=="normal"||!t&&!!n.backdropFilter&&n.backdropFilter!=="none"||!t&&!!n.filter&&n.filter!=="none"||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function T1(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function kh(e){return["html","body","#document"].includes(ti(e))}const B0=Math.min,Tl=Math.max,mp=Math.round,nf=Math.floor,ni=e=>({x:e,y:e});function Yk(e){const t=Gs(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=bs(e),s=o?e.offsetWidth:n,i=o?e.offsetHeight:r,u=mp(n)!==s||mp(r)!==i;return u&&(n=s,r=i),{width:n,height:r,$:u}}function fa(e){return e instanceof Element||e instanceof Oo(e).Element}function N1(e){return fa(e)?e:e.contextElement}function Nl(e){const t=N1(e);if(!bs(t))return ni(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=Yk(t);let i=(s?mp(n.width):n.width)/r,u=(s?mp(n.height):n.height)/o;return i&&Number.isFinite(i)||(i=1),u&&Number.isFinite(u)||(u=1),{x:i,y:u}}const FW=ni(0);function Xk(e){const t=Oo(e);return T1()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:FW}function Ni(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=N1(e);let i=ni(1);t&&(r?fa(r)&&(i=Nl(r)):i=Nl(e));const u=function(v,b,S){return b===void 0&&(b=!1),!(!S||b&&S!==Oo(v))&&b}(s,n,r)?Xk(s):ni(0);let d=(o.left+u.x)/i.x,p=(o.top+u.y)/i.y,h=o.width/i.x,g=o.height/i.y;if(s){const v=Oo(s),b=r&&fa(r)?Oo(r):r;let S=v.frameElement;for(;S&&r&&b!==v;){const x=Nl(S),C=S.getBoundingClientRect(),_=getComputedStyle(S),k=C.left+(S.clientLeft+parseFloat(_.paddingLeft))*x.x,P=C.top+(S.clientTop+parseFloat(_.paddingTop))*x.y;d*=x.x,p*=x.y,h*=x.x,g*=x.y,d+=k,p+=P,S=Oo(S).frameElement}}return Wl({width:h,height:g,x:d,y:p})}function jh(e){return fa(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function pa(e){var t;return(t=(Qk(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Jk(e){return Ni(pa(e)).left+jh(e).scrollLeft}function Vl(e){if(ti(e)==="html")return e;const t=e.assignedSlot||e.parentNode||oS(e)&&e.host||pa(e);return oS(t)?t.host:t}function Zk(e){const t=Vl(e);return kh(t)?e.ownerDocument?e.ownerDocument.body:e.body:bs(t)&&mu(t)?t:Zk(t)}function gp(e,t){var n;t===void 0&&(t=[]);const r=Zk(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Oo(r);return o?t.concat(s,s.visualViewport||[],mu(r)?r:[]):t.concat(r,gp(r))}function sS(e,t,n){let r;if(t==="viewport")r=function(o,s){const i=Oo(o),u=pa(o),d=i.visualViewport;let p=u.clientWidth,h=u.clientHeight,g=0,v=0;if(d){p=d.width,h=d.height;const b=T1();(!b||b&&s==="fixed")&&(g=d.offsetLeft,v=d.offsetTop)}return{width:p,height:h,x:g,y:v}}(e,n);else if(t==="document")r=function(o){const s=pa(o),i=jh(o),u=o.ownerDocument.body,d=Tl(s.scrollWidth,s.clientWidth,u.scrollWidth,u.clientWidth),p=Tl(s.scrollHeight,s.clientHeight,u.scrollHeight,u.clientHeight);let h=-i.scrollLeft+Jk(o);const g=-i.scrollTop;return Gs(u).direction==="rtl"&&(h+=Tl(s.clientWidth,u.clientWidth)-d),{width:d,height:p,x:h,y:g}}(pa(e));else if(fa(t))r=function(o,s){const i=Ni(o,!0,s==="fixed"),u=i.top+o.clientTop,d=i.left+o.clientLeft,p=bs(o)?Nl(o):ni(1);return{width:o.clientWidth*p.x,height:o.clientHeight*p.y,x:d*p.x,y:u*p.y}}(t,n);else{const o=Xk(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return Wl(r)}function ej(e,t){const n=Vl(e);return!(n===t||!fa(n)||kh(n))&&(Gs(n).position==="fixed"||ej(n,t))}function HW(e,t,n){const r=bs(t),o=pa(t),s=n==="fixed",i=Ni(e,!0,s,t);let u={scrollLeft:0,scrollTop:0};const d=ni(0);if(r||!r&&!s)if((ti(t)!=="body"||mu(o))&&(u=jh(t)),bs(t)){const p=Ni(t,!0,s,t);d.x=p.x+t.clientLeft,d.y=p.y+t.clientTop}else o&&(d.x=Jk(o));return{x:i.left+u.scrollLeft-d.x,y:i.top+u.scrollTop-d.y,width:i.width,height:i.height}}function aS(e,t){return bs(e)&&Gs(e).position!=="fixed"?t?t(e):e.offsetParent:null}function iS(e,t){const n=Oo(e);if(!bs(e))return n;let r=aS(e,t);for(;r&&BW(r)&&Gs(r).position==="static";)r=aS(r,t);return r&&(ti(r)==="html"||ti(r)==="body"&&Gs(r).position==="static"&&!L0(r))?n:r||function(o){let s=Vl(o);for(;bs(s)&&!kh(s);){if(L0(s))return s;s=Vl(s)}return null}(e)||n}const WW={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=bs(n),s=pa(n);if(n===s)return t;let i={scrollLeft:0,scrollTop:0},u=ni(1);const d=ni(0);if((o||!o&&r!=="fixed")&&((ti(n)!=="body"||mu(s))&&(i=jh(n)),bs(n))){const p=Ni(n);u=Nl(n),d.x=p.x+n.clientLeft,d.y=p.y+n.clientTop}return{width:t.width*u.x,height:t.height*u.y,x:t.x*u.x-i.scrollLeft*u.x+d.x,y:t.y*u.y-i.scrollTop*u.y+d.y}},getDocumentElement:pa,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const s=[...n==="clippingAncestors"?function(d,p){const h=p.get(d);if(h)return h;let g=gp(d).filter(x=>fa(x)&&ti(x)!=="body"),v=null;const b=Gs(d).position==="fixed";let S=b?Vl(d):d;for(;fa(S)&&!kh(S);){const x=Gs(S),C=L0(S);C||x.position!=="fixed"||(v=null),(b?!C&&!v:!C&&x.position==="static"&&v&&["absolute","fixed"].includes(v.position)||mu(S)&&!C&&ej(d,S))?g=g.filter(_=>_!==S):v=x,S=Vl(S)}return p.set(d,g),g}(t,this._c):[].concat(n),r],i=s[0],u=s.reduce((d,p)=>{const h=sS(t,p,o);return d.top=Tl(h.top,d.top),d.right=B0(h.right,d.right),d.bottom=B0(h.bottom,d.bottom),d.left=Tl(h.left,d.left),d},sS(t,i,o));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:iS,getElementRects:async function(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||iS,s=this.getDimensions;return{reference:HW(t,await o(n),r),floating:{x:0,y:0,...await s(n)}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){return Yk(e)},getScale:Nl,isElement:fa,isRTL:function(e){return getComputedStyle(e).direction==="rtl"}};function VW(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,p=N1(e),h=o||s?[...p?gp(p):[],...gp(t)]:[];h.forEach(C=>{o&&C.addEventListener("scroll",n,{passive:!0}),s&&C.addEventListener("resize",n)});const g=p&&u?function(C,_){let k,P=null;const I=pa(C);function E(){clearTimeout(k),P&&P.disconnect(),P=null}return function O(R,D){R===void 0&&(R=!1),D===void 0&&(D=1),E();const{left:T,top:B,width:W,height:J}=C.getBoundingClientRect();if(R||_(),!W||!J)return;const F={rootMargin:-nf(B)+"px "+-nf(I.clientWidth-(T+W))+"px "+-nf(I.clientHeight-(B+J))+"px "+-nf(T)+"px",threshold:Tl(0,B0(1,D))||1};let N=!0;function G(K){const M=K[0].intersectionRatio;if(M!==D){if(!N)return O();M?O(!1,M):k=setTimeout(()=>{O(!1,1e-7)},100)}N=!1}try{P=new IntersectionObserver(G,{...F,root:I.ownerDocument})}catch{P=new IntersectionObserver(G,F)}P.observe(C)}(!0),E}(p,n):null;let v,b=-1,S=null;i&&(S=new ResizeObserver(C=>{let[_]=C;_&&_.target===p&&S&&(S.unobserve(t),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{S&&S.observe(t)})),n()}),p&&!d&&S.observe(p),S.observe(t));let x=d?Ni(e):null;return d&&function C(){const _=Ni(e);!x||_.x===x.x&&_.y===x.y&&_.width===x.width&&_.height===x.height||n(),x=_,v=requestAnimationFrame(C)}(),n(),()=>{h.forEach(C=>{o&&C.removeEventListener("scroll",n),s&&C.removeEventListener("resize",n)}),g&&g(),S&&S.disconnect(),S=null,d&&cancelAnimationFrame(v)}}const UW=(e,t,n)=>{const r=new Map,o={platform:WW,...n},s={...o.platform,_c:r};return EW(e,t,{...o,platform:s})},GW=e=>{const{element:t,padding:n}=e;function r(o){return Object.prototype.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){return r(t)?t.current!=null?nS({element:t.current,padding:n}).fn(o):{}:t?nS({element:t,padding:n}).fn(o):{}}}};var Sf=typeof document<"u"?f.useLayoutEffect:f.useEffect;function vp(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!vp(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!vp(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function lS(e){const t=f.useRef(e);return Sf(()=>{t.current=e}),t}function qW(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,whileElementsMounted:s,open:i}=e,[u,d]=f.useState({x:null,y:null,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=f.useState(r);vp(p,r)||h(r);const g=f.useRef(null),v=f.useRef(null),b=f.useRef(u),S=lS(s),x=lS(o),[C,_]=f.useState(null),[k,P]=f.useState(null),I=f.useCallback(B=>{g.current!==B&&(g.current=B,_(B))},[]),E=f.useCallback(B=>{v.current!==B&&(v.current=B,P(B))},[]),O=f.useCallback(()=>{if(!g.current||!v.current)return;const B={placement:t,strategy:n,middleware:p};x.current&&(B.platform=x.current),UW(g.current,v.current,B).then(W=>{const J={...W,isPositioned:!0};R.current&&!vp(b.current,J)&&(b.current=J,nc.flushSync(()=>{d(J)}))})},[p,t,n,x]);Sf(()=>{i===!1&&b.current.isPositioned&&(b.current.isPositioned=!1,d(B=>({...B,isPositioned:!1})))},[i]);const R=f.useRef(!1);Sf(()=>(R.current=!0,()=>{R.current=!1}),[]),Sf(()=>{if(C&&k){if(S.current)return S.current(C,k,O);O()}},[C,k,O,S]);const D=f.useMemo(()=>({reference:g,floating:v,setReference:I,setFloating:E}),[I,E]),T=f.useMemo(()=>({reference:C,floating:k}),[C,k]);return f.useMemo(()=>({...u,update:O,refs:D,elements:T,reference:I,floating:E}),[u,O,D,T,I,E])}var KW=typeof document<"u"?f.useLayoutEffect:f.useEffect;function QW(){const e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(o=>o(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){e.set(t,(e.get(t)||[]).filter(r=>r!==n))}}}const YW=f.createContext(null),XW=()=>f.useContext(YW);function JW(e){return(e==null?void 0:e.ownerDocument)||document}function ZW(e){return JW(e).defaultView||window}function rf(e){return e?e instanceof ZW(e).Element:!1}const eV=fv["useInsertionEffect".toString()],tV=eV||(e=>e());function nV(e){const t=f.useRef(()=>{});return tV(()=>{t.current=e}),f.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;oQW())[0],[p,h]=f.useState(null),g=f.useCallback(_=>{const k=rf(_)?{getBoundingClientRect:()=>_.getBoundingClientRect(),contextElement:_}:_;o.refs.setReference(k)},[o.refs]),v=f.useCallback(_=>{(rf(_)||_===null)&&(i.current=_,h(_)),(rf(o.refs.reference.current)||o.refs.reference.current===null||_!==null&&!rf(_))&&o.refs.setReference(_)},[o.refs]),b=f.useMemo(()=>({...o.refs,setReference:v,setPositionReference:g,domReference:i}),[o.refs,v,g]),S=f.useMemo(()=>({...o.elements,domReference:p}),[o.elements,p]),x=nV(n),C=f.useMemo(()=>({...o,refs:b,elements:S,dataRef:u,nodeId:r,events:d,open:t,onOpenChange:x}),[o,r,d,t,x,b,S]);return KW(()=>{const _=s==null?void 0:s.nodesRef.current.find(k=>k.id===r);_&&(_.context=C)}),f.useMemo(()=>({...o,context:C,refs:b,reference:v,positionReference:g}),[o,b,C,v,g])}function oV({opened:e,floating:t,position:n,positionDependencies:r}){const[o,s]=f.useState(0);f.useEffect(()=>{if(t.refs.reference.current&&t.refs.floating.current)return VW(t.refs.reference.current,t.refs.floating.current,t.update)},[t.refs.reference.current,t.refs.floating.current,e,o,n]),ps(()=>{t.update()},r),ps(()=>{s(i=>i+1)},[e])}function sV(e){const t=[NW(e.offset)];return e.middlewares.shift&&t.push($W({limiter:zW()})),e.middlewares.flip&&t.push(AW()),e.middlewares.inline&&t.push(TW()),t.push(GW({element:e.arrowRef,padding:e.arrowOffset})),t}function aV(e){const[t,n]=hu({value:e.opened,defaultValue:e.defaultOpened,finalValue:!1,onChange:e.onChange}),r=()=>{var i;(i=e.onClose)==null||i.call(e),n(!1)},o=()=>{var i,u;t?((i=e.onClose)==null||i.call(e),n(!1)):((u=e.onOpen)==null||u.call(e),n(!0))},s=rV({placement:e.position,middleware:[...sV(e),...e.width==="target"?[LW({apply({rects:i}){var u,d;Object.assign((d=(u=s.refs.floating.current)==null?void 0:u.style)!=null?d:{},{width:`${i.reference.width}px`})}})]:[]]});return oV({opened:e.opened,position:e.position,positionDependencies:e.positionDependencies,floating:s}),ps(()=>{var i;(i=e.onPositionChange)==null||i.call(e,s.placement)},[s.placement]),ps(()=>{var i,u;e.opened?(u=e.onOpen)==null||u.call(e):(i=e.onClose)==null||i.call(e)},[e.opened]),{floating:s,controlled:typeof e.opened=="boolean",opened:t,onClose:r,onToggle:o}}const tj={context:"Popover component was not found in the tree",children:"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"},[iV,nj]=KL(tj.context);var lV=Object.defineProperty,cV=Object.defineProperties,uV=Object.getOwnPropertyDescriptors,yp=Object.getOwnPropertySymbols,rj=Object.prototype.hasOwnProperty,oj=Object.prototype.propertyIsEnumerable,cS=(e,t,n)=>t in e?lV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,of=(e,t)=>{for(var n in t||(t={}))rj.call(t,n)&&cS(e,n,t[n]);if(yp)for(var n of yp(t))oj.call(t,n)&&cS(e,n,t[n]);return e},dV=(e,t)=>cV(e,uV(t)),fV=(e,t)=>{var n={};for(var r in e)rj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&yp)for(var r of yp(e))t.indexOf(r)<0&&oj.call(e,r)&&(n[r]=e[r]);return n};const pV={refProp:"ref",popupType:"dialog"},sj=f.forwardRef((e,t)=>{const n=mr("PopoverTarget",pV,e),{children:r,refProp:o,popupType:s}=n,i=fV(n,["children","refProp","popupType"]);if(!D_(r))throw new Error(tj.children);const u=i,d=nj(),p=Hu(d.reference,r.ref,t),h=d.withRoles?{"aria-haspopup":s,"aria-expanded":d.opened,"aria-controls":d.getDropdownId(),id:d.getTargetId()}:{};return f.cloneElement(r,of(dV(of(of(of({},u),h),d.targetProps),{className:T_(d.targetProps.className,u.className,r.props.className),[o]:p}),d.controlled?null:{onClick:d.onToggle}))});sj.displayName="@mantine/core/PopoverTarget";var hV=eo((e,{radius:t,shadow:n})=>({dropdown:{position:"absolute",backgroundColor:e.white,background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,border:`${ze(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,padding:`${e.spacing.sm} ${e.spacing.md}`,boxShadow:e.shadows[n]||n||"none",borderRadius:e.fn.radius(t),"&:focus":{outline:0}},arrow:{backgroundColor:"inherit",border:`${ze(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,zIndex:1}}));const mV=hV;var gV=Object.defineProperty,uS=Object.getOwnPropertySymbols,vV=Object.prototype.hasOwnProperty,yV=Object.prototype.propertyIsEnumerable,dS=(e,t,n)=>t in e?gV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hl=(e,t)=>{for(var n in t||(t={}))vV.call(t,n)&&dS(e,n,t[n]);if(uS)for(var n of uS(t))yV.call(t,n)&&dS(e,n,t[n]);return e};const fS={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function bV({transition:e,state:t,duration:n,timingFunction:r}){const o={transitionDuration:`${n}ms`,transitionTimingFunction:r};return typeof e=="string"?e in Yd?hl(hl(hl({transitionProperty:Yd[e].transitionProperty},o),Yd[e].common),Yd[e][fS[t]]):null:hl(hl(hl({transitionProperty:e.transitionProperty},o),e.common),e[fS[t]])}function xV({duration:e,exitDuration:t,timingFunction:n,mounted:r,onEnter:o,onExit:s,onEntered:i,onExited:u}){const d=_a(),p=H_(),h=d.respectReducedMotion?p:!1,[g,v]=f.useState(h?0:e),[b,S]=f.useState(r?"entered":"exited"),x=f.useRef(-1),C=_=>{const k=_?o:s,P=_?i:u;S(_?"pre-entering":"pre-exiting"),window.clearTimeout(x.current);const I=h?0:_?e:t;if(v(I),I===0)typeof k=="function"&&k(),typeof P=="function"&&P(),S(_?"entered":"exited");else{const E=window.setTimeout(()=>{typeof k=="function"&&k(),S(_?"entering":"exiting")},10);x.current=window.setTimeout(()=>{window.clearTimeout(E),typeof P=="function"&&P(),S(_?"entered":"exited")},I)}};return ps(()=>{C(r)},[r]),f.useEffect(()=>()=>window.clearTimeout(x.current),[]),{transitionDuration:g,transitionStatus:b,transitionTimingFunction:n||d.transitionTimingFunction}}function aj({keepMounted:e,transition:t,duration:n=250,exitDuration:r=n,mounted:o,children:s,timingFunction:i,onExit:u,onEntered:d,onEnter:p,onExited:h}){const{transitionDuration:g,transitionStatus:v,transitionTimingFunction:b}=xV({mounted:o,exitDuration:r,duration:n,timingFunction:i,onExit:u,onEntered:d,onEnter:p,onExited:h});return g===0?o?z.createElement(z.Fragment,null,s({})):e?s({display:"none"}):null:v==="exited"?e?s({display:"none"}):null:z.createElement(z.Fragment,null,s(bV({transition:t,duration:g,state:v,timingFunction:b})))}aj.displayName="@mantine/core/Transition";function ij({children:e,active:t=!0,refProp:n="ref"}){const r=IB(t),o=Hu(r,e==null?void 0:e.ref);return D_(e)?f.cloneElement(e,{[n]:o}):e}ij.displayName="@mantine/core/FocusTrap";var wV=Object.defineProperty,SV=Object.defineProperties,CV=Object.getOwnPropertyDescriptors,pS=Object.getOwnPropertySymbols,_V=Object.prototype.hasOwnProperty,kV=Object.prototype.propertyIsEnumerable,hS=(e,t,n)=>t in e?wV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Na=(e,t)=>{for(var n in t||(t={}))_V.call(t,n)&&hS(e,n,t[n]);if(pS)for(var n of pS(t))kV.call(t,n)&&hS(e,n,t[n]);return e},sf=(e,t)=>SV(e,CV(t));function mS(e,t,n,r){return e==="center"||r==="center"?{top:t}:e==="end"?{bottom:n}:e==="start"?{top:n}:{}}function gS(e,t,n,r,o){return e==="center"||r==="center"?{left:t}:e==="end"?{[o==="ltr"?"right":"left"]:n}:e==="start"?{[o==="ltr"?"left":"right"]:n}:{}}const jV={bottom:"borderTopLeftRadius",left:"borderTopRightRadius",right:"borderBottomLeftRadius",top:"borderBottomRightRadius"};function PV({position:e,arrowSize:t,arrowOffset:n,arrowRadius:r,arrowPosition:o,arrowX:s,arrowY:i,dir:u}){const[d,p="center"]=e.split("-"),h={width:ze(t),height:ze(t),transform:"rotate(45deg)",position:"absolute",[jV[d]]:ze(r)},g=ze(-t/2);return d==="left"?sf(Na(Na({},h),mS(p,i,n,o)),{right:g,borderLeftColor:"transparent",borderBottomColor:"transparent"}):d==="right"?sf(Na(Na({},h),mS(p,i,n,o)),{left:g,borderRightColor:"transparent",borderTopColor:"transparent"}):d==="top"?sf(Na(Na({},h),gS(p,s,n,o,u)),{bottom:g,borderTopColor:"transparent",borderLeftColor:"transparent"}):d==="bottom"?sf(Na(Na({},h),gS(p,s,n,o,u)),{top:g,borderBottomColor:"transparent",borderRightColor:"transparent"}):{}}var IV=Object.defineProperty,EV=Object.defineProperties,OV=Object.getOwnPropertyDescriptors,bp=Object.getOwnPropertySymbols,lj=Object.prototype.hasOwnProperty,cj=Object.prototype.propertyIsEnumerable,vS=(e,t,n)=>t in e?IV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,MV=(e,t)=>{for(var n in t||(t={}))lj.call(t,n)&&vS(e,n,t[n]);if(bp)for(var n of bp(t))cj.call(t,n)&&vS(e,n,t[n]);return e},RV=(e,t)=>EV(e,OV(t)),DV=(e,t)=>{var n={};for(var r in e)lj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&bp)for(var r of bp(e))t.indexOf(r)<0&&cj.call(e,r)&&(n[r]=e[r]);return n};const uj=f.forwardRef((e,t)=>{var n=e,{position:r,arrowSize:o,arrowOffset:s,arrowRadius:i,arrowPosition:u,visible:d,arrowX:p,arrowY:h}=n,g=DV(n,["position","arrowSize","arrowOffset","arrowRadius","arrowPosition","visible","arrowX","arrowY"]);const v=_a();return d?z.createElement("div",RV(MV({},g),{ref:t,style:PV({position:r,arrowSize:o,arrowOffset:s,arrowRadius:i,arrowPosition:u,dir:v.dir,arrowX:p,arrowY:h})})):null});uj.displayName="@mantine/core/FloatingArrow";var AV=Object.defineProperty,TV=Object.defineProperties,NV=Object.getOwnPropertyDescriptors,xp=Object.getOwnPropertySymbols,dj=Object.prototype.hasOwnProperty,fj=Object.prototype.propertyIsEnumerable,yS=(e,t,n)=>t in e?AV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ml=(e,t)=>{for(var n in t||(t={}))dj.call(t,n)&&yS(e,n,t[n]);if(xp)for(var n of xp(t))fj.call(t,n)&&yS(e,n,t[n]);return e},af=(e,t)=>TV(e,NV(t)),$V=(e,t)=>{var n={};for(var r in e)dj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&xp)for(var r of xp(e))t.indexOf(r)<0&&fj.call(e,r)&&(n[r]=e[r]);return n};const zV={};function pj(e){var t;const n=mr("PopoverDropdown",zV,e),{style:r,className:o,children:s,onKeyDownCapture:i}=n,u=$V(n,["style","className","children","onKeyDownCapture"]),d=nj(),{classes:p,cx:h}=mV({radius:d.radius,shadow:d.shadow},{name:d.__staticSelector,classNames:d.classNames,styles:d.styles,unstyled:d.unstyled,variant:d.variant}),g=wB({opened:d.opened,shouldReturnFocus:d.returnFocus}),v=d.withRoles?{"aria-labelledby":d.getTargetId(),id:d.getDropdownId(),role:"dialog"}:{};return d.disabled?null:z.createElement(pk,af(ml({},d.portalProps),{withinPortal:d.withinPortal}),z.createElement(aj,af(ml({mounted:d.opened},d.transitionProps),{transition:d.transitionProps.transition||"fade",duration:(t=d.transitionProps.duration)!=null?t:150,keepMounted:d.keepMounted,exitDuration:typeof d.transitionProps.exitDuration=="number"?d.transitionProps.exitDuration:d.transitionProps.duration}),b=>{var S,x;return z.createElement(ij,{active:d.trapFocus},z.createElement(bo,ml(af(ml({},v),{tabIndex:-1,ref:d.floating,style:af(ml(ml({},r),b),{zIndex:d.zIndex,top:(S=d.y)!=null?S:0,left:(x=d.x)!=null?x:0,width:d.width==="target"?void 0:ze(d.width)}),className:h(p.dropdown,o),onKeyDownCapture:YL(d.onClose,{active:d.closeOnEscape,onTrigger:g,onKeyDown:i}),"data-position":d.placement}),u),s,z.createElement(uj,{ref:d.arrowRef,arrowX:d.arrowX,arrowY:d.arrowY,visible:d.withArrow,position:d.placement,arrowSize:d.arrowSize,arrowRadius:d.arrowRadius,arrowOffset:d.arrowOffset,arrowPosition:d.arrowPosition,className:p.arrow})))}))}pj.displayName="@mantine/core/PopoverDropdown";function LV(e,t){if(e==="rtl"&&(t.includes("right")||t.includes("left"))){const[n,r]=t.split("-"),o=n==="right"?"left":"right";return r===void 0?o:`${o}-${r}`}return t}var bS=Object.getOwnPropertySymbols,BV=Object.prototype.hasOwnProperty,FV=Object.prototype.propertyIsEnumerable,HV=(e,t)=>{var n={};for(var r in e)BV.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&bS)for(var r of bS(e))t.indexOf(r)<0&&FV.call(e,r)&&(n[r]=e[r]);return n};const WV={position:"bottom",offset:8,positionDependencies:[],transitionProps:{transition:"fade",duration:150},middlewares:{flip:!0,shift:!0,inline:!1},arrowSize:7,arrowOffset:5,arrowRadius:0,arrowPosition:"side",closeOnClickOutside:!0,withinPortal:!1,closeOnEscape:!0,trapFocus:!1,withRoles:!0,returnFocus:!1,clickOutsideEvents:["mousedown","touchstart"],zIndex:j1("popover"),__staticSelector:"Popover",width:"max-content"};function dc(e){var t,n,r,o,s,i;const u=f.useRef(null),d=mr("Popover",WV,e),{children:p,position:h,offset:g,onPositionChange:v,positionDependencies:b,opened:S,transitionProps:x,width:C,middlewares:_,withArrow:k,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,unstyled:R,classNames:D,styles:T,closeOnClickOutside:B,withinPortal:W,portalProps:J,closeOnEscape:F,clickOutsideEvents:N,trapFocus:G,onClose:K,onOpen:M,onChange:U,zIndex:V,radius:ee,shadow:ie,id:xe,defaultOpened:me,__staticSelector:ae,withRoles:te,disabled:H,returnFocus:re,variant:pe,keepMounted:ne}=d,ve=HV(d,["children","position","offset","onPositionChange","positionDependencies","opened","transitionProps","width","middlewares","withArrow","arrowSize","arrowOffset","arrowRadius","arrowPosition","unstyled","classNames","styles","closeOnClickOutside","withinPortal","portalProps","closeOnEscape","clickOutsideEvents","trapFocus","onClose","onOpen","onChange","zIndex","radius","shadow","id","defaultOpened","__staticSelector","withRoles","disabled","returnFocus","variant","keepMounted"]),[de,Ce]=f.useState(null),[Re,ge]=f.useState(null),_e=I1(xe),We=_a(),Le=aV({middlewares:_,width:C,position:LV(We.dir,h),offset:typeof g=="number"?g+(k?P/2:0):g,arrowRef:u,arrowOffset:I,onPositionChange:v,positionDependencies:b,opened:S,defaultOpened:me,onChange:U,onOpen:M,onClose:K});vB(()=>Le.opened&&B&&Le.onClose(),N,[de,Re]);const Ue=f.useCallback(vt=>{Ce(vt),Le.floating.reference(vt)},[Le.floating.reference]),jt=f.useCallback(vt=>{ge(vt),Le.floating.floating(vt)},[Le.floating.floating]);return z.createElement(iV,{value:{returnFocus:re,disabled:H,controlled:Le.controlled,reference:Ue,floating:jt,x:Le.floating.x,y:Le.floating.y,arrowX:(r=(n=(t=Le.floating)==null?void 0:t.middlewareData)==null?void 0:n.arrow)==null?void 0:r.x,arrowY:(i=(s=(o=Le.floating)==null?void 0:o.middlewareData)==null?void 0:s.arrow)==null?void 0:i.y,opened:Le.opened,arrowRef:u,transitionProps:x,width:C,withArrow:k,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,placement:Le.floating.placement,trapFocus:G,withinPortal:W,portalProps:J,zIndex:V,radius:ee,shadow:ie,closeOnEscape:F,onClose:Le.onClose,onToggle:Le.onToggle,getTargetId:()=>`${_e}-target`,getDropdownId:()=>`${_e}-dropdown`,withRoles:te,targetProps:ve,__staticSelector:ae,classNames:D,styles:T,unstyled:R,variant:pe,keepMounted:ne}},p)}dc.Target=sj;dc.Dropdown=pj;dc.displayName="@mantine/core/Popover";var VV=Object.defineProperty,wp=Object.getOwnPropertySymbols,hj=Object.prototype.hasOwnProperty,mj=Object.prototype.propertyIsEnumerable,xS=(e,t,n)=>t in e?VV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UV=(e,t)=>{for(var n in t||(t={}))hj.call(t,n)&&xS(e,n,t[n]);if(wp)for(var n of wp(t))mj.call(t,n)&&xS(e,n,t[n]);return e},GV=(e,t)=>{var n={};for(var r in e)hj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&wp)for(var r of wp(e))t.indexOf(r)<0&&mj.call(e,r)&&(n[r]=e[r]);return n};function qV(e){var t=e,{children:n,component:r="div",maxHeight:o=220,direction:s="column",id:i,innerRef:u,__staticSelector:d,styles:p,classNames:h,unstyled:g}=t,v=GV(t,["children","component","maxHeight","direction","id","innerRef","__staticSelector","styles","classNames","unstyled"]);const{classes:b}=IW(null,{name:d,styles:p,classNames:h,unstyled:g});return z.createElement(dc.Dropdown,UV({p:0,onMouseDown:S=>S.preventDefault()},v),z.createElement("div",{style:{maxHeight:ze(o),display:"flex"}},z.createElement(bo,{component:r||"div",id:`${i}-items`,"aria-labelledby":`${i}-label`,role:"listbox",onMouseDown:S=>S.preventDefault(),style:{flex:1,overflowY:r!==_h?"auto":void 0},"data-combobox-popover":!0,tabIndex:-1,ref:u},z.createElement("div",{className:b.itemsWrapper,style:{flexDirection:s}},n))))}function Xa({opened:e,transitionProps:t={transition:"fade",duration:0},shadow:n,withinPortal:r,portalProps:o,children:s,__staticSelector:i,onDirectionChange:u,switchDirectionOnFlip:d,zIndex:p,dropdownPosition:h,positionDependencies:g=[],classNames:v,styles:b,unstyled:S,readOnly:x,variant:C}){return z.createElement(dc,{unstyled:S,classNames:v,styles:b,width:"target",withRoles:!1,opened:e,middlewares:{flip:h==="flip",shift:!1},position:h==="flip"?"bottom":h,positionDependencies:g,zIndex:p,__staticSelector:i,withinPortal:r,portalProps:o,transitionProps:t,shadow:n,disabled:x,onPositionChange:_=>d&&(u==null?void 0:u(_==="top"?"column-reverse":"column")),variant:C},s)}Xa.Target=dc.Target;Xa.Dropdown=qV;var KV=Object.defineProperty,QV=Object.defineProperties,YV=Object.getOwnPropertyDescriptors,Sp=Object.getOwnPropertySymbols,gj=Object.prototype.hasOwnProperty,vj=Object.prototype.propertyIsEnumerable,wS=(e,t,n)=>t in e?KV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lf=(e,t)=>{for(var n in t||(t={}))gj.call(t,n)&&wS(e,n,t[n]);if(Sp)for(var n of Sp(t))vj.call(t,n)&&wS(e,n,t[n]);return e},XV=(e,t)=>QV(e,YV(t)),JV=(e,t)=>{var n={};for(var r in e)gj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Sp)for(var r of Sp(e))t.indexOf(r)<0&&vj.call(e,r)&&(n[r]=e[r]);return n};function yj(e,t,n){const r=mr(e,t,n),{label:o,description:s,error:i,required:u,classNames:d,styles:p,className:h,unstyled:g,__staticSelector:v,sx:b,errorProps:S,labelProps:x,descriptionProps:C,wrapperProps:_,id:k,size:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:D}=r,T=JV(r,["label","description","error","required","classNames","styles","className","unstyled","__staticSelector","sx","errorProps","labelProps","descriptionProps","wrapperProps","id","size","style","inputContainer","inputWrapperOrder","withAsterisk","variant"]),B=I1(k),{systemStyles:W,rest:J}=xh(T),F=lf({label:o,description:s,error:i,required:u,classNames:d,className:h,__staticSelector:v,sx:b,errorProps:S,labelProps:x,descriptionProps:C,unstyled:g,styles:p,id:B,size:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:D},_);return XV(lf({},J),{classNames:d,styles:p,unstyled:g,wrapperProps:lf(lf({},F),W),inputProps:{required:u,classNames:d,styles:p,unstyled:g,id:B,size:P,__staticSelector:v,error:i,variant:D}})}var ZV=eo((e,t,{size:n})=>({label:{display:"inline-block",fontSize:Tt({size:n,sizes:e.fontSizes}),fontWeight:500,color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[9],wordBreak:"break-word",cursor:"default",WebkitTapHighlightColor:"transparent"},required:{color:e.fn.variant({variant:"filled",color:"red"}).background}}));const eU=ZV;var tU=Object.defineProperty,Cp=Object.getOwnPropertySymbols,bj=Object.prototype.hasOwnProperty,xj=Object.prototype.propertyIsEnumerable,SS=(e,t,n)=>t in e?tU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nU=(e,t)=>{for(var n in t||(t={}))bj.call(t,n)&&SS(e,n,t[n]);if(Cp)for(var n of Cp(t))xj.call(t,n)&&SS(e,n,t[n]);return e},rU=(e,t)=>{var n={};for(var r in e)bj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Cp)for(var r of Cp(e))t.indexOf(r)<0&&xj.call(e,r)&&(n[r]=e[r]);return n};const oU={labelElement:"label",size:"sm"},$1=f.forwardRef((e,t)=>{const n=mr("InputLabel",oU,e),{labelElement:r,children:o,required:s,size:i,classNames:u,styles:d,unstyled:p,className:h,htmlFor:g,__staticSelector:v,variant:b,onMouseDown:S}=n,x=rU(n,["labelElement","children","required","size","classNames","styles","unstyled","className","htmlFor","__staticSelector","variant","onMouseDown"]),{classes:C,cx:_}=eU(null,{name:["InputWrapper",v],classNames:u,styles:d,unstyled:p,variant:b,size:i});return z.createElement(bo,nU({component:r,ref:t,className:_(C.label,h),htmlFor:r==="label"?g:void 0,onMouseDown:k=>{S==null||S(k),!k.defaultPrevented&&k.detail>1&&k.preventDefault()}},x),o,s&&z.createElement("span",{className:C.required,"aria-hidden":!0}," *"))});$1.displayName="@mantine/core/InputLabel";var sU=eo((e,t,{size:n})=>({error:{wordBreak:"break-word",color:e.fn.variant({variant:"filled",color:"red"}).background,fontSize:`calc(${Tt({size:n,sizes:e.fontSizes})} - ${ze(2)})`,lineHeight:1.2,display:"block"}}));const aU=sU;var iU=Object.defineProperty,_p=Object.getOwnPropertySymbols,wj=Object.prototype.hasOwnProperty,Sj=Object.prototype.propertyIsEnumerable,CS=(e,t,n)=>t in e?iU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lU=(e,t)=>{for(var n in t||(t={}))wj.call(t,n)&&CS(e,n,t[n]);if(_p)for(var n of _p(t))Sj.call(t,n)&&CS(e,n,t[n]);return e},cU=(e,t)=>{var n={};for(var r in e)wj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&_p)for(var r of _p(e))t.indexOf(r)<0&&Sj.call(e,r)&&(n[r]=e[r]);return n};const uU={size:"sm"},z1=f.forwardRef((e,t)=>{const n=mr("InputError",uU,e),{children:r,className:o,classNames:s,styles:i,unstyled:u,size:d,__staticSelector:p,variant:h}=n,g=cU(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=aU(null,{name:["InputWrapper",p],classNames:s,styles:i,unstyled:u,variant:h,size:d});return z.createElement(Fl,lU({className:b(v.error,o),ref:t},g),r)});z1.displayName="@mantine/core/InputError";var dU=eo((e,t,{size:n})=>({description:{wordBreak:"break-word",color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],fontSize:`calc(${Tt({size:n,sizes:e.fontSizes})} - ${ze(2)})`,lineHeight:1.2,display:"block"}}));const fU=dU;var pU=Object.defineProperty,kp=Object.getOwnPropertySymbols,Cj=Object.prototype.hasOwnProperty,_j=Object.prototype.propertyIsEnumerable,_S=(e,t,n)=>t in e?pU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hU=(e,t)=>{for(var n in t||(t={}))Cj.call(t,n)&&_S(e,n,t[n]);if(kp)for(var n of kp(t))_j.call(t,n)&&_S(e,n,t[n]);return e},mU=(e,t)=>{var n={};for(var r in e)Cj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&kp)for(var r of kp(e))t.indexOf(r)<0&&_j.call(e,r)&&(n[r]=e[r]);return n};const gU={size:"sm"},L1=f.forwardRef((e,t)=>{const n=mr("InputDescription",gU,e),{children:r,className:o,classNames:s,styles:i,unstyled:u,size:d,__staticSelector:p,variant:h}=n,g=mU(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=fU(null,{name:["InputWrapper",p],classNames:s,styles:i,unstyled:u,variant:h,size:d});return z.createElement(Fl,hU({color:"dimmed",className:b(v.description,o),ref:t,unstyled:u},g),r)});L1.displayName="@mantine/core/InputDescription";const kj=f.createContext({offsetBottom:!1,offsetTop:!1,describedBy:void 0}),vU=kj.Provider,yU=()=>f.useContext(kj);function bU(e,{hasDescription:t,hasError:n}){const r=e.findIndex(d=>d==="input"),o=e[r-1],s=e[r+1];return{offsetBottom:t&&s==="description"||n&&s==="error",offsetTop:t&&o==="description"||n&&o==="error"}}var xU=Object.defineProperty,wU=Object.defineProperties,SU=Object.getOwnPropertyDescriptors,kS=Object.getOwnPropertySymbols,CU=Object.prototype.hasOwnProperty,_U=Object.prototype.propertyIsEnumerable,jS=(e,t,n)=>t in e?xU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kU=(e,t)=>{for(var n in t||(t={}))CU.call(t,n)&&jS(e,n,t[n]);if(kS)for(var n of kS(t))_U.call(t,n)&&jS(e,n,t[n]);return e},jU=(e,t)=>wU(e,SU(t)),PU=eo(e=>({root:jU(kU({},e.fn.fontStyles()),{lineHeight:e.lineHeight})}));const IU=PU;var EU=Object.defineProperty,OU=Object.defineProperties,MU=Object.getOwnPropertyDescriptors,jp=Object.getOwnPropertySymbols,jj=Object.prototype.hasOwnProperty,Pj=Object.prototype.propertyIsEnumerable,PS=(e,t,n)=>t in e?EU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$a=(e,t)=>{for(var n in t||(t={}))jj.call(t,n)&&PS(e,n,t[n]);if(jp)for(var n of jp(t))Pj.call(t,n)&&PS(e,n,t[n]);return e},IS=(e,t)=>OU(e,MU(t)),RU=(e,t)=>{var n={};for(var r in e)jj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&jp)for(var r of jp(e))t.indexOf(r)<0&&Pj.call(e,r)&&(n[r]=e[r]);return n};const DU={labelElement:"label",size:"sm",inputContainer:e=>e,inputWrapperOrder:["label","description","input","error"]},Ij=f.forwardRef((e,t)=>{const n=mr("InputWrapper",DU,e),{className:r,label:o,children:s,required:i,id:u,error:d,description:p,labelElement:h,labelProps:g,descriptionProps:v,errorProps:b,classNames:S,styles:x,size:C,inputContainer:_,__staticSelector:k,unstyled:P,inputWrapperOrder:I,withAsterisk:E,variant:O}=n,R=RU(n,["className","label","children","required","id","error","description","labelElement","labelProps","descriptionProps","errorProps","classNames","styles","size","inputContainer","__staticSelector","unstyled","inputWrapperOrder","withAsterisk","variant"]),{classes:D,cx:T}=IU(null,{classNames:S,styles:x,name:["InputWrapper",k],unstyled:P,variant:O,size:C}),B={classNames:S,styles:x,unstyled:P,size:C,variant:O,__staticSelector:k},W=typeof E=="boolean"?E:i,J=u?`${u}-error`:b==null?void 0:b.id,F=u?`${u}-description`:v==null?void 0:v.id,G=`${!!d&&typeof d!="boolean"?J:""} ${p?F:""}`,K=G.trim().length>0?G.trim():void 0,M=o&&z.createElement($1,$a($a({key:"label",labelElement:h,id:u?`${u}-label`:void 0,htmlFor:u,required:W},B),g),o),U=p&&z.createElement(L1,IS($a($a({key:"description"},v),B),{size:(v==null?void 0:v.size)||B.size,id:(v==null?void 0:v.id)||F}),p),V=z.createElement(f.Fragment,{key:"input"},_(s)),ee=typeof d!="boolean"&&d&&z.createElement(z1,IS($a($a({},b),B),{size:(b==null?void 0:b.size)||B.size,key:"error",id:(b==null?void 0:b.id)||J}),d),ie=I.map(xe=>{switch(xe){case"label":return M;case"input":return V;case"description":return U;case"error":return ee;default:return null}});return z.createElement(vU,{value:$a({describedBy:K},bU(I,{hasDescription:!!U,hasError:!!ee}))},z.createElement(bo,$a({className:T(D.root,r),ref:t},R),ie))});Ij.displayName="@mantine/core/InputWrapper";var AU=Object.defineProperty,Pp=Object.getOwnPropertySymbols,Ej=Object.prototype.hasOwnProperty,Oj=Object.prototype.propertyIsEnumerable,ES=(e,t,n)=>t in e?AU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TU=(e,t)=>{for(var n in t||(t={}))Ej.call(t,n)&&ES(e,n,t[n]);if(Pp)for(var n of Pp(t))Oj.call(t,n)&&ES(e,n,t[n]);return e},NU=(e,t)=>{var n={};for(var r in e)Ej.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Pp)for(var r of Pp(e))t.indexOf(r)<0&&Oj.call(e,r)&&(n[r]=e[r]);return n};const $U={},Mj=f.forwardRef((e,t)=>{const n=mr("InputPlaceholder",$U,e),{sx:r}=n,o=NU(n,["sx"]);return z.createElement(bo,TU({component:"span",sx:[s=>s.fn.placeholderStyles(),...M_(r)],ref:t},o))});Mj.displayName="@mantine/core/InputPlaceholder";var zU=Object.defineProperty,LU=Object.defineProperties,BU=Object.getOwnPropertyDescriptors,OS=Object.getOwnPropertySymbols,FU=Object.prototype.hasOwnProperty,HU=Object.prototype.propertyIsEnumerable,MS=(e,t,n)=>t in e?zU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cf=(e,t)=>{for(var n in t||(t={}))FU.call(t,n)&&MS(e,n,t[n]);if(OS)for(var n of OS(t))HU.call(t,n)&&MS(e,n,t[n]);return e},Og=(e,t)=>LU(e,BU(t));const Bo={xs:ze(30),sm:ze(36),md:ze(42),lg:ze(50),xl:ze(60)},WU=["default","filled","unstyled"];function VU({theme:e,variant:t}){return WU.includes(t)?t==="default"?{border:`${ze(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]}`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.white,transition:"border-color 100ms ease","&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:t==="filled"?{border:`${ze(1)} solid transparent`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[1],"&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:{borderWidth:0,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,backgroundColor:"transparent",minHeight:ze(28),outline:0,"&:focus, &:focus-within":{outline:"none",borderColor:"transparent"},"&:disabled":{backgroundColor:"transparent","&:focus, &:focus-within":{outline:"none",borderColor:"transparent"}}}:null}var UU=eo((e,{multiline:t,radius:n,invalid:r,rightSectionWidth:o,withRightSection:s,iconWidth:i,offsetBottom:u,offsetTop:d,pointer:p},{variant:h,size:g})=>{const v=e.fn.variant({variant:"filled",color:"red"}).background,b=h==="default"||h==="filled"?{minHeight:Tt({size:g,sizes:Bo}),paddingLeft:`calc(${Tt({size:g,sizes:Bo})} / 3)`,paddingRight:s?o||Tt({size:g,sizes:Bo}):`calc(${Tt({size:g,sizes:Bo})} / 3)`,borderRadius:e.fn.radius(n)}:h==="unstyled"&&s?{paddingRight:o||Tt({size:g,sizes:Bo})}:null;return{wrapper:{position:"relative",marginTop:d?`calc(${e.spacing.xs} / 2)`:void 0,marginBottom:u?`calc(${e.spacing.xs} / 2)`:void 0,"&:has(input:disabled)":{"& .mantine-Input-rightSection":{display:"none"}}},input:Og(cf(cf(Og(cf({},e.fn.fontStyles()),{height:t?h==="unstyled"?void 0:"auto":Tt({size:g,sizes:Bo}),WebkitTapHighlightColor:"transparent",lineHeight:t?e.lineHeight:`calc(${Tt({size:g,sizes:Bo})} - ${ze(2)})`,appearance:"none",resize:"none",boxSizing:"border-box",fontSize:Tt({size:g,sizes:e.fontSizes}),width:"100%",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,display:"block",textAlign:"left",cursor:p?"pointer":void 0}),VU({theme:e,variant:h})),b),{"&:disabled, &[data-disabled]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,cursor:"not-allowed",pointerEvents:"none","&::placeholder":{color:e.colors.dark[2]}},"&[data-invalid]":{color:v,borderColor:v,"&::placeholder":{opacity:1,color:v}},"&[data-with-icon]":{paddingLeft:typeof i=="number"?ze(i):Tt({size:g,sizes:Bo})},"&::placeholder":Og(cf({},e.fn.placeholderStyles()),{opacity:1}),"&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{appearance:"none"},"&[type=number]":{MozAppearance:"textfield"}}),icon:{pointerEvents:"none",position:"absolute",zIndex:1,left:0,top:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",width:i?ze(i):Tt({size:g,sizes:Bo}),color:r?e.colors.red[e.colorScheme==="dark"?6:7]:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[5]},rightSection:{position:"absolute",top:0,bottom:0,right:0,display:"flex",alignItems:"center",justifyContent:"center",width:o||Tt({size:g,sizes:Bo})}}});const GU=UU;var qU=Object.defineProperty,KU=Object.defineProperties,QU=Object.getOwnPropertyDescriptors,Ip=Object.getOwnPropertySymbols,Rj=Object.prototype.hasOwnProperty,Dj=Object.prototype.propertyIsEnumerable,RS=(e,t,n)=>t in e?qU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,uf=(e,t)=>{for(var n in t||(t={}))Rj.call(t,n)&&RS(e,n,t[n]);if(Ip)for(var n of Ip(t))Dj.call(t,n)&&RS(e,n,t[n]);return e},DS=(e,t)=>KU(e,QU(t)),YU=(e,t)=>{var n={};for(var r in e)Rj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ip)for(var r of Ip(e))t.indexOf(r)<0&&Dj.call(e,r)&&(n[r]=e[r]);return n};const XU={size:"sm",variant:"default"},Ui=f.forwardRef((e,t)=>{const n=mr("Input",XU,e),{className:r,error:o,required:s,disabled:i,variant:u,icon:d,style:p,rightSectionWidth:h,iconWidth:g,rightSection:v,rightSectionProps:b,radius:S,size:x,wrapperProps:C,classNames:_,styles:k,__staticSelector:P,multiline:I,sx:E,unstyled:O,pointer:R}=n,D=YU(n,["className","error","required","disabled","variant","icon","style","rightSectionWidth","iconWidth","rightSection","rightSectionProps","radius","size","wrapperProps","classNames","styles","__staticSelector","multiline","sx","unstyled","pointer"]),{offsetBottom:T,offsetTop:B,describedBy:W}=yU(),{classes:J,cx:F}=GU({radius:S,multiline:I,invalid:!!o,rightSectionWidth:h?ze(h):void 0,iconWidth:g,withRightSection:!!v,offsetBottom:T,offsetTop:B,pointer:R},{classNames:_,styles:k,name:["Input",P],unstyled:O,variant:u,size:x}),{systemStyles:N,rest:G}=xh(D);return z.createElement(bo,uf(uf({className:F(J.wrapper,r),sx:E,style:p},N),C),d&&z.createElement("div",{className:J.icon},d),z.createElement(bo,DS(uf({component:"input"},G),{ref:t,required:s,"aria-invalid":!!o,"aria-describedby":W,disabled:i,"data-disabled":i||void 0,"data-with-icon":!!d||void 0,"data-invalid":!!o||void 0,className:J.input})),v&&z.createElement("div",DS(uf({},b),{className:J.rightSection}),v))});Ui.displayName="@mantine/core/Input";Ui.Wrapper=Ij;Ui.Label=$1;Ui.Description=L1;Ui.Error=z1;Ui.Placeholder=Mj;const Ul=Ui;var JU=Object.defineProperty,Ep=Object.getOwnPropertySymbols,Aj=Object.prototype.hasOwnProperty,Tj=Object.prototype.propertyIsEnumerable,AS=(e,t,n)=>t in e?JU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TS=(e,t)=>{for(var n in t||(t={}))Aj.call(t,n)&&AS(e,n,t[n]);if(Ep)for(var n of Ep(t))Tj.call(t,n)&&AS(e,n,t[n]);return e},ZU=(e,t)=>{var n={};for(var r in e)Aj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ep)for(var r of Ep(e))t.indexOf(r)<0&&Tj.call(e,r)&&(n[r]=e[r]);return n};const eG={multiple:!1},Nj=f.forwardRef((e,t)=>{const n=mr("FileButton",eG,e),{onChange:r,children:o,multiple:s,accept:i,name:u,form:d,resetRef:p,disabled:h,capture:g,inputProps:v}=n,b=ZU(n,["onChange","children","multiple","accept","name","form","resetRef","disabled","capture","inputProps"]),S=f.useRef(),x=()=>{!h&&S.current.click()},C=k=>{r(s?Array.from(k.currentTarget.files):k.currentTarget.files[0]||null)};return F_(p,()=>{S.current.value=""}),z.createElement(z.Fragment,null,o(TS({onClick:x},b)),z.createElement("input",TS({style:{display:"none"},type:"file",accept:i,multiple:s,onChange:C,ref:Hu(t,S),name:u,form:d,capture:g},v)))});Nj.displayName="@mantine/core/FileButton";const $j={xs:ze(16),sm:ze(22),md:ze(26),lg:ze(30),xl:ze(36)},tG={xs:ze(10),sm:ze(12),md:ze(14),lg:ze(16),xl:ze(18)};var nG=eo((e,{disabled:t,radius:n,readOnly:r},{size:o,variant:s})=>({defaultValue:{display:"flex",alignItems:"center",backgroundColor:t?e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3]:e.colorScheme==="dark"?e.colors.dark[7]:s==="filled"?e.white:e.colors.gray[1],color:t?e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],height:Tt({size:o,sizes:$j}),paddingLeft:`calc(${Tt({size:o,sizes:e.spacing})} / 1.5)`,paddingRight:t||r?Tt({size:o,sizes:e.spacing}):0,fontWeight:500,fontSize:Tt({size:o,sizes:tG}),borderRadius:Tt({size:n,sizes:e.radius}),cursor:t?"not-allowed":"default",userSelect:"none",maxWidth:`calc(100% - ${ze(10)})`},defaultValueRemove:{color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],marginLeft:`calc(${Tt({size:o,sizes:e.spacing})} / 6)`},defaultValueLabel:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const rG=nG;var oG=Object.defineProperty,Op=Object.getOwnPropertySymbols,zj=Object.prototype.hasOwnProperty,Lj=Object.prototype.propertyIsEnumerable,NS=(e,t,n)=>t in e?oG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sG=(e,t)=>{for(var n in t||(t={}))zj.call(t,n)&&NS(e,n,t[n]);if(Op)for(var n of Op(t))Lj.call(t,n)&&NS(e,n,t[n]);return e},aG=(e,t)=>{var n={};for(var r in e)zj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Op)for(var r of Op(e))t.indexOf(r)<0&&Lj.call(e,r)&&(n[r]=e[r]);return n};const iG={xs:16,sm:22,md:24,lg:26,xl:30};function Bj(e){var t=e,{label:n,classNames:r,styles:o,className:s,onRemove:i,disabled:u,readOnly:d,size:p,radius:h="sm",variant:g,unstyled:v}=t,b=aG(t,["label","classNames","styles","className","onRemove","disabled","readOnly","size","radius","variant","unstyled"]);const{classes:S,cx:x}=rG({disabled:u,readOnly:d,radius:h},{name:"MultiSelect",classNames:r,styles:o,unstyled:v,size:p,variant:g});return z.createElement("div",sG({className:x(S.defaultValue,s)},b),z.createElement("span",{className:S.defaultValueLabel},n),!u&&!d&&z.createElement(xk,{"aria-hidden":!0,onMouseDown:i,size:iG[p],radius:2,color:"blue",variant:"transparent",iconSize:"70%",className:S.defaultValueRemove,tabIndex:-1,unstyled:v}))}Bj.displayName="@mantine/core/MultiSelect/DefaultValue";function lG({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,disableSelectedItemFiltering:i}){if(!t&&s.length===0)return e;if(!t){const d=[];for(let p=0;ph===e[p].value&&!e[p].disabled))&&d.push(e[p]);return d}const u=[];for(let d=0;dp===e[d].value&&!e[d].disabled),e[d])&&u.push(e[d]),!(u.length>=n));d+=1);return u}var cG=Object.defineProperty,Mp=Object.getOwnPropertySymbols,Fj=Object.prototype.hasOwnProperty,Hj=Object.prototype.propertyIsEnumerable,$S=(e,t,n)=>t in e?cG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,zS=(e,t)=>{for(var n in t||(t={}))Fj.call(t,n)&&$S(e,n,t[n]);if(Mp)for(var n of Mp(t))Hj.call(t,n)&&$S(e,n,t[n]);return e},uG=(e,t)=>{var n={};for(var r in e)Fj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Mp)for(var r of Mp(e))t.indexOf(r)<0&&Hj.call(e,r)&&(n[r]=e[r]);return n};const dG={xs:ze(14),sm:ze(18),md:ze(20),lg:ze(24),xl:ze(28)};function fG(e){var t=e,{size:n,error:r,style:o}=t,s=uG(t,["size","error","style"]);const i=_a(),u=Tt({size:n,sizes:dG});return z.createElement("svg",zS({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:zS({color:r?i.colors.red[6]:i.colors.gray[6],width:u,height:u},o),"data-chevron":!0},s),z.createElement("path",{d:"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}var pG=Object.defineProperty,hG=Object.defineProperties,mG=Object.getOwnPropertyDescriptors,LS=Object.getOwnPropertySymbols,gG=Object.prototype.hasOwnProperty,vG=Object.prototype.propertyIsEnumerable,BS=(e,t,n)=>t in e?pG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yG=(e,t)=>{for(var n in t||(t={}))gG.call(t,n)&&BS(e,n,t[n]);if(LS)for(var n of LS(t))vG.call(t,n)&&BS(e,n,t[n]);return e},bG=(e,t)=>hG(e,mG(t));function Wj({shouldClear:e,clearButtonProps:t,onClear:n,size:r,error:o}){return e?z.createElement(xk,bG(yG({},t),{variant:"transparent",onClick:n,size:r,onMouseDown:s=>s.preventDefault()})):z.createElement(fG,{error:o,size:r})}Wj.displayName="@mantine/core/SelectRightSection";var xG=Object.defineProperty,wG=Object.defineProperties,SG=Object.getOwnPropertyDescriptors,Rp=Object.getOwnPropertySymbols,Vj=Object.prototype.hasOwnProperty,Uj=Object.prototype.propertyIsEnumerable,FS=(e,t,n)=>t in e?xG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Mg=(e,t)=>{for(var n in t||(t={}))Vj.call(t,n)&&FS(e,n,t[n]);if(Rp)for(var n of Rp(t))Uj.call(t,n)&&FS(e,n,t[n]);return e},HS=(e,t)=>wG(e,SG(t)),CG=(e,t)=>{var n={};for(var r in e)Vj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Rp)for(var r of Rp(e))t.indexOf(r)<0&&Uj.call(e,r)&&(n[r]=e[r]);return n};function Gj(e){var t=e,{styles:n,rightSection:r,rightSectionWidth:o,theme:s}=t,i=CG(t,["styles","rightSection","rightSectionWidth","theme"]);if(r)return{rightSection:r,rightSectionWidth:o,styles:n};const u=typeof n=="function"?n(s):n;return{rightSection:!i.readOnly&&!(i.disabled&&i.shouldClear)&&z.createElement(Wj,Mg({},i)),styles:HS(Mg({},u),{rightSection:HS(Mg({},u==null?void 0:u.rightSection),{pointerEvents:i.shouldClear?void 0:"none"})})}}var _G=Object.defineProperty,kG=Object.defineProperties,jG=Object.getOwnPropertyDescriptors,WS=Object.getOwnPropertySymbols,PG=Object.prototype.hasOwnProperty,IG=Object.prototype.propertyIsEnumerable,VS=(e,t,n)=>t in e?_G(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,EG=(e,t)=>{for(var n in t||(t={}))PG.call(t,n)&&VS(e,n,t[n]);if(WS)for(var n of WS(t))IG.call(t,n)&&VS(e,n,t[n]);return e},OG=(e,t)=>kG(e,jG(t)),MG=eo((e,{invalid:t},{size:n})=>({wrapper:{position:"relative","&:has(input:disabled)":{cursor:"not-allowed",pointerEvents:"none","& .mantine-MultiSelect-input":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,"&::placeholder":{color:e.colors.dark[2]}},"& .mantine-MultiSelect-defaultValue":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3],color:e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]}}},values:{minHeight:`calc(${Tt({size:n,sizes:Bo})} - ${ze(2)})`,display:"flex",alignItems:"center",flexWrap:"wrap",marginLeft:`calc(-${e.spacing.xs} / 2)`,boxSizing:"border-box","&[data-clearable]":{marginRight:Tt({size:n,sizes:Bo})}},value:{margin:`calc(${e.spacing.xs} / 2 - ${ze(2)}) calc(${e.spacing.xs} / 2)`},searchInput:OG(EG({},e.fn.fontStyles()),{flex:1,minWidth:ze(60),backgroundColor:"transparent",border:0,outline:0,fontSize:Tt({size:n,sizes:e.fontSizes}),padding:0,marginLeft:`calc(${e.spacing.xs} / 2)`,appearance:"none",color:"inherit",maxHeight:Tt({size:n,sizes:$j}),"&::placeholder":{opacity:1,color:t?e.colors.red[e.fn.primaryShade()]:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]},"&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}),searchInputEmpty:{width:"100%"},searchInputInputHidden:{flex:0,width:0,minWidth:0,margin:0,overflow:"hidden"},searchInputPointer:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}},input:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}}));const RG=MG;var DG=Object.defineProperty,AG=Object.defineProperties,TG=Object.getOwnPropertyDescriptors,Dp=Object.getOwnPropertySymbols,qj=Object.prototype.hasOwnProperty,Kj=Object.prototype.propertyIsEnumerable,US=(e,t,n)=>t in e?DG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gl=(e,t)=>{for(var n in t||(t={}))qj.call(t,n)&&US(e,n,t[n]);if(Dp)for(var n of Dp(t))Kj.call(t,n)&&US(e,n,t[n]);return e},GS=(e,t)=>AG(e,TG(t)),NG=(e,t)=>{var n={};for(var r in e)qj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Dp)for(var r of Dp(e))t.indexOf(r)<0&&Kj.call(e,r)&&(n[r]=e[r]);return n};function $G(e,t,n){return t?!1:n.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function zG(e,t){return!!e&&!t.some(n=>n.value.toLowerCase()===e.toLowerCase())}function qS(e,t){if(!Array.isArray(e))return;if(t.length===0)return[];const n=t.map(r=>typeof r=="object"?r.value:r);return e.filter(r=>n.includes(r))}const LG={size:"sm",valueComponent:Bj,itemComponent:O1,transitionProps:{transition:"fade",duration:0},maxDropdownHeight:220,shadow:"sm",searchable:!1,filter:$G,limit:1/0,clearSearchOnChange:!0,clearable:!1,clearSearchOnBlur:!1,disabled:!1,initiallyOpened:!1,creatable:!1,shouldCreate:zG,switchDirectionOnFlip:!1,zIndex:j1("popover"),selectOnBlur:!1,positionDependencies:[],dropdownPosition:"flip"},Qj=f.forwardRef((e,t)=>{const n=mr("MultiSelect",LG,e),{className:r,style:o,required:s,label:i,description:u,size:d,error:p,classNames:h,styles:g,wrapperProps:v,value:b,defaultValue:S,data:x,onChange:C,valueComponent:_,itemComponent:k,id:P,transitionProps:I,maxDropdownHeight:E,shadow:O,nothingFound:R,onFocus:D,onBlur:T,searchable:B,placeholder:W,filter:J,limit:F,clearSearchOnChange:N,clearable:G,clearSearchOnBlur:K,variant:M,onSearchChange:U,searchValue:V,disabled:ee,initiallyOpened:ie,radius:xe,icon:me,rightSection:ae,rightSectionWidth:te,creatable:H,getCreateLabel:re,shouldCreate:pe,onCreate:ne,sx:ve,dropdownComponent:de,onDropdownClose:Ce,onDropdownOpen:Re,maxSelectedValues:ge,withinPortal:_e,portalProps:We,switchDirectionOnFlip:Le,zIndex:Ue,selectOnBlur:jt,name:vt,dropdownPosition:jn,errorProps:Pt,labelProps:bt,descriptionProps:be,form:Ae,positionDependencies:Et,onKeyDown:Ft,unstyled:Wt,inputContainer:_n,inputWrapperOrder:In,readOnly:ln,withAsterisk:Cr,clearButtonProps:vn,hoverOnSearchChange:sr,disableSelectedItemFiltering:Ie}=n,it=NG(n,["className","style","required","label","description","size","error","classNames","styles","wrapperProps","value","defaultValue","data","onChange","valueComponent","itemComponent","id","transitionProps","maxDropdownHeight","shadow","nothingFound","onFocus","onBlur","searchable","placeholder","filter","limit","clearSearchOnChange","clearable","clearSearchOnBlur","variant","onSearchChange","searchValue","disabled","initiallyOpened","radius","icon","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","onCreate","sx","dropdownComponent","onDropdownClose","onDropdownOpen","maxSelectedValues","withinPortal","portalProps","switchDirectionOnFlip","zIndex","selectOnBlur","name","dropdownPosition","errorProps","labelProps","descriptionProps","form","positionDependencies","onKeyDown","unstyled","inputContainer","inputWrapperOrder","readOnly","withAsterisk","clearButtonProps","hoverOnSearchChange","disableSelectedItemFiltering"]),{classes:Xe,cx:ot,theme:Nt}=RG({invalid:!!p},{name:"MultiSelect",classNames:h,styles:g,unstyled:Wt,size:d,variant:M}),{systemStyles:ur,rest:yn}=xh(it),bn=f.useRef(),$r=f.useRef({}),dr=I1(P),[An,Tn]=f.useState(ie),[Nn,Rr]=f.useState(-1),[_o,zr]=f.useState("column"),[Lr,es]=hu({value:V,defaultValue:"",finalValue:void 0,onChange:U}),[Dr,ks]=f.useState(!1),{scrollIntoView:ts,targetRef:Xs,scrollableRef:js}=W_({duration:0,offset:5,cancelable:!1,isList:!0}),q=H&&typeof re=="function";let Y=null;const le=x.map(Oe=>typeof Oe=="string"?{label:Oe,value:Oe}:Oe),we=R_({data:le}),[ce,nt]=hu({value:qS(b,x),defaultValue:qS(S,x),finalValue:[],onChange:C}),Je=f.useRef(!!ge&&ge{if(!ln){const ut=ce.filter(_t=>_t!==Oe);nt(ut),ge&&ut.length{es(Oe.currentTarget.value),!ee&&!Je.current&&B&&Tn(!0)},dt=Oe=>{typeof D=="function"&&D(Oe),!ee&&!Je.current&&B&&Tn(!0)},De=lG({data:we,searchable:B,searchValue:Lr,limit:F,filter:J,value:ce,disableSelectedItemFiltering:Ie});q&&pe(Lr,we)&&(Y=re(Lr),De.push({label:Lr,value:Lr,creatable:!0}));const ye=Math.min(Nn,De.length-1),Fe=(Oe,ut,_t)=>{let At=Oe;for(;_t(At);)if(At=ut(At),!De[At].disabled)return At;return Oe};ps(()=>{Rr(sr&&Lr?0:-1)},[Lr,sr]),ps(()=>{!ee&&ce.length>x.length&&Tn(!1),ge&&ce.length=ge&&(Je.current=!0,Tn(!1))},[ce]);const ht=Oe=>{if(!ln)if(N&&es(""),ce.includes(Oe.value))Dt(Oe.value);else{if(Oe.creatable&&typeof ne=="function"){const ut=ne(Oe.value);typeof ut<"u"&&ut!==null&&nt(typeof ut=="string"?[...ce,ut]:[...ce,ut.value])}else nt([...ce,Oe.value]);ce.length===ge-1&&(Je.current=!0,Tn(!1)),De.length===1&&Tn(!1)}},xt=Oe=>{typeof T=="function"&&T(Oe),jt&&De[ye]&&An&&ht(De[ye]),K&&es(""),Tn(!1)},Ot=Oe=>{if(Dr||(Ft==null||Ft(Oe),ln)||Oe.key!=="Backspace"&&ge&&Je.current)return;const ut=_o==="column",_t=()=>{Rr(xn=>{var zt;const tn=Fe(xn,Jt=>Jt+1,Jt=>Jt{Rr(xn=>{var zt;const tn=Fe(xn,Jt=>Jt-1,Jt=>Jt>0);return An&&(Xs.current=$r.current[(zt=De[tn])==null?void 0:zt.value],ts({alignment:ut?"start":"end"})),tn})};switch(Oe.key){case"ArrowUp":{Oe.preventDefault(),Tn(!0),ut?At():_t();break}case"ArrowDown":{Oe.preventDefault(),Tn(!0),ut?_t():At();break}case"Enter":{Oe.preventDefault(),De[ye]&&An?ht(De[ye]):Tn(!0);break}case" ":{B||(Oe.preventDefault(),De[ye]&&An?ht(De[ye]):Tn(!0));break}case"Backspace":{ce.length>0&&Lr.length===0&&(nt(ce.slice(0,-1)),Tn(!0),ge&&(Je.current=!1));break}case"Home":{if(!B){Oe.preventDefault(),An||Tn(!0);const xn=De.findIndex(zt=>!zt.disabled);Rr(xn),ts({alignment:ut?"end":"start"})}break}case"End":{if(!B){Oe.preventDefault(),An||Tn(!0);const xn=De.map(zt=>!!zt.disabled).lastIndexOf(!1);Rr(xn),ts({alignment:ut?"end":"start"})}break}case"Escape":Tn(!1)}},Lt=ce.map(Oe=>{let ut=we.find(_t=>_t.value===Oe&&!_t.disabled);return!ut&&q&&(ut={value:Oe,label:Oe}),ut}).filter(Oe=>!!Oe).map((Oe,ut)=>z.createElement(_,GS(gl({},Oe),{variant:M,disabled:ee,className:Xe.value,readOnly:ln,onRemove:_t=>{_t.preventDefault(),_t.stopPropagation(),Dt(Oe.value)},key:Oe.value,size:d,styles:g,classNames:h,radius:xe,index:ut}))),Kt=Oe=>ce.includes(Oe),qt=()=>{var Oe;es(""),nt([]),(Oe=bn.current)==null||Oe.focus(),ge&&(Je.current=!1)},$t=!ln&&(De.length>0?An:An&&!!R);return ps(()=>{const Oe=$t?Re:Ce;typeof Oe=="function"&&Oe()},[$t]),z.createElement(Ul.Wrapper,gl(gl({required:s,id:dr,label:i,error:p,description:u,size:d,className:r,style:o,classNames:h,styles:g,__staticSelector:"MultiSelect",sx:ve,errorProps:Pt,descriptionProps:be,labelProps:bt,inputContainer:_n,inputWrapperOrder:In,unstyled:Wt,withAsterisk:Cr,variant:M},ur),v),z.createElement(Xa,{opened:$t,transitionProps:I,shadow:"sm",withinPortal:_e,portalProps:We,__staticSelector:"MultiSelect",onDirectionChange:zr,switchDirectionOnFlip:Le,zIndex:Ue,dropdownPosition:jn,positionDependencies:[...Et,Lr],classNames:h,styles:g,unstyled:Wt,variant:M},z.createElement(Xa.Target,null,z.createElement("div",{className:Xe.wrapper,role:"combobox","aria-haspopup":"listbox","aria-owns":An&&$t?`${dr}-items`:null,"aria-controls":dr,"aria-expanded":An,onMouseLeave:()=>Rr(-1),tabIndex:-1},z.createElement("input",{type:"hidden",name:vt,value:ce.join(","),form:Ae,disabled:ee}),z.createElement(Ul,gl({__staticSelector:"MultiSelect",style:{overflow:"hidden"},component:"div",multiline:!0,size:d,variant:M,disabled:ee,error:p,required:s,radius:xe,icon:me,unstyled:Wt,onMouseDown:Oe=>{var ut;Oe.preventDefault(),!ee&&!Je.current&&Tn(!An),(ut=bn.current)==null||ut.focus()},classNames:GS(gl({},h),{input:ot({[Xe.input]:!B},h==null?void 0:h.input)})},Gj({theme:Nt,rightSection:ae,rightSectionWidth:te,styles:g,size:d,shouldClear:G&&ce.length>0,onClear:qt,error:p,disabled:ee,clearButtonProps:vn,readOnly:ln})),z.createElement("div",{className:Xe.values,"data-clearable":G||void 0},Lt,z.createElement("input",gl({ref:Hu(t,bn),type:"search",id:dr,className:ot(Xe.searchInput,{[Xe.searchInputPointer]:!B,[Xe.searchInputInputHidden]:!An&&ce.length>0||!B&&ce.length>0,[Xe.searchInputEmpty]:ce.length===0}),onKeyDown:Ot,value:Lr,onChange:st,onFocus:dt,onBlur:xt,readOnly:!B||Je.current||ln,placeholder:ce.length===0?W:void 0,disabled:ee,"data-mantine-stop-propagation":An,autoComplete:"off",onCompositionStart:()=>ks(!0),onCompositionEnd:()=>ks(!1)},yn)))))),z.createElement(Xa.Dropdown,{component:de||_h,maxHeight:E,direction:_o,id:dr,innerRef:js,__staticSelector:"MultiSelect",classNames:h,styles:g},z.createElement(E1,{data:De,hovered:ye,classNames:h,styles:g,uuid:dr,__staticSelector:"MultiSelect",onItemHover:Rr,onItemSelect:ht,itemsRefs:$r,itemComponent:k,size:d,nothingFound:R,isItemSelected:Kt,creatable:H&&!!Y,createLabel:Y,unstyled:Wt,variant:M}))))});Qj.displayName="@mantine/core/MultiSelect";var BG=Object.defineProperty,FG=Object.defineProperties,HG=Object.getOwnPropertyDescriptors,Ap=Object.getOwnPropertySymbols,Yj=Object.prototype.hasOwnProperty,Xj=Object.prototype.propertyIsEnumerable,KS=(e,t,n)=>t in e?BG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Rg=(e,t)=>{for(var n in t||(t={}))Yj.call(t,n)&&KS(e,n,t[n]);if(Ap)for(var n of Ap(t))Xj.call(t,n)&&KS(e,n,t[n]);return e},WG=(e,t)=>FG(e,HG(t)),VG=(e,t)=>{var n={};for(var r in e)Yj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ap)for(var r of Ap(e))t.indexOf(r)<0&&Xj.call(e,r)&&(n[r]=e[r]);return n};const UG={type:"text",size:"sm",__staticSelector:"TextInput"},Jj=f.forwardRef((e,t)=>{const n=yj("TextInput",UG,e),{inputProps:r,wrapperProps:o}=n,s=VG(n,["inputProps","wrapperProps"]);return z.createElement(Ul.Wrapper,Rg({},o),z.createElement(Ul,WG(Rg(Rg({},r),s),{ref:t})))});Jj.displayName="@mantine/core/TextInput";function GG({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,filterDataOnExactSearchMatch:i}){if(!t)return e;const u=s!=null&&e.find(p=>p.value===s)||null;if(u&&!i&&(u==null?void 0:u.label)===r){if(n){if(n>=e.length)return e;const p=e.indexOf(u),h=p+n,g=h-e.length;return g>0?e.slice(p-g):e.slice(p,h)}return e}const d=[];for(let p=0;p=n));p+=1);return d}var qG=eo(()=>({input:{"&:not(:disabled)":{cursor:"pointer","&::selection":{backgroundColor:"transparent"}}}}));const KG=qG;var QG=Object.defineProperty,YG=Object.defineProperties,XG=Object.getOwnPropertyDescriptors,Tp=Object.getOwnPropertySymbols,Zj=Object.prototype.hasOwnProperty,eP=Object.prototype.propertyIsEnumerable,QS=(e,t,n)=>t in e?QG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Nc=(e,t)=>{for(var n in t||(t={}))Zj.call(t,n)&&QS(e,n,t[n]);if(Tp)for(var n of Tp(t))eP.call(t,n)&&QS(e,n,t[n]);return e},Dg=(e,t)=>YG(e,XG(t)),JG=(e,t)=>{var n={};for(var r in e)Zj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Tp)for(var r of Tp(e))t.indexOf(r)<0&&eP.call(e,r)&&(n[r]=e[r]);return n};function ZG(e,t){return t.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function eq(e,t){return!!e&&!t.some(n=>n.label.toLowerCase()===e.toLowerCase())}const tq={required:!1,size:"sm",shadow:"sm",itemComponent:O1,transitionProps:{transition:"fade",duration:0},initiallyOpened:!1,filter:ZG,maxDropdownHeight:220,searchable:!1,clearable:!1,limit:1/0,disabled:!1,creatable:!1,shouldCreate:eq,selectOnBlur:!1,switchDirectionOnFlip:!1,filterDataOnExactSearchMatch:!1,zIndex:j1("popover"),positionDependencies:[],dropdownPosition:"flip"},B1=f.forwardRef((e,t)=>{const n=yj("Select",tq,e),{inputProps:r,wrapperProps:o,shadow:s,data:i,value:u,defaultValue:d,onChange:p,itemComponent:h,onKeyDown:g,onBlur:v,onFocus:b,transitionProps:S,initiallyOpened:x,unstyled:C,classNames:_,styles:k,filter:P,maxDropdownHeight:I,searchable:E,clearable:O,nothingFound:R,limit:D,disabled:T,onSearchChange:B,searchValue:W,rightSection:J,rightSectionWidth:F,creatable:N,getCreateLabel:G,shouldCreate:K,selectOnBlur:M,onCreate:U,dropdownComponent:V,onDropdownClose:ee,onDropdownOpen:ie,withinPortal:xe,portalProps:me,switchDirectionOnFlip:ae,zIndex:te,name:H,dropdownPosition:re,allowDeselect:pe,placeholder:ne,filterDataOnExactSearchMatch:ve,form:de,positionDependencies:Ce,readOnly:Re,clearButtonProps:ge,hoverOnSearchChange:_e}=n,We=JG(n,["inputProps","wrapperProps","shadow","data","value","defaultValue","onChange","itemComponent","onKeyDown","onBlur","onFocus","transitionProps","initiallyOpened","unstyled","classNames","styles","filter","maxDropdownHeight","searchable","clearable","nothingFound","limit","disabled","onSearchChange","searchValue","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","selectOnBlur","onCreate","dropdownComponent","onDropdownClose","onDropdownOpen","withinPortal","portalProps","switchDirectionOnFlip","zIndex","name","dropdownPosition","allowDeselect","placeholder","filterDataOnExactSearchMatch","form","positionDependencies","readOnly","clearButtonProps","hoverOnSearchChange"]),{classes:Le,cx:Ue,theme:jt}=KG(),[vt,jn]=f.useState(x),[Pt,bt]=f.useState(-1),be=f.useRef(),Ae=f.useRef({}),[Et,Ft]=f.useState("column"),Wt=Et==="column",{scrollIntoView:_n,targetRef:In,scrollableRef:ln}=W_({duration:0,offset:5,cancelable:!1,isList:!0}),Cr=pe===void 0?O:pe,vn=Y=>{if(vt!==Y){jn(Y);const le=Y?ie:ee;typeof le=="function"&&le()}},sr=N&&typeof G=="function";let Ie=null;const it=i.map(Y=>typeof Y=="string"?{label:Y,value:Y}:Y),Xe=R_({data:it}),[ot,Nt,ur]=hu({value:u,defaultValue:d,finalValue:null,onChange:p}),yn=Xe.find(Y=>Y.value===ot),[bn,$r]=hu({value:W,defaultValue:(yn==null?void 0:yn.label)||"",finalValue:void 0,onChange:B}),dr=Y=>{$r(Y),E&&typeof B=="function"&&B(Y)},An=()=>{var Y;Re||(Nt(null),ur||dr(""),(Y=be.current)==null||Y.focus())};f.useEffect(()=>{const Y=Xe.find(le=>le.value===ot);Y?dr(Y.label):(!sr||!ot)&&dr("")},[ot]),f.useEffect(()=>{yn&&(!E||!vt)&&dr(yn.label)},[yn==null?void 0:yn.label]);const Tn=Y=>{if(!Re)if(Cr&&(yn==null?void 0:yn.value)===Y.value)Nt(null),vn(!1);else{if(Y.creatable&&typeof U=="function"){const le=U(Y.value);typeof le<"u"&&le!==null&&Nt(typeof le=="string"?le:le.value)}else Nt(Y.value);ur||dr(Y.label),bt(-1),vn(!1),be.current.focus()}},Nn=GG({data:Xe,searchable:E,limit:D,searchValue:bn,filter:P,filterDataOnExactSearchMatch:ve,value:ot});sr&&K(bn,Nn)&&(Ie=G(bn),Nn.push({label:bn,value:bn,creatable:!0}));const Rr=(Y,le,we)=>{let ce=Y;for(;we(ce);)if(ce=le(ce),!Nn[ce].disabled)return ce;return Y};ps(()=>{bt(_e&&bn?0:-1)},[bn,_e]);const _o=ot?Nn.findIndex(Y=>Y.value===ot):0,zr=!Re&&(Nn.length>0?vt:vt&&!!R),Lr=()=>{bt(Y=>{var le;const we=Rr(Y,ce=>ce-1,ce=>ce>0);return In.current=Ae.current[(le=Nn[we])==null?void 0:le.value],zr&&_n({alignment:Wt?"start":"end"}),we})},es=()=>{bt(Y=>{var le;const we=Rr(Y,ce=>ce+1,ce=>cewindow.setTimeout(()=>{var Y;In.current=Ae.current[(Y=Nn[_o])==null?void 0:Y.value],_n({alignment:Wt?"end":"start"})},50);ps(()=>{zr&&Dr()},[zr]);const ks=Y=>{switch(typeof g=="function"&&g(Y),Y.key){case"ArrowUp":{Y.preventDefault(),vt?Wt?Lr():es():(bt(_o),vn(!0),Dr());break}case"ArrowDown":{Y.preventDefault(),vt?Wt?es():Lr():(bt(_o),vn(!0),Dr());break}case"Home":{if(!E){Y.preventDefault(),vt||vn(!0);const le=Nn.findIndex(we=>!we.disabled);bt(le),zr&&_n({alignment:Wt?"end":"start"})}break}case"End":{if(!E){Y.preventDefault(),vt||vn(!0);const le=Nn.map(we=>!!we.disabled).lastIndexOf(!1);bt(le),zr&&_n({alignment:Wt?"end":"start"})}break}case"Escape":{Y.preventDefault(),vn(!1),bt(-1);break}case" ":{E||(Y.preventDefault(),Nn[Pt]&&vt?Tn(Nn[Pt]):(vn(!0),bt(_o),Dr()));break}case"Enter":E||Y.preventDefault(),Nn[Pt]&&vt&&(Y.preventDefault(),Tn(Nn[Pt]))}},ts=Y=>{typeof v=="function"&&v(Y);const le=Xe.find(we=>we.value===ot);M&&Nn[Pt]&&vt&&Tn(Nn[Pt]),dr((le==null?void 0:le.label)||""),vn(!1)},Xs=Y=>{typeof b=="function"&&b(Y),E&&vn(!0)},js=Y=>{Re||(dr(Y.currentTarget.value),O&&Y.currentTarget.value===""&&Nt(null),bt(-1),vn(!0))},q=()=>{Re||(vn(!vt),ot&&!vt&&bt(_o))};return z.createElement(Ul.Wrapper,Dg(Nc({},o),{__staticSelector:"Select"}),z.createElement(Xa,{opened:zr,transitionProps:S,shadow:s,withinPortal:xe,portalProps:me,__staticSelector:"Select",onDirectionChange:Ft,switchDirectionOnFlip:ae,zIndex:te,dropdownPosition:re,positionDependencies:[...Ce,bn],classNames:_,styles:k,unstyled:C,variant:r.variant},z.createElement(Xa.Target,null,z.createElement("div",{role:"combobox","aria-haspopup":"listbox","aria-owns":zr?`${r.id}-items`:null,"aria-controls":r.id,"aria-expanded":zr,onMouseLeave:()=>bt(-1),tabIndex:-1},z.createElement("input",{type:"hidden",name:H,value:ot||"",form:de,disabled:T}),z.createElement(Ul,Nc(Dg(Nc(Nc({autoComplete:"off",type:"search"},r),We),{ref:Hu(t,be),onKeyDown:ks,__staticSelector:"Select",value:bn,placeholder:ne,onChange:js,"aria-autocomplete":"list","aria-controls":zr?`${r.id}-items`:null,"aria-activedescendant":Pt>=0?`${r.id}-${Pt}`:null,onMouseDown:q,onBlur:ts,onFocus:Xs,readOnly:!E||Re,disabled:T,"data-mantine-stop-propagation":zr,name:null,classNames:Dg(Nc({},_),{input:Ue({[Le.input]:!E},_==null?void 0:_.input)})}),Gj({theme:jt,rightSection:J,rightSectionWidth:F,styles:k,size:r.size,shouldClear:O&&!!yn,onClear:An,error:o.error,clearButtonProps:ge,disabled:T,readOnly:Re}))))),z.createElement(Xa.Dropdown,{component:V||_h,maxHeight:I,direction:Et,id:r.id,innerRef:ln,__staticSelector:"Select",classNames:_,styles:k},z.createElement(E1,{data:Nn,hovered:Pt,classNames:_,styles:k,isItemSelected:Y=>Y===ot,uuid:r.id,__staticSelector:"Select",onItemHover:bt,onItemSelect:Tn,itemsRefs:Ae,itemComponent:h,size:r.size,nothingFound:R,creatable:sr&&!!Ie,createLabel:Ie,"aria-label":o.label,unstyled:C,variant:r.variant}))))});B1.displayName="@mantine/core/Select";const F1=()=>{const[e,t,n,r,o,s,i,u,d,p,h,g,v,b,S,x,C,_,k,P,I,E,O,R,D,T,B,W,J,F,N,G,K,M,U,V,ee,ie]=ec("colors",["base.50","base.100","base.150","base.200","base.250","base.300","base.350","base.400","base.450","base.500","base.550","base.600","base.650","base.700","base.750","base.800","base.850","base.900","base.950","accent.50","accent.100","accent.150","accent.200","accent.250","accent.300","accent.350","accent.400","accent.450","accent.500","accent.550","accent.600","accent.650","accent.700","accent.750","accent.800","accent.850","accent.900","accent.950"]);return{base50:e,base100:t,base150:n,base200:r,base250:o,base300:s,base350:i,base400:u,base450:d,base500:p,base550:h,base600:g,base650:v,base700:b,base750:S,base800:x,base850:C,base900:_,base950:k,accent50:P,accent100:I,accent150:E,accent200:O,accent250:R,accent300:D,accent350:T,accent400:B,accent450:W,accent500:J,accent550:F,accent600:N,accent650:G,accent700:K,accent750:M,accent800:U,accent850:V,accent900:ee,accent950:ie}},tP=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:i,base700:u,base800:d,base900:p,accent200:h,accent300:g,accent400:v,accent500:b,accent600:S}=F1(),{colorMode:x}=xs(),[C]=ec("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Me(u,r)(x)},separatorLabel:{color:Me(s,s)(x),"::after":{borderTopColor:Me(r,u)(x)}},input:{backgroundColor:Me(e,p)(x),borderWidth:"2px",borderColor:Me(n,d)(x),color:Me(p,t)(x),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Me(r,i)(x)},"&:focus":{borderColor:Me(g,S)(x)},"&:is(:focus, :hover)":{borderColor:Me(o,s)(x)},"&:focus-within":{borderColor:Me(h,S)(x)},"&[data-disabled]":{backgroundColor:Me(r,u)(x),color:Me(i,o)(x),cursor:"not-allowed"}},value:{backgroundColor:Me(t,p)(x),color:Me(p,t)(x),button:{color:Me(p,t)(x)},"&:hover":{backgroundColor:Me(r,u)(x),cursor:"pointer"}},dropdown:{backgroundColor:Me(n,d)(x),borderColor:Me(n,d)(x),boxShadow:C},item:{backgroundColor:Me(n,d)(x),color:Me(d,n)(x),padding:6,"&[data-hovered]":{color:Me(p,t)(x),backgroundColor:Me(r,u)(x)},"&[data-active]":{backgroundColor:Me(r,u)(x),"&:hover":{color:Me(p,t)(x),backgroundColor:Me(r,u)(x)}},"&[data-selected]":{backgroundColor:Me(v,S)(x),color:Me(e,t)(x),fontWeight:600,"&:hover":{backgroundColor:Me(b,b)(x),color:Me("white",e)(x)}},"&[data-disabled]":{color:Me(s,i)(x),cursor:"not-allowed"}},rightSection:{width:32,button:{color:Me(p,t)(x)}}}),[h,g,v,b,S,t,n,r,o,e,s,i,u,d,p,C,x])},nq=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,onChange:o,label:s,disabled:i,...u}=e,d=Z(),[p,h]=f.useState(""),g=f.useCallback(x=>{x.shiftKey&&d(Go(!0))},[d]),v=f.useCallback(x=>{x.shiftKey||d(Go(!1))},[d]),b=f.useCallback(x=>{h(""),o&&o(x)},[o]),S=tP();return a.jsx(Cn,{label:n,placement:"top",hasArrow:!0,children:a.jsx(B1,{ref:r,label:s?a.jsx(ws,{isDisabled:i,children:a.jsx(gs,{children:s})}):void 0,disabled:i,searchValue:p,onSearchChange:h,onChange:b,onKeyDown:g,onKeyUp:v,searchable:t,maxDropdownHeight:300,styles:S,...u})})},br=f.memo(nq),nP=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>a.jsx(Cn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:a.jsx($e,{ref:s,...o,children:a.jsxs($e,{children:[a.jsx(Fl,{children:e}),n&&a.jsx(Fl,{size:"xs",color:"base.600",children:n})]})})}));nP.displayName="IAIMantineSelectItemWithTooltip";const ai=f.memo(nP),rq=he([mt],({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ke),oq=()=>{const e=Z(),{autoAddBoardId:t}=$(rq),n=f.useRef(null),{boards:r,hasBoards:o}=Xp(void 0,{selectFromResult:({data:i})=>{const u=[{label:"None",value:"none"}];return i==null||i.forEach(({board_id:d,board_name:p})=>{u.push({label:p,value:d})}),{boards:u,hasBoards:u.length>1}}}),s=f.useCallback(i=>{i&&e(Yp(i==="none"?void 0:i))},[e]);return a.jsx(br,{label:"Auto-Add Board",inputRef:n,autoFocus:!0,placeholder:"Select a Board",value:t,data:r,nothingFound:"No matching Boards",itemComponent:ai,disabled:!o,filter:(i,u)=>{var d;return((d=u.label)==null?void 0:d.toLowerCase().includes(i.toLowerCase().trim()))||u.value.toLowerCase().includes(i.toLowerCase().trim())},onChange:s})},sq=he([mt],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n}},Ke),aq=()=>{const e=Z(),{t}=ue(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r}=$(sq),o=s=>{e(Pf(s))};return a.jsx(Wi,{triggerComponent:a.jsx(je,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:a.jsx(x1,{})}),children:a.jsxs(L,{direction:"column",gap:4,children:[a.jsx(Ct,{value:n,onChange:o,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:()=>e(Pf(64))}),a.jsx(Ln,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:s=>e(m8(s.target.checked))}),a.jsx(oq,{})]})})},iq=e=>e.image?a.jsx(ah,{sx:{w:`${e.image.width}px`,h:"auto",objectFit:"contain",aspectRatio:`${e.image.width}/${e.image.height}`}}):a.jsx(L,{sx:{opacity:.7,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.200",_dark:{bg:"base.900"}},children:a.jsx(oc,{size:"xl"})}),Ja=e=>{const{icon:t=Ti,boxSize:n=16}=e;return a.jsxs(L,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",flexDir:"column",gap:2,userSelect:"none",opacity:.7,color:"base.700",_dark:{color:"base.500"},...e.sx},children:[a.jsx(io,{as:t,boxSize:n,opacity:.7}),e.label&&a.jsx(qe,{textAlign:"center",children:e.label})]})},Ph=0,ii=1,fc=2,rP=4;function lq(e,t){return n=>e(t(n))}function cq(e,t){return t(e)}function oP(e,t){return n=>e(t,n)}function YS(e,t){return()=>e(t)}function H1(e,t){return t(e),e}function Gi(...e){return e}function uq(e){e()}function XS(e){return()=>e}function dq(...e){return()=>{e.map(uq)}}function Ih(){}function co(e,t){return e(ii,t)}function Ir(e,t){e(Ph,t)}function W1(e){e(fc)}function Eh(e){return e(rP)}function zn(e,t){return co(e,oP(t,Ph))}function JS(e,t){const n=e(ii,r=>{n(),t(r)});return n}function hr(){const e=[];return(t,n)=>{switch(t){case fc:e.splice(0,e.length);return;case ii:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case Ph:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function Bt(e){let t=e;const n=hr();return(r,o)=>{switch(r){case ii:o(t);break;case Ph:t=o;break;case rP:return t}return n(r,o)}}function fq(e){let t,n;const r=()=>t&&t();return function(o,s){switch(o){case ii:return s?n===s?void 0:(r(),n=s,t=co(e,s),t):(r(),Ih);case fc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function Zc(e){return H1(hr(),t=>zn(e,t))}function $l(e,t){return H1(Bt(t),n=>zn(e,n))}function pq(...e){return t=>e.reduceRight(cq,t)}function Ht(e,...t){const n=pq(...t);return(r,o)=>{switch(r){case ii:return co(e,n(o));case fc:W1(e);return}}}function sP(e,t){return e===t}function vo(e=sP){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function Wr(e){return t=>n=>{e(n)&&t(n)}}function Qn(e){return t=>lq(t,e)}function Ha(e){return t=>()=>t(e)}function df(e,t){return n=>r=>n(t=e(t,r))}function F0(e){return t=>n=>{e>0?e--:t(n)}}function Vc(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function ZS(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function $s(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((s,i)=>{const u=Math.pow(2,i);co(s,d=>{const p=n;n=n|u,t[i]=d,p!==o&&n===o&&r&&(r(),r=null)})}),s=>i=>{const u=()=>s([i].concat(t));n===o?u():r=u}}function eC(...e){return function(t,n){switch(t){case ii:return dq(...e.map(r=>co(r,n)));case fc:return;default:throw new Error(`unrecognized action ${t}`)}}}function fn(e,t=sP){return Ht(e,vo(t))}function ca(...e){const t=hr(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,i)=>{const u=Math.pow(2,i);co(s,d=>{n[i]=d,r=r|u,r===o&&Ir(t,n)})}),function(s,i){switch(s){case ii:return r===o&&i(n),co(t,i);case fc:return W1(t);default:throw new Error(`unrecognized action ${s}`)}}}function Ys(e,t=[],{singleton:n}={singleton:!0}){return{id:hq(),constructor:e,dependencies:t,singleton:n}}const hq=()=>Symbol();function mq(e){const t=new Map,n=({id:r,constructor:o,dependencies:s,singleton:i})=>{if(i&&t.has(r))return t.get(r);const u=o(s.map(d=>n(d)));return i&&t.set(r,u),u};return n(e)}function gq(e,t){const n={},r={};let o=0;const s=e.length;for(;o(C[_]=k=>{const P=x[t.methods[_]];Ir(P,k)},C),{})}function h(x){return i.reduce((C,_)=>(C[_]=fq(x[t.events[_]]),C),{})}return{Component:z.forwardRef((x,C)=>{const{children:_,...k}=x,[P]=z.useState(()=>H1(mq(e),E=>d(E,k))),[I]=z.useState(YS(h,P));return ff(()=>{for(const E of i)E in k&&co(I[E],k[E]);return()=>{Object.values(I).map(W1)}},[k,I,P]),ff(()=>{d(P,k)}),z.useImperativeHandle(C,XS(p(P))),z.createElement(u.Provider,{value:P},n?z.createElement(n,gq([...r,...o,...i],k),_):_)}),usePublisher:x=>z.useCallback(oP(Ir,z.useContext(u)[x]),[x]),useEmitterValue:x=>{const _=z.useContext(u)[x],[k,P]=z.useState(YS(Eh,_));return ff(()=>co(_,I=>{I!==k&&P(XS(I))}),[_,k]),k},useEmitter:(x,C)=>{const k=z.useContext(u)[x];ff(()=>co(k,C),[C,k])}}}const yq=typeof document<"u"?z.useLayoutEffect:z.useEffect,bq=yq;var V1=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(V1||{});const xq={0:"debug",1:"log",2:"warn",3:"error"},wq=()=>typeof globalThis>"u"?window:globalThis,aP=Ys(()=>{const e=Bt(3);return{log:Bt((n,r,o=1)=>{var s;const i=(s=wq().VIRTUOSO_LOG_LEVEL)!=null?s:Eh(e);o>=i&&console[xq[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function iP(e,t=!0){const n=z.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=z.useMemo(()=>new ResizeObserver(s=>{const i=s[0].target;i.offsetParent!==null&&e(i)}),[e]);r=s=>{s&&t?(o.observe(s),n.current=s):(n.current&&o.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:r}}function Oh(e,t=!0){return iP(e,t).callbackRef}function Np(e,t){return Math.round(e.getBoundingClientRect()[t])}function lP(e,t){return Math.abs(e-t)<1.01}function cP(e,t,n,r=Ih,o){const s=z.useRef(null),i=z.useRef(null),u=z.useRef(null),d=z.useCallback(g=>{const v=g.target,b=v===window||v===document,S=b?window.pageYOffset||document.documentElement.scrollTop:v.scrollTop,x=b?document.documentElement.scrollHeight:v.scrollHeight,C=b?window.innerHeight:v.offsetHeight,_=()=>{e({scrollTop:Math.max(S,0),scrollHeight:x,viewportHeight:C})};g.suppressFlushSync?_():g8.flushSync(_),i.current!==null&&(S===i.current||S<=0||S===x-C)&&(i.current=null,t(!0),u.current&&(clearTimeout(u.current),u.current=null))},[e,t]);z.useEffect(()=>{const g=o||s.current;return r(o||s.current),d({target:g,suppressFlushSync:!0}),g.addEventListener("scroll",d,{passive:!0}),()=>{r(null),g.removeEventListener("scroll",d)}},[s,d,n,r,o]);function p(g){const v=s.current;if(!v||"offsetHeight"in v&&v.offsetHeight===0)return;const b=g.behavior==="smooth";let S,x,C;v===window?(x=Math.max(Np(document.documentElement,"height"),document.documentElement.scrollHeight),S=window.innerHeight,C=document.documentElement.scrollTop):(x=v.scrollHeight,S=Np(v,"height"),C=v.scrollTop);const _=x-S;if(g.top=Math.ceil(Math.max(Math.min(_,g.top),0)),lP(S,x)||g.top===C){e({scrollTop:C,scrollHeight:x,viewportHeight:S}),b&&t(!0);return}b?(i.current=g.top,u.current&&clearTimeout(u.current),u.current=setTimeout(()=>{u.current=null,i.current=null,t(!0)},1e3)):i.current=null,v.scrollTo(g)}function h(g){s.current.scrollBy(g)}return{scrollerRef:s,scrollByCallback:h,scrollToCallback:p}}const Mh=Ys(()=>{const e=hr(),t=hr(),n=Bt(0),r=hr(),o=Bt(0),s=hr(),i=hr(),u=Bt(0),d=Bt(0),p=Bt(0),h=Bt(0),g=hr(),v=hr(),b=Bt(!1);return zn(Ht(e,Qn(({scrollTop:S})=>S)),t),zn(Ht(e,Qn(({scrollHeight:S})=>S)),i),zn(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:u,fixedHeaderHeight:d,fixedFooterHeight:p,footerHeight:h,scrollHeight:i,smoothScrollTargetReached:r,scrollTo:g,scrollBy:v,statefulScrollTop:o,deviation:n,scrollingInProgress:b}},[],{singleton:!0}),Sq=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function Cq(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!Sq)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const $p="up",eu="down",_q="none",kq={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},jq=0,uP=Ys(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const i=Bt(!1),u=Bt(!0),d=hr(),p=hr(),h=Bt(4),g=Bt(jq),v=$l(Ht(eC(Ht(fn(t),F0(1),Ha(!0)),Ht(fn(t),F0(1),Ha(!1),ZS(100))),vo()),!1),b=$l(Ht(eC(Ht(s,Ha(!0)),Ht(s,Ha(!1),ZS(200))),vo()),!1);zn(Ht(ca(fn(t),fn(g)),Qn(([k,P])=>k<=P),vo()),u),zn(Ht(u,Vc(50)),p);const S=Zc(Ht(ca(e,fn(n),fn(r),fn(o),fn(h)),df((k,[{scrollTop:P,scrollHeight:I},E,O,R,D])=>{const T=P+E-I>-D,B={viewportHeight:E,scrollTop:P,scrollHeight:I};if(T){let J,F;return P>k.state.scrollTop?(J="SCROLLED_DOWN",F=k.state.scrollTop-P):(J="SIZE_DECREASED",F=k.state.scrollTop-P||k.scrollTopDelta),{atBottom:!0,state:B,atBottomBecause:J,scrollTopDelta:F}}let W;return B.scrollHeight>k.state.scrollHeight?W="SIZE_INCREASED":Ek&&k.atBottom===P.atBottom))),x=$l(Ht(e,df((k,{scrollTop:P,scrollHeight:I,viewportHeight:E})=>{if(lP(k.scrollHeight,I))return{scrollTop:P,scrollHeight:I,jump:0,changed:!1};{const O=I-(P+E)<1;return k.scrollTop!==P&&O?{scrollHeight:I,scrollTop:P,jump:k.scrollTop-P,changed:!0}:{scrollHeight:I,scrollTop:P,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),Wr(k=>k.changed),Qn(k=>k.jump)),0);zn(Ht(S,Qn(k=>k.atBottom)),i),zn(Ht(i,Vc(50)),d);const C=Bt(eu);zn(Ht(e,Qn(({scrollTop:k})=>k),vo(),df((k,P)=>Eh(b)?{direction:k.direction,prevScrollTop:P}:{direction:Pk.direction)),C),zn(Ht(e,Vc(50),Ha(_q)),C);const _=Bt(0);return zn(Ht(v,Wr(k=>!k),Ha(0)),_),zn(Ht(t,Vc(100),$s(v),Wr(([k,P])=>!!P),df(([k,P],[I])=>[P,I],[0,0]),Qn(([k,P])=>P-k)),_),{isScrolling:v,isAtTop:u,isAtBottom:i,atBottomState:S,atTopStateChange:p,atBottomStateChange:d,scrollDirection:C,atBottomThreshold:h,atTopThreshold:g,scrollVelocity:_,lastJumpDueToItemResize:x}},Gi(Mh)),Pq=Ys(([{log:e}])=>{const t=Bt(!1),n=Zc(Ht(t,Wr(r=>r),vo()));return co(t,r=>{r&&Eh(e)("props updated",{},V1.DEBUG)}),{propsReady:t,didMount:n}},Gi(aP),{singleton:!0});function dP(e,t){e==0?t():requestAnimationFrame(()=>dP(e-1,t))}function Iq(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function H0(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function Eq(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const zp="top",Lp="bottom",tC="none";function nC(e,t,n){return typeof e=="number"?n===$p&&t===zp||n===eu&&t===Lp?e:0:n===$p?t===zp?e.main:e.reverse:t===Lp?e.main:e.reverse}function rC(e,t){return typeof e=="number"?e:e[t]||0}const Oq=Ys(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=hr(),i=Bt(0),u=Bt(0),d=Bt(0),p=$l(Ht(ca(fn(e),fn(t),fn(r),fn(s,H0),fn(d),fn(i),fn(o),fn(n),fn(u)),Qn(([h,g,v,[b,S],x,C,_,k,P])=>{const I=h-k,E=C+_,O=Math.max(v-I,0);let R=tC;const D=rC(P,zp),T=rC(P,Lp);return b-=k,b+=v+_,S+=v+_,S-=k,b>h+E-D&&(R=$p),Sh!=null),vo(H0)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:i,increaseViewportBy:u,visibleRange:p}},Gi(Mh),{singleton:!0}),Mq=Ys(([{scrollVelocity:e}])=>{const t=Bt(!1),n=hr(),r=Bt(!1);return zn(Ht(e,$s(r,t,n),Wr(([o,s])=>!!s),Qn(([o,s,i,u])=>{const{exit:d,enter:p}=s;if(i){if(d(o,u))return!1}else if(p(o,u))return!0;return i}),vo()),t),co(Ht(ca(t,e,n),$s(r)),([[o,s,i],u])=>o&&u&&u.change&&u.change(s,i)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},Gi(uP),{singleton:!0});function Rq(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const Dq=Ys(([{scrollTo:e,scrollContainerState:t}])=>{const n=hr(),r=hr(),o=hr(),s=Bt(!1),i=Bt(void 0);return zn(Ht(ca(n,r),Qn(([{viewportHeight:u,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:u}))),t),zn(Ht(e,$s(r),Qn(([u,{offsetTop:d}])=>({...u,top:u.top+d}))),o),{useWindowScroll:s,customScrollParent:i,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},Gi(Mh)),Ag="-webkit-sticky",oC="sticky",fP=Rq(()=>{if(typeof document>"u")return oC;const e=document.createElement("div");return e.style.position=Ag,e.style.position===Ag?Ag:oC});function Aq(e,t){const n=z.useRef(null),r=z.useCallback(u=>{if(u===null||!u.offsetParent)return;const d=u.getBoundingClientRect(),p=d.width;let h,g;if(t){const v=t.getBoundingClientRect(),b=d.top-v.top;h=v.height-Math.max(0,b),g=b+t.scrollTop}else h=window.innerHeight-Math.max(0,d.top),g=d.top+window.pageYOffset;n.current={offsetTop:g,visibleHeight:h,visibleWidth:p},e(n.current)},[e,t]),{callbackRef:o,ref:s}=iP(r),i=z.useCallback(()=>{r(s.current)},[r,s]);return z.useEffect(()=>{if(t){t.addEventListener("scroll",i);const u=new ResizeObserver(i);return u.observe(t),()=>{t.removeEventListener("scroll",i),u.unobserve(t)}}else return window.addEventListener("scroll",i),window.addEventListener("resize",i),()=>{window.removeEventListener("scroll",i),window.removeEventListener("resize",i)}},[i,t]),o}z.createContext(void 0);const pP=z.createContext(void 0);function Tq(e){return e}fP();const Nq={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},hP={width:"100%",height:"100%",position:"absolute",top:0};fP();function Pi(e,t){if(typeof e!="string")return{context:t}}function $q({usePublisher:e,useEmitter:t,useEmitterValue:n}){return z.memo(function({style:s,children:i,...u}){const d=e("scrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),g=n("scrollerRef"),v=n("context"),{scrollerRef:b,scrollByCallback:S,scrollToCallback:x}=cP(d,h,p,g);return t("scrollTo",x),t("scrollBy",S),z.createElement(p,{ref:b,style:{...Nq,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...u,...Pi(p,v)},i)})}function zq({usePublisher:e,useEmitter:t,useEmitterValue:n}){return z.memo(function({style:s,children:i,...u}){const d=e("windowScrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),g=n("totalListHeight"),v=n("deviation"),b=n("customScrollParent"),S=n("context"),{scrollerRef:x,scrollByCallback:C,scrollToCallback:_}=cP(d,h,p,Ih,b);return bq(()=>(x.current=b||window,()=>{x.current=null}),[x,b]),t("windowScrollTo",_),t("scrollBy",C),z.createElement(p,{style:{position:"relative",...s,...g!==0?{height:g+v}:{}},"data-virtuoso-scroller":!0,...u,...Pi(p,S)},i)})}const sC={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},Lq={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:aC,ceil:iC,floor:Bp,min:Tg,max:tu}=Math;function Bq(e){return{...Lq,items:e}}function lC(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>{const s=n===null?null:n[o+e];return{index:o+e,data:s}})}function Fq(e,t){return e&&e.column===t.column&&e.row===t.row}function pf(e,t){return e&&e.width===t.width&&e.height===t.height}const Hq=Ys(([{overscan:e,visibleRange:t,listBoundary:n},{scrollTop:r,viewportHeight:o,scrollBy:s,scrollTo:i,smoothScrollTargetReached:u,scrollContainerState:d,footerHeight:p,headerHeight:h},g,v,{propsReady:b,didMount:S},{windowViewportRect:x,useWindowScroll:C,customScrollParent:_,windowScrollContainerState:k,windowScrollTo:P},I])=>{const E=Bt(0),O=Bt(0),R=Bt(sC),D=Bt({height:0,width:0}),T=Bt({height:0,width:0}),B=hr(),W=hr(),J=Bt(0),F=Bt(null),N=Bt({row:0,column:0}),G=hr(),K=hr(),M=Bt(!1),U=Bt(0),V=Bt(!0),ee=Bt(!1);co(Ht(S,$s(U),Wr(([H,re])=>!!re)),()=>{Ir(V,!1),Ir(O,0)}),co(Ht(ca(S,V,T,D,U,ee),Wr(([H,re,pe,ne,,ve])=>H&&!re&&pe.height!==0&&ne.height!==0&&!ve)),([,,,,H])=>{Ir(ee,!0),dP(1,()=>{Ir(B,H)}),JS(Ht(r),()=>{Ir(n,[0,0]),Ir(V,!0)})}),zn(Ht(K,Wr(H=>H!=null&&H.scrollTop>0),Ha(0)),O),co(Ht(S,$s(K),Wr(([,H])=>H!=null)),([,H])=>{H&&(Ir(D,H.viewport),Ir(T,H==null?void 0:H.item),Ir(N,H.gap),H.scrollTop>0&&(Ir(M,!0),JS(Ht(r,F0(1)),re=>{Ir(M,!1)}),Ir(i,{top:H.scrollTop})))}),zn(Ht(D,Qn(({height:H})=>H)),o),zn(Ht(ca(fn(D,pf),fn(T,pf),fn(N,(H,re)=>H&&H.column===re.column&&H.row===re.row),fn(r)),Qn(([H,re,pe,ne])=>({viewport:H,item:re,gap:pe,scrollTop:ne}))),G),zn(Ht(ca(fn(E),t,fn(N,Fq),fn(T,pf),fn(D,pf),fn(F),fn(O),fn(M),fn(V),fn(U)),Wr(([,,,,,,,H])=>!H),Qn(([H,[re,pe],ne,ve,de,Ce,Re,,ge,_e])=>{const{row:We,column:Le}=ne,{height:Ue,width:jt}=ve,{width:vt}=de;if(Re===0&&(H===0||vt===0))return sC;if(jt===0){const In=Iq(_e,H),ln=In===0?Math.max(Re-1,0):In;return Bq(lC(In,ln,Ce))}const jn=mP(vt,jt,Le);let Pt,bt;ge?re===0&&pe===0&&Re>0?(Pt=0,bt=Re-1):(Pt=jn*Bp((re+We)/(Ue+We)),bt=jn*iC((pe+We)/(Ue+We))-1,bt=Tg(H-1,tu(bt,jn-1)),Pt=Tg(bt,tu(0,Pt))):(Pt=0,bt=-1);const be=lC(Pt,bt,Ce),{top:Ae,bottom:Et}=cC(de,ne,ve,be),Ft=iC(H/jn),_n=Ft*Ue+(Ft-1)*We-Et;return{items:be,offsetTop:Ae,offsetBottom:_n,top:Ae,bottom:Et,itemHeight:Ue,itemWidth:jt}})),R),zn(Ht(F,Wr(H=>H!==null),Qn(H=>H.length)),E),zn(Ht(ca(D,T,R,N),Wr(([H,re,{items:pe}])=>pe.length>0&&re.height!==0&&H.height!==0),Qn(([H,re,{items:pe},ne])=>{const{top:ve,bottom:de}=cC(H,ne,re,pe);return[ve,de]}),vo(H0)),n);const ie=Bt(!1);zn(Ht(r,$s(ie),Qn(([H,re])=>re||H!==0)),ie);const xe=Zc(Ht(fn(R),Wr(({items:H})=>H.length>0),$s(E,ie),Wr(([{items:H},re,pe])=>pe&&H[H.length-1].index===re-1),Qn(([,H])=>H-1),vo())),me=Zc(Ht(fn(R),Wr(({items:H})=>H.length>0&&H[0].index===0),Ha(0),vo())),ae=Zc(Ht(fn(R),$s(M),Wr(([{items:H},re])=>H.length>0&&!re),Qn(([{items:H}])=>({startIndex:H[0].index,endIndex:H[H.length-1].index})),vo(Eq),Vc(0)));zn(ae,v.scrollSeekRangeChanged),zn(Ht(B,$s(D,T,E,N),Qn(([H,re,pe,ne,ve])=>{const de=Cq(H),{align:Ce,behavior:Re,offset:ge}=de;let _e=de.index;_e==="LAST"&&(_e=ne-1),_e=tu(0,_e,Tg(ne-1,_e));let We=W0(re,ve,pe,_e);return Ce==="end"?We=aC(We-re.height+pe.height):Ce==="center"&&(We=aC(We-re.height/2+pe.height/2)),ge&&(We+=ge),{top:We,behavior:Re}})),i);const te=$l(Ht(R,Qn(H=>H.offsetBottom+H.bottom)),0);return zn(Ht(x,Qn(H=>({width:H.visibleWidth,height:H.visibleHeight}))),D),{data:F,totalCount:E,viewportDimensions:D,itemDimensions:T,scrollTop:r,scrollHeight:W,overscan:e,scrollBy:s,scrollTo:i,scrollToIndex:B,smoothScrollTargetReached:u,windowViewportRect:x,windowScrollTo:P,useWindowScroll:C,customScrollParent:_,windowScrollContainerState:k,deviation:J,scrollContainerState:d,footerHeight:p,headerHeight:h,initialItemCount:O,gap:N,restoreStateFrom:K,...v,initialTopMostItemIndex:U,gridState:R,totalListHeight:te,...g,startReached:me,endReached:xe,rangeChanged:ae,stateChanged:G,propsReady:b,stateRestoreInProgress:M,...I}},Gi(Oq,Mh,uP,Mq,Pq,Dq,aP));function cC(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=W0(e,t,n,r[0].index),i=W0(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:i}}function W0(e,t,n,r){const o=mP(e.width,n.width,t.column),s=Bp(r/o),i=s*n.height+tu(0,s-1)*t.row;return i>0?i+t.row:i}function mP(e,t,n){return tu(1,Bp((e+n)/(Bp(t)+n)))}const Wq=Ys(()=>{const e=Bt(p=>`Item ${p}`),t=Bt({}),n=Bt(null),r=Bt("virtuoso-grid-item"),o=Bt("virtuoso-grid-list"),s=Bt(Tq),i=Bt("div"),u=Bt(Ih),d=(p,h=null)=>$l(Ht(t,Qn(g=>g[p]),vo()),h);return{context:n,itemContent:e,components:t,computeItemKey:s,itemClassName:r,listClassName:o,headerFooterTag:i,scrollerRef:u,FooterComponent:d("Footer"),HeaderComponent:d("Header"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),Vq=Ys(([e,t])=>({...e,...t}),Gi(Hq,Wq)),Uq=z.memo(function(){const t=nr("gridState"),n=nr("listClassName"),r=nr("itemClassName"),o=nr("itemContent"),s=nr("computeItemKey"),i=nr("isSeeking"),u=ms("scrollHeight"),d=nr("ItemComponent"),p=nr("ListComponent"),h=nr("ScrollSeekPlaceholder"),g=nr("context"),v=ms("itemDimensions"),b=ms("gap"),S=nr("log"),x=nr("stateRestoreInProgress"),C=Oh(_=>{const k=_.parentElement.parentElement.scrollHeight;u(k);const P=_.firstChild;if(P){const{width:I,height:E}=P.getBoundingClientRect();v({width:I,height:E})}b({row:uC("row-gap",getComputedStyle(_).rowGap,S),column:uC("column-gap",getComputedStyle(_).columnGap,S)})});return x?null:z.createElement(p,{ref:C,className:n,...Pi(p,g),style:{paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},"data-test-id":"virtuoso-item-list"},t.items.map(_=>{const k=s(_.index,_.data,g);return i?z.createElement(h,{key:k,...Pi(h,g),index:_.index,height:t.itemHeight,width:t.itemWidth}):z.createElement(d,{...Pi(d,g),className:r,"data-index":_.index,key:k},o(_.index,_.data,g))}))}),Gq=z.memo(function(){const t=nr("HeaderComponent"),n=ms("headerHeight"),r=nr("headerFooterTag"),o=Oh(i=>n(Np(i,"height"))),s=nr("context");return t?z.createElement(r,{ref:o},z.createElement(t,Pi(t,s))):null}),qq=z.memo(function(){const t=nr("FooterComponent"),n=ms("footerHeight"),r=nr("headerFooterTag"),o=Oh(i=>n(Np(i,"height"))),s=nr("context");return t?z.createElement(r,{ref:o},z.createElement(t,Pi(t,s))):null}),Kq=({children:e})=>{const t=z.useContext(pP),n=ms("itemDimensions"),r=ms("viewportDimensions"),o=Oh(s=>{r(s.getBoundingClientRect())});return z.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),z.createElement("div",{style:hP,ref:o},e)},Qq=({children:e})=>{const t=z.useContext(pP),n=ms("windowViewportRect"),r=ms("itemDimensions"),o=nr("customScrollParent"),s=Aq(n,o);return z.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),z.createElement("div",{ref:s,style:hP},e)},Yq=z.memo(function({...t}){const n=nr("useWindowScroll"),r=nr("customScrollParent"),o=r||n?Zq:Jq,s=r||n?Qq:Kq;return z.createElement(o,{...t},z.createElement(s,null,z.createElement(Gq,null),z.createElement(Uq,null),z.createElement(qq,null)))}),{Component:Xq,usePublisher:ms,useEmitterValue:nr,useEmitter:gP}=vq(Vq,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged"}},Yq),Jq=$q({usePublisher:ms,useEmitterValue:nr,useEmitter:gP}),Zq=zq({usePublisher:ms,useEmitterValue:nr,useEmitter:gP});function uC(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,V1.WARN),t==="normal"?0:parseInt(t??"0",10)}const vP=Xq,eK=({image:e})=>{const t=f.useMemo(()=>{var n,r;if(v8((n=e.metadata)==null?void 0:n.model))return(r=e.metadata)==null?void 0:r.model},[e.metadata]);return a.jsxs(L,{sx:{pointerEvents:"none",flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,p:2,alignItems:"flex-start",gap:2},children:[a.jsxs(Za,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]}),t&&a.jsx(Za,{variant:"solid",colorScheme:"base",children:t})]})},Rh=({postUploadAction:e,isDisabled:t})=>{const n=$(d=>d.gallery.autoAddBoardId),[r]=E4(),o=f.useCallback(d=>{const p=d[0];p&&r({file:p,image_category:"user",is_intermediate:!1,postUploadAction:e??{type:"TOAST"},board_id:n})},[n,e,r]),{getRootProps:s,getInputProps:i,open:u}=Zv({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:i,openUploader:u}},U1=()=>{const e=Z(),t=tc(),{t:n}=ue(),r=f.useCallback(()=>{t({title:n("toast.parameterSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),o=f.useCallback(()=>{t({title:n("toast.parameterNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),s=f.useCallback(()=>{t({title:n("toast.parametersSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),i=f.useCallback(()=>{t({title:n("toast.parametersNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),u=f.useCallback((I,E)=>{if(Id(I)||Ed(E)){Id(I)&&e(Qc(I)),Ed(E)&&e(Yc(E)),r();return}o()},[e,r,o]),d=f.useCallback(I=>{if(!Id(I)){o();return}e(Qc(I)),r()},[e,r,o]),p=f.useCallback(I=>{if(!Ed(I)){o();return}e(Yc(I)),r()},[e,r,o]),h=f.useCallback(I=>{if(!nx(I)){o();return}e(If(I)),r()},[e,r,o]),g=f.useCallback(I=>{if(!rx(I)){o();return}e(Ef(I)),r()},[e,r,o]),v=f.useCallback(I=>{if(!ox(I)){o();return}e(Qg(I)),r()},[e,r,o]),b=f.useCallback(I=>{if(!sx(I)){o();return}e(Yg(I)),r()},[e,r,o]),S=f.useCallback(I=>{if(!ax(I)){o();return}e(Of(I)),r()},[e,r,o]),x=f.useCallback(I=>{if(!ix(I)){o();return}e(zl(I)),r()},[e,r,o]),C=f.useCallback(I=>{if(!lx(I)){o();return}e(Ll(I)),r()},[e,r,o]),_=f.useCallback(I=>{if(!cx(I)){o();return}e(Mf(I)),r()},[e,r,o]),k=f.useCallback(I=>{e(pv(I))},[e]),P=f.useCallback(I=>{if(!I){i();return}const{cfg_scale:E,height:O,model:R,positive_prompt:D,negative_prompt:T,scheduler:B,seed:W,steps:J,width:F,strength:N}=I;rx(E)&&e(Ef(E)),ox(R)&&e(Qg(R)),Id(D)&&e(Qc(D)),Ed(T)&&e(Yc(T)),sx(B)&&e(Yg(B)),nx(W)&&e(If(W)),ax(J)&&e(Of(J)),ix(F)&&e(zl(F)),lx(O)&&e(Ll(O)),cx(N)&&e(Mf(N)),s()},[i,s,e]);return{recallBothPrompts:u,recallPositivePrompt:d,recallNegativePrompt:p,recallSeed:h,recallCfgScale:g,recallModel:v,recallScheduler:b,recallSteps:S,recallWidth:x,recallHeight:C,recallStrength:_,recallAllParameters:P,sendToImageToImage:k}},G1=()=>{const e=tc(),{t}=ue(),n=f.useMemo(()=>!!navigator.clipboard&&!!window.ClipboardItem,[]),r=f.useCallback(async o=>{n||e({title:t("toast.problemCopyingImage"),description:"Your browser doesn't support the Clipboard API.",status:"error",duration:2500,isClosable:!0});try{const i=await(await fetch(o)).blob();await navigator.clipboard.write([new ClipboardItem({[i.type]:i})]),e({title:t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})}catch(s){e({title:t("toast.problemCopyingImage"),description:String(s),status:"error",duration:2500,isClosable:!0})}},[n,t,e]);return{isClipboardAPIAvailable:n,copyImageToClipboard:r}};hv("gallery/requestedBoardImagesDeletion");const tK=hv("gallery/sentImageToCanvas"),yP=hv("gallery/sentImageToImg2Img");function nK(e,t,n){var r=this,o=f.useRef(null),s=f.useRef(0),i=f.useRef(null),u=f.useRef([]),d=f.useRef(),p=f.useRef(),h=f.useRef(e),g=f.useRef(!0);f.useEffect(function(){h.current=e},[e]);var v=!t&&t!==0&&typeof window<"u";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var b=!!(n=n||{}).leading,S=!("trailing"in n)||!!n.trailing,x="maxWait"in n,C=x?Math.max(+n.maxWait||0,t):null;f.useEffect(function(){return g.current=!0,function(){g.current=!1}},[]);var _=f.useMemo(function(){var k=function(D){var T=u.current,B=d.current;return u.current=d.current=null,s.current=D,p.current=h.current.apply(B,T)},P=function(D,T){v&&cancelAnimationFrame(i.current),i.current=v?requestAnimationFrame(D):setTimeout(D,T)},I=function(D){if(!g.current)return!1;var T=D-o.current;return!o.current||T>=t||T<0||x&&D-s.current>=C},E=function(D){return i.current=null,S&&u.current?k(D):(u.current=d.current=null,p.current)},O=function D(){var T=Date.now();if(I(T))return E(T);if(g.current){var B=t-(T-o.current),W=x?Math.min(B,C-(T-s.current)):B;P(D,W)}},R=function(){var D=Date.now(),T=I(D);if(u.current=[].slice.call(arguments),d.current=r,o.current=D,T){if(!i.current&&g.current)return s.current=o.current,P(O,t),b?k(o.current):p.current;if(x)return P(O,t),k(o.current)}return i.current||P(O,t),p.current};return R.cancel=function(){i.current&&(v?cancelAnimationFrame(i.current):clearTimeout(i.current)),s.current=0,u.current=o.current=d.current=i.current=null},R.isPending=function(){return!!i.current},R.flush=function(){return i.current?E(Date.now()):p.current},R},[b,x,t,C,S,v]);return _}function rK(e,t){return e===t}function dC(e){return typeof e=="function"?function(){return e}:e}function q1(e,t,n){var r,o,s=n&&n.equalityFn||rK,i=(r=f.useState(dC(e)),o=r[1],[r[0],f.useCallback(function(g){return o(dC(g))},[])]),u=i[0],d=i[1],p=nK(f.useCallback(function(g){return d(g)},[d]),t,n),h=f.useRef(e);return s(h.current,e)||(p(e),h.current=e),[u,p]}const oK=e=>{const{imageDTO:t}=e,n=f.useMemo(()=>he([mt],({gallery:N})=>({isInBatch:N.batchImageNames.includes(t.image_name)}),Ke),[t.image_name]),{isInBatch:r}=$(n),o=Z(),{t:s}=ue(),i=tc(),u=yr("unifiedCanvas").isFeatureEnabled,d=yr("batches").isFeatureEnabled,{onClickAddToBoard:p}=f.useContext(A4),[h,g]=q1(t.image_name,500),{currentData:v}=mv(g.isPending()?Xr.skipToken:h??Xr.skipToken),{isClipboardAPIAvailable:b,copyImageToClipboard:S}=G1(),x=v==null?void 0:v.metadata,C=f.useCallback(()=>{t&&o(gv(t))},[o,t]),{recallBothPrompts:_,recallSeed:k,recallAllParameters:P}=U1(),[I]=y8(),E=f.useCallback(()=>{_(x==null?void 0:x.positive_prompt,x==null?void 0:x.negative_prompt)},[x==null?void 0:x.negative_prompt,x==null?void 0:x.positive_prompt,_]),O=f.useCallback(()=>{k(x==null?void 0:x.seed)},[x==null?void 0:x.seed,k]),R=f.useCallback(()=>{o(yP()),o(pv(t))},[o,t]),D=f.useCallback(()=>{o(tK()),o(b8(t)),o(Jp()),o(xl("unifiedCanvas")),i({title:s("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[o,t,s,i]),T=f.useCallback(()=>{console.log(x),P(x)},[x,P]),B=f.useCallback(()=>{p(t)},[t,p]),W=f.useCallback(()=>{t.board_id&&I({imageDTO:t})},[t,I]),J=f.useCallback(()=>{o(x8([t.image_name]))},[o,t.image_name]),F=f.useCallback(()=>{S(t.image_url)},[S,t.image_url]);return a.jsxs(a.Fragment,{children:[a.jsx(Qa,{href:t.image_url,target:"_blank",children:a.jsx(ao,{icon:a.jsx(eL,{}),children:s("common.openInNewTab")})}),b&&a.jsx(ao,{icon:a.jsx(cc,{}),onClickCapture:F,children:s("parameters.copyImage")}),a.jsx(Qa,{download:!0,href:t.image_url,target:"_blank",children:a.jsx(ao,{icon:a.jsx(v1,{}),w:"100%",children:s("parameters.downloadImage")})}),a.jsx(ao,{icon:a.jsx(w_,{}),onClickCapture:E,isDisabled:(x==null?void 0:x.positive_prompt)===void 0&&(x==null?void 0:x.negative_prompt)===void 0,children:s("parameters.usePrompt")}),a.jsx(ao,{icon:a.jsx(S_,{}),onClickCapture:O,isDisabled:(x==null?void 0:x.seed)===void 0,children:s("parameters.useSeed")}),a.jsx(ao,{icon:a.jsx(f_,{}),onClickCapture:T,isDisabled:!x,children:s("parameters.useAll")}),a.jsx(ao,{icon:a.jsx(Y2,{}),onClickCapture:R,id:"send-to-img2img",children:s("parameters.sendToImg2Img")}),u&&a.jsx(ao,{icon:a.jsx(Y2,{}),onClickCapture:D,id:"send-to-canvas",children:s("parameters.sendToUnifiedCanvas")}),d&&a.jsx(ao,{icon:a.jsx(kg,{}),isDisabled:r,onClickCapture:J,children:"Add to Batch"}),a.jsx(ao,{icon:a.jsx(kg,{}),onClickCapture:B,children:t.board_id?"Change Board":"Add to Board"}),t.board_id&&a.jsx(ao,{icon:a.jsx(kg,{}),onClickCapture:W,children:"Remove from Board"}),a.jsx(ao,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:a.jsx(Xo,{}),onClickCapture:C,children:s("gallery.deleteImage")})]})},bP=f.memo(oK),sK=({imageDTO:e,children:t})=>{const n=f.useCallback(r=>{r.preventDefault()},[]);return a.jsx(j_,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?a.jsx(ic,{sx:{visibility:"visible !important"},motionProps:Cv,onContextMenu:n,children:a.jsx(bP,{imageDTO:e})}):null,children:t})},xP=f.memo(sK),aK=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(Ka()),{attributes:s,listeners:i,setNodeRef:u}=w8({id:o.current,disabled:n,data:t});return a.jsx($e,{onClick:r,ref:u,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...i})},iK=f.memo(aK),lK=e=>{const{imageDTO:t,onClickReset:n,onError:r,onClick:o,withResetIcon:s=!1,withMetadataOverlay:i=!1,isDropDisabled:u=!1,isDragDisabled:d=!1,isUploadDisabled:p=!1,minSize:h=24,postUploadAction:g,imageSx:v,fitContainer:b=!1,droppableData:S,draggableData:x,dropLabel:C,isSelected:_=!1,thumbnail:k=!1,resetTooltip:P="Reset",resetIcon:I=a.jsx(b1,{}),noContentFallback:E=a.jsx(Ja,{icon:Ti}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:D}=xs(),[T,B]=f.useState(!1),W=f.useCallback(()=>{B(!0)},[]),J=f.useCallback(()=>{B(!1)},[]),{getUploadButtonProps:F,getUploadInputProps:N}=Rh({postUploadAction:g,isDisabled:p}),G=gf("drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))","drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))"),K=p?{}:{cursor:"pointer",bg:Me("base.200","base.800")(D),_hover:{bg:Me("base.300","base.650")(D),color:Me("base.500","base.300")(D)}};return a.jsx(xP,{imageDTO:t,children:M=>a.jsxs(L,{ref:M,onMouseOver:W,onMouseOut:J,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative",minW:h||void 0,minH:h||void 0,userSelect:"none",cursor:d||!t?"default":"pointer"},children:[t&&a.jsxs(L,{sx:{w:"full",h:"full",position:b?"absolute":"relative",alignItems:"center",justifyContent:"center"},children:[a.jsx(rc,{src:k?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:a.jsx(iq,{image:t}),width:t.width,height:t.height,onError:r,draggable:!1,sx:{objectFit:"contain",maxW:"full",maxH:"full",borderRadius:"base",...v}}),i&&a.jsx(eK,{image:t}),a.jsx(k1,{isSelected:_,isHovered:R?T:!1})]}),!t&&!p&&a.jsx(a.Fragment,{children:a.jsxs(L,{sx:{minH:h,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",transitionProperty:"common",transitionDuration:"0.1s",color:Me("base.500","base.500")(D),...K},...F(),children:[a.jsx("input",{...N()}),a.jsx(io,{as:Fu,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&a.jsx(iK,{data:x,disabled:d||!t,onClick:o}),!u&&a.jsx(S1,{data:S,disabled:u,dropLabel:C}),n&&s&&t&&a.jsx(je,{onClick:n,"aria-label":P,tooltip:P,icon:I,size:"sm",variant:"link",sx:{position:"absolute",top:1,insetInlineEnd:1,p:0,minW:0,svg:{transitionProperty:"common",transitionDuration:"normal",fill:"base.100",_hover:{fill:"base.50"},filter:G}}})]})})},ri=f.memo(lK),cK=()=>a.jsx($e,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.100",color:"base.500",_dark:{color:"base.700",bg:"base.850"}},children:a.jsx(io,{as:Xz,boxSize:16,opacity:.7})})}),wP=()=>a.jsx(ah,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:a.jsx($e,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),uK=e=>he([mt],t=>({selectionCount:t.gallery.selection.length,selection:t.gallery.selection,isSelected:t.gallery.selection.includes(e)}),Ke),dK=e=>{const t=Z(),{imageName:n}=e,{currentData:r,isLoading:o,isError:s,isSuccess:i}=Uo(n),u=f.useMemo(()=>uK(n),[n]),{isSelected:d,selectionCount:p,selection:h}=$(u),g=f.useCallback(()=>{t(S8([n]))},[t,n]),v=f.useCallback(S=>{S.shiftKey?t(C8(n)):S.ctrlKey||S.metaKey?t(_8(n)):t(Rf(n))},[t,n]),b=f.useMemo(()=>{if(p>1)return{id:"batch",payloadType:"IMAGE_NAMES",payload:{image_names:h}};if(r)return{id:"batch",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,h,p]);return o?a.jsx(wP,{}):s||!r?a.jsx(cK,{}):a.jsx($e,{sx:{w:"full",h:"full",touchAction:"none"},children:a.jsx(xP,{imageDTO:r,children:S=>a.jsx($e,{position:"relative",userSelect:"none",ref:S,sx:{display:"flex",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:a.jsx(ri,{onClick:v,imageDTO:r,draggableData:b,isSelected:d,minSize:0,onClickReset:g,isDropDisabled:!0,imageSx:{w:"full",h:"full"},isUploadDisabled:!0,resetTooltip:"Remove from batch",withResetIcon:!0,thumbnail:!0})},n)})})},fK=f.memo(dK),SP=rt((e,t)=>a.jsx($e,{className:"item-container",ref:t,p:1.5,children:e.children})),CP=rt((e,t)=>{const n=$(r=>r.gallery.galleryImageMinimumWidth);return a.jsx(Mi,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),pK=he([mt],e=>({imageNames:e.gallery.batchImageNames}),Ke),hK=()=>{const{t:e}=ue(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=m1({defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}}),{imageNames:i}=$(pK);return f.useEffect(()=>{const{current:u}=t;return n&&u&&o({target:u,elements:{viewport:n}}),()=>{var d;return(d=s())==null?void 0:d.destroy()}},[n,o,s]),i.length?a.jsx($e,{ref:t,"data-overlayscrollbars":"",h:"100%",children:a.jsx(vP,{style:{height:"100%"},data:i,components:{Item:SP,List:CP},scrollerRef:r,itemContent:(u,d)=>a.jsx(fK,{imageName:d},d)})}):a.jsx(Ja,{label:e("gallery.noImagesInGallery"),icon:Ti})},mK=f.memo(hK),gK=e=>he([mt],({gallery:t})=>({isSelected:t.selection.includes(e),selectionCount:t.selection.length,selection:t.selection}),Ke),vK=e=>{const t=Z(),{imageName:n}=e,{currentData:r}=Uo(n),o=f.useMemo(()=>gK(n),[n]),{isSelected:s,selectionCount:i,selection:u}=$(o),d=f.useCallback(g=>{t(Rf(n))},[t,n]),p=f.useCallback(g=>{g.stopPropagation(),r&&t(gv(r))},[t,r]),h=f.useMemo(()=>{if(i>1)return{id:"gallery-image",payloadType:"IMAGE_NAMES",payload:{image_names:u}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,u,i]);return r?a.jsx($e,{sx:{w:"full",h:"full",touchAction:"none"},children:a.jsx(L,{userSelect:"none",sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:a.jsx(ri,{onClick:d,imageDTO:r,draggableData:h,isSelected:s,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0})})}):a.jsx(wP,{})},yK=f.memo(vK),bK={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},xK=()=>{const{t:e}=ue(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=m1(bK),i=$(C=>C.gallery.selectedBoardId),{currentViewTotal:u}=C1(i),d=$(T4),{currentData:p,isFetching:h,isSuccess:g,isError:v}=k8(d),[b]=N4(),S=f.useMemo(()=>!p||!u?!1:p.ids.length{S&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:$4})},[S,b,d,p==null?void 0:p.ids.length]);if(f.useEffect(()=>{const{current:C}=t;return n&&C&&o({target:C,elements:{viewport:n}}),()=>{var _;return(_=s())==null?void 0:_.destroy()}},[n,o,s]),!p)return a.jsx(L,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:a.jsx(Ja,{label:"Loading...",icon:Ti})});if(g&&(p==null?void 0:p.ids.length)===0)return a.jsx(L,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:a.jsx(Ja,{label:e("gallery.noImagesInGallery"),icon:Ti})});if(g&&p)return a.jsxs(a.Fragment,{children:[a.jsx($e,{ref:t,"data-overlayscrollbars":"",h:"100%",children:a.jsx(vP,{style:{height:"100%"},data:p.ids,endReached:x,components:{Item:SP,List:CP},scrollerRef:r,itemContent:(C,_)=>a.jsx(yK,{imageName:_},_)})}),a.jsx(Xt,{onClick:x,isDisabled:!S,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${u})`})]});if(v)return a.jsx($e,{sx:{w:"full",h:"full"},children:a.jsx(Ja,{label:"Unable to load Gallery",icon:m_})})},wK=f.memo(xK),SK=he([mt],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{selectedBoardId:t,galleryView:n}},Ke),CK=()=>{const e=f.useRef(null),t=f.useRef(null),{selectedBoardId:n,galleryView:r}=$(SK),o=Z(),{isOpen:s,onToggle:i}=Ws(),u=f.useCallback(()=>{o(ux("images"))},[o]),d=f.useCallback(()=>{o(ux("assets"))},[o]);return a.jsxs(A6,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[a.jsxs($e,{sx:{w:"full"},children:[a.jsxs(L,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[a.jsx(WL,{isOpen:s,onToggle:i}),a.jsx(aq,{}),a.jsx(UL,{})]}),a.jsx($e,{children:a.jsx(BL,{isOpen:s})})]}),a.jsxs(L,{ref:t,direction:"column",gap:2,h:"full",w:"full",children:[a.jsx(L,{sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:a.jsx(Nu,{index:r==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:a.jsx($u,{children:a.jsxs(Yn,{isAttached:!0,sx:{w:"full"},children:[a.jsx(Bl,{as:Xt,size:"sm",isChecked:r==="images",onClick:u,sx:{w:"full"},leftIcon:a.jsx(sL,{}),children:"Images"}),a.jsx(Bl,{as:Xt,size:"sm",isChecked:r==="assets",onClick:d,sx:{w:"full"},leftIcon:a.jsx(vL,{}),children:"Assets"})]})})})}),n==="batch"?a.jsx(mK,{}):a.jsx(wK,{})]})]})},_P=f.memo(CK),_K=he([or,Zr,j8,Jn],(e,t,n,r)=>{const{shouldPinGallery:o,shouldShowGallery:s}=t,{galleryImageMinimumWidth:i}=n;return{activeTabName:e,isStaging:r,shouldPinGallery:o,shouldShowGallery:s,galleryImageMinimumWidth:i,isResizable:e!=="unifiedCanvas"}},{memoizeOptions:{resultEqualityCheck:Gt}}),kK=()=>{const e=Z(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=$(_K),o=()=>{e(Xg(!1)),t&&e(yo())};Ye("esc",()=>{e(Xg(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return Ye("shift+up",()=>{if(r<256){const i=Vs(r+s,32,256);e(Pf(i))}},[r]),Ye("shift+down",()=>{if(r>32){const i=Vs(r-s,32,256);e(Pf(i))}},[r]),t?null:a.jsx(R5,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:a.jsx(_P,{})})},jK=f.memo(kK),PK=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:o,formLabelProps:s,tooltip:i,...u}=e;return a.jsx(Cn,{label:i,hasArrow:!0,placement:"top",isDisabled:!i,children:a.jsxs(ws,{isDisabled:n,width:r,display:"flex",alignItems:"center",...o,children:[t&&a.jsx(gs,{my:1,flexGrow:1,sx:{cursor:n?"not-allowed":"pointer",...s==null?void 0:s.sx,pe:4},...s,children:t}),a.jsx(Xv,{...u})]})})},xr=f.memo(PK),IK=he([mt,P8],({system:e,config:t,imageDeletion:n},r)=>{const{shouldConfirmOnDelete:o}=e,{canRestoreDeletedImagesFromBin:s}=t,{imageToDelete:i,isModalOpen:u}=n;return{shouldConfirmOnDelete:o,canRestoreDeletedImagesFromBin:s,imageToDelete:i,imageUsage:r,isModalOpen:u}},Ke),EK=()=>{const e=Z(),{t}=ue(),{shouldConfirmOnDelete:n,canRestoreDeletedImagesFromBin:r,imageToDelete:o,imageUsage:s,isModalOpen:i}=$(IK),u=f.useCallback(g=>e(z4(!g.target.checked)),[e]),d=f.useCallback(()=>{e(dx()),e(I8(!1))},[e]),p=f.useCallback(()=>{!o||!s||(e(dx()),e(E8({imageDTO:o,imageUsage:s})))},[e,o,s]),h=f.useRef(null);return a.jsx(Du,{isOpen:i,onClose:d,leastDestructiveRef:h,isCentered:!0,children:a.jsx(ya,{children:a.jsxs(Au,{children:[a.jsx(va,{fontSize:"lg",fontWeight:"bold",children:t("gallery.deleteImage")}),a.jsx(ba,{children:a.jsxs(L,{direction:"column",gap:3,children:[a.jsx(u_,{imageUsage:s}),a.jsx(Fi,{}),a.jsx(qe,{children:t(r?"gallery.deleteImageBin":"gallery.deleteImagePermanent")}),a.jsx(qe,{children:t("common.areYouSure")}),a.jsx(xr,{label:t("common.dontAskMeAgain"),isChecked:!n,onChange:u})]})}),a.jsxs(ga,{children:[a.jsx(Xt,{ref:h,onClick:d,children:"Cancel"}),a.jsx(Xt,{colorScheme:"error",onClick:p,ml:3,children:"Delete"})]})]})})})},OK=f.memo(EK);function fC(e){for(var t=[],n=1;n{const{isConnected:t,isProcessing:n,statusTranslationKey:r,currentIteration:o,totalIterations:s,currentStatusHasSteps:i}=e;return{isConnected:t,isProcessing:n,currentIteration:o,totalIterations:s,statusTranslationKey:r,currentStatusHasSteps:i}},Ke),hC={ok:"green.400",working:"yellow.400",error:"red.400"},mC={ok:"green.600",working:"yellow.500",error:"red.500"},NK=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=$(TK),{t:s}=ue(),i=f.useRef(null),u=f.useMemo(()=>t?"working":e?"ok":"error",[t,e]),d=f.useMemo(()=>{if(n&&r)return` (${n}/${r})`},[n,r]),p=kP(i);return a.jsxs(L,{ref:i,h:"full",px:2,alignItems:"center",gap:5,children:[a.jsx(Ko,{children:p&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:a.jsxs(qe,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:mC[u],_dark:{color:hC[u]}},children:[s(o),d]})},"statusText")}),a.jsx(io,{as:Qz,sx:{boxSize:"0.5rem",color:mC[u],_dark:{color:hC[u]}}})]})};function $K(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function zK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 00.12-.61l-1.92-3.32a.488.488 0 00-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 00-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 00-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"}}]})(e)}function LK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"}}]})(e)}function BK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"}}]})(e)}function FK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function HK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function jP(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z"}}]})(e)}const WK=()=>{const{colorMode:e,toggleColorMode:t}=xs(),{t:n}=ue();return a.jsx(je,{"aria-label":n(e==="dark"?"common.lightMode":"common.darkMode"),tooltip:n(e==="dark"?"common.lightMode":"common.darkMode"),size:"sm",icon:e==="dark"?a.jsx(bL,{fontSize:19}):a.jsx(pL,{fontSize:18}),onClick:t,variant:"link"})};function VK(e){const{title:t,hotkey:n,description:r}=e;return a.jsxs(Mi,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[a.jsxs(Mi,{children:[a.jsx(qe,{fontWeight:600,children:t}),r&&a.jsx(qe,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),a.jsx($e,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function UK({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Ws(),{t:o}=ue(),s=[{title:o("hotkeys.invoke.title"),desc:o("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:o("hotkeys.cancel.title"),desc:o("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:o("hotkeys.focusPrompt.title"),desc:o("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:o("hotkeys.toggleOptions.title"),desc:o("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:o("hotkeys.pinOptions.title"),desc:o("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:o("hotkeys.toggleGallery.title"),desc:o("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:o("hotkeys.maximizeWorkSpace.title"),desc:o("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:o("hotkeys.changeTabs.title"),desc:o("hotkeys.changeTabs.desc"),hotkey:"1-5"}],i=[{title:o("hotkeys.setPrompt.title"),desc:o("hotkeys.setPrompt.desc"),hotkey:"P"},{title:o("hotkeys.setSeed.title"),desc:o("hotkeys.setSeed.desc"),hotkey:"S"},{title:o("hotkeys.setParameters.title"),desc:o("hotkeys.setParameters.desc"),hotkey:"A"},{title:o("hotkeys.upscale.title"),desc:o("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:o("hotkeys.showInfo.title"),desc:o("hotkeys.showInfo.desc"),hotkey:"I"},{title:o("hotkeys.sendToImageToImage.title"),desc:o("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:o("hotkeys.deleteImage.title"),desc:o("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:o("hotkeys.closePanels.title"),desc:o("hotkeys.closePanels.desc"),hotkey:"Esc"}],u=[{title:o("hotkeys.previousImage.title"),desc:o("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextImage.title"),desc:o("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.toggleGalleryPin.title"),desc:o("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:o("hotkeys.increaseGalleryThumbSize.title"),desc:o("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:o("hotkeys.decreaseGalleryThumbSize.title"),desc:o("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],d=[{title:o("hotkeys.selectBrush.title"),desc:o("hotkeys.selectBrush.desc"),hotkey:"B"},{title:o("hotkeys.selectEraser.title"),desc:o("hotkeys.selectEraser.desc"),hotkey:"E"},{title:o("hotkeys.decreaseBrushSize.title"),desc:o("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:o("hotkeys.increaseBrushSize.title"),desc:o("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:o("hotkeys.decreaseBrushOpacity.title"),desc:o("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:o("hotkeys.increaseBrushOpacity.title"),desc:o("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:o("hotkeys.moveTool.title"),desc:o("hotkeys.moveTool.desc"),hotkey:"V"},{title:o("hotkeys.fillBoundingBox.title"),desc:o("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:o("hotkeys.eraseBoundingBox.title"),desc:o("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:o("hotkeys.colorPicker.title"),desc:o("hotkeys.colorPicker.desc"),hotkey:"C"},{title:o("hotkeys.toggleSnap.title"),desc:o("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:o("hotkeys.quickToggleMove.title"),desc:o("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:o("hotkeys.toggleLayer.title"),desc:o("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:o("hotkeys.clearMask.title"),desc:o("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:o("hotkeys.hideMask.title"),desc:o("hotkeys.hideMask.desc"),hotkey:"H"},{title:o("hotkeys.showHideBoundingBox.title"),desc:o("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:o("hotkeys.mergeVisible.title"),desc:o("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:o("hotkeys.saveToGallery.title"),desc:o("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:o("hotkeys.copyToClipboard.title"),desc:o("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:o("hotkeys.downloadImage.title"),desc:o("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:o("hotkeys.undoStroke.title"),desc:o("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:o("hotkeys.redoStroke.title"),desc:o("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:o("hotkeys.resetView.title"),desc:o("hotkeys.resetView.desc"),hotkey:"R"},{title:o("hotkeys.previousStagingImage.title"),desc:o("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextStagingImage.title"),desc:o("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.acceptStagingImage.title"),desc:o("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],p=h=>a.jsx(L,{flexDir:"column",gap:4,children:h.map((g,v)=>a.jsxs(L,{flexDir:"column",px:2,gap:4,children:[a.jsx(VK,{title:g.title,description:g.desc,hotkey:g.hotkey}),v{const{data:t}=O8(),n=f.useRef(null),r=kP(n);return a.jsxs(L,{alignItems:"center",gap:3,ps:1,ref:n,children:[a.jsx(rc,{src:R4,alt:"invoke-ai-logo",sx:{w:"32px",h:"32px",minW:"32px",minH:"32px",userSelect:"none"}}),a.jsxs(L,{sx:{gap:3,alignItems:"center"},children:[a.jsxs(qe,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",a.jsx("strong",{children:"ai"})]}),a.jsx(Ko,{children:e&&r&&t&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:a.jsx(qe,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})};function GK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}function qK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M478.33 433.6l-90-218a22 22 0 00-40.67 0l-90 218a22 22 0 1040.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 00458 464a22 22 0 0020.32-30.4zM334.83 362L368 281.65 401.17 362zm-66.99-19.08a22 22 0 00-4.89-30.7c-.2-.15-15-11.13-36.49-34.73 39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 000-44H214V70a22 22 0 00-44 0v20H54a22 22 0 000 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 00-40.58 17c.58 1.38 14.55 34.23 52.86 83.93.92 1.19 1.83 2.35 2.74 3.51-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1021.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59 22.52 24.08 38 35.44 38.93 36.1a22 22 0 0030.75-4.9z"}}]})(e)}const KK={ar:pr.t("common.langArabic",{lng:"ar"}),nl:pr.t("common.langDutch",{lng:"nl"}),en:pr.t("common.langEnglish",{lng:"en"}),fr:pr.t("common.langFrench",{lng:"fr"}),de:pr.t("common.langGerman",{lng:"de"}),he:pr.t("common.langHebrew",{lng:"he"}),it:pr.t("common.langItalian",{lng:"it"}),ja:pr.t("common.langJapanese",{lng:"ja"}),ko:pr.t("common.langKorean",{lng:"ko"}),pl:pr.t("common.langPolish",{lng:"pl"}),pt_BR:pr.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:pr.t("common.langPortuguese",{lng:"pt"}),ru:pr.t("common.langRussian",{lng:"ru"}),zh_CN:pr.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:pr.t("common.langSpanish",{lng:"es"}),uk:pr.t("common.langUkranian",{lng:"ua"})};function QK(){const{t:e}=ue(),t=Z(),n=$(L4);return a.jsxs(Mu,{closeOnSelect:!1,children:[a.jsx(Cn,{label:e("common.languagePickerLabel"),hasArrow:!0,children:a.jsx(Ru,{as:qa,icon:a.jsx(qK,{}),variant:"link","aria-label":e("common.languagePickerLabel"),fontSize:22,minWidth:8})}),a.jsx(ic,{children:a.jsx(Uv,{value:n,children:Ss(KK,(r,o)=>a.jsx(iu,{value:o,onClick:()=>t(M8(o)),children:r},o))})})]})}const YK=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...i}=e,u=tP();return a.jsx(Cn,{label:t,placement:"top",hasArrow:!0,children:a.jsx(B1,{label:r?a.jsx(ws,{isRequired:s,isDisabled:o,children:a.jsx(gs,{children:r})}):void 0,disabled:o,ref:n,styles:u,...i})})},Co=f.memo(YK);function sa(e){const{t}=ue(),{label:n,textProps:r,useBadge:o=!1,badgeLabel:s=t("settings.experimental"),badgeProps:i,...u}=e;return a.jsxs(L,{justifyContent:"space-between",py:1,children:[a.jsxs(L,{gap:2,alignItems:"center",children:[a.jsx(qe,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&a.jsx(Za,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...i,children:s})]}),a.jsx(xr,{...u})]})}function XK(){const e=Z(),{data:t,refetch:n}=R8(),[r,{isLoading:o}]=D8(),s=f.useCallback(()=>{r().unwrap().then(u=>{e(A8()),e(vv()),e(Bn({title:`Cleared ${u} intermediates`,status:"info"}))})},[r,e]);f.useEffect(()=>{n()},[n]);const i=t?`Clear ${t} Intermediate${t>1?"s":""}`:"No Intermediates to Clear";return a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:"Clear Intermediates"}),a.jsx(Xt,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:i}),a.jsx(qe,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),a.jsx(qe,{variant:"subtext",children:"Intermediate images are byproducts of generation, different from the result images in the gallery. Clearing intermediates will free disk space."}),a.jsx(qe,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const JK=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:i,base700:u,base800:d,base900:p,accent200:h,accent300:g,accent400:v,accent500:b,accent600:S}=F1(),{colorMode:x}=xs(),[C]=ec("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Me(u,r)(x)},separatorLabel:{color:Me(s,s)(x),"::after":{borderTopColor:Me(r,u)(x)}},searchInput:{":placeholder":{color:Me(r,u)(x)}},input:{backgroundColor:Me(e,p)(x),borderWidth:"2px",borderColor:Me(n,d)(x),color:Me(p,t)(x),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Me(r,i)(x)},"&:focus":{borderColor:Me(g,S)(x)},"&:is(:focus, :hover)":{borderColor:Me(o,s)(x)},"&:focus-within":{borderColor:Me(h,S)(x)},"&[data-disabled]":{backgroundColor:Me(r,u)(x),color:Me(i,o)(x),cursor:"not-allowed"}},value:{backgroundColor:Me(n,d)(x),color:Me(p,t)(x),button:{color:Me(p,t)(x)},"&:hover":{backgroundColor:Me(r,u)(x),cursor:"pointer"}},dropdown:{backgroundColor:Me(n,d)(x),borderColor:Me(n,d)(x),boxShadow:C},item:{backgroundColor:Me(n,d)(x),color:Me(d,n)(x),padding:6,"&[data-hovered]":{color:Me(p,t)(x),backgroundColor:Me(r,u)(x)},"&[data-active]":{backgroundColor:Me(r,u)(x),"&:hover":{color:Me(p,t)(x),backgroundColor:Me(r,u)(x)}},"&[data-selected]":{backgroundColor:Me(v,S)(x),color:Me(e,t)(x),fontWeight:600,"&:hover":{backgroundColor:Me(b,b)(x),color:Me("white",e)(x)}},"&[data-disabled]":{color:Me(s,i)(x),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:Me(p,t)(x)}}}),[h,g,v,b,S,t,n,r,o,e,s,i,u,d,p,C,x])},ZK=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...i}=e,u=Z(),d=f.useCallback(g=>{g.shiftKey&&u(Go(!0))},[u]),p=f.useCallback(g=>{g.shiftKey||u(Go(!1))},[u]),h=JK();return a.jsx(Cn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:a.jsx(Qj,{label:o?a.jsx(ws,{isDisabled:s,children:a.jsx(gs,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...i})})},eQ=f.memo(ZK),tQ=Ss(B4,e=>({value:e,label:F4[e]})).sort((e,t)=>e.label.localeCompare(t.label));function nQ(){const e=Z(),{t}=ue(),n=$(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(T8(o))},[e]);return a.jsx(eQ,{label:t("settings.favoriteSchedulers"),value:n,data:tQ,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const rQ=he([xo,Zr],(e,t)=>{const{shouldConfirmOnDelete:n,enableImageDebugging:r,consoleLogLevel:o,shouldLogToConsole:s,shouldAntialiasProgressImage:i,isNodesEnabled:u}=e,{shouldUseCanvasBetaLayout:d,shouldUseSliders:p,shouldShowProgressInViewer:h,shouldShowAdvancedOptions:g}=t;return{shouldConfirmOnDelete:n,enableImageDebugging:r,shouldUseCanvasBetaLayout:d,shouldUseSliders:p,shouldShowProgressInViewer:h,consoleLogLevel:o,shouldLogToConsole:s,shouldAntialiasProgressImage:i,shouldShowAdvancedOptions:g,isNodesEnabled:u}},{memoizeOptions:{resultEqualityCheck:Gt}}),oQ=({children:e,config:t})=>{const n=Z(),{t:r}=ue(),o=(t==null?void 0:t.shouldShowBetaLayout)??!0,s=(t==null?void 0:t.shouldShowDeveloperSettings)??!0,i=(t==null?void 0:t.shouldShowResetWebUiText)??!0,u=(t==null?void 0:t.shouldShowAdvancedOptionsSettings)??!0,d=(t==null?void 0:t.shouldShowClearIntermediates)??!0,p=(t==null?void 0:t.shouldShowNodesToggle)??!0;f.useEffect(()=>{s||n(fx(!1))},[s,n]);const{isOpen:h,onOpen:g,onClose:v}=Ws(),{isOpen:b,onOpen:S,onClose:x}=Ws(),{shouldConfirmOnDelete:C,enableImageDebugging:_,shouldUseCanvasBetaLayout:k,shouldUseSliders:P,shouldShowProgressInViewer:I,consoleLogLevel:E,shouldLogToConsole:O,shouldAntialiasProgressImage:R,shouldShowAdvancedOptions:D,isNodesEnabled:T}=$(rQ),B=f.useCallback(()=>{Object.keys(window.localStorage).forEach(N=>{(N8.includes(N)||N.startsWith($8))&&localStorage.removeItem(N)}),v(),S()},[v,S]),W=f.useCallback(N=>{n(z8(N))},[n]),J=f.useCallback(N=>{n(fx(N.target.checked))},[n]),F=f.useCallback(N=>{n(L8(N.target.checked))},[n]);return a.jsxs(a.Fragment,{children:[f.cloneElement(e,{onClick:g}),a.jsxs(lu,{isOpen:h,onClose:v,size:"2xl",isCentered:!0,children:[a.jsx(ya,{}),a.jsxs(cu,{children:[a.jsx(va,{bg:"none",children:r("common.settingsLabel")}),a.jsx(Gv,{}),a.jsx(ba,{children:a.jsxs(L,{sx:{gap:4,flexDirection:"column"},children:[a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.general")}),a.jsx(sa,{label:r("settings.confirmOnDelete"),isChecked:C,onChange:N=>n(z4(N.target.checked))}),u&&a.jsx(sa,{label:r("settings.showAdvancedOptions"),isChecked:D,onChange:N=>n(B8(N.target.checked))})]}),a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.generation")}),a.jsx(nQ,{})]}),a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.ui")}),a.jsx(sa,{label:r("settings.useSlidersForAll"),isChecked:P,onChange:N=>n(F8(N.target.checked))}),a.jsx(sa,{label:r("settings.showProgressInViewer"),isChecked:I,onChange:N=>n(H4(N.target.checked))}),a.jsx(sa,{label:r("settings.antialiasProgressImages"),isChecked:R,onChange:N=>n(H8(N.target.checked))}),o&&a.jsx(sa,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:k,onChange:N=>n(W8(N.target.checked))}),p&&a.jsx(sa,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:T,onChange:F})]}),s&&a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.developer")}),a.jsx(sa,{label:r("settings.shouldLogToConsole"),isChecked:O,onChange:J}),a.jsx(Co,{disabled:!O,label:r("settings.consoleLogLevel"),onChange:W,value:E,data:V8.concat()}),a.jsx(sa,{label:r("settings.enableImageDebugging"),isChecked:_,onChange:N=>n(U8(N.target.checked))})]}),d&&a.jsx(XK,{}),a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.resetWebUI")}),a.jsx(Xt,{colorScheme:"error",onClick:B,children:r("settings.resetWebUI")}),i&&a.jsxs(a.Fragment,{children:[a.jsx(qe,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),a.jsx(qe,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),a.jsx(ga,{children:a.jsx(Xt,{onClick:v,children:r("common.close")})})]})]}),a.jsxs(lu,{closeOnOverlayClick:!1,isOpen:b,onClose:x,isCentered:!0,children:[a.jsx(ya,{backdropFilter:"blur(40px)"}),a.jsxs(cu,{children:[a.jsx(va,{}),a.jsx(ba,{children:a.jsx(L,{justifyContent:"center",children:a.jsx(qe,{fontSize:"lg",children:a.jsx(qe,{children:r("settings.resetComplete")})})})}),a.jsx(ga,{})]})]})]})},bl=e=>a.jsx(L,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children}),sQ=()=>{const{t:e}=ue(),t=yr("localization").isFeatureEnabled,n=yr("bugLink").isFeatureEnabled,r=yr("discordLink").isFeatureEnabled,o=yr("githubLink").isFeatureEnabled;return a.jsxs(L,{sx:{gap:2,alignItems:"center"},children:[a.jsx(PP,{}),a.jsx(Bi,{}),a.jsx(NK,{}),a.jsx(UK,{children:a.jsx(je,{"aria-label":e("common.hotkeysLabel"),tooltip:e("common.hotkeysLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:a.jsx(lL,{})})}),t&&a.jsx(QK,{}),n&&a.jsx(Qa,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI/issues",marginBottom:"-0.25rem",children:a.jsx(je,{"aria-label":e("common.reportBugLabel"),tooltip:e("common.reportBugLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:a.jsx(qz,{})})}),o&&a.jsx(Qa,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI",marginBottom:"-0.25rem",children:a.jsx(je,{"aria-label":e("common.githubLabel"),tooltip:e("common.githubLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:a.jsx(Bz,{})})}),r&&a.jsx(Qa,{isExternal:!0,href:"https://discord.gg/ZmtBAhwWhy",marginBottom:"-0.25rem",children:a.jsx(je,{"aria-label":e("common.discordLabel"),tooltip:e("common.discordLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:a.jsx(Lz,{})})}),a.jsx(WK,{}),a.jsx(oQ,{children:a.jsx(je,{"aria-label":e("common.settingsLabel"),tooltip:e("common.settingsLabel"),variant:"link","data-variant":"link",fontSize:22,size:"sm",icon:a.jsx(zK,{})})})]})},aQ=f.memo(sQ),iQ=he(xo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),lQ=()=>{const{shouldShow:e,tooltip:t}=$(iQ);return e?a.jsx(L,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:a.jsx(Cn,{label:t,placement:"right",hasArrow:!0,children:a.jsx(oc,{})})}):null},cQ=f.memo(lQ),qi=e=>e.config,{createElement:Gl,createContext:uQ,forwardRef:IP,useCallback:La,useContext:EP,useEffect:ha,useImperativeHandle:OP,useLayoutEffect:dQ,useMemo:fQ,useRef:Ho,useState:nu}=fv,gC=fv["useId".toString()],pQ=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Fp=pQ?dQ:()=>{},hQ=typeof gC=="function"?gC:()=>null;let mQ=0;function K1(e=null){const t=hQ(),n=Ho(e||t||null);return n.current===null&&(n.current=""+mQ++),n.current}const Dh=uQ(null);Dh.displayName="PanelGroupContext";function MP({children:e=null,className:t="",collapsedSize:n=0,collapsible:r=!1,defaultSize:o=null,forwardedRef:s,id:i=null,maxSize:u=100,minSize:d=10,onCollapse:p=null,onResize:h=null,order:g=null,style:v={},tagName:b="div"}){const S=EP(Dh);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const x=K1(i),{collapsePanel:C,expandPanel:_,getPanelStyle:k,registerPanel:P,resizePanel:I,unregisterPanel:E}=S,O=Ho({onCollapse:p,onResize:h});if(ha(()=>{O.current.onCollapse=p,O.current.onResize=h}),d<0||d>100)throw Error(`Panel minSize must be between 0 and 100, but was ${d}`);if(u<0||u>100)throw Error(`Panel maxSize must be between 0 and 100, but was ${u}`);if(o!==null){if(o<0||o>100)throw Error(`Panel defaultSize must be between 0 and 100, but was ${o}`);d>o&&!r&&(console.error(`Panel minSize ${d} cannot be greater than defaultSize ${o}`),o=d)}const R=k(x,o),D=Ho({size:vC(R)}),T=Ho({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:x,maxSize:u,minSize:d,order:g});return Fp(()=>{D.current.size=vC(R),T.current.callbacksRef=O,T.current.collapsedSize=n,T.current.collapsible=r,T.current.defaultSize=o,T.current.id=x,T.current.maxSize=u,T.current.minSize=d,T.current.order=g}),Fp(()=>(P(x,T),()=>{E(x)}),[g,x,P,E]),OP(s,()=>({collapse:()=>C(x),expand:()=>_(x),getCollapsed(){return D.current.size===0},getSize(){return D.current.size},resize:B=>I(x,B)}),[C,_,x,I]),Gl(b,{children:e,className:t,"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-id":x,"data-panel-size":parseFloat(""+R.flexGrow).toFixed(1),id:`data-panel-id-${x}`,style:{...R,...v}})}const gu=IP((e,t)=>Gl(MP,{...e,forwardedRef:t}));MP.displayName="Panel";gu.displayName="forwardRef(Panel)";function vC(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const $i=10;function Uc(e,t,n,r,o,s,i,u){const{sizes:d}=u||{},p=d||s;if(o===0)return p;const h=Fo(t),g=p.concat();let v=0;{const x=o<0?r:n,C=h.findIndex(I=>I.current.id===x),_=h[C],k=p[C],P=yC(_,Math.abs(o),k,e);if(k===P)return p;P===0&&k>0&&i.set(x,k),o=o<0?k-P:P-k}let b=o<0?n:r,S=h.findIndex(x=>x.current.id===b);for(;;){const x=h[S],C=p[S],_=Math.abs(o)-Math.abs(v),k=yC(x,0-_,C,e);if(C!==k&&(k===0&&C>0&&i.set(x.current.id,C),v+=C-k,g[S]=k,v.toPrecision($i).localeCompare(Math.abs(o).toPrecision($i),void 0,{numeric:!0})>=0))break;if(o<0){if(--S<0)break}else if(++S>=h.length)break}return v===0?p:(b=o<0?r:n,S=h.findIndex(x=>x.current.id===b),g[S]=p[S]+v,g)}function vl(e,t,n){t.forEach((r,o)=>{const{callbacksRef:s,collapsedSize:i,collapsible:u,id:d}=e[o].current,p=n[d];if(p!==r){n[d]=r;const{onCollapse:h,onResize:g}=s.current;g&&g(r,p),u&&h&&((p==null||p===i)&&r!==i?h(!1):p!==i&&r===i&&h(!0))}})}function Ng(e,t){if(t.length<2)return[null,null];const n=t.findIndex(i=>i.current.id===e);if(n<0)return[null,null];const r=n===t.length-1,o=r?t[n-1].current.id:e,s=r?e:t[n+1].current.id;return[o,s]}function RP(e,t,n){if(e.size===1)return"100";const o=Fo(e).findIndex(i=>i.current.id===t),s=n[o];return s==null?"0":s.toPrecision($i)}function gQ(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Q1(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function Ah(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function vQ(e){return DP().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function DP(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function AP(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function Y1(e,t,n){var d,p,h,g;const r=Ah(t),o=AP(e),s=r?o.indexOf(r):-1,i=((p=(d=n[s])==null?void 0:d.current)==null?void 0:p.id)??null,u=((g=(h=n[s+1])==null?void 0:h.current)==null?void 0:g.id)??null;return[i,u]}function Fo(e){return Array.from(e.values()).sort((t,n)=>{const r=t.current.order,o=n.current.order;return r==null&&o==null?0:r==null?-1:o==null?1:r-o})}function yC(e,t,n,r){var h;const o=n+t,{collapsedSize:s,collapsible:i,maxSize:u,minSize:d}=e.current;if(i){if(n>s){if(o<=d/2+s)return s}else if(!((h=r==null?void 0:r.type)==null?void 0:h.startsWith("key"))&&o{const{direction:i,panels:u}=e.current,d=Q1(t),{height:p,width:h}=d.getBoundingClientRect(),v=AP(t).map(b=>{const S=b.getAttribute("data-panel-resize-handle-id"),x=Fo(u),[C,_]=Y1(t,S,x);if(C==null||_==null)return()=>{};let k=0,P=100,I=0,E=0;x.forEach(W=>{W.current.id===C?(P=W.current.maxSize,k=W.current.minSize):(I+=W.current.minSize,E+=W.current.maxSize)});const O=Math.min(P,100-I),R=Math.max(k,(x.length-1)*100-E),D=RP(u,C,o);b.setAttribute("aria-valuemax",""+Math.round(O)),b.setAttribute("aria-valuemin",""+Math.round(R)),b.setAttribute("aria-valuenow",""+Math.round(parseInt(D)));const T=W=>{if(!W.defaultPrevented)switch(W.key){case"Enter":{W.preventDefault();const J=x.findIndex(F=>F.current.id===C);if(J>=0){const F=x[J],N=o[J];if(N!=null){let G=0;N.toPrecision($i)<=F.current.minSize.toPrecision($i)?G=i==="horizontal"?h:p:G=-(i==="horizontal"?h:p);const K=Uc(W,u,C,_,G,o,s.current,null);o!==K&&r(K)}}break}}};b.addEventListener("keydown",T);const B=gQ(C);return B!=null&&b.setAttribute("aria-controls",B.id),()=>{b.removeAttribute("aria-valuemax"),b.removeAttribute("aria-valuemin"),b.removeAttribute("aria-valuenow"),b.removeEventListener("keydown",T),B!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function bQ({disabled:e,handleId:t,resizeHandler:n}){ha(()=>{if(e||n==null)return;const r=Ah(t);if(r==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const i=DP(),u=vQ(t);TP(u!==null);const d=s.shiftKey?u>0?u-1:i.length-1:u+1{r.removeEventListener("keydown",o)}},[e,t,n])}function xQ(e,t){if(e.length!==t.length)return!1;for(let n=0;nR.current.id===I),O=r[E];if(O.current.collapsible){const R=h[E];(R===0||R.toPrecision($i)===O.current.minSize.toPrecision($i))&&(_=_<0?-O.current.minSize*S:O.current.minSize*S)}return _}else return NP(e,n,o,u,d)}function SQ(e){return e.type==="keydown"}function V0(e){return e.type.startsWith("mouse")}function U0(e){return e.type.startsWith("touch")}let G0=null,Si=null;function $P(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function CQ(){Si!==null&&(document.head.removeChild(Si),G0=null,Si=null)}function $g(e){if(G0===e)return;G0=e;const t=$P(e);Si===null&&(Si=document.createElement("style"),document.head.appendChild(Si)),Si.innerHTML=`*{cursor: ${t}!important;}`}function _Q(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function zP(e){return e.map(t=>{const{minSize:n,order:r}=t.current;return r?`${r}:${n}`:`${n}`}).sort((t,n)=>t.localeCompare(n)).join(",")}function LP(e,t){try{const n=t.getItem(`PanelGroup:sizes:${e}`);if(n){const r=JSON.parse(n);if(typeof r=="object"&&r!=null)return r}}catch{}return null}function kQ(e,t,n){const r=LP(e,n);if(r){const o=zP(t);return r[o]??null}return null}function jQ(e,t,n,r){const o=zP(t),s=LP(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(i){console.error(i)}}const zg={};function bC(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}const Gc={getItem:e=>(bC(Gc),Gc.getItem(e)),setItem:(e,t)=>{bC(Gc),Gc.setItem(e,t)}};function BP({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:i=null,onLayout:u,storage:d=Gc,style:p={},tagName:h="div"}){const g=K1(i),[v,b]=nu(null),[S,x]=nu(new Map),C=Ho(null),_=Ho({onLayout:u});ha(()=>{_.current.onLayout=u});const k=Ho({}),[P,I]=nu([]),E=Ho(new Map),O=Ho(0),R=Ho({direction:r,panels:S,sizes:P});OP(s,()=>({getLayout:()=>{const{sizes:M}=R.current;return M},setLayout:M=>{const U=M.reduce((xe,me)=>xe+me,0);TP(U===100,"Panel sizes must add up to 100%");const{panels:V}=R.current,ee=k.current,ie=Fo(V);I(M),vl(ie,M,ee)}}),[]),Fp(()=>{R.current.direction=r,R.current.panels=S,R.current.sizes=P}),yQ({committedValuesRef:R,groupId:g,panels:S,setSizes:I,sizes:P,panelSizeBeforeCollapse:E}),ha(()=>{const{onLayout:M}=_.current,{panels:U,sizes:V}=R.current;if(V.length>0){M&&M(V);const ee=k.current,ie=Fo(U);vl(ie,V,ee)}},[P]),Fp(()=>{if(R.current.sizes.length===S.size)return;let U=null;if(e){const V=Fo(S);U=kQ(e,V,d)}if(U!=null)I(U);else{const V=Fo(S);let ee=0,ie=0,xe=0;if(V.forEach(me=>{xe+=me.current.minSize,me.current.defaultSize===null?ee++:ie+=me.current.defaultSize}),ie>100)throw new Error("Default panel sizes cannot exceed 100%");if(V.length>1&&ee===0&&ie!==100)throw new Error("Invalid default sizes specified for panels");if(xe>100)throw new Error("Minimum panel sizes cannot exceed 100%");I(V.map(me=>me.current.defaultSize===null?(100-ie)/ee:me.current.defaultSize))}},[e,S,d]),ha(()=>{if(e){if(P.length===0||P.length!==S.size)return;const M=Fo(S);zg[e]||(zg[e]=_Q(jQ,100)),zg[e](e,M,P,d)}},[e,S,P,d]);const D=La((M,U)=>{const{panels:V}=R.current;return V.size===0?{flexBasis:0,flexGrow:U??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:RP(V,M,P),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,P]),T=La((M,U)=>{x(V=>{if(V.has(M))return V;const ee=new Map(V);return ee.set(M,U),ee})},[]),B=La(M=>V=>{V.preventDefault();const{direction:ee,panels:ie,sizes:xe}=R.current,me=Fo(ie),[ae,te]=Y1(g,M,me);if(ae==null||te==null)return;let H=wQ(V,g,M,me,ee,xe,C.current);if(H===0)return;const pe=Q1(g).getBoundingClientRect(),ne=ee==="horizontal";document.dir==="rtl"&&ne&&(H=-H);const ve=ne?pe.width:pe.height,de=H/ve*100,Ce=Uc(V,ie,ae,te,de,xe,E.current,C.current),Re=!xQ(xe,Ce);if((V0(V)||U0(V))&&O.current!=de&&$g(Re?ne?"horizontal":"vertical":ne?H<0?"horizontal-min":"horizontal-max":H<0?"vertical-min":"vertical-max"),Re){const ge=k.current;I(Ce),vl(me,Ce,ge)}O.current=de},[g]),W=La(M=>{x(U=>{if(!U.has(M))return U;const V=new Map(U);return V.delete(M),V})},[]),J=La(M=>{const{panels:U,sizes:V}=R.current,ee=U.get(M);if(ee==null)return;const{collapsedSize:ie,collapsible:xe}=ee.current;if(!xe)return;const me=Fo(U),ae=me.indexOf(ee);if(ae<0)return;const te=V[ae];if(te===ie)return;E.current.set(M,te);const[H,re]=Ng(M,me);if(H==null||re==null)return;const ne=ae===me.length-1?te:ie-te,ve=Uc(null,U,H,re,ne,V,E.current,null);if(V!==ve){const de=k.current;I(ve),vl(me,ve,de)}},[]),F=La(M=>{const{panels:U,sizes:V}=R.current,ee=U.get(M);if(ee==null)return;const{collapsedSize:ie,minSize:xe}=ee.current,me=E.current.get(M)||xe;if(!me)return;const ae=Fo(U),te=ae.indexOf(ee);if(te<0||V[te]!==ie)return;const[re,pe]=Ng(M,ae);if(re==null||pe==null)return;const ve=te===ae.length-1?ie-me:me,de=Uc(null,U,re,pe,ve,V,E.current,null);if(V!==de){const Ce=k.current;I(de),vl(ae,de,Ce)}},[]),N=La((M,U)=>{const{panels:V,sizes:ee}=R.current,ie=V.get(M);if(ie==null)return;const{collapsedSize:xe,collapsible:me,maxSize:ae,minSize:te}=ie.current,H=Fo(V),re=H.indexOf(ie);if(re<0)return;const pe=ee[re];if(pe===U)return;me&&U===xe||(U=Math.min(ae,Math.max(te,U)));const[ne,ve]=Ng(M,H);if(ne==null||ve==null)return;const Ce=re===H.length-1?pe-U:U-pe,Re=Uc(null,V,ne,ve,Ce,ee,E.current,null);if(ee!==Re){const ge=k.current;I(Re),vl(H,Re,ge)}},[]),G=fQ(()=>({activeHandleId:v,collapsePanel:J,direction:r,expandPanel:F,getPanelStyle:D,groupId:g,registerPanel:T,registerResizeHandle:B,resizePanel:N,startDragging:(M,U)=>{if(b(M),V0(U)||U0(U)){const V=Ah(M);C.current={dragHandleRect:V.getBoundingClientRect(),dragOffset:NP(U,M,r),sizes:R.current.sizes}}},stopDragging:()=>{CQ(),b(null),C.current=null},unregisterPanel:W}),[v,J,r,F,D,g,T,B,N,W]),K={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Gl(Dh.Provider,{children:Gl(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":g,style:{...K,...p}}),value:G})}const X1=IP((e,t)=>Gl(BP,{...e,forwardedRef:t}));BP.displayName="PanelGroup";X1.displayName="forwardRef(PanelGroup)";function q0({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:i="div"}){const u=Ho(null),d=Ho({onDragging:o});ha(()=>{d.current.onDragging=o});const p=EP(Dh);if(p===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{activeHandleId:h,direction:g,groupId:v,registerResizeHandle:b,startDragging:S,stopDragging:x}=p,C=K1(r),_=h===C,[k,P]=nu(!1),[I,E]=nu(null),O=La(()=>{u.current.blur(),x();const{onDragging:T}=d.current;T&&T(!1)},[x]);ha(()=>{if(n)E(null);else{const D=b(C);E(()=>D)}},[n,C,b]),ha(()=>{if(n||I==null||!_)return;const D=J=>{I(J)},T=J=>{I(J)},W=u.current.ownerDocument;return W.body.addEventListener("contextmenu",O),W.body.addEventListener("mousemove",D),W.body.addEventListener("touchmove",D),W.body.addEventListener("mouseleave",T),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{W.body.removeEventListener("contextmenu",O),W.body.removeEventListener("mousemove",D),W.body.removeEventListener("touchmove",D),W.body.removeEventListener("mouseleave",T),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[g,n,_,I,O]),bQ({disabled:n,handleId:C,resizeHandler:I});const R={cursor:$P(g),touchAction:"none",userSelect:"none"};return Gl(i,{children:e,className:t,"data-resize-handle-active":_?"pointer":k?"keyboard":void 0,"data-panel-group-direction":g,"data-panel-group-id":v,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":C,onBlur:()=>P(!1),onFocus:()=>P(!0),onMouseDown:D=>{S(C,D.nativeEvent);const{onDragging:T}=d.current;T&&T(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:D=>{S(C,D.nativeEvent);const{onDragging:T}=d.current;T&&T(!0)},ref:u,role:"separator",style:{...R,...s},tabIndex:0})}q0.displayName="PanelResizeHandle";const PQ=(e,t,n,r="horizontal")=>{const o=f.useRef(null),[s,i]=f.useState(t),u=f.useCallback(()=>{var p,h;const d=(p=o.current)==null?void 0:p.getSize();d!==void 0&&d{const d=document.querySelector(`[data-panel-group-id="${n}"]`),p=document.querySelectorAll("[data-panel-resize-handle-id]");if(!d)return;const h=new ResizeObserver(()=>{let g=r==="horizontal"?d.getBoundingClientRect().width:d.getBoundingClientRect().height;p.forEach(v=>{g-=r==="horizontal"?v.getBoundingClientRect().width:v.getBoundingClientRect().height}),i(e/g*100)});return h.observe(d),p.forEach(g=>{h.observe(g)}),window.addEventListener("resize",u),()=>{h.disconnect(),window.removeEventListener("resize",u)}},[n,u,s,e,r]),{ref:o,minSizePct:s}},IQ=he([mt],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Ke),EQ=()=>{const{initialImage:e}=$(IQ),{currentData:t,isLoading:n,isError:r,isSuccess:o}=Uo((e==null?void 0:e.imageName)??Xr.skipToken),s=f.useMemo(()=>{if(t)return{id:"initial-image",payloadType:"IMAGE_DTO",payload:{imageDTO:t}}},[t]),i=f.useMemo(()=>({id:"initial-image",actionType:"SET_INITIAL_IMAGE"}),[]);return a.jsx(ri,{imageDTO:t,droppableData:i,draggableData:s,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:a.jsx(Ja,{label:"No initial image selected"})})},OQ=he([mt],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Ke),MQ={type:"SET_INITIAL_IMAGE"},RQ=()=>{const{isResetButtonDisabled:e}=$(OQ),t=Z(),{getUploadButtonProps:n,getUploadInputProps:r}=Rh({postUploadAction:MQ}),o=f.useCallback(()=>{t(G8())},[t]);return a.jsxs(L,{layerStyle:"first",sx:{position:"relative",flexDirection:"column",height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",p:4,gap:4},children:[a.jsxs(L,{sx:{w:"full",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},children:[a.jsx(qe,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),a.jsx(Bi,{}),a.jsx(je,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:a.jsx(Fu,{}),...n()}),a.jsx(je,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:a.jsx(b1,{}),onClick:o,isDisabled:e})]}),a.jsx(EQ,{}),a.jsx("input",{...r()})]})},J1="28rem",FP=e=>{const{sx:t}=e,n=Z(),r=$(i=>i.ui.shouldPinParametersPanel),{t:o}=ue(),s=()=>{n(q8(!r)),n(yo())};return a.jsx(je,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?a.jsx(E_,{}):a.jsx(O_,{}),variant:"ghost",size:"sm",sx:{color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}},...t}})},DQ=he(Zr,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),AQ=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=$(DQ);return t&&n?a.jsxs($e,{sx:{position:"relative",h:"full",w:J1,flexShrink:0},children:[a.jsx(L,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),a.jsx(FP,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},Z1=f.memo(AQ),TQ=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=xs();return t==="horizontal"?a.jsx(q0,{children:a.jsx(L,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:a.jsx($e,{sx:{w:.5,h:"calc(100% - 4px)",bg:Me("base.100","base.850")(r)}})})}):a.jsx(q0,{children:a.jsx(L,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:a.jsx($e,{sx:{w:"calc(100% - 4px)",h:.5,bg:Me("base.100","base.850")(r)}})})})},HP=f.memo(TQ),NQ=he([mt],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),$Q=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=ue(),o=$(NQ);return a.jsx(je,{onClick:t,icon:a.jsx(Xo,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},zQ=[{label:"RealESRGAN x2 Plus",value:"RealESRGAN_x2plus.pth",tooltip:"Attempts to retain sharpness, low smoothing",group:"x2 Upscalers"},{label:"RealESRGAN x4 Plus",value:"RealESRGAN_x4plus.pth",tooltip:"Best for photos and highly detailed images, medium smoothing",group:"x4 Upscalers"},{label:"RealESRGAN x4 Plus (anime 6B)",value:"RealESRGAN_x4plus_anime_6B.pth",tooltip:"Best for anime/manga, high smoothing",group:"x4 Upscalers"},{label:"ESRGAN SRx4",value:"ESRGAN_SRx4_DF2KOST_official-ff704c30.pth",tooltip:"Retains sharpness, low smoothing",group:"x4 Upscalers"}];function LQ(){const e=$(r=>r.postprocessing.esrganModelName),t=Z(),n=r=>t(K8(r));return a.jsx(Co,{label:"ESRGAN Model",value:e,itemComponent:ai,onChange:n,data:zQ})}const BQ=e=>{const{imageDTO:t}=e,n=Z(),r=$(Sr),{t:o}=ue(),{isOpen:s,onOpen:i,onClose:u}=Ws(),d=f.useCallback(()=>{u(),t&&n(W4({image_name:t.image_name}))},[n,t,u]);return a.jsx(Wi,{isOpen:s,onClose:u,triggerComponent:a.jsx(je,{onClick:i,icon:a.jsx(Jz,{}),"aria-label":o("parameters.upscale")}),children:a.jsxs(L,{sx:{flexDirection:"column",gap:4},children:[a.jsx(LQ,{}),a.jsx(Xt,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},FQ=he([mt,or],({gallery:e,system:t,ui:n},r)=>{const{isProcessing:o,isConnected:s,shouldConfirmOnDelete:i,progressImage:u}=t,{shouldShowImageDetails:d,shouldHidePreview:p,shouldShowProgressInViewer:h}=n,g=e.selection[e.selection.length-1];return{canDeleteImage:s&&!o,shouldConfirmOnDelete:i,isProcessing:o,isConnected:s,shouldDisableToolbarButtons:!!u||!g,shouldShowImageDetails:d,activeTabName:r,shouldHidePreview:p,shouldShowProgressInViewer:h,lastSelectedImage:g}},{memoizeOptions:{resultEqualityCheck:Gt}}),HQ=e=>{const t=Z(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:i,shouldShowProgressInViewer:u}=$(FQ),d=yr("upscaling").isFeatureEnabled,p=tc(),{t:h}=ue(),{recallBothPrompts:g,recallSeed:v,recallAllParameters:b}=U1(),[S,x]=q1(i,500),{currentData:C,isFetching:_}=Uo(i??Xr.skipToken),{currentData:k}=mv(x.isPending()?Xr.skipToken:S??Xr.skipToken),P=k==null?void 0:k.metadata,I=f.useCallback(()=>{b(P)},[P,b]);Ye("a",()=>{},[P,b]);const E=f.useCallback(()=>{v(P==null?void 0:P.seed)},[P==null?void 0:P.seed,v]);Ye("s",E,[C]);const O=f.useCallback(()=>{g(P==null?void 0:P.positive_prompt,P==null?void 0:P.negative_prompt)},[P==null?void 0:P.negative_prompt,P==null?void 0:P.positive_prompt,g]);Ye("p",O,[C]);const R=f.useCallback(()=>{t(yP()),t(pv(C))},[t,C]);Ye("shift+i",R,[C]);const D=f.useCallback(()=>{C&&t(W4({image_name:C.image_name}))},[t,C]),T=f.useCallback(()=>{C&&t(gv(C))},[t,C]);Ye("Shift+U",()=>{D()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,C,o,r,n]);const B=f.useCallback(()=>t(Q8(!s)),[t,s]);Ye("i",()=>{C?B():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[C,s,p]);const W=f.useCallback(()=>{t(H4(!u))},[t,u]);return a.jsx(a.Fragment,{children:a.jsxs(L,{sx:{flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},...e,children:[a.jsx(Yn,{isAttached:!0,isDisabled:o,children:a.jsxs(Mu,{children:[a.jsx(Ru,{as:je,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!C,icon:a.jsx(yL,{})}),a.jsx(ic,{motionProps:Cv,children:C&&a.jsx(bP,{imageDTO:C})})]})}),a.jsxs(Yn,{isAttached:!0,isDisabled:o,children:[a.jsx(je,{icon:a.jsx(w_,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(P!=null&&P.positive_prompt),onClick:O}),a.jsx(je,{icon:a.jsx(S_,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(P!=null&&P.seed),onClick:E}),a.jsx(je,{icon:a.jsx(f_,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!P,onClick:I})]}),d&&a.jsx(Yn,{isAttached:!0,isDisabled:o,children:d&&a.jsx(BQ,{imageDTO:C})}),a.jsx(Yn,{isAttached:!0,isDisabled:o,children:a.jsx(je,{icon:a.jsx(g1,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:B})}),a.jsx(Yn,{isAttached:!0,children:a.jsx(je,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:a.jsx(oL,{}),isChecked:u,onClick:W})}),a.jsx(Yn,{isAttached:!0,children:a.jsx($Q,{onClick:T,isDisabled:o})})]})})},WQ=he([mt,T4],(e,t)=>{var _,k;const{data:n,status:r}=Y8.endpoints.listImages.select(t)(e),o=e.gallery.selection[e.gallery.selection.length-1],s=r==="pending";if(!n||!o||n.total===0)return{isFetching:s,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const i={...t,offset:n.ids.length,limit:$4},u=X8.getSelectors(),d=u.selectAll(n),p=d.findIndex(P=>P.image_name===o),h=Vs(p+1,0,d.length-1),g=Vs(p-1,0,d.length-1),v=(_=d[h])==null?void 0:_.image_name,b=(k=d[g])==null?void 0:k.image_name,S=u.selectById(n,v),x=u.selectById(n,b),C=d.length;return{isOnFirstImage:p===0,isOnLastImage:!isNaN(p)&&p===C-1,areMoreImagesAvailable:((n==null?void 0:n.total)??0)>C,isFetching:r==="pending",nextImage:S,prevImage:x,nextImageId:v,prevImageId:b,queryArgs:i}},{memoizeOptions:{resultEqualityCheck:Gt}}),WP=()=>{const e=Z(),{isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,isFetching:i,queryArgs:u}=$(WQ),d=f.useCallback(()=>{o&&e(Rf(o))},[e,o]),p=f.useCallback(()=>{r&&e(Rf(r))},[e,r]),[h]=N4(),g=f.useCallback(()=>{h(u)},[h,u]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,handleLoadMoreImages:g,isFetching:i}},as=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:i}=ue();return t?a.jsxs(L,{gap:2,children:[n&&a.jsx(Cn,{label:`Recall ${e}`,children:a.jsx(qa,{"aria-label":i("accessibility.useThisParameter"),icon:a.jsx(GK,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&a.jsx(Cn,{label:`Copy ${e}`,children:a.jsx(qa,{"aria-label":`Copy ${e}`,icon:a.jsx(cc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),a.jsxs(L,{direction:o?"column":"row",children:[a.jsxs(qe,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?a.jsxs(Qa,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",a.jsx(__,{mx:"2px"})]}):a.jsx(qe,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},VQ=e=>{const{metadata:t}=e,{recallPositivePrompt:n,recallNegativePrompt:r,recallSeed:o,recallCfgScale:s,recallModel:i,recallScheduler:u,recallSteps:d,recallWidth:p,recallHeight:h,recallStrength:g}=U1(),v=f.useCallback(()=>{n(t==null?void 0:t.positive_prompt)},[t==null?void 0:t.positive_prompt,n]),b=f.useCallback(()=>{r(t==null?void 0:t.negative_prompt)},[t==null?void 0:t.negative_prompt,r]),S=f.useCallback(()=>{o(t==null?void 0:t.seed)},[t==null?void 0:t.seed,o]),x=f.useCallback(()=>{i(t==null?void 0:t.model)},[t==null?void 0:t.model,i]),C=f.useCallback(()=>{p(t==null?void 0:t.width)},[t==null?void 0:t.width,p]),_=f.useCallback(()=>{h(t==null?void 0:t.height)},[t==null?void 0:t.height,h]),k=f.useCallback(()=>{u(t==null?void 0:t.scheduler)},[t==null?void 0:t.scheduler,u]),P=f.useCallback(()=>{d(t==null?void 0:t.steps)},[t==null?void 0:t.steps,d]),I=f.useCallback(()=>{s(t==null?void 0:t.cfg_scale)},[t==null?void 0:t.cfg_scale,s]),E=f.useCallback(()=>{g(t==null?void 0:t.strength)},[t==null?void 0:t.strength,g]);return!t||Object.keys(t).length===0?null:a.jsxs(a.Fragment,{children:[t.generation_mode&&a.jsx(as,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&a.jsx(as,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&a.jsx(as,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&a.jsx(as,{label:"Seed",value:t.seed,onClick:S}),t.model!==void 0&&a.jsx(as,{label:"Model",value:t.model.model_name,onClick:x}),t.width&&a.jsx(as,{label:"Width",value:t.width,onClick:C}),t.height&&a.jsx(as,{label:"Height",value:t.height,onClick:_}),t.scheduler&&a.jsx(as,{label:"Scheduler",value:t.scheduler,onClick:k}),t.steps&&a.jsx(as,{label:"Steps",value:t.steps,onClick:P}),t.cfg_scale!==void 0&&a.jsx(as,{label:"CFG scale",value:t.cfg_scale,onClick:I}),t.strength&&a.jsx(as,{label:"Image to image strength",value:t.strength,onClick:E})]})},UQ=e=>{const{copyTooltip:t,jsonObject:n}=e,r=f.useMemo(()=>JSON.stringify(n,null,2),[n]);return a.jsxs(L,{sx:{borderRadius:"base",bg:"whiteAlpha.500",_dark:{bg:"blackAlpha.500"},flexGrow:1,w:"full",h:"full",position:"relative"},children:[a.jsx($e,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:a.jsx(i_,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:a.jsx("pre",{children:r})})}),a.jsx(L,{sx:{position:"absolute",top:0,insetInlineEnd:0,p:2},children:a.jsx(Cn,{label:t,children:a.jsx(qa,{"aria-label":t,icon:a.jsx(cc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},GQ=({image:e})=>{const[t,n]=q1(e.image_name,500),{currentData:r}=mv(n.isPending()?Xr.skipToken:t??Xr.skipToken),o=r==null?void 0:r.metadata,s=r==null?void 0:r.graph,i=f.useMemo(()=>{const u=[];return o&&u.push({label:"Core Metadata",data:o,copyTooltip:"Copy Core Metadata JSON"}),e&&u.push({label:"Image Details",data:e,copyTooltip:"Copy Image Details JSON"}),s&&u.push({label:"Graph",data:s,copyTooltip:"Copy Graph JSON"}),u},[o,s,e]);return a.jsxs(L,{sx:{padding:4,gap:1,flexDirection:"column",width:"full",height:"full",backdropFilter:"blur(20px)",bg:"baseAlpha.200",_dark:{bg:"blackAlpha.600"},borderRadius:"base",position:"absolute",overflow:"hidden"},children:[a.jsxs(L,{gap:2,children:[a.jsx(qe,{fontWeight:"semibold",children:"File:"}),a.jsxs(Qa,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,a.jsx(__,{mx:"2px"})]})]}),a.jsx(VQ,{metadata:o}),a.jsxs(Nu,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[a.jsx($u,{children:i.map(u=>a.jsx(Bl,{sx:{borderTopRadius:"base"},children:a.jsx(qe,{sx:{color:"base.700",_dark:{color:"base.300"}},children:u.label})},u.label))}),a.jsx(fh,{sx:{w:"full",h:"full"},children:i.map(u=>a.jsx(dh,{sx:{w:"full",h:"full",p:0,pt:4},children:a.jsx(UQ,{jsonObject:u.data,copyTooltip:u.copyTooltip})},u.label))})]})]})},qQ=f.memo(GQ),Lg={color:"base.100",pointerEvents:"auto"},KQ=()=>{const{t:e}=ue(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:i,isFetching:u}=WP();return a.jsxs($e,{sx:{position:"relative",height:"100%",width:"100%"},children:[a.jsx($e,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&a.jsx(qa,{"aria-label":e("accessibility.previousImage"),icon:a.jsx(Wz,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:Lg})}),a.jsxs($e,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&a.jsx(qa,{"aria-label":e("accessibility.nextImage"),icon:a.jsx(Vz,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:Lg}),o&&i&&!u&&a.jsx(qa,{"aria-label":e("accessibility.loadMore"),icon:a.jsx(Hz,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:Lg}),o&&i&&u&&a.jsx(L,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:a.jsx(oc,{opacity:.5,size:"xl"})})]})]})},QQ=f.memo(KQ),YQ=he([mt,J8],({ui:e,system:t},n)=>{const{shouldShowImageDetails:r,shouldHidePreview:o,shouldShowProgressInViewer:s}=e,{progressImage:i,shouldAntialiasProgressImage:u}=t;return{shouldShowImageDetails:r,shouldHidePreview:o,imageName:n,progressImage:i,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:u}},{memoizeOptions:{resultEqualityCheck:Gt}}),XQ=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=$(YQ),{handlePrevImage:s,handleNextImage:i,prevImageId:u,nextImageId:d,isOnLastImage:p,handleLoadMoreImages:h,areMoreImagesAvailable:g,isFetching:v}=WP();Ye("left",()=>{s()},[u]),Ye("right",()=>{if(p&&g&&!v){h();return}p||i()},[d,p,g,h,v]);const{currentData:b,isLoading:S,isError:x,isSuccess:C}=Uo(t??Xr.skipToken),_=f.useMemo(()=>{if(b)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:b}}},[b]),k=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[P,I]=f.useState(!1),E=f.useRef(0),O=f.useCallback(()=>{I(!0),window.clearTimeout(E.current)},[]),R=f.useCallback(()=>{E.current=window.setTimeout(()=>{I(!1)},500)},[]);return a.jsxs(L,{onMouseOver:O,onMouseOut:R,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?a.jsx(rc,{src:n.dataURL,width:n.width,height:n.height,draggable:!1,sx:{objectFit:"contain",maxWidth:"full",maxHeight:"full",height:"auto",position:"absolute",borderRadius:"base",imageRendering:o?"auto":"pixelated"}}):a.jsx(ri,{imageDTO:b,droppableData:k,draggableData:_,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:a.jsx(Ja,{icon:Ti,label:"No image selected"})}),e&&b&&a.jsx($e,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:a.jsx(qQ,{image:b})}),a.jsx(Ko,{children:!e&&b&&P&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},style:{position:"absolute",top:"0",width:"100%",height:"100%",pointerEvents:"none"},children:a.jsx(QQ,{})},"nextPrevButtons")})]})},JQ=f.memo(XQ),ZQ=()=>a.jsxs(L,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[a.jsx(HQ,{}),a.jsx(JQ,{})]}),VP=()=>a.jsx($e,{layerStyle:"first",sx:{position:"relative",width:"100%",height:"100%",p:4,borderRadius:"base"},children:a.jsx(L,{sx:{width:"100%",height:"100%"},children:a.jsx(ZQ,{})})}),eY=e=>{const{label:t,activeLabel:n,children:r,defaultIsOpen:o=!1}=e,{isOpen:s,onToggle:i}=Ws({defaultIsOpen:o}),{colorMode:u}=xs();return a.jsxs($e,{children:[a.jsxs(L,{onClick:i,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?Me("base.200","base.750")(u):Me("base.150","base.800")(u),color:Me("base.900","base.100")(u),_hover:{bg:s?Me("base.250","base.700")(u):Me("base.200","base.750")(u)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,a.jsx(Ko,{children:n&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:a.jsx(qe,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),a.jsx(Bi,{}),a.jsx(w1,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),a.jsx(nh,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:a.jsx($e,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},Ro=f.memo(eY),tY=he(mt,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Ke),nY=()=>{const{combinatorial:e,isDisabled:t}=$(tY),n=Z(),r=f.useCallback(()=>{n(Z8())},[n]);return a.jsx(xr,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},rY=he(mt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Ke),oY=()=>{const e=Z(),{isEnabled:t}=$(rY),n=f.useCallback(()=>{e(e7())},[e]);return a.jsx(xr,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},sY=he(mt,e=>{const{maxPrompts:t,combinatorial:n,isEnabled:r}=e.dynamicPrompts,{min:o,sliderMax:s,inputMax:i}=e.config.sd.dynamicPrompts.maxPrompts;return{maxPrompts:t,min:o,sliderMax:s,inputMax:i,isDisabled:!r||!n}},Ke),aY=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=$(sY),s=Z(),i=f.useCallback(d=>{s(t7(d))},[s]),u=f.useCallback(()=>{s(n7())},[s]);return a.jsx(Ct,{label:"Max Prompts",isDisabled:o,min:t,max:n,value:e,onChange:i,sliderNumberInputProps:{max:r},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:u})},iY=he(mt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Ke),ey=()=>{const{activeLabel:e}=$(iY);return yr("dynamicPrompting").isFeatureEnabled?a.jsx(Ro,{label:"Dynamic Prompts",activeLabel:e,children:a.jsxs(L,{sx:{gap:2,flexDir:"column"},children:[a.jsx(oY,{}),a.jsx(nY,{}),a.jsx(aY,{})]})}):null},lY=e=>{const t=Z(),{lora:n}=e,r=f.useCallback(i=>{t(r7({id:n.id,weight:i}))},[t,n.id]),o=f.useCallback(()=>{t(o7(n.id))},[t,n.id]),s=f.useCallback(()=>{t(s7(n.id))},[t,n.id]);return a.jsxs(L,{sx:{gap:2.5,alignItems:"flex-end"},children:[a.jsx(Ct,{label:n.model_name,value:n.weight,onChange:r,min:-1,max:2,step:.01,withInput:!0,withReset:!0,handleReset:o,withSliderMarks:!0,sliderMarks:[-1,0,1,2]}),a.jsx(je,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:a.jsx(Xo,{}),colorScheme:"error"})]})},cY=f.memo(lY),uY=he(mt,({lora:e})=>{const{loras:t}=e;return{loras:t}},Ke),dY=()=>{const{loras:e}=$(uY);return Ss(e,t=>a.jsx(cY,{lora:t},t.model_name))},Mr={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},fY=he(mt,({lora:e})=>({loras:e.loras}),Ke),pY=()=>{const e=Z(),{loras:t}=$(fY),{data:n}=V4(),r=$(i=>i.generation.model),o=f.useMemo(()=>{if(!n)return[];const i=[];return Qo(n.entities,(u,d)=>{if(!u||d in t)return;const p=(r==null?void 0:r.base_model)!==u.base_model;i.push({value:d,label:u.model_name,disabled:p,group:Mr[u.base_model],tooltip:p?`Incompatible base model: ${u.base_model}`:void 0})}),i.sort((u,d)=>u.disabled&&!d.disabled?1:-1)},[t,n,r==null?void 0:r.base_model]),s=f.useCallback(i=>{if(!i)return;const u=n==null?void 0:n.entities[i];u&&e(a7(u))},[e,n==null?void 0:n.entities]);return(n==null?void 0:n.ids.length)===0?a.jsx(L,{sx:{justifyContent:"center",p:2},children:a.jsx(qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):a.jsx(br,{placeholder:o.length===0?"All LoRAs added":"Add LoRA",value:null,data:o,nothingFound:"No matching LoRAs",itemComponent:ai,disabled:o.length===0,filter:(i,u)=>{var d;return((d=u.label)==null?void 0:d.toLowerCase().includes(i.toLowerCase().trim()))||u.value.toLowerCase().includes(i.toLowerCase().trim())},onChange:s})},hY=he(mt,e=>{const t=i7(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Ke),mY=()=>{const{activeLabel:e}=$(hY);return yr("lora").isFeatureEnabled?a.jsx(Ro,{label:"LoRA",activeLabel:e,children:a.jsxs(L,{sx:{flexDir:"column",gap:2},children:[a.jsx(pY,{}),a.jsx(dY,{})]})}):null},ty=f.memo(mY),gY=he(mt,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Ke);function ny(){const{activeLabel:e}=$(gY);return $(n=>n.ui.shouldShowAdvancedOptions)&&a.jsx(Ro,{label:"Advanced",activeLabel:e,children:a.jsx(L,{sx:{flexDir:"column",gap:2},children:a.jsx(l7,{})})})}const vY=Zp.child({module:"models"}),UP=e=>{const[t,n,r]=e.split("/"),o=c7.safeParse({base_model:t,model_name:r});if(!o.success){vY.error({controlNetModelId:e,errors:o.error.format()},"Failed to parse ControlNet model id");return}return o.data},yY=e=>{const{controlNetId:t}=e,n=Z(),r=$(Sr),o=f.useMemo(()=>he(mt,({generation:v,controlNet:b})=>{var _,k;const{model:S}=v,x=(_=b.controlNets[t])==null?void 0:_.model,C=(k=b.controlNets[t])==null?void 0:k.isEnabled;return{mainModel:S,controlNetModel:x,isEnabled:C}},Ke),[t]),{mainModel:s,controlNetModel:i,isEnabled:u}=$(o),{data:d}=yv(),p=f.useMemo(()=>{if(!d)return[];const v=[];return Qo(d.entities,(b,S)=>{if(!b)return;const x=(b==null?void 0:b.base_model)!==(s==null?void 0:s.base_model);v.push({value:S,label:b.model_name,group:Mr[b.base_model],disabled:x,tooltip:x?`Incompatible base model: ${b.base_model}`:void 0})}),v},[d,s==null?void 0:s.base_model]),h=f.useMemo(()=>(d==null?void 0:d.entities[`${i==null?void 0:i.base_model}/controlnet/${i==null?void 0:i.model_name}`])??null,[i==null?void 0:i.base_model,i==null?void 0:i.model_name,d==null?void 0:d.entities]),g=f.useCallback(v=>{if(!v)return;const b=UP(v);b&&n(U4({controlNetId:t,model:b}))},[t,n]);return a.jsx(br,{itemComponent:ai,data:p,error:!h||(s==null?void 0:s.base_model)!==h.base_model,placeholder:"Select a model",value:(h==null?void 0:h.id)??null,onChange:g,disabled:r||!u,tooltip:h==null?void 0:h.description})},bY=f.memo(yY),xY=e=>{const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:u})=>{const{weight:d,isEnabled:p}=u.controlNets[t];return{weight:d,isEnabled:p}},Ke),[t]),{weight:o,isEnabled:s}=$(r),i=f.useCallback(u=>{n(u7({controlNetId:t,weight:u}))},[t,n]);return a.jsx(Ct,{isDisabled:!s,label:"Weight",value:o,onChange:i,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},wY=f.memo(xY),SY=e=>{const{height:t,controlNetId:n}=e,r=Z(),o=f.useMemo(()=>he(mt,({controlNet:W})=>{const{pendingControlImages:J}=W,{controlImage:F,processedControlImage:N,processorType:G,isEnabled:K}=W.controlNets[n];return{controlImageName:F,processedControlImageName:N,processorType:G,isEnabled:K,pendingControlImages:J}},Ke),[n]),{controlImageName:s,processedControlImageName:i,processorType:u,pendingControlImages:d,isEnabled:p}=$(o),[h,g]=f.useState(!1),{currentData:v,isLoading:b,isError:S,isSuccess:x}=Uo(s??Xr.skipToken),{currentData:C,isLoading:_,isError:k,isSuccess:P}=Uo(i??Xr.skipToken),I=f.useCallback(()=>{r(d7({controlNetId:n,controlImage:null}))},[n,r]),E=f.useCallback(()=>{g(!0)},[]),O=f.useCallback(()=>{g(!1)},[]),R=f.useMemo(()=>{if(v)return{id:n,payloadType:"IMAGE_DTO",payload:{imageDTO:v}}},[v,n]),D=f.useMemo(()=>({id:n,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:n}}),[n]),T=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:n}),[n]),B=v&&C&&!h&&!d.includes(n)&&u!=="none";return a.jsxs(L,{onMouseEnter:E,onMouseLeave:O,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:p?"auto":"none",opacity:p?1:.5},children:[a.jsx(ri,{draggableData:R,droppableData:D,imageDTO:v,isDropDisabled:B||!p,onClickReset:I,postUploadAction:T,resetTooltip:"Reset Control Image",withResetIcon:!!v}),a.jsx($e,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:B?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:a.jsx(ri,{draggableData:R,droppableData:D,imageDTO:C,isUploadDisabled:!0,isDropDisabled:!p,onClickReset:I,resetTooltip:"Reset Control Image",withResetIcon:!!v})}),d.includes(n)&&a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",alignItems:"center",justifyContent:"center",opacity:.8,borderRadius:"base",bg:"base.400",_dark:{bg:"base.900"}},children:a.jsx(oc,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},xC=f.memo(SY),Cs=()=>{const e=Z();return f.useCallback((n,r)=>{e(f7({controlNetId:n,changes:r}))},[e])};function _s(e){return a.jsx(L,{sx:{flexDirection:"column",gap:2},children:e.children})}const wC=Yo.canny_image_processor.default,CY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,i=$(Sr),u=Cs(),d=f.useCallback(v=>{u(t,{low_threshold:v})},[t,u]),p=f.useCallback(()=>{u(t,{low_threshold:wC.low_threshold})},[t,u]),h=f.useCallback(v=>{u(t,{high_threshold:v})},[t,u]),g=f.useCallback(()=>{u(t,{high_threshold:wC.high_threshold})},[t,u]);return a.jsxs(_s,{children:[a.jsx(Ct,{isDisabled:i||!r,label:"Low Threshold",value:o,onChange:d,handleReset:p,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0}),a.jsx(Ct,{isDisabled:i||!r,label:"High Threshold",value:s,onChange:h,handleReset:g,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0})]})},_Y=f.memo(CY),$c=Yo.content_shuffle_image_processor.default,kY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:i,h:u,f:d}=n,p=Cs(),h=$(Sr),g=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:$c.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),S=f.useCallback(()=>{p(t,{image_resolution:$c.image_resolution})},[t,p]),x=f.useCallback(E=>{p(t,{w:E})},[t,p]),C=f.useCallback(()=>{p(t,{w:$c.w})},[t,p]),_=f.useCallback(E=>{p(t,{h:E})},[t,p]),k=f.useCallback(()=>{p(t,{h:$c.h})},[t,p]),P=f.useCallback(E=>{p(t,{f:E})},[t,p]),I=f.useCallback(()=>{p(t,{f:$c.f})},[t,p]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:g,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:b,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(Ct,{label:"W",value:i,onChange:x,handleReset:C,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(Ct,{label:"H",value:u,onChange:_,handleReset:k,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(Ct,{label:"F",value:d,onChange:P,handleReset:I,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},jY=f.memo(kY),SC=Yo.hed_image_processor.default,PY=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,i=$(Sr),u=Cs(),d=f.useCallback(b=>{u(t,{detect_resolution:b})},[t,u]),p=f.useCallback(b=>{u(t,{image_resolution:b})},[t,u]),h=f.useCallback(b=>{u(t,{scribble:b.target.checked})},[t,u]),g=f.useCallback(()=>{u(t,{detect_resolution:SC.detect_resolution})},[t,u]),v=f.useCallback(()=>{u(t,{image_resolution:SC.image_resolution})},[t,u]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:n,onChange:d,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:i||!s}),a.jsx(Ct,{label:"Image Resolution",value:r,onChange:p,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:i||!s}),a.jsx(xr,{label:"Scribble",isChecked:o,onChange:h,isDisabled:i||!s})]})},IY=f.memo(PY),CC=Yo.lineart_anime_image_processor.default,EY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,i=Cs(),u=$(Sr),d=f.useCallback(v=>{i(t,{detect_resolution:v})},[t,i]),p=f.useCallback(v=>{i(t,{image_resolution:v})},[t,i]),h=f.useCallback(()=>{i(t,{detect_resolution:CC.detect_resolution})},[t,i]),g=f.useCallback(()=>{i(t,{image_resolution:CC.image_resolution})},[t,i]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:u||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:p,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:u||!r})]})},OY=f.memo(EY),_C=Yo.lineart_image_processor.default,MY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:i}=n,u=Cs(),d=$(Sr),p=f.useCallback(S=>{u(t,{detect_resolution:S})},[t,u]),h=f.useCallback(S=>{u(t,{image_resolution:S})},[t,u]),g=f.useCallback(()=>{u(t,{detect_resolution:_C.detect_resolution})},[t,u]),v=f.useCallback(()=>{u(t,{image_resolution:_C.image_resolution})},[t,u]),b=f.useCallback(S=>{u(t,{coarse:S.target.checked})},[t,u]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:p,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(xr,{label:"Coarse",isChecked:i,onChange:b,isDisabled:d||!r})]})},RY=f.memo(MY),kC=Yo.mediapipe_face_processor.default,DY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,i=Cs(),u=$(Sr),d=f.useCallback(v=>{i(t,{max_faces:v})},[t,i]),p=f.useCallback(v=>{i(t,{min_confidence:v})},[t,i]),h=f.useCallback(()=>{i(t,{max_faces:kC.max_faces})},[t,i]),g=f.useCallback(()=>{i(t,{min_confidence:kC.min_confidence})},[t,i]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Max Faces",value:o,onChange:d,handleReset:h,withReset:!0,min:1,max:20,withInput:!0,withSliderMarks:!0,isDisabled:u||!r}),a.jsx(Ct,{label:"Min Confidence",value:s,onChange:p,handleReset:g,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:u||!r})]})},AY=f.memo(DY),jC=Yo.midas_depth_image_processor.default,TY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,i=Cs(),u=$(Sr),d=f.useCallback(v=>{i(t,{a_mult:v})},[t,i]),p=f.useCallback(v=>{i(t,{bg_th:v})},[t,i]),h=f.useCallback(()=>{i(t,{a_mult:jC.a_mult})},[t,i]),g=f.useCallback(()=>{i(t,{bg_th:jC.bg_th})},[t,i]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"a_mult",value:o,onChange:d,handleReset:h,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:u||!r}),a.jsx(Ct,{label:"bg_th",value:s,onChange:p,handleReset:g,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:u||!r})]})},NY=f.memo(TY),hf=Yo.mlsd_image_processor.default,$Y=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:i,thr_v:u}=n,d=Cs(),p=$(Sr),h=f.useCallback(k=>{d(t,{detect_resolution:k})},[t,d]),g=f.useCallback(k=>{d(t,{image_resolution:k})},[t,d]),v=f.useCallback(k=>{d(t,{thr_d:k})},[t,d]),b=f.useCallback(k=>{d(t,{thr_v:k})},[t,d]),S=f.useCallback(()=>{d(t,{detect_resolution:hf.detect_resolution})},[t,d]),x=f.useCallback(()=>{d(t,{image_resolution:hf.image_resolution})},[t,d]),C=f.useCallback(()=>{d(t,{thr_d:hf.thr_d})},[t,d]),_=f.useCallback(()=>{d(t,{thr_v:hf.thr_v})},[t,d]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:h,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:g,handleReset:x,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(Ct,{label:"W",value:i,onChange:v,handleReset:C,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(Ct,{label:"H",value:u,onChange:b,handleReset:_,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r})]})},zY=f.memo($Y),PC=Yo.normalbae_image_processor.default,LY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,i=Cs(),u=$(Sr),d=f.useCallback(v=>{i(t,{detect_resolution:v})},[t,i]),p=f.useCallback(v=>{i(t,{image_resolution:v})},[t,i]),h=f.useCallback(()=>{i(t,{detect_resolution:PC.detect_resolution})},[t,i]),g=f.useCallback(()=>{i(t,{image_resolution:PC.image_resolution})},[t,i]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:u||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:p,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:u||!r})]})},BY=f.memo(LY),IC=Yo.openpose_image_processor.default,FY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:i}=n,u=Cs(),d=$(Sr),p=f.useCallback(S=>{u(t,{detect_resolution:S})},[t,u]),h=f.useCallback(S=>{u(t,{image_resolution:S})},[t,u]),g=f.useCallback(()=>{u(t,{detect_resolution:IC.detect_resolution})},[t,u]),v=f.useCallback(()=>{u(t,{image_resolution:IC.image_resolution})},[t,u]),b=f.useCallback(S=>{u(t,{hand_and_face:S.target.checked})},[t,u]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:p,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(xr,{label:"Hand and Face",isChecked:i,onChange:b,isDisabled:d||!r})]})},HY=f.memo(FY),EC=Yo.pidi_image_processor.default,WY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:i,safe:u}=n,d=Cs(),p=$(Sr),h=f.useCallback(C=>{d(t,{detect_resolution:C})},[t,d]),g=f.useCallback(C=>{d(t,{image_resolution:C})},[t,d]),v=f.useCallback(()=>{d(t,{detect_resolution:EC.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:EC.image_resolution})},[t,d]),S=f.useCallback(C=>{d(t,{scribble:C.target.checked})},[t,d]),x=f.useCallback(C=>{d(t,{safe:C.target.checked})},[t,d]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:g,handleReset:b,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(xr,{label:"Scribble",isChecked:i,onChange:S}),a.jsx(xr,{label:"Safe",isChecked:u,onChange:x,isDisabled:p||!r})]})},VY=f.memo(WY),UY=e=>null,GY=f.memo(UY),qY=e=>{const{controlNetId:t}=e,n=f.useMemo(()=>he(mt,({controlNet:s})=>{const{isEnabled:i,processorNode:u}=s.controlNets[t];return{isEnabled:i,processorNode:u}},Ke),[t]),{isEnabled:r,processorNode:o}=$(n);return o.type==="canny_image_processor"?a.jsx(_Y,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="hed_image_processor"?a.jsx(IY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_image_processor"?a.jsx(RY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="content_shuffle_image_processor"?a.jsx(jY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_anime_image_processor"?a.jsx(OY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mediapipe_face_processor"?a.jsx(AY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="midas_depth_image_processor"?a.jsx(NY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mlsd_image_processor"?a.jsx(zY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="normalbae_image_processor"?a.jsx(BY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="openpose_image_processor"?a.jsx(HY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="pidi_image_processor"?a.jsx(VY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="zoe_depth_image_processor"?a.jsx(GY,{controlNetId:t,processorNode:o,isEnabled:r}):null},KY=f.memo(qY),QY=e=>{const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:d})=>{const{isEnabled:p,shouldAutoConfig:h}=d.controlNets[t];return{isEnabled:p,shouldAutoConfig:h}},Ke),[t]),{isEnabled:o,shouldAutoConfig:s}=$(r),i=$(Sr),u=f.useCallback(()=>{n(p7({controlNetId:t}))},[t,n]);return a.jsx(xr,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:s,onChange:u,isDisabled:i||!o})},YY=f.memo(QY),OC=e=>`${Math.round(e*100)}%`,XY=e=>{const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:d})=>{const{beginStepPct:p,endStepPct:h,isEnabled:g}=d.controlNets[t];return{beginStepPct:p,endStepPct:h,isEnabled:g}},Ke),[t]),{beginStepPct:o,endStepPct:s,isEnabled:i}=$(r),u=f.useCallback(d=>{n(px({controlNetId:t,beginStepPct:d[0]})),n(hx({controlNetId:t,endStepPct:d[1]}))},[t,n]);return f.useCallback(()=>{n(px({controlNetId:t,beginStepPct:0})),n(hx({controlNetId:t,endStepPct:1}))},[t,n]),a.jsxs(ws,{isDisabled:!i,children:[a.jsx(gs,{children:"Begin / End Step Percentage"}),a.jsx(Pl,{w:"100%",gap:2,alignItems:"center",children:a.jsxs(a5,{"aria-label":["Begin Step %","End Step %"],value:[o,s],onChange:u,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!i,children:[a.jsx(i5,{children:a.jsx(l5,{})}),a.jsx(Cn,{label:OC(o),placement:"top",hasArrow:!0,children:a.jsx(m0,{index:0})}),a.jsx(Cn,{label:OC(s),placement:"top",hasArrow:!0,children:a.jsx(m0,{index:1})}),a.jsx(xf,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),a.jsx(xf,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),a.jsx(xf,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},JY=f.memo(XY),ZY=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function eX(e){const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:u})=>{const{controlMode:d,isEnabled:p}=u.controlNets[t];return{controlMode:d,isEnabled:p}},Ke),[t]),{controlMode:o,isEnabled:s}=$(r);ue();const i=f.useCallback(u=>{n(h7({controlNetId:t,controlMode:u}))},[t,n]);return a.jsx(Co,{disabled:!s,label:"Control Mode",data:ZY,value:String(o),onChange:i})}const tX=he(qi,e=>Ss(Yo,n=>({value:n.type,label:n.label})).sort((n,r)=>n.value==="none"?-1:r.value==="none"?1:n.label.localeCompare(r.label)).filter(n=>!e.sd.disabledControlNetProcessors.includes(n.value)),Ke),nX=e=>{const t=Z(),{controlNetId:n}=e,r=f.useMemo(()=>he(mt,({controlNet:p})=>{const{isEnabled:h,processorNode:g}=p.controlNets[n];return{isEnabled:h,processorNode:g}},Ke),[n]),o=$(Sr),s=$(tX),{isEnabled:i,processorNode:u}=$(r),d=f.useCallback(p=>{t(m7({controlNetId:n,processorType:p}))},[n,t]);return a.jsx(br,{label:"Processor",value:u.type??"canny_image_processor",data:s,onChange:d,disabled:o||!i})},rX=f.memo(nX),oX=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function sX(e){const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:u})=>{const{resizeMode:d,isEnabled:p}=u.controlNets[t];return{resizeMode:d,isEnabled:p}},Ke),[t]),{resizeMode:o,isEnabled:s}=$(r);ue();const i=f.useCallback(u=>{n(g7({controlNetId:t,resizeMode:u}))},[t,n]);return a.jsx(Co,{disabled:!s,label:"Resize Mode",data:oX,value:String(o),onChange:i})}const aX=e=>{const{controlNetId:t}=e,n=Z(),r=he(mt,({controlNet:g})=>{const{isEnabled:v,shouldAutoConfig:b}=g.controlNets[t];return{isEnabled:v,shouldAutoConfig:b}},Ke),{isEnabled:o,shouldAutoConfig:s}=$(r),[i,u]=DK(!1),d=f.useCallback(()=>{n(v7({controlNetId:t}))},[t,n]),p=f.useCallback(()=>{n(y7({sourceControlNetId:t,newControlNetId:Ka()}))},[t,n]),h=f.useCallback(()=>{n(b7({controlNetId:t}))},[t,n]);return a.jsxs(L,{sx:{flexDir:"column",gap:3,p:3,borderRadius:"base",position:"relative",bg:"base.200",_dark:{bg:"base.850"}},children:[a.jsxs(L,{sx:{gap:2,alignItems:"center"},children:[a.jsx(xr,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:o,onChange:h}),a.jsx($e,{sx:{w:"full",minW:0,opacity:o?1:.5,pointerEvents:o?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:a.jsx(bY,{controlNetId:t})}),a.jsx(je,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:p,icon:a.jsx(cc,{})}),a.jsx(je,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:d,icon:a.jsx(Xo,{})}),a.jsx(je,{size:"sm",tooltip:i?"Hide Advanced":"Show Advanced","aria-label":i?"Hide Advanced":"Show Advanced",onClick:u,variant:"ghost",sx:{_hover:{bg:"none"}},icon:a.jsx(w1,{sx:{boxSize:4,color:"base.700",transform:i?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!s&&a.jsx($e,{sx:{position:"absolute",w:1.5,h:1.5,borderRadius:"full",top:4,insetInlineEnd:4,bg:"accent.700",_dark:{bg:"accent.400"}}})]}),a.jsxs(L,{sx:{w:"full",flexDirection:"column",gap:3},children:[a.jsxs(L,{sx:{gap:4,w:"full",alignItems:"center"},children:[a.jsxs(L,{sx:{flexDir:"column",gap:3,h:28,w:"full",paddingInlineStart:1,paddingInlineEnd:i?1:0,pb:2,justifyContent:"space-between"},children:[a.jsx(wY,{controlNetId:t}),a.jsx(JY,{controlNetId:t})]}),!i&&a.jsx(L,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:a.jsx(xC,{controlNetId:t,height:28})})]}),a.jsxs(L,{sx:{gap:2},children:[a.jsx(eX,{controlNetId:t}),a.jsx(sX,{controlNetId:t})]}),a.jsx(rX,{controlNetId:t})]}),i&&a.jsxs(a.Fragment,{children:[a.jsx(xC,{controlNetId:t,height:"392px"}),a.jsx(YY,{controlNetId:t}),a.jsx(KY,{controlNetId:t})]})]})},iX=f.memo(aX),lX=he(mt,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Ke),cX=()=>{const{isEnabled:e}=$(lX),t=Z(),n=f.useCallback(()=>{t(x7())},[t]);return a.jsx(xr,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},uX=he(w7,e=>{const{controlNets:t,isEnabled:n}=e,r=S7(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:Ss(t),activeLabel:o}},Ke),dX=()=>{ue();const{controlNetsArray:e,activeLabel:t}=$(uX),n=yr("controlNet").isFeatureDisabled,r=Z(),{firstModel:o}=yv(void 0,{selectFromResult:i=>{var d,p;return{firstModel:(p=i.data)==null?void 0:p.entities[(d=i.data)==null?void 0:d.ids[0]]}}}),s=f.useCallback(()=>{if(!o)return;const i=Ka();r(C7({controlNetId:i})),r(U4({controlNetId:i,model:o}))},[r,o]);return n?null:a.jsx(Ro,{label:"ControlNet",activeLabel:t,children:a.jsxs(L,{sx:{flexDir:"column",gap:3},children:[a.jsxs(L,{gap:2,alignItems:"center",children:[a.jsx(L,{sx:{flexDirection:"column",w:"100%",gap:2,px:4,py:2,borderRadius:4,bg:"base.200",_dark:{bg:"base.850"}},children:a.jsx(cX,{})}),a.jsx(je,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:a.jsx(Hi,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((i,u)=>a.jsxs(f.Fragment,{children:[u>0&&a.jsx(Fi,{}),a.jsx(iX,{controlNetId:i.controlNetId})]},i.controlNetId))]})})},ry=f.memo(dX),oy=e=>{e.stopPropagation()},fX=rt((e,t)=>{const n=Z(),r=f.useCallback(s=>{s.shiftKey&&n(Go(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(Go(!1))},[n]);return a.jsx(d5,{ref:t,onPaste:oy,onKeyDown:r,onKeyUp:o,...e})}),GP=f.memo(fX),pX=e=>{const{onClick:t}=e;return a.jsx(je,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:a.jsx(g1,{}),sx:{p:2,color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}}},variant:"link",onClick:t})},qP=f.memo(pX),KP=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=_7(),i=f.useRef(null),u=$(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return Qo(s.entities,(g,v)=>{if(!g)return;const b=(u==null?void 0:u.base_model)!==g.base_model;h.push({value:g.model_name,label:g.model_name,group:Mr[g.base_model],disabled:b,tooltip:b?`Incompatible base model: ${g.base_model}`:void 0})}),h.sort((g,v)=>g.disabled&&!v.disabled?1:-1)},[s,u==null?void 0:u.base_model]),p=f.useCallback(h=>{h&&t(h)},[t]);return a.jsxs(Qv,{initialFocusRef:i,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[a.jsx(Kv,{children:o}),a.jsx(Yv,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:a.jsx(Z6,{sx:{p:0,w:`calc(${J1} - 2rem )`},children:d.length===0?a.jsx(L,{sx:{justifyContent:"center",p:2,fontSize:"sm",color:"base.500",_dark:{color:"base.700"}},children:a.jsx(qe,{children:"No Embeddings Loaded"})}):a.jsx(br,{inputRef:i,autoFocus:!0,placeholder:"Add Embedding",value:null,data:d,nothingFound:"No matching Embeddings",itemComponent:ai,disabled:d.length===0,onDropdownClose:r,filter:(h,g)=>{var v;return((v=g.label)==null?void 0:v.toLowerCase().includes(h.toLowerCase().trim()))||g.value.toLowerCase().includes(h.toLowerCase().trim())},onChange:p})})})]})},sy=()=>{const e=$(g=>g.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=Ws(),s=Z(),{t:i}=ue(),u=f.useCallback(g=>{s(Yc(g.target.value))},[s]),d=f.useCallback(g=>{g.key==="<"&&o()},[o]),p=f.useCallback(g=>{if(!t.current)return;const v=t.current.selectionStart;if(v===void 0)return;let b=e.slice(0,v);b[b.length-1]!=="<"&&(b+="<"),b+=`${g}>`;const S=b.length;b+=e.slice(v),nc.flushSync(()=>{s(Yc(b))}),t.current.selectionEnd=S,r()},[s,r,e]),h=yr("embedding").isFeatureEnabled;return a.jsxs(ws,{children:[a.jsx(KP,{isOpen:n,onClose:r,onSelect:p,children:a.jsx(GP,{id:"negativePrompt",name:"negativePrompt",ref:t,value:e,placeholder:i("parameters.negativePromptPlaceholder"),onChange:u,resize:"vertical",fontSize:"sm",minH:16,...h&&{onKeyDown:d}})}),!n&&h&&a.jsx($e,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:a.jsx(qP,{onClick:o})})]})},hX=e=>{const r=e.split(",").map(o=>o.split(":")).map(o=>({seed:Number(o[0]),weight:Number(o[1])}));return ay(r)?r:!1},ay=e=>typeof e=="string"?!!hX(e):!!(e.length&&!e.some(t=>{const{seed:n,weight:r}=t,o=!isNaN(parseInt(n.toString(),10)),s=!isNaN(parseInt(r.toString(),10))&&r>=0&&r<=1;return!(o&&s)})),mX=he([mt,or],(e,t)=>{const{generation:n,system:r}=e,{shouldGenerateVariations:o,seedWeights:s,initialImage:i,seed:u}=n,{isProcessing:d,isConnected:p}=r;let h=!0;const g=[];t==="img2img"&&!i&&(h=!1,g.push("No initial image selected"));const{isSuccess:v}=k7.endpoints.getMainModels.select()(e);return v||(h=!1,g.push("Models are not loaded")),d&&(h=!1,g.push("System Busy")),p||(h=!1,g.push("System Disconnected")),o&&(!(ay(s)||s==="")||u===-1)&&(h=!1,g.push("Seed-Weights badly formatted.")),Qo(e.controlNet.controlNets,(b,S)=>{b.model||(h=!1,g.push("ControlNet ${id} has no model selected."))}),{isReady:h,reasonsWhyNotReady:g}},Ke),iy=()=>{const{isReady:e}=$(mX);return e},gX=he([mt,or],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Gt}}),ly=()=>{const e=Z(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=$(gX),o=iy(),s=f.useRef(null),{isOpen:i,onClose:u,onOpen:d}=Ws(),{t:p}=ue(),h=f.useCallback(S=>{e(Qc(S.target.value))},[e]);Ye("alt+a",()=>{var S;(S=s.current)==null||S.focus()},[]);const g=f.useCallback(S=>{if(!s.current)return;const x=s.current.selectionStart;if(x===void 0)return;let C=t.slice(0,x);C[C.length-1]!=="<"&&(C+="<"),C+=`${S}>`;const _=C.length;C+=t.slice(x),nc.flushSync(()=>{e(Qc(C))}),s.current.selectionStart=_,s.current.selectionEnd=_,u()},[e,u,t]),v=yr("embedding").isFeatureEnabled,b=f.useCallback(S=>{S.key==="Enter"&&S.shiftKey===!1&&o&&(S.preventDefault(),e(bv()),e(xv(r))),v&&S.key==="<"&&d()},[o,e,r,d,v]);return a.jsxs($e,{position:"relative",children:[a.jsx(ws,{children:a.jsx(KP,{isOpen:i,onClose:u,onSelect:g,children:a.jsx(GP,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!i&&v&&a.jsx($e,{sx:{position:"absolute",top:n?6:0,insetInlineEnd:0},children:a.jsx(qP,{onClick:d})})]})},vX=he(mt,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Ke),yX=()=>{const e=Z(),{isDisabled:t,shouldUseCpuNoise:n}=$(vX);ue();const r=o=>e(j7(o.target.checked));return a.jsx(xr,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},bX=he(mt,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Ke);function xX(){const e=Z(),{threshold:t,isDisabled:n}=$(bX),{t:r}=ue();return a.jsx(Ct,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(mx(o)),handleReset:()=>e(mx(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const wX=()=>{const e=Z(),t=$(r=>r.generation.shouldUseNoiseSettings);ue();const n=r=>e(P7(r.target.checked));return a.jsx(xr,{label:"Enable Noise Settings",isChecked:t,onChange:n})},SX=he(mt,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Ke);function CX(){const e=Z(),{perlin:t,isDisabled:n}=$(SX),{t:r}=ue();return a.jsx(Ct,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(gx(o)),handleReset:()=>e(gx(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const _X=he(mt,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Ke),kX=()=>{const{t:e}=ue(),t=yr("noise").isFeatureEnabled,n=yr("perlinNoise").isFeatureEnabled,r=yr("noiseThreshold").isFeatureEnabled,{activeLabel:o}=$(_X);return t?a.jsx(Ro,{label:e("parameters.noiseSettings"),activeLabel:o,children:a.jsxs(L,{sx:{gap:2,flexDirection:"column"},children:[a.jsx(wX,{}),a.jsx(yX,{}),n&&a.jsx(CX,{}),r&&a.jsx(xX,{})]})}):null},QP=f.memo(kX),Zo=e=>e.generation,jX=he(Zo,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Ke),PX=()=>{const{t:e}=ue(),{seamlessXAxis:t}=$(jX),n=Z(),r=f.useCallback(o=>{n(I7(o.target.checked))},[n]);return a.jsx(xr,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},IX=f.memo(PX),EX=he(Zo,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Ke),OX=()=>{const{t:e}=ue(),{seamlessYAxis:t}=$(EX),n=Z(),r=f.useCallback(o=>{n(E7(o.target.checked))},[n]);return a.jsx(xr,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},MX=f.memo(OX),RX=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},DX=he(Zo,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:RX(t,n)}},Ke),AX=()=>{const{t:e}=ue(),{activeLabel:t}=$(DX);return yr("seamless").isFeatureEnabled?a.jsx(Ro,{label:e("parameters.seamlessTiling"),activeLabel:t,children:a.jsxs(L,{sx:{gap:5},children:[a.jsx($e,{flexGrow:1,children:a.jsx(IX,{})}),a.jsx($e,{flexGrow:1,children:a.jsx(MX,{})})]})}):null},YP=f.memo(AX);function TX(){const e=$(o=>o.generation.horizontalSymmetrySteps),t=$(o=>o.generation.steps),n=Z(),{t:r}=ue();return a.jsx(Ct,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(vx(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(vx(0))})}function NX(){const e=$(o=>o.generation.verticalSymmetrySteps),t=$(o=>o.generation.steps),n=Z(),{t:r}=ue();return a.jsx(Ct,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(yx(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(yx(0))})}function $X(){const e=$(n=>n.generation.shouldUseSymmetry),t=Z();return a.jsx(xr,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(O7(n.target.checked))})}const zX=he(mt,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Ke),LX=()=>{const{t:e}=ue(),{activeLabel:t}=$(zX);return yr("symmetry").isFeatureEnabled?a.jsx(Ro,{label:e("parameters.symmetry"),activeLabel:t,children:a.jsxs(L,{sx:{gap:2,flexDirection:"column"},children:[a.jsx($X,{}),a.jsx(TX,{}),a.jsx(NX,{})]})}):null},cy=f.memo(LX);function BX(){const e=$(o=>o.generation.variationAmount),t=$(o=>o.generation.shouldGenerateVariations),{t:n}=ue(),r=Z();return a.jsx(Ct,{label:n("parameters.variationAmount"),value:e,step:.01,min:0,max:1,isDisabled:!t,onChange:o=>r(bx(o)),handleReset:()=>r(bx(.1)),withInput:!0,withReset:!0,withSliderMarks:!0})}const FX=()=>{const e=Z(),t=$(r=>r.generation.shouldGenerateVariations);ue();const n=r=>e(M7(r.target.checked));return a.jsx(xr,{label:"Enable Variations",isChecked:t,onChange:n})},HX={display:"flex",flexDirection:"row",alignItems:"center",gap:10},WX=e=>{const{label:t="",labelPos:n="top",isDisabled:r=!1,isInvalid:o,formControlProps:s,...i}=e,u=Z(),d=f.useCallback(h=>{h.shiftKey&&u(Go(!0))},[u]),p=f.useCallback(h=>{h.shiftKey||u(Go(!1))},[u]);return a.jsxs(ws,{isInvalid:o,isDisabled:r,...s,style:n==="side"?HX:void 0,children:[t!==""&&a.jsx(gs,{children:t}),a.jsx(Iu,{...i,onPaste:oy,onKeyDown:d,onKeyUp:p})]})},zi=f.memo(WX);function VX(){const e=$(s=>s.generation.seedWeights),t=$(s=>s.generation.shouldGenerateVariations),{t:n}=ue(),r=Z(),o=s=>r(R7(s.target.value));return a.jsx(zi,{label:n("parameters.seedWeights"),value:e,isInvalid:t&&!(ay(e)||e===""),isDisabled:!t,onChange:o})}const UX=he(mt,e=>({activeLabel:e.generation.shouldGenerateVariations?"Enabled":void 0}),Ke),GX=()=>{const{t:e}=ue(),{activeLabel:t}=$(UX);return yr("variation").isFeatureEnabled?a.jsx(Ro,{label:e("parameters.variations"),activeLabel:t,children:a.jsxs(L,{sx:{gap:2,flexDirection:"column"},children:[a.jsx(FX,{}),a.jsx(BX,{}),a.jsx(VX,{})]})}):null},uy=f.memo(GX),qX=he(xo,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,sessionId:e.sessionId,cancelType:e.cancelType,isCancelScheduled:e.isCancelScheduled}),{memoizeOptions:{resultEqualityCheck:Gt}}),KX=e=>{const t=Z(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:i,cancelType:u,isCancelScheduled:d,sessionId:p}=$(qX),h=f.useCallback(()=>{if(p){if(u==="scheduled"){t(D7());return}t(A7({session_id:p}))}},[t,p,u]),{t:g}=ue(),v=f.useCallback(x=>{const C=Array.isArray(x)?x[0]:x;t(T7(C))},[t]);Ye("shift+x",()=>{(s||o)&&i&&h()},[s,o,i]);const b=f.useMemo(()=>g(d?"parameters.cancel.isScheduled":u==="immediate"?"parameters.cancel.immediate":"parameters.cancel.schedule"),[g,u,d]),S=f.useMemo(()=>d?a.jsx(N7,{}):u==="immediate"?a.jsx(HK,{}):a.jsx($K,{}),[u,d]);return a.jsxs(Yn,{isAttached:!0,width:n,children:[a.jsx(je,{icon:S,tooltip:b,"aria-label":b,isDisabled:!s||!o||!i,onClick:h,colorScheme:"error",id:"cancel-button",...r}),a.jsxs(Mu,{closeOnSelect:!1,children:[a.jsx(Ru,{as:je,tooltip:g("parameters.cancel.setType"),"aria-label":g("parameters.cancel.setType"),icon:a.jsx(PL,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),a.jsx(ic,{minWidth:"240px",children:a.jsxs(Uv,{value:u,title:"Cancel Type",type:"radio",onChange:v,children:[a.jsx(iu,{value:"immediate",children:g("parameters.cancel.immediate")}),a.jsx(iu,{value:"scheduled",children:g("parameters.cancel.schedule")})]})})]})]})},Th=f.memo(KX),QX=he(xo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Gt}}),YX=()=>{const{t:e}=ue(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=$(QX),s=n?Math.round(n*100/r):0;return a.jsx(t5,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},XP=f.memo(YX),MC={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},XX=he([mt,or,Sr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Ke);function dy(e){const{iconButton:t=!1,...n}=e,r=Z(),o=iy(),{isBusy:s,autoAddBoardId:i,activeTabName:u}=$(XX),d=bh(i),p=f.useCallback(()=>{r(bv()),r(xv(u))},[r,u]),{t:h}=ue();return Ye(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,u]),a.jsx($e,{style:{flexGrow:4},position:"relative",children:a.jsxs($e,{style:{position:"relative"},children:[!o&&a.jsx($e,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:a.jsx(XP,{})}),a.jsx(Cn,{placement:"top",hasArrow:!0,openDelay:500,label:i?`Auto-Adding to ${d}`:void 0,children:t?a.jsx(je,{"aria-label":h("parameters.invoke"),type:"submit",icon:a.jsx(x_,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?MC:{}}}):a.jsx(Xt,{"aria-label":h("parameters.invoke"),type:"submit",isDisabled:!o||s,onClick:p,colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,fontWeight:700,...s?MC:{}},children:"Invoke"})})]})})}const fy=()=>a.jsxs(L,{gap:2,children:[a.jsx(dy,{}),a.jsx(Th,{})]}),Hp=/^-?(0\.)?\.?$/,JX=e=>{const{label:t,isDisabled:n=!1,showStepper:r=!0,isInvalid:o,value:s,onChange:i,min:u,max:d,isInteger:p=!0,formControlProps:h,formLabelProps:g,numberInputFieldProps:v,numberInputStepperProps:b,tooltipProps:S,...x}=e,C=Z(),[_,k]=f.useState(String(s));f.useEffect(()=>{!_.match(Hp)&&s!==Number(_)&&k(String(s))},[s,_]);const P=R=>{k(R),R.match(Hp)||i(p?Math.floor(Number(R)):Number(R))},I=R=>{const D=Vs(p?Math.floor(Number(R.target.value)):Number(R.target.value),u,d);k(String(D)),i(D)},E=f.useCallback(R=>{R.shiftKey&&C(Go(!0))},[C]),O=f.useCallback(R=>{R.shiftKey||C(Go(!1))},[C]);return a.jsx(Cn,{...S,children:a.jsxs(ws,{isDisabled:n,isInvalid:o,...h,children:[t&&a.jsx(gs,{...g,children:t}),a.jsxs(G4,{value:_,min:u,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:P,onBlur:I,...x,onPaste:oy,children:[a.jsx(q4,{...v,onKeyDown:E,onKeyUp:O}),r&&a.jsxs(K4,{children:[a.jsx(Q4,{...b}),a.jsx(Y4,{...b})]})]})]})})},Nh=f.memo(JX),ZX=he([Zo,qi,Zr,Cu],(e,t,n,r)=>{const{initial:o,min:s,sliderMax:i,inputMax:u}=t.sd.guidance,{cfgScale:d}=e,{shouldUseSliders:p}=n,{shift:h}=r;return{cfgScale:d,initial:o,min:s,sliderMax:i,inputMax:u,shouldUseSliders:p,shift:h}},Ke),eJ=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:i}=$(ZX),u=Z(),{t:d}=ue(),p=f.useCallback(g=>u(Ef(g)),[u]),h=f.useCallback(()=>u(Ef(t)),[u,t]);return s?a.jsx(Ct,{label:d("parameters.cfgScale"),step:i?.1:.5,min:n,max:r,onChange:p,handleReset:h,value:e,sliderNumberInputProps:{max:o},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1}):a.jsx(Nh,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},ql=f.memo(eJ),tJ=he([mt],e=>{const{initial:t,min:n,sliderMax:r,inputMax:o,fineStep:s,coarseStep:i}=e.config.sd.iterations,{iterations:u}=e.generation,{shouldUseSliders:d}=e.ui,p=e.dynamicPrompts.isEnabled&&e.dynamicPrompts.combinatorial,h=e.hotkeys.shift?s:i;return{iterations:u,initial:t,min:n,sliderMax:r,inputMax:o,step:h,shouldUseSliders:d,isDisabled:p}},Ke),nJ=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:i,isDisabled:u}=$(tJ),d=Z(),{t:p}=ue(),h=f.useCallback(v=>{d(xx(v))},[d]),g=f.useCallback(()=>{d(xx(t))},[d,t]);return i?a.jsx(Ct,{isDisabled:u,label:p("parameters.images"),step:s,min:n,max:r,onChange:h,handleReset:g,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):a.jsx(Nh,{isDisabled:u,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},Kl=f.memo(nJ),rJ=Zp.child({module:"models"}),JP=e=>{const[t,n,r]=e.split("/"),o=$7.safeParse({base_model:t,model_name:r});if(!o.success){rJ.error({mainModelId:e,errors:o.error.format()},"Failed to parse main model id");return}return o.data};function py(e){const{iconMode:t=!1}=e,n=Z(),{t:r}=ue(),[o,{isLoading:s}]=z7(),i=()=>{o().unwrap().then(u=>{n(Bn(Vn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(u=>{u&&n(Bn(Vn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?a.jsx(je,{icon:a.jsx(C_,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:i,size:"sm"}):a.jsx(Xt,{isLoading:s,onClick:i,minW:"max-content",children:"Sync Models"})}const oJ=he(mt,e=>({model:e.generation.model}),Ke),sJ=()=>{const e=Z(),{t}=ue(),{model:n}=$(oJ),{data:r,isLoading:o}=Ei(),s=f.useMemo(()=>{if(!r)return[];const d=[];return Qo(r.entities,(p,h)=>{!p||["sdxl","sdxl-refiner"].includes(p.base_model)||d.push({value:h,label:p.model_name,group:Mr[p.base_model]})}),d},[r]),i=f.useMemo(()=>(r==null?void 0:r.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[r==null?void 0:r.entities,n]),u=f.useCallback(d=>{if(!d)return;const p=JP(d);p&&e(Qg(p))},[e]);return o?a.jsx(br,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):a.jsxs(L,{w:"100%",alignItems:"center",gap:2,children:[a.jsx(br,{tooltip:i==null?void 0:i.description,label:t("modelManager.model"),value:i==null?void 0:i.id,placeholder:s.length>0?"Select a model":"No models available",data:s,error:s.length===0,disabled:s.length===0,onChange:u,w:"100%"}),a.jsx($e,{mt:7,children:a.jsx(py,{iconMode:!0})})]})},aJ=f.memo(sJ),iJ=Zp.child({module:"models"}),ZP=e=>{const[t,n,r]=e.split("/"),o=L7.safeParse({base_model:t,model_name:r});if(!o.success){iJ.error({vaeModelId:e,errors:o.error.format()},"Failed to parse VAE model id");return}return o.data},lJ=he(mt,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Ke),cJ=()=>{const e=Z(),{t}=ue(),{model:n,vae:r}=$(lJ),{data:o}=X4(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return Qo(o.entities,(p,h)=>{if(!p)return;const g=(n==null?void 0:n.base_model)!==p.base_model;d.push({value:h,label:p.model_name,group:Mr[p.base_model],disabled:g,tooltip:g?`Incompatible base model: ${p.base_model}`:void 0})}),d.sort((p,h)=>p.disabled&&!h.disabled?1:-1)},[o,n==null?void 0:n.base_model]),i=f.useMemo(()=>(o==null?void 0:o.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[o==null?void 0:o.entities,r]),u=f.useCallback(d=>{if(!d||d==="default"){e(wx(null));return}const p=ZP(d);p&&e(wx(p))},[e]);return a.jsx(br,{itemComponent:ai,tooltip:i==null?void 0:i.description,label:t("modelManager.vae"),value:(i==null?void 0:i.id)??"default",placeholder:"Default",data:s,onChange:u,disabled:s.length===0,clearable:!0})},uJ=f.memo(cJ),dJ=he([Zr,Zo],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=B4.map(s=>({value:s,label:F4[s],group:r.includes(s)?"Favorites":void 0})).sort((s,i)=>s.label.localeCompare(i.label));return{scheduler:n,data:o}},Ke),fJ=()=>{const e=Z(),{t}=ue(),{scheduler:n,data:r}=$(dJ),o=f.useCallback(s=>{s&&e(Yg(s))},[e]);return a.jsx(br,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},pJ=f.memo(fJ),hJ=()=>{const e=yr("vae").isFeatureEnabled;return a.jsxs(L,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[a.jsx($e,{w:"full",children:a.jsx(aJ,{})}),a.jsxs(L,{gap:3,w:"full",children:[e&&a.jsx($e,{w:"full",children:a.jsx(uJ,{})}),a.jsx($e,{w:"full",children:a.jsx(pJ,{})})]})]})},Ql=f.memo(hJ),mJ=[{name:"Free",value:null},{name:"Portrait",value:.67/1},{name:"Wide",value:16/9},{name:"Square",value:1/1}];function eI(){const e=$(o=>o.ui.aspectRatio),t=Z(),n=$(o=>o.generation.shouldFitToWidthHeight),r=$(or);return a.jsx(L,{gap:2,flexGrow:1,children:a.jsx(Yn,{isAttached:!0,children:mJ.map(o=>a.jsx(Xt,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(B7(o.value)),children:o.name},o.name))})})}const gJ=he([Zo,Cu,qi,Zr],(e,t,n,r)=>{const{initial:o,min:s,sliderMax:i,inputMax:u,fineStep:d,coarseStep:p}=n.sd.height,{height:h}=e,{aspectRatio:g}=r,v=t.shift?d:p;return{height:h,initial:o,min:s,sliderMax:i,inputMax:u,step:v,aspectRatio:g}},Ke),vJ=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:i,aspectRatio:u}=$(gJ),d=Z(),{t:p}=ue(),h=f.useCallback(v=>{if(d(Ll(v)),u){const b=cs(v*u,8);d(zl(b))}},[d,u]),g=f.useCallback(()=>{if(d(Ll(n)),u){const v=cs(n*u,8);d(zl(v))}},[d,n,u]);return a.jsx(Ct,{label:p("parameters.height"),value:t,min:r,step:i,max:o,onChange:h,handleReset:g,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},yJ=f.memo(vJ),bJ=he([Zo,Cu,qi,Zr],(e,t,n,r)=>{const{initial:o,min:s,sliderMax:i,inputMax:u,fineStep:d,coarseStep:p}=n.sd.width,{width:h}=e,{aspectRatio:g}=r,v=t.shift?d:p;return{width:h,initial:o,min:s,sliderMax:i,inputMax:u,step:v,aspectRatio:g}},Ke),xJ=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:i,aspectRatio:u}=$(bJ),d=Z(),{t:p}=ue(),h=f.useCallback(v=>{if(d(zl(v)),u){const b=cs(v/u,8);d(Ll(b))}},[d,u]),g=f.useCallback(()=>{if(d(zl(n)),u){const v=cs(n/u,8);d(Ll(v))}},[d,n,u]);return a.jsx(Ct,{label:p("parameters.width"),value:t,min:r,step:i,max:o,onChange:h,handleReset:g,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},wJ=f.memo(xJ);function Wp(){const{t:e}=ue(),t=Z(),n=$(o=>o.generation.shouldFitToWidthHeight),r=$(or);return a.jsxs(L,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[a.jsxs(L,{alignItems:"center",gap:2,children:[a.jsx(qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),a.jsx(Bi,{}),a.jsx(eI,{}),a.jsx(je,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:a.jsx(jP,{}),fontSize:20,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(F7())})]}),a.jsx(L,{gap:2,alignItems:"center",children:a.jsxs(L,{gap:2,flexDirection:"column",width:"full",children:[a.jsx(wJ,{isDisabled:r==="img2img"?!n:!1}),a.jsx(yJ,{isDisabled:r==="img2img"?!n:!1})]})})]})}const SJ=he([Zo,qi,Zr,Cu],(e,t,n,r)=>{const{initial:o,min:s,sliderMax:i,inputMax:u,fineStep:d,coarseStep:p}=t.sd.steps,{steps:h}=e,{shouldUseSliders:g}=n,v=r.shift?d:p;return{steps:h,initial:o,min:s,sliderMax:i,inputMax:u,step:v,shouldUseSliders:g}},Ke),CJ=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:i}=$(SJ),u=Z(),{t:d}=ue(),p=f.useCallback(v=>{u(Of(v))},[u]),h=f.useCallback(()=>{u(Of(t))},[u,t]),g=f.useCallback(()=>{u(bv())},[u]);return i?a.jsx(Ct,{label:d("parameters.steps"),min:n,max:r,step:s,onChange:p,handleReset:h,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):a.jsx(Nh,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:g})},Yl=f.memo(CJ);function _J(){const e=Z(),t=$(o=>o.generation.shouldFitToWidthHeight),n=o=>e(H7(o.target.checked)),{t:r}=ue();return a.jsx(xr,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}const kJ=he([Zo,Cu,qi],(e,t,n)=>{const{initial:r,min:o,sliderMax:s,inputMax:i,fineStep:u,coarseStep:d}=n.sd.img2imgStrength,{img2imgStrength:p}=e,h=t.shift?u:d;return{img2imgStrength:p,initial:r,min:o,sliderMax:s,inputMax:i,step:h}},Ke),jJ=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=$(kJ),i=Z(),{t:u}=ue(),d=f.useCallback(h=>i(Mf(h)),[i]),p=f.useCallback(()=>{i(Mf(t))},[i,t]);return a.jsx(Ct,{label:`${u("parameters.denoisingStrength")}`,step:s,min:n,max:r,onChange:d,handleReset:p,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0,sliderNumberInputProps:{max:o}})},tI=f.memo(jJ);function PJ(){const e=$(i=>i.generation.seed),t=$(i=>i.generation.shouldRandomizeSeed),n=$(i=>i.generation.shouldGenerateVariations),{t:r}=ue(),o=Z(),s=i=>o(If(i));return a.jsx(Nh,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:J4,max:Z4,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e,formControlProps:{display:"flex",alignItems:"center",gap:3}})}const IJ=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function EJ(){const e=Z(),t=$(o=>o.generation.shouldRandomizeSeed),{t:n}=ue(),r=()=>e(If(IJ(J4,Z4)));return a.jsx(je,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:a.jsx(hL,{})})}const OJ=()=>{const e=Z(),{t}=ue(),n=$(o=>o.generation.shouldRandomizeSeed),r=o=>e(W7(o.target.checked));return a.jsx(xr,{label:t("common.random"),isChecked:n,onChange:r})},MJ=f.memo(OJ),RJ=()=>a.jsxs(L,{sx:{gap:4,alignItems:"center"},children:[a.jsx(PJ,{}),a.jsx(EJ,{}),a.jsx(MJ,{})]}),Xl=f.memo(RJ),DJ=he([Zr,Zo],(e,t)=>{const{shouldUseSliders:n}=e,{shouldFitToWidthHeight:r,shouldRandomizeSeed:o}=t;return{shouldUseSliders:n,shouldFitToWidthHeight:r,activeLabel:o?void 0:"Manual Seed"}},Ke),AJ=()=>{const{shouldUseSliders:e,shouldFitToWidthHeight:t,activeLabel:n}=$(DJ);return a.jsx(Ro,{label:"General",activeLabel:n,defaultIsOpen:!0,children:a.jsxs(L,{sx:{flexDirection:"column",gap:3},children:[e?a.jsxs(a.Fragment,{children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(Wp,{})]}):a.jsxs(a.Fragment,{children:[a.jsxs(L,{gap:3,children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{})]}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(Wp,{})]}),a.jsx(tI,{}),a.jsx(_J,{})]})})},TJ=f.memo(AJ),NJ=()=>a.jsxs(a.Fragment,{children:[a.jsx(ly,{}),a.jsx(sy,{}),a.jsx(fy,{}),a.jsx(TJ,{}),a.jsx(ry,{}),a.jsx(ty,{}),a.jsx(ey,{}),a.jsx(uy,{}),a.jsx(QP,{}),a.jsx(cy,{}),a.jsx(YP,{}),a.jsx(ny,{})]}),nI=f.memo(NJ),$J=()=>{const e=Z(),t=f.useRef(null),n=f.useCallback(()=>{t.current&&t.current.setLayout([50,50])},[]);return a.jsxs(L,{sx:{gap:4,w:"full",h:"full"},children:[a.jsx(Z1,{children:a.jsx(nI,{})}),a.jsx($e,{sx:{w:"full",h:"full"},children:a.jsxs(X1,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[a.jsx(gu,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:a.jsx(RQ,{})}),a.jsx(HP,{onDoubleClick:n}),a.jsx(gu,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(yo())},children:a.jsx(VP,{})})]})})]})},zJ=f.memo($J);var LJ=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var i=s[o];if(!e(t[i],n[i]))return!1}return!0}return t!==t&&n!==n};const RC=wu(LJ);function K0(e){return e===null||typeof e!="object"?{}:Object.keys(e).reduce((t,n)=>{const r=e[n];return r!=null&&r!==!1&&(t[n]=r),t},{})}var BJ=Object.defineProperty,DC=Object.getOwnPropertySymbols,FJ=Object.prototype.hasOwnProperty,HJ=Object.prototype.propertyIsEnumerable,AC=(e,t,n)=>t in e?BJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,WJ=(e,t)=>{for(var n in t||(t={}))FJ.call(t,n)&&AC(e,n,t[n]);if(DC)for(var n of DC(t))HJ.call(t,n)&&AC(e,n,t[n]);return e};function rI(e,t){if(t===null||typeof t!="object")return{};const n=WJ({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const VJ="__MANTINE_FORM_INDEX__";function TC(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${VJ}`)):!1:!1}function NC(e,t,n){typeof n.value=="object"&&(n.value=_l(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function _l(e){if(typeof e!="object")return e;var t=0,n,r,o,s=Object.prototype.toString.call(e);if(s==="[object Object]"?o=Object.create(e.__proto__||null):s==="[object Array]"?o=Array(e.length):s==="[object Set]"?(o=new Set,e.forEach(function(i){o.add(_l(i))})):s==="[object Map]"?(o=new Map,e.forEach(function(i,u){o.set(_l(u),_l(i))})):s==="[object Date]"?o=new Date(+e):s==="[object RegExp]"?o=new RegExp(e.source,e.flags):s==="[object DataView]"?o=new e.constructor(_l(e.buffer)):s==="[object ArrayBuffer]"?o=e.slice(0):s.slice(-6)==="Array]"&&(o=new e.constructor(e)),o){for(r=Object.getOwnPropertySymbols(e);t0,errors:t}}function Q0(e,t,n="",r={}){return typeof e!="object"||e===null?r:Object.keys(e).reduce((o,s)=>{const i=e[s],u=`${n===""?"":`${n}.`}${s}`,d=ia(u,t);let p=!1;return typeof i=="function"&&(o[u]=i(d,t,u)),typeof i=="object"&&Array.isArray(d)&&(p=!0,d.forEach((h,g)=>Q0(i,t,`${u}.${g}`,o))),typeof i=="object"&&typeof d=="object"&&d!==null&&(p||Q0(i,t,u,o)),o},r)}function Y0(e,t){return $C(typeof e=="function"?e(t):Q0(e,t))}function mf(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=Y0(t,n),o=Object.keys(r.errors).find(s=>e.split(".").every((i,u)=>i===s.split(".")[u]));return{hasError:!!o,error:o?r.errors[o]:null}}function UJ(e,{from:t,to:n},r){const o=ia(e,r);if(!Array.isArray(o))return r;const s=[...o],i=o[t];return s.splice(t,1),s.splice(n,0,i),$h(e,s,r)}var GJ=Object.defineProperty,zC=Object.getOwnPropertySymbols,qJ=Object.prototype.hasOwnProperty,KJ=Object.prototype.propertyIsEnumerable,LC=(e,t,n)=>t in e?GJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QJ=(e,t)=>{for(var n in t||(t={}))qJ.call(t,n)&&LC(e,n,t[n]);if(zC)for(var n of zC(t))KJ.call(t,n)&&LC(e,n,t[n]);return e};function YJ(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,i=QJ({},r);return Object.keys(r).every(u=>{let d,p;if(u.startsWith(o)&&(d=u,p=u.replace(o,s)),u.startsWith(s)&&(d=u.replace(s,o),p=u),d&&p){const h=i[d],g=i[p];return g===void 0?delete i[d]:i[d]=g,h===void 0?delete i[p]:i[p]=h,!1}return!0}),i}function XJ(e,t,n){const r=ia(e,n);return Array.isArray(r)?$h(e,r.filter((o,s)=>s!==t),n):n}var JJ=Object.defineProperty,BC=Object.getOwnPropertySymbols,ZJ=Object.prototype.hasOwnProperty,eZ=Object.prototype.propertyIsEnumerable,FC=(e,t,n)=>t in e?JJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tZ=(e,t)=>{for(var n in t||(t={}))ZJ.call(t,n)&&FC(e,n,t[n]);if(BC)for(var n of BC(t))eZ.call(t,n)&&FC(e,n,t[n]);return e};function HC(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function WC(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=rI(`${o}.${t}`,s));const i=tZ({},s),u=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=HC(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=HC(d,o),g=d.replace(`${o}.${h}`,`${o}.${h+r}`);i[g]=p,u.add(g),u.has(d)||delete i[d]}),i}function nZ(e,t,n,r){const o=ia(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),$h(e,s,r)}function VC(e,t){const n=Object.keys(e);if(typeof t=="string"){const r=n.filter(o=>o.startsWith(`${t}.`));return e[t]||r.some(o=>e[o])||!1}return n.some(r=>e[r])}function rZ(e){return t=>{if(!t)e(t);else if(typeof t=="function")e(t);else if(typeof t=="object"&&"nativeEvent"in t){const{currentTarget:n}=t;n instanceof HTMLInputElement?n.type==="checkbox"?e(n.checked):e(n.value):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&e(n.value)}else e(t)}}var oZ=Object.defineProperty,sZ=Object.defineProperties,aZ=Object.getOwnPropertyDescriptors,UC=Object.getOwnPropertySymbols,iZ=Object.prototype.hasOwnProperty,lZ=Object.prototype.propertyIsEnumerable,GC=(e,t,n)=>t in e?oZ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,za=(e,t)=>{for(var n in t||(t={}))iZ.call(t,n)&&GC(e,n,t[n]);if(UC)for(var n of UC(t))lZ.call(t,n)&&GC(e,n,t[n]);return e},Bg=(e,t)=>sZ(e,aZ(t));function pc({initialValues:e={},initialErrors:t={},initialDirty:n={},initialTouched:r={},clearInputErrorOnChange:o=!0,validateInputOnChange:s=!1,validateInputOnBlur:i=!1,transformValues:u=p=>p,validate:d}={}){const[p,h]=f.useState(r),[g,v]=f.useState(n),[b,S]=f.useState(e),[x,C]=f.useState(K0(t)),_=f.useRef(e),k=te=>{_.current=te},P=f.useCallback(()=>h({}),[]),I=te=>{const H=te?za(za({},b),te):b;k(H),v({})},E=f.useCallback(te=>C(H=>K0(typeof te=="function"?te(H):te)),[]),O=f.useCallback(()=>C({}),[]),R=f.useCallback(()=>{S(e),O(),k(e),v({}),P()},[]),D=f.useCallback((te,H)=>E(re=>Bg(za({},re),{[te]:H})),[]),T=f.useCallback(te=>E(H=>{if(typeof te!="string")return H;const re=za({},H);return delete re[te],re}),[]),B=f.useCallback(te=>v(H=>{if(typeof te!="string")return H;const re=rI(te,H);return delete re[te],re}),[]),W=f.useCallback((te,H)=>{const re=TC(te,s);B(te),h(pe=>Bg(za({},pe),{[te]:!0})),S(pe=>{const ne=$h(te,H,pe);if(re){const ve=mf(te,d,ne);ve.hasError?D(te,ve.error):T(te)}return ne}),!re&&o&&D(te,null)},[]),J=f.useCallback(te=>{S(H=>{const re=typeof te=="function"?te(H):te;return za(za({},H),re)}),o&&O()},[]),F=f.useCallback((te,H)=>{B(te),S(re=>UJ(te,H,re)),C(re=>YJ(te,H,re))},[]),N=f.useCallback((te,H)=>{B(te),S(re=>XJ(te,H,re)),C(re=>WC(te,H,re,-1))},[]),G=f.useCallback((te,H,re)=>{B(te),S(pe=>nZ(te,H,re,pe)),C(pe=>WC(te,re,pe,1))},[]),K=f.useCallback(()=>{const te=Y0(d,b);return C(te.errors),te},[b,d]),M=f.useCallback(te=>{const H=mf(te,d,b);return H.hasError?D(te,H.error):T(te),H},[b,d]),U=(te,{type:H="input",withError:re=!0,withFocus:pe=!0}={})=>{const ve={onChange:rZ(de=>W(te,de))};return re&&(ve.error=x[te]),H==="checkbox"?ve.checked=ia(te,b):ve.value=ia(te,b),pe&&(ve.onFocus=()=>h(de=>Bg(za({},de),{[te]:!0})),ve.onBlur=()=>{if(TC(te,i)){const de=mf(te,d,b);de.hasError?D(te,de.error):T(te)}}),ve},V=(te,H)=>re=>{re==null||re.preventDefault();const pe=K();pe.hasErrors?H==null||H(pe.errors,b,re):te==null||te(u(b),re)},ee=te=>u(te||b),ie=f.useCallback(te=>{te.preventDefault(),R()},[]),xe=te=>{if(te){const re=ia(te,g);if(typeof re=="boolean")return re;const pe=ia(te,b),ne=ia(te,_.current);return!RC(pe,ne)}return Object.keys(g).length>0?VC(g):!RC(b,_.current)},me=f.useCallback(te=>VC(p,te),[p]),ae=f.useCallback(te=>te?!mf(te,d,b).hasError:!Y0(d,b).hasErrors,[b,d]);return{values:b,errors:x,setValues:J,setErrors:E,setFieldValue:W,setFieldError:D,clearFieldError:T,clearErrors:O,reset:R,validate:K,validateField:M,reorderListItem:F,removeListItem:N,insertListItem:G,getInputProps:U,onSubmit:V,onReset:ie,isDirty:xe,isTouched:me,setTouched:h,setDirty:v,resetTouched:P,resetDirty:I,isValid:ae,getTransformedValues:ee}}function Or(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:i,base700:u,base900:d,accent500:p,accent300:h}=F1(),{colorMode:g}=xs();return a.jsx(Jj,{styles:()=>({input:{color:Me(d,r)(g),backgroundColor:Me(n,d)(g),borderColor:Me(o,i)(g),borderWidth:2,outline:"none",":focus":{borderColor:Me(h,p)(g)}},label:{color:Me(u,s)(g),fontWeight:"normal",marginBottom:4}}),...t})}const cZ=[{value:"sd-1",label:Mr["sd-1"]},{value:"sd-2",label:Mr["sd-2"]},{value:"sdxl",label:Mr.sdxl},{value:"sdxl-refiner",label:Mr["sdxl-refiner"]}];function zh(e){const{...t}=e,{t:n}=ue();return a.jsx(Co,{label:n("modelManager.baseModel"),data:cZ,...t})}function sI(e){const{data:t}=e3(),{...n}=e;return a.jsx(Co,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const uZ=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function Lh(e){const{...t}=e,{t:n}=ue();return a.jsx(Co,{label:n("modelManager.variant"),data:uZ,...t})}function aI(e){const{t}=ue(),n=Z(),{model_path:r}=e,o=pc({initialValues:{model_name:r?r.split("\\").splice(-1)[0].split(".")[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"checkpoint",error:void 0,vae:"",variant:"normal",config:"configs\\stable-diffusion\\v1-inference.yaml"}}),[s]=t3(),[i,u]=f.useState(!1),d=p=>{s({body:p}).unwrap().then(h=>{n(Bn(Vn({title:`Model Added: ${p.model_name}`,status:"success"}))),o.reset(),r&&n(_u(null))}).catch(h=>{h&&n(Bn(Vn({title:"Model Add Failed",status:"error"})))})};return a.jsx("form",{onSubmit:o.onSubmit(p=>d(p)),style:{width:"100%"},children:a.jsxs(L,{flexDirection:"column",gap:2,children:[a.jsx(Or,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),a.jsx(zh,{...o.getInputProps("base_model")}),a.jsx(Or,{label:"Model Location",required:!0,...o.getInputProps("path")}),a.jsx(Or,{label:"Description",...o.getInputProps("description")}),a.jsx(Or,{label:"VAE Location",...o.getInputProps("vae")}),a.jsx(Lh,{...o.getInputProps("variant")}),a.jsxs(L,{flexDirection:"column",width:"100%",gap:2,children:[i?a.jsx(Or,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):a.jsx(sI,{required:!0,width:"100%",...o.getInputProps("config")}),a.jsx(Ln,{isChecked:i,onChange:()=>u(!i),label:"Use Custom Config"}),a.jsx(Xt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function iI(e){const{t}=ue(),n=Z(),{model_path:r}=e,[o]=t3(),s=pc({initialValues:{model_name:r?r.split("\\").splice(-1)[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"diffusers",error:void 0,vae:"",variant:"normal"}}),i=u=>{o({body:u}).unwrap().then(d=>{n(Bn(Vn({title:`Model Added: ${u.model_name}`,status:"success"}))),s.reset(),r&&n(_u(null))}).catch(d=>{d&&n(Bn(Vn({title:"Model Add Failed",status:"error"})))})};return a.jsx("form",{onSubmit:s.onSubmit(u=>i(u)),style:{width:"100%"},children:a.jsxs(L,{flexDirection:"column",gap:2,children:[a.jsx(Or,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),a.jsx(zh,{...s.getInputProps("base_model")}),a.jsx(Or,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),a.jsx(Or,{label:"Description",...s.getInputProps("description")}),a.jsx(Or,{label:"VAE Location",...s.getInputProps("vae")}),a.jsx(Lh,{...s.getInputProps("variant")}),a.jsx(Xt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const lI=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function dZ(){const[e,t]=f.useState("diffusers");return a.jsxs(L,{flexDirection:"column",gap:4,width:"100%",children:[a.jsx(Co,{label:"Model Type",value:e,data:lI,onChange:n=>{n&&t(n)}}),a.jsxs(L,{sx:{p:4,borderRadius:4,bg:"base.300",_dark:{bg:"base.850"}},children:[e==="diffusers"&&a.jsx(iI,{}),e==="checkpoint"&&a.jsx(aI,{})]})]})}const fZ=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function pZ(){const e=Z(),{t}=ue(),n=$(u=>u.system.isProcessing),[r,{isLoading:o}]=n3(),s=pc({initialValues:{location:"",prediction_type:void 0}}),i=u=>{const d={location:u.location,prediction_type:u.prediction_type==="none"?void 0:u.prediction_type};r({body:d}).unwrap().then(p=>{e(Bn(Vn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(Bn(Vn({title:`${p.data.detail} `,status:"error"}))))})};return a.jsx("form",{onSubmit:s.onSubmit(u=>i(u)),style:{width:"100%"},children:a.jsxs(L,{flexDirection:"column",width:"100%",gap:4,children:[a.jsx(Or,{label:"Model Location",placeholder:"Provide a path to a local Diffusers model, local checkpoint / safetensors model a HuggingFace Repo ID, or a checkpoint/diffusers model URL.",w:"100%",...s.getInputProps("location")}),a.jsx(Co,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:fZ,defaultValue:"none",...s.getInputProps("prediction_type")}),a.jsx(Xt,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function hZ(){const[e,t]=f.useState("simple");return a.jsxs(L,{flexDirection:"column",width:"100%",overflow:"scroll",maxHeight:window.innerHeight-250,gap:4,children:[a.jsxs(Yn,{isAttached:!0,children:[a.jsx(Xt,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),a.jsx(Xt,{size:"sm",isChecked:e=="advanced",onClick:()=>t("advanced"),children:"Advanced"})]}),a.jsxs(L,{sx:{p:4,borderRadius:4,background:"base.200",_dark:{background:"base.800"}},children:[e==="simple"&&a.jsx(pZ,{}),e==="advanced"&&a.jsx(dZ,{})]})]})}function mZ(e){const{...t}=e;return a.jsx(Uk,{w:"100%",...t,children:e.children})}function gZ(){const e=$(x=>x.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=Ei(),{foundModels:o,alreadyInstalled:s,filteredModels:i}=r3({search_path:e||""},{selectFromResult:({data:x})=>{const C=SM(r==null?void 0:r.entities),_=Ss(C,"path"),k=bM(x,_),P=PM(x,_);return{foundModels:x,alreadyInstalled:qC(P,t),filteredModels:qC(k,t)}}}),[u,{isLoading:d}]=n3(),p=Z(),{t:h}=ue(),g=f.useCallback(x=>{const C=x.currentTarget.id.split("\\").splice(-1)[0];u({body:{location:x.currentTarget.id}}).unwrap().then(_=>{p(Bn(Vn({title:`Added Model: ${C}`,status:"success"})))}).catch(_=>{_&&p(Bn(Vn({title:"Failed To Add Model",status:"error"})))})},[p,u]),v=f.useCallback(x=>{n(x.target.value)},[]),b=({models:x,showActions:C=!0})=>x.map(_=>a.jsxs(L,{sx:{p:4,gap:4,alignItems:"center",borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsxs(L,{w:"100%",sx:{flexDirection:"column",minW:"25%"},children:[a.jsx(qe,{sx:{fontWeight:600},children:_.split("\\").slice(-1)[0]}),a.jsx(qe,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:_})]}),C?a.jsxs(L,{gap:2,children:[a.jsx(Xt,{id:_,onClick:g,isLoading:d,children:"Quick Add"}),a.jsx(Xt,{onClick:()=>p(_u(_)),isLoading:d,children:"Advanced"})]}):a.jsx(qe,{sx:{fontWeight:600,p:2,borderRadius:4,color:"accent.50",bg:"accent.400",_dark:{color:"accent.100",bg:"accent.600"}},children:"Installed"})]},_));return(()=>{if(e)return!o||o.length===0?a.jsx(L,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",height:96,userSelect:"none",bg:"base.200",_dark:{bg:"base.900"}},children:a.jsx(qe,{variant:"subtext",children:"No Models Found"})}):a.jsxs(L,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[a.jsx(zi,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),a.jsxs(L,{p:2,gap:2,children:[a.jsxs(qe,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),a.jsxs(qe,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",i.length]})]}),a.jsx(mZ,{offsetScrollbars:!0,children:a.jsxs(L,{gap:2,flexDirection:"column",children:[b({models:i}),b({models:s,showActions:!1})]})})]})})()}const qC=(e,t)=>{const n=[];return Qo(e,r=>{r&&r.includes(t)&&n.push(r)}),n};function vZ(){const e=$(i=>i.modelmanager.advancedAddScanModel),[t,n]=f.useState("diffusers"),[r,o]=f.useState(!0);f.useEffect(()=>{e&&[".ckpt",".safetensors",".pth",".pt"].some(i=>e.endsWith(i))?n("checkpoint"):n("diffusers")},[e,n,r]);const s=Z();return e&&a.jsxs($e,{as:Jr.div,initial:{x:-100,opacity:0},animate:{x:0,opacity:1,transition:{duration:.2}},sx:{display:"flex",flexDirection:"column",minWidth:"40%",maxHeight:window.innerHeight-300,overflow:"scroll",p:4,gap:4,borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsxs(L,{justifyContent:"space-between",alignItems:"center",children:[a.jsx(qe,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),a.jsx(je,{icon:a.jsx(wL,{}),"aria-label":"Close Advanced",onClick:()=>s(_u(null)),size:"sm"})]}),a.jsx(Co,{label:"Model Type",value:t,data:lI,onChange:i=>{i&&(n(i),o(i==="checkpoint"))}}),r?a.jsx(aI,{model_path:e},e):a.jsx(iI,{model_path:e},e)]})}function yZ(){const e=Z(),{t}=ue(),n=$(u=>u.modelmanager.searchFolder),{refetch:r}=r3({search_path:n||""}),o=pc({initialValues:{folder:""}}),s=f.useCallback(u=>{e(Sx(u.folder))},[e]),i=()=>{r()};return a.jsx("form",{onSubmit:o.onSubmit(u=>s(u)),style:{width:"100%"},children:a.jsxs(L,{sx:{w:"100%",gap:2,borderRadius:4,alignItems:"center"},children:[a.jsxs(L,{w:"100%",alignItems:"center",gap:4,minH:12,children:[a.jsx(qe,{sx:{fontSize:"sm",fontWeight:600,color:"base.700",minW:"max-content",_dark:{color:"base.300"}},children:"Folder"}),n?a.jsx(L,{sx:{w:"100%",p:2,px:4,bg:"base.300",borderRadius:4,fontSize:"sm",fontWeight:"bold",_dark:{bg:"base.700"}},children:n}):a.jsx(zi,{w:"100%",size:"md",...o.getInputProps("folder")})]}),a.jsxs(L,{gap:2,children:[n?a.jsx(je,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:a.jsx(C_,{}),onClick:i,fontSize:18,size:"sm"}):a.jsx(je,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:a.jsx(gL,{}),fontSize:18,size:"sm",type:"submit"}),a.jsx(je,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:a.jsx(Xo,{}),size:"sm",onClick:()=>{e(Sx(null)),e(_u(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const bZ=f.memo(yZ);function xZ(){return a.jsxs(L,{flexDirection:"column",w:"100%",gap:4,children:[a.jsx(bZ,{}),a.jsxs(L,{gap:4,children:[a.jsx(L,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:a.jsx(gZ,{})}),a.jsx(vZ,{})]})]})}function wZ(){const[e,t]=f.useState("add"),{t:n}=ue();return a.jsxs(L,{flexDirection:"column",gap:4,children:[a.jsxs(Yn,{isAttached:!0,children:[a.jsx(Xt,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),a.jsx(Xt,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&a.jsx(hZ,{}),e=="scan"&&a.jsx(xZ,{})]})}const SZ=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function CZ(){const{t:e}=ue(),t=Z(),{data:n}=Ei(),[r,{isLoading:o}]=V7(),[s,i]=f.useState("sd-1"),u=Cx(n==null?void 0:n.entities,(M,U)=>(M==null?void 0:M.model_format)==="diffusers"&&(M==null?void 0:M.base_model)==="sd-1"),d=Cx(n==null?void 0:n.entities,(M,U)=>(M==null?void 0:M.model_format)==="diffusers"&&(M==null?void 0:M.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":u,"sd-2":d}),[u,d]),[h,g]=f.useState(Object.keys(p[s])[0]),[v,b]=f.useState(Object.keys(p[s])[1]),[S,x]=f.useState(null),[C,_]=f.useState(""),[k,P]=f.useState(.5),[I,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[D,T]=f.useState(""),[B,W]=f.useState(!1),J=Object.keys(p[s]).filter(M=>M!==v&&M!==S),F=Object.keys(p[s]).filter(M=>M!==h&&M!==S),N=Object.keys(p[s]).filter(M=>M!==h&&M!==v),G=M=>{i(M),g(null),b(null)},K=()=>{const M=[];let U=[h,v,S];U=U.filter(ee=>ee!==null),U.forEach(ee=>{ee&&M.push(ee==null?void 0:ee.split("/")[2])});const V={model_names:M,merged_model_name:C!==""?C:M.join("-"),alpha:k,interp:I,force:B,merge_dest_directory:O==="root"?void 0:D};r({base_model:s,body:V}).unwrap().then(ee=>{t(Bn(Vn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(ee=>{ee&&t(Bn(Vn({title:e("modelManager.modelsMergeFailed"),status:"error"})))})};return a.jsxs(L,{flexDirection:"column",rowGap:4,children:[a.jsxs(L,{sx:{flexDirection:"column",rowGap:1},children:[a.jsx(qe,{children:e("modelManager.modelMergeHeaderHelp1")}),a.jsx(qe,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),a.jsxs(L,{columnGap:4,children:[a.jsx(Co,{label:"Model Type",w:"100%",data:SZ,value:s,onChange:G}),a.jsx(br,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:J,onChange:M=>g(M)}),a.jsx(br,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:F,onChange:M=>b(M)}),a.jsx(br,{label:e("modelManager.modelThree"),data:N,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:M=>{M?(x(M),E("weighted_sum")):(x(null),E("add_difference"))}})]}),a.jsx(zi,{label:e("modelManager.mergedModelName"),value:C,onChange:M=>_(M.target.value)}),a.jsxs(L,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsx(Ct,{label:e("modelManager.alpha"),min:.01,max:.99,step:.01,value:k,onChange:M=>P(M),withInput:!0,withReset:!0,handleReset:()=>P(.5),withSliderMarks:!0}),a.jsx(qe,{variant:"subtext",fontSize:"sm",children:e("modelManager.modelMergeAlphaHelp")})]}),a.jsxs(L,{sx:{padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsx(qe,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),a.jsx(Bf,{value:I,onChange:M=>E(M),children:a.jsx(L,{columnGap:4,children:S===null?a.jsxs(a.Fragment,{children:[a.jsx(aa,{value:"weighted_sum",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.weightedSum")})}),a.jsx(aa,{value:"sigmoid",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.sigmoid")})}),a.jsx(aa,{value:"inv_sigmoid",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):a.jsx(aa,{value:"add_difference",children:a.jsx(Cn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.addDifference")})})})})})]}),a.jsxs(L,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.900"}},children:[a.jsxs(L,{columnGap:4,children:[a.jsx(qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),a.jsx(Bf,{value:O,onChange:M=>R(M),children:a.jsxs(L,{columnGap:4,children:[a.jsx(aa,{value:"root",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),a.jsx(aa,{value:"custom",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&a.jsx(zi,{label:e("modelManager.mergedModelCustomSaveLocation"),value:D,onChange:M=>T(M.target.value)})]}),a.jsx(Ln,{label:e("modelManager.ignoreMismatch"),isChecked:B,onChange:M=>W(M.target.checked),fontWeight:"500"}),a.jsx(Xt,{onClick:K,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const _Z=rt((e,t)=>{const{t:n}=ue(),{acceptButtonText:r=n("common.accept"),acceptCallback:o,cancelButtonText:s=n("common.cancel"),cancelCallback:i,children:u,title:d,triggerComponent:p}=e,{isOpen:h,onOpen:g,onClose:v}=Ws(),b=f.useRef(null),S=()=>{o(),v()},x=()=>{i&&i(),v()};return a.jsxs(a.Fragment,{children:[f.cloneElement(p,{onClick:g,ref:t}),a.jsx(Du,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:a.jsx(ya,{children:a.jsxs(Au,{children:[a.jsx(va,{fontSize:"lg",fontWeight:"bold",children:d}),a.jsx(ba,{children:u}),a.jsxs(ga,{children:[a.jsx(Xt,{ref:b,onClick:x,children:s}),a.jsx(Xt,{colorScheme:"error",onClick:S,ml:3,children:r})]})]})})})]})}),hy=f.memo(_Z);function kZ(e){const{model:t}=e,n=Z(),{t:r}=ue(),[o,{isLoading:s}]=U7(),[i,u]=f.useState("InvokeAIRoot"),[d,p]=f.useState("");f.useEffect(()=>{u("InvokeAIRoot")},[t]);const h=()=>{u("InvokeAIRoot")},g=()=>{const v={base_model:t.base_model,model_name:t.model_name,params:{convert_dest_directory:i==="Custom"?d:void 0}};if(i==="Custom"&&d===""){n(Bn(Vn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(Bn(Vn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"success"}))),o(v).unwrap().then(b=>{n(Bn(Vn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(b=>{n(Bn(Vn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return a.jsxs(hy,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:g,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:a.jsxs(Xt,{size:"sm","aria-label":r("modelManager.convertToDiffusers"),className:" modal-close-btn",isLoading:s,children:["🧨 ",r("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[a.jsxs(L,{flexDirection:"column",rowGap:4,children:[a.jsx(qe,{children:r("modelManager.convertToDiffusersHelpText1")}),a.jsxs(Fv,{children:[a.jsx(la,{children:r("modelManager.convertToDiffusersHelpText2")}),a.jsx(la,{children:r("modelManager.convertToDiffusersHelpText3")}),a.jsx(la,{children:r("modelManager.convertToDiffusersHelpText4")}),a.jsx(la,{children:r("modelManager.convertToDiffusersHelpText5")})]}),a.jsx(qe,{children:r("modelManager.convertToDiffusersHelpText6")})]}),a.jsxs(L,{flexDir:"column",gap:2,children:[a.jsxs(L,{marginTop:4,flexDir:"column",gap:2,children:[a.jsx(qe,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),a.jsx(Bf,{value:i,onChange:v=>u(v),children:a.jsxs(L,{gap:4,children:[a.jsx(aa,{value:"InvokeAIRoot",children:a.jsx(Cn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),a.jsx(aa,{value:"Custom",children:a.jsx(Cn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),i==="Custom"&&a.jsxs(L,{flexDirection:"column",rowGap:2,children:[a.jsx(qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),a.jsx(zi,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function jZ(e){const t=$(Sr),{model:n}=e,[r,{isLoading:o}]=o3(),{data:s}=e3(),[i,u]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||u(!0)},[s,n.config]);const d=Z(),{t:p}=ue(),h=pc({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"checkpoint",vae:n.vae?n.vae:"",config:n.config?n.config:"",variant:n.variant},validate:{path:v=>v.trim().length===0?"Must provide a path":null}}),g=f.useCallback(v=>{const b={base_model:n.base_model,model_name:n.model_name,body:v};r(b).unwrap().then(S=>{h.setValues(S),d(Bn(Vn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(S=>{h.reset(),d(Bn(Vn({title:p("modelManager.modelUpdateFailed"),status:"error"})))})},[h,d,n.base_model,n.model_name,p,r]);return a.jsxs(L,{flexDirection:"column",rowGap:4,width:"100%",children:[a.jsxs(L,{justifyContent:"space-between",alignItems:"center",children:[a.jsxs(L,{flexDirection:"column",children:[a.jsx(qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),a.jsxs(qe,{fontSize:"sm",color:"base.400",children:[Mr[n.base_model]," Model"]})]}),["sdxl","sdxl-refiner"].includes(n.base_model)?a.jsx(Za,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):a.jsx(kZ,{model:n})]}),a.jsx(Fi,{}),a.jsx(L,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",children:a.jsx("form",{onSubmit:h.onSubmit(v=>g(v)),children:a.jsxs(L,{flexDirection:"column",overflowY:"scroll",gap:4,children:[a.jsx(Or,{label:p("modelManager.name"),...h.getInputProps("model_name")}),a.jsx(Or,{label:p("modelManager.description"),...h.getInputProps("description")}),a.jsx(zh,{required:!0,...h.getInputProps("base_model")}),a.jsx(Lh,{required:!0,...h.getInputProps("variant")}),a.jsx(Or,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),a.jsx(Or,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),a.jsxs(L,{flexDirection:"column",gap:2,children:[i?a.jsx(Or,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):a.jsx(sI,{required:!0,...h.getInputProps("config")}),a.jsx(Ln,{isChecked:i,onChange:()=>u(!i),label:"Use Custom Config"})]}),a.jsx(Xt,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function PZ(e){const t=$(Sr),{model:n}=e,[r,{isLoading:o}]=o3(),s=Z(),{t:i}=ue(),u=pc({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"diffusers",vae:n.vae?n.vae:"",variant:n.variant},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(g=>{u.setValues(g),s(Bn(Vn({title:i("modelManager.modelUpdated"),status:"success"})))}).catch(g=>{u.reset(),s(Bn(Vn({title:i("modelManager.modelUpdateFailed"),status:"error"})))})},[u,s,n.base_model,n.model_name,i,r]);return a.jsxs(L,{flexDirection:"column",rowGap:4,width:"100%",children:[a.jsxs(L,{flexDirection:"column",children:[a.jsx(qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),a.jsxs(qe,{fontSize:"sm",color:"base.400",children:[Mr[n.base_model]," Model"]})]}),a.jsx(Fi,{}),a.jsx("form",{onSubmit:u.onSubmit(p=>d(p)),children:a.jsxs(L,{flexDirection:"column",overflowY:"scroll",gap:4,children:[a.jsx(Or,{label:i("modelManager.name"),...u.getInputProps("model_name")}),a.jsx(Or,{label:i("modelManager.description"),...u.getInputProps("description")}),a.jsx(zh,{required:!0,...u.getInputProps("base_model")}),a.jsx(Lh,{required:!0,...u.getInputProps("variant")}),a.jsx(Or,{required:!0,label:i("modelManager.modelLocation"),...u.getInputProps("path")}),a.jsx(Or,{label:i("modelManager.vaeLocation"),...u.getInputProps("vae")}),a.jsx(Xt,{type:"submit",isDisabled:t||o,isLoading:o,children:i("modelManager.updateModel")})]})})]})}const IZ={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"};function KC(e){const t=$(Sr),{t:n}=ue(),r=Z(),[o]=G7(),{model:s,isSelected:i,setSelectedModelId:u}=e,d=f.useCallback(()=>{u(s.id)},[s.id,u]),p=f.useCallback(()=>{o(s).unwrap().then(h=>{r(Bn(Vn({title:`${n("modelManager.modelDeleted")}: ${s.model_name}`,status:"success"})))}).catch(h=>{h&&r(Bn(Vn({title:`${n("modelManager.modelDeleteFailed")}: ${s.model_name}`,status:"success"})))}),u(void 0)},[o,s,u,r,n]);return a.jsxs(L,{sx:{gap:2,alignItems:"center",w:"full"},children:[a.jsx(L,{as:Xt,isChecked:i,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:i?"accent.400":"base.100",color:i?"base.50":"base.800",_hover:{bg:i?"accent.500":"base.300",color:i?"base.50":"base.800"},_dark:{color:i?"base.50":"base.100",bg:i?"accent.600":"base.850",_hover:{color:i?"base.50":"base.100",bg:i?"accent.550":"base.700"}}},onClick:d,children:a.jsxs(L,{gap:4,alignItems:"center",children:[a.jsx(Za,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:IZ[s.base_model]}),a.jsx(Cn,{label:s.description,hasArrow:!0,placement:"bottom",children:a.jsx(qe,{sx:{fontWeight:500},children:s.model_name})})]})}),a.jsx(hy,{title:n("modelManager.deleteModel"),acceptCallback:p,acceptButtonText:n("modelManager.delete"),triggerComponent:a.jsx(je,{icon:a.jsx(jL,{}),"aria-label":n("modelManager.deleteConfig"),isDisabled:t,colorScheme:"error"}),children:a.jsxs(L,{rowGap:4,flexDirection:"column",children:[a.jsx("p",{style:{fontWeight:"bold"},children:n("modelManager.deleteMsg1")}),a.jsx("p",{children:n("modelManager.deleteMsg2")})]})})]})}const EZ=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=ue(),[o,s]=f.useState(""),[i,u]=f.useState("images"),{filteredDiffusersModels:d}=Ei(void 0,{selectFromResult:({data:g})=>({filteredDiffusersModels:QC(g,"diffusers",o)})}),{filteredCheckpointModels:p}=Ei(void 0,{selectFromResult:({data:g})=>({filteredCheckpointModels:QC(g,"checkpoint",o)})}),h=f.useCallback(g=>{s(g.target.value)},[]);return a.jsx(L,{flexDirection:"column",rowGap:4,width:"50%",minWidth:"50%",children:a.jsxs(L,{flexDirection:"column",gap:4,paddingInlineEnd:4,children:[a.jsxs(Yn,{isAttached:!0,children:[a.jsx(Xt,{onClick:()=>u("images"),isChecked:i==="images",size:"sm",children:r("modelManager.allModels")}),a.jsx(Xt,{size:"sm",onClick:()=>u("diffusers"),isChecked:i==="diffusers",children:r("modelManager.diffusersModels")}),a.jsx(Xt,{size:"sm",onClick:()=>u("checkpoint"),isChecked:i==="checkpoint",children:r("modelManager.checkpointModels")})]}),a.jsx(zi,{onChange:h,label:r("modelManager.search"),labelPos:"side"}),a.jsxs(L,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[["images","diffusers"].includes(i)&&d.length>0&&a.jsx(YC,{children:a.jsxs(L,{sx:{gap:2,flexDir:"column"},children:[a.jsx(qe,{variant:"subtext",fontSize:"sm",children:"Diffusers"}),d.map(g=>a.jsx(KC,{model:g,isSelected:t===g.id,setSelectedModelId:n},g.id))]})}),["images","checkpoint"].includes(i)&&p.length>0&&a.jsx(YC,{children:a.jsxs(L,{sx:{gap:2,flexDir:"column"},children:[a.jsx(qe,{variant:"subtext",fontSize:"sm",children:"Checkpoints"}),p.map(g=>a.jsx(KC,{model:g,isSelected:t===g.id,setSelectedModelId:n},g.id))]})})]})]})})},QC=(e,t,n)=>{const r=[];return Qo(e==null?void 0:e.entities,o=>{if(!o)return;const s=o.model_name.toLowerCase().includes(n.toLowerCase()),i=o.model_format===t;s&&i&&r.push(o)}),r},YC=e=>a.jsx(L,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function OZ(){const[e,t]=f.useState(),{model:n}=Ei(void 0,{selectFromResult:({data:r})=>({model:e?r==null?void 0:r.entities[e]:void 0})});return a.jsxs(L,{sx:{gap:8,w:"full",h:"full"},children:[a.jsx(EZ,{selectedModelId:e,setSelectedModelId:t}),a.jsx(MZ,{model:n})]})}const MZ=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?a.jsx(jZ,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?a.jsx(PZ,{model:t},t.id):a.jsx(L,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:a.jsx(qe,{variant:"subtext",children:"No Model Selected"})})};function RZ(){const{t:e}=ue();return a.jsxs(L,{sx:{w:"full",p:4,borderRadius:4,gap:4,justifyContent:"space-between",alignItems:"center",bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsxs(L,{sx:{flexDirection:"column",gap:2},children:[a.jsx(qe,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),a.jsx(qe,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),a.jsx(py,{})]})}function DZ(){return a.jsx(L,{children:a.jsx(RZ,{})})}const XC=[{id:"modelManager",label:pr.t("modelManager.modelManager"),content:a.jsx(OZ,{})},{id:"importModels",label:pr.t("modelManager.importModels"),content:a.jsx(wZ,{})},{id:"mergeModels",label:pr.t("modelManager.mergeModels"),content:a.jsx(CZ,{})},{id:"settings",label:pr.t("modelManager.settings"),content:a.jsx(DZ,{})}],AZ=()=>a.jsxs(Nu,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[a.jsx($u,{children:XC.map(e=>a.jsx(Bl,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),a.jsx(fh,{sx:{w:"full",h:"full"},children:XC.map(e=>a.jsx(dh,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),TZ=f.memo(AZ);const NZ=e=>he([t=>t.nodes],t=>{const n=t.invocationTemplates[e];if(n)return n},{memoizeOptions:{resultEqualityCheck:(t,n)=>t!==void 0&&n!==void 0&&t.type===n.type}}),$Z=(e,t)=>{const n={id:e,name:t.name,type:t.type};return t.inputRequirement!=="never"&&(t.type==="string"&&(n.value=t.default??""),t.type==="integer"&&(n.value=t.default??0),t.type==="float"&&(n.value=t.default??0),t.type==="boolean"&&(n.value=t.default??!1),t.type==="enum"&&(t.enumType==="number"&&(n.value=t.default??0),t.enumType==="string"&&(n.value=t.default??"")),t.type==="array"&&(n.value=t.default??1),t.type==="image"&&(n.value=void 0),t.type==="image_collection"&&(n.value=[]),t.type==="latents"&&(n.value=void 0),t.type==="conditioning"&&(n.value=void 0),t.type==="unet"&&(n.value=void 0),t.type==="clip"&&(n.value=void 0),t.type==="vae"&&(n.value=void 0),t.type==="control"&&(n.value=void 0),t.type==="model"&&(n.value=void 0),t.type==="vae_model"&&(n.value=void 0),t.type==="lora_model"&&(n.value=void 0),t.type==="controlnet_model"&&(n.value=void 0)),n},zZ=he([e=>e.nodes],e=>e.invocationTemplates),my="node-drag-handle",JC={dragHandle:`.${my}`},LZ=()=>{const e=$(zZ),t=eh();return f.useCallback(n=>{if(n==="progress_image"){const{x:h,y:g}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...JC,id:"progress_image",type:"progress_image",position:{x:h,y:g},data:{}}}const r=e[n];if(r===void 0){console.error(`Unable to find template ${n}.`);return}const o=Ka(),s=_x(r.inputs,(h,g,v)=>{const b=Ka(),S=$Z(b,g);return h[v]=S,h},{}),i=_x(r.outputs,(h,g,v)=>{const S={id:Ka(),name:v,type:g.type};return h[v]=S,h},{}),{x:u,y:d}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...JC,id:o,type:"invocation",position:{x:u,y:d},data:{id:o,type:n,inputs:s,outputs:i}}},[e,t])},BZ=e=>{const{nodeId:t,title:n,description:r}=e;return a.jsxs(L,{className:my,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[a.jsx(Cn,{label:t,children:a.jsx(zs,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),a.jsx(Cn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:a.jsx(io,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:aL})})]})},cI=f.memo(BZ),uI=()=>{const e=eh();return f.useCallback(({source:n,sourceHandle:r,target:o,targetHandle:s})=>(e.getEdges(),e.getNodes(),!0),[e])},FZ={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},HZ={left:"-1rem"},WZ={right:"-0.5rem"},VZ=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:i}=t;return a.jsx(Cn,{label:i,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:s3,children:a.jsx(q7,{type:r,id:s,isValidConnection:n,position:r==="target"?kx.Left:kx.Right,style:{backgroundColor:a3[i].colorCssVar,...o,...FZ,...r==="target"?HZ:WZ}})})},dI=f.memo(VZ),UZ=e=>a.jsx(cL,{}),GZ=f.memo(UZ),qZ=e=>{const{nodeId:t,field:n}=e,r=Z(),o=s=>{r(qo({nodeId:t,fieldName:n.name,value:s.target.checked}))};return a.jsx(Xv,{onChange:o,isChecked:n.value})},KZ=f.memo(qZ),QZ=e=>null,YZ=f.memo(QZ);function Bh(){return(Bh=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function X0(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Jl=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:C.buttons>0)&&o.current?s(ZC(o.current,C,u.current)):x(!1)},S=function(){return x(!1)};function x(C){var _=d.current,k=J0(o.current),P=C?k.addEventListener:k.removeEventListener;P(_?"touchmove":"mousemove",b),P(_?"touchend":"mouseup",S)}return[function(C){var _=C.nativeEvent,k=o.current;if(k&&(e4(_),!function(I,E){return E&&!ru(I)}(_,d.current)&&k)){if(ru(_)){d.current=!0;var P=_.changedTouches||[];P.length&&(u.current=P[0].identifier)}k.focus(),s(ZC(k,_,u.current)),x(!0)}},function(C){var _=C.which||C.keyCode;_<37||_>40||(C.preventDefault(),i({left:_===39?.05:_===37?-.05:0,top:_===40?.05:_===38?-.05:0}))},x]},[i,s]),h=p[0],g=p[1],v=p[2];return f.useEffect(function(){return v},[v]),z.createElement("div",Bh({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:g,tabIndex:0,role:"slider"}))}),Fh=function(e){return e.filter(Boolean).join(" ")},vy=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=Fh(["react-colorful__pointer",e.className]);return z.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},z.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},lo=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},pI=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:lo(e.h),s:lo(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:lo(o/2),a:lo(r,2)}},Z0=function(e){var t=pI(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},Fg=function(e){var t=pI(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},XZ=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var s=Math.floor(t),i=r*(1-n),u=r*(1-(t-s)*n),d=r*(1-(1-t+s)*n),p=s%6;return{r:lo(255*[r,u,i,i,d,r][p]),g:lo(255*[d,r,r,u,i,i][p]),b:lo(255*[i,i,d,r,r,u][p]),a:lo(o,2)}},JZ=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,s=Math.max(t,n,r),i=s-Math.min(t,n,r),u=i?s===t?(n-r)/i:s===n?2+(r-t)/i:4+(t-n)/i:0;return{h:lo(60*(u<0?u+6:u)),s:lo(s?i/s*100:0),v:lo(s/255*100),a:o}},ZZ=z.memo(function(e){var t=e.hue,n=e.onChange,r=Fh(["react-colorful__hue",e.className]);return z.createElement("div",{className:r},z.createElement(gy,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Jl(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":lo(t),"aria-valuemax":"360","aria-valuemin":"0"},z.createElement(vy,{className:"react-colorful__hue-pointer",left:t/360,color:Z0({h:t,s:100,v:100,a:1})})))}),eee=z.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:Z0({h:t.h,s:100,v:100,a:1})};return z.createElement("div",{className:"react-colorful__saturation",style:r},z.createElement(gy,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Jl(t.s+100*o.left,0,100),v:Jl(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+lo(t.s)+"%, Brightness "+lo(t.v)+"%"},z.createElement(vy,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:Z0(t)})))}),hI=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function tee(e,t,n){var r=X0(n),o=f.useState(function(){return e.toHsva(t)}),s=o[0],i=o[1],u=f.useRef({color:t,hsva:s});f.useEffect(function(){if(!e.equal(t,u.current.color)){var p=e.toHsva(t);u.current={hsva:p,color:t},i(p)}},[t,e]),f.useEffect(function(){var p;hI(s,u.current.hsva)||e.equal(p=e.fromHsva(s),u.current.color)||(u.current={hsva:s,color:p},r(p))},[s,e,r]);var d=f.useCallback(function(p){i(function(h){return Object.assign({},h,p)})},[]);return[s,d]}var nee=typeof window<"u"?f.useLayoutEffect:f.useEffect,ree=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},t4=new Map,oee=function(e){nee(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!t4.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,t4.set(t,n);var r=ree();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},see=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+Fg(Object.assign({},n,{a:0}))+", "+Fg(Object.assign({},n,{a:1}))+")"},s=Fh(["react-colorful__alpha",t]),i=lo(100*n.a);return z.createElement("div",{className:s},z.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),z.createElement(gy,{onMove:function(u){r({a:u.left})},onKey:function(u){r({a:Jl(n.a+u.left)})},"aria-label":"Alpha","aria-valuetext":i+"%","aria-valuenow":i,"aria-valuemin":"0","aria-valuemax":"100"},z.createElement(vy,{className:"react-colorful__alpha-pointer",left:n.a,color:Fg(n)})))},aee=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,i=fI(e,["className","colorModel","color","onChange"]),u=f.useRef(null);oee(u);var d=tee(n,o,s),p=d[0],h=d[1],g=Fh(["react-colorful",t]);return z.createElement("div",Bh({},i,{ref:u,className:g}),z.createElement(eee,{hsva:p,onChange:h}),z.createElement(ZZ,{hue:p.h,onChange:h}),z.createElement(see,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},iee={defaultColor:{r:0,g:0,b:0,a:1},toHsva:JZ,fromHsva:XZ,equal:hI},mI=function(e){return z.createElement(aee,Bh({},e,{colorModel:iee}))};const lee=e=>{const{nodeId:t,field:n}=e,r=Z(),o=s=>{r(qo({nodeId:t,fieldName:n.name,value:s}))};return a.jsx(mI,{className:"nodrag",color:n.value,onChange:o})},cee=f.memo(lee),uee=e=>null,dee=f.memo(uee),fee=e=>null,pee=f.memo(fee),hee=e=>{const{nodeId:t,field:n}=e,r=n.value,o=Z();ue();const{data:s}=yv(),i=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/controlnet/${r==null?void 0:r.model_name}`])??null,[r==null?void 0:r.base_model,r==null?void 0:r.model_name,s==null?void 0:s.entities]),u=f.useMemo(()=>{if(!s)return[];const p=[];return Qo(s.entities,(h,g)=>{h&&p.push({value:g,label:h.model_name,group:Mr[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=UP(p);h&&o(qo({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return a.jsx(Co,{tooltip:i==null?void 0:i.description,label:(i==null?void 0:i.base_model)&&Mr[i==null?void 0:i.base_model],value:(i==null?void 0:i.id)??null,placeholder:"Pick one",error:!i,data:u,onChange:d})},mee=f.memo(hee),gee=e=>{const{nodeId:t,field:n,template:r}=e,o=Z(),s=i=>{o(qo({nodeId:t,fieldName:n.name,value:i.target.value}))};return a.jsx(o5,{onChange:s,value:n.value,children:r.options.map(i=>a.jsx("option",{children:i},i))})},vee=f.memo(gee),yee=e=>{var p;const{nodeId:t,field:n}=e,r=Z();f.useCallback(({image_name:h})=>{r(qo({nodeId:t,fieldName:n.name,value:K7([...n.value??[],{image_name:h}],"image_name")}))},[r,n.name,n.value,t]);const o={id:`node-${t}-${n.name}`,actionType:"SET_MULTI_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}},{isOver:s,setNodeRef:i,active:u,over:d}=uv({id:`node_${t}`,data:o});return f.useCallback(()=>{r(qo({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),a.jsxs(L,{ref:i,sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",position:"relative",minH:"10rem"},children:[(p=n.value)==null?void 0:p.map(({image_name:h})=>a.jsx(xee,{imageName:h},h)),jf(o,u)&&a.jsx(Yf,{isOver:s})]})},bee=f.memo(yee),xee=e=>{const{currentData:t}=Uo(e.imageName);return a.jsx(ri,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},wee=e=>{var v;const{nodeId:t,field:n}=e,r=Z(),{currentData:o,isLoading:s,isError:i,isSuccess:u}=Uo(((v=n.value)==null?void 0:v.image_name)??Xr.skipToken),d=f.useCallback(()=>{r(qo({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),p=f.useMemo(()=>{if(o)return{id:`node-${t}-${n.name}`,payloadType:"IMAGE_DTO",payload:{imageDTO:o}}},[n.name,o,t]),h=f.useMemo(()=>({id:`node-${t}-${n.name}`,actionType:"SET_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}}),[n.name,t]),g=f.useMemo(()=>({type:"SET_NODES_IMAGE",nodeId:t,fieldName:n.name}),[t,n.name]);return a.jsx(L,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:a.jsx(ri,{imageDTO:o,droppableData:h,draggableData:p,onClickReset:d,postUploadAction:g})})},See=f.memo(wee),Cee=e=>a.jsx(Fz,{}),n4=f.memo(Cee),_ee=e=>null,kee=f.memo(_ee),jee=Zp.child({module:"models"}),Pee=e=>{const[t,n,r]=e.split("/"),o=Q7.safeParse({base_model:t,model_name:r});if(!o.success){jee.error({loraModelId:e,errors:o.error.format()},"Failed to parse LoRA model id");return}return o.data},Iee=e=>{const{nodeId:t,field:n}=e,r=n.value,o=Z(),{data:s}=V4(),i=f.useMemo(()=>{if(!s)return[];const p=[];return Qo(s.entities,(h,g)=>{h&&p.push({value:g,label:h.model_name,group:Mr[h.base_model]})}),p.sort((h,g)=>h.disabled&&!g.disabled?1:-1)},[s]),u=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/lora/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r==null?void 0:r.base_model,r==null?void 0:r.model_name]),d=f.useCallback(p=>{if(!p)return;const h=Pee(p);h&&o(qo({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return(s==null?void 0:s.ids.length)===0?a.jsx(L,{sx:{justifyContent:"center",p:2},children:a.jsx(qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):a.jsx(br,{value:(u==null?void 0:u.id)??null,label:(u==null?void 0:u.base_model)&&Mr[u==null?void 0:u.base_model],placeholder:i.length>0?"Select a LoRA":"No LoRAs available",data:i,nothingFound:"No matching LoRAs",itemComponent:ai,disabled:i.length===0,filter:(p,h)=>{var g;return((g=h.label)==null?void 0:g.toLowerCase().includes(p.toLowerCase().trim()))||h.value.toLowerCase().includes(p.toLowerCase().trim())},onChange:d})},Eee=f.memo(Iee),Oee=e=>{var h,g;const{nodeId:t,field:n}=e,r=Z(),{t:o}=ue(),{data:s,isLoading:i}=Ei(),u=f.useMemo(()=>{if(!s)return[];const v=[];return Qo(s.entities,(b,S)=>{b&&v.push({value:S,label:b.model_name,group:Mr[b.base_model]})}),v},[s]),d=f.useMemo(()=>{var v,b;return(s==null?void 0:s.entities[`${(v=n.value)==null?void 0:v.base_model}/main/${(b=n.value)==null?void 0:b.model_name}`])??null},[(h=n.value)==null?void 0:h.base_model,(g=n.value)==null?void 0:g.model_name,s==null?void 0:s.entities]),p=f.useCallback(v=>{if(!v)return;const b=JP(v);b&&r(qo({nodeId:t,fieldName:n.name,value:b}))},[r,n.name,t]);return i?a.jsx(br,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):a.jsxs(L,{w:"100%",alignItems:"center",gap:2,children:[a.jsx(br,{tooltip:d==null?void 0:d.description,label:(d==null?void 0:d.base_model)&&Mr[d==null?void 0:d.base_model],value:d==null?void 0:d.id,placeholder:u.length>0?"Select a model":"No models available",data:u,error:u.length===0,disabled:u.length===0,onChange:p}),a.jsx($e,{mt:7,children:a.jsx(py,{iconMode:!0})})]})},Mee=f.memo(Oee),Ree=e=>{const{nodeId:t,field:n}=e,r=Z(),[o,s]=f.useState(String(n.value)),i=u=>{s(u),u.match(Hp)||r(qo({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(u)):Number(u)}))};return f.useEffect(()=>{!o.match(Hp)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),a.jsxs(G4,{onChange:i,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[a.jsx(q4,{}),a.jsxs(K4,{children:[a.jsx(Q4,{}),a.jsx(Y4,{})]})]})},Dee=f.memo(Ree),Aee=e=>{const{nodeId:t,field:n}=e,r=Z(),o=s=>{r(qo({nodeId:t,fieldName:n.name,value:s.target.value}))};return a.jsx(Iu,{onChange:o,value:n.value})},Tee=f.memo(Aee),Nee=e=>null,$ee=f.memo(Nee),zee=e=>null,Lee=f.memo(zee),Bee=e=>{const{nodeId:t,field:n}=e,r=n.value,o=Z();ue();const{data:s}=X4(),i=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return Qo(s.entities,(h,g)=>{h&&p.push({value:g,label:h.model_name,group:Mr[h.base_model]})}),p.sort((h,g)=>h.disabled&&!g.disabled?1:-1)},[s]),u=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r]),d=f.useCallback(p=>{if(!p)return;const h=ZP(p);h&&o(qo({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return a.jsx(br,{itemComponent:ai,tooltip:u==null?void 0:u.description,label:(u==null?void 0:u.base_model)&&Mr[u==null?void 0:u.base_model],value:(u==null?void 0:u.id)??"default",placeholder:"Default",data:i,onChange:d,disabled:i.length===0,clearable:!0})},Fee=f.memo(Bee),Hee=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?a.jsx(Tee,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?a.jsx(KZ,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?a.jsx(Dee,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?a.jsx(vee,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?a.jsx(See,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?a.jsx(kee,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?a.jsx(dee,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?a.jsx($ee,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?a.jsx(YZ,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?a.jsx(Lee,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?a.jsx(pee,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?a.jsx(Mee,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?a.jsx(Fee,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?a.jsx(Eee,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?a.jsx(mee,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?a.jsx(GZ,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?a.jsx(n4,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?a.jsx(cee,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?a.jsx(n4,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?a.jsx(bee,{nodeId:t,field:n,template:r}):a.jsxs($e,{p:2,children:["Unknown field type: ",o]})},Wee=f.memo(Hee);function Vee(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=uI();return a.jsx($e,{className:"nopan",position:"relative",borderColor:r?!o&&["always","connectionOnly"].includes(String(r==null?void 0:r.inputRequirement))&&n.value===void 0?"warning.400":void 0:"error.400",children:a.jsx(ws,{isDisabled:r?o:!0,pl:2,children:r?a.jsxs(a.Fragment,{children:[a.jsxs(Pl,{justifyContent:"space-between",alignItems:"center",children:[a.jsx(Pl,{children:a.jsx(Cn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:s3,children:a.jsx(gs,{children:r==null?void 0:r.title})})}),a.jsx(Wee,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&a.jsx(dI,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):a.jsx(Pl,{justifyContent:"space-between",alignItems:"center",children:a.jsxs(gs,{children:["Unknown input: ",n.name]})})})})}const Uee=e=>{const{nodeId:t,template:n,inputs:r}=e,o=$(i=>i.nodes.edges);return f.useCallback(()=>{const i=[],u=Ss(r);return u.forEach((d,p)=>{const h=n.inputs[d.name],g=!!o.filter(v=>v.target===t&&v.targetHandle===d.name).length;p{const{nodeId:t,template:n,outputs:r}=e,o=$(i=>i.nodes.edges);return f.useCallback(()=>{const i=[];return Ss(r).forEach(d=>{const p=n.outputs[d.name],h=!!o.filter(g=>g.source===t&&g.sourceHandle===d.name).length;i.push(a.jsx(qee,{nodeId:t,output:d,template:p,connected:h},d.id))}),a.jsx(L,{flexDir:"column",children:i})},[o,t,r,n.outputs])()},Qee=f.memo(Kee),Yee=e=>{const{...t}=e;return a.jsx(BT,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:i3,...t})},ev=f.memo(Yee),tv=e=>{const[t,n]=ec("shadows",["nodeSelectedOutline","dark-lg"]),r=$(o=>o.hotkeys.shift);return a.jsx($e,{className:r?my:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:i3,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},gI=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:i}=n,u=f.useMemo(()=>NZ(o),[o]),d=$(u);return d?a.jsxs(tv,{selected:r,children:[a.jsx(cI,{nodeId:t,title:d.title,description:d.description}),a.jsxs(L,{className:"nopan",sx:{cursor:"auto",flexDirection:"column",borderBottomRadius:"md",py:2,bg:"base.150",_dark:{bg:"base.800"}},children:[a.jsx(Qee,{nodeId:t,outputs:i,template:d}),a.jsx(Gee,{nodeId:t,inputs:s,template:d})]}),a.jsx(ev,{})]}):a.jsx(tv,{selected:r,children:a.jsxs(L,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[a.jsx(io,{as:m_,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),a.jsx(ev,{})]})})});gI.displayName="InvocationComponent";const Xee=e=>{const t=jx(i=>i.system.progressImage),n=jx(i=>i.nodes.progressNodeSize),r=Y7(),{selected:o}=e,s=(i,u)=>{r(X7(u))};return a.jsxs(tv,{selected:o,children:[a.jsx(cI,{title:"Progress Image",description:"Displays the progress image in the Node Editor"}),a.jsx(L,{sx:{flexDirection:"column",flexShrink:0,borderBottomRadius:"md",bg:"base.200",_dark:{bg:"base.800"},width:n.width-2,height:n.height-2,minW:250,minH:250,overflow:"hidden"},children:t?a.jsx(rc,{src:t.dataURL,sx:{w:"full",h:"full",objectFit:"contain"}}):a.jsx(L,{sx:{minW:250,minH:250,width:n.width-2,height:n.height-2},children:a.jsx(Ja,{})})}),a.jsx(ev,{onResize:s})]})},Jee=f.memo(Xee),Zee=()=>{const{t:e}=ue(),{zoomIn:t,zoomOut:n,fitView:r}=eh(),o=Z(),s=$(S=>S.nodes.shouldShowGraphOverlay),i=$(S=>S.nodes.shouldShowFieldTypeLegend),u=$(S=>S.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),g=f.useCallback(()=>{o(J7(!s))},[s,o]),v=f.useCallback(()=>{o(Z7(!i))},[i,o]),b=f.useCallback(()=>{o(eO(!u))},[u,o]);return a.jsxs(Yn,{isAttached:!0,orientation:"vertical",children:[a.jsx(Cn,{label:e("nodes.zoomInNodes"),children:a.jsx(je,{onClick:d,icon:a.jsx(Hi,{})})}),a.jsx(Cn,{label:e("nodes.zoomOutNodes"),children:a.jsx(je,{onClick:p,icon:a.jsx(fL,{})})}),a.jsx(Cn,{label:e("nodes.fitViewportNodes"),children:a.jsx(je,{onClick:h,icon:a.jsx(Zz,{})})}),a.jsx(Cn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:a.jsx(je,{isChecked:s,onClick:g,icon:a.jsx(g1,{})})}),a.jsx(Cn,{label:e(i?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:a.jsx(je,{isChecked:i,onClick:v,icon:a.jsx(iL,{})})}),a.jsx(Cn,{label:e(u?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:a.jsx(je,{isChecked:u,onClick:b,icon:a.jsx(uL,{})})})]})},ete=f.memo(Zee),tte=()=>a.jsx(Su,{position:"bottom-left",children:a.jsx(ete,{})}),nte=f.memo(tte),rte=()=>{const e=gf({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=$(o=>o.nodes.shouldShowMinimapPanel),n=gf("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=gf("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return a.jsx(a.Fragment,{children:t&&a.jsx(OT,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},ote=f.memo(rte),ste=()=>{const{t:e}=ue(),t=Z(),{fitView:n}=eh(),r=f.useRef(null),o=f.useCallback(s=>{var u;if(!s)return;const i=new FileReader;i.onload=async()=>{const d=i.result,p=await JSON.parse(String(d));p||t(Bn(Vn({title:e("toast.nodesLoadedFailed"),status:"error"}))),p&&(t(tO(p.nodes)),t(nO(p.edges)),n(),t(Bn(Vn({title:e("toast.nodesLoaded"),status:"success"})))),i.abort()},i.readAsText(s),(u=r.current)==null||u.call(r)},[n,t,e]);return a.jsx(Nj,{resetRef:r,accept:"application/json",onChange:o,children:s=>a.jsx(je,{icon:a.jsx(Fu,{}),tooltip:e("nodes.loadNodes"),"aria-label":e("nodes.loadNodes"),...s})})},ate=f.memo(ste);function ite(e){const{iconButton:t=!1,...n}=e,r=Z(),o=$(or),s=iy(),i=f.useCallback(()=>{r(xv("nodes"))},[r]),{t:u}=ue();return Ye(["ctrl+enter","meta+enter"],i,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),a.jsx($e,{style:{flexGrow:4},position:"relative",children:a.jsxs($e,{style:{position:"relative"},children:[!s&&a.jsx($e,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:a.jsx(XP,{})}),t?a.jsx(je,{"aria-label":u("parameters.invoke"),type:"submit",icon:a.jsx(x_,{}),isDisabled:!s,onClick:i,flexGrow:1,w:"100%",tooltip:u("parameters.invoke"),tooltipProps:{placement:"bottom"},colorScheme:"accent",id:"invoke-button",_disabled:{background:"none",_hover:{background:"none"}},...n}):a.jsx(Xt,{"aria-label":u("parameters.invoke"),type:"submit",isDisabled:!s,onClick:i,flexGrow:1,w:"100%",colorScheme:"accent",id:"invoke-button",fontWeight:700,_disabled:{background:"none",_hover:{background:"none"}},...n,children:"Invoke"})]})})}function lte(){const{t:e}=ue(),t=Z(),n=f.useCallback(()=>{t(rO())},[t]);return a.jsx(je,{icon:a.jsx(xL,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const cte=()=>{const{t:e}=ue(),t=$(o=>o.nodes.editorInstance),n=$(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=Ss(o.edges,u=>oO(u,["style"]));const s=new Blob([JSON.stringify(o)]),i=document.createElement("a");i.href=URL.createObjectURL(s),i.download="MyNodes.json",document.body.appendChild(i),i.click(),i.remove()}},[t]);return a.jsx(je,{icon:a.jsx(yh,{}),fontSize:18,tooltip:e("nodes.saveNodes"),"aria-label":e("nodes.saveNodes"),onClick:r,isDisabled:n.length===0})},ute=f.memo(cte),dte=()=>{const{t:e}=ue(),t=Z(),{isOpen:n,onOpen:r,onClose:o}=Ws(),s=f.useRef(null),i=$(d=>d.nodes.nodes),u=f.useCallback(()=>{t(sO()),t(Bn(Vn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return a.jsxs(a.Fragment,{children:[a.jsx(je,{icon:a.jsx(Xo,{}),tooltip:e("nodes.clearNodes"),"aria-label":e("nodes.clearNodes"),onClick:r,isDisabled:i.length===0}),a.jsxs(Du,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[a.jsx(ya,{}),a.jsxs(Au,{children:[a.jsx(va,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearNodes")}),a.jsx(ba,{children:a.jsx(qe,{children:e("common.clearNodes")})}),a.jsxs(ga,{children:[a.jsx(kf,{ref:s,onClick:o,children:e("common.cancel")}),a.jsx(kf,{colorScheme:"red",ml:3,onClick:u,children:e("common.accept")})]})]})]})]})},fte=f.memo(dte),pte=()=>a.jsx(Su,{position:"top-center",children:a.jsxs(Pl,{children:[a.jsx(ite,{}),a.jsx(Th,{}),a.jsx(lte,{}),a.jsx(ute,{}),a.jsx(ate,{}),a.jsx(fte,{})]})}),hte=f.memo(pte),mte=he(aO,e=>{const t=Ss(e.invocationTemplates,n=>({label:n.title,value:n.type,description:n.description}));return t.push({label:"Progress Image",value:"progress_image",description:"Displays the progress image in the Node Editor"}),{data:t}},Ke),gte=()=>{const e=Z(),{data:t}=$(mte),n=LZ(),r=tc(),o=f.useCallback(i=>{const u=n(i);if(!u){r({status:"error",title:`Unknown Invocation type ${i}`});return}e(iO(u))},[e,n,r]),s=f.useCallback(i=>{i&&o(i)},[o]);return a.jsx(L,{sx:{gap:2,alignItems:"center"},children:a.jsx(br,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:vI,filter:(i,u)=>u.label.toLowerCase().includes(i.toLowerCase().trim())||u.value.toLowerCase().includes(i.toLowerCase().trim())||u.description.toLowerCase().includes(i.toLowerCase().trim()),onChange:s,sx:{width:"18rem"}})})},vI=f.forwardRef(({label:e,description:t,...n},r)=>a.jsx("div",{ref:r,...n,children:a.jsxs("div",{children:[a.jsx(qe,{fontWeight:600,children:e}),a.jsx(qe,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));vI.displayName="SelectItem";const vte=()=>a.jsx(Su,{position:"top-left",children:a.jsx(gte,{})}),yte=f.memo(vte),bte=()=>a.jsx(L,{sx:{gap:2,flexDir:"column"},children:Ss(a3,({title:e,description:t,color:n},r)=>a.jsx(Cn,{label:t,children:a.jsx(Za,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),xte=f.memo(bte),wte=()=>{const e=$(n=>n),t=lO(e);return a.jsx($e,{as:"pre",sx:{fontFamily:"monospace",position:"absolute",top:2,right:2,opacity:.7,p:2,maxHeight:500,maxWidth:500,overflowY:"scroll",borderRadius:"base",bg:"base.200",_dark:{bg:"base.800"}},children:JSON.stringify(t,null,2)})},Ste=f.memo(wte),Cte=()=>{const e=$(n=>n.nodes.shouldShowGraphOverlay),t=$(n=>n.nodes.shouldShowFieldTypeLegend);return a.jsxs(Su,{position:"top-right",children:[t&&a.jsx(xte,{}),e&&a.jsx(Ste,{})]})},_te=f.memo(Cte),kte={invocation:gI,progress_image:Jee},jte=()=>{const e=Z(),t=$(p=>p.nodes.nodes),n=$(p=>p.nodes.edges),r=f.useCallback(p=>{e(cO(p))},[e]),o=f.useCallback(p=>{e(uO(p))},[e]),s=f.useCallback((p,h)=>{e(dO(h))},[e]),i=f.useCallback(p=>{e(fO(p))},[e]),u=f.useCallback(()=>{e(pO())},[e]),d=f.useCallback(p=>{e(hO(p)),p&&p.fitView()},[e]);return a.jsxs(mO,{nodeTypes:kte,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:i,onConnectEnd:u,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[a.jsx(yte,{}),a.jsx(hte,{}),a.jsx(_te,{}),a.jsx(nte,{}),a.jsx(NT,{}),a.jsx(ote,{})]})},Pte=()=>a.jsx($e,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:a.jsx(gO,{children:a.jsx(jte,{})})}),Ite=f.memo(Pte),Ete=()=>a.jsx(Ite,{}),Ote=f.memo(Ete),Mte=he(mt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ke),Rte=()=>{const{shouldUseSliders:e,activeLabel:t}=$(Mte);return a.jsx(Ro,{label:"General",activeLabel:t,defaultIsOpen:!0,children:a.jsx(L,{sx:{flexDirection:"column",gap:3},children:e?a.jsxs(a.Fragment,{children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(Wp,{})]}):a.jsxs(a.Fragment,{children:[a.jsxs(L,{gap:3,children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{})]}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(Wp,{})]})})})},Dte=f.memo(Rte),Ate=()=>a.jsxs(a.Fragment,{children:[a.jsx(ly,{}),a.jsx(sy,{}),a.jsx(fy,{}),a.jsx(Dte,{}),a.jsx(ry,{}),a.jsx(ty,{}),a.jsx(ey,{}),a.jsx(uy,{}),a.jsx(QP,{}),a.jsx(cy,{}),a.jsx(YP,{}),a.jsx(ny,{})]}),yI=f.memo(Ate),Tte=()=>a.jsxs(L,{sx:{gap:4,w:"full",h:"full"},children:[a.jsx(Z1,{children:a.jsx(yI,{})}),a.jsx(VP,{})]}),Nte=f.memo(Tte);var nv={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=Px;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=Px;e.exports=r.Konva})(nv,nv.exports);var $te=nv.exports;const vu=wu($te);var bI={exports:{}};/** - * @license React - * react-reconciler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var zte=function(t){var n={},r=f,o=vf,s=Object.assign;function i(l){for(var c="https://reactjs.org/docs/error-decoder.html?invariant="+l,m=1;mQ||w[A]!==j[Q]){var se=` -`+w[A].replace(" at new "," at ");return l.displayName&&se.includes("")&&(se=se.replace("",l.displayName)),se}while(1<=A&&0<=Q);break}}}finally{Lt=!1,Error.prepareStackTrace=m}return(l=l?l.displayName||l.name:"")?Ot(l):""}var qt=Object.prototype.hasOwnProperty,$t=[],Oe=-1;function ut(l){return{current:l}}function _t(l){0>Oe||(l.current=$t[Oe],$t[Oe]=null,Oe--)}function At(l,c){Oe++,$t[Oe]=l.current,l.current=c}var xn={},zt=ut(xn),tn=ut(!1),Jt=xn;function _r(l,c){var m=l.type.contextTypes;if(!m)return xn;var y=l.stateNode;if(y&&y.__reactInternalMemoizedUnmaskedChildContext===c)return y.__reactInternalMemoizedMaskedChildContext;var w={},j;for(j in m)w[j]=c[j];return y&&(l=l.stateNode,l.__reactInternalMemoizedUnmaskedChildContext=c,l.__reactInternalMemoizedMaskedChildContext=w),w}function Un(l){return l=l.childContextTypes,l!=null}function yt(){_t(tn),_t(zt)}function wn(l,c,m){if(zt.current!==xn)throw Error(i(168));At(zt,c),At(tn,m)}function kn(l,c,m){var y=l.stateNode;if(c=c.childContextTypes,typeof y.getChildContext!="function")return m;y=y.getChildContext();for(var w in y)if(!(w in c))throw Error(i(108,D(l)||"Unknown",w));return s({},m,y)}function Gn(l){return l=(l=l.stateNode)&&l.__reactInternalMemoizedMergedChildContext||xn,Jt=zt.current,At(zt,l),At(tn,tn.current),!0}function ar(l,c,m){var y=l.stateNode;if(!y)throw Error(i(169));m?(l=kn(l,c,Jt),y.__reactInternalMemoizedMergedChildContext=l,_t(tn),_t(zt),At(zt,l)):_t(tn),At(tn,m)}var En=Math.clz32?Math.clz32:pn,On=Math.log,nn=Math.LN2;function pn(l){return l>>>=0,l===0?32:31-(On(l)/nn|0)|0}var Sn=64,cn=4194304;function un(l){switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return l&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return l}}function Be(l,c){var m=l.pendingLanes;if(m===0)return 0;var y=0,w=l.suspendedLanes,j=l.pingedLanes,A=m&268435455;if(A!==0){var Q=A&~w;Q!==0?y=un(Q):(j&=A,j!==0&&(y=un(j)))}else A=m&~w,A!==0?y=un(A):j!==0&&(y=un(j));if(y===0)return 0;if(c!==0&&c!==y&&!(c&w)&&(w=y&-y,j=c&-c,w>=j||w===16&&(j&4194240)!==0))return c;if(y&4&&(y|=m&16),c=l.entangledLanes,c!==0)for(l=l.entanglements,c&=y;0m;m++)c.push(l);return c}function lt(l,c,m){l.pendingLanes|=c,c!==536870912&&(l.suspendedLanes=0,l.pingedLanes=0),l=l.eventTimes,c=31-En(c),l[c]=m}function Qe(l,c){var m=l.pendingLanes&~c;l.pendingLanes=c,l.suspendedLanes=0,l.pingedLanes=0,l.expiredLanes&=c,l.mutableReadLanes&=c,l.entangledLanes&=c,c=l.entanglements;var y=l.eventTimes;for(l=l.expirationTimes;0>=A,w-=A,jo=1<<32-En(c)+w|m<hn?(Nr=Ut,Ut=null):Nr=Ut.sibling;var mn=et(oe,Ut,fe[hn],tt);if(mn===null){Ut===null&&(Ut=Nr);break}l&&Ut&&mn.alternate===null&&c(oe,Ut),X=j(mn,X,hn),Yt===null?It=mn:Yt.sibling=mn,Yt=mn,Ut=Nr}if(hn===fe.length)return m(oe,Ut),qn&&ci(oe,hn),It;if(Ut===null){for(;hnhn?(Nr=Ut,Ut=null):Nr=Ut.sibling;var Ta=et(oe,Ut,mn.value,tt);if(Ta===null){Ut===null&&(Ut=Nr);break}l&&Ut&&Ta.alternate===null&&c(oe,Ut),X=j(Ta,X,hn),Yt===null?It=Ta:Yt.sibling=Ta,Yt=Ta,Ut=Nr}if(mn.done)return m(oe,Ut),qn&&ci(oe,hn),It;if(Ut===null){for(;!mn.done;hn++,mn=fe.next())mn=Vt(oe,mn.value,tt),mn!==null&&(X=j(mn,X,hn),Yt===null?It=mn:Yt.sibling=mn,Yt=mn);return qn&&ci(oe,hn),It}for(Ut=y(oe,Ut);!mn.done;hn++,mn=fe.next())mn=Hn(Ut,oe,hn,mn.value,tt),mn!==null&&(l&&mn.alternate!==null&&Ut.delete(mn.key===null?hn:mn.key),X=j(mn,X,hn),Yt===null?It=mn:Yt.sibling=mn,Yt=mn);return l&&Ut.forEach(function(hE){return c(oe,hE)}),qn&&ci(oe,hn),It}function ra(oe,X,fe,tt){if(typeof fe=="object"&&fe!==null&&fe.type===h&&fe.key===null&&(fe=fe.props.children),typeof fe=="object"&&fe!==null){switch(fe.$$typeof){case d:e:{for(var It=fe.key,Yt=X;Yt!==null;){if(Yt.key===It){if(It=fe.type,It===h){if(Yt.tag===7){m(oe,Yt.sibling),X=w(Yt,fe.props.children),X.return=oe,oe=X;break e}}else if(Yt.elementType===It||typeof It=="object"&&It!==null&&It.$$typeof===P&&Ty(It)===Yt.type){m(oe,Yt.sibling),X=w(Yt,fe.props),X.ref=mc(oe,Yt,fe),X.return=oe,oe=X;break e}m(oe,Yt);break}else c(oe,Yt);Yt=Yt.sibling}fe.type===h?(X=gi(fe.props.children,oe.mode,tt,fe.key),X.return=oe,oe=X):(tt=kd(fe.type,fe.key,fe.props,null,oe.mode,tt),tt.ref=mc(oe,X,fe),tt.return=oe,oe=tt)}return A(oe);case p:e:{for(Yt=fe.key;X!==null;){if(X.key===Yt)if(X.tag===4&&X.stateNode.containerInfo===fe.containerInfo&&X.stateNode.implementation===fe.implementation){m(oe,X.sibling),X=w(X,fe.children||[]),X.return=oe,oe=X;break e}else{m(oe,X);break}else c(oe,X);X=X.sibling}X=Wm(fe,oe.mode,tt),X.return=oe,oe=X}return A(oe);case P:return Yt=fe._init,ra(oe,X,Yt(fe._payload),tt)}if(G(fe))return Rn(oe,X,fe,tt);if(O(fe))return mo(oe,X,fe,tt);Zu(oe,fe)}return typeof fe=="string"&&fe!==""||typeof fe=="number"?(fe=""+fe,X!==null&&X.tag===6?(m(oe,X.sibling),X=w(X,fe),X.return=oe,oe=X):(m(oe,X),X=Hm(fe,oe.mode,tt),X.return=oe,oe=X),A(oe)):m(oe,X)}return ra}var Ji=Ny(!0),$y=Ny(!1),gc={},No=ut(gc),vc=ut(gc),Zi=ut(gc);function Es(l){if(l===gc)throw Error(i(174));return l}function nm(l,c){At(Zi,c),At(vc,l),At(No,gc),l=M(c),_t(No),At(No,l)}function el(){_t(No),_t(vc),_t(Zi)}function zy(l){var c=Es(Zi.current),m=Es(No.current);c=U(m,l.type,c),m!==c&&(At(vc,l),At(No,c))}function rm(l){vc.current===l&&(_t(No),_t(vc))}var Zn=ut(0);function ed(l){for(var c=l;c!==null;){if(c.tag===13){var m=c.memoizedState;if(m!==null&&(m=m.dehydrated,m===null||Dr(m)||ks(m)))return c}else if(c.tag===19&&c.memoizedProps.revealOrder!==void 0){if(c.flags&128)return c}else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===l)break;for(;c.sibling===null;){if(c.return===null||c.return===l)return null;c=c.return}c.sibling.return=c.return,c=c.sibling}return null}var om=[];function sm(){for(var l=0;lm?m:4,l(!0);var y=am.transition;am.transition={};try{l(!1),c()}finally{Se=m,am.transition=y}}function nb(){return $o().memoizedState}function FI(l,c,m){var y=Ra(l);if(m={lane:y,action:m,hasEagerState:!1,eagerState:null,next:null},rb(l))ob(c,m);else if(m=Py(l,c,m,y),m!==null){var w=Kr();zo(m,l,y,w),sb(m,c,y)}}function HI(l,c,m){var y=Ra(l),w={lane:y,action:m,hasEagerState:!1,eagerState:null,next:null};if(rb(l))ob(c,w);else{var j=l.alternate;if(l.lanes===0&&(j===null||j.lanes===0)&&(j=c.lastRenderedReducer,j!==null))try{var A=c.lastRenderedState,Q=j(A,m);if(w.hasEagerState=!0,w.eagerState=Q,rn(Q,A)){var se=c.interleaved;se===null?(w.next=w,Jh(c)):(w.next=se.next,se.next=w),c.interleaved=w;return}}catch{}finally{}m=Py(l,c,w,y),m!==null&&(w=Kr(),zo(m,l,y,w),sb(m,c,y))}}function rb(l){var c=l.alternate;return l===er||c!==null&&c===er}function ob(l,c){yc=nd=!0;var m=l.pending;m===null?c.next=c:(c.next=m.next,m.next=c),l.pending=c}function sb(l,c,m){if(m&4194240){var y=c.lanes;y&=l.pendingLanes,m|=y,c.lanes=m,ke(l,m)}}var sd={readContext:To,useCallback:Ur,useContext:Ur,useEffect:Ur,useImperativeHandle:Ur,useInsertionEffect:Ur,useLayoutEffect:Ur,useMemo:Ur,useReducer:Ur,useRef:Ur,useState:Ur,useDebugValue:Ur,useDeferredValue:Ur,useTransition:Ur,useMutableSource:Ur,useSyncExternalStore:Ur,useId:Ur,unstable_isNewReconciler:!1},WI={readContext:To,useCallback:function(l,c){return Os().memoizedState=[l,c===void 0?null:c],l},useContext:To,useEffect:Ky,useImperativeHandle:function(l,c,m){return m=m!=null?m.concat([l]):null,rd(4194308,4,Xy.bind(null,c,l),m)},useLayoutEffect:function(l,c){return rd(4194308,4,l,c)},useInsertionEffect:function(l,c){return rd(4,2,l,c)},useMemo:function(l,c){var m=Os();return c=c===void 0?null:c,l=l(),m.memoizedState=[l,c],l},useReducer:function(l,c,m){var y=Os();return c=m!==void 0?m(c):c,y.memoizedState=y.baseState=c,l={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:c},y.queue=l,l=l.dispatch=FI.bind(null,er,l),[y.memoizedState,l]},useRef:function(l){var c=Os();return l={current:l},c.memoizedState=l},useState:Gy,useDebugValue:pm,useDeferredValue:function(l){return Os().memoizedState=l},useTransition:function(){var l=Gy(!1),c=l[0];return l=BI.bind(null,l[1]),Os().memoizedState=l,[c,l]},useMutableSource:function(){},useSyncExternalStore:function(l,c,m){var y=er,w=Os();if(qn){if(m===void 0)throw Error(i(407));m=m()}else{if(m=c(),Tr===null)throw Error(i(349));di&30||Fy(y,c,m)}w.memoizedState=m;var j={value:m,getSnapshot:c};return w.queue=j,Ky(Wy.bind(null,y,j,l),[l]),y.flags|=2048,wc(9,Hy.bind(null,y,j,m,c),void 0,null),m},useId:function(){var l=Os(),c=Tr.identifierPrefix;if(qn){var m=Vr,y=jo;m=(y&~(1<<32-En(y)-1)).toString(32)+m,c=":"+c+"R"+m,m=bc++,0Am&&(c.flags|=128,y=!0,_c(w,!1),c.lanes=4194304)}else{if(!y)if(l=ed(j),l!==null){if(c.flags|=128,y=!0,l=l.updateQueue,l!==null&&(c.updateQueue=l,c.flags|=4),_c(w,!0),w.tail===null&&w.tailMode==="hidden"&&!j.alternate&&!qn)return Gr(c),null}else 2*Ne()-w.renderingStartTime>Am&&m!==1073741824&&(c.flags|=128,y=!0,_c(w,!1),c.lanes=4194304);w.isBackwards?(j.sibling=c.child,c.child=j):(l=w.last,l!==null?l.sibling=j:c.child=j,w.last=j)}return w.tail!==null?(c=w.tail,w.rendering=c,w.tail=c.sibling,w.renderingStartTime=Ne(),c.sibling=null,l=Zn.current,At(Zn,y?l&1|2:l&1),c):(Gr(c),null);case 22:case 23:return Lm(),m=c.memoizedState!==null,l!==null&&l.memoizedState!==null!==m&&(c.flags|=8192),m&&c.mode&1?Io&1073741824&&(Gr(c),de&&c.subtreeFlags&6&&(c.flags|=8192)):Gr(c),null;case 24:return null;case 25:return null}throw Error(i(156,c.tag))}function XI(l,c){switch(Vh(c),c.tag){case 1:return Un(c.type)&&yt(),l=c.flags,l&65536?(c.flags=l&-65537|128,c):null;case 3:return el(),_t(tn),_t(zt),sm(),l=c.flags,l&65536&&!(l&128)?(c.flags=l&-65537|128,c):null;case 5:return rm(c),null;case 13:if(_t(Zn),l=c.memoizedState,l!==null&&l.dehydrated!==null){if(c.alternate===null)throw Error(i(340));Qi()}return l=c.flags,l&65536?(c.flags=l&-65537|128,c):null;case 19:return _t(Zn),null;case 4:return el(),null;case 10:return Yh(c.type._context),null;case 22:case 23:return Lm(),null;case 24:return null;default:return null}}var ud=!1,qr=!1,JI=typeof WeakSet=="function"?WeakSet:Set,at=null;function nl(l,c){var m=l.ref;if(m!==null)if(typeof m=="function")try{m(null)}catch(y){Kn(l,c,y)}else m.current=null}function Sm(l,c,m){try{m()}catch(y){Kn(l,c,y)}}var _b=!1;function ZI(l,c){for(V(l.containerInfo),at=c;at!==null;)if(l=at,c=l.child,(l.subtreeFlags&1028)!==0&&c!==null)c.return=l,at=c;else for(;at!==null;){l=at;try{var m=l.alternate;if(l.flags&1024)switch(l.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,w=m.memoizedState,j=l.stateNode,A=j.getSnapshotBeforeUpdate(l.elementType===l.type?y:rs(l.type,y),w);j.__reactInternalSnapshotBeforeUpdate=A}break;case 3:de&&bn(l.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(i(163))}}catch(Q){Kn(l,l.return,Q)}if(c=l.sibling,c!==null){c.return=l.return,at=c;break}at=l.return}return m=_b,_b=!1,m}function kc(l,c,m){var y=c.updateQueue;if(y=y!==null?y.lastEffect:null,y!==null){var w=y=y.next;do{if((w.tag&l)===l){var j=w.destroy;w.destroy=void 0,j!==void 0&&Sm(c,m,j)}w=w.next}while(w!==y)}}function dd(l,c){if(c=c.updateQueue,c=c!==null?c.lastEffect:null,c!==null){var m=c=c.next;do{if((m.tag&l)===l){var y=m.create;m.destroy=y()}m=m.next}while(m!==c)}}function Cm(l){var c=l.ref;if(c!==null){var m=l.stateNode;switch(l.tag){case 5:l=K(m);break;default:l=m}typeof c=="function"?c(l):c.current=l}}function kb(l){var c=l.alternate;c!==null&&(l.alternate=null,kb(c)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(c=l.stateNode,c!==null&&Le(c)),l.stateNode=null,l.return=null,l.dependencies=null,l.memoizedProps=null,l.memoizedState=null,l.pendingProps=null,l.stateNode=null,l.updateQueue=null}function jb(l){return l.tag===5||l.tag===3||l.tag===4}function Pb(l){e:for(;;){for(;l.sibling===null;){if(l.return===null||jb(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.flags&2||l.child===null||l.tag===4)continue e;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function _m(l,c,m){var y=l.tag;if(y===5||y===6)l=l.stateNode,c?sr(m,l,c):_n(m,l);else if(y!==4&&(l=l.child,l!==null))for(_m(l,c,m),l=l.sibling;l!==null;)_m(l,c,m),l=l.sibling}function km(l,c,m){var y=l.tag;if(y===5||y===6)l=l.stateNode,c?vn(m,l,c):Wt(m,l);else if(y!==4&&(l=l.child,l!==null))for(km(l,c,m),l=l.sibling;l!==null;)km(l,c,m),l=l.sibling}var Fr=null,os=!1;function Rs(l,c,m){for(m=m.child;m!==null;)jm(l,c,m),m=m.sibling}function jm(l,c,m){if(an&&typeof an.onCommitFiberUnmount=="function")try{an.onCommitFiberUnmount(Fn,m)}catch{}switch(m.tag){case 5:qr||nl(m,c);case 6:if(de){var y=Fr,w=os;Fr=null,Rs(l,c,m),Fr=y,os=w,Fr!==null&&(os?it(Fr,m.stateNode):Ie(Fr,m.stateNode))}else Rs(l,c,m);break;case 18:de&&Fr!==null&&(os?De(Fr,m.stateNode):dt(Fr,m.stateNode));break;case 4:de?(y=Fr,w=os,Fr=m.stateNode.containerInfo,os=!0,Rs(l,c,m),Fr=y,os=w):(Ce&&(y=m.stateNode.containerInfo,w=dr(y),Nn(y,w)),Rs(l,c,m));break;case 0:case 11:case 14:case 15:if(!qr&&(y=m.updateQueue,y!==null&&(y=y.lastEffect,y!==null))){w=y=y.next;do{var j=w,A=j.destroy;j=j.tag,A!==void 0&&(j&2||j&4)&&Sm(m,c,A),w=w.next}while(w!==y)}Rs(l,c,m);break;case 1:if(!qr&&(nl(m,c),y=m.stateNode,typeof y.componentWillUnmount=="function"))try{y.props=m.memoizedProps,y.state=m.memoizedState,y.componentWillUnmount()}catch(Q){Kn(m,c,Q)}Rs(l,c,m);break;case 21:Rs(l,c,m);break;case 22:m.mode&1?(qr=(y=qr)||m.memoizedState!==null,Rs(l,c,m),qr=y):Rs(l,c,m);break;default:Rs(l,c,m)}}function Ib(l){var c=l.updateQueue;if(c!==null){l.updateQueue=null;var m=l.stateNode;m===null&&(m=l.stateNode=new JI),c.forEach(function(y){var w=lE.bind(null,l,y);m.has(y)||(m.add(y),y.then(w,w))})}}function ss(l,c){var m=c.deletions;if(m!==null)for(var y=0;y";case pd:return":has("+(Em(l)||"")+")";case hd:return'[role="'+l.value+'"]';case gd:return'"'+l.value+'"';case md:return'[data-testname="'+l.value+'"]';default:throw Error(i(365))}}function Ab(l,c){var m=[];l=[l,0];for(var y=0;yw&&(w=A),y&=~j}if(y=w,y=Ne()-y,y=(120>y?120:480>y?480:1080>y?1080:1920>y?1920:3e3>y?3e3:4320>y?4320:1960*tE(y/1960))-y,10l?16:l,Ma===null)var y=!1;else{if(l=Ma,Ma=null,wd=0,Zt&6)throw Error(i(331));var w=Zt;for(Zt|=4,at=l.current;at!==null;){var j=at,A=j.child;if(at.flags&16){var Q=j.deletions;if(Q!==null){for(var se=0;seNe()-Dm?pi(l,0):Rm|=m),ho(l,c)}function Wb(l,c){c===0&&(l.mode&1?(c=cn,cn<<=1,!(cn&130023424)&&(cn=4194304)):c=1);var m=Kr();l=Is(l,c),l!==null&&(lt(l,c,m),ho(l,m))}function iE(l){var c=l.memoizedState,m=0;c!==null&&(m=c.retryLane),Wb(l,m)}function lE(l,c){var m=0;switch(l.tag){case 13:var y=l.stateNode,w=l.memoizedState;w!==null&&(m=w.retryLane);break;case 19:y=l.stateNode;break;default:throw Error(i(314))}y!==null&&y.delete(c),Wb(l,m)}var Vb;Vb=function(l,c,m){if(l!==null)if(l.memoizedProps!==c.pendingProps||tn.current)fo=!0;else{if(!(l.lanes&m)&&!(c.flags&128))return fo=!1,QI(l,c,m);fo=!!(l.flags&131072)}else fo=!1,qn&&c.flags&1048576&&wy(c,no,c.index);switch(c.lanes=0,c.tag){case 2:var y=c.type;id(l,c),l=c.pendingProps;var w=_r(c,zt.current);Xi(c,m),w=lm(null,c,y,l,w,m);var j=cm();return c.flags|=1,typeof w=="object"&&w!==null&&typeof w.render=="function"&&w.$$typeof===void 0?(c.tag=1,c.memoizedState=null,c.updateQueue=null,Un(y)?(j=!0,Gn(c)):j=!1,c.memoizedState=w.state!==null&&w.state!==void 0?w.state:null,Zh(c),w.updater=Ju,c.stateNode=w,w._reactInternals=c,tm(c,y,l,m),c=vm(null,c,y,!0,j,m)):(c.tag=0,qn&&j&&Wh(c),so(null,c,w,m),c=c.child),c;case 16:y=c.elementType;e:{switch(id(l,c),l=c.pendingProps,w=y._init,y=w(y._payload),c.type=y,w=c.tag=uE(y),l=rs(y,l),w){case 0:c=gm(null,c,y,l,m);break e;case 1:c=gb(null,c,y,l,m);break e;case 11:c=db(null,c,y,l,m);break e;case 14:c=fb(null,c,y,rs(y.type,l),m);break e}throw Error(i(306,y,""))}return c;case 0:return y=c.type,w=c.pendingProps,w=c.elementType===y?w:rs(y,w),gm(l,c,y,w,m);case 1:return y=c.type,w=c.pendingProps,w=c.elementType===y?w:rs(y,w),gb(l,c,y,w,m);case 3:e:{if(vb(c),l===null)throw Error(i(387));y=c.pendingProps,j=c.memoizedState,w=j.element,Iy(l,c),Xu(c,y,null,m);var A=c.memoizedState;if(y=A.element,Re&&j.isDehydrated)if(j={element:y,isDehydrated:!1,cache:A.cache,pendingSuspenseBoundaries:A.pendingSuspenseBoundaries,transitions:A.transitions},c.updateQueue.baseState=j,c.memoizedState=j,c.flags&256){w=tl(Error(i(423)),c),c=yb(l,c,y,m,w);break e}else if(y!==w){w=tl(Error(i(424)),c),c=yb(l,c,y,m,w);break e}else for(Re&&(Ao=Y(c.stateNode.containerInfo),Po=c,qn=!0,ns=null,hc=!1),m=$y(c,null,y,m),c.child=m;m;)m.flags=m.flags&-3|4096,m=m.sibling;else{if(Qi(),y===w){c=ta(l,c,m);break e}so(l,c,y,m)}c=c.child}return c;case 5:return zy(c),l===null&&Gh(c),y=c.type,w=c.pendingProps,j=l!==null?l.memoizedProps:null,A=w.children,te(y,w)?A=null:j!==null&&te(y,j)&&(c.flags|=32),mb(l,c),so(l,c,A,m),c.child;case 6:return l===null&&Gh(c),null;case 13:return bb(l,c,m);case 4:return nm(c,c.stateNode.containerInfo),y=c.pendingProps,l===null?c.child=Ji(c,null,y,m):so(l,c,y,m),c.child;case 11:return y=c.type,w=c.pendingProps,w=c.elementType===y?w:rs(y,w),db(l,c,y,w,m);case 7:return so(l,c,c.pendingProps,m),c.child;case 8:return so(l,c,c.pendingProps.children,m),c.child;case 12:return so(l,c,c.pendingProps.children,m),c.child;case 10:e:{if(y=c.type._context,w=c.pendingProps,j=c.memoizedProps,A=w.value,jy(c,y,A),j!==null)if(rn(j.value,A)){if(j.children===w.children&&!tn.current){c=ta(l,c,m);break e}}else for(j=c.child,j!==null&&(j.return=c);j!==null;){var Q=j.dependencies;if(Q!==null){A=j.child;for(var se=Q.firstContext;se!==null;){if(se.context===y){if(j.tag===1){se=ea(-1,m&-m),se.tag=2;var Ee=j.updateQueue;if(Ee!==null){Ee=Ee.shared;var ct=Ee.pending;ct===null?se.next=se:(se.next=ct.next,ct.next=se),Ee.pending=se}}j.lanes|=m,se=j.alternate,se!==null&&(se.lanes|=m),Xh(j.return,m,c),Q.lanes|=m;break}se=se.next}}else if(j.tag===10)A=j.type===c.type?null:j.child;else if(j.tag===18){if(A=j.return,A===null)throw Error(i(341));A.lanes|=m,Q=A.alternate,Q!==null&&(Q.lanes|=m),Xh(A,m,c),A=j.sibling}else A=j.child;if(A!==null)A.return=j;else for(A=j;A!==null;){if(A===c){A=null;break}if(j=A.sibling,j!==null){j.return=A.return,A=j;break}A=A.return}j=A}so(l,c,w.children,m),c=c.child}return c;case 9:return w=c.type,y=c.pendingProps.children,Xi(c,m),w=To(w),y=y(w),c.flags|=1,so(l,c,y,m),c.child;case 14:return y=c.type,w=rs(y,c.pendingProps),w=rs(y.type,w),fb(l,c,y,w,m);case 15:return pb(l,c,c.type,c.pendingProps,m);case 17:return y=c.type,w=c.pendingProps,w=c.elementType===y?w:rs(y,w),id(l,c),c.tag=1,Un(y)?(l=!0,Gn(c)):l=!1,Xi(c,m),Dy(c,y,w),tm(c,y,w,m),vm(null,c,y,!0,l,m);case 19:return wb(l,c,m);case 22:return hb(l,c,m)}throw Error(i(156,c.tag))};function Ub(l,c){return Te(l,c)}function cE(l,c,m,y){this.tag=l,this.key=m,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=c,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=y,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Lo(l,c,m,y){return new cE(l,c,m,y)}function Fm(l){return l=l.prototype,!(!l||!l.isReactComponent)}function uE(l){if(typeof l=="function")return Fm(l)?1:0;if(l!=null){if(l=l.$$typeof,l===x)return 11;if(l===k)return 14}return 2}function Aa(l,c){var m=l.alternate;return m===null?(m=Lo(l.tag,c,l.key,l.mode),m.elementType=l.elementType,m.type=l.type,m.stateNode=l.stateNode,m.alternate=l,l.alternate=m):(m.pendingProps=c,m.type=l.type,m.flags=0,m.subtreeFlags=0,m.deletions=null),m.flags=l.flags&14680064,m.childLanes=l.childLanes,m.lanes=l.lanes,m.child=l.child,m.memoizedProps=l.memoizedProps,m.memoizedState=l.memoizedState,m.updateQueue=l.updateQueue,c=l.dependencies,m.dependencies=c===null?null:{lanes:c.lanes,firstContext:c.firstContext},m.sibling=l.sibling,m.index=l.index,m.ref=l.ref,m}function kd(l,c,m,y,w,j){var A=2;if(y=l,typeof l=="function")Fm(l)&&(A=1);else if(typeof l=="string")A=5;else e:switch(l){case h:return gi(m.children,w,j,c);case g:A=8,w|=8;break;case v:return l=Lo(12,m,c,w|2),l.elementType=v,l.lanes=j,l;case C:return l=Lo(13,m,c,w),l.elementType=C,l.lanes=j,l;case _:return l=Lo(19,m,c,w),l.elementType=_,l.lanes=j,l;case I:return jd(m,w,j,c);default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case b:A=10;break e;case S:A=9;break e;case x:A=11;break e;case k:A=14;break e;case P:A=16,y=null;break e}throw Error(i(130,l==null?l:typeof l,""))}return c=Lo(A,m,c,w),c.elementType=l,c.type=y,c.lanes=j,c}function gi(l,c,m,y){return l=Lo(7,l,y,c),l.lanes=m,l}function jd(l,c,m,y){return l=Lo(22,l,y,c),l.elementType=I,l.lanes=m,l.stateNode={isHidden:!1},l}function Hm(l,c,m){return l=Lo(6,l,null,c),l.lanes=m,l}function Wm(l,c,m){return c=Lo(4,l.children!==null?l.children:[],l.key,c),c.lanes=m,c.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},c}function dE(l,c,m,y,w){this.tag=c,this.containerInfo=l,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=ne,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Rt(0),this.expirationTimes=Rt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Rt(0),this.identifierPrefix=y,this.onRecoverableError=w,Re&&(this.mutableSourceEagerHydrationData=null)}function Gb(l,c,m,y,w,j,A,Q,se){return l=new dE(l,c,m,Q,se),c===1?(c=1,j===!0&&(c|=8)):c=0,j=Lo(3,null,null,c),l.current=j,j.stateNode=l,j.memoizedState={element:y,isDehydrated:m,cache:null,transitions:null,pendingSuspenseBoundaries:null},Zh(j),l}function qb(l){if(!l)return xn;l=l._reactInternals;e:{if(T(l)!==l||l.tag!==1)throw Error(i(170));var c=l;do{switch(c.tag){case 3:c=c.stateNode.context;break e;case 1:if(Un(c.type)){c=c.stateNode.__reactInternalMemoizedMergedChildContext;break e}}c=c.return}while(c!==null);throw Error(i(171))}if(l.tag===1){var m=l.type;if(Un(m))return kn(l,m,c)}return c}function Kb(l){var c=l._reactInternals;if(c===void 0)throw typeof l.render=="function"?Error(i(188)):(l=Object.keys(l).join(","),Error(i(268,l)));return l=J(c),l===null?null:l.stateNode}function Qb(l,c){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var m=l.retryLane;l.retryLane=m!==0&&m=Ee&&j>=Vt&&w<=ct&&A<=et){l.splice(c,1);break}else if(y!==Ee||m.width!==se.width||etA){if(!(j!==Vt||m.height!==se.height||ctw)){Ee>y&&(se.width+=Ee-y,se.x=y),ctj&&(se.height+=Vt-j,se.y=j),etm&&(m=A)),A ")+` - -No matching component was found for: - `)+l.join(" > ")}return null},n.getPublicRootInstance=function(l){if(l=l.current,!l.child)return null;switch(l.child.tag){case 5:return K(l.child.stateNode);default:return l.child.stateNode}},n.injectIntoDevTools=function(l){if(l={bundleType:l.bundleType,version:l.version,rendererPackageName:l.rendererPackageName,rendererConfig:l.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:u.ReactCurrentDispatcher,findHostInstanceByFiber:fE,findFiberByHostInstance:l.findFiberByHostInstance||pE,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")l=!1;else{var c=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(c.isDisabled||!c.supportsFiber)l=!0;else{try{Fn=c.inject(l),an=c}catch{}l=!!c.checkDCE}}return l},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(l,c,m,y){if(!vt)throw Error(i(363));l=Om(l,c);var w=Ft(l,m,y).disconnect;return{disconnect:function(){w()}}},n.registerMutableSourceForHydration=function(l,c){var m=c._getVersion;m=m(c._source),l.mutableSourceEagerHydrationData==null?l.mutableSourceEagerHydrationData=[c,m]:l.mutableSourceEagerHydrationData.push(c,m)},n.runWithPriority=function(l,c){var m=Se;try{return Se=l,c()}finally{Se=m}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(l,c,m,y){var w=c.current,j=Kr(),A=Ra(w);return m=qb(m),c.context===null?c.context=m:c.pendingContext=m,c=ea(j,A),c.payload={element:l},y=y===void 0?null:y,y!==null&&(c.callback=y),l=Ea(w,c,A),l!==null&&(zo(l,w,A,j),Yu(l,w,A)),A},n};bI.exports=zte;var Lte=bI.exports;const Bte=wu(Lte);var xI={exports:{}},Ki={};/** - * @license React - * react-reconciler-constants.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */Ki.ConcurrentRoot=1;Ki.ContinuousEventPriority=4;Ki.DefaultEventPriority=16;Ki.DiscreteEventPriority=1;Ki.IdleEventPriority=536870912;Ki.LegacyRoot=0;xI.exports=Ki;var wI=xI.exports;const r4={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let o4=!1,s4=!1;const yy=".react-konva-event",Fte=`ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled. -Position of a node will be changed during drag&drop, so you should update state of the react app as well. -Consider to add onDragMove or onDragEnd events. -For more info see: https://github.com/konvajs/react-konva/issues/256 -`,Hte=`ReactKonva: You are using "zIndex" attribute for a Konva node. -react-konva may get confused with ordering. Just define correct order of elements in your render function of a component. -For more info see: https://github.com/konvajs/react-konva/issues/194 -`,Wte={};function Hh(e,t,n=Wte){if(!o4&&"zIndex"in t&&(console.warn(Hte),o4=!0),!s4&&t.draggable){var r=t.x!==void 0||t.y!==void 0,o=t.onDragEnd||t.onDragMove;r&&!o&&(console.warn(Fte),s4=!0)}for(var s in n)if(!r4[s]){var i=s.slice(0,2)==="on",u=n[s]!==t[s];if(i&&u){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),e.off(d,n[s])}var p=!t.hasOwnProperty(s);p&&e.setAttr(s,void 0)}var h=t._useStrictMode,g={},v=!1;const b={};for(var s in t)if(!r4[s]){var i=s.slice(0,2)==="on",S=n[s]!==t[s];if(i&&S){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),t[s]&&(b[d]=t[s])}!i&&(t[s]!==n[s]||h&&t[s]!==e.getAttr(s))&&(v=!0,g[s]=t[s])}v&&(e.setAttrs(g),li(e));for(var d in b)e.on(d+yy,b[d])}function li(e){if(!vO.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const SI={},Vte={};vu.Node.prototype._applyProps=Hh;function Ute(e,t){if(typeof t=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${t}`);return}e.add(t),li(e)}function Gte(e,t,n){let r=vu[e];r||(console.error(`Konva has no node with the type ${e}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${e}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),r=vu.Group);const o={},s={};for(var i in t){var u=i.slice(0,2)==="on";u?s[i]=t[i]:o[i]=t[i]}const d=new r(o);return Hh(d,s),d}function qte(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function Kte(e,t,n){return!1}function Qte(e){return e}function Yte(){return null}function Xte(){return null}function Jte(e,t,n,r){return Vte}function Zte(){}function ene(e){}function tne(e,t){return!1}function nne(){return SI}function rne(){return SI}const one=setTimeout,sne=clearTimeout,ane=-1;function ine(e,t){return!1}const lne=!1,cne=!0,une=!0;function dne(e,t){t.parent===e?t.moveToTop():e.add(t),li(e)}function fne(e,t){t.parent===e?t.moveToTop():e.add(t),li(e)}function CI(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),li(e)}function pne(e,t,n){CI(e,t,n)}function hne(e,t){t.destroy(),t.off(yy),li(e)}function mne(e,t){t.destroy(),t.off(yy),li(e)}function gne(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function vne(e,t,n){}function yne(e,t,n,r,o){Hh(e,o,r)}function bne(e){e.hide(),li(e)}function xne(e){}function wne(e,t){(t.visible==null||t.visible)&&e.show()}function Sne(e,t){}function Cne(e){}function _ne(){}const kne=()=>wI.DefaultEventPriority,jne=Object.freeze(Object.defineProperty({__proto__:null,appendChild:dne,appendChildToContainer:fne,appendInitialChild:Ute,cancelTimeout:sne,clearContainer:Cne,commitMount:vne,commitTextUpdate:gne,commitUpdate:yne,createInstance:Gte,createTextInstance:qte,detachDeletedInstance:_ne,finalizeInitialChildren:Kte,getChildHostContext:rne,getCurrentEventPriority:kne,getPublicInstance:Qte,getRootHostContext:nne,hideInstance:bne,hideTextInstance:xne,idlePriority:vf.unstable_IdlePriority,insertBefore:CI,insertInContainerBefore:pne,isPrimaryRenderer:lne,noTimeout:ane,now:vf.unstable_now,prepareForCommit:Yte,preparePortalMount:Xte,prepareUpdate:Jte,removeChild:hne,removeChildFromContainer:mne,resetAfterCommit:Zte,resetTextContent:ene,run:vf.unstable_runWithPriority,scheduleTimeout:one,shouldDeprioritizeSubtree:tne,shouldSetTextContent:ine,supportsMutation:une,unhideInstance:wne,unhideTextInstance:Sne,warnsIfNotActing:cne},Symbol.toStringTag,{value:"Module"}));var Pne=Object.defineProperty,Ine=Object.defineProperties,Ene=Object.getOwnPropertyDescriptors,a4=Object.getOwnPropertySymbols,One=Object.prototype.hasOwnProperty,Mne=Object.prototype.propertyIsEnumerable,i4=(e,t,n)=>t in e?Pne(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,l4=(e,t)=>{for(var n in t||(t={}))One.call(t,n)&&i4(e,n,t[n]);if(a4)for(var n of a4(t))Mne.call(t,n)&&i4(e,n,t[n]);return e},Rne=(e,t)=>Ine(e,Ene(t));function _I(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const o=_I(r,t,n);if(o)return o;r=t?null:r.sibling}}function kI(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const by=kI(f.createContext(null));class jI extends f.Component{render(){return f.createElement(by.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:c4,ReactCurrentDispatcher:u4}=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function Dne(){const e=f.useContext(by);if(e===null)throw new Error("its-fine: useFiber must be called within a !");const t=f.useId();return f.useMemo(()=>{for(const r of[c4==null?void 0:c4.current,e,e==null?void 0:e.alternate]){if(!r)continue;const o=_I(r,!1,s=>{let i=s.memoizedState;for(;i;){if(i.memoizedState===t)return!0;i=i.next}});if(o)return o}},[e,t])}function Ane(){var e,t;const n=Dne(),[r]=f.useState(()=>new Map);r.clear();let o=n;for(;o;){const s=(e=o.type)==null?void 0:e._context;s&&s!==by&&!r.has(s)&&r.set(s,(t=u4==null?void 0:u4.current)==null?void 0:t.readContext(kI(s))),o=o.return}return r}function Tne(){const e=Ane();return f.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>f.createElement(t,null,f.createElement(n.Provider,Rne(l4({},r),{value:e.get(n)}))),t=>f.createElement(jI,l4({},t))),[e])}function Nne(e){const t=z.useRef({});return z.useLayoutEffect(()=>{t.current=e}),z.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const $ne=e=>{const t=z.useRef(),n=z.useRef(),r=z.useRef(),o=Nne(e),s=Tne(),i=u=>{const{forwardedRef:d}=e;d&&(typeof d=="function"?d(u):d.current=u)};return z.useLayoutEffect(()=>(n.current=new vu.Stage({width:e.width,height:e.height,container:t.current}),i(n.current),r.current=qc.createContainer(n.current,wI.LegacyRoot,!1,null),qc.updateContainer(z.createElement(s,{},e.children),r.current),()=>{vu.isBrowser&&(i(null),qc.updateContainer(null,r.current,null),n.current.destroy())}),[]),z.useLayoutEffect(()=>{i(n.current),Hh(n.current,e,o),qc.updateContainer(z.createElement(s,{},e.children),r.current,null)}),z.createElement("div",{ref:t,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},zc="Layer",Sa="Group",qs="Rect",vi="Circle",Vp="Line",PI="Image",zne="Transformer",qc=Bte(jne);qc.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:z.version,rendererPackageName:"react-konva"});const Lne=z.forwardRef((e,t)=>z.createElement(jI,{},z.createElement($ne,{...e,forwardedRef:t}))),Bne=he([en,Jn],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),Fne=()=>{const e=Z(),{tool:t,isStaging:n,isMovingBoundingBox:r}=$(Bne);return{handleDragStart:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Df(!0))},[e,r,n,t]),handleDragMove:f.useCallback(o=>{if(!((t==="move"||n)&&!r))return;const s={x:o.target.x(),y:o.target.y()};e(l3(s))},[e,r,n,t]),handleDragEnd:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Df(!1))},[e,r,n,t])}},Hne=he([en,or,Jn],(e,t,n)=>{const{cursorPosition:r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:i,isMaskEnabled:u,shouldSnapToGrid:d}=e;return{activeTabName:t,isCursorOnCanvas:!!r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:i,isStaging:n,isMaskEnabled:u,shouldSnapToGrid:d}},{memoizeOptions:{resultEqualityCheck:Gt}}),Wne=()=>{const e=Z(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:o,isMaskEnabled:s,shouldSnapToGrid:i}=$(Hne),u=f.useRef(null),d=c3(),p=()=>e(wv());Ye(["shift+c"],()=>{p()},{enabled:()=>!o,preventDefault:!0},[]);const h=()=>e(ku(!s));Ye(["h"],()=>{h()},{enabled:()=>!o,preventDefault:!0},[s]),Ye(["n"],()=>{e(ou(!i))},{enabled:!0,preventDefault:!0},[i]),Ye("esc",()=>{e(yO())},{enabled:()=>!0,preventDefault:!0}),Ye("shift+h",()=>{e(bO(!n))},{enabled:()=>!o,preventDefault:!0},[t,n]),Ye(["space"],g=>{g.repeat||(d==null||d.container().focus(),r!=="move"&&(u.current=r,e(Hs("move"))),r==="move"&&u.current&&u.current!=="move"&&(e(Hs(u.current)),u.current="move"))},{keyup:!0,keydown:!0,preventDefault:!0},[r,u])},xy=e=>{const t=e.getPointerPosition(),n=e.getAbsoluteTransform().copy();if(!t||!n)return;const r=n.invert().point(t);return{x:r.x,y:r.y}},II=()=>{const e=Z(),t=ma(),n=c3();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const o=xO.pixelRatio,[s,i,u,d]=t.getContext().getImageData(r.x*o,r.y*o,1,1).data;e(wO({r:s,g:i,b:u,a:d}))},commitColorUnderCursor:()=>{e(SO())}}},Vne=he([or,en,Jn],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Gt}}),Une=e=>{const t=Z(),{tool:n,isStaging:r}=$(Vne),{commitColorUnderCursor:o}=II();return f.useCallback(s=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(Df(!0));return}if(n==="colorPicker"){o();return}const i=xy(e.current);i&&(s.evt.preventDefault(),t(u3(!0)),t(CO([i.x,i.y])))},[e,n,r,t,o])},Gne=he([or,en,Jn],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Gt}}),qne=(e,t,n)=>{const r=Z(),{isDrawing:o,tool:s,isStaging:i}=$(Gne),{updateColorUnderCursor:u}=II();return f.useCallback(()=>{if(!e.current)return;const d=xy(e.current);if(d){if(r(_O(d)),n.current=d,s==="colorPicker"){u();return}!o||s==="move"||i||(t.current=!0,r(d3([d.x,d.y])))}},[t,r,o,i,n,e,s,u])},Kne=()=>{const e=Z();return f.useCallback(()=>{e(kO())},[e])},Qne=he([or,en,Jn],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Gt}}),Yne=(e,t)=>{const n=Z(),{tool:r,isDrawing:o,isStaging:s}=$(Qne);return f.useCallback(()=>{if(r==="move"||s){n(Df(!1));return}if(!t.current&&o&&e.current){const i=xy(e.current);if(!i)return;n(d3([i.x,i.y]))}else t.current=!1;n(u3(!1))},[t,n,o,s,e,r])},Xne=he([en],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:Gt}}),Jne=e=>{const t=Z(),{isMoveStageKeyHeld:n,stageScale:r}=$(Xne);return f.useCallback(o=>{if(!e.current||n)return;o.evt.preventDefault();const s=e.current.getPointerPosition();if(!s)return;const i={x:(s.x-e.current.x())/r,y:(s.y-e.current.y())/r};let u=o.evt.deltaY;o.evt.ctrlKey&&(u=-u);const d=Vs(r*IO**u,PO,jO),p={x:s.x-i.x*d,y:s.y-i.y*d};t(EO(d)),t(l3(p))},[e,n,r,t])},Zne=he(en,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageDimensions:r,stageScale:o,shouldDarkenOutsideBoundingBox:s,stageCoordinates:i}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,shouldDarkenOutsideBoundingBox:s,stageCoordinates:i,stageDimensions:r,stageScale:o}},{memoizeOptions:{resultEqualityCheck:Gt}}),ere=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=$(Zne);return a.jsxs(Sa,{children:[a.jsx(qs,{offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fill:"rgba(0,0,0,0.4)",listening:!1,visible:n}),a.jsx(qs,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,visible:n,globalCompositeOperation:"destination-out"})]})},tre=he([en],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),nre=()=>{const{stageScale:e,stageCoordinates:t,stageDimensions:n}=$(tre),{colorMode:r}=xs(),[o,s]=f.useState([]),[i,u]=ec("colors",["base.800","base.200"]),d=f.useCallback(p=>p/e,[e]);return f.useLayoutEffect(()=>{const{width:p,height:h}=n,{x:g,y:v}=t,b={x1:0,y1:0,x2:p,y2:h,offset:{x:d(g),y:d(v)}},S={x:Math.ceil(d(g)/64)*64,y:Math.ceil(d(v)/64)*64},x={x1:-S.x,y1:-S.y,x2:d(p)-S.x+64,y2:d(h)-S.y+64},_={x1:Math.min(b.x1,x.x1),y1:Math.min(b.y1,x.y1),x2:Math.max(b.x2,x.x2),y2:Math.max(b.y2,x.y2)},k=_.x2-_.x1,P=_.y2-_.y1,I=Math.round(k/64)+1,E=Math.round(P/64)+1,O=$x(0,I).map(D=>a.jsx(Vp,{x:_.x1+D*64,y:_.y1,points:[0,0,0,P],stroke:r==="dark"?i:u,strokeWidth:1},`x_${D}`)),R=$x(0,E).map(D=>a.jsx(Vp,{x:_.x1,y:_.y1+D*64,points:[0,0,k,0],stroke:r==="dark"?i:u,strokeWidth:1},`y_${D}`));s(O.concat(R))},[e,t,n,d,r,i,u]),a.jsx(Sa,{children:o})},rre=he([xo,en],(e,t)=>{const{progressImage:n,sessionId:r}=e,{sessionId:o,boundingBox:s}=t.layerState.stagingArea;return{boundingBox:s,progressImage:r===o?n:void 0}},{memoizeOptions:{resultEqualityCheck:Gt}}),ore=e=>{const{...t}=e,{progressImage:n,boundingBox:r}=$(rre),[o,s]=f.useState(null);return f.useEffect(()=>{if(!n)return;const i=new Image;i.onload=()=>{s(i)},i.src=n.dataURL},[n]),n&&r&&o?a.jsx(PI,{x:r.x,y:r.y,width:r.width,height:r.height,image:o,listening:!1,...t}):null},Ii=e=>{const{r:t,g:n,b:r,a:o}=e;return`rgba(${t}, ${n}, ${r}, ${o})`},sre=he(en,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:o}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:o,maskColorString:Ii(t)}}),d4=e=>`data:image/svg+xml;utf8, - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`.replaceAll("black",e),are=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=$(sre),[i,u]=f.useState(null),[d,p]=f.useState(0),h=f.useRef(null),g=f.useCallback(()=>{p(d+1),setTimeout(g,500)},[d]);return f.useEffect(()=>{if(i)return;const v=new Image;v.onload=()=>{u(v)},v.src=d4(n)},[i,n]),f.useEffect(()=>{i&&(i.src=d4(n))},[i,n]),f.useEffect(()=>{const v=setInterval(()=>p(b=>(b+1)%5),50);return()=>clearInterval(v)},[]),!i||!il(r.x)||!il(r.y)||!il(s)||!il(o.width)||!il(o.height)?null:a.jsx(qs,{ref:h,offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fillPatternImage:i,fillPatternOffsetY:il(d)?d:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/s,y:1/s},listening:!0,globalCompositeOperation:"source-in",...t})},ire=he([en],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Gt}}),lre=e=>{const{...t}=e,{objects:n}=$(ire);return a.jsx(Sa,{listening:!1,...t,children:n.filter(OO).map((r,o)=>a.jsx(Vp,{points:r.points,stroke:"rgb(0,0,0)",strokeWidth:r.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:r.tool==="brush"?"source-over":"destination-out"},o))})};var yi=f,cre=function(t,n,r){const o=yi.useRef("loading"),s=yi.useRef(),[i,u]=yi.useState(0),d=yi.useRef(),p=yi.useRef(),h=yi.useRef();return(d.current!==t||p.current!==n||h.current!==r)&&(o.current="loading",s.current=void 0,d.current=t,p.current=n,h.current=r),yi.useLayoutEffect(function(){if(!t)return;var g=document.createElement("img");function v(){o.current="loaded",s.current=g,u(Math.random())}function b(){o.current="failed",s.current=void 0,u(Math.random())}return g.addEventListener("load",v),g.addEventListener("error",b),n&&(g.crossOrigin=n),r&&(g.referrerPolicy=r),g.src=t,function(){g.removeEventListener("load",v),g.removeEventListener("error",b)}},[t,n,r]),[s.current,o.current]};const ure=wu(cre),EI=e=>{const{width:t,height:n,x:r,y:o,imageName:s}=e.canvasImage,{currentData:i,isError:u}=Uo(s??Xr.skipToken),[d]=ure((i==null?void 0:i.image_url)??"",MO.get()?"use-credentials":"anonymous");return u?a.jsx(qs,{x:r,y:o,width:t,height:n,fill:"red"}):a.jsx(PI,{x:r,y:o,image:d,listening:!1})},dre=he([en],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Gt}}),fre=()=>{const{objects:e}=$(dre);return e?a.jsx(Sa,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(O4(t))return a.jsx(EI,{canvasImage:t},n);if(RO(t)){const r=a.jsx(Vp,{points:t.points,stroke:t.color?Ii(t.color):"rgb(0,0,0)",strokeWidth:t.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:t.tool==="brush"?"source-over":"destination-out"},n);return t.clip?a.jsx(Sa,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(DO(t))return a.jsx(qs,{x:t.x,y:t.y,width:t.width,height:t.height,fill:Ii(t.color)},n);if(AO(t))return a.jsx(qs,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},pre=he([en],e=>{const{layerState:t,shouldShowStagingImage:n,shouldShowStagingOutline:r,boundingBoxCoordinates:{x:o,y:s},boundingBoxDimensions:{width:i,height:u}}=e,{selectedImageIndex:d,images:p}=t.stagingArea;return{currentStagingAreaImage:p.length>0&&d!==void 0?p[d]:void 0,isOnFirstImage:d===0,isOnLastImage:d===p.length-1,shouldShowStagingImage:n,shouldShowStagingOutline:r,x:o,y:s,width:i,height:u}},{memoizeOptions:{resultEqualityCheck:Gt}}),hre=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:o,x:s,y:i,width:u,height:d}=$(pre);return a.jsxs(Sa,{...t,children:[r&&n&&a.jsx(EI,{canvasImage:n}),o&&a.jsxs(Sa,{children:[a.jsx(qs,{x:s,y:i,width:u,height:d,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),a.jsx(qs,{x:s,y:i,width:u,height:d,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},mre=he([en],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n,sessionId:r}},shouldShowStagingOutline:o,shouldShowStagingImage:s}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:s,shouldShowStagingOutline:o,sessionId:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),gre=()=>{const e=Z(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:o,sessionId:s}=$(mre),{t:i}=ue(),u=f.useCallback(()=>{e(Ix(!0))},[e]),d=f.useCallback(()=>{e(Ix(!1))},[e]);Ye(["left"],()=>{p()},{enabled:()=>!0,preventDefault:!0}),Ye(["right"],()=>{h()},{enabled:()=>!0,preventDefault:!0}),Ye(["enter"],()=>{g()},{enabled:()=>!0,preventDefault:!0});const p=f.useCallback(()=>e(TO()),[e]),h=f.useCallback(()=>e(NO()),[e]),g=f.useCallback(()=>e($O(s)),[e,s]),{data:v}=Uo((r==null?void 0:r.imageName)??Xr.skipToken);return r?a.jsx(L,{pos:"absolute",bottom:4,w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:u,onMouseOut:d,children:a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{tooltip:`${i("unifiedCanvas.previous")} (Left)`,"aria-label":`${i("unifiedCanvas.previous")} (Left)`,icon:a.jsx(Uz,{}),onClick:p,colorScheme:"accent",isDisabled:t}),a.jsx(je,{tooltip:`${i("unifiedCanvas.next")} (Right)`,"aria-label":`${i("unifiedCanvas.next")} (Right)`,icon:a.jsx(Gz,{}),onClick:h,colorScheme:"accent",isDisabled:n}),a.jsx(je,{tooltip:`${i("unifiedCanvas.accept")} (Enter)`,"aria-label":`${i("unifiedCanvas.accept")} (Enter)`,icon:a.jsx(Kz,{}),onClick:g,colorScheme:"accent"}),a.jsx(je,{tooltip:i("unifiedCanvas.showHide"),"aria-label":i("unifiedCanvas.showHide"),"data-alert":!o,icon:o?a.jsx(nL,{}):a.jsx(tL,{}),onClick:()=>e(zO(!o)),colorScheme:"accent"}),a.jsx(je,{tooltip:i("unifiedCanvas.saveToGallery"),"aria-label":i("unifiedCanvas.saveToGallery"),isDisabled:!v||!v.is_intermediate,icon:a.jsx(yh,{}),onClick:()=>{v&&e(LO({imageDTO:v}))},colorScheme:"accent"}),a.jsx(je,{tooltip:i("unifiedCanvas.discardAll"),"aria-label":i("unifiedCanvas.discardAll"),icon:a.jsx(Hi,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(BO()),colorScheme:"error",fontSize:20})]})}):null},kl=e=>Math.round(e*100)/100,vre=he([en],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${kl(n)}, ${kl(r)})`}},{memoizeOptions:{resultEqualityCheck:Gt}});function yre(){const{cursorCoordinatesString:e}=$(vre),{t}=ue();return a.jsx($e,{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const rv="var(--invokeai-colors-warning-500)",bre=he([en],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:o},boundingBoxDimensions:{width:s,height:i},scaledBoundingBoxDimensions:{width:u,height:d},boundingBoxCoordinates:{x:p,y:h},stageScale:g,shouldShowCanvasDebugInfo:v,layer:b,boundingBoxScaleMethod:S,shouldPreserveMaskedArea:x}=e;let C="inherit";return(S==="none"&&(s<512||i<512)||S==="manual"&&u*d<512*512)&&(C=rv),{activeLayerColor:b==="mask"?rv:"inherit",activeLayerString:b.charAt(0).toUpperCase()+b.slice(1),boundingBoxColor:C,boundingBoxCoordinatesString:`(${kl(p)}, ${kl(h)})`,boundingBoxDimensionsString:`${s}×${i}`,scaledBoundingBoxDimensionsString:`${u}×${d}`,canvasCoordinatesString:`${kl(r)}×${kl(o)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(g*100),shouldShowCanvasDebugInfo:v,shouldShowBoundingBox:S!=="auto",shouldShowScaledBoundingBox:S!=="none",shouldPreserveMaskedArea:x}},{memoizeOptions:{resultEqualityCheck:Gt}}),xre=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:o,scaledBoundingBoxDimensionsString:s,shouldShowScaledBoundingBox:i,canvasCoordinatesString:u,canvasDimensionsString:d,canvasScaleString:p,shouldShowCanvasDebugInfo:h,shouldShowBoundingBox:g,shouldPreserveMaskedArea:v}=$(bre),{t:b}=ue();return a.jsxs(L,{sx:{flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,opacity:.65,display:"flex",fontSize:"sm",padding:1,px:2,minWidth:48,margin:1,borderRadius:"base",pointerEvents:"none",bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsx($e,{style:{color:e},children:`${b("unifiedCanvas.activeLayer")}: ${t}`}),a.jsx($e,{children:`${b("unifiedCanvas.canvasScale")}: ${p}%`}),v&&a.jsx($e,{style:{color:rv},children:"Preserve Masked Area: On"}),g&&a.jsx($e,{style:{color:n},children:`${b("unifiedCanvas.boundingBox")}: ${o}`}),i&&a.jsx($e,{style:{color:n},children:`${b("unifiedCanvas.scaledBoundingBox")}: ${s}`}),h&&a.jsxs(a.Fragment,{children:[a.jsx($e,{children:`${b("unifiedCanvas.boundingBoxPosition")}: ${r}`}),a.jsx($e,{children:`${b("unifiedCanvas.canvasDimensions")}: ${d}`}),a.jsx($e,{children:`${b("unifiedCanvas.canvasPosition")}: ${u}`}),a.jsx(yre,{})]})]})},wre=he([en,Zr],(e,t)=>{const{boundingBoxCoordinates:n,boundingBoxDimensions:r,stageScale:o,isDrawing:s,isTransformingBoundingBox:i,isMovingBoundingBox:u,tool:d,shouldSnapToGrid:p}=e,{aspectRatio:h}=t;return{boundingBoxCoordinates:n,boundingBoxDimensions:r,isDrawing:s,isMovingBoundingBox:u,isTransformingBoundingBox:i,stageScale:o,shouldSnapToGrid:p,tool:d,hitStrokeWidth:20/o,aspectRatio:h}},{memoizeOptions:{resultEqualityCheck:Gt}}),Sre=e=>{const{...t}=e,n=Z(),{boundingBoxCoordinates:r,boundingBoxDimensions:o,isDrawing:s,isMovingBoundingBox:i,isTransformingBoundingBox:u,stageScale:d,shouldSnapToGrid:p,tool:h,hitStrokeWidth:g,aspectRatio:v}=$(wre),b=f.useRef(null),S=f.useRef(null),[x,C]=f.useState(!1);f.useEffect(()=>{var F;!b.current||!S.current||(b.current.nodes([S.current]),(F=b.current.getLayer())==null||F.batchDraw())},[]);const _=64*d;Ye("N",()=>{n(ou(!p))});const k=f.useCallback(F=>{if(!p){n(qm({x:Math.floor(F.target.x()),y:Math.floor(F.target.y())}));return}const N=F.target.x(),G=F.target.y(),K=cs(N,64),M=cs(G,64);F.target.x(K),F.target.y(M),n(qm({x:K,y:M}))},[n,p]),P=f.useCallback(()=>{if(!S.current)return;const F=S.current,N=F.scaleX(),G=F.scaleY(),K=Math.round(F.width()*N),M=Math.round(F.height()*G),U=Math.round(F.x()),V=Math.round(F.y());if(v){const ee=cs(K/v,64);n(Bs({width:K,height:ee}))}else n(Bs({width:K,height:M}));n(qm({x:p?Od(U,64):U,y:p?Od(V,64):V})),F.scaleX(1),F.scaleY(1)},[n,p,v]),I=f.useCallback((F,N,G)=>{const K=F.x%_,M=F.y%_;return{x:Od(N.x,_)+K,y:Od(N.y,_)+M}},[_]),E=()=>{n(Km(!0))},O=()=>{n(Km(!1)),n(Qm(!1)),n(Md(!1)),C(!1)},R=()=>{n(Qm(!0))},D=()=>{n(Km(!1)),n(Qm(!1)),n(Md(!1)),C(!1)},T=()=>{C(!0)},B=()=>{!u&&!i&&C(!1)},W=()=>{n(Md(!0))},J=()=>{n(Md(!1))};return a.jsxs(Sa,{...t,children:[a.jsx(qs,{height:o.height,width:o.width,x:r.x,y:r.y,onMouseEnter:W,onMouseOver:W,onMouseLeave:J,onMouseOut:J}),a.jsx(qs,{draggable:!0,fillEnabled:!1,height:o.height,hitStrokeWidth:g,listening:!s&&h==="move",onDragStart:R,onDragEnd:D,onDragMove:k,onMouseDown:R,onMouseOut:B,onMouseOver:T,onMouseEnter:T,onMouseUp:D,onTransform:P,onTransformEnd:O,ref:S,stroke:x?"rgba(255,255,255,0.7)":"white",strokeWidth:(x?8:1)/d,width:o.width,x:r.x,y:r.y}),a.jsx(zne,{anchorCornerRadius:3,anchorDragBoundFunc:I,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:h==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!s&&h==="move",onDragStart:R,onDragEnd:D,onMouseDown:E,onMouseUp:O,onTransformEnd:O,ref:b,rotateEnabled:!1})]})},Cre=he(en,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:o,brushColor:s,tool:i,layer:u,shouldShowBrush:d,isMovingBoundingBox:p,isTransformingBoundingBox:h,stageScale:g,stageDimensions:v,boundingBoxCoordinates:b,boundingBoxDimensions:S,shouldRestrictStrokesToBox:x}=e,C=x?{clipX:b.x,clipY:b.y,clipWidth:S.width,clipHeight:S.height}:{};return{cursorPosition:t,brushX:t?t.x:v.width/2,brushY:t?t.y:v.height/2,radius:n/2,colorPickerOuterRadius:Ex/g,colorPickerInnerRadius:(Ex-Jg+1)/g,maskColorString:Ii({...o,a:.5}),brushColorString:Ii(s),colorPickerColorString:Ii(r),tool:i,layer:u,shouldShowBrush:d,shouldDrawBrushPreview:!(p||h||!t)&&d,strokeWidth:1.5/g,dotRadius:1.5/g,clip:C}},{memoizeOptions:{resultEqualityCheck:Gt}}),_re=e=>{const{...t}=e,{brushX:n,brushY:r,radius:o,maskColorString:s,tool:i,layer:u,shouldDrawBrushPreview:d,dotRadius:p,strokeWidth:h,brushColorString:g,colorPickerColorString:v,colorPickerInnerRadius:b,colorPickerOuterRadius:S,clip:x}=$(Cre);return d?a.jsxs(Sa,{listening:!1,...x,...t,children:[i==="colorPicker"?a.jsxs(a.Fragment,{children:[a.jsx(vi,{x:n,y:r,radius:S,stroke:g,strokeWidth:Jg,strokeScaleEnabled:!1}),a.jsx(vi,{x:n,y:r,radius:b,stroke:v,strokeWidth:Jg,strokeScaleEnabled:!1})]}):a.jsxs(a.Fragment,{children:[a.jsx(vi,{x:n,y:r,radius:o,fill:u==="mask"?s:g,globalCompositeOperation:i==="eraser"?"destination-out":"source-out"}),a.jsx(vi,{x:n,y:r,radius:o,stroke:"rgba(255,255,255,0.4)",strokeWidth:h*2,strokeEnabled:!0,listening:!1}),a.jsx(vi,{x:n,y:r,radius:o,stroke:"rgba(0,0,0,1)",strokeWidth:h,strokeEnabled:!0,listening:!1})]}),a.jsx(vi,{x:n,y:r,radius:p*2,fill:"rgba(255,255,255,0.4)",listening:!1}),a.jsx(vi,{x:n,y:r,radius:p,fill:"rgba(0,0,0,1)",listening:!1})]}):null},kre=he([en,Jn],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:o,isTransformingBoundingBox:s,isMouseOverBoundingBox:i,isMovingBoundingBox:u,stageDimensions:d,stageCoordinates:p,tool:h,isMovingStage:g,shouldShowIntermediates:v,shouldShowGrid:b,shouldRestrictStrokesToBox:S,shouldAntialias:x}=e;let C="none";return h==="move"||t?g?C="grabbing":C="grab":s?C=void 0:S&&!i&&(C="default"),{isMaskEnabled:n,isModifyingBoundingBox:s||u,shouldShowBoundingBox:o,shouldShowGrid:b,stageCoordinates:p,stageCursor:C,stageDimensions:d,stageScale:r,tool:h,isStaging:t,shouldShowIntermediates:v,shouldAntialias:x}},Ke),jre=He(Lne,{shouldForwardProp:e=>!["sx"].includes(e)}),f4=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:o,stageCursor:s,stageDimensions:i,stageScale:u,tool:d,isStaging:p,shouldShowIntermediates:h,shouldAntialias:g}=$(kre);Wne();const v=f.useRef(null),b=f.useRef(null),S=f.useCallback(B=>{HO(B),v.current=B},[]),x=f.useCallback(B=>{FO(B),b.current=B},[]),C=f.useRef({x:0,y:0}),_=f.useRef(!1),k=Jne(v),P=Une(v),I=Yne(v,_),E=qne(v,_,C),O=Kne(),{handleDragStart:R,handleDragMove:D,handleDragEnd:T}=Fne();return a.jsx(L,{sx:{position:"relative",height:"100%",width:"100%",borderRadius:"base"},children:a.jsxs($e,{sx:{position:"relative"},children:[a.jsxs(jre,{tabIndex:-1,ref:S,sx:{outline:"none",overflow:"hidden",cursor:s||void 0,canvas:{outline:"none"}},x:o.x,y:o.y,width:i.width,height:i.height,scale:{x:u,y:u},onTouchStart:P,onTouchMove:E,onTouchEnd:I,onMouseDown:P,onMouseLeave:O,onMouseMove:E,onMouseUp:I,onDragStart:R,onDragMove:D,onDragEnd:T,onContextMenu:B=>B.evt.preventDefault(),onWheel:k,draggable:(d==="move"||p)&&!t,children:[a.jsx(zc,{id:"grid",visible:r,children:a.jsx(nre,{})}),a.jsx(zc,{id:"base",ref:x,listening:!1,imageSmoothingEnabled:g,children:a.jsx(fre,{})}),a.jsxs(zc,{id:"mask",visible:e,listening:!1,children:[a.jsx(lre,{visible:!0,listening:!1}),a.jsx(are,{listening:!1})]}),a.jsx(zc,{children:a.jsx(ere,{})}),a.jsxs(zc,{id:"preview",imageSmoothingEnabled:g,children:[!p&&a.jsx(_re,{visible:d!=="move",listening:!1}),a.jsx(hre,{visible:p}),h&&a.jsx(ore,{}),a.jsx(Sre,{visible:n&&!p})]})]}),a.jsx(xre,{}),a.jsx(gre,{})]})})},Pre=he(en,JN,or,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:o}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:o}}),p4=()=>{const e=Z(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:o}=$(Pre),s=f.useRef(null);return f.useLayoutEffect(()=>{window.setTimeout(()=>{if(!s.current)return;const{clientWidth:i,clientHeight:u}=s.current;e(WO({width:i,height:u})),e(o?VO():Jp()),e(M4(!1))},0)},[e,r,t,n,o]),a.jsx(L,{ref:s,sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,width:"100%",height:"100%"},children:a.jsx(oc,{thickness:"2px",size:"xl"})})};function OI(e,t,n=250){const[r,o]=f.useState(0);return f.useEffect(()=>{const s=setTimeout(()=>{r===1&&e(),o(0)},n);return r===2&&t(),()=>clearTimeout(s)},[r,e,t,n]),()=>o(s=>s+1)}const Ire=He(mI,{baseStyle:{paddingInline:4},shouldForwardProp:e=>!["pickerColor"].includes(e)}),Hg={width:6,height:6,borderColor:"base.100"},Ere=e=>{const{styleClass:t="",...n}=e;return a.jsx(Ire,{sx:{".react-colorful__hue-pointer":Hg,".react-colorful__saturation-pointer":Hg,".react-colorful__alpha-pointer":Hg},className:t,...n})},Up=f.memo(Ere),Ore=he([en,Jn],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:o,shouldPreserveMaskedArea:s}=e;return{layer:r,maskColor:n,maskColorString:Ii(n),isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Gt}}),Mre=()=>{const e=Z(),{t}=ue(),{layer:n,maskColor:r,isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:i}=$(Ore);Ye(["q"],()=>{u()},{enabled:()=>!i,preventDefault:!0},[n]),Ye(["shift+c"],()=>{d()},{enabled:()=>!i,preventDefault:!0},[]),Ye(["h"],()=>{p()},{enabled:()=>!i,preventDefault:!0},[o]);const u=()=>{e(Af(n==="mask"?"base":"mask"))},d=()=>e(wv()),p=()=>e(ku(!o));return a.jsx(Wi,{triggerComponent:a.jsx(Yn,{children:a.jsx(je,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:a.jsx(dL,{}),isChecked:n==="mask",isDisabled:i})}),children:a.jsxs(L,{direction:"column",gap:2,children:[a.jsx(Ln,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:o,onChange:p}),a.jsx(Ln,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:s,onChange:h=>e(f3(h.target.checked))}),a.jsx(Up,{sx:{paddingTop:2,paddingBottom:2},pickerColor:r,onChange:h=>e(p3(h))}),a.jsxs(Xt,{size:"sm",leftIcon:a.jsx(Xo,{}),onClick:d,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},Rre=he([en,or,xo],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Gt}});function MI(){const e=Z(),{canRedo:t,activeTabName:n}=$(Rre),{t:r}=ue(),o=()=>{e(UO())};return Ye(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{o()},{enabled:()=>t,preventDefault:!0},[n,t]),a.jsx(je,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:a.jsx(mL,{}),onClick:o,isDisabled:!t})}const RI=()=>{const e=$(Jn),t=Z(),{t:n}=ue();return a.jsxs(hy,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(GO()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:a.jsx(Xt,{size:"sm",leftIcon:a.jsx(Xo,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[a.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),a.jsx("br",{}),a.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},Dre=he([en],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:i,shouldSnapToGrid:u,shouldRestrictStrokesToBox:d,shouldAntialias:p}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:i,shouldSnapToGrid:u,shouldRestrictStrokesToBox:d,shouldAntialias:p}},{memoizeOptions:{resultEqualityCheck:Gt}}),Are=()=>{const e=Z(),{t}=ue(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:o,shouldShowCanvasDebugInfo:s,shouldShowGrid:i,shouldShowIntermediates:u,shouldSnapToGrid:d,shouldRestrictStrokesToBox:p,shouldAntialias:h}=$(Dre);Ye(["n"],()=>{e(ou(!d))},{enabled:!0,preventDefault:!0},[d]);const g=v=>e(ou(v.target.checked));return a.jsx(Wi,{isLazy:!1,triggerComponent:a.jsx(je,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:a.jsx(x1,{})}),children:a.jsxs(L,{direction:"column",gap:2,children:[a.jsx(Ln,{label:t("unifiedCanvas.showIntermediates"),isChecked:u,onChange:v=>e(h3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.showGrid"),isChecked:i,onChange:v=>e(m3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.snapToGrid"),isChecked:d,onChange:g}),a.jsx(Ln,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:o,onChange:v=>e(g3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:v=>e(v3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:v=>e(y3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:p,onChange:v=>e(b3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:s,onChange:v=>e(x3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.antialiasing"),isChecked:h,onChange:v=>e(w3(v.target.checked))}),a.jsx(RI,{})]})})},Tre=he([en,Jn,xo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o,brushColor:s,brushSize:i}=e;return{tool:o,isStaging:t,isProcessing:r,brushColor:s,brushSize:i}},{memoizeOptions:{resultEqualityCheck:Gt}}),Nre=()=>{const e=Z(),{tool:t,brushColor:n,brushSize:r,isStaging:o}=$(Tre),{t:s}=ue();Ye(["b"],()=>{i()},{enabled:()=>!o,preventDefault:!0},[]),Ye(["e"],()=>{u()},{enabled:()=>!o,preventDefault:!0},[t]),Ye(["c"],()=>{d()},{enabled:()=>!o,preventDefault:!0},[t]),Ye(["shift+f"],()=>{p()},{enabled:()=>!o,preventDefault:!0}),Ye(["delete","backspace"],()=>{h()},{enabled:()=>!o,preventDefault:!0}),Ye(["BracketLeft"],()=>{e(Il(Math.max(r-5,5)))},{enabled:()=>!o,preventDefault:!0},[r]),Ye(["BracketRight"],()=>{e(Il(Math.min(r+5,500)))},{enabled:()=>!o,preventDefault:!0},[r]),Ye(["Shift+BracketLeft"],()=>{e(El({...n,a:Vs(n.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]),Ye(["Shift+BracketRight"],()=>{e(El({...n,a:Vs(n.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]);const i=()=>e(Hs("brush")),u=()=>e(Hs("eraser")),d=()=>e(Hs("colorPicker")),p=()=>e(S3()),h=()=>e(C3());return a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{"aria-label":`${s("unifiedCanvas.brush")} (B)`,tooltip:`${s("unifiedCanvas.brush")} (B)`,icon:a.jsx(b_,{}),isChecked:t==="brush"&&!o,onClick:i,isDisabled:o}),a.jsx(je,{"aria-label":`${s("unifiedCanvas.eraser")} (E)`,tooltip:`${s("unifiedCanvas.eraser")} (E)`,icon:a.jsx(h_,{}),isChecked:t==="eraser"&&!o,isDisabled:o,onClick:u}),a.jsx(je,{"aria-label":`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:a.jsx(v_,{}),isDisabled:o,onClick:p}),a.jsx(je,{"aria-label":`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:a.jsx(Hi,{style:{transform:"rotate(45deg)"}}),isDisabled:o,onClick:h}),a.jsx(je,{"aria-label":`${s("unifiedCanvas.colorPicker")} (C)`,tooltip:`${s("unifiedCanvas.colorPicker")} (C)`,icon:a.jsx(g_,{}),isChecked:t==="colorPicker"&&!o,isDisabled:o,onClick:d}),a.jsx(Wi,{triggerComponent:a.jsx(je,{"aria-label":s("unifiedCanvas.brushOptions"),tooltip:s("unifiedCanvas.brushOptions"),icon:a.jsx(y1,{})}),children:a.jsxs(L,{minWidth:60,direction:"column",gap:4,width:"100%",children:[a.jsx(L,{gap:4,justifyContent:"space-between",children:a.jsx(Ct,{label:s("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:g=>e(Il(g)),sliderNumberInputProps:{max:500}})}),a.jsx(Up,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:g=>e(El(g))})]})})]})},$re=he([en,or,xo],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Gt}});function DI(){const e=Z(),{t}=ue(),{canUndo:n,activeTabName:r}=$($re),o=()=>{e(qO())};return Ye(["meta+z","ctrl+z"],()=>{o()},{enabled:()=>n,preventDefault:!0},[r,n]),a.jsx(je,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:a.jsx(b1,{}),onClick:o,isDisabled:!n})}const zre=he([xo,en,Jn],(e,t,n)=>{const{isProcessing:r}=e,{tool:o,shouldCropToBoundingBoxOnSave:s,layer:i,isMaskEnabled:u}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:u,tool:o,layer:i,shouldCropToBoundingBoxOnSave:s}},{memoizeOptions:{resultEqualityCheck:Gt}}),Lre=()=>{const e=Z(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:o,tool:s}=$(zre),i=ma(),{t:u}=ue(),{isClipboardAPIAvailable:d}=G1(),{getUploadButtonProps:p,getUploadInputProps:h}=Rh({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}});Ye(["v"],()=>{g()},{enabled:()=>!n,preventDefault:!0},[]),Ye(["r"],()=>{b()},{enabled:()=>!0,preventDefault:!0},[i]),Ye(["shift+m"],()=>{x()},{enabled:()=>!n,preventDefault:!0},[i,t]),Ye(["shift+s"],()=>{C()},{enabled:()=>!n,preventDefault:!0},[i,t]),Ye(["meta+c","ctrl+c"],()=>{_()},{enabled:()=>!n&&d,preventDefault:!0},[i,t,d]),Ye(["shift+d"],()=>{k()},{enabled:()=>!n,preventDefault:!0},[i,t]);const g=()=>e(Hs("move")),v=OI(()=>b(!1),()=>b(!0)),b=(I=!1)=>{const E=ma();if(!E)return;const O=E.getClientRect({skipTransform:!0});e(_3({contentRect:O,shouldScaleTo1:I}))},S=()=>{e(vv()),e(Jp())},x=()=>{e(k3())},C=()=>{e(j3())},_=()=>{d&&e(P3())},k=()=>{e(I3())},P=I=>{const E=I;e(Af(E)),E==="mask"&&!r&&e(ku(!0))};return a.jsxs(L,{sx:{alignItems:"center",gap:2,flexWrap:"wrap"},children:[a.jsx($e,{w:24,children:a.jsx(br,{tooltip:`${u("unifiedCanvas.layer")} (Q)`,value:o,data:E3,onChange:P,disabled:n})}),a.jsx(Mre,{}),a.jsx(Nre,{}),a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{"aria-label":`${u("unifiedCanvas.move")} (V)`,tooltip:`${u("unifiedCanvas.move")} (V)`,icon:a.jsx(d_,{}),isChecked:s==="move"||n,onClick:g}),a.jsx(je,{"aria-label":`${u("unifiedCanvas.resetView")} (R)`,tooltip:`${u("unifiedCanvas.resetView")} (R)`,icon:a.jsx(p_,{}),onClick:v})]}),a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{"aria-label":`${u("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${u("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:a.jsx(y_,{}),onClick:x,isDisabled:n}),a.jsx(je,{"aria-label":`${u("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${u("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:a.jsx(yh,{}),onClick:C,isDisabled:n}),d&&a.jsx(je,{"aria-label":`${u("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${u("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:a.jsx(cc,{}),onClick:_,isDisabled:n}),a.jsx(je,{"aria-label":`${u("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${u("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:a.jsx(v1,{}),onClick:k,isDisabled:n})]}),a.jsxs(Yn,{isAttached:!0,children:[a.jsx(DI,{}),a.jsx(MI,{})]}),a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{"aria-label":`${u("common.upload")}`,tooltip:`${u("common.upload")}`,icon:a.jsx(Fu,{}),isDisabled:n,...p()}),a.jsx("input",{...h()}),a.jsx(je,{"aria-label":`${u("unifiedCanvas.clearCanvas")}`,tooltip:`${u("unifiedCanvas.clearCanvas")}`,icon:a.jsx(Xo,{}),onClick:S,colorScheme:"error",isDisabled:n})]}),a.jsx(Yn,{isAttached:!0,children:a.jsx(Are,{})})]})};function Bre(){const e=Z(),t=$(o=>o.canvas.brushSize),{t:n}=ue(),r=$(Jn);return Ye(["BracketLeft"],()=>{e(Il(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),Ye(["BracketRight"],()=>{e(Il(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),a.jsx(Ct,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:o=>e(Il(o)),sliderNumberInputProps:{max:500},isCompact:!0})}const Fre=he([en,Jn],(e,t)=>{const{brushColor:n,maskColor:r,layer:o}=e;return{brushColor:n,maskColor:r,layer:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Gt}});function Hre(){const e=Z(),{brushColor:t,maskColor:n,layer:r,isStaging:o}=$(Fre),s=()=>{if(r==="base")return`rgba(${t.r},${t.g},${t.b},${t.a})`;if(r==="mask")return`rgba(${n.r},${n.g},${n.b},${n.a})`};return Ye(["shift+BracketLeft"],()=>{e(El({...t,a:Vs(t.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),Ye(["shift+BracketRight"],()=>{e(El({...t,a:Vs(t.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),a.jsx(Wi,{triggerComponent:a.jsx($e,{sx:{width:7,height:7,minWidth:7,minHeight:7,borderRadius:"full",bg:s(),cursor:"pointer"}}),children:a.jsxs(L,{minWidth:60,direction:"column",gap:4,width:"100%",children:[r==="base"&&a.jsx(Up,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:t,onChange:i=>e(El(i))}),r==="mask"&&a.jsx(Up,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:i=>e(p3(i))})]})})}function AI(){return a.jsxs(L,{columnGap:4,alignItems:"center",children:[a.jsx(Bre,{}),a.jsx(Hre,{})]})}function Wre(){const e=Z(),t=$(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=ue();return a.jsx(Ln,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(b3(r.target.checked))})}function Vre(){return a.jsxs(L,{gap:4,alignItems:"center",children:[a.jsx(AI,{}),a.jsx(Wre,{})]})}function Ure(){const e=Z(),{t}=ue(),n=()=>e(wv());return a.jsx(Xt,{size:"sm",leftIcon:a.jsx(Xo,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function Gre(){const e=$(o=>o.canvas.isMaskEnabled),t=Z(),{t:n}=ue(),r=()=>t(ku(!e));return a.jsx(Ln,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function qre(){const e=Z(),{t}=ue(),n=$(r=>r.canvas.shouldPreserveMaskedArea);return a.jsx(Ln,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(f3(r.target.checked))})}function Kre(){return a.jsxs(L,{gap:4,alignItems:"center",children:[a.jsx(AI,{}),a.jsx(Gre,{}),a.jsx(qre,{}),a.jsx(Ure,{})]})}function Qre(){const e=$(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=Z(),{t:n}=ue();return a.jsx(Ln,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(g3(r.target.checked))})}function Yre(){const e=$(r=>r.canvas.shouldShowGrid),t=Z(),{t:n}=ue();return a.jsx(Ln,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(m3(r.target.checked))})}function Xre(){const e=$(o=>o.canvas.shouldSnapToGrid),t=Z(),{t:n}=ue(),r=o=>t(ou(o.target.checked));return a.jsx(Ln,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function Jre(){return a.jsxs(L,{alignItems:"center",gap:4,children:[a.jsx(Yre,{}),a.jsx(Xre,{}),a.jsx(Qre,{})]})}const Zre=he([en],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Gt}});function eoe(){const{tool:e,layer:t}=$(Zre);return a.jsxs(L,{height:8,minHeight:8,maxHeight:8,alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&a.jsx(Vre,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&a.jsx(Kre,{}),e=="move"&&a.jsx(Jre,{})]})}const toe=he([en],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}},{memoizeOptions:{resultEqualityCheck:Gt}}),noe=()=>{const e=Z(),{t}=ue(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:o,shouldShowIntermediates:s,shouldAntialias:i}=$(toe);return a.jsx(Wi,{isLazy:!1,triggerComponent:a.jsx(je,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:a.jsx(x1,{})}),children:a.jsxs(L,{direction:"column",gap:2,children:[a.jsx(Ln,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:u=>e(h3(u.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:u=>e(v3(u.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:u=>e(y3(u.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:u=>e(x3(u.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.antialiasing"),isChecked:i,onChange:u=>e(w3(u.target.checked))}),a.jsx(RI,{})]})})};function roe(){const e=$(Jn),t=ma(),{isClipboardAPIAvailable:n}=G1(),r=$(u=>u.system.isProcessing),o=Z(),{t:s}=ue();Ye(["meta+c","ctrl+c"],()=>{i()},{enabled:()=>!e&&n,preventDefault:!0},[t,r,n]);const i=f.useCallback(()=>{n&&o(P3())},[o,n]);return n?a.jsx(je,{"aria-label":`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:a.jsx(cc,{}),onClick:i,isDisabled:e}):null}function ooe(){const e=Z(),{t}=ue(),n=ma(),r=$(Jn);Ye(["shift+d"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]);const o=()=>{e(I3())};return a.jsx(je,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:a.jsx(v1,{}),onClick:o,isDisabled:r})}function soe(){const e=$(Jn),{getUploadButtonProps:t,getUploadInputProps:n}=Rh({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}}),{t:r}=ue();return a.jsxs(a.Fragment,{children:[a.jsx(je,{"aria-label":r("common.upload"),tooltip:r("common.upload"),icon:a.jsx(Fu,{}),isDisabled:e,...t()}),a.jsx("input",{...n()})]})}const aoe=he([en,Jn],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Gt}});function ioe(){const e=Z(),{t}=ue(),{layer:n,isMaskEnabled:r,isStaging:o}=$(aoe),s=()=>{e(Af(n==="mask"?"base":"mask"))};Ye(["q"],()=>{s()},{enabled:()=>!o,preventDefault:!0},[n]);const i=u=>{const d=u;e(Af(d)),d==="mask"&&!r&&e(ku(!0))};return a.jsx(Co,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,"aria-label":`${t("unifiedCanvas.layer")} (Q)`,value:n,data:E3,onChange:i,disabled:o,w:"full"})}function loe(){const e=Z(),{t}=ue(),n=ma(),r=$(Jn),o=$(i=>i.system.isProcessing);Ye(["shift+m"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n,o]);const s=()=>{e(k3())};return a.jsx(je,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:a.jsx(y_,{}),onClick:s,isDisabled:r})}function coe(){const e=$(s=>s.canvas.tool),t=$(Jn),n=Z(),{t:r}=ue();Ye(["v"],()=>{o()},{enabled:()=>!t,preventDefault:!0},[]);const o=()=>n(Hs("move"));return a.jsx(je,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:a.jsx(d_,{}),isChecked:e==="move"||t,onClick:o})}function uoe(){const e=$(s=>s.ui.shouldPinParametersPanel),t=$(s=>s.ui.shouldShowParametersPanel),n=Z(),{t:r}=ue(),o=()=>{n(Sv(!0)),e&&n(yo())};return!e||!t?a.jsxs(L,{flexDirection:"column",gap:2,children:[a.jsx(je,{tooltip:`${r("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":r("parameters.showOptionsPanel"),onClick:o,children:a.jsx(y1,{})}),a.jsx(L,{children:a.jsx(dy,{iconButton:!0})}),a.jsx(L,{children:a.jsx(Th,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]}):null}function doe(){const e=Z(),{t}=ue(),n=$(Jn),r=()=>{e(vv()),e(Jp())};return a.jsx(je,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:a.jsx(Xo,{}),onClick:r,isDisabled:n,colorScheme:"error"})}function foe(){const e=ma(),t=Z(),{t:n}=ue();Ye(["r"],()=>{o()},{enabled:()=>!0,preventDefault:!0},[e]);const r=OI(()=>o(!1),()=>o(!0)),o=(s=!1)=>{const i=ma();if(!i)return;const u=i.getClientRect({skipTransform:!0});t(_3({contentRect:u,shouldScaleTo1:s}))};return a.jsx(je,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:a.jsx(p_,{}),onClick:r})}function poe(){const e=$(Jn),t=ma(),n=$(i=>i.system.isProcessing),r=Z(),{t:o}=ue();Ye(["shift+s"],()=>{s()},{enabled:()=>!e,preventDefault:!0},[t,n]);const s=()=>{r(j3())};return a.jsx(je,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:a.jsx(yh,{}),onClick:s,isDisabled:e})}const hoe=he([en,Jn,xo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o}=e;return{tool:o,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),moe=()=>{const e=Z(),{t}=ue(),{tool:n,isStaging:r}=$(hoe);Ye(["b"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[]),Ye(["e"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n]),Ye(["c"],()=>{i()},{enabled:()=>!r,preventDefault:!0},[n]),Ye(["shift+f"],()=>{u()},{enabled:()=>!r,preventDefault:!0}),Ye(["delete","backspace"],()=>{d()},{enabled:()=>!r,preventDefault:!0});const o=()=>e(Hs("brush")),s=()=>e(Hs("eraser")),i=()=>e(Hs("colorPicker")),u=()=>e(S3()),d=()=>e(C3());return a.jsxs(L,{flexDirection:"column",gap:2,children:[a.jsxs(Yn,{children:[a.jsx(je,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:a.jsx(b_,{}),isChecked:n==="brush"&&!r,onClick:o,isDisabled:r}),a.jsx(je,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:a.jsx(h_,{}),isChecked:n==="eraser"&&!r,isDisabled:r,onClick:s})]}),a.jsxs(Yn,{children:[a.jsx(je,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:a.jsx(v_,{}),isDisabled:r,onClick:u}),a.jsx(je,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:a.jsx(Hi,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:d})]}),a.jsx(je,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:a.jsx(g_,{}),isChecked:n==="colorPicker"&&!r,isDisabled:r,onClick:i,width:"max-content"})]})},goe=()=>a.jsxs(L,{flexDirection:"column",rowGap:2,width:"min-content",children:[a.jsx(ioe,{}),a.jsx(moe,{}),a.jsxs(L,{gap:2,children:[a.jsx(coe,{}),a.jsx(foe,{})]}),a.jsxs(L,{columnGap:2,children:[a.jsx(loe,{}),a.jsx(poe,{})]}),a.jsxs(L,{columnGap:2,children:[a.jsx(roe,{}),a.jsx(ooe,{})]}),a.jsxs(L,{gap:2,children:[a.jsx(DI,{}),a.jsx(MI,{})]}),a.jsxs(L,{gap:2,children:[a.jsx(soe,{}),a.jsx(doe,{})]}),a.jsx(noe,{}),a.jsx(uoe,{})]}),voe=he([en,Zr],(e,t)=>{const{doesCanvasNeedScaling:n}=e,{shouldUseCanvasBetaLayout:r}=t;return{doesCanvasNeedScaling:n,shouldUseCanvasBetaLayout:r}},Ke),Wg={id:"canvas-intial-image",actionType:"SET_CANVAS_INITIAL_IMAGE"},yoe=()=>{const e=Z(),{doesCanvasNeedScaling:t,shouldUseCanvasBetaLayout:n}=$(voe),{isOver:r,setNodeRef:o,active:s}=uv({id:"unifiedCanvas",data:Wg});return f.useLayoutEffect(()=>{const i=()=>{e(yo())};return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[e]),n?a.jsx($e,{layerStyle:"first",ref:o,tabIndex:0,sx:{w:"full",h:"full",p:4,borderRadius:"base"},children:a.jsxs(L,{sx:{w:"full",h:"full",gap:4},children:[a.jsx(goe,{}),a.jsxs(L,{sx:{flexDir:"column",w:"full",h:"full",gap:4,position:"relative"},children:[a.jsx(eoe,{}),a.jsxs($e,{sx:{w:"full",h:"full",position:"relative"},children:[t?a.jsx(p4,{}):a.jsx(f4,{}),jf(Wg,s)&&a.jsx(Yf,{isOver:r,label:"Set Canvas Initial Image"})]})]})]})}):a.jsx($e,{ref:o,tabIndex:-1,sx:{layerStyle:"first",w:"full",h:"full",p:4,borderRadius:"base"},children:a.jsxs(L,{sx:{flexDirection:"column",alignItems:"center",gap:4,w:"full",h:"full"},children:[a.jsx(Lre,{}),a.jsx(L,{sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,w:"full",h:"full"},children:a.jsxs($e,{sx:{w:"full",h:"full",position:"relative"},children:[t?a.jsx(p4,{}):a.jsx(f4,{}),jf(Wg,s)&&a.jsx(Yf,{isOver:r,label:"Set Canvas Initial Image"})]})})]})})},boe=f.memo(yoe),xoe=he([mt],({generation:e})=>{const{infillMethod:t}=e;return{infillMethod:t}},Ke),woe=()=>{const e=Z(),{infillMethod:t}=$(xoe),{data:n,isLoading:r}=KO(),o=n==null?void 0:n.infill_methods,{t:s}=ue(),i=f.useCallback(u=>{e(QO(u))},[e]);return a.jsx(Co,{disabled:(o==null?void 0:o.length)===0,placeholder:r?"Loading...":void 0,label:s("parameters.infillMethod"),value:t,data:o??[],onChange:i})},Soe=f.memo(woe),Coe=he([Zo],e=>{const{tileSize:t,infillMethod:n}=e;return{tileSize:t,infillMethod:n}},Ke),_oe=()=>{const e=Z(),{tileSize:t,infillMethod:n}=$(Coe),{t:r}=ue(),o=f.useCallback(i=>{e(Ox(i))},[e]),s=f.useCallback(()=>{e(Ox(32))},[e]);return a.jsx(Ct,{isDisabled:n!=="tile",label:r("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:o,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:s})},koe=f.memo(_oe),joe=he([en],e=>{const{boundingBoxScaleMethod:t}=e;return{boundingBoxScale:t}},Ke),Poe=()=>{const e=Z(),{boundingBoxScale:t}=$(joe),{t:n}=ue(),r=o=>{e(XO(o))};return a.jsx(br,{label:n("parameters.scaleBeforeProcessing"),data:YO,value:t,onChange:r})},Ioe=f.memo(Poe),Eoe=he([Zo,xo,en],(e,t,n)=>{const{scaledBoundingBoxDimensions:r,boundingBoxScaleMethod:o}=n;return{scaledBoundingBoxDimensions:r,isManual:o==="manual"}},Ke),Ooe=()=>{const e=Z(),{isManual:t,scaledBoundingBoxDimensions:n}=$(Eoe),{t:r}=ue(),o=i=>{e(Tf({...n,height:Math.floor(i)}))},s=()=>{e(Tf({...n,height:Math.floor(512)}))};return a.jsx(Ct,{isDisabled:!t,label:r("parameters.scaledHeight"),min:64,max:1024,step:64,value:n.height,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},Moe=f.memo(Ooe),Roe=he([en],e=>{const{boundingBoxScaleMethod:t,scaledBoundingBoxDimensions:n}=e;return{scaledBoundingBoxDimensions:n,isManual:t==="manual"}},Ke),Doe=()=>{const e=Z(),{isManual:t,scaledBoundingBoxDimensions:n}=$(Roe),{t:r}=ue(),o=i=>{e(Tf({...n,width:Math.floor(i)}))},s=()=>{e(Tf({...n,width:Math.floor(512)}))};return a.jsx(Ct,{isDisabled:!t,label:r("parameters.scaledWidth"),min:64,max:1024,step:64,value:n.width,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},Aoe=f.memo(Doe),Toe=()=>{const{t:e}=ue();return a.jsx(Ro,{label:e("parameters.infillScalingHeader"),children:a.jsxs(L,{sx:{gap:2,flexDirection:"column"},children:[a.jsx(Soe,{}),a.jsx(koe,{}),a.jsx(Ioe,{}),a.jsx(Aoe,{}),a.jsx(Moe,{})]})})},Noe=f.memo(Toe);function $oe(){const e=Z(),t=$(r=>r.generation.seamBlur),{t:n}=ue();return a.jsx(Ct,{label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(Mx(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(Mx(16))}})}function zoe(){const e=Z(),{t}=ue(),n=$(r=>r.generation.seamSize);return a.jsx(Ct,{label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(Rx(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(Rx(96))})}function Loe(){const{t:e}=ue(),t=$(r=>r.generation.seamSteps),n=Z();return a.jsx(Ct,{label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(Dx(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(Dx(30))}})}function Boe(){const e=Z(),{t}=ue(),n=$(r=>r.generation.seamStrength);return a.jsx(Ct,{label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(Ax(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(Ax(.7))}})}const Foe=()=>{const{t:e}=ue();return a.jsxs(Ro,{label:e("parameters.seamCorrectionHeader"),children:[a.jsx(zoe,{}),a.jsx($oe,{}),a.jsx(Boe,{}),a.jsx(Loe,{})]})},Hoe=f.memo(Foe),Woe=he([en,Jn,Zr],(e,t,n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=n;return{boundingBoxDimensions:r,isStaging:t,aspectRatio:o}},Ke),Voe=()=>{const e=Z(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=$(Woe),{t:o}=ue(),s=u=>{if(e(Bs({...t,height:Math.floor(u)})),r){const d=cs(u*r,64);e(Bs({width:d,height:Math.floor(u)}))}},i=()=>{if(e(Bs({...t,height:Math.floor(512)})),r){const u=cs(512*r,64);e(Bs({width:u,height:Math.floor(512)}))}};return a.jsx(Ct,{label:o("parameters.boundingBoxHeight"),min:64,max:1024,step:64,value:t.height,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:i})},Uoe=f.memo(Voe),Goe=he([en,Jn,Zr],(e,t,n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=n;return{boundingBoxDimensions:r,isStaging:t,aspectRatio:o}},Ke),qoe=()=>{const e=Z(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=$(Goe),{t:o}=ue(),s=u=>{if(e(Bs({...t,width:Math.floor(u)})),r){const d=cs(u/r,64);e(Bs({width:Math.floor(u),height:d}))}},i=()=>{if(e(Bs({...t,width:Math.floor(512)})),r){const u=cs(512/r,64);e(Bs({width:Math.floor(512),height:u}))}};return a.jsx(Ct,{label:o("parameters.boundingBoxWidth"),min:64,max:1024,step:64,value:t.width,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:i})},Koe=f.memo(qoe);function h4(){const e=Z(),{t}=ue();return a.jsxs(L,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[a.jsxs(L,{alignItems:"center",gap:2,children:[a.jsx(qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:t("parameters.aspectRatio")}),a.jsx(Bi,{}),a.jsx(eI,{}),a.jsx(je,{tooltip:t("ui.swapSizes"),"aria-label":t("ui.swapSizes"),size:"sm",icon:a.jsx(jP,{}),fontSize:20,onClick:()=>e(JO())})]}),a.jsx(Koe,{}),a.jsx(Uoe,{})]})}const Qoe=he(mt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ke),Yoe=()=>{const{shouldUseSliders:e,activeLabel:t}=$(Qoe);return a.jsx(Ro,{label:"General",activeLabel:t,defaultIsOpen:!0,children:a.jsxs(L,{sx:{flexDirection:"column",gap:3},children:[e?a.jsxs(a.Fragment,{children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(h4,{})]}):a.jsxs(a.Fragment,{children:[a.jsxs(L,{gap:3,children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{})]}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(h4,{})]}),a.jsx(tI,{})]})})},Xoe=f.memo(Yoe),Joe=()=>a.jsxs(a.Fragment,{children:[a.jsx(ly,{}),a.jsx(sy,{}),a.jsx(fy,{}),a.jsx(Xoe,{}),a.jsx(ry,{}),a.jsx(ty,{}),a.jsx(ey,{}),a.jsx(uy,{}),a.jsx(cy,{}),a.jsx(Hoe,{}),a.jsx(Noe,{}),a.jsx(ny,{})]}),TI=f.memo(Joe),Zoe=()=>a.jsxs(L,{sx:{gap:4,w:"full",h:"full"},children:[a.jsx(Z1,{children:a.jsx(TI,{})}),a.jsx(boe,{})]}),ese=f.memo(Zoe),tse=[{id:"txt2img",translationKey:"common.txt2img",icon:a.jsx(io,{as:rL,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(Nte,{})},{id:"img2img",translationKey:"common.img2img",icon:a.jsx(io,{as:Ti,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(zJ,{})},{id:"unifiedCanvas",translationKey:"common.unifiedCanvas",icon:a.jsx(io,{as:BK,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(ese,{})},{id:"nodes",translationKey:"common.nodes",icon:a.jsx(io,{as:LK,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(Ote,{})},{id:"modelManager",translationKey:"modelManager.modelManager",icon:a.jsx(io,{as:Yz,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(TZ,{})}],nse=he([qi,xo],(e,t)=>{const{disabledTabs:n}=e,{isNodesEnabled:r}=t;return tse.filter(s=>s.id==="nodes"?r&&!n.includes(s.id):!n.includes(s.id))},{memoizeOptions:{resultEqualityCheck:Gt}}),rse=350,Vg=20,NI=["modelManager"],ose=()=>{const e=$(FT),t=$(or),n=$(nse),{shouldPinGallery:r,shouldPinParametersPanel:o,shouldShowGallery:s}=$(S=>S.ui),{t:i}=ue(),u=Z();Ye("f",()=>{u(ZO()),(r||o)&&u(yo())},[r,o]);const d=f.useCallback(()=>{t==="unifiedCanvas"&&u(yo())},[u,t]),p=f.useCallback(S=>{S.target instanceof HTMLElement&&S.target.blur()},[]),h=f.useMemo(()=>n.map(S=>a.jsx(Cn,{hasArrow:!0,label:String(i(S.translationKey)),placement:"end",children:a.jsxs(Bl,{onClick:p,children:[a.jsx(N3,{children:String(i(S.translationKey))}),S.icon]})},S.id)),[n,i,p]),g=f.useMemo(()=>n.map(S=>a.jsx(dh,{children:S.content},S.id)),[n]),{ref:v,minSizePct:b}=PQ(rse,Vg,"app");return a.jsxs(Nu,{defaultIndex:e,index:e,onChange:S=>{u(xl(S))},sx:{flexGrow:1,gap:4},isLazy:!0,children:[a.jsxs($u,{sx:{pt:2,gap:4,flexDir:"column"},children:[h,a.jsx(Bi,{}),a.jsx(cQ,{})]}),a.jsxs(X1,{id:"app",autoSaveId:"app",direction:"horizontal",style:{height:"100%",width:"100%"},children:[a.jsx(gu,{id:"main",children:a.jsx(fh,{style:{height:"100%",width:"100%"},children:g})}),r&&s&&!NI.includes(t)&&a.jsxs(a.Fragment,{children:[a.jsx(HP,{}),a.jsx(gu,{ref:v,onResize:d,id:"gallery",order:3,defaultSize:b>Vg?b:Vg,minSize:b,maxSize:50,children:a.jsx(_P,{})})]})]})]})},sse=f.memo(ose),ase=he([or,Zr],(e,t)=>{const{shouldPinGallery:n,shouldShowGallery:r}=t;return{shouldPinGallery:n,shouldShowGalleryButton:NI.includes(e)?!1:!r}},{memoizeOptions:{resultEqualityCheck:Gt}}),ise=()=>{const{t:e}=ue(),{shouldPinGallery:t,shouldShowGalleryButton:n}=$(ase),r=Z(),o=()=>{r(Xg(!0)),t&&r(yo())};return n?a.jsx(je,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":e("accessibility.showGallery"),onClick:o,sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",p:0,insetInlineEnd:0,px:3,h:48,w:8,borderStartEndRadius:0,borderEndEndRadius:0,shadow:"2xl"},children:a.jsx(FK,{})}):null},lse=f.memo(ise),Ug={borderStartStartRadius:0,borderEndStartRadius:0,shadow:"2xl"},cse=he([Zr,or],(e,t)=>{const{shouldPinParametersPanel:n,shouldUseCanvasBetaLayout:r,shouldShowParametersPanel:o}=e,s=r&&t==="unifiedCanvas",i=!s&&(!n||!o),u=!s&&!o&&["txt2img","img2img","unifiedCanvas"].includes(t);return{shouldPinParametersPanel:n,shouldShowParametersPanelButton:u,shouldShowProcessButtons:i}},{memoizeOptions:{resultEqualityCheck:Gt}}),use=()=>{const e=Z(),{t}=ue(),{shouldShowProcessButtons:n,shouldShowParametersPanelButton:r,shouldPinParametersPanel:o}=$(cse),s=()=>{e(Sv(!0)),o&&e(yo())};return r?a.jsxs(L,{pos:"absolute",transform:"translate(0, -50%)",minW:8,top:"50%",insetInlineStart:"4.5rem",direction:"column",gap:2,children:[a.jsx(je,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":t("accessibility.showOptionsPanel"),onClick:s,sx:Ug,children:a.jsx(y1,{})}),n&&a.jsxs(a.Fragment,{children:[a.jsx(dy,{iconButton:!0,sx:Ug}),a.jsx(Th,{sx:Ug})]})]}):null},dse=f.memo(use),fse=he([Zr,or],(e,t)=>{const{shouldPinParametersPanel:n,shouldShowParametersPanel:r}=e;return{activeTabName:t,shouldPinParametersPanel:n,shouldShowParametersPanel:r}},Ke),pse=()=>{const e=Z(),{shouldPinParametersPanel:t,shouldShowParametersPanel:n,activeTabName:r}=$(fse),o=()=>{e(Sv(!1))},s=f.useMemo(()=>r==="txt2img"?a.jsx(yI,{}):r==="img2img"?a.jsx(nI,{}):r==="unifiedCanvas"?a.jsx(TI,{}):null,[r]);return t?null:a.jsx(R5,{direction:"left",isResizable:!1,isOpen:n,onClose:o,children:a.jsxs(L,{sx:{flexDir:"column",h:"full",w:J1,gap:2,position:"relative",flexShrink:0,overflowY:"auto"},children:[a.jsxs(L,{paddingBottom:4,justifyContent:"space-between",alignItems:"center",children:[a.jsx(PP,{}),a.jsx(FP,{})]}),a.jsx(L,{sx:{gap:2,flexDirection:"column",h:"full",w:"full"},children:s})]})})},hse=f.memo(pse),mse=()=>{const{data:e,isFetching:t}=Xp(),{isOpen:n,onClose:r,handleAddToBoard:o,image:s}=f.useContext(A4),[i,u]=f.useState(),d=f.useRef(null),p=e==null?void 0:e.find(h=>h.board_id===(s==null?void 0:s.board_id));return a.jsx(Du,{isOpen:n,leastDestructiveRef:d,onClose:r,isCentered:!0,children:a.jsx(ya,{children:a.jsxs(Au,{children:[a.jsx(va,{fontSize:"lg",fontWeight:"bold",children:p?"Move Image to Board":"Add Image to Board"}),a.jsx(ba,{children:a.jsx($e,{children:a.jsxs(L,{direction:"column",gap:3,children:[p&&a.jsxs(qe,{children:["Moving this image from"," ",a.jsx("strong",{children:p.board_name})," to"]}),t?a.jsx(oc,{}):a.jsx(br,{placeholder:"Select Board",onChange:h=>u(h),value:i,data:(e??[]).map(h=>({label:h.board_name,value:h.board_id}))})]})})}),a.jsxs(ga,{children:[a.jsx(Xt,{onClick:r,children:"Cancel"}),a.jsx(Xt,{isDisabled:!i,colorScheme:"accent",onClick:()=>{i&&o(i)},ml:3,children:p?"Move":"Add"})]})]})})})},gse=f.memo(mse),vse=he([e=>e.hotkeys,e=>e.ui],(e,t)=>{const{shift:n}=e,{shouldPinParametersPanel:r,shouldPinGallery:o}=t;return{shift:n,shouldPinGallery:o,shouldPinParametersPanel:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),yse=()=>{const e=Z(),{shift:t,shouldPinParametersPanel:n,shouldPinGallery:r}=$(vse),o=$(or);return Ye("*",()=>{P5("shift")?!t&&e(Go(!0)):t&&e(Go(!1))},{keyup:!0,keydown:!0},[t]),Ye("o",()=>{e(eM()),o==="unifiedCanvas"&&n&&e(yo())}),Ye(["shift+o"],()=>{e(tM()),o==="unifiedCanvas"&&e(yo())}),Ye("g",()=>{e(nM()),o==="unifiedCanvas"&&r&&e(yo())}),Ye(["shift+g"],()=>{e(D4()),o==="unifiedCanvas"&&e(yo())}),Ye("1",()=>{e(xl("txt2img"))}),Ye("2",()=>{e(xl("img2img"))}),Ye("3",()=>{e(xl("unifiedCanvas"))}),Ye("4",()=>{e(xl("nodes"))}),null},bse=f.memo(yse),xse={},wse=({config:e=xse,headerComponent:t})=>{const n=$(L4),r=rM(),o=Z();return f.useEffect(()=>{pr.changeLanguage(n)},[n]),f.useEffect(()=>{r.info({namespace:"App",data:e},"Received config"),o(oM(e))},[o,e,r]),f.useEffect(()=>{o(sM())},[o]),a.jsxs(a.Fragment,{children:[a.jsxs(Mi,{w:"100vw",h:"100vh",position:"relative",overflow:"hidden",children:[a.jsx(XN,{children:a.jsxs(Mi,{sx:{gap:4,p:4,gridAutoRows:"min-content auto",w:"full",h:"full"},children:[t||a.jsx(aQ,{}),a.jsx(L,{sx:{gap:4,w:"full",h:"full"},children:a.jsx(sse,{})})]})}),a.jsx(jK,{}),a.jsx(hse,{}),a.jsx(Cf,{children:a.jsx(dse,{})}),a.jsx(Cf,{children:a.jsx(lse,{})})]}),a.jsx(OK,{}),a.jsx(gse,{}),a.jsx(aM,{}),a.jsx(bse,{})]})},Pse=f.memo(wse);export{Pse as default}; diff --git a/invokeai/frontend/web/dist/assets/MantineProvider-b5842fc1.js b/invokeai/frontend/web/dist/assets/MantineProvider-b5842fc1.js deleted file mode 100644 index d479487e00..0000000000 --- a/invokeai/frontend/web/dist/assets/MantineProvider-b5842fc1.js +++ /dev/null @@ -1 +0,0 @@ -import{go as J,W as g,gm as P,s as x,gv as K}from"./index-e2437518.js";function b(r,e){return t=>t.colorMode==="dark"?e:r}function oe(r){const{orientation:e,vertical:t,horizontal:n}=r;return e?e==="vertical"?t:n:{}}function s(r,e={}){let t=!1;function n(){if(!t){t=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...d){n();for(const u of d)e[u]=c(u);return s(r,e)}function o(...d){for(const u of d)u in e||(e[u]=c(u));return s(r,e)}function i(){return Object.fromEntries(Object.entries(e).map(([u,k])=>[u,k.selector]))}function l(){return Object.fromEntries(Object.entries(e).map(([u,k])=>[u,k.className]))}function c(d){const A=`chakra-${(["container","root"].includes(d??"")?[r]:[r,d]).filter(Boolean).join("__")}`;return{className:A,selector:`.${A}`,toString:()=>d}}return{parts:a,toPart:c,extend:o,selectors:i,classnames:l,get keys(){return Object.keys(e)},__type:{}}}var ae=s("accordion").parts("root","container","button","panel").extend("icon");s("alert").parts("title","description","container").extend("icon","spinner");s("avatar").parts("label","badge","container").extend("excessLabel","group");s("breadcrumb").parts("link","item","container").extend("separator");s("button").parts();var ie=s("checkbox").parts("control","icon","container").extend("label");s("progress").parts("track","filledTrack").extend("label");s("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer");var se=s("editable").parts("preview","input","textarea");s("form").parts("container","requiredIndicator","helperText");s("formError").parts("text","icon");var le=s("input").parts("addon","field","element");s("list").parts("container","item","icon");var Q=s("menu").parts("button","list","item").extend("groupTitle","command","divider"),ce=s("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),fe=s("numberinput").parts("root","field","stepperGroup","stepper");s("pininput").parts("field");var de=s("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),ue=s("progress").parts("label","filledTrack","track");s("radio").parts("container","control","label");var pe=s("select").parts("field","icon"),be=s("slider").parts("container","track","thumb","filledTrack","mark");s("stat").parts("container","label","helpText","number","icon");var ge=s("switch").parts("container","track","thumb");s("table").parts("table","thead","tbody","tr","th","td","tfoot","caption");var me=s("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator");s("tag").parts("container","label","closeButton");s("card").parts("container","header","body","footer");const{definePartsStyle:Z,defineMultiStyleConfig:rr}=J(Q.keys),er=Z(r=>({button:{fontWeight:500,bg:b("base.300","base.500")(r),color:b("base.900","base.100")(r),_hover:{bg:b("base.400","base.600")(r),color:b("base.900","base.50")(r),fontWeight:600}},list:{zIndex:9999,color:b("base.900","base.150")(r),bg:b("base.200","base.800")(r),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:b("base.200","base.800")(r),_hover:{bg:b("base.300","base.700")(r)},_focus:{bg:b("base.400","base.600")(r)},svg:{opacity:.5}}})),ye=rr({variants:{invokeAI:er},defaultProps:{variant:"invokeAI"}}),ve={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}},tr={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function nr(r){return()=>({fontFamily:r.fontFamily||"sans-serif"})}var or=Object.defineProperty,M=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,ir=Object.prototype.propertyIsEnumerable,I=(r,e,t)=>e in r?or(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,R=(r,e)=>{for(var t in e||(e={}))ar.call(e,t)&&I(r,t,e[t]);if(M)for(var t of M(e))ir.call(e,t)&&I(r,t,e[t]);return r};function sr(r){return e=>({WebkitTapHighlightColor:"transparent",[e||"&:focus"]:R({},r.focusRing==="always"||r.focusRing==="auto"?r.focusRingStyles.styles(r):r.focusRingStyles.resetStyles(r)),[e?e.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:R({},r.focusRing==="auto"||r.focusRing==="never"?r.focusRingStyles.resetStyles(r):null)})}function _(r){return e=>typeof r.primaryShade=="number"?r.primaryShade:r.primaryShade[e||r.colorScheme]}function E(r){const e=_(r);return(t,n,a=!0,o=!0)=>{if(typeof t=="string"&&t.includes(".")){const[l,c]=t.split("."),y=parseInt(c,10);if(l in r.colors&&y>=0&&y<10)return r.colors[l][typeof n=="number"&&!o?n:y]}const i=typeof n=="number"?n:e();return t in r.colors?r.colors[t][i]:a?r.colors[r.primaryColor][i]:t}}function V(r){let e="";for(let t=1;t{const a={from:(n==null?void 0:n.from)||r.defaultGradient.from,to:(n==null?void 0:n.to)||r.defaultGradient.to,deg:(n==null?void 0:n.deg)||r.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${e(a.from,t(),!1)} 0%, ${e(a.to,t(),!1)} 100%)`}}function X(r){return e=>{if(typeof e=="number")return`${e/16}${r}`;if(typeof e=="string"){const t=e.replace("px","");if(!Number.isNaN(Number(t)))return`${Number(t)/16}${r}`}return e}}const m=X("rem"),O=X("em");function q({size:r,sizes:e,units:t}){return r in e?e[r]:typeof r=="number"?t==="em"?O(r):m(r):r||e.md}function $(r){return typeof r=="number"?r:typeof r=="string"&&r.includes("rem")?Number(r.replace("rem",""))*16:typeof r=="string"&&r.includes("em")?Number(r.replace("em",""))*16:Number(r)}function fr(r){return e=>`@media (min-width: ${O($(q({size:e,sizes:r.breakpoints})))})`}function dr(r){return e=>`@media (max-width: ${O($(q({size:e,sizes:r.breakpoints}))-1)})`}function ur(r){return/^#?([0-9A-F]{3}){1,2}$/i.test(r)}function pr(r){let e=r.replace("#","");if(e.length===3){const i=e.split("");e=[i[0],i[0],i[1],i[1],i[2],i[2]].join("")}const t=parseInt(e,16),n=t>>16&255,a=t>>8&255,o=t&255;return{r:n,g:a,b:o,a:1}}function br(r){const[e,t,n,a]=r.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:e,g:t,b:n,a:a||1}}function j(r){return ur(r)?pr(r):r.startsWith("rgb")?br(r):{r:0,g:0,b:0,a:1}}function v(r,e){if(typeof r!="string"||e>1||e<0)return"rgba(0, 0, 0, 1)";if(r.startsWith("var(--"))return r;const{r:t,g:n,b:a}=j(r);return`rgba(${t}, ${n}, ${a}, ${e})`}function gr(r=0){return{position:"absolute",top:m(r),right:m(r),left:m(r),bottom:m(r)}}function mr(r,e){if(typeof r=="string"&&r.startsWith("var(--"))return r;const{r:t,g:n,b:a,a:o}=j(r),i=1-e,l=c=>Math.round(c*i);return`rgba(${l(t)}, ${l(n)}, ${l(a)}, ${o})`}function yr(r,e){if(typeof r=="string"&&r.startsWith("var(--"))return r;const{r:t,g:n,b:a,a:o}=j(r),i=l=>Math.round(l+(255-l)*e);return`rgba(${i(t)}, ${i(n)}, ${i(a)}, ${o})`}function vr(r){return e=>{if(typeof e=="number")return m(e);const t=typeof r.defaultRadius=="number"?r.defaultRadius:r.radius[r.defaultRadius]||r.defaultRadius;return r.radius[e]||e||t}}function Sr(r,e){if(typeof r=="string"&&r.includes(".")){const[t,n]=r.split("."),a=parseInt(n,10);if(t in e.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:t,shade:a}}return{isSplittedColor:!1}}function hr(r){const e=E(r),t=_(r),n=U(r);return({variant:a,color:o,gradient:i,primaryFallback:l})=>{const c=Sr(o,r);switch(a){case"light":return{border:"transparent",background:v(e(o,r.colorScheme==="dark"?8:0,l,!1),r.colorScheme==="dark"?.2:1),color:o==="dark"?r.colorScheme==="dark"?r.colors.dark[0]:r.colors.dark[9]:e(o,r.colorScheme==="dark"?2:t("light")),hover:v(e(o,r.colorScheme==="dark"?7:1,l,!1),r.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:o==="dark"?r.colorScheme==="dark"?r.colors.dark[0]:r.colors.dark[9]:e(o,r.colorScheme==="dark"?2:t("light")),hover:v(e(o,r.colorScheme==="dark"?8:0,l,!1),r.colorScheme==="dark"?.2:1)};case"outline":return{border:e(o,r.colorScheme==="dark"?5:t("light")),background:"transparent",color:e(o,r.colorScheme==="dark"?5:t("light")),hover:r.colorScheme==="dark"?v(e(o,5,l,!1),.05):v(e(o,0,l,!1),.35)};case"default":return{border:r.colorScheme==="dark"?r.colors.dark[4]:r.colors.gray[4],background:r.colorScheme==="dark"?r.colors.dark[6]:r.white,color:r.colorScheme==="dark"?r.white:r.black,hover:r.colorScheme==="dark"?r.colors.dark[5]:r.colors.gray[0]};case"white":return{border:"transparent",background:r.white,color:e(o,t()),hover:null};case"transparent":return{border:"transparent",color:o==="dark"?r.colorScheme==="dark"?r.colors.dark[0]:r.colors.dark[9]:e(o,r.colorScheme==="dark"?2:t("light")),background:"transparent",hover:null};case"gradient":return{background:n(i),color:r.white,border:"transparent",hover:null};default:{const y=t(),d=c.isSplittedColor?c.shade:y,u=c.isSplittedColor?c.key:o;return{border:"transparent",background:e(u,d,l),color:r.white,hover:e(u,d===9?8:d+1)}}}}}function _r(r){return e=>{const t=_(r)(e);return r.colors[r.primaryColor][t]}}function kr(r){return{"@media (hover: hover)":{"&:hover":r},"@media (hover: none)":{"&:active":r}}}function $r(r){return()=>({userSelect:"none",color:r.colorScheme==="dark"?r.colors.dark[3]:r.colors.gray[5]})}function wr(r){return()=>r.colorScheme==="dark"?r.colors.dark[2]:r.colors.gray[6]}const f={fontStyles:nr,themeColor:E,focusStyles:sr,linearGradient:lr,radialGradient:cr,smallerThan:dr,largerThan:fr,rgba:v,cover:gr,darken:mr,lighten:yr,radius:vr,variant:hr,primaryShade:_,hover:kr,gradient:U,primaryColor:_r,placeholderStyles:$r,dimmed:wr};var Pr=Object.defineProperty,xr=Object.defineProperties,Or=Object.getOwnPropertyDescriptors,T=Object.getOwnPropertySymbols,Cr=Object.prototype.hasOwnProperty,Er=Object.prototype.propertyIsEnumerable,F=(r,e,t)=>e in r?Pr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,jr=(r,e)=>{for(var t in e||(e={}))Cr.call(e,t)&&F(r,t,e[t]);if(T)for(var t of T(e))Er.call(e,t)&&F(r,t,e[t]);return r},zr=(r,e)=>xr(r,Or(e));function B(r){return zr(jr({},r),{fn:{fontStyles:f.fontStyles(r),themeColor:f.themeColor(r),focusStyles:f.focusStyles(r),largerThan:f.largerThan(r),smallerThan:f.smallerThan(r),radialGradient:f.radialGradient,linearGradient:f.linearGradient,gradient:f.gradient(r),rgba:f.rgba,cover:f.cover,lighten:f.lighten,darken:f.darken,primaryShade:f.primaryShade(r),radius:f.radius(r),variant:f.variant(r),hover:f.hover,primaryColor:f.primaryColor(r),placeholderStyles:f.placeholderStyles(r),dimmed:f.dimmed(r)}})}const Ar={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:tr,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:r=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${r.colors[r.primaryColor][r.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:r=>({outline:"none",borderColor:r.colors[r.primaryColor][typeof r.primaryShade=="object"?r.primaryShade[r.colorScheme]:r.primaryShade]})}},z=B(Ar);var Mr=Object.defineProperty,Ir=Object.defineProperties,Rr=Object.getOwnPropertyDescriptors,H=Object.getOwnPropertySymbols,Tr=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable,W=(r,e,t)=>e in r?Mr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Hr=(r,e)=>{for(var t in e||(e={}))Tr.call(e,t)&&W(r,t,e[t]);if(H)for(var t of H(e))Fr.call(e,t)&&W(r,t,e[t]);return r},Wr=(r,e)=>Ir(r,Rr(e));function Nr({theme:r}){return g.createElement(P,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:r.colorScheme==="dark"?"dark":"light"},body:Wr(Hr({},r.fn.fontStyles()),{backgroundColor:r.colorScheme==="dark"?r.colors.dark[7]:r.white,color:r.colorScheme==="dark"?r.colors.dark[0]:r.black,lineHeight:r.lineHeight,fontSize:r.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function S(r,e,t,n=m){Object.keys(e).forEach(a=>{r[`--mantine-${t}-${a}`]=n(e[a])})}function Gr({theme:r}){const e={"--mantine-color-white":r.white,"--mantine-color-black":r.black,"--mantine-transition-timing-function":r.transitionTimingFunction,"--mantine-line-height":`${r.lineHeight}`,"--mantine-font-family":r.fontFamily,"--mantine-font-family-monospace":r.fontFamilyMonospace,"--mantine-font-family-headings":r.headings.fontFamily,"--mantine-heading-font-weight":`${r.headings.fontWeight}`};S(e,r.shadows,"shadow"),S(e,r.fontSizes,"font-size"),S(e,r.radius,"radius"),S(e,r.spacing,"spacing"),S(e,r.breakpoints,"breakpoints",O),Object.keys(r.colors).forEach(n=>{r.colors[n].forEach((a,o)=>{e[`--mantine-color-${n}-${o}`]=a})});const t=r.headings.sizes;return Object.keys(t).forEach(n=>{e[`--mantine-${n}-font-size`]=t[n].fontSize,e[`--mantine-${n}-line-height`]=`${t[n].lineHeight}`}),g.createElement(P,{styles:{":root":e}})}var Dr=Object.defineProperty,Lr=Object.defineProperties,Vr=Object.getOwnPropertyDescriptors,N=Object.getOwnPropertySymbols,Ur=Object.prototype.hasOwnProperty,Xr=Object.prototype.propertyIsEnumerable,G=(r,e,t)=>e in r?Dr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,p=(r,e)=>{for(var t in e||(e={}))Ur.call(e,t)&&G(r,t,e[t]);if(N)for(var t of N(e))Xr.call(e,t)&&G(r,t,e[t]);return r},C=(r,e)=>Lr(r,Vr(e));function qr(r,e){var t;if(!e)return r;const n=Object.keys(r).reduce((a,o)=>{if(o==="headings"&&e.headings){const i=e.headings.sizes?Object.keys(r.headings.sizes).reduce((l,c)=>(l[c]=p(p({},r.headings.sizes[c]),e.headings.sizes[c]),l),{}):r.headings.sizes;return C(p({},a),{headings:C(p(p({},r.headings),e.headings),{sizes:i})})}if(o==="breakpoints"&&e.breakpoints){const i=p(p({},r.breakpoints),e.breakpoints);return C(p({},a),{breakpoints:Object.fromEntries(Object.entries(i).sort((l,c)=>$(l[1])-$(c[1])))})}return a[o]=typeof e[o]=="object"?p(p({},r[o]),e[o]):typeof e[o]=="number"||typeof e[o]=="boolean"||typeof e[o]=="function"?e[o]:e[o]||r[o],a},{});if(e!=null&&e.fontFamily&&!((t=e==null?void 0:e.headings)!=null&&t.fontFamily)&&(n.headings.fontFamily=e.fontFamily),!(n.primaryColor in n.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return n}function Br(r,e){return B(qr(r,e))}function Yr(r){return Object.keys(r).reduce((e,t)=>(r[t]!==void 0&&(e[t]=r[t]),e),{})}const Jr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${m(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function Kr(){return g.createElement(P,{styles:Jr})}var Qr=Object.defineProperty,D=Object.getOwnPropertySymbols,Zr=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,L=(r,e,t)=>e in r?Qr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,h=(r,e)=>{for(var t in e||(e={}))Zr.call(e,t)&&L(r,t,e[t]);if(D)for(var t of D(e))re.call(e,t)&&L(r,t,e[t]);return r};const w=x.createContext({theme:z});function Y(){var r;return((r=x.useContext(w))==null?void 0:r.theme)||z}function Se(r){const e=Y(),t=n=>{var a,o,i,l;return{styles:((a=e.components[n])==null?void 0:a.styles)||{},classNames:((o=e.components[n])==null?void 0:o.classNames)||{},variants:(i=e.components[n])==null?void 0:i.variants,sizes:(l=e.components[n])==null?void 0:l.sizes}};return Array.isArray(r)?r.map(t):[t(r)]}function he(){var r;return(r=x.useContext(w))==null?void 0:r.emotionCache}function _e(r,e,t){var n;const a=Y(),o=(n=a.components[r])==null?void 0:n.defaultProps,i=typeof o=="function"?o(a):o;return h(h(h({},e),i),Yr(t))}function ee({theme:r,emotionCache:e,withNormalizeCSS:t=!1,withGlobalStyles:n=!1,withCSSVariables:a=!1,inherit:o=!1,children:i}){const l=x.useContext(w),c=Br(z,o?h(h({},l.theme),r):r);return g.createElement(K,{theme:c},g.createElement(w.Provider,{value:{theme:c,emotionCache:e}},t&&g.createElement(Kr,null),n&&g.createElement(Nr,{theme:c}),a&&g.createElement(Gr,{theme:c}),typeof c.globalStyles=="function"&&g.createElement(P,{styles:c.globalStyles(c)}),i))}ee.displayName="@mantine/core/MantineProvider";export{ee as M,Y as a,Se as b,q as c,_e as d,b as e,Yr as f,$ as g,ae as h,ie as i,se as j,le as k,ce as l,ve as m,fe as n,oe as o,de as p,ue as q,m as r,pe as s,be as t,he as u,ge as v,me as w,ye as x}; diff --git a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a6269375.js b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a6269375.js deleted file mode 100644 index b1b3abea4e..0000000000 --- a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a6269375.js +++ /dev/null @@ -1,302 +0,0 @@ -import{v as g,gm as Ke,s as x,L as Ba,gn as Ea,ae as ca,ah as c,go as b,gp as Da,gq as t,gr as Ra,gs as h,gt as ba,gu as ja,gv as Ha,b2 as Wa,gw as Va,Z as La,gx as qa,gy as Oa,gz as Na,gA as Ga,aY as Ua}from"./index-e2437518.js";import{e as n,o as Sr,h as Ya,i as Ka,j as Xa,k as Za,l as Ja,n as Qa,p as et,q as rt,s as at,t as tt,v as ot,w as nt,x as it,M as lt}from"./MantineProvider-b5842fc1.js";var va=String.raw,ua=va` - :root, - :host { - --chakra-vh: 100vh; - } - - @supports (height: -webkit-fill-available) { - :root, - :host { - --chakra-vh: -webkit-fill-available; - } - } - - @supports (height: -moz-fill-available) { - :root, - :host { - --chakra-vh: -moz-fill-available; - } - } - - @supports (height: 100dvh) { - :root, - :host { - --chakra-vh: 100dvh; - } - } -`,st=()=>g.jsx(Ke,{styles:ua}),dt=({scope:e=""})=>g.jsx(Ke,{styles:va` - html { - line-height: 1.5; - -webkit-text-size-adjust: 100%; - font-family: system-ui, sans-serif; - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; - -moz-osx-font-smoothing: grayscale; - touch-action: manipulation; - } - - body { - position: relative; - min-height: 100%; - margin: 0; - font-feature-settings: "kern"; - } - - ${e} :where(*, *::before, *::after) { - border-width: 0; - border-style: solid; - box-sizing: border-box; - word-wrap: break-word; - } - - main { - display: block; - } - - ${e} hr { - border-top-width: 1px; - box-sizing: content-box; - height: 0; - overflow: visible; - } - - ${e} :where(pre, code, kbd,samp) { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; - font-size: 1em; - } - - ${e} a { - background-color: transparent; - color: inherit; - text-decoration: inherit; - } - - ${e} abbr[title] { - border-bottom: none; - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - } - - ${e} :where(b, strong) { - font-weight: bold; - } - - ${e} small { - font-size: 80%; - } - - ${e} :where(sub,sup) { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; - } - - ${e} sub { - bottom: -0.25em; - } - - ${e} sup { - top: -0.5em; - } - - ${e} img { - border-style: none; - } - - ${e} :where(button, input, optgroup, select, textarea) { - font-family: inherit; - font-size: 100%; - line-height: 1.15; - margin: 0; - } - - ${e} :where(button, input) { - overflow: visible; - } - - ${e} :where(button, select) { - text-transform: none; - } - - ${e} :where( - button::-moz-focus-inner, - [type="button"]::-moz-focus-inner, - [type="reset"]::-moz-focus-inner, - [type="submit"]::-moz-focus-inner - ) { - border-style: none; - padding: 0; - } - - ${e} fieldset { - padding: 0.35em 0.75em 0.625em; - } - - ${e} legend { - box-sizing: border-box; - color: inherit; - display: table; - max-width: 100%; - padding: 0; - white-space: normal; - } - - ${e} progress { - vertical-align: baseline; - } - - ${e} textarea { - overflow: auto; - } - - ${e} :where([type="checkbox"], [type="radio"]) { - box-sizing: border-box; - padding: 0; - } - - ${e} input[type="number"]::-webkit-inner-spin-button, - ${e} input[type="number"]::-webkit-outer-spin-button { - -webkit-appearance: none !important; - } - - ${e} input[type="number"] { - -moz-appearance: textfield; - } - - ${e} input[type="search"] { - -webkit-appearance: textfield; - outline-offset: -2px; - } - - ${e} input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none !important; - } - - ${e} ::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; - } - - ${e} details { - display: block; - } - - ${e} summary { - display: list-item; - } - - template { - display: none; - } - - [hidden] { - display: none !important; - } - - ${e} :where( - blockquote, - dl, - dd, - h1, - h2, - h3, - h4, - h5, - h6, - hr, - figure, - p, - pre - ) { - margin: 0; - } - - ${e} button { - background: transparent; - padding: 0; - } - - ${e} fieldset { - margin: 0; - padding: 0; - } - - ${e} :where(ol, ul) { - margin: 0; - padding: 0; - } - - ${e} textarea { - resize: vertical; - } - - ${e} :where(button, [role="button"]) { - cursor: pointer; - } - - ${e} button::-moz-focus-inner { - border: 0 !important; - } - - ${e} table { - border-collapse: collapse; - } - - ${e} :where(h1, h2, h3, h4, h5, h6) { - font-size: inherit; - font-weight: inherit; - } - - ${e} :where(button, input, optgroup, select, textarea) { - padding: 0; - line-height: inherit; - color: inherit; - } - - ${e} :where(img, svg, video, canvas, audio, iframe, embed, object) { - display: block; - } - - ${e} :where(img, video) { - max-width: 100%; - height: auto; - } - - [data-js-focus-visible] - :focus:not([data-focus-visible-added]):not( - [data-focus-visible-disabled] - ) { - outline: none; - box-shadow: none; - } - - ${e} select::-ms-expand { - display: none; - } - - ${ua} - `}),_e={light:"chakra-ui-light",dark:"chakra-ui-dark"};function ct(e={}){const{preventTransition:r=!0}=e,a={setDataset:o=>{const i=r?a.preventTransition():void 0;document.documentElement.dataset.theme=o,document.documentElement.style.colorScheme=o,i==null||i()},setClassName(o){document.body.classList.add(o?_e.dark:_e.light),document.body.classList.remove(o?_e.light:_e.dark)},query(){return window.matchMedia("(prefers-color-scheme: dark)")},getSystemTheme(o){var i;return((i=a.query().matches)!=null?i:o==="dark")?"dark":"light"},addListener(o){const i=a.query(),l=s=>{o(s.matches?"dark":"light")};return typeof i.addListener=="function"?i.addListener(l):i.addEventListener("change",l),()=>{typeof i.removeListener=="function"?i.removeListener(l):i.removeEventListener("change",l)}},preventTransition(){const o=document.createElement("style");return o.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(o),()=>{window.getComputedStyle(document.body),requestAnimationFrame(()=>{requestAnimationFrame(()=>{document.head.removeChild(o)})})}}};return a}var bt="chakra-ui-color-mode";function fa(e){return{ssr:!1,type:"localStorage",get(r){if(!(globalThis!=null&&globalThis.document))return r;let a;try{a=localStorage.getItem(e)||r}catch{}return a||r},set(r){try{localStorage.setItem(e,r)}catch{}}}}var vt=fa(bt),Cr=()=>{};function Ar(e,r){return e.type==="cookie"&&e.ssr?e.get(r):r}function ma(e){const{value:r,children:a,options:{useSystemColorMode:o,initialColorMode:i,disableTransitionOnChange:l}={},colorModeManager:s=vt}=e,d=i==="dark"?"dark":"light",[v,$]=x.useState(()=>Ar(s,d)),[p,S]=x.useState(()=>Ar(s)),{getSystemTheme:T,setClassName:L,setDataset:Qe,addListener:wr}=x.useMemo(()=>ct({preventTransition:l}),[l]),$e=i==="system"&&!v?p:v,F=x.useCallback(te=>{const ke=te==="system"?T():te;$(ke),L(ke==="dark"),Qe(ke),s.set(ke)},[s,T,L,Qe]);Ba(()=>{i==="system"&&S(T())},[]),x.useEffect(()=>{const te=s.get();if(te){F(te);return}if(i==="system"){F("system");return}F(d)},[s,d,i,F]);const zr=x.useCallback(()=>{F($e==="dark"?"light":"dark")},[$e,F]);x.useEffect(()=>{if(o)return wr(F)},[o,wr,F]);const Ma=x.useMemo(()=>({colorMode:r??$e,toggleColorMode:r?Cr:zr,setColorMode:r?Cr:F,forced:r!==void 0}),[$e,zr,F,r]);return g.jsx(Ea.Provider,{value:Ma,children:a})}ma.displayName="ColorModeProvider";var ut=["borders","breakpoints","colors","components","config","direction","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","shadows","sizes","space","styles","transition","zIndices"];function ft(e){return ca(e)?ut.every(r=>Object.prototype.hasOwnProperty.call(e,r)):!1}var mt={common:"background-color, border-color, color, fill, stroke, opacity, box-shadow, transform",colors:"background-color, border-color, color, fill, stroke",dimensions:"width, height",position:"left, right, top, bottom",background:"background-color, background-image, background-position"},ht={"ease-in":"cubic-bezier(0.4, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.2, 1)","ease-in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},gt={"ultra-fast":"50ms",faster:"100ms",fast:"150ms",normal:"200ms",slow:"300ms",slower:"400ms","ultra-slow":"500ms"},yt={property:mt,easing:ht,duration:gt},pt=yt,St={hide:-1,auto:"auto",base:0,docked:10,dropdown:1e3,sticky:1100,banner:1200,overlay:1300,modal:1400,popover:1500,skipLink:1600,toast:1700,tooltip:1800},xt=St,$t={none:0,"1px":"1px solid","2px":"2px solid","4px":"4px solid","8px":"8px solid"},kt=$t,_t={base:"0em",sm:"30em",md:"48em",lg:"62em",xl:"80em","2xl":"96em"},wt=_t,zt={transparent:"transparent",current:"currentColor",black:"#000000",white:"#FFFFFF",whiteAlpha:{50:"rgba(255, 255, 255, 0.04)",100:"rgba(255, 255, 255, 0.06)",200:"rgba(255, 255, 255, 0.08)",300:"rgba(255, 255, 255, 0.16)",400:"rgba(255, 255, 255, 0.24)",500:"rgba(255, 255, 255, 0.36)",600:"rgba(255, 255, 255, 0.48)",700:"rgba(255, 255, 255, 0.64)",800:"rgba(255, 255, 255, 0.80)",900:"rgba(255, 255, 255, 0.92)"},blackAlpha:{50:"rgba(0, 0, 0, 0.04)",100:"rgba(0, 0, 0, 0.06)",200:"rgba(0, 0, 0, 0.08)",300:"rgba(0, 0, 0, 0.16)",400:"rgba(0, 0, 0, 0.24)",500:"rgba(0, 0, 0, 0.36)",600:"rgba(0, 0, 0, 0.48)",700:"rgba(0, 0, 0, 0.64)",800:"rgba(0, 0, 0, 0.80)",900:"rgba(0, 0, 0, 0.92)"},gray:{50:"#F7FAFC",100:"#EDF2F7",200:"#E2E8F0",300:"#CBD5E0",400:"#A0AEC0",500:"#718096",600:"#4A5568",700:"#2D3748",800:"#1A202C",900:"#171923"},red:{50:"#FFF5F5",100:"#FED7D7",200:"#FEB2B2",300:"#FC8181",400:"#F56565",500:"#E53E3E",600:"#C53030",700:"#9B2C2C",800:"#822727",900:"#63171B"},orange:{50:"#FFFAF0",100:"#FEEBC8",200:"#FBD38D",300:"#F6AD55",400:"#ED8936",500:"#DD6B20",600:"#C05621",700:"#9C4221",800:"#7B341E",900:"#652B19"},yellow:{50:"#FFFFF0",100:"#FEFCBF",200:"#FAF089",300:"#F6E05E",400:"#ECC94B",500:"#D69E2E",600:"#B7791F",700:"#975A16",800:"#744210",900:"#5F370E"},green:{50:"#F0FFF4",100:"#C6F6D5",200:"#9AE6B4",300:"#68D391",400:"#48BB78",500:"#38A169",600:"#2F855A",700:"#276749",800:"#22543D",900:"#1C4532"},teal:{50:"#E6FFFA",100:"#B2F5EA",200:"#81E6D9",300:"#4FD1C5",400:"#38B2AC",500:"#319795",600:"#2C7A7B",700:"#285E61",800:"#234E52",900:"#1D4044"},blue:{50:"#ebf8ff",100:"#bee3f8",200:"#90cdf4",300:"#63b3ed",400:"#4299e1",500:"#3182ce",600:"#2b6cb0",700:"#2c5282",800:"#2a4365",900:"#1A365D"},cyan:{50:"#EDFDFD",100:"#C4F1F9",200:"#9DECF9",300:"#76E4F7",400:"#0BC5EA",500:"#00B5D8",600:"#00A3C4",700:"#0987A0",800:"#086F83",900:"#065666"},purple:{50:"#FAF5FF",100:"#E9D8FD",200:"#D6BCFA",300:"#B794F4",400:"#9F7AEA",500:"#805AD5",600:"#6B46C1",700:"#553C9A",800:"#44337A",900:"#322659"},pink:{50:"#FFF5F7",100:"#FED7E2",200:"#FBB6CE",300:"#F687B3",400:"#ED64A6",500:"#D53F8C",600:"#B83280",700:"#97266D",800:"#702459",900:"#521B41"},linkedin:{50:"#E8F4F9",100:"#CFEDFB",200:"#9BDAF3",300:"#68C7EC",400:"#34B3E4",500:"#00A0DC",600:"#008CC9",700:"#0077B5",800:"#005E93",900:"#004471"},facebook:{50:"#E8F4F9",100:"#D9DEE9",200:"#B7C2DA",300:"#6482C0",400:"#4267B2",500:"#385898",600:"#314E89",700:"#29487D",800:"#223B67",900:"#1E355B"},messenger:{50:"#D0E6FF",100:"#B9DAFF",200:"#A2CDFF",300:"#7AB8FF",400:"#2E90FF",500:"#0078FF",600:"#0063D1",700:"#0052AC",800:"#003C7E",900:"#002C5C"},whatsapp:{50:"#dffeec",100:"#b9f5d0",200:"#90edb3",300:"#65e495",400:"#3cdd78",500:"#22c35e",600:"#179848",700:"#0c6c33",800:"#01421c",900:"#001803"},twitter:{50:"#E5F4FD",100:"#C8E9FB",200:"#A8DCFA",300:"#83CDF7",400:"#57BBF5",500:"#1DA1F2",600:"#1A94DA",700:"#1681BF",800:"#136B9E",900:"#0D4D71"},telegram:{50:"#E3F2F9",100:"#C5E4F3",200:"#A2D4EC",300:"#7AC1E4",400:"#47A9DA",500:"#0088CC",600:"#007AB8",700:"#006BA1",800:"#005885",900:"#003F5E"}},Ct=zt,At={none:"0",sm:"0.125rem",base:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},Pt=At,Tt={xs:"0 0 0 1px rgba(0, 0, 0, 0.05)",sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",outline:"0 0 0 3px rgba(66, 153, 225, 0.6)",inner:"inset 0 2px 4px 0 rgba(0,0,0,0.06)",none:"none","dark-lg":"rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px"},Ft=Tt,It={none:0,sm:"4px",base:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},Mt=It,Bt={letterSpacings:{tighter:"-0.05em",tight:"-0.025em",normal:"0",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeights:{normal:"normal",none:1,shorter:1.25,short:1.375,base:1.5,tall:1.625,taller:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},fontWeights:{hairline:100,thin:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},fonts:{heading:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',body:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',mono:'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'},fontSizes:{"3xs":"0.45rem","2xs":"0.625rem",xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem","5xl":"3rem","6xl":"3.75rem","7xl":"4.5rem","8xl":"6rem","9xl":"8rem"}},ha=Bt,ga={px:"1px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},Et={max:"max-content",min:"min-content",full:"100%","3xs":"14rem","2xs":"16rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem","8xl":"90rem",prose:"60ch"},Dt={sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},Rt={...ga,...Et,container:Dt},ya=Rt,jt={breakpoints:wt,zIndices:xt,radii:Pt,blur:Mt,colors:Ct,...ha,sizes:ya,shadows:Ft,space:ga,borders:kt,transition:pt},{defineMultiStyleConfig:Ht,definePartsStyle:le}=b(["stepper","step","title","description","indicator","separator","icon","number"]),B=c("stepper-indicator-size"),K=c("stepper-icon-size"),X=c("stepper-title-font-size"),se=c("stepper-description-font-size"),oe=c("stepper-accent-color"),Wt=le(({colorScheme:e})=>({stepper:{display:"flex",justifyContent:"space-between",gap:"4","&[data-orientation=vertical]":{flexDirection:"column",alignItems:"flex-start"},"&[data-orientation=horizontal]":{flexDirection:"row",alignItems:"center"},[oe.variable]:`colors.${e}.500`,_dark:{[oe.variable]:`colors.${e}.200`}},title:{fontSize:X.reference,fontWeight:"medium"},description:{fontSize:se.reference,color:"chakra-subtle-text"},number:{fontSize:X.reference},step:{flexShrink:0,position:"relative",display:"flex",gap:"2","&[data-orientation=horizontal]":{alignItems:"center"},flex:"1","&:last-of-type:not([data-stretch])":{flex:"initial"}},icon:{flexShrink:0,width:K.reference,height:K.reference},indicator:{flexShrink:0,borderRadius:"full",width:B.reference,height:B.reference,display:"flex",justifyContent:"center",alignItems:"center","&[data-status=active]":{borderWidth:"2px",borderColor:oe.reference},"&[data-status=complete]":{bg:oe.reference,color:"chakra-inverse-text"},"&[data-status=incomplete]":{borderWidth:"2px"}},separator:{bg:"chakra-border-color",flex:"1","&[data-status=complete]":{bg:oe.reference},"&[data-orientation=horizontal]":{width:"100%",height:"2px",marginStart:"2"},"&[data-orientation=vertical]":{width:"2px",position:"absolute",height:"100%",maxHeight:`calc(100% - ${B.reference} - 8px)`,top:`calc(${B.reference} + 4px)`,insetStart:`calc(${B.reference} / 2 - 1px)`}}})),Vt=Ht({baseStyle:Wt,sizes:{xs:le({stepper:{[B.variable]:"sizes.4",[K.variable]:"sizes.3",[X.variable]:"fontSizes.xs",[se.variable]:"fontSizes.xs"}}),sm:le({stepper:{[B.variable]:"sizes.6",[K.variable]:"sizes.4",[X.variable]:"fontSizes.sm",[se.variable]:"fontSizes.xs"}}),md:le({stepper:{[B.variable]:"sizes.8",[K.variable]:"sizes.5",[X.variable]:"fontSizes.md",[se.variable]:"fontSizes.sm"}}),lg:le({stepper:{[B.variable]:"sizes.10",[K.variable]:"sizes.6",[X.variable]:"fontSizes.lg",[se.variable]:"fontSizes.md"}})},defaultProps:{size:"md",colorScheme:"blue"}});function f(e,r={}){let a=!1;function o(){if(!a){a=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function i(...p){o();for(const S of p)r[S]=v(S);return f(e,r)}function l(...p){for(const S of p)S in r||(r[S]=v(S));return f(e,r)}function s(){return Object.fromEntries(Object.entries(r).map(([S,T])=>[S,T.selector]))}function d(){return Object.fromEntries(Object.entries(r).map(([S,T])=>[S,T.className]))}function v(p){const L=`chakra-${(["container","root"].includes(p??"")?[e]:[e,p]).filter(Boolean).join("__")}`;return{className:L,selector:`.${L}`,toString:()=>p}}return{parts:i,toPart:v,extend:l,selectors:s,classnames:d,get keys(){return Object.keys(r)},__type:{}}}var Lt=f("accordion").parts("root","container","button","panel").extend("icon"),qt=f("alert").parts("title","description","container").extend("icon","spinner"),Ot=f("avatar").parts("label","badge","container").extend("excessLabel","group"),Nt=f("breadcrumb").parts("link","item","container").extend("separator");f("button").parts();var Gt=f("checkbox").parts("control","icon","container").extend("label");f("progress").parts("track","filledTrack").extend("label");var Ut=f("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Yt=f("editable").parts("preview","input","textarea"),Kt=f("form").parts("container","requiredIndicator","helperText"),Xt=f("formError").parts("text","icon"),Zt=f("input").parts("addon","field","element"),Jt=f("list").parts("container","item","icon"),Qt=f("menu").parts("button","list","item").extend("groupTitle","command","divider"),eo=f("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),ro=f("numberinput").parts("root","field","stepperGroup","stepper");f("pininput").parts("field");var ao=f("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),to=f("progress").parts("label","filledTrack","track"),oo=f("radio").parts("container","control","label"),no=f("select").parts("field","icon"),io=f("slider").parts("container","track","thumb","filledTrack","mark"),lo=f("stat").parts("container","label","helpText","number","icon"),so=f("switch").parts("container","track","thumb"),co=f("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),bo=f("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),vo=f("tag").parts("container","label","closeButton"),uo=f("card").parts("container","header","body","footer");function O(e,r,a){return Math.min(Math.max(e,a),r)}class fo extends Error{constructor(r){super(`Failed to parse color: "${r}"`)}}var de=fo;function xr(e){if(typeof e!="string")throw new de(e);if(e.trim().toLowerCase()==="transparent")return[0,0,0,0];let r=e.trim();r=$o.test(e)?go(e):e;const a=yo.exec(r);if(a){const s=Array.from(a).slice(1);return[...s.slice(0,3).map(d=>parseInt(ge(d,2),16)),parseInt(ge(s[3]||"f",2),16)/255]}const o=po.exec(r);if(o){const s=Array.from(o).slice(1);return[...s.slice(0,3).map(d=>parseInt(d,16)),parseInt(s[3]||"ff",16)/255]}const i=So.exec(r);if(i){const s=Array.from(i).slice(1);return[...s.slice(0,3).map(d=>parseInt(d,10)),parseFloat(s[3]||"1")]}const l=xo.exec(r);if(l){const[s,d,v,$]=Array.from(l).slice(1).map(parseFloat);if(O(0,100,d)!==d)throw new de(e);if(O(0,100,v)!==v)throw new de(e);return[...ko(s,d,v),Number.isNaN($)?1:$]}throw new de(e)}function mo(e){let r=5381,a=e.length;for(;a;)r=r*33^e.charCodeAt(--a);return(r>>>0)%2341}const Pr=e=>parseInt(e.replace(/_/g,""),36),ho="1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((e,r)=>{const a=Pr(r.substring(0,3)),o=Pr(r.substring(3)).toString(16);let i="";for(let l=0;l<6-o.length;l++)i+="0";return e[a]=`${i}${o}`,e},{});function go(e){const r=e.toLowerCase().trim(),a=ho[mo(r)];if(!a)throw new de(e);return`#${a}`}const ge=(e,r)=>Array.from(Array(r)).map(()=>e).join(""),yo=new RegExp(`^#${ge("([a-f0-9])",3)}([a-f0-9])?$`,"i"),po=new RegExp(`^#${ge("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),So=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${ge(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),xo=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,$o=/^[a-z]+$/i,Tr=e=>Math.round(e*255),ko=(e,r,a)=>{let o=a/100;if(r===0)return[o,o,o].map(Tr);const i=(e%360+360)%360/60,l=(1-Math.abs(2*o-1))*(r/100),s=l*(1-Math.abs(i%2-1));let d=0,v=0,$=0;i>=0&&i<1?(d=l,v=s):i>=1&&i<2?(d=s,v=l):i>=2&&i<3?(v=l,$=s):i>=3&&i<4?(v=s,$=l):i>=4&&i<5?(d=s,$=l):i>=5&&i<6&&(d=l,$=s);const p=o-l/2,S=d+p,T=v+p,L=$+p;return[S,T,L].map(Tr)};function _o(e,r,a,o){return`rgba(${O(0,255,e).toFixed()}, ${O(0,255,r).toFixed()}, ${O(0,255,a).toFixed()}, ${parseFloat(O(0,1,o).toFixed(3))})`}function wo(e,r){const[a,o,i,l]=xr(e);return _o(a,o,i,l-r)}function zo(e){const[r,a,o,i]=xr(e);let l=s=>{const d=O(0,255,s).toString(16);return d.length===1?`0${d}`:d};return`#${l(r)}${l(a)}${l(o)}${i<1?l(Math.round(i*255)):""}`}function Co(e,r,a,o,i){for(r=r.split?r.split("."):r,o=0;oObject.keys(e).length===0,Ne=(e,r,a)=>{const o=Co(e,`colors.${r}`,r);try{return zo(o),o}catch{return a??"#000000"}},P=(e,r,a)=>{var o;return(o=Da(e,"colors",r))!=null?o:a},Po=e=>{const[r,a,o]=xr(e);return(r*299+a*587+o*114)/1e3},To=e=>r=>{const a=Ne(r,e);return Po(a)<128?"dark":"light"},Fo=e=>r=>To(e)(r)==="dark",re=(e,r)=>a=>{const o=Ne(a,e);return wo(o,1-r)};function Fr(e="1rem",r="rgba(255, 255, 255, 0.15)"){return{backgroundImage:`linear-gradient( - 45deg, - ${r} 25%, - transparent 25%, - transparent 50%, - ${r} 50%, - ${r} 75%, - transparent 75%, - transparent - )`,backgroundSize:`${e} ${e}`}}var Io=()=>`#${Math.floor(Math.random()*16777215).toString(16).padEnd(6,"0")}`;function Mo(e){const r=Io();return!e||Ao(e)?r:e.string&&e.colors?Eo(e.string,e.colors):e.string&&!e.colors?Bo(e.string):e.colors&&!e.string?Do(e.colors):r}function Bo(e){let r=0;if(e.length===0)return r.toString();for(let o=0;o>o*8&255;a+=`00${i.toString(16)}`.substr(-2)}return a}function Eo(e,r){let a=0;if(e.length===0)return r[0];for(let o=0;or.map(pa).join(` ${e} `).replace(/calc/g,""),Ir=(...e)=>`calc(${Xe("+",...e)})`,Mr=(...e)=>`calc(${Xe("-",...e)})`,hr=(...e)=>`calc(${Xe("*",...e)})`,Br=(...e)=>`calc(${Xe("/",...e)})`,Er=e=>{const r=pa(e);return r!=null&&!Number.isNaN(parseFloat(r))?String(r).startsWith("-")?String(r).slice(1):`-${r}`:hr(r,-1)},E=Object.assign(e=>({add:(...r)=>E(Ir(e,...r)),subtract:(...r)=>E(Mr(e,...r)),multiply:(...r)=>E(hr(e,...r)),divide:(...r)=>E(Br(e,...r)),negate:()=>E(Er(e)),toString:()=>e.toString()}),{add:Ir,subtract:Mr,multiply:hr,divide:Br,negate:Er});function Ro(e){return!Number.isInteger(parseFloat(e.toString()))}function jo(e,r="-"){return e.replace(/\s+/g,r)}function Sa(e){const r=jo(e.toString());return r.includes("\\.")?e:Ro(e)?r.replace(".","\\."):e}function Ho(e,r=""){return[r,Sa(e)].filter(Boolean).join("-")}function Wo(e,r){return`var(${Sa(e)}${r?`, ${r}`:""})`}function Vo(e,r=""){return`--${Ho(e,r)}`}function m(e,r){const a=Vo(e,r==null?void 0:r.prefix);return{variable:a,reference:Wo(a,Lo(r==null?void 0:r.fallback))}}function Lo(e){return typeof e=="string"?e:e==null?void 0:e.reference}var{defineMultiStyleConfig:qo,definePartsStyle:Re}=b(so.keys),ve=m("switch-track-width"),N=m("switch-track-height"),er=m("switch-track-diff"),Oo=E.subtract(ve,N),gr=m("switch-thumb-x"),ne=m("switch-bg"),No=t(e=>{const{colorScheme:r}=e;return{borderRadius:"full",p:"0.5",width:[ve.reference],height:[N.reference],transitionProperty:"common",transitionDuration:"fast",[ne.variable]:"colors.gray.300",_dark:{[ne.variable]:"colors.whiteAlpha.400"},_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed"},_checked:{[ne.variable]:`colors.${r}.500`,_dark:{[ne.variable]:`colors.${r}.200`}},bg:ne.reference}}),Go=t({bg:"white",transitionProperty:"transform",transitionDuration:"normal",borderRadius:"inherit",width:[N.reference],height:[N.reference],_checked:{transform:`translateX(${gr.reference})`}}),Uo=Re(e=>({container:{[er.variable]:Oo,[gr.variable]:er.reference,_rtl:{[gr.variable]:E(er).negate().toString()}},track:No(e),thumb:Go})),Yo={sm:Re({container:{[ve.variable]:"1.375rem",[N.variable]:"sizes.3"}}),md:Re({container:{[ve.variable]:"1.875rem",[N.variable]:"sizes.4"}}),lg:Re({container:{[ve.variable]:"2.875rem",[N.variable]:"sizes.6"}})},Ko=qo({baseStyle:Uo,sizes:Yo,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Xo,definePartsStyle:Z}=b(co.keys),Zo=Z({table:{fontVariantNumeric:"lining-nums tabular-nums",borderCollapse:"collapse",width:"full"},th:{fontFamily:"heading",fontWeight:"bold",textTransform:"uppercase",letterSpacing:"wider",textAlign:"start"},td:{textAlign:"start"},caption:{mt:4,fontFamily:"heading",textAlign:"center",fontWeight:"medium"}}),Ge=t({"&[data-is-numeric=true]":{textAlign:"end"}}),Jo=Z(e=>{const{colorScheme:r}=e;return{th:{color:n("gray.600","gray.400")(e),borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},td:{borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},caption:{color:n("gray.600","gray.100")(e)},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Qo=Z(e=>{const{colorScheme:r}=e;return{th:{color:n("gray.600","gray.400")(e),borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},td:{borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},caption:{color:n("gray.600","gray.100")(e)},tbody:{tr:{"&:nth-of-type(odd)":{"th, td":{borderBottomWidth:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e)},td:{background:n(`${r}.100`,`${r}.700`)(e)}}}},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),en={simple:Jo,striped:Qo,unstyled:t({})},rn={sm:Z({th:{px:"4",py:"1",lineHeight:"4",fontSize:"xs"},td:{px:"4",py:"2",fontSize:"sm",lineHeight:"4"},caption:{px:"4",py:"2",fontSize:"xs"}}),md:Z({th:{px:"6",py:"3",lineHeight:"4",fontSize:"xs"},td:{px:"6",py:"4",lineHeight:"5"},caption:{px:"6",py:"2",fontSize:"sm"}}),lg:Z({th:{px:"8",py:"4",lineHeight:"5",fontSize:"sm"},td:{px:"8",py:"5",lineHeight:"6"},caption:{px:"6",py:"2",fontSize:"md"}})},an=Xo({baseStyle:Zo,variants:en,sizes:rn,defaultProps:{variant:"simple",size:"md",colorScheme:"gray"}}),_=c("tabs-color"),A=c("tabs-bg"),we=c("tabs-border-color"),{defineMultiStyleConfig:tn,definePartsStyle:M}=b(bo.keys),on=t(e=>{const{orientation:r}=e;return{display:r==="vertical"?"flex":"block"}}),nn=t(e=>{const{isFitted:r}=e;return{flex:r?1:void 0,transitionProperty:"common",transitionDuration:"normal",_focusVisible:{zIndex:1,boxShadow:"outline"},_disabled:{cursor:"not-allowed",opacity:.4}}}),ln=t(e=>{const{align:r="start",orientation:a}=e;return{justifyContent:{end:"flex-end",center:"center",start:"flex-start"}[r],flexDirection:a==="vertical"?"column":"row"}}),sn=t({p:4}),dn=M(e=>({root:on(e),tab:nn(e),tablist:ln(e),tabpanel:sn})),cn={sm:M({tab:{py:1,px:4,fontSize:"sm"}}),md:M({tab:{fontSize:"md",py:2,px:4}}),lg:M({tab:{fontSize:"lg",py:3,px:4}})},bn=M(e=>{const{colorScheme:r,orientation:a}=e,o=a==="vertical",i=o?"borderStart":"borderBottom",l=o?"marginStart":"marginBottom";return{tablist:{[i]:"2px solid",borderColor:"inherit"},tab:{[i]:"2px solid",borderColor:"transparent",[l]:"-2px",_selected:{[_.variable]:`colors.${r}.600`,_dark:{[_.variable]:`colors.${r}.300`},borderColor:"currentColor"},_active:{[A.variable]:"colors.gray.200",_dark:{[A.variable]:"colors.whiteAlpha.300"}},_disabled:{_active:{bg:"none"}},color:_.reference,bg:A.reference}}}),vn=M(e=>{const{colorScheme:r}=e;return{tab:{borderTopRadius:"md",border:"1px solid",borderColor:"transparent",mb:"-1px",[we.variable]:"transparent",_selected:{[_.variable]:`colors.${r}.600`,[we.variable]:"colors.white",_dark:{[_.variable]:`colors.${r}.300`,[we.variable]:"colors.gray.800"},borderColor:"inherit",borderBottomColor:we.reference},color:_.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),un=M(e=>{const{colorScheme:r}=e;return{tab:{border:"1px solid",borderColor:"inherit",[A.variable]:"colors.gray.50",_dark:{[A.variable]:"colors.whiteAlpha.50"},mb:"-1px",_notLast:{marginEnd:"-1px"},_selected:{[A.variable]:"colors.white",[_.variable]:`colors.${r}.600`,_dark:{[A.variable]:"colors.gray.800",[_.variable]:`colors.${r}.300`},borderColor:"inherit",borderTopColor:"currentColor",borderBottomColor:"transparent"},color:_.reference,bg:A.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),fn=M(e=>{const{colorScheme:r,theme:a}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",color:"gray.600",_selected:{color:Ne(a,`${r}.700`),bg:Ne(a,`${r}.100`)}}}}),mn=M(e=>{const{colorScheme:r}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",[_.variable]:"colors.gray.600",_dark:{[_.variable]:"inherit"},_selected:{[_.variable]:"colors.white",[A.variable]:`colors.${r}.600`,_dark:{[_.variable]:"colors.gray.800",[A.variable]:`colors.${r}.300`}},color:_.reference,bg:A.reference}}}),hn=M({}),gn={line:bn,enclosed:vn,"enclosed-colored":un,"soft-rounded":fn,"solid-rounded":mn,unstyled:hn},yn=tn({baseStyle:dn,sizes:cn,variants:gn,defaultProps:{size:"md",variant:"line",colorScheme:"blue"}}),y=Ra("badge",["bg","color","shadow"]),pn=t({px:1,textTransform:"uppercase",fontSize:"xs",borderRadius:"sm",fontWeight:"bold",bg:y.bg.reference,color:y.color.reference,boxShadow:y.shadow.reference}),Sn=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.500`,.6)(a);return{[y.bg.variable]:`colors.${r}.500`,[y.color.variable]:"colors.white",_dark:{[y.bg.variable]:o,[y.color.variable]:"colors.whiteAlpha.800"}}}),xn=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.200`,.16)(a);return{[y.bg.variable]:`colors.${r}.100`,[y.color.variable]:`colors.${r}.800`,_dark:{[y.bg.variable]:o,[y.color.variable]:`colors.${r}.200`}}}),$n=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.200`,.8)(a);return{[y.color.variable]:`colors.${r}.500`,_dark:{[y.color.variable]:o},[y.shadow.variable]:`inset 0 0 0px 1px ${y.color.reference}`}}),kn={solid:Sn,subtle:xn,outline:$n},ue=h({baseStyle:pn,variants:kn,defaultProps:{variant:"subtle",colorScheme:"gray"}}),{defineMultiStyleConfig:_n,definePartsStyle:G}=b(vo.keys),Dr=c("tag-bg"),Rr=c("tag-color"),rr=c("tag-shadow"),je=c("tag-min-height"),He=c("tag-min-width"),We=c("tag-font-size"),Ve=c("tag-padding-inline"),wn=t({fontWeight:"medium",lineHeight:1.2,outline:0,[Rr.variable]:y.color.reference,[Dr.variable]:y.bg.reference,[rr.variable]:y.shadow.reference,color:Rr.reference,bg:Dr.reference,boxShadow:rr.reference,borderRadius:"md",minH:je.reference,minW:He.reference,fontSize:We.reference,px:Ve.reference,_focusVisible:{[rr.variable]:"shadows.outline"}}),zn=t({lineHeight:1.2,overflow:"visible"}),Cn=t({fontSize:"lg",w:"5",h:"5",transitionProperty:"common",transitionDuration:"normal",borderRadius:"full",marginStart:"1.5",marginEnd:"-1",opacity:.5,_disabled:{opacity:.4},_focusVisible:{boxShadow:"outline",bg:"rgba(0, 0, 0, 0.14)"},_hover:{opacity:.8},_active:{opacity:1}}),An=G({container:wn,label:zn,closeButton:Cn}),Pn={sm:G({container:{[je.variable]:"sizes.5",[He.variable]:"sizes.5",[We.variable]:"fontSizes.xs",[Ve.variable]:"space.2"},closeButton:{marginEnd:"-2px",marginStart:"0.35rem"}}),md:G({container:{[je.variable]:"sizes.6",[He.variable]:"sizes.6",[We.variable]:"fontSizes.sm",[Ve.variable]:"space.2"}}),lg:G({container:{[je.variable]:"sizes.8",[He.variable]:"sizes.8",[We.variable]:"fontSizes.md",[Ve.variable]:"space.3"}})},Tn={subtle:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.subtle(e)}}),solid:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.solid(e)}}),outline:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.outline(e)}})},Fn=_n({variants:Tn,baseStyle:An,sizes:Pn,defaultProps:{size:"md",variant:"subtle",colorScheme:"gray"}}),{definePartsStyle:D,defineMultiStyleConfig:In}=b(Zt.keys),Mn=D({field:{width:"100%",minWidth:0,outline:0,position:"relative",appearance:"none",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed"}}}),H={lg:t({fontSize:"lg",px:"4",h:"12",borderRadius:"md"}),md:t({fontSize:"md",px:"4",h:"10",borderRadius:"md"}),sm:t({fontSize:"sm",px:"3",h:"8",borderRadius:"sm"}),xs:t({fontSize:"xs",px:"2",h:"6",borderRadius:"sm"})},Bn={lg:D({field:H.lg,addon:H.lg}),md:D({field:H.md,addon:H.md}),sm:D({field:H.sm,addon:H.sm}),xs:D({field:H.xs,addon:H.xs})};function $r(e){const{focusBorderColor:r,errorBorderColor:a}=e;return{focusBorderColor:r||n("blue.500","blue.300")(e),errorBorderColor:a||n("red.500","red.300")(e)}}var En=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{border:"1px solid",borderColor:"inherit",bg:"inherit",_hover:{borderColor:n("gray.300","whiteAlpha.400")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o),boxShadow:`0 0 0 1px ${P(r,o)}`},_focusVisible:{zIndex:1,borderColor:P(r,a),boxShadow:`0 0 0 1px ${P(r,a)}`}},addon:{border:"1px solid",borderColor:n("inherit","whiteAlpha.50")(e),bg:n("gray.100","whiteAlpha.300")(e)}}}),Dn=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{border:"2px solid",borderColor:"transparent",bg:n("gray.100","whiteAlpha.50")(e),_hover:{bg:n("gray.200","whiteAlpha.100")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o)},_focusVisible:{bg:"transparent",borderColor:P(r,a)}},addon:{border:"2px solid",borderColor:"transparent",bg:n("gray.100","whiteAlpha.50")(e)}}}),Rn=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{borderBottom:"1px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent",_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o),boxShadow:`0px 1px 0px 0px ${P(r,o)}`},_focusVisible:{borderColor:P(r,a),boxShadow:`0px 1px 0px 0px ${P(r,a)}`}},addon:{borderBottom:"2px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent"}}}),jn=D({field:{bg:"transparent",px:"0",height:"auto"},addon:{bg:"transparent",px:"0",height:"auto"}}),Hn={outline:En,filled:Dn,flushed:Rn,unstyled:jn},u=In({baseStyle:Mn,sizes:Bn,variants:Hn,defaultProps:{size:"md",variant:"outline"}}),jr,Wn=t({...(jr=u.baseStyle)==null?void 0:jr.field,paddingY:"2",minHeight:"20",lineHeight:"short",verticalAlign:"top"}),Hr,Wr,Vn={outline:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.outline(e).field)!=null?a:{}}),flushed:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.flushed(e).field)!=null?a:{}}),filled:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.filled(e).field)!=null?a:{}}),unstyled:(Wr=(Hr=u.variants)==null?void 0:Hr.unstyled.field)!=null?Wr:{}},Vr,Lr,qr,Or,Nr,Gr,Ur,Yr,Ln={xs:(Lr=(Vr=u.sizes)==null?void 0:Vr.xs.field)!=null?Lr:{},sm:(Or=(qr=u.sizes)==null?void 0:qr.sm.field)!=null?Or:{},md:(Gr=(Nr=u.sizes)==null?void 0:Nr.md.field)!=null?Gr:{},lg:(Yr=(Ur=u.sizes)==null?void 0:Ur.lg.field)!=null?Yr:{}},qn=h({baseStyle:Wn,sizes:Ln,variants:Vn,defaultProps:{size:"md",variant:"outline"}}),ze=m("tooltip-bg"),ar=m("tooltip-fg"),On=m("popper-arrow-bg"),Nn=t({bg:ze.reference,color:ar.reference,[ze.variable]:"colors.gray.700",[ar.variable]:"colors.whiteAlpha.900",_dark:{[ze.variable]:"colors.gray.300",[ar.variable]:"colors.gray.900"},[On.variable]:ze.reference,px:"2",py:"0.5",borderRadius:"sm",fontWeight:"medium",fontSize:"sm",boxShadow:"md",maxW:"xs",zIndex:"tooltip"}),Gn=h({baseStyle:Nn}),{defineMultiStyleConfig:Un,definePartsStyle:ce}=b(to.keys),Yn=t(e=>{const{colorScheme:r,theme:a,isIndeterminate:o,hasStripe:i}=e,l=n(Fr(),Fr("1rem","rgba(0,0,0,0.1)"))(e),s=n(`${r}.500`,`${r}.200`)(e),d=`linear-gradient( - to right, - transparent 0%, - ${P(a,s)} 50%, - transparent 100% - )`;return{...!o&&i&&l,...o?{bgImage:d}:{bgColor:s}}}),Kn=t({lineHeight:"1",fontSize:"0.25em",fontWeight:"bold",color:"white"}),Xn=t(e=>({bg:n("gray.100","whiteAlpha.300")(e)})),Zn=t(e=>({transitionProperty:"common",transitionDuration:"slow",...Yn(e)})),Jn=ce(e=>({label:Kn,filledTrack:Zn(e),track:Xn(e)})),Qn={xs:ce({track:{h:"1"}}),sm:ce({track:{h:"2"}}),md:ce({track:{h:"3"}}),lg:ce({track:{h:"4"}})},ei=Un({sizes:Qn,baseStyle:Jn,defaultProps:{size:"md",colorScheme:"blue"}}),ri=e=>typeof e=="function";function k(e,...r){return ri(e)?e(...r):e}var{definePartsStyle:Le,defineMultiStyleConfig:ai}=b(Gt.keys),fe=c("checkbox-size"),ti=t(e=>{const{colorScheme:r}=e;return{w:fe.reference,h:fe.reference,transitionProperty:"box-shadow",transitionDuration:"normal",border:"2px solid",borderRadius:"sm",borderColor:"inherit",color:"white",_checked:{bg:n(`${r}.500`,`${r}.200`)(e),borderColor:n(`${r}.500`,`${r}.200`)(e),color:n("white","gray.900")(e),_hover:{bg:n(`${r}.600`,`${r}.300`)(e),borderColor:n(`${r}.600`,`${r}.300`)(e)},_disabled:{borderColor:n("gray.200","transparent")(e),bg:n("gray.200","whiteAlpha.300")(e),color:n("gray.500","whiteAlpha.500")(e)}},_indeterminate:{bg:n(`${r}.500`,`${r}.200`)(e),borderColor:n(`${r}.500`,`${r}.200`)(e),color:n("white","gray.900")(e)},_disabled:{bg:n("gray.100","whiteAlpha.100")(e),borderColor:n("gray.100","transparent")(e)},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:n("red.500","red.300")(e)}}}),oi=t({_disabled:{cursor:"not-allowed"}}),ni=t({userSelect:"none",_disabled:{opacity:.4}}),ii=t({transitionProperty:"transform",transitionDuration:"normal"}),li=Le(e=>({icon:ii,container:oi,control:k(ti,e),label:ni})),si={sm:Le({control:{[fe.variable]:"sizes.3"},label:{fontSize:"sm"},icon:{fontSize:"3xs"}}),md:Le({control:{[fe.variable]:"sizes.4"},label:{fontSize:"md"},icon:{fontSize:"2xs"}}),lg:Le({control:{[fe.variable]:"sizes.5"},label:{fontSize:"lg"},icon:{fontSize:"2xs"}})},Ue=ai({baseStyle:li,sizes:si,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:di,definePartsStyle:qe}=b(oo.keys),ci=t(e=>{var r;const a=(r=k(Ue.baseStyle,e))==null?void 0:r.control;return{...a,borderRadius:"full",_checked:{...a==null?void 0:a._checked,_before:{content:'""',display:"inline-block",pos:"relative",w:"50%",h:"50%",borderRadius:"50%",bg:"currentColor"}}}}),bi=qe(e=>{var r,a,o,i;return{label:(a=(r=Ue).baseStyle)==null?void 0:a.call(r,e).label,container:(i=(o=Ue).baseStyle)==null?void 0:i.call(o,e).container,control:ci(e)}}),vi={md:qe({control:{w:"4",h:"4"},label:{fontSize:"md"}}),lg:qe({control:{w:"5",h:"5"},label:{fontSize:"lg"}}),sm:qe({control:{width:"3",height:"3"},label:{fontSize:"sm"}})},ui=di({baseStyle:bi,sizes:vi,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:fi,definePartsStyle:mi}=b(no.keys),Ce=c("select-bg"),Kr,hi=t({...(Kr=u.baseStyle)==null?void 0:Kr.field,appearance:"none",paddingBottom:"1px",lineHeight:"normal",bg:Ce.reference,[Ce.variable]:"colors.white",_dark:{[Ce.variable]:"colors.gray.700"},"> option, > optgroup":{bg:Ce.reference}}),gi=t({width:"6",height:"100%",insetEnd:"2",position:"relative",color:"currentColor",fontSize:"xl",_disabled:{opacity:.5}}),yi=mi({field:hi,icon:gi}),Ae=t({paddingInlineEnd:"8"}),Xr,Zr,Jr,Qr,ea,ra,aa,ta,pi={lg:{...(Xr=u.sizes)==null?void 0:Xr.lg,field:{...(Zr=u.sizes)==null?void 0:Zr.lg.field,...Ae}},md:{...(Jr=u.sizes)==null?void 0:Jr.md,field:{...(Qr=u.sizes)==null?void 0:Qr.md.field,...Ae}},sm:{...(ea=u.sizes)==null?void 0:ea.sm,field:{...(ra=u.sizes)==null?void 0:ra.sm.field,...Ae}},xs:{...(aa=u.sizes)==null?void 0:aa.xs,field:{...(ta=u.sizes)==null?void 0:ta.xs.field,...Ae},icon:{insetEnd:"1"}}},Si=fi({baseStyle:yi,sizes:pi,variants:u.variants,defaultProps:u.defaultProps}),tr=c("skeleton-start-color"),or=c("skeleton-end-color"),xi=t({[tr.variable]:"colors.gray.100",[or.variable]:"colors.gray.400",_dark:{[tr.variable]:"colors.gray.800",[or.variable]:"colors.gray.600"},background:tr.reference,borderColor:or.reference,opacity:.7,borderRadius:"sm"}),$i=h({baseStyle:xi}),nr=c("skip-link-bg"),ki=t({borderRadius:"md",fontWeight:"semibold",_focusVisible:{boxShadow:"outline",padding:"4",position:"fixed",top:"6",insetStart:"6",[nr.variable]:"colors.white",_dark:{[nr.variable]:"colors.gray.700"},bg:nr.reference}}),_i=h({baseStyle:ki}),{defineMultiStyleConfig:wi,definePartsStyle:Ze}=b(io.keys),ye=c("slider-thumb-size"),pe=c("slider-track-size"),V=c("slider-bg"),zi=t(e=>{const{orientation:r}=e;return{display:"inline-block",position:"relative",cursor:"pointer",_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"},...Sr({orientation:r,vertical:{h:"100%"},horizontal:{w:"100%"}})}}),Ci=t(e=>({...Sr({orientation:e.orientation,horizontal:{h:pe.reference},vertical:{w:pe.reference}}),overflow:"hidden",borderRadius:"sm",[V.variable]:"colors.gray.200",_dark:{[V.variable]:"colors.whiteAlpha.200"},_disabled:{[V.variable]:"colors.gray.300",_dark:{[V.variable]:"colors.whiteAlpha.300"}},bg:V.reference})),Ai=t(e=>{const{orientation:r}=e;return{...Sr({orientation:r,vertical:{left:"50%",transform:"translateX(-50%)",_active:{transform:"translateX(-50%) scale(1.15)"}},horizontal:{top:"50%",transform:"translateY(-50%)",_active:{transform:"translateY(-50%) scale(1.15)"}}}),w:ye.reference,h:ye.reference,display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",outline:0,zIndex:1,borderRadius:"full",bg:"white",boxShadow:"base",border:"1px solid",borderColor:"transparent",transitionProperty:"transform",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{bg:"gray.300"}}}),Pi=t(e=>{const{colorScheme:r}=e;return{width:"inherit",height:"inherit",[V.variable]:`colors.${r}.500`,_dark:{[V.variable]:`colors.${r}.200`},bg:V.reference}}),Ti=Ze(e=>({container:zi(e),track:Ci(e),thumb:Ai(e),filledTrack:Pi(e)})),Fi=Ze({container:{[ye.variable]:"sizes.4",[pe.variable]:"sizes.1"}}),Ii=Ze({container:{[ye.variable]:"sizes.3.5",[pe.variable]:"sizes.1"}}),Mi=Ze({container:{[ye.variable]:"sizes.2.5",[pe.variable]:"sizes.0.5"}}),Bi={lg:Fi,md:Ii,sm:Mi},Ei=wi({baseStyle:Ti,sizes:Bi,defaultProps:{size:"md",colorScheme:"blue"}}),q=m("spinner-size"),Di=t({width:[q.reference],height:[q.reference]}),Ri={xs:t({[q.variable]:"sizes.3"}),sm:t({[q.variable]:"sizes.4"}),md:t({[q.variable]:"sizes.6"}),lg:t({[q.variable]:"sizes.8"}),xl:t({[q.variable]:"sizes.12"})},ji=h({baseStyle:Di,sizes:Ri,defaultProps:{size:"md"}}),{defineMultiStyleConfig:Hi,definePartsStyle:xa}=b(lo.keys),Wi=t({fontWeight:"medium"}),Vi=t({opacity:.8,marginBottom:"2"}),Li=t({verticalAlign:"baseline",fontWeight:"semibold"}),qi=t({marginEnd:1,w:"3.5",h:"3.5",verticalAlign:"middle"}),Oi=xa({container:{},label:Wi,helpText:Vi,number:Li,icon:qi}),Ni={md:xa({label:{fontSize:"sm"},helpText:{fontSize:"sm"},number:{fontSize:"2xl"}})},Gi=Hi({baseStyle:Oi,sizes:Ni,defaultProps:{size:"md"}}),ir=c("kbd-bg"),Ui=t({[ir.variable]:"colors.gray.100",_dark:{[ir.variable]:"colors.whiteAlpha.100"},bg:ir.reference,borderRadius:"md",borderWidth:"1px",borderBottomWidth:"3px",fontSize:"0.8em",fontWeight:"bold",lineHeight:"normal",px:"0.4em",whiteSpace:"nowrap"}),Yi=h({baseStyle:Ui}),Ki=t({transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}}),Xi=h({baseStyle:Ki}),{defineMultiStyleConfig:Zi,definePartsStyle:Ji}=b(Jt.keys),Qi=t({marginEnd:"2",display:"inline",verticalAlign:"text-bottom"}),el=Ji({icon:Qi}),rl=Zi({baseStyle:el}),{defineMultiStyleConfig:al,definePartsStyle:tl}=b(Qt.keys),I=c("menu-bg"),lr=c("menu-shadow"),ol=t({[I.variable]:"#fff",[lr.variable]:"shadows.sm",_dark:{[I.variable]:"colors.gray.700",[lr.variable]:"shadows.dark-lg"},color:"inherit",minW:"3xs",py:"2",zIndex:1,borderRadius:"md",borderWidth:"1px",bg:I.reference,boxShadow:lr.reference}),nl=t({py:"1.5",px:"3",transitionProperty:"background",transitionDuration:"ultra-fast",transitionTimingFunction:"ease-in",_focus:{[I.variable]:"colors.gray.100",_dark:{[I.variable]:"colors.whiteAlpha.100"}},_active:{[I.variable]:"colors.gray.200",_dark:{[I.variable]:"colors.whiteAlpha.200"}},_expanded:{[I.variable]:"colors.gray.100",_dark:{[I.variable]:"colors.whiteAlpha.100"}},_disabled:{opacity:.4,cursor:"not-allowed"},bg:I.reference}),il=t({mx:4,my:2,fontWeight:"semibold",fontSize:"sm"}),ll=t({opacity:.6}),sl=t({border:0,borderBottom:"1px solid",borderColor:"inherit",my:"2",opacity:.6}),dl=t({transitionProperty:"common",transitionDuration:"normal"}),cl=tl({button:dl,list:ol,item:nl,groupTitle:il,command:ll,divider:sl}),bl=al({baseStyle:cl}),{defineMultiStyleConfig:vl,definePartsStyle:yr}=b(eo.keys),sr=c("modal-bg"),dr=c("modal-shadow"),ul=t({bg:"blackAlpha.600",zIndex:"modal"}),fl=t(e=>{const{isCentered:r,scrollBehavior:a}=e;return{display:"flex",zIndex:"modal",justifyContent:"center",alignItems:r?"center":"flex-start",overflow:a==="inside"?"hidden":"auto",overscrollBehaviorY:"none"}}),ml=t(e=>{const{isCentered:r,scrollBehavior:a}=e;return{borderRadius:"md",color:"inherit",my:r?"auto":"16",mx:r?"auto":void 0,zIndex:"modal",maxH:a==="inside"?"calc(100% - 7.5rem)":void 0,[sr.variable]:"colors.white",[dr.variable]:"shadows.lg",_dark:{[sr.variable]:"colors.gray.700",[dr.variable]:"shadows.dark-lg"},bg:sr.reference,boxShadow:dr.reference}}),hl=t({px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"}),gl=t({position:"absolute",top:"2",insetEnd:"3"}),yl=t(e=>{const{scrollBehavior:r}=e;return{px:"6",py:"2",flex:"1",overflow:r==="inside"?"auto":void 0}}),pl=t({px:"6",py:"4"}),Sl=yr(e=>({overlay:ul,dialogContainer:k(fl,e),dialog:k(ml,e),header:hl,closeButton:gl,body:k(yl,e),footer:pl}));function C(e){return yr(e==="full"?{dialog:{maxW:"100vw",minH:"$100vh",my:"0",borderRadius:"0"}}:{dialog:{maxW:e}})}var xl={xs:C("xs"),sm:C("sm"),md:C("md"),lg:C("lg"),xl:C("xl"),"2xl":C("2xl"),"3xl":C("3xl"),"4xl":C("4xl"),"5xl":C("5xl"),"6xl":C("6xl"),full:C("full")},$l=vl({baseStyle:Sl,sizes:xl,defaultProps:{size:"md"}}),{defineMultiStyleConfig:kl,definePartsStyle:$a}=b(ro.keys),kr=m("number-input-stepper-width"),ka=m("number-input-input-padding"),_l=E(kr).add("0.5rem").toString(),cr=m("number-input-bg"),br=m("number-input-color"),vr=m("number-input-border-color"),wl=t({[kr.variable]:"sizes.6",[ka.variable]:_l}),zl=t(e=>{var r,a;return(a=(r=k(u.baseStyle,e))==null?void 0:r.field)!=null?a:{}}),Cl=t({width:kr.reference}),Al=t({borderStart:"1px solid",borderStartColor:vr.reference,color:br.reference,bg:cr.reference,[br.variable]:"colors.chakra-body-text",[vr.variable]:"colors.chakra-border-color",_dark:{[br.variable]:"colors.whiteAlpha.800",[vr.variable]:"colors.whiteAlpha.300"},_active:{[cr.variable]:"colors.gray.200",_dark:{[cr.variable]:"colors.whiteAlpha.300"}},_disabled:{opacity:.4,cursor:"not-allowed"}}),Pl=$a(e=>{var r;return{root:wl,field:(r=k(zl,e))!=null?r:{},stepperGroup:Cl,stepper:Al}});function Pe(e){var r,a,o;const i=(r=u.sizes)==null?void 0:r[e],l={lg:"md",md:"md",sm:"sm",xs:"sm"},s=(o=(a=i.field)==null?void 0:a.fontSize)!=null?o:"md",d=ha.fontSizes[s];return $a({field:{...i.field,paddingInlineEnd:ka.reference,verticalAlign:"top"},stepper:{fontSize:E(d).multiply(.75).toString(),_first:{borderTopEndRadius:l[e]},_last:{borderBottomEndRadius:l[e],mt:"-1px",borderTopWidth:1}}})}var Tl={xs:Pe("xs"),sm:Pe("sm"),md:Pe("md"),lg:Pe("lg")},Fl=kl({baseStyle:Pl,sizes:Tl,variants:u.variants,defaultProps:u.defaultProps}),oa,Il=t({...(oa=u.baseStyle)==null?void 0:oa.field,textAlign:"center"}),Ml={lg:t({fontSize:"lg",w:12,h:12,borderRadius:"md"}),md:t({fontSize:"md",w:10,h:10,borderRadius:"md"}),sm:t({fontSize:"sm",w:8,h:8,borderRadius:"sm"}),xs:t({fontSize:"xs",w:6,h:6,borderRadius:"sm"})},na,ia,Bl={outline:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.outline,e))==null?void 0:a.field)!=null?o:{}}),flushed:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.flushed,e))==null?void 0:a.field)!=null?o:{}}),filled:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.filled,e))==null?void 0:a.field)!=null?o:{}}),unstyled:(ia=(na=u.variants)==null?void 0:na.unstyled.field)!=null?ia:{}},El=h({baseStyle:Il,sizes:Ml,variants:Bl,defaultProps:u.defaultProps}),{defineMultiStyleConfig:Dl,definePartsStyle:Rl}=b(ao.keys),Te=m("popper-bg"),jl=m("popper-arrow-bg"),la=m("popper-arrow-shadow-color"),Hl=t({zIndex:10}),Wl=t({[Te.variable]:"colors.white",bg:Te.reference,[jl.variable]:Te.reference,[la.variable]:"colors.gray.200",_dark:{[Te.variable]:"colors.gray.700",[la.variable]:"colors.whiteAlpha.300"},width:"xs",border:"1px solid",borderColor:"inherit",borderRadius:"md",boxShadow:"sm",zIndex:"inherit",_focusVisible:{outline:0,boxShadow:"outline"}}),Vl=t({px:3,py:2,borderBottomWidth:"1px"}),Ll=t({px:3,py:2}),ql=t({px:3,py:2,borderTopWidth:"1px"}),Ol=t({position:"absolute",borderRadius:"md",top:1,insetEnd:2,padding:2}),Nl=Rl({popper:Hl,content:Wl,header:Vl,body:Ll,footer:ql,closeButton:Ol}),Gl=Dl({baseStyle:Nl}),{definePartsStyle:pr,defineMultiStyleConfig:Ul}=b(Ut.keys),ur=c("drawer-bg"),fr=c("drawer-box-shadow");function Y(e){return pr(e==="full"?{dialog:{maxW:"100vw",h:"100vh"}}:{dialog:{maxW:e}})}var Yl=t({bg:"blackAlpha.600",zIndex:"overlay"}),Kl=t({display:"flex",zIndex:"modal",justifyContent:"center"}),Xl=t(e=>{const{isFullHeight:r}=e;return{...r&&{height:"100vh"},zIndex:"modal",maxH:"100vh",color:"inherit",[ur.variable]:"colors.white",[fr.variable]:"shadows.lg",_dark:{[ur.variable]:"colors.gray.700",[fr.variable]:"shadows.dark-lg"},bg:ur.reference,boxShadow:fr.reference}}),Zl=t({px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"}),Jl=t({position:"absolute",top:"2",insetEnd:"3"}),Ql=t({px:"6",py:"2",flex:"1",overflow:"auto"}),es=t({px:"6",py:"4"}),rs=pr(e=>({overlay:Yl,dialogContainer:Kl,dialog:k(Xl,e),header:Zl,closeButton:Jl,body:Ql,footer:es})),as={xs:Y("xs"),sm:Y("md"),md:Y("lg"),lg:Y("2xl"),xl:Y("4xl"),full:Y("full")},ts=Ul({baseStyle:rs,sizes:as,defaultProps:{size:"xs"}}),{definePartsStyle:os,defineMultiStyleConfig:ns}=b(Yt.keys),is=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"}),ls=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),ss=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),ds=os({preview:is,input:ls,textarea:ss}),cs=ns({baseStyle:ds}),{definePartsStyle:bs,defineMultiStyleConfig:vs}=b(Kt.keys),J=c("form-control-color"),us=t({marginStart:"1",[J.variable]:"colors.red.500",_dark:{[J.variable]:"colors.red.300"},color:J.reference}),fs=t({mt:"2",[J.variable]:"colors.gray.600",_dark:{[J.variable]:"colors.whiteAlpha.600"},color:J.reference,lineHeight:"normal",fontSize:"sm"}),ms=bs({container:{width:"100%",position:"relative"},requiredIndicator:us,helperText:fs}),hs=vs({baseStyle:ms}),{definePartsStyle:gs,defineMultiStyleConfig:ys}=b(Xt.keys),Q=c("form-error-color"),ps=t({[Q.variable]:"colors.red.500",_dark:{[Q.variable]:"colors.red.300"},color:Q.reference,mt:"2",fontSize:"sm",lineHeight:"normal"}),Ss=t({marginEnd:"0.5em",[Q.variable]:"colors.red.500",_dark:{[Q.variable]:"colors.red.300"},color:Q.reference}),xs=gs({text:ps,icon:Ss}),$s=ys({baseStyle:xs}),ks=t({fontSize:"md",marginEnd:"3",mb:"2",fontWeight:"medium",transitionProperty:"common",transitionDuration:"normal",opacity:1,_disabled:{opacity:.4}}),_s=h({baseStyle:ks}),ws=t({fontFamily:"heading",fontWeight:"bold"}),zs={"4xl":t({fontSize:["6xl",null,"7xl"],lineHeight:1}),"3xl":t({fontSize:["5xl",null,"6xl"],lineHeight:1}),"2xl":t({fontSize:["4xl",null,"5xl"],lineHeight:[1.2,null,1]}),xl:t({fontSize:["3xl",null,"4xl"],lineHeight:[1.33,null,1.2]}),lg:t({fontSize:["2xl",null,"3xl"],lineHeight:[1.33,null,1.2]}),md:t({fontSize:"xl",lineHeight:1.2}),sm:t({fontSize:"md",lineHeight:1.2}),xs:t({fontSize:"sm",lineHeight:1.2})},Cs=h({baseStyle:ws,sizes:zs,defaultProps:{size:"xl"}}),{defineMultiStyleConfig:As,definePartsStyle:Ps}=b(Nt.keys),mr=c("breadcrumb-link-decor"),Ts=t({transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",outline:"none",color:"inherit",textDecoration:mr.reference,[mr.variable]:"none","&:not([aria-current=page])":{cursor:"pointer",_hover:{[mr.variable]:"underline"},_focusVisible:{boxShadow:"outline"}}}),Fs=Ps({link:Ts}),Is=As({baseStyle:Fs}),Ms=t({lineHeight:"1.2",borderRadius:"md",fontWeight:"semibold",transitionProperty:"common",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{_disabled:{bg:"initial"}}}),_a=t(e=>{const{colorScheme:r,theme:a}=e;if(r==="gray")return{color:n("gray.800","whiteAlpha.900")(e),_hover:{bg:n("gray.100","whiteAlpha.200")(e)},_active:{bg:n("gray.200","whiteAlpha.300")(e)}};const o=re(`${r}.200`,.12)(a),i=re(`${r}.200`,.24)(a);return{color:n(`${r}.600`,`${r}.200`)(e),bg:"transparent",_hover:{bg:n(`${r}.50`,o)(e)},_active:{bg:n(`${r}.100`,i)(e)}}}),Bs=t(e=>{const{colorScheme:r}=e,a=n("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:r==="gray"?a:"currentColor",".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)":{marginEnd:"-1px"},".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)":{marginBottom:"-1px"},...k(_a,e)}}),Es={yellow:{bg:"yellow.400",color:"black",hoverBg:"yellow.500",activeBg:"yellow.600"},cyan:{bg:"cyan.400",color:"black",hoverBg:"cyan.500",activeBg:"cyan.600"}},Ds=t(e=>{var r;const{colorScheme:a}=e;if(a==="gray"){const v=n("gray.100","whiteAlpha.200")(e);return{bg:v,color:n("gray.800","whiteAlpha.900")(e),_hover:{bg:n("gray.200","whiteAlpha.300")(e),_disabled:{bg:v}},_active:{bg:n("gray.300","whiteAlpha.400")(e)}}}const{bg:o=`${a}.500`,color:i="white",hoverBg:l=`${a}.600`,activeBg:s=`${a}.700`}=(r=Es[a])!=null?r:{},d=n(o,`${a}.200`)(e);return{bg:d,color:n(i,"gray.800")(e),_hover:{bg:n(l,`${a}.300`)(e),_disabled:{bg:d}},_active:{bg:n(s,`${a}.400`)(e)}}}),Rs=t(e=>{const{colorScheme:r}=e;return{padding:0,height:"auto",lineHeight:"normal",verticalAlign:"baseline",color:n(`${r}.500`,`${r}.200`)(e),_hover:{textDecoration:"underline",_disabled:{textDecoration:"none"}},_active:{color:n(`${r}.700`,`${r}.500`)(e)}}}),js=t({bg:"none",color:"inherit",display:"inline",lineHeight:"inherit",m:"0",p:"0"}),Hs={ghost:_a,outline:Bs,solid:Ds,link:Rs,unstyled:js},Ws={lg:t({h:"12",minW:"12",fontSize:"lg",px:"6"}),md:t({h:"10",minW:"10",fontSize:"md",px:"4"}),sm:t({h:"8",minW:"8",fontSize:"sm",px:"3"}),xs:t({h:"6",minW:"6",fontSize:"xs",px:"2"})},Vs=h({baseStyle:Ms,variants:Hs,sizes:Ws,defaultProps:{variant:"solid",size:"md",colorScheme:"gray"}}),{definePartsStyle:U,defineMultiStyleConfig:Ls}=b(uo.keys),Ye=c("card-bg"),R=c("card-padding"),wa=c("card-shadow"),Oe=c("card-radius"),za=c("card-border-width","0"),Ca=c("card-border-color"),qs=U({container:{[Ye.variable]:"colors.chakra-body-bg",backgroundColor:Ye.reference,boxShadow:wa.reference,borderRadius:Oe.reference,color:"chakra-body-text",borderWidth:za.reference,borderColor:Ca.reference},body:{padding:R.reference,flex:"1 1 0%"},header:{padding:R.reference},footer:{padding:R.reference}}),Os={sm:U({container:{[Oe.variable]:"radii.base",[R.variable]:"space.3"}}),md:U({container:{[Oe.variable]:"radii.md",[R.variable]:"space.5"}}),lg:U({container:{[Oe.variable]:"radii.xl",[R.variable]:"space.7"}})},Ns={elevated:U({container:{[wa.variable]:"shadows.base",_dark:{[Ye.variable]:"colors.gray.700"}}}),outline:U({container:{[za.variable]:"1px",[Ca.variable]:"colors.chakra-border-color"}}),filled:U({container:{[Ye.variable]:"colors.chakra-subtle-bg"}}),unstyled:{body:{[R.variable]:0},header:{[R.variable]:0},footer:{[R.variable]:0}}},Gs=Ls({baseStyle:qs,variants:Ns,sizes:Os,defaultProps:{variant:"elevated",size:"md"}}),me=m("close-button-size"),ie=m("close-button-bg"),Us=t({w:[me.reference],h:[me.reference],borderRadius:"md",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{[ie.variable]:"colors.blackAlpha.100",_dark:{[ie.variable]:"colors.whiteAlpha.100"}},_active:{[ie.variable]:"colors.blackAlpha.200",_dark:{[ie.variable]:"colors.whiteAlpha.200"}},_focusVisible:{boxShadow:"outline"},bg:ie.reference}),Ys={lg:t({[me.variable]:"sizes.10",fontSize:"md"}),md:t({[me.variable]:"sizes.8",fontSize:"xs"}),sm:t({[me.variable]:"sizes.6",fontSize:"2xs"})},Ks=h({baseStyle:Us,sizes:Ys,defaultProps:{size:"md"}}),{variants:Xs,defaultProps:Zs}=ue,Js=t({fontFamily:"mono",fontSize:"sm",px:"0.2em",borderRadius:"sm",bg:y.bg.reference,color:y.color.reference,boxShadow:y.shadow.reference}),Qs=h({baseStyle:Js,variants:Xs,defaultProps:Zs}),e0=t({w:"100%",mx:"auto",maxW:"prose",px:"4"}),r0=h({baseStyle:e0}),a0=t({opacity:.6,borderColor:"inherit"}),t0=t({borderStyle:"solid"}),o0=t({borderStyle:"dashed"}),n0={solid:t0,dashed:o0},i0=h({baseStyle:a0,variants:n0,defaultProps:{variant:"solid"}}),{definePartsStyle:l0,defineMultiStyleConfig:s0}=b(Lt.keys),d0=t({borderTopWidth:"1px",borderColor:"inherit",_last:{borderBottomWidth:"1px"}}),c0=t({transitionProperty:"common",transitionDuration:"normal",fontSize:"md",_focusVisible:{boxShadow:"outline"},_hover:{bg:"blackAlpha.50"},_disabled:{opacity:.4,cursor:"not-allowed"},px:"4",py:"2"}),b0=t({pt:"2",px:"4",pb:"5"}),v0=t({fontSize:"1.25em"}),u0=l0({container:d0,button:c0,panel:b0,icon:v0}),f0=s0({baseStyle:u0}),{definePartsStyle:xe,defineMultiStyleConfig:m0}=b(qt.keys),w=c("alert-fg"),j=c("alert-bg"),h0=xe({container:{bg:j.reference,px:"4",py:"3"},title:{fontWeight:"bold",lineHeight:"6",marginEnd:"2"},description:{lineHeight:"6"},icon:{color:w.reference,flexShrink:0,marginEnd:"3",w:"5",h:"6"},spinner:{color:w.reference,flexShrink:0,marginEnd:"3",w:"5",h:"5"}});function _r(e){const{theme:r,colorScheme:a}=e,o=re(`${a}.200`,.16)(r);return{light:`colors.${a}.100`,dark:o}}var g0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark}}}}),y0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark},paddingStart:"3",borderStartWidth:"4px",borderStartColor:w.reference}}}),p0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark},pt:"2",borderTopWidth:"4px",borderTopColor:w.reference}}}),S0=xe(e=>{const{colorScheme:r}=e;return{container:{[w.variable]:"colors.white",[j.variable]:`colors.${r}.500`,_dark:{[w.variable]:"colors.gray.900",[j.variable]:`colors.${r}.200`},color:w.reference}}}),x0={subtle:g0,"left-accent":y0,"top-accent":p0,solid:S0},$0=m0({baseStyle:h0,variants:x0,defaultProps:{variant:"subtle",colorScheme:"blue"}}),{definePartsStyle:Aa,defineMultiStyleConfig:k0}=b(Ot.keys),ee=c("avatar-border-color"),he=c("avatar-bg"),Se=c("avatar-font-size"),ae=c("avatar-size"),_0=t({borderRadius:"full",border:"0.2em solid",borderColor:ee.reference,[ee.variable]:"white",_dark:{[ee.variable]:"colors.gray.800"}}),w0=t({bg:he.reference,fontSize:Se.reference,width:ae.reference,height:ae.reference,lineHeight:"1",[he.variable]:"colors.gray.200",_dark:{[he.variable]:"colors.whiteAlpha.400"}}),z0=t(e=>{const{name:r,theme:a}=e,o=r?Mo({string:r}):"colors.gray.400",i=Fo(o)(a);let l="white";return i||(l="gray.800"),{bg:he.reference,fontSize:Se.reference,color:l,borderColor:ee.reference,verticalAlign:"top",width:ae.reference,height:ae.reference,"&:not([data-loaded])":{[he.variable]:o},[ee.variable]:"colors.white",_dark:{[ee.variable]:"colors.gray.800"}}}),C0=t({fontSize:Se.reference,lineHeight:"1"}),A0=Aa(e=>({badge:k(_0,e),excessLabel:k(w0,e),container:k(z0,e),label:C0}));function W(e){const r=e!=="100%"?ya[e]:void 0;return Aa({container:{[ae.variable]:r??e,[Se.variable]:`calc(${r??e} / 2.5)`},excessLabel:{[ae.variable]:r??e,[Se.variable]:`calc(${r??e} / 2.5)`}})}var P0={"2xs":W(4),xs:W(6),sm:W(8),md:W(12),lg:W(16),xl:W(24),"2xl":W(32),full:W("100%")},T0=k0({baseStyle:A0,sizes:P0,defaultProps:{size:"md"}}),F0={Accordion:f0,Alert:$0,Avatar:T0,Badge:ue,Breadcrumb:Is,Button:Vs,Checkbox:Ue,CloseButton:Ks,Code:Qs,Container:r0,Divider:i0,Drawer:ts,Editable:cs,Form:hs,FormError:$s,FormLabel:_s,Heading:Cs,Input:u,Kbd:Yi,Link:Xi,List:rl,Menu:bl,Modal:$l,NumberInput:Fl,PinInput:El,Popover:Gl,Progress:ei,Radio:ui,Select:Si,Skeleton:$i,SkipLink:_i,Slider:Ei,Spinner:ji,Stat:Gi,Switch:Ko,Table:an,Tabs:yn,Tag:Fn,Textarea:qn,Tooltip:Gn,Card:Gs,Stepper:Vt},I0={colors:{"chakra-body-text":{_light:"gray.800",_dark:"whiteAlpha.900"},"chakra-body-bg":{_light:"white",_dark:"gray.800"},"chakra-border-color":{_light:"gray.200",_dark:"whiteAlpha.300"},"chakra-inverse-text":{_light:"white",_dark:"gray.800"},"chakra-subtle-bg":{_light:"gray.100",_dark:"gray.700"},"chakra-subtle-text":{_light:"gray.600",_dark:"gray.400"},"chakra-placeholder-color":{_light:"gray.500",_dark:"whiteAlpha.400"}}},M0={global:{body:{fontFamily:"body",color:"chakra-body-text",bg:"chakra-body-bg",transitionProperty:"background-color",transitionDuration:"normal",lineHeight:"base"},"*::placeholder":{color:"chakra-placeholder-color"},"*, *::before, &::after":{borderColor:"chakra-border-color"}}},B0="ltr",E0={useSystemColorMode:!1,initialColorMode:"light",cssVarPrefix:"chakra"},Pa={semanticTokens:I0,direction:B0,...jt,components:F0,styles:M0,config:E0};function be(e){return typeof e=="function"}function D0(...e){return r=>e.reduce((a,o)=>o(a),r)}var R0=e=>function(...a){let o=[...a],i=a[a.length-1];return ft(i)&&o.length>1?o=o.slice(0,o.length-1):i=e,D0(...o.map(l=>s=>be(l)?l(s):H0(s,l)))(i)},j0=R0(Pa);function H0(...e){return ba({},...e,Ta)}function Ta(e,r,a,o){if((be(e)||be(r))&&Object.prototype.hasOwnProperty.call(o,a))return(...i)=>{const l=be(e)?e(...i):e,s=be(r)?r(...i):r;return ba({},l,s,Ta)}}function W0(e={}){const{strict:r=!0,errorMessage:a="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:o}=e,i=x.createContext(void 0);i.displayName=o;function l(){var s;const d=x.useContext(i);if(!d&&r){const v=new Error(a);throw v.name="ContextError",(s=Error.captureStackTrace)==null||s.call(Error,v,l),v}return d}return[i.Provider,l,i]}function V0(e){const{cssVarsRoot:r,theme:a,children:o}=e,i=x.useMemo(()=>ja(a),[a]);return g.jsxs(Ha,{theme:i,children:[g.jsx(L0,{root:r}),o]})}function L0({root:e=":host, :root"}){const r=[e,"[data-theme]"].join(",");return g.jsx(Ke,{styles:a=>({[r]:a.__cssVars})})}W0({name:"StylesContext",errorMessage:"useStyles: `styles` is undefined. Seems you forgot to wrap the components in `` "});function q0(){const{colorMode:e}=Wa();return g.jsx(Ke,{styles:r=>{const a=Va(r,"styles.global"),o=La(a,{theme:r,colorMode:e});return o?qa(o)(r):void 0}})}var Fa=x.createContext({getDocument(){return document},getWindow(){return window}});Fa.displayName="EnvironmentContext";function Ia(e){const{children:r,environment:a,disabled:o}=e,i=x.useRef(null),l=x.useMemo(()=>a||{getDocument:()=>{var d,v;return(v=(d=i.current)==null?void 0:d.ownerDocument)!=null?v:document},getWindow:()=>{var d,v;return(v=(d=i.current)==null?void 0:d.ownerDocument.defaultView)!=null?v:window}},[a]),s=!o||!a;return g.jsxs(Fa.Provider,{value:l,children:[r,s&&g.jsx("span",{id:"__chakra_env",hidden:!0,ref:i})]})}Ia.displayName="EnvironmentProvider";var O0=e=>{const{children:r,colorModeManager:a,portalZIndex:o,resetScope:i,resetCSS:l=!0,theme:s={},environment:d,cssVarsRoot:v,disableEnvironment:$,disableGlobalStyle:p}=e,S=g.jsx(Ia,{environment:d,disabled:$,children:r});return g.jsx(V0,{theme:s,cssVarsRoot:v,children:g.jsxs(ma,{colorModeManager:a,options:s.config,children:[l?g.jsx(dt,{scope:i}):g.jsx(st,{}),!p&&g.jsx(q0,{}),o?g.jsx(Oa,{zIndex:o,children:S}):S]})})},N0=e=>function({children:a,theme:o=e,toastOptions:i,...l}){return g.jsxs(O0,{theme:o,...l,children:[g.jsx(Na,{value:i==null?void 0:i.defaultOptions,children:a}),g.jsx(Ga,{...i})]})},G0=N0(Pa);function z(e,r,a=!1){e=String(e),r=String(r);const o=Array.from({length:21},(s,d)=>d*50),i=[0,5,10,15,20,25,30,35,40,45,50,55,59,64,68,73,77,82,86,95,100];return o.reduce((s,d,v)=>{const $=a?i[v]/100:1,p=a?50:i[o.length-1-v];return s[d]=`hsl(${e} ${r}% ${p}% / ${$})`,s},{})}const Fe={H:220,S:16},Ie={H:250,S:42},Me={H:47,S:42},Be={H:28,S:42},Ee={H:113,S:42},De={H:0,S:42},U0={base:z(Fe.H,Fe.S),baseAlpha:z(Fe.H,Fe.S,!0),accent:z(Ie.H,Ie.S),accentAlpha:z(Ie.H,Ie.S,!0),working:z(Me.H,Me.S),workingAlpha:z(Me.H,Me.S,!0),warning:z(Be.H,Be.S),warningAlpha:z(Be.H,Be.S,!0),ok:z(Ee.H,Ee.S),okAlpha:z(Ee.H,Ee.S,!0),error:z(De.H,De.S),errorAlpha:z(De.H,De.S,!0)},{definePartsStyle:Y0,defineMultiStyleConfig:K0}=b(Ya.keys),X0=t({border:"none"}),Z0=t(e=>{const{colorScheme:r}=e;return{fontWeight:"600",fontSize:"sm",border:"none",borderRadius:"base",bg:n(`${r}.200`,`${r}.700`)(e),color:n(`${r}.900`,`${r}.100`)(e),_hover:{bg:n(`${r}.250`,`${r}.650`)(e)},_expanded:{bg:n(`${r}.250`,`${r}.650`)(e),borderBottomRadius:"none",_hover:{bg:n(`${r}.300`,`${r}.600`)(e)}}}}),J0=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.100`,`${r}.800`)(e),borderRadius:"base",borderTopRadius:"none"}}),Q0=t({}),ed=Y0(e=>({container:X0,button:Z0(e),panel:J0(e),icon:Q0})),rd=K0({variants:{invokeAI:ed},defaultProps:{variant:"invokeAI",colorScheme:"base"}}),ad=t(e=>{const{colorScheme:r}=e;if(r==="base"){const o={bg:n("base.150","base.700")(e),color:n("base.500","base.500")(e),svg:{fill:n("base.500","base.500")(e)},opacity:1};return{bg:n("base.250","base.600")(e),color:n("base.850","base.100")(e),borderRadius:"base",svg:{fill:n("base.850","base.100")(e)},_hover:{bg:n("base.300","base.500")(e),color:n("base.900","base.50")(e),svg:{fill:n("base.900","base.50")(e)},_disabled:o},_disabled:o}}const a={bg:n(`${r}.250`,`${r}.700`)(e),color:n(`${r}.50`,`${r}.500`)(e),svg:{fill:n(`${r}.50`,`${r}.500`)(e),filter:"unset"},opacity:1,filter:n(void 0,"saturate(65%)")(e)};return{bg:n(`${r}.400`,`${r}.600`)(e),color:n("base.50","base.100")(e),borderRadius:"base",svg:{fill:n("base.50","base.100")(e)},_disabled:a,_hover:{bg:n(`${r}.500`,`${r}.500`)(e),color:n("white","base.50")(e),svg:{fill:n("white","base.50")(e)},_disabled:a}}}),td=t(e=>{const{colorScheme:r}=e,a=n("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:r==="gray"?a:"currentColor",".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)":{marginEnd:"-1px"},".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)":{marginBottom:"-1px"}}}),od=h({variants:{invokeAI:ad,invokeAIOutline:td},defaultProps:{variant:"invokeAI",colorScheme:"base"}}),{definePartsStyle:nd,defineMultiStyleConfig:id}=b(Ka.keys),ld=t(e=>{const{colorScheme:r}=e;return{bg:n("base.200","base.700")(e),borderColor:n("base.200","base.700")(e),color:n("base.900","base.100")(e),_checked:{bg:n(`${r}.300`,`${r}.600`)(e),borderColor:n(`${r}.300`,`${r}.600`)(e),color:n(`${r}.900`,`${r}.100`)(e),_hover:{bg:n(`${r}.400`,`${r}.500`)(e),borderColor:n(`${r}.400`,`${r}.500`)(e)},_disabled:{borderColor:"transparent",bg:"whiteAlpha.300",color:"whiteAlpha.500"}},_indeterminate:{bg:n(`${r}.300`,`${r}.600`)(e),borderColor:n(`${r}.300`,`${r}.600`)(e),color:n(`${r}.900`,`${r}.100`)(e)},_disabled:{bg:"whiteAlpha.100",borderColor:"transparent"},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:n("error.600","error.300")(e)}}}),sd=nd(e=>({control:ld(e)})),dd=id({variants:{invokeAI:sd},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),{definePartsStyle:cd,defineMultiStyleConfig:bd}=b(Xa.keys),vd=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"}),ud=t(e=>({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6},"::selection":{color:n("accent.900","accent.50")(e),bg:n("accent.200","accent.400")(e)}})),fd=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),md=cd(e=>({preview:vd,input:ud(e),textarea:fd})),hd=bd({variants:{invokeAI:md},defaultProps:{size:"sm",variant:"invokeAI"}}),gd=t(e=>({fontSize:"sm",marginEnd:0,mb:1,fontWeight:"400",transitionProperty:"common",transitionDuration:"normal",whiteSpace:"nowrap",_disabled:{opacity:.4},color:n("base.700","base.300")(e)})),yd=h({variants:{invokeAI:gd},defaultProps:{variant:"invokeAI"}}),Je=e=>({outline:"none",borderWidth:2,borderStyle:"solid",borderColor:n("base.200","base.800")(e),bg:n("base.50","base.900")(e),borderRadius:"base",color:n("base.900","base.100")(e),boxShadow:"none",_hover:{borderColor:n("base.300","base.600")(e)},_focus:{borderColor:n("accent.200","accent.600")(e),boxShadow:"none",_hover:{borderColor:n("accent.300","accent.500")(e)}},_invalid:{borderColor:n("error.300","error.600")(e),boxShadow:"none",_hover:{borderColor:n("error.400","error.500")(e)}},_disabled:{borderColor:n("base.300","base.700")(e),bg:n("base.300","base.700")(e),color:n("base.600","base.400")(e),_hover:{borderColor:n("base.300","base.700")(e)}},_placeholder:{color:n("base.700","base.400")(e)},"::selection":{bg:n("accent.200","accent.400")(e)}}),{definePartsStyle:pd,defineMultiStyleConfig:Sd}=b(Za.keys),xd=pd(e=>({field:Je(e)})),$d=Sd({variants:{invokeAI:xd},defaultProps:{size:"sm",variant:"invokeAI"}}),{defineMultiStyleConfig:kd,definePartsStyle:_d}=b(Ja.keys),wd=t(e=>({bg:n("blackAlpha.700","blackAlpha.700")(e)})),zd=t({}),Cd=t(e=>({layerStyle:"first",maxH:"80vh"})),Ad=t(e=>({fontWeight:"600",fontSize:"lg",layerStyle:"first",borderTopRadius:"base",borderInlineEndRadius:"base"})),Pd=t({}),Td=t({overflowY:"scroll"}),Fd=t({}),Id=_d(e=>({overlay:wd(e),dialogContainer:zd,dialog:Cd(e),header:Ad(e),closeButton:Pd,body:Td,footer:Fd})),Md=kd({variants:{invokeAI:Id},defaultProps:{variant:"invokeAI",size:"lg"}}),{defineMultiStyleConfig:Bd,definePartsStyle:Ed}=b(Qa.keys),Dd=t(e=>({height:8})),Rd=t(e=>({border:"none",fontWeight:"600",height:"auto",py:1,ps:2,pe:6,...Je(e)})),jd=t(e=>({display:"flex"})),Hd=t(e=>({border:"none",px:2,py:0,mx:-2,my:0,svg:{color:n("base.700","base.300")(e),width:2.5,height:2.5,_hover:{color:n("base.900","base.100")(e)}}})),Wd=Ed(e=>({root:Dd(e),field:Rd(e),stepperGroup:jd(e),stepper:Hd(e)})),Vd=Bd({variants:{invokeAI:Wd},defaultProps:{size:"sm",variant:"invokeAI"}}),{defineMultiStyleConfig:Ld,definePartsStyle:qd}=b(et.keys),Od=m("popper-bg"),Nd=m("popper-arrow-bg"),Gd=m("popper-arrow-shadow-color"),Ud=t(e=>({[Nd.variable]:n("colors.base.100","colors.base.800")(e),[Od.variable]:n("colors.base.100","colors.base.800")(e),[Gd.variable]:n("colors.base.400","colors.base.600")(e),minW:"unset",width:"unset",p:4,bg:n("base.100","base.800")(e),border:"none",shadow:"dark-lg"})),Yd=qd(e=>({content:Ud(e)})),Kd=Ld({variants:{invokeAI:Yd},defaultProps:{variant:"invokeAI"}}),{defineMultiStyleConfig:Xd,definePartsStyle:Zd}=b(rt.keys),Jd=t(e=>({bg:"accentAlpha.500"})),Qd=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.200`,`${r}.700`)(e)}}),ec=Zd(e=>({filledTrack:Jd(e),track:Qd(e)})),rc=Xd({variants:{invokeAI:ec},defaultProps:{variant:"invokeAI"}}),ac={"::-webkit-scrollbar":{display:"none"},scrollbarWidth:"none"},{definePartsStyle:tc,defineMultiStyleConfig:oc}=b(at.keys),nc=t(e=>({color:n("base.200","base.300")(e)})),ic=t(e=>({fontWeight:"600",...Je(e)})),lc=tc(e=>({field:ic(e),icon:nc(e)})),sc=oc({variants:{invokeAI:lc},defaultProps:{size:"sm",variant:"invokeAI"}}),sa=c("skeleton-start-color"),da=c("skeleton-end-color"),dc=t({borderRadius:"base",maxW:"full",maxH:"full",_light:{[sa.variable]:"colors.base.250",[da.variable]:"colors.base.450"},_dark:{[sa.variable]:"colors.base.700",[da.variable]:"colors.base.500"}}),cc=h({variants:{invokeAI:dc},defaultProps:{variant:"invokeAI"}}),{definePartsStyle:bc,defineMultiStyleConfig:vc}=b(tt.keys),uc=t(e=>({bg:n("base.400","base.600")(e),h:1.5})),fc=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.400`,`${r}.600`)(e),h:1.5}}),mc=t(e=>({w:2,h:4,bg:n("base.50","base.100")(e)})),hc=t(e=>({fontSize:"2xs",fontWeight:"500",color:n("base.700","base.400")(e),mt:2,insetInlineStart:"unset"})),gc=bc(e=>({container:{_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"}},track:uc(e),filledTrack:fc(e),thumb:mc(e),mark:hc(e)})),yc=vc({variants:{invokeAI:gc},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),{defineMultiStyleConfig:pc,definePartsStyle:Sc}=b(ot.keys),xc=t(e=>{const{colorScheme:r}=e;return{bg:n("base.300","base.600")(e),_focusVisible:{boxShadow:"none"},_checked:{bg:n(`${r}.400`,`${r}.500`)(e)}}}),$c=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.50`,`${r}.50`)(e)}}),kc=Sc(e=>({container:{},track:xc(e),thumb:$c(e)})),_c=pc({variants:{invokeAI:kc},defaultProps:{size:"md",variant:"invokeAI",colorScheme:"accent"}}),{defineMultiStyleConfig:wc,definePartsStyle:zc}=b(nt.keys),Cc=t(e=>({display:"flex",columnGap:4})),Ac=t(e=>({})),Pc=t(e=>{const{colorScheme:r}=e;return{display:"flex",flexDirection:"column",gap:1,color:n("base.700","base.400")(e),button:{fontSize:"sm",padding:2,borderRadius:"base",textShadow:n("0 0 0.3rem var(--invokeai-colors-accent-100)","0 0 0.3rem var(--invokeai-colors-accent-900)")(e),svg:{fill:n("base.700","base.300")(e)},_selected:{bg:n("accent.400","accent.600")(e),color:n("base.50","base.100")(e),svg:{fill:n("base.50","base.100")(e),filter:n(`drop-shadow(0px 0px 0.3rem var(--invokeai-colors-${r}-600))`,`drop-shadow(0px 0px 0.3rem var(--invokeai-colors-${r}-800))`)(e)},_hover:{bg:n("accent.500","accent.500")(e),color:n("white","base.50")(e),svg:{fill:n("white","base.50")(e)}}},_hover:{bg:n("base.100","base.800")(e),color:n("base.900","base.50")(e),svg:{fill:n("base.800","base.100")(e)}}}}}),Tc=t(e=>({padding:0,height:"100%"})),Fc=zc(e=>({root:Cc(e),tab:Ac(e),tablist:Pc(e),tabpanel:Tc(e)})),Ic=wc({variants:{invokeAI:Fc},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),Mc=t(e=>({color:n("base.500","base.400")(e)})),Bc=h({variants:{subtext:Mc}}),Ec=t(e=>({...Je(e),"::-webkit-scrollbar":{display:"initial"},"::-webkit-resizer":{backgroundImage:`linear-gradient(135deg, - var(--invokeai-colors-base-50) 0%, - var(--invokeai-colors-base-50) 70%, - var(--invokeai-colors-base-200) 70%, - var(--invokeai-colors-base-200) 100%)`},_dark:{"::-webkit-resizer":{backgroundImage:`linear-gradient(135deg, - var(--invokeai-colors-base-900) 0%, - var(--invokeai-colors-base-900) 70%, - var(--invokeai-colors-base-800) 70%, - var(--invokeai-colors-base-800) 100%)`}}})),Dc=h({variants:{invokeAI:Ec},defaultProps:{size:"md",variant:"invokeAI"}}),Rc=m("popper-arrow-bg"),jc=t(e=>({borderRadius:"base",shadow:"dark-lg",bg:n("base.700","base.200")(e),[Rc.variable]:n("colors.base.700","colors.base.200")(e),pb:1.5})),Hc=h({baseStyle:jc}),Wc={config:{cssVarPrefix:"invokeai",initialColorMode:"dark",useSystemColorMode:!1},layerStyles:{body:{bg:"base.50",color:"base.900",".chakra-ui-dark &":{bg:"base.900",color:"base.50"}},first:{bg:"base.100",color:"base.900",".chakra-ui-dark &":{bg:"base.850",color:"base.100"}},second:{bg:"base.200",color:"base.900",".chakra-ui-dark &":{bg:"base.800",color:"base.100"}}},styles:{global:()=>({layerStyle:"body","*":{...ac}})},direction:"ltr",fonts:{body:"'Inter Variable', sans-serif"},shadows:{light:{accent:"0 0 10px 0 var(--invokeai-colors-accent-300)",accentHover:"0 0 10px 0 var(--invokeai-colors-accent-400)",ok:"0 0 7px var(--invokeai-colors-ok-600)",working:"0 0 7px var(--invokeai-colors-working-600)",error:"0 0 7px var(--invokeai-colors-error-600)"},dark:{accent:"0 0 10px 0 var(--invokeai-colors-accent-600)",accentHover:"0 0 10px 0 var(--invokeai-colors-accent-500)",ok:"0 0 7px var(--invokeai-colors-ok-400)",working:"0 0 7px var(--invokeai-colors-working-400)",error:"0 0 7px var(--invokeai-colors-error-400)"},selected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 4px var(--invokeai-colors-accent-400)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 4px var(--invokeai-colors-accent-500)"},hoverSelected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 4px var(--invokeai-colors-accent-500)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 4px var(--invokeai-colors-accent-400)"},hoverUnselected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 3px var(--invokeai-colors-accent-500)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 3px var(--invokeai-colors-accent-400)"},nodeSelectedOutline:"0 0 0 2px var(--invokeai-colors-accent-450)"},colors:U0,components:{Button:od,Input:$d,Editable:hd,Textarea:Dc,Tabs:Ic,Progress:rc,Accordion:rd,FormLabel:yd,Switch:_c,NumberInput:Vd,Select:sc,Skeleton:cc,Slider:yc,Popover:Kd,Modal:Md,Checkbox:dd,Menu:it,Text:Bc,Tooltip:Hc}};const Vc=()=>x.useMemo(()=>({colorScheme:"dark",fontFamily:"'Inter Variable', sans-serif",components:{ScrollArea:{defaultProps:{scrollbarSize:10},styles:{scrollbar:{"&:hover":{backgroundColor:"var(--invokeai-colors-baseAlpha-300)"}},thumb:{backgroundColor:"var(--invokeai-colors-baseAlpha-300)"}}}}}),[]),Lc=fa("@@invokeai-color-mode");function Nc({children:e}){const{i18n:r}=Ua(),a=r.dir(),o=x.useMemo(()=>j0({...Wc,direction:a}),[a]);x.useEffect(()=>{document.body.dir=a},[a]);const i=Vc();return g.jsx(lt,{theme:i,children:g.jsx(G0,{theme:o,colorModeManager:Lc,children:e})})}export{Nc as default}; diff --git a/invokeai/frontend/web/dist/assets/index-e2437518.js b/invokeai/frontend/web/dist/assets/index-e2437518.js deleted file mode 100644 index cf22438196..0000000000 --- a/invokeai/frontend/web/dist/assets/index-e2437518.js +++ /dev/null @@ -1,125 +0,0 @@ -function qA(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var De=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Cl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Hj(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){if(this instanceof r){var i=[null];i.push.apply(i,arguments);var o=Function.bind.apply(t,i);return new o}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var WA={exports:{}},v0={},KA={exports:{}},Ue={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var $h=Symbol.for("react.element"),qj=Symbol.for("react.portal"),Wj=Symbol.for("react.fragment"),Kj=Symbol.for("react.strict_mode"),Yj=Symbol.for("react.profiler"),Xj=Symbol.for("react.provider"),Qj=Symbol.for("react.context"),Zj=Symbol.for("react.forward_ref"),Jj=Symbol.for("react.suspense"),eV=Symbol.for("react.memo"),tV=Symbol.for("react.lazy"),m4=Symbol.iterator;function nV(e){return e===null||typeof e!="object"?null:(e=m4&&e[m4]||e["@@iterator"],typeof e=="function"?e:null)}var YA={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},XA=Object.assign,QA={};function Fc(e,t,n){this.props=e,this.context=t,this.refs=QA,this.updater=n||YA}Fc.prototype.isReactComponent={};Fc.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Fc.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function ZA(){}ZA.prototype=Fc.prototype;function Ax(e,t,n){this.props=e,this.context=t,this.refs=QA,this.updater=n||YA}var Ox=Ax.prototype=new ZA;Ox.constructor=Ax;XA(Ox,Fc.prototype);Ox.isPureReactComponent=!0;var y4=Array.isArray,JA=Object.prototype.hasOwnProperty,Rx={current:null},e9={key:!0,ref:!0,__self:!0,__source:!0};function t9(e,t,n){var r,i={},o=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(o=""+t.key),t)JA.call(t,r)&&!e9.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,z=R[V];if(0>>1;Vi(W,L))Xi(F,W)?(R[V]=F,R[X]=L,V=X):(R[V]=W,R[K]=L,V=K);else if(Xi(F,L))R[V]=F,R[X]=L,V=X;else break e}}return D}function i(R,D){var L=R.sortIndex-D.sortIndex;return L!==0?L:R.id-D.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],c=1,d=null,f=3,h=!1,p=!1,m=!1,S=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function g(R){for(var D=n(u);D!==null;){if(D.callback===null)r(u);else if(D.startTime<=R)r(u),D.sortIndex=D.expirationTime,t(l,D);else break;D=n(u)}}function b(R){if(m=!1,g(R),!p)if(n(l)!==null)p=!0,I(_);else{var D=n(u);D!==null&&M(b,D.startTime-R)}}function _(R,D){p=!1,m&&(m=!1,v(C),C=-1),h=!0;var L=f;try{for(g(D),d=n(l);d!==null&&(!(d.expirationTime>D)||R&&!A());){var V=d.callback;if(typeof V=="function"){d.callback=null,f=d.priorityLevel;var z=V(d.expirationTime<=D);D=e.unstable_now(),typeof z=="function"?d.callback=z:d===n(l)&&r(l),g(D)}else r(l);d=n(l)}if(d!==null)var U=!0;else{var K=n(u);K!==null&&M(b,K.startTime-D),U=!1}return U}finally{d=null,f=L,h=!1}}var w=!1,x=null,C=-1,k=5,P=-1;function A(){return!(e.unstable_now()-PR||125V?(R.sortIndex=L,t(u,R),n(l)===null&&R===n(u)&&(m?(v(C),C=-1):m=!0,M(b,L-V))):(R.sortIndex=z,t(l,R),p||h||(p=!0,I(_))),R},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(R){var D=f;return function(){var L=f;f=D;try{return R.apply(this,arguments)}finally{f=L}}}})(o9);i9.exports=o9;var hV=i9.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var s9=E,Ur=hV;function te(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),B_=Object.prototype.hasOwnProperty,pV=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,S4={},_4={};function gV(e){return B_.call(_4,e)?!0:B_.call(S4,e)?!1:pV.test(e)?_4[e]=!0:(S4[e]=!0,!1)}function mV(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function yV(e,t,n,r){if(t===null||typeof t>"u"||mV(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function mr(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var zn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){zn[e]=new mr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];zn[t]=new mr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){zn[e]=new mr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){zn[e]=new mr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){zn[e]=new mr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){zn[e]=new mr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){zn[e]=new mr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){zn[e]=new mr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){zn[e]=new mr(e,5,!1,e.toLowerCase(),null,!1,!1)});var Mx=/[\-:]([a-z])/g;function Nx(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Mx,Nx);zn[t]=new mr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Mx,Nx);zn[t]=new mr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Mx,Nx);zn[t]=new mr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){zn[e]=new mr(e,1,!1,e.toLowerCase(),null,!1,!1)});zn.xlinkHref=new mr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){zn[e]=new mr(e,1,!1,e.toLowerCase(),null,!0,!0)});function Dx(e,t,n,r){var i=zn.hasOwnProperty(t)?zn[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==o[a]){var l=` -`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{zb=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?$d(e):""}function vV(e){switch(e.tag){case 5:return $d(e.type);case 16:return $d("Lazy");case 13:return $d("Suspense");case 19:return $d("SuspenseList");case 0:case 2:case 15:return e=Ub(e.type,!1),e;case 11:return e=Ub(e.type.render,!1),e;case 1:return e=Ub(e.type,!0),e;default:return""}}function U_(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case vu:return"Fragment";case yu:return"Portal";case j_:return"Profiler";case Lx:return"StrictMode";case V_:return"Suspense";case z_:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case u9:return(e.displayName||"Context")+".Consumer";case l9:return(e._context.displayName||"Context")+".Provider";case $x:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Fx:return t=e.displayName||null,t!==null?t:U_(e.type)||"Memo";case Is:t=e._payload,e=e._init;try{return U_(e(t))}catch{}}return null}function bV(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U_(t);case 8:return t===Lx?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function aa(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function d9(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function SV(e){var t=d9(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Bp(e){e._valueTracker||(e._valueTracker=SV(e))}function f9(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=d9(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function km(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function G_(e,t){var n=t.checked;return Ft({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function x4(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=aa(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function h9(e,t){t=t.checked,t!=null&&Dx(e,"checked",t,!1)}function H_(e,t){h9(e,t);var n=aa(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?q_(e,t.type,n):t.hasOwnProperty("defaultValue")&&q_(e,t.type,aa(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function C4(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function q_(e,t,n){(t!=="number"||km(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Fd=Array.isArray;function Lu(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=jp.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Sf(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yd={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},_V=["Webkit","ms","Moz","O"];Object.keys(Yd).forEach(function(e){_V.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Yd[t]=Yd[e]})});function y9(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Yd.hasOwnProperty(e)&&Yd[e]?(""+t).trim():t+"px"}function v9(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=y9(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var wV=Ft({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Y_(e,t){if(t){if(wV[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(te(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(te(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(te(61))}if(t.style!=null&&typeof t.style!="object")throw Error(te(62))}}function X_(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Q_=null;function Bx(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Z_=null,$u=null,Fu=null;function P4(e){if(e=jh(e)){if(typeof Z_!="function")throw Error(te(280));var t=e.stateNode;t&&(t=x0(t),Z_(e.stateNode,e.type,t))}}function b9(e){$u?Fu?Fu.push(e):Fu=[e]:$u=e}function S9(){if($u){var e=$u,t=Fu;if(Fu=$u=null,P4(e),t)for(e=0;e>>=0,e===0?32:31-(MV(e)/NV|0)|0}var Vp=64,zp=4194304;function Bd(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Im(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=Bd(a):(o&=s,o!==0&&(r=Bd(o)))}else s=n&~i,s!==0?r=Bd(s):o!==0&&(r=Bd(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Fh(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ni(t),e[t]=n}function FV(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Qd),L4=String.fromCharCode(32),$4=!1;function j9(e,t){switch(e){case"keyup":return fz.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function V9(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var bu=!1;function pz(e,t){switch(e){case"compositionend":return V9(t);case"keypress":return t.which!==32?null:($4=!0,L4);case"textInput":return e=t.data,e===L4&&$4?null:e;default:return null}}function gz(e,t){if(bu)return e==="compositionend"||!Wx&&j9(e,t)?(e=F9(),zg=Gx=zs=null,bu=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=V4(n)}}function H9(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?H9(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function q9(){for(var e=window,t=km();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=km(e.document)}return t}function Kx(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Cz(e){var t=q9(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&H9(n.ownerDocument.documentElement,n)){if(r!==null&&Kx(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=z4(n,o);var s=z4(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Su=null,i2=null,Jd=null,o2=!1;function U4(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;o2||Su==null||Su!==km(r)||(r=Su,"selectionStart"in r&&Kx(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Jd&&Ef(Jd,r)||(Jd=r,r=Dm(i2,"onSelect"),0xu||(e.current=d2[xu],d2[xu]=null,xu--)}function mt(e,t){xu++,d2[xu]=e.current,e.current=t}var la={},Zn=_a(la),Pr=_a(!1),ul=la;function ac(e,t){var n=e.type.contextTypes;if(!n)return la;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function kr(e){return e=e.childContextTypes,e!=null}function $m(){_t(Pr),_t(Zn)}function X4(e,t,n){if(Zn.current!==la)throw Error(te(168));mt(Zn,t),mt(Pr,n)}function tO(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(te(108,bV(e)||"Unknown",i));return Ft({},n,r)}function Fm(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||la,ul=Zn.current,mt(Zn,e),mt(Pr,Pr.current),!0}function Q4(e,t,n){var r=e.stateNode;if(!r)throw Error(te(169));n?(e=tO(e,t,ul),r.__reactInternalMemoizedMergedChildContext=e,_t(Pr),_t(Zn),mt(Zn,e)):_t(Pr),mt(Pr,n)}var Ho=null,C0=!1,rS=!1;function nO(e){Ho===null?Ho=[e]:Ho.push(e)}function Lz(e){C0=!0,nO(e)}function wa(){if(!rS&&Ho!==null){rS=!0;var e=0,t=it;try{var n=Ho;for(it=1;e>=s,i-=s,Ko=1<<32-Ni(t)+i|n<C?(k=x,x=null):k=x.sibling;var P=f(v,x,g[C],b);if(P===null){x===null&&(x=k);break}e&&x&&P.alternate===null&&t(v,x),y=o(P,y,C),w===null?_=P:w.sibling=P,w=P,x=k}if(C===g.length)return n(v,x),Pt&&Va(v,C),_;if(x===null){for(;CC?(k=x,x=null):k=x.sibling;var A=f(v,x,P.value,b);if(A===null){x===null&&(x=k);break}e&&x&&A.alternate===null&&t(v,x),y=o(A,y,C),w===null?_=A:w.sibling=A,w=A,x=k}if(P.done)return n(v,x),Pt&&Va(v,C),_;if(x===null){for(;!P.done;C++,P=g.next())P=d(v,P.value,b),P!==null&&(y=o(P,y,C),w===null?_=P:w.sibling=P,w=P);return Pt&&Va(v,C),_}for(x=r(v,x);!P.done;C++,P=g.next())P=h(x,v,C,P.value,b),P!==null&&(e&&P.alternate!==null&&x.delete(P.key===null?C:P.key),y=o(P,y,C),w===null?_=P:w.sibling=P,w=P);return e&&x.forEach(function($){return t(v,$)}),Pt&&Va(v,C),_}function S(v,y,g,b){if(typeof g=="object"&&g!==null&&g.type===vu&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Fp:e:{for(var _=g.key,w=y;w!==null;){if(w.key===_){if(_=g.type,_===vu){if(w.tag===7){n(v,w.sibling),y=i(w,g.props.children),y.return=v,v=y;break e}}else if(w.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===Is&&iT(_)===w.type){n(v,w.sibling),y=i(w,g.props),y.ref=hd(v,w,g),y.return=v,v=y;break e}n(v,w);break}else t(v,w);w=w.sibling}g.type===vu?(y=nl(g.props.children,v.mode,b,g.key),y.return=v,v=y):(b=Xg(g.type,g.key,g.props,null,v.mode,b),b.ref=hd(v,y,g),b.return=v,v=b)}return s(v);case yu:e:{for(w=g.key;y!==null;){if(y.key===w)if(y.tag===4&&y.stateNode.containerInfo===g.containerInfo&&y.stateNode.implementation===g.implementation){n(v,y.sibling),y=i(y,g.children||[]),y.return=v,v=y;break e}else{n(v,y);break}else t(v,y);y=y.sibling}y=dS(g,v.mode,b),y.return=v,v=y}return s(v);case Is:return w=g._init,S(v,y,w(g._payload),b)}if(Fd(g))return p(v,y,g,b);if(ld(g))return m(v,y,g,b);Yp(v,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,y!==null&&y.tag===6?(n(v,y.sibling),y=i(y,g),y.return=v,v=y):(n(v,y),y=cS(g,v.mode,b),y.return=v,v=y),s(v)):n(v,y)}return S}var uc=cO(!0),dO=cO(!1),Vh={},go=_a(Vh),Of=_a(Vh),Rf=_a(Vh);function Xa(e){if(e===Vh)throw Error(te(174));return e}function rC(e,t){switch(mt(Rf,t),mt(Of,e),mt(go,Vh),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:K_(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=K_(t,e)}_t(go),mt(go,t)}function cc(){_t(go),_t(Of),_t(Rf)}function fO(e){Xa(Rf.current);var t=Xa(go.current),n=K_(t,e.type);t!==n&&(mt(Of,e),mt(go,n))}function iC(e){Of.current===e&&(_t(go),_t(Of))}var Mt=_a(0);function Gm(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var iS=[];function oC(){for(var e=0;en?n:4,e(!0);var r=oS.transition;oS.transition={};try{e(!1),t()}finally{it=n,oS.transition=r}}function kO(){return gi().memoizedState}function jz(e,t,n){var r=Qs(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},AO(e))OO(t,n);else if(n=sO(e,t,n,r),n!==null){var i=fr();Di(n,e,r,i),RO(n,t,r)}}function Vz(e,t,n){var r=Qs(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(AO(e))OO(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,ji(a,s)){var l=t.interleaved;l===null?(i.next=i,tC(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=sO(e,t,i,r),n!==null&&(i=fr(),Di(n,e,r,i),RO(n,t,r))}}function AO(e){var t=e.alternate;return e===$t||t!==null&&t===$t}function OO(e,t){ef=Hm=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function RO(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Vx(e,n)}}var qm={readContext:pi,useCallback:qn,useContext:qn,useEffect:qn,useImperativeHandle:qn,useInsertionEffect:qn,useLayoutEffect:qn,useMemo:qn,useReducer:qn,useRef:qn,useState:qn,useDebugValue:qn,useDeferredValue:qn,useTransition:qn,useMutableSource:qn,useSyncExternalStore:qn,useId:qn,unstable_isNewReconciler:!1},zz={readContext:pi,useCallback:function(e,t){return Qi().memoizedState=[e,t===void 0?null:t],e},useContext:pi,useEffect:sT,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,qg(4194308,4,xO.bind(null,t,e),n)},useLayoutEffect:function(e,t){return qg(4194308,4,e,t)},useInsertionEffect:function(e,t){return qg(4,2,e,t)},useMemo:function(e,t){var n=Qi();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Qi();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=jz.bind(null,$t,e),[r.memoizedState,e]},useRef:function(e){var t=Qi();return e={current:e},t.memoizedState=e},useState:oT,useDebugValue:cC,useDeferredValue:function(e){return Qi().memoizedState=e},useTransition:function(){var e=oT(!1),t=e[0];return e=Bz.bind(null,e[1]),Qi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=$t,i=Qi();if(Pt){if(n===void 0)throw Error(te(407));n=n()}else{if(n=t(),Tn===null)throw Error(te(349));dl&30||gO(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,sT(yO.bind(null,r,o,e),[e]),r.flags|=2048,Nf(9,mO.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Qi(),t=Tn.identifierPrefix;if(Pt){var n=Yo,r=Ko;n=(r&~(1<<32-Ni(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=If++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[ro]=t,e[Af]=r,jO(e,t,!1,!1),t.stateNode=e;e:{switch(s=X_(n,r),n){case"dialog":vt("cancel",e),vt("close",e),i=r;break;case"iframe":case"object":case"embed":vt("load",e),i=r;break;case"video":case"audio":for(i=0;ifc&&(t.flags|=128,r=!0,pd(o,!1),t.lanes=4194304)}else{if(!r)if(e=Gm(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),pd(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!Pt)return Wn(t),null}else 2*qt()-o.renderingStartTime>fc&&n!==1073741824&&(t.flags|=128,r=!0,pd(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=qt(),t.sibling=null,n=Mt.current,mt(Mt,r?n&1|2:n&1),t):(Wn(t),null);case 22:case 23:return mC(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Fr&1073741824&&(Wn(t),t.subtreeFlags&6&&(t.flags|=8192)):Wn(t),null;case 24:return null;case 25:return null}throw Error(te(156,t.tag))}function Xz(e,t){switch(Xx(t),t.tag){case 1:return kr(t.type)&&$m(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return cc(),_t(Pr),_t(Zn),oC(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return iC(t),null;case 13:if(_t(Mt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(te(340));lc()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return _t(Mt),null;case 4:return cc(),null;case 10:return eC(t.type._context),null;case 22:case 23:return mC(),null;case 24:return null;default:return null}}var Qp=!1,Qn=!1,Qz=typeof WeakSet=="function"?WeakSet:Set,de=null;function Pu(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){jt(e,t,r)}else n.current=null}function x2(e,t,n){try{n()}catch(r){jt(e,t,r)}}var gT=!1;function Zz(e,t){if(s2=Mm,e=q9(),Kx(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var h;d!==n||i!==0&&d.nodeType!==3||(a=s+i),d!==o||r!==0&&d.nodeType!==3||(l=s+r),d.nodeType===3&&(s+=d.nodeValue.length),(h=d.firstChild)!==null;)f=d,d=h;for(;;){if(d===e)break t;if(f===n&&++u===i&&(a=s),f===o&&++c===r&&(l=s),(h=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=h}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(a2={focusedElem:e,selectionRange:n},Mm=!1,de=t;de!==null;)if(t=de,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,de=e;else for(;de!==null;){t=de;try{var p=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(p!==null){var m=p.memoizedProps,S=p.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?m:Ti(t.type,m),S);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var g=t.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(te(163))}}catch(b){jt(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,de=e;break}de=t.return}return p=gT,gT=!1,p}function tf(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&x2(t,n,o)}i=i.next}while(i!==r)}}function P0(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function C2(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function UO(e){var t=e.alternate;t!==null&&(e.alternate=null,UO(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ro],delete t[Af],delete t[c2],delete t[Nz],delete t[Dz])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function GO(e){return e.tag===5||e.tag===3||e.tag===4}function mT(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||GO(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function T2(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Lm));else if(r!==4&&(e=e.child,e!==null))for(T2(e,t,n),e=e.sibling;e!==null;)T2(e,t,n),e=e.sibling}function E2(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(E2(e,t,n),e=e.sibling;e!==null;)E2(e,t,n),e=e.sibling}var Mn=null,Ei=!1;function Cs(e,t,n){for(n=n.child;n!==null;)HO(e,t,n),n=n.sibling}function HO(e,t,n){if(po&&typeof po.onCommitFiberUnmount=="function")try{po.onCommitFiberUnmount(b0,n)}catch{}switch(n.tag){case 5:Qn||Pu(n,t);case 6:var r=Mn,i=Ei;Mn=null,Cs(e,t,n),Mn=r,Ei=i,Mn!==null&&(Ei?(e=Mn,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Mn.removeChild(n.stateNode));break;case 18:Mn!==null&&(Ei?(e=Mn,n=n.stateNode,e.nodeType===8?nS(e.parentNode,n):e.nodeType===1&&nS(e,n),Cf(e)):nS(Mn,n.stateNode));break;case 4:r=Mn,i=Ei,Mn=n.stateNode.containerInfo,Ei=!0,Cs(e,t,n),Mn=r,Ei=i;break;case 0:case 11:case 14:case 15:if(!Qn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&x2(n,t,s),i=i.next}while(i!==r)}Cs(e,t,n);break;case 1:if(!Qn&&(Pu(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){jt(n,t,a)}Cs(e,t,n);break;case 21:Cs(e,t,n);break;case 22:n.mode&1?(Qn=(r=Qn)||n.memoizedState!==null,Cs(e,t,n),Qn=r):Cs(e,t,n);break;default:Cs(e,t,n)}}function yT(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Qz),t.forEach(function(r){var i=aU.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function wi(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=qt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*eU(r/1960))-r,10e?16:e,Us===null)var r=!1;else{if(e=Us,Us=null,Ym=0,Ye&6)throw Error(te(331));var i=Ye;for(Ye|=4,de=e.current;de!==null;){var o=de,s=o.child;if(de.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lqt()-pC?tl(e,0):hC|=n),Ar(e,t)}function JO(e,t){t===0&&(e.mode&1?(t=zp,zp<<=1,!(zp&130023424)&&(zp=4194304)):t=1);var n=fr();e=as(e,t),e!==null&&(Fh(e,t,n),Ar(e,n))}function sU(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),JO(e,n)}function aU(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(te(314))}r!==null&&r.delete(t),JO(e,n)}var eR;eR=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Pr.current)Cr=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Cr=!1,Kz(e,t,n);Cr=!!(e.flags&131072)}else Cr=!1,Pt&&t.flags&1048576&&rO(t,jm,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Wg(e,t),e=t.pendingProps;var i=ac(t,Zn.current);ju(t,n),i=aC(null,t,r,e,i,n);var o=lC();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,kr(r)?(o=!0,Fm(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,nC(t),i.updater=T0,t.stateNode=i,i._reactInternals=t,m2(t,r,e,n),t=b2(null,t,r,!0,o,n)):(t.tag=0,Pt&&o&&Yx(t),cr(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Wg(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=uU(r),e=Ti(r,e),i){case 0:t=v2(null,t,r,e,n);break e;case 1:t=fT(null,t,r,e,n);break e;case 11:t=cT(null,t,r,e,n);break e;case 14:t=dT(null,t,r,Ti(r.type,e),n);break e}throw Error(te(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),v2(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),fT(e,t,r,i,n);case 3:e:{if($O(t),e===null)throw Error(te(387));r=t.pendingProps,o=t.memoizedState,i=o.element,aO(e,t),Um(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=dc(Error(te(423)),t),t=hT(e,t,r,n,i);break e}else if(r!==i){i=dc(Error(te(424)),t),t=hT(e,t,r,n,i);break e}else for(jr=Ks(t.stateNode.containerInfo.firstChild),Vr=t,Pt=!0,ki=null,n=dO(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(lc(),r===i){t=ls(e,t,n);break e}cr(e,t,r,n)}t=t.child}return t;case 5:return fO(t),e===null&&h2(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,l2(r,i)?s=null:o!==null&&l2(r,o)&&(t.flags|=32),LO(e,t),cr(e,t,s,n),t.child;case 6:return e===null&&h2(t),null;case 13:return FO(e,t,n);case 4:return rC(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=uc(t,null,r,n):cr(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),cT(e,t,r,i,n);case 7:return cr(e,t,t.pendingProps,n),t.child;case 8:return cr(e,t,t.pendingProps.children,n),t.child;case 12:return cr(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,mt(Vm,r._currentValue),r._currentValue=s,o!==null)if(ji(o.value,s)){if(o.children===i.children&&!Pr.current){t=ls(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=Jo(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),p2(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(te(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),p2(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}cr(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,ju(t,n),i=pi(i),r=r(i),t.flags|=1,cr(e,t,r,n),t.child;case 14:return r=t.type,i=Ti(r,t.pendingProps),i=Ti(r.type,i),dT(e,t,r,i,n);case 15:return NO(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),Wg(e,t),t.tag=1,kr(r)?(e=!0,Fm(t)):e=!1,ju(t,n),uO(t,r,i),m2(t,r,i,n),b2(null,t,r,!0,e,n);case 19:return BO(e,t,n);case 22:return DO(e,t,n)}throw Error(te(156,t.tag))};function tR(e,t){return P9(e,t)}function lU(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ui(e,t,n,r){return new lU(e,t,n,r)}function vC(e){return e=e.prototype,!(!e||!e.isReactComponent)}function uU(e){if(typeof e=="function")return vC(e)?1:0;if(e!=null){if(e=e.$$typeof,e===$x)return 11;if(e===Fx)return 14}return 2}function Zs(e,t){var n=e.alternate;return n===null?(n=ui(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Xg(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")vC(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case vu:return nl(n.children,i,o,t);case Lx:s=8,i|=8;break;case j_:return e=ui(12,n,t,i|2),e.elementType=j_,e.lanes=o,e;case V_:return e=ui(13,n,t,i),e.elementType=V_,e.lanes=o,e;case z_:return e=ui(19,n,t,i),e.elementType=z_,e.lanes=o,e;case c9:return A0(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case l9:s=10;break e;case u9:s=9;break e;case $x:s=11;break e;case Fx:s=14;break e;case Is:s=16,r=null;break e}throw Error(te(130,e==null?e:typeof e,""))}return t=ui(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function nl(e,t,n,r){return e=ui(7,e,r,t),e.lanes=n,e}function A0(e,t,n,r){return e=ui(22,e,r,t),e.elementType=c9,e.lanes=n,e.stateNode={isHidden:!1},e}function cS(e,t,n){return e=ui(6,e,null,t),e.lanes=n,e}function dS(e,t,n){return t=ui(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function cU(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Hb(0),this.expirationTimes=Hb(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Hb(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function bC(e,t,n,r,i,o,s,a,l){return e=new cU(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=ui(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},nC(o),e}function dU(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(oR)}catch(e){console.error(e)}}oR(),r9.exports=Kr;var li=r9.exports;const W4e=Cl(li);var TT=li;F_.createRoot=TT.createRoot,F_.hydrateRoot=TT.hydrateRoot;const mU="modulepreload",yU=function(e,t){return new URL(e,t).href},ET={},sR=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=yU(o,r),o in ET)return;ET[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let c=i.length-1;c>=0;c--){const d=i[c];if(d.href===o&&(!s||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":mU,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((c,d)=>{u.addEventListener("load",c),u.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};var aR={exports:{}},lR={};/** - * @license React - * use-sync-external-store-shim.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var hc=E;function vU(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var bU=typeof Object.is=="function"?Object.is:vU,SU=hc.useState,_U=hc.useEffect,wU=hc.useLayoutEffect,xU=hc.useDebugValue;function CU(e,t){var n=t(),r=SU({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return wU(function(){i.value=n,i.getSnapshot=t,fS(i)&&o({inst:i})},[e,n,t]),_U(function(){return fS(i)&&o({inst:i}),e(function(){fS(i)&&o({inst:i})})},[e]),xU(n),n}function fS(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!bU(e,n)}catch{return!0}}function TU(e,t){return t()}var EU=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?TU:CU;lR.useSyncExternalStore=hc.useSyncExternalStore!==void 0?hc.useSyncExternalStore:EU;aR.exports=lR;var PU=aR.exports,uR={exports:{}},cR={};/** - * @license React - * use-sync-external-store-shim/with-selector.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var N0=E,kU=PU;function AU(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var OU=typeof Object.is=="function"?Object.is:AU,RU=kU.useSyncExternalStore,IU=N0.useRef,MU=N0.useEffect,NU=N0.useMemo,DU=N0.useDebugValue;cR.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=IU(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=NU(function(){function l(h){if(!u){if(u=!0,c=h,h=r(h),i!==void 0&&s.hasValue){var p=s.value;if(i(p,h))return d=p}return d=h}if(p=d,OU(c,h))return p;var m=r(h);return i!==void 0&&i(p,m)?p:(c=h,d=m)}var u=!1,c,d,f=n===void 0?null:n;return[function(){return l(t())},f===null?void 0:function(){return l(f())}]},[t,n,r,i]);var a=RU(e,o[0],o[1]);return MU(function(){s.hasValue=!0,s.value=a},[a]),DU(a),a};uR.exports=cR;var dR=uR.exports;const LU=Cl(dR);function $U(e){e()}let fR=$U;const FU=e=>fR=e,BU=()=>fR,PT=Symbol.for(`react-redux-context-${E.version}`),kT=globalThis;function jU(){let e=kT[PT];return e||(e=E.createContext(null),kT[PT]=e),e}const ua=new Proxy({},new Proxy({},{get(e,t){const n=jU();return(r,...i)=>Reflect[t](n,...i)}}));function xC(e=ua){return function(){return E.useContext(e)}}const hR=xC(),VU=()=>{throw new Error("uSES not initialized!")};let pR=VU;const zU=e=>{pR=e},UU=(e,t)=>e===t;function GU(e=ua){const t=e===ua?hR:xC(e);return function(r,i={}){const{equalityFn:o=UU,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:c,stabilityCheck:d,noopCheck:f}=t();E.useRef(!0);const h=E.useCallback({[r.name](m){return r(m)}}[r.name],[r,d,s]),p=pR(u.addNestedSub,l.getState,c||l.getState,h,o);return E.useDebugValue(p),p}}const gR=GU();function Zm(){return Zm=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const AT={notify(){},get:()=>[]};function nG(e,t){let n,r=AT;function i(d){return l(),r.subscribe(d)}function o(){r.notify()}function s(){c.onStateChange&&c.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=tG())}function u(){n&&(n(),n=void 0,r.clear(),r=AT)}const c={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return c}const rG=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",iG=rG?E.useLayoutEffect:E.useEffect;function OT(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function Jm(e,t){if(OT(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=nG(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=E.useMemo(()=>e.getState(),[e]);iG(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||ua;return ze.createElement(l.Provider,{value:s},n)}function _R(e=ua){const t=e===ua?hR:xC(e);return function(){const{store:r}=t();return r}}const wR=_R();function sG(e=ua){const t=e===ua?wR:_R(e);return function(){return t().dispatch}}const xR=sG();zU(dR.useSyncExternalStoreWithSelector);FU(li.unstable_batchedUpdates);function Cn(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:tv(e)?2:nv(e)?3:0}function Js(e,t){return ca(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Qg(e,t){return ca(e)===2?e.get(t):e[t]}function CR(e,t,n){var r=ca(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function TR(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function tv(e){return fG&&e instanceof Map}function nv(e){return hG&&e instanceof Set}function bn(e){return e.o||e.t}function OC(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=PR(e);delete t[ke];for(var n=Uu(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=aG),Object.freeze(e),t&&us(e,function(n,r){return zh(r,!0)},!0)),e}function aG(){Cn(2)}function RC(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function mo(e){var t=I2[e];return t||Cn(18,e),t}function IC(e,t){I2[e]||(I2[e]=t)}function Lf(){return Ff}function hS(e,t){t&&(mo("Patches"),e.u=[],e.s=[],e.v=t)}function ey(e){R2(e),e.p.forEach(lG),e.p=null}function R2(e){e===Ff&&(Ff=e.l)}function RT(e){return Ff={p:[],l:Ff,h:e,m:!0,_:0}}function lG(e){var t=e[ke];t.i===0||t.i===1?t.j():t.g=!0}function pS(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||mo("ES5").S(t,e,r),r?(n[ke].P&&(ey(t),Cn(4)),Ir(e)&&(e=ty(t,e),t.l||ny(t,e)),t.u&&mo("Patches").M(n[ke].t,e,t.u,t.s)):e=ty(t,n,[]),ey(t),t.u&&t.v(t.u,t.s),e!==iv?e:void 0}function ty(e,t,n){if(RC(t))return t;var r=t[ke];if(!r)return us(t,function(a,l){return IT(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return ny(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=OC(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),us(o,function(a,l){return IT(e,r,i,a,l,n,s)}),ny(e,i,!1),n&&e.u&&mo("Patches").N(r,n,e.u,e.s)}return r.o}function IT(e,t,n,r,i,o,s){if(hr(i)){var a=ty(e,i,o&&t&&t.i!==3&&!Js(t.R,r)?o.concat(r):void 0);if(CR(n,r,a),!hr(a))return;e.m=!1}else s&&n.add(i);if(Ir(i)&&!RC(i)){if(!e.h.D&&e._<1)return;ty(e,i),t&&t.A.l||ny(e,i)}}function ny(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&zh(t,n)}function gS(e,t){var n=e[ke];return(n?bn(n):e)[t]}function MT(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function xr(e){e.P||(e.P=!0,e.l&&xr(e.l))}function mS(e){e.o||(e.o=OC(e.t))}function $f(e,t,n){var r=tv(t)?mo("MapSet").F(t,n):nv(t)?mo("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:Lf(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=Bf;s&&(l=[a],u=Vd);var c=Proxy.revocable(l,u),d=c.revoke,f=c.proxy;return a.k=f,a.j=d,f}(t,n):mo("ES5").J(t,n);return(n?n.A:Lf()).p.push(r),r}function rv(e){return hr(e)||Cn(22,e),function t(n){if(!Ir(n))return n;var r,i=n[ke],o=ca(n);if(i){if(!i.P&&(i.i<4||!mo("ES5").K(i)))return i.t;i.I=!0,r=NT(n,o),i.I=!1}else r=NT(n,o);return us(r,function(s,a){i&&Qg(i.t,s)===a||CR(r,s,t(a))}),o===3?new Set(r):r}(e)}function NT(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return OC(e)}function MC(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[ke];return Bf.get(l,o)},set:function(l){var u=this[ke];Bf.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][ke];if(!a.P)switch(a.i){case 5:r(a)&&xr(a);break;case 4:n(a)&&xr(a)}}}function n(o){for(var s=o.t,a=o.k,l=Uu(a),u=l.length-1;u>=0;u--){var c=l[u];if(c!==ke){var d=s[c];if(d===void 0&&!Js(s,c))return!0;var f=a[c],h=f&&f[ke];if(h?h.t!==d:!TR(f,d))return!0}}var p=!!s[ke];return l.length!==Uu(s).length+(p?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?v-1:0),g=1;g1?c-1:0),f=1;f=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=mo("Patches").$;return hr(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),Gr=new kR,AR=Gr.produce,LC=Gr.produceWithPatches.bind(Gr),gG=Gr.setAutoFreeze.bind(Gr),mG=Gr.setUseProxies.bind(Gr),M2=Gr.applyPatches.bind(Gr),yG=Gr.createDraft.bind(Gr),vG=Gr.finishDraft.bind(Gr);const xa=AR,K4e=Object.freeze(Object.defineProperty({__proto__:null,Immer:kR,applyPatches:M2,castDraft:cG,castImmutable:dG,createDraft:yG,current:rv,default:xa,enableAllPlugins:uG,enableES5:MC,enableMapSet:ER,enablePatches:NC,finishDraft:vG,freeze:zh,immerable:zu,isDraft:hr,isDraftable:Ir,nothing:iv,original:AC,produce:AR,produceWithPatches:LC,setAutoFreeze:gG,setUseProxies:mG},Symbol.toStringTag,{value:"Module"}));function jf(e){"@babel/helpers - typeof";return jf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jf(e)}function bG(e,t){if(jf(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(jf(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function SG(e){var t=bG(e,"string");return jf(t)==="symbol"?t:String(t)}function _G(e,t,n){return t=SG(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function FT(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Nn(1));return n(Uh)(e,t)}if(typeof e!="function")throw new Error(Nn(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function c(){if(l)throw new Error(Nn(3));return o}function d(m){if(typeof m!="function")throw new Error(Nn(4));if(l)throw new Error(Nn(5));var S=!0;return u(),a.push(m),function(){if(S){if(l)throw new Error(Nn(6));S=!1,u();var y=a.indexOf(m);a.splice(y,1),s=null}}}function f(m){if(!wG(m))throw new Error(Nn(7));if(typeof m.type>"u")throw new Error(Nn(8));if(l)throw new Error(Nn(9));try{l=!0,o=i(o,m)}finally{l=!1}for(var S=s=a,v=0;v"u")throw new Error(Nn(12));if(typeof n(void 0,{type:pc.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Nn(13))})}function Vc(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(Nn(14));d[h]=S,c=c||S!==m}return c=c||o.length!==Object.keys(l).length,c?d:l}}function jT(e,t){return function(){return t(e.apply(this,arguments))}}function RR(e,t){if(typeof e=="function")return jT(e,t);if(typeof e!="object"||e===null)throw new Error(Nn(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=jT(i,t))}return n}function gc(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return ry}function i(a,l){r(a)===ry&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var IR=function(t,n){return t===n};function PG(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(S,v){var y=t?t+"."+S:S;if(l){var g=i.some(function(b){return b instanceof RegExp?b.test(y):y===b});if(g)return"continue"}if(!n(v))return{value:{keyPath:y,value:v}};if(typeof v=="object"&&(s=jR(v,y,n,r,i,o),s))return{value:s}},c=0,d=a;c-1}function UG(e){return""+e}function HR(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function GG(e){return typeof e=="function"}function qR(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?HR(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(GG(e))l=function(){return N2(e())};else{var u=N2(e);l=function(){return u}}function c(d,f){d===void 0&&(d=l());var h=da([o[f.type]],s.filter(function(p){var m=p.matcher;return m(f)}).map(function(p){var m=p.reducer;return m}));return h.filter(function(p){return!!p}).length===0&&(h=[a]),h.reduce(function(p,m){if(m)if(hr(p)){var S=p,v=m(S,f);return v===void 0?p:v}else{if(Ir(p))return xa(p,function(y){return m(y,f)});var v=m(p,f);if(v===void 0){if(p===null)return p;throw Error("A case reducer on a non-draftable value must not return undefined")}return v}return p},d)}return c.getInitialState=l,c}function HG(e,t){return e+"/"+t}function zt(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:N2(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(c){var d=r[c],f=HG(t,c),h,p;"reducer"in d?(h=d.reducer,p=d.prepare):h=d,o[c]=h,s[f]=h,a[c]=p?me(f,p):me(f)});function l(){var c=typeof e.extraReducers=="function"?HR(e.extraReducers):[e.extraReducers],d=c[0],f=d===void 0?{}:d,h=c[1],p=h===void 0?[]:h,m=c[2],S=m===void 0?void 0:m,v=Tr(Tr({},f),s);return qR(n,function(y){for(var g in v)y.addCase(g,v[g]);for(var b=0,_=p;b<_.length;b++){var w=_[b];y.addMatcher(w.matcher,w.reducer)}S&&y.addDefaultCase(S)})}var u;return{name:t,reducer:function(c,d){return u||(u=l()),u(c,d)},actions:a,caseReducers:o,getInitialState:function(){return u||(u=l()),u.getInitialState()}}}function qG(){return{ids:[],entities:{}}}function WG(){function e(t){return t===void 0&&(t={}),Object.assign(qG(),t)}return{getInitialState:e}}function KG(){function e(t){var n=function(u){return u.ids},r=function(u){return u.entities},i=Vo(n,r,function(u,c){return u.map(function(d){return c[d]})}),o=function(u,c){return c},s=function(u,c){return u[c]},a=Vo(n,function(u){return u.length});if(!t)return{selectIds:n,selectEntities:r,selectAll:i,selectTotal:a,selectById:Vo(r,o,s)};var l=Vo(t,r);return{selectIds:Vo(t,n),selectEntities:l,selectAll:Vo(t,i),selectTotal:Vo(t,a),selectById:Vo(l,o,s)}}return{getSelectors:e}}function YG(e){var t=Gt(function(n,r){return e(r)});return function(r){return t(r,void 0)}}function Gt(e){return function(n,r){function i(s){return GR(s)}var o=function(s){i(r)?e(r.payload,s):e(r,s)};return hr(n)?(o(n),n):xa(n,o)}}function of(e,t){var n=t(e);return n}function rl(e){return Array.isArray(e)||(e=Object.values(e)),e}function WR(e,t,n){e=rl(e);for(var r=[],i=[],o=0,s=e;o0;if(y){var g=p.filter(function(b){return u(S,b,m)}).length>0;g&&(m.ids=Object.keys(m.entities))}}function f(p,m){return h([p],m)}function h(p,m){var S=WR(p,e,m),v=S[0],y=S[1];d(y,m),n(v,m)}return{removeAll:YG(l),addOne:Gt(t),addMany:Gt(n),setOne:Gt(r),setMany:Gt(i),setAll:Gt(o),updateOne:Gt(c),updateMany:Gt(d),upsertOne:Gt(f),upsertMany:Gt(h),removeOne:Gt(s),removeMany:Gt(a)}}function XG(e,t){var n=KR(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(y,g){return a([y],g)}function a(y,g){y=rl(y);var b=y.filter(function(_){return!(of(_,e)in g.entities)});b.length!==0&&S(b,g)}function l(y,g){return u([y],g)}function u(y,g){y=rl(y),y.length!==0&&S(y,g)}function c(y,g){y=rl(y),g.entities={},g.ids=[],a(y,g)}function d(y,g){return f([y],g)}function f(y,g){for(var b=!1,_=0,w=y;_-1;return n&&r}function qh(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function av(){for(var e=[],t=0;t0)for(var g=h.getState(),b=Array.from(n.values()),_=0,w=b;_=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}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 o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function pI(e,t){if(e){if(typeof e=="string")return YT(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return YT(e,t)}}function YT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?OH:RH;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function JT(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function eE(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){JT(o,r,i,s,a,"next",l)}function a(l){JT(o,r,i,s,a,"throw",l)}s(void 0)})}}var MH=function(){var e=eE(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,c=r.persistWholeStore;yield TH(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:c});var d={},f=function(){var h=eE(function*(){var p=hI(t.getState(),n);yield IH(p,d,{prefix:i,driver:o,serialize:s,persistWholeStore:c}),zC(p,d)||t.dispatch({type:SH,payload:p}),d=p});return function(){return h.apply(this,arguments)}}();u&&u>0?t.subscribe(wH(f,u)):t.subscribe(_H(f,l))});return function(n,r,i){return e.apply(this,arguments)}}();const NH=MH;function zf(e){"@babel/helpers - typeof";return zf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zf(e)}function tE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function wS(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=wS({},r));var o=typeof t=="function"?t:Vc(t);switch(i.type){case F2:return n.state=o(wS(wS({},n.state),i.payload||{}),{type:F2}),n.state;default:return o(r,i)}}},BH=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(S,v){return JSON.stringify(S)}:s,l=r.unserialize,u=l===void 0?function(S,v){return JSON.parse(S)}:l,c=r.persistThrottle,d=c===void 0?100:c,f=r.persistDebounce,h=r.persistWholeStore,p=h===void 0?!1:h;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var m=function(v){return function(y,g,b){var _=v(y,g,b);return NH(_,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:d,persistDebounce:f,persistWholeStore:p}),_}};return m};const zd=(e,t)=>Math.floor(e/t)*t,io=(e,t)=>Math.round(e/t)*t;var jH=typeof global=="object"&&global&&global.Object===Object&&global;const mI=jH;var VH=typeof self=="object"&&self&&self.Object===Object&&self,zH=mI||VH||Function("return this")();const ko=zH;var UH=ko.Symbol;const mi=UH;var yI=Object.prototype,GH=yI.hasOwnProperty,HH=yI.toString,md=mi?mi.toStringTag:void 0;function qH(e){var t=GH.call(e,md),n=e[md];try{e[md]=void 0;var r=!0}catch{}var i=HH.call(e);return r&&(t?e[md]=n:delete e[md]),i}var WH=Object.prototype,KH=WH.toString;function YH(e){return KH.call(e)}var XH="[object Null]",QH="[object Undefined]",nE=mi?mi.toStringTag:void 0;function Ta(e){return e==null?e===void 0?QH:XH:nE&&nE in Object(e)?qH(e):YH(e)}function zi(e){return e!=null&&typeof e=="object"}var ZH="[object Symbol]";function uv(e){return typeof e=="symbol"||zi(e)&&Ta(e)==ZH}function UC(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=Oq)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function Nq(e){return function(){return e}}var Dq=function(){try{var e=Al(Object,"defineProperty");return e({},"",{}),e}catch{}}();const ly=Dq;var Lq=ly?function(e,t){return ly(e,"toString",{configurable:!0,enumerable:!1,value:Nq(t),writable:!0})}:cv;const $q=Lq;var Fq=Mq($q);const _I=Fq;function wI(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var Gq=9007199254740991,Hq=/^(?:0|[1-9]\d*)$/;function dv(e,t){var n=typeof e;return t=t??Gq,!!t&&(n=="number"||n!="symbol"&&Hq.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=Kq}function Uc(e){return e!=null&&WC(e.length)&&!GC(e)}function TI(e,t,n){if(!Jn(n))return!1;var r=typeof t;return(r=="number"?Uc(n)&&dv(t,n.length):r=="string"&&t in n)?Xh(n[t],e):!1}function EI(e){return CI(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&TI(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function uK(e,t){var n=this.__data__,r=fv(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function gs(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?MI(a,t-1,n,r,i):JC(i,a):r||(i[i.length]=a)}return i}function kK(e){var t=e==null?0:e.length;return t?MI(e,1):[]}function AK(e){return _I(xI(e,void 0,kK),e+"")}var OK=RI(Object.getPrototypeOf,Object);const e5=OK;var RK="[object Object]",IK=Function.prototype,MK=Object.prototype,NI=IK.toString,NK=MK.hasOwnProperty,DK=NI.call(Object);function DI(e){if(!zi(e)||Ta(e)!=RK)return!1;var t=e5(e);if(t===null)return!0;var n=NK.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&NI.call(n)==DK}function LK(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=t?e:t)),e}function Xo(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=xS(n),n=n===n?n:0),t!==void 0&&(t=xS(t),t=t===t?t:0),WK(xS(e),t,n)}function KK(){this.__data__=new gs,this.size=0}function YK(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function XK(e){return this.__data__.get(e)}function QK(e){return this.__data__.has(e)}var ZK=200;function JK(e,t){var n=this.__data__;if(n instanceof gs){var r=n.__data__;if(!qf||r.lengtha))return!1;var u=o.get(e),c=o.get(t);if(u&&c)return u==t&&c==e;var d=-1,f=!0,h=n&MX?new Wf:void 0;for(o.set(e,t),o.set(t,e);++d1),o}),zc(e,n5(e),n),r&&(n=af(n,$Q|FQ|BQ,LQ));for(var i=t.length;i--;)r7(n,t[i]);return n});const o5=jQ;function VQ(e,t,n,r){if(!Jn(e))return e;t=Gc(t,e);for(var i=-1,o=t.length,s=o-1,a=e;a!=null&&++i=fZ){var u=t?null:dZ(e);if(u)return i5(u);s=!1,i=KI,l=new Wf}else l=t?[]:a;e:for(;++r{DQ(e,t.payload)}}}),{configChanged:vZ}=p7.actions,bZ=p7.reducer,qc=()=>xR(),cy=gR;function SZ(e){if(e.sheet)return e.sheet;for(var t=0;t0?Ln(Wc,--Mr):0,Sc--,nn===10&&(Sc=1,Sv--),nn}function zr(){return nn=Mr2||Yf(nn)>3?"":" "}function MZ(e,t){for(;--t&&zr()&&!(nn<48||nn>102||nn>57&&nn<65||nn>70&&nn<97););return ep(e,Jg()+(t<6&&yo()==32&&zr()==32))}function Y2(e){for(;zr();)switch(nn){case e:return Mr;case 34:case 39:e!==34&&e!==39&&Y2(nn);break;case 40:e===41&&Y2(e);break;case 92:zr();break}return Mr}function NZ(e,t){for(;zr()&&e+nn!==47+10;)if(e+nn===42+42&&yo()===47)break;return"/*"+ep(t,Mr-1)+"*"+bv(e===47?e:zr())}function DZ(e){for(;!Yf(yo());)zr();return ep(e,Mr)}function LZ(e){return S7(tm("",null,null,null,[""],e=b7(e),0,[0],e))}function tm(e,t,n,r,i,o,s,a,l){for(var u=0,c=0,d=s,f=0,h=0,p=0,m=1,S=1,v=1,y=0,g="",b=i,_=o,w=r,x=g;S;)switch(p=y,y=zr()){case 40:if(p!=108&&Ln(x,d-1)==58){K2(x+=nt(em(y),"&","&\f"),"&\f")!=-1&&(v=-1);break}case 34:case 39:case 91:x+=em(y);break;case 9:case 10:case 13:case 32:x+=IZ(p);break;case 92:x+=MZ(Jg()-1,7);continue;case 47:switch(yo()){case 42:case 47:ng($Z(NZ(zr(),Jg()),t,n),l);break;default:x+="/"}break;case 123*m:a[u++]=to(x)*v;case 125*m:case 59:case 0:switch(y){case 0:case 125:S=0;case 59+c:v==-1&&(x=nt(x,/\f/g,"")),h>0&&to(x)-d&&ng(h>32?ME(x+";",r,n,d-1):ME(nt(x," ","")+";",r,n,d-2),l);break;case 59:x+=";";default:if(ng(w=IE(x,t,n,u,c,i,a,g,b=[],_=[],d),o),y===123)if(c===0)tm(x,t,w,w,b,o,d,a,_);else switch(f===99&&Ln(x,3)===110?100:f){case 100:case 108:case 109:case 115:tm(e,w,w,r&&ng(IE(e,w,w,0,0,i,a,g,i,b=[],d),_),i,_,d,a,r?b:_);break;default:tm(x,w,w,w,[""],_,0,a,_)}}u=c=h=0,m=v=1,g=x="",d=s;break;case 58:d=1+to(x),h=p;default:if(m<1){if(y==123)--m;else if(y==125&&m++==0&&RZ()==125)continue}switch(x+=bv(y),y*m){case 38:v=c>0?1:(x+="\f",-1);break;case 44:a[u++]=(to(x)-1)*v,v=1;break;case 64:yo()===45&&(x+=em(zr())),f=yo(),c=d=to(g=x+=DZ(Jg())),y++;break;case 45:p===45&&to(x)==2&&(m=0)}}return o}function IE(e,t,n,r,i,o,s,a,l,u,c){for(var d=i-1,f=i===0?o:[""],h=l5(f),p=0,m=0,S=0;p0?f[v]+" "+y:nt(y,/&\f/g,f[v])))&&(l[S++]=g);return _v(e,t,n,i===0?s5:a,l,u,c)}function $Z(e,t,n){return _v(e,t,n,g7,bv(OZ()),Kf(e,2,-2),0)}function ME(e,t,n,r){return _v(e,t,n,a5,Kf(e,0,r),Kf(e,r+1,-1),r)}function Ku(e,t){for(var n="",r=l5(e),i=0;i6)switch(Ln(e,t+1)){case 109:if(Ln(e,t+4)!==45)break;case 102:return nt(e,/(.+:)(.+)-([^]+)/,"$1"+tt+"$2-$3$1"+dy+(Ln(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~K2(e,"stretch")?w7(nt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Ln(e,t+1)!==115)break;case 6444:switch(Ln(e,to(e)-3-(~K2(e,"!important")&&10))){case 107:return nt(e,":",":"+tt)+e;case 101:return nt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+tt+(Ln(e,14)===45?"inline-":"")+"box$3$1"+tt+"$2$3$1"+Kn+"$2box$3")+e}break;case 5936:switch(Ln(e,t+11)){case 114:return tt+e+Kn+nt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return tt+e+Kn+nt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return tt+e+Kn+nt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return tt+e+Kn+e+e}return e}var qZ=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case a5:t.return=w7(t.value,t.length);break;case m7:return Ku([yd(t,{value:nt(t.value,"@","@"+tt)})],i);case s5:if(t.length)return AZ(t.props,function(o){switch(kZ(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Ku([yd(t,{props:[nt(o,/:(read-\w+)/,":"+dy+"$1")]})],i);case"::placeholder":return Ku([yd(t,{props:[nt(o,/:(plac\w+)/,":"+tt+"input-$1")]}),yd(t,{props:[nt(o,/:(plac\w+)/,":"+dy+"$1")]}),yd(t,{props:[nt(o,/:(plac\w+)/,Kn+"input-$1")]})],i)}return""})}},WZ=[qZ],KZ=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(m){var S=m.getAttribute("data-emotion");S.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var i=t.stylisPlugins||WZ,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(m){for(var S=m.getAttribute("data-emotion").split(" "),v=1;v=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var ZZ={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},JZ=/[A-Z]|^ms/g,eJ=/_EMO_([^_]+?)_([^]*?)_EMO_/g,T7=function(t){return t.charCodeAt(1)===45},LE=function(t){return t!=null&&typeof t!="boolean"},PS=_7(function(e){return T7(e)?e:e.replace(JZ,"-$&").toLowerCase()}),$E=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(eJ,function(r,i,o){return no={name:i,styles:o,next:no},i})}return ZZ[t]!==1&&!T7(t)&&typeof n=="number"&&n!==0?n+"px":n};function Xf(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return no={name:n.name,styles:n.styles,next:no},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)no={name:r.name,styles:r.styles,next:no},r=r.next;var i=n.styles+";";return i}return tJ(e,t,n)}case"function":{if(e!==void 0){var o=no,s=n(e);return no=o,Xf(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function tJ(e,t,n){var r="";if(Array.isArray(n))for(var i=0;ij.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),gJ=e=>{const{appendToParentPortal:t,children:n}=e,[r,i]=E.useState(null),o=E.useRef(null),[,s]=E.useState({});E.useEffect(()=>s({}),[]);const a=fJ(),l=cJ();Zf(()=>{if(!r)return;const c=r.ownerDocument,d=t?a??c.body:c.body;if(!d)return;o.current=c.createElement("div"),o.current.className=c5,d.appendChild(o.current),s({});const f=o.current;return()=>{d.contains(f)&&d.removeChild(f)}},[r]);const u=l!=null&&l.zIndex?j.jsx(pJ,{zIndex:l==null?void 0:l.zIndex,children:n}):n;return o.current?li.createPortal(j.jsx(A7,{value:o.current,children:u}),o.current):j.jsx("span",{ref:c=>{c&&i(c)}})},mJ=e=>{const{children:t,containerRef:n,appendToParentPortal:r}=e,i=n.current,o=i??(typeof window<"u"?document.body:void 0),s=E.useMemo(()=>{const l=i==null?void 0:i.ownerDocument.createElement("div");return l&&(l.className=c5),l},[i]),[,a]=E.useState({});return Zf(()=>a({}),[]),Zf(()=>{if(!(!s||!o))return o.appendChild(s),()=>{o.removeChild(s)}},[s,o]),o&&s?li.createPortal(j.jsx(A7,{value:r?s:null,children:t}),s):null};function tp(e){const t={appendToParentPortal:!0,...e},{containerRef:n,...r}=t;return n?j.jsx(mJ,{containerRef:n,...r}):j.jsx(gJ,{...r})}tp.className=c5;tp.selector=hJ;tp.displayName="Portal";function wv(){const e=E.useContext(Qf);if(!e)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `` or ``");return e}var O7=E.createContext({});O7.displayName="ColorModeContext";function d5(){const e=E.useContext(O7);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function rTe(e,t){const{colorMode:n}=d5();return n==="dark"?t:e}function R7(){const e=d5(),t=wv();return{...e,theme:t}}function yJ(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function vJ(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function iTe(e,t,n){const r=wv();return bJ(e,t,n)(r)}function bJ(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var c,d;if(e==="breakpoints")return yJ(o,l,(c=s[u])!=null?c:l);const f=`${e}.${l}`;return vJ(o,f,(d=s[u])!=null?d:l)});return Array.isArray(t)?a:a[0]}}var Gn=(...e)=>e.filter(Boolean).join(" ");function SJ(){return!1}function vo(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var oTe=e=>{const{condition:t,message:n}=e;t&&SJ()&&console.warn(n)};function uo(e,...t){return _J(e)?e(...t):e}var _J=e=>typeof e=="function",Ou=e=>e?"":void 0,Yu=e=>e?!0:void 0;function Dn(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function sTe(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var fy={exports:{}};fy.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",c="[object Boolean]",d="[object Date]",f="[object Error]",h="[object Function]",p="[object GeneratorFunction]",m="[object Map]",S="[object Number]",v="[object Null]",y="[object Object]",g="[object Proxy]",b="[object RegExp]",_="[object Set]",w="[object String]",x="[object Undefined]",C="[object WeakMap]",k="[object ArrayBuffer]",P="[object DataView]",A="[object Float32Array]",$="[object Float64Array]",N="[object Int8Array]",T="[object Int16Array]",O="[object Int32Array]",I="[object Uint8Array]",M="[object Uint8ClampedArray]",R="[object Uint16Array]",D="[object Uint32Array]",L=/[\\^$.*+?()[\]{}|]/g,V=/^\[object .+?Constructor\]$/,z=/^(?:0|[1-9]\d*)$/,U={};U[A]=U[$]=U[N]=U[T]=U[O]=U[I]=U[M]=U[R]=U[D]=!0,U[a]=U[l]=U[k]=U[c]=U[P]=U[d]=U[f]=U[h]=U[m]=U[S]=U[y]=U[b]=U[_]=U[w]=U[C]=!1;var K=typeof De=="object"&&De&&De.Object===Object&&De,W=typeof self=="object"&&self&&self.Object===Object&&self,X=K||W||Function("return this")(),F=t&&!t.nodeType&&t,q=F&&!0&&e&&!e.nodeType&&e,Q=q&&q.exports===F,J=Q&&K.process,ne=function(){try{var B=q&&q.require&&q.require("util").types;return B||J&&J.binding&&J.binding("util")}catch{}}(),Z=ne&&ne.isTypedArray;function ge(B,G,Y){switch(Y.length){case 0:return B.call(G);case 1:return B.call(G,Y[0]);case 2:return B.call(G,Y[0],Y[1]);case 3:return B.call(G,Y[0],Y[1],Y[2])}return B.apply(G,Y)}function ae(B,G){for(var Y=-1,ue=Array(B);++Y-1}function Lo(B,G){var Y=this.__data__,ue=ql(Y,B);return ue<0?(++this.size,Y.push([B,G])):Y[ue][1]=G,this}On.prototype.clear=Do,On.prototype.delete=_s,On.prototype.get=ws,On.prototype.has=Hl,On.prototype.set=Lo;function sr(B){var G=-1,Y=B==null?0:B.length;for(this.clear();++G1?Y[qe-1]:void 0,Ct=qe>2?Y[2]:void 0;for(dt=B.length>3&&typeof dt=="function"?(qe--,dt):void 0,Ct&&Oj(Y[0],Y[1],Ct)&&(dt=qe<3?void 0:dt,qe=1),G=Object(G);++ue-1&&B%1==0&&B0){if(++G>=i)return arguments[0]}else G=0;return B.apply(void 0,arguments)}}function Fj(B){if(B!=null){try{return Me.call(B)}catch{}try{return B+""}catch{}}return""}function Lp(B,G){return B===G||B!==B&&G!==G}var Nb=Np(function(){return arguments}())?Np:function(B){return sd(B)&&rt.call(B,"callee")&&!Qt.call(B,"callee")},Db=Array.isArray;function Lb(B){return B!=null&&d4(B.length)&&!$b(B)}function Bj(B){return sd(B)&&Lb(B)}var c4=Mo||Gj;function $b(B){if(!Da(B))return!1;var G=Kl(B);return G==h||G==p||G==u||G==g}function d4(B){return typeof B=="number"&&B>-1&&B%1==0&&B<=s}function Da(B){var G=typeof B;return B!=null&&(G=="object"||G=="function")}function sd(B){return B!=null&&typeof B=="object"}function jj(B){if(!sd(B)||Kl(B)!=y)return!1;var G=ie(B);if(G===null)return!0;var Y=rt.call(G,"constructor")&&G.constructor;return typeof Y=="function"&&Y instanceof Y&&Me.call(Y)==an}var f4=Z?oe(Z):od;function Vj(B){return Tj(B,h4(B))}function h4(B){return Lb(B)?kb(B,!0):yj(B)}var zj=Ej(function(B,G,Y,ue){a4(B,G,Y,ue)});function Uj(B){return function(){return B}}function p4(B){return B}function Gj(){return!1}e.exports=zj})(fy,fy.exports);var wJ=fy.exports;const co=Cl(wJ);var xJ=e=>/!(important)?$/.test(e),jE=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,CJ=(e,t)=>n=>{const r=String(t),i=xJ(r),o=jE(r),s=e?`${e}.${o}`:o;let a=vo(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=jE(a),i?`${a} !important`:a};function f5(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=CJ(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var rg=(...e)=>t=>e.reduce((n,r)=>r(n),t);function Jr(e,t){return n=>{const r={property:n,scale:e};return r.transform=f5({scale:e,transform:t}),r}}var TJ=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function EJ(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:TJ(t),transform:n?f5({scale:n,compose:r}):r}}var I7=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function PJ(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...I7].join(" ")}function kJ(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...I7].join(" ")}var AJ={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},OJ={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function RJ(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var IJ={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},X2={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},MJ=new Set(Object.values(X2)),Q2=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),NJ=e=>e.trim();function DJ(e,t){if(e==null||Q2.has(e))return e;if(!(Z2(e)||Q2.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(NJ).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const c=l in X2?X2[l]:l;u.unshift(c);const d=u.map(f=>{if(MJ.has(f))return f;const h=f.indexOf(" "),[p,m]=h!==-1?[f.substr(0,h),f.substr(h+1)]:[f],S=Z2(m)?m:m&&m.split(" "),v=`colors.${p}`,y=v in t.__cssMap?t.__cssMap[v].varRef:p;return S?[y,...Array.isArray(S)?S:[S]].join(" "):y});return`${a}(${d.join(", ")})`}var Z2=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),LJ=(e,t)=>DJ(e,t??{});function $J(e){return/^var\(--.+\)$/.test(e)}var FJ=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Xi=e=>t=>`${e}(${t})`,Xe={filter(e){return e!=="auto"?e:AJ},backdropFilter(e){return e!=="auto"?e:OJ},ring(e){return RJ(Xe.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?PJ():e==="auto-gpu"?kJ():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=FJ(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if($J(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:LJ,blur:Xi("blur"),opacity:Xi("opacity"),brightness:Xi("brightness"),contrast:Xi("contrast"),dropShadow:Xi("drop-shadow"),grayscale:Xi("grayscale"),hueRotate:Xi("hue-rotate"),invert:Xi("invert"),saturate:Xi("saturate"),sepia:Xi("sepia"),bgImage(e){return e==null||Z2(e)||Q2.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=IJ[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},H={borderWidths:Jr("borderWidths"),borderStyles:Jr("borderStyles"),colors:Jr("colors"),borders:Jr("borders"),gradients:Jr("gradients",Xe.gradient),radii:Jr("radii",Xe.px),space:Jr("space",rg(Xe.vh,Xe.px)),spaceT:Jr("space",rg(Xe.vh,Xe.px)),degreeT(e){return{property:e,transform:Xe.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:f5({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:Jr("sizes",rg(Xe.vh,Xe.px)),sizesT:Jr("sizes",rg(Xe.vh,Xe.fraction)),shadows:Jr("shadows"),logical:EJ,blur:Jr("blur",Xe.blur)},nm={background:H.colors("background"),backgroundColor:H.colors("backgroundColor"),backgroundImage:H.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:Xe.bgClip},bgSize:H.prop("backgroundSize"),bgPosition:H.prop("backgroundPosition"),bg:H.colors("background"),bgColor:H.colors("backgroundColor"),bgPos:H.prop("backgroundPosition"),bgRepeat:H.prop("backgroundRepeat"),bgAttachment:H.prop("backgroundAttachment"),bgGradient:H.gradients("backgroundImage"),bgClip:{transform:Xe.bgClip}};Object.assign(nm,{bgImage:nm.backgroundImage,bgImg:nm.backgroundImage});var et={border:H.borders("border"),borderWidth:H.borderWidths("borderWidth"),borderStyle:H.borderStyles("borderStyle"),borderColor:H.colors("borderColor"),borderRadius:H.radii("borderRadius"),borderTop:H.borders("borderTop"),borderBlockStart:H.borders("borderBlockStart"),borderTopLeftRadius:H.radii("borderTopLeftRadius"),borderStartStartRadius:H.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:H.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:H.radii("borderTopRightRadius"),borderStartEndRadius:H.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:H.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:H.borders("borderRight"),borderInlineEnd:H.borders("borderInlineEnd"),borderBottom:H.borders("borderBottom"),borderBlockEnd:H.borders("borderBlockEnd"),borderBottomLeftRadius:H.radii("borderBottomLeftRadius"),borderBottomRightRadius:H.radii("borderBottomRightRadius"),borderLeft:H.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:H.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:H.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:H.borders(["borderLeft","borderRight"]),borderInline:H.borders("borderInline"),borderY:H.borders(["borderTop","borderBottom"]),borderBlock:H.borders("borderBlock"),borderTopWidth:H.borderWidths("borderTopWidth"),borderBlockStartWidth:H.borderWidths("borderBlockStartWidth"),borderTopColor:H.colors("borderTopColor"),borderBlockStartColor:H.colors("borderBlockStartColor"),borderTopStyle:H.borderStyles("borderTopStyle"),borderBlockStartStyle:H.borderStyles("borderBlockStartStyle"),borderBottomWidth:H.borderWidths("borderBottomWidth"),borderBlockEndWidth:H.borderWidths("borderBlockEndWidth"),borderBottomColor:H.colors("borderBottomColor"),borderBlockEndColor:H.colors("borderBlockEndColor"),borderBottomStyle:H.borderStyles("borderBottomStyle"),borderBlockEndStyle:H.borderStyles("borderBlockEndStyle"),borderLeftWidth:H.borderWidths("borderLeftWidth"),borderInlineStartWidth:H.borderWidths("borderInlineStartWidth"),borderLeftColor:H.colors("borderLeftColor"),borderInlineStartColor:H.colors("borderInlineStartColor"),borderLeftStyle:H.borderStyles("borderLeftStyle"),borderInlineStartStyle:H.borderStyles("borderInlineStartStyle"),borderRightWidth:H.borderWidths("borderRightWidth"),borderInlineEndWidth:H.borderWidths("borderInlineEndWidth"),borderRightColor:H.colors("borderRightColor"),borderInlineEndColor:H.colors("borderInlineEndColor"),borderRightStyle:H.borderStyles("borderRightStyle"),borderInlineEndStyle:H.borderStyles("borderInlineEndStyle"),borderTopRadius:H.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:H.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:H.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:H.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(et,{rounded:et.borderRadius,roundedTop:et.borderTopRadius,roundedTopLeft:et.borderTopLeftRadius,roundedTopRight:et.borderTopRightRadius,roundedTopStart:et.borderStartStartRadius,roundedTopEnd:et.borderStartEndRadius,roundedBottom:et.borderBottomRadius,roundedBottomLeft:et.borderBottomLeftRadius,roundedBottomRight:et.borderBottomRightRadius,roundedBottomStart:et.borderEndStartRadius,roundedBottomEnd:et.borderEndEndRadius,roundedLeft:et.borderLeftRadius,roundedRight:et.borderRightRadius,roundedStart:et.borderInlineStartRadius,roundedEnd:et.borderInlineEndRadius,borderStart:et.borderInlineStart,borderEnd:et.borderInlineEnd,borderTopStartRadius:et.borderStartStartRadius,borderTopEndRadius:et.borderStartEndRadius,borderBottomStartRadius:et.borderEndStartRadius,borderBottomEndRadius:et.borderEndEndRadius,borderStartRadius:et.borderInlineStartRadius,borderEndRadius:et.borderInlineEndRadius,borderStartWidth:et.borderInlineStartWidth,borderEndWidth:et.borderInlineEndWidth,borderStartColor:et.borderInlineStartColor,borderEndColor:et.borderInlineEndColor,borderStartStyle:et.borderInlineStartStyle,borderEndStyle:et.borderInlineEndStyle});var BJ={color:H.colors("color"),textColor:H.colors("color"),fill:H.colors("fill"),stroke:H.colors("stroke")},J2={boxShadow:H.shadows("boxShadow"),mixBlendMode:!0,blendMode:H.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:H.prop("backgroundBlendMode"),opacity:!0};Object.assign(J2,{shadow:J2.boxShadow});var jJ={filter:{transform:Xe.filter},blur:H.blur("--chakra-blur"),brightness:H.propT("--chakra-brightness",Xe.brightness),contrast:H.propT("--chakra-contrast",Xe.contrast),hueRotate:H.degreeT("--chakra-hue-rotate"),invert:H.propT("--chakra-invert",Xe.invert),saturate:H.propT("--chakra-saturate",Xe.saturate),dropShadow:H.propT("--chakra-drop-shadow",Xe.dropShadow),backdropFilter:{transform:Xe.backdropFilter},backdropBlur:H.blur("--chakra-backdrop-blur"),backdropBrightness:H.propT("--chakra-backdrop-brightness",Xe.brightness),backdropContrast:H.propT("--chakra-backdrop-contrast",Xe.contrast),backdropHueRotate:H.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:H.propT("--chakra-backdrop-invert",Xe.invert),backdropSaturate:H.propT("--chakra-backdrop-saturate",Xe.saturate)},hy={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:Xe.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:H.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:H.space("gap"),rowGap:H.space("rowGap"),columnGap:H.space("columnGap")};Object.assign(hy,{flexDir:hy.flexDirection});var M7={gridGap:H.space("gridGap"),gridColumnGap:H.space("gridColumnGap"),gridRowGap:H.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},VJ={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:Xe.outline},outlineOffset:!0,outlineColor:H.colors("outlineColor")},ni={width:H.sizesT("width"),inlineSize:H.sizesT("inlineSize"),height:H.sizes("height"),blockSize:H.sizes("blockSize"),boxSize:H.sizes(["width","height"]),minWidth:H.sizes("minWidth"),minInlineSize:H.sizes("minInlineSize"),minHeight:H.sizes("minHeight"),minBlockSize:H.sizes("minBlockSize"),maxWidth:H.sizes("maxWidth"),maxInlineSize:H.sizes("maxInlineSize"),maxHeight:H.sizes("maxHeight"),maxBlockSize:H.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:H.propT("float",Xe.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(ni,{w:ni.width,h:ni.height,minW:ni.minWidth,maxW:ni.maxWidth,minH:ni.minHeight,maxH:ni.maxHeight,overscroll:ni.overscrollBehavior,overscrollX:ni.overscrollBehaviorX,overscrollY:ni.overscrollBehaviorY});var zJ={listStyleType:!0,listStylePosition:!0,listStylePos:H.prop("listStylePosition"),listStyleImage:!0,listStyleImg:H.prop("listStyleImage")};function UJ(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},HJ=GJ(UJ),qJ={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},WJ={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},kS=(e,t,n)=>{const r={},i=HJ(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},KJ={srOnly:{transform(e){return e===!0?qJ:e==="focusable"?WJ:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>kS(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>kS(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>kS(t,e,n)}},lf={position:!0,pos:H.prop("position"),zIndex:H.prop("zIndex","zIndices"),inset:H.spaceT("inset"),insetX:H.spaceT(["left","right"]),insetInline:H.spaceT("insetInline"),insetY:H.spaceT(["top","bottom"]),insetBlock:H.spaceT("insetBlock"),top:H.spaceT("top"),insetBlockStart:H.spaceT("insetBlockStart"),bottom:H.spaceT("bottom"),insetBlockEnd:H.spaceT("insetBlockEnd"),left:H.spaceT("left"),insetInlineStart:H.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:H.spaceT("right"),insetInlineEnd:H.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(lf,{insetStart:lf.insetInlineStart,insetEnd:lf.insetInlineEnd});var YJ={ring:{transform:Xe.ring},ringColor:H.colors("--chakra-ring-color"),ringOffset:H.prop("--chakra-ring-offset-width"),ringOffsetColor:H.colors("--chakra-ring-offset-color"),ringInset:H.prop("--chakra-ring-inset")},bt={margin:H.spaceT("margin"),marginTop:H.spaceT("marginTop"),marginBlockStart:H.spaceT("marginBlockStart"),marginRight:H.spaceT("marginRight"),marginInlineEnd:H.spaceT("marginInlineEnd"),marginBottom:H.spaceT("marginBottom"),marginBlockEnd:H.spaceT("marginBlockEnd"),marginLeft:H.spaceT("marginLeft"),marginInlineStart:H.spaceT("marginInlineStart"),marginX:H.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:H.spaceT("marginInline"),marginY:H.spaceT(["marginTop","marginBottom"]),marginBlock:H.spaceT("marginBlock"),padding:H.space("padding"),paddingTop:H.space("paddingTop"),paddingBlockStart:H.space("paddingBlockStart"),paddingRight:H.space("paddingRight"),paddingBottom:H.space("paddingBottom"),paddingBlockEnd:H.space("paddingBlockEnd"),paddingLeft:H.space("paddingLeft"),paddingInlineStart:H.space("paddingInlineStart"),paddingInlineEnd:H.space("paddingInlineEnd"),paddingX:H.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:H.space("paddingInline"),paddingY:H.space(["paddingTop","paddingBottom"]),paddingBlock:H.space("paddingBlock")};Object.assign(bt,{m:bt.margin,mt:bt.marginTop,mr:bt.marginRight,me:bt.marginInlineEnd,marginEnd:bt.marginInlineEnd,mb:bt.marginBottom,ml:bt.marginLeft,ms:bt.marginInlineStart,marginStart:bt.marginInlineStart,mx:bt.marginX,my:bt.marginY,p:bt.padding,pt:bt.paddingTop,py:bt.paddingY,px:bt.paddingX,pb:bt.paddingBottom,pl:bt.paddingLeft,ps:bt.paddingInlineStart,paddingStart:bt.paddingInlineStart,pr:bt.paddingRight,pe:bt.paddingInlineEnd,paddingEnd:bt.paddingInlineEnd});var XJ={textDecorationColor:H.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:H.shadows("textShadow")},QJ={clipPath:!0,transform:H.propT("transform",Xe.transform),transformOrigin:!0,translateX:H.spaceT("--chakra-translate-x"),translateY:H.spaceT("--chakra-translate-y"),skewX:H.degreeT("--chakra-skew-x"),skewY:H.degreeT("--chakra-skew-y"),scaleX:H.prop("--chakra-scale-x"),scaleY:H.prop("--chakra-scale-y"),scale:H.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:H.degreeT("--chakra-rotate")},ZJ={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:H.prop("transitionDuration","transition.duration"),transitionProperty:H.prop("transitionProperty","transition.property"),transitionTimingFunction:H.prop("transitionTimingFunction","transition.easing")},JJ={fontFamily:H.prop("fontFamily","fonts"),fontSize:H.prop("fontSize","fontSizes",Xe.px),fontWeight:H.prop("fontWeight","fontWeights"),lineHeight:H.prop("lineHeight","lineHeights"),letterSpacing:H.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},eee={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:H.spaceT("scrollMargin"),scrollMarginTop:H.spaceT("scrollMarginTop"),scrollMarginBottom:H.spaceT("scrollMarginBottom"),scrollMarginLeft:H.spaceT("scrollMarginLeft"),scrollMarginRight:H.spaceT("scrollMarginRight"),scrollMarginX:H.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:H.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:H.spaceT("scrollPadding"),scrollPaddingTop:H.spaceT("scrollPaddingTop"),scrollPaddingBottom:H.spaceT("scrollPaddingBottom"),scrollPaddingLeft:H.spaceT("scrollPaddingLeft"),scrollPaddingRight:H.spaceT("scrollPaddingRight"),scrollPaddingX:H.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:H.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function N7(e){return vo(e)&&e.reference?e.reference:String(e)}var xv=(e,...t)=>t.map(N7).join(` ${e} `).replace(/calc/g,""),VE=(...e)=>`calc(${xv("+",...e)})`,zE=(...e)=>`calc(${xv("-",...e)})`,ew=(...e)=>`calc(${xv("*",...e)})`,UE=(...e)=>`calc(${xv("/",...e)})`,GE=e=>{const t=N7(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:ew(t,-1)},Wa=Object.assign(e=>({add:(...t)=>Wa(VE(e,...t)),subtract:(...t)=>Wa(zE(e,...t)),multiply:(...t)=>Wa(ew(e,...t)),divide:(...t)=>Wa(UE(e,...t)),negate:()=>Wa(GE(e)),toString:()=>e.toString()}),{add:VE,subtract:zE,multiply:ew,divide:UE,negate:GE});function tee(e,t="-"){return e.replace(/\s+/g,t)}function nee(e){const t=tee(e.toString());return iee(ree(t))}function ree(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function iee(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function oee(e,t=""){return[t,e].filter(Boolean).join("-")}function see(e,t){return`var(${e}${t?`, ${t}`:""})`}function aee(e,t=""){return nee(`--${oee(e,t)}`)}function tw(e,t,n){const r=aee(e,n);return{variable:r,reference:see(r,t)}}function aTe(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=tw(`${e}-${i}`,o);continue}n[r]=tw(`${e}-${r}`)}return n}function lee(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function uee(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function nw(e){if(e==null)return e;const{unitless:t}=uee(e);return t||typeof e=="number"?`${e}px`:e}var D7=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,h5=e=>Object.fromEntries(Object.entries(e).sort(D7));function HE(e){const t=h5(e);return Object.assign(Object.values(t),t)}function cee(e){const t=Object.keys(h5(e));return new Set(t)}function qE(e){var t;if(!e)return e;e=(t=nw(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function Ud(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${nw(e)})`),t&&n.push("and",`(max-width: ${nw(t)})`),n.join(" ")}function dee(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=HE(e),r=Object.entries(e).sort(D7).map(([s,a],l,u)=>{var c;let[,d]=(c=u[l+1])!=null?c:[];return d=parseFloat(d)>0?qE(d):void 0,{_minW:qE(a),breakpoint:s,minW:a,maxW:d,maxWQuery:Ud(null,d),minWQuery:Ud(a),minMaxQuery:Ud(a,d)}}),i=cee(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:h5(e),asArray:HE(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>Ud(s)).slice(1)],toArrayValue(s){if(!vo(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;lee(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const c=o[u];return c!=null&&l!=null&&(a[c]=l),a},{})}}}var Rn={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},Ts=e=>L7(t=>e(t,"&"),"[role=group]","[data-group]",".group"),$o=e=>L7(t=>e(t,"~ &"),"[data-peer]",".peer"),L7=(e,...t)=>t.map(e).join(", "),Cv={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:Ts(Rn.hover),_peerHover:$o(Rn.hover),_groupFocus:Ts(Rn.focus),_peerFocus:$o(Rn.focus),_groupFocusVisible:Ts(Rn.focusVisible),_peerFocusVisible:$o(Rn.focusVisible),_groupActive:Ts(Rn.active),_peerActive:$o(Rn.active),_groupDisabled:Ts(Rn.disabled),_peerDisabled:$o(Rn.disabled),_groupInvalid:Ts(Rn.invalid),_peerInvalid:$o(Rn.invalid),_groupChecked:Ts(Rn.checked),_peerChecked:$o(Rn.checked),_groupFocusWithin:Ts(Rn.focusWithin),_peerFocusWithin:$o(Rn.focusWithin),_peerPlaceholderShown:$o(Rn.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},$7=Object.keys(Cv);function WE(e,t){return tw(String(e).replace(/\./g,"-"),void 0,t)}function fee(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=WE(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const f=i.split("."),[h,...p]=f,m=`${h}.-${p.join(".")}`,S=Wa.negate(a),v=Wa.negate(u);r[m]={value:S,var:l,varRef:v}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const c=f=>{const p=[String(i).split(".")[0],f].join(".");if(!e[p])return f;const{reference:S}=WE(p,t==null?void 0:t.cssVarPrefix);return S},d=vo(a)?a:{default:a};n=co(n,Object.entries(d).reduce((f,[h,p])=>{var m,S;if(!p)return f;const v=c(`${p}`);if(h==="default")return f[l]=v,f;const y=(S=(m=Cv)==null?void 0:m[h])!=null?S:h;return f[y]={[l]:v},f},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function hee(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function pee(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function gee(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function KE(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(gee(s)||Array.isArray(s)){const u={};for(const[c,d]of Object.entries(s)){const f=(l=i==null?void 0:i(c))!=null?l:c,h=[...a,f];if(r!=null&&r(s,h))return t(s,a);u[f]=o(d,h)}return u}return t(s,a)}return o(e)}var mee=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function yee(e){return pee(e,mee)}function vee(e){return e.semanticTokens}function bee(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var See=e=>$7.includes(e)||e==="default";function _ee({tokens:e,semanticTokens:t}){const n={};return KE(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),KE(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(See)}),n}function lTe(e){var t;const n=bee(e),r=yee(n),i=vee(n),o=_ee({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=fee(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:dee(n.breakpoints)}),n}var p5=co({},nm,et,BJ,hy,ni,jJ,YJ,VJ,M7,KJ,lf,J2,bt,eee,JJ,XJ,QJ,zJ,ZJ),wee=Object.assign({},bt,ni,hy,M7,lf),uTe=Object.keys(wee),xee=[...Object.keys(p5),...$7],Cee={...p5,...Cv},Tee=e=>e in Cee,Eee=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=uo(e[s],t);if(a==null)continue;if(a=vo(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!kee(t),Oee=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,c;return(c=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:c.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=Pee(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function Ree(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const c=uo(o,r),d=Eee(c)(r);let f={};for(let h in d){const p=d[h];let m=uo(p,r);h in n&&(h=n[h]),Aee(h,m)&&(m=Oee(r,m));let S=t[h];if(S===!0&&(S={property:h}),vo(m)){f[h]=(a=f[h])!=null?a:{},f[h]=co({},f[h],i(m,!0));continue}let v=(u=(l=S==null?void 0:S.transform)==null?void 0:l.call(S,m,r,c))!=null?u:m;v=S!=null&&S.processResult?i(v,!0):v;const y=uo(S==null?void 0:S.property,r);if(!s&&(S!=null&&S.static)){const g=uo(S.static,r);f=co({},f,g)}if(y&&Array.isArray(y)){for(const g of y)f[g]=v;continue}if(y){y==="&"&&vo(v)?f=co({},f,v):f[y]=v;continue}if(vo(v)){f=co({},f,v);continue}f[h]=v}return f};return i}var Iee=e=>t=>Ree({theme:t,pseudos:Cv,configs:p5})(e);function cTe(e){return e}function dTe(e){return e}function fTe(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function Mee(e,t){if(Array.isArray(e))return e;if(vo(e))return t(e);if(e!=null)return[e]}function Nee(e,t){for(let n=t+1;n{co(u,{[g]:f?y[g]:{[v]:y[g]}})});continue}if(!h){f?co(u,y):u[v]=y;continue}u[v]=y}}return u}}function Lee(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=Dee(o);return co({},uo((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function $ee(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function Ao(e){return hee(e,["styleConfig","size","variant","colorScheme"])}function Fee(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function hTe(e){var t;return Fee(e)&&(t=e.ownerDocument)!=null?t:document}function Bee(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var jee=Bee();function Vee(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function zee(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},Gee=Uee(zee);function F7(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var B7=e=>F7(e,t=>t!=null);function Hee(e){return typeof e=="function"}function qee(e,...t){return Hee(e)?e(...t):e}function Wee(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}const j7=1/60*1e3,Kee=typeof performance<"u"?()=>performance.now():()=>Date.now(),V7=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(Kee()),j7);function Yee(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,c=!1)=>{const d=c&&i,f=d?t:n;return u&&s.add(l),f.indexOf(l)===-1&&(f.push(l),d&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(e[t]=Yee(()=>Jf=!0),e),{}),Qee=np.reduce((e,t)=>{const n=Tv[t];return e[t]=(r,i=!1,o=!1)=>(Jf||ete(),n.schedule(r,i,o)),e},{}),Zee=np.reduce((e,t)=>(e[t]=Tv[t].cancel,e),{});np.reduce((e,t)=>(e[t]=()=>Tv[t].process(Xu),e),{});const Jee=e=>Tv[e].process(Xu),z7=e=>{Jf=!1,Xu.delta=rw?j7:Math.max(Math.min(e-Xu.timestamp,Xee),1),Xu.timestamp=e,iw=!0,np.forEach(Jee),iw=!1,Jf&&(rw=!1,V7(z7))},ete=()=>{Jf=!0,rw=!0,iw||V7(z7)},YE=()=>Xu;var tte=typeof Element<"u",nte=typeof Map=="function",rte=typeof Set=="function",ite=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function rm(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!rm(e[r],t[r]))return!1;return!0}var o;if(nte&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!rm(r.value[1],t.get(r.value[0])))return!1;return!0}if(rte&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(ite&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(tte&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!rm(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var ote=function(t,n){try{return rm(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const ste=Cl(ote);function U7(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=R7(),a=e?Gee(o,`components.${e}`):void 0,l=r||a,u=co({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},B7(Vee(i,["children"]))),c=E.useRef({});if(l){const f=Lee(l)(u);ste(c.current,f)||(c.current=f)}return c.current}function Ol(e,t={}){return U7(e,t)}function Ev(e,t={}){return U7(e,t)}var ate=new Set([...xee,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),lte=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function ute(e){return lte.has(e)||!ate.has(e)}function cte(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var dte=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,fte=_7(function(e){return dte.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),hte=fte,pte=function(t){return t!=="theme"},XE=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?hte:pte},QE=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},gte=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return x7(n,r,i),rJ(function(){return C7(n,r,i)}),null},mte=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=QE(t,n,r),l=a||XE(i),u=!l("as");return function(){var c=arguments,d=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&d.push("label:"+o+";"),c[0]==null||c[0].raw===void 0)d.push.apply(d,c);else{d.push(c[0][0]);for(var f=c.length,h=1;ht=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=F7(s,(d,f)=>Tee(f)),l=qee(e,t),u=cte({},i,l,B7(a),o),c=Iee(u)(t.theme);return r?[c,r]:c};function AS(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=ute);const i=bte({baseStyle:n}),o=vte(e,r)(i);return ze.forwardRef(function(l,u){const{colorMode:c,forced:d}=d5();return ze.createElement(o,{ref:u,"data-theme":d?c:void 0,...l})})}function Ste(){const e=new Map;return new Proxy(AS,{apply(t,n,r){return AS(...r)},get(t,n){return e.has(n)||e.set(n,AS(n)),e.get(n)}})}var Ae=Ste();function Ze(e){return E.forwardRef(e)}var _te=(e,t)=>e.find(n=>n.id===t);function JE(e,t){const n=G7(e,t),r=n?e[n].findIndex(i=>i.id===t):-1;return{position:n,index:r}}function G7(e,t){for(const[n,r]of Object.entries(e))if(_te(r,t))return n}function wte(e){const t=e.includes("right"),n=e.includes("left");let r="center";return t&&(r="flex-end"),n&&(r="flex-start"),{display:"flex",flexDirection:"column",alignItems:r}}function xte(e){const n=e==="top"||e==="bottom"?"0 auto":void 0,r=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,i=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,o=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:n,top:r,bottom:i,right:o,left:s}}function Fn(e,t=[]){const n=E.useRef(e);return E.useEffect(()=>{n.current=e}),E.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function Cte(e,t){const n=Fn(e);E.useEffect(()=>{if(t==null)return;let r=null;return r=window.setTimeout(()=>{n()},t),()=>{r&&window.clearTimeout(r)}},[t,n])}function gy(e,t){const n=E.useRef(!1),r=E.useRef(!1);E.useEffect(()=>{if(n.current&&r.current)return e();r.current=!0},t),E.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[])}const H7=E.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),Pv=E.createContext({}),rp=E.createContext(null),kv=typeof document<"u",my=kv?E.useLayoutEffect:E.useEffect,q7=E.createContext({strict:!1});function Tte(e,t,n,r){const{visualElement:i}=E.useContext(Pv),o=E.useContext(q7),s=E.useContext(rp),a=E.useContext(H7).reducedMotion,l=E.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return E.useInsertionEffect(()=>{u&&u.update(n,s)}),my(()=>{u&&u.render()}),E.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?my:E.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function Ru(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function Ete(e,t,n){return E.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):Ru(n)&&(n.current=r))},[t])}function eh(e){return typeof e=="string"||Array.isArray(e)}function Av(e){return typeof e=="object"&&typeof e.start=="function"}const g5=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],m5=["initial",...g5];function Ov(e){return Av(e.animate)||m5.some(t=>eh(e[t]))}function W7(e){return!!(Ov(e)||e.variants)}function Pte(e,t){if(Ov(e)){const{initial:n,animate:r}=e;return{initial:n===!1||eh(n)?n:void 0,animate:eh(r)?r:void 0}}return e.inherit!==!1?t:{}}function kte(e){const{initial:t,animate:n}=Pte(e,E.useContext(Pv));return E.useMemo(()=>({initial:t,animate:n}),[eP(t),eP(n)])}function eP(e){return Array.isArray(e)?e.join(" "):e}const tP={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},th={};for(const e in tP)th[e]={isEnabled:t=>tP[e].some(n=>!!t[n])};function Ate(e){for(const t in e)th[t]={...th[t],...e[t]}}const y5=E.createContext({}),K7=E.createContext({}),Ote=Symbol.for("motionComponentSymbol");function Rte({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&Ate(e);function o(a,l){let u;const c={...E.useContext(H7),...a,layoutId:Ite(a)},{isStatic:d}=c,f=kte(a),h=r(a,d);if(!d&&kv){f.visualElement=Tte(i,h,c,t);const p=E.useContext(K7),m=E.useContext(q7).strict;f.visualElement&&(u=f.visualElement.loadFeatures(c,m,e,p))}return E.createElement(Pv.Provider,{value:f},u&&f.visualElement?E.createElement(u,{visualElement:f.visualElement,...c}):null,n(i,a,Ete(h,f.visualElement,l),h,d,f.visualElement))}const s=E.forwardRef(o);return s[Ote]=i,s}function Ite({layoutId:e}){const t=E.useContext(y5).id;return t&&e!==void 0?t+"-"+e:e}function Mte(e){function t(r,i={}){return Rte(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const Nte=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function v5(e){return typeof e!="string"||e.includes("-")?!1:!!(Nte.indexOf(e)>-1||/[A-Z]/.test(e))}const yy={};function Dte(e){Object.assign(yy,e)}const ip=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Rl=new Set(ip);function Y7(e,{layout:t,layoutId:n}){return Rl.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!yy[e]||e==="opacity")}const Nr=e=>!!(e&&e.getVelocity),Lte={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},$te=ip.length;function Fte(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;s<$te;s++){const a=ip[s];if(e[a]!==void 0){const l=Lte[a]||a;o+=`${l}(${e[a]}) `}}return t&&!e.z&&(o+="translateZ(0)"),o=o.trim(),i?o=i(e,r?"":o):n&&r&&(o="none"),o}const X7=e=>t=>typeof t=="string"&&t.startsWith(e),Q7=X7("--"),ow=X7("var(--"),Bte=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,jte=(e,t)=>t&&typeof e=="number"?t.transform(e):e,fa=(e,t,n)=>Math.min(Math.max(n,e),t),Il={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},uf={...Il,transform:e=>fa(0,1,e)},ig={...Il,default:1},cf=e=>Math.round(e*1e5)/1e5,Rv=/(-)?([\d]*\.?[\d])+/g,Z7=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,Vte=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function op(e){return typeof e=="string"}const sp=e=>({test:t=>op(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),ks=sp("deg"),bo=sp("%"),we=sp("px"),zte=sp("vh"),Ute=sp("vw"),nP={...bo,parse:e=>bo.parse(e)/100,transform:e=>bo.transform(e*100)},rP={...Il,transform:Math.round},J7={borderWidth:we,borderTopWidth:we,borderRightWidth:we,borderBottomWidth:we,borderLeftWidth:we,borderRadius:we,radius:we,borderTopLeftRadius:we,borderTopRightRadius:we,borderBottomRightRadius:we,borderBottomLeftRadius:we,width:we,maxWidth:we,height:we,maxHeight:we,size:we,top:we,right:we,bottom:we,left:we,padding:we,paddingTop:we,paddingRight:we,paddingBottom:we,paddingLeft:we,margin:we,marginTop:we,marginRight:we,marginBottom:we,marginLeft:we,rotate:ks,rotateX:ks,rotateY:ks,rotateZ:ks,scale:ig,scaleX:ig,scaleY:ig,scaleZ:ig,skew:ks,skewX:ks,skewY:ks,distance:we,translateX:we,translateY:we,translateZ:we,x:we,y:we,z:we,perspective:we,transformPerspective:we,opacity:uf,originX:nP,originY:nP,originZ:we,zIndex:rP,fillOpacity:uf,strokeOpacity:uf,numOctaves:rP};function b5(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,c=!0;for(const d in t){const f=t[d];if(Q7(d)){o[d]=f;continue}const h=J7[d],p=jte(f,h);if(Rl.has(d)){if(l=!0,s[d]=p,!c)continue;f!==(h.default||0)&&(c=!1)}else d.startsWith("origin")?(u=!0,a[d]=p):i[d]=p}if(t.transform||(l||r?i.transform=Fte(e.transform,n,c,r):i.transform&&(i.transform="none")),u){const{originX:d="50%",originY:f="50%",originZ:h=0}=a;i.transformOrigin=`${d} ${f} ${h}`}}const S5=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function eM(e,t,n){for(const r in t)!Nr(t[r])&&!Y7(r,n)&&(e[r]=t[r])}function Gte({transformTemplate:e},t,n){return E.useMemo(()=>{const r=S5();return b5(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function Hte(e,t,n){const r=e.style||{},i={};return eM(i,r,e),Object.assign(i,Gte(e,t,n)),e.transformValues?e.transformValues(i):i}function qte(e,t,n){const r={},i=Hte(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const Wte=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function vy(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||Wte.has(e)}let tM=e=>!vy(e);function Kte(e){e&&(tM=t=>t.startsWith("on")?!vy(t):e(t))}try{Kte(require("@emotion/is-prop-valid").default)}catch{}function Yte(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(tM(i)||n===!0&&vy(i)||!t&&!vy(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function iP(e,t,n){return typeof e=="string"?e:we.transform(t+n*e)}function Xte(e,t,n){const r=iP(t,e.x,e.width),i=iP(n,e.y,e.height);return`${r} ${i}`}const Qte={offset:"stroke-dashoffset",array:"stroke-dasharray"},Zte={offset:"strokeDashoffset",array:"strokeDasharray"};function Jte(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?Qte:Zte;e[o.offset]=we.transform(-r);const s=we.transform(t),a=we.transform(n);e[o.array]=`${s} ${a}`}function _5(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},c,d,f){if(b5(e,u,c,f),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:p,dimensions:m}=e;h.transform&&(m&&(p.transform=h.transform),delete h.transform),m&&(i!==void 0||o!==void 0||p.transform)&&(p.transformOrigin=Xte(m,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(h.x=t),n!==void 0&&(h.y=n),r!==void 0&&(h.scale=r),s!==void 0&&Jte(h,s,a,l,!1)}const nM=()=>({...S5(),attrs:{}}),w5=e=>typeof e=="string"&&e.toLowerCase()==="svg";function ene(e,t,n,r){const i=E.useMemo(()=>{const o=nM();return _5(o,t,{enableHardwareAcceleration:!1},w5(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};eM(o,e.style,e),i.style={...o,...i.style}}return i}function tne(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(v5(n)?ene:qte)(r,o,s,n),c={...Yte(r,typeof n=="string",e),...l,ref:i},{children:d}=r,f=E.useMemo(()=>Nr(d)?d.get():d,[d]);return E.createElement(n,{...c,children:f})}}const x5=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function rM(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const iM=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function oM(e,t,n,r){rM(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(iM.has(i)?i:x5(i),t.attrs[i])}function C5(e,t){const{style:n}=e,r={};for(const i in n)(Nr(n[i])||t.style&&Nr(t.style[i])||Y7(i,e))&&(r[i]=n[i]);return r}function sM(e,t){const n=C5(e,t);for(const r in e)if(Nr(e[r])||Nr(t[r])){const i=ip.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function T5(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function aM(e){const t=E.useRef(null);return t.current===null&&(t.current=e()),t.current}const by=e=>Array.isArray(e),nne=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),rne=e=>by(e)?e[e.length-1]||0:e;function im(e){const t=Nr(e)?e.get():e;return nne(t)?t.toValue():t}function ine({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:one(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const lM=e=>(t,n)=>{const r=E.useContext(Pv),i=E.useContext(rp),o=()=>ine(e,t,r,i);return n?o():aM(o)};function one(e,t,n,r){const i={},o=r(e,{});for(const f in o)i[f]=im(o[f]);let{initial:s,animate:a}=e;const l=Ov(e),u=W7(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let c=n?n.initial===!1:!1;c=c||s===!1;const d=c?a:s;return d&&typeof d!="boolean"&&!Av(d)&&(Array.isArray(d)?d:[d]).forEach(h=>{const p=T5(e,h);if(!p)return;const{transitionEnd:m,transition:S,...v}=p;for(const y in v){let g=v[y];if(Array.isArray(g)){const b=c?g.length-1:0;g=g[b]}g!==null&&(i[y]=g)}for(const y in m)i[y]=m[y]}),i}const sne={useVisualState:lM({scrapeMotionValuesFromProps:sM,createRenderState:nM,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}_5(n,r,{enableHardwareAcceleration:!1},w5(t.tagName),e.transformTemplate),oM(t,n)}})},ane={useVisualState:lM({scrapeMotionValuesFromProps:C5,createRenderState:S5})};function lne(e,{forwardMotionProps:t=!1},n,r){return{...v5(e)?sne:ane,preloadedFeatures:n,useRender:tne(t),createVisualElement:r,Component:e}}function Qo(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const uM=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function Iv(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const une=e=>t=>uM(t)&&e(t,Iv(t));function es(e,t,n,r){return Qo(e,t,une(n),r)}const cne=(e,t)=>n=>t(e(n)),ea=(...e)=>e.reduce(cne);function cM(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const oP=cM("dragHorizontal"),sP=cM("dragVertical");function dM(e){let t=!1;if(e==="y")t=sP();else if(e==="x")t=oP();else{const n=oP(),r=sP();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function fM(){const e=dM(!0);return e?(e(),!1):!0}class Ea{constructor(t){this.isMounted=!1,this.node=t}update(){}}const on=e=>e;function dne(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,c=!1)=>{const d=c&&i,f=d?t:n;return u&&s.add(l),f.indexOf(l)===-1&&(f.push(l),d&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(d[f]=dne(()=>n=!0),d),{}),s=d=>o[d].process(i),a=d=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(d-i.timestamp,fne),1),i.timestamp=d,i.isProcessing=!0,og.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:og.reduce((d,f)=>{const h=o[f];return d[f]=(p,m=!1,S=!1)=>(n||l(),h.schedule(p,m,S)),d},{}),cancel:d=>og.forEach(f=>o[f].cancel(d)),state:i,steps:o}}const{schedule:kt,cancel:cs,state:Xn,steps:OS}=hne(typeof requestAnimationFrame<"u"?requestAnimationFrame:on,!0);function aP(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||fM())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&kt.update(()=>a[r](o,s))};return es(e.current,n,i,{passive:!e.getProps()[r]})}class pne extends Ea{mount(){this.unmount=ea(aP(this.node,!0),aP(this.node,!1))}unmount(){}}class gne extends Ea{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=ea(Qo(this.node.current,"focus",()=>this.onFocus()),Qo(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const hM=(e,t)=>t?e===t?!0:hM(e,t.parentElement):!1;function RS(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,Iv(n))}class mne extends Ea{constructor(){super(...arguments),this.removeStartListeners=on,this.removeEndListeners=on,this.removeAccessibleListeners=on,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=es(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:c}=this.node.getProps();kt.update(()=>{hM(this.node.current,a.target)?u&&u(a,l):c&&c(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=es(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=ea(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||RS("up",(l,u)=>{const{onTap:c}=this.node.getProps();c&&kt.update(()=>c(l,u))})};this.removeEndListeners(),this.removeEndListeners=Qo(this.node.current,"keyup",s),RS("down",(a,l)=>{this.startPress(a,l)})},n=Qo(this.node.current,"keydown",t),r=()=>{this.isPressing&&RS("cancel",(o,s)=>this.cancelPress(o,s))},i=Qo(this.node.current,"blur",r);this.removeAccessibleListeners=ea(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&kt.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!fM()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&kt.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=es(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=Qo(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=ea(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const sw=new WeakMap,IS=new WeakMap,yne=e=>{const t=sw.get(e.target);t&&t(e)},vne=e=>{e.forEach(yne)};function bne({root:e,...t}){const n=e||document;IS.has(n)||IS.set(n,{});const r=IS.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(vne,{root:e,...t})),r[i]}function Sne(e,t,n){const r=bne(t);return sw.set(e,n),r.observe(e),()=>{sw.delete(e),r.unobserve(e)}}const _ne={some:0,all:1};class wne extends Ea{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:_ne[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),f=u?c:d;f&&f(l)};return Sne(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(xne(t,n))&&this.startObserver()}unmount(){}}function xne({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const Cne={inView:{Feature:wne},tap:{Feature:mne},focus:{Feature:gne},hover:{Feature:pne}};function pM(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function Ene(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function Mv(e,t,n){const r=e.getProps();return T5(r,t,n!==void 0?n:r.custom,Tne(e),Ene(e))}const Pne="framerAppearId",kne="data-"+x5(Pne);let Ane=on,E5=on;const ta=e=>e*1e3,ts=e=>e/1e3,One={current:!1},gM=e=>Array.isArray(e)&&typeof e[0]=="number";function mM(e){return!!(!e||typeof e=="string"&&yM[e]||gM(e)||Array.isArray(e)&&e.every(mM))}const Gd=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,yM={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Gd([0,.65,.55,1]),circOut:Gd([.55,0,1,.45]),backIn:Gd([.31,.01,.66,-.59]),backOut:Gd([.33,1.53,.69,.99])};function vM(e){if(e)return gM(e)?Gd(e):Array.isArray(e)?e.map(vM):yM[e]}function Rne(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const c=vM(a);return Array.isArray(c)&&(u.easing=c),e.animate(u,{delay:r,duration:i,easing:Array.isArray(c)?"linear":c,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const lP={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},MS={},bM={};for(const e in lP)bM[e]=()=>(MS[e]===void 0&&(MS[e]=lP[e]()),MS[e]);function Ine(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const SM=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Mne=1e-7,Nne=12;function Dne(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=SM(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>Mne&&++aDne(o,0,1,e,n);return o=>o===0||o===1?o:SM(i(o),t,r)}const Lne=ap(.42,0,1,1),$ne=ap(0,0,.58,1),_M=ap(.42,0,.58,1),Fne=e=>Array.isArray(e)&&typeof e[0]!="number",wM=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,xM=e=>t=>1-e(1-t),CM=e=>1-Math.sin(Math.acos(e)),P5=xM(CM),Bne=wM(P5),TM=ap(.33,1.53,.69,.99),k5=xM(TM),jne=wM(k5),Vne=e=>(e*=2)<1?.5*k5(e):.5*(2-Math.pow(2,-10*(e-1))),zne={linear:on,easeIn:Lne,easeInOut:_M,easeOut:$ne,circIn:CM,circInOut:Bne,circOut:P5,backIn:k5,backInOut:jne,backOut:TM,anticipate:Vne},uP=e=>{if(Array.isArray(e)){E5(e.length===4);const[t,n,r,i]=e;return ap(t,n,r,i)}else if(typeof e=="string")return zne[e];return e},A5=(e,t)=>n=>!!(op(n)&&Vte.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),EM=(e,t,n)=>r=>{if(!op(r))return r;const[i,o,s,a]=r.match(Rv);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},Une=e=>fa(0,255,e),NS={...Il,transform:e=>Math.round(Une(e))},Za={test:A5("rgb","red"),parse:EM("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+NS.transform(e)+", "+NS.transform(t)+", "+NS.transform(n)+", "+cf(uf.transform(r))+")"};function Gne(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const aw={test:A5("#"),parse:Gne,transform:Za.transform},Iu={test:A5("hsl","hue"),parse:EM("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+bo.transform(cf(t))+", "+bo.transform(cf(n))+", "+cf(uf.transform(r))+")"},ur={test:e=>Za.test(e)||aw.test(e)||Iu.test(e),parse:e=>Za.test(e)?Za.parse(e):Iu.test(e)?Iu.parse(e):aw.parse(e),transform:e=>op(e)?e:e.hasOwnProperty("red")?Za.transform(e):Iu.transform(e)},Dt=(e,t,n)=>-n*e+n*t+e;function DS(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Hne({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=DS(l,a,e+1/3),o=DS(l,a,e),s=DS(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const LS=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},qne=[aw,Za,Iu],Wne=e=>qne.find(t=>t.test(e));function cP(e){const t=Wne(e);let n=t.parse(e);return t===Iu&&(n=Hne(n)),n}const PM=(e,t)=>{const n=cP(e),r=cP(t),i={...n};return o=>(i.red=LS(n.red,r.red,o),i.green=LS(n.green,r.green,o),i.blue=LS(n.blue,r.blue,o),i.alpha=Dt(n.alpha,r.alpha,o),Za.transform(i))};function Kne(e){var t,n;return isNaN(e)&&op(e)&&(((t=e.match(Rv))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(Z7))===null||n===void 0?void 0:n.length)||0)>0}const kM={regex:Bte,countKey:"Vars",token:"${v}",parse:on},AM={regex:Z7,countKey:"Colors",token:"${c}",parse:ur.parse},OM={regex:Rv,countKey:"Numbers",token:"${n}",parse:Il.parse};function $S(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function Sy(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&$S(n,kM),$S(n,AM),$S(n,OM),n}function RM(e){return Sy(e).values}function IM(e){const{values:t,numColors:n,numVars:r,tokenised:i}=Sy(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function Xne(e){const t=RM(e);return IM(e)(t.map(Yne))}const ha={test:Kne,parse:RM,createTransformer:IM,getAnimatableNone:Xne},MM=(e,t)=>n=>`${n>0?t:e}`;function NM(e,t){return typeof e=="number"?n=>Dt(e,t,n):ur.test(e)?PM(e,t):e.startsWith("var(")?MM(e,t):LM(e,t)}const DM=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>NM(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=NM(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},LM=(e,t)=>{const n=ha.createTransformer(t),r=Sy(e),i=Sy(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?ea(DM(r.values,i.values),n):MM(e,t)},nh=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},dP=(e,t)=>n=>Dt(e,t,n);function Zne(e){return typeof e=="number"?dP:typeof e=="string"?ur.test(e)?PM:LM:Array.isArray(e)?DM:typeof e=="object"?Qne:dP}function Jne(e,t,n){const r=[],i=n||Zne(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=Jne(t,r,i),a=s.length,l=u=>{let c=0;if(a>1)for(;cl(fa(e[0],e[o-1],u)):l}function ere(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=nh(0,t,r);e.push(Dt(n,1,i))}}function tre(e){const t=[0];return ere(t,e.length-1),t}function nre(e,t){return e.map(n=>n*t)}function rre(e,t){return e.map(()=>t||_M).splice(0,e.length-1)}function _y({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=Fne(r)?r.map(uP):uP(r),o={done:!1,value:t[0]},s=nre(n&&n.length===t.length?n:tre(t),e),a=$M(s,t,{ease:Array.isArray(i)?i:rre(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function FM(e,t){return t?e*(1e3/t):0}const ire=5;function BM(e,t,n){const r=Math.max(t-ire,0);return FM(n-e(r),t-r)}const FS=.001,ore=.01,fP=10,sre=.05,are=1;function lre({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;Ane(e<=ta(fP));let s=1-t;s=fa(sre,are,s),e=fa(ore,fP,ts(e)),s<1?(i=u=>{const c=u*s,d=c*e,f=c-n,h=lw(u,s),p=Math.exp(-d);return FS-f/h*p},o=u=>{const d=u*s*e,f=d*n+n,h=Math.pow(s,2)*Math.pow(u,2)*e,p=Math.exp(-d),m=lw(Math.pow(u,2),s);return(-i(u)+FS>0?-1:1)*((f-h)*p)/m}):(i=u=>{const c=Math.exp(-u*e),d=(u-n)*e+1;return-FS+c*d},o=u=>{const c=Math.exp(-u*e),d=(n-u)*(e*e);return c*d});const a=5/e,l=cre(i,o,a);if(e=ta(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const ure=12;function cre(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function hre(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!hP(e,fre)&&hP(e,dre)){const n=lre(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function jM({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:c,duration:d,isResolvedFromDuration:f}=hre(r),h=c?-ts(c):0,p=l/(2*Math.sqrt(a*u)),m=o-i,S=ts(Math.sqrt(a/u)),v=Math.abs(m)<5;n||(n=v?.01:2),t||(t=v?.005:.5);let y;if(p<1){const g=lw(S,p);y=b=>{const _=Math.exp(-p*S*b);return o-_*((h+p*S*m)/g*Math.sin(g*b)+m*Math.cos(g*b))}}else if(p===1)y=g=>o-Math.exp(-S*g)*(m+(h+S*m)*g);else{const g=S*Math.sqrt(p*p-1);y=b=>{const _=Math.exp(-p*S*b),w=Math.min(g*b,300);return o-_*((h+p*S*m)*Math.sinh(w)+g*m*Math.cosh(w))/g}}return{calculatedDuration:f&&d||null,next:g=>{const b=y(g);if(f)s.done=g>=d;else{let _=h;g!==0&&(p<1?_=BM(y,g,b):_=0);const w=Math.abs(_)<=n,x=Math.abs(o-b)<=t;s.done=w&&x}return s.value=s.done?o:b,s}}}function pP({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:c}){const d=e[0],f={done:!1,value:d},h=C=>a!==void 0&&Cl,p=C=>a===void 0?l:l===void 0||Math.abs(a-C)-m*Math.exp(-C/r),g=C=>v+y(C),b=C=>{const k=y(C),P=g(C);f.done=Math.abs(k)<=u,f.value=f.done?v:P};let _,w;const x=C=>{h(f.value)&&(_=C,w=jM({keyframes:[f.value,p(f.value)],velocity:BM(g,C,f.value),damping:i,stiffness:o,restDelta:u,restSpeed:c}))};return x(0),{calculatedDuration:null,next:C=>{let k=!1;return!w&&_===void 0&&(k=!0,b(C),x(C)),_!==void 0&&C>_?w.next(C-_):(!k&&b(C),f)}}}const pre=e=>{const t=({timestamp:n})=>e(n);return{start:()=>kt.update(t,!0),stop:()=>cs(t),now:()=>Xn.isProcessing?Xn.timestamp:performance.now()}},gP=2e4;function mP(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=gP?1/0:t}const gre={decay:pP,inertia:pP,tween:_y,keyframes:_y,spring:jM};function wy({autoplay:e=!0,delay:t=0,driver:n=pre,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:c,onUpdate:d,...f}){let h=1,p=!1,m,S;const v=()=>{S=new Promise(V=>{m=V})};v();let y;const g=gre[i]||_y;let b;g!==_y&&typeof r[0]!="number"&&(b=$M([0,100],r,{clamp:!1}),r=[0,100]);const _=g({...f,keyframes:r});let w;a==="mirror"&&(w=g({...f,keyframes:[...r].reverse(),velocity:-(f.velocity||0)}));let x="idle",C=null,k=null,P=null;_.calculatedDuration===null&&o&&(_.calculatedDuration=mP(_));const{calculatedDuration:A}=_;let $=1/0,N=1/0;A!==null&&($=A+s,N=$*(o+1)-s);let T=0;const O=V=>{if(k===null)return;h>0&&(k=Math.min(k,V)),h<0&&(k=Math.min(V-N/h,k)),C!==null?T=C:T=Math.round(V-k)*h;const z=T-t*(h>=0?1:-1),U=h>=0?z<0:z>N;T=Math.max(z,0),x==="finished"&&C===null&&(T=N);let K=T,W=_;if(o){const Q=T/$;let J=Math.floor(Q),ne=Q%1;!ne&&Q>=1&&(ne=1),ne===1&&J--,J=Math.min(J,o+1);const Z=!!(J%2);Z&&(a==="reverse"?(ne=1-ne,s&&(ne-=s/$)):a==="mirror"&&(W=w));let ge=fa(0,1,ne);T>N&&(ge=a==="reverse"&&Z?1:0),K=ge*$}const X=U?{done:!1,value:r[0]}:W.next(K);b&&(X.value=b(X.value));let{done:F}=X;!U&&A!==null&&(F=h>=0?T>=N:T<=0);const q=C===null&&(x==="finished"||x==="running"&&F);return d&&d(X.value),q&&R(),X},I=()=>{y&&y.stop(),y=void 0},M=()=>{x="idle",I(),m(),v(),k=P=null},R=()=>{x="finished",c&&c(),I(),m()},D=()=>{if(p)return;y||(y=n(O));const V=y.now();l&&l(),C!==null?k=V-C:(!k||x==="finished")&&(k=V),x==="finished"&&v(),P=k,C=null,x="running",y.start()};e&&D();const L={then(V,z){return S.then(V,z)},get time(){return ts(T)},set time(V){V=ta(V),T=V,C!==null||!y||h===0?C=V:k=y.now()-V/h},get duration(){const V=_.calculatedDuration===null?mP(_):_.calculatedDuration;return ts(V)},get speed(){return h},set speed(V){V===h||!y||(h=V,L.time=ts(T))},get state(){return x},play:D,pause:()=>{x="paused",C=T},stop:()=>{p=!0,x!=="idle"&&(x="idle",u&&u(),M())},cancel:()=>{P!==null&&O(P),M()},complete:()=>{x="finished"},sample:V=>(k=0,O(V))};return L}const mre=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),sg=10,yre=2e4,vre=(e,t)=>t.type==="spring"||e==="backgroundColor"||!mM(t.ease);function bre(e,t,{onUpdate:n,onComplete:r,...i}){if(!(bM.waapi()&&mre.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(v=>{a=v})};u();let{keyframes:c,duration:d=300,ease:f,times:h}=i;if(vre(t,i)){const v=wy({...i,repeat:0,delay:0});let y={done:!1,value:c[0]};const g=[];let b=0;for(;!y.done&&bp.cancel(),S=()=>{kt.update(m),a(),u()};return p.onfinish=()=>{e.set(Ine(c,i)),r&&r(),S()},{then(v,y){return l.then(v,y)},get time(){return ts(p.currentTime||0)},set time(v){p.currentTime=ta(v)},get speed(){return p.playbackRate},set speed(v){p.playbackRate=v},get duration(){return ts(d)},play:()=>{s||(p.play(),cs(m))},pause:()=>p.pause(),stop:()=>{if(s=!0,p.playState==="idle")return;const{currentTime:v}=p;if(v){const y=wy({...i,autoplay:!1});e.setWithVelocity(y.sample(v-sg).value,y.sample(v).value,sg)}S()},complete:()=>p.finish(),cancel:S}}function Sre({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:on,pause:on,stop:on,then:o=>(o(),Promise.resolve()),cancel:on,complete:on});return t?wy({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const _re={type:"spring",stiffness:500,damping:25,restSpeed:10},wre=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),xre={type:"keyframes",duration:.8},Cre={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Tre=(e,{keyframes:t})=>t.length>2?xre:Rl.has(e)?e.startsWith("scale")?wre(t[1]):_re:Cre,uw=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(ha.test(t)||t==="0")&&!t.startsWith("url(")),Ere=new Set(["brightness","contrast","saturate","opacity"]);function Pre(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(Rv)||[];if(!r)return e;const i=n.replace(r,"");let o=Ere.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const kre=/([a-z-]*)\(.*?\)/g,cw={...ha,getAnimatableNone:e=>{const t=e.match(kre);return t?t.map(Pre).join(" "):e}},Are={...J7,color:ur,backgroundColor:ur,outlineColor:ur,fill:ur,stroke:ur,borderColor:ur,borderTopColor:ur,borderRightColor:ur,borderBottomColor:ur,borderLeftColor:ur,filter:cw,WebkitFilter:cw},O5=e=>Are[e];function VM(e,t){let n=O5(e);return n!==cw&&(n=ha),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const zM=e=>/^0[^.\s]+$/.test(e);function Ore(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||zM(e)}function Rre(e,t,n,r){const i=uw(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=UM(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-ta(s);const l=Rre(t,e,n,o),u=l[0],c=l[l.length-1],d=uw(e,u),f=uw(e,c);let h={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:p=>{t.set(p),o.onUpdate&&o.onUpdate(p)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(Ire(o)||(h={...h,...Tre(e,h)}),h.duration&&(h.duration=ta(h.duration)),h.repeatDelay&&(h.repeatDelay=ta(h.repeatDelay)),!d||!f||One.current||o.type===!1)return Sre(h);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const p=bre(t,e,h);if(p)return p}return wy(h)};function xy(e){return!!(Nr(e)&&e.add)}const Mre=e=>/^\-?\d*\.?\d+$/.test(e);function I5(e,t){e.indexOf(t)===-1&&e.push(t)}function M5(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class N5{constructor(){this.subscriptions=[]}add(t){return I5(this.subscriptions,t),()=>M5(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class Dre{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=Xn;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,kt.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>kt.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=Nre(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new N5);const r=this.events[t].add(n);return t==="change"?()=>{r(),kt.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?FM(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function _c(e,t){return new Dre(e,t)}const GM=e=>t=>t.test(e),Lre={test:e=>e==="auto",parse:e=>e},HM=[Il,we,bo,ks,Ute,zte,Lre],vd=e=>HM.find(GM(e)),$re=[...HM,ur,ha],Fre=e=>$re.find(GM(e));function Bre(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,_c(n))}function jre(e,t){const n=Mv(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=rne(o[s]);Bre(e,s,a)}}function Vre(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(d))),u.push(m)}return s&&Promise.all(u).then(()=>{s&&jre(e,s)}),u}function dw(e,t,n={}){const r=Mv(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(qM(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:c,staggerDirection:d}=i;return Hre(e,t,u+l,c,d,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function Hre(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(qre).forEach((u,c)=>{u.notify("AnimationStart",t),s.push(dw(u,t,{...o,delay:n+l(c)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function qre(e,t){return e.sortNodePosition(t)}function Wre(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>dw(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=dw(e,t,n);else{const i=typeof t=="function"?Mv(e,t,n.custom):t;r=Promise.all(qM(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const Kre=[...g5].reverse(),Yre=g5.length;function Xre(e){return t=>Promise.all(t.map(({animation:n,options:r})=>Wre(e,n,r)))}function Qre(e){let t=Xre(e);const n=Jre();let r=!0;const i=(l,u)=>{const c=Mv(e,u);if(c){const{transition:d,transitionEnd:f,...h}=c;l={...l,...h,...f}}return l};function o(l){t=l(e)}function s(l,u){const c=e.getProps(),d=e.getVariantContext(!0)||{},f=[],h=new Set;let p={},m=1/0;for(let v=0;vm&&_;const P=Array.isArray(b)?b:[b];let A=P.reduce(i,{});w===!1&&(A={});const{prevResolvedValues:$={}}=g,N={...$,...A},T=O=>{k=!0,h.delete(O),g.needsAnimating[O]=!0};for(const O in N){const I=A[O],M=$[O];p.hasOwnProperty(O)||(I!==M?by(I)&&by(M)?!pM(I,M)||C?T(O):g.protectedKeys[O]=!0:I!==void 0?T(O):h.add(O):I!==void 0&&h.has(O)?T(O):g.protectedKeys[O]=!0)}g.prevProp=b,g.prevResolvedValues=A,g.isActive&&(p={...p,...A}),r&&e.blockInitialAnimation&&(k=!1),k&&!x&&f.push(...P.map(O=>({animation:O,options:{type:y,...l}})))}if(h.size){const v={};h.forEach(y=>{const g=e.getBaseTarget(y);g!==void 0&&(v[y]=g)}),f.push({animation:v})}let S=!!f.length;return r&&c.initial===!1&&!e.manuallyAnimateOnMount&&(S=!1),r=!1,S?t(f):Promise.resolve()}function a(l,u,c){var d;if(n[l].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var p;return(p=h.animationState)===null||p===void 0?void 0:p.setActive(l,u)}),n[l].isActive=u;const f=s(c,l);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function Zre(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!pM(t,e):!1}function La(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Jre(){return{animate:La(!0),whileInView:La(),whileHover:La(),whileTap:La(),whileDrag:La(),whileFocus:La(),exit:La()}}class eie extends Ea{constructor(t){super(t),t.animationState||(t.animationState=Qre(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),Av(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let tie=0;class nie extends Ea{constructor(){super(...arguments),this.id=tie++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const rie={animation:{Feature:eie},exit:{Feature:nie}},yP=(e,t)=>Math.abs(e-t);function iie(e,t){const n=yP(e.x,t.x),r=yP(e.y,t.y);return Math.sqrt(n**2+r**2)}class WM{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=jS(this.lastMoveEventInfo,this.history),c=this.startEvent!==null,d=iie(u.offset,{x:0,y:0})>=3;if(!c&&!d)return;const{point:f}=u,{timestamp:h}=Xn;this.history.push({...f,timestamp:h});const{onStart:p,onMove:m}=this.handlers;c||(p&&p(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),m&&m(this.lastMoveEvent,u)},this.handlePointerMove=(u,c)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=BS(c,this.transformPagePoint),kt.update(this.updatePoint,!0)},this.handlePointerUp=(u,c)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:d,onSessionEnd:f}=this.handlers,h=jS(u.type==="pointercancel"?this.lastMoveEventInfo:BS(c,this.transformPagePoint),this.history);this.startEvent&&d&&d(u,h),f&&f(u,h)},!uM(t))return;this.handlers=n,this.transformPagePoint=r;const i=Iv(t),o=BS(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=Xn;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,jS(o,this.history)),this.removeListeners=ea(es(window,"pointermove",this.handlePointerMove),es(window,"pointerup",this.handlePointerUp),es(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),cs(this.updatePoint)}}function BS(e,t){return t?{point:t(e.point)}:e}function vP(e,t){return{x:e.x-t.x,y:e.y-t.y}}function jS({point:e},t){return{point:e,delta:vP(e,KM(t)),offset:vP(e,oie(t)),velocity:sie(t,.1)}}function oie(e){return e[0]}function KM(e){return e[e.length-1]}function sie(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=KM(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>ta(t)));)n--;if(!r)return{x:0,y:0};const o=ts(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Hr(e){return e.max-e.min}function fw(e,t=0,n=.01){return Math.abs(e-t)<=n}function bP(e,t,n,r=.5){e.origin=r,e.originPoint=Dt(t.min,t.max,e.origin),e.scale=Hr(n)/Hr(t),(fw(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=Dt(n.min,n.max,e.origin)-e.originPoint,(fw(e.translate)||isNaN(e.translate))&&(e.translate=0)}function df(e,t,n,r){bP(e.x,t.x,n.x,r?r.originX:void 0),bP(e.y,t.y,n.y,r?r.originY:void 0)}function SP(e,t,n){e.min=n.min+t.min,e.max=e.min+Hr(t)}function aie(e,t,n){SP(e.x,t.x,n.x),SP(e.y,t.y,n.y)}function _P(e,t,n){e.min=t.min-n.min,e.max=e.min+Hr(t)}function ff(e,t,n){_P(e.x,t.x,n.x),_P(e.y,t.y,n.y)}function lie(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?Dt(n,e,r.max):Math.min(e,n)),e}function wP(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function uie(e,{top:t,left:n,bottom:r,right:i}){return{x:wP(e.x,n,i),y:wP(e.y,t,r)}}function xP(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=nh(t.min,t.max-r,e.min):r>i&&(n=nh(e.min,e.max-i,t.min)),fa(0,1,n)}function fie(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const hw=.35;function hie(e=hw){return e===!1?e=0:e===!0&&(e=hw),{x:CP(e,"left","right"),y:CP(e,"top","bottom")}}function CP(e,t,n){return{min:TP(e,t),max:TP(e,n)}}function TP(e,t){return typeof e=="number"?e:e[t]||0}const EP=()=>({translate:0,scale:1,origin:0,originPoint:0}),Mu=()=>({x:EP(),y:EP()}),PP=()=>({min:0,max:0}),en=()=>({x:PP(),y:PP()});function Zi(e){return[e("x"),e("y")]}function YM({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function pie({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function gie(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function VS(e){return e===void 0||e===1}function pw({scale:e,scaleX:t,scaleY:n}){return!VS(e)||!VS(t)||!VS(n)}function Ga(e){return pw(e)||XM(e)||e.z||e.rotate||e.rotateX||e.rotateY}function XM(e){return kP(e.x)||kP(e.y)}function kP(e){return e&&e!=="0%"}function Cy(e,t,n){const r=e-n,i=t*r;return n+i}function AP(e,t,n,r,i){return i!==void 0&&(e=Cy(e,i,r)),Cy(e,n,r)+t}function gw(e,t=0,n=1,r,i){e.min=AP(e.min,t,n,r,i),e.max=AP(e.max,t,n,r,i)}function QM(e,{x:t,y:n}){gw(e.x,t.translate,t.scale,t.originPoint),gw(e.y,n.translate,n.scale,n.originPoint)}function mie(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function Ns(e,t){e.min=e.min+t,e.max=e.max+t}function RP(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=Dt(e.min,e.max,o);gw(e,t[n],t[r],s,t.scale)}const yie=["x","scaleX","originX"],vie=["y","scaleY","originY"];function Nu(e,t){RP(e.x,t,yie),RP(e.y,t,vie)}function ZM(e,t){return YM(gie(e.getBoundingClientRect(),t))}function bie(e,t,n){const r=ZM(e,n),{scroll:i}=t;return i&&(Ns(r.x,i.offset.x),Ns(r.y,i.offset.y)),r}const Sie=new WeakMap;class _ie{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=en(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(Iv(l,"page").point)},o=(l,u)=>{const{drag:c,dragPropagation:d,onDragStart:f}=this.getProps();if(c&&!d&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=dM(c),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Zi(p=>{let m=this.getAxisMotionValue(p).get()||0;if(bo.test(m)){const{projection:S}=this.visualElement;if(S&&S.layout){const v=S.layout.layoutBox[p];v&&(m=Hr(v)*(parseFloat(m)/100))}}this.originPoint[p]=m}),f&&kt.update(()=>f(l,u),!1,!0);const{animationState:h}=this.visualElement;h&&h.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:c,dragDirectionLock:d,onDirectionLock:f,onDrag:h}=this.getProps();if(!c&&!this.openGlobalLock)return;const{offset:p}=u;if(d&&this.currentDirection===null){this.currentDirection=wie(p),this.currentDirection!==null&&f&&f(this.currentDirection);return}this.updateAxis("x",u.point,p),this.updateAxis("y",u.point,p),this.visualElement.render(),h&&h(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new WM(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&kt.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!ag(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=lie(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&Ru(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=uie(r.layoutBox,t):this.constraints=!1,this.elastic=hie(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Zi(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=fie(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Ru(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=bie(r,i.root,this.visualElement.getTransformPagePoint());let s=cie(i.layout.layoutBox,o);if(n){const a=n(pie(s));this.hasMutatedConstraints=!!a,a&&(s=YM(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=Zi(c=>{if(!ag(c,n,this.currentDirection))return;let d=l&&l[c]||{};s&&(d={min:0,max:0});const f=i?200:1e6,h=i?40:1e7,p={type:"inertia",velocity:r?t[c]:0,bounceStiffness:f,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10,...o,...d};return this.startAxisValueAnimation(c,p)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(R5(t,r,0,n))}stopAnimation(){Zi(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Zi(n=>{const{drag:r}=this.getProps();if(!ag(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-Dt(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!Ru(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Zi(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=die({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Zi(s=>{if(!ag(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(Dt(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;Sie.set(this.visualElement,this);const t=this.visualElement.current,n=es(t,"pointerdown",l=>{const{drag:u,dragListener:c=!0}=this.getProps();u&&c&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();Ru(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=Qo(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Zi(c=>{const d=this.getAxisMotionValue(c);d&&(this.originPoint[c]+=l[c].translate,d.set(d.get()+l[c].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=hw,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function ag(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function wie(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class xie extends Ea{constructor(t){super(t),this.removeGroupControls=on,this.removeListeners=on,this.controls=new _ie(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||on}unmount(){this.removeGroupControls(),this.removeListeners()}}const IP=e=>(t,n)=>{e&&kt.update(()=>e(t,n))};class Cie extends Ea{constructor(){super(...arguments),this.removePointerDownListener=on}onPointerDown(t){this.session=new WM(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:IP(t),onStart:IP(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&kt.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=es(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function Tie(){const e=E.useContext(rp);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=E.useId();return E.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function Eie(){return Pie(E.useContext(rp))}function Pie(e){return e===null?!0:e.isPresent}const om={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function MP(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const bd={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(we.test(e))e=parseFloat(e);else return e;const n=MP(e,t.target.x),r=MP(e,t.target.y);return`${n}% ${r}%`}},kie={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=ha.parse(e);if(i.length>5)return r;const o=ha.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=Dt(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class Aie extends ze.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;Dte(Oie),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),om.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||kt.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function JM(e){const[t,n]=Tie(),r=E.useContext(y5);return ze.createElement(Aie,{...e,layoutGroup:r,switchLayoutGroup:E.useContext(K7),isPresent:t,safeToRemove:n})}const Oie={borderRadius:{...bd,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:bd,borderTopRightRadius:bd,borderBottomLeftRadius:bd,borderBottomRightRadius:bd,boxShadow:kie},eN=["TopLeft","TopRight","BottomLeft","BottomRight"],Rie=eN.length,NP=e=>typeof e=="string"?parseFloat(e):e,DP=e=>typeof e=="number"||we.test(e);function Iie(e,t,n,r,i,o){i?(e.opacity=Dt(0,n.opacity!==void 0?n.opacity:1,Mie(r)),e.opacityExit=Dt(t.opacity!==void 0?t.opacity:1,0,Nie(r))):o&&(e.opacity=Dt(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(nh(e,t,r))}function $P(e,t){e.min=t.min,e.max=t.max}function ei(e,t){$P(e.x,t.x),$P(e.y,t.y)}function FP(e,t,n,r,i){return e-=t,e=Cy(e,1/n,r),i!==void 0&&(e=Cy(e,1/i,r)),e}function Die(e,t=0,n=1,r=.5,i,o=e,s=e){if(bo.test(t)&&(t=parseFloat(t),t=Dt(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=Dt(o.min,o.max,r);e===o&&(a-=t),e.min=FP(e.min,t,n,a,i),e.max=FP(e.max,t,n,a,i)}function BP(e,t,[n,r,i],o,s){Die(e,t[n],t[r],t[i],t.scale,o,s)}const Lie=["x","scaleX","originX"],$ie=["y","scaleY","originY"];function jP(e,t,n,r){BP(e.x,t,Lie,n?n.x:void 0,r?r.x:void 0),BP(e.y,t,$ie,n?n.y:void 0,r?r.y:void 0)}function VP(e){return e.translate===0&&e.scale===1}function nN(e){return VP(e.x)&&VP(e.y)}function mw(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function zP(e){return Hr(e.x)/Hr(e.y)}class Fie{constructor(){this.members=[]}add(t){I5(this.members,t),t.scheduleRender()}remove(t){if(M5(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function UP(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:c}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),c&&(r+=`rotateY(${c}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const Bie=(e,t)=>e.depth-t.depth;class jie{constructor(){this.children=[],this.isDirty=!1}add(t){I5(this.children,t),this.isDirty=!0}remove(t){M5(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Bie),this.isDirty=!1,this.children.forEach(t)}}function Vie(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(cs(r),e(o-t))};return kt.read(r,!0),()=>cs(r)}function zie(e){window.MotionDebug&&window.MotionDebug.record(e)}function Uie(e){return e instanceof SVGElement&&e.tagName!=="svg"}function Gie(e,t,n){const r=Nr(e)?e:_c(e);return r.start(R5("",r,t,n)),r.animation}const GP=["","X","Y","Z"],HP=1e3;let Hie=0;const Ha={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function rN({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=Hie++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ha.totalNodes=Ha.resolvedTargetDeltas=Ha.recalculatedProjection=0,this.nodes.forEach(Kie),this.nodes.forEach(Jie),this.nodes.forEach(eoe),this.nodes.forEach(Yie),zie(Ha)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,d&&d(),d=Vie(f,250),om.hasAnimatedSinceResize&&(om.hasAnimatedSinceResize=!1,this.nodes.forEach(WP))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&c&&(l||u)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:f,hasRelativeTargetChanged:h,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const m=this.options.transition||c.getDefaultTransition()||ooe,{onLayoutAnimationStart:S,onLayoutAnimationComplete:v}=c.getProps(),y=!this.targetLayout||!mw(this.targetLayout,p)||h,g=!f&&h;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||g||f&&(y||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(d,g);const b={...UM(m,"layout"),onPlay:S,onComplete:v};(c.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b)}else f||WP(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,cs(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(toe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let c=0;cthis.update()))}clearAllSnapshots(){this.nodes.forEach(Xie),this.sharedNodes.forEach(noe)}scheduleUpdateProjection(){kt.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){kt.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const _=b/1e3;KP(d.x,s.x,_),KP(d.y,s.y,_),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(ff(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),roe(this.relativeTarget,this.relativeTargetOrigin,f,_),g&&mw(this.relativeTarget,g)&&(this.isProjectionDirty=!1),g||(g=en()),ei(g,this.relativeTarget)),m&&(this.animationValues=c,Iie(c,u,this.latestValues,_,y,v)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=_},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(cs(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=kt.update(()=>{om.hasAnimatedSinceResize=!0,this.currentAnimation=Gie(0,HP,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(HP),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:c}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&iN(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||en();const d=Hr(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+d;const f=Hr(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+f}ei(a,l),Nu(a,c),df(this.projectionDeltaWithTransform,this.layoutCorrected,a,c)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new Fie),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let c=0;c{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(qP),this.root.sharedNodes.clear()}}}function qie(e){e.updateLayout()}function Wie(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?Zi(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Hr(f);f.min=r[d].min,f.max=f.min+h}):iN(o,n.layoutBox,r)&&Zi(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Hr(r[d]);f.max=f.min+h,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+h)});const a=Mu();df(a,r,n.layoutBox);const l=Mu();s?df(l,e.applyTransform(i,!0),n.measuredBox):df(l,r,n.layoutBox);const u=!nN(a);let c=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:f,layout:h}=d;if(f&&h){const p=en();ff(p,n.layoutBox,f.layoutBox);const m=en();ff(m,r,h.layoutBox),mw(p,m)||(c=!0),d.options.layoutRoot&&(e.relativeTarget=m,e.relativeTargetOrigin=p,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:c})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function Kie(e){Ha.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function Yie(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Xie(e){e.clearSnapshot()}function qP(e){e.clearMeasurements()}function Qie(e){e.isLayoutDirty=!1}function Zie(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function WP(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Jie(e){e.resolveTargetDelta()}function eoe(e){e.calcProjection()}function toe(e){e.resetRotation()}function noe(e){e.removeLeadSnapshot()}function KP(e,t,n){e.translate=Dt(t.translate,0,n),e.scale=Dt(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function YP(e,t,n,r){e.min=Dt(t.min,n.min,r),e.max=Dt(t.max,n.max,r)}function roe(e,t,n,r){YP(e.x,t.x,n.x,r),YP(e.y,t.y,n.y,r)}function ioe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const ooe={duration:.45,ease:[.4,0,.1,1]};function XP(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function soe(e){XP(e.x),XP(e.y)}function iN(e,t,n){return e==="position"||e==="preserve-aspect"&&!fw(zP(t),zP(n),.2)}const aoe=rN({attachResizeListener:(e,t)=>Qo(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),zS={current:void 0},oN=rN({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!zS.current){const e=new aoe({});e.mount(window),e.setOptions({layoutScroll:!0}),zS.current=e}return zS.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),loe={pan:{Feature:Cie},drag:{Feature:xie,ProjectionNode:oN,MeasureLayout:JM}},uoe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function coe(e){const t=uoe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function yw(e,t,n=1){const[r,i]=coe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():ow(i)?yw(i,t,n+1):i}function doe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!ow(o))return;const s=yw(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!ow(o))continue;const s=yw(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const foe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),sN=e=>foe.has(e),hoe=e=>Object.keys(e).some(sN),QP=e=>e===Il||e===we,ZP=(e,t)=>parseFloat(e.split(", ")[t]),JP=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return ZP(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?ZP(o[1],e):0}},poe=new Set(["x","y","z"]),goe=ip.filter(e=>!poe.has(e));function moe(e){const t=[];return goe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const wc={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:JP(4,13),y:JP(5,14)};wc.translateX=wc.x;wc.translateY=wc.y;const yoe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=wc[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const c=t.getValue(u);c&&c.jump(a[u]),e[u]=wc[u](l,o)}),e},voe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(sN);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let c=n[l],d=vd(c);const f=t[l];let h;if(by(f)){const p=f.length,m=f[0]===null?1:0;c=f[m],d=vd(c);for(let S=m;S=0?window.pageYOffset:null,u=yoe(t,e,a);return o.length&&o.forEach(([c,d])=>{e.getValue(c).set(d)}),e.render(),kv&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function boe(e,t,n,r){return hoe(t)?voe(e,t,n,r):{target:t,transitionEnd:r}}const Soe=(e,t,n,r)=>{const i=doe(e,t,r);return t=i.target,r=i.transitionEnd,boe(e,t,n,r)},vw={current:null},aN={current:!1};function _oe(){if(aN.current=!0,!!kv)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>vw.current=e.matches;e.addListener(t),t()}else vw.current=!1}function woe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(Nr(o))e.addValue(i,o),xy(r)&&r.add(i);else if(Nr(s))e.addValue(i,_c(o,{owner:e})),xy(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,_c(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const e6=new WeakMap,lN=Object.keys(th),xoe=lN.length,t6=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],Coe=m5.length;class Toe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>kt.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=Ov(n),this.isVariantNode=W7(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...c}=this.scrapeMotionValuesFromProps(n,{});for(const d in c){const f=c[d];a[d]!==void 0&&Nr(f)&&(f.set(a[d],!1),xy(u)&&u.add(d))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,e6.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),aN.current||_oe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:vw.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){e6.delete(this.current),this.projection&&this.projection.unmount(),cs(this.notifyUpdate),cs(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=Rl.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&kt.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:f,layoutRoot:h})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):en()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=_c(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=T5(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!Nr(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new N5),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class uN extends Toe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=Ure(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){Vre(this,r,s);const a=Soe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function Eoe(e){return window.getComputedStyle(e)}class Poe extends uN{readValueFromInstance(t,n){if(Rl.has(n)){const r=O5(n);return r&&r.default||0}else{const r=Eoe(t),i=(Q7(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return ZM(t,n)}build(t,n,r,i){b5(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return C5(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;Nr(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){rM(t,n,r,i)}}class koe extends uN{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Rl.has(n)){const r=O5(n);return r&&r.default||0}return n=iM.has(n)?n:x5(n),t.getAttribute(n)}measureInstanceViewportBox(){return en()}scrapeMotionValuesFromProps(t,n){return sM(t,n)}build(t,n,r,i){_5(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){oM(t,n,r,i)}mount(t){this.isSVGTag=w5(t.tagName),super.mount(t)}}const Aoe=(e,t)=>v5(e)?new koe(t,{enableHardwareAcceleration:!1}):new Poe(t,{enableHardwareAcceleration:!0}),Ooe={layout:{ProjectionNode:oN,MeasureLayout:JM}},Roe={...rie,...Cne,...loe,...Ooe},D5=Mte((e,t)=>lne(e,t,Roe,Aoe));function cN(){const e=E.useRef(!1);return my(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function Ioe(){const e=cN(),[t,n]=E.useState(0),r=E.useCallback(()=>{e.current&&n(t+1)},[t]);return[E.useCallback(()=>kt.postRender(r),[r]),t]}class Moe extends E.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function Noe({children:e,isPresent:t}){const n=E.useId(),r=E.useRef(null),i=E.useRef({width:0,height:0,top:0,left:0});return E.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` - [data-motion-pop-id="${n}"] { - position: absolute !important; - width: ${o}px !important; - height: ${s}px !important; - top: ${a}px !important; - left: ${l}px !important; - } - `),()=>{document.head.removeChild(u)}},[t]),E.createElement(Moe,{isPresent:t,childRef:r,sizeRef:i},E.cloneElement(e,{ref:r}))}const US=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=aM(Doe),l=E.useId(),u=E.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:c=>{a.set(c,!0);for(const d of a.values())if(!d)return;r&&r()},register:c=>(a.set(c,!1),()=>a.delete(c))}),o?void 0:[n]);return E.useMemo(()=>{a.forEach((c,d)=>a.set(d,!1))},[n]),E.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=E.createElement(Noe,{isPresent:n},e)),E.createElement(rp.Provider,{value:u},e)};function Doe(){return new Map}function Loe(e){return E.useEffect(()=>()=>e(),[])}const cu=e=>e.key||"";function $oe(e,t){e.forEach(n=>{const r=cu(n);t.set(r,n)})}function Foe(e){const t=[];return E.Children.forEach(e,n=>{E.isValidElement(n)&&t.push(n)}),t}const L5=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=E.useContext(y5).forceRender||Ioe()[0],l=cN(),u=Foe(e);let c=u;const d=E.useRef(new Map).current,f=E.useRef(c),h=E.useRef(new Map).current,p=E.useRef(!0);if(my(()=>{p.current=!1,$oe(u,h),f.current=c}),Loe(()=>{p.current=!0,h.clear(),d.clear()}),p.current)return E.createElement(E.Fragment,null,c.map(y=>E.createElement(US,{key:cu(y),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},y)));c=[...c];const m=f.current.map(cu),S=u.map(cu),v=m.length;for(let y=0;y{if(S.indexOf(g)!==-1)return;const b=h.get(g);if(!b)return;const _=m.indexOf(g);let w=y;if(!w){const x=()=>{h.delete(g),d.delete(g);const C=f.current.findIndex(k=>k.key===g);if(f.current.splice(C,1),!d.size){if(f.current=u,l.current===!1)return;a(),r&&r()}};w=E.createElement(US,{key:cu(b),isPresent:!1,onExitComplete:x,custom:t,presenceAffectsLayout:o,mode:s},b),d.set(g,w)}c.splice(_,0,w)}),c=c.map(y=>{const g=y.key;return d.has(g)?y:E.createElement(US,{key:cu(y),isPresent:!0,presenceAffectsLayout:o,mode:s},y)}),E.createElement(E.Fragment,null,d.size?c:c.map(y=>E.cloneElement(y)))};var Boe={initial:e=>{const{position:t}=e,n=["top","bottom"].includes(t)?"y":"x";let r=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(r=1),{opacity:0,[n]:r*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},dN=E.memo(e=>{const{id:t,message:n,onCloseComplete:r,onRequestRemove:i,requestClose:o=!1,position:s="bottom",duration:a=5e3,containerStyle:l,motionVariants:u=Boe,toastSpacing:c="0.5rem"}=e,[d,f]=E.useState(a),h=Eie();gy(()=>{h||r==null||r()},[h]),gy(()=>{f(a)},[a]);const p=()=>f(null),m=()=>f(a),S=()=>{h&&i()};E.useEffect(()=>{h&&o&&i()},[h,o,i]),Cte(S,d);const v=E.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:c,...l}),[l,c]),y=E.useMemo(()=>wte(s),[s]);return j.jsx(D5.div,{layout:!0,className:"chakra-toast",variants:u,initial:"initial",animate:"animate",exit:"exit",onHoverStart:p,onHoverEnd:m,custom:{position:s},style:y,children:j.jsx(Ae.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:v,children:uo(n,{id:t,onClose:S})})})});dN.displayName="ToastComponent";function joe(e,t){var n;const r=e??"bottom",o={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[r];return(n=o==null?void 0:o[t])!=null?n:r}var n6={path:j.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[j.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),j.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),j.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},Ml=Ze((e,t)=>{const{as:n,viewBox:r,color:i="currentColor",focusable:o=!1,children:s,className:a,__css:l,...u}=e,c=Gn("chakra-icon",a),d=Ol("Icon",e),f={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:i,...l,...d},h={ref:t,focusable:o,className:c,__css:f},p=r??n6.viewBox;if(n&&typeof n!="string")return j.jsx(Ae.svg,{as:n,...h,...u});const m=s??n6.path;return j.jsx(Ae.svg,{verticalAlign:"middle",viewBox:p,...h,...u,children:m})});Ml.displayName="Icon";function Voe(e){return j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function zoe(e){return j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function r6(e){return j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var Uoe=aJ({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),Nv=Ze((e,t)=>{const n=Ol("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=Ao(e),u=Gn("chakra-spinner",a),c={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${Uoe} ${o} linear infinite`,...n};return j.jsx(Ae.div,{ref:t,__css:c,className:u,...l,children:r&&j.jsx(Ae.span,{srOnly:!0,children:r})})});Nv.displayName="Spinner";var[Goe,$5]=Si({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[Hoe,F5]=Si({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),fN={info:{icon:zoe,colorScheme:"blue"},warning:{icon:r6,colorScheme:"orange"},success:{icon:Voe,colorScheme:"green"},error:{icon:r6,colorScheme:"red"},loading:{icon:Nv,colorScheme:"blue"}};function qoe(e){return fN[e].colorScheme}function Woe(e){return fN[e].icon}var hN=Ze(function(t,n){const r=F5(),{status:i}=$5(),o={display:"inline",...r.description};return j.jsx(Ae.div,{ref:n,"data-status":i,...t,className:Gn("chakra-alert__desc",t.className),__css:o})});hN.displayName="AlertDescription";function pN(e){const{status:t}=$5(),n=Woe(t),r=F5(),i=t==="loading"?r.spinner:r.icon;return j.jsx(Ae.span,{display:"inherit","data-status":t,...e,className:Gn("chakra-alert__icon",e.className),__css:i,children:e.children||j.jsx(n,{h:"100%",w:"100%"})})}pN.displayName="AlertIcon";var gN=Ze(function(t,n){const r=F5(),{status:i}=$5();return j.jsx(Ae.div,{ref:n,"data-status":i,...t,className:Gn("chakra-alert__title",t.className),__css:r.title})});gN.displayName="AlertTitle";var mN=Ze(function(t,n){var r;const{status:i="info",addRole:o=!0,...s}=Ao(t),a=(r=t.colorScheme)!=null?r:qoe(i),l=Ev("Alert",{...t,colorScheme:a}),u={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return j.jsx(Goe,{value:{status:i},children:j.jsx(Hoe,{value:l,children:j.jsx(Ae.div,{"data-status":i,role:o?"alert":void 0,ref:n,...s,className:Gn("chakra-alert",t.className),__css:u})})})});mN.displayName="Alert";function Koe(e){return j.jsx(Ml,{focusable:"false","aria-hidden":!0,...e,children:j.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var yN=Ze(function(t,n){const r=Ol("CloseButton",t),{children:i,isDisabled:o,__css:s,...a}=Ao(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return j.jsx(Ae.button,{type:"button","aria-label":"Close",ref:n,disabled:o,__css:{...l,...r,...s},...a,children:i||j.jsx(Koe,{width:"1em",height:"1em"})})});yN.displayName="CloseButton";var Yoe={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},oo=Xoe(Yoe);function Xoe(e){let t=e;const n=new Set,r=i=>{t=i(t),n.forEach(o=>o())};return{getState:()=>t,subscribe:i=>(n.add(i),()=>{r(()=>e),n.delete(i)}),removeToast:(i,o)=>{r(s=>({...s,[o]:s[o].filter(a=>a.id!=i)}))},notify:(i,o)=>{const s=Qoe(i,o),{position:a,id:l}=s;return r(u=>{var c,d;const h=a.includes("top")?[s,...(c=u[a])!=null?c:[]]:[...(d=u[a])!=null?d:[],s];return{...u,[a]:h}}),l},update:(i,o)=>{i&&r(s=>{const a={...s},{position:l,index:u}=JE(a,i);return l&&u!==-1&&(a[l][u]={...a[l][u],...o,message:vN(o)}),a})},closeAll:({positions:i}={})=>{r(o=>(i??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,u)=>(l[u]=o[u].map(c=>({...c,requestClose:!0})),l),{...o}))},close:i=>{r(o=>{const s=G7(o,i);return s?{...o,[s]:o[s].map(a=>a.id==i?{...a,requestClose:!0}:a)}:o})},isActive:i=>!!JE(oo.getState(),i).position}}var i6=0;function Qoe(e,t={}){var n,r;i6+=1;const i=(n=t.id)!=null?n:i6,o=(r=t.position)!=null?r:"bottom";return{id:i,message:e,position:o,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>oo.removeToast(String(i),o),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var Zoe=e=>{const{status:t,variant:n="solid",id:r,title:i,isClosable:o,onClose:s,description:a,colorScheme:l,icon:u}=e,c=r?{root:`toast-${r}`,title:`toast-${r}-title`,description:`toast-${r}-description`}:void 0;return j.jsxs(mN,{addRole:!1,status:t,variant:n,id:c==null?void 0:c.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[j.jsx(pN,{children:u}),j.jsxs(Ae.div,{flex:"1",maxWidth:"100%",children:[i&&j.jsx(gN,{id:c==null?void 0:c.title,children:i}),a&&j.jsx(hN,{id:c==null?void 0:c.description,display:"block",children:a})]}),o&&j.jsx(yN,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function vN(e={}){const{render:t,toastComponent:n=Zoe}=e;return i=>typeof t=="function"?t({...i,...e}):j.jsx(n,{...i,...e})}function Joe(e,t){const n=i=>{var o;return{...t,...i,position:joe((o=i==null?void 0:i.position)!=null?o:t==null?void 0:t.position,e)}},r=i=>{const o=n(i),s=vN(o);return oo.notify(s,o)};return r.update=(i,o)=>{oo.update(i,n(o))},r.promise=(i,o)=>{const s=r({...o.loading,status:"loading",duration:null});i.then(a=>r.update(s,{status:"success",duration:5e3,...uo(o.success,a)})).catch(a=>r.update(s,{status:"error",duration:5e3,...uo(o.error,a)}))},r.closeAll=oo.closeAll,r.close=oo.close,r.isActive=oo.isActive,r}var[gTe,ese]=Si({name:"ToastOptionsContext",strict:!1}),mTe=e=>{const t=E.useSyncExternalStore(oo.subscribe,oo.getState,oo.getState),{motionVariants:n,component:r=dN,portalProps:i}=e,s=Object.keys(t).map(a=>{const l=t[a];return j.jsx("div",{role:"region","aria-live":"polite",id:`chakra-toast-manager-${a}`,style:xte(a),children:j.jsx(L5,{initial:!1,children:l.map(u=>j.jsx(r,{motionVariants:n,...u},u.id))})},a)});return j.jsx(tp,{...i,children:s})};function tse(e){const{theme:t}=R7(),n=ese();return E.useMemo(()=>Joe(t.direction,{...n,...e}),[e,t.direction,n])}function nse(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function fi(...e){return t=>{e.forEach(n=>{nse(n,t)})}}function rse(...e){return E.useMemo(()=>fi(...e),e)}function ise(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:i=(f,h)=>f!==h}=e,o=Fn(r),s=Fn(i),[a,l]=E.useState(n),u=t!==void 0,c=u?t:a,d=Fn(f=>{const p=typeof f=="function"?f(c):f;s(c,p)&&(u||l(p),o(p))},[u,o,c,s]);return[c,d]}var bw=Ze(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return j.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});bw.displayName="NativeImage";function ose(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,c]=E.useState("pending");E.useEffect(()=>{c(n?"loading":"pending")},[n]);const d=E.useRef(),f=E.useCallback(()=>{if(!n)return;h();const p=new Image;p.src=n,s&&(p.crossOrigin=s),r&&(p.srcset=r),a&&(p.sizes=a),t&&(p.loading=t),p.onload=m=>{h(),c("loaded"),i==null||i(m)},p.onerror=m=>{h(),c("failed"),o==null||o(m)},d.current=p},[n,s,r,a,i,o,t]),h=()=>{d.current&&(d.current.onload=null,d.current.onerror=null,d.current=null)};return Zf(()=>{if(!l)return u==="loading"&&f(),()=>{h()}},[u,f,l]),l?"loaded":u}var sse=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function ase(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var B5=Ze(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:c,crossOrigin:d,fallbackStrategy:f="beforeLoadOrError",referrerPolicy:h,...p}=t,m=r!==void 0||i!==void 0,S=u!=null||c||!m,v=ose({...t,crossOrigin:d,ignoreFallback:S}),y=sse(v,f),g={ref:n,objectFit:l,objectPosition:a,...S?p:ase(p,["onError","onLoad"])};return y?i||j.jsx(Ae.img,{as:bw,className:"chakra-image__placeholder",src:r,...g}):j.jsx(Ae.img,{as:bw,src:o,srcSet:s,crossOrigin:d,loading:u,referrerPolicy:h,className:"chakra-image",...g})});B5.displayName="Image";function lse(e){return E.Children.toArray(e).filter(t=>E.isValidElement(t))}var[yTe,use]=Si({strict:!1,name:"ButtonGroupContext"});function cse(e){const[t,n]=E.useState(!e);return{ref:E.useCallback(o=>{o&&n(o.tagName==="BUTTON")},[]),type:t?"button":void 0}}function Sw(e){const{children:t,className:n,...r}=e,i=E.isValidElement(t)?E.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,o=Gn("chakra-button__icon",n);return j.jsx(Ae.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:o,children:i})}Sw.displayName="ButtonIcon";function _w(e){const{label:t,placement:n,spacing:r="0.5rem",children:i=j.jsx(Nv,{color:"currentColor",width:"1em",height:"1em"}),className:o,__css:s,...a}=e,l=Gn("chakra-button__spinner",o),u=n==="start"?"marginEnd":"marginStart",c=E.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[u]:t?r:0,fontSize:"1em",lineHeight:"normal",...s}),[s,t,u,r]);return j.jsx(Ae.div,{className:l,...a,__css:c,children:i})}_w.displayName="ButtonSpinner";var bN=Ze((e,t)=>{const n=use(),r=Ol("Button",{...n,...e}),{isDisabled:i=n==null?void 0:n.isDisabled,isLoading:o,isActive:s,children:a,leftIcon:l,rightIcon:u,loadingText:c,iconSpacing:d="0.5rem",type:f,spinner:h,spinnerPlacement:p="start",className:m,as:S,...v}=Ao(e),y=E.useMemo(()=>{const w={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:w}}},[r,n]),{ref:g,type:b}=cse(S),_={rightIcon:u,leftIcon:l,iconSpacing:d,children:a};return j.jsxs(Ae.button,{ref:rse(t,g),as:S,type:f??b,"data-active":Ou(s),"data-loading":Ou(o),__css:y,className:Gn("chakra-button",m),...v,disabled:i||o,children:[o&&p==="start"&&j.jsx(_w,{className:"chakra-button__spinner--start",label:c,placement:"start",spacing:d,children:h}),o?c||j.jsx(Ae.span,{opacity:0,children:j.jsx(o6,{..._})}):j.jsx(o6,{..._}),o&&p==="end"&&j.jsx(_w,{className:"chakra-button__spinner--end",label:c,placement:"end",spacing:d,children:h})]})});bN.displayName="Button";function o6(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:i}=e;return j.jsxs(j.Fragment,{children:[t&&j.jsx(Sw,{marginEnd:i,children:t}),r,n&&j.jsx(Sw,{marginStart:i,children:n})]})}var SN=Ze((e,t)=>{const{icon:n,children:r,isRound:i,"aria-label":o,...s}=e,a=n||r,l=E.isValidElement(a)?E.cloneElement(a,{"aria-hidden":!0,focusable:!1}):null;return j.jsx(bN,{padding:"0",borderRadius:i?"full":void 0,ref:t,"aria-label":o,...s,children:l})});SN.displayName="IconButton";var[dse,_N]=Si({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[fse,Dv]=Si({strict:!1,name:"FormControlContext"});function hse(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:i,isReadOnly:o,...s}=e,a=E.useId(),l=t||`field-${a}`,u=`${l}-label`,c=`${l}-feedback`,d=`${l}-helptext`,[f,h]=E.useState(!1),[p,m]=E.useState(!1),[S,v]=E.useState(!1),y=E.useCallback((x={},C=null)=>({id:d,...x,ref:fi(C,k=>{k&&m(!0)})}),[d]),g=E.useCallback((x={},C=null)=>({...x,ref:C,"data-focus":Ou(S),"data-disabled":Ou(i),"data-invalid":Ou(r),"data-readonly":Ou(o),id:x.id!==void 0?x.id:u,htmlFor:x.htmlFor!==void 0?x.htmlFor:l}),[l,i,S,r,o,u]),b=E.useCallback((x={},C=null)=>({id:c,...x,ref:fi(C,k=>{k&&h(!0)}),"aria-live":"polite"}),[c]),_=E.useCallback((x={},C=null)=>({...x,...s,ref:C,role:"group"}),[s]),w=E.useCallback((x={},C=null)=>({...x,ref:C,role:"presentation","aria-hidden":!0,children:x.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!o,isDisabled:!!i,isFocused:!!S,onFocus:()=>v(!0),onBlur:()=>v(!1),hasFeedbackText:f,setHasFeedbackText:h,hasHelpText:p,setHasHelpText:m,id:l,labelId:u,feedbackId:c,helpTextId:d,htmlProps:s,getHelpTextProps:y,getErrorMessageProps:b,getRootProps:_,getLabelProps:g,getRequiredIndicatorProps:w}}var wN=Ze(function(t,n){const r=Ev("Form",t),i=Ao(t),{getRootProps:o,htmlProps:s,...a}=hse(i),l=Gn("chakra-form-control",t.className);return j.jsx(fse,{value:a,children:j.jsx(dse,{value:r,children:j.jsx(Ae.div,{...o({},n),className:l,__css:r.container})})})});wN.displayName="FormControl";var pse=Ze(function(t,n){const r=Dv(),i=_N(),o=Gn("chakra-form__helper-text",t.className);return j.jsx(Ae.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:i.helperText,className:o})});pse.displayName="FormHelperText";var xN=Ze(function(t,n){var r;const i=Ol("FormLabel",t),o=Ao(t),{className:s,children:a,requiredIndicator:l=j.jsx(CN,{}),optionalIndicator:u=null,...c}=o,d=Dv(),f=(r=d==null?void 0:d.getLabelProps(c,n))!=null?r:{ref:n,...c};return j.jsxs(Ae.label,{...f,className:Gn("chakra-form__label",o.className),__css:{display:"block",textAlign:"start",...i},children:[a,d!=null&&d.isRequired?l:u]})});xN.displayName="FormLabel";var CN=Ze(function(t,n){const r=Dv(),i=_N();if(!(r!=null&&r.isRequired))return null;const o=Gn("chakra-form__required-indicator",t.className);return j.jsx(Ae.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:i.requiredIndicator,className:o})});CN.displayName="RequiredIndicator";function vTe(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:i,...o}=TN(e);return{...o,disabled:t,readOnly:r,required:i,"aria-invalid":Yu(n),"aria-required":Yu(i),"aria-readonly":Yu(r)}}function TN(e){var t,n,r;const i=Dv(),{id:o,disabled:s,readOnly:a,required:l,isRequired:u,isInvalid:c,isReadOnly:d,isDisabled:f,onFocus:h,onBlur:p,...m}=e,S=e["aria-describedby"]?[e["aria-describedby"]]:[];return i!=null&&i.hasFeedbackText&&(i!=null&&i.isInvalid)&&S.push(i.feedbackId),i!=null&&i.hasHelpText&&S.push(i.helpTextId),{...m,"aria-describedby":S.join(" ")||void 0,id:o??(i==null?void 0:i.id),isDisabled:(t=s??f)!=null?t:i==null?void 0:i.isDisabled,isReadOnly:(n=a??d)!=null?n:i==null?void 0:i.isReadOnly,isRequired:(r=l??u)!=null?r:i==null?void 0:i.isRequired,isInvalid:c??(i==null?void 0:i.isInvalid),onFocus:Dn(i==null?void 0:i.onFocus,h),onBlur:Dn(i==null?void 0:i.onBlur,p)}}function gse(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function j5(e,t){let n=gse(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function ww(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function s6(e,t,n){return(e-t)*100/(n-t)}function mse(e,t,n){return(n-t)*e+t}function a6(e,t,n){const r=Math.round((e-t)/n)*n+t,i=ww(n);return j5(r,i)}function sm(e,t,n){return e==null?e:(n{var P;return r==null?"":(P=GS(r,o,n))!=null?P:""}),f=typeof i<"u",h=f?i:c,p=EN(As(h),o),m=n??p,S=E.useCallback(P=>{P!==h&&(f||d(P.toString()),u==null||u(P.toString(),As(P)))},[u,f,h]),v=E.useCallback(P=>{let A=P;return l&&(A=sm(A,s,a)),j5(A,m)},[m,l,a,s]),y=E.useCallback((P=o)=>{let A;h===""?A=As(P):A=As(h)+P,A=v(A),S(A)},[v,o,S,h]),g=E.useCallback((P=o)=>{let A;h===""?A=As(-P):A=As(h)-P,A=v(A),S(A)},[v,o,S,h]),b=E.useCallback(()=>{var P;let A;r==null?A="":A=(P=GS(r,o,n))!=null?P:s,S(A)},[r,n,o,S,s]),_=E.useCallback(P=>{var A;const $=(A=GS(P,o,m))!=null?A:s;S($)},[m,o,S,s]),w=As(h);return{isOutOfRange:w>a||w{const o=typeof e=="function"?e():e??document;if(!(!n||!o))return o.addEventListener(t,i,r),()=>{o.removeEventListener(t,i,r)}},[t,e,r,i,n]),()=>{const o=typeof e=="function"?e():e??document;o==null||o.removeEventListener(t,i,r)}}function PN(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function vse(e){var t;if(!PN(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function bTe(e){var t,n;return(n=(t=kN(e))==null?void 0:t.defaultView)!=null?n:window}function kN(e){return PN(e)?e.ownerDocument:document}function STe(e){return kN(e).activeElement}function bse(e){const t=e.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:i}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(n+i+r)}function Sse(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function AN(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:vse(e)&&bse(e)?e:AN(Sse(e))}var _se=jee?E.useLayoutEffect:E.useEffect;function l6(e,t=[]){const n=E.useRef(e);return _se(()=>{n.current=e}),E.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function wse(e,t){const n=E.useId();return E.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function xse(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function Cse(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=l6(n),s=l6(t),[a,l]=E.useState(e.defaultIsOpen||!1),[u,c]=xse(r,a),d=wse(i,"disclosure"),f=E.useCallback(()=>{u||l(!1),s==null||s()},[u,s]),h=E.useCallback(()=>{u||l(!0),o==null||o()},[u,o]),p=E.useCallback(()=>{(c?f:h)()},[c,h,f]);return{isOpen:!!c,onOpen:h,onClose:f,onToggle:p,isControlled:u,getButtonProps:(m={})=>({...m,"aria-expanded":c,"aria-controls":d,onClick:Wee(m.onClick,p)}),getDisclosureProps:(m={})=>({...m,hidden:!c,id:d})}}function Tse(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):vo(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var ON=e=>j.jsx(Ae.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});ON.displayName="StackItem";function Ese(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":Tse(n,i=>r[i])}}var RN=Ze((e,t)=>{const{isInline:n,direction:r,align:i,justify:o,spacing:s="0.5rem",wrap:a,children:l,divider:u,className:c,shouldWrapChildren:d,...f}=e,h=n?"row":r??"column",p=E.useMemo(()=>Ese({spacing:s,direction:h}),[s,h]),m=!!u,S=!d&&!m,v=E.useMemo(()=>{const g=lse(l);return S?g:g.map((b,_)=>{const w=typeof b.key<"u"?b.key:_,x=_+1===g.length,k=d?j.jsx(ON,{children:b},w):b;if(!m)return k;const P=E.cloneElement(u,{__css:p}),A=x?null:P;return j.jsxs(E.Fragment,{children:[k,A]},w)})},[u,p,m,S,d,l]),y=Gn("chakra-stack",c);return j.jsx(Ae.div,{ref:t,display:"flex",alignItems:i,justifyContent:o,flexDirection:h,flexWrap:a,gap:m?void 0:s,className:y,...f,children:v})});RN.displayName="Stack";var IN=Ze((e,t)=>j.jsx(RN,{align:"center",...e,direction:"row",ref:t}));IN.displayName="HStack";var xw=Ze(function(t,n){const r=Ol("Heading",t),{className:i,...o}=Ao(t);return j.jsx(Ae.h2,{ref:n,className:Gn("chakra-heading",t.className),...o,__css:r})});xw.displayName="Heading";var V5=Ae("div");V5.displayName="Box";var MN=Ze(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return j.jsx(V5,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});MN.displayName="Square";var Pse=Ze(function(t,n){const{size:r,...i}=t;return j.jsx(MN,{size:r,ref:n,borderRadius:"9999px",...i})});Pse.displayName="Circle";var z5=Ze(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...c}=t,d={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return j.jsx(Ae.div,{ref:n,__css:d,...c})});z5.displayName="Flex";var Xl=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),$n={arrowShadowColor:Xl("--popper-arrow-shadow-color"),arrowSize:Xl("--popper-arrow-size","8px"),arrowSizeHalf:Xl("--popper-arrow-size-half"),arrowBg:Xl("--popper-arrow-bg"),transformOrigin:Xl("--popper-transform-origin"),arrowOffset:Xl("--popper-arrow-offset")};function kse(e){if(e.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var Ase={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},Ose=e=>Ase[e],u6={scroll:!0,resize:!0};function Rse(e){let t;return typeof e=="object"?t={enabled:!0,options:{...u6,...e}}:t={enabled:e,options:u6},t}var Ise={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},Mse={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{c6(e)},effect:({state:e})=>()=>{c6(e)}},c6=e=>{e.elements.popper.style.setProperty($n.transformOrigin.var,Ose(e.placement))},Nse={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{Dse(e)}},Dse=e=>{var t;if(!e.placement)return;const n=Lse(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:$n.arrowSize.varRef,height:$n.arrowSize.varRef,zIndex:-1});const r={[$n.arrowSizeHalf.var]:`calc(${$n.arrowSize.varRef} / 2 - 1px)`,[$n.arrowOffset.var]:`calc(${$n.arrowSizeHalf.varRef} * -1)`};for(const i in r)e.elements.arrow.style.setProperty(i,r[i])}},Lse=e=>{if(e.startsWith("top"))return{property:"bottom",value:$n.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:$n.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:$n.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:$n.arrowOffset.varRef}},$se={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{d6(e)},effect:({state:e})=>()=>{d6(e)}},d6=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=kse(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:$n.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},Fse={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},Bse={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function jse(e,t="ltr"){var n,r;const i=((n=Fse[e])==null?void 0:n[t])||e;return t==="ltr"?i:(r=Bse[e])!=null?r:i}var Or="top",yi="bottom",vi="right",Rr="left",U5="auto",lp=[Or,yi,vi,Rr],xc="start",rh="end",Vse="clippingParents",NN="viewport",Sd="popper",zse="reference",f6=lp.reduce(function(e,t){return e.concat([t+"-"+xc,t+"-"+rh])},[]),DN=[].concat(lp,[U5]).reduce(function(e,t){return e.concat([t,t+"-"+xc,t+"-"+rh])},[]),Use="beforeRead",Gse="read",Hse="afterRead",qse="beforeMain",Wse="main",Kse="afterMain",Yse="beforeWrite",Xse="write",Qse="afterWrite",Zse=[Use,Gse,Hse,qse,Wse,Kse,Yse,Xse,Qse];function wo(e){return e?(e.nodeName||"").toLowerCase():null}function qr(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function gl(e){var t=qr(e).Element;return e instanceof t||e instanceof Element}function hi(e){var t=qr(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function G5(e){if(typeof ShadowRoot>"u")return!1;var t=qr(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Jse(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},i=t.attributes[n]||{},o=t.elements[n];!hi(o)||!wo(o)||(Object.assign(o.style,r),Object.keys(i).forEach(function(s){var a=i[s];a===!1?o.removeAttribute(s):o.setAttribute(s,a===!0?"":a)}))})}function eae(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var i=t.elements[r],o=t.attributes[r]||{},s=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),a=s.reduce(function(l,u){return l[u]="",l},{});!hi(i)||!wo(i)||(Object.assign(i.style,a),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const tae={name:"applyStyles",enabled:!0,phase:"write",fn:Jse,effect:eae,requires:["computeStyles"]};function So(e){return e.split("-")[0]}var il=Math.max,Ty=Math.min,Cc=Math.round;function Cw(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function LN(){return!/^((?!chrome|android).)*safari/i.test(Cw())}function Tc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,o=1;t&&hi(e)&&(i=e.offsetWidth>0&&Cc(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Cc(r.height)/e.offsetHeight||1);var s=gl(e)?qr(e):window,a=s.visualViewport,l=!LN()&&n,u=(r.left+(l&&a?a.offsetLeft:0))/i,c=(r.top+(l&&a?a.offsetTop:0))/o,d=r.width/i,f=r.height/o;return{width:d,height:f,top:c,right:u+d,bottom:c+f,left:u,x:u,y:c}}function H5(e){var t=Tc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function $N(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&G5(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function ds(e){return qr(e).getComputedStyle(e)}function nae(e){return["table","td","th"].indexOf(wo(e))>=0}function Pa(e){return((gl(e)?e.ownerDocument:e.document)||window.document).documentElement}function Lv(e){return wo(e)==="html"?e:e.assignedSlot||e.parentNode||(G5(e)?e.host:null)||Pa(e)}function h6(e){return!hi(e)||ds(e).position==="fixed"?null:e.offsetParent}function rae(e){var t=/firefox/i.test(Cw()),n=/Trident/i.test(Cw());if(n&&hi(e)){var r=ds(e);if(r.position==="fixed")return null}var i=Lv(e);for(G5(i)&&(i=i.host);hi(i)&&["html","body"].indexOf(wo(i))<0;){var o=ds(i);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return i;i=i.parentNode}return null}function up(e){for(var t=qr(e),n=h6(e);n&&nae(n)&&ds(n).position==="static";)n=h6(n);return n&&(wo(n)==="html"||wo(n)==="body"&&ds(n).position==="static")?t:n||rae(e)||t}function q5(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function hf(e,t,n){return il(e,Ty(t,n))}function iae(e,t,n){var r=hf(e,t,n);return r>n?n:r}function FN(){return{top:0,right:0,bottom:0,left:0}}function BN(e){return Object.assign({},FN(),e)}function jN(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var oae=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,BN(typeof t!="number"?t:jN(t,lp))};function sae(e){var t,n=e.state,r=e.name,i=e.options,o=n.elements.arrow,s=n.modifiersData.popperOffsets,a=So(n.placement),l=q5(a),u=[Rr,vi].indexOf(a)>=0,c=u?"height":"width";if(!(!o||!s)){var d=oae(i.padding,n),f=H5(o),h=l==="y"?Or:Rr,p=l==="y"?yi:vi,m=n.rects.reference[c]+n.rects.reference[l]-s[l]-n.rects.popper[c],S=s[l]-n.rects.reference[l],v=up(o),y=v?l==="y"?v.clientHeight||0:v.clientWidth||0:0,g=m/2-S/2,b=d[h],_=y-f[c]-d[p],w=y/2-f[c]/2+g,x=hf(b,w,_),C=l;n.modifiersData[r]=(t={},t[C]=x,t.centerOffset=x-w,t)}}function aae(e){var t=e.state,n=e.options,r=n.element,i=r===void 0?"[data-popper-arrow]":r;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||$N(t.elements.popper,i)&&(t.elements.arrow=i))}const lae={name:"arrow",enabled:!0,phase:"main",fn:sae,effect:aae,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ec(e){return e.split("-")[1]}var uae={top:"auto",right:"auto",bottom:"auto",left:"auto"};function cae(e,t){var n=e.x,r=e.y,i=t.devicePixelRatio||1;return{x:Cc(n*i)/i||0,y:Cc(r*i)/i||0}}function p6(e){var t,n=e.popper,r=e.popperRect,i=e.placement,o=e.variation,s=e.offsets,a=e.position,l=e.gpuAcceleration,u=e.adaptive,c=e.roundOffsets,d=e.isFixed,f=s.x,h=f===void 0?0:f,p=s.y,m=p===void 0?0:p,S=typeof c=="function"?c({x:h,y:m}):{x:h,y:m};h=S.x,m=S.y;var v=s.hasOwnProperty("x"),y=s.hasOwnProperty("y"),g=Rr,b=Or,_=window;if(u){var w=up(n),x="clientHeight",C="clientWidth";if(w===qr(n)&&(w=Pa(n),ds(w).position!=="static"&&a==="absolute"&&(x="scrollHeight",C="scrollWidth")),w=w,i===Or||(i===Rr||i===vi)&&o===rh){b=yi;var k=d&&w===_&&_.visualViewport?_.visualViewport.height:w[x];m-=k-r.height,m*=l?1:-1}if(i===Rr||(i===Or||i===yi)&&o===rh){g=vi;var P=d&&w===_&&_.visualViewport?_.visualViewport.width:w[C];h-=P-r.width,h*=l?1:-1}}var A=Object.assign({position:a},u&&uae),$=c===!0?cae({x:h,y:m},qr(n)):{x:h,y:m};if(h=$.x,m=$.y,l){var N;return Object.assign({},A,(N={},N[b]=y?"0":"",N[g]=v?"0":"",N.transform=(_.devicePixelRatio||1)<=1?"translate("+h+"px, "+m+"px)":"translate3d("+h+"px, "+m+"px, 0)",N))}return Object.assign({},A,(t={},t[b]=y?m+"px":"",t[g]=v?h+"px":"",t.transform="",t))}function dae(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,o=n.adaptive,s=o===void 0?!0:o,a=n.roundOffsets,l=a===void 0?!0:a,u={placement:So(t.placement),variation:Ec(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,p6(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,p6(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const fae={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:dae,data:{}};var lg={passive:!0};function hae(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,o=i===void 0?!0:i,s=r.resize,a=s===void 0?!0:s,l=qr(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&u.forEach(function(c){c.addEventListener("scroll",n.update,lg)}),a&&l.addEventListener("resize",n.update,lg),function(){o&&u.forEach(function(c){c.removeEventListener("scroll",n.update,lg)}),a&&l.removeEventListener("resize",n.update,lg)}}const pae={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:hae,data:{}};var gae={left:"right",right:"left",bottom:"top",top:"bottom"};function lm(e){return e.replace(/left|right|bottom|top/g,function(t){return gae[t]})}var mae={start:"end",end:"start"};function g6(e){return e.replace(/start|end/g,function(t){return mae[t]})}function W5(e){var t=qr(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function K5(e){return Tc(Pa(e)).left+W5(e).scrollLeft}function yae(e,t){var n=qr(e),r=Pa(e),i=n.visualViewport,o=r.clientWidth,s=r.clientHeight,a=0,l=0;if(i){o=i.width,s=i.height;var u=LN();(u||!u&&t==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}return{width:o,height:s,x:a+K5(e),y:l}}function vae(e){var t,n=Pa(e),r=W5(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=il(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),s=il(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-r.scrollLeft+K5(e),l=-r.scrollTop;return ds(i||n).direction==="rtl"&&(a+=il(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:s,x:a,y:l}}function Y5(e){var t=ds(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function VN(e){return["html","body","#document"].indexOf(wo(e))>=0?e.ownerDocument.body:hi(e)&&Y5(e)?e:VN(Lv(e))}function pf(e,t){var n;t===void 0&&(t=[]);var r=VN(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=qr(r),s=i?[o].concat(o.visualViewport||[],Y5(r)?r:[]):r,a=t.concat(s);return i?a:a.concat(pf(Lv(s)))}function Tw(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function bae(e,t){var n=Tc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function m6(e,t,n){return t===NN?Tw(yae(e,n)):gl(t)?bae(t,n):Tw(vae(Pa(e)))}function Sae(e){var t=pf(Lv(e)),n=["absolute","fixed"].indexOf(ds(e).position)>=0,r=n&&hi(e)?up(e):e;return gl(r)?t.filter(function(i){return gl(i)&&$N(i,r)&&wo(i)!=="body"}):[]}function _ae(e,t,n,r){var i=t==="clippingParents"?Sae(e):[].concat(t),o=[].concat(i,[n]),s=o[0],a=o.reduce(function(l,u){var c=m6(e,u,r);return l.top=il(c.top,l.top),l.right=Ty(c.right,l.right),l.bottom=Ty(c.bottom,l.bottom),l.left=il(c.left,l.left),l},m6(e,s,r));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function zN(e){var t=e.reference,n=e.element,r=e.placement,i=r?So(r):null,o=r?Ec(r):null,s=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(i){case Or:l={x:s,y:t.y-n.height};break;case yi:l={x:s,y:t.y+t.height};break;case vi:l={x:t.x+t.width,y:a};break;case Rr:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var u=i?q5(i):null;if(u!=null){var c=u==="y"?"height":"width";switch(o){case xc:l[u]=l[u]-(t[c]/2-n[c]/2);break;case rh:l[u]=l[u]+(t[c]/2-n[c]/2);break}}return l}function ih(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,o=n.strategy,s=o===void 0?e.strategy:o,a=n.boundary,l=a===void 0?Vse:a,u=n.rootBoundary,c=u===void 0?NN:u,d=n.elementContext,f=d===void 0?Sd:d,h=n.altBoundary,p=h===void 0?!1:h,m=n.padding,S=m===void 0?0:m,v=BN(typeof S!="number"?S:jN(S,lp)),y=f===Sd?zse:Sd,g=e.rects.popper,b=e.elements[p?y:f],_=_ae(gl(b)?b:b.contextElement||Pa(e.elements.popper),l,c,s),w=Tc(e.elements.reference),x=zN({reference:w,element:g,strategy:"absolute",placement:i}),C=Tw(Object.assign({},g,x)),k=f===Sd?C:w,P={top:_.top-k.top+v.top,bottom:k.bottom-_.bottom+v.bottom,left:_.left-k.left+v.left,right:k.right-_.right+v.right},A=e.modifiersData.offset;if(f===Sd&&A){var $=A[i];Object.keys(P).forEach(function(N){var T=[vi,yi].indexOf(N)>=0?1:-1,O=[Or,yi].indexOf(N)>=0?"y":"x";P[N]+=$[O]*T})}return P}function wae(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,o=n.rootBoundary,s=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?DN:l,c=Ec(r),d=c?a?f6:f6.filter(function(p){return Ec(p)===c}):lp,f=d.filter(function(p){return u.indexOf(p)>=0});f.length===0&&(f=d);var h=f.reduce(function(p,m){return p[m]=ih(e,{placement:m,boundary:i,rootBoundary:o,padding:s})[So(m)],p},{});return Object.keys(h).sort(function(p,m){return h[p]-h[m]})}function xae(e){if(So(e)===U5)return[];var t=lm(e);return[g6(e),t,g6(t)]}function Cae(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,o=i===void 0?!0:i,s=n.altAxis,a=s===void 0?!0:s,l=n.fallbackPlacements,u=n.padding,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.flipVariations,p=h===void 0?!0:h,m=n.allowedAutoPlacements,S=t.options.placement,v=So(S),y=v===S,g=l||(y||!p?[lm(S)]:xae(S)),b=[S].concat(g).reduce(function(K,W){return K.concat(So(W)===U5?wae(t,{placement:W,boundary:c,rootBoundary:d,padding:u,flipVariations:p,allowedAutoPlacements:m}):W)},[]),_=t.rects.reference,w=t.rects.popper,x=new Map,C=!0,k=b[0],P=0;P=0,O=T?"width":"height",I=ih(t,{placement:A,boundary:c,rootBoundary:d,altBoundary:f,padding:u}),M=T?N?vi:Rr:N?yi:Or;_[O]>w[O]&&(M=lm(M));var R=lm(M),D=[];if(o&&D.push(I[$]<=0),a&&D.push(I[M]<=0,I[R]<=0),D.every(function(K){return K})){k=A,C=!1;break}x.set(A,D)}if(C)for(var L=p?3:1,V=function(W){var X=b.find(function(F){var q=x.get(F);if(q)return q.slice(0,W).every(function(Q){return Q})});if(X)return k=X,"break"},z=L;z>0;z--){var U=V(z);if(U==="break")break}t.placement!==k&&(t.modifiersData[r]._skip=!0,t.placement=k,t.reset=!0)}}const Tae={name:"flip",enabled:!0,phase:"main",fn:Cae,requiresIfExists:["offset"],data:{_skip:!1}};function y6(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function v6(e){return[Or,vi,yi,Rr].some(function(t){return e[t]>=0})}function Eae(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,s=ih(t,{elementContext:"reference"}),a=ih(t,{altBoundary:!0}),l=y6(s,r),u=y6(a,i,o),c=v6(l),d=v6(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}const Pae={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Eae};function kae(e,t,n){var r=So(e),i=[Rr,Or].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=o[0],a=o[1];return s=s||0,a=(a||0)*i,[Rr,vi].indexOf(r)>=0?{x:a,y:s}:{x:s,y:a}}function Aae(e){var t=e.state,n=e.options,r=e.name,i=n.offset,o=i===void 0?[0,0]:i,s=DN.reduce(function(c,d){return c[d]=kae(d,t.rects,o),c},{}),a=s[t.placement],l=a.x,u=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=s}const Oae={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Aae};function Rae(e){var t=e.state,n=e.name;t.modifiersData[n]=zN({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Iae={name:"popperOffsets",enabled:!0,phase:"read",fn:Rae,data:{}};function Mae(e){return e==="x"?"y":"x"}function Nae(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,o=i===void 0?!0:i,s=n.altAxis,a=s===void 0?!1:s,l=n.boundary,u=n.rootBoundary,c=n.altBoundary,d=n.padding,f=n.tether,h=f===void 0?!0:f,p=n.tetherOffset,m=p===void 0?0:p,S=ih(t,{boundary:l,rootBoundary:u,padding:d,altBoundary:c}),v=So(t.placement),y=Ec(t.placement),g=!y,b=q5(v),_=Mae(b),w=t.modifiersData.popperOffsets,x=t.rects.reference,C=t.rects.popper,k=typeof m=="function"?m(Object.assign({},t.rects,{placement:t.placement})):m,P=typeof k=="number"?{mainAxis:k,altAxis:k}:Object.assign({mainAxis:0,altAxis:0},k),A=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,$={x:0,y:0};if(w){if(o){var N,T=b==="y"?Or:Rr,O=b==="y"?yi:vi,I=b==="y"?"height":"width",M=w[b],R=M+S[T],D=M-S[O],L=h?-C[I]/2:0,V=y===xc?x[I]:C[I],z=y===xc?-C[I]:-x[I],U=t.elements.arrow,K=h&&U?H5(U):{width:0,height:0},W=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:FN(),X=W[T],F=W[O],q=hf(0,x[I],K[I]),Q=g?x[I]/2-L-q-X-P.mainAxis:V-q-X-P.mainAxis,J=g?-x[I]/2+L+q+F+P.mainAxis:z+q+F+P.mainAxis,ne=t.elements.arrow&&up(t.elements.arrow),Z=ne?b==="y"?ne.clientTop||0:ne.clientLeft||0:0,ge=(N=A==null?void 0:A[b])!=null?N:0,ae=M+Q-ge-Z,oe=M+J-ge,Te=hf(h?Ty(R,ae):R,M,h?il(D,oe):D);w[b]=Te,$[b]=Te-M}if(a){var se,We=b==="x"?Or:Rr,yt=b==="x"?yi:vi,Fe=w[_],Be=_==="y"?"height":"width",Me=Fe+S[We],rt=Fe-S[yt],xt=[Or,Rr].indexOf(v)!==-1,mn=(se=A==null?void 0:A[_])!=null?se:0,an=xt?Me:Fe-x[Be]-C[Be]-mn+P.altAxis,Ot=xt?Fe+x[Be]+C[Be]-mn-P.altAxis:rt,ee=h&&xt?iae(an,Fe,Ot):hf(h?an:Me,Fe,h?Ot:rt);w[_]=ee,$[_]=ee-Fe}t.modifiersData[r]=$}}const Dae={name:"preventOverflow",enabled:!0,phase:"main",fn:Nae,requiresIfExists:["offset"]};function Lae(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function $ae(e){return e===qr(e)||!hi(e)?W5(e):Lae(e)}function Fae(e){var t=e.getBoundingClientRect(),n=Cc(t.width)/e.offsetWidth||1,r=Cc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Bae(e,t,n){n===void 0&&(n=!1);var r=hi(t),i=hi(t)&&Fae(t),o=Pa(t),s=Tc(e,i,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((wo(t)!=="body"||Y5(o))&&(a=$ae(t)),hi(t)?(l=Tc(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=K5(o))),{x:s.left+a.scrollLeft-l.x,y:s.top+a.scrollTop-l.y,width:s.width,height:s.height}}function jae(e){var t=new Map,n=new Set,r=[];e.forEach(function(o){t.set(o.name,o)});function i(o){n.add(o.name);var s=[].concat(o.requires||[],o.requiresIfExists||[]);s.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&i(l)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||i(o)}),r}function Vae(e){var t=jae(e);return Zse.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function zae(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Uae(e){var t=e.reduce(function(n,r){var i=n[r.name];return n[r.name]=i?Object.assign({},i,r,{options:Object.assign({},i.options,r.options),data:Object.assign({},i.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var b6={placement:"bottom",modifiers:[],strategy:"absolute"};function S6(){for(var e=arguments.length,t=new Array(e),n=0;n{}),g=E.useCallback(()=>{var P;!t||!p.current||!m.current||((P=y.current)==null||P.call(y),S.current=qae(p.current,m.current,{placement:v,modifiers:[$se,Nse,Mse,{...Ise,enabled:!!f},{name:"eventListeners",...Rse(s)},{name:"arrow",options:{padding:o}},{name:"offset",options:{offset:a??[0,l]}},{name:"flip",enabled:!!u,options:{padding:8}},{name:"preventOverflow",enabled:!!d,options:{boundary:c}},...n??[]],strategy:i}),S.current.forceUpdate(),y.current=S.current.destroy)},[v,t,n,f,s,o,a,l,u,d,c,i]);E.useEffect(()=>()=>{var P;!p.current&&!m.current&&((P=S.current)==null||P.destroy(),S.current=null)},[]);const b=E.useCallback(P=>{p.current=P,g()},[g]),_=E.useCallback((P={},A=null)=>({...P,ref:fi(b,A)}),[b]),w=E.useCallback(P=>{m.current=P,g()},[g]),x=E.useCallback((P={},A=null)=>({...P,ref:fi(w,A),style:{...P.style,position:i,minWidth:f?void 0:"max-content",inset:"0 auto auto 0"}}),[i,w,f]),C=E.useCallback((P={},A=null)=>{const{size:$,shadowColor:N,bg:T,style:O,...I}=P;return{...I,ref:A,"data-popper-arrow":"",style:Kae(P)}},[]),k=E.useCallback((P={},A=null)=>({...P,ref:A,"data-popper-arrow-inner":""}),[]);return{update(){var P;(P=S.current)==null||P.update()},forceUpdate(){var P;(P=S.current)==null||P.forceUpdate()},transformOrigin:$n.transformOrigin.varRef,referenceRef:b,popperRef:w,getPopperProps:x,getArrowProps:C,getArrowInnerProps:k,getReferenceProps:_}}function Kae(e){const{size:t,shadowColor:n,bg:r,style:i}=e,o={...i,position:"absolute"};return t&&(o["--popper-arrow-size"]=t),n&&(o["--popper-arrow-shadow-color"]=n),r&&(o["--popper-arrow-bg"]=r),o}function Yae(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=Fn(n),s=Fn(t),[a,l]=E.useState(e.defaultIsOpen||!1),u=r!==void 0?r:a,c=r!==void 0,d=E.useId(),f=i??`disclosure-${d}`,h=E.useCallback(()=>{c||l(!1),s==null||s()},[c,s]),p=E.useCallback(()=>{c||l(!0),o==null||o()},[c,o]),m=E.useCallback(()=>{u?h():p()},[u,p,h]);function S(y={}){return{...y,"aria-expanded":u,"aria-controls":f,onClick(g){var b;(b=y.onClick)==null||b.call(y,g),m()}}}function v(y={}){return{...y,hidden:!u,id:f}}return{isOpen:u,onOpen:p,onClose:h,onToggle:m,isControlled:c,getButtonProps:S,getDisclosureProps:v}}var Xae=e=>j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z"})}),Qae=e=>j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z"})});function _6(e,t,n,r){E.useEffect(()=>{var i;if(!e.current||!r)return;const o=(i=e.current.ownerDocument.defaultView)!=null?i:window,s=Array.isArray(t)?t:[t],a=new o.MutationObserver(l=>{for(const u of l)u.type==="attributes"&&u.attributeName&&s.includes(u.attributeName)&&n(u)});return a.observe(e.current,{attributes:!0,attributeFilter:s}),()=>a.disconnect()})}function Zae(e,t){const n=Fn(e);E.useEffect(()=>{let r=null;const i=()=>n();return t!==null&&(r=window.setInterval(i,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var Jae=50,w6=300;function ele(e,t){const[n,r]=E.useState(!1),[i,o]=E.useState(null),[s,a]=E.useState(!0),l=E.useRef(null),u=()=>clearTimeout(l.current);Zae(()=>{i==="increment"&&e(),i==="decrement"&&t()},n?Jae:null);const c=E.useCallback(()=>{s&&e(),l.current=setTimeout(()=>{a(!1),r(!0),o("increment")},w6)},[e,s]),d=E.useCallback(()=>{s&&t(),l.current=setTimeout(()=>{a(!1),r(!0),o("decrement")},w6)},[t,s]),f=E.useCallback(()=>{a(!0),r(!1),u()},[]);return E.useEffect(()=>()=>u(),[]),{up:c,down:d,stop:f,isSpinning:n}}var tle=/^[Ee0-9+\-.]$/;function nle(e){return tle.test(e)}function rle(e,t){if(e.key==null)return!0;const n=e.ctrlKey||e.altKey||e.metaKey;return!(e.key.length===1)||n?!0:t(e.key)}function ile(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:i=Number.MIN_SAFE_INTEGER,max:o=Number.MAX_SAFE_INTEGER,step:s=1,isReadOnly:a,isDisabled:l,isRequired:u,isInvalid:c,pattern:d="[0-9]*(.[0-9]+)?",inputMode:f="decimal",allowMouseWheel:h,id:p,onChange:m,precision:S,name:v,"aria-describedby":y,"aria-label":g,"aria-labelledby":b,onFocus:_,onBlur:w,onInvalid:x,getAriaValueText:C,isValidCharacter:k,format:P,parse:A,...$}=e,N=Fn(_),T=Fn(w),O=Fn(x),I=Fn(k??nle),M=Fn(C),R=yse(e),{update:D,increment:L,decrement:V}=R,[z,U]=E.useState(!1),K=!(a||l),W=E.useRef(null),X=E.useRef(null),F=E.useRef(null),q=E.useRef(null),Q=E.useCallback(ee=>ee.split("").filter(I).join(""),[I]),J=E.useCallback(ee=>{var _e;return(_e=A==null?void 0:A(ee))!=null?_e:ee},[A]),ne=E.useCallback(ee=>{var _e;return((_e=P==null?void 0:P(ee))!=null?_e:ee).toString()},[P]);gy(()=>{(R.valueAsNumber>o||R.valueAsNumber{if(!W.current)return;if(W.current.value!=R.value){const _e=J(W.current.value);R.setValue(Q(_e))}},[J,Q]);const Z=E.useCallback((ee=s)=>{K&&L(ee)},[L,K,s]),ge=E.useCallback((ee=s)=>{K&&V(ee)},[V,K,s]),ae=ele(Z,ge);_6(F,"disabled",ae.stop,ae.isSpinning),_6(q,"disabled",ae.stop,ae.isSpinning);const oe=E.useCallback(ee=>{if(ee.nativeEvent.isComposing)return;const Ee=J(ee.currentTarget.value);D(Q(Ee)),X.current={start:ee.currentTarget.selectionStart,end:ee.currentTarget.selectionEnd}},[D,Q,J]),Te=E.useCallback(ee=>{var _e,Ee,Ne;N==null||N(ee),X.current&&(ee.target.selectionStart=(Ee=X.current.start)!=null?Ee:(_e=ee.currentTarget.value)==null?void 0:_e.length,ee.currentTarget.selectionEnd=(Ne=X.current.end)!=null?Ne:ee.currentTarget.selectionStart)},[N]),se=E.useCallback(ee=>{if(ee.nativeEvent.isComposing)return;rle(ee,I)||ee.preventDefault();const _e=We(ee)*s,Ee=ee.key,ie={ArrowUp:()=>Z(_e),ArrowDown:()=>ge(_e),Home:()=>D(i),End:()=>D(o)}[Ee];ie&&(ee.preventDefault(),ie(ee))},[I,s,Z,ge,D,i,o]),We=ee=>{let _e=1;return(ee.metaKey||ee.ctrlKey)&&(_e=.1),ee.shiftKey&&(_e=10),_e},yt=E.useMemo(()=>{const ee=M==null?void 0:M(R.value);if(ee!=null)return ee;const _e=R.value.toString();return _e||void 0},[R.value,M]),Fe=E.useCallback(()=>{let ee=R.value;if(R.value==="")return;/^[eE]/.test(R.value.toString())?R.setValue(""):(R.valueAsNumbero&&(ee=o),R.cast(ee))},[R,o,i]),Be=E.useCallback(()=>{U(!1),n&&Fe()},[n,U,Fe]),Me=E.useCallback(()=>{t&&requestAnimationFrame(()=>{var ee;(ee=W.current)==null||ee.focus()})},[t]),rt=E.useCallback(ee=>{ee.preventDefault(),ae.up(),Me()},[Me,ae]),xt=E.useCallback(ee=>{ee.preventDefault(),ae.down(),Me()},[Me,ae]);am(()=>W.current,"wheel",ee=>{var _e,Ee;const ie=((Ee=(_e=W.current)==null?void 0:_e.ownerDocument)!=null?Ee:document).activeElement===W.current;if(!h||!ie)return;ee.preventDefault();const he=We(ee)*s,Qt=Math.sign(ee.deltaY);Qt===-1?Z(he):Qt===1&&ge(he)},{passive:!1});const mn=E.useCallback((ee={},_e=null)=>{const Ee=l||r&&R.isAtMax;return{...ee,ref:fi(_e,F),role:"button",tabIndex:-1,onPointerDown:Dn(ee.onPointerDown,Ne=>{Ne.button!==0||Ee||rt(Ne)}),onPointerLeave:Dn(ee.onPointerLeave,ae.stop),onPointerUp:Dn(ee.onPointerUp,ae.stop),disabled:Ee,"aria-disabled":Yu(Ee)}},[R.isAtMax,r,rt,ae.stop,l]),an=E.useCallback((ee={},_e=null)=>{const Ee=l||r&&R.isAtMin;return{...ee,ref:fi(_e,q),role:"button",tabIndex:-1,onPointerDown:Dn(ee.onPointerDown,Ne=>{Ne.button!==0||Ee||xt(Ne)}),onPointerLeave:Dn(ee.onPointerLeave,ae.stop),onPointerUp:Dn(ee.onPointerUp,ae.stop),disabled:Ee,"aria-disabled":Yu(Ee)}},[R.isAtMin,r,xt,ae.stop,l]),Ot=E.useCallback((ee={},_e=null)=>{var Ee,Ne,ie,he;return{name:v,inputMode:f,type:"text",pattern:d,"aria-labelledby":b,"aria-label":g,"aria-describedby":y,id:p,disabled:l,...ee,readOnly:(Ee=ee.readOnly)!=null?Ee:a,"aria-readonly":(Ne=ee.readOnly)!=null?Ne:a,"aria-required":(ie=ee.required)!=null?ie:u,required:(he=ee.required)!=null?he:u,ref:fi(W,_e),value:ne(R.value),role:"spinbutton","aria-valuemin":i,"aria-valuemax":o,"aria-valuenow":Number.isNaN(R.valueAsNumber)?void 0:R.valueAsNumber,"aria-invalid":Yu(c??R.isOutOfRange),"aria-valuetext":yt,autoComplete:"off",autoCorrect:"off",onChange:Dn(ee.onChange,oe),onKeyDown:Dn(ee.onKeyDown,se),onFocus:Dn(ee.onFocus,Te,()=>U(!0)),onBlur:Dn(ee.onBlur,T,Be)}},[v,f,d,b,g,ne,y,p,l,u,a,c,R.value,R.valueAsNumber,R.isOutOfRange,i,o,yt,oe,se,Te,T,Be]);return{value:ne(R.value),valueAsNumber:R.valueAsNumber,isFocused:z,isDisabled:l,isReadOnly:a,getIncrementButtonProps:mn,getDecrementButtonProps:an,getInputProps:Ot,htmlProps:$}}var[ole,$v]=Si({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[sle,X5]=Si({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),UN=Ze(function(t,n){const r=Ev("NumberInput",t),i=Ao(t),o=TN(i),{htmlProps:s,...a}=ile(o),l=E.useMemo(()=>a,[a]);return j.jsx(sle,{value:l,children:j.jsx(ole,{value:r,children:j.jsx(Ae.div,{...s,ref:n,className:Gn("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});UN.displayName="NumberInput";var GN=Ze(function(t,n){const r=$v();return j.jsx(Ae.div,{"aria-hidden":!0,ref:n,...t,__css:{display:"flex",flexDirection:"column",position:"absolute",top:"0",insetEnd:"0px",margin:"1px",height:"calc(100% - 2px)",zIndex:1,...r.stepperGroup}})});GN.displayName="NumberInputStepper";var HN=Ze(function(t,n){const{getInputProps:r}=X5(),i=r(t,n),o=$v();return j.jsx(Ae.input,{...i,className:Gn("chakra-numberinput__field",t.className),__css:{width:"100%",...o.field}})});HN.displayName="NumberInputField";var qN=Ae("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),WN=Ze(function(t,n){var r;const i=$v(),{getDecrementButtonProps:o}=X5(),s=o(t,n);return j.jsx(qN,{...s,__css:i.stepper,children:(r=t.children)!=null?r:j.jsx(Xae,{})})});WN.displayName="NumberDecrementStepper";var KN=Ze(function(t,n){var r;const{getIncrementButtonProps:i}=X5(),o=i(t,n),s=$v();return j.jsx(qN,{...o,__css:s.stepper,children:(r=t.children)!=null?r:j.jsx(Qae,{})})});KN.displayName="NumberIncrementStepper";var Ql=e=>e?"":void 0,HS=e=>e?!0:void 0,cp=(...e)=>e.filter(Boolean).join(" ");function qS(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function _Te(e){return{root:`slider-root-${e}`,getThumb:t=>`slider-thumb-${e}-${t}`,getInput:t=>`slider-input-${e}-${t}`,track:`slider-track-${e}`,innerTrack:`slider-filled-track-${e}`,getMarker:t=>`slider-marker-${e}-${t}`,output:`slider-output-${e}`}}function ug(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var um={width:0,height:0},cg=e=>e||um;function ale(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:i}=e,o=m=>{var S;const v=(S=r[m])!=null?S:um;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...ug({orientation:t,vertical:{bottom:`calc(${n[m]}% - ${v.height/2}px)`},horizontal:{left:`calc(${n[m]}% - ${v.width/2}px)`}})}},s=t==="vertical"?r.reduce((m,S)=>cg(m).height>cg(S).height?m:S,um):r.reduce((m,S)=>cg(m).width>cg(S).width?m:S,um),a={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...ug({orientation:t,vertical:s?{paddingLeft:s.width/2,paddingRight:s.width/2}:{},horizontal:s?{paddingTop:s.height/2,paddingBottom:s.height/2}:{}})},l={position:"absolute",...ug({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},u=n.length===1,c=[0,i?100-n[0]:n[0]],d=u?c:n;let f=d[0];!u&&i&&(f=100-f);const h=Math.abs(d[d.length-1]-d[0]),p={...l,...ug({orientation:t,vertical:i?{height:`${h}%`,top:`${f}%`}:{height:`${h}%`,bottom:`${f}%`},horizontal:i?{width:`${h}%`,right:`${f}%`}:{width:`${h}%`,left:`${f}%`}})};return{trackStyle:l,innerTrackStyle:p,rootStyle:a,getThumbStyle:o}}function lle(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function ule(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function cle(e){const t=fle(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function YN(e){return!!e.touches}function dle(e){return YN(e)&&e.touches.length>1}function fle(e){var t;return(t=e.view)!=null?t:window}function hle(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function ple(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function XN(e,t="page"){return YN(e)?hle(e,t):ple(e,t)}function gle(e){return t=>{const n=cle(t);(!n||n&&t.button===0)&&e(t)}}function mle(e,t=!1){function n(i){e(i,{point:XN(i)})}return t?gle(n):n}function cm(e,t,n,r){return ule(e,t,mle(n,t==="pointerdown"),r)}var yle=Object.defineProperty,vle=(e,t,n)=>t in e?yle(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xi=(e,t,n)=>(vle(e,typeof t!="symbol"?t+"":t,n),n),ble=class{constructor(e,t,n){xi(this,"history",[]),xi(this,"startEvent",null),xi(this,"lastEvent",null),xi(this,"lastEventInfo",null),xi(this,"handlers",{}),xi(this,"removeListeners",()=>{}),xi(this,"threshold",3),xi(this,"win"),xi(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const a=WS(this.lastEventInfo,this.history),l=this.startEvent!==null,u=xle(a.offset,{x:0,y:0})>=this.threshold;if(!l&&!u)return;const{timestamp:c}=YE();this.history.push({...a.point,timestamp:c});const{onStart:d,onMove:f}=this.handlers;l||(d==null||d(this.lastEvent,a),this.startEvent=this.lastEvent),f==null||f(this.lastEvent,a)}),xi(this,"onPointerMove",(a,l)=>{this.lastEvent=a,this.lastEventInfo=l,Qee.update(this.updatePoint,!0)}),xi(this,"onPointerUp",(a,l)=>{const u=WS(l,this.history),{onEnd:c,onSessionEnd:d}=this.handlers;d==null||d(a,u),this.end(),!(!c||!this.startEvent)&&(c==null||c(a,u))});var r;if(this.win=(r=e.view)!=null?r:window,dle(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const i={point:XN(e)},{timestamp:o}=YE();this.history=[{...i.point,timestamp:o}];const{onSessionStart:s}=t;s==null||s(e,WS(i,this.history)),this.removeListeners=wle(cm(this.win,"pointermove",this.onPointerMove),cm(this.win,"pointerup",this.onPointerUp),cm(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),Zee.update(this.updatePoint)}};function x6(e,t){return{x:e.x-t.x,y:e.y-t.y}}function WS(e,t){return{point:e.point,delta:x6(e.point,t[t.length-1]),offset:x6(e.point,t[0]),velocity:_le(t,.1)}}var Sle=e=>e*1e3;function _le(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=e[e.length-1];for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Sle(t)));)n--;if(!r)return{x:0,y:0};const o=(i.timestamp-r.timestamp)/1e3;if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function wle(...e){return t=>e.reduce((n,r)=>r(n),t)}function KS(e,t){return Math.abs(e-t)}function C6(e){return"x"in e&&"y"in e}function xle(e,t){if(typeof e=="number"&&typeof t=="number")return KS(e,t);if(C6(e)&&C6(t)){const n=KS(e.x,t.x),r=KS(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function QN(e){const t=E.useRef(null);return t.current=e,t}function Cle(e,t){const{onPan:n,onPanStart:r,onPanEnd:i,onPanSessionStart:o,onPanSessionEnd:s,threshold:a}=t,l=!!(n||r||i||o||s),u=E.useRef(null),c=QN({onSessionStart:o,onSessionEnd:s,onStart:r,onMove:n,onEnd(d,f){u.current=null,i==null||i(d,f)}});E.useEffect(()=>{var d;(d=u.current)==null||d.updateHandlers(c.current)}),E.useEffect(()=>{const d=e.current;if(!d||!l)return;function f(h){u.current=new ble(h,c.current,a)}return cm(d,"pointerdown",f)},[e,l,c,a]),E.useEffect(()=>()=>{var d;(d=u.current)==null||d.end(),u.current=null},[])}function Tle(e,t){if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const n=e.ownerDocument.defaultView??window,r=new n.ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const[o]=i;let s,a;if("borderBoxSize"in o){const l=o.borderBoxSize,u=Array.isArray(l)?l[0]:l;s=u.inlineSize,a=u.blockSize}else s=e.offsetWidth,a=e.offsetHeight;t({width:s,height:a})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}var Ele=globalThis!=null&&globalThis.document?E.useLayoutEffect:E.useEffect;function Ple(e,t){var n,r;if(!e||!e.parentElement)return;const i=(r=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?r:window,o=new i.MutationObserver(()=>{t()});return o.observe(e.parentElement,{childList:!0}),()=>{o.disconnect()}}function kle({getNodes:e,observeMutation:t=!0}){const[n,r]=E.useState([]),[i,o]=E.useState(0);return Ele(()=>{const s=e(),a=s.map((l,u)=>Tle(l,c=>{r(d=>[...d.slice(0,u),c,...d.slice(u+1)])}));if(t){const l=s[0];a.push(Ple(l,()=>{o(u=>u+1)}))}return()=>{a.forEach(l=>{l==null||l()})}},[i]),n}function Ale(e){return typeof e=="object"&&e!==null&&"current"in e}function Ole(e){const[t]=kle({observeMutation:!1,getNodes(){return[Ale(e)?e.current:e]}});return t}function Rle(e){var t;const{min:n=0,max:r=100,onChange:i,value:o,defaultValue:s,isReversed:a,direction:l="ltr",orientation:u="horizontal",id:c,isDisabled:d,isReadOnly:f,onChangeStart:h,onChangeEnd:p,step:m=1,getAriaValueText:S,"aria-valuetext":v,"aria-label":y,"aria-labelledby":g,name:b,focusThumbOnChange:_=!0,...w}=e,x=Fn(h),C=Fn(p),k=Fn(S),P=lle({isReversed:a,direction:l,orientation:u}),[A,$]=ise({value:o,defaultValue:s??Mle(n,r),onChange:i}),[N,T]=E.useState(!1),[O,I]=E.useState(!1),M=!(d||f),R=(r-n)/10,D=m||(r-n)/100,L=sm(A,n,r),V=r-L+n,U=s6(P?V:L,n,r),K=u==="vertical",W=QN({min:n,max:r,step:m,isDisabled:d,value:L,isInteractive:M,isReversed:P,isVertical:K,eventSource:null,focusThumbOnChange:_,orientation:u}),X=E.useRef(null),F=E.useRef(null),q=E.useRef(null),Q=E.useId(),J=c??Q,[ne,Z]=[`slider-thumb-${J}`,`slider-track-${J}`],ge=E.useCallback(ie=>{var he,Qt;if(!X.current)return;const Rt=W.current;Rt.eventSource="pointer";const ut=X.current.getBoundingClientRect(),{clientX:rr,clientY:Mo}=(Qt=(he=ie.touches)==null?void 0:he[0])!=null?Qt:ie,Qr=K?ut.bottom-Mo:rr-ut.left,No=K?ut.height:ut.width;let ct=Qr/No;P&&(ct=1-ct);let Ke=mse(ct,Rt.min,Rt.max);return Rt.step&&(Ke=parseFloat(a6(Ke,Rt.min,Rt.step))),Ke=sm(Ke,Rt.min,Rt.max),Ke},[K,P,W]),ae=E.useCallback(ie=>{const he=W.current;he.isInteractive&&(ie=parseFloat(a6(ie,he.min,D)),ie=sm(ie,he.min,he.max),$(ie))},[D,$,W]),oe=E.useMemo(()=>({stepUp(ie=D){const he=P?L-ie:L+ie;ae(he)},stepDown(ie=D){const he=P?L+ie:L-ie;ae(he)},reset(){ae(s||0)},stepTo(ie){ae(ie)}}),[ae,P,L,D,s]),Te=E.useCallback(ie=>{const he=W.current,Rt={ArrowRight:()=>oe.stepUp(),ArrowUp:()=>oe.stepUp(),ArrowLeft:()=>oe.stepDown(),ArrowDown:()=>oe.stepDown(),PageUp:()=>oe.stepUp(R),PageDown:()=>oe.stepDown(R),Home:()=>ae(he.min),End:()=>ae(he.max)}[ie.key];Rt&&(ie.preventDefault(),ie.stopPropagation(),Rt(ie),he.eventSource="keyboard")},[oe,ae,R,W]),se=(t=k==null?void 0:k(L))!=null?t:v,We=Ole(F),{getThumbStyle:yt,rootStyle:Fe,trackStyle:Be,innerTrackStyle:Me}=E.useMemo(()=>{const ie=W.current,he=We??{width:0,height:0};return ale({isReversed:P,orientation:ie.orientation,thumbRects:[he],thumbPercents:[U]})},[P,We,U,W]),rt=E.useCallback(()=>{W.current.focusThumbOnChange&&setTimeout(()=>{var he;return(he=F.current)==null?void 0:he.focus()})},[W]);gy(()=>{const ie=W.current;rt(),ie.eventSource==="keyboard"&&(C==null||C(ie.value))},[L,C]);function xt(ie){const he=ge(ie);he!=null&&he!==W.current.value&&$(he)}Cle(q,{onPanSessionStart(ie){const he=W.current;he.isInteractive&&(T(!0),rt(),xt(ie),x==null||x(he.value))},onPanSessionEnd(){const ie=W.current;ie.isInteractive&&(T(!1),C==null||C(ie.value))},onPan(ie){W.current.isInteractive&&xt(ie)}});const mn=E.useCallback((ie={},he=null)=>({...ie,...w,ref:fi(he,q),tabIndex:-1,"aria-disabled":HS(d),"data-focused":Ql(O),style:{...ie.style,...Fe}}),[w,d,O,Fe]),an=E.useCallback((ie={},he=null)=>({...ie,ref:fi(he,X),id:Z,"data-disabled":Ql(d),style:{...ie.style,...Be}}),[d,Z,Be]),Ot=E.useCallback((ie={},he=null)=>({...ie,ref:he,style:{...ie.style,...Me}}),[Me]),ee=E.useCallback((ie={},he=null)=>({...ie,ref:fi(he,F),role:"slider",tabIndex:M?0:void 0,id:ne,"data-active":Ql(N),"aria-valuetext":se,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":L,"aria-orientation":u,"aria-disabled":HS(d),"aria-readonly":HS(f),"aria-label":y,"aria-labelledby":y?void 0:g,style:{...ie.style,...yt(0)},onKeyDown:qS(ie.onKeyDown,Te),onFocus:qS(ie.onFocus,()=>I(!0)),onBlur:qS(ie.onBlur,()=>I(!1))}),[M,ne,N,se,n,r,L,u,d,f,y,g,yt,Te]),_e=E.useCallback((ie,he=null)=>{const Qt=!(ie.valuer),Rt=L>=ie.value,ut=s6(ie.value,n,r),rr={position:"absolute",pointerEvents:"none",...Ile({orientation:u,vertical:{bottom:P?`${100-ut}%`:`${ut}%`},horizontal:{left:P?`${100-ut}%`:`${ut}%`}})};return{...ie,ref:he,role:"presentation","aria-hidden":!0,"data-disabled":Ql(d),"data-invalid":Ql(!Qt),"data-highlighted":Ql(Rt),style:{...ie.style,...rr}}},[d,P,r,n,u,L]),Ee=E.useCallback((ie={},he=null)=>({...ie,ref:he,type:"hidden",value:L,name:b}),[b,L]);return{state:{value:L,isFocused:O,isDragging:N},actions:oe,getRootProps:mn,getTrackProps:an,getInnerTrackProps:Ot,getThumbProps:ee,getMarkerProps:_e,getInputProps:Ee}}function Ile(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function Mle(e,t){return t"}),[Dle,Bv]=Si({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),ZN=Ze((e,t)=>{var n;const r={...e,orientation:(n=e==null?void 0:e.orientation)!=null?n:"horizontal"},i=Ev("Slider",r),o=Ao(r),{direction:s}=wv();o.direction=s;const{getInputProps:a,getRootProps:l,...u}=Rle(o),c=l(),d=a({},t);return j.jsx(Nle,{value:u,children:j.jsx(Dle,{value:i,children:j.jsxs(Ae.div,{...c,className:cp("chakra-slider",r.className),__css:i.container,children:[r.children,j.jsx("input",{...d})]})})})});ZN.displayName="Slider";var JN=Ze((e,t)=>{const{getThumbProps:n}=Fv(),r=Bv(),i=n(e,t);return j.jsx(Ae.div,{...i,className:cp("chakra-slider__thumb",e.className),__css:r.thumb})});JN.displayName="SliderThumb";var eD=Ze((e,t)=>{const{getTrackProps:n}=Fv(),r=Bv(),i=n(e,t);return j.jsx(Ae.div,{...i,className:cp("chakra-slider__track",e.className),__css:r.track})});eD.displayName="SliderTrack";var tD=Ze((e,t)=>{const{getInnerTrackProps:n}=Fv(),r=Bv(),i=n(e,t);return j.jsx(Ae.div,{...i,className:cp("chakra-slider__filled-track",e.className),__css:r.filledTrack})});tD.displayName="SliderFilledTrack";var du=Ze((e,t)=>{const{getMarkerProps:n}=Fv(),r=Bv(),i=n(e,t);return j.jsx(Ae.div,{...i,className:cp("chakra-slider__marker",e.className),__css:r.mark})});du.displayName="SliderMark";var Lle={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},Ew=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},dm=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function $le(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:i,closeOnScroll:o,closeOnPointerDown:s=i,closeOnEsc:a=!0,onOpen:l,onClose:u,placement:c,id:d,isOpen:f,defaultIsOpen:h,arrowSize:p=10,arrowShadowColor:m,arrowPadding:S,modifiers:v,isDisabled:y,gutter:g,offset:b,direction:_,...w}=e,{isOpen:x,onOpen:C,onClose:k}=Yae({isOpen:f,defaultIsOpen:h,onOpen:l,onClose:u}),{referenceRef:P,getPopperProps:A,getArrowInnerProps:$,getArrowProps:N}=Wae({enabled:x,placement:c,arrowPadding:S,modifiers:v,gutter:g,offset:b,direction:_}),T=E.useId(),I=`tooltip-${d??T}`,M=E.useRef(null),R=E.useRef(),D=E.useCallback(()=>{R.current&&(clearTimeout(R.current),R.current=void 0)},[]),L=E.useRef(),V=E.useCallback(()=>{L.current&&(clearTimeout(L.current),L.current=void 0)},[]),z=E.useCallback(()=>{V(),k()},[k,V]),U=Fle(M,z),K=E.useCallback(()=>{if(!y&&!R.current){U();const Z=dm(M);R.current=Z.setTimeout(C,t)}},[U,y,C,t]),W=E.useCallback(()=>{D();const Z=dm(M);L.current=Z.setTimeout(z,n)},[n,z,D]),X=E.useCallback(()=>{x&&r&&W()},[r,W,x]),F=E.useCallback(()=>{x&&s&&W()},[s,W,x]),q=E.useCallback(Z=>{x&&Z.key==="Escape"&&W()},[x,W]);am(()=>Ew(M),"keydown",a?q:void 0),am(()=>{const Z=M.current;if(!Z)return null;const ge=AN(Z);return ge.localName==="body"?dm(M):ge},"scroll",()=>{x&&o&&z()},{passive:!0,capture:!0}),E.useEffect(()=>{y&&(D(),x&&k())},[y,x,k,D]),E.useEffect(()=>()=>{D(),V()},[D,V]),am(()=>M.current,"pointerleave",W);const Q=E.useCallback((Z={},ge=null)=>({...Z,ref:fi(M,ge,P),onPointerEnter:Dn(Z.onPointerEnter,oe=>{oe.pointerType!=="touch"&&K()}),onClick:Dn(Z.onClick,X),onPointerDown:Dn(Z.onPointerDown,F),onFocus:Dn(Z.onFocus,K),onBlur:Dn(Z.onBlur,W),"aria-describedby":x?I:void 0}),[K,W,F,x,I,X,P]),J=E.useCallback((Z={},ge=null)=>A({...Z,style:{...Z.style,[$n.arrowSize.var]:p?`${p}px`:void 0,[$n.arrowShadowColor.var]:m}},ge),[A,p,m]),ne=E.useCallback((Z={},ge=null)=>{const ae={...Z.style,position:"relative",transformOrigin:$n.transformOrigin.varRef};return{ref:ge,...w,...Z,id:I,role:"tooltip",style:ae}},[w,I]);return{isOpen:x,show:K,hide:W,getTriggerProps:Q,getTooltipProps:ne,getTooltipPositionerProps:J,getArrowProps:N,getArrowInnerProps:$}}var YS="chakra-ui:close-tooltip";function Fle(e,t){return E.useEffect(()=>{const n=Ew(e);return n.addEventListener(YS,t),()=>n.removeEventListener(YS,t)},[t,e]),()=>{const n=Ew(e),r=dm(e);n.dispatchEvent(new r.CustomEvent(YS))}}function Ble(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function jle(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var Vle=Ae(D5.div),Q5=Ze((e,t)=>{var n,r;const i=Ol("Tooltip",e),o=Ao(e),s=wv(),{children:a,label:l,shouldWrapChildren:u,"aria-label":c,hasArrow:d,bg:f,portalProps:h,background:p,backgroundColor:m,bgColor:S,motionProps:v,...y}=o,g=(r=(n=p??m)!=null?n:f)!=null?r:S;if(g){i.bg=g;const A=$ee(s,"colors",g);i[$n.arrowBg.var]=A}const b=$le({...y,direction:s.direction}),_=typeof a=="string"||u;let w;if(_)w=j.jsx(Ae.span,{display:"inline-block",tabIndex:0,...b.getTriggerProps(),children:a});else{const A=E.Children.only(a);w=E.cloneElement(A,b.getTriggerProps(A.props,A.ref))}const x=!!c,C=b.getTooltipProps({},t),k=x?Ble(C,["role","id"]):C,P=jle(C,["role","id"]);return l?j.jsxs(j.Fragment,{children:[w,j.jsx(L5,{children:b.isOpen&&j.jsx(tp,{...h,children:j.jsx(Ae.div,{...b.getTooltipPositionerProps(),__css:{zIndex:i.zIndex,pointerEvents:"none"},children:j.jsxs(Vle,{variants:Lle,initial:"exit",animate:"enter",exit:"exit",...v,...k,__css:i,children:[l,x&&j.jsx(Ae.span,{srOnly:!0,...P,children:c}),d&&j.jsx(Ae.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:j.jsx(Ae.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:i.bg}})})]})})})})]}):j.jsx(j.Fragment,{children:a})});Q5.displayName="Tooltip";const nD={shift:!1},rD=zt({name:"hotkeys",initialState:nD,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:T6}=rD.actions,zle=rD.reducer,wTe=e=>e.hotkeys;function Ule(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),n=0;n()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout(()=>{e.off("initialized",n)},0),t()};e.on("initialized",n)}};function P6(e,t,n){e.loadNamespaces(t,iD(e,n))}function k6(e,t,n,r){typeof n=="string"&&(n=[n]),n.forEach(i=>{e.options.ns.indexOf(i)<0&&e.options.ns.push(i)}),e.loadLanguages(t,iD(e,r))}function Gle(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=t.languages[0],i=t.options?t.options.fallbackLng:!1,o=t.languages[t.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=t.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(r,e)&&(!i||s(o,e)))}function Hle(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(Pw("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:n.lng,precheck:(i,o)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&i.services.backendConnector.backend&&i.isLanguageChangingTo&&!o(i.isLanguageChangingTo,e))return!1}}):Gle(e,t,n)}const qle=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Wle={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Kle=e=>Wle[e],Yle=e=>e.replace(qle,Kle);let kw={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:Yle};function Xle(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};kw={...kw,...e}}function Qle(){return kw}let oD;function Zle(e){oD=e}function Jle(){return oD}const eue={type:"3rdParty",init(e){Xle(e.options.react),Zle(e)}},tue=E.createContext();class nue{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const rue=(e,t)=>{const n=E.useRef();return E.useEffect(()=>{n.current=t?n.current:e},[e,t]),n.current};function sD(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:n}=t,{i18n:r,defaultNS:i}=E.useContext(tue)||{},o=n||r||Jle();if(o&&!o.reportNamespaces&&(o.reportNamespaces=new nue),!o){Pw("You will need to pass in an i18next instance by using initReactI18next");const g=(_,w)=>typeof w=="string"?w:w&&typeof w=="object"&&typeof w.defaultValue=="string"?w.defaultValue:Array.isArray(_)?_[_.length-1]:_,b=[g,{},!1];return b.t=g,b.i18n={},b.ready=!1,b}o.options.react&&o.options.react.wait!==void 0&&Pw("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Qle(),...o.options.react,...t},{useSuspense:a,keyPrefix:l}=s;let u=e||i||o.options&&o.options.defaultNS;u=typeof u=="string"?[u]:u||["translation"],o.reportNamespaces.addUsedNamespaces&&o.reportNamespaces.addUsedNamespaces(u);const c=(o.isInitialized||o.initializedStoreOnce)&&u.every(g=>Hle(g,o,s));function d(){return o.getFixedT(t.lng||null,s.nsMode==="fallback"?u:u[0],l)}const[f,h]=E.useState(d);let p=u.join();t.lng&&(p=`${t.lng}${p}`);const m=rue(p),S=E.useRef(!0);E.useEffect(()=>{const{bindI18n:g,bindI18nStore:b}=s;S.current=!0,!c&&!a&&(t.lng?k6(o,t.lng,u,()=>{S.current&&h(d)}):P6(o,u,()=>{S.current&&h(d)})),c&&m&&m!==p&&S.current&&h(d);function _(){S.current&&h(d)}return g&&o&&o.on(g,_),b&&o&&o.store.on(b,_),()=>{S.current=!1,g&&o&&g.split(" ").forEach(w=>o.off(w,_)),b&&o&&b.split(" ").forEach(w=>o.store.off(w,_))}},[o,p]);const v=E.useRef(!0);E.useEffect(()=>{S.current&&!v.current&&h(d),v.current=!1},[o,l]);const y=[f,o,c];if(y.t=f,y.i18n=o,y.ready=c,c||!c&&!a)return y;throw new Promise(g=>{t.lng?k6(o,t.lng,u,()=>g()):P6(o,u,()=>g())})}var aD={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},A6=ze.createContext&&ze.createContext(aD),na=globalThis&&globalThis.__assign||function(){return na=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{role:n,tooltip:r="",tooltipProps:i,isChecked:o,...s}=e;return j.jsx(Q5,{label:r,hasArrow:!0,...i,...i!=null&&i.placement?{placement:i.placement}:{placement:"top"},children:j.jsx(SN,{ref:t,role:n,colorScheme:o?"accent":"base",...s})})});uD.displayName="IAIIconButton";const lue=E.memo(uD),uue=e=>{const[t,n]=E.useState(!1),{label:r,value:i,min:o=1,max:s=100,step:a=1,onChange:l,tooltipSuffix:u="",withSliderMarks:c=!1,withInput:d=!1,isInteger:f=!1,inputWidth:h=16,withReset:p=!1,hideTooltip:m=!1,isCompact:S=!1,isDisabled:v=!1,sliderMarks:y,handleReset:g,sliderFormControlProps:b,sliderFormLabelProps:_,sliderMarkProps:w,sliderTrackProps:x,sliderThumbProps:C,sliderNumberInputProps:k,sliderNumberInputFieldProps:P,sliderNumberInputStepperProps:A,sliderTooltipProps:$,sliderIAIIconButtonProps:N,...T}=e,O=qc(),{t:I}=sD(),[M,R]=E.useState(String(i));E.useEffect(()=>{R(i)},[i]);const D=E.useMemo(()=>k!=null&&k.max?k.max:s,[s,k==null?void 0:k.max]),L=E.useCallback(F=>{l(F)},[l]),V=E.useCallback(F=>{F.target.value===""&&(F.target.value=String(o));const q=Xo(f?Math.floor(Number(F.target.value)):Number(M),o,D),Q=zd(q,a);l(Q),R(Q)},[f,M,o,D,l,a]),z=E.useCallback(F=>{console.log("input"),R(F)},[]),U=E.useCallback(()=>{g&&g()},[g]),K=E.useCallback(F=>{F.target instanceof HTMLDivElement&&F.target.focus()},[]),W=E.useCallback(F=>{F.shiftKey&&O(T6(!0))},[O]),X=E.useCallback(F=>{F.shiftKey||O(T6(!1))},[O]);return j.jsxs(wN,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:v,...b,children:[r&&j.jsx(xN,{sx:d?{mb:-1.5}:{},..._,children:r}),j.jsxs(IN,{w:"100%",gap:2,alignItems:"center",children:[j.jsxs(ZN,{"aria-label":r,value:i,min:o,max:s,step:a,onChange:L,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:v,...T,children:[c&&!y&&j.jsxs(j.Fragment,{children:[j.jsx(du,{value:o,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...w,children:o}),j.jsx(du,{value:s,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...w,children:s})]}),c&&y&&j.jsx(j.Fragment,{children:y.map((F,q)=>q===0?j.jsx(du,{value:F,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...w,children:F},F):q===y.length-1?j.jsx(du,{value:F,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...w,children:F},F):j.jsx(du,{value:F,sx:{transform:"translateX(-50%)"},...w,children:F},F))}),j.jsx(eD,{...x,children:j.jsx(tD,{})}),j.jsx(Q5,{hasArrow:!0,placement:"top",isOpen:t,label:`${i}${u}`,hidden:m,...$,children:j.jsx(JN,{...C,zIndex:0})})]}),d&&j.jsxs(UN,{min:o,max:D,step:a,value:M,onChange:z,onBlur:V,focusInputOnChange:!1,...k,children:[j.jsx(HN,{onKeyDown:W,onKeyUp:X,minWidth:h,...P}),j.jsxs(GN,{...A,children:[j.jsx(KN,{onClick:()=>l(Number(M))}),j.jsx(WN,{onClick:()=>l(Number(M))})]})]}),p&&j.jsx(lue,{size:"sm","aria-label":I("accessibility.reset"),tooltip:I("accessibility.reset"),icon:j.jsx(aue,{}),isDisabled:v,onClick:U,...N})]})]})},cue=E.memo(uue),Hd={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}};function xTe(){const e=cy(l=>l.generation.clipSkip),{model:t}=cy(l=>l.generation),n=qc(),{t:r}=sD(),i=E.useCallback(l=>{n(I6(l))},[n]),o=E.useCallback(()=>{n(I6(0))},[n]),s=E.useMemo(()=>t?Hd[t.base_model].maxClip:Hd["sd-1"].maxClip,[t]),a=E.useMemo(()=>t?Hd[t.base_model].markers:Hd["sd-1"].markers,[t]);return j.jsx(cue,{label:r("parameters.clipSkip"),"aria-label":r("parameters.clipSkip"),min:0,max:s,step:1,value:e,onChange:i,withSliderMarks:!0,sliderMarks:a,withInput:!0,withReset:!0,handleReset:o})}var Qe;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(Qe||(Qe={}));var Aw;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Aw||(Aw={}));const le=Qe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),js=e=>{switch(typeof e){case"undefined":return le.undefined;case"string":return le.string;case"number":return isNaN(e)?le.nan:le.number;case"boolean":return le.boolean;case"function":return le.function;case"bigint":return le.bigint;case"symbol":return le.symbol;case"object":return Array.isArray(e)?le.array:e===null?le.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?le.promise:typeof Map<"u"&&e instanceof Map?le.map:typeof Set<"u"&&e instanceof Set?le.set:typeof Date<"u"&&e instanceof Date?le.date:le.object;default:return le.unknown}},re=Qe.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),due=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class $i extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}$i.create=e=>new $i(e);const oh=(e,t)=>{let n;switch(e.code){case re.invalid_type:e.received===le.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case re.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Qe.jsonStringifyReplacer)}`;break;case re.unrecognized_keys:n=`Unrecognized key(s) in object: ${Qe.joinValues(e.keys,", ")}`;break;case re.invalid_union:n="Invalid input";break;case re.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Qe.joinValues(e.options)}`;break;case re.invalid_enum_value:n=`Invalid enum value. Expected ${Qe.joinValues(e.options)}, received '${e.received}'`;break;case re.invalid_arguments:n="Invalid function arguments";break;case re.invalid_return_type:n="Invalid function return type";break;case re.invalid_date:n="Invalid date";break;case re.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Qe.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case re.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case re.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case re.custom:n="Invalid input";break;case re.invalid_intersection_types:n="Intersection results could not be merged";break;case re.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case re.not_finite:n="Number must be finite";break;default:n=t.defaultError,Qe.assertNever(e)}return{message:n}};let cD=oh;function fue(e){cD=e}function Ey(){return cD}const Py=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},hue=[];function ce(e,t){const n=Py({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,Ey(),oh].filter(r=>!!r)});e.common.issues.push(n)}class er{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return Ce;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return er.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return Ce;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const Ce=Object.freeze({status:"aborted"}),dD=e=>({status:"dirty",value:e}),pr=e=>({status:"valid",value:e}),Ow=e=>e.status==="aborted",Rw=e=>e.status==="dirty",ky=e=>e.status==="valid",Ay=e=>typeof Promise<"u"&&e instanceof Promise;var be;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(be||(be={}));class xo{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const O6=(e,t)=>{if(ky(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new $i(e.common.issues);return this._error=n,this._error}}};function Oe(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class Re{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return js(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:js(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new er,ctx:{common:t.parent.common,data:t.data,parsedType:js(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(Ay(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:js(t)},o=this._parseSync({data:t,path:i.path,parent:i});return O6(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:js(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(Ay(i)?i:Promise.resolve(i));return O6(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:re.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new Ui({schema:this,typeName:xe.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return ns.create(this,this._def)}nullable(){return vl.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Fi.create(this,this._def)}promise(){return kc.create(this,this._def)}or(t){return uh.create([this,t],this._def)}and(t){return ch.create(this,t,this._def)}transform(t){return new Ui({...Oe(this._def),schema:this,typeName:xe.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new gh({...Oe(this._def),innerType:this,defaultValue:n,typeName:xe.ZodDefault})}brand(){return new hD({typeName:xe.ZodBranded,type:this,...Oe(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new My({...Oe(this._def),innerType:this,catchValue:n,typeName:xe.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return dp.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const pue=/^c[^\s-]{8,}$/i,gue=/^[a-z][a-z0-9]*$/,mue=/[0-9A-HJKMNP-TV-Z]{26}/,yue=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,vue=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,bue=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,Sue=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,_ue=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,wue=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function xue(e,t){return!!((t==="v4"||!t)&&Sue.test(e)||(t==="v6"||!t)&&_ue.test(e))}class Ii extends Re{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:re.invalid_string,...be.errToObj(r)}),this.nonempty=t=>this.min(1,be.errToObj(t)),this.trim=()=>new Ii({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new Ii({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new Ii({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==le.string){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_type,expected:le.string,received:o.parsedType}),Ce}const r=new er;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),ce(i,{code:re.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...be.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...be.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...be.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...be.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...be.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...be.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...be.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...be.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Ii({checks:[],typeName:xe.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Oe(e)})};function Cue(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class pa extends Re{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==le.number){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_type,expected:le.number,received:o.parsedType}),Ce}let r;const i=new er;for(const o of this._def.checks)o.kind==="int"?Qe.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),ce(r,{code:re.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),ce(r,{code:re.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?Cue(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),ce(r,{code:re.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),ce(r,{code:re.not_finite,message:o.message}),i.dirty()):Qe.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,be.toString(n))}gt(t,n){return this.setLimit("min",t,!1,be.toString(n))}lte(t,n){return this.setLimit("max",t,!0,be.toString(n))}lt(t,n){return this.setLimit("max",t,!1,be.toString(n))}setLimit(t,n,r,i){return new pa({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:be.toString(i)}]})}_addCheck(t){return new pa({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:be.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:be.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:be.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:be.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:be.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:be.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:be.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:be.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:be.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&Qe.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew pa({checks:[],typeName:xe.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Oe(e)});class ga extends Re{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==le.bigint){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_type,expected:le.bigint,received:o.parsedType}),Ce}let r;const i=new er;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),ce(r,{code:re.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),ce(r,{code:re.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):Qe.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,be.toString(n))}gt(t,n){return this.setLimit("min",t,!1,be.toString(n))}lte(t,n){return this.setLimit("max",t,!0,be.toString(n))}lt(t,n){return this.setLimit("max",t,!1,be.toString(n))}setLimit(t,n,r,i){return new ga({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:be.toString(i)}]})}_addCheck(t){return new ga({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:be.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:be.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:be.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:be.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:be.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new ga({checks:[],typeName:xe.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Oe(e)})};class sh extends Re{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==le.boolean){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.boolean,received:r.parsedType}),Ce}return pr(t.data)}}sh.create=e=>new sh({typeName:xe.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Oe(e)});class ml extends Re{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==le.date){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_type,expected:le.date,received:o.parsedType}),Ce}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_date}),Ce}const r=new er;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),ce(i,{code:re.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):Qe.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new ml({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:be.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:be.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew ml({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:xe.ZodDate,...Oe(e)});class Oy extends Re{_parse(t){if(this._getType(t)!==le.symbol){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.symbol,received:r.parsedType}),Ce}return pr(t.data)}}Oy.create=e=>new Oy({typeName:xe.ZodSymbol,...Oe(e)});class ah extends Re{_parse(t){if(this._getType(t)!==le.undefined){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.undefined,received:r.parsedType}),Ce}return pr(t.data)}}ah.create=e=>new ah({typeName:xe.ZodUndefined,...Oe(e)});class lh extends Re{_parse(t){if(this._getType(t)!==le.null){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.null,received:r.parsedType}),Ce}return pr(t.data)}}lh.create=e=>new lh({typeName:xe.ZodNull,...Oe(e)});class Pc extends Re{constructor(){super(...arguments),this._any=!0}_parse(t){return pr(t.data)}}Pc.create=e=>new Pc({typeName:xe.ZodAny,...Oe(e)});class ol extends Re{constructor(){super(...arguments),this._unknown=!0}_parse(t){return pr(t.data)}}ol.create=e=>new ol({typeName:xe.ZodUnknown,...Oe(e)});class fs extends Re{_parse(t){const n=this._getOrReturnCtx(t);return ce(n,{code:re.invalid_type,expected:le.never,received:n.parsedType}),Ce}}fs.create=e=>new fs({typeName:xe.ZodNever,...Oe(e)});class Ry extends Re{_parse(t){if(this._getType(t)!==le.undefined){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.void,received:r.parsedType}),Ce}return pr(t.data)}}Ry.create=e=>new Ry({typeName:xe.ZodVoid,...Oe(e)});class Fi extends Re{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==le.array)return ce(n,{code:re.invalid_type,expected:le.array,received:n.parsedType}),Ce;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(ce(n,{code:re.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new xo(n,s,n.path,a)))).then(s=>er.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new xo(n,s,n.path,a)));return er.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Fi({...this._def,minLength:{value:t,message:be.toString(n)}})}max(t,n){return new Fi({...this._def,maxLength:{value:t,message:be.toString(n)}})}length(t,n){return new Fi({...this._def,exactLength:{value:t,message:be.toString(n)}})}nonempty(t){return this.min(1,t)}}Fi.create=(e,t)=>new Fi({type:e,minLength:null,maxLength:null,exactLength:null,typeName:xe.ZodArray,...Oe(t)});function fu(e){if(e instanceof It){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=ns.create(fu(r))}return new It({...e._def,shape:()=>t})}else return e instanceof Fi?new Fi({...e._def,type:fu(e.element)}):e instanceof ns?ns.create(fu(e.unwrap())):e instanceof vl?vl.create(fu(e.unwrap())):e instanceof Co?Co.create(e.items.map(t=>fu(t))):e}class It extends Re{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=Qe.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==le.object){const u=this._getOrReturnCtx(t);return ce(u,{code:re.invalid_type,expected:le.object,received:u.parsedType}),Ce}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof fs&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const c=o[u],d=i.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new xo(i,d,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof fs){const u=this._def.unknownKeys;if(u==="passthrough")for(const c of a)l.push({key:{status:"valid",value:c},value:{status:"valid",value:i.data[c]}});else if(u==="strict")a.length>0&&(ce(i,{code:re.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const c of a){const d=i.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new xo(i,d,i.path,c)),alwaysSet:c in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const c of l){const d=await c.key;u.push({key:d,value:await c.value,alwaysSet:c.alwaysSet})}return u}).then(u=>er.mergeObjectSync(r,u)):er.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return be.errToObj,new It({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=be.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new It({...this._def,unknownKeys:"strip"})}passthrough(){return new It({...this._def,unknownKeys:"passthrough"})}extend(t){return new It({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new It({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:xe.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new It({...this._def,catchall:t})}pick(t){const n={};return Qe.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new It({...this._def,shape:()=>n})}omit(t){const n={};return Qe.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new It({...this._def,shape:()=>n})}deepPartial(){return fu(this)}partial(t){const n={};return Qe.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new It({...this._def,shape:()=>n})}required(t){const n={};return Qe.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof ns;)o=o._def.innerType;n[r]=o}}),new It({...this._def,shape:()=>n})}keyof(){return fD(Qe.objectKeys(this.shape))}}It.create=(e,t)=>new It({shape:()=>e,unknownKeys:"strip",catchall:fs.create(),typeName:xe.ZodObject,...Oe(t)});It.strictCreate=(e,t)=>new It({shape:()=>e,unknownKeys:"strict",catchall:fs.create(),typeName:xe.ZodObject,...Oe(t)});It.lazycreate=(e,t)=>new It({shape:e,unknownKeys:"strip",catchall:fs.create(),typeName:xe.ZodObject,...Oe(t)});class uh extends Re{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new $i(a.ctx.common.issues));return ce(n,{code:re.invalid_union,unionErrors:s}),Ce}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},c=l._parseSync({data:n.data,path:n.path,parent:u});if(c.status==="valid")return c;c.status==="dirty"&&!o&&(o={result:c,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new $i(l));return ce(n,{code:re.invalid_union,unionErrors:a}),Ce}}get options(){return this._def.options}}uh.create=(e,t)=>new uh({options:e,typeName:xe.ZodUnion,...Oe(t)});const fm=e=>e instanceof fh?fm(e.schema):e instanceof Ui?fm(e.innerType()):e instanceof hh?[e.value]:e instanceof ma?e.options:e instanceof ph?Object.keys(e.enum):e instanceof gh?fm(e._def.innerType):e instanceof ah?[void 0]:e instanceof lh?[null]:null;class jv extends Re{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==le.object)return ce(n,{code:re.invalid_type,expected:le.object,received:n.parsedType}),Ce;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(ce(n,{code:re.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Ce)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=fm(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new jv({typeName:xe.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Oe(r)})}}function Iw(e,t){const n=js(e),r=js(t);if(e===t)return{valid:!0,data:e};if(n===le.object&&r===le.object){const i=Qe.objectKeys(t),o=Qe.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=Iw(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===le.array&&r===le.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(Ow(o)||Ow(s))return Ce;const a=Iw(o.value,s.value);return a.valid?((Rw(o)||Rw(s))&&n.dirty(),{status:n.value,value:a.data}):(ce(r,{code:re.invalid_intersection_types}),Ce)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}ch.create=(e,t,n)=>new ch({left:e,right:t,typeName:xe.ZodIntersection,...Oe(n)});class Co extends Re{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==le.array)return ce(r,{code:re.invalid_type,expected:le.array,received:r.parsedType}),Ce;if(r.data.lengththis._def.items.length&&(ce(r,{code:re.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new xo(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>er.mergeArray(n,s)):er.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new Co({...this._def,rest:t})}}Co.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Co({items:e,typeName:xe.ZodTuple,rest:null,...Oe(t)})};class dh extends Re{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==le.object)return ce(r,{code:re.invalid_type,expected:le.object,received:r.parsedType}),Ce;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new xo(r,a,r.path,a)),value:s._parse(new xo(r,r.data[a],r.path,a))});return r.common.async?er.mergeObjectAsync(n,i):er.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Re?new dh({keyType:t,valueType:n,typeName:xe.ZodRecord,...Oe(r)}):new dh({keyType:Ii.create(),valueType:t,typeName:xe.ZodRecord,...Oe(n)})}}class Iy extends Re{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==le.map)return ce(r,{code:re.invalid_type,expected:le.map,received:r.parsedType}),Ce;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new xo(r,a,r.path,[u,"key"])),value:o._parse(new xo(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,c=await l.value;if(u.status==="aborted"||c.status==="aborted")return Ce;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,c=l.value;if(u.status==="aborted"||c.status==="aborted")return Ce;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}}Iy.create=(e,t,n)=>new Iy({valueType:t,keyType:e,typeName:xe.ZodMap,...Oe(n)});class yl extends Re{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==le.set)return ce(r,{code:re.invalid_type,expected:le.set,received:r.parsedType}),Ce;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(ce(r,{code:re.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const c of l){if(c.status==="aborted")return Ce;c.status==="dirty"&&n.dirty(),u.add(c.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new xo(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new yl({...this._def,minSize:{value:t,message:be.toString(n)}})}max(t,n){return new yl({...this._def,maxSize:{value:t,message:be.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}yl.create=(e,t)=>new yl({valueType:e,minSize:null,maxSize:null,typeName:xe.ZodSet,...Oe(t)});class Qu extends Re{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==le.function)return ce(n,{code:re.invalid_type,expected:le.function,received:n.parsedType}),Ce;function r(a,l){return Py({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ey(),oh].filter(u=>!!u),issueData:{code:re.invalid_arguments,argumentsError:l}})}function i(a,l){return Py({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ey(),oh].filter(u=>!!u),issueData:{code:re.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof kc?pr(async(...a)=>{const l=new $i([]),u=await this._def.args.parseAsync(a,o).catch(f=>{throw l.addIssue(r(a,f)),l}),c=await s(...u);return await this._def.returns._def.type.parseAsync(c,o).catch(f=>{throw l.addIssue(i(c,f)),l})}):pr((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new $i([r(a,l.error)]);const u=s(...l.data),c=this._def.returns.safeParse(u,o);if(!c.success)throw new $i([i(u,c.error)]);return c.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Qu({...this._def,args:Co.create(t).rest(ol.create())})}returns(t){return new Qu({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Qu({args:t||Co.create([]).rest(ol.create()),returns:n||ol.create(),typeName:xe.ZodFunction,...Oe(r)})}}class fh extends Re{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}fh.create=(e,t)=>new fh({getter:e,typeName:xe.ZodLazy,...Oe(t)});class hh extends Re{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return ce(n,{received:n.data,code:re.invalid_literal,expected:this._def.value}),Ce}return{status:"valid",value:t.data}}get value(){return this._def.value}}hh.create=(e,t)=>new hh({value:e,typeName:xe.ZodLiteral,...Oe(t)});function fD(e,t){return new ma({values:e,typeName:xe.ZodEnum,...Oe(t)})}class ma extends Re{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return ce(n,{expected:Qe.joinValues(r),received:n.parsedType,code:re.invalid_type}),Ce}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return ce(n,{received:n.data,code:re.invalid_enum_value,options:r}),Ce}return pr(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return ma.create(t)}exclude(t){return ma.create(this.options.filter(n=>!t.includes(n)))}}ma.create=fD;class ph extends Re{_parse(t){const n=Qe.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==le.string&&r.parsedType!==le.number){const i=Qe.objectValues(n);return ce(r,{expected:Qe.joinValues(i),received:r.parsedType,code:re.invalid_type}),Ce}if(n.indexOf(t.data)===-1){const i=Qe.objectValues(n);return ce(r,{received:r.data,code:re.invalid_enum_value,options:i}),Ce}return pr(t.data)}get enum(){return this._def.values}}ph.create=(e,t)=>new ph({values:e,typeName:xe.ZodNativeEnum,...Oe(t)});class kc extends Re{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==le.promise&&n.common.async===!1)return ce(n,{code:re.invalid_type,expected:le.promise,received:n.parsedType}),Ce;const r=n.parsedType===le.promise?n.data:Promise.resolve(n.data);return pr(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}kc.create=(e,t)=>new kc({type:e,typeName:xe.ZodPromise,...Oe(t)});class Ui extends Re{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===xe.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{ce(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?Ce:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?Ce:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!ky(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>ky(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);Qe.assertNever(i)}}Ui.create=(e,t,n)=>new Ui({schema:e,typeName:xe.ZodEffects,effect:t,...Oe(n)});Ui.createWithPreprocess=(e,t,n)=>new Ui({schema:t,effect:{type:"preprocess",transform:e},typeName:xe.ZodEffects,...Oe(n)});class ns extends Re{_parse(t){return this._getType(t)===le.undefined?pr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ns.create=(e,t)=>new ns({innerType:e,typeName:xe.ZodOptional,...Oe(t)});class vl extends Re{_parse(t){return this._getType(t)===le.null?pr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}vl.create=(e,t)=>new vl({innerType:e,typeName:xe.ZodNullable,...Oe(t)});class gh extends Re{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===le.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}gh.create=(e,t)=>new gh({innerType:e,typeName:xe.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Oe(t)});class My extends Re{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Ay(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new $i(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new $i(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}My.create=(e,t)=>new My({innerType:e,typeName:xe.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Oe(t)});class Ny extends Re{_parse(t){if(this._getType(t)!==le.nan){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.nan,received:r.parsedType}),Ce}return{status:"valid",value:t.data}}}Ny.create=e=>new Ny({typeName:xe.ZodNaN,...Oe(e)});const Tue=Symbol("zod_brand");class hD extends Re{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class dp extends Re{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?Ce:o.status==="dirty"?(n.dirty(),dD(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?Ce:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new dp({in:t,out:n,typeName:xe.ZodPipeline})}}const pD=(e,t={},n)=>e?Pc.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):Pc.create(),Eue={object:It.lazycreate};var xe;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(xe||(xe={}));const Pue=(e,t={message:`Input not instance of ${e.name}`})=>pD(n=>n instanceof e,t),gD=Ii.create,mD=pa.create,kue=Ny.create,Aue=ga.create,yD=sh.create,Oue=ml.create,Rue=Oy.create,Iue=ah.create,Mue=lh.create,Nue=Pc.create,Due=ol.create,Lue=fs.create,$ue=Ry.create,Fue=Fi.create,Bue=It.create,jue=It.strictCreate,Vue=uh.create,zue=jv.create,Uue=ch.create,Gue=Co.create,Hue=dh.create,que=Iy.create,Wue=yl.create,Kue=Qu.create,Yue=fh.create,Xue=hh.create,Que=ma.create,Zue=ph.create,Jue=kc.create,R6=Ui.create,ece=ns.create,tce=vl.create,nce=Ui.createWithPreprocess,rce=dp.create,ice=()=>gD().optional(),oce=()=>mD().optional(),sce=()=>yD().optional(),ace={string:e=>Ii.create({...e,coerce:!0}),number:e=>pa.create({...e,coerce:!0}),boolean:e=>sh.create({...e,coerce:!0}),bigint:e=>ga.create({...e,coerce:!0}),date:e=>ml.create({...e,coerce:!0})},lce=Ce;var Pn=Object.freeze({__proto__:null,defaultErrorMap:oh,setErrorMap:fue,getErrorMap:Ey,makeIssue:Py,EMPTY_PATH:hue,addIssueToContext:ce,ParseStatus:er,INVALID:Ce,DIRTY:dD,OK:pr,isAborted:Ow,isDirty:Rw,isValid:ky,isAsync:Ay,get util(){return Qe},get objectUtil(){return Aw},ZodParsedType:le,getParsedType:js,ZodType:Re,ZodString:Ii,ZodNumber:pa,ZodBigInt:ga,ZodBoolean:sh,ZodDate:ml,ZodSymbol:Oy,ZodUndefined:ah,ZodNull:lh,ZodAny:Pc,ZodUnknown:ol,ZodNever:fs,ZodVoid:Ry,ZodArray:Fi,ZodObject:It,ZodUnion:uh,ZodDiscriminatedUnion:jv,ZodIntersection:ch,ZodTuple:Co,ZodRecord:dh,ZodMap:Iy,ZodSet:yl,ZodFunction:Qu,ZodLazy:fh,ZodLiteral:hh,ZodEnum:ma,ZodNativeEnum:ph,ZodPromise:kc,ZodEffects:Ui,ZodTransformer:Ui,ZodOptional:ns,ZodNullable:vl,ZodDefault:gh,ZodCatch:My,ZodNaN:Ny,BRAND:Tue,ZodBranded:hD,ZodPipeline:dp,custom:pD,Schema:Re,ZodSchema:Re,late:Eue,get ZodFirstPartyTypeKind(){return xe},coerce:ace,any:Nue,array:Fue,bigint:Aue,boolean:yD,date:Oue,discriminatedUnion:zue,effect:R6,enum:Que,function:Kue,instanceof:Pue,intersection:Uue,lazy:Yue,literal:Xue,map:que,nan:kue,nativeEnum:Zue,never:Lue,null:Mue,nullable:tce,number:mD,object:Bue,oboolean:sce,onumber:oce,optional:ece,ostring:ice,pipeline:rce,preprocess:nce,promise:Jue,record:Hue,set:Wue,strictObject:jue,string:gD,symbol:Rue,transformer:R6,tuple:Gue,undefined:Iue,union:Vue,unknown:Due,void:$ue,NEVER:lce,ZodIssueCode:re,quotelessJson:due,ZodError:$i});const uce=Pn.string(),CTe=e=>uce.safeParse(e).success,cce=Pn.string(),TTe=e=>cce.safeParse(e).success,dce=Pn.number().int().min(1),ETe=e=>dce.safeParse(e).success,fce=Pn.number().min(1),PTe=e=>fce.safeParse(e).success,hce=Pn.enum(f7),kTe=e=>hce.safeParse(e).success,pce=Pn.number().int().min(0).max(yZ),ATe=e=>pce.safeParse(e).success,gce=Pn.number().multipleOf(8).min(64),OTe=e=>gce.safeParse(e).success,mce=Pn.number().multipleOf(8).min(64),RTe=e=>mce.safeParse(e).success,Vv=Pn.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),zv=Pn.object({model_name:Pn.string().min(1),base_model:Vv}),ITe=e=>zv.safeParse(e).success,yce=Pn.object({model_name:Pn.string().min(1),base_model:Vv}),MTe=Pn.object({model_name:Pn.string().min(1),base_model:Vv}),NTe=Pn.object({model_name:Pn.string().min(1),base_model:Vv}),vce=Pn.number().min(0).max(1),DTe=e=>vce.safeParse(e).success,Nl={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:mZ,seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0},bce=Nl,vD=zt({name:"generation",initialState:bce,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=Xo(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=Xo(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...Nl}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=Hd[e.model.base_model];e.clipSkip=Xo(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload}},extraReducers:e=>{e.addCase(vZ,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=zv.safeParse({model_name:a,base_model:o});l.success&&(t.model=l.data)}}),e.addCase(Tce,(t,n)=>{n.payload||(t.clipSkip=0)}),e.addCase(xD,(t,n)=>{const r=n.payload;r&&(t.height=io(t.width/r,8))})}}),{clampSymmetrySteps:LTe,clearInitialImage:bD,resetParametersState:$Te,resetSeed:FTe,setCfgScale:BTe,setWidth:jTe,setHeight:VTe,toggleSize:zTe,setImg2imgStrength:UTe,setInfillMethod:Sce,setIterations:GTe,setPerlin:HTe,setPositivePrompt:qTe,setNegativePrompt:WTe,setScheduler:KTe,setSeamBlur:YTe,setSeamSize:XTe,setSeamSteps:QTe,setSeamStrength:ZTe,setSeed:JTe,setSeedWeights:eEe,setShouldFitToWidthHeight:tEe,setShouldGenerateVariations:nEe,setShouldRandomizeSeed:rEe,setSteps:iEe,setThreshold:oEe,setTileSize:sEe,setVariationAmount:aEe,setShouldUseSymmetry:lEe,setHorizontalSymmetrySteps:uEe,setVerticalSymmetrySteps:cEe,initialImageChanged:Uv,modelChanged:hm,vaeSelected:SD,setShouldUseNoiseSettings:dEe,setSeamlessXAxis:fEe,setSeamlessYAxis:hEe,setClipSkip:I6,shouldUseCpuNoiseChanged:pEe}=vD.actions,_ce=vD.reducer,wce=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],M6=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=wce.indexOf(t)},_D={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,addNewModelUIOption:null,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,shouldShowAdvancedOptions:!1,aspectRatio:null,favoriteSchedulers:[]},wD=zt({name:"ui",initialState:_D,reducers:{setActiveTab:(e,t)=>{M6(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setAddNewModelUIOption:(e,t)=>{e.addNewModelUIOption=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload},setAspectRatio:(e,t)=>{e.aspectRatio=t.payload}},extraReducers(e){e.addCase(Uv,t=>{M6(t,"img2img")})}}),{setActiveTab:xce,setShouldPinParametersPanel:gEe,setShouldShowParametersPanel:mEe,setShouldShowImageDetails:yEe,setShouldUseCanvasBetaLayout:Cce,setShouldShowExistingModelsInSearch:vEe,setShouldUseSliders:bEe,setAddNewModelUIOption:SEe,setShouldHidePreview:_Ee,setShouldShowGallery:wEe,togglePanels:xEe,togglePinGalleryPanel:CEe,togglePinParametersPanel:TEe,toggleParametersPanel:EEe,toggleGalleryPanel:PEe,setShouldShowProgressInViewer:kEe,favoriteSchedulersChanged:AEe,toggleEmbeddingPicker:OEe,setShouldShowAdvancedOptions:Tce,setAspectRatio:xD}=wD.actions,Ece=wD.reducer,Gv=Vf.withTypes(),Kc={memoizeOptions:{resultEqualityCheck:n7}},Hv=e=>e.system,Pce=e=>e.system.toastQueue;Vn(Hv,e=>{const{model_list:t}=e,n=vv(t,(r,i,o)=>(i.status==="active"&&(r=o),r),"");return{...t[n],name:n}},Kc);Vn(Hv,e=>{const{model_list:t}=e;return UQ(t,(r,i)=>{if(r.format==="diffusers")return{name:i,...r}})},Kc);const REe=Vn(Hv,e=>e.language,Kc),IEe=Vn(e=>e,e=>e.system.isProcessing||!e.system.isConnected);var Ac={},CD={},bl={};Object.defineProperty(bl,"__esModule",{value:!0});bl.ROARR_LOG_FORMAT_VERSION=bl.ROARR_VERSION=void 0;bl.ROARR_VERSION="5.0.0";bl.ROARR_LOG_FORMAT_VERSION="2.0.0";var fp={};Object.defineProperty(fp,"__esModule",{value:!0});fp.logLevels=void 0;fp.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var TD={},qv={};Object.defineProperty(qv,"__esModule",{value:!0});qv.hasOwnProperty=void 0;const kce=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);qv.hasOwnProperty=kce;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=qv;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(TD);var ED={},Wv={},Z5={},Kv={};Object.defineProperty(Kv,"__esModule",{value:!0});Kv.boolean=void 0;const Ace=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};Kv.boolean=Ace;var Yv={};Object.defineProperty(Yv,"__esModule",{value:!0});Yv.isBooleanable=void 0;const Oce=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};Yv.isBooleanable=Oce;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=Kv;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=Yv;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(Z5);var Xv={};Object.defineProperty(Xv,"__esModule",{value:!0});Xv.tokenize=void 0;const Rce=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,Ice=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=Rce.exec(e))!==null;){t.index>i&&(o={literal:e.slice(i,t.index),type:"literal"},n.push(o));const s=t[0];i=t.index+s.length,s==="\\%"||s==="%%"?o&&o.type==="literal"?o.literal+="%":(o={literal:"%",type:"literal"},n.push(o)):t.groups&&(o={conversion:t.groups.conversion,flag:t.groups.flag||null,placeholder:s,position:t.groups.position?Number.parseInt(t.groups.position,10)-1:r++,precision:t.groups.precision?Number.parseInt(t.groups.precision.slice(1),10):null,type:"placeholder",width:t.groups.width?Number.parseInt(t.groups.width,10):null},n.push(o))}return i<=e.length-1&&(o&&o.type==="literal"?o.literal+=e.slice(i):n.push({literal:e.slice(i),type:"literal"})),n};Xv.tokenize=Ice;Object.defineProperty(Wv,"__esModule",{value:!0});Wv.createPrintf=void 0;const N6=Z5,Mce=Xv,Nce=(e,t)=>t.placeholder,Dce=e=>{var t;const n=(o,s,a)=>a==="-"?o.padEnd(s," "):a==="-+"?((Number(o)>=0?"+":"")+o).padEnd(s," "):a==="+"?((Number(o)>=0?"+":"")+o).padStart(s," "):a==="0"?o.padStart(s,"0"):o.padStart(s," "),r=(t=e==null?void 0:e.formatUnboundExpression)!==null&&t!==void 0?t:Nce,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=Mce.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let c=s[u.position];if(c===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=N6.boolean(c)?"true":"false";else if(u.conversion==="B")l+=N6.boolean(c)?"TRUE":"FALSE";else if(u.conversion==="c")l+=c;else if(u.conversion==="C")l+=String(c).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")c=String(Math.trunc(c)),u.width!==null&&(c=n(c,u.width,u.flag)),l+=c;else if(u.conversion==="e")l+=Number(c).toExponential();else if(u.conversion==="E")l+=Number(c).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(c=Number(c).toFixed(u.precision)),u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else if(u.conversion==="o")l+=(Number.parseInt(String(c),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else if(u.conversion==="S")u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=String(c).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(c),10)>>>0;else if(u.conversion==="x")c=(Number.parseInt(String(c),10)>>>0).toString(16),u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else throw new Error("Unknown format specifier.")}return l}};Wv.createPrintf=Dce;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=Wv;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(ED);var D6=Object.prototype.toString,PD=function(t){var n=D6.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&D6.call(t.callee)==="[object Function]"),r},XS,L6;function Lce(){if(L6)return XS;L6=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=PD,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(f){var h=f.constructor;return h&&h.prototype===f},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},c=function(){if(typeof window>"u")return!1;for(var f in window)try{if(!u["$"+f]&&t.call(window,f)&&window[f]!==null&&typeof window[f]=="object")try{l(window[f])}catch{return!0}}catch{return!0}return!1}(),d=function(f){if(typeof window>"u"||!c)return l(f);try{return l(f)}catch{return!1}};e=function(h){var p=h!==null&&typeof h=="object",m=n.call(h)==="[object Function]",S=r(h),v=p&&n.call(h)==="[object String]",y=[];if(!p&&!m&&!S)throw new TypeError("Object.keys called on a non-object");var g=s&&m;if(v&&h.length>0&&!t.call(h,0))for(var b=0;b0)for(var _=0;_"u"||!Sn?Ve:Sn(Uint8Array),al={"%AggregateError%":typeof AggregateError>"u"?Ve:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?Ve:ArrayBuffer,"%ArrayIteratorPrototype%":Zl&&Sn?Sn([][Symbol.iterator]()):Ve,"%AsyncFromSyncIteratorPrototype%":Ve,"%AsyncFunction%":hu,"%AsyncGenerator%":hu,"%AsyncGeneratorFunction%":hu,"%AsyncIteratorPrototype%":hu,"%Atomics%":typeof Atomics>"u"?Ve:Atomics,"%BigInt%":typeof BigInt>"u"?Ve:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?Ve:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?Ve:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?Ve:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?Ve:Float32Array,"%Float64Array%":typeof Float64Array>"u"?Ve:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?Ve:FinalizationRegistry,"%Function%":AD,"%GeneratorFunction%":hu,"%Int8Array%":typeof Int8Array>"u"?Ve:Int8Array,"%Int16Array%":typeof Int16Array>"u"?Ve:Int16Array,"%Int32Array%":typeof Int32Array>"u"?Ve:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Zl&&Sn?Sn(Sn([][Symbol.iterator]())):Ve,"%JSON%":typeof JSON=="object"?JSON:Ve,"%Map%":typeof Map>"u"?Ve:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Zl||!Sn?Ve:Sn(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?Ve:Promise,"%Proxy%":typeof Proxy>"u"?Ve:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?Ve:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?Ve:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Zl||!Sn?Ve:Sn(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?Ve:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Zl&&Sn?Sn(""[Symbol.iterator]()):Ve,"%Symbol%":Zl?Symbol:Ve,"%SyntaxError%":Oc,"%ThrowTypeError%":Zce,"%TypedArray%":ede,"%TypeError%":Zu,"%Uint8Array%":typeof Uint8Array>"u"?Ve:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?Ve:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?Ve:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?Ve:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?Ve:WeakMap,"%WeakRef%":typeof WeakRef>"u"?Ve:WeakRef,"%WeakSet%":typeof WeakSet>"u"?Ve:WeakSet};if(Sn)try{null.error}catch(e){var tde=Sn(Sn(e));al["%Error.prototype%"]=tde}var nde=function e(t){var n;if(t==="%AsyncFunction%")n=ZS("async function () {}");else if(t==="%GeneratorFunction%")n=ZS("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=ZS("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&Sn&&(n=Sn(i.prototype))}return al[t]=n,n},V6={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},hp=kD,Dy=Qce,rde=hp.call(Function.call,Array.prototype.concat),ide=hp.call(Function.apply,Array.prototype.splice),z6=hp.call(Function.call,String.prototype.replace),Ly=hp.call(Function.call,String.prototype.slice),ode=hp.call(Function.call,RegExp.prototype.exec),sde=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,ade=/\\(\\)?/g,lde=function(t){var n=Ly(t,0,1),r=Ly(t,-1);if(n==="%"&&r!=="%")throw new Oc("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new Oc("invalid intrinsic syntax, expected opening `%`");var i=[];return z6(t,sde,function(o,s,a,l){i[i.length]=a?z6(l,ade,"$1"):s||o}),i},ude=function(t,n){var r=t,i;if(Dy(V6,r)&&(i=V6[r],r="%"+i[0]+"%"),Dy(al,r)){var o=al[r];if(o===hu&&(o=nde(r)),typeof o>"u"&&!n)throw new Zu("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new Oc("intrinsic "+t+" does not exist!")},cde=function(t,n){if(typeof t!="string"||t.length===0)throw new Zu("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new Zu('"allowMissing" argument must be a boolean');if(ode(/^%?[^%]*%?$/,t)===null)throw new Oc("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=lde(t),i=r.length>0?r[0]:"",o=ude("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],ide(r,rde([0,1],u)));for(var c=1,d=!0;c=r.length){var m=sl(a,f);d=!!m,d&&"get"in m&&!("originalValue"in m.get)?a=m.get:a=a[f]}else d=Dy(a,f),a=a[f];d&&!l&&(al[s]=a)}}return a},dde=cde,Mw=dde("%Object.defineProperty%",!0),Nw=function(){if(Mw)try{return Mw({},"a",{value:1}),!0}catch{return!1}return!1};Nw.hasArrayLengthDefineBug=function(){if(!Nw())return null;try{return Mw([],"length",{value:1}).length!==1}catch{return!0}};var fde=Nw,hde=Bce,pde=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",gde=Object.prototype.toString,mde=Array.prototype.concat,OD=Object.defineProperty,yde=function(e){return typeof e=="function"&&gde.call(e)==="[object Function]"},vde=fde(),RD=OD&&vde,bde=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!yde(r)||!r())return}RD?OD(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},ID=function(e,t){var n=arguments.length>2?arguments[2]:{},r=hde(t);pde&&(r=mde.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i200)return v.sort();for(let y=1;yg;)v[b]=v[b-1],b--;v[b]=g}return v}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(v){return a.call(v)!==void 0&&v.length!==0}function u(v,y,g){v.length= 1`)}return g===void 0?1/0:g}function h(v){return v===1?"1 item":`${v} items`}function p(v){const y=new Set;for(const g of v)(typeof g=="string"||typeof g=="number")&&y.add(String(g));return y}function m(v){if(n.call(v,"strict")){const y=v.strict;if(typeof y!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(y)return g=>{let b=`Object can not safely be stringified. Received type ${typeof g}`;throw typeof g!="function"&&(b+=` (${g.toString()})`),new Error(b)}}}function S(v){v={...v};const y=m(v);y&&(v.bigint===void 0&&(v.bigint=!1),"circularValue"in v||(v.circularValue=Error));const g=c(v),b=d(v,"bigint"),_=d(v,"deterministic"),w=f(v,"maximumDepth"),x=f(v,"maximumBreadth");function C(N,T,O,I,M,R){let D=T[N];switch(typeof D=="object"&&D!==null&&typeof D.toJSON=="function"&&(D=D.toJSON(N)),D=I.call(T,N,D),typeof D){case"string":return o(D);case"object":{if(D===null)return"null";if(O.indexOf(D)!==-1)return g;let L="",V=",";const z=R;if(Array.isArray(D)){if(D.length===0)return"[]";if(wx){const ne=D.length-x-1;L+=`${V}"... ${h(ne)} not stringified"`}return M!==""&&(L+=` -${z}`),O.pop(),`[${L}]`}let U=Object.keys(D);const K=U.length;if(K===0)return"{}";if(wx){const q=K-x;L+=`${X}"...":${W}"${h(q)} not stringified"`,X=V}return M!==""&&X.length>1&&(L=` -${R}${L} -${z}`),O.pop(),`{${L}}`}case"number":return isFinite(D)?String(D):y?y(D):"null";case"boolean":return D===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(D);default:return y?y(D):void 0}}function k(N,T,O,I,M,R){switch(typeof T=="object"&&T!==null&&typeof T.toJSON=="function"&&(T=T.toJSON(N)),typeof T){case"string":return o(T);case"object":{if(T===null)return"null";if(O.indexOf(T)!==-1)return g;const D=R;let L="",V=",";if(Array.isArray(T)){if(T.length===0)return"[]";if(wx){const F=T.length-x-1;L+=`${V}"... ${h(F)} not stringified"`}return M!==""&&(L+=` -${D}`),O.pop(),`[${L}]`}O.push(T);let z="";M!==""&&(R+=M,V=`, -${R}`,z=" ");let U="";for(const K of I){const W=k(K,T[K],O,I,M,R);W!==void 0&&(L+=`${U}${o(K)}:${z}${W}`,U=V)}return M!==""&&U.length>1&&(L=` -${R}${L} -${D}`),O.pop(),`{${L}}`}case"number":return isFinite(T)?String(T):y?y(T):"null";case"boolean":return T===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(T);default:return y?y(T):void 0}}function P(N,T,O,I,M){switch(typeof T){case"string":return o(T);case"object":{if(T===null)return"null";if(typeof T.toJSON=="function"){if(T=T.toJSON(N),typeof T!="object")return P(N,T,O,I,M);if(T===null)return"null"}if(O.indexOf(T)!==-1)return g;const R=M;if(Array.isArray(T)){if(T.length===0)return"[]";if(wx){const J=T.length-x-1;W+=`${X}"... ${h(J)} not stringified"`}return W+=` -${R}`,O.pop(),`[${W}]`}let D=Object.keys(T);const L=D.length;if(L===0)return"{}";if(wx){const W=L-x;z+=`${U}"...": "${h(W)} not stringified"`,U=V}return U!==""&&(z=` -${M}${z} -${R}`),O.pop(),`{${z}}`}case"number":return isFinite(T)?String(T):y?y(T):"null";case"boolean":return T===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(T);default:return y?y(T):void 0}}function A(N,T,O){switch(typeof T){case"string":return o(T);case"object":{if(T===null)return"null";if(typeof T.toJSON=="function"){if(T=T.toJSON(N),typeof T!="object")return A(N,T,O);if(T===null)return"null"}if(O.indexOf(T)!==-1)return g;let I="";if(Array.isArray(T)){if(T.length===0)return"[]";if(wx){const K=T.length-x-1;I+=`,"... ${h(K)} not stringified"`}return O.pop(),`[${I}]`}let M=Object.keys(T);const R=M.length;if(R===0)return"{}";if(wx){const V=R-x;I+=`${D}"...":"${h(V)} not stringified"`}return O.pop(),`{${I}}`}case"number":return isFinite(T)?String(T):y?y(T):"null";case"boolean":return T===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(T);default:return y?y(T):void 0}}function $(N,T,O){if(arguments.length>1){let I="";if(typeof O=="number"?I=" ".repeat(Math.min(O,10)):typeof O=="string"&&(I=O.slice(0,10)),T!=null){if(typeof T=="function")return C("",{"":N},[],T,I,"");if(Array.isArray(T))return k("",N,[],p(T),I,"")}if(I.length!==0)return P("",N,[],I,"")}return A("",N,[])}return $}})(Dw,Dw.exports);var kde=Dw.exports;(function(e){var t=De&&De.__importDefault||function(g){return g&&g.__esModule?g:{default:g}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=bl,r=fp,i=TD,o=ED,s=t(J5),a=t(kde);let l=!1;const u=(0,s.default)(),c=()=>u.ROARR,d=()=>({messageContext:{},transforms:[]}),f=()=>{const g=c().asyncLocalStorage;if(!g)throw new Error("AsyncLocalContext is unavailable.");const b=g.getStore();return b||d()},h=()=>!!c().asyncLocalStorage,p=()=>{if(h()){const g=f();return(0,i.hasOwnProperty)(g,"sequenceRoot")&&(0,i.hasOwnProperty)(g,"sequence")&&typeof g.sequence=="number"?String(g.sequenceRoot)+"."+String(g.sequence++):String(c().sequence++)}return String(c().sequence++)},m=(g,b)=>(_,w,x,C,k,P,A,$,N,T)=>{g.child({logLevel:b})(_,w,x,C,k,P,A,$,N,T)},S=1e3,v=(g,b)=>(_,w,x,C,k,P,A,$,N,T)=>{const O=(0,a.default)({a:_,b:w,c:x,d:C,e:k,f:P,g:A,h:$,i:N,j:T,logLevel:b});if(!O)throw new Error("Expected key to be a string");const I=c().onceLog;I.has(O)||(I.add(O),I.size>S&&I.clear(),g.child({logLevel:b})(_,w,x,C,k,P,A,$,N,T))},y=(g,b={},_=[])=>{const w=(x,C,k,P,A,$,N,T,O,I)=>{const M=Date.now(),R=p();let D;h()?D=f():D=d();let L,V;if(typeof x=="string"?L={...D.messageContext,...b}:L={...D.messageContext,...b,...x},typeof x=="string"&&C===void 0)V=x;else if(typeof x=="string"){if(!x.includes("%"))throw new Error("When a string parameter is followed by other arguments, then it is assumed that you are attempting to format a message using printf syntax. You either forgot to add printf bindings or if you meant to add context to the log message, pass them in an object as the first parameter.");V=(0,o.printf)(x,C,k,P,A,$,N,T,O,I)}else{let U=C;if(typeof C!="string")if(C===void 0)U="";else throw new TypeError("Message must be a string. Received "+typeof C+".");V=(0,o.printf)(U,k,P,A,$,N,T,O,I)}let z={context:L,message:V,sequence:R,time:M,version:n.ROARR_LOG_FORMAT_VERSION};for(const U of[...D.transforms,..._])if(z=U(z),typeof z!="object"||z===null)throw new Error("Message transform function must return a message object.");g(z)};return w.child=x=>{let C;return h()?C=f():C=d(),typeof x=="function"?(0,e.createLogger)(g,{...C.messageContext,...b,...x},[x,..._]):(0,e.createLogger)(g,{...C.messageContext,...b,...x},_)},w.getContext=()=>{let x;return h()?x=f():x=d(),{...x.messageContext,...b}},w.adopt=async(x,C)=>{if(!h())return l===!1&&(l=!0,g({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:p(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),x();const k=f();let P;(0,i.hasOwnProperty)(k,"sequenceRoot")&&(0,i.hasOwnProperty)(k,"sequence")&&typeof k.sequence=="number"?P=k.sequenceRoot+"."+String(k.sequence++):P=String(c().sequence++);let A={...k.messageContext};const $=[...k.transforms];typeof C=="function"?$.push(C):A={...A,...C};const N=c().asyncLocalStorage;if(!N)throw new Error("Async local context unavailable.");return N.run({messageContext:A,sequence:0,sequenceRoot:P,transforms:$},()=>x())},w.debug=m(w,r.logLevels.debug),w.debugOnce=v(w,r.logLevels.debug),w.error=m(w,r.logLevels.error),w.errorOnce=v(w,r.logLevels.error),w.fatal=m(w,r.logLevels.fatal),w.fatalOnce=v(w,r.logLevels.fatal),w.info=m(w,r.logLevels.info),w.infoOnce=v(w,r.logLevels.info),w.trace=m(w,r.logLevels.trace),w.traceOnce=v(w,r.logLevels.trace),w.warn=m(w,r.logLevels.warn),w.warnOnce=v(w,r.logLevels.warn),w};e.createLogger=y})(CD);var Qv={},Ade=function(t,n){for(var r=t.split("."),i=n.split("."),o=0;o<3;o++){var s=Number(r[o]),a=Number(i[o]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return 0},Ode=De&&De.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qv,"__esModule",{value:!0});Qv.createRoarrInitialGlobalStateBrowser=void 0;const U6=bl,G6=Ode(Ade),Rde=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(G6.default),t.includes(U6.ROARR_VERSION)||t.push(U6.ROARR_VERSION),t.sort(G6.default),{sequence:0,...e,versions:t}};Qv.createRoarrInitialGlobalStateBrowser=Rde;var Zv={};Object.defineProperty(Zv,"__esModule",{value:!0});Zv.getLogLevelName=void 0;const Ide=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";Zv.getLogLevelName=Ide;(function(e){var t=De&&De.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=CD,r=Qv,o=(0,t(J5).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=d=>JSON.stringify(d),l=(0,n.createLogger)(d=>{var f;s.write&&s.write(((f=s.serializeMessage)!==null&&f!==void 0?f:a)(d))});e.Roarr=l;var u=fp;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var c=Zv;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return c.getLogLevelName}})})(Ac);var e3={},Jv={},e1={};Object.defineProperty(e1,"__esModule",{value:!0});e1.createLogMethods=void 0;var Mde=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};e1.createLogMethods=Mde;var FD={},pp={},t3={},t1={},n1={};Object.defineProperty(n1,"__esModule",{value:!0});n1.convertWildcardToRegex=void 0;var Nde=/\*+/g,Dde=function(e){return new RegExp(e.replace(Nde,"(.+?)"))};n1.convertWildcardToRegex=Dde;var gp={};Object.defineProperty(gp,"__esModule",{value:!0});gp.escapeRegexString=void 0;var Lde=/[$()*+.?[\\\]^{|}]/g,$de=/-/g,Fde=function(e){return e.replace(Lde,"\\$&").replace($de,"\\x2d")};gp.escapeRegexString=Fde;var r1={};Object.defineProperty(r1,"__esModule",{value:!0});r1.parseRegex=void 0;var Bde=/(\/?)(.+)\1([a-z]*)/,jde=/^(?!.*?(.).*?\1)[AJUXgimsux]+$/,Vde=function(e){var t=Bde.exec(e);if(!t)throw new Error("Invalid RegExp.");return t[3]&&!jde.test(t[3])?new RegExp(e):new RegExp(t[2],t[3])};r1.parseRegex=Vde;Object.defineProperty(t1,"__esModule",{value:!0});t1.createStringTest=void 0;var zde=n1,Ude=gp,Gde=r1,e_=function(e,t){var n;return e[t]?n=e[t]:n=e[t]=(0,Gde.parseRegex)(t),function(r){var i,o;return(o=(i=r.match(n))===null||i===void 0?void 0:i[0])!==null&&o!==void 0?o:!1}},Hde=function(e,t){if(t.type!=="Tag")throw new Error("Expected a tag expression.");var n=t.expression;if(n.type==="RangeExpression")throw new Error("Unexpected range expression.");if(n.type==="RegexExpression")return e_(e,n.value);if(n.type!=="LiteralExpression")throw new Error("Expected a literal expression.");var r=String(n.value);return r.includes("*")&&n.quoted===!1?e_(e,String((0,zde.convertWildcardToRegex)(r))+(n.quoted?"u":"ui")):e_(e,"/("+(0,Ude.escapeRegexString)(r)+")/"+(n.quoted?"u":"ui"))};t1.createStringTest=Hde;var i1={};Object.defineProperty(i1,"__esModule",{value:!0});i1.testComparisonRange=void 0;var qde=function(e,t,n){switch(n){case":=":return t===e;case":>":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};i1.testComparisonRange=qde;var o1={};Object.defineProperty(o1,"__esModule",{value:!0});o1.testRange=void 0;var Wde=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};o1.testRange=Wde;(function(e){var t=De&&De.__assign||function(){return t=Object.assign||function(c){for(var d,f=1,h=arguments.length;f0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,Xde.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};s1.highlight=Zde;var a1={},BD={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(De,function(){function t(u,c,d){return this.id=++t.highestId,this.name=u,this.symbols=c,this.postprocess=d,this}t.highestId=0,t.prototype.toString=function(u){var c=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+c};function n(u,c,d,f){this.rule=u,this.dot=c,this.reference=d,this.data=[],this.wantedBy=f,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var c=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return c.left=this,c.right=u,c.isComplete&&(c.data=c.build(),c.right=void 0),c},n.prototype.build=function(){var u=[],c=this;do u.push(c.right.data),c=c.left;while(c.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,c){this.grammar=u,this.index=c,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var c=this.states,d=this.wants,f=this.completed,h=0;h0&&c.push(" ^ "+f+" more lines identical to this"),f=0,c.push(" "+m)),d=m}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,c){if(c.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var d=u.wantedBy[0],f=[u].concat(c),h=this.buildFirstStateStack(d,f);return h===null?null:[u].concat(h)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var c=u.index;this.current=c,this.table[c]=u,this.table.splice(c+1),this.lexerState=u.lexerState,this.results=this.finish()},s.prototype.rewind=function(u){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[u])},s.prototype.finish=function(){var u=[],c=this.grammar.start,d=this.table[this.table.length-1];return d.states.forEach(function(f){f.rule.name===c&&f.dot===f.rule.symbols.length&&f.reference===0&&f.data!==s.fail&&u.push(f)}),u.map(function(f){return f.data})};function a(u){var c=typeof u;if(c==="string")return u;if(c==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return"character matching "+u;if(u.type)return u.type+" token";if(u.test)return"token matching "+String(u.test);throw new Error("Unknown symbol type: "+u)}}function l(u){var c=typeof u;if(c==="string")return u;if(c==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return u.toString();if(u.type)return"%"+u.type;if(u.test)return"<"+String(u.test)+">";throw new Error("Unknown symbol type: "+u)}}return{Parser:s,Grammar:i,Rule:t}})})(BD);var Jde=BD.exports,Sl={},jD={},ka={};ka.__esModule=void 0;ka.__esModule=!0;var efe=typeof Object.setPrototypeOf=="function",tfe=typeof Object.getPrototypeOf=="function",nfe=typeof Object.defineProperty=="function",rfe=typeof Object.create=="function",ife=typeof Object.prototype.hasOwnProperty=="function",ofe=function(t,n){efe?Object.setPrototypeOf(t,n):t.__proto__=n};ka.setPrototypeOf=ofe;var sfe=function(t){return tfe?Object.getPrototypeOf(t):t.__proto__||t.prototype};ka.getPrototypeOf=sfe;var H6=!1,afe=function e(t,n,r){if(nfe&&!H6)try{Object.defineProperty(t,n,r)}catch{H6=!0,e(t,n,r)}else t[n]=r.value};ka.defineProperty=afe;var VD=function(t,n){return ife?t.hasOwnProperty(t,n):t[n]===void 0};ka.hasOwnProperty=VD;var lfe=function(t,n){if(rfe)return Object.create(t,n);var r=function(){};r.prototype=t;var i=new r;if(typeof n>"u")return i;if(typeof n=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof n=="object")for(var o in n)VD(n,o)&&(i[o]=n[o].value);return i};ka.objectCreate=lfe;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=ka,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var c=this.constructor,d=c.name||function(){var S=c.toString().match(/^function\s*([^\s(]+)/);return S===null?a||"Error":S[1]}(),f=d==="Error",h=f?a:d,p=Error.apply(this,arguments);if(n(p,r(this)),!(p instanceof c)||!(p instanceof l)){var p=this;Error.apply(this,arguments),i(p,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(p,"name",{configurable:!0,enumerable:!1,value:h,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(p,f?l:c),p.stack===void 0){var m=new Error(u);m.name=p.name,p.stack=m.stack}return s&&i(p,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),p}a=l.name||"ExtendableError",l.prototype=o(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),e.ExtendableError=l,e.default=e.ExtendableError})(jD);var zD=De&&De.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Sl,"__esModule",{value:!0});Sl.SyntaxError=Sl.LiqeError=void 0;var ufe=jD,UD=function(e){zD(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(ufe.ExtendableError);Sl.LiqeError=UD;var cfe=function(e){zD(t,e);function t(n,r,i,o){var s=e.call(this,n)||this;return s.message=n,s.offset=r,s.line=i,s.column=o,s}return t}(UD);Sl.SyntaxError=cfe;var n3={},$y=De&&De.__assign||function(){return $y=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$2"]},{name:"comparison_operator$subexpression$1$string$3",symbols:[{literal:":"},{literal:"<"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$3"]},{name:"comparison_operator$subexpression$1$string$4",symbols:[{literal:":"},{literal:">"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$4"]},{name:"comparison_operator$subexpression$1$string$5",symbols:[{literal:":"},{literal:"<"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$5"]},{name:"comparison_operator",symbols:["comparison_operator$subexpression$1"],postprocess:function(e,t){return{location:{start:t,end:t+e[0][0].length},type:"ComparisonOperator",operator:e[0][0]}}},{name:"regex",symbols:["regex_body","regex_flags"],postprocess:function(e){return e.join("")}},{name:"regex_body$ebnf$1",symbols:[]},{name:"regex_body$ebnf$1",symbols:["regex_body$ebnf$1","regex_body_char"],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_body",symbols:[{literal:"/"},"regex_body$ebnf$1",{literal:"/"}],postprocess:function(e){return"/"+e[1].join("")+"/"}},{name:"regex_body_char",symbols:[/[^\\]/],postprocess:Fo},{name:"regex_body_char",symbols:[{literal:"\\"},/[^\\]/],postprocess:function(e){return"\\"+e[1]}},{name:"regex_flags",symbols:[]},{name:"regex_flags$ebnf$1",symbols:[/[gmiyusd]/]},{name:"regex_flags$ebnf$1",symbols:["regex_flags$ebnf$1",/[gmiyusd]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_flags",symbols:["regex_flags$ebnf$1"],postprocess:function(e){return e[0].join("")}},{name:"unquoted_value$ebnf$1",symbols:[]},{name:"unquoted_value$ebnf$1",symbols:["unquoted_value$ebnf$1",/[a-zA-Z\.\-_*@#$]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"unquoted_value",symbols:[/[a-zA-Z_*@#$]/,"unquoted_value$ebnf$1"],postprocess:function(e){return e[0]+e[1].join("")}}],ParserStart:"main"};n3.default=dfe;var GD={},l1={},mp={};Object.defineProperty(mp,"__esModule",{value:!0});mp.isSafePath=void 0;var ffe=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,hfe=function(e){return ffe.test(e)};mp.isSafePath=hfe;Object.defineProperty(l1,"__esModule",{value:!0});l1.createGetValueFunctionBody=void 0;var pfe=mp,gfe=function(e){if(!(0,pfe.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};l1.createGetValueFunctionBody=gfe;(function(e){var t=De&&De.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,_fe=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new qD.default.Parser(bfe),n;try{n=t.feed(e).results}catch(o){if(typeof(o==null?void 0:o.message)=="string"&&typeof(o==null?void 0:o.offset)=="number"){var r=o.message.match(Sfe);throw r?new mfe.SyntaxError("Syntax error at line ".concat(r.groups.line," column ").concat(r.groups.column),o.offset,Number(r.groups.line),Number(r.groups.column)):o}throw o}if(n.length===0)throw new Error("Found no parsings.");if(n.length>1)throw new Error("Ambiguous results.");var i=(0,vfe.hydrateAst)(n[0]);return i};a1.parse=_fe;var u1={};Object.defineProperty(u1,"__esModule",{value:!0});u1.test=void 0;var wfe=pp,xfe=function(e,t){return(0,wfe.filter)(e,[t]).length===1};u1.test=xfe;var WD={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=void 0;var t=function(o,s){return s==="double"?'"'.concat(o,'"'):s==="single"?"'".concat(o,"'"):o},n=function(o){if(o.type==="LiteralExpression")return o.quoted&&typeof o.value=="string"?t(o.value,o.quotes):String(o.value);if(o.type==="RegexExpression")return String(o.value);if(o.type==="RangeExpression"){var s=o.range,a=s.min,l=s.max,u=s.minInclusive,c=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(c?"]":"}")}if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")},r=function(o){if(o.type!=="Tag")throw new Error("Expected a tag expression.");var s=o.field,a=o.expression,l=o.operator;if(s.type==="ImplicitField")return n(a);var u=s.quoted?t(s.name,s.quotes):s.name,c=" ".repeat(a.location.start-l.location.end);return u+l.operator+c+n(a)},i=function(o){if(o.type==="ParenthesizedExpression"){if(!("location"in o.expression))throw new Error("Expected location in expression.");if(!o.location.end)throw new Error("Expected location end.");var s=" ".repeat(o.expression.location.start-(o.location.start+1)),a=" ".repeat(o.location.end-o.expression.location.end-1);return"(".concat(s).concat((0,e.serialize)(o.expression)).concat(a,")")}if(o.type==="Tag")return r(o);if(o.type==="LogicalExpression"){var l="";return o.operator.type==="BooleanOperator"?(l+=" ".repeat(o.operator.location.start-o.left.location.end),l+=o.operator.operator,l+=" ".repeat(o.right.location.start-o.operator.location.end)):l=" ".repeat(o.right.location.start-o.left.location.end),"".concat((0,e.serialize)(o.left)).concat(l).concat((0,e.serialize)(o.right))}if(o.type==="UnaryOperator")return(o.operator==="NOT"?"NOT ":o.operator)+(0,e.serialize)(o.operand);if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")};e.serialize=i})(WD);var c1={};Object.defineProperty(c1,"__esModule",{value:!0});c1.isSafeUnquotedExpression=void 0;var Cfe=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};c1.isSafeUnquotedExpression=Cfe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isSafeUnquotedExpression=e.serialize=e.SyntaxError=e.LiqeError=e.test=e.parse=e.highlight=e.filter=void 0;var t=pp;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=s1;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=a1;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=u1;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=Sl;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=WD;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=c1;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(FD);var Tfe=De&&De.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i0?h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message," %O"),m,S,v,d):h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message),m,S,v)}}};Jv.createLogWriter=Nfe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=Jv;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(e3);const YD={package:"@invoke-ai/invoke-ai-ui"};Ac.ROARR.write=e3.createLogWriter();let Se=Ac.Roarr.child(YD);const Dfe={trace:10,debug:20,info:30,warn:40,error:50,fatal:60},MEe=["trace","debug","info","warn","error","fatal"],Lfe=Vn(Hv,e=>{const{app_version:t,consoleLogLevel:n,shouldLogToConsole:r}=e;return{version:t,consoleLogLevel:n,shouldLogToConsole:r}},{memoizeOptions:{resultEqualityCheck:n7}}),NEe=()=>{const{version:e,consoleLogLevel:t,shouldLogToConsole:n}=cy(Lfe);return E.useEffect(()=>{n?(localStorage.setItem("ROARR_LOG","true"),localStorage.setItem("ROARR_FILTER",`context.logLevel:>=${Dfe[t]}`)):localStorage.setItem("ROARR_LOG","false"),Ac.ROARR.write=e3.createLogWriter()},[t,n]),E.useEffect(()=>{const r={...YD};e&&(r.version=e),Se=Ac.Roarr.child(r)},[e]),Se};let ar=[],r3=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!ar.length;for(let s=0;s(e.events=e.events||{},e.events[n+fg]||(e.events[n+fg]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+fg](),delete e.events[n+fg])}),Bfe=1e3,jfe=(e,t)=>Ffe(e,r=>{let i=t(r);i&&e.events[dg].push(i)},$fe,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[dg]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[dg])s();e.events[dg]=[]}},Bfe)},()=>{e.listen=i,e.off=o}}),Vfe=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=r3(void 0,Math.max(...e.map(o=>o.l))+1);return jfe(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const zfe={"Content-Type":"application/json"},Ufe=/\/*$/;function Gfe(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function Hfe(e){return JSON.stringify(e)}function qfe(e,t){let n=`${t.baseUrl?t.baseUrl.replace(Ufe,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function Wfe(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...zfe,...i.headers??{}});async function s(a,l){const{headers:u,body:c,params:d={},parseAs:f="json",querySerializer:h=n??Gfe,bodySerializer:p=r??Hfe,...m}=l||{},S=qfe(a,{baseUrl:i.baseUrl,params:d,querySerializer:h}),v=new Headers(o),y=new Headers(u);for(const[w,x]of y.entries())x==null?v.delete(w):v.set(w,x);const g={redirect:"follow",...i,...m,headers:v};c&&(g.body=p(c)),g.body instanceof FormData&&v.delete("Content-Type");const b=await t(S,g);if(b.status===204||b.headers.get("Content-Length")==="0")return b.ok?{data:{},response:b}:{error:{},response:b};if(b.ok){let w=b.body;if(f!=="stream"){const x=b.clone();w=typeof x[f]=="function"?await x[f]():await x.text()}return{data:w,response:b}}let _={};try{_=await b.clone().json()}catch{_=await b.clone().text()}return{error:_,response:b}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const mh=r3(),yh=r3(),d1=Vfe([mh,yh],(e,t)=>Wfe({headers:e?{Authorization:`Bearer ${e}`}:{},baseUrl:`${t??""}`}));Se.child({namespace:"session"});const Un=Gv("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=d1.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,error:o}):i}),Kfe=e=>Jn(e)&&"status"in e,yp=Gv("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=d1.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o)return Kfe(o)&&o.status===403?t({arg:e,error:o.body.detail}):t({arg:e,error:o})}),Dl=Gv("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=d1.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Gv("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=d1.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const XD=Hi(Un.rejected,yp.rejected),Jl=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},eu=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},DEe=.999,LEe=.1,$Ee=20,_d=.95,FEe=30,BEe=10,W6=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),$a=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=io(a/o,64)):o<1&&(r.height=a,r.width=io(a*o,64)),s=r.width*r.height;return r},Yfe=e=>({width:io(e.width,64),height:io(e.height,64)}),jEe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],VEe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],QD=e=>e.kind==="line"&&e.layer==="mask",zEe=e=>e.kind==="line"&&e.layer==="base",K6=e=>e.kind==="image"&&e.layer==="base",UEe=e=>e.kind==="fillRect"&&e.layer==="base",GEe=e=>e.kind==="eraseRect"&&e.layer==="base",Xfe=e=>e.kind==="line",pu={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},ZD={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:pu,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},JD=zt({name:"canvas",initialState:ZD,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Yn(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!QD(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:zd(Xo(r,64,512),64),height:zd(Xo(i,64,512),64)},a={x:io(r/2-s.width/2,64),y:io(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const c=$a(s);e.scaledBoundingBoxDimensions=c}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Yn(e.layerState)),e.layerState={...pu,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=eu(o.width,o.height,r,i,_d),u=Jl(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=Yfe(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=$a(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=W6(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...pu.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(Xfe);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Yn(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Yn(e.layerState)),e.layerState=pu,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(K6),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const c=eu(i.width,i.height,512,512,_d),d=Jl(i.width,i.height,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=$a(f);e.scaledBoundingBoxDimensions=h}return}const{width:o,height:s}=r,l=eu(t,n,o,s,.95),u=Jl(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=W6(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find(K6)){const i=eu(r.width,r.height,512,512,_d),o=Jl(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=$a(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const c=r?1:eu(i,o,l,u,_d),d=Jl(i,o,s,a,l,u,c);e.stageScale=c,e.stageCoordinates=d}else{const c=eu(i,o,512,512,_d),d=Jl(i,o,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=$a(f);e.scaledBoundingBoxDimensions=h}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({...n[r]}),e.layerState.stagingArea={...pu.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:zd(Xo(o,64,512),64),height:zd(Xo(s,64,512),64)},l={x:io(o/2-a.width/2,64),y:io(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=$a(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=$a(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Yn(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(Dl.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=pu.stagingArea)}),e.addCase(Cce,(t,n)=>{t.doesCanvasNeedScaling=!0}),e.addCase(xce,(t,n)=>{t.doesCanvasNeedScaling=!0}),e.addCase(xD,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=io(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:HEe,addFillRect:qEe,addImageToStagingArea:Qfe,addLine:WEe,addPointToCurrentLine:KEe,clearCanvasHistory:YEe,clearMask:XEe,commitColorPickerColor:QEe,commitStagingAreaImage:Zfe,discardStagedImages:ZEe,fitBoundingBoxToStage:JEe,mouseLeftCanvas:ePe,nextStagingAreaImage:tPe,prevStagingAreaImage:nPe,redo:rPe,resetCanvas:eL,resetCanvasInteractionState:iPe,resetCanvasView:oPe,resizeAndScaleCanvas:sPe,resizeCanvas:aPe,setBoundingBoxCoordinates:lPe,setBoundingBoxDimensions:uPe,setBoundingBoxPreviewFill:cPe,setBoundingBoxScaleMethod:dPe,flipBoundingBoxAxes:fPe,setBrushColor:hPe,setBrushSize:pPe,setCanvasContainerDimensions:gPe,setColorPickerColor:mPe,setCursorPosition:yPe,setDoesCanvasNeedScaling:vPe,setInitialCanvasImage:tL,setIsDrawing:bPe,setIsMaskEnabled:SPe,setIsMouseOverBoundingBox:_Pe,setIsMoveBoundingBoxKeyHeld:wPe,setIsMoveStageKeyHeld:xPe,setIsMovingBoundingBox:CPe,setIsMovingStage:TPe,setIsTransformingBoundingBox:EPe,setLayer:PPe,setMaskColor:kPe,setMergedCanvas:Jfe,setShouldAutoSave:APe,setShouldCropToBoundingBoxOnSave:OPe,setShouldDarkenOutsideBoundingBox:RPe,setShouldLockBoundingBox:IPe,setShouldPreserveMaskedArea:MPe,setShouldShowBoundingBox:NPe,setShouldShowBrush:DPe,setShouldShowBrushPreview:LPe,setShouldShowCanvasDebugInfo:$Pe,setShouldShowCheckboardTransparency:FPe,setShouldShowGrid:BPe,setShouldShowIntermediates:jPe,setShouldShowStagingImage:VPe,setShouldShowStagingOutline:zPe,setShouldSnapToGrid:UPe,setStageCoordinates:GPe,setStageScale:HPe,setTool:qPe,toggleShouldLockBoundingBox:WPe,toggleTool:KPe,undo:YPe,setScaledBoundingBoxDimensions:XPe,setShouldRestrictStrokesToBox:QPe,stagingAreaInitialized:ehe,canvasSessionIdChanged:the,setShouldAntialias:ZPe}=JD.actions,nhe=JD.reducer,rhe=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:n0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function hhe(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var Z6=Vi;function iL(e,t){if(e===t||!(Z6(e)&&Z6(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},ghe=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function e8(e){if(!Vi(e))return e;for(var t=Ht({},e),n=0,r=Object.entries(t);n"u"&&a===J6&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(g,b){return Vy(t,null,function(){var _,w,x,C,k,P,A,$,N,T,O,I,M,R,D,L,V,z,U,K,W,X,F,q,Q,J,ne,Z,ge,ae,oe,Te,se,We,yt,Fe;return Fy(this,function(Be){switch(Be.label){case 0:return _=b.signal,w=b.getState,x=b.extra,C=b.endpoint,k=b.forced,P=b.type,$=typeof g=="string"?{url:g}:g,N=$.url,T=$.headers,O=T===void 0?new Headers(v.headers):T,I=$.params,M=I===void 0?void 0:I,R=$.responseHandler,D=R===void 0?m??"json":R,L=$.validateStatus,V=L===void 0?S??phe:L,z=$.timeout,U=z===void 0?p:z,K=X6($,["url","headers","params","responseHandler","validateStatus","timeout"]),W=Ht(fo(Ht({},v),{signal:_}),K),O=new Headers(e8(O)),X=W,[4,o(O,{getState:w,extra:x,endpoint:C,forced:k,type:P})];case 1:X.headers=Be.sent()||O,F=function(Me){return typeof Me=="object"&&(Vi(Me)||Array.isArray(Me)||typeof Me.toJSON=="function")},!W.headers.has("content-type")&&F(W.body)&&W.headers.set("content-type",f),F(W.body)&&c(W.headers)&&(W.body=JSON.stringify(W.body,h)),M&&(q=~N.indexOf("?")?"&":"?",Q=l?l(M):new URLSearchParams(e8(M)),N+=q+Q),N=dhe(r,N),J=new Request(N,W),ne=J.clone(),A={request:ne},ge=!1,ae=U&&setTimeout(function(){ge=!0,b.abort()},U),Be.label=2;case 2:return Be.trys.push([2,4,5,6]),[4,a(J)];case 3:return Z=Be.sent(),[3,6];case 4:return oe=Be.sent(),[2,{error:{status:ge?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(oe)},meta:A}];case 5:return ae&&clearTimeout(ae),[7];case 6:Te=Z.clone(),A.response=Te,We="",Be.label=7;case 7:return Be.trys.push([7,9,,10]),[4,Promise.all([y(Z,D).then(function(Me){return se=Me},function(Me){return yt=Me}),Te.text().then(function(Me){return We=Me},function(){})])];case 8:if(Be.sent(),yt)throw yt;return[3,10];case 9:return Fe=Be.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Z.status,data:We,error:String(Fe)},meta:A}];case 10:return[2,V(Z,se)?{data:se,meta:A}:{error:{status:Z.status,data:se},meta:A}]}})})};function y(g,b){return Vy(this,null,function(){var _;return Fy(this,function(w){switch(w.label){case 0:return typeof b=="function"?[2,b(g)]:(b==="content-type"&&(b=c(g.headers)?"json":"text"),b!=="json"?[3,2]:[4,g.text()]);case 1:return _=w.sent(),[2,_.length?JSON.parse(_):null];case 2:return[2,g.text()]}})})}}var t8=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),i3=me("__rtkq/focused"),oL=me("__rtkq/unfocused"),o3=me("__rtkq/online"),sL=me("__rtkq/offline"),To;(function(e){e.query="query",e.mutation="mutation"})(To||(To={}));function aL(e){return e.type===To.query}function yhe(e){return e.type===To.mutation}function lL(e,t,n,r,i,o){return vhe(e)?e(t,n,r,i).map(Lw).map(o):Array.isArray(e)?e.map(Lw).map(o):[]}function vhe(e){return typeof e=="function"}function Lw(e){return typeof e=="string"?{type:e}:e}function t_(e){return e!=null}var vh=Symbol("forceQueryFn"),$w=function(e){return typeof e[vh]=="function"};function bhe(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,c=l.removeMutationResult,d=l.updateSubscriptionOptions;return{buildInitiateQuery:y,buildInitiateMutation:g,getRunningQueryThunk:p,getRunningMutationThunk:m,getRunningQueriesThunk:S,getRunningMutationsThunk:v,getRunningOperationPromises:h,removalWarning:f};function f(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. - Please see https://github.com/reduxjs/redux-toolkit/pull/2481 for details. - See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.`)}function h(){typeof process<"u";var b=function(_){return Array.from(_.values()).flatMap(function(w){return w?Object.values(w):[]})};return By(By([],b(s)),b(a)).filter(t_)}function p(b,_){return function(w){var x,C=o.endpointDefinitions[b],k=t({queryArgs:_,endpointDefinition:C,endpointName:b});return(x=s.get(w))==null?void 0:x[k]}}function m(b,_){return function(w){var x;return(x=a.get(w))==null?void 0:x[_]}}function S(){return function(b){return Object.values(s.get(b)||{}).filter(t_)}}function v(){return function(b){return Object.values(a.get(b)||{}).filter(t_)}}function y(b,_){var w=function(x,C){var k=C===void 0?{}:C,P=k.subscribe,A=P===void 0?!0:P,$=k.forceRefetch,N=k.subscriptionOptions,T=vh,O=k[T];return function(I,M){var R,D,L=t({queryArgs:x,endpointDefinition:_,endpointName:b}),V=n((R={type:"query",subscribe:A,forceRefetch:$,subscriptionOptions:N,endpointName:b,originalArgs:x,queryCacheKey:L},R[vh]=O,R)),z=i.endpoints[b].select(x),U=I(V),K=z(M()),W=U.requestId,X=U.abort,F=K.requestId!==W,q=(D=s.get(I))==null?void 0:D[L],Q=function(){return z(M())},J=Object.assign(O?U.then(Q):F&&!q?Promise.resolve(K):Promise.all([q,U]).then(Q),{arg:x,requestId:W,subscriptionOptions:N,queryCacheKey:L,abort:X,unwrap:function(){return Vy(this,null,function(){var Z;return Fy(this,function(ge){switch(ge.label){case 0:return[4,J];case 1:if(Z=ge.sent(),Z.isError)throw Z.error;return[2,Z.data]}})})},refetch:function(){return I(w(x,{subscribe:!1,forceRefetch:!0}))},unsubscribe:function(){A&&I(u({queryCacheKey:L,requestId:W}))},updateSubscriptionOptions:function(Z){J.subscriptionOptions=Z,I(d({endpointName:b,requestId:W,queryCacheKey:L,options:Z}))}});if(!q&&!F&&!O){var ne=s.get(I)||{};ne[L]=J,s.set(I,ne),J.then(function(){delete ne[L],Object.keys(ne).length||s.delete(I)})}return J}};return w}function g(b){return function(_,w){var x=w===void 0?{}:w,C=x.track,k=C===void 0?!0:C,P=x.fixedCacheKey;return function(A,$){var N=r({type:"mutation",endpointName:b,originalArgs:_,track:k,fixedCacheKey:P}),T=A(N),O=T.requestId,I=T.abort,M=T.unwrap,R=T.unwrap().then(function(z){return{data:z}}).catch(function(z){return{error:z}}),D=function(){A(c({requestId:O,fixedCacheKey:P}))},L=Object.assign(R,{arg:T.arg,requestId:O,abort:I,unwrap:M,unsubscribe:D,reset:D}),V=a.get(A)||{};return a.set(A,V),V[O]=L,L.then(function(){delete V[O],Object.keys(V).length||a.delete(A)}),P&&(V[P]=L,L.then(function(){V[P]===L&&(delete V[P],Object.keys(V).length||a.delete(A))})),L}}}}function n8(e){return e}function She(e){var t=this,n=e.reducerPath,r=e.baseQuery,i=e.context.endpointDefinitions,o=e.serializeQueryArgs,s=e.api,a=function(g,b,_){return function(w){var x=i[g];w(s.internalActions.queryResultPatched({queryCacheKey:o({queryArgs:b,endpointDefinition:x,endpointName:g}),patches:_}))}},l=function(g,b,_){return function(w,x){var C,k,P=s.endpoints[g].select(b)(x()),A={patches:[],inversePatches:[],undo:function(){return w(s.util.patchQueryData(g,b,A.inversePatches))}};if(P.status===Et.uninitialized)return A;if("data"in P)if(Ir(P.data)){var $=LC(P.data,_),N=$[1],T=$[2];(C=A.patches).push.apply(C,N),(k=A.inversePatches).push.apply(k,T)}else{var O=_(P.data);A.patches.push({op:"replace",path:[],value:O}),A.inversePatches.push({op:"replace",path:[],value:P.data})}return w(s.util.patchQueryData(g,b,A.patches)),A}},u=function(g,b,_){return function(w){var x;return w(s.endpoints[g].initiate(b,(x={subscribe:!1,forceRefetch:!0},x[vh]=function(){return{data:_}},x)))}},c=function(g,b){return Vy(t,[g,b],function(_,w){var x,C,k,P,A,$,N,T,O,I,M,R,D,L,V,z,U,K,W=w.signal,X=w.abort,F=w.rejectWithValue,q=w.fulfillWithValue,Q=w.dispatch,J=w.getState,ne=w.extra;return Fy(this,function(Z){switch(Z.label){case 0:x=i[_.endpointName],Z.label=1;case 1:return Z.trys.push([1,8,,13]),C=n8,k=void 0,P={signal:W,abort:X,dispatch:Q,getState:J,extra:ne,endpoint:_.endpointName,type:_.type,forced:_.type==="query"?d(_,J()):void 0},A=_.type==="query"?_[vh]:void 0,A?(k=A(),[3,6]):[3,2];case 2:return x.query?[4,r(x.query(_.originalArgs),P,x.extraOptions)]:[3,4];case 3:return k=Z.sent(),x.transformResponse&&(C=x.transformResponse),[3,6];case 4:return[4,x.queryFn(_.originalArgs,P,x.extraOptions,function(ge){return r(ge,P,x.extraOptions)})];case 5:k=Z.sent(),Z.label=6;case 6:if(typeof process<"u",k.error)throw new t8(k.error,k.meta);return M=q,[4,C(k.data,k.meta,_.originalArgs)];case 7:return[2,M.apply(void 0,[Z.sent(),(U={fulfilledTimeStamp:Date.now(),baseQueryMeta:k.meta},U[Qa]=!0,U)])];case 8:if(R=Z.sent(),D=R,!(D instanceof t8))return[3,12];L=n8,x.query&&x.transformErrorResponse&&(L=x.transformErrorResponse),Z.label=9;case 9:return Z.trys.push([9,11,,12]),V=F,[4,L(D.value,D.meta,_.originalArgs)];case 10:return[2,V.apply(void 0,[Z.sent(),(K={baseQueryMeta:D.meta},K[Qa]=!0,K)])];case 11:return z=Z.sent(),D=z,[3,12];case 12:throw typeof process<"u",console.error(D),D;case 13:return[2]}})})};function d(g,b){var _,w,x,C,k=(w=(_=b[n])==null?void 0:_.queries)==null?void 0:w[g.queryCacheKey],P=(x=b[n])==null?void 0:x.config.refetchOnMountOrArgChange,A=k==null?void 0:k.fulfilledTimeStamp,$=(C=g.forceRefetch)!=null?C:g.subscribe&&P;return $?$===!0||(Number(new Date)-Number(A))/1e3>=$:!1}var f=Vf(n+"/executeQuery",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Qa]=!0,g},condition:function(g,b){var _=b.getState,w,x,C,k=_(),P=(x=(w=k[n])==null?void 0:w.queries)==null?void 0:x[g.queryCacheKey],A=P==null?void 0:P.fulfilledTimeStamp,$=g.originalArgs,N=P==null?void 0:P.originalArgs,T=i[g.endpointName];return $w(g)?!0:(P==null?void 0:P.status)==="pending"?!1:d(g,k)||aL(T)&&((C=T==null?void 0:T.forceRefetch)!=null&&C.call(T,{currentArg:$,previousArg:N,endpointState:P,state:k}))?!0:!A},dispatchConditionRejection:!0}),h=Vf(n+"/executeMutation",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Qa]=!0,g}}),p=function(g){return"force"in g},m=function(g){return"ifOlderThan"in g},S=function(g,b,_){return function(w,x){var C=p(_)&&_.force,k=m(_)&&_.ifOlderThan,P=function(T){return T===void 0&&(T=!0),s.endpoints[g].initiate(b,{forceRefetch:T})},A=s.endpoints[g].select(b)(x());if(C)w(P());else if(k){var $=A==null?void 0:A.fulfilledTimeStamp;if(!$){w(P());return}var N=(Number(new Date)-Number(new Date($)))/1e3>=k;N&&w(P())}else w(P(!1))}};function v(g){return function(b){var _,w;return((w=(_=b==null?void 0:b.meta)==null?void 0:_.arg)==null?void 0:w.endpointName)===g}}function y(g,b){return{matchPending:Gu(av(g),v(b)),matchFulfilled:Gu(Ca(g),v(b)),matchRejected:Gu(mc(g),v(b))}}return{queryThunk:f,mutationThunk:h,prefetch:S,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:y}}function uL(e,t,n,r){return lL(n[e.meta.arg.endpointName][t],Ca(e)?e.payload:void 0,Wh(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function hg(e,t,n){var r=e[t];r&&n(r)}function bh(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function r8(e,t,n){var r=e[bh(t)];r&&n(r)}var wd={};function _he(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,c=e.config,d=me(t+"/resetApiState"),f=zt({name:t+"/queries",initialState:wd,reducers:{removeQueryResult:{reducer:function(_,w){var x=w.payload.queryCacheKey;delete _[x]},prepare:Zg()},queryResultPatched:function(_,w){var x=w.payload,C=x.queryCacheKey,k=x.patches;hg(_,C,function(P){P.data=M2(P.data,k.concat())})}},extraReducers:function(_){_.addCase(n.pending,function(w,x){var C=x.meta,k=x.meta.arg,P,A,$=$w(k);(k.subscribe||$)&&((A=w[P=k.queryCacheKey])!=null||(w[P]={status:Et.uninitialized,endpointName:k.endpointName})),hg(w,k.queryCacheKey,function(N){N.status=Et.pending,N.requestId=$&&N.requestId?N.requestId:C.requestId,k.originalArgs!==void 0&&(N.originalArgs=k.originalArgs),N.startedTimeStamp=C.startedTimeStamp})}).addCase(n.fulfilled,function(w,x){var C=x.meta,k=x.payload;hg(w,C.arg.queryCacheKey,function(P){var A;if(!(P.requestId!==C.requestId&&!$w(C.arg))){var $=o[C.arg.endpointName].merge;if(P.status=Et.fulfilled,$)if(P.data!==void 0){var N=C.fulfilledTimeStamp,T=C.arg,O=C.baseQueryMeta,I=C.requestId,M=xa(P.data,function(R){return $(R,k,{arg:T.originalArgs,baseQueryMeta:O,fulfilledTimeStamp:N,requestId:I})});P.data=M}else P.data=k;else P.data=(A=o[C.arg.endpointName].structuralSharing)==null||A?iL(hr(P.data)?AC(P.data):P.data,k):k;delete P.error,P.fulfilledTimeStamp=C.fulfilledTimeStamp}})}).addCase(n.rejected,function(w,x){var C=x.meta,k=C.condition,P=C.arg,A=C.requestId,$=x.error,N=x.payload;hg(w,P.queryCacheKey,function(T){if(!k){if(T.requestId!==A)return;T.status=Et.rejected,T.error=N??$}})}).addMatcher(l,function(w,x){for(var C=a(x).queries,k=0,P=Object.entries(C);k{const r=yh.get(),i=mh.get();return mhe({baseUrl:`${r??""}/api/v1`,prepareHeaders:s=>(i&&s.set("Authorization",`Bearer ${i}`),s)})(e,t,n)},ya=Zhe({baseQuery:epe,reducerPath:"api",tagTypes:Jhe,endpoints:()=>({})}),Rc=ya.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:vn}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:vn}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:vn}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:vn},{type:"ImageList",id:Ai({board_id:"none",categories:Mi})},{type:"ImageList",id:Ai({board_id:"none",categories:Gs})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(ye.util.updateQueryData("getImageDTO",u,c=>{c.board_id=void 0}))});const a=[{categories:Mi},{categories:Gs}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(ye.util.updateQueryData("listImages",u,c=>{const d=c.total,h=lr.updateMany(c,l).total-d;c.total=c.total+h}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:vn},{type:"ImageList",id:Ai({board_id:"none",categories:Mi})},{type:"ImageList",id:Ai({board_id:"none",categories:Gs})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:Mi},{categories:Gs}].forEach(l=>{n(ye.util.updateQueryData("listImages",l,u=>{const c=u.total,f=lr.removeMany(u,s).total-c;u.total=u.total+f}))})}catch{}}})})}),{useListBoardsQuery:JPe,useListAllBoardsQuery:e6e,useCreateBoardMutation:t6e,useUpdateBoardMutation:n6e,useDeleteBoardMutation:r6e,useDeleteBoardAndImagesMutation:i6e,useListAllImageNamesForBoardQuery:o6e}=Rc,Mi=["general"],Gs=["control","mask","user","other"],tpe=100,s6e=20,dL={selection:[],shouldAutoSwitch:!0,autoAddBoardId:void 0,galleryImageMinimumWidth:96,selectedBoardId:void 0,galleryView:"images",batchImageNames:[],isBatchEnabled:!1},fL=zt({name:"gallery",initialState:dL,reducers:{imageRangeEndSelected:(e,t)=>{},imageSelectionToggled:(e,t)=>{},imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},isBatchEnabledChanged:(e,t)=>{e.isBatchEnabled=t.payload},imagesAddedToBatch:(e,t)=>{e.batchImageNames=hZ(e.batchImageNames.concat(t.payload))},imagesRemovedFromBatch:(e,t)=>{e.batchImageNames=e.batchImageNames.filter(r=>!t.payload.includes(r));const n=e.selection.filter(r=>!t.payload.includes(r));if(n.length){e.selection=n;return}e.selection=[e.batchImageNames[0]]},batchReset:e=>{e.batchImageNames=[],e.selection=[]},autoAddBoardIdChanged:(e,t)=>{e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload}},extraReducers:e=>{e.addMatcher(rpe,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId=void 0,t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId=void 0)}),e.addMatcher(Rc.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId=void 0))})}}),{imagesRemoved:a6e,imageRangeEndSelected:l6e,imageSelectionToggled:u6e,imageSelected:ra,shouldAutoSwitchChanged:c6e,setGalleryImageMinimumWidth:d6e,boardIdSelected:Fw,isBatchEnabledChanged:f6e,imagesAddedToBatch:Bw,imagesRemovedFromBatch:h6e,autoAddBoardIdChanged:p6e,galleryViewChanged:Uy}=fL.actions,npe=fL.reducer,rpe=Hi(Rc.endpoints.deleteBoard.matchFulfilled,Rc.endpoints.deleteBoardAndImages.matchFulfilled),xd=e=>Mi.includes(e.image_category)?Mi:Gs,hL="%[a-f0-9]{2}",h8=new RegExp("("+hL+")|([^%]+?)","gi"),p8=new RegExp("("+hL+")+","gi");function jw(e,t){try{return[decodeURIComponent(e.join(""))]}catch{}if(e.length===1)return e;t=t||1;const n=e.slice(0,t),r=e.slice(t);return Array.prototype.concat.call([],jw(n),jw(r))}function ipe(e){try{return decodeURIComponent(e)}catch{let t=e.match(h8)||[];for(let n=1;ne==null,upe=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),Vw=Symbol("encodeFragmentIdentifier");function cpe(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Jt(t,e),"[",i,"]"].join("")]:[...n,[Jt(t,e),"[",Jt(i,e),"]=",Jt(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Jt(t,e),"[]"].join("")]:[...n,[Jt(t,e),"[]=",Jt(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Jt(t,e),":list="].join("")]:[...n,[Jt(t,e),":list=",Jt(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Jt(n,e),t,Jt(i,e)].join("")]:[[r,Jt(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,Jt(t,e)]:[...n,[Jt(t,e),"=",Jt(r,e)].join("")]}}function dpe(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&qo(r,e).includes(e.arrayFormatSeparator);r=s?qo(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>qo(l,e)):r===null?r:qo(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&qo(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>qo(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function gL(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Jt(e,t){return t.encode?t.strict?upe(e):encodeURIComponent(e):e}function qo(e,t){return t.decode?spe(e):e}function mL(e){return Array.isArray(e)?e.sort():typeof e=="object"?mL(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function yL(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function fpe(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function g8(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function s3(e){e=yL(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function a3(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},gL(t.arrayFormatSeparator);const n=dpe(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=pL(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:qo(a,t),n(qo(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=g8(a,t);else r[i]=g8(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=mL(s):i[o]=s,i},Object.create(null))}function vL(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},gL(t.arrayFormatSeparator);const n=s=>t.skipNull&&lpe(e[s])||t.skipEmptyString&&e[s]==="",r=cpe(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?Jt(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?Jt(s,t)+"[]":a.reduce(r(s),[]).join("&"):Jt(s,t)+"="+Jt(a,t)}).filter(s=>s.length>0).join("&")}function bL(e,t){var i;t={decode:!0,...t};let[n,r]=pL(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:a3(s3(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:qo(r,t)}:{}}}function SL(e,t){t={encode:!0,strict:!0,[Vw]:!0,...t};const n=yL(e.url).split("?")[0]||"",r=s3(e.url),i={...a3(r,{sort:!1}),...e.query};let o=vL(i,t);o&&(o=`?${o}`);let s=fpe(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[Vw]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function _L(e,t,n){n={parseFragmentIdentifier:!0,[Vw]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=bL(e,n);return SL({url:r,query:ape(i,t),fragmentIdentifier:o},n)}function hpe(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return _L(e,r,n)}const wL=Object.freeze(Object.defineProperty({__proto__:null,exclude:hpe,extract:s3,parse:a3,parseUrl:bL,pick:_L,stringify:vL,stringifyUrl:SL},Symbol.toStringTag,{value:"Module"})),o_=(e,t)=>{if(!e)return!1;const n=zw.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=new Date(n[n.length-1].created_at);return r>=i}else if([0,1].includes(n.length))return!0;return!1},lr=Pl({selectId:e=>e.image_name,sortComparer:(e,t)=>rhe(t.updated_at,e.updated_at)}),zw=lr.getSelectors(),Ai=e=>`images/?${wL.stringify(e,{arrayFormat:"none"})}`,ye=ya.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:Ai(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:Ai({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return Ai({board_id:n,categories:r})},transformResponse(t){const{total:n,items:r}=t;return lr.addMany(lr.getInitialState({total:n}),r)},merge:(t,n)=>{lr.addMany(t,zw.selectAll(n)),t.total=n.total},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;zw.selectAll(i).forEach(o=>{n(ye.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:Ai({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/${t}`}),providesTags:(t,n,r)=>{const i=[{type:"Image",id:r}];return t!=null&&t.board_id&&i.push({type:"Board",id:t.board_id}),i},keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),getBoardImagesTotal:e.query({query:t=>({url:Ai({board_id:t??"none",categories:Mi,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:Ai({board_id:t??"none",categories:Gs,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s=[],a=xd(t);s.push(n(ye.util.updateQueryData("listImages",{board_id:o??"none",categories:a},l=>{const u=l.total,d=lr.removeOne(l,i).total-u;l.total=l.total+d})));try{await r}catch{s.forEach(l=>l.undo())}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(ye.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=xd(t);if(n)s.push(r(ye.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{const u=l.total,d=lr.removeOne(l,t.image_name).total-u;l.total=l.total+d})));else{console.log(t);const l={board_id:t.board_id??"none",categories:a},u=ye.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=o_(u.data,t);(c||d)&&s.push(r(ye.util.updateQueryData("listImages",l,f=>{const h=f.total,m=lr.upsertOne(f,t).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(ye.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(ye.util.upsertQueryData("getImageDTO",u.image_name,u));const c=xd(u);a(ye.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:c},d=>{const f=d.total,p=lr.addOne(d,u).total-f;d.total=d.total+p})),a(ye.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:r},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=xd(n);if(s.push(r(ye.util.updateQueryData("getImageDTO",n.image_name,l=>{Object.assign(l,{board_id:t})}))),!n.is_intermediate){s.push(r(ye.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},f=>{const h=f.total,m=lr.removeOne(f,n.image_name).total-h;f.total=f.total+m})));const l={board_id:t??"none",categories:a},u=ye.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=o_(u.data,n);(c||d)&&s.push(r(ye.util.updateQueryData("listImages",l,f=>{const h=f.total,m=lr.addOne(f,n).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{board_id:n,image_name:r}=t;return{url:"board_images/",method:"DELETE",body:{board_id:n,image_name:r}}},invalidatesTags:(t,n,{imageDTO:r})=>[{type:"Board",id:r.board_id},{type:"BoardImagesTotal",id:r.board_id},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:r.board_id},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=xd(t),s=[];s.push(n(ye.util.updateQueryData("getImageDTO",t.image_name,d=>{Object.assign(d,{board_id:void 0})}))),s.push(n(ye.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},d=>{const f=d.total,p=lr.removeOne(d,t.image_name).total-f;d.total=d.total+p})));const a={board_id:"none",categories:o},l=ye.endpoints.listImages.select(a)(i()),u=l.data&&l.data.ids.length>=l.data.total,c=o_(l.data,t);(u||c)&&s.push(n(ye.util.updateQueryData("listImages",a,d=>{const f=d.total,p=lr.upsertOne(d,t).total-f;d.total=d.total+p})));try{await r}catch{s.forEach(d=>d.undo())}}})})}),{useGetIntermediatesCountQuery:g6e,useListImagesQuery:m6e,useLazyListImagesQuery:y6e,useGetImageDTOQuery:v6e,useGetImageMetadataQuery:b6e,useDeleteImageMutation:S6e,useGetBoardImagesTotalQuery:_6e,useGetBoardAssetsTotalQuery:w6e,useUploadImageMutation:x6e,useAddImageToBoardMutation:C6e,useRemoveImageFromBoardMutation:T6e,useClearIntermediatesMutation:E6e}=ye,xL=me("socket/socketConnected"),CL=me("socket/appSocketConnected"),TL=me("socket/socketDisconnected"),EL=me("socket/appSocketDisconnected"),l3=me("socket/socketSubscribed"),PL=me("socket/appSocketSubscribed"),kL=me("socket/socketUnsubscribed"),AL=me("socket/appSocketUnsubscribed"),OL=me("socket/socketInvocationStarted"),RL=me("socket/appSocketInvocationStarted"),u3=me("socket/socketInvocationComplete"),IL=me("socket/appSocketInvocationComplete"),ML=me("socket/socketInvocationError"),c3=me("socket/appSocketInvocationError"),NL=me("socket/socketGraphExecutionStateComplete"),DL=me("socket/appSocketGraphExecutionStateComplete"),LL=me("socket/socketGeneratorProgress"),$L=me("socket/appSocketGeneratorProgress"),FL=me("socket/socketModelLoadStarted"),ppe=me("socket/appSocketModelLoadStarted"),BL=me("socket/socketModelLoadCompleted"),gpe=me("socket/appSocketModelLoadCompleted"),d3=me("controlNet/imageProcessed"),gu={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},yg={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},m8={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:gu.canny_image_processor.default,shouldAutoConfig:!0},Uw={controlNets:{},isEnabled:!1,pendingControlImages:[]},jL=zt({name:"controlNet",initialState:Uw,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??m8,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=Yn(e.controlNets[n]);i.controlNetId=r,e.controlNets[r]=i},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...m8,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload;e.controlNets[n].isEnabled=!e.controlNets[n].isEnabled},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n].controlImage=r,e.controlNets[n].processedControlImage=null,r!==null&&e.controlNets[n].processorType!=="none"&&e.pendingControlImages.push(n)},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload;e.controlNets[n].processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(i=>i!==n)},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload;if(e.controlNets[n].model=r,e.controlNets[n].processedControlImage=null,e.controlNets[n].shouldAutoConfig){let i;for(const o in yg)if(r.model_name.includes(o)){i=yg[o];break}i?(e.controlNets[n].processorType=i,e.controlNets[n].processorNode=gu[i].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=gu.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload;e.controlNets[n].weight=r},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload;e.controlNets[n].beginStepPct=r},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload;e.controlNets[n].endStepPct=r},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload;e.controlNets[n].controlMode=r},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload;e.controlNets[n].resizeMode=r},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n].processorNode;e.controlNets[n].processorNode={...i,...r},e.controlNets[n].shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload;e.controlNets[n].processedControlImage=null,e.controlNets[n].processorType=r,e.controlNets[n].processorNode=gu[r].default,e.controlNets[n].shouldAutoConfig=!1},controlNetAutoConfigToggled:(e,t)=>{var i;const{controlNetId:n}=t.payload,r=!e.controlNets[n].shouldAutoConfig;if(r){let o;for(const s in yg)if((i=e.controlNets[n].model)!=null&&i.model_name.includes(s)){o=yg[s];break}o?(e.controlNets[n].processorType=o,e.controlNets[n].processorNode=gu[o].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=gu.none.default)}e.controlNets[n].shouldAutoConfig=r},controlNetReset:()=>({...Uw})},extraReducers:e=>{e.addCase(d3,(t,n)=>{t.controlNets[n.payload.controlNetId].controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(c3,(t,n)=>{t.pendingControlImages=[]}),e.addMatcher(XD,(t,n)=>{t.pendingControlImages=[]}),e.addMatcher(ye.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;bc(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:P6e,controlNetAdded:k6e,controlNetDuplicated:A6e,controlNetAddedFromImage:O6e,controlNetRemoved:VL,controlNetImageChanged:f3,controlNetProcessedImageChanged:mpe,controlNetToggled:R6e,controlNetModelChanged:y8,controlNetWeightChanged:I6e,controlNetBeginStepPctChanged:M6e,controlNetEndStepPctChanged:N6e,controlNetControlModeChanged:D6e,controlNetResizeModeChanged:L6e,controlNetProcessorParamsChanged:ype,controlNetProcessorTypeChanged:vpe,controlNetReset:zL,controlNetAutoConfigToggled:v8}=jL.actions,bpe=jL.reducer,$6e=e=>e.controlNet,UL={isEnabled:!1,maxPrompts:100,combinatorial:!0},Spe=UL,GL=zt({name:"dynamicPrompts",initialState:Spe,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=UL.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}},extraReducers:e=>{}}),{isEnabledToggled:F6e,maxPromptsChanged:B6e,maxPromptsReset:j6e,combinatorialToggled:V6e}=GL.actions,_pe=GL.reducer,wpe={updateBoardModalOpen:!1,searchText:""},HL=zt({name:"boards",initialState:wpe,reducers:{setBoardSearchText:(e,t)=>{e.searchText=t.payload},setUpdateBoardModalOpen:(e,t)=>{e.updateBoardModalOpen=t.payload}}}),{setBoardSearchText:z6e,setUpdateBoardModalOpen:U6e}=HL.actions,xpe=HL.reducer,Cpe={imageToDelete:null,isModalOpen:!1},qL=zt({name:"imageDeletion",initialState:Cpe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imageToDeleteSelected:(e,t)=>{e.imageToDelete=t.payload},imageToDeleteCleared:e=>{e.imageToDelete=null,e.isModalOpen=!1}}}),{isModalOpenChanged:WL,imageToDeleteSelected:Tpe,imageToDeleteCleared:G6e}=qL.actions,Epe=qL.reducer,KL=(e,t)=>{var d;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((d=n.initialImage)==null?void 0:d.imageName)===t,a=r.layerState.objects.some(f=>f.kind==="image"&&f.imageName===t),l=i.nodes.some(f=>Au(f.data.inputs,h=>{var p;return h.type==="image"&&((p=h.value)==null?void 0:p.image_name)===t})),u=Au(o.controlNets,f=>f.controlImage===t||f.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},Ppe=Vn([e=>e],e=>{const{imageToDelete:t}=e.imageDeletion;if(!t)return;const{image_name:n}=t;return KL(e,n)},Kc),YL=me("imageDeletion/imageDeletionConfirmed"),b8={weight:.75},kpe={loras:{}},XL=zt({name:"lora",initialState:kpe,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,...b8}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload;e.loras[n].weight=r},loraWeightReset:(e,t)=>{const n=t.payload;e.loras[n].weight=b8.weight}}}),{loraAdded:H6e,loraRemoved:QL,loraWeightChanged:q6e,loraWeightReset:W6e,lorasCleared:K6e}=XL.actions,Ape=XL.reducer;function _i(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const c=typeof l=="function"?l(t):l;if(!Object.is(c,t)){const d=t;t=u??typeof c!="object"?c:Object.assign({},t,c),n.forEach(f=>f(t,d))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},Ope=e=>e?S8(e):S8,{useSyncExternalStoreWithSelector:Rpe}=LU;function Ipe(e,t=e.getState,n){const r=Rpe(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return E.useDebugValue(r),r}function Dr(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function f1(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}ym.prototype=f1.prototype={constructor:ym,on:function(e,t){var n=this._,r=Npe(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),w8.hasOwnProperty(t)?{space:w8[t],local:e}:e}function Lpe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Gw&&t.documentElement.namespaceURI===Gw?t.createElement(e):t.createElementNS(n,e)}}function $pe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ZL(e){var t=h1(e);return(t.local?$pe:Lpe)(t)}function Fpe(){}function h3(e){return e==null?Fpe:function(){return this.querySelector(e)}}function Bpe(e){typeof e!="function"&&(e=h3(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=g&&(g=y+1);!(_=S[g])&&++g=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function cge(e){e||(e=dge);function t(d,f){return d&&f?e(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function fge(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function hge(){return Array.from(this)}function pge(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?Tge:typeof t=="function"?Pge:Ege)(e,t,n??"")):Ic(this.node(),e)}function Ic(e,t){return e.style.getPropertyValue(t)||r$(e).getComputedStyle(e,null).getPropertyValue(t)}function Age(e){return function(){delete this[e]}}function Oge(e,t){return function(){this[e]=t}}function Rge(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Ige(e,t){return arguments.length>1?this.each((t==null?Age:typeof t=="function"?Rge:Oge)(e,t)):this.node()[e]}function i$(e){return e.trim().split(/^|\s+/)}function p3(e){return e.classList||new o$(e)}function o$(e){this._node=e,this._names=i$(e.getAttribute("class")||"")}o$.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function s$(e,t){for(var n=p3(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function sme(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function Hw(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}Hw.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function mme(e){return!e.ctrlKey&&!e.button}function yme(){return this.parentNode}function vme(e,t){return t??{x:e.x,y:e.y}}function bme(){return navigator.maxTouchPoints||"ontouchstart"in this}function Sme(){var e=mme,t=yme,n=vme,r=bme,i={},o=f1("start","drag","end"),s=0,a,l,u,c,d=0;function f(b){b.on("mousedown.drag",h).filter(r).on("touchstart.drag",S).on("touchmove.drag",v,gme).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(b,_){if(!(c||!e.call(this,b,_))){var w=g(this,t.call(this,b,_),b,_,"mouse");w&&(Oi(b.view).on("mousemove.drag",p,Sh).on("mouseup.drag",m,Sh),c$(b.view),s_(b),u=!1,a=b.clientX,l=b.clientY,w("start",b))}}function p(b){if(Ju(b),!u){var _=b.clientX-a,w=b.clientY-l;u=_*_+w*w>d}i.mouse("drag",b)}function m(b){Oi(b.view).on("mousemove.drag mouseup.drag",null),d$(b.view,u),Ju(b),i.mouse("end",b)}function S(b,_){if(e.call(this,b,_)){var w=b.changedTouches,x=t.call(this,b,_),C=w.length,k,P;for(k=0;k>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?bg(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?bg(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=wme.exec(e))?new Er(t[1],t[2],t[3],1):(t=xme.exec(e))?new Er(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Cme.exec(e))?bg(t[1],t[2],t[3],t[4]):(t=Tme.exec(e))?bg(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Eme.exec(e))?A8(t[1],t[2]/100,t[3]/100,1):(t=Pme.exec(e))?A8(t[1],t[2]/100,t[3]/100,t[4]):x8.hasOwnProperty(e)?E8(x8[e]):e==="transparent"?new Er(NaN,NaN,NaN,0):null}function E8(e){return new Er(e>>16&255,e>>8&255,e&255,1)}function bg(e,t,n,r){return r<=0&&(e=t=n=NaN),new Er(e,t,n,r)}function Ome(e){return e instanceof bp||(e=xh(e)),e?(e=e.rgb(),new Er(e.r,e.g,e.b,e.opacity)):new Er}function qw(e,t,n,r){return arguments.length===1?Ome(e):new Er(e,t,n,r??1)}function Er(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}g3(Er,qw,f$(bp,{brighter(e){return e=e==null?Hy:Math.pow(Hy,e),new Er(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?_h:Math.pow(_h,e),new Er(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Er(ll(this.r),ll(this.g),ll(this.b),qy(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:P8,formatHex:P8,formatHex8:Rme,formatRgb:k8,toString:k8}));function P8(){return`#${el(this.r)}${el(this.g)}${el(this.b)}`}function Rme(){return`#${el(this.r)}${el(this.g)}${el(this.b)}${el((isNaN(this.opacity)?1:this.opacity)*255)}`}function k8(){const e=qy(this.opacity);return`${e===1?"rgb(":"rgba("}${ll(this.r)}, ${ll(this.g)}, ${ll(this.b)}${e===1?")":`, ${e})`}`}function qy(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ll(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function el(e){return e=ll(e),(e<16?"0":"")+e.toString(16)}function A8(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Ri(e,t,n,r)}function h$(e){if(e instanceof Ri)return new Ri(e.h,e.s,e.l,e.opacity);if(e instanceof bp||(e=xh(e)),!e)return new Ri;if(e instanceof Ri)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new Ri(s,a,l,e.opacity)}function Ime(e,t,n,r){return arguments.length===1?h$(e):new Ri(e,t,n,r??1)}function Ri(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}g3(Ri,Ime,f$(bp,{brighter(e){return e=e==null?Hy:Math.pow(Hy,e),new Ri(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?_h:Math.pow(_h,e),new Ri(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Er(a_(e>=240?e-240:e+120,i,r),a_(e,i,r),a_(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Ri(O8(this.h),Sg(this.s),Sg(this.l),qy(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=qy(this.opacity);return`${e===1?"hsl(":"hsla("}${O8(this.h)}, ${Sg(this.s)*100}%, ${Sg(this.l)*100}%${e===1?")":`, ${e})`}`}}));function O8(e){return e=(e||0)%360,e<0?e+360:e}function Sg(e){return Math.max(0,Math.min(1,e||0))}function a_(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const p$=e=>()=>e;function Mme(e,t){return function(n){return e+n*t}}function Nme(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Dme(e){return(e=+e)==1?g$:function(t,n){return n-t?Nme(t,n,e):p$(isNaN(t)?n:t)}}function g$(e,t){var n=t-e;return n?Mme(e,n):p$(isNaN(e)?t:e)}const R8=function e(t){var n=Dme(t);function r(i,o){var s=n((i=qw(i)).r,(o=qw(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=g$(i.opacity,o.opacity);return function(c){return i.r=s(c),i.g=a(c),i.b=l(c),i.opacity=u(c),i+""}}return r.gamma=e,r}(1);function Ds(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Ww=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,l_=new RegExp(Ww.source,"g");function Lme(e){return function(){return e}}function $me(e){return function(t){return e(t)+""}}function Fme(e,t){var n=Ww.lastIndex=l_.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=Ww.exec(e))&&(i=l_.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:Ds(r,i)})),n=l_.lastIndex;return n180?c+=360:c-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,r)-2,x:Ds(u,c)})):c&&d.push(i(d)+"rotate("+c+r)}function a(u,c,d,f){u!==c?f.push({i:d.push(i(d)+"skewX(",null,r)-2,x:Ds(u,c)}):c&&d.push(i(d)+"skewX("+c+r)}function l(u,c,d,f,h,p){if(u!==d||c!==f){var m=h.push(i(h)+"scale(",null,",",null,")");p.push({i:m-4,x:Ds(u,d)},{i:m-2,x:Ds(c,f)})}else(d!==1||f!==1)&&h.push(i(h)+"scale("+d+","+f+")")}return function(u,c){var d=[],f=[];return u=e(u),c=e(c),o(u.translateX,u.translateY,c.translateX,c.translateY,d,f),s(u.rotate,c.rotate,d,f),a(u.skewX,c.skewX,d,f),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,f),u=c=null,function(h){for(var p=-1,m=f.length,S;++p=0&&e._call.call(void 0,t),e=e._next;--Mc}function N8(){_l=(Ky=Ch.now())+p1,Mc=qd=0;try{Kme()}finally{Mc=0,Xme(),_l=0}}function Yme(){var e=Ch.now(),t=e-Ky;t>v$&&(p1-=t,Ky=e)}function Xme(){for(var e,t=Wy,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Wy=n);Wd=e,Yw(r)}function Yw(e){if(!Mc){qd&&(qd=clearTimeout(qd));var t=e-_l;t>24?(e<1/0&&(qd=setTimeout(N8,e-Ch.now()-p1)),Cd&&(Cd=clearInterval(Cd))):(Cd||(Ky=Ch.now(),Cd=setInterval(Yme,v$)),Mc=1,b$(N8))}}function D8(e,t,n){var r=new Yy;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Qme=f1("start","end","cancel","interrupt"),Zme=[],_$=0,L8=1,Xw=2,vm=3,$8=4,Qw=5,bm=6;function g1(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Jme(e,n,{name:t,index:r,group:i,on:Qme,tween:Zme,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:_$})}function y3(e,t){var n=qi(e,t);if(n.state>_$)throw new Error("too late; already scheduled");return n}function Oo(e,t){var n=qi(e,t);if(n.state>vm)throw new Error("too late; already running");return n}function qi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Jme(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=S$(o,0,n.time);function o(u){n.state=L8,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var c,d,f,h;if(n.state!==L8)return l();for(c in r)if(h=r[c],h.name===n.name){if(h.state===vm)return D8(s);h.state===$8?(h.state=bm,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[c]):+cXw&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function Aye(e,t,n){var r,i,o=kye(t)?y3:Oo;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function Oye(e,t){var n=this._id;return arguments.length<2?qi(this.node(),n).on.on(e):this.each(Aye(n,e,t))}function Rye(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Iye(){return this.on("end.remove",Rye(this._id))}function Mye(e){var t=this._name,n=this._id;typeof e!="function"&&(e=h3(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function i0e(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Zo(e,t,n){this.k=e,this.x=t,this.y=n}Zo.prototype={constructor:Zo,scale:function(e){return e===1?this:new Zo(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Zo(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ia=new Zo(1,0,0);Zo.prototype;function u_(e){e.stopImmediatePropagation()}function Td(e){e.preventDefault(),e.stopImmediatePropagation()}function o0e(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function s0e(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function F8(){return this.__zoom||ia}function a0e(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function l0e(){return navigator.maxTouchPoints||"ontouchstart"in this}function u0e(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function c0e(){var e=o0e,t=s0e,n=u0e,r=a0e,i=l0e,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=qme,u=f1("start","zoom","end"),c,d,f,h=500,p=150,m=0,S=10;function v(T){T.property("__zoom",F8).on("wheel.zoom",C,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",P).filter(i).on("touchstart.zoom",A).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",N).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}v.transform=function(T,O,I,M){var R=T.selection?T.selection():T;R.property("__zoom",F8),T!==R?_(T,O,I,M):R.interrupt().each(function(){w(this,arguments).event(M).start().zoom(null,typeof O=="function"?O.apply(this,arguments):O).end()})},v.scaleBy=function(T,O,I,M){v.scaleTo(T,function(){var R=this.__zoom.k,D=typeof O=="function"?O.apply(this,arguments):O;return R*D},I,M)},v.scaleTo=function(T,O,I,M){v.transform(T,function(){var R=t.apply(this,arguments),D=this.__zoom,L=I==null?b(R):typeof I=="function"?I.apply(this,arguments):I,V=D.invert(L),z=typeof O=="function"?O.apply(this,arguments):O;return n(g(y(D,z),L,V),R,s)},I,M)},v.translateBy=function(T,O,I,M){v.transform(T,function(){return n(this.__zoom.translate(typeof O=="function"?O.apply(this,arguments):O,typeof I=="function"?I.apply(this,arguments):I),t.apply(this,arguments),s)},null,M)},v.translateTo=function(T,O,I,M,R){v.transform(T,function(){var D=t.apply(this,arguments),L=this.__zoom,V=M==null?b(D):typeof M=="function"?M.apply(this,arguments):M;return n(ia.translate(V[0],V[1]).scale(L.k).translate(typeof O=="function"?-O.apply(this,arguments):-O,typeof I=="function"?-I.apply(this,arguments):-I),D,s)},M,R)};function y(T,O){return O=Math.max(o[0],Math.min(o[1],O)),O===T.k?T:new Zo(O,T.x,T.y)}function g(T,O,I){var M=O[0]-I[0]*T.k,R=O[1]-I[1]*T.k;return M===T.x&&R===T.y?T:new Zo(T.k,M,R)}function b(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function _(T,O,I,M){T.on("start.zoom",function(){w(this,arguments).event(M).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(M).end()}).tween("zoom",function(){var R=this,D=arguments,L=w(R,D).event(M),V=t.apply(R,D),z=I==null?b(V):typeof I=="function"?I.apply(R,D):I,U=Math.max(V[1][0]-V[0][0],V[1][1]-V[0][1]),K=R.__zoom,W=typeof O=="function"?O.apply(R,D):O,X=l(K.invert(z).concat(U/K.k),W.invert(z).concat(U/W.k));return function(F){if(F===1)F=W;else{var q=X(F),Q=U/q[2];F=new Zo(Q,z[0]-q[0]*Q,z[1]-q[1]*Q)}L.zoom(null,F)}})}function w(T,O,I){return!I&&T.__zooming||new x(T,O)}function x(T,O){this.that=T,this.args=O,this.active=0,this.sourceEvent=null,this.extent=t.apply(T,O),this.taps=0}x.prototype={event:function(T){return T&&(this.sourceEvent=T),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(T,O){return this.mouse&&T!=="mouse"&&(this.mouse[1]=O.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=O.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=O.invert(this.touch1[0])),this.that.__zoom=O,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var O=Oi(this.that).datum();u.call(T,this.that,new i0e(T,{sourceEvent:this.sourceEvent,target:v,type:T,transform:this.that.__zoom,dispatch:u}),O)}};function C(T,...O){if(!e.apply(this,arguments))return;var I=w(this,O).event(T),M=this.__zoom,R=Math.max(o[0],Math.min(o[1],M.k*Math.pow(2,r.apply(this,arguments)))),D=Ji(T);if(I.wheel)(I.mouse[0][0]!==D[0]||I.mouse[0][1]!==D[1])&&(I.mouse[1]=M.invert(I.mouse[0]=D)),clearTimeout(I.wheel);else{if(M.k===R)return;I.mouse=[D,M.invert(D)],Sm(this),I.start()}Td(T),I.wheel=setTimeout(L,p),I.zoom("mouse",n(g(y(M,R),I.mouse[0],I.mouse[1]),I.extent,s));function L(){I.wheel=null,I.end()}}function k(T,...O){if(f||!e.apply(this,arguments))return;var I=T.currentTarget,M=w(this,O,!0).event(T),R=Oi(T.view).on("mousemove.zoom",z,!0).on("mouseup.zoom",U,!0),D=Ji(T,I),L=T.clientX,V=T.clientY;c$(T.view),u_(T),M.mouse=[D,this.__zoom.invert(D)],Sm(this),M.start();function z(K){if(Td(K),!M.moved){var W=K.clientX-L,X=K.clientY-V;M.moved=W*W+X*X>m}M.event(K).zoom("mouse",n(g(M.that.__zoom,M.mouse[0]=Ji(K,I),M.mouse[1]),M.extent,s))}function U(K){R.on("mousemove.zoom mouseup.zoom",null),d$(K.view,M.moved),Td(K),M.event(K).end()}}function P(T,...O){if(e.apply(this,arguments)){var I=this.__zoom,M=Ji(T.changedTouches?T.changedTouches[0]:T,this),R=I.invert(M),D=I.k*(T.shiftKey?.5:2),L=n(g(y(I,D),M,R),t.apply(this,O),s);Td(T),a>0?Oi(this).transition().duration(a).call(_,L,M,T):Oi(this).call(v.transform,L,M,T)}}function A(T,...O){if(e.apply(this,arguments)){var I=T.touches,M=I.length,R=w(this,O,T.changedTouches.length===M).event(T),D,L,V,z;for(u_(T),L=0;L"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},T$=va.error001();function Kt(e,t){const n=E.useContext(m1);if(n===null)throw new Error(T$);return Ipe(n,e,t)}const tr=()=>{const e=E.useContext(m1);if(e===null)throw new Error(T$);return E.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},f0e=e=>e.userSelectionActive?"none":"all";function h0e({position:e,children:t,className:n,style:r,...i}){const o=Kt(f0e),s=`${e}`.split("-");return j.jsx("div",{className:_i(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function p0e({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:j.jsx(h0e,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:j.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const g0e=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...c})=>{const d=E.useRef(null),[f,h]=E.useState({x:0,y:0,width:0,height:0}),p=_i(["react-flow__edge-textwrapper",u]);return E.useEffect(()=>{if(d.current){const m=d.current.getBBox();h({x:m.x,y:m.y,width:m.width,height:m.height})}},[n]),typeof n>"u"||!n?null:j.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...c,children:[i&&j.jsx("rect",{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),j.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:d,style:r,children:n}),l]})};var m0e=E.memo(g0e);const b3=e=>({width:e.offsetWidth,height:e.offsetHeight}),Nc=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),S3=(e={x:0,y:0},t)=>({x:Nc(e.x,t[0][0],t[1][0]),y:Nc(e.y,t[0][1],t[1][1])}),B8=(e,t,n)=>en?-Nc(Math.abs(e-n),1,50)/50:0,E$=(e,t)=>{const n=B8(e.x,35,t.width-35)*20,r=B8(e.y,35,t.height-35)*20;return[n,r]},P$=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},k$=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Xy=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),A$=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),j8=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),Y6e=(e,t)=>A$(k$(Xy(e),Xy(t))),Zw=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},y0e=e=>ci(e.width)&&ci(e.height)&&ci(e.x)&&ci(e.y),ci=e=>!isNaN(e)&&isFinite(e),hn=Symbol.for("internals"),O$=["Enter"," ","Escape"],v0e=(e,t)=>{},b0e=e=>"nativeEvent"in e;function Jw(e){var i,o;const t=b0e(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const R$=e=>"clientX"in e,oa=(e,t)=>{var o,s;const n=R$(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},Sp=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h=20})=>j.jsxs(j.Fragment,{children:[j.jsx("path",{id:e,style:c,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:d,markerStart:f}),h&&j.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),i&&ci(n)&&ci(r)?j.jsx(m0e,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});Sp.displayName="BaseEdge";function Ed(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function I$({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[S,v,y]=N$({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return j.jsx(Sp,{path:S,labelX:v,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:m})});_3.displayName="SimpleBezierEdge";const z8={[ve.Left]:{x:-1,y:0},[ve.Right]:{x:1,y:0},[ve.Top]:{x:0,y:-1},[ve.Bottom]:{x:0,y:1}},S0e=({source:e,sourcePosition:t=ve.Bottom,target:n})=>t===ve.Left||t===ve.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function _0e({source:e,sourcePosition:t=ve.Bottom,target:n,targetPosition:r=ve.Top,center:i,offset:o}){const s=z8[t],a=z8[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},c=S0e({source:l,sourcePosition:t,target:u}),d=c.x!==0?"x":"y",f=c[d];let h=[],p,m;const[S,v,y,g]=I$({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[d]*a[d]===-1){p=i.x||S,m=i.y||v;const _=[{x:p,y:l.y},{x:p,y:u.y}],w=[{x:l.x,y:m},{x:u.x,y:m}];s[d]===f?h=d==="x"?_:w:h=d==="x"?w:_}else{const _=[{x:l.x,y:u.y}],w=[{x:u.x,y:l.y}];if(d==="x"?h=s.x===f?w:_:h=s.y===f?_:w,t!==r){const x=d==="x"?"y":"x",C=s[d]===a[x],k=l[x]>u[x],P=l[x]{let g="";return y>0&&y{const[v,y,g]=ex({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:r,targetPosition:f,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset});return j.jsx(Sp,{path:v,labelX:y,labelY:g,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:h,markerStart:p,interactionWidth:S})});y1.displayName="SmoothStepEdge";const w3=E.memo(e=>{var t;return j.jsx(y1,{...e,pathOptions:E.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});w3.displayName="StepEdge";function x0e({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=I$({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const x3=E.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})=>{const[p,m,S]=x0e({sourceX:e,sourceY:t,targetX:n,targetY:r});return j.jsx(Sp,{path:p,labelX:m,labelY:S,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})});x3.displayName="StraightEdge";function xg(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function G8({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case ve.Left:return[t-xg(t-r,o),n];case ve.Right:return[t+xg(r-t,o),n];case ve.Top:return[t,n-xg(n-i,o)];case ve.Bottom:return[t,n+xg(i-n,o)]}}function D$({sourceX:e,sourceY:t,sourcePosition:n=ve.Bottom,targetX:r,targetY:i,targetPosition:o=ve.Top,curvature:s=.25}){const[a,l]=G8({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,c]=G8({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[d,f,h,p]=M$({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:c});return[`M${e},${t} C${a},${l} ${u},${c} ${r},${i}`,d,f,h,p]}const Zy=E.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=ve.Bottom,targetPosition:o=ve.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,pathOptions:m,interactionWidth:S})=>{const[v,y,g]=D$({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:m==null?void 0:m.curvature});return j.jsx(Sp,{path:v,labelX:y,labelY:g,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:S})});Zy.displayName="BezierEdge";const C3=E.createContext(null),C0e=C3.Provider;C3.Consumer;const T0e=()=>E.useContext(C3),E0e=e=>"id"in e&&"source"in e&&"target"in e,P0e=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,tx=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,k0e=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),L$=(e,t)=>{if(!e.source||!e.target)return t;let n;return E0e(e)?n={...e}:n={...e,id:P0e(e)},k0e(n,t)?t:t.concat(n)},$$=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},A0e=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),nc=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},F$=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=nc(i,t).positionAbsolute;return k$(r,Xy({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return A$(n)},B$=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(c=>{const{width:d,height:f,selectable:h=!0,hidden:p=!1}=c;if(s&&!h||p)return!1;const{positionAbsolute:m}=nc(c,a),S={x:m.x,y:m.y,width:d||0,height:f||0},v=Zw(l,S),y=typeof d>"u"||typeof f>"u"||d===null||f===null,g=o&&v>0,b=(d||0)*(f||0);(y||g||v>=b||c.dragging)&&u.push(c)}),u},j$=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},V$=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=Nc(l,r,i),c=e.x+e.width/2,d=e.y+e.height/2,f=t/2-c*u,h=n/2-d*u;return[f,h,u]},qa=(e,t=0)=>e.transition().duration(t);function H8(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function O0e(e,t,n,r,i,o){const{x:s,y:a}=oa(e),u=t.elementsFromPoint(s,a).find(p=>p.classList.contains("react-flow__handle"));if(u){const p=u.getAttribute("data-nodeid");if(p){const m=T3(void 0,u),S=u.getAttribute("data-handleid"),v=o({nodeId:p,id:S,type:m});if(v)return{handle:{id:S,type:m,nodeId:p,x:n.x,y:n.y},validHandleResult:v}}}let c=[],d=1/0;if(i.forEach(p=>{const m=Math.sqrt((p.x-n.x)**2+(p.y-n.y)**2);if(m<=r){const S=o(p);m<=d&&(mp.isValid),h=c.some(({handle:p})=>p.type==="target");return c.find(({handle:p,validHandleResult:m})=>h?p.type==="target":f?m.isValid:!0)||c[0]}const R0e={source:null,target:null,sourceHandle:null,targetHandle:null},z$=()=>({handleDomNode:null,isValid:!1,connection:R0e,endHandle:null});function U$(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...z$(),handleDomNode:l};if(l){const c=T3(void 0,l),d=l.getAttribute("data-nodeid"),f=l.getAttribute("data-handleid"),h=l.classList.contains("connectable"),p=l.classList.contains("connectableend"),m={source:a?d:n,sourceHandle:a?f:r,target:a?n:d,targetHandle:a?r:f};u.connection=m,h&&p&&(t===wl.Strict?a&&c==="source"||!a&&c==="target":d!==n||f!==r)&&(u.endHandle={nodeId:d,handleId:f,type:c},u.isValid=o(m))}return u}function I0e({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[hn]){const{handleBounds:s}=o[hn];let a=[],l=[];s&&(a=H8(o,s,"source",`${t}-${n}-${r}`),l=H8(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function T3(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function c_(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function M0e(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function G$({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const c=P$(e.target),{connectionMode:d,domNode:f,autoPanOnConnect:h,connectionRadius:p,onConnectStart:m,panBy:S,getNodes:v,cancelConnection:y}=o();let g=0,b;const{x:_,y:w}=oa(e),x=c==null?void 0:c.elementFromPoint(_,w),C=T3(l,x),k=f==null?void 0:f.getBoundingClientRect();if(!k||!C)return;let P,A=oa(e,k),$=!1,N=null,T=!1,O=null;const I=I0e({nodes:v(),nodeId:n,handleId:t,handleType:C}),M=()=>{if(!h)return;const[L,V]=E$(A,k);S({x:L,y:V}),g=requestAnimationFrame(M)};s({connectionPosition:A,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:C,connectionStartHandle:{nodeId:n,handleId:t,type:C},connectionEndHandle:null}),m==null||m(e,{nodeId:n,handleId:t,handleType:C});function R(L){const{transform:V}=o();A=oa(L,k);const{handle:z,validHandleResult:U}=O0e(L,c,$$(A,V,!1,[1,1]),p,I,K=>U$(K,d,n,t,i?"target":"source",a,c));if(b=z,$||(M(),$=!0),O=U.handleDomNode,N=U.connection,T=U.isValid,s({connectionPosition:b&&T?A0e({x:b.x,y:b.y},V):A,connectionStatus:M0e(!!b,T),connectionEndHandle:U.endHandle}),!b&&!T&&!O)return c_(P);N.source!==N.target&&O&&(c_(P),P=O,O.classList.add("connecting","react-flow__handle-connecting"),O.classList.toggle("valid",T),O.classList.toggle("react-flow__handle-valid",T))}function D(L){var V,z;(b||O)&&N&&T&&(r==null||r(N)),(z=(V=o()).onConnectEnd)==null||z.call(V,L),l&&(u==null||u(L)),c_(P),y(),cancelAnimationFrame(g),$=!1,T=!1,N=null,O=null,c.removeEventListener("mousemove",R),c.removeEventListener("mouseup",D),c.removeEventListener("touchmove",R),c.removeEventListener("touchend",D)}c.addEventListener("mousemove",R),c.addEventListener("mouseup",D),c.addEventListener("touchmove",R),c.addEventListener("touchend",D)}const q8=()=>!0,N0e=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),D0e=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},H$=E.forwardRef(({type:e="source",position:t=ve.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:c,onTouchStart:d,...f},h)=>{var k,P;const p=s||null,m=e==="target",S=tr(),v=T0e(),{connectOnClick:y,noPanClassName:g}=Kt(N0e,Dr),{connecting:b,clickConnecting:_}=Kt(D0e(v,p,e),Dr);v||(P=(k=S.getState()).onError)==null||P.call(k,"010",va.error010());const w=A=>{const{defaultEdgeOptions:$,onConnect:N,hasDefaultEdges:T}=S.getState(),O={...$,...A};if(T){const{edges:I,setEdges:M}=S.getState();M(L$(O,I))}N==null||N(O),a==null||a(O)},x=A=>{if(!v)return;const $=R$(A);i&&($&&A.button===0||!$)&&G$({event:A,handleId:p,nodeId:v,onConnect:w,isTarget:m,getState:S.getState,setState:S.setState,isValidConnection:n||S.getState().isValidConnection||q8}),$?c==null||c(A):d==null||d(A)},C=A=>{const{onClickConnectStart:$,onClickConnectEnd:N,connectionClickStartHandle:T,connectionMode:O,isValidConnection:I}=S.getState();if(!v||!T&&!i)return;if(!T){$==null||$(A,{nodeId:v,handleId:p,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:v,type:e,handleId:p}});return}const M=P$(A.target),R=n||I||q8,{connection:D,isValid:L}=U$({nodeId:v,id:p,type:e},O,T.nodeId,T.handleId||null,T.type,R,M);L&&w(D),N==null||N(A),S.setState({connectionClickStartHandle:null})};return j.jsx("div",{"data-handleid":p,"data-nodeid":v,"data-handlepos":t,"data-id":`${v}-${p}-${e}`,className:_i(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",g,u,{source:!m,target:m,connectable:r,connectablestart:i,connectableend:o,connecting:_,connectionindicator:r&&(i&&!b||o&&b)}]),onMouseDown:x,onTouchStart:x,onClick:y?C:void 0,ref:h,...f,children:l})});H$.displayName="Handle";var Jy=E.memo(H$);const q$=({data:e,isConnectable:t,targetPosition:n=ve.Top,sourcePosition:r=ve.Bottom})=>j.jsxs(j.Fragment,{children:[j.jsx(Jy,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,j.jsx(Jy,{type:"source",position:r,isConnectable:t})]});q$.displayName="DefaultNode";var nx=E.memo(q$);const W$=({data:e,isConnectable:t,sourcePosition:n=ve.Bottom})=>j.jsxs(j.Fragment,{children:[e==null?void 0:e.label,j.jsx(Jy,{type:"source",position:n,isConnectable:t})]});W$.displayName="InputNode";var K$=E.memo(W$);const Y$=({data:e,isConnectable:t,targetPosition:n=ve.Top})=>j.jsxs(j.Fragment,{children:[j.jsx(Jy,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});Y$.displayName="OutputNode";var X$=E.memo(Y$);const E3=()=>null;E3.displayName="GroupNode";const L0e=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),Cg=e=>e.id;function $0e(e,t){return Dr(e.selectedNodes.map(Cg),t.selectedNodes.map(Cg))&&Dr(e.selectedEdges.map(Cg),t.selectedEdges.map(Cg))}const Q$=E.memo(({onSelectionChange:e})=>{const t=tr(),{selectedNodes:n,selectedEdges:r}=Kt(L0e,$0e);return E.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});Q$.displayName="SelectionListener";const F0e=e=>!!e.onSelectionChange;function B0e({onSelectionChange:e}){const t=Kt(F0e);return e||t?j.jsx(Q$,{onSelectionChange:e}):null}const j0e=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function tu(e,t){E.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function $e(e,t,n){E.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const V0e=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:c,nodesFocusable:d,edgesFocusable:f,edgesUpdatable:h,elevateNodesOnSelect:p,minZoom:m,maxZoom:S,nodeExtent:v,onNodesChange:y,onEdgesChange:g,elementsSelectable:b,connectionMode:_,snapGrid:w,snapToGrid:x,translateExtent:C,connectOnClick:k,defaultEdgeOptions:P,fitView:A,fitViewOptions:$,onNodesDelete:N,onEdgesDelete:T,onNodeDrag:O,onNodeDragStart:I,onNodeDragStop:M,onSelectionDrag:R,onSelectionDragStart:D,onSelectionDragStop:L,noPanClassName:V,nodeOrigin:z,rfId:U,autoPanOnConnect:K,autoPanOnNodeDrag:W,onError:X,connectionRadius:F,isValidConnection:q})=>{const{setNodes:Q,setEdges:J,setDefaultNodesAndEdges:ne,setMinZoom:Z,setMaxZoom:ge,setTranslateExtent:ae,setNodeExtent:oe,reset:Te}=Kt(j0e,Dr),se=tr();return E.useEffect(()=>{const We=r==null?void 0:r.map(yt=>({...yt,...P}));return ne(n,We),()=>{Te()}},[]),$e("defaultEdgeOptions",P,se.setState),$e("connectionMode",_,se.setState),$e("onConnect",i,se.setState),$e("onConnectStart",o,se.setState),$e("onConnectEnd",s,se.setState),$e("onClickConnectStart",a,se.setState),$e("onClickConnectEnd",l,se.setState),$e("nodesDraggable",u,se.setState),$e("nodesConnectable",c,se.setState),$e("nodesFocusable",d,se.setState),$e("edgesFocusable",f,se.setState),$e("edgesUpdatable",h,se.setState),$e("elementsSelectable",b,se.setState),$e("elevateNodesOnSelect",p,se.setState),$e("snapToGrid",x,se.setState),$e("snapGrid",w,se.setState),$e("onNodesChange",y,se.setState),$e("onEdgesChange",g,se.setState),$e("connectOnClick",k,se.setState),$e("fitViewOnInit",A,se.setState),$e("fitViewOnInitOptions",$,se.setState),$e("onNodesDelete",N,se.setState),$e("onEdgesDelete",T,se.setState),$e("onNodeDrag",O,se.setState),$e("onNodeDragStart",I,se.setState),$e("onNodeDragStop",M,se.setState),$e("onSelectionDrag",R,se.setState),$e("onSelectionDragStart",D,se.setState),$e("onSelectionDragStop",L,se.setState),$e("noPanClassName",V,se.setState),$e("nodeOrigin",z,se.setState),$e("rfId",U,se.setState),$e("autoPanOnConnect",K,se.setState),$e("autoPanOnNodeDrag",W,se.setState),$e("onError",X,se.setState),$e("connectionRadius",F,se.setState),$e("isValidConnection",q,se.setState),tu(e,Q),tu(t,J),tu(m,Z),tu(S,ge),tu(C,ae),tu(v,oe),null},W8={display:"none"},z0e={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Z$="react-flow__node-desc",J$="react-flow__edge-desc",U0e="react-flow__aria-live",G0e=e=>e.ariaLiveMessage;function H0e({rfId:e}){const t=Kt(G0e);return j.jsx("div",{id:`${U0e}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:z0e,children:t})}function q0e({rfId:e,disableKeyboardA11y:t}){return j.jsxs(j.Fragment,{children:[j.jsxs("div",{id:`${Z$}-${e}`,style:W8,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),j.jsx("div",{id:`${J$}-${e}`,style:W8,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&j.jsx(H0e,{rfId:e})]})}const W0e=(e,t,n)=>n===ve.Left?e-t:n===ve.Right?e+t:e,K0e=(e,t,n)=>n===ve.Top?e-t:n===ve.Bottom?e+t:e,K8="react-flow__edgeupdater",Y8=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>j.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:_i([K8,`${K8}-${a}`]),cx:W0e(t,r,e),cy:K0e(n,r,e),r,stroke:"transparent",fill:"transparent"}),Y0e=()=>!0;var nu=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,style:S,source:v,target:y,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:C,elementsSelectable:k,hidden:P,sourceHandleId:A,targetHandleId:$,onContextMenu:N,onMouseEnter:T,onMouseMove:O,onMouseLeave:I,edgeUpdaterRadius:M,onEdgeUpdate:R,onEdgeUpdateStart:D,onEdgeUpdateEnd:L,markerEnd:V,markerStart:z,rfId:U,ariaLabel:K,isFocusable:W,isUpdatable:X,pathOptions:F,interactionWidth:q})=>{const Q=E.useRef(null),[J,ne]=E.useState(!1),[Z,ge]=E.useState(!1),ae=tr(),oe=E.useMemo(()=>`url(#${tx(z,U)})`,[z,U]),Te=E.useMemo(()=>`url(#${tx(V,U)})`,[V,U]);if(P)return null;const se=Ee=>{const{edges:Ne,addSelectedEdges:ie}=ae.getState();if(k&&(ae.setState({nodesSelectionActive:!1}),ie([n])),s){const he=Ne.find(Qt=>Qt.id===n);s(Ee,he)}},We=Ed(n,ae.getState,a),yt=Ed(n,ae.getState,N),Fe=Ed(n,ae.getState,T),Be=Ed(n,ae.getState,O),Me=Ed(n,ae.getState,I),rt=(Ee,Ne)=>{if(Ee.button!==0)return;const{edges:ie,isValidConnection:he}=ae.getState(),Qt=Ne?y:v,Rt=(Ne?$:A)||null,ut=Ne?"target":"source",rr=he||Y0e,Mo=Ne,Qr=ie.find(Ke=>Ke.id===n);ge(!0),D==null||D(Ee,Qr,ut);const No=Ke=>{ge(!1),L==null||L(Ke,Qr,ut)};G$({event:Ee,handleId:Rt,nodeId:Qt,onConnect:Ke=>R==null?void 0:R(Qr,Ke),isTarget:Mo,getState:ae.getState,setState:ae.setState,isValidConnection:rr,edgeUpdaterType:ut,onEdgeUpdateEnd:No})},xt=Ee=>rt(Ee,!0),mn=Ee=>rt(Ee,!1),an=()=>ne(!0),Ot=()=>ne(!1),ee=!k&&!s,_e=Ee=>{var Ne;if(O$.includes(Ee.key)&&k){const{unselectNodesAndEdges:ie,addSelectedEdges:he,edges:Qt}=ae.getState();Ee.key==="Escape"?((Ne=Q.current)==null||Ne.blur(),ie({edges:[Qt.find(ut=>ut.id===n)]})):he([n])}};return j.jsxs("g",{className:_i(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:ee,updating:J}]),onClick:se,onDoubleClick:We,onContextMenu:yt,onMouseEnter:Fe,onMouseMove:Be,onMouseLeave:Me,onKeyDown:W?_e:void 0,tabIndex:W?0:void 0,role:W?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":K===null?void 0:K||`Edge from ${v} to ${y}`,"aria-describedby":W?`${J$}-${U}`:void 0,ref:Q,children:[!Z&&j.jsx(e,{id:n,source:v,target:y,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,data:o,style:S,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:C,sourceHandleId:A,targetHandleId:$,markerStart:oe,markerEnd:Te,pathOptions:F,interactionWidth:q}),X&&j.jsxs(j.Fragment,{children:[(X==="source"||X===!0)&&j.jsx(Y8,{position:x,centerX:g,centerY:b,radius:M,onMouseDown:xt,onMouseEnter:an,onMouseOut:Ot,type:"source"}),(X==="target"||X===!0)&&j.jsx(Y8,{position:C,centerX:_,centerY:w,radius:M,onMouseDown:mn,onMouseEnter:an,onMouseOut:Ot,type:"target"})]})]})};return t.displayName="EdgeWrapper",E.memo(t)};function X0e(e){const t={default:nu(e.default||Zy),straight:nu(e.bezier||x3),step:nu(e.step||w3),smoothstep:nu(e.step||y1),simplebezier:nu(e.simplebezier||_3)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=nu(e[o]||Zy),i),n);return{...t,...r}}function X8(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case ve.Top:return{x:r+o/2,y:i};case ve.Right:return{x:r+o,y:i+s/2};case ve.Bottom:return{x:r+o/2,y:i+s};case ve.Left:return{x:r,y:i+s/2}}}function Q8(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Q0e=(e,t,n,r,i,o)=>{const s=X8(n,e,t),a=X8(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function Z0e({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const c=Xy({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),d=Math.max(0,Math.min(c.x2,u.x2)-Math.max(c.x,u.x)),f=Math.max(0,Math.min(c.y2,u.y2)-Math.max(c.y,u.y));return Math.ceil(d*f)>0}function Z8(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[hn])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function eF(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:eF(n,t):!1}function J8(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function J0e(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!eF(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function eve(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function tF(e,t,n,r,i=[0,0],o){const s=eve(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const c=n.get(e.parentNode),{x:d,y:f}=nc(c,i).positionAbsolute;a=c&&ci(d)&&ci(f)&&ci(c.width)&&ci(c.height)?[[d+e.width*i[0],f+e.height*i[1]],[d+c.width-e.width+e.width*i[0],f+c.height-e.height+e.height*i[1]]]:a}else o==null||o("005",va.error005()),a=s;else if(e.extent&&e.parentNode){const c=n.get(e.parentNode),{x:d,y:f}=nc(c,i).positionAbsolute;a=[[e.extent[0][0]+d,e.extent[0][1]+f],[e.extent[1][0]+d,e.extent[1][1]+f]]}let l={x:0,y:0};if(e.parentNode){const c=n.get(e.parentNode);l=nc(c,i).positionAbsolute}const u=a?S3(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function d_({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const ek=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...b3(l)}})};function Pd(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function rx({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function tve(){const e=tr();return E.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function f_(e){return(t,n,r)=>e==null?void 0:e(t,r)}function nF({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=tr(),[l,u]=E.useState(!1),c=E.useRef([]),d=E.useRef({x:null,y:null}),f=E.useRef(0),h=E.useRef(null),p=E.useRef({x:0,y:0}),m=E.useRef(null),S=E.useRef(!1),v=tve();return E.useEffect(()=>{if(e!=null&&e.current){const y=Oi(e.current),g=({x:_,y:w})=>{const{nodeInternals:x,onNodeDrag:C,onSelectionDrag:k,updateNodePositions:P,nodeExtent:A,snapGrid:$,snapToGrid:N,nodeOrigin:T,onError:O}=a.getState();d.current={x:_,y:w};let I=!1;if(c.current=c.current.map(R=>{const D={x:_-R.distance.x,y:w-R.distance.y};N&&(D.x=$[0]*Math.round(D.x/$[0]),D.y=$[1]*Math.round(D.y/$[1]));const L=tF(R,D,x,A,T,O);return I=I||R.position.x!==L.position.x||R.position.y!==L.position.y,R.position=L.position,R.positionAbsolute=L.positionAbsolute,R}),!I)return;P(c.current,!0,!0),u(!0);const M=i?C:f_(k);if(M&&m.current){const[R,D]=d_({nodeId:i,dragItems:c.current,nodeInternals:x});M(m.current,R,D)}},b=()=>{if(!h.current)return;const[_,w]=E$(p.current,h.current);if(_!==0||w!==0){const{transform:x,panBy:C}=a.getState();d.current.x=(d.current.x??0)-_/x[2],d.current.y=(d.current.y??0)-w/x[2],C({x:_,y:w})&&g(d.current)}f.current=requestAnimationFrame(b)};if(t)y.on(".drag",null);else{const _=Sme().on("start",w=>{var I;const{nodeInternals:x,multiSelectionActive:C,domNode:k,nodesDraggable:P,unselectNodesAndEdges:A,onNodeDragStart:$,onSelectionDragStart:N}=a.getState(),T=i?$:f_(N);!s&&!C&&i&&((I=x.get(i))!=null&&I.selected||A()),i&&o&&s&&rx({id:i,store:a,nodeRef:e});const O=v(w);if(d.current=O,c.current=J0e(x,P,O,i),T&&c.current){const[M,R]=d_({nodeId:i,dragItems:c.current,nodeInternals:x});T(w.sourceEvent,M,R)}h.current=(k==null?void 0:k.getBoundingClientRect())||null,p.current=oa(w.sourceEvent,h.current)}).on("drag",w=>{const x=v(w),{autoPanOnNodeDrag:C}=a.getState();!S.current&&C&&(S.current=!0,b()),(d.current.x!==x.xSnapped||d.current.y!==x.ySnapped)&&c.current&&(m.current=w.sourceEvent,p.current=oa(w.sourceEvent,h.current),g(x))}).on("end",w=>{if(u(!1),S.current=!1,cancelAnimationFrame(f.current),c.current){const{updateNodePositions:x,nodeInternals:C,onNodeDragStop:k,onSelectionDragStop:P}=a.getState(),A=i?k:f_(P);if(x(c.current,!1,!1),A){const[$,N]=d_({nodeId:i,dragItems:c.current,nodeInternals:C});A(w.sourceEvent,$,N)}}}).filter(w=>{const x=w.target;return!w.button&&(!n||!J8(x,`.${n}`,e))&&(!r||J8(x,r,e))});return y.call(_),()=>{y.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,v]),l}function rF(){const e=tr();return E.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:c}=e.getState(),d=s().filter(y=>y.selected&&(y.draggable||c&&typeof y.draggable>"u")),f=a?l[0]:5,h=a?l[1]:5,p=n.isShiftPressed?4:1,m=n.x*f*p,S=n.y*h*p,v=d.map(y=>{if(y.positionAbsolute){const g={x:y.positionAbsolute.x+m,y:y.positionAbsolute.y+S};a&&(g.x=l[0]*Math.round(g.x/l[0]),g.y=l[1]*Math.round(g.y/l[1]));const{positionAbsolute:b,position:_}=tF(y,g,r,i,void 0,u);y.position=_,y.positionAbsolute=b}return y});o(v,!0,!1)},[])}const rc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var kd=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:c,onMouseEnter:d,onMouseMove:f,onMouseLeave:h,onContextMenu:p,onDoubleClick:m,style:S,className:v,isDraggable:y,isSelectable:g,isConnectable:b,isFocusable:_,selectNodesOnDrag:w,sourcePosition:x,targetPosition:C,hidden:k,resizeObserver:P,dragHandle:A,zIndex:$,isParent:N,noDragClassName:T,noPanClassName:O,initialized:I,disableKeyboardA11y:M,ariaLabel:R,rfId:D})=>{const L=tr(),V=E.useRef(null),z=E.useRef(x),U=E.useRef(C),K=E.useRef(r),W=g||y||c||d||f||h,X=rF(),F=Pd(n,L.getState,d),q=Pd(n,L.getState,f),Q=Pd(n,L.getState,h),J=Pd(n,L.getState,p),ne=Pd(n,L.getState,m),Z=oe=>{if(g&&(!w||!y)&&rx({id:n,store:L,nodeRef:V}),c){const Te=L.getState().nodeInternals.get(n);c(oe,{...Te})}},ge=oe=>{if(!Jw(oe))if(O$.includes(oe.key)&&g){const Te=oe.key==="Escape";rx({id:n,store:L,unselect:Te,nodeRef:V})}else!M&&y&&u&&Object.prototype.hasOwnProperty.call(rc,oe.key)&&(L.setState({ariaLiveMessage:`Moved selected node ${oe.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),X({x:rc[oe.key].x,y:rc[oe.key].y,isShiftPressed:oe.shiftKey}))};E.useEffect(()=>{if(V.current&&!k){const oe=V.current;return P==null||P.observe(oe),()=>P==null?void 0:P.unobserve(oe)}},[k]),E.useEffect(()=>{const oe=K.current!==r,Te=z.current!==x,se=U.current!==C;V.current&&(oe||Te||se)&&(oe&&(K.current=r),Te&&(z.current=x),se&&(U.current=C),L.getState().updateNodeDimensions([{id:n,nodeElement:V.current,forceUpdate:!0}]))},[n,r,x,C]);const ae=nF({nodeRef:V,disabled:k||!y,noDragClassName:T,handleSelector:A,nodeId:n,isSelectable:g,selectNodesOnDrag:w});return k?null:j.jsx("div",{className:_i(["react-flow__node",`react-flow__node-${r}`,{[O]:y},v,{selected:u,selectable:g,parent:N,dragging:ae}]),ref:V,style:{zIndex:$,transform:`translate(${a}px,${l}px)`,pointerEvents:W?"all":"none",visibility:I?"visible":"hidden",...S},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:F,onMouseMove:q,onMouseLeave:Q,onContextMenu:J,onClick:Z,onDoubleClick:ne,onKeyDown:_?ge:void 0,tabIndex:_?0:void 0,role:_?"button":void 0,"aria-describedby":M?void 0:`${Z$}-${D}`,"aria-label":R,children:j.jsx(C0e,{value:n,children:j.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:b,sourcePosition:x,targetPosition:C,dragging:ae,dragHandle:A,zIndex:$})})})};return t.displayName="NodeWrapper",E.memo(t)};function nve(e){const t={input:kd(e.input||K$),default:kd(e.default||nx),output:kd(e.output||X$),group:kd(e.group||E3)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=kd(e[o]||nx),i),n);return{...t,...r}}const rve=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},ive=typeof document<"u"?document:null;var Eh=(e=null,t={target:ive})=>{const[n,r]=E.useState(!1),i=E.useRef(!1),o=E.useRef(new Set([])),[s,a]=E.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(d=>typeof d=="string").map(d=>d.split("+")),c=u.reduce((d,f)=>d.concat(...f),[]);return[u,c]}return[[],[]]},[e]);return E.useEffect(()=>{var l,u;if(e!==null){const c=h=>{if(i.current=h.ctrlKey||h.metaKey||h.shiftKey,!i.current&&Jw(h))return!1;const p=nk(h.code,a);o.current.add(h[p]),tk(s,o.current,!1)&&(h.preventDefault(),r(!0))},d=h=>{if(!i.current&&Jw(h))return!1;const p=nk(h.code,a);tk(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(h[p]),i.current=!1},f=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",c),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",d),window.addEventListener("blur",f),()=>{var h,p;(h=t==null?void 0:t.target)==null||h.removeEventListener("keydown",c),(p=t==null?void 0:t.target)==null||p.removeEventListener("keyup",d),window.removeEventListener("blur",f)}}},[e,r]),n};function tk(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function nk(e,t){return t.includes(e)?"code":"key"}function iF(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=nc(i,r);return iF(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[hn])==null?void 0:s.z)??0)>(n.z??0)?((a=i[hn])==null?void 0:a.z)??0:n.z??0},r)}function oF(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=iF(r,e,{...r.position,z:((i=r[hn])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[hn].z=a,n!=null&&n[r.id]&&(r[hn].isParent=!0)}})}function h_(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var d;const l=(ci(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),c={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(c.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(c,hn,{enumerable:!1,value:{handleBounds:(d=u==null?void 0:u[hn])==null?void 0:d.handleBounds,z:l}}),i.set(a.id,c)}),oF(i,n,o),i}function sF(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:c,nodeOrigin:d}=e(),f=t.initial&&!u&&c;if(a&&l&&(f||!t.initial)){const p=n().filter(S=>{var y;const v=t.includeHiddenNodes?S.width&&S.height:!S.hidden;return(y=t.nodes)!=null&&y.length?v&&t.nodes.some(g=>g.id===S.id):v}),m=p.every(S=>S.width&&S.height);if(p.length>0&&m){const S=F$(p,d),[v,y,g]=V$(S,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),b=ia.translate(v,y).scale(g);return typeof t.duration=="number"&&t.duration>0?a.transform(qa(l,t.duration),b):a.transform(l,b),!0}}return!1}function ove(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[hn]:r[hn],selected:n.selected})}),new Map(t)}function sve(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function Tg({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:ove(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:sve(t,o)}),a==null||a(t))}const ru=()=>{},ave={zoomIn:ru,zoomOut:ru,zoomTo:ru,getZoom:()=>1,setViewport:ru,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:ru,fitBounds:ru,project:e=>e,viewportInitialized:!1},lve=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),uve=()=>{const e=tr(),{d3Zoom:t,d3Selection:n}=Kt(lve,Dr);return E.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(qa(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(qa(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(qa(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=ia.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(qa(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>sF(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),c=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,d=a/2-i*c,f=l/2-o*c,h=ia.translate(d,f).scale(c);t.transform(qa(n,s==null?void 0:s.duration),h)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[c,d,f]=V$(i,s,a,l,u,(o==null?void 0:o.padding)??.1),h=ia.translate(c,d).scale(f);t.transform(qa(n,o==null?void 0:o.duration),h)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return $$(i,o,s,a)},viewportInitialized:!0}:ave,[t,n])};function aF(){const e=uve(),t=tr(),n=E.useCallback(()=>t.getState().getNodes().map(m=>({...m})),[]),r=E.useCallback(m=>t.getState().nodeInternals.get(m),[]),i=E.useCallback(()=>{const{edges:m=[]}=t.getState();return m.map(S=>({...S}))},[]),o=E.useCallback(m=>{const{edges:S=[]}=t.getState();return S.find(v=>v.id===m)},[]),s=E.useCallback(m=>{const{getNodes:S,setNodes:v,hasDefaultNodes:y,onNodesChange:g}=t.getState(),b=S(),_=typeof m=="function"?m(b):m;if(y)v(_);else if(g){const w=_.length===0?b.map(x=>({type:"remove",id:x.id})):_.map(x=>({item:x,type:"reset"}));g(w)}},[]),a=E.useCallback(m=>{const{edges:S=[],setEdges:v,hasDefaultEdges:y,onEdgesChange:g}=t.getState(),b=typeof m=="function"?m(S):m;if(y)v(b);else if(g){const _=b.length===0?S.map(w=>({type:"remove",id:w.id})):b.map(w=>({item:w,type:"reset"}));g(_)}},[]),l=E.useCallback(m=>{const S=Array.isArray(m)?m:[m],{getNodes:v,setNodes:y,hasDefaultNodes:g,onNodesChange:b}=t.getState();if(g){const w=[...v(),...S];y(w)}else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),u=E.useCallback(m=>{const S=Array.isArray(m)?m:[m],{edges:v=[],setEdges:y,hasDefaultEdges:g,onEdgesChange:b}=t.getState();if(g)y([...v,...S]);else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),c=E.useCallback(()=>{const{getNodes:m,edges:S=[],transform:v}=t.getState(),[y,g,b]=v;return{nodes:m().map(_=>({..._})),edges:S.map(_=>({..._})),viewport:{x:y,y:g,zoom:b}}},[]),d=E.useCallback(({nodes:m,edges:S})=>{const{nodeInternals:v,getNodes:y,edges:g,hasDefaultNodes:b,hasDefaultEdges:_,onNodesDelete:w,onEdgesDelete:x,onNodesChange:C,onEdgesChange:k}=t.getState(),P=(m||[]).map(O=>O.id),A=(S||[]).map(O=>O.id),$=y().reduce((O,I)=>{const M=!P.includes(I.id)&&I.parentNode&&O.find(D=>D.id===I.parentNode);return(typeof I.deletable=="boolean"?I.deletable:!0)&&(P.includes(I.id)||M)&&O.push(I),O},[]),N=g.filter(O=>typeof O.deletable=="boolean"?O.deletable:!0),T=N.filter(O=>A.includes(O.id));if($||T){const O=j$($,N),I=[...T,...O],M=I.reduce((R,D)=>(R.includes(D.id)||R.push(D.id),R),[]);if((_||b)&&(_&&t.setState({edges:g.filter(R=>!M.includes(R.id))}),b&&($.forEach(R=>{v.delete(R.id)}),t.setState({nodeInternals:new Map(v)}))),M.length>0&&(x==null||x(I),k&&k(M.map(R=>({id:R,type:"remove"})))),$.length>0&&(w==null||w($),C)){const R=$.map(D=>({id:D.id,type:"remove"}));C(R)}}},[]),f=E.useCallback(m=>{const S=y0e(m),v=S?null:t.getState().nodeInternals.get(m.id);return[S?m:j8(v),v,S]},[]),h=E.useCallback((m,S=!0,v)=>{const[y,g,b]=f(m);return y?(v||t.getState().getNodes()).filter(_=>{if(!b&&(_.id===g.id||!_.positionAbsolute))return!1;const w=j8(_),x=Zw(w,y);return S&&x>0||x>=m.width*m.height}):[]},[]),p=E.useCallback((m,S,v=!0)=>{const[y]=f(m);if(!y)return!1;const g=Zw(y,S);return v&&g>0||g>=m.width*m.height},[]);return E.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:c,deleteElements:d,getIntersectingNodes:h,isNodeIntersecting:p}),[e,n,r,i,o,s,a,l,u,c,d,h,p])}var cve=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=tr(),{deleteElements:r}=aF(),i=Eh(e),o=Eh(t);E.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(c=>c.selected),u=s.filter(c=>c.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),E.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function dve(e){const t=tr();E.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=b3(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",va.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const P3={position:"absolute",width:"100%",height:"100%",top:0,left:0},fve=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,p_=e=>({x:e.x,y:e.y,zoom:e.k}),iu=(e,t)=>e.target.closest(`.${t}`),rk=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),hve=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),pve=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=tc.Free,zoomOnDoubleClick:u=!0,elementsSelectable:c,panOnDrag:d=!0,defaultViewport:f,translateExtent:h,minZoom:p,maxZoom:m,zoomActivationKeyCode:S,preventScrolling:v=!0,children:y,noWheelClassName:g,noPanClassName:b})=>{const _=E.useRef(),w=tr(),x=E.useRef(!1),C=E.useRef(!1),k=E.useRef(null),P=E.useRef({x:0,y:0,zoom:0}),{d3Zoom:A,d3Selection:$,d3ZoomHandler:N,userSelectionActive:T}=Kt(hve,Dr),O=Eh(S),I=E.useRef(0);return dve(k),E.useEffect(()=>{if(k.current){const M=k.current.getBoundingClientRect(),R=c0e().scaleExtent([p,m]).translateExtent(h),D=Oi(k.current).call(R),L=ia.translate(f.x,f.y).scale(Nc(f.zoom,p,m)),V=[[0,0],[M.width,M.height]],z=R.constrain()(L,V,h);R.transform(D,z),w.setState({d3Zoom:R,d3Selection:D,d3ZoomHandler:D.on("wheel.zoom"),transform:[z.x,z.y,z.k],domNode:k.current.closest(".react-flow")})}},[]),E.useEffect(()=>{$&&A&&(s&&!O&&!T?$.on("wheel.zoom",M=>{if(iu(M,g))return!1;M.preventDefault(),M.stopImmediatePropagation();const R=$.property("__zoom").k||1;if(M.ctrlKey&&o){const z=Ji(M),U=-M.deltaY*(M.deltaMode===1?.05:M.deltaMode?1:.002)*10,K=R*Math.pow(2,U);A.scaleTo($,K,z);return}const D=M.deltaMode===1?20:1,L=l===tc.Vertical?0:M.deltaX*D,V=l===tc.Horizontal?0:M.deltaY*D;A.translateBy($,-(L/R)*a,-(V/R)*a)},{passive:!1}):typeof N<"u"&&$.on("wheel.zoom",function(M,R){if(!v||iu(M,g))return null;M.preventDefault(),N.call(this,M,R)},{passive:!1}))},[T,s,l,$,A,N,O,o,v,g]),E.useEffect(()=>{A&&A.on("start",M=>{var D;if(!M.sourceEvent)return null;I.current=M.sourceEvent.button;const{onViewportChangeStart:R}=w.getState();if(x.current=!0,((D=M.sourceEvent)==null?void 0:D.type)==="mousedown"&&w.setState({paneDragging:!0}),t||R){const L=p_(M.transform);P.current=L,R==null||R(L),t==null||t(M.sourceEvent,L)}})},[A,t]),E.useEffect(()=>{A&&(T&&!x.current?A.on("zoom",null):T||A.on("zoom",M=>{const{onViewportChange:R}=w.getState();if(w.setState({transform:[M.transform.x,M.transform.y,M.transform.k]}),C.current=!!(r&&rk(d,I.current??0)),e||R){const D=p_(M.transform);R==null||R(D),e==null||e(M.sourceEvent,D)}}))},[T,A,e,d,r]),E.useEffect(()=>{A&&A.on("end",M=>{if(!M.sourceEvent)return null;const{onViewportChangeEnd:R}=w.getState();if(x.current=!1,w.setState({paneDragging:!1}),r&&rk(d,I.current??0)&&!C.current&&r(M.sourceEvent),C.current=!1,(n||R)&&fve(P.current,M.transform)){const D=p_(M.transform);P.current=D,clearTimeout(_.current),_.current=setTimeout(()=>{R==null||R(D),n==null||n(M.sourceEvent,D)},s?150:0)}})},[A,s,d,n,r]),E.useEffect(()=>{A&&A.filter(M=>{const R=O||i,D=o&&M.ctrlKey;if(M.button===1&&M.type==="mousedown"&&(iu(M,"react-flow__node")||iu(M,"react-flow__edge")))return!0;if(!d&&!R&&!s&&!u&&!o||T||!u&&M.type==="dblclick"||iu(M,g)&&M.type==="wheel"||iu(M,b)&&M.type!=="wheel"||!o&&M.ctrlKey&&M.type==="wheel"||!R&&!s&&!D&&M.type==="wheel"||!d&&(M.type==="mousedown"||M.type==="touchstart")||Array.isArray(d)&&!d.includes(M.button)&&(M.type==="mousedown"||M.type==="touchstart"))return!1;const L=Array.isArray(d)&&d.includes(M.button)||!M.button||M.button<=1;return(!M.ctrlKey||M.type==="wheel")&&L})},[T,A,i,o,s,u,d,c,O]),j.jsx("div",{className:"react-flow__renderer",ref:k,style:P3,children:y})},gve=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function mve(){const{userSelectionActive:e,userSelectionRect:t}=Kt(gve,Dr);return e&&t?j.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function ik(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function lF(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&ik(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&ik(r,s);break}case"remove":return r}return r.push(s),r},n)}function uF(e,t){return lF(e,t)}function yve(e,t){return lF(e,t)}const Ls=(e,t)=>({id:e,type:"select",selected:t});function Du(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(Ls(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(Ls(r.id,!1))),n},[])}const g_=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},vve=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),cF=E.memo(({isSelecting:e,selectionMode:t=Th.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:c,children:d})=>{const f=E.useRef(null),h=tr(),p=E.useRef(0),m=E.useRef(0),S=E.useRef(),{userSelectionActive:v,elementsSelectable:y,dragging:g}=Kt(vve,Dr),b=()=>{h.setState({userSelectionActive:!1,userSelectionRect:null}),p.current=0,m.current=0},_=N=>{o==null||o(N),h.getState().resetSelectedElements(),h.setState({nodesSelectionActive:!1})},w=N=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){N.preventDefault();return}s==null||s(N)},x=a?N=>a(N):void 0,C=N=>{const{resetSelectedElements:T,domNode:O}=h.getState();if(S.current=O==null?void 0:O.getBoundingClientRect(),!y||!e||N.button!==0||N.target!==f.current||!S.current)return;const{x:I,y:M}=oa(N,S.current);T(),h.setState({userSelectionRect:{width:0,height:0,startX:I,startY:M,x:I,y:M}}),r==null||r(N)},k=N=>{const{userSelectionRect:T,nodeInternals:O,edges:I,transform:M,onNodesChange:R,onEdgesChange:D,nodeOrigin:L,getNodes:V}=h.getState();if(!e||!S.current||!T)return;h.setState({userSelectionActive:!0,nodesSelectionActive:!1});const z=oa(N,S.current),U=T.startX??0,K=T.startY??0,W={...T,x:z.xJ.id),Q=F.map(J=>J.id);if(p.current!==Q.length){p.current=Q.length;const J=Du(X,Q);J.length&&(R==null||R(J))}if(m.current!==q.length){m.current=q.length;const J=Du(I,q);J.length&&(D==null||D(J))}h.setState({userSelectionRect:W})},P=N=>{if(N.button!==0)return;const{userSelectionRect:T}=h.getState();!v&&T&&N.target===f.current&&(_==null||_(N)),h.setState({nodesSelectionActive:p.current>0}),b(),i==null||i(N)},A=N=>{v&&(h.setState({nodesSelectionActive:p.current>0}),i==null||i(N)),b()},$=y&&(e||v);return j.jsxs("div",{className:_i(["react-flow__pane",{dragging:g,selection:e}]),onClick:$?void 0:g_(_,f),onContextMenu:g_(w,f),onWheel:g_(x,f),onMouseEnter:$?void 0:l,onMouseDown:$?C:void 0,onMouseMove:$?k:u,onMouseUp:$?P:void 0,onMouseLeave:$?A:c,ref:f,style:P3,children:[d,j.jsx(mve,{})]})});cF.displayName="Pane";const bve=e=>{const t=e.getNodes().filter(n=>n.selected);return{...F$(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function Sve({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=tr(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Kt(bve,Dr),c=rF(),d=E.useRef(null);if(E.useEffect(()=>{var p;n||(p=d.current)==null||p.focus({preventScroll:!0})},[n]),nF({nodeRef:d}),u||!i||!o)return null;const f=e?p=>{const m=r.getState().getNodes().filter(S=>S.selected);e(p,m)}:void 0,h=p=>{Object.prototype.hasOwnProperty.call(rc,p.key)&&c({x:rc[p.key].x,y:rc[p.key].y,isShiftPressed:p.shiftKey})};return j.jsx("div",{className:_i(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:j.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:i,height:o,top:a,left:s}})})}var _ve=E.memo(Sve);const wve=e=>e.nodesSelectionActive,dF=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:c,selectionKeyCode:d,selectionOnDrag:f,selectionMode:h,onSelectionStart:p,onSelectionEnd:m,multiSelectionKeyCode:S,panActivationKeyCode:v,zoomActivationKeyCode:y,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:C,zoomOnDoubleClick:k,panOnDrag:P,defaultViewport:A,translateExtent:$,minZoom:N,maxZoom:T,preventScrolling:O,onSelectionContextMenu:I,noWheelClassName:M,noPanClassName:R,disableKeyboardA11y:D})=>{const L=Kt(wve),V=Eh(d),U=Eh(v)||P,K=V||f&&U!==!0;return cve({deleteKeyCode:a,multiSelectionKeyCode:S}),j.jsx(pve,{onMove:l,onMoveStart:u,onMoveEnd:c,onPaneContextMenu:o,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:C,zoomOnDoubleClick:k,panOnDrag:!V&&U,defaultViewport:A,translateExtent:$,minZoom:N,maxZoom:T,zoomActivationKeyCode:y,preventScrolling:O,noWheelClassName:M,noPanClassName:R,children:j.jsxs(cF,{onSelectionStart:p,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:U,isSelecting:!!K,selectionMode:h,children:[e,L&&j.jsx(_ve,{onSelectionContextMenu:I,noPanClassName:R,disableKeyboardA11y:D})]})})};dF.displayName="FlowRenderer";var xve=E.memo(dF);function Cve(e){return Kt(E.useCallback(n=>e?B$(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const Tve=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),fF=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Kt(Tve,Dr),a=Cve(e.onlyRenderVisibleElements),l=E.useRef(),u=E.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const c=new ResizeObserver(d=>{const f=d.map(h=>({id:h.target.getAttribute("data-id"),nodeElement:h.target,forceUpdate:!0}));o(f)});return l.current=c,c},[]);return E.useEffect(()=>()=>{var c;(c=l==null?void 0:l.current)==null||c.disconnect()},[]),j.jsx("div",{className:"react-flow__nodes",style:P3,children:a.map(c=>{var _,w;let d=c.type||"default";e.nodeTypes[d]||(s==null||s("003",va.error003(d)),d="default");const f=e.nodeTypes[d]||e.nodeTypes.default,h=!!(c.draggable||t&&typeof c.draggable>"u"),p=!!(c.selectable||i&&typeof c.selectable>"u"),m=!!(c.connectable||n&&typeof c.connectable>"u"),S=!!(c.focusable||r&&typeof c.focusable>"u"),v=e.nodeExtent?S3(c.positionAbsolute,e.nodeExtent):c.positionAbsolute,y=(v==null?void 0:v.x)??0,g=(v==null?void 0:v.y)??0,b=rve({x:y,y:g,width:c.width??0,height:c.height??0,origin:e.nodeOrigin});return j.jsx(f,{id:c.id,className:c.className,style:c.style,type:d,data:c.data,sourcePosition:c.sourcePosition||ve.Bottom,targetPosition:c.targetPosition||ve.Top,hidden:c.hidden,xPos:y,yPos:g,xPosOrigin:b.x,yPosOrigin:b.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!c.selected,isDraggable:h,isSelectable:p,isConnectable:m,isFocusable:S,resizeObserver:u,dragHandle:c.dragHandle,zIndex:((_=c[hn])==null?void 0:_.z)??0,isParent:!!((w=c[hn])!=null&&w.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!c.width&&!!c.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:c.ariaLabel},c.id)})})};fF.displayName="NodeRenderer";var Eve=E.memo(fF);const Pve=[{level:0,isMaxLevel:!0,edges:[]}];function kve(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var c,d;const l=ci(a.zIndex);let u=l?a.zIndex:0;if(n){const f=t.get(a.target),h=t.get(a.source),p=a.selected||(f==null?void 0:f.selected)||(h==null?void 0:h.selected),m=Math.max(((c=h==null?void 0:h[hn])==null?void 0:c.z)||0,((d=f==null?void 0:f[hn])==null?void 0:d.z)||0,1e3);u=(l?a.zIndex:0)+(p?m:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?Pve:o}function Ave(e,t,n){const r=Kt(E.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&Z0e({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return kve(r,t,n)}const Ove=({color:e="none",strokeWidth:t=1})=>j.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),Rve=({color:e="none",strokeWidth:t=1})=>j.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),ok={[Qy.Arrow]:Ove,[Qy.ArrowClosed]:Rve};function Ive(e){const t=tr();return E.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(ok,e)?ok[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",va.error009(e)),null)},[e])}const Mve=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=Ive(t);return l?j.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:j.jsx(l,{color:n,strokeWidth:s})}):null},Nve=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=tx(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},hF=({defaultColor:e,rfId:t})=>{const n=Kt(E.useCallback(Nve({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return j.jsx("defs",{children:n.map(r=>j.jsx(Mve,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};hF.displayName="MarkerDefinitions";var Dve=E.memo(hF);const Lve=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),pF=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:c,onEdgeClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,children:S})=>{const{edgesFocusable:v,edgesUpdatable:y,elementsSelectable:g,width:b,height:_,connectionMode:w,nodeInternals:x,onError:C}=Kt(Lve,Dr),k=Ave(t,x,n);return b?j.jsxs(j.Fragment,{children:[k.map(({level:P,edges:A,isMaxLevel:$})=>j.jsxs("svg",{style:{zIndex:P},width:b,height:_,className:"react-flow__edges react-flow__container",children:[$&&j.jsx(Dve,{defaultColor:e,rfId:r}),j.jsx("g",{children:A.map(N=>{const[T,O,I]=Z8(x.get(N.source)),[M,R,D]=Z8(x.get(N.target));if(!I||!D)return null;let L=N.type||"default";i[L]||(C==null||C("011",va.error011(L)),L="default");const V=i[L]||i.default,z=w===wl.Strict?R.target:(R.target??[]).concat(R.source??[]),U=Q8(O.source,N.sourceHandle),K=Q8(z,N.targetHandle),W=(U==null?void 0:U.position)||ve.Bottom,X=(K==null?void 0:K.position)||ve.Top,F=!!(N.focusable||v&&typeof N.focusable>"u"),q=typeof s<"u"&&(N.updatable||y&&typeof N.updatable>"u");if(!U||!K)return C==null||C("008",va.error008(U,N)),null;const{sourceX:Q,sourceY:J,targetX:ne,targetY:Z}=Q0e(T,U,W,M,K,X);return j.jsx(V,{id:N.id,className:_i([N.className,o]),type:L,data:N.data,selected:!!N.selected,animated:!!N.animated,hidden:!!N.hidden,label:N.label,labelStyle:N.labelStyle,labelShowBg:N.labelShowBg,labelBgStyle:N.labelBgStyle,labelBgPadding:N.labelBgPadding,labelBgBorderRadius:N.labelBgBorderRadius,style:N.style,source:N.source,target:N.target,sourceHandleId:N.sourceHandle,targetHandleId:N.targetHandle,markerEnd:N.markerEnd,markerStart:N.markerStart,sourceX:Q,sourceY:J,targetX:ne,targetY:Z,sourcePosition:W,targetPosition:X,elementsSelectable:g,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:c,onClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,rfId:r,ariaLabel:N.ariaLabel,isFocusable:F,isUpdatable:q,pathOptions:"pathOptions"in N?N.pathOptions:void 0,interactionWidth:N.interactionWidth},N.id)})})]},P)),S]}):null};pF.displayName="EdgeRenderer";var $ve=E.memo(pF);const Fve=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Bve({children:e}){const t=Kt(Fve);return j.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function jve(e){const t=aF(),n=E.useRef(!1);E.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const Vve={[ve.Left]:ve.Right,[ve.Right]:ve.Left,[ve.Top]:ve.Bottom,[ve.Bottom]:ve.Top},gF=({nodeId:e,handleType:t,style:n,type:r=Vs.Bezier,CustomComponent:i,connectionStatus:o})=>{var w,x,C;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:c}=Kt(E.useCallback(k=>({fromNode:k.nodeInternals.get(e),handleId:k.connectionHandleId,toX:(k.connectionPosition.x-k.transform[0])/k.transform[2],toY:(k.connectionPosition.y-k.transform[1])/k.transform[2],connectionMode:k.connectionMode}),[e]),Dr),d=(w=s==null?void 0:s[hn])==null?void 0:w.handleBounds;let f=d==null?void 0:d[t];if(c===wl.Loose&&(f=f||(d==null?void 0:d[t==="source"?"target":"source"])),!s||!f)return null;const h=a?f.find(k=>k.id===a):f[0],p=h?h.x+h.width/2:(s.width??0)/2,m=h?h.y+h.height/2:s.height??0,S=(((x=s.positionAbsolute)==null?void 0:x.x)??0)+p,v=(((C=s.positionAbsolute)==null?void 0:C.y)??0)+m,y=h==null?void 0:h.position,g=y?Vve[y]:null;if(!y||!g)return null;if(i)return j.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:h,fromX:S,fromY:v,toX:l,toY:u,fromPosition:y,toPosition:g,connectionStatus:o});let b="";const _={sourceX:S,sourceY:v,sourcePosition:y,targetX:l,targetY:u,targetPosition:g};return r===Vs.Bezier?[b]=D$(_):r===Vs.Step?[b]=ex({..._,borderRadius:0}):r===Vs.SmoothStep?[b]=ex(_):r===Vs.SimpleBezier?[b]=N$(_):b=`M${S},${v} ${l},${u}`,j.jsx("path",{d:b,fill:"none",className:"react-flow__connection-path",style:n})};gF.displayName="ConnectionLine";const zve=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Uve({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Kt(zve,Dr);return!(i&&o&&a&&s)?null:j.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:j.jsx("g",{className:_i(["react-flow__connection",u]),children:j.jsx(gF,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const mF=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:m,onSelectionEnd:S,connectionLineType:v,connectionLineStyle:y,connectionLineComponent:g,connectionLineContainerStyle:b,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,multiSelectionKeyCode:C,panActivationKeyCode:k,zoomActivationKeyCode:P,deleteKeyCode:A,onlyRenderVisibleElements:$,elementsSelectable:N,selectNodesOnDrag:T,defaultViewport:O,translateExtent:I,minZoom:M,maxZoom:R,preventScrolling:D,defaultMarkerColor:L,zoomOnScroll:V,zoomOnPinch:z,panOnScroll:U,panOnScrollSpeed:K,panOnScrollMode:W,zoomOnDoubleClick:X,panOnDrag:F,onPaneClick:q,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneScroll:Z,onPaneContextMenu:ge,onEdgeUpdate:ae,onEdgeContextMenu:oe,onEdgeMouseEnter:Te,onEdgeMouseMove:se,onEdgeMouseLeave:We,edgeUpdaterRadius:yt,onEdgeUpdateStart:Fe,onEdgeUpdateEnd:Be,noDragClassName:Me,noWheelClassName:rt,noPanClassName:xt,elevateEdgesOnSelect:mn,disableKeyboardA11y:an,nodeOrigin:Ot,nodeExtent:ee,rfId:_e})=>(jve(o),j.jsx(xve,{onPaneClick:q,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneContextMenu:ge,onPaneScroll:Z,deleteKeyCode:A,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,onSelectionStart:m,onSelectionEnd:S,multiSelectionKeyCode:C,panActivationKeyCode:k,zoomActivationKeyCode:P,elementsSelectable:N,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:V,zoomOnPinch:z,zoomOnDoubleClick:X,panOnScroll:U,panOnScrollSpeed:K,panOnScrollMode:W,panOnDrag:F,defaultViewport:O,translateExtent:I,minZoom:M,maxZoom:R,onSelectionContextMenu:p,preventScrolling:D,noDragClassName:Me,noWheelClassName:rt,noPanClassName:xt,disableKeyboardA11y:an,children:j.jsxs(Bve,{children:[j.jsx($ve,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:ae,onlyRenderVisibleElements:$,onEdgeContextMenu:oe,onEdgeMouseEnter:Te,onEdgeMouseMove:se,onEdgeMouseLeave:We,onEdgeUpdateStart:Fe,onEdgeUpdateEnd:Be,edgeUpdaterRadius:yt,defaultMarkerColor:L,noPanClassName:xt,elevateEdgesOnSelect:!!mn,disableKeyboardA11y:an,rfId:_e,children:j.jsx(Uve,{style:y,type:v,component:g,containerStyle:b})}),j.jsx("div",{className:"react-flow__edgelabel-renderer"}),j.jsx(Eve,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,selectNodesOnDrag:T,onlyRenderVisibleElements:$,noPanClassName:xt,noDragClassName:Me,disableKeyboardA11y:an,nodeOrigin:Ot,nodeExtent:ee,rfId:_e})]})}));mF.displayName="GraphView";var Gve=E.memo(mF);const ix=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Ps={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:ix,nodeExtent:ix,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:wl.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:v0e,isValidConnection:void 0},Hve=()=>Ope((e,t)=>({...Ps,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:h_(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?h_(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),c=l==null?void 0:l.querySelector(".react-flow__viewport");if(!c)return;const d=window.getComputedStyle(c),{m22:f}=new window.DOMMatrixReadOnly(d.transform),h=n.reduce((m,S)=>{const v=i.get(S.id);if(v){const y=b3(S.nodeElement);!!(y.width&&y.height&&(v.width!==y.width||v.height!==y.height||S.forceUpdate))&&(i.set(v.id,{...v,[hn]:{...v[hn],handleBounds:{source:ek(".source",S.nodeElement,f,u),target:ek(".target",S.nodeElement,f,u)}},...y}),m.push({id:v.id,type:"dimensions",dimensions:y}))}return m},[]);oF(i,u);const p=s||o&&!s&&sF(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:p}),(h==null?void 0:h.length)>0&&(r==null||r(h))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=uF(n,a()),c=h_(u,i,s,l);e({nodeInternals:c})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>Ls(l,!0)):(s=Du(o(),n),a=Du(i,[])),Tg({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>Ls(l,!0)):(s=Du(i,n),a=Du(o(),[])),Tg({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(c=>(c.selected=!1,Ls(c.id,!1))),u=a.map(c=>Ls(c.id,!1));Tg({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>Ls(a.id,!1)),s=n.filter(a=>a.selected).map(a=>Ls(a.id,!1));Tg({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=S3(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=ia.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),c=[[0,0],[i,o]],d=s==null?void 0:s.constrain()(u,c,l);return s.transform(a,d),r[0]!==d.x||r[1]!==d.y||r[2]!==d.k},cancelConnection:()=>e({connectionNodeId:Ps.connectionNodeId,connectionHandleId:Ps.connectionHandleId,connectionHandleType:Ps.connectionHandleType,connectionStatus:Ps.connectionStatus,connectionStartHandle:Ps.connectionStartHandle,connectionEndHandle:Ps.connectionEndHandle}),reset:()=>e({...Ps})})),yF=({children:e})=>{const t=E.useRef(null);return t.current||(t.current=Hve()),j.jsx(d0e,{value:t.current,children:e})};yF.displayName="ReactFlowProvider";const vF=({children:e})=>E.useContext(m1)?j.jsx(j.Fragment,{children:e}):j.jsx(yF,{children:e});vF.displayName="ReactFlowWrapper";function sk(e,t){return E.useRef(null),E.useMemo(()=>t(e),[e])}const qve={input:K$,default:nx,output:X$,group:E3},Wve={default:Zy,straight:x3,step:w3,smoothstep:y1,simplebezier:_3},Kve=[0,0],Yve=[15,15],Xve={x:0,y:0,zoom:1},Qve={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Zve=E.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=qve,edgeTypes:s=Wve,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:v,onNodeMouseEnter:y,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,onNodeDragStart:x,onNodeDrag:C,onNodeDragStop:k,onNodesDelete:P,onEdgesDelete:A,onSelectionChange:$,onSelectionDragStart:N,onSelectionDrag:T,onSelectionDragStop:O,onSelectionContextMenu:I,onSelectionStart:M,onSelectionEnd:R,connectionMode:D=wl.Strict,connectionLineType:L=Vs.Bezier,connectionLineStyle:V,connectionLineComponent:z,connectionLineContainerStyle:U,deleteKeyCode:K="Backspace",selectionKeyCode:W="Shift",selectionOnDrag:X=!1,selectionMode:F=Th.Full,panActivationKeyCode:q="Space",multiSelectionKeyCode:Q="Meta",zoomActivationKeyCode:J="Meta",snapToGrid:ne=!1,snapGrid:Z=Yve,onlyRenderVisibleElements:ge=!1,selectNodesOnDrag:ae=!0,nodesDraggable:oe,nodesConnectable:Te,nodesFocusable:se,nodeOrigin:We=Kve,edgesFocusable:yt,edgesUpdatable:Fe,elementsSelectable:Be,defaultViewport:Me=Xve,minZoom:rt=.5,maxZoom:xt=2,translateExtent:mn=ix,preventScrolling:an=!0,nodeExtent:Ot,defaultMarkerColor:ee="#b1b1b7",zoomOnScroll:_e=!0,zoomOnPinch:Ee=!0,panOnScroll:Ne=!1,panOnScrollSpeed:ie=.5,panOnScrollMode:he=tc.Free,zoomOnDoubleClick:Qt=!0,panOnDrag:Rt=!0,onPaneClick:ut,onPaneMouseEnter:rr,onPaneMouseMove:Mo,onPaneMouseLeave:Qr,onPaneScroll:No,onPaneContextMenu:ct,children:Ke,onEdgeUpdate:An,onEdgeContextMenu:yn,onEdgeDoubleClick:Hn,onEdgeMouseEnter:ir,onEdgeMouseMove:br,onEdgeMouseLeave:Ki,onEdgeUpdateStart:or,onEdgeUpdateEnd:On,edgeUpdaterRadius:Do=10,onNodesChange:_s,onEdgesChange:ws,noDragClassName:Hl="nodrag",noWheelClassName:Lo="nowheel",noPanClassName:sr="nopan",fitView:Na=!1,fitViewOptions:Sb,connectOnClick:_b=!0,attributionPosition:wb,proOptions:xb,defaultEdgeOptions:xs,elevateNodesOnSelect:Cb=!0,elevateEdgesOnSelect:Tb=!1,disableKeyboardA11y:Mp=!1,autoPanOnConnect:Eb=!0,autoPanOnNodeDrag:Pb=!0,connectionRadius:kb=20,isValidConnection:id,onError:Ab,style:ql,id:Wl,...Ob},Kl)=>{const Np=sk(o,nve),Rb=sk(s,X0e),od=Wl||"1";return j.jsx("div",{...Ob,style:{...ql,...Qve},ref:Kl,className:_i(["react-flow",i]),"data-testid":"rf__wrapper",id:Wl,children:j.jsxs(vF,{children:[j.jsx(Gve,{onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:y,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,nodeTypes:Np,edgeTypes:Rb,connectionLineType:L,connectionLineStyle:V,connectionLineComponent:z,connectionLineContainerStyle:U,selectionKeyCode:W,selectionOnDrag:X,selectionMode:F,deleteKeyCode:K,multiSelectionKeyCode:Q,panActivationKeyCode:q,zoomActivationKeyCode:J,onlyRenderVisibleElements:ge,selectNodesOnDrag:ae,defaultViewport:Me,translateExtent:mn,minZoom:rt,maxZoom:xt,preventScrolling:an,zoomOnScroll:_e,zoomOnPinch:Ee,zoomOnDoubleClick:Qt,panOnScroll:Ne,panOnScrollSpeed:ie,panOnScrollMode:he,panOnDrag:Rt,onPaneClick:ut,onPaneMouseEnter:rr,onPaneMouseMove:Mo,onPaneMouseLeave:Qr,onPaneScroll:No,onPaneContextMenu:ct,onSelectionContextMenu:I,onSelectionStart:M,onSelectionEnd:R,onEdgeUpdate:An,onEdgeContextMenu:yn,onEdgeDoubleClick:Hn,onEdgeMouseEnter:ir,onEdgeMouseMove:br,onEdgeMouseLeave:Ki,onEdgeUpdateStart:or,onEdgeUpdateEnd:On,edgeUpdaterRadius:Do,defaultMarkerColor:ee,noDragClassName:Hl,noWheelClassName:Lo,noPanClassName:sr,elevateEdgesOnSelect:Tb,rfId:od,disableKeyboardA11y:Mp,nodeOrigin:We,nodeExtent:Ot}),j.jsx(V0e,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:v,nodesDraggable:oe,nodesConnectable:Te,nodesFocusable:se,edgesFocusable:yt,edgesUpdatable:Fe,elementsSelectable:Be,elevateNodesOnSelect:Cb,minZoom:rt,maxZoom:xt,nodeExtent:Ot,onNodesChange:_s,onEdgesChange:ws,snapToGrid:ne,snapGrid:Z,connectionMode:D,translateExtent:mn,connectOnClick:_b,defaultEdgeOptions:xs,fitView:Na,fitViewOptions:Sb,onNodesDelete:P,onEdgesDelete:A,onNodeDragStart:x,onNodeDrag:C,onNodeDragStop:k,onSelectionDrag:T,onSelectionDragStart:N,onSelectionDragStop:O,noPanClassName:sr,nodeOrigin:We,rfId:od,autoPanOnConnect:Eb,autoPanOnNodeDrag:Pb,onError:Ab,connectionRadius:kb,isValidConnection:id}),j.jsx(B0e,{onSelectionChange:$}),Ke,j.jsx(p0e,{proOptions:xb,position:wb}),j.jsx(q0e,{rfId:od,disableKeyboardA11y:Mp})]})})});Zve.displayName="ReactFlow";const Jve=Se.child({namespace:"schema"});function e1e(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Ph=Vf("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{try{const i=await(await fetch("openapi.json")).json();return Jve.info({openAPISchema:i},"Received OpenAPI schema"),JSON.parse(JSON.stringify(i,e1e()))}catch(r){return n({error:r})}}),bF={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},SF=zt({name:"nodes",initialState:bF,reducers:{nodesChanged:(e,t)=>{e.nodes=uF(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=yve(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=L$(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(s=>s.id===n);o>-1&&(e.nodes[o].data.inputs[r].value=i)},imageCollectionFieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(a=>a.id===n);if(o===-1)return;const s=Yn(e.nodes[o].data.inputs[r].value);if(!s){e.nodes[o].data.inputs[r].value=i;return}e.nodes[o].data.inputs[r].value=pZ(s.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Ph.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:X6e,edgesChanged:Q6e,nodeAdded:Z6e,fieldValueChanged:ox,connectionMade:J6e,connectionStarted:e8e,connectionEnded:t8e,shouldShowGraphOverlayChanged:n8e,shouldShowFieldTypeLegendChanged:r8e,shouldShowMinimapPanelChanged:i8e,nodeTemplatesBuilt:k3,nodeEditorReset:_F,imageCollectionFieldValueChanged:o8e,setEditorInstance:s8e,loadFileNodes:a8e,loadFileEdges:l8e,setProgressNodeSize:u8e}=SF.actions,t1e=SF.reducer,c8e=e=>e.nodes,wF={esrganModelName:"RealESRGAN_x4plus.pth"},xF=zt({name:"postprocessing",initialState:wF,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:d8e}=xF.actions,n1e=xF.reducer,_p=me("app/userInvoked"),r1e={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class e0{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||r1e,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Ad(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function ak(e){return e==null?"":""+e}function i1e(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function A3(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function lk(e,t,n){const{obj:r,k:i}=A3(e,t,Object);r[i]=n}function o1e(e,t,n,r){const{obj:i,k:o}=A3(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function t0(e,t){const{obj:n,k:r}=A3(e,t);if(n)return n[r]}function s1e(e,t,n){const r=t0(e,n);return r!==void 0?r:t0(t,n)}function CF(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):CF(e[r],t[r],n):e[r]=t[r]);return e}function ou(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var a1e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function l1e(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>a1e[t]):e}const u1e=[" ",",","?","!",";"];function c1e(e,t,n){t=t||"",n=n||"";const r=u1e.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function n0(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?n0(l,u,n):void 0}i=i[r[o]]}return i}function r0(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class uk extends v1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=t0(this.data,a);return l||!s||typeof r!="string"?l:n0(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),lk(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=t0(this.data,a)||{};i?CF(l,r,o):l={...l,...r},lk(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var TF={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const ck={};class i0 extends v1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),i1e(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=ho.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!c1e(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,c=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const b=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${b}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${b}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const d=this.resolve(t,n);let f=d&&d.res;const h=d&&d.usedKey||s,p=d&&d.exactUsedKey||s,m=Object.prototype.toString.apply(f),S=["[object Number]","[object Function]","[object RegExp]"],v=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject;if(y&&f&&(typeof f!="string"&&typeof f!="boolean"&&typeof f!="number")&&S.indexOf(m)<0&&!(typeof v=="string"&&m==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const b=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,f,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(d.res=b,d):b}if(o){const b=m==="[object Array]",_=b?[]:{},w=b?p:h;for(const x in f)if(Object.prototype.hasOwnProperty.call(f,x)){const C=`${w}${o}${x}`;_[x]=this.translate(C,{...n,joinArrays:!1,ns:a}),_[x]===C&&(_[x]=f[x])}f=_}}else if(y&&typeof v=="string"&&m==="[object Array]")f=f.join(v),f&&(f=this.extendTranslation(f,t,n,r));else{let b=!1,_=!1;const w=n.count!==void 0&&typeof n.count!="string",x=i0.hasDefaultValue(n),C=w?this.pluralResolver.getSuffix(u,n.count,n):"",k=n.ordinal&&w?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",P=n[`defaultValue${C}`]||n[`defaultValue${k}`]||n.defaultValue;!this.isValidLookup(f)&&x&&(b=!0,f=P),this.isValidLookup(f)||(_=!0,f=s);const $=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&_?void 0:f,N=x&&P!==f&&this.options.updateMissing;if(_||b||N){if(this.logger.log(N?"updateKey":"missingKey",u,l,s,N?P:f),o){const M=this.resolve(s,{...n,keySeparator:!1});M&&M.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let T=[];const O=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&O&&O[0])for(let M=0;M{const L=x&&D!==f?D:$;this.options.missingKeyHandler?this.options.missingKeyHandler(M,l,R,L,N,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(M,l,R,L,N,n),this.emit("missingKey",M,l,R,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&w?T.forEach(M=>{this.pluralResolver.getSuffixes(M,n).forEach(R=>{I([M],s+R,n[`defaultValue${R}`]||P)})}):I(T,s,P))}f=this.extendTranslation(f,t,n,d,r),_&&f===s&&this.options.appendNamespaceToMissingKey&&(f=`${l}:${s}`),(_||b)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,b?f:void 0):f=this.options.parseMissingKeyHandler(f))}return i?(d.res=f,d):f}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const f=t.match(this.interpolator.nestingRegexp);c=f&&f.length}let d=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),t=this.interpolator.interpolate(t,d,r.lng||this.language,r),u){const f=t.match(this.interpolator.nestingRegexp),h=f&&f.length;c1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),c=u.key;i=c;let d=u.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const f=n.count!==void 0&&typeof n.count!="string",h=f&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),p=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",m=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);d.forEach(S=>{this.isValidLookup(r)||(a=S,!ck[`${m[0]}-${S}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(ck[`${m[0]}-${S}`]=!0,this.logger.warn(`key "${i}" for languages "${m.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),m.forEach(v=>{if(this.isValidLookup(r))return;s=v;const y=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(y,c,v,S,n);else{let b;f&&(b=this.pluralResolver.getSuffix(v,n.count,n));const _=`${this.options.pluralSeparator}zero`,w=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(y.push(c+b),n.ordinal&&b.indexOf(w)===0&&y.push(c+b.replace(w,this.options.pluralSeparator)),h&&y.push(c+_)),p){const x=`${c}${this.options.contextSeparator}${n.context}`;y.push(x),f&&(y.push(x+b),n.ordinal&&b.indexOf(w)===0&&y.push(x+b.replace(w,this.options.pluralSeparator)),h&&y.push(x+_))}}let g;for(;g=y.pop();)this.isValidLookup(r)||(o=g,r=this.getResource(v,S,g,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function m_(e){return e.charAt(0).toUpperCase()+e.slice(1)}class dk{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=ho.create("languageUtils")}getScriptPartFromCode(t){if(t=r0(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=r0(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=m_(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=m_(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=m_(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let d1e=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],f1e={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const h1e=["v1","v2","v3"],p1e=["v4"],fk={zero:0,one:1,two:2,few:3,many:4,other:5};function g1e(){const e={};return d1e.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:f1e[t.fc]}})}),e}class m1e{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=ho.create("pluralResolver"),(!this.options.compatibilityJSON||p1e.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=g1e()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(r0(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>fk[i]-fk[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!h1e.includes(this.options.compatibilityJSON)}}function hk(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=s1e(e,t,n);return!o&&i&&typeof n=="string"&&(o=n0(e,n,r),o===void 0&&(o=n0(t,n,r))),o}class y1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=ho.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:l1e,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?ou(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?ou(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?ou(n.nestingPrefix):n.nestingPrefixEscaped||ou("$t("),this.nestingSuffix=n.nestingSuffix?ou(n.nestingSuffix):n.nestingSuffixEscaped||ou(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(p){return p.replace(/\$/g,"$$$$")}const c=p=>{if(p.indexOf(this.formatSeparator)<0){const y=hk(n,l,p,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(y,void 0,r,{...i,...n,interpolationkey:p}):y}const m=p.split(this.formatSeparator),S=m.shift().trim(),v=m.join(this.formatSeparator).trim();return this.format(hk(n,l,S,this.options.keySeparator,this.options.ignoreJSONStructure),v,r,{...i,...n,interpolationkey:S})};this.resetRegExp();const d=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:p=>u(p)},{regex:this.regexp,safeValue:p=>this.escapeValue?u(this.escape(p)):u(p)}].forEach(p=>{for(a=0;o=p.regex.exec(t);){const m=o[1].trim();if(s=c(m),s===void 0)if(typeof d=="function"){const v=d(t,o,i);s=typeof v=="string"?v:""}else if(i&&Object.prototype.hasOwnProperty.call(i,m))s="";else if(f){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${m} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=ak(s));const S=p.safeValue(s);if(t=t.replace(o[0],S),f?(p.regex.lastIndex+=s.length,p.regex.lastIndex-=o[0].length):p.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const d=l.split(new RegExp(`${c}[ ]*{`));let f=`{${d[1]}`;l=d[0],f=this.interpolate(f,s);const h=f.match(/'/g),p=f.match(/"/g);(h&&h.length%2===0&&!p||p.length%2!==0)&&(f=f.replace(/'/g,'"'));try{s=JSON.parse(f),u&&(s={...u,...s})}catch(m){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,m),`${l}${c}${f}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const c=i[1].split(this.formatSeparator).map(d=>d.trim());i[1]=c.shift(),l=c,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=ak(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((c,d)=>this.format(c,d,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function v1e(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function su(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(r0(i),o),t[s]=a),a(r)}}class b1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=ho.create("formatter"),this.options=t,this.formats={number:su((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:su((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:su((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:su((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:su((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=su(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:c}=v1e(l);if(this.formats[u]){let d=a;try{const f=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},h=f.locale||f.lng||i.locale||i.lng||r;d=this.formats[u](a,h,{...c,...i,...f})}catch(f){this.logger.warn(f)}return d}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function S1e(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class _1e extends v1{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=ho.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let c=!0;n.forEach(d=>{const f=`${u}|${d}`;!r.reload&&this.store.hasResourceBundle(u,d)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?s[f]===void 0&&(s[f]=!0):(this.state[f]=1,c=!1,s[f]===void 0&&(s[f]=!0),o[f]===void 0&&(o[f]=!0),l[d]===void 0&&(l[d]=!0)))}),c||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{o1e(l.loaded,[o],s),S1e(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(d=>{a[u][d]===void 0&&(a[u][d]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(u&&c&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,c)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(c=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(t,n,r,i,l):c=u(t,n,r,i),c&&typeof c.then=="function"?c.then(d=>a(null,d)).catch(a):a(null,c)}catch(c){a(c)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function pk(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function gk(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Eg(){}function w1e(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class kh extends v1{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=gk(t),this.services={},this.logger=ho,this.modules={external:[]},w1e(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=pk();this.options={...i,...this.options,...gk(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?ho.init(o(this.modules.logger),this.options):ho.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=b1e);const d=new dk(this.options);this.store=new uk(this.options.resources,this.options);const f=this.services;f.logger=ho,f.resourceStore=this.store,f.languageUtils=d,f.pluralResolver=new m1e(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(f.formatter=o(c),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new y1e(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new _1e(o(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(h){for(var p=arguments.length,m=new Array(p>1?p-1:0),S=1;S1?p-1:0),S=1;S{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,r||(r=Eg),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return t.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return t.store[c](...arguments),t}});const l=Ad(),u=()=>{const c=(d,f)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(f),r(d,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Eg;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Ad();return t||(t=this.languages),n||(n=this.options.ns),r||(r=Eg),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&TF.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Ad();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{s(c,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),d=2;d`${l.keyPrefix}${f}${p}`):h=l.keyPrefix?`${l.keyPrefix}${f}${s}`:s,i.t(h,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Ad();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Ad();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new dk(pk());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new kh(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Eg;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new kh(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new uk(this.store.data,i),o.services.resourceStore=o.store),o.translator=new i0(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;ctypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},f8e=()=>{const e=qc(),t=cy(Pce),n=tse();return E.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(x1e())},[e,n,t]),null},h8e=()=>{const e=qc();return E.useCallback(n=>e(Vt(sa(n))),[e])},EF={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1},PF=zt({name:"system",initialState:EF,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload}},extraReducers(e){e.addCase(PL,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(AL,t=>{t.sessionId=null}),e.addCase(CL,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(EL,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(RL,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase($L,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(IL,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(c3,t=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(sa({title:gf("toast.serverError"),status:"error"}))}),e.addCase(DL,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(_p,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(Dl.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(sa({title:gf("toast.canceled"),status:"warning"}))}),e.addCase(k3,t=>{t.wasSchemaParsed=!0}),e.addMatcher(XD,(t,n)=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(sa({title:gf("toast.serverError"),status:"error"}))})}}),{setIsProcessing:p8e,setShouldConfirmOnDelete:g8e,setCurrentStatus:m8e,setIsCancelable:y8e,setEnableImageDebugging:v8e,addToast:Vt,clearToastQueue:x1e,cancelScheduled:b8e,scheduledCancelAborted:S8e,cancelTypeChanged:_8e,subscribedNodeIdsSet:w8e,consoleLogLevelChanged:x8e,shouldLogToConsoleChanged:C8e,isPersistedChanged:T8e,shouldAntialiasProgressImageChanged:E8e,languageChanged:P8e,progressImageSet:C1e,setIsNodesEnabled:k8e}=PF.actions,T1e=PF.reducer,E1e={searchFolder:null,advancedAddScanModel:null},kF=zt({name:"modelmanager",initialState:E1e,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:A8e,setAdvancedAddScanModel:O8e}=kF.actions,P1e=kF.reducer,mk=Se.child({namespace:"canvas"}),k1e=()=>{pe({actionCreator:Zfe,effect:async(e,{dispatch:t,getState:n})=>{const r=n(),{sessionId:i,isProcessing:o}=r.system,s=e.payload;if(o){if(!s){mk.debug("No canvas session, skipping cancel");return}if(s!==i){mk.debug({data:{canvasSessionId:s,session_id:i}},"Canvas session does not match global session, skipping cancel");return}t(Dl({session_id:i}))}}})},AF=ya.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:R8e,useGetAppConfigQuery:I8e}=AF,A1e=()=>{pe({matcher:AF.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r}=e.payload,i=t().generation.infillMethod;r.includes(i)||n(Sce(r[0]))}})},O1e=me("app/appStarted"),R1e=()=>{pe({actionCreator:O1e,effect:async(e,{getState:t,dispatch:n,unsubscribe:r,cancelActiveListeners:i})=>{i(),r()}})};Se.child({namespace:"boards"});const I1e=()=>{pe({matcher:Hi(Fw,Uy),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=Fw.match(e)?e.payload:o.gallery.selectedBoardId,l=(Uy.match(e)?e.payload:o.gallery.galleryView)==="images"?Mi:Gs,u={board_id:s??"none",categories:l};if(await r(()=>ye.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:d}=ye.endpoints.listImages.select(u)(t());d!=null&&d.ids.length?n(ra(d.ids[0]??null)):n(ra(null))}else n(ra(null))}})},M1e=()=>{pe({matcher:Rc.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const{board_id:i,deleted_board_images:o,deleted_images:s}=e.payload;let a=!1,l=!1,u=!1,c=!1;const d=n();s.forEach(f=>{const h=KL(d,f);h.isInitialImage&&!a&&(t(bD()),a=!0),h.isCanvasImage&&!l&&(t(eL()),l=!0),h.isNodesImage&&!u&&(t(_F()),u=!0),h.isControlNetImage&&!c&&(t(zL()),c=!0)})}})},N1e=me("canvas/canvasSavedToGallery"),D1e=me("canvas/canvasCopiedToClipboard"),L1e=me("canvas/canvasDownloadedAsImage"),$1e=me("canvas/canvasMerged"),F1e=me("canvas/stagingAreaImageSaved");let OF=null,RF=null;const M8e=e=>{OF=e},b1=()=>OF,N8e=e=>{RF=e},B1e=()=>RF,j1e=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),o0=async(e,t)=>await j1e(e.toCanvas(t)),O3=async e=>{const t=b1();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return o0(o,a)},V1e=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},z1e=Se.child({namespace:"canvasCopiedToClipboardListener"}),U1e=()=>{pe({actionCreator:D1e,effect:async(e,{dispatch:t,getState:n})=>{const r=n(),i=await O3(r);if(!i){z1e.error("Problem getting base layer blob"),t(Vt({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}V1e(i),t(Vt({title:"Canvas Copied to Clipboard",status:"success"}))}})},G1e=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},H1e=Se.child({namespace:"canvasSavedToGalleryListener"}),q1e=()=>{pe({actionCreator:L1e,effect:async(e,{dispatch:t,getState:n})=>{const r=n(),i=await O3(r);if(!i){H1e.error("Problem getting base layer blob"),t(Vt({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}G1e(i,"canvas.png"),t(Vt({title:"Canvas Downloaded",status:"success"}))}})},W1e=async()=>{const e=b1();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),o0(t,t.getClientRect())},yk=Se.child({namespace:"canvasCopiedToClipboardListener"}),K1e=()=>{pe({actionCreator:$1e,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=await W1e();if(!i){yk.error("Problem getting base layer blob"),t(Vt({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=b1();if(!o){yk.error("Problem getting canvas base layer"),t(Vt({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const s=o.getClientRect({relativeTo:o.getParent()}),a=await t(ye.endpoints.uploadImage.initiate({file:new File([i],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:l}=a;t(Jfe({kind:"image",layer:"base",imageName:l,...s}))}})},Y1e=Se.child({namespace:"canvasSavedToGalleryListener"}),X1e=()=>{pe({actionCreator:N1e,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=n(),o=await O3(i);if(!o){Y1e.error("Problem getting base layer blob"),t(Vt({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}t(ye.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:i.gallery.autoAddBoardId,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},Q1e=Se.child({namespace:"controlNet"}),Z1e=(e,t,n)=>{if(!(ype.match(e)||y8.match(e)||f3.match(e)||vpe.match(e)||v8.match(e))||v8.match(e)&&n.controlNet.controlNets[e.payload.controlNetId].shouldAutoConfig===!0)return!1;const{controlImage:i,processorType:o,shouldAutoConfig:s}=t.controlNet.controlNets[e.payload.controlNetId];if(y8.match(e)&&!s)return!1;const a=o!=="none",l=t.system.isProcessing;return a&&!l&&!!i},J1e=()=>{pe({predicate:Z1e,effect:async(e,{dispatch:t,getState:n,cancelActiveListeners:r,delay:i})=>{const{controlNetId:o}=e.payload;r(),Q1e.trace({data:e.payload},"ControlNet auto-process triggered"),await i(300),t(d3({controlNetId:o}))}})},Ll=me("system/sessionReadyToInvoke"),IF=e=>(e==null?void 0:e.type)==="image_output",vk=Se.child({namespace:"controlNet"}),ebe=()=>{pe({actionCreator:d3,effect:async(e,{dispatch:t,getState:n,take:r,unsubscribe:i,subscribe:o})=>{const{controlNetId:s}=e.payload,a=n().controlNet.controlNets[s];if(!a.controlImage){vk.error("Unable to process ControlNet image");return}const l={nodes:{[a.processorNode.id]:{...a.processorNode,is_intermediate:!0,image:{image_name:a.controlImage}}}},u=t(Un({graph:l})),[c]=await r(h=>Un.fulfilled.match(h)&&h.meta.requestId===u.requestId),d=c.payload.id;t(Ll());const[f]=await r(h=>u3.match(h)&&h.payload.data.graph_execution_state_id===d);if(IF(f.payload.data.result)){const{image_name:h}=f.payload.data.result.image,[{payload:p}]=await r(S=>ye.endpoints.getImageDTO.matchFulfilled(S)&&S.payload.image_name===h),m=p;vk.debug({data:{arg:e.payload,processedControlImage:m}},"ControlNet image processed"),t(mpe({controlNetId:s,processedControlImage:m.image_name}))}}})},MF=Se.child({namespace:"boards"}),tbe=()=>{pe({matcher:ye.endpoints.addImageToBoard.matchFulfilled,effect:(e,{getState:t,dispatch:n})=>{const{board_id:r,imageDTO:i}=e.meta.arg.originalArgs;MF.debug({data:{board_id:r,imageDTO:i}},"Image added to board")}})},nbe=()=>{pe({matcher:ye.endpoints.addImageToBoard.matchRejected,effect:(e,{getState:t,dispatch:n})=>{const{board_id:r,imageDTO:i}=e.meta.arg.originalArgs;MF.debug({data:{board_id:r,imageDTO:i}},"Problem adding image to board")}})},D8e=e=>e.gallery,L8e=Vn(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],Kc),rbe=Vn([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t??"none",categories:n==="images"?Mi:Gs,offset:0,limit:tpe,is_intermediate:!1}},Kc),NF=Se.child({namespace:"image"}),ibe=()=>{pe({actionCreator:YL,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const{imageDTO:i,imageUsage:o}=e.payload;t(WL(!1));const{image_name:s}=i,a=n();if(a.gallery.selection[a.gallery.selection.length-1]===s){const d=rbe(a),{data:f}=ye.endpoints.listImages.select(d)(a),h=(f==null?void 0:f.ids)??[],p=h.findIndex(y=>y.toString()===s),m=h.filter(y=>y.toString()!==s),S=Xo(p,0,m.length-1),v=m[S];t(ra(v||null))}o.isCanvasImage&&t(eL()),o.isControlNetImage&&t(zL()),o.isInitialImage&&t(bD()),o.isNodesImage&&t(_F());const{requestId:u}=t(ye.endpoints.deleteImage.initiate(i));await r(d=>ye.endpoints.deleteImage.matchFulfilled(d)&&d.meta.requestId===u,3e4)&&t(ya.util.invalidateTags([{type:"Board",id:i.board_id}]))}})},obe=()=>{pe({matcher:ye.endpoints.deleteImage.matchPending,effect:(e,{dispatch:t,getState:n})=>{}})},sbe=()=>{pe({matcher:ye.endpoints.deleteImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{NF.debug({data:{image:e.meta.arg.originalArgs}},"Image deleted")}})},abe=()=>{pe({matcher:ye.endpoints.deleteImage.matchRejected,effect:(e,{dispatch:t,getState:n})=>{NF.debug({data:{image:e.meta.arg.originalArgs}},"Unable to delete image")}})},lbe=Se.child({namespace:"dnd"}),DF=me("dnd/dndDropped"),ube=()=>{pe({actionCreator:DF,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{activeData:i,overData:o}=e.payload;if(n(),lbe.debug({data:{activeData:i,overData:o}},"Image or selection dropped"),o.actionType==="SET_CURRENT_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){t(ra(i.payload.imageDTO.image_name));return}if(o.actionType==="SET_INITIAL_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){t(Uv(i.payload.imageDTO));return}if(o.actionType==="ADD_TO_BATCH"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){t(Bw([i.payload.imageDTO.image_name]));return}if(o.actionType==="ADD_TO_BATCH"&&i.payloadType==="IMAGE_NAMES"){t(Bw(i.payload.image_names));return}if(o.actionType==="SET_CONTROLNET_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){const{controlNetId:s}=o.context;t(f3({controlImage:i.payload.imageDTO.image_name,controlNetId:s}));return}if(o.actionType==="SET_CANVAS_INITIAL_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){t(tL(i.payload.imageDTO));return}if(o.actionType==="SET_NODES_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){const{fieldName:s,nodeId:a}=o.context;t(ox({nodeId:a,fieldName:s,value:i.payload.imageDTO}));return}if(o.actionType==="SET_MULTI_NODES_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){const{fieldName:s,nodeId:a}=o.context;t(ox({nodeId:a,fieldName:s,value:[i.payload.imageDTO]}));return}if(o.actionType==="MOVE_BOARD"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){const{imageDTO:s}=i.payload,{boardId:a}=o.context;if(!a){t(ye.endpoints.removeImageFromBoard.initiate({imageDTO:s}));return}t(ye.endpoints.addImageToBoard.initiate({imageDTO:s,board_id:a}));return}}})},LF=Se.child({namespace:"boards"}),cbe=()=>{pe({matcher:ye.endpoints.removeImageFromBoard.matchFulfilled,effect:(e,{getState:t,dispatch:n})=>{const{board_id:r,image_name:i}=e.meta.arg.originalArgs;LF.debug({data:{board_id:r,image_name:i}},"Image added to board")}})},dbe=()=>{pe({matcher:ye.endpoints.removeImageFromBoard.matchRejected,effect:(e,{getState:t,dispatch:n})=>{const{board_id:r,image_name:i}=e.meta.arg.originalArgs;LF.debug({data:{board_id:r,image_name:i}},"Problem adding image to board")}})};Se.child({namespace:"image"});const fbe=()=>{pe({actionCreator:Tpe,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const i=e.payload,o=n(),{shouldConfirmOnDelete:s}=o.system,a=Ppe(n());if(!a)return;const l=a.isCanvasImage||a.isInitialImage||a.isControlNetImage||a.isNodesImage;if(s||l){t(WL(!0));return}t(YL({imageDTO:i,imageUsage:a}))}})};Se.child({namespace:"image"});const $F=Se.child({namespace:"image"}),Fa={title:"Image Uploaded",status:"success"},hbe=()=>{pe({matcher:ye.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{selectedBoardId:o,autoAddBoardId:s}=i.gallery;$F.debug({arg:"",imageDTO:r},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s)t(Vt({...Fa,...l}));else{t(ye.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:r}));const{data:u}=Rc.endpoints.listAllBoards.select()(i),c=u==null?void 0:u.find(f=>f.board_id===s),d=c?`Added to board ${c.board_name}`:`Added to board ${s}`;t(Vt({...Fa,description:d}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t(tL(r)),t(Vt({...Fa,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(f3({controlNetId:l,controlImage:r.image_name})),t(Vt({...Fa,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(Uv(r)),t(Vt({...Fa,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(ox({nodeId:l,fieldName:u,value:r})),t(Vt({...Fa,description:`Set as node field ${u}`}));return}if((a==null?void 0:a.type)==="ADD_TO_BATCH"){t(Bw([r.image_name])),t(Vt({...Fa,description:"Added to batch"}));return}}}})},pbe=()=>{pe({matcher:ye.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const{file:n,postUploadAction:r,...i}=e.meta.arg.originalArgs,o={arg:{...i,file:""}};$F.error({data:o},"Image upload failed"),t(Vt({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},gbe=me("generation/initialImageSelected"),mbe=me("generation/modelSelected"),ybe=()=>{pe({actionCreator:gbe,effect:(e,{getState:t,dispatch:n})=>{if(!e.payload){n(Vt(sa({title:gf("toast.imageNotLoadedDesc"),status:"error"})));return}n(Uv(e.payload)),n(Vt(sa(gf("toast.sentToImageToImage"))))}})},vbe=Se.child({module:"models"}),bbe=()=>{pe({actionCreator:mbe,effect:(e,{getState:t,dispatch:n})=>{var a;const r=t(),i=zv.safeParse(e.payload);if(!i.success){vbe.error({error:i.error.format()},"Failed to parse main model");return}const o=i.data,{base_model:s}=o;if(((a=r.generation.model)==null?void 0:a.base_model)!==s){let l=0;bc(r.lora.loras,(d,f)=>{d.base_model!==s&&(n(QL(f)),l+=1)});const{vae:u}=r.generation;u&&u.base_model!==s&&(n(SD(null)),l+=1);const{controlNets:c}=r.controlNet;bc(c,(d,f)=>{var h;((h=d.model)==null?void 0:h.base_model)!==s&&(n(VL({controlNetId:f})),l+=1)}),l>0&&n(Vt(sa({title:`Base model changed, cleared ${l} incompatible submodel${l===1?"":"s"}`,status:"warning"})))}n(hm(o))}})},bk=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),Sk=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),_k=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),wk=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),xk=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),Sbe=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,Od=e=>{const t=[];return e.forEach(n=>{const r={...Yn(n),id:Sbe(n)};t.push(r)}),t},so=ya.injectEndpoints({endpoints:e=>({getMainModels:e.query({query:()=>({url:"models/",params:{model_type:"main"}}),providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return bk.setAll(bk.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:vn}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:vn}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:vn}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/main/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:vn}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,params:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:r}),invalidatesTags:[{type:"MainModel",id:vn}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:vn}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:vn}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return Sk.setAll(Sk.getInitialState(),i)}}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return _k.setAll(_k.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return xk.setAll(xk.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return wk.setAll(wk.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${wL.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:vn}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:$8e,useGetControlNetModelsQuery:F8e,useGetLoRAModelsQuery:B8e,useGetTextualInversionModelsQuery:j8e,useGetVaeModelsQuery:V8e,useUpdateMainModelsMutation:z8e,useDeleteMainModelsMutation:U8e,useImportMainModelsMutation:G8e,useAddMainModelsMutation:H8e,useConvertMainModelsMutation:q8e,useMergeMainModelsMutation:W8e,useSyncModelsMutation:K8e,useGetModelsInFolderQuery:Y8e,useGetCheckpointConfigsQuery:X8e}=so,Ck=Se.child({module:"models"}),_be=()=>{pe({matcher:so.endpoints.getMainModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=t().generation.model;if(Au(e.payload.entities,l=>(l==null?void 0:l.model_name)===(r==null?void 0:r.model_name)&&(l==null?void 0:l.base_model)===(r==null?void 0:r.base_model)))return;const o=e.payload.ids[0],s=e.payload.entities[o];if(!s){n(hm(null));return}const a=zv.safeParse(s);if(!a.success){Ck.error({error:a.error.format()},"Failed to parse main model");return}n(hm(a.data))}}),pe({matcher:so.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=t().generation.vae;if(r===null||Au(e.payload.entities,l=>(l==null?void 0:l.model_name)===(r==null?void 0:r.model_name)&&(l==null?void 0:l.base_model)===(r==null?void 0:r.base_model)))return;const o=e.payload.ids[0],s=e.payload.entities[o];if(!s){n(hm(null));return}const a=yce.safeParse(s);if(!a.success){Ck.error({error:a.error.format()},"Failed to parse VAE model");return}n(SD(a.data))}}),pe({matcher:so.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=t().lora.loras;bc(r,(i,o)=>{Au(e.payload.entities,a=>(a==null?void 0:a.model_name)===(i==null?void 0:i.model_name)&&(a==null?void 0:a.base_model)===(i==null?void 0:i.base_model))||n(QL(o))})}}),pe({matcher:so.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=t().controlNet.controlNets;bc(r,(i,o)=>{Au(e.payload.entities,a=>{var l,u;return(a==null?void 0:a.model_name)===((l=i==null?void 0:i.model)==null?void 0:l.model_name)&&(a==null?void 0:a.base_model)===((u=i==null?void 0:i.model)==null?void 0:u.base_model)})||n(VL({controlNetId:o}))})}})},sx=e=>!("$ref"in e),wbe=e=>!("$ref"in e),Q8e=500,xbe={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},Cbe=500,Zt=e=>`var(--invokeai-colors-${e}-${Cbe})`,Z8e={integer:{color:"red",colorCssVar:Zt("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:Zt("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:Zt("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:Zt("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:Zt("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:Zt("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:Zt("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:Zt("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:Zt("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:Zt("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:Zt("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:Zt("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:Zt("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:Zt("teal"),title:"Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:Zt("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:Zt("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:Zt("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:Zt("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:Zt("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:Zt("gray"),title:"Color",description:"A RGBA color."}},y_=e=>e.$ref.split("/").slice(-1)[0],Tbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},Ebe=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},Pbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},kbe=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),Abe=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),Obe=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),Rbe=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),Ibe=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),Mbe=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),Nbe=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),Dbe=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Lbe=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),$be=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Fbe=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Bbe=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),jbe=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Vbe=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},Tk=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),Ek=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),zbe=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),FF=(e,t,n)=>{let r="";n&&t in n?r=n[t]:e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=y_(e.allOf[0]):e.anyOf?r=y_(e.anyOf[0]):e.oneOf&&(r=y_(e.oneOf[0]));const i=xbe[r];if(!i)throw`Field type "${r}" is unknown!`;return i},Ube=(e,t,n)=>{const r=FF(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return Mbe({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return Nbe({schemaObject:e,baseField:i});if(["latents"].includes(r))return Dbe({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return Lbe({schemaObject:e,baseField:i});if(["unet"].includes(r))return $be({schemaObject:e,baseField:i});if(["clip"].includes(r))return Fbe({schemaObject:e,baseField:i});if(["vae"].includes(r))return Bbe({schemaObject:e,baseField:i});if(["control"].includes(r))return jbe({schemaObject:e,baseField:i});if(["model"].includes(r))return Abe({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return Obe({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return Rbe({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return Ibe({schemaObject:e,baseField:i});if(["enum"].includes(r))return Vbe({schemaObject:e,baseField:i});if(["integer"].includes(r))return Tbe({schemaObject:e,baseField:i});if(["number","float"].includes(r))return Ebe({schemaObject:e,baseField:i});if(["string"].includes(r))return Pbe({schemaObject:e,baseField:i});if(["boolean"].includes(r))return kbe({schemaObject:e,baseField:i});if(["array"].includes(r))return Tk({schemaObject:e,baseField:i});if(["item"].includes(r))return Ek({schemaObject:e,baseField:i});if(["color"].includes(r))return zbe({schemaObject:e,baseField:i});if(["array"].includes(r))return Tk({schemaObject:e,baseField:i});if(["item"].includes(r))return Ek({schemaObject:e,baseField:i})},Gbe=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0],i=t.components.schemas[r];return sx(i)?vv(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&sx(a)){const u=FF(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Hbe=["id","type","is_intermediate","metadata"],qbe=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Wbe=e=>t7(e.components.schemas,(r,i)=>i.includes("Invocation")&&!i.includes("InvocationOutput")&&!qbe.some(o=>i.includes(o))).reduce((r,i)=>{var o,s,a;if(wbe(i)){const l=i.properties.type.default,u=((o=i.ui)==null?void 0:o.title)??i.title.replace("Invocation",""),c=(s=i.ui)==null?void 0:s.type_hints,d={};if(l==="collect"){const m=i.properties.item;d.item={type:"item",name:"item",description:m.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(l==="iterate"){const m=i.properties.collection;d.collection={type:"array",name:"collection",title:m.title??"",default:[],description:m.description??"",inputRequirement:"always",inputKind:"connection"}}else vv(i.properties,(m,S,v)=>{if(!Hbe.includes(v)&&sx(S)){const y=Ube(S,v,c);y&&(m[v]=y)}return m},d);const f=i.output;let h;if(l==="iterate"){const m=e.components.schemas.IterateInvocationOutput;h={item:{name:"item",title:m.title??"",description:m.description??"",type:"array"}}}else h=Gbe(f,e,c);const p={title:u,type:l,tags:((a=i.ui)==null?void 0:a.tags)??[],description:i.description??"",inputs:d,outputs:h};Object.assign(r,{[l]:p})}return r},{}),v_=Se.child({namespace:"schema"}),Kbe=()=>{pe({actionCreator:Ph.fulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=e.payload;v_.info({data:{schemaJSON:r}},"Dereferenced OpenAPI schema");const i=Wbe(r);v_.info({data:{nodeTemplates:i}},`Built ${c7(i)} node templates`),t(k3(i))}}),pe({actionCreator:Ph.rejected,effect:(e,{dispatch:t,getState:n})=>{v_.error("Problem dereferencing OpenAPI Schema")}})},Ybe=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Xbe=new Map(Ybe),Qbe=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],ax=Symbol(".toJSON was called"),Zbe=e=>{e[ax]=!0;const t=e.toJSON();return delete e[ax],t},Jbe=e=>Xbe.get(e)??Error,BF=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&Pk(e)){const u=Jbe(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[ax]!==!0)return Zbe(e);const l=u=>BF({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,c]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(c)){n[u]="[object Buffer]";continue}if(c!==null&&typeof c=="object"&&typeof c.pipe=="function"){n[u]="[object Stream]";continue}if(typeof c!="function"){if(!c||typeof c!="object"){n[u]=c;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:c}of Qbe)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:Pk(e[u])?l(e[u]):e[u],enumerable:r?!0:c,configurable:!0,writable:!0});return n};function R3(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?BF({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function Pk(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const jF=Se.child({namespace:"session"}),eSe=()=>{pe({actionCreator:Dl.pending,effect:(e,{getState:t,dispatch:n})=>{}})},tSe=()=>{pe({actionCreator:Dl.fulfilled,effect:(e,{getState:t,dispatch:n})=>{const{session_id:r}=e.meta.arg;jF.debug({data:{session_id:r}},`Session canceled (${r})`)}})},nSe=()=>{pe({actionCreator:Dl.rejected,effect:(e,{getState:t,dispatch:n})=>{if(e.payload){const{arg:r,error:i}=e.payload;jF.error({data:{arg:r,error:R3(i)}},"Problem canceling session")}}})},VF=Se.child({namespace:"session"}),rSe=()=>{pe({actionCreator:Un.pending,effect:(e,{getState:t,dispatch:n})=>{}})},iSe=()=>{pe({actionCreator:Un.fulfilled,effect:(e,{getState:t,dispatch:n})=>{const r=e.payload;VF.debug({data:{session:r}},`Session created (${r.id})`)}})},oSe=()=>{pe({actionCreator:Un.rejected,effect:(e,{getState:t,dispatch:n})=>{if(e.payload){const{arg:r,error:i}=e.payload,o=JSON.stringify(i);VF.error({data:{arg:r,error:R3(i)}},`Problem creating session: ${o}`)}}})},zF=Se.child({namespace:"session"}),sSe=()=>{pe({actionCreator:yp.pending,effect:(e,{getState:t,dispatch:n})=>{}})},aSe=()=>{pe({actionCreator:yp.fulfilled,effect:(e,{getState:t,dispatch:n})=>{const{session_id:r}=e.meta.arg;zF.debug({data:{session_id:r}},`Session invoked (${r})`)}})},lSe=()=>{pe({actionCreator:yp.rejected,effect:(e,{getState:t,dispatch:n})=>{if(e.payload){const{arg:r,error:i}=e.payload,o=JSON.stringify(i);zF.error({data:{arg:r,error:R3(i)}},`Problem invoking session: ${o}`)}}})},uSe=Se.child({namespace:"session"}),cSe=()=>{pe({actionCreator:Ll,effect:(e,{getState:t,dispatch:n})=>{const{sessionId:r}=t().system;r&&(uSe.debug({session_id:r},`Session ready to invoke (${r})})`),n(yp({session_id:r})))}})},dSe=Se.child({namespace:"socketio"}),fSe=()=>{pe({actionCreator:xL,effect:(e,{dispatch:t,getState:n})=>{const{timestamp:r}=e.payload;dSe.debug({timestamp:r},"Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Ph()),t(CL(e.payload)),t(so.endpoints.getMainModels.initiate()),t(so.endpoints.getControlNetModels.initiate()),t(so.endpoints.getLoRAModels.initiate()),t(so.endpoints.getTextualInversionModels.initiate()),t(so.endpoints.getVaeModels.initiate())}})},hSe=Se.child({namespace:"socketio"}),pSe=()=>{pe({actionCreator:TL,effect:(e,{dispatch:t,getState:n})=>{hSe.debug(e.payload,"Disconnected"),t(EL(e.payload))}})},kk=Se.child({namespace:"socketio"}),gSe=()=>{pe({actionCreator:LL,effect:(e,{dispatch:t,getState:n})=>{if(n().system.canceledSession===e.payload.data.graph_execution_state_id){kk.trace(e.payload,"Ignored generator progress for canceled session");return}kk.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t($L(e.payload))}})},mSe=Se.child({namespace:"socketio"}),ySe=()=>{pe({actionCreator:NL,effect:(e,{dispatch:t,getState:n})=>{mSe.debug(e.payload,`Session invocation complete (${e.payload.data.graph_execution_state_id})`),t(DL(e.payload))}})},vSe=Se.child({namespace:"socketio"}),bSe=["dataURL_image"],SSe=()=>{pe({actionCreator:u3,effect:async(e,{dispatch:t,getState:n,take:r})=>{vSe.debug({data:e.payload},`Invocation complete (${e.payload.data.node.type})`);const i=e.payload.data.graph_execution_state_id,{cancelType:o,isCancelScheduled:s}=n().system;o==="scheduled"&&s&&t(Dl({session_id:i}));const{data:a}=e.payload,{result:l,node:u,graph_execution_state_id:c}=a;if(IF(l)&&!bSe.includes(u.type)){const{image_name:d}=l.image,{canvas:f,gallery:h}=n(),p=await t(ye.endpoints.getImageDTO.initiate(d)).unwrap();if(c===f.layerState.stagingArea.sessionId&&t(Qfe(p)),!p.is_intermediate){const{autoAddBoardId:m}=h;t(m?ye.endpoints.addImageToBoard.initiate({board_id:m,imageDTO:p}):ye.util.updateQueryData("listImages",{board_id:"none",categories:Mi},y=>{const g=y.total,_=lr.addOne(y,p).total-g;y.total=y.total+_})),t(ye.util.invalidateTags([{type:"BoardImagesTotal",id:m??"none"},{type:"BoardAssetsTotal",id:m??"none"}]));const{selectedBoardId:S,shouldAutoSwitch:v}=h;v&&(m&&m!==S?(t(Fw(m)),t(Uy("images"))):m||t(Uy("images")),t(ra(p.image_name)))}t(C1e(null))}t(IL(e.payload))}})},_Se=Se.child({namespace:"socketio"}),wSe=()=>{pe({actionCreator:ML,effect:(e,{dispatch:t,getState:n})=>{_Se.error(e.payload,`Invocation error (${e.payload.data.node.type}): ${e.payload.data.error}`),t(c3(e.payload))}})},Ak=Se.child({namespace:"socketio"}),xSe=()=>{pe({actionCreator:OL,effect:(e,{dispatch:t,getState:n})=>{if(n().system.canceledSession===e.payload.data.graph_execution_state_id){Ak.trace(e.payload,"Ignored invocation started for canceled session");return}Ak.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(RL(e.payload))}})},CSe=Se.child({namespace:"socketio"}),TSe=()=>{pe({actionCreator:l3,effect:(e,{dispatch:t,getState:n})=>{CSe.debug(e.payload,`Subscribed (${e.payload.sessionId}))`),t(PL(e.payload))}})},ESe=Se.child({namespace:"socketio"}),PSe=()=>{pe({actionCreator:kL,effect:(e,{dispatch:t,getState:n})=>{ESe.debug(e.payload,`Unsubscribed (${e.payload.sessionId})`),t(AL(e.payload))}})};Se.child({namespace:"canvas"});const kSe=()=>{pe({actionCreator:F1e,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{imageDTO:i}=e.payload;try{const o=await t(ye.endpoints.changeImageIsIntermediate.initiate({imageDTO:i,is_intermediate:!1})).unwrap(),{autoAddBoardId:s}=n().gallery;s&&await t(ye.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s})),t(Vt({title:"Image Saved",status:"success"}))}catch(o){t(Vt({title:"Image Saving Failed",description:o==null?void 0:o.message,status:"error"}))}}})},ASe=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},Ok=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var I3={exports:{}},S1={},UF={},Le={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof De<"u"?De:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(Le);var Bt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=Le;class n{constructor(b=[1,0,0,1,0,0]){this.dirty=!1,this.m=b&&b.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(b){b.m[0]=this.m[0],b.m[1]=this.m[1],b.m[2]=this.m[2],b.m[3]=this.m[3],b.m[4]=this.m[4],b.m[5]=this.m[5]}point(b){var _=this.m;return{x:_[0]*b.x+_[2]*b.y+_[4],y:_[1]*b.x+_[3]*b.y+_[5]}}translate(b,_){return this.m[4]+=this.m[0]*b+this.m[2]*_,this.m[5]+=this.m[1]*b+this.m[3]*_,this}scale(b,_){return this.m[0]*=b,this.m[1]*=b,this.m[2]*=_,this.m[3]*=_,this}rotate(b){var _=Math.cos(b),w=Math.sin(b),x=this.m[0]*_+this.m[2]*w,C=this.m[1]*_+this.m[3]*w,k=this.m[0]*-w+this.m[2]*_,P=this.m[1]*-w+this.m[3]*_;return this.m[0]=x,this.m[1]=C,this.m[2]=k,this.m[3]=P,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(b,_){var w=this.m[0]+this.m[2]*_,x=this.m[1]+this.m[3]*_,C=this.m[2]+this.m[0]*b,k=this.m[3]+this.m[1]*b;return this.m[0]=w,this.m[1]=x,this.m[2]=C,this.m[3]=k,this}multiply(b){var _=this.m[0]*b.m[0]+this.m[2]*b.m[1],w=this.m[1]*b.m[0]+this.m[3]*b.m[1],x=this.m[0]*b.m[2]+this.m[2]*b.m[3],C=this.m[1]*b.m[2]+this.m[3]*b.m[3],k=this.m[0]*b.m[4]+this.m[2]*b.m[5]+this.m[4],P=this.m[1]*b.m[4]+this.m[3]*b.m[5]+this.m[5];return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=C,this.m[4]=k,this.m[5]=P,this}invert(){var b=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),_=this.m[3]*b,w=-this.m[1]*b,x=-this.m[2]*b,C=this.m[0]*b,k=b*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),P=b*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=C,this.m[4]=k,this.m[5]=P,this}getMatrix(){return this.m}decompose(){var b=this.m[0],_=this.m[1],w=this.m[2],x=this.m[3],C=this.m[4],k=this.m[5],P=b*x-_*w;let A={x:C,y:k,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(b!=0||_!=0){var $=Math.sqrt(b*b+_*_);A.rotation=_>0?Math.acos(b/$):-Math.acos(b/$),A.scaleX=$,A.scaleY=P/$,A.skewX=(b*w+_*x)/P,A.skewY=0}else if(w!=0||x!=0){var N=Math.sqrt(w*w+x*x);A.rotation=Math.PI/2-(x>0?Math.acos(-w/N):-Math.acos(w/N)),A.scaleX=P/N,A.scaleY=N,A.skewX=0,A.skewY=(b*w+_*x)/P}return A.rotation=e.Util._getRotation(A.rotation),A}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",c="",d="0",f="Konva warning: ",h="Konva error: ",p="rgb(",m={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,132,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,255,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,203],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,5]},S=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,v=[];const y=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(g){setTimeout(g,60)};e.Util={_isElement(g){return!!(g&&g.nodeType==1)},_isFunction(g){return!!(g&&g.constructor&&g.call&&g.apply)},_isPlainObject(g){return!!g&&g.constructor===Object},_isArray(g){return Object.prototype.toString.call(g)===r},_isNumber(g){return Object.prototype.toString.call(g)===i&&!isNaN(g)&&isFinite(g)},_isString(g){return Object.prototype.toString.call(g)===o},_isBoolean(g){return Object.prototype.toString.call(g)===s},isObject(g){return g instanceof Object},isValidSelector(g){if(typeof g!="string")return!1;var b=g[0];return b==="#"||b==="."||b===b.toUpperCase()},_sign(g){return g===0||g>0?1:-1},requestAnimFrame(g){v.push(g),v.length===1&&y(function(){const b=v;v=[],b.forEach(function(_){_()})})},createCanvasElement(){var g=document.createElement("canvas");try{g.style=g.style||{}}catch{}return g},createImageElement(){return document.createElement("img")},_isInDocument(g){for(;g=g.parentNode;)if(g==document)return!0;return!1},_urlToImage(g,b){var _=e.Util.createImageElement();_.onload=function(){b(_)},_.src=g},_rgbToHex(g,b,_){return((1<<24)+(g<<16)+(b<<8)+_).toString(16).slice(1)},_hexToRgb(g){g=g.replace(u,c);var b=parseInt(g,16);return{r:b>>16&255,g:b>>8&255,b:b&255}},getRandomColor(){for(var g=(Math.random()*16777215<<0).toString(16);g.length<6;)g=d+g;return u+g},getRGB(g){var b;return g in m?(b=m[g],{r:b[0],g:b[1],b:b[2]}):g[0]===u?this._hexToRgb(g.substring(1)):g.substr(0,4)===p?(b=S.exec(g.replace(/ /g,"")),{r:parseInt(b[1],10),g:parseInt(b[2],10),b:parseInt(b[3],10)}):{r:0,g:0,b:0}},colorToRGBA(g){return g=g||"black",e.Util._namedColorToRBA(g)||e.Util._hex3ColorToRGBA(g)||e.Util._hex4ColorToRGBA(g)||e.Util._hex6ColorToRGBA(g)||e.Util._hex8ColorToRGBA(g)||e.Util._rgbColorToRGBA(g)||e.Util._rgbaColorToRGBA(g)||e.Util._hslColorToRGBA(g)},_namedColorToRBA(g){var b=m[g.toLowerCase()];return b?{r:b[0],g:b[1],b:b[2],a:1}:null},_rgbColorToRGBA(g){if(g.indexOf("rgb(")===0){g=g.match(/rgb\(([^)]+)\)/)[1];var b=g.split(/ *, */).map(Number);return{r:b[0],g:b[1],b:b[2],a:1}}},_rgbaColorToRGBA(g){if(g.indexOf("rgba(")===0){g=g.match(/rgba\(([^)]+)\)/)[1];var b=g.split(/ *, */).map((_,w)=>_.slice(-1)==="%"?w===3?parseInt(_)/100:parseInt(_)/100*255:Number(_));return{r:b[0],g:b[1],b:b[2],a:b[3]}}},_hex8ColorToRGBA(g){if(g[0]==="#"&&g.length===9)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:parseInt(g.slice(7,9),16)/255}},_hex6ColorToRGBA(g){if(g[0]==="#"&&g.length===7)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:1}},_hex4ColorToRGBA(g){if(g[0]==="#"&&g.length===5)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:parseInt(g[4]+g[4],16)/255}},_hex3ColorToRGBA(g){if(g[0]==="#"&&g.length===4)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:1}},_hslColorToRGBA(g){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(g)){const[b,..._]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(g),w=Number(_[0])/360,x=Number(_[1])/100,C=Number(_[2])/100;let k,P,A;if(x===0)return A=C*255,{r:Math.round(A),g:Math.round(A),b:Math.round(A),a:1};C<.5?k=C*(1+x):k=C+x-C*x;const $=2*C-k,N=[0,0,0];for(let T=0;T<3;T++)P=w+1/3*-(T-1),P<0&&P++,P>1&&P--,6*P<1?A=$+(k-$)*6*P:2*P<1?A=k:3*P<2?A=$+(k-$)*(2/3-P)*6:A=$,N[T]=A*255;return{r:Math.round(N[0]),g:Math.round(N[1]),b:Math.round(N[2]),a:1}}},haveIntersection(g,b){return!(b.x>g.x+g.width||b.x+b.widthg.y+g.height||b.y+b.height1?(k=_,P=w,A=(_-x)*(_-x)+(w-C)*(w-C)):(k=g+N*(_-g),P=b+N*(w-b),A=(k-x)*(k-x)+(P-C)*(P-C))}return[k,P,A]},_getProjectionToLine(g,b,_){var w=e.Util.cloneObject(g),x=Number.MAX_VALUE;return b.forEach(function(C,k){if(!(!_&&k===b.length-1)){var P=b[(k+1)%b.length],A=e.Util._getProjectionToSegment(C.x,C.y,P.x,P.y,g.x,g.y),$=A[0],N=A[1],T=A[2];Tb.length){var k=b;b=g,g=k}for(w=0;w{b.width=0,b.height=0})},drawRoundedRectPath(g,b,_,w){let x=0,C=0,k=0,P=0;typeof w=="number"?x=C=k=P=Math.min(w,b/2,_/2):(x=Math.min(w[0]||0,b/2,_/2),C=Math.min(w[1]||0,b/2,_/2),P=Math.min(w[2]||0,b/2,_/2),k=Math.min(w[3]||0,b/2,_/2)),g.moveTo(x,0),g.lineTo(b-C,0),g.arc(b-C,C,C,Math.PI*3/2,0,!1),g.lineTo(b,_-P),g.arc(b-P,_-P,P,0,Math.PI/2,!1),g.lineTo(k,_),g.arc(k,_-k,k,Math.PI/2,Math.PI,!1),g.lineTo(0,x),g.arc(x,x,x,Math.PI,Math.PI*3/2,!1)}}})(Bt);var At={},Ie={},fe={};Object.defineProperty(fe,"__esModule",{value:!0});fe.getComponentValidator=fe.getBooleanValidator=fe.getNumberArrayValidator=fe.getFunctionValidator=fe.getStringOrGradientValidator=fe.getStringValidator=fe.getNumberOrAutoValidator=fe.getNumberOrArrayOfNumbersValidator=fe.getNumberValidator=fe.alphaComponent=fe.RGBComponent=void 0;const ys=Le,Ut=Bt;function vs(e){return Ut.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Ut.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function OSe(e){return e>255?255:e<0?0:Math.round(e)}fe.RGBComponent=OSe;function RSe(e){return e>1?1:e<1e-4?1e-4:e}fe.alphaComponent=RSe;function ISe(){if(ys.Konva.isUnminified)return function(e,t){return Ut.Util._isNumber(e)||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}fe.getNumberValidator=ISe;function MSe(e){if(ys.Konva.isUnminified)return function(t,n){let r=Ut.Util._isNumber(t),i=Ut.Util._isArray(t)&&t.length==e;return!r&&!i&&Ut.Util.warn(vs(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}fe.getNumberOrArrayOfNumbersValidator=MSe;function NSe(){if(ys.Konva.isUnminified)return function(e,t){var n=Ut.Util._isNumber(e),r=e==="auto";return n||r||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}fe.getNumberOrAutoValidator=NSe;function DSe(){if(ys.Konva.isUnminified)return function(e,t){return Ut.Util._isString(e)||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}fe.getStringValidator=DSe;function LSe(){if(ys.Konva.isUnminified)return function(e,t){const n=Ut.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}fe.getStringOrGradientValidator=LSe;function $Se(){if(ys.Konva.isUnminified)return function(e,t){return Ut.Util._isFunction(e)||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}fe.getFunctionValidator=$Se;function FSe(){if(ys.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Ut.Util._isArray(e)?e.forEach(function(r){Ut.Util._isNumber(r)||Ut.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}fe.getNumberArrayValidator=FSe;function BSe(){if(ys.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}fe.getBooleanValidator=BSe;function jSe(e){if(ys.Konva.isUnminified)return function(t,n){return t==null||Ut.Util.isObject(t)||Ut.Util.warn(vs(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}fe.getComponentValidator=jSe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Bt,n=fe;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(c){return a&&c!==void 0&&c!==null&&(c=a.call(this,c,s)),this._setAttr(s,c),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var c=a.length,d=t.Util._capitalize,f=r+d(s),h=i+d(s),p,m;o.prototype[f]=function(){var v={};for(p=0;p{this._setAttr(s+d(b),void 0)}),this._fireChangeEvent(s,y,v),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),c=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(c);var d=this.attrs[s];return d===void 0?a:d},e.Factory.addSetter(o,s,l,function(){t.Util.error(c)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],c=r+t.Util._capitalize(a),d=i+t.Util._capitalize(a);function f(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=f,o.prototype[c]=f,o.prototype[d]=f})},afterSetFilter(){this._filterUpToDate=!1}}})(Ie);var Bi={},rs={};Object.defineProperty(rs,"__esModule",{value:!0});rs.HitContext=rs.SceneContext=rs.Context=void 0;const GF=Bt,VSe=Le;function zSe(e){var t=[],n=e.length,r=GF.Util,i,o;for(i=0;itypeof c=="number"?Math.floor(c):c)),o+=USe+u.join(Rk)+GSe)):(o+=a.property,t||(o+=YSe+a.val)),o+=WSe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=QSe&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var c=arguments,d=this._context;c.length===3?d.drawImage(t,n,r):c.length===5?d.drawImage(t,n,r,i,o):c.length===9&&d.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=Ik.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=zSe(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(f=>f.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var c=a.dragDistance(),d=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(d{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(c=>c.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(x1);Object.defineProperty(At,"__esModule",{value:!0});At.Node=void 0;const je=Bt,wp=Ie,kg=Bi,Ba=Le,ti=x1,Yt=fe;var _m="absoluteOpacity",Ag="allEventListeners",Uo="absoluteTransform",Mk="absoluteScale",ja="canvas",o_e="Change",s_e="children",a_e="konva",lx="listening",Nk="mouseenter",Dk="mouseleave",Lk="set",$k="Shape",wm=" ",Fk="stage",Os="transform",l_e="Stage",ux="visible",u_e=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(wm);let c_e=1,Pe=class cx{constructor(t){this._id=c_e++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===Os||t===Uo)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===Os||t===Uo,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(wm);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(ja)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===Uo&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(ja)){const{scene:t,filter:n,hit:r}=this._cache.get(ja);je.Util.releaseCanvas(t,n,r),this._cache.delete(ja)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,c=n.drawBorder||!1,d=n.hitCanvasPixelRatio||1;if(!i||!o){je.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var f=new kg.SceneCanvas({pixelRatio:s,width:i,height:o}),h=new kg.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),p=new kg.HitCanvas({pixelRatio:d,width:i,height:o}),m=f.getContext(),S=p.getContext();return p.isCache=!0,f.isCache=!0,this._cache.delete(ja),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(f.getContext()._context.imageSmoothingEnabled=!1,h.getContext()._context.imageSmoothingEnabled=!1),m.save(),S.save(),m.translate(-a,-l),S.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(_m),this._clearSelfAndDescendantCache(Mk),this.drawScene(f,this),this.drawHit(p,this),this._isUnderCache=!1,m.restore(),S.restore(),c&&(m.save(),m.beginPath(),m.rect(0,0,i,o),m.closePath(),m.setAttr("strokeStyle","red"),m.setAttr("lineWidth",5),m.stroke(),m.restore()),this._cache.set(ja,{scene:f,filter:h,hit:p,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(ja)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var c=l.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var c=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/c,r.getHeight()/c),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==s_e&&(r=Lk+je.Util._capitalize(n),je.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(lx,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(ux,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;ti.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!Ba.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==l_e&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(Os),this._clearSelfAndDescendantCache(Uo)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new je.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(Os);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(Os),this._clearSelfAndDescendantCache(Uo),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return je.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return je.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&je.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(_m,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=je.Util.isObject(i)&&!je.Util._isPlainObject(i)&&!je.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),je.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,je.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():Ba.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;ti.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=ti.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&ti.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return je.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return je.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=cx.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),Ba.Konva[r]||(je.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=Ba.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=b_.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=b_.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const c=r===this;if(u){o.save();var d=this.getAbsoluteTransform(r),f=d.getMatrix();o.transform(f[0],f[1],f[2],f[3],f[4],f[5]),o.beginPath();let S;if(l)S=l.call(this,o,this);else{var h=this.clipX(),p=this.clipY();o.rect(h,p,s,a)}o.clip.apply(o,S),f=d.copy().invert().getMatrix(),o.transform(f[0],f[1],f[2],f[3],f[4],f[5])}var m=!c&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";m&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(S){S[t](n,r)}),m&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},c=this;(n=this.children)===null||n===void 0||n.forEach(function(m){if(m.visible()){var S=m.getClientRect({relativeTo:c,skipShadow:t.skipShadow,skipStroke:t.skipStroke});S.width===0&&S.height===0||(o===void 0?(o=S.x,s=S.y,a=S.x+S.width,l=S.y+S.height):(o=Math.min(o,S.x),s=Math.min(s,S.y),a=Math.max(a,S.x+S.width),l=Math.max(l,S.y+S.height)))}});for(var d=this.find("Shape"),f=!1,h=0;hX.indexOf("pointer")>=0?"pointer":X.indexOf("touch")>=0?"touch":"mouse",z=X=>{const F=V(X);if(F==="pointer")return i.Konva.pointerEventsEnabled&&L.pointer;if(F==="touch")return L.touch;if(F==="mouse")return L.mouse};function U(X={}){return(X.clipFunc||X.clipWidth||X.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),X}const K="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class W extends r.Container{constructor(F){super(U(F)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{U(this.attrs)}),this._checkVisibility()}_validateAdd(F){const q=F.getType()==="Layer",Q=F.getType()==="FastLayer";q||Q||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const F=this.visible()?"":"none";this.content.style.display=F}setContainer(F){if(typeof F===c){if(F.charAt(0)==="."){var q=F.slice(1);F=document.getElementsByClassName(q)[0]}else{var Q;F.charAt(0)!=="#"?Q=F:Q=F.slice(1),F=document.getElementById(Q)}if(!F)throw"Can not find container in document with id "+Q}return this._setAttr("container",F),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),F.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var F=this.children,q=F.length,Q;for(Q=0;Q-1&&e.stages.splice(q,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const F=this._pointerPositions[0]||this._changedPointerPositions[0];return F?{x:F.x,y:F.y}:(t.Util.warn(K),null)}_getPointerById(F){return this._pointerPositions.find(q=>q.id===F)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(F){F=F||{},F.x=F.x||0,F.y=F.y||0,F.width=F.width||this.width(),F.height=F.height||this.height();var q=new o.SceneCanvas({width:F.width,height:F.height,pixelRatio:F.pixelRatio||1}),Q=q.getContext()._context,J=this.children;return(F.x||F.y)&&Q.translate(-1*F.x,-1*F.y),J.forEach(function(ne){if(ne.isVisible()){var Z=ne._toKonvaCanvas(F);Q.drawImage(Z._canvas,F.x,F.y,Z.getWidth()/Z.getPixelRatio(),Z.getHeight()/Z.getPixelRatio())}}),q}getIntersection(F){if(!F)return null;var q=this.children,Q=q.length,J=Q-1,ne;for(ne=J;ne>=0;ne--){const Z=q[ne].getIntersection(F);if(Z)return Z}return null}_resizeDOM(){var F=this.width(),q=this.height();this.content&&(this.content.style.width=F+d,this.content.style.height=q+d),this.bufferCanvas.setSize(F,q),this.bufferHitCanvas.setSize(F,q),this.children.forEach(Q=>{Q.setSize({width:F,height:q}),Q.draw()})}add(F,...q){if(arguments.length>1){for(var Q=0;QR&&t.Util.warn("The stage has "+J+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),F.setSize({width:this.width(),height:this.height()}),F.draw(),i.Konva.isBrowser&&this.content.appendChild(F.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(F){return l.hasPointerCapture(F,this)}setPointerCapture(F){l.setPointerCapture(F,this)}releaseCapture(F){l.releaseCapture(F,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&D.forEach(([F,q])=>{this.content.addEventListener(F,Q=>{this[q](Q)},{passive:!1})})}_pointerenter(F){this.setPointersPositions(F);const q=z(F.type);this._fire(q.pointerenter,{evt:F,target:this,currentTarget:this})}_pointerover(F){this.setPointersPositions(F);const q=z(F.type);this._fire(q.pointerover,{evt:F,target:this,currentTarget:this})}_getTargetShape(F){let q=this[F+"targetShape"];return q&&!q.getStage()&&(q=null),q}_pointerleave(F){const q=z(F.type),Q=V(F.type);if(q){this.setPointersPositions(F);var J=this._getTargetShape(Q),ne=!s.DD.isDragging||i.Konva.hitOnDragEnabled;J&&ne?(J._fireAndBubble(q.pointerout,{evt:F}),J._fireAndBubble(q.pointerleave,{evt:F}),this._fire(q.pointerleave,{evt:F,target:this,currentTarget:this}),this[Q+"targetShape"]=null):ne&&(this._fire(q.pointerleave,{evt:F,target:this,currentTarget:this}),this._fire(q.pointerout,{evt:F,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(F){const q=z(F.type),Q=V(F.type);if(q){this.setPointersPositions(F);var J=!1;this._changedPointerPositions.forEach(ne=>{var Z=this.getIntersection(ne);if(s.DD.justDragged=!1,i.Konva["_"+Q+"ListenClick"]=!0,!(Z&&Z.isListening()))return;i.Konva.capturePointerEventsEnabled&&Z.setPointerCapture(ne.id),this[Q+"ClickStartShape"]=Z,Z._fireAndBubble(q.pointerdown,{evt:F,pointerId:ne.id}),J=!0;const ae=F.type.indexOf("touch")>=0;Z.preventDefault()&&F.cancelable&&ae&&F.preventDefault()}),J||this._fire(q.pointerdown,{evt:F,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(F){const q=z(F.type),Q=V(F.type);if(!q)return;s.DD.isDragging&&s.DD.node.preventDefault()&&F.cancelable&&F.preventDefault(),this.setPointersPositions(F);var J=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!J)return;var ne={};let Z=!1;var ge=this._getTargetShape(Q);this._changedPointerPositions.forEach(ae=>{const oe=l.getCapturedShape(ae.id)||this.getIntersection(ae),Te=ae.id,se={evt:F,pointerId:Te};var We=ge!==oe;if(We&&ge&&(ge._fireAndBubble(q.pointerout,Object.assign({},se),oe),ge._fireAndBubble(q.pointerleave,Object.assign({},se),oe)),oe){if(ne[oe._id])return;ne[oe._id]=!0}oe&&oe.isListening()?(Z=!0,We&&(oe._fireAndBubble(q.pointerover,Object.assign({},se),ge),oe._fireAndBubble(q.pointerenter,Object.assign({},se),ge),this[Q+"targetShape"]=oe),oe._fireAndBubble(q.pointermove,Object.assign({},se))):ge&&(this._fire(q.pointerover,{evt:F,target:this,currentTarget:this,pointerId:Te}),this[Q+"targetShape"]=null)}),Z||this._fire(q.pointermove,{evt:F,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(F){const q=z(F.type),Q=V(F.type);if(!q)return;this.setPointersPositions(F);const J=this[Q+"ClickStartShape"],ne=this[Q+"ClickEndShape"];var Z={};let ge=!1;this._changedPointerPositions.forEach(ae=>{const oe=l.getCapturedShape(ae.id)||this.getIntersection(ae);if(oe){if(oe.releaseCapture(ae.id),Z[oe._id])return;Z[oe._id]=!0}const Te=ae.id,se={evt:F,pointerId:Te};let We=!1;i.Konva["_"+Q+"InDblClickWindow"]?(We=!0,clearTimeout(this[Q+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+Q+"InDblClickWindow"]=!0,clearTimeout(this[Q+"DblTimeout"])),this[Q+"DblTimeout"]=setTimeout(function(){i.Konva["_"+Q+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),oe&&oe.isListening()?(ge=!0,this[Q+"ClickEndShape"]=oe,oe._fireAndBubble(q.pointerup,Object.assign({},se)),i.Konva["_"+Q+"ListenClick"]&&J&&J===oe&&(oe._fireAndBubble(q.pointerclick,Object.assign({},se)),We&&ne&&ne===oe&&oe._fireAndBubble(q.pointerdblclick,Object.assign({},se)))):(this[Q+"ClickEndShape"]=null,i.Konva["_"+Q+"ListenClick"]&&this._fire(q.pointerclick,{evt:F,target:this,currentTarget:this,pointerId:Te}),We&&this._fire(q.pointerdblclick,{evt:F,target:this,currentTarget:this,pointerId:Te}))}),ge||this._fire(q.pointerup,{evt:F,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+Q+"ListenClick"]=!1,F.cancelable&&Q!=="touch"&&F.preventDefault()}_contextmenu(F){this.setPointersPositions(F);var q=this.getIntersection(this.getPointerPosition());q&&q.isListening()?q._fireAndBubble($,{evt:F}):this._fire($,{evt:F,target:this,currentTarget:this})}_wheel(F){this.setPointersPositions(F);var q=this.getIntersection(this.getPointerPosition());q&&q.isListening()?q._fireAndBubble(M,{evt:F}):this._fire(M,{evt:F,target:this,currentTarget:this})}_pointercancel(F){this.setPointersPositions(F);const q=l.getCapturedShape(F.pointerId)||this.getIntersection(this.getPointerPosition());q&&q._fireAndBubble(_,l.createEvent(F)),l.releaseCapture(F.pointerId)}_lostpointercapture(F){l.releaseCapture(F.pointerId)}setPointersPositions(F){var q=this._getContentPosition(),Q=null,J=null;F=F||window.event,F.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(F.touches,ne=>{this._pointerPositions.push({id:ne.identifier,x:(ne.clientX-q.left)/q.scaleX,y:(ne.clientY-q.top)/q.scaleY})}),Array.prototype.forEach.call(F.changedTouches||F.touches,ne=>{this._changedPointerPositions.push({id:ne.identifier,x:(ne.clientX-q.left)/q.scaleX,y:(ne.clientY-q.top)/q.scaleY})})):(Q=(F.clientX-q.left)/q.scaleX,J=(F.clientY-q.top)/q.scaleY,this.pointerPos={x:Q,y:J},this._pointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(F)}],this._changedPointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(F)}])}_setPointerPosition(F){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(F)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var F=this.content.getBoundingClientRect();return{top:F.top,left:F.left,scaleX:F.width/this.content.clientWidth||1,scaleY:F.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var F=this.container();if(!F)throw"Stage has no container. A container is required.";F.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),F.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(F){F.batchDraw()}),this}}e.Stage=W,W.prototype.nodeType=u,(0,a._registerNode)(W),n.Factory.addGetterSetter(W,"container")})(WF);var xp={},pn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=Le,n=Bt,r=Ie,i=At,o=fe,s=Le,a=Br;var l="hasShadow",u="shadowRGBA",c="patternImage",d="linearGradient",f="radialGradient";let h;function p(){return h||(h=n.Util.createCanvasElement().getContext("2d"),h)}e.shapes={};function m(k){const P=this.attrs.fillRule;P?k.fill(P):k.fill()}function S(k){k.stroke()}function v(k){k.fill()}function y(k){k.stroke()}function g(){this._clearCache(l)}function b(){this._clearCache(u)}function _(){this._clearCache(c)}function w(){this._clearCache(d)}function x(){this._clearCache(f)}class C extends i.Node{constructor(P){super(P);let A;for(;A=n.Util.getRandomColor(),!(A&&!(A in e.shapes)););this.colorKey=A,e.shapes[A]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(c,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var P=p();const A=P.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(A&&A.setTransform){const $=new n.Transform;$.translate(this.fillPatternX(),this.fillPatternY()),$.rotate(t.Konva.getAngle(this.fillPatternRotation())),$.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),$.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const N=$.getMatrix(),T=typeof DOMMatrix>"u"?{a:N[0],b:N[1],c:N[2],d:N[3],e:N[4],f:N[5]}:new DOMMatrix(N);A.setTransform(T)}return A}}_getLinearGradient(){return this._getCache(d,this.__getLinearGradient)}__getLinearGradient(){var P=this.fillLinearGradientColorStops();if(P){for(var A=p(),$=this.fillLinearGradientStartPoint(),N=this.fillLinearGradientEndPoint(),T=A.createLinearGradient($.x,$.y,N.x,N.y),O=0;Othis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const P=this.hitStrokeWidth();return P==="auto"?this.hasStroke():this.strokeEnabled()&&!!P}intersects(P){var A=this.getStage(),$=A.bufferHitCanvas,N;return $.getContext().clear(),this.drawHit($,null,!0),N=$.context.getImageData(Math.round(P.x),Math.round(P.y),1,1).data,N[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(P){var A;if(!this.getStage()||!((A=this.attrs.perfectDrawEnabled)!==null&&A!==void 0?A:!0))return!1;const N=P||this.hasFill(),T=this.hasStroke(),O=this.getAbsoluteOpacity()!==1;if(N&&T&&O)return!0;const I=this.hasShadow(),M=this.shadowForStrokeEnabled();return!!(N&&T&&I&&M)}setStrokeHitEnabled(P){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),P?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var P=this.size();return{x:this._centroid?-P.width/2:0,y:this._centroid?-P.height/2:0,width:P.width,height:P.height}}getClientRect(P={}){const A=P.skipTransform,$=P.relativeTo,N=this.getSelfRect(),O=!P.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,I=N.width+O,M=N.height+O,R=!P.skipShadow&&this.hasShadow(),D=R?this.shadowOffsetX():0,L=R?this.shadowOffsetY():0,V=I+Math.abs(D),z=M+Math.abs(L),U=R&&this.shadowBlur()||0,K=V+U*2,W=z+U*2,X={width:K,height:W,x:-(O/2+U)+Math.min(D,0)+N.x,y:-(O/2+U)+Math.min(L,0)+N.y};return A?X:this._transformedRect(X,$)}drawScene(P,A){var $=this.getLayer(),N=P||$.getCanvas(),T=N.getContext(),O=this._getCanvasCache(),I=this.getSceneFunc(),M=this.hasShadow(),R,D,L,V=N.isCache,z=A===this;if(!this.isVisible()&&!z)return this;if(O){T.save();var U=this.getAbsoluteTransform(A).getMatrix();return T.transform(U[0],U[1],U[2],U[3],U[4],U[5]),this._drawCachedSceneCanvas(T),T.restore(),this}if(!I)return this;if(T.save(),this._useBufferCanvas()&&!V){R=this.getStage(),D=R.bufferCanvas,L=D.getContext(),L.clear(),L.save(),L._applyLineJoin(this);var K=this.getAbsoluteTransform(A).getMatrix();L.transform(K[0],K[1],K[2],K[3],K[4],K[5]),I.call(this,L,this),L.restore();var W=D.pixelRatio;M&&T._applyShadow(this),T._applyOpacity(this),T._applyGlobalCompositeOperation(this),T.drawImage(D._canvas,0,0,D.width/W,D.height/W)}else{if(T._applyLineJoin(this),!z){var K=this.getAbsoluteTransform(A).getMatrix();T.transform(K[0],K[1],K[2],K[3],K[4],K[5]),T._applyOpacity(this),T._applyGlobalCompositeOperation(this)}M&&T._applyShadow(this),I.call(this,T,this)}return T.restore(),this}drawHit(P,A,$=!1){if(!this.shouldDrawHit(A,$))return this;var N=this.getLayer(),T=P||N.hitCanvas,O=T&&T.getContext(),I=this.hitFunc()||this.sceneFunc(),M=this._getCanvasCache(),R=M&&M.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),R){O.save();var D=this.getAbsoluteTransform(A).getMatrix();return O.transform(D[0],D[1],D[2],D[3],D[4],D[5]),this._drawCachedHitCanvas(O),O.restore(),this}if(!I)return this;if(O.save(),O._applyLineJoin(this),!(this===A)){var V=this.getAbsoluteTransform(A).getMatrix();O.transform(V[0],V[1],V[2],V[3],V[4],V[5])}return I.call(this,O,this),O.restore(),this}drawHitFromCache(P=0){var A=this._getCanvasCache(),$=this._getCachedSceneCanvas(),N=A.hit,T=N.getContext(),O=N.getWidth(),I=N.getHeight(),M,R,D,L,V,z;T.clear(),T.drawImage($._canvas,0,0,O,I);try{for(M=T.getImageData(0,0,O,I),R=M.data,D=R.length,L=n.Util._hexToRgb(this.colorKey),V=0;VP?(R[V]=L.r,R[V+1]=L.g,R[V+2]=L.b,R[V+3]=255):R[V+3]=0;T.putImageData(M,0,0)}catch(U){n.Util.error("Unable to draw hit graph from cached scene canvas. "+U.message)}return this}hasPointerCapture(P){return a.hasPointerCapture(P,this)}setPointerCapture(P){a.setPointerCapture(P,this)}releaseCapture(P){a.releaseCapture(P,this)}}e.Shape=C,C.prototype._fillFunc=m,C.prototype._strokeFunc=S,C.prototype._fillFuncHit=v,C.prototype._strokeFuncHit=y,C.prototype._centroid=!1,C.prototype.nodeType="Shape",(0,s._registerNode)(C),C.prototype.eventListeners={},C.prototype.on.call(C.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",g),C.prototype.on.call(C.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",b),C.prototype.on.call(C.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",_),C.prototype.on.call(C.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",w),C.prototype.on.call(C.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",x),r.Factory.addGetterSetter(C,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(C,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(C,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(C,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(C,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(C,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(C,"lineJoin"),r.Factory.addGetterSetter(C,"lineCap"),r.Factory.addGetterSetter(C,"sceneFunc"),r.Factory.addGetterSetter(C,"hitFunc"),r.Factory.addGetterSetter(C,"dash"),r.Factory.addGetterSetter(C,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(C,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(C,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(C,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillPatternImage"),r.Factory.addGetterSetter(C,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(C,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(C,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(C,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(C,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(C,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(C,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(C,"fillEnabled",!0),r.Factory.addGetterSetter(C,"strokeEnabled",!0),r.Factory.addGetterSetter(C,"shadowEnabled",!0),r.Factory.addGetterSetter(C,"dashEnabled",!0),r.Factory.addGetterSetter(C,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(C,"fillPriority","color"),r.Factory.addComponentsGetterSetter(C,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(C,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(C,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(C,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(C,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(C,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(C,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(C,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(C,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(C,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(C,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(C,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(C,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(C,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(C,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(C,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(C,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(C,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(C,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(C,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(C,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(C,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(C,"fillPatternRotation",0),r.Factory.addGetterSetter(C,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(C,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(pn);Object.defineProperty(xp,"__esModule",{value:!0});xp.Layer=void 0;const jo=Bt,S_=$l,au=At,N3=Ie,Bk=Bi,g_e=fe,m_e=pn,y_e=Le;var v_e="#",b_e="beforeDraw",S_e="draw",XF=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],__e=XF.length;class Xc extends S_.Container{constructor(t){super(t),this.canvas=new Bk.SceneCanvas,this.hitCanvas=new Bk.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i<__e;i++){const o=XF[i],s=this._getIntersection({x:t.x+o.x*n,y:t.y+o.y*n}),a=s.shape;if(a)return a;if(r=!!s.antialiased,!s.antialiased)break}if(r)n+=1;else return null}}_getIntersection(t){const n=this.hitCanvas.pixelRatio,r=this.hitCanvas.context.getImageData(Math.round(t.x*n),Math.round(t.y*n),1,1).data,i=r[3];if(i===255){const o=jo.Util._rgbToHex(r[0],r[1],r[2]),s=m_e.shapes[v_e+o];return s?{shape:s}:{antialiased:!0}}else if(i>0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(b_e,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),S_.Container.prototype.drawScene.call(this,i,n),this._fire(S_e,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),S_.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){jo.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return jo.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return jo.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}xp.Layer=Xc;Xc.prototype.nodeType="Layer";(0,y_e._registerNode)(Xc);N3.Factory.addGetterSetter(Xc,"imageSmoothingEnabled",!0);N3.Factory.addGetterSetter(Xc,"clearBeforeDraw",!0);N3.Factory.addGetterSetter(Xc,"hitGraphEnabled",!0,(0,g_e.getBooleanValidator)());var T1={};Object.defineProperty(T1,"__esModule",{value:!0});T1.FastLayer=void 0;const w_e=Bt,x_e=xp,C_e=Le;class D3 extends x_e.Layer{constructor(t){super(t),this.listening(!1),w_e.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}T1.FastLayer=D3;D3.prototype.nodeType="FastLayer";(0,C_e._registerNode)(D3);var Qc={};Object.defineProperty(Qc,"__esModule",{value:!0});Qc.Group=void 0;const T_e=Bt,E_e=$l,P_e=Le;class L3 extends E_e.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&T_e.Util.throw("You may only add groups and shapes to groups.")}}Qc.Group=L3;L3.prototype.nodeType="Group";(0,P_e._registerNode)(L3);var Zc={};Object.defineProperty(Zc,"__esModule",{value:!0});Zc.Animation=void 0;const __=Le,jk=Bt;var w_=function(){return __.glob.performance&&__.glob.performance.now?function(){return __.glob.performance.now()}:function(){return new Date().getTime()}}();class ao{constructor(t,n){this.id=ao.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:w_(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():p<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=p,this.update())}getTime(){return this._time}setPosition(p){this.prevPos=this._pos,this.propFunc(p),this._pos=p}getPosition(p){return p===void 0&&(p=this._time),this.func(p,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(p){this.pause(),this._time=p,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var p=this.getTimer()-this._startTime;this.state===a?this.setTime(p):this.state===l&&this.setTime(this.duration-p)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class f{constructor(p){var m=this,S=p.node,v=S._id,y,g=p.easing||e.Easings.Linear,b=!!p.yoyo,_;typeof p.duration>"u"?y=.3:p.duration===0?y=.001:y=p.duration,this.node=S,this._id=u++;var w=S.getLayer()||(S instanceof i.Konva.Stage?S.getLayers():null);w||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){m.tween.onEnterFrame()},w),this.tween=new d(_,function(x){m._tweenFunc(x)},g,0,1,y*1e3,b),this._addListeners(),f.attrs[v]||(f.attrs[v]={}),f.attrs[v][this._id]||(f.attrs[v][this._id]={}),f.tweens[v]||(f.tweens[v]={});for(_ in p)o[_]===void 0&&this._addAttr(_,p[_]);this.reset(),this.onFinish=p.onFinish,this.onReset=p.onReset,this.onUpdate=p.onUpdate}_addAttr(p,m){var S=this.node,v=S._id,y,g,b,_,w,x,C,k;if(b=f.tweens[v][p],b&&delete f.attrs[v][b][p],y=S.getAttr(p),t.Util._isArray(m))if(g=[],w=Math.max(m.length,y.length),p==="points"&&m.length!==y.length&&(m.length>y.length?(C=y,y=t.Util._prepareArrayForTween(y,m,S.closed())):(x=m,m=t.Util._prepareArrayForTween(m,y,S.closed()))),p.indexOf("fill")===0)for(_=0;_{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueEnd&&p.setAttr("points",m.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueStart&&p.points(m.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(p){return this.tween.seek(p*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var p=this.node._id,m=this._id,S=f.tweens[p],v;this.pause();for(v in S)delete f.tweens[p][v];delete f.attrs[p][m]}}e.Tween=f,f.attrs={},f.tweens={},r.Node.prototype.to=function(h){var p=h.onFinish;h.node=this,h.onFinish=function(){this.destroy(),p&&p()};var m=new f(h);m.play()},e.Easings={BackEaseIn(h,p,m,S){var v=1.70158;return m*(h/=S)*h*((v+1)*h-v)+p},BackEaseOut(h,p,m,S){var v=1.70158;return m*((h=h/S-1)*h*((v+1)*h+v)+1)+p},BackEaseInOut(h,p,m,S){var v=1.70158;return(h/=S/2)<1?m/2*(h*h*(((v*=1.525)+1)*h-v))+p:m/2*((h-=2)*h*(((v*=1.525)+1)*h+v)+2)+p},ElasticEaseIn(h,p,m,S,v,y){var g=0;return h===0?p:(h/=S)===1?p+m:(y||(y=S*.3),!v||v0?t:n),c=s*n,d=a*(a>0?t:n),f=l*(l>0?n:t);return{x:u,y:r?-1*f:d,width:c-u,height:f-d}}}E1.Arc=bs;bs.prototype._centroid=!0;bs.prototype.className="Arc";bs.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,A_e._registerNode)(bs);P1.Factory.addGetterSetter(bs,"innerRadius",0,(0,k1.getNumberValidator)());P1.Factory.addGetterSetter(bs,"outerRadius",0,(0,k1.getNumberValidator)());P1.Factory.addGetterSetter(bs,"angle",0,(0,k1.getNumberValidator)());P1.Factory.addGetterSetter(bs,"clockwise",!1,(0,k1.getBooleanValidator)());var A1={},Cp={};Object.defineProperty(Cp,"__esModule",{value:!0});Cp.Line=void 0;const O1=Ie,O_e=pn,ZF=fe,R_e=Le;function dx(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),c=s*l/(a+l),d=n-u*(i-e),f=r-u*(o-t),h=n+c*(i-e),p=r+c*(o-t);return[d,f,h,p]}function zk(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,c,d;u=l/2,c=0;for(let h=0;h<20;h++)d=u*e.tValues[20][h]+u,c+=e.cValues[20][h]*r(s,a,d);return u*c};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],c=a[0]-2*a[1]+a[2],d=2*s[1]-2*s[0],f=2*a[1]-2*a[0],h=4*(u*u+c*c),p=4*(u*d+c*f),m=d*d+f*f;if(h===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const S=p/(2*h),v=m/h,y=l+S,g=v-S*S,b=y*y+g>0?Math.sqrt(y*y+g):0,_=S*S+g>0?Math.sqrt(S*S+g):0,w=S+Math.sqrt(S*S+g)!==0?g*Math.log(Math.abs((y+b)/(S+_))):0;return Math.sqrt(h)/2*(y*b-S*_+w)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),c=i(1,l,a),d=u*u+c*c;return Math.sqrt(d)}const i=(s,a,l)=>{const u=l.length-1;let c,d;if(u===0)return 0;if(s===0){d=0;for(let f=0;f<=u;f++)d+=e.binomialCoefficients[u][f]*Math.pow(1-a,u-f)*Math.pow(a,f)*l[f];return d}else{c=new Array(u);for(let f=0;f{let u=1,c=s/a,d=(s-l(c))/a,f=0;for(;u>.001;){const h=l(c+d),p=Math.abs(s-h)/a;if(p500)break}return c};e.t2length=o})(JF);Object.defineProperty(Jc,"__esModule",{value:!0});Jc.Path=void 0;const I_e=Ie,M_e=pn,N_e=Le,lu=JF;class ln extends M_e.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=ln.parsePathData(this.data()),this.pathLength=ln.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;ic?u:c,S=u>c?1:u/c,v=u>c?c/u:1;t.translate(a,l),t.rotate(h),t.scale(S,v),t.arc(0,0,m,d,d+f,1-p),t.scale(1/S,1/v),t.rotate(-h),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var c=u.points[4],d=u.points[5],f=u.points[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;p-=h){const m=ln.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],p,0);t.push(m.x,m.y)}else for(let p=c+h;pn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return ln.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return ln.getPointOnCubicBezier((0,lu.t2length)(t,ln.getPathLength(n),m=>(0,lu.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return ln.getPointOnQuadraticBezier((0,lu.t2length)(t,ln.getPathLength(n),m=>(0,lu.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],c=a[2],d=a[3],f=a[4],h=a[5],p=a[6];return f+=h*t/s.pathLength,ln.getPointOnEllipticalArc(l,u,c,d,f,p)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(p[0]);){var y=null,g=[],b=l,_=u,w,x,C,k,P,A,$,N,T,O;switch(h){case"l":l+=p.shift(),u+=p.shift(),y="L",g.push(l,u);break;case"L":l=p.shift(),u=p.shift(),g.push(l,u);break;case"m":var I=p.shift(),M=p.shift();if(l+=I,u+=M,y="M",s.length>2&&s[s.length-1].command==="z"){for(var R=s.length-2;R>=0;R--)if(s[R].command==="M"){l=s[R].points[0]+I,u=s[R].points[1]+M;break}}g.push(l,u),h="l";break;case"M":l=p.shift(),u=p.shift(),y="M",g.push(l,u),h="L";break;case"h":l+=p.shift(),y="L",g.push(l,u);break;case"H":l=p.shift(),y="L",g.push(l,u);break;case"v":u+=p.shift(),y="L",g.push(l,u);break;case"V":u=p.shift(),y="L",g.push(l,u);break;case"C":g.push(p.shift(),p.shift(),p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"c":g.push(l+p.shift(),u+p.shift(),l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"S":x=l,C=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),C=u+(u-w.points[3])),g.push(x,C,p.shift(),p.shift()),l=p.shift(),u=p.shift(),y="C",g.push(l,u);break;case"s":x=l,C=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),C=u+(u-w.points[3])),g.push(x,C,l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"Q":g.push(p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"q":g.push(l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="Q",g.push(l,u);break;case"T":x=l,C=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),C=u+(u-w.points[1])),l=p.shift(),u=p.shift(),y="Q",g.push(x,C,l,u);break;case"t":x=l,C=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),C=u+(u-w.points[1])),l+=p.shift(),u+=p.shift(),y="Q",g.push(x,C,l,u);break;case"A":k=p.shift(),P=p.shift(),A=p.shift(),$=p.shift(),N=p.shift(),T=l,O=u,l=p.shift(),u=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(T,O,l,u,$,N,k,P,A);break;case"a":k=p.shift(),P=p.shift(),A=p.shift(),$=p.shift(),N=p.shift(),T=l,O=u,l+=p.shift(),u+=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(T,O,l,u,$,N,k,P,A);break}s.push({command:y||h,points:g,start:{x:b,y:_},pathLength:this.calcLength(b,_,y||h,g)})}(h==="z"||h==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=ln;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,lu.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,lu.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var c=i[4],d=i[5],f=i[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;l-=h)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=c+h;l1&&(a*=Math.sqrt(h),l*=Math.sqrt(h));var p=Math.sqrt((a*a*(l*l)-a*a*(f*f)-l*l*(d*d))/(a*a*(f*f)+l*l*(d*d)));o===s&&(p*=-1),isNaN(p)&&(p=0);var m=p*a*f/l,S=p*-l*d/a,v=(t+r)/2+Math.cos(c)*m-Math.sin(c)*S,y=(n+i)/2+Math.sin(c)*m+Math.cos(c)*S,g=function(P){return Math.sqrt(P[0]*P[0]+P[1]*P[1])},b=function(P,A){return(P[0]*A[0]+P[1]*A[1])/(g(P)*g(A))},_=function(P,A){return(P[0]*A[1]=1&&(k=0),s===0&&k>0&&(k=k-2*Math.PI),s===1&&k<0&&(k=k+2*Math.PI),[v,y,a,l,w,k,c,s]}}Jc.Path=ln;ln.prototype.className="Path";ln.prototype._attrsAffectingSize=["data"];(0,N_e._registerNode)(ln);I_e.Factory.addGetterSetter(ln,"data");Object.defineProperty(A1,"__esModule",{value:!0});A1.Arrow=void 0;const R1=Ie,D_e=Cp,eB=fe,L_e=Le,Uk=Jc;class Bl extends D_e.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const f=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],h=Uk.Path.calcLength(i[i.length-4],i[i.length-3],"C",f),p=Uk.Path.getPointOnQuadraticBezier(Math.min(1,1-s/h),f[0],f[1],f[2],f[3],f[4],f[5]);l=r[a-2]-p.x,u=r[a-1]-p.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var c=(Math.atan2(u,l)+n)%n,d=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(c),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}A1.Arrow=Bl;Bl.prototype.className="Arrow";(0,L_e._registerNode)(Bl);R1.Factory.addGetterSetter(Bl,"pointerLength",10,(0,eB.getNumberValidator)());R1.Factory.addGetterSetter(Bl,"pointerWidth",10,(0,eB.getNumberValidator)());R1.Factory.addGetterSetter(Bl,"pointerAtBeginning",!1);R1.Factory.addGetterSetter(Bl,"pointerAtEnding",!0);var I1={};Object.defineProperty(I1,"__esModule",{value:!0});I1.Circle=void 0;const $_e=Ie,F_e=pn,B_e=fe,j_e=Le;class ed extends F_e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}}I1.Circle=ed;ed.prototype._centroid=!0;ed.prototype.className="Circle";ed.prototype._attrsAffectingSize=["radius"];(0,j_e._registerNode)(ed);$_e.Factory.addGetterSetter(ed,"radius",0,(0,B_e.getNumberValidator)());var M1={};Object.defineProperty(M1,"__esModule",{value:!0});M1.Ellipse=void 0;const $3=Ie,V_e=pn,tB=fe,z_e=Le;class Oa extends V_e.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}M1.Ellipse=Oa;Oa.prototype.className="Ellipse";Oa.prototype._centroid=!0;Oa.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,z_e._registerNode)(Oa);$3.Factory.addComponentsGetterSetter(Oa,"radius",["x","y"]);$3.Factory.addGetterSetter(Oa,"radiusX",0,(0,tB.getNumberValidator)());$3.Factory.addGetterSetter(Oa,"radiusY",0,(0,tB.getNumberValidator)());var N1={};Object.defineProperty(N1,"__esModule",{value:!0});N1.Image=void 0;const x_=Bt,jl=Ie,U_e=pn,G_e=Le,Tp=fe;let Ro=class nB extends U_e.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?x_.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?x_.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=x_.Util.createImageElement();i.onload=function(){var o=new nB({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};N1.Image=Ro;Ro.prototype.className="Image";(0,G_e._registerNode)(Ro);jl.Factory.addGetterSetter(Ro,"cornerRadius",0,(0,Tp.getNumberOrArrayOfNumbersValidator)(4));jl.Factory.addGetterSetter(Ro,"image");jl.Factory.addComponentsGetterSetter(Ro,"crop",["x","y","width","height"]);jl.Factory.addGetterSetter(Ro,"cropX",0,(0,Tp.getNumberValidator)());jl.Factory.addGetterSetter(Ro,"cropY",0,(0,Tp.getNumberValidator)());jl.Factory.addGetterSetter(Ro,"cropWidth",0,(0,Tp.getNumberValidator)());jl.Factory.addGetterSetter(Ro,"cropHeight",0,(0,Tp.getNumberValidator)());var Dc={};Object.defineProperty(Dc,"__esModule",{value:!0});Dc.Tag=Dc.Label=void 0;const D1=Ie,H_e=pn,q_e=Qc,F3=fe,rB=Le;var iB=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],W_e="Change.konva",K_e="none",fx="up",hx="right",px="down",gx="left",Y_e=iB.length;class B3 extends q_e.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}$1.RegularPolygon=zl;zl.prototype.className="RegularPolygon";zl.prototype._centroid=!0;zl.prototype._attrsAffectingSize=["radius"];(0,n2e._registerNode)(zl);oB.Factory.addGetterSetter(zl,"radius",0,(0,sB.getNumberValidator)());oB.Factory.addGetterSetter(zl,"sides",0,(0,sB.getNumberValidator)());var F1={};Object.defineProperty(F1,"__esModule",{value:!0});F1.Ring=void 0;const aB=Ie,r2e=pn,lB=fe,i2e=Le;var Gk=Math.PI*2;class Ul extends r2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,Gk,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),Gk,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}F1.Ring=Ul;Ul.prototype.className="Ring";Ul.prototype._centroid=!0;Ul.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,i2e._registerNode)(Ul);aB.Factory.addGetterSetter(Ul,"innerRadius",0,(0,lB.getNumberValidator)());aB.Factory.addGetterSetter(Ul,"outerRadius",0,(0,lB.getNumberValidator)());var B1={};Object.defineProperty(B1,"__esModule",{value:!0});B1.Sprite=void 0;const Gl=Ie,o2e=pn,s2e=Zc,uB=fe,a2e=Le;class Io extends o2e.Shape{constructor(t){super(t),this._updated=!0,this.anim=new s2e.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],c=o[i+3],d=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,c),t.closePath(),t.fillStrokeShape(this)),d)if(s){var f=s[n],h=r*2;t.drawImage(d,a,l,u,c,f[h+0],f[h+1],u,c)}else t.drawImage(d,a,l,u,c,0,0,u,c)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],c=r*2;t.rect(u[c+0],u[c+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var Rg;function T_(){return Rg||(Rg=mx.Util.createCanvasElement().getContext(p2e),Rg)}function T2e(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function E2e(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function P2e(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Xt extends c2e.Shape{constructor(t){super(P2e(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(v+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=mx.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(g2e,n),this}getWidth(){var t=this.attrs.width===uu||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===uu||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return mx.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=T_(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+Og+this.fontVariant()+Og+(this.fontSize()+b2e)+C2e(this.fontFamily())}_addTextLine(t){this.align()===Rd&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return T_().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` -`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==uu&&o!==void 0,l=s!==uu&&s!==void 0,u=this.padding(),c=o-u*2,d=s-u*2,f=0,h=this.wrap(),p=h!==Wk,m=h!==w2e&&p,S=this.ellipsis();this.textArr=[],T_().font=this._getContextFont();for(var v=S?this._getTextWidth(C_):0,y=0,g=t.length;yc)for(;b.length>0;){for(var w=0,x=b.length,C="",k=0;w>>1,A=b.slice(0,P+1),$=this._getTextWidth(A)+v;$<=c?(w=P+1,C=A,k=$):x=P}if(C){if(m){var N,T=b[C.length],O=T===Og||T===Hk;O&&k<=c?N=C.length:N=Math.max(C.lastIndexOf(Og),C.lastIndexOf(Hk))+1,N>0&&(w=N,C=C.slice(0,w),k=this._getTextWidth(C))}C=C.trimRight(),this._addTextLine(C),r=Math.max(r,k),f+=i;var I=this._shouldHandleEllipsis(f);if(I){this._tryToAddEllipsisToLastLine();break}if(b=b.slice(w),b=b.trimLeft(),b.length>0&&(_=this._getTextWidth(b),_<=c)){this._addTextLine(b),f+=i,r=Math.max(r,_);break}}else break}else this._addTextLine(b),f+=i,r=Math.max(r,_),this._shouldHandleEllipsis(f)&&yd)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==uu&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==Wk;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==uu&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+C_)n?null:Id.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=Id.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${vB}`).join(" "),Xk="nodesRect",D2e=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],L2e={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const $2e="ontouchstart"in Ci.Konva._global;function F2e(e,t){if(e==="rotater")return"crosshair";t+=at.Util.degToRad(L2e[e]||0);var n=(at.Util.radToDeg(t)%360+360)%360;return at.Util._inRange(n,315+22.5,360)||at.Util._inRange(n,0,22.5)?"ns-resize":at.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":at.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":at.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":at.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":at.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":at.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":at.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(at.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var a0=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],Qk=1e8;function B2e(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function bB(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function j2e(e,t){const n=B2e(e);return bB(e,t,n)}function V2e(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(at.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(D2e.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(Xk),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(Xk,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(Ci.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),c={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return bB(c,-Ci.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-Qk,y:-Qk,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const c=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var d=[{x:c.x,y:c.y},{x:c.x+c.width,y:c.y},{x:c.x+c.width,y:c.y+c.height},{x:c.x,y:c.y+c.height}],f=u.getAbsoluteTransform();d.forEach(function(h){var p=f.point(h);n.push(p)})});const r=new at.Transform;r.rotate(-Ci.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var c=r.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:Ci.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),a0.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new I2e.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:$2e?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=Ci.Konva.getAngle(this.rotation()),o=F2e(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new R2e.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*at.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const c=o.getAbsolutePosition();if(!(u.x===c.x&&u.y===c.y)){if(this._movingAnchorName==="rotater"){var d=this._getNodeRect();n=o.x()-d.width/2,r=-o.y()+d.height/2;let N=Math.atan2(-r,n)+Math.PI/2;d.height<0&&(N-=Math.PI);var f=Ci.Konva.getAngle(this.rotation());const T=f+N,O=Ci.Konva.getAngle(this.rotationSnapTolerance()),M=V2e(this.rotationSnaps(),T,O)-d.rotation,R=j2e(d,M);this._fitNodesInto(R,t);return}var h=this.shiftBehavior(),p;h==="inverted"?p=this.keepRatio()&&!t.shiftKey:h==="none"?p=this.keepRatio():p=this.keepRatio()||t.shiftKey;var g=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-left").x()>m.x?-1:1,v=this.findOne(".top-left").y()>m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-left").x(m.x-n),this.findOne(".top-left").y(m.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-m.x,2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-right").x()m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-right").x(m.x+n),this.findOne(".top-right").y(m.y-r)}var y=o.position();this.findOne(".top-left").y(y.y),this.findOne(".bottom-right").x(y.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(o.y()-m.y,2));var S=m.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(at.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(at.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new at.Transform;if(s.rotate(Ci.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const d=s.point({x:-this.padding()*2,y:0});if(t.x+=d.x,t.y+=d.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const d=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const d=s.point({x:0,y:-this.padding()*2});if(t.x+=d.x,t.y+=d.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const d=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const d=this.boundBoxFunc()(r,t);d?t=d:at.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new at.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new at.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const c=u.multiply(l.invert());this._nodes.forEach(d=>{var f;const h=d.getParent().getAbsoluteTransform(),p=d.getTransform().copy();p.translate(d.offsetX(),d.offsetY());const m=new at.Transform;m.multiply(h.copy().invert()).multiply(c).multiply(h).multiply(p);const S=m.decompose();d.setAttrs(S),this._fire("transform",{evt:n,target:d}),d._fire("transform",{evt:n,target:d}),(f=d.getLayer())===null||f===void 0||f.batchDraw()}),this.rotation(at.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(at.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(d=>{d.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*at.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const c=this.anchorStyleFunc();c&&u.forEach(d=>{c(d)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),Yk.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return Kk.Node.prototype.toObject.call(this)}clone(t){var n=Kk.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}z1.Transformer=Je;function z2e(e){return e instanceof Array||at.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){a0.indexOf(t)===-1&&at.Util.warn("Unknown anchor name: "+t+". Available names are: "+a0.join(", "))}),e||[]}Je.prototype.className="Transformer";(0,M2e._registerNode)(Je);st.Factory.addGetterSetter(Je,"enabledAnchors",a0,z2e);st.Factory.addGetterSetter(Je,"flipEnabled",!0,(0,Ma.getBooleanValidator)());st.Factory.addGetterSetter(Je,"resizeEnabled",!0);st.Factory.addGetterSetter(Je,"anchorSize",10,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"rotateEnabled",!0);st.Factory.addGetterSetter(Je,"rotationSnaps",[]);st.Factory.addGetterSetter(Je,"rotateAnchorOffset",50,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"rotationSnapTolerance",5,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"borderEnabled",!0);st.Factory.addGetterSetter(Je,"anchorStroke","rgb(0, 161, 255)");st.Factory.addGetterSetter(Je,"anchorStrokeWidth",1,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"anchorFill","white");st.Factory.addGetterSetter(Je,"anchorCornerRadius",0,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"borderStroke","rgb(0, 161, 255)");st.Factory.addGetterSetter(Je,"borderStrokeWidth",1,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"borderDash");st.Factory.addGetterSetter(Je,"keepRatio",!0);st.Factory.addGetterSetter(Je,"shiftBehavior","default");st.Factory.addGetterSetter(Je,"centeredScaling",!1);st.Factory.addGetterSetter(Je,"ignoreStroke",!1);st.Factory.addGetterSetter(Je,"padding",0,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"node");st.Factory.addGetterSetter(Je,"nodes");st.Factory.addGetterSetter(Je,"boundBoxFunc");st.Factory.addGetterSetter(Je,"anchorDragBoundFunc");st.Factory.addGetterSetter(Je,"anchorStyleFunc");st.Factory.addGetterSetter(Je,"shouldOverdrawWholeArea",!1);st.Factory.addGetterSetter(Je,"useSingleNodeRotation",!0);st.Factory.backCompat(Je,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var U1={};Object.defineProperty(U1,"__esModule",{value:!0});U1.Wedge=void 0;const G1=Ie,U2e=pn,G2e=Le,SB=fe,H2e=Le;class Ss extends U2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,G2e.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}U1.Wedge=Ss;Ss.prototype.className="Wedge";Ss.prototype._centroid=!0;Ss.prototype._attrsAffectingSize=["radius"];(0,H2e._registerNode)(Ss);G1.Factory.addGetterSetter(Ss,"radius",0,(0,SB.getNumberValidator)());G1.Factory.addGetterSetter(Ss,"angle",0,(0,SB.getNumberValidator)());G1.Factory.addGetterSetter(Ss,"clockwise",!1);G1.Factory.backCompat(Ss,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var H1={};Object.defineProperty(H1,"__esModule",{value:!0});H1.Blur=void 0;const Zk=Ie,q2e=At,W2e=fe;function Jk(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var K2e=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Y2e=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function X2e(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,c,d,f,h,p,m,S,v,y,g,b,_,w,x,C,k,P,A,$,N=t+t+1,T=r-1,O=i-1,I=t+1,M=I*(I+1)/2,R=new Jk,D=null,L=R,V=null,z=null,U=K2e[t],K=Y2e[t];for(a=1;a>K,A!==0?(A=255/A,n[c]=(f*U>>K)*A,n[c+1]=(h*U>>K)*A,n[c+2]=(p*U>>K)*A):n[c]=n[c+1]=n[c+2]=0,f-=S,h-=v,p-=y,m-=g,S-=V.r,v-=V.g,y-=V.b,g-=V.a,l=d+((l=o+t+1)>K,A>0?(A=255/A,n[l]=(f*U>>K)*A,n[l+1]=(h*U>>K)*A,n[l+2]=(p*U>>K)*A):n[l]=n[l+1]=n[l+2]=0,f-=S,h-=v,p-=y,m-=g,S-=V.r,v-=V.g,y-=V.b,g-=V.a,l=o+((l=s+I)0&&X2e(t,n)};H1.Blur=Q2e;Zk.Factory.addGetterSetter(q2e.Node,"blurRadius",0,(0,W2e.getNumberValidator)(),Zk.Factory.afterSetFilter);var q1={};Object.defineProperty(q1,"__esModule",{value:!0});q1.Brighten=void 0;const eA=Ie,Z2e=At,J2e=fe,ewe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};W1.Contrast=rwe;tA.Factory.addGetterSetter(twe.Node,"contrast",0,(0,nwe.getNumberValidator)(),tA.Factory.afterSetFilter);var K1={};Object.defineProperty(K1,"__esModule",{value:!0});K1.Emboss=void 0;const ba=Ie,Y1=At,iwe=Bt,_B=fe,owe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,c=l*4,d=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:iwe.Util.error("Unknown emboss direction: "+r)}do{var f=(d-1)*c,h=o;d+h<1&&(h=0),d+h>u&&(h=0);var p=(d-1+h)*l*4,m=l;do{var S=f+(m-1)*4,v=s;m+v<1&&(v=0),m+v>l&&(v=0);var y=p+(m-1+v)*4,g=a[S]-a[y],b=a[S+1]-a[y+1],_=a[S+2]-a[y+2],w=g,x=w>0?w:-w,C=b>0?b:-b,k=_>0?_:-_;if(C>x&&(w=b),k>x&&(w=_),w*=t,i){var P=a[S]+w,A=a[S+1]+w,$=a[S+2]+w;a[S]=P>255?255:P<0?0:P,a[S+1]=A>255?255:A<0?0:A,a[S+2]=$>255?255:$<0?0:$}else{var N=n-w;N<0?N=0:N>255&&(N=255),a[S]=a[S+1]=a[S+2]=N}}while(--m)}while(--d)};K1.Emboss=owe;ba.Factory.addGetterSetter(Y1.Node,"embossStrength",.5,(0,_B.getNumberValidator)(),ba.Factory.afterSetFilter);ba.Factory.addGetterSetter(Y1.Node,"embossWhiteLevel",.5,(0,_B.getNumberValidator)(),ba.Factory.afterSetFilter);ba.Factory.addGetterSetter(Y1.Node,"embossDirection","top-left",null,ba.Factory.afterSetFilter);ba.Factory.addGetterSetter(Y1.Node,"embossBlend",!1,null,ba.Factory.afterSetFilter);var X1={};Object.defineProperty(X1,"__esModule",{value:!0});X1.Enhance=void 0;const nA=Ie,swe=At,awe=fe;function k_(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const lwe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],c=u,d,f,h=this.enhance();if(h!==0){for(f=0;fi&&(i=o),l=t[f+1],la&&(a=l),d=t[f+2],dc&&(c=d);i===r&&(i=255,r=0),a===s&&(a=255,s=0),c===u&&(c=255,u=0);var p,m,S,v,y,g,b,_,w;for(h>0?(m=i+h*(255-i),S=r-h*(r-0),y=a+h*(255-a),g=s-h*(s-0),_=c+h*(255-c),w=u-h*(u-0)):(p=(i+r)*.5,m=i+h*(i-p),S=r+h*(r-p),v=(a+s)*.5,y=a+h*(a-v),g=s+h*(s-v),b=(c+u)*.5,_=c+h*(c-b),w=u+h*(u-b)),f=0;fv?S:v;var y=s,g=o,b,_,w=360/g*Math.PI/180,x,C;for(_=0;_g?y:g;var b=s,_=o,w,x,C=n.polarRotation||0,k,P;for(c=0;ct&&(b=g,_=0,w=-1),i=0;i=0&&h=0&&p=0&&h=0&&p=255*4?255:0}return s}function xwe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&h=0&&p=n))for(o=m;o=r||(s=(n*o+i)*4,a+=b[s+0],l+=b[s+1],u+=b[s+2],c+=b[s+3],g+=1);for(a=a/g,l=l/g,u=u/g,c=c/g,i=h;i=n))for(o=m;o=r||(s=(n*o+i)*4,b[s+0]=a,b[s+1]=l,b[s+2]=u,b[s+3]=c)}};ib.Pixelate=Rwe;sA.Factory.addGetterSetter(Awe.Node,"pixelSize",8,(0,Owe.getNumberValidator)(),sA.Factory.afterSetFilter);var ob={};Object.defineProperty(ob,"__esModule",{value:!0});ob.Posterize=void 0;const aA=Ie,Iwe=At,Mwe=fe,Nwe=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});u0.Factory.addGetterSetter(q3.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});u0.Factory.addGetterSetter(q3.Node,"blue",0,Dwe.RGBComponent,u0.Factory.afterSetFilter);var ab={};Object.defineProperty(ab,"__esModule",{value:!0});ab.RGBA=void 0;const Oh=Ie,lb=At,$we=fe,Fwe=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Oh.Factory.addGetterSetter(lb.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Oh.Factory.addGetterSetter(lb.Node,"blue",0,$we.RGBComponent,Oh.Factory.afterSetFilter);Oh.Factory.addGetterSetter(lb.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var ub={};Object.defineProperty(ub,"__esModule",{value:!0});ub.Sepia=void 0;const Bwe=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),c>127&&(c=255-c),d>127&&(d=255-d),t[l]=u,t[l+1]=c,t[l+2]=d}while(--a)}while(--o)};cb.Solarize=jwe;var db={};Object.defineProperty(db,"__esModule",{value:!0});db.Threshold=void 0;const lA=Ie,Vwe=At,zwe=fe,Uwe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new Nd.Stage({container:o,width:r,height:i}),a=new Nd.Layer,l=new Nd.Layer;return a.add(new Nd.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new Nd.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},Axe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),dA=async(e,t)=>{const n=e.toDataURL(t);return await Axe(n,t.width,t.height)},Oxe=Se.child({namespace:"getCanvasDataURLs"}),Rxe=async e=>{const t=b1(),n=B1e();if(!t||!n){Oxe.error("Unable to find canvas / stage");return}const{layerState:{objects:r},boundingBoxCoordinates:i,boundingBoxDimensions:o,isMaskEnabled:s,shouldPreserveMaskedArea:a}=e.canvas,l={...i,...o},u=t.clone();u.scale({x:1,y:1});const c=u.getAbsolutePosition(),d={x:l.x+c.x,y:l.y+c.y,width:l.width,height:l.height},f=await o0(u,d),h=await dA(u,d),p=await kxe(s?r.filter(QD):[],l,a),m=await o0(p,l),S=await dA(p,l);return{baseBlob:f,baseImageData:h,maskBlob:m,maskImageData:S}},Ixe=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=Ixe(e.data),i=Mxe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},CB=me("nodes/textToImageGraphBuilt"),TB=me("nodes/imageToImageGraphBuilt"),EB=me("nodes/canvasGraphBuilt"),PB=me("nodes/nodesGraphBuilt"),Dxe=Hi(CB,TB,EB,PB),Lxe=e=>t7(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),Lt="positive_conditioning",Wt="negative_conditioning",_n="text_to_latents",Bn="latents_to_image",Nt="noise",eo="rand_int",Wo="range_of_size",_r="iterate",wt="main_model_loader",Dd="vae_loader",$xe="lora_loader",ft="clip_skip",dr="image_to_latents",tn="latents_to_latents",lo="resize_image",Rs="inpaint",Mg="control_net_collect",A_="dynamic_prompt",fn="metadata_accumulator",fA="esrgan",W3="text_to_image_graph",c0="image_to_image_graph",kB="inpaint_graph",fb=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=Lxe(i),s=t.nodes[fn];if(r&&o.length&&o.length){const a={id:Mg,type:"collect",is_intermediate:!0};t.nodes[Mg]=a,t.edges.push({source:{node_id:Mg,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:c,processedControlImage:d,beginStepPct:f,endStepPct:h,controlMode:p,resizeMode:m,model:S,processorType:v,weight:y}=l,g={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:f,end_step_percent:h,control_mode:p,resize_mode:m,control_model:S,control_weight:y};if(d&&v!=="none")g.image={image_name:d};else if(c)g.image={image_name:c};else return;if(t.nodes[g.id]=g,s){const b=o5(g,["id","type"]);s.controlnets.push(b)}t.edges.push({source:{node_id:g.id,field:"control"},destination:{node_id:Mg,field:"item"}})})}},hb=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[fn];if(a){gZ(t.nodes[Lt],"prompt");const c={id:A_,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},d={id:_r,type:"iterate",is_intermediate:!0};if(t.nodes[A_]=c,t.nodes[_r]=d,t.edges.push({source:{node_id:A_,field:"prompt_collection"},destination:{node_id:_r,field:"collection"}},{source:{node_id:_r,field:"item"},destination:{node_id:Lt,field:"prompt"}}),u&&t.edges.push({source:{node_id:_r,field:"item"},destination:{node_id:fn,field:"positive_prompt"}}),o){const f={id:eo,type:"rand_int",is_intermediate:!0};t.nodes[eo]=f,t.edges.push({source:{node_id:eo,field:"a"},destination:{node_id:Nt,field:"seed"}}),u&&t.edges.push({source:{node_id:eo,field:"a"},destination:{node_id:fn,field:"seed"}})}else t.nodes[Nt].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const c={id:Wo,type:"range_of_size",is_intermediate:!0,size:r,step:1},d={id:_r,type:"iterate",is_intermediate:!0};if(t.nodes[_r]=d,t.nodes[Wo]=c,t.edges.push({source:{node_id:Wo,field:"collection"},destination:{node_id:_r,field:"collection"}}),t.edges.push({source:{node_id:_r,field:"item"},destination:{node_id:Nt,field:"seed"}}),u&&t.edges.push({source:{node_id:_r,field:"item"},destination:{node_id:fn,field:"seed"}}),o){const f={id:eo,type:"rand_int",is_intermediate:!0};t.nodes[eo]=f,t.edges.push({source:{node_id:eo,field:"a"},destination:{node_id:Wo,field:"start"}})}else c.start=i}},Pp=(e,t,n)=>{const{loras:r}=e.lora,i=c7(r),o=t.nodes[fn];i>0&&(t.edges=t.edges.filter(l=>!(l.source.node_id===wt&&["unet"].includes(l.source.field))),t.edges=t.edges.filter(l=>!(l.source.node_id===ft&&["clip"].includes(l.source.field))));let s="",a=0;bc(r,l=>{const{model_name:u,base_model:c,weight:d}=l,f=`${$xe}_${u.replace(".","_")}`,h={type:"lora_loader",id:f,is_intermediate:!0,lora:{model_name:u,base_model:c},weight:d};o&&o.loras.push({lora:{model_name:u,base_model:c},weight:d}),t.nodes[f]=h,a===0?(t.edges.push({source:{node_id:wt,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:ft,field:"clip"},destination:{node_id:f,field:"clip"}})):(t.edges.push({source:{node_id:s,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:s,field:"clip"},destination:{node_id:f,field:"clip"}})),a===i-1&&(t.edges.push({source:{node_id:f,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:Lt,field:"clip"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:Wt,field:"clip"}})),s=f,a+=1})},kp=(e,t)=>{const{vae:n}=e.generation,r=!n,i=t.nodes[fn];r||(t.nodes[Dd]={type:"vae_loader",id:Dd,is_intermediate:!0,vae_model:n}),(t.id===W3||t.id===c0)&&t.edges.push({source:{node_id:r?wt:Dd,field:"vae"},destination:{node_id:Bn,field:"vae"}}),t.id===c0&&t.edges.push({source:{node_id:r?wt:Dd,field:"vae"},destination:{node_id:dr,field:"vae"}}),t.id===kB&&t.edges.push({source:{node_id:r?wt:Dd,field:"vae"},destination:{node_id:Rs,field:"vae"}}),n&&i&&(i.vae=n)},Fxe=Se.child({namespace:"nodes"}),Bxe=(e,t)=>{const{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,img2imgStrength:l,clipSkip:u,shouldUseCpuNoise:c,shouldUseNoiseSettings:d}=e.generation,{width:f,height:h}=e.canvas.boundingBoxDimensions,{shouldAutoSave:p}=e.canvas;if(!i)throw Fxe.error("No model found in state"),new Error("No model found in state");const m=d?c:Nl.shouldUseCpuNoise,S={id:c0,nodes:{[Lt]:{type:"compel",id:Lt,is_intermediate:!0,prompt:n},[Wt]:{type:"compel",id:Wt,is_intermediate:!0,prompt:r},[Nt]:{type:"noise",id:Nt,is_intermediate:!0,use_cpu:m},[wt]:{type:"main_model_loader",id:wt,is_intermediate:!0,model:i},[ft]:{type:"clip_skip",id:ft,is_intermediate:!0,skipped_layers:u},[Bn]:{is_intermediate:!p,type:"l2i",id:Bn},[tn]:{type:"l2l",id:tn,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a,strength:l},[dr]:{type:"i2l",id:dr,is_intermediate:!0}},edges:[{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:tn,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:dr,field:"latents"},destination:{node_id:tn,field:"latents"}},{source:{node_id:Nt,field:"noise"},destination:{node_id:tn,field:"noise"}},{source:{node_id:wt,field:"unet"},destination:{node_id:tn,field:"unet"}},{source:{node_id:Wt,field:"conditioning"},destination:{node_id:tn,field:"negative_conditioning"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:tn,field:"positive_conditioning"}}]};if(t.width!==f||t.height!==h){const v={id:lo,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:f,height:h};S.nodes[lo]=v,S.edges.push({source:{node_id:lo,field:"image"},destination:{node_id:dr,field:"image"}}),S.edges.push({source:{node_id:lo,field:"width"},destination:{node_id:Nt,field:"width"}}),S.edges.push({source:{node_id:lo,field:"height"},destination:{node_id:Nt,field:"height"}})}else S.nodes[dr].image={image_name:t.image_name},S.edges.push({source:{node_id:dr,field:"width"},destination:{node_id:Nt,field:"width"}}),S.edges.push({source:{node_id:dr,field:"height"},destination:{node_id:Nt,field:"height"}});return S.nodes[fn]={id:fn,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:h,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:u,strength:l,init_image:t.image_name},S.edges.push({source:{node_id:fn,field:"metadata"},destination:{node_id:Bn,field:"metadata"}}),Pp(e,S,tn),kp(e,S),hb(e,S),fb(e,S,tn),S},jxe=Se.child({namespace:"nodes"}),Vxe=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,shouldFitToWidthHeight:c,iterations:d,seed:f,shouldRandomizeSeed:h,seamSize:p,seamBlur:m,seamSteps:S,seamStrength:v,tileSize:y,infillMethod:g,clipSkip:b}=e.generation;if(!o)throw jxe.error("No model found in state"),new Error("No model found in state");const{width:_,height:w}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:x,boundingBoxScaleMethod:C,shouldAutoSave:k}=e.canvas,P={id:kB,nodes:{[Rs]:{is_intermediate:!k,type:"inpaint",id:Rs,steps:l,width:_,height:w,cfg_scale:s,scheduler:a,image:{image_name:t.image_name},strength:u,fit:c,mask:{image_name:n.image_name},seam_size:p,seam_blur:m,seam_strength:v,seam_steps:S,tile_size:g==="tile"?y:void 0,infill_method:g,inpaint_width:C!=="none"?x.width:void 0,inpaint_height:C!=="none"?x.height:void 0},[Lt]:{type:"compel",id:Lt,is_intermediate:!0,prompt:r},[Wt]:{type:"compel",id:Wt,is_intermediate:!0,prompt:i},[wt]:{type:"main_model_loader",id:wt,is_intermediate:!0,model:o},[ft]:{type:"clip_skip",id:ft,is_intermediate:!0,skipped_layers:b},[Wo]:{type:"range_of_size",id:Wo,is_intermediate:!0,size:d,step:1},[_r]:{type:"iterate",id:_r,is_intermediate:!0}},edges:[{source:{node_id:wt,field:"unet"},destination:{node_id:Rs,field:"unet"}},{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:Wt,field:"conditioning"},destination:{node_id:Rs,field:"negative_conditioning"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:Rs,field:"positive_conditioning"}},{source:{node_id:Wo,field:"collection"},destination:{node_id:_r,field:"collection"}},{source:{node_id:_r,field:"item"},destination:{node_id:Rs,field:"seed"}}]};if(Pp(e,P,Rs),kp(e,P),h){const A={id:eo,type:"rand_int"};P.nodes[eo]=A,P.edges.push({source:{node_id:eo,field:"a"},destination:{node_id:Wo,field:"start"}})}else P.nodes[Wo].start=f;return P},zxe=Se.child({namespace:"nodes"}),Uxe=e=>{const{positivePrompt:t,negativePrompt:n,model:r,cfgScale:i,scheduler:o,steps:s,clipSkip:a,shouldUseCpuNoise:l,shouldUseNoiseSettings:u}=e.generation,{width:c,height:d}=e.canvas.boundingBoxDimensions,{shouldAutoSave:f}=e.canvas;if(!r)throw zxe.error("No model found in state"),new Error("No model found in state");const h=u?l:Nl.shouldUseCpuNoise,p={id:W3,nodes:{[Lt]:{type:"compel",id:Lt,is_intermediate:!0,prompt:t},[Wt]:{type:"compel",id:Wt,is_intermediate:!0,prompt:n},[Nt]:{type:"noise",id:Nt,is_intermediate:!0,width:c,height:d,use_cpu:h},[_n]:{type:"t2l",id:_n,is_intermediate:!0,cfg_scale:i,scheduler:o,steps:s},[wt]:{type:"main_model_loader",id:wt,is_intermediate:!0,model:r},[ft]:{type:"clip_skip",id:ft,is_intermediate:!0,skipped_layers:a},[Bn]:{type:"l2i",id:Bn,is_intermediate:!f}},edges:[{source:{node_id:Wt,field:"conditioning"},destination:{node_id:_n,field:"negative_conditioning"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:_n,field:"positive_conditioning"}},{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:wt,field:"unet"},destination:{node_id:_n,field:"unet"}},{source:{node_id:_n,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:Nt,field:"noise"},destination:{node_id:_n,field:"noise"}}]};return p.nodes[fn]={id:fn,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:i,height:d,width:c,positive_prompt:"",negative_prompt:n,model:r,seed:0,steps:s,rand_device:h?"cpu":"cuda",scheduler:o,vae:void 0,controlnets:[],loras:[],clip_skip:a},p.edges.push({source:{node_id:fn,field:"metadata"},destination:{node_id:Bn,field:"metadata"}}),Pp(e,p,_n),kp(e,p),hb(e,p),fb(e,p,_n),p};Se.child({namespace:"nodes"});const Gxe=(e,t,n,r)=>{let i;if(t==="txt2img")i=Uxe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=Bxe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=Vxe(e,n,r)}return i},O_=Se.child({namespace:"invoke"}),Hxe=()=>{pe({predicate:e=>_p.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=t(),o=await Rxe(i);if(!o){O_.error("Unable to create canvas data");return}const{baseBlob:s,baseImageData:a,maskBlob:l,maskImageData:u}=o,c=Nxe(a,u);if(i.system.enableImageDebugging){const v=await Ok(s),y=await Ok(l);ASe([{base64:y,caption:"mask b64"},{base64:v,caption:"image b64"}])}O_.debug(`Generation mode: ${c}`);let d,f;["img2img","inpaint","outpaint"].includes(c)&&(d=await n(ye.endpoints.uploadImage.initiate({file:new File([s],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(c)&&(f=await n(ye.endpoints.uploadImage.initiate({file:new File([l],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const h=Gxe(i,c,d,f);O_.debug({graph:h},"Canvas graph built"),n(EB(h));const{requestId:p}=n(Un({graph:h})),[m]=await r(v=>Un.fulfilled.match(v)&&v.meta.requestId===p),S=m.payload.id;["img2img","inpaint"].includes(c)&&d&&n(ye.endpoints.changeImageSessionId.initiate({imageDTO:d,session_id:S})),["inpaint"].includes(c)&&f&&n(ye.endpoints.changeImageSessionId.initiate({imageDTO:f,session_id:S})),i.canvas.layerState.stagingArea.boundingBox||n(ehe({sessionId:S,boundingBox:{...i.canvas.boundingBoxCoordinates,...i.canvas.boundingBoxDimensions}})),n(the(S)),n(Ll())}})},hA=Se.child({namespace:"nodes"}),qxe=e=>{const{positivePrompt:t,negativePrompt:n,model:r,cfgScale:i,scheduler:o,steps:s,initialImage:a,img2imgStrength:l,shouldFitToWidthHeight:u,width:c,height:d,clipSkip:f,shouldUseCpuNoise:h,shouldUseNoiseSettings:p}=e.generation;if(!a)throw hA.error("No initial image found in state"),new Error("No initial image found in state");if(!r)throw hA.error("No model found in state"),new Error("No model found in state");const m=p?h:Nl.shouldUseCpuNoise,S={id:c0,nodes:{[wt]:{type:"main_model_loader",id:wt,model:r},[ft]:{type:"clip_skip",id:ft,skipped_layers:f},[Lt]:{type:"compel",id:Lt,prompt:t},[Wt]:{type:"compel",id:Wt,prompt:n},[Nt]:{type:"noise",id:Nt,use_cpu:m},[Bn]:{type:"l2i",id:Bn},[tn]:{type:"l2l",id:tn,cfg_scale:i,scheduler:o,steps:s,strength:l},[dr]:{type:"i2l",id:dr}},edges:[{source:{node_id:wt,field:"unet"},destination:{node_id:tn,field:"unet"}},{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:tn,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:dr,field:"latents"},destination:{node_id:tn,field:"latents"}},{source:{node_id:Nt,field:"noise"},destination:{node_id:tn,field:"noise"}},{source:{node_id:Wt,field:"conditioning"},destination:{node_id:tn,field:"negative_conditioning"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:tn,field:"positive_conditioning"}}]};if(u&&(a.width!==c||a.height!==d)){const v={id:lo,type:"img_resize",image:{image_name:a.imageName},is_intermediate:!0,width:c,height:d};S.nodes[lo]=v,S.edges.push({source:{node_id:lo,field:"image"},destination:{node_id:dr,field:"image"}}),S.edges.push({source:{node_id:lo,field:"width"},destination:{node_id:Nt,field:"width"}}),S.edges.push({source:{node_id:lo,field:"height"},destination:{node_id:Nt,field:"height"}})}else S.nodes[dr].image={image_name:a.imageName},S.edges.push({source:{node_id:dr,field:"width"},destination:{node_id:Nt,field:"width"}}),S.edges.push({source:{node_id:dr,field:"height"},destination:{node_id:Nt,field:"height"}});return S.nodes[fn]={id:fn,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:i,height:d,width:c,positive_prompt:"",negative_prompt:n,model:r,seed:0,steps:s,rand_device:m?"cpu":"cuda",scheduler:o,vae:void 0,controlnets:[],loras:[],clip_skip:f,strength:l,init_image:a.imageName},S.edges.push({source:{node_id:fn,field:"metadata"},destination:{node_id:Bn,field:"metadata"}}),Pp(e,S,tn),kp(e,S),hb(e,S),fb(e,S,tn),S},Wxe=Se.child({namespace:"invoke"}),Kxe=()=>{pe({predicate:e=>_p.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=t(),o=qxe(i);n(TB(o)),Wxe.debug({data:o},"Image to Image graph built"),n(Un({graph:o})),await r(Un.fulfilled.match),n(Ll())}})};let Ng;const Yxe=new Uint8Array(16);function Xxe(){if(!Ng&&(Ng=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Ng))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ng(Yxe)}const In=[];for(let e=0;e<256;++e)In.push((e+256).toString(16).slice(1));function Qxe(e,t=0){return(In[e[t+0]]+In[e[t+1]]+In[e[t+2]]+In[e[t+3]]+"-"+In[e[t+4]]+In[e[t+5]]+"-"+In[e[t+6]]+In[e[t+7]]+"-"+In[e[t+8]]+In[e[t+9]]+"-"+In[e[t+10]]+In[e[t+11]]+In[e[t+12]]+In[e[t+13]]+In[e[t+14]]+In[e[t+15]]).toLowerCase()}const Zxe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),pA={randomUUID:Zxe};function Jxe(e,t,n){if(pA.randomUUID&&!t&&!e)return pA.randomUUID();e=e||{};const r=e.random||(e.rng||Xxe)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return Qxe(r)}const eCe=e=>{if(e.type==="color"&&e.value){const t=Yn(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},tCe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l,u)=>{const{id:c,data:d}=l,{type:f,inputs:h}=d,p=vv(h,(S,v,y)=>{const g=eCe(v);return S[y]=g,S},{}),m={type:f,id:c,...p};return Object.assign(a,{[c]:m}),a},{}),o=n.reduce((a,l,u)=>{const{source:c,target:d,sourceHandle:f,targetHandle:h}=l;return a.push({source:{node_id:c,field:f},destination:{node_id:d,field:h}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=o5(l,u)}),{id:Jxe(),nodes:i,edges:o}},nCe=Se.child({namespace:"invoke"}),rCe=()=>{pe({predicate:e=>_p.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=t(),o=tCe(i);n(PB(o)),nCe.debug({data:o},"Nodes graph built"),n(Un({graph:o})),await r(Un.fulfilled.match),n(Ll())}})},iCe=Se.child({namespace:"nodes"}),oCe=e=>{const{positivePrompt:t,negativePrompt:n,model:r,cfgScale:i,scheduler:o,steps:s,width:a,height:l,clipSkip:u,shouldUseCpuNoise:c,shouldUseNoiseSettings:d}=e.generation,f=d?c:Nl.shouldUseCpuNoise;if(!r)throw iCe.error("No model found in state"),new Error("No model found in state");const h={id:W3,nodes:{[wt]:{type:"main_model_loader",id:wt,model:r},[ft]:{type:"clip_skip",id:ft,skipped_layers:u},[Lt]:{type:"compel",id:Lt,prompt:t},[Wt]:{type:"compel",id:Wt,prompt:n},[Nt]:{type:"noise",id:Nt,width:a,height:l,use_cpu:f},[_n]:{type:"t2l",id:_n,cfg_scale:i,scheduler:o,steps:s},[Bn]:{type:"l2i",id:Bn}},edges:[{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:wt,field:"unet"},destination:{node_id:_n,field:"unet"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:_n,field:"positive_conditioning"}},{source:{node_id:Wt,field:"conditioning"},destination:{node_id:_n,field:"negative_conditioning"}},{source:{node_id:_n,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:Nt,field:"noise"},destination:{node_id:_n,field:"noise"}}]};return h.nodes[fn]={id:fn,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:i,height:l,width:a,positive_prompt:"",negative_prompt:n,model:r,seed:0,steps:s,rand_device:f?"cpu":"cuda",scheduler:o,vae:void 0,controlnets:[],loras:[],clip_skip:u},h.edges.push({source:{node_id:fn,field:"metadata"},destination:{node_id:Bn,field:"metadata"}}),Pp(e,h,_n),kp(e,h),hb(e,h),fb(e,h,_n),h},sCe=Se.child({namespace:"invoke"}),aCe=()=>{pe({predicate:e=>_p.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=t(),o=oCe(i);n(CB(o)),sCe.debug({data:o},"Text to Image graph built"),n(Un({graph:o})),await r(Un.fulfilled.match),n(Ll())}})},lCe=Se.child({namespace:"socketio"}),uCe=()=>{pe({actionCreator:FL,effect:(e,{dispatch:t,getState:n})=>{const{model_name:r,model_type:i,submodel:o}=e.payload.data;let s=`${i} model: ${r}`;o&&(s=s.concat(`, submodel: ${o}`)),lCe.debug(e.payload,`Model load started (${s})`),t(ppe(e.payload))}})},cCe=Se.child({namespace:"socketio"}),dCe=()=>{pe({actionCreator:BL,effect:(e,{dispatch:t,getState:n})=>{const{model_name:r,model_type:i,submodel:o}=e.payload.data;let s=`${i} model: ${r}`;o&&(s=s.concat(`, submodel: ${o}`)),cCe.debug(e.payload,`Model load completed (${s})`),t(gpe(e.payload))}})},fCe=({image_name:e,esrganModelName:t})=>{const n={id:fA,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[fA]:n},edges:[]}};Se.child({namespace:"upscale"});const hCe=me("upscale/upscaleRequested"),pCe=()=>{pe({actionCreator:hCe,effect:async(e,{dispatch:t,getState:n,take:r,unsubscribe:i,subscribe:o})=>{const{image_name:s}=e.payload,{esrganModelName:a}=n().postprocessing,l=fCe({image_name:s,esrganModelName:a});t(Un({graph:l})),await r(Un.fulfilled.match),t(Ll())}})};me("app/appStarted");const gCe=()=>{pe({matcher:ye.endpoints.listImages.matchFulfilled,effect:async(e,{getState:t,dispatch:n,unsubscribe:r,cancelActiveListeners:i})=>{if(e.meta.arg.queryCacheKey!==Ai({board_id:"none",categories:Mi}))return;i(),r();const o=e.payload;o.ids.length>0&&n(ra(o.ids[0]))}})},AB=uI(),pe=AB.startListening;hbe();pbe();ybe();ibe();obe();sbe();abe();M1e();fbe();Hxe();rCe();aCe();Kxe();cSe();X1e();q1e();U1e();K1e();kSe();k1e();gSe();ySe();SSe();wSe();xSe();fSe();pSe();TSe();PSe();uCe();dCe();rSe();iSe();oSe();sSe();aSe();lSe();eSe();tSe();nSe();ebe();J1e();tbe();nbe();cbe();dbe();I1e();Kbe();ube();bbe();R1e();_be();A1e();gCe();pCe();const eke=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],mCe="@@invokeai-",yCe=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],vCe=["pendingControlImages"],bCe=["selection","entities","ids","isLoading","limit","offset","selectedBoardId","galleryView","total","isInitialized"],SCe=["schema","invocationTemplates"],_Ce=[],wCe=[],xCe=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],CCe=["shouldShowImageDetails"],TCe={canvas:yCe,gallery:bCe,generation:_Ce,nodes:SCe,postprocessing:wCe,system:xCe,ui:CCe,controlNet:vCe},ECe=(e,t)=>{const n=o5(e,TCe[t]);return JSON.stringify(n)},PCe={canvas:ZD,gallery:dL,generation:Nl,nodes:bF,postprocessing:wF,system:EF,config:h7,ui:_D,hotkeys:nD,controlNet:Uw},kCe=(e,t)=>EQ(JSON.parse(e),PCe[t]),ACe=e=>{if(Dxe(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Ph.fulfilled.match(e)?{...e,payload:""}:k3.match(e)?{...e,payload:""}:e},OCe=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],RCe=e=>e,ICe={canvas:nhe,gallery:npe,generation:_ce,nodes:t1e,postprocessing:n1e,system:T1e,config:bZ,ui:Ece,hotkeys:zle,controlNet:bpe,boards:xpe,dynamicPrompts:_pe,imageDeletion:Epe,lora:Ape,modelmanager:P1e,[ya.reducerPath]:ya.reducer},MCe=Vc(ICe),NCe=FH(MCe),DCe=["canvas","gallery","generation","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],LCe=UR({reducer:NCe,enhancers:e=>e.concat(BH(window.localStorage,DCe,{persistDebounce:300,serialize:ECe,unserialize:kCe,prefix:mCe})).concat(dI()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(ya.middleware).concat(yH).prepend(AB.middleware),devTools:{actionSanitizer:ACe,stateSanitizer:RCe,trace:!0,predicate:(e,t)=>!OCe.includes(t.type)}}),tke=e=>e,$Ce=""+new URL("logo-13003d72.png",import.meta.url).href,FCe=()=>j.jsxs(z5,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[j.jsx(B5,{src:$Ce,w:"8rem",h:"8rem"}),j.jsx(Nv,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),BCe=E.memo(FCe);function yx(e){"@babel/helpers - typeof";return yx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yx(e)}var OB=[],jCe=OB.forEach,VCe=OB.slice;function vx(e){return jCe.call(VCe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function RB(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":yx(XMLHttpRequest))==="object"}function zCe(e){return!!e&&typeof e.then=="function"}function UCe(e){return zCe(e)?e:Promise.resolve(e)}function GCe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var bx={exports:{}},Dg={exports:{}},gA;function HCe(){return gA||(gA=1,function(e,t){var n=typeof self<"u"?self:De,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(T){return T&&DataView.prototype.isPrototypeOf(T)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(T){return T&&u.indexOf(Object.prototype.toString.call(T))>-1};function d(T){if(typeof T!="string"&&(T=String(T)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(T))throw new TypeError("Invalid character in header field name");return T.toLowerCase()}function f(T){return typeof T!="string"&&(T=String(T)),T}function h(T){var O={next:function(){var I=T.shift();return{done:I===void 0,value:I}}};return a.iterable&&(O[Symbol.iterator]=function(){return O}),O}function p(T){this.map={},T instanceof p?T.forEach(function(O,I){this.append(I,O)},this):Array.isArray(T)?T.forEach(function(O){this.append(O[0],O[1])},this):T&&Object.getOwnPropertyNames(T).forEach(function(O){this.append(O,T[O])},this)}p.prototype.append=function(T,O){T=d(T),O=f(O);var I=this.map[T];this.map[T]=I?I+", "+O:O},p.prototype.delete=function(T){delete this.map[d(T)]},p.prototype.get=function(T){return T=d(T),this.has(T)?this.map[T]:null},p.prototype.has=function(T){return this.map.hasOwnProperty(d(T))},p.prototype.set=function(T,O){this.map[d(T)]=f(O)},p.prototype.forEach=function(T,O){for(var I in this.map)this.map.hasOwnProperty(I)&&T.call(O,this.map[I],I,this)},p.prototype.keys=function(){var T=[];return this.forEach(function(O,I){T.push(I)}),h(T)},p.prototype.values=function(){var T=[];return this.forEach(function(O){T.push(O)}),h(T)},p.prototype.entries=function(){var T=[];return this.forEach(function(O,I){T.push([I,O])}),h(T)},a.iterable&&(p.prototype[Symbol.iterator]=p.prototype.entries);function m(T){if(T.bodyUsed)return Promise.reject(new TypeError("Already read"));T.bodyUsed=!0}function S(T){return new Promise(function(O,I){T.onload=function(){O(T.result)},T.onerror=function(){I(T.error)}})}function v(T){var O=new FileReader,I=S(O);return O.readAsArrayBuffer(T),I}function y(T){var O=new FileReader,I=S(O);return O.readAsText(T),I}function g(T){for(var O=new Uint8Array(T),I=new Array(O.length),M=0;M-1?O:T}function C(T,O){O=O||{};var I=O.body;if(T instanceof C){if(T.bodyUsed)throw new TypeError("Already read");this.url=T.url,this.credentials=T.credentials,O.headers||(this.headers=new p(T.headers)),this.method=T.method,this.mode=T.mode,this.signal=T.signal,!I&&T._bodyInit!=null&&(I=T._bodyInit,T.bodyUsed=!0)}else this.url=String(T);if(this.credentials=O.credentials||this.credentials||"same-origin",(O.headers||!this.headers)&&(this.headers=new p(O.headers)),this.method=x(O.method||this.method||"GET"),this.mode=O.mode||this.mode||null,this.signal=O.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&I)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(I)}C.prototype.clone=function(){return new C(this,{body:this._bodyInit})};function k(T){var O=new FormData;return T.trim().split("&").forEach(function(I){if(I){var M=I.split("="),R=M.shift().replace(/\+/g," "),D=M.join("=").replace(/\+/g," ");O.append(decodeURIComponent(R),decodeURIComponent(D))}}),O}function P(T){var O=new p,I=T.replace(/\r?\n[\t ]+/g," ");return I.split(/\r?\n/).forEach(function(M){var R=M.split(":"),D=R.shift().trim();if(D){var L=R.join(":").trim();O.append(D,L)}}),O}_.call(C.prototype);function A(T,O){O||(O={}),this.type="default",this.status=O.status===void 0?200:O.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in O?O.statusText:"OK",this.headers=new p(O.headers),this.url=O.url||"",this._initBody(T)}_.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},A.error=function(){var T=new A(null,{status:0,statusText:""});return T.type="error",T};var $=[301,302,303,307,308];A.redirect=function(T,O){if($.indexOf(O)===-1)throw new RangeError("Invalid status code");return new A(null,{status:O,headers:{location:T}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(O,I){this.message=O,this.name=I;var M=Error(O);this.stack=M.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function N(T,O){return new Promise(function(I,M){var R=new C(T,O);if(R.signal&&R.signal.aborted)return M(new s.DOMException("Aborted","AbortError"));var D=new XMLHttpRequest;function L(){D.abort()}D.onload=function(){var V={status:D.status,statusText:D.statusText,headers:P(D.getAllResponseHeaders()||"")};V.url="responseURL"in D?D.responseURL:V.headers.get("X-Request-URL");var z="response"in D?D.response:D.responseText;I(new A(z,V))},D.onerror=function(){M(new TypeError("Network request failed"))},D.ontimeout=function(){M(new TypeError("Network request failed"))},D.onabort=function(){M(new s.DOMException("Aborted","AbortError"))},D.open(R.method,R.url,!0),R.credentials==="include"?D.withCredentials=!0:R.credentials==="omit"&&(D.withCredentials=!1),"responseType"in D&&a.blob&&(D.responseType="blob"),R.headers.forEach(function(V,z){D.setRequestHeader(z,V)}),R.signal&&(R.signal.addEventListener("abort",L),D.onreadystatechange=function(){D.readyState===4&&R.signal.removeEventListener("abort",L)}),D.send(typeof R._bodyInit>"u"?null:R._bodyInit)})}return N.polyfill=!0,o.fetch||(o.fetch=N,o.Headers=p,o.Request=C,o.Response=A),s.Headers=p,s.Request=C,s.Response=A,s.fetch=N,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(Dg,Dg.exports)),Dg.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof De<"u"&&De.fetch?n=De.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof GCe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||HCe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(bx,bx.exports);var IB=bx.exports;const MB=Cl(IB),mA=qA({__proto__:null,default:MB},[IB]);function d0(e){"@babel/helpers - typeof";return d0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},d0(e)}var is;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?is=global.fetch:typeof window<"u"&&window.fetch?is=window.fetch:is=fetch);var Rh;RB()&&(typeof global<"u"&&global.XMLHttpRequest?Rh=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Rh=window.XMLHttpRequest));var f0;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?f0=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(f0=window.ActiveXObject));!is&&mA&&!Rh&&!f0&&(is=MB||mA);typeof is!="function"&&(is=void 0);var Sx=function(t,n){if(n&&d0(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},yA=function(t,n,r){is(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},vA=!1,qCe=function(t,n,r,i){t.queryStringParams&&(n=Sx(n,t.queryStringParams));var o=vx({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=vx({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},vA?{}:s);try{yA(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),yA(n,a,i),vA=!0}catch(u){i(u)}}},WCe=function(t,n,r,i){r&&d0(r)==="object"&&(r=Sx("",r).slice(1)),t.queryStringParams&&(n=Sx(n,t.queryStringParams));try{var o;Rh?o=new Rh:o=new f0("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},KCe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},is&&n.indexOf("file:")!==0)return qCe(t,n,r,i);if(RB()||typeof ActiveXObject=="function")return WCe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Ih(e){"@babel/helpers - typeof";return Ih=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ih(e)}function YCe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function bA(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};YCe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return XCe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=vx(i,this.options||{},JCe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=UCe(l),l.then(function(u){if(!u)return s(null,{});var c=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(c,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(c,d){if(d&&(d.status>=500&&d.status<600||!d.status))return r("failed loading "+n+"; status code: "+d.status,!0);if(d&&d.status>=400&&d.status<500)return r("failed loading "+n+"; status code: "+d.status,!1);if(!d&&c&&c.message&&c.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+c.message,!0);if(c)return r(c,!1);var f,h;try{typeof d.data=="string"?f=s.options.parse(d.data,i,o):f=d.data}catch{h="failed parsing "+n+" to json"}if(h)return r(h,!1);r(null,f)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,c=[],d=[];n.forEach(function(f){var h=a.options.addPath;typeof a.options.addPath=="function"&&(h=a.options.addPath(f,r));var p=a.services.interpolator.interpolate(h,{lng:f,ns:r});a.options.request(a.options,p,l,function(m,S){u+=1,c.push(m),d.push(S),u===n.length&&typeof s=="function"&&s(c,d)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(d){var f=o.toResolveHierarchy(d);f.forEach(function(h){l.indexOf(h)<0&&l.push(h)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(c){return u(c)}),l.forEach(function(c){n.allOptions.ns.forEach(function(d){i.read(c,d,"read",null,null,function(f,h){f&&s.warn("loading namespace ".concat(d," for language ").concat(c," failed"),f),!f&&h&&s.log("loaded namespace ".concat(d," for language ").concat(c),h),i.loaded("".concat(c,"|").concat(d),f,h)})})})}}}]),e}();DB.type="backend";nr.use(DB).use(eue).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const Eo=Object.create(null);Eo.open="0";Eo.close="1";Eo.ping="2";Eo.pong="3";Eo.message="4";Eo.upgrade="5";Eo.noop="6";const xm=Object.create(null);Object.keys(Eo).forEach(e=>{xm[Eo[e]]=e});const e5e={type:"error",data:"parser error"},LB=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",$B=typeof ArrayBuffer=="function",FB=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,K3=({type:e,data:t},n,r)=>LB&&t instanceof Blob?n?r(t):SA(t,r):$B&&(t instanceof ArrayBuffer||FB(t))?n?r(t):SA(new Blob([t]),r):r(Eo[e]+(t||"")),SA=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function _A(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let R_;function t5e(e,t){if(LB&&e.data instanceof Blob)return e.data.arrayBuffer().then(_A).then(t);if($B&&(e.data instanceof ArrayBuffer||FB(e.data)))return t(_A(e.data));K3(e,!1,n=>{R_||(R_=new TextEncoder),t(R_.encode(n))})}const wA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Kd=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),c=new Uint8Array(u);for(r=0;r>4,c[i++]=(s&15)<<4|a>>2,c[i++]=(a&3)<<6|l&63;return u},r5e=typeof ArrayBuffer=="function",Y3=(e,t)=>{if(typeof e!="string")return{type:"message",data:BB(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:i5e(e.substring(1),t)}:xm[n]?e.length>1?{type:xm[n],data:e.substring(1)}:{type:xm[n]}:e5e},i5e=(e,t)=>{if(r5e){const n=n5e(e);return BB(n,t)}else return{base64:!0,data:e}},BB=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},jB=String.fromCharCode(30),o5e=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{K3(o,!1,a=>{r[s]=a,++i===n&&t(r.join(jB))})})},s5e=(e,t)=>{const n=e.split(jB),r=[];for(let i=0;i54;return Y3(r?e:I_.decode(e),n)}const VB=4;function sn(e){if(e)return l5e(e)}function l5e(e){for(var t in sn.prototype)e[t]=sn.prototype[t];return e}sn.prototype.on=sn.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};sn.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};sn.prototype.off=sn.prototype.removeListener=sn.prototype.removeAllListeners=sn.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+e],this;for(var r,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function zB(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const u5e=ai.setTimeout,c5e=ai.clearTimeout;function pb(e,t){t.useNativeTimers?(e.setTimeoutFn=u5e.bind(ai),e.clearTimeoutFn=c5e.bind(ai)):(e.setTimeoutFn=ai.setTimeout.bind(ai),e.clearTimeoutFn=ai.clearTimeout.bind(ai))}const d5e=1.33;function f5e(e){return typeof e=="string"?h5e(e):Math.ceil((e.byteLength||e.size)*d5e)}function h5e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function p5e(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function g5e(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function GB(){const e=TA(+new Date);return e!==CA?(xA=0,CA=e):e+"."+TA(xA++)}for(;Lg<_x;Lg++)y5e[UB[Lg]]=Lg;let HB=!1;try{HB=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const v5e=HB;function qB(e){const t=e.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!t||v5e))return new XMLHttpRequest}catch{}if(!t)try{return new ai[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}function b5e(){}const S5e=function(){return new qB({xdomain:!1}).responseType!=null}();class _5e extends X3{constructor(t){if(super(t),this.polling=!1,typeof location<"u"){const r=location.protocol==="https:";let i=location.port;i||(i=r?"443":"80"),this.xd=typeof location<"u"&&t.hostname!==location.hostname||i!==t.port}const n=t&&t.forceBase64;this.supportsBinary=S5e&&!n,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(t){this.readyState="pausing";const n=()=>{this.readyState="paused",t()};if(this.polling||!this.writable){let r=0;this.polling&&(r++,this.once("pollComplete",function(){--r||n()})),this.writable||(r++,this.once("drain",function(){--r||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const n=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};s5e(t,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,o5e(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=GB()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(t,n)}request(t={}){return Object.assign(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new ic(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,o)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(n,r)=>{this.onError("xhr poll error",n,r)}),this.pollXhr=t}}let ic=class Cm extends sn{constructor(t,n){super(),pb(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.data=n.data!==void 0?n.data:null,this.create()}create(){var t;const n=zB(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new qB(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}catch{}if(this.method==="POST")try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{r.setRequestHeader("Accept","*/*")}catch{}(t=this.opts.cookieJar)===null||t===void 0||t.addCookies(r),"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=()=>{var i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.parseCookies(r)),r.readyState===4&&(r.status===200||r.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof r.status=="number"?r.status:0)},0))},r.send(this.data)}catch(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=Cm.requestsCount++,Cm.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=b5e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete Cm.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}};ic.requestsCount=0;ic.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",EA);else if(typeof addEventListener=="function"){const e="onpagehide"in ai?"pagehide":"unload";addEventListener(e,EA,!1)}}function EA(){for(let e in ic.requests)ic.requests.hasOwnProperty(e)&&ic.requests[e].abort()}const Q3=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),$g=ai.WebSocket||ai.MozWebSocket,PA=!0,w5e="arraybuffer",kA=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class x5e extends X3{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),n=this.opts.protocols,r=kA?{}:zB(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=PA&&!kA?n?new $g(t,n):new $g(t):new $g(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||w5e,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let n=0;n{const s={};try{PA&&this.ws.send(o)}catch{}i&&Q3(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=GB()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!$g}}function C5e(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class T5e extends X3{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(t=>{const n=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(a5e(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{C5e(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&Q3(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const E5e={websocket:x5e,webtransport:T5e,polling:_5e},P5e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,k5e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function wx(e){const t=e,n=e.indexOf("["),r=e.indexOf("]");n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let i=P5e.exec(e||""),o={},s=14;for(;s--;)o[k5e[s]]=i[s]||"";return n!=-1&&r!=-1&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=A5e(o,o.path),o.queryKey=O5e(o,o.query),o}function A5e(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&r.splice(0,1),t.slice(-1)=="/"&&r.splice(r.length-1,1),r}function O5e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let WB=class mu extends sn{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=wx(t),n.hostname=t.host,n.secure=t.protocol==="https"||t.protocol==="wss",n.port=t.port,t.query&&(n.query=t.query)):n.host&&(n.hostname=wx(n.host).host),pb(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=g5e(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const n=Object.assign({},this.opts.query);n.EIO=VB,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new E5e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&mu.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else t=this.transports[0];this.readyState="opening";try{t=this.createTransport(t)}catch{this.transports.shift(),this.open();return}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(t){let n=this.createTransport(t),r=!1;mu.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",d=>{if(!r)if(d.type==="pong"&&d.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;mu.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(c(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const f=new Error("probe error");f.transport=n.name,this.emitReserved("upgradeError",f)}}))};function o(){r||(r=!0,c(),n.close(),n=null)}const s=d=>{const f=new Error("probe error: "+d);f.transport=n.name,o(),this.emitReserved("upgradeError",f)};function a(){s("transport closed")}function l(){s("socket closed")}function u(d){n&&d.name!==n.name&&o()}const c=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",mu.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let t=0;const n=this.upgrades.length;for(;t{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let r=0;r0&&n>this.maxPayload)return this.writeBuffer.slice(0,r);n+=2}return this.writeBuffer}write(t,n,r){return this.sendPacket("message",t,n,r),this}send(t,n,r){return this.sendPacket("message",t,n,r),this}sendPacket(t,n,r,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=r,r=null),this.readyState==="closing"||this.readyState==="closed")return;r=r||{},r.compress=r.compress!==!1;const o={type:t,data:n,options:r};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),i&&this.once("flush",i),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),t()},r=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():t()}):this.upgrading?r():t()),this}onError(t){mu.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const n=[];let r=0;const i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,KB=Object.prototype.toString,N5e=typeof Blob=="function"||typeof Blob<"u"&&KB.call(Blob)==="[object BlobConstructor]",D5e=typeof File=="function"||typeof File<"u"&&KB.call(File)==="[object FileConstructor]";function Z3(e){return I5e&&(e instanceof ArrayBuffer||M5e(e))||N5e&&e instanceof Blob||D5e&&e instanceof File}function Tm(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n=0&&e.num{delete this.acks[t];for(let s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(this._queue.shift(),n&&n(null,...o)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||this._queue.length===0)return;const n=this._queue[0];n.pending&&!t||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:He.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case He.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case He.EVENT:case He.BINARY_EVENT:this.onevent(t);break;case He.ACK:case He.BINARY_ACK:this.onack(t);break;case He.DISCONNECT:this.ondisconnect();break;case He.CONNECT_ERROR:this.destroy();const r=new Error(t.data.message);r.data=t.data.data,this.emitReserved("connect_error",r);break}}onevent(t){const n=t.data||[];t.id!=null&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const r of n)r.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const n=this;let r=!1;return function(...i){r||(r=!0,n.packet({type:He.ACK,id:t,data:i}))}}onack(t){const n=this.acks[t.id];typeof n=="function"&&(n.apply(this,t.data),delete this.acks[t.id])}onconnect(t,n){this.id=t,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:He.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const n=this._anyListeners;for(let r=0;r0&&e.jitter<=1?e.jitter:0,this.attempts=0}td.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0};td.prototype.reset=function(){this.attempts=0};td.prototype.setMin=function(e){this.ms=e};td.prototype.setMax=function(e){this.max=e};td.prototype.setJitter=function(e){this.jitter=e};class Tx extends sn{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(n=t,t=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,pb(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((r=n.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new td({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||z5e;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var n;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(n=this.backoff)===null||n===void 0||n.setMin(t),this)}randomizationFactor(t){var n;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(n=this.backoff)===null||n===void 0||n.setJitter(t),this)}reconnectionDelayMax(t){var n;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(n=this.backoff)===null||n===void 0||n.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new WB(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=Pi(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=Pi(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Pi(t,"ping",this.onping.bind(this)),Pi(t,"data",this.ondata.bind(this)),Pi(t,"error",this.onerror.bind(this)),Pi(t,"close",this.onclose.bind(this)),Pi(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(n){this.onclose("parse error",n)}}ondecoded(t){Q3(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r?this._autoConnect&&!r.active&&r.connect():(r=new YB(this,t,n),this.nsps[t]=r),r}_destroy(t){const n=Object.keys(this.nsps);for(const r of n)if(this.nsps[r].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let r=0;rt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):t.onreconnect()}))},n);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const Ld={};function Em(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=R5e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=Ld[i]&&o in Ld[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new Tx(r,t):(Ld[i]||(Ld[i]=new Tx(r,t)),l=Ld[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Em,{Manager:Tx,Socket:YB,io:Em,connect:Em});var G5e=/d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g,H5e=/\b(?:[A-Z]{1,3}[A-Z][TC])(?:[-+]\d{4})?|((?:Australian )?(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time)\b/g,q5e=/[^-+\dA-Z]/g;function W5e(e,t,n,r){if(arguments.length===1&&typeof e=="string"&&!/\d/.test(e)&&(t=e,e=void 0),e=e||e===0?e:new Date,e instanceof Date||(e=new Date(e)),isNaN(e))throw TypeError("Invalid date");t=String(OA[t]||t||OA.default);var i=t.slice(0,4);(i==="UTC:"||i==="GMT:")&&(t=t.slice(4),n=!0,i==="GMT:"&&(r=!0));var o=function(){return n?"getUTC":"get"},s=function(){return e[o()+"Date"]()},a=function(){return e[o()+"Day"]()},l=function(){return e[o()+"Month"]()},u=function(){return e[o()+"FullYear"]()},c=function(){return e[o()+"Hours"]()},d=function(){return e[o()+"Minutes"]()},f=function(){return e[o()+"Seconds"]()},h=function(){return e[o()+"Milliseconds"]()},p=function(){return n?0:e.getTimezoneOffset()},m=function(){return K5e(e)},S=function(){return Y5e(e)},v={d:function(){return s()},dd:function(){return $r(s())},ddd:function(){return Sr.dayNames[a()]},DDD:function(){return RA({y:u(),m:l(),d:s(),_:o(),dayName:Sr.dayNames[a()],short:!0})},dddd:function(){return Sr.dayNames[a()+7]},DDDD:function(){return RA({y:u(),m:l(),d:s(),_:o(),dayName:Sr.dayNames[a()+7]})},m:function(){return l()+1},mm:function(){return $r(l()+1)},mmm:function(){return Sr.monthNames[l()]},mmmm:function(){return Sr.monthNames[l()+12]},yy:function(){return String(u()).slice(2)},yyyy:function(){return $r(u(),4)},h:function(){return c()%12||12},hh:function(){return $r(c()%12||12)},H:function(){return c()},HH:function(){return $r(c())},M:function(){return d()},MM:function(){return $r(d())},s:function(){return f()},ss:function(){return $r(f())},l:function(){return $r(h(),3)},L:function(){return $r(Math.floor(h()/10))},t:function(){return c()<12?Sr.timeNames[0]:Sr.timeNames[1]},tt:function(){return c()<12?Sr.timeNames[2]:Sr.timeNames[3]},T:function(){return c()<12?Sr.timeNames[4]:Sr.timeNames[5]},TT:function(){return c()<12?Sr.timeNames[6]:Sr.timeNames[7]},Z:function(){return r?"GMT":n?"UTC":X5e(e)},o:function(){return(p()>0?"-":"+")+$r(Math.floor(Math.abs(p())/60)*100+Math.abs(p())%60,4)},p:function(){return(p()>0?"-":"+")+$r(Math.floor(Math.abs(p())/60),2)+":"+$r(Math.floor(Math.abs(p())%60),2)},S:function(){return["th","st","nd","rd"][s()%10>3?0:(s()%100-s()%10!=10)*s()%10]},W:function(){return m()},WW:function(){return $r(m())},N:function(){return S()}};return t.replace(G5e,function(y){return y in v?v[y]():y.slice(1,y.length-1)})}var OA={default:"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",paddedShortDate:"mm/dd/yyyy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:sso",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",expiresHeaderFormat:"ddd, dd mmm yyyy HH:MM:ss Z"},Sr={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"],timeNames:["a","p","am","pm","A","P","AM","PM"]},$r=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(t).padStart(n,"0")},RA=function(t){var n=t.y,r=t.m,i=t.d,o=t._,s=t.dayName,a=t.short,l=a===void 0?!1:a,u=new Date,c=new Date;c.setDate(c[o+"Date"]()-1);var d=new Date;d.setDate(d[o+"Date"]()+1);var f=function(){return u[o+"Date"]()},h=function(){return u[o+"Month"]()},p=function(){return u[o+"FullYear"]()},m=function(){return c[o+"Date"]()},S=function(){return c[o+"Month"]()},v=function(){return c[o+"FullYear"]()},y=function(){return d[o+"Date"]()},g=function(){return d[o+"Month"]()},b=function(){return d[o+"FullYear"]()};return p()===n&&h()===r&&f()===i?l?"Tdy":"Today":v()===n&&S()===r&&m()===i?l?"Ysd":"Yesterday":b()===n&&g()===r&&y()===i?l?"Tmw":"Tomorrow":s},K5e=function(t){var n=new Date(t.getFullYear(),t.getMonth(),t.getDate());n.setDate(n.getDate()-(n.getDay()+6)%7+3);var r=new Date(n.getFullYear(),0,4);r.setDate(r.getDate()-(r.getDay()+6)%7+3);var i=n.getTimezoneOffset()-r.getTimezoneOffset();n.setHours(n.getHours()-i);var o=(n-r)/(864e5*7);return 1+Math.floor(o)},Y5e=function(t){var n=t.getDay();return n===0&&(n=7),n},X5e=function(t){return(String(t).match(H5e)||[""]).pop().replace(q5e,"").replace(/GMT\+0000/g,"UTC")};const ri=()=>W5e(new Date,"yyyy-mm-dd'T'HH:MM:ss:lo"),Q5e=e=>{const{socket:t,storeApi:n,log:r}=e,{dispatch:i,getState:o}=n;t.on("connect",()=>{r.debug("Connected"),i(xL({timestamp:ri()}));const{sessionId:s}=o().system;s&&(t.emit("subscribe",{session:s}),i(l3({sessionId:s,timestamp:ri(),boardId:o().gallery.selectedBoardId})))}),t.on("connect_error",s=>{s&&s.message&&s.data==="ERR_UNAUTHENTICATED"&&i(Vt(sa({title:s.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{i(TL({timestamp:ri()}))}),t.on("invocation_started",s=>{i(OL({data:s,timestamp:ri()}))}),t.on("generator_progress",s=>{i(LL({data:s,timestamp:ri()}))}),t.on("invocation_error",s=>{i(ML({data:s,timestamp:ri()}))}),t.on("invocation_complete",s=>{i(u3({data:s,timestamp:ri()}))}),t.on("graph_execution_state_complete",s=>{i(NL({data:s,timestamp:ri()}))}),t.on("model_load_started",s=>{i(FL({data:s,timestamp:ri()}))}),t.on("model_load_completed",s=>{i(BL({data:s,timestamp:ri()}))})},Z5e=Se.child({namespace:"socketio"}),IA=()=>{let e=!1,t=`ws://${window.location.host}`;const n={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const o=yh.get();o&&(t=o.replace(/^https?\:\/\//i,""));const s=mh.get();s&&(n.auth={token:s}),n.transports=["websocket","polling"]}const r=Em(t,n);return o=>s=>a=>{const{dispatch:l,getState:u}=o;if(e||(Q5e({storeApi:o,socket:r,log:Z5e}),e=!0,r.connect()),Un.fulfilled.match(a)){const c=a.payload.id,d=u().system.sessionId;d&&(r.emit("unsubscribe",{session:d}),l(kL({sessionId:d,timestamp:ri()}))),r.emit("subscribe",{session:c}),l(l3({sessionId:c,timestamp:ri(),boardId:u().gallery.selectedBoardId}))}s(a)}},gb=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function nd(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function e4(e){return"nodeType"in e}function vr(e){var t,n;return e?nd(e)?e:e4(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function t4(e){const{Document:t}=vr(e);return e instanceof t}function Ap(e){return nd(e)?!1:e instanceof vr(e).HTMLElement}function J5e(e){return e instanceof vr(e).SVGElement}function rd(e){return e?nd(e)?e.document:e4(e)?t4(e)?e:Ap(e)?e.ownerDocument:document:document:document}const Po=gb?E.useLayoutEffect:E.useEffect;function mb(e){const t=E.useRef(e);return Po(()=>{t.current=e}),E.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=E.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Mh(e,t){t===void 0&&(t=[e]);const n=E.useRef(e);return Po(()=>{n.current!==e&&(n.current=e)},t),n}function Op(e,t){const n=E.useRef();return E.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function h0(e){const t=mb(e),n=E.useRef(null),r=E.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function p0(e){const t=E.useRef();return E.useEffect(()=>{t.current=e},[e]),t.current}let M_={};function yb(e,t){return E.useMemo(()=>{if(t)return t;const n=M_[e]==null?0:M_[e]+1;return M_[e]=n,e+"-"+n},[e,t])}function XB(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const c=o[l];c!=null&&(o[l]=c+e*u)}return o},{...t})}}const oc=XB(1),g0=XB(-1);function t3e(e){return"clientX"in e&&"clientY"in e}function n4(e){if(!e)return!1;const{KeyboardEvent:t}=vr(e.target);return t&&e instanceof t}function n3e(e){if(!e)return!1;const{TouchEvent:t}=vr(e.target);return t&&e instanceof t}function Nh(e){if(n3e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return t3e(e)?{x:e.clientX,y:e.clientY}:null}const Dh=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Dh.Translate.toString(e),Dh.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),MA="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function r3e(e){return e.matches(MA)?e:e.querySelector(MA)}const i3e={display:"none"};function o3e(e){let{id:t,value:n}=e;return ze.createElement("div",{id:t,style:i3e},n)}const s3e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function a3e(e){let{id:t,announcement:n}=e;return ze.createElement("div",{id:t,style:s3e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function l3e(){const[e,t]=E.useState("");return{announce:E.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const QB=E.createContext(null);function u3e(e){const t=E.useContext(QB);E.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function c3e(){const[e]=E.useState(()=>new Set),t=E.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[E.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const d3e={draggable:` - To pick up a draggable item, press the space bar. - While dragging, use the arrow keys to move the item. - Press space again to drop the item in its new position, or press escape to cancel. - `},f3e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function h3e(e){let{announcements:t=f3e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=d3e}=e;const{announce:o,announcement:s}=l3e(),a=yb("DndLiveRegion"),[l,u]=E.useState(!1);if(E.useEffect(()=>{u(!0)},[]),u3e(E.useMemo(()=>({onDragStart(d){let{active:f}=d;o(t.onDragStart({active:f}))},onDragMove(d){let{active:f,over:h}=d;t.onDragMove&&o(t.onDragMove({active:f,over:h}))},onDragOver(d){let{active:f,over:h}=d;o(t.onDragOver({active:f,over:h}))},onDragEnd(d){let{active:f,over:h}=d;o(t.onDragEnd({active:f,over:h}))},onDragCancel(d){let{active:f,over:h}=d;o(t.onDragCancel({active:f,over:h}))}}),[o,t])),!l)return null;const c=ze.createElement(ze.Fragment,null,ze.createElement(o3e,{id:r,value:i.draggable}),ze.createElement(a3e,{id:a,announcement:s}));return n?li.createPortal(c,n):c}var cn;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(cn||(cn={}));function m0(){}function NA(e,t){return E.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function p3e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const Gi=Object.freeze({x:0,y:0});function g3e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function m3e(e,t){const n=Nh(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function y3e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function v3e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function b3e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function S3e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function _3e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=_3e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(v3e)};function x3e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const C3e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&x3e(r,a)){const u=b3e(a).reduce((d,f)=>d+g3e(r,f),0),c=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:c}})}}return i.sort(y3e)};function T3e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function ZB(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Gi}function E3e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const P3e=E3e(1);function JB(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function k3e(e,t,n){const r=JB(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),c=i?e.width/i:e.width,d=o?e.height/o:e.height;return{width:c,height:d,top:u,right:l+c,bottom:u+d,left:l}}const A3e={ignoreTransform:!1};function Rp(e,t){t===void 0&&(t=A3e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:c}=vr(e).getComputedStyle(e);u&&(n=k3e(n,u,c))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function DA(e){return Rp(e,{ignoreTransform:!0})}function O3e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function R3e(e,t){return t===void 0&&(t=vr(e).getComputedStyle(e)),t.position==="fixed"}function I3e(e,t){t===void 0&&(t=vr(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function r4(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(t4(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Ap(i)||J5e(i)||n.includes(i))return n;const o=vr(e).getComputedStyle(i);return i!==e&&I3e(i,o)&&n.push(i),R3e(i,o)?n:r(i.parentNode)}return e?r(e):n}function ej(e){const[t]=r4(e,1);return t??null}function N_(e){return!gb||!e?null:nd(e)?e:e4(e)?t4(e)||e===rd(e).scrollingElement?window:Ap(e)?e:null:null}function tj(e){return nd(e)?e.scrollX:e.scrollLeft}function nj(e){return nd(e)?e.scrollY:e.scrollTop}function Ex(e){return{x:tj(e),y:nj(e)}}var xn;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(xn||(xn={}));function rj(e){return!gb||!e?!1:e===document.scrollingElement}function ij(e){const t={x:0,y:0},n=rj(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const M3e={x:.2,y:.2};function N3e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=M3e);const{isTop:u,isBottom:c,isLeft:d,isRight:f}=ij(e),h={x:0,y:0},p={x:0,y:0},m={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+m.height?(h.y=xn.Backward,p.y=r*Math.abs((t.top+m.height-o)/m.height)):!c&&l>=t.bottom-m.height&&(h.y=xn.Forward,p.y=r*Math.abs((t.bottom-m.height-l)/m.height)),!f&&a>=t.right-m.width?(h.x=xn.Forward,p.x=r*Math.abs((t.right-m.width-a)/m.width)):!d&&s<=t.left+m.width&&(h.x=xn.Backward,p.x=r*Math.abs((t.left+m.width-s)/m.width)),{direction:h,speed:p}}function D3e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function oj(e){return e.reduce((t,n)=>oc(t,Ex(n)),Gi)}function L3e(e){return e.reduce((t,n)=>t+tj(n),0)}function $3e(e){return e.reduce((t,n)=>t+nj(n),0)}function sj(e,t){if(t===void 0&&(t=Rp),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);ej(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const F3e=[["x",["left","right"],L3e],["y",["top","bottom"],$3e]];class i4{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=r4(n),i=oj(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of F3e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),c=i[o]-u;return this.rect[l]+c},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class mf{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function B3e(e){const{EventTarget:t}=vr(e);return e instanceof t?e:rd(e)}function D_(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var ii;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(ii||(ii={}));function LA(e){e.preventDefault()}function j3e(e){e.stopPropagation()}var gt;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(gt||(gt={}));const aj={start:[gt.Space,gt.Enter],cancel:[gt.Esc],end:[gt.Space,gt.Enter]},V3e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case gt.Right:return{...n,x:n.x+25};case gt.Left:return{...n,x:n.x-25};case gt.Down:return{...n,y:n.y+25};case gt.Up:return{...n,y:n.y-25}}};class lj{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new mf(rd(n)),this.windowListeners=new mf(vr(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ii.Resize,this.handleCancel),this.windowListeners.add(ii.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ii.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&sj(r),n(Gi)}handleKeyDown(t){if(n4(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=aj,coordinateGetter:s=V3e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,c=u?{x:u.left,y:u.top}:Gi;this.referenceCoordinates||(this.referenceCoordinates=c);const d=s(t,{active:n,context:r.current,currentCoordinates:c});if(d){const f=g0(d,c),h={x:0,y:0},{scrollableAncestors:p}=r.current;for(const m of p){const S=t.code,{isTop:v,isRight:y,isLeft:g,isBottom:b,maxScroll:_,minScroll:w}=ij(m),x=D3e(m),C={x:Math.min(S===gt.Right?x.right-x.width/2:x.right,Math.max(S===gt.Right?x.left:x.left+x.width/2,d.x)),y:Math.min(S===gt.Down?x.bottom-x.height/2:x.bottom,Math.max(S===gt.Down?x.top:x.top+x.height/2,d.y))},k=S===gt.Right&&!y||S===gt.Left&&!g,P=S===gt.Down&&!b||S===gt.Up&&!v;if(k&&C.x!==d.x){const A=m.scrollLeft+f.x,$=S===gt.Right&&A<=_.x||S===gt.Left&&A>=w.x;if($&&!f.y){m.scrollTo({left:A,behavior:a});return}$?h.x=m.scrollLeft-A:h.x=S===gt.Right?m.scrollLeft-_.x:m.scrollLeft-w.x,h.x&&m.scrollBy({left:-h.x,behavior:a});break}else if(P&&C.y!==d.y){const A=m.scrollTop+f.y,$=S===gt.Down&&A<=_.y||S===gt.Up&&A>=w.y;if($&&!f.x){m.scrollTo({top:A,behavior:a});return}$?h.y=m.scrollTop-A:h.y=S===gt.Down?m.scrollTop-_.y:m.scrollTop-w.y,h.y&&m.scrollBy({top:-h.y,behavior:a});break}}this.handleMove(t,oc(g0(d,this.referenceCoordinates),h))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}lj.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=aj,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function $A(e){return!!(e&&"distance"in e)}function FA(e){return!!(e&&"delay"in e)}class o4{constructor(t,n,r){var i;r===void 0&&(r=B3e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=rd(s),this.documentListeners=new mf(this.document),this.listeners=new mf(r),this.windowListeners=new mf(vr(s)),this.initialCoordinates=(i=Nh(o))!=null?i:Gi,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(ii.Resize,this.handleCancel),this.windowListeners.add(ii.DragStart,LA),this.windowListeners.add(ii.VisibilityChange,this.handleCancel),this.windowListeners.add(ii.ContextMenu,LA),this.documentListeners.add(ii.Keydown,this.handleKeydown),n){if($A(n))return;if(FA(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(ii.Click,j3e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ii.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=Nh(t))!=null?n:Gi,u=g0(i,l);if(!r&&a){if(FA(a))return D_(u,a.tolerance)?this.handleCancel():void 0;if($A(a))return a.tolerance!=null&&D_(u,a.tolerance)?this.handleCancel():D_(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===gt.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const z3e={move:{name:"pointermove"},end:{name:"pointerup"}};class uj extends o4{constructor(t){const{event:n}=t,r=rd(n.target);super(t,z3e,r)}}uj.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const U3e={move:{name:"mousemove"},end:{name:"mouseup"}};var Px;(function(e){e[e.RightClick=2]="RightClick"})(Px||(Px={}));class cj extends o4{constructor(t){super(t,U3e,rd(t.event.target))}}cj.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===Px.RightClick?!1:(r==null||r({event:n}),!0)}}];const L_={move:{name:"touchmove"},end:{name:"touchend"}};class dj extends o4{constructor(t){super(t,L_)}static setup(){return window.addEventListener(L_.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(L_.move.name,t)};function t(){}}}dj.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var yf;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(yf||(yf={}));var y0;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(y0||(y0={}));function G3e(e){let{acceleration:t,activator:n=yf.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=y0.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:c,delta:d,threshold:f}=e;const h=q3e({delta:d,disabled:!o}),[p,m]=e3e(),S=E.useRef({x:0,y:0}),v=E.useRef({x:0,y:0}),y=E.useMemo(()=>{switch(n){case yf.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case yf.DraggableRect:return i}},[n,i,l]),g=E.useRef(null),b=E.useCallback(()=>{const w=g.current;if(!w)return;const x=S.current.x*v.current.x,C=S.current.y*v.current.y;w.scrollBy(x,C)},[]),_=E.useMemo(()=>a===y0.TreeOrder?[...u].reverse():u,[a,u]);E.useEffect(()=>{if(!o||!u.length||!y){m();return}for(const w of _){if((r==null?void 0:r(w))===!1)continue;const x=u.indexOf(w),C=c[x];if(!C)continue;const{direction:k,speed:P}=N3e(w,C,y,t,f);for(const A of["x","y"])h[A][k[A]]||(P[A]=0,k[A]=0);if(P.x>0||P.y>0){m(),g.current=w,p(b,s),S.current=P,v.current=k;return}}S.current={x:0,y:0},v.current={x:0,y:0},m()},[t,b,r,m,o,s,JSON.stringify(y),JSON.stringify(h),p,u,_,c,JSON.stringify(f)])}const H3e={x:{[xn.Backward]:!1,[xn.Forward]:!1},y:{[xn.Backward]:!1,[xn.Forward]:!1}};function q3e(e){let{delta:t,disabled:n}=e;const r=p0(t);return Op(i=>{if(n||!r||!i)return H3e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[xn.Backward]:i.x[xn.Backward]||o.x===-1,[xn.Forward]:i.x[xn.Forward]||o.x===1},y:{[xn.Backward]:i.y[xn.Backward]||o.y===-1,[xn.Forward]:i.y[xn.Forward]||o.y===1}}},[n,t,r])}function W3e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return Op(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function K3e(e,t){return E.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Lh;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Lh||(Lh={}));var kx;(function(e){e.Optimized="optimized"})(kx||(kx={}));const BA=new Map;function Y3e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=E.useState(null),{frequency:a,measure:l,strategy:u}=i,c=E.useRef(e),d=S(),f=Mh(d),h=E.useCallback(function(v){v===void 0&&(v=[]),!f.current&&s(y=>y===null?v:y.concat(v.filter(g=>!y.includes(g))))},[f]),p=E.useRef(null),m=Op(v=>{if(d&&!n)return BA;if(!v||v===BA||c.current!==e||o!=null){const y=new Map;for(let g of e){if(!g)continue;if(o&&o.length>0&&!o.includes(g.id)&&g.rect.current){y.set(g.id,g.rect.current);continue}const b=g.node.current,_=b?new i4(l(b),b):null;g.rect.current=_,_&&y.set(g.id,_)}return y}return v},[e,o,n,d,l]);return E.useEffect(()=>{c.current=e},[e]),E.useEffect(()=>{d||h()},[n,d]),E.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),E.useEffect(()=>{d||typeof a!="number"||p.current!==null||(p.current=setTimeout(()=>{h(),p.current=null},a))},[a,d,h,...r]),{droppableRects:m,measureDroppableContainers:h,measuringScheduled:o!=null};function S(){switch(u){case Lh.Always:return!1;case Lh.BeforeDragging:return n;default:return!n}}}function s4(e,t){return Op(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function X3e(e,t){return s4(e,t)}function Q3e(e){let{callback:t,disabled:n}=e;const r=mb(t),i=E.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return E.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function vb(e){let{callback:t,disabled:n}=e;const r=mb(t),i=E.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return E.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function Z3e(e){return new i4(Rp(e),e)}function jA(e,t,n){t===void 0&&(t=Z3e);const[r,i]=E.useReducer(a,null),o=Q3e({callback(l){if(e)for(const u of l){const{type:c,target:d}=u;if(c==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),s=vb({callback:i});return Po(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const c=t(e);return JSON.stringify(l)===JSON.stringify(c)?l:c}}function J3e(e){const t=s4(e);return ZB(e,t)}const VA=[];function e4e(e){const t=E.useRef(e),n=Op(r=>e?r&&r!==VA&&e&&t.current&&e.parentNode===t.current.parentNode?r:r4(e):VA,[e]);return E.useEffect(()=>{t.current=e},[e]),n}function t4e(e){const[t,n]=E.useState(null),r=E.useRef(e),i=E.useCallback(o=>{const s=N_(o.target);s&&n(a=>a?(a.set(s,Ex(s)),new Map(a)):null)},[]);return E.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=N_(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,Ex(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=N_(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),E.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>oc(o,s),Gi):oj(e):Gi,[e,t])}function zA(e,t){t===void 0&&(t=[]);const n=E.useRef(null);return E.useEffect(()=>{n.current=null},t),E.useEffect(()=>{const r=e!==Gi;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?g0(e,n.current):Gi}function n4e(e){E.useEffect(()=>{if(!gb)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function r4e(e,t){return E.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function fj(e){return E.useMemo(()=>e?O3e(e):null,[e])}const $_=[];function i4e(e,t){t===void 0&&(t=Rp);const[n]=e,r=fj(n?vr(n):null),[i,o]=E.useReducer(a,$_),s=vb({callback:o});return e.length>0&&i===$_&&o(),Po(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>rj(l)?r:new i4(t(l),l)):$_}}function hj(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Ap(t)?t:e}function o4e(e){let{measure:t}=e;const[n,r]=E.useState(null),i=E.useCallback(u=>{for(const{target:c}of u)if(Ap(c)){r(d=>{const f=t(c);return d?{...d,width:f.width,height:f.height}:f});break}},[t]),o=vb({callback:i}),s=E.useCallback(u=>{const c=hj(u);o==null||o.disconnect(),c&&(o==null||o.observe(c)),r(c?t(c):null)},[t,o]),[a,l]=h0(s);return E.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const s4e=[{sensor:uj,options:{}},{sensor:lj,options:{}}],a4e={current:{}},Pm={draggable:{measure:DA},droppable:{measure:DA,strategy:Lh.WhileDragging,frequency:kx.Optimized},dragOverlay:{measure:Rp}};class vf extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const l4e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new vf,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:m0},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Pm,measureDroppableContainers:m0,windowRect:null,measuringScheduled:!1},pj={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:m0,draggableNodes:new Map,over:null,measureDroppableContainers:m0},Ip=E.createContext(pj),gj=E.createContext(l4e);function u4e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new vf}}}function c4e(e,t){switch(t.type){case cn.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case cn.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case cn.DragEnd:case cn.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case cn.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new vf(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case cn.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new vf(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case cn.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new vf(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function d4e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=E.useContext(Ip),o=p0(r),s=p0(n==null?void 0:n.id);return E.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!n4(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const c of[l.current,u.current]){if(!c)continue;const d=r3e(c);if(d){d.focus();break}}})}},[r,t,i,s,o]),null}function mj(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function f4e(e){return E.useMemo(()=>({draggable:{...Pm.draggable,...e==null?void 0:e.draggable},droppable:{...Pm.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Pm.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function h4e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=E.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;Po(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const c=n(u),d=ZB(c,r);if(s||(d.x=0),a||(d.y=0),o.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const f=ej(u);f&&f.scrollBy({top:d.y,left:d.x})}},[t,s,a,r,n])}const bb=E.createContext({...Gi,scaleX:1,scaleY:1});var $s;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})($s||($s={}));const p4e=E.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:c=s4e,collisionDetection:d=w3e,measuring:f,modifiers:h,...p}=t;const m=E.useReducer(c4e,void 0,u4e),[S,v]=m,[y,g]=c3e(),[b,_]=E.useState($s.Uninitialized),w=b===$s.Initialized,{draggable:{active:x,nodes:C,translate:k},droppable:{containers:P}}=S,A=x?C.get(x):null,$=E.useRef({initial:null,translated:null}),N=E.useMemo(()=>{var ct;return x!=null?{id:x,data:(ct=A==null?void 0:A.data)!=null?ct:a4e,rect:$}:null},[x,A]),T=E.useRef(null),[O,I]=E.useState(null),[M,R]=E.useState(null),D=Mh(p,Object.values(p)),L=yb("DndDescribedBy",s),V=E.useMemo(()=>P.getEnabled(),[P]),z=f4e(f),{droppableRects:U,measureDroppableContainers:K,measuringScheduled:W}=Y3e(V,{dragging:w,dependencies:[k.x,k.y],config:z.droppable}),X=W3e(C,x),F=E.useMemo(()=>M?Nh(M):null,[M]),q=No(),Q=X3e(X,z.draggable.measure);h4e({activeNode:x?C.get(x):null,config:q.layoutShiftCompensation,initialRect:Q,measure:z.draggable.measure});const J=jA(X,z.draggable.measure,Q),ne=jA(X?X.parentElement:null),Z=E.useRef({activatorEvent:null,active:null,activeNode:X,collisionRect:null,collisions:null,droppableRects:U,draggableNodes:C,draggingNode:null,draggingNodeRect:null,droppableContainers:P,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ge=P.getNodeFor((n=Z.current.over)==null?void 0:n.id),ae=o4e({measure:z.dragOverlay.measure}),oe=(r=ae.nodeRef.current)!=null?r:X,Te=w?(i=ae.rect)!=null?i:J:null,se=!!(ae.nodeRef.current&&ae.rect),We=J3e(se?null:J),yt=fj(oe?vr(oe):null),Fe=e4e(w?ge??X:null),Be=i4e(Fe),Me=mj(h,{transform:{x:k.x-We.x,y:k.y-We.y,scaleX:1,scaleY:1},activatorEvent:M,active:N,activeNodeRect:J,containerNodeRect:ne,draggingNodeRect:Te,over:Z.current.over,overlayNodeRect:ae.rect,scrollableAncestors:Fe,scrollableAncestorRects:Be,windowRect:yt}),rt=F?oc(F,k):null,xt=t4e(Fe),mn=zA(xt),an=zA(xt,[J]),Ot=oc(Me,mn),ee=Te?P3e(Te,Me):null,_e=N&&ee?d({active:N,collisionRect:ee,droppableRects:U,droppableContainers:V,pointerCoordinates:rt}):null,Ee=S3e(_e,"id"),[Ne,ie]=E.useState(null),he=se?Me:oc(Me,an),Qt=T3e(he,(o=Ne==null?void 0:Ne.rect)!=null?o:null,J),Rt=E.useCallback((ct,Ke)=>{let{sensor:An,options:yn}=Ke;if(T.current==null)return;const Hn=C.get(T.current);if(!Hn)return;const ir=ct.nativeEvent,br=new An({active:T.current,activeNode:Hn,event:ir,options:yn,context:Z,onStart(or){const On=T.current;if(On==null)return;const Do=C.get(On);if(!Do)return;const{onDragStart:_s}=D.current,ws={active:{id:On,data:Do.data,rect:$}};li.unstable_batchedUpdates(()=>{_s==null||_s(ws),_($s.Initializing),v({type:cn.DragStart,initialCoordinates:or,active:On}),y({type:"onDragStart",event:ws})})},onMove(or){v({type:cn.DragMove,coordinates:or})},onEnd:Ki(cn.DragEnd),onCancel:Ki(cn.DragCancel)});li.unstable_batchedUpdates(()=>{I(br),R(ct.nativeEvent)});function Ki(or){return async function(){const{active:Do,collisions:_s,over:ws,scrollAdjustedTranslate:Hl}=Z.current;let Lo=null;if(Do&&Hl){const{cancelDrop:sr}=D.current;Lo={activatorEvent:ir,active:Do,collisions:_s,delta:Hl,over:ws},or===cn.DragEnd&&typeof sr=="function"&&await Promise.resolve(sr(Lo))&&(or=cn.DragCancel)}T.current=null,li.unstable_batchedUpdates(()=>{v({type:or}),_($s.Uninitialized),ie(null),I(null),R(null);const sr=or===cn.DragEnd?"onDragEnd":"onDragCancel";if(Lo){const Na=D.current[sr];Na==null||Na(Lo),y({type:sr,event:Lo})}})}}},[C]),ut=E.useCallback((ct,Ke)=>(An,yn)=>{const Hn=An.nativeEvent,ir=C.get(yn);if(T.current!==null||!ir||Hn.dndKit||Hn.defaultPrevented)return;const br={active:ir};ct(An,Ke.options,br)===!0&&(Hn.dndKit={capturedBy:Ke.sensor},T.current=yn,Rt(An,Ke))},[C,Rt]),rr=K3e(c,ut);n4e(c),Po(()=>{J&&b===$s.Initializing&&_($s.Initialized)},[J,b]),E.useEffect(()=>{const{onDragMove:ct}=D.current,{active:Ke,activatorEvent:An,collisions:yn,over:Hn}=Z.current;if(!Ke||!An)return;const ir={active:Ke,activatorEvent:An,collisions:yn,delta:{x:Ot.x,y:Ot.y},over:Hn};li.unstable_batchedUpdates(()=>{ct==null||ct(ir),y({type:"onDragMove",event:ir})})},[Ot.x,Ot.y]),E.useEffect(()=>{const{active:ct,activatorEvent:Ke,collisions:An,droppableContainers:yn,scrollAdjustedTranslate:Hn}=Z.current;if(!ct||T.current==null||!Ke||!Hn)return;const{onDragOver:ir}=D.current,br=yn.get(Ee),Ki=br&&br.rect.current?{id:br.id,rect:br.rect.current,data:br.data,disabled:br.disabled}:null,or={active:ct,activatorEvent:Ke,collisions:An,delta:{x:Hn.x,y:Hn.y},over:Ki};li.unstable_batchedUpdates(()=>{ie(Ki),ir==null||ir(or),y({type:"onDragOver",event:or})})},[Ee]),Po(()=>{Z.current={activatorEvent:M,active:N,activeNode:X,collisionRect:ee,collisions:_e,droppableRects:U,draggableNodes:C,draggingNode:oe,draggingNodeRect:Te,droppableContainers:P,over:Ne,scrollableAncestors:Fe,scrollAdjustedTranslate:Ot},$.current={initial:Te,translated:ee}},[N,X,_e,ee,C,oe,Te,U,P,Ne,Fe,Ot]),G3e({...q,delta:k,draggingRect:ee,pointerCoordinates:rt,scrollableAncestors:Fe,scrollableAncestorRects:Be});const Mo=E.useMemo(()=>({active:N,activeNode:X,activeNodeRect:J,activatorEvent:M,collisions:_e,containerNodeRect:ne,dragOverlay:ae,draggableNodes:C,droppableContainers:P,droppableRects:U,over:Ne,measureDroppableContainers:K,scrollableAncestors:Fe,scrollableAncestorRects:Be,measuringConfiguration:z,measuringScheduled:W,windowRect:yt}),[N,X,J,M,_e,ne,ae,C,P,U,Ne,K,Fe,Be,z,W,yt]),Qr=E.useMemo(()=>({activatorEvent:M,activators:rr,active:N,activeNodeRect:J,ariaDescribedById:{draggable:L},dispatch:v,draggableNodes:C,over:Ne,measureDroppableContainers:K}),[M,rr,N,J,v,L,C,Ne,K]);return ze.createElement(QB.Provider,{value:g},ze.createElement(Ip.Provider,{value:Qr},ze.createElement(gj.Provider,{value:Mo},ze.createElement(bb.Provider,{value:Qt},u)),ze.createElement(d4e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),ze.createElement(h3e,{...a,hiddenTextDescribedById:L}));function No(){const ct=(O==null?void 0:O.autoScrollEnabled)===!1,Ke=typeof l=="object"?l.enabled===!1:l===!1,An=w&&!ct&&!Ke;return typeof l=="object"?{...l,enabled:An}:{enabled:An}}}),g4e=E.createContext(null),UA="button",m4e="Droppable";function y4e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=yb(m4e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:c,draggableNodes:d,over:f}=E.useContext(Ip),{role:h=UA,roleDescription:p="draggable",tabIndex:m=0}=i??{},S=(l==null?void 0:l.id)===t,v=E.useContext(S?bb:g4e),[y,g]=h0(),[b,_]=h0(),w=r4e(s,t),x=Mh(n);Po(()=>(d.set(t,{id:t,key:o,node:y,activatorNode:b,data:x}),()=>{const k=d.get(t);k&&k.key===o&&d.delete(t)}),[d,t]);const C=E.useMemo(()=>({role:h,tabIndex:m,"aria-disabled":r,"aria-pressed":S&&h===UA?!0:void 0,"aria-roledescription":p,"aria-describedby":c.draggable}),[r,h,m,S,p,c.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:C,isDragging:S,listeners:r?void 0:w,node:y,over:f,setNodeRef:g,setActivatorNodeRef:_,transform:v}}function v4e(){return E.useContext(gj)}const b4e="Droppable",S4e={timeout:25};function _4e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=yb(b4e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=E.useContext(Ip),c=E.useRef({disabled:n}),d=E.useRef(!1),f=E.useRef(null),h=E.useRef(null),{disabled:p,updateMeasurementsFor:m,timeout:S}={...S4e,...i},v=Mh(m??r),y=E.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{u(Array.isArray(v.current)?v.current:[v.current]),h.current=null},S)},[S]),g=vb({callback:y,disabled:p||!s}),b=E.useCallback((C,k)=>{g&&(k&&(g.unobserve(k),d.current=!1),C&&g.observe(C))},[g]),[_,w]=h0(b),x=Mh(t);return E.useEffect(()=>{!g||!_.current||(g.disconnect(),d.current=!1,g.observe(_.current))},[_,g]),Po(()=>(a({type:cn.RegisterDroppable,element:{id:r,key:o,disabled:n,node:_,rect:f,data:x}}),()=>a({type:cn.UnregisterDroppable,key:o,id:r})),[r]),E.useEffect(()=>{n!==c.current.disabled&&(a({type:cn.SetDroppableDisabled,id:r,key:o,disabled:n}),c.current.disabled=n)},[r,o,n,a]),{active:s,rect:f,isOver:(l==null?void 0:l.id)===r,node:_,over:l,setNodeRef:w}}function w4e(e){let{animation:t,children:n}=e;const[r,i]=E.useState(null),[o,s]=E.useState(null),a=p0(n);return!n&&!r&&a&&i(a),Po(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),ze.createElement(ze.Fragment,null,n,r?E.cloneElement(r,{ref:s}):null)}const x4e={x:0,y:0,scaleX:1,scaleY:1};function C4e(e){let{children:t}=e;return ze.createElement(Ip.Provider,{value:pj},ze.createElement(bb.Provider,{value:x4e},t))}const T4e={position:"fixed",touchAction:"none"},E4e=e=>n4(e)?"transform 250ms ease":void 0,P4e=E.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:c=E4e}=e;if(!a)return null;const d=i?u:{...u,scaleX:1,scaleY:1},f={...T4e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Dh.Transform.toString(d),transformOrigin:i&&r?m3e(r,a):void 0,transition:typeof c=="function"?c(r):c,...l};return ze.createElement(n,{className:s,style:f,ref:t},o)}),k4e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},A4e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Dh.Transform.toString(t)},{transform:Dh.Transform.toString(n)}]},O4e={duration:250,easing:"ease",keyframes:A4e,sideEffects:k4e({styles:{active:{opacity:"0"}}})};function R4e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return mb((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=hj(s);if(!u)return;const{transform:c}=vr(s).getComputedStyle(s),d=JB(c);if(!d)return;const f=typeof t=="function"?t:I4e(t);return sj(l,i.draggable.measure),f({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:d})})}function I4e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...O4e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const c={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},d={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},f={x:l.x-c.x,y:l.y-c.y,...d},h=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:f}}),[p]=h,m=h[h.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;const S=r==null?void 0:r({active:s,dragOverlay:a,...u}),v=a.node.animate(h,{duration:t,easing:n,fill:"forwards"});return new Promise(y=>{v.onfinish=()=>{S==null||S(),y()}})}}let GA=0;function M4e(e){return E.useMemo(()=>{if(e!=null)return GA++,GA},[e])}const N4e=ze.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggableNodes:p,droppableContainers:m,dragOverlay:S,over:v,measuringConfiguration:y,scrollableAncestors:g,scrollableAncestorRects:b,windowRect:_}=v4e(),w=E.useContext(bb),x=M4e(d==null?void 0:d.id),C=mj(s,{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggingNodeRect:S.rect,over:v,overlayNodeRect:S.rect,scrollableAncestors:g,scrollableAncestorRects:b,transform:w,windowRect:_}),k=s4(f),P=R4e({config:r,draggableNodes:p,droppableContainers:m,measuringConfiguration:y}),A=k?S.setRef:void 0;return ze.createElement(C4e,null,ze.createElement(w4e,{animation:P},d&&x?ze.createElement(P4e,{key:x,id:d.id,ref:A,as:a,activatorEvent:c,adjustScale:t,className:l,transition:o,rect:k,style:{zIndex:u,...i},transform:C},n):null))}),D4e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=Nh(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},Fg=28,HA={w:Fg,h:Fg,maxW:Fg,maxH:Fg,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},L4e=e=>{if(e.dragData){if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return j.jsx(V5,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:j.jsx(B5,{sx:{...HA},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_NAMES"?j.jsxs(z5,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",...HA},children:[j.jsx(xw,{children:e.dragData.payload.image_names.length}),j.jsx(xw,{size:"sm",children:"Images"})]}):null}},$4e=E.memo(L4e);function nke(e){return _4e(e)}function rke(e){return y4e(e)}const ike=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"MOVE_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_NAMES"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id,a=e.context.boardId;return!(s===a)&&(s?!0:a)}return r!=="IMAGE_NAMES"}default:return!1}};function F4e(e){return j.jsx(p4e,{...e})}const B4e=e=>{const[t,n]=E.useState(null),r=qc(),i=E.useCallback(u=>{console.log("dragStart",u.active.data.current);const c=u.active.data.current;c&&n(c)},[]),o=E.useCallback(u=>{var d;console.log("dragEnd",u.active.data.current),u.active.data.current;const c=(d=u.over)==null?void 0:d.data.current;!t||!c||(r(DF({overData:c,activeData:t})),n(null))},[t,r]),s=NA(cj,{activationConstraint:{distance:10}}),a=NA(dj,{activationConstraint:{distance:10}}),l=p3e(s,a);return j.jsxs(F4e,{onDragStart:i,onDragEnd:o,sensors:l,collisionDetection:C3e,children:[e.children,j.jsx(N4e,{dropAnimation:null,modifiers:[D4e],children:j.jsx(L5,{children:t&&j.jsx(D5.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:j.jsx($4e,{dragData:t})},"overlay-drag-image")})})]})},j4e=E.memo(B4e),V4e=E.createContext({isOpen:!1,onClose:()=>{},onClickAddToBoard:()=>{},handleAddToBoard:()=>{}}),z4e=e=>{const[t,n]=E.useState(),{isOpen:r,onOpen:i,onClose:o}=Cse(),s=qc(),a=E.useCallback(()=>{n(void 0),o()},[o]),l=E.useCallback(c=>{c&&(n(c),i())},[n,i]),u=E.useCallback(c=>{t&&(s(ye.endpoints.addImageToBoard.initiate({imageDTO:t,board_id:c})),a())},[s,a,t]);return j.jsx(V4e.Provider,{value:{isOpen:r,image:t,onClose:a,onClickAddToBoard:l,handleAddToBoard:u},children:e.children})},U4e=E.lazy(()=>sR(()=>import("./App-06ea4e5e.js"),["./App-06ea4e5e.js","./MantineProvider-b5842fc1.js","./App-6125620a.css"],import.meta.url)),G4e=E.lazy(()=>sR(()=>import("./ThemeLocaleProvider-a6269375.js"),["./ThemeLocaleProvider-a6269375.js","./MantineProvider-b5842fc1.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),H4e=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i})=>(E.useEffect(()=>(t&&mh.set(t),e&&yh.set(e),fI(),i&&i.length>0?$2(IA(),...i):$2(IA()),()=>{yh.set(void 0),mh.set(void 0)}),[e,t,i]),j.jsx(ze.StrictMode,{children:j.jsx(oG,{store:LCe,children:j.jsx(ze.Suspense,{fallback:j.jsx(BCe,{}),children:j.jsx(G4e,{children:j.jsx(j4e,{children:j.jsx(z4e,{children:j.jsx(U4e,{config:n,headerComponent:r})})})})})})})),q4e=E.memo(H4e);F_.createRoot(document.getElementById("root")).render(j.jsx(q4e,{}));export{hTe as $,ise as A,Dn as B,oTe as C,L5 as D,D5 as E,Ev as F,Ao as G,yTe as H,Ml as I,TN as J,Fn as K,Zf as L,gy as M,Ou as N,aJ as O,sTe as P,am as Q,Yu as R,Wf as S,uo as T,Cl as U,_G as V,ze as W,vse as X,l6 as Y,qee as Z,Zm as _,UC as a,K6 as a$,lse as a0,vTe as a1,Ol as a2,RN as a3,Tse as a4,STe as a5,bTe as a6,Yae as a7,Wae as a8,wv as a9,tr as aA,Oi as aB,c0e as aC,h0e as aD,Dr as aE,ia as aF,Ji as aG,Y6e as aH,F$ as aI,T0e as aJ,tve as aK,Sme as aL,Nc as aM,Vn as aN,wce as aO,n7 as aP,V5 as aQ,z5 as aR,xw as aS,tke as aT,Kc as aU,cy as aV,IEe as aW,h8e as aX,sD as aY,x6e as aZ,Hv as a_,tp as aa,Tie as ab,yN as ac,$n as ad,vo as ae,Dv as af,uTe as ag,tw as ah,iTe as ai,sm as aj,s6 as ak,kle as al,mse as am,a6 as an,ale as ao,Cle as ap,HS as aq,Ql as ar,qS as as,ug as at,lle as au,_Te as av,cp as aw,_i as ax,Kt as ay,nc as az,YC as b,jTe as b$,vPe as b0,li as b1,d5 as b2,Hj as b3,X4e as b4,K4e as b5,Y4e as b6,De as b7,Q5 as b8,bN as b9,C7 as bA,XZ as bB,b4 as bC,T6 as bD,wN as bE,xN as bF,cue as bG,d6e as bH,c6e as bI,Nv as bJ,W4e as bK,IQ as bL,CTe as bM,TTe as bN,qTe as bO,WTe as bP,ATe as bQ,JTe as bR,PTe as bS,BTe as bT,ITe as bU,mbe as bV,kTe as bW,KTe as bX,ETe as bY,iEe as bZ,OTe as b_,Au as ba,o6e as bb,KL as bc,r6e as bd,i6e as be,oue as bf,t6e as bg,lue as bh,qc as bi,z6e as bj,SN as bk,Jxe as bl,nke as bm,ike as bn,_6e as bo,w6e as bp,p6e as bq,e6e as br,Fw as bs,v6e as bt,n6e as bu,B5 as bv,$Ce as bw,CEe as bx,KZ as by,u5 as bz,Uq as c,ye as c$,RTe as c0,VTe as c1,DTe as c2,UTe as c3,gbe as c4,me as c5,V4e as c6,b6e as c7,Tpe as c8,T6e as c9,REe as cA,P8e as cB,g6e as cC,E6e as cD,zL as cE,eL as cF,Vt as cG,Q4e as cH,Z4e as cI,AEe as cJ,C8e as cK,eke as cL,mCe as cM,x8e as cN,k8e as cO,Tce as cP,bEe as cQ,kEe as cR,E8e as cS,Cce as cT,MEe as cU,v8e as cV,bD as cW,gEe as cX,d8e as cY,hCe as cZ,yEe as c_,tL as ca,sPe as cb,xce as cc,Bw as cd,rke as ce,rTe as cf,h6e as cg,l6e as ch,u6e as ci,ra as cj,rbe as ck,m6e as cl,y6e as cm,s6e as cn,Cse as co,Uy as cp,D8e as cq,wEe as cr,Xo as cs,Ppe as ct,g8e as cu,G6e as cv,WL as cw,YL as cx,R8e as cy,nr as cz,PQ as d,GTe as d$,lr as d0,L8e as d1,V6e as d2,F6e as d3,B6e as d4,j6e as d5,q6e as d6,W6e as d7,QL as d8,B8e as d9,k6e as dA,j8e as dB,so as dC,LTe as dD,_p as dE,pEe as dF,oEe as dG,dEe as dH,HTe as dI,fEe as dJ,hEe as dK,uEe as dL,cEe as dM,lEe as dN,aEe as dO,nEe as dP,eEe as dQ,b8e as dR,Dl as dS,_8e as dT,_w as dU,UN as dV,HN as dW,GN as dX,KN as dY,WN as dZ,wTe as d_,bc as da,H6e as db,c7 as dc,xTe as dd,Se as de,NTe as df,F8e as dg,y8 as dh,I6e as di,f3 as dj,ype as dk,gu as dl,v8 as dm,M6e as dn,N6e as dp,IN as dq,D6e as dr,vpe as ds,L6e as dt,VL as du,A6e as dv,R6e as dw,P6e as dx,$6e as dy,Lxe as dz,KI as e,iPe as e$,zv as e0,K8e as e1,sa as e2,$8e as e3,yce as e4,V8e as e5,SD as e6,xD as e7,io as e8,zTe as e9,xR as eA,u8e as eB,n8e as eC,r8e as eD,i8e as eE,a8e as eF,l8e as eG,Ph as eH,o5 as eI,_F as eJ,c8e as eK,Z6e as eL,tCe as eM,X6e as eN,Q6e as eO,e8e as eP,J6e as eQ,t8e as eR,s8e as eS,Zve as eT,yF as eU,UF as eV,hV as eW,Le as eX,TPe as eY,GPe as eZ,UPe as e_,tEe as ea,J4e as eb,yZ as ec,rEe as ed,X8e as ee,H8e as ef,O8e as eg,G8e as eh,Y8e as ei,A8e as ej,W8e as ek,UQ as el,q8e as em,z8e as en,U8e as eo,aF as ep,vv as eq,Q8e as er,Jy as es,ve as et,Z8e as eu,ox as ev,pZ as ew,MTe as ex,eTe as ey,gR as ez,CI as f,D1e as f$,NPe as f0,qPe as f1,B1e as f2,XEe as f3,SPe as f4,Nd as f5,mPe as f6,QEe as f7,b1 as f8,bPe as f9,FEe as fA,BEe as fB,M8e as fC,N8e as fD,gPe as fE,aPe as fF,PPe as fG,MPe as fH,kPe as fI,rPe as fJ,YEe as fK,jPe as fL,BPe as fM,RPe as fN,APe as fO,OPe as fP,QPe as fQ,$Pe as fR,ZPe as fS,pPe as fT,hPe as fU,qEe as fV,HEe as fW,YPe as fX,oPe as fY,$1e as fZ,N1e as f_,WEe as fa,yPe as fb,KEe as fc,ePe as fd,$Ee as fe,LEe as ff,DEe as fg,HPe as fh,QD as fi,mh as fj,zEe as fk,UEe as fl,GEe as fm,zPe as fn,nPe as fo,tPe as fp,Zfe as fq,VPe as fr,F1e as fs,ZEe as ft,lPe as fu,uPe as fv,zd as fw,EPe as fx,CPe as fy,_Pe as fz,SQ as g,L1e as g0,jEe as g1,mEe as g2,I8e as g3,Sce as g4,sEe as g5,VEe as g6,dPe as g7,XPe as g8,YTe as g9,mTe as gA,XTe as ga,QTe as gb,ZTe as gc,fPe as gd,xEe as ge,EEe as gf,TEe as gg,PEe as gh,NEe as gi,vZ as gj,O1e as gk,f8e as gl,nTe as gm,O7 as gn,fTe as go,$ee as gp,cTe as gq,aTe as gr,dTe as gs,co as gt,lTe as gu,tTe as gv,Gee as gw,Iee as gx,dJ as gy,gTe as gz,MI as h,Jn as i,Uc as j,mv as k,En as l,Jh as m,Qh as n,zi as o,Ta as p,TI as q,ko as r,E as s,xS as t,Ze as u,j as v,Si as w,fi as x,Ae as y,Gn as z}; diff --git a/invokeai/frontend/web/dist/index.html b/invokeai/frontend/web/dist/index.html index 802c1f222f..315bad4316 100644 --- a/invokeai/frontend/web/dist/index.html +++ b/invokeai/frontend/web/dist/index.html @@ -12,7 +12,7 @@ margin: 0; } - + diff --git a/invokeai/frontend/web/dist/locales/en.json b/invokeai/frontend/web/dist/locales/en.json index 59cf87fbda..0640ab9ef0 100644 --- a/invokeai/frontend/web/dist/locales/en.json +++ b/invokeai/frontend/web/dist/locales/en.json @@ -102,8 +102,7 @@ "openInNewTab": "Open in New Tab", "dontAskMeAgain": "Don't ask me again", "areYouSure": "Are you sure?", - "imagePrompt": "Image Prompt", - "clearNodes": "Are you sure you want to clear all nodes?" + "imagePrompt": "Image Prompt" }, "gallery": { "generations": "Generations", @@ -615,6 +614,11 @@ "initialImageNotSetDesc": "Could not load initial image", "nodesSaved": "Nodes Saved", "nodesLoaded": "Nodes Loaded", + "nodesNotValidGraph": "Not a valid InvokeAI Node Graph", + "nodesNotValidJSON": "Not a valid JSON", + "nodesCorruptedGraph": "Cannot load. Graph seems to be corrupted.", + "nodesUnrecognizedTypes": "Cannot load. Graph has unrecognized types", + "nodesBrokenConnections": "Cannot load. Some connections are broken.", "nodesLoadedFailed": "Failed To Load Nodes", "nodesCleared": "Nodes Cleared" }, @@ -700,9 +704,10 @@ }, "nodes": { "reloadSchema": "Reload Schema", - "saveNodes": "Save Nodes", - "loadNodes": "Load Nodes", - "clearNodes": "Clear Nodes", + "saveGraph": "Save Graph", + "loadGraph": "Load Graph (saved from Node Editor) (Do not copy-paste metadata)", + "clearGraph": "Clear Graph", + "clearGraphDesc": "Are you sure you want to clear all nodes?", "zoomInNodes": "Zoom In", "zoomOutNodes": "Zoom Out", "fitViewportNodes": "Fit View", diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 8cef034e98..32e0400a8e 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -1305,7 +1305,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; + [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; }; /** * Edges @@ -1896,10 +1896,10 @@ export type components = { image2?: components["schemas"]["ImageField"]; }; /** - * ImageNSFWBlur + * ImageNSFWBlurInvocation * @description Add blur to NSFW-flagged images */ - ImageNSFWBlur: { + ImageNSFWBlurInvocation: { /** * Id * @description The id of this node. Must be unique among all nodes. @@ -1919,15 +1919,25 @@ export type components = { type?: "img_nsfw"; /** * Image - * @description The image to pass to the NSFW checker + * @description The image to check */ image?: components["schemas"]["ImageField"]; /** - * Active - * @description Whether the NSFW checker is active - * @default true + * Enabled + * @description Whether the NSFW checker is enabled + * @default false */ - active?: boolean; + enabled?: boolean; + /** + * Metadata + * @description Optional core metadata to be written to the image + */ + metadata?: components["schemas"]["CoreMetadata"]; + /** + * Default Enabled + * @default false + */ + DEFAULT_ENABLED?: boolean; }; /** * ImageOutput @@ -2209,6 +2219,56 @@ export type components = { */ thumbnail_url: string; }; + /** + * ImageWatermarkInvocation + * @description Add an invisible watermark to an image + */ + ImageWatermarkInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default img_watermark + * @enum {string} + */ + type?: "img_watermark"; + /** + * Image + * @description The image to check + */ + image?: components["schemas"]["ImageField"]; + /** + * Text + * @description Watermark text + * @default InvokeAI + */ + text?: string; + /** + * Enabled + * @description Whether the invisible watermark is enabled + * @default true + */ + enabled?: boolean; + /** + * Metadata + * @description Optional core metadata to be written to the image + */ + metadata?: components["schemas"]["CoreMetadata"]; + /** + * Default Enabled + * @default true + */ + DEFAULT_ENABLED?: boolean; + }; /** * InfillColorInvocation * @description Infills transparent areas of an image with a solid color @@ -2638,7 +2698,7 @@ export type components = { vae?: components["schemas"]["VaeField"]; /** * Tiled - * @description Decode latents by overlaping tiles(less memory consumption) + * @description Decode latents by overlapping tiles(less memory consumption) * @default false */ tiled?: boolean; @@ -5389,6 +5449,12 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; + /** + * StableDiffusion2ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionXLModelFormat * @description An enumeration. @@ -5401,12 +5467,6 @@ export type components = { * @enum {string} */ StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusion2ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -5517,7 +5577,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { @@ -5554,7 +5614,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { From 4194a0ed9986fd0cd1c1235226229bd5d2f247df Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 24 Jul 2023 09:23:51 -0400 Subject: [PATCH 11/78] tweaks in response to psychedelicious review of PR --- docs/features/OTHER.md | 47 +++------ .../web => app/assets/images}/caution.png | Bin .../controlnet_image_processors.py | 2 +- invokeai/app/invocations/image.py | 21 ++-- invokeai/app/invocations/image_defs.py | 54 ---------- invokeai/app/models/image.py | 98 +++++++++++++----- .../services/board_image_record_storage.py | 2 - .../buildLinearTextToImageGraph.ts | 2 +- 8 files changed, 96 insertions(+), 130 deletions(-) rename invokeai/{assets/web => app/assets/images}/caution.png (100%) delete mode 100644 invokeai/app/invocations/image_defs.py diff --git a/docs/features/OTHER.md b/docs/features/OTHER.md index 2401f644ba..00bfd05e14 100644 --- a/docs/features/OTHER.md +++ b/docs/features/OTHER.md @@ -16,21 +16,24 @@ Output Example: --- -## **Seamless Tiling** +## **Invisible Watermark** -The seamless tiling mode causes generated images to seamlessly tile -with itself creating repetitive wallpaper-like patterns. To use it, -activate the Seamless Tiling option in the Web GUI and then select -whether to tile on the X (horizontal) and/or Y (vertical) axes. Tiling -will then be active for the next set of generations. +In keeping with the principles for responsible AI generation, and to +help AI researchers avoid synthetic images contaminating their +training sets, InvokeAI adds an invisible watermark to each of the +final images it generates. The watermark consists of the text +"InvokeAI" and can be viewed using the +[invisible-watermarks](https://github.com/ShieldMnt/invisible-watermark) +tool. -A nice prompt to test seamless tiling with is: +Watermarking is controlled using the `invisible-watermark` setting in +`invokeai.yaml`. To turn it off, add the following line under the `Features` +category. ``` -pond garden with lotus by claude monet" +invisible_watermark: false ``` ---- ## **Weighted Prompts** @@ -39,34 +42,10 @@ priority to them, by adding `:` to the end of the section you wish to u example consider this prompt: ```bash -tabby cat:0.25 white duck:0.75 hybrid +(tabby cat):0.25 (white duck):0.75 hybrid ``` This will tell the sampler to invest 25% of its effort on the tabby cat aspect of the image and 75% on the white duck aspect (surprisingly, this example actually works). The prompt weights can use any combination of integers and floating point numbers, and they do not need to add up to 1. -## **Thresholding and Perlin Noise Initialization Options** - -Under the Noise section of the Web UI, you will find two options named -Perlin Noise and Noise Threshold. [Perlin -noise](https://en.wikipedia.org/wiki/Perlin_noise) is a type of -structured noise used to simulate terrain and other natural -textures. The slider controls the percentage of perlin noise that will -be mixed into the image at the beginning of generation. Adding a little -perlin noise to a generation will alter the image substantially. - -The noise threshold limits the range of the latent values during -sampling and helps combat the oversharpening seem with higher CFG -scale values. - -For better intuition into what these options do in practice: - -![here is a graphic demonstrating them both](../assets/truncation_comparison.jpg) - -In generating this graphic, perlin noise at initialization was -programmatically varied going across on the diagram by values 0.0, -0.1, 0.2, 0.4, 0.5, 0.6, 0.8, 0.9, 1.0; and the threshold was varied -going down from 0, 1, 2, 3, 4, 5, 10, 20, 100. The other options are -fixed using the prompt "a portrait of a beautiful young lady" a CFG of -20, 100 steps, and a seed of 1950357039. diff --git a/invokeai/assets/web/caution.png b/invokeai/app/assets/images/caution.png similarity index 100% rename from invokeai/assets/web/caution.png rename to invokeai/app/assets/images/caution.png diff --git a/invokeai/app/invocations/controlnet_image_processors.py b/invokeai/app/invocations/controlnet_image_processors.py index b04c45ae20..2087594b7b 100644 --- a/invokeai/app/invocations/controlnet_image_processors.py +++ b/invokeai/app/invocations/controlnet_image_processors.py @@ -20,7 +20,7 @@ from ...backend.model_management import BaseModelType, ModelType from ..models.image import ImageCategory, ImageField, ResourceOrigin from .baseinvocation import (BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext) -from .image_defs import ImageOutput, PILInvocationConfig +from ..models.image import ImageOutput, PILInvocationConfig CONTROLNET_DEFAULT_MODELS = [ ########################################### diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index cf82148483..50f8a4b627 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -4,24 +4,21 @@ from typing import Literal, Optional import numpy from PIL import Image, ImageFilter, ImageOps, ImageChops -from pydantic import BaseModel, Field +from pydantic import Field from pathlib import Path from typing import Union from invokeai.app.invocations.metadata import CoreMetadata from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker from transformers import AutoFeatureExtractor -from ..models.image import ImageCategory, ImageField, ResourceOrigin +from ..models.image import ( + ImageCategory, ImageField, ResourceOrigin, + PILInvocationConfig, ImageOutput, MaskOutput, +) from .baseinvocation import ( BaseInvocation, - BaseInvocationOutput, InvocationContext, InvocationConfig, ) -from .image_defs import ( - PILInvocationConfig, - ImageOutput, - MaskOutput, - ) from ..services.config import InvokeAIAppConfig from invokeai.backend.util.devices import choose_torch_device from invokeai.backend import SilenceWarnings @@ -644,7 +641,7 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): device = choose_torch_device() if self.enabled: - logger.info("Running NSFW checker") + logger.debug("Running NSFW checker") safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') @@ -681,8 +678,8 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): ) def _get_caution_img(self)->Image: - import invokeai.assets.web as web_assets - caution = Image.open(Path(web_assets.__path__[0]) / 'caution.png') + import invokeai.app.assets.images as image_assets + caution = Image.open(Path(image_assets.__path__[0]) / 'caution.png') return caution.resize((caution.width // 2, caution.height //2)) class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): @@ -716,7 +713,7 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): logger = context.services.logger image = context.services.images.get_pil_image(self.image.image_name) if self.enabled: - logger.info("Running invisible watermarker") + logger.debug("Running invisible watermarker") bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) wm = self.text encoder = WatermarkEncoder() diff --git a/invokeai/app/invocations/image_defs.py b/invokeai/app/invocations/image_defs.py deleted file mode 100644 index 8bab09debf..0000000000 --- a/invokeai/app/invocations/image_defs.py +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 2023 Lincoln D. Stein and the InvokeAI Team -""" Common classes used by .image and .controlnet; avoids circular import issues """ - -from pydantic import BaseModel, Field -from typing import Literal -from ..models.image import ImageField -from .baseinvocation import ( - BaseInvocationOutput, - InvocationConfig, -) - -class PILInvocationConfig(BaseModel): - """Helper class to provide all PIL invocations with additional config""" - - class Config(InvocationConfig): - schema_extra = { - "ui": { - "tags": ["PIL", "image"], - }, - } - -class ImageOutput(BaseInvocationOutput): - """Base class for invocations that output an image""" - - # fmt: off - type: Literal["image_output"] = "image_output" - image: ImageField = Field(default=None, description="The output image") - width: int = Field(description="The width of the image in pixels") - height: int = Field(description="The height of the image in pixels") - # fmt: on - - class Config: - schema_extra = {"required": ["type", "image", "width", "height"]} - - -class MaskOutput(BaseInvocationOutput): - """Base class for invocations that output a mask""" - - # fmt: off - type: Literal["mask"] = "mask" - mask: ImageField = Field(default=None, description="The output mask") - width: int = Field(description="The width of the mask in pixels") - height: int = Field(description="The height of the mask in pixels") - # fmt: on - - class Config: - schema_extra = { - "required": [ - "type", - "mask", - ] - } - - diff --git a/invokeai/app/models/image.py b/invokeai/app/models/image.py index 988a3e1447..1183cabc54 100644 --- a/invokeai/app/models/image.py +++ b/invokeai/app/models/image.py @@ -1,9 +1,80 @@ from enum import Enum -from typing import Optional, Tuple +from typing import Optional, Tuple, Literal from pydantic import BaseModel, Field from invokeai.app.util.metaenum import MetaEnum +from ..invocations.baseinvocation import ( + BaseInvocationOutput, + InvocationConfig, +) +class ImageField(BaseModel): + """An image field used for passing image objects between invocations""" + + image_name: Optional[str] = Field(default=None, description="The name of the image") + + class Config: + schema_extra = {"required": ["image_name"]} + + +class ColorField(BaseModel): + r: int = Field(ge=0, le=255, description="The red component") + g: int = Field(ge=0, le=255, description="The green component") + b: int = Field(ge=0, le=255, description="The blue component") + a: int = Field(ge=0, le=255, description="The alpha component") + + def tuple(self) -> Tuple[int, int, int, int]: + return (self.r, self.g, self.b, self.a) + + +class ProgressImage(BaseModel): + """The progress image sent intermittently during processing""" + + width: int = Field(description="The effective width of the image in pixels") + height: int = Field(description="The effective height of the image in pixels") + dataURL: str = Field(description="The image data as a b64 data URL") + +class PILInvocationConfig(BaseModel): + """Helper class to provide all PIL invocations with additional config""" + + class Config(InvocationConfig): + schema_extra = { + "ui": { + "tags": ["PIL", "image"], + }, + } + +class ImageOutput(BaseInvocationOutput): + """Base class for invocations that output an image""" + + # fmt: off + type: Literal["image_output"] = "image_output" + image: ImageField = Field(default=None, description="The output image") + width: int = Field(description="The width of the image in pixels") + height: int = Field(description="The height of the image in pixels") + # fmt: on + + class Config: + schema_extra = {"required": ["type", "image", "width", "height"]} + + +class MaskOutput(BaseInvocationOutput): + """Base class for invocations that output a mask""" + + # fmt: off + type: Literal["mask"] = "mask" + mask: ImageField = Field(default=None, description="The output mask") + width: int = Field(description="The width of the mask in pixels") + height: int = Field(description="The height of the mask in pixels") + # fmt: on + + class Config: + schema_extra = { + "required": [ + "type", + "mask", + ] + } class ResourceOrigin(str, Enum, metaclass=MetaEnum): """The origin of a resource (eg image). @@ -63,28 +134,3 @@ class InvalidImageCategoryException(ValueError): super().__init__(message) -class ImageField(BaseModel): - """An image field used for passing image objects between invocations""" - - image_name: Optional[str] = Field(default=None, description="The name of the image") - - class Config: - schema_extra = {"required": ["image_name"]} - - -class ColorField(BaseModel): - r: int = Field(ge=0, le=255, description="The red component") - g: int = Field(ge=0, le=255, description="The green component") - b: int = Field(ge=0, le=255, description="The blue component") - a: int = Field(ge=0, le=255, description="The alpha component") - - def tuple(self) -> Tuple[int, int, int, int]: - return (self.r, self.g, self.b, self.a) - - -class ProgressImage(BaseModel): - """The progress image sent intermittently during processing""" - - width: int = Field(description="The effective width of the image in pixels") - height: int = Field(description="The effective height of the image in pixels") - dataURL: str = Field(description="The image data as a b64 data URL") diff --git a/invokeai/app/services/board_image_record_storage.py b/invokeai/app/services/board_image_record_storage.py index 693b078589..491972bd32 100644 --- a/invokeai/app/services/board_image_record_storage.py +++ b/invokeai/app/services/board_image_record_storage.py @@ -135,7 +135,6 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): board_id: str, image_name: str, ) -> None: - print(f'DEBUG: board_id={board_id}, image_name={image_name}') try: self._lock.acquire() self._cursor.execute( @@ -147,7 +146,6 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): (board_id, image_name, board_id), ) self._conn.commit() - print('got here') except sqlite3.Error as e: self._conn.rollback() raise e diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index 03bf4d6cd5..f60f372a12 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -48,7 +48,7 @@ export const buildLinearTextToImageGraph = ( } /** -v * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the + * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node * ids. * From cf10852ee307bfd66b74e1b6fb59a54fddaca5aa Mon Sep 17 00:00:00 2001 From: Millun Atluri Date: Tue, 25 Jul 2023 11:23:00 +1000 Subject: [PATCH 12/78] uses v8 actions/stale@v8 --- .github/workflows/close-inactive-issues.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/close-inactive-issues.yml b/.github/workflows/close-inactive-issues.yml index b1e5d2b0b4..9636911b2e 100644 --- a/.github/workflows/close-inactive-issues.yml +++ b/.github/workflows/close-inactive-issues.yml @@ -14,7 +14,7 @@ jobs: issues: write pull-requests: write steps: - - uses: actions/stale@v4.1.1 + - uses: actions/stale@v8 with: days-before-issue-stale: ${{ env.DAYS_BEFORE_ISSUE_STALE }} days-before-issue-close: ${{ env.DAYS_BEFORE_ISSUE_CLOSE }} From efa615a8fd792a157860f6142d329c21ae6476d8 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 24 Jul 2023 22:02:57 -0400 Subject: [PATCH 13/78] refactored code; added watermark and nsfw facilities to app config route --- invokeai/app/api/routers/app_info.py | 32 +++++++- invokeai/app/invocations/image.py | 62 +++------------ invokeai/backend/__init__.py | 1 - invokeai/backend/generator/base.py | 8 -- .../backend/image_util/invisible_watermark.py | 34 ++++++++ invokeai/backend/image_util/safety_checker.py | 63 +++++++++++++++ invokeai/backend/safety_checker.py | 77 ------------------- 7 files changed, 139 insertions(+), 138 deletions(-) create mode 100644 invokeai/backend/image_util/invisible_watermark.py create mode 100644 invokeai/backend/image_util/safety_checker.py delete mode 100644 invokeai/backend/safety_checker.py diff --git a/invokeai/app/api/routers/app_info.py b/invokeai/app/api/routers/app_info.py index e1bfeda4a1..ff8198103b 100644 --- a/invokeai/app/api/routers/app_info.py +++ b/invokeai/app/api/routers/app_info.py @@ -1,9 +1,15 @@ +import typing from enum import Enum from fastapi import Body from fastapi.routing import APIRouter +from pathlib import Path from pydantic import BaseModel, Field from invokeai.backend.image_util.patchmatch import PatchMatch +from invokeai.backend.image_util.safety_checker import SafetyChecker +from invokeai.backend.image_util.invisible_watermark import InvisibleWatermark +from invokeai.app.invocations.upscale import ESRGAN_MODELS + from invokeai.version import __version__ from ..dependencies import ApiDependencies @@ -30,6 +36,10 @@ class AppConfig(BaseModel): """App Config Response""" infill_methods: list[str] = Field(description="List of available infill methods") + upscaling_methods: list[str] = Field(description="List of upscaling methods") + upscaling_models: list[str] = Field(description="List of postprocessing methods") + nsfw_methods: list[str] = Field(description="List of NSFW checking methods") + watermarking_methods: list[str] = Field(description="List of invisible watermark methods") @app_router.get( @@ -46,7 +56,27 @@ async def get_config() -> AppConfig: infill_methods = ['tile'] if PatchMatch.patchmatch_available(): infill_methods.append('patchmatch') - return AppConfig(infill_methods=infill_methods) + + upscaling_methods = ['esrgan'] + upscaling_models = [] + for model in typing.get_args(ESRGAN_MODELS): + upscaling_models.append(str(Path(model).stem)) + + nsfw_methods = [] + if SafetyChecker.safety_checker_available(): + nsfw_methods.append('nsfw_checker') + + watermarking_methods = [] + if InvisibleWatermark.invisible_watermark_available(): + watermarking_methods.append('invisible_watermark') + + return AppConfig( + infill_methods=infill_methods, + upscaling_methods=upscaling_methods, + upscaling_models=upscaling_models, + nsfw_methods=nsfw_methods, + watermarking_methods=watermarking_methods, + ) @app_router.get( "/logging", diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 50f8a4b627..26ee9e391d 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -8,8 +8,6 @@ from pydantic import Field from pathlib import Path from typing import Union from invokeai.app.invocations.metadata import CoreMetadata -from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker -from transformers import AutoFeatureExtractor from ..models.image import ( ImageCategory, ImageField, ResourceOrigin, PILInvocationConfig, ImageOutput, MaskOutput, @@ -19,9 +17,8 @@ from .baseinvocation import ( InvocationContext, InvocationConfig, ) -from ..services.config import InvokeAIAppConfig -from invokeai.backend.util.devices import choose_torch_device -from invokeai.backend import SilenceWarnings +from invokeai.backend.image_util.safety_checker import SafetyChecker +from invokeai.backend.image_util.invisible_watermark import InvisibleWatermark class LoadImageInvocation(BaseInvocation): """Load an image and provide it as output.""" @@ -614,14 +611,12 @@ class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): """Add blur to NSFW-flagged images""" - DEFAULT_ENABLED = InvokeAIAppConfig.get_config().nsfw_checker # fmt: off type: Literal["img_nsfw"] = "img_nsfw" # Inputs image: Optional[ImageField] = Field(default=None, description="The image to check") - enabled: bool = Field(default=DEFAULT_ENABLED, description="Whether the NSFW checker is enabled") metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") # fmt: on @@ -636,30 +631,14 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) - config = context.services.configuration logger = context.services.logger - device = choose_torch_device() - - if self.enabled: - logger.debug("Running NSFW checker") - safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - - features = feature_extractor([image], return_tensors="pt") - features.to(device) - safety_checker.to(device) - - x_image = numpy.array(image).astype(numpy.float32) / 255.0 - x_image = x_image[None].transpose(0, 3, 1, 2) - with SilenceWarnings(): - checked_image, has_nsfw_concept = safety_checker(images=x_image, clip_input=features.pixel_values) - - logger.info(f"NSFW scan result: {has_nsfw_concept[0]}") - if has_nsfw_concept[0]: - blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) - caution = self._get_caution_img() - blurry_image.paste(caution,(0,0),caution) - image = blurry_image + logger.debug("Running NSFW checker") + if SafetyChecker.has_nsfw_concept(image): + logger.info("A potentially NSFW image has been detected. Image will be blurred.") + blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) + caution = self._get_caution_img() + blurry_image.paste(caution,(0,0),caution) + image = blurry_image image_dto = context.services.images.create( image=image, @@ -685,16 +664,12 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): """ Add an invisible watermark to an image """ - # to avoid circular import - DEFAULT_ENABLED = InvokeAIAppConfig.get_config().invisible_watermark - # fmt: off type: Literal["img_watermark"] = "img_watermark" # Inputs image: Optional[ImageField] = Field(default=None, description="The image to check") text: str = Field(default='InvokeAI', description="Watermark text") - enabled: bool = Field(default=DEFAULT_ENABLED, description="Whether the invisible watermark is enabled") metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") # fmt: on @@ -707,25 +682,10 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): } def invoke(self, context: InvocationContext) -> ImageOutput: - import cv2 - from imwatermark import WatermarkEncoder - - logger = context.services.logger image = context.services.images.get_pil_image(self.image.image_name) - if self.enabled: - logger.debug("Running invisible watermarker") - bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) - wm = self.text - encoder = WatermarkEncoder() - encoder.set_watermark('bytes', wm.encode('utf-8')) - bgr_encoded = encoder.encode(bgr, 'dwtDct') - new_image = Image.fromarray( - cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) - ).convert("RGBA") - image = new_image - + new_image = InvisibleWatermark.add_watermark(image, self.text) image_dto = context.services.images.create( - image=image, + image=new_image, image_origin=ResourceOrigin.INTERNAL, image_category=ImageCategory.GENERAL, node_id=self.id, diff --git a/invokeai/backend/__init__.py b/invokeai/backend/__init__.py index cb21f1f9ed..a33b70ceb4 100644 --- a/invokeai/backend/__init__.py +++ b/invokeai/backend/__init__.py @@ -12,5 +12,4 @@ from .model_management import ( ModelManager, ModelCache, BaseModelType, ModelType, SubModelType, ModelInfo ) -from .safety_checker import SafetyChecker from .model_management.models import SilenceWarnings diff --git a/invokeai/backend/generator/base.py b/invokeai/backend/generator/base.py index 99a63d56a3..8af8d399d5 100644 --- a/invokeai/backend/generator/base.py +++ b/invokeai/backend/generator/base.py @@ -28,7 +28,6 @@ from diffusers.schedulers import SchedulerMixin as Scheduler import invokeai.backend.util.logging as logger from ..image_util import configure_model_padding from ..util.util import rand_perlin_2d -from ..safety_checker import SafetyChecker from ..stable_diffusion.diffusers_pipeline import StableDiffusionGeneratorPipeline from ..stable_diffusion.schedulers import SCHEDULER_MAP @@ -52,7 +51,6 @@ class InvokeAIGeneratorBasicParams: v_symmetry_time_pct: Optional[float]=None variation_amount: float = 0.0 with_variations: list=field(default_factory=list) - safety_checker: Optional[SafetyChecker]=None @dataclass class InvokeAIGeneratorOutput: @@ -240,7 +238,6 @@ class Generator: self.seed = None self.latent_channels = model.unet.config.in_channels self.downsampling_factor = downsampling # BUG: should come from model or config - self.safety_checker = None self.perlin = 0.0 self.threshold = 0 self.variation_amount = 0 @@ -277,12 +274,10 @@ class Generator: perlin=0.0, h_symmetry_time_pct=None, v_symmetry_time_pct=None, - safety_checker: SafetyChecker=None, free_gpu_mem: bool = False, **kwargs, ): scope = nullcontext - self.safety_checker = safety_checker self.free_gpu_mem = free_gpu_mem attention_maps_images = [] attention_maps_callback = lambda saver: attention_maps_images.append( @@ -329,9 +324,6 @@ class Generator: # Pass on the seed in case a layer beneath us needs to generate noise on its own. image = make_image(x_T, seed) - if self.safety_checker is not None: - image = self.safety_checker.check(image) - results.append([image, seed, attention_maps_images]) if image_callback is not None: diff --git a/invokeai/backend/image_util/invisible_watermark.py b/invokeai/backend/image_util/invisible_watermark.py new file mode 100644 index 0000000000..0fb72b095d --- /dev/null +++ b/invokeai/backend/image_util/invisible_watermark.py @@ -0,0 +1,34 @@ +""" +This module defines a singleton object, "invisible_watermark" that +wraps the invisible watermark model. It respects the global "invisible_watermark" +configuration variable, that allows the watermarking to be supressed. +""" +import numpy as np +import cv2 +from PIL import Image +from imwatermark import WatermarkEncoder +from invokeai.app.services.config import InvokeAIAppConfig +import invokeai.backend.util.logging as logger +config = InvokeAIAppConfig.get_config() + +class InvisibleWatermark: + """ + Wrapper around InvisibleWatermark module. + """ + + @classmethod + def invisible_watermark_available(self) -> bool: + return config.invisible_watermark + + @classmethod + def add_watermark(self, image: Image, watermark_text:str) -> Image: + if not self.invisible_watermark_available(): + return image + logger.debug(f'Applying invisible watermark "{watermark_text}"') + bgr = cv2.cvtColor(np.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) + encoder = WatermarkEncoder() + encoder.set_watermark('bytes', watermark_text.encode('utf-8')) + bgr_encoded = encoder.encode(bgr, 'dwtDct') + return Image.fromarray( + cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) + ).convert("RGBA") diff --git a/invokeai/backend/image_util/safety_checker.py b/invokeai/backend/image_util/safety_checker.py new file mode 100644 index 0000000000..7a31c9422d --- /dev/null +++ b/invokeai/backend/image_util/safety_checker.py @@ -0,0 +1,63 @@ +""" +This module defines a singleton object, "safety_checker" that +wraps the safety_checker model. It respects the global "nsfw_checker" +configuration variable, that allows the checker to be supressed. +""" +import numpy as np +from PIL import Image +from invokeai.backend import SilenceWarnings +from invokeai.app.services.config import InvokeAIAppConfig +from invokeai.backend.util.devices import choose_torch_device +import invokeai.backend.util.logging as logger +config = InvokeAIAppConfig.get_config() + +CHECKER_PATH = 'core/convert/stable-diffusion-safety-checker' + +class SafetyChecker: + """ + Wrapper around SafetyChecker model. + """ + safety_checker = None + feature_extractor = None + tried_load: bool = False + + @classmethod + def _load_safety_checker(self): + if self.tried_load: + return + + if config.nsfw_checker: + try: + from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker + from transformers import AutoFeatureExtractor + self.safety_checker = StableDiffusionSafetyChecker.from_pretrained( + config.models_path / CHECKER_PATH + ) + self.feature_extractor = AutoFeatureExtractor.from_pretrained( + config.models_path / CHECKER_PATH) + logger.info('NSFW checker initialized') + except Exception as e: + logger.warning(f'Could not load NSFW checker: {str(e)}') + else: + logger.info('NSFW checker loading disabled') + self.tried_load = True + + @classmethod + def safety_checker_available(self) -> bool: + self._load_safety_checker() + return self.safety_checker is not None + + @classmethod + def has_nsfw_concept(self, image: Image) -> bool: + if not self.safety_checker_available(): + return False + + device = choose_torch_device() + features = self.feature_extractor([image], return_tensors="pt") + features.to(device) + self.safety_checker.to(device) + x_image = np.array(image).astype(np.float32) / 255.0 + x_image = x_image[None].transpose(0, 3, 1, 2) + with SilenceWarnings(): + checked_image, has_nsfw_concept = self.safety_checker(images=x_image, clip_input=features.pixel_values) + return has_nsfw_concept[0] diff --git a/invokeai/backend/safety_checker.py b/invokeai/backend/safety_checker.py deleted file mode 100644 index 0a943ad7b6..0000000000 --- a/invokeai/backend/safety_checker.py +++ /dev/null @@ -1,77 +0,0 @@ -''' -SafetyChecker class - checks images against the StabilityAI NSFW filter -and blurs images that contain potential NSFW content. -''' -import diffusers -import numpy as np -import torch -import traceback -from diffusers.pipelines.stable_diffusion.safety_checker import ( - StableDiffusionSafetyChecker, -) -from pathlib import Path -from PIL import Image, ImageFilter -from transformers import AutoFeatureExtractor - -import invokeai.assets.web as web_assets -import invokeai.backend.util.logging as logger -from invokeai.app.services.config import InvokeAIAppConfig -from .util import CPU_DEVICE - -config = InvokeAIAppConfig.get_config() - -class SafetyChecker(object): - CAUTION_IMG = "caution.png" - - def __init__(self, device: torch.device): - path = Path(web_assets.__path__[0]) / self.CAUTION_IMG - caution = Image.open(path) - self.caution_img = caution.resize((caution.width // 2, caution.height // 2)) - self.device = device - - try: - safety_model_id = config.models_path / 'core/convert/stable-diffusion-safety-checker' - feature_extractor_id = config.models_path / 'core/convert/stable-diffusion-safety-checker-extractor' - self.safety_checker = StableDiffusionSafetyChecker.from_pretrained(safety_model_id) - self.safety_feature_extractor = AutoFeatureExtractor.from_pretrained(feature_extractor_id) - except Exception: - logger.error( - "An error was encountered while installing the safety checker:" - ) - print(traceback.format_exc()) - - def check(self, image: Image.Image): - """ - Check provided image against the StabilityAI safety checker and return - - """ - - self.safety_checker.to(self.device) - features = self.safety_feature_extractor([image], return_tensors="pt") - features.to(self.device) - - # unfortunately checker requires the numpy version, so we have to convert back - x_image = np.array(image).astype(np.float32) / 255.0 - x_image = x_image[None].transpose(0, 3, 1, 2) - - diffusers.logging.set_verbosity_error() - checked_image, has_nsfw_concept = self.safety_checker( - images=x_image, clip_input=features.pixel_values - ) - self.safety_checker.to(CPU_DEVICE) # offload - if has_nsfw_concept[0]: - logger.warning( - "An image with potential non-safe content has been detected. A blurred image will be returned." - ) - return self.blur(image) - else: - return image - - def blur(self, input): - blurry = input.filter(filter=ImageFilter.GaussianBlur(radius=32)) - try: - if caution := self.caution_img: - blurry.paste(caution, (0, 0), caution) - except FileNotFoundError: - pass - return blurry From 91e903c8abdfe4d08597b6e3b068795cb31693b3 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 24 Jul 2023 22:17:22 -0400 Subject: [PATCH 14/78] esrgan and its models are now nested in app config route --- invokeai/app/api/routers/app_info.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/invokeai/app/api/routers/app_info.py b/invokeai/app/api/routers/app_info.py index ff8198103b..e37184a77b 100644 --- a/invokeai/app/api/routers/app_info.py +++ b/invokeai/app/api/routers/app_info.py @@ -22,6 +22,10 @@ class LogLevel(int, Enum): Warning = logging.WARNING Error = logging.ERROR Critical = logging.CRITICAL + +class Upscaler(BaseModel): + upscaling_method: str = Field(description="Name of upscaling method") + upscaling_models: list[str] = Field(description="List of upscaling models for this method") app_router = APIRouter(prefix="/v1/app", tags=["app"]) @@ -36,8 +40,7 @@ class AppConfig(BaseModel): """App Config Response""" infill_methods: list[str] = Field(description="List of available infill methods") - upscaling_methods: list[str] = Field(description="List of upscaling methods") - upscaling_models: list[str] = Field(description="List of postprocessing methods") + upscaling_methods: list[Upscaler] = Field(description="List of upscaling methods") nsfw_methods: list[str] = Field(description="List of NSFW checking methods") watermarking_methods: list[str] = Field(description="List of invisible watermark methods") @@ -57,11 +60,15 @@ async def get_config() -> AppConfig: if PatchMatch.patchmatch_available(): infill_methods.append('patchmatch') - upscaling_methods = ['esrgan'] + upscaling_models = [] for model in typing.get_args(ESRGAN_MODELS): upscaling_models.append(str(Path(model).stem)) - + upscaler = Upscaler( + upscaling_method = 'esrgan', + upscaling_models = upscaling_models + ) + nsfw_methods = [] if SafetyChecker.safety_checker_available(): nsfw_methods.append('nsfw_checker') @@ -72,8 +79,7 @@ async def get_config() -> AppConfig: return AppConfig( infill_methods=infill_methods, - upscaling_methods=upscaling_methods, - upscaling_models=upscaling_models, + upscaling_methods=[upscaler], nsfw_methods=nsfw_methods, watermarking_methods=watermarking_methods, ) From 7f5a89f567b79bbdb313872a2c0525f158d55751 Mon Sep 17 00:00:00 2001 From: Mary Hipp Date: Tue, 25 Jul 2023 14:48:12 -0400 Subject: [PATCH 15/78] add option to disable model syncing in UI --- invokeai/frontend/web/src/app/types/invokeai.ts | 3 ++- .../components/fields/ModelInputFieldComponent.tsx | 10 +++++++--- .../Parameters/MainModel/ParamMainModelSelect.tsx | 10 +++++++--- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/invokeai/frontend/web/src/app/types/invokeai.ts b/invokeai/frontend/web/src/app/types/invokeai.ts index be642a6435..b38790e0c9 100644 --- a/invokeai/frontend/web/src/app/types/invokeai.ts +++ b/invokeai/frontend/web/src/app/types/invokeai.ts @@ -95,7 +95,8 @@ export type AppFeature = | 'localization' | 'consoleLogging' | 'dynamicPrompting' - | 'batches'; + | 'batches' + | 'syncModels'; /** * A disable-able Stable Diffusion feature diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/ModelInputFieldComponent.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/ModelInputFieldComponent.tsx index b578298149..625ce0d5ca 100644 --- a/invokeai/frontend/web/src/features/nodes/components/fields/ModelInputFieldComponent.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/fields/ModelInputFieldComponent.tsx @@ -16,6 +16,7 @@ import { memo, useCallback, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { useGetMainModelsQuery } from 'services/api/endpoints/models'; import { FieldComponentProps } from './types'; +import { useFeatureStatus } from '../../../system/hooks/useFeatureStatus'; const ModelInputFieldComponent = ( props: FieldComponentProps @@ -24,6 +25,7 @@ const ModelInputFieldComponent = ( const dispatch = useAppDispatch(); const { t } = useTranslation(); + const isSyncModelEnabled = useFeatureStatus('syncModels').isFeatureEnabled; const { data: mainModels, isLoading } = useGetMainModelsQuery(); @@ -103,9 +105,11 @@ const ModelInputFieldComponent = ( disabled={data.length === 0} onChange={handleChangeModel} /> - - - + {isSyncModelEnabled && ( + + + + )} ); }; diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/MainModel/ParamMainModelSelect.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/MainModel/ParamMainModelSelect.tsx index 75f1bc8bd9..a98d100467 100644 --- a/invokeai/frontend/web/src/features/parameters/components/Parameters/MainModel/ParamMainModelSelect.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/MainModel/ParamMainModelSelect.tsx @@ -15,6 +15,7 @@ import { modelIdToMainModelParam } from 'features/parameters/util/modelIdToMainM import SyncModelsButton from 'features/ui/components/tabs/ModelManager/subpanels/ModelManagerSettingsPanel/SyncModelsButton'; import { forEach } from 'lodash-es'; import { useGetMainModelsQuery } from 'services/api/endpoints/models'; +import { useFeatureStatus } from '../../../../system/hooks/useFeatureStatus'; const selector = createSelector( stateSelector, @@ -29,6 +30,7 @@ const ParamMainModelSelect = () => { const { model } = useAppSelector(selector); const { data: mainModels, isLoading } = useGetMainModelsQuery(); + const isSyncModelEnabled = useFeatureStatus('syncModels').isFeatureEnabled; const data = useMemo(() => { if (!mainModels) { @@ -98,9 +100,11 @@ const ParamMainModelSelect = () => { onChange={handleChangeModel} w="100%" /> - - - + {isSyncModelEnabled && ( + + + + )} ); }; From f4da66aa0fbb38e09a45b831142f7d14f45e1070 Mon Sep 17 00:00:00 2001 From: ymgenesis Date: Tue, 25 Jul 2023 00:19:54 +0200 Subject: [PATCH 16/78] Update NODES.md --- docs/features/NODES.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/features/NODES.md b/docs/features/NODES.md index 1f276d2012..15378ee760 100644 --- a/docs/features/NODES.md +++ b/docs/features/NODES.md @@ -116,49 +116,49 @@ There are several node grouping concepts that can be examined with a narrow focu As described, an initial noise tensor is necessary for the latent diffusion process. As a result, all non-image *ToLatents nodes require a noise node input. -groupsnoise +groupsnoise ### Conditioning As described, conditioning is necessary for the latent diffusion process, whether empty or not. As a result, all non-image *ToLatents nodes require positive and negative conditioning inputs. Conditioning is reliant on a CLIP tokenizer provided by the Model Loader node. -groupsconditioning +groupsconditioning ### Image Space & VAE The ImageToLatents node doesn't require a noise node input, but requires a VAE input to convert the image from image space into latent space. In reverse, the LatentsToImage node requires a VAE input to convert from latent space back into image space. -groupsimgvae +groupsimgvae ### Defined & Random Seeds It is common to want to use both the same seed (for continuity) and random seeds (for variance). To define a seed, simply enter it into the 'Seed' field on a noise node. Conversely, the RandomInt node generates a random integer between 'Low' and 'High', and can be used as input to the 'Seed' edge point on a noise node to randomize your seed. -groupsrandseed +groupsrandseed ### Control Control means to guide the diffusion process to adhere to a defined input or structure. Control can be provided as input to non-image *ToLatents nodes from ControlNet nodes. ControlNet nodes usually require an image processor which converts an input image for use with ControlNet. -groupscontrol +groupscontrol ### LoRA The Lora Loader node lets you load a LoRA (say that ten times fast) and pass it as output to both the Prompt (Compel) and non-image *ToLatents nodes. A model's CLIP tokenizer is passed through the LoRA into Prompt (Compel), where it affects conditioning. A model's U-Net is also passed through the LoRA into a non-image *ToLatents node, where it affects noise prediction. -groupslora +groupslora ### Scaling Use the ImageScale, ScaleLatents, and Upscale nodes to upscale images and/or latent images. The chosen method differs across contexts. However, be aware that latents are already noisy and compressed at their original resolution; scaling an image could produce more detailed results. -groupsallscale +groupsallscale ### Iteration + Multiple Images as Input Iteration is a common concept in any processing, and means to repeat a process with given input. In nodes, you're able to use the Iterate node to iterate through collections usually gathered by the Collect node. The Iterate node has many potential uses, from processing a collection of images one after another, to varying seeds across multiple image generations and more. This screenshot demonstrates how to collect several images and pass them out one at a time. -groupsiterate +groupsiterate ### Multiple Image Generation + Random Seeds @@ -166,7 +166,7 @@ Multiple image generation in the node editor is done using the RandomRange node. To control seeds across generations takes some care. The first row in the screenshot will generate multiple images with different seeds, but using the same RandomRange parameters across invocations will result in the same group of random seeds being used across the images, producing repeatable results. In the second row, adding the RandomInt node as input to RandomRange's 'Seed' edge point will ensure that seeds are varied across all images across invocations, producing varied results. -groupsmultigenseeding +groupsmultigenseeding ## Examples @@ -174,7 +174,7 @@ With our knowledge of node grouping and the diffusion process, let’s break dow ### Basic text-to-image Node Graph -nodest2i +nodest2i - Model Loader: A necessity to generating images (as we’ve read above). We choose our model from the dropdown. It outputs a U-Net, CLIP tokenizer, and VAE. - Prompt (Compel): Another necessity. Two prompt nodes are created. One will output positive conditioning (what you want, ‘dog’), one will output negative (what you don’t want, ‘cat’). They both input the CLIP tokenizer that the Model Loader node outputs. @@ -184,7 +184,7 @@ With our knowledge of node grouping and the diffusion process, let’s break dow ### Basic image-to-image Node Graph -nodesi2i +nodesi2i - Model Loader: Choose a model from the dropdown. - Prompt (Compel): Two prompt nodes. One positive (dog), one negative (dog). Same CLIP inputs from the Model Loader node as before. @@ -195,7 +195,7 @@ With our knowledge of node grouping and the diffusion process, let’s break dow ### Basic ControlNet Node Graph -nodescontrol +nodescontrol - Model Loader - Prompt (Compel) From a4c8d86faa79c4f63256f36e04d066181cbd397e Mon Sep 17 00:00:00 2001 From: ymgenesis Date: Tue, 25 Jul 2023 23:42:20 +0200 Subject: [PATCH 17/78] add NODES.md image assets to docs/assets/nodes/ --- docs/assets/nodes/groupsallscale.png | Bin 0 -> 501370 bytes docs/assets/nodes/groupsconditioning.png | Bin 0 -> 343205 bytes docs/assets/nodes/groupscontrol.png | Bin 0 -> 221808 bytes docs/assets/nodes/groupsimgvae.png | Bin 0 -> 249926 bytes docs/assets/nodes/groupsiterate.png | Bin 0 -> 970576 bytes docs/assets/nodes/groupslora.png | Bin 0 -> 299169 bytes docs/assets/nodes/groupsmultigenseeding.png | Bin 0 -> 429593 bytes docs/assets/nodes/groupsnoise.png | Bin 0 -> 183121 bytes docs/assets/nodes/groupsrandseed.png | Bin 0 -> 221251 bytes docs/assets/nodes/nodescontrol.png | Bin 0 -> 449385 bytes docs/assets/nodes/nodesi2i.png | Bin 0 -> 576407 bytes docs/assets/nodes/nodest2i.png | Bin 0 -> 361909 bytes 12 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/assets/nodes/groupsallscale.png create mode 100644 docs/assets/nodes/groupsconditioning.png create mode 100644 docs/assets/nodes/groupscontrol.png create mode 100644 docs/assets/nodes/groupsimgvae.png create mode 100644 docs/assets/nodes/groupsiterate.png create mode 100644 docs/assets/nodes/groupslora.png create mode 100644 docs/assets/nodes/groupsmultigenseeding.png create mode 100644 docs/assets/nodes/groupsnoise.png create mode 100644 docs/assets/nodes/groupsrandseed.png create mode 100644 docs/assets/nodes/nodescontrol.png create mode 100644 docs/assets/nodes/nodesi2i.png create mode 100644 docs/assets/nodes/nodest2i.png diff --git a/docs/assets/nodes/groupsallscale.png b/docs/assets/nodes/groupsallscale.png new file mode 100644 index 0000000000000000000000000000000000000000..aa67db9a3e499eafab9782507888141508c01aa6 GIT binary patch literal 501370 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

ApbRvxVf{bleMFZ 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

AtWW#)dngP3JTid(h@V9(EZPQG9m={yy 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

`sKg;059w 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 z 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 z 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 wt8akqkWS938V>l8m3%8vE~e-6U&$|_l>h($ literal 0 HcmV?d00001 diff --git a/docs/assets/nodes/groupsconditioning.png b/docs/assets/nodes/groupsconditioning.png new file mode 100644 index 0000000000000000000000000000000000000000..b988cee78ceb9f4bbb9cfd9fc3b3e3347d175079 GIT binary patch literal 343205 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

We}5 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

JXxXMWs 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ℜ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

lW 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 RK?;EXq#nvjcG@%jJ& literal 0 HcmV?d00001 diff --git a/docs/assets/nodes/groupscontrol.png b/docs/assets/nodes/groupscontrol.png new file mode 100644 index 0000000000000000000000000000000000000000..ad696c30874f0d9055f98d72170ee50ad9673b6e GIT binary patch literal 221808 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
aTlG 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¨xPho)IM}FzUAY2BTg&UPywte=D}t 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


FQeM22^L+4z~o!&_tyj=>R;?iguAP=QTxy>%ph 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 literal 0 HcmV?d00001 diff --git a/docs/assets/nodes/groupsimgvae.png b/docs/assets/nodes/groupsimgvae.png new file mode 100644 index 0000000000000000000000000000000000000000..c60bf40d67b0dd6e0640583a1e67aeda5fb4bbbf GIT binary patch literal 249926 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⁡aT<2%<6Y_lKU;Meb*l-fQt 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 Z6YTJw-gbBuw+FzNl$g9|nTSEa{{WA!IjaBw literal 0 HcmV?d00001 diff --git a/docs/assets/nodes/groupsiterate.png b/docs/assets/nodes/groupsiterate.png new file mode 100644 index 0000000000000000000000000000000000000000..9c1cd15bc2fd2b061aa0c1d30adae105ad5034d7 GIT binary patch literal 970576 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 E+LEYhq{tj&Cl|I=I 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