From 141be95c2cb4bd6611f36766e087777a4425a3eb Mon Sep 17 00:00:00 2001 From: Jordan Date: Sat, 18 Feb 2023 05:29:04 -0700 Subject: [PATCH 01/89] initial setup of lora support --- binary_installer/requirements.in | 2 +- ldm/generate.py | 7 ++++ ldm/invoke/generator/diffusers_pipeline.py | 3 ++ ldm/modules/lora_manager.py | 43 ++++++++++++++++++++++ pyproject.toml | 2 +- 5 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 ldm/modules/lora_manager.py diff --git a/binary_installer/requirements.in b/binary_installer/requirements.in index 66e0618f789..5922b6f04e9 100644 --- a/binary_installer/requirements.in +++ b/binary_installer/requirements.in @@ -4,7 +4,7 @@ --trusted-host https://download.pytorch.org accelerate~=0.15 albumentations -diffusers[torch]~=0.11 +diffusers[torch]~=0.13 einops eventlet flask_cors diff --git a/ldm/generate.py b/ldm/generate.py index 1b07122628f..8e21f39f33c 100644 --- a/ldm/generate.py +++ b/ldm/generate.py @@ -457,6 +457,9 @@ def process_image(image,seed): self.sampler_name = sampler_name self._set_sampler() + if self.model.lora_manager: + prompt = self.model.lora_manager.configure_prompt(prompt) + # apply the concepts library to the prompt prompt = self.huggingface_concepts_library.replace_concepts_with_triggers( prompt, @@ -515,6 +518,9 @@ def process_image(image,seed): 'extractor':self.safety_feature_extractor } if self.safety_checker else None + if self.model.lora_manager: + self.model.lora_manager.load_lora() + results = generator.generate( prompt, iterations=iterations, @@ -927,6 +933,7 @@ def set_model(self,model_name): self.model_name = model_name self._set_sampler() # requires self.model_name to be set first + return self.model def load_huggingface_concepts(self, concepts:list[str]): diff --git a/ldm/invoke/generator/diffusers_pipeline.py b/ldm/invoke/generator/diffusers_pipeline.py index 5990eb42a17..82e7f9afc9d 100644 --- a/ldm/invoke/generator/diffusers_pipeline.py +++ b/ldm/invoke/generator/diffusers_pipeline.py @@ -28,6 +28,7 @@ from ldm.invoke.globals import Globals from ldm.models.diffusion.shared_invokeai_diffusion import InvokeAIDiffuserComponent, PostprocessingSettings from ldm.modules.textual_inversion_manager import TextualInversionManager +from ldm.modules.lora_manager import LoraManager from ..offloading import LazilyLoadedModelGroup, FullyLoadedModelGroup, ModelGroup from ...models.diffusion.cross_attention_map_saving import AttentionMapSaver from ...modules.prompt_to_embeddings_converter import WeightedPromptFragmentsToEmbeddingsConverter @@ -292,6 +293,8 @@ def __init__( self.textual_inversion_manager = TextualInversionManager(tokenizer=self.tokenizer, text_encoder=self.text_encoder, full_precision=use_full_precision) + self.lora_manager = LoraManager(self.unet) + # InvokeAI's interface for text embeddings and whatnot self.prompt_fragments_to_embeddings_converter = WeightedPromptFragmentsToEmbeddingsConverter( tokenizer=self.tokenizer, diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py new file mode 100644 index 00000000000..05e3e3d8f04 --- /dev/null +++ b/ldm/modules/lora_manager.py @@ -0,0 +1,43 @@ +import re +from pathlib import Path + +from ldm.invoke.globals import global_models_dir +from diffusers.models import UNet2DConditionModel + +class LoraManager: + + def __init__(self, model: UNet2DConditionModel): + self.weights = {} + self.model = model + self.lora_path = Path(global_models_dir(), 'lora') + self.lora_match = re.compile(r"]+)>") + self.prompt = None + + def apply_lora_model(self, args): + args = args.split(':') + name = args[0] + path = Path(self.lora_path, name) + + if path.is_dir(): + print(f"loading lora: {path}") + self.model.load_attn_procs(path.absolute().as_posix()) + + if len(args) == 2: + self.weights[name] = args[1] + + def load_lora_from_prompt(self, prompt: str): + + for m in re.findall(self.lora_match, prompt): + self.apply_lora_model(m) + + def load_lora(self): + self.load_lora_from_prompt(self.prompt) + + def configure_prompt(self, prompt: str) -> str: + self.prompt = prompt + + def found(m): + return "" + + return re.sub(self.lora_match, found, prompt) + diff --git a/pyproject.toml b/pyproject.toml index f3dfa69b911..f6e428924d6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,7 @@ dependencies = [ "click", "clip_anytorch", # replacing "clip @ https://github.com/openai/CLIP/archive/eaa22acb90a5876642d0507623e859909230a52d.zip", "datasets", - "diffusers[torch]~=0.11", + "diffusers[torch]~=0.13", "dnspython==2.2.1", "einops", "eventlet", From afc8639c2514800e6de5cf906fa691d9f2c28ac9 Mon Sep 17 00:00:00 2001 From: Jordan Date: Sat, 18 Feb 2023 21:07:34 -0700 Subject: [PATCH 02/89] add pending support for safetensors with cloneofsimo/lora --- ldm/invoke/generator/diffusers_pipeline.py | 2 +- ldm/modules/lora_manager.py | 32 +++++++++++++++++----- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/ldm/invoke/generator/diffusers_pipeline.py b/ldm/invoke/generator/diffusers_pipeline.py index 82e7f9afc9d..25291649616 100644 --- a/ldm/invoke/generator/diffusers_pipeline.py +++ b/ldm/invoke/generator/diffusers_pipeline.py @@ -293,7 +293,7 @@ def __init__( self.textual_inversion_manager = TextualInversionManager(tokenizer=self.tokenizer, text_encoder=self.text_encoder, full_precision=use_full_precision) - self.lora_manager = LoraManager(self.unet) + self.lora_manager = LoraManager(self) # InvokeAI's interface for text embeddings and whatnot self.prompt_fragments_to_embeddings_converter = WeightedPromptFragmentsToEmbeddingsConverter( diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 05e3e3d8f04..844c2a554f5 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -1,14 +1,14 @@ import re from pathlib import Path - from ldm.invoke.globals import global_models_dir -from diffusers.models import UNet2DConditionModel +from lora_diffusion import tune_lora_scale, patch_pipe + class LoraManager: - def __init__(self, model: UNet2DConditionModel): + def __init__(self, pipe): self.weights = {} - self.model = model + self.pipe = pipe self.lora_path = Path(global_models_dir(), 'lora') self.lora_match = re.compile(r"]+)>") self.prompt = None @@ -17,13 +17,31 @@ def apply_lora_model(self, args): args = args.split(':') name = args[0] path = Path(self.lora_path, name) + file = Path(path, "pytorch_lora_weights.bin") - if path.is_dir(): + if path.is_dir() and file.is_file(): print(f"loading lora: {path}") - self.model.load_attn_procs(path.absolute().as_posix()) - + self.pipe.unet.load_attn_procs(path.absolute().as_posix()) if len(args) == 2: self.weights[name] = args[1] + else: + # converting and saving in diffusers format + path_file = Path(self.lora_path, f'{name}.ckpt') + if Path(self.lora_path, f'{name}.safetensors').exists(): + path_file = Path(self.lora_path, f'{name}.safetensors') + + if path_file.is_file(): + print(f"loading lora: {path}") + patch_pipe( + self.pipe, + path_file.absolute().as_posix(), + patch_text=True, + patch_ti=True, + patch_unet=True, + ) + if len(args) == 2: + tune_lora_scale(self.pipe.unet, args[1]) + tune_lora_scale(self.pipe.text_encoder, args[1]) def load_lora_from_prompt(self, prompt: str): From 5a7145c48529a11999c226322fd8ecd8780725a9 Mon Sep 17 00:00:00 2001 From: Jordan Date: Sat, 18 Feb 2023 23:18:41 -0700 Subject: [PATCH 03/89] Create convert_lora.py --- scripts/convert_lora.py | 86 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 scripts/convert_lora.py diff --git a/scripts/convert_lora.py b/scripts/convert_lora.py new file mode 100644 index 00000000000..b30890c7569 --- /dev/null +++ b/scripts/convert_lora.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python + +import re +from pathlib import Path +import torch +from safetensors.torch import load_file +import argparse +from diffusers import UNet2DConditionModel +from diffusers.pipelines.stable_diffusion.convert_from_ckpt import create_unet_diffusers_config +from omegaconf import OmegaConf +import requests + + +def parse_args(input_args=None): + parser = argparse.ArgumentParser(description="Convert kohya lora to diffusers") + parser.add_argument( + "--lora_file", + type=str, + default=None, + required=True, + help="Lora file to convert", + ) + parser.add_argument( + "--output_dir", + type=str, + default="models/lora", + help="The output directory where converted lora will be saved", + ) + + if input_args is not None: + args = parser.parse_args(input_args) + else: + args = parser.parse_args() + + return args + + +def replace_key_blocks(match_obj): + k = match_obj.groups() + + return f"{k[0]}.{k[1]}" + + +def replace_key_out(match_obj): + return f"to_out" + + +def replace_key_main(match_obj): + k = match_obj.groups() + block = re.sub(r"(.+)_(\d+)", replace_key_blocks, k[0]) + out = re.sub(r"to_out_(\d+)", replace_key_out, k[4]) + + return f"{block}.attentions.{k[1]}.transformer_blocks.{k[2]}.attn{k[3]}.processor.{out}_lora.{k[5]}" + + +def main(args): + response = requests.get( + "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/configs/stable-diffusion/v1-inference.yaml" + ) + original_config = OmegaConf.create(response.text) + + new_dict = dict() + lora_file = Path(args.lora_file) + + if lora_file.suffix == '.safetensors': + checkpoint = load_file(args.lora_file) + else: + checkpoint = torch.load(args.lora_file) + + for idx, key in enumerate(checkpoint): + check = re.compile(r"lora_unet_(.+)_attentions_(\d+)_transformer_blocks_(\d+)_attn(\d+)_(.+).lora_(.+)") + if check.match(key): + new_key = check.sub(replace_key_main, key) + new_dict[new_key] = checkpoint[key] + + unet_config = create_unet_diffusers_config(original_config, image_size=512) + unet = UNet2DConditionModel(**unet_config) + unet.load_attn_procs(new_dict) + + output_dir = Path(args.output_dir, lora_file.name.split('.')[0]) + unet.save_attn_procs(output_dir.absolute().as_posix()) + + +if __name__ == "__main__": + args = parse_args() + main(args) From 82e4d5aed2ece8ce696a013014c187c910ef7432 Mon Sep 17 00:00:00 2001 From: Jordan Date: Sun, 19 Feb 2023 17:33:24 -0700 Subject: [PATCH 04/89] change to new method to load safetensors --- ldm/modules/lora_manager.py | 92 ++++++++++++++++++++++++++++--------- scripts/convert_lora.py | 86 ---------------------------------- 2 files changed, 71 insertions(+), 107 deletions(-) delete mode 100644 scripts/convert_lora.py diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 844c2a554f5..008864a4b00 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -1,7 +1,68 @@ import re from pathlib import Path from ldm.invoke.globals import global_models_dir -from lora_diffusion import tune_lora_scale, patch_pipe +import torch +from safetensors.torch import load_file + +# modified from script at https://github.com/huggingface/diffusers/pull/2403 +def merge_lora_into_pipe(pipeline, checkpoint_path, alpha): + # load LoRA weight from .safetensors + state_dict = load_file(checkpoint_path, device=torch.cuda.current_device()) + + visited = [] + + # directly update weight in diffusers model + for key in state_dict: + + # it is suggested to print out the key, it usually will be something like below + # "lora_te_text_model_encoder_layers_0_self_attn_k_proj.lora_down.weight" + + # as we have set the alpha beforehand, so just skip + if ".alpha" in key or key in visited: + continue + if "text" in key: + layer_infos = key.split(".")[0].split("lora_te" + "_")[-1].split("_") + curr_layer = pipeline.text_encoder + else: + layer_infos = key.split(".")[0].split("lora_unet" + "_")[-1].split("_") + curr_layer = pipeline.unet + + # find the target layer + temp_name = layer_infos.pop(0) + while len(layer_infos) > -1: + try: + curr_layer = curr_layer.__getattr__(temp_name) + if len(layer_infos) > 0: + temp_name = layer_infos.pop(0) + elif len(layer_infos) == 0: + break + except Exception: + if len(temp_name) > 0: + temp_name += "_" + layer_infos.pop(0) + else: + temp_name = layer_infos.pop(0) + + pair_keys = [] + if "lora_down" in key: + pair_keys.append(key.replace("lora_down", "lora_up")) + pair_keys.append(key) + else: + pair_keys.append(key) + pair_keys.append(key.replace("lora_up", "lora_down")) + + # update weight + if len(state_dict[pair_keys[0]].shape) == 4: + weight_up = state_dict[pair_keys[0]].squeeze(3).squeeze(2).to(torch.float32) + weight_down = state_dict[pair_keys[1]].squeeze(3).squeeze(2).to(torch.float32) + curr_layer.weight.data += float(alpha) * torch.mm(weight_up, weight_down).unsqueeze(2).unsqueeze(3) + else: + weight_up = state_dict[pair_keys[0]].to(torch.float32) + weight_down = state_dict[pair_keys[1]].to(torch.float32) + curr_layer.weight.data += float(alpha) * torch.mm(weight_up, weight_down) + + # update visited list + for item in pair_keys: + visited.append(item) class LoraManager: @@ -16,32 +77,21 @@ def __init__(self, pipe): def apply_lora_model(self, args): args = args.split(':') name = args[0] + path = Path(self.lora_path, name) file = Path(path, "pytorch_lora_weights.bin") if path.is_dir() and file.is_file(): - print(f"loading lora: {path}") + print(f"loading diffusers lora: {path}") self.pipe.unet.load_attn_procs(path.absolute().as_posix()) - if len(args) == 2: - self.weights[name] = args[1] else: - # converting and saving in diffusers format - path_file = Path(self.lora_path, f'{name}.ckpt') - if Path(self.lora_path, f'{name}.safetensors').exists(): - path_file = Path(self.lora_path, f'{name}.safetensors') - - if path_file.is_file(): - print(f"loading lora: {path}") - patch_pipe( - self.pipe, - path_file.absolute().as_posix(), - patch_text=True, - patch_ti=True, - patch_unet=True, - ) - if len(args) == 2: - tune_lora_scale(self.pipe.unet, args[1]) - tune_lora_scale(self.pipe.text_encoder, args[1]) + file = Path(self.lora_path, f"{name}.safetensors") + print(f"loading lora: {file}") + alpha = 1 + if len(args) == 2: + alpha = args[1] + + merge_lora_into_pipe(self.pipe, file.absolute().as_posix(), alpha) def load_lora_from_prompt(self, prompt: str): diff --git a/scripts/convert_lora.py b/scripts/convert_lora.py deleted file mode 100644 index b30890c7569..00000000000 --- a/scripts/convert_lora.py +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/env python - -import re -from pathlib import Path -import torch -from safetensors.torch import load_file -import argparse -from diffusers import UNet2DConditionModel -from diffusers.pipelines.stable_diffusion.convert_from_ckpt import create_unet_diffusers_config -from omegaconf import OmegaConf -import requests - - -def parse_args(input_args=None): - parser = argparse.ArgumentParser(description="Convert kohya lora to diffusers") - parser.add_argument( - "--lora_file", - type=str, - default=None, - required=True, - help="Lora file to convert", - ) - parser.add_argument( - "--output_dir", - type=str, - default="models/lora", - help="The output directory where converted lora will be saved", - ) - - if input_args is not None: - args = parser.parse_args(input_args) - else: - args = parser.parse_args() - - return args - - -def replace_key_blocks(match_obj): - k = match_obj.groups() - - return f"{k[0]}.{k[1]}" - - -def replace_key_out(match_obj): - return f"to_out" - - -def replace_key_main(match_obj): - k = match_obj.groups() - block = re.sub(r"(.+)_(\d+)", replace_key_blocks, k[0]) - out = re.sub(r"to_out_(\d+)", replace_key_out, k[4]) - - return f"{block}.attentions.{k[1]}.transformer_blocks.{k[2]}.attn{k[3]}.processor.{out}_lora.{k[5]}" - - -def main(args): - response = requests.get( - "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/configs/stable-diffusion/v1-inference.yaml" - ) - original_config = OmegaConf.create(response.text) - - new_dict = dict() - lora_file = Path(args.lora_file) - - if lora_file.suffix == '.safetensors': - checkpoint = load_file(args.lora_file) - else: - checkpoint = torch.load(args.lora_file) - - for idx, key in enumerate(checkpoint): - check = re.compile(r"lora_unet_(.+)_attentions_(\d+)_transformer_blocks_(\d+)_attn(\d+)_(.+).lora_(.+)") - if check.match(key): - new_key = check.sub(replace_key_main, key) - new_dict[new_key] = checkpoint[key] - - unet_config = create_unet_diffusers_config(original_config, image_size=512) - unet = UNet2DConditionModel(**unet_config) - unet.load_attn_procs(new_dict) - - output_dir = Path(args.output_dir, lora_file.name.split('.')[0]) - unet.save_attn_procs(output_dir.absolute().as_posix()) - - -if __name__ == "__main__": - args = parse_args() - main(args) From 096e1d3a5d36fc2cc5cf5730e02b5f635d8df04d Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 20 Feb 2023 02:37:44 -0700 Subject: [PATCH 05/89] start of rewrite for add / remove --- ldm/generate.py | 9 ++ ldm/modules/lora_manager.py | 238 ++++++++++++++++++++++++++++-------- 2 files changed, 195 insertions(+), 52 deletions(-) diff --git a/ldm/generate.py b/ldm/generate.py index 8e21f39f33c..28337874586 100644 --- a/ldm/generate.py +++ b/ldm/generate.py @@ -575,7 +575,13 @@ def process_image(image,seed): save_original = save_original, image_callback = image_callback) + if self.model.lora_manager: + self.model.lora_manager.reset_lora() + except KeyboardInterrupt: + if self.model.lora_manager: + self.model.lora_manager.reset_lora() + # Clear the CUDA cache on an exception self.clear_cuda_cache() @@ -584,6 +590,9 @@ def process_image(image,seed): else: raise KeyboardInterrupt except RuntimeError: + if self.model.lora_manager: + self.model.lora_manager.reset_lora() + # Clear the CUDA cache on an exception self.clear_cuda_cache() diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 008864a4b00..16b1d4363c5 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -3,44 +3,99 @@ from ldm.invoke.globals import global_models_dir import torch from safetensors.torch import load_file +from typing import List, Optional, Set, Type -# modified from script at https://github.com/huggingface/diffusers/pull/2403 -def merge_lora_into_pipe(pipeline, checkpoint_path, alpha): - # load LoRA weight from .safetensors - state_dict = load_file(checkpoint_path, device=torch.cuda.current_device()) - visited = [] +class LoraLinear(torch.nn.Module): + def __init__( + self, in_features, out_features, rank=4 + ): + super().__init__() - # directly update weight in diffusers model - for key in state_dict: + if rank > min(in_features, out_features): + raise ValueError( + f"LoRA rank {rank} must be less or equal than {min(in_features, out_features)}" + ) + self.rank = rank + self.linear = torch.nn.Linear(in_features, out_features, bias=False) + self.lora = torch.nn.Linear(in_features, out_features, bias=False) - # it is suggested to print out the key, it usually will be something like below - # "lora_te_text_model_encoder_layers_0_self_attn_k_proj.lora_down.weight" + def forward(self, hidden_states): + orig_dtype = hidden_states.dtype + dtype = self.lora.weight.dtype + return self.lora(hidden_states.to(dtype)).to(orig_dtype) - # as we have set the alpha beforehand, so just skip - if ".alpha" in key or key in visited: - continue - if "text" in key: - layer_infos = key.split(".")[0].split("lora_te" + "_")[-1].split("_") - curr_layer = pipeline.text_encoder + +class LoraManager: + + def __init__(self, pipe): + self.pipe = pipe + self.lora_path = Path(global_models_dir(), 'lora') + self.lora_match = re.compile(r"]+)>") + self.prompt = None + + def _process_lora(self, lora): + processed_lora = { + "unet": [], + "text_encoder": [] + } + visited = [] + for key in lora: + if ".alpha" in key or key in visited: + continue + if "text" in key: + lora_type, pair_keys = self._find_layer( + "text_encoder", + key.split(".")[0].split("lora_te" + "_")[-1].split("_"), + key + ) + else: + lora_type, pair_keys = self._find_layer( + "unet", + key.split(".")[0].split("lora_unet" + "_")[-1].split("_"), + key + ) + + if len(lora[pair_keys[0]].shape) == 4: + weight_up = lora[pair_keys[0]].squeeze(3).squeeze(2).to(torch.float32) + weight_down = lora[pair_keys[1]].squeeze(3).squeeze(2).to(torch.float32) + weight = torch.mm(weight_up, weight_down) + else: + weight_up = lora[pair_keys[0]].to(torch.float32) + weight_down = lora[pair_keys[1]].to(torch.float32) + weight = torch.mm(weight_up, weight_down) + + processed_lora[lora_type].append({ + "weight": weight, + "rank": lora[pair_keys[1]].shape[0] + }) + + for item in pair_keys: + visited.append(item) + + return processed_lora + + def _find_layer(self, lora_type, layer_key, key): + temp_name = layer_key.pop(0) + if lora_type == "unet": + curr_layer = self.pipe.unet + elif lora_type == "text_encoder": + curr_layer = self.pipe.text_encoder else: - layer_infos = key.split(".")[0].split("lora_unet" + "_")[-1].split("_") - curr_layer = pipeline.unet + raise ValueError("Invalid Lora Type") - # find the target layer - temp_name = layer_infos.pop(0) - while len(layer_infos) > -1: + while len(layer_key) > -1: try: curr_layer = curr_layer.__getattr__(temp_name) - if len(layer_infos) > 0: - temp_name = layer_infos.pop(0) - elif len(layer_infos) == 0: + if len(layer_key) > 0: + temp_name = layer_key.pop(0) + elif len(layer_key) == 0: break except Exception: if len(temp_name) > 0: - temp_name += "_" + layer_infos.pop(0) + temp_name += "_" + layer_key.pop(0) else: - temp_name = layer_infos.pop(0) + temp_name = layer_key.pop(0) pair_keys = [] if "lora_down" in key: @@ -50,29 +105,89 @@ def merge_lora_into_pipe(pipeline, checkpoint_path, alpha): pair_keys.append(key) pair_keys.append(key.replace("lora_up", "lora_down")) - # update weight - if len(state_dict[pair_keys[0]].shape) == 4: - weight_up = state_dict[pair_keys[0]].squeeze(3).squeeze(2).to(torch.float32) - weight_down = state_dict[pair_keys[1]].squeeze(3).squeeze(2).to(torch.float32) - curr_layer.weight.data += float(alpha) * torch.mm(weight_up, weight_down).unsqueeze(2).unsqueeze(3) + return lora_type, pair_keys + + @staticmethod + def _find_modules( + model, + ancestor_class: Optional[Set[str]] = None, + search_class: List[Type[torch.nn.Module]] = [torch.nn.Linear], + exclude_children_of: Optional[List[Type[torch.nn.Module]]] = [LoraLinear], + ): + """ + Find all modules of a certain class (or union of classes) that are direct or + indirect descendants of other modules of a certain class (or union of classes). + Returns all matching modules, along with the parent of those modules and the + names they are referenced by. + """ + + # Get the targets we should replace all linears under + if ancestor_class is not None: + ancestors = ( + module + for module in model.modules() + if module.__class__.__name__ in ancestor_class + ) else: - weight_up = state_dict[pair_keys[0]].to(torch.float32) - weight_down = state_dict[pair_keys[1]].to(torch.float32) - curr_layer.weight.data += float(alpha) * torch.mm(weight_up, weight_down) - - # update visited list - for item in pair_keys: - visited.append(item) - - -class LoraManager: - - def __init__(self, pipe): - self.weights = {} - self.pipe = pipe - self.lora_path = Path(global_models_dir(), 'lora') - self.lora_match = re.compile(r"]+)>") - self.prompt = None + # this, incase you want to naively iterate over all modules. + ancestors = [module for module in model.modules()] + + # For each target find every linear_class module that isn't a child of a LoraInjectedLinear + for ancestor in ancestors: + for fullname, module in ancestor.named_modules(): + if any([isinstance(module, _class) for _class in search_class]): + # Find the direct parent if this is a descendant, not a child, of target + *path, name = fullname.split(".") + parent = ancestor + while path: + parent = parent.get_submodule(path.pop(0)) + # Skip this linear if it's a child of a LoraInjectedLinear + if exclude_children_of and any( + [isinstance(parent, _class) for _class in exclude_children_of] + ): + continue + # Otherwise, yield it + yield parent, name, module + + @staticmethod + def patch_module(lora_type, processed_lora, module, name, child_module, scale: float = 1.0): + _source = ( + child_module.linear + if isinstance(child_module, LoraLinear) + else child_module + ) + + lora = processed_lora[lora_type].pop(0) + + weight = _source.weight + _tmp = LoraLinear( + in_features=_source.in_features, + out_features=_source.out_features, + rank=lora["rank"] + ) + _tmp.linear.weight = weight + + # switch the module + module._modules[name] = _tmp + module._modules[name].lora.weight.data = lora["weight"] + module._modules[name].to(weight.device) + + def patch_lora(self, lora_path, scale: float = 1.0): + lora = load_file(lora_path) + processed_lora = self._process_lora(lora) + for module, name, child_module in self._find_modules( + self.pipe.unet, + {"CrossAttention", "Attention", "GEGLU"}, + search_class=[torch.nn.Linear, LoraLinear] + ): + self.patch_module("unet", processed_lora, module, name, child_module, scale) + + for module, name, child_module in self._find_modules( + self.pipe.text_encoder, + {"CLIPAttention"}, + search_class=[torch.nn.Linear, LoraLinear] + ): + self.patch_module("text_encoder", processed_lora, module, name, child_module, scale) def apply_lora_model(self, args): args = args.split(':') @@ -87,14 +202,34 @@ def apply_lora_model(self, args): else: file = Path(self.lora_path, f"{name}.safetensors") print(f"loading lora: {file}") - alpha = 1 + scale = 1.0 if len(args) == 2: - alpha = args[1] + scale = float(args[1]) - merge_lora_into_pipe(self.pipe, file.absolute().as_posix(), alpha) + self.patch_lora(file.absolute().as_posix(), scale) - def load_lora_from_prompt(self, prompt: str): + @staticmethod + def remove_lora(child_module): + _source = child_module.linear + weight = _source.weight + + _tmp = torch.nn.Linear(_source.in_features, _source.out_features) + _tmp.weight = weight + + def reset_lora(self): + for module, name, child_module in self._find_modules( + self.pipe.unet, + search_class=[LoraLinear] + ): + self.remove_lora(child_module) + for module, name, child_module in self._find_modules( + self.pipe.text_encoder, + search_class=[LoraLinear] + ): + self.remove_lora(child_module) + + def load_lora_from_prompt(self, prompt: str): for m in re.findall(self.lora_match, prompt): self.apply_lora_model(m) @@ -108,4 +243,3 @@ def found(m): return "" return re.sub(self.lora_match, found, prompt) - From e744774171f7f58c8e626c441521d25053cd50de Mon Sep 17 00:00:00 2001 From: neecapp Date: Mon, 20 Feb 2023 13:49:16 -0500 Subject: [PATCH 06/89] Rewrite lora manager with hooks --- ldm/modules/lora_manager.py | 387 +++++++++++++++++------------------- 1 file changed, 186 insertions(+), 201 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 16b1d4363c5..8b3784a1e7e 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -1,241 +1,217 @@ import re from pathlib import Path from ldm.invoke.globals import global_models_dir -import torch +from ldm.invoke.devices import choose_torch_device from safetensors.torch import load_file -from typing import List, Optional, Set, Type +import torch +from torch.utils.hooks import RemovableHandle + +class LoRALayer: + lora_name: str + name: str + scale: float + up: torch.nn.Module + down: torch.nn.Module + + def __init__(self, lora_name: str, name: str, rank=4, alpha=1.0): + self.lora_name = lora_name + self.name = name + self.scale = alpha / rank + + +class LoRA: + name: str + layers: dict[str, LoRALayer] + multiplier: float + + def __init__(self, name: str, multiplier=1.0): + self.name = name + self.layers = {} + self.multiplier = multiplier + + +UNET_TARGET_REPLACE_MODULE = ["Transformer2DModel", "Attention"] +TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPMLP"] +LORA_PREFIX_UNET = 'lora_unet' +LORA_PREFIX_TEXT_ENCODER = 'lora_te' + + +def load_lora( + name: str, + path_file: Path, + device: torch.device, + dtype: torch.dtype, + text_modules: dict[str, torch.nn.Module], + unet_modules: dict[str, torch.nn.Module], + multiplier=1.0 +): + print(f">> Loading lora {name} from {path_file}") + if path_file.suffix == '.safetensors': + checkpoint = load_file(path_file, device='cpu') + else: + checkpoint = torch.load(path_file, map_location='cpu') + + lora = LoRA(name, multiplier) + + alpha = None + rank = None + for key, value in checkpoint.items(): + stem, leaf = key.split(".", 1) + + if leaf.endswith("alpha"): + if alpha is None: + alpha = value.item() + continue + + if stem.startswith(LORA_PREFIX_TEXT_ENCODER): + # text encoder layer + wrapped = text_modules.get(stem, None) + if wrapped is None: + print(f">> Missing layer: {stem}") + continue + elif stem.startswith(LORA_PREFIX_UNET): + # unet layer + wrapped = unet_modules.get(stem, None) + if wrapped is None: + print(f">> Missing layer: {stem}") + continue + else: + continue + + if rank is None and leaf == 'lora_down.weight' and len(value.size()) == 2: + rank = value.shape[0] + if wrapped is None: + continue -class LoraLinear(torch.nn.Module): - def __init__( - self, in_features, out_features, rank=4 - ): - super().__init__() + layer = lora.layers.get(stem, None) + if layer is None: + layer = LoRALayer(name, stem, rank, alpha) + lora.layers[stem] = layer - if rank > min(in_features, out_features): - raise ValueError( - f"LoRA rank {rank} must be less or equal than {min(in_features, out_features)}" - ) - self.rank = rank - self.linear = torch.nn.Linear(in_features, out_features, bias=False) - self.lora = torch.nn.Linear(in_features, out_features, bias=False) + if type(wrapped) == torch.nn.Linear: + module = torch.nn.Linear( + value.shape[1], value.shape[0], bias=False) + elif type(wrapped) == torch.nn.Conv2d: + module = torch.nn.Conv2d( + value.shape[1], value.shape[0], (1, 1), bias=False) + else: + print( + f">> Encoundered unknown lora layer module in {name}: {type(value).__name__}") + + with torch.no_grad(): + module.weight.copy_(value) + + module.to(device=device, dtype=dtype) + + if leaf == "lora_up.weight": + layer.up = module + elif leaf == "lora_down.weight": + layer.down = module + else: + print(f">> Encountered unknown layer in lora {name}: {key}") + continue - def forward(self, hidden_states): - orig_dtype = hidden_states.dtype - dtype = self.lora.weight.dtype - return self.lora(hidden_states.to(dtype)).to(orig_dtype) + return lora class LoraManager: + loras: dict[str, LoRA] + applied_loras: dict[str, LoRA] + hooks: list[RemovableHandle] def __init__(self, pipe): - self.pipe = pipe self.lora_path = Path(global_models_dir(), 'lora') self.lora_match = re.compile(r"]+)>") - self.prompt = None - - def _process_lora(self, lora): - processed_lora = { - "unet": [], - "text_encoder": [] - } - visited = [] - for key in lora: - if ".alpha" in key or key in visited: - continue - if "text" in key: - lora_type, pair_keys = self._find_layer( - "text_encoder", - key.split(".")[0].split("lora_te" + "_")[-1].split("_"), - key - ) - else: - lora_type, pair_keys = self._find_layer( - "unet", - key.split(".")[0].split("lora_unet" + "_")[-1].split("_"), - key - ) - - if len(lora[pair_keys[0]].shape) == 4: - weight_up = lora[pair_keys[0]].squeeze(3).squeeze(2).to(torch.float32) - weight_down = lora[pair_keys[1]].squeeze(3).squeeze(2).to(torch.float32) - weight = torch.mm(weight_up, weight_down) - else: - weight_up = lora[pair_keys[0]].to(torch.float32) - weight_down = lora[pair_keys[1]].to(torch.float32) - weight = torch.mm(weight_up, weight_down) - - processed_lora[lora_type].append({ - "weight": weight, - "rank": lora[pair_keys[1]].shape[0] - }) - - for item in pair_keys: - visited.append(item) - - return processed_lora - - def _find_layer(self, lora_type, layer_key, key): - temp_name = layer_key.pop(0) - if lora_type == "unet": - curr_layer = self.pipe.unet - elif lora_type == "text_encoder": - curr_layer = self.pipe.text_encoder - else: - raise ValueError("Invalid Lora Type") - - while len(layer_key) > -1: - try: - curr_layer = curr_layer.__getattr__(temp_name) - if len(layer_key) > 0: - temp_name = layer_key.pop(0) - elif len(layer_key) == 0: - break - except Exception: - if len(temp_name) > 0: - temp_name += "_" + layer_key.pop(0) - else: - temp_name = layer_key.pop(0) - - pair_keys = [] - if "lora_down" in key: - pair_keys.append(key.replace("lora_down", "lora_up")) - pair_keys.append(key) - else: - pair_keys.append(key) - pair_keys.append(key.replace("lora_up", "lora_down")) - - return lora_type, pair_keys - - @staticmethod - def _find_modules( - model, - ancestor_class: Optional[Set[str]] = None, - search_class: List[Type[torch.nn.Module]] = [torch.nn.Linear], - exclude_children_of: Optional[List[Type[torch.nn.Module]]] = [LoraLinear], - ): - """ - Find all modules of a certain class (or union of classes) that are direct or - indirect descendants of other modules of a certain class (or union of classes). - Returns all matching modules, along with the parent of those modules and the - names they are referenced by. - """ - - # Get the targets we should replace all linears under - if ancestor_class is not None: - ancestors = ( - module - for module in model.modules() - if module.__class__.__name__ in ancestor_class - ) - else: - # this, incase you want to naively iterate over all modules. - ancestors = [module for module in model.modules()] - - # For each target find every linear_class module that isn't a child of a LoraInjectedLinear - for ancestor in ancestors: - for fullname, module in ancestor.named_modules(): - if any([isinstance(module, _class) for _class in search_class]): - # Find the direct parent if this is a descendant, not a child, of target - *path, name = fullname.split(".") - parent = ancestor - while path: - parent = parent.get_submodule(path.pop(0)) - # Skip this linear if it's a child of a LoraInjectedLinear - if exclude_children_of and any( - [isinstance(parent, _class) for _class in exclude_children_of] - ): - continue - # Otherwise, yield it - yield parent, name, module - - @staticmethod - def patch_module(lora_type, processed_lora, module, name, child_module, scale: float = 1.0): - _source = ( - child_module.linear - if isinstance(child_module, LoraLinear) - else child_module - ) - - lora = processed_lora[lora_type].pop(0) - - weight = _source.weight - _tmp = LoraLinear( - in_features=_source.in_features, - out_features=_source.out_features, - rank=lora["rank"] - ) - _tmp.linear.weight = weight - - # switch the module - module._modules[name] = _tmp - module._modules[name].lora.weight.data = lora["weight"] - module._modules[name].to(weight.device) - - def patch_lora(self, lora_path, scale: float = 1.0): - lora = load_file(lora_path) - processed_lora = self._process_lora(lora) - for module, name, child_module in self._find_modules( - self.pipe.unet, - {"CrossAttention", "Attention", "GEGLU"}, - search_class=[torch.nn.Linear, LoraLinear] - ): - self.patch_module("unet", processed_lora, module, name, child_module, scale) - - for module, name, child_module in self._find_modules( - self.pipe.text_encoder, - {"CLIPAttention"}, - search_class=[torch.nn.Linear, LoraLinear] - ): - self.patch_module("text_encoder", processed_lora, module, name, child_module, scale) + self.unet = pipe.unet + self.text_encoder = pipe.text_encoder + self.device = torch.device(choose_torch_device()) + self.dtype = pipe.unet.dtype + self.loras = {} + self.applied_loras = {} + self.hooks = [] + + def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) -> dict[str, torch.nn.Module]: + mapping = {} + for name, module in root_module.named_modules(): + if module.__class__.__name__ in target_replace_modules: + for child_name, child_module in module.named_modules(): + if child_module.__class__.__name__ == "Linear" or (child_module.__class__.__name__ == "Conv2d" and child_module.kernel_size == (1, 1)): + # It's easier to just convert into "lora" naming instead of trying to inverse map from "lora" -> diffuser + lora_name = prefix + '.' + name + '.' + child_name + lora_name = lora_name.replace('.', '_') + mapping[lora_name] = child_module + self.hooks.append(child_module.register_forward_hook(self._make_hook(lora_name))) + return mapping + + self.text_modules = find_modules( + LORA_PREFIX_TEXT_ENCODER, self.text_encoder, TEXT_ENCODER_TARGET_REPLACE_MODULE) + self.unet_modules = find_modules( + LORA_PREFIX_UNET, self.unet, UNET_TARGET_REPLACE_MODULE) + + def _make_hook(self, layer: str): + def hook(module, input, output): + for lora in self.applied_loras.values(): + lora_layer = lora.layers.get(layer, None) + if lora_layer is None: + continue + output = output + \ + lora_layer.up(lora_layer.down(*input)) * \ + lora.multiplier * lora_layer.scale + return output + return hook + + def _load_lora(self, name, path_file, multiplier=1.0): + lora = load_lora(name, path_file, self.device, self.dtype, + self.text_modules, self.unet_modules, multiplier) + self.loras[name] = lora + self.applied_loras[name] = lora + return lora def apply_lora_model(self, args): args = args.split(':') name = args[0] - path = Path(self.lora_path, name) file = Path(path, "pytorch_lora_weights.bin") if path.is_dir() and file.is_file(): - print(f"loading diffusers lora: {path}") + print(f"loading lora: {path}") self.pipe.unet.load_attn_procs(path.absolute().as_posix()) - else: - file = Path(self.lora_path, f"{name}.safetensors") - print(f"loading lora: {file}") - scale = 1.0 if len(args) == 2: - scale = float(args[1]) - - self.patch_lora(file.absolute().as_posix(), scale) + self.weights[name] = float(args[1]) + else: + # converting and saving in diffusers format + path_file = Path(self.lora_path, f'{name}.ckpt') + if Path(self.lora_path, f'{name}.safetensors').exists(): + path_file = Path(self.lora_path, f'{name}.safetensors') - @staticmethod - def remove_lora(child_module): - _source = child_module.linear - weight = _source.weight + if not path_file.exists(): + print(f">> Unable to find lora: {name}") + return - _tmp = torch.nn.Linear(_source.in_features, _source.out_features) - _tmp.weight = weight + mult = 1.0 + if len(args) == 2: + mult = float(args[1]) - def reset_lora(self): - for module, name, child_module in self._find_modules( - self.pipe.unet, - search_class=[LoraLinear] - ): - self.remove_lora(child_module) + lora = self.loras.get(name, None) + if lora is None: + lora = self._load_lora(name, path_file, mult) - for module, name, child_module in self._find_modules( - self.pipe.text_encoder, - search_class=[LoraLinear] - ): - self.remove_lora(child_module) + lora.multiplier = mult + self.applied_loras[name] = lora def load_lora_from_prompt(self, prompt: str): + self.applied_loras = {} for m in re.findall(self.lora_match, prompt): self.apply_lora_model(m) def load_lora(self): self.load_lora_from_prompt(self.prompt) + def unload_lora(self, lora_name: str): + if lora_name in self.loras: + del self.loras[lora_name] + def configure_prompt(self, prompt: str) -> str: self.prompt = prompt @@ -243,3 +219,12 @@ def found(m): return "" return re.sub(self.lora_match, found, prompt) + + def __del__(self): + del self.loras + del self.applied_loras + del self.text_modules + del self.unet_modules + for cb in self.hooks: + cb.remove() + del self.hooks From 8f6e43d4a460c90db9c42dd8c01c53e51afe6a9e Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 20 Feb 2023 14:06:58 -0700 Subject: [PATCH 07/89] code cleanup --- ldm/generate.py | 9 --------- ldm/modules/lora_manager.py | 9 +++++---- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/ldm/generate.py b/ldm/generate.py index 28337874586..8e21f39f33c 100644 --- a/ldm/generate.py +++ b/ldm/generate.py @@ -575,13 +575,7 @@ def process_image(image,seed): save_original = save_original, image_callback = image_callback) - if self.model.lora_manager: - self.model.lora_manager.reset_lora() - except KeyboardInterrupt: - if self.model.lora_manager: - self.model.lora_manager.reset_lora() - # Clear the CUDA cache on an exception self.clear_cuda_cache() @@ -590,9 +584,6 @@ def process_image(image,seed): else: raise KeyboardInterrupt except RuntimeError: - if self.model.lora_manager: - self.model.lora_manager.reset_lora() - # Clear the CUDA cache on an exception self.clear_cuda_cache() diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 8b3784a1e7e..d21e179a8b8 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -6,6 +6,7 @@ import torch from torch.utils.hooks import RemovableHandle + class LoRALayer: lora_name: str name: str @@ -47,7 +48,7 @@ def load_lora( ): print(f">> Loading lora {name} from {path_file}") if path_file.suffix == '.safetensors': - checkpoint = load_file(path_file, device='cpu') + checkpoint = load_file(path_file.absolute().as_posix(), device='cpu') else: checkpoint = torch.load(path_file, map_location='cpu') @@ -98,6 +99,7 @@ def load_lora( else: print( f">> Encoundered unknown lora layer module in {name}: {type(value).__name__}") + continue with torch.no_grad(): module.weight.copy_(value) @@ -130,6 +132,7 @@ def __init__(self, pipe): self.loras = {} self.applied_loras = {} self.hooks = [] + self.prompt = "" def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) -> dict[str, torch.nn.Module]: mapping = {} @@ -176,9 +179,7 @@ def apply_lora_model(self, args): if path.is_dir() and file.is_file(): print(f"loading lora: {path}") - self.pipe.unet.load_attn_procs(path.absolute().as_posix()) - if len(args) == 2: - self.weights[name] = float(args[1]) + self.unet.load_attn_procs(path.absolute().as_posix()) else: # converting and saving in diffusers format path_file = Path(self.lora_path, f'{name}.ckpt') From 3c6c18b34c745647d1675c5335af8eb3108c9a1b Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 20 Feb 2023 15:19:29 -0700 Subject: [PATCH 08/89] cleanup suggestions from neecap --- ldm/modules/lora_manager.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index d21e179a8b8..d33d15d961e 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -168,7 +168,6 @@ def _load_lora(self, name, path_file, multiplier=1.0): lora = load_lora(name, path_file, self.device, self.dtype, self.text_modules, self.unet_modules, multiplier) self.loras[name] = lora - self.applied_loras[name] = lora return lora def apply_lora_model(self, args): @@ -202,7 +201,6 @@ def apply_lora_model(self, args): self.applied_loras[name] = lora def load_lora_from_prompt(self, prompt: str): - self.applied_loras = {} for m in re.findall(self.lora_match, prompt): self.apply_lora_model(m) @@ -214,6 +212,7 @@ def unload_lora(self, lora_name: str): del self.loras[lora_name] def configure_prompt(self, prompt: str) -> str: + self.applied_loras = {} self.prompt = prompt def found(m): From ac972ebbe353edc6e4977b9a4eb8c33e900c30f2 Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 20 Feb 2023 16:06:30 -0700 Subject: [PATCH 09/89] update prompt setup so lora's can be loaded in other ways --- ldm/modules/lora_manager.py | 39 ++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index d33d15d961e..d24316ddc6c 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -132,7 +132,7 @@ def __init__(self, pipe): self.loras = {} self.applied_loras = {} self.hooks = [] - self.prompt = "" + self.loras_to_load = [] def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) -> dict[str, torch.nn.Module]: mapping = {} @@ -170,9 +170,7 @@ def _load_lora(self, name, path_file, multiplier=1.0): self.loras[name] = lora return lora - def apply_lora_model(self, args): - args = args.split(':') - name = args[0] + def apply_lora_model(self, name, mult: float = 1.0): path = Path(self.lora_path, name) file = Path(path, "pytorch_lora_weights.bin") @@ -189,10 +187,6 @@ def apply_lora_model(self, args): print(f">> Unable to find lora: {name}") return - mult = 1.0 - if len(args) == 2: - mult = float(args[1]) - lora = self.loras.get(name, None) if lora is None: lora = self._load_lora(name, path_file, mult) @@ -200,20 +194,36 @@ def apply_lora_model(self, args): lora.multiplier = mult self.applied_loras[name] = lora - def load_lora_from_prompt(self, prompt: str): - for m in re.findall(self.lora_match, prompt): - self.apply_lora_model(m) - def load_lora(self): - self.load_lora_from_prompt(self.prompt) + for lora_to_load in self.loras_to_load: + self.apply_lora_model(lora_to_load["name"], lora_to_load["mult"]) def unload_lora(self, lora_name: str): if lora_name in self.loras: del self.loras[lora_name] + def set_lora(self, name, mult: float = 1.0): + if name in self.loras_to_load: + index = self.loras_to_load.index(name) + self.loras_to_load[index]["mult"] = mult + else: + self.loras_to_load.append({"name": name, "mult": mult}) + + def set_lora_from_prompt(self, match): + match = match.split(':') + name = match[0] + + mult = 1.0 + if len(match) == 2: + mult = float(match[1]) + + self.set_lora(name, mult) + def configure_prompt(self, prompt: str) -> str: self.applied_loras = {} - self.prompt = prompt + + for match in re.findall(self.lora_match, prompt): + self.set_lora_from_prompt(match) def found(m): return "" @@ -228,3 +238,4 @@ def __del__(self): for cb in self.hooks: cb.remove() del self.hooks + del self.loras_to_load From 884a5543c77820f3b9fa9bb4d65e3902ab8bca04 Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 20 Feb 2023 16:33:53 -0700 Subject: [PATCH 10/89] adjust loader to use a settings dict --- ldm/modules/lora_manager.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index d24316ddc6c..c1719a6db6a 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -120,6 +120,7 @@ def load_lora( class LoraManager: loras: dict[str, LoRA] applied_loras: dict[str, LoRA] + loras_to_load: dict[str, dict] hooks: list[RemovableHandle] def __init__(self, pipe): @@ -132,7 +133,7 @@ def __init__(self, pipe): self.loras = {} self.applied_loras = {} self.hooks = [] - self.loras_to_load = [] + self.loras_to_load = {} def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) -> dict[str, torch.nn.Module]: mapping = {} @@ -153,13 +154,13 @@ def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) - LORA_PREFIX_UNET, self.unet, UNET_TARGET_REPLACE_MODULE) def _make_hook(self, layer: str): - def hook(module, input, output): + def hook(module, input_h, output): for lora in self.applied_loras.values(): lora_layer = lora.layers.get(layer, None) if lora_layer is None: continue output = output + \ - lora_layer.up(lora_layer.down(*input)) * \ + lora_layer.up(lora_layer.down(*input_h)) * \ lora.multiplier * lora_layer.scale return output return hook @@ -195,19 +196,20 @@ def apply_lora_model(self, name, mult: float = 1.0): self.applied_loras[name] = lora def load_lora(self): - for lora_to_load in self.loras_to_load: - self.apply_lora_model(lora_to_load["name"], lora_to_load["mult"]) + for name, data in self.loras_to_load.items(): + self.apply_lora_model(name, data["mult"]) + + # unload any lora's not defined by loras_to_load + for name in list(self.loras.keys()): + if name not in self.loras_to_load: + self.unload_lora(name) def unload_lora(self, lora_name: str): if lora_name in self.loras: del self.loras[lora_name] def set_lora(self, name, mult: float = 1.0): - if name in self.loras_to_load: - index = self.loras_to_load.index(name) - self.loras_to_load[index]["mult"] = mult - else: - self.loras_to_load.append({"name": name, "mult": mult}) + self.loras_to_load[name] = {"mult": mult} def set_lora_from_prompt(self, match): match = match.split(':') @@ -221,6 +223,7 @@ def set_lora_from_prompt(self, match): def configure_prompt(self, prompt: str) -> str: self.applied_loras = {} + self.loras_to_load = {} for match in re.findall(self.lora_match, prompt): self.set_lora_from_prompt(match) From c3edede73fa38fd21db13a4c175d9ccb8fdea4af Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 20 Feb 2023 16:49:59 -0700 Subject: [PATCH 11/89] add notes and adjust functions --- ldm/modules/lora_manager.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index c1719a6db6a..bb63f501e79 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -98,7 +98,7 @@ def load_lora( value.shape[1], value.shape[0], (1, 1), bias=False) else: print( - f">> Encoundered unknown lora layer module in {name}: {type(value).__name__}") + f">> Encountered unknown lora layer module in {name}: {type(value).__name__}") continue with torch.no_grad(): @@ -125,7 +125,6 @@ class LoraManager: def __init__(self, pipe): self.lora_path = Path(global_models_dir(), 'lora') - self.lora_match = re.compile(r"]+)>") self.unet = pipe.unet self.text_encoder = pipe.text_encoder self.device = torch.device(choose_torch_device()) @@ -208,30 +207,31 @@ def unload_lora(self, lora_name: str): if lora_name in self.loras: del self.loras[lora_name] + # Define a lora to be loaded + # Can be used to define a lora to be loaded outside of prompts def set_lora(self, name, mult: float = 1.0): self.loras_to_load[name] = {"mult": mult} - def set_lora_from_prompt(self, match): - match = match.split(':') - name = match[0] - - mult = 1.0 - if len(match) == 2: - mult = float(match[1]) - - self.set_lora(name, mult) - + # Load the lora from a prompt, syntax is + # Multiplier should be a value between 0.0 and 1.0 def configure_prompt(self, prompt: str) -> str: self.applied_loras = {} self.loras_to_load = {} - for match in re.findall(self.lora_match, prompt): - self.set_lora_from_prompt(match) + lora_match = re.compile(r"]+)>") + + for match in re.findall(lora_match, prompt): + match = match.split(':') + name = match[0] + + mult = 1.0 + if len(match) == 2: + mult = float(match[1]) - def found(m): - return "" + self.set_lora(name, mult) - return re.sub(self.lora_match, found, prompt) + # remove lora and return prompt to avoid the lora prompt causing issues in inference + return re.sub(lora_match, "", prompt) def __del__(self): del self.loras From de890417793bfdd87af7df11b9ea7cbcdc58a1e8 Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 20 Feb 2023 17:02:36 -0700 Subject: [PATCH 12/89] optimize functions for unloading --- ldm/modules/lora_manager.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index bb63f501e79..646e8e12373 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -201,7 +201,11 @@ def load_lora(self): # unload any lora's not defined by loras_to_load for name in list(self.loras.keys()): if name not in self.loras_to_load: - self.unload_lora(name) + self.unload_applied_lora(name) + + def unload_applied_lora(self, lora_name: str): + if lora_name in self.applied_loras: + del self.applied_loras[lora_name] def unload_lora(self, lora_name: str): if lora_name in self.loras: @@ -215,8 +219,7 @@ def set_lora(self, name, mult: float = 1.0): # Load the lora from a prompt, syntax is # Multiplier should be a value between 0.0 and 1.0 def configure_prompt(self, prompt: str) -> str: - self.applied_loras = {} - self.loras_to_load = {} + self.clear_loras() lora_match = re.compile(r"]+)>") @@ -233,6 +236,10 @@ def configure_prompt(self, prompt: str) -> str: # remove lora and return prompt to avoid the lora prompt causing issues in inference return re.sub(lora_match, "", prompt) + def clear_loras(self): + self.applied_loras = {} + self.loras_to_load = {} + def __del__(self): del self.loras del self.applied_loras From 3732af63e8cf73c28cab7478d783cd7e347fefbd Mon Sep 17 00:00:00 2001 From: neecapp Date: Mon, 20 Feb 2023 23:06:05 -0500 Subject: [PATCH 13/89] fix prompt --- ldm/generate.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ldm/generate.py b/ldm/generate.py index c1981d2e23b..a8d13f3a1fb 100644 --- a/ldm/generate.py +++ b/ldm/generate.py @@ -513,6 +513,10 @@ def process_image(image,seed): except AttributeError: pass + # lora MUST process prompt before conditioning + if self.model.lora_manager: + self.model.lora_manager.load_lora() + try: uc, c, extra_conditioning_info = get_uc_and_c_and_ec( prompt, @@ -549,9 +553,6 @@ def process_image(image,seed): else None ) - if self.model.lora_manager: - self.model.lora_manager.load_lora() - results = generator.generate( prompt, iterations=iterations, From e2b6dfeeb9af7dbc43821e3b5cafacf3db1da7fb Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 20 Feb 2023 21:33:20 -0700 Subject: [PATCH 14/89] Update generate.py --- ldm/generate.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ldm/generate.py b/ldm/generate.py index a8d13f3a1fb..8e3b27b2ac2 100644 --- a/ldm/generate.py +++ b/ldm/generate.py @@ -482,6 +482,8 @@ def process_image(image,seed): if self.model.lora_manager: prompt = self.model.lora_manager.configure_prompt(prompt) + # lora MUST process prompt before conditioning + self.model.lora_manager.load_lora() # apply the concepts library to the prompt prompt = self.huggingface_concepts_library.replace_concepts_with_triggers( @@ -513,10 +515,6 @@ def process_image(image,seed): except AttributeError: pass - # lora MUST process prompt before conditioning - if self.model.lora_manager: - self.model.lora_manager.load_lora() - try: uc, c, extra_conditioning_info = get_uc_and_c_and_ec( prompt, From 49c051660229cfc1cb82427a2c2def2f0375b2c1 Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 20 Feb 2023 23:45:57 -0700 Subject: [PATCH 15/89] change hook to override --- ldm/modules/lora_manager.py | 126 +++++++++++++++++++++++------------- 1 file changed, 81 insertions(+), 45 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 646e8e12373..eaaac19f656 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -15,6 +15,7 @@ class LoRALayer: down: torch.nn.Module def __init__(self, lora_name: str, name: str, rank=4, alpha=1.0): + super().__init__() self.lora_name = lora_name self.name = name self.scale = alpha / rank @@ -37,6 +38,27 @@ def __init__(self, name: str, multiplier=1.0): LORA_PREFIX_TEXT_ENCODER = 'lora_te' +def lora_forward(module, input_h, output): + if len(loaded_loras) == 0: + return output + + lora_name = getattr(module, 'lora_name', None) + for lora in applied_loras.values(): + layer = lora.layers.get(lora_name, None) + if layer is None: + continue + output = output + layer.up(layer.down(*input_h)) * lora.multiplier * layer.scale + return output + + +def lora_linear_forward(self, input_h): + return lora_forward(self, input_h, torch.nn.Linear.forward_before_lora(self, input_h)) + + +def lora_conv2d_forward(self, input_h): + return lora_forward(self, input_h, torch.nn.Conv2d.forward_before_lora(self, input_h)) + + def load_lora( name: str, path_file: Path, @@ -118,10 +140,7 @@ def load_lora( class LoraManager: - loras: dict[str, LoRA] - applied_loras: dict[str, LoRA] - loras_to_load: dict[str, dict] - hooks: list[RemovableHandle] + loras_to_load: dict[str, float] def __init__(self, pipe): self.lora_path = Path(global_models_dir(), 'lora') @@ -129,22 +148,27 @@ def __init__(self, pipe): self.text_encoder = pipe.text_encoder self.device = torch.device(choose_torch_device()) self.dtype = pipe.unet.dtype - self.loras = {} - self.applied_loras = {} - self.hooks = [] self.loras_to_load = {} + if not hasattr(torch.nn.Linear, 'forward_before_lora'): + torch.nn.Linear.forward_before_lora = torch.nn.Linear.forward + + if not hasattr(torch.nn.Conv2d, 'forward_before_lora'): + torch.nn.Conv2d.forward_before_lora = torch.nn.Conv2d.forward + + torch.nn.Linear.forward = lora_linear_forward + torch.nn.Conv2d.forward = lora_conv2d_forward + def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) -> dict[str, torch.nn.Module]: mapping = {} for name, module in root_module.named_modules(): if module.__class__.__name__ in target_replace_modules: for child_name, child_module in module.named_modules(): if child_module.__class__.__name__ == "Linear" or (child_module.__class__.__name__ == "Conv2d" and child_module.kernel_size == (1, 1)): - # It's easier to just convert into "lora" naming instead of trying to inverse map from "lora" -> diffuser lora_name = prefix + '.' + name + '.' + child_name lora_name = lora_name.replace('.', '_') mapping[lora_name] = child_module - self.hooks.append(child_module.register_forward_hook(self._make_hook(lora_name))) + module.lora_name = lora_name return mapping self.text_modules = find_modules( @@ -152,22 +176,10 @@ def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) - self.unet_modules = find_modules( LORA_PREFIX_UNET, self.unet, UNET_TARGET_REPLACE_MODULE) - def _make_hook(self, layer: str): - def hook(module, input_h, output): - for lora in self.applied_loras.values(): - lora_layer = lora.layers.get(layer, None) - if lora_layer is None: - continue - output = output + \ - lora_layer.up(lora_layer.down(*input_h)) * \ - lora.multiplier * lora_layer.scale - return output - return hook - - def _load_lora(self, name, path_file, multiplier=1.0): + def _load_lora(self, name, path_file, multiplier: float = 1.0): lora = load_lora(name, path_file, self.device, self.dtype, self.text_modules, self.unet_modules, multiplier) - self.loras[name] = lora + loaded_loras[name] = lora return lora def apply_lora_model(self, name, mult: float = 1.0): @@ -175,10 +187,10 @@ def apply_lora_model(self, name, mult: float = 1.0): file = Path(path, "pytorch_lora_weights.bin") if path.is_dir() and file.is_file(): - print(f"loading lora: {path}") - self.unet.load_attn_procs(path.absolute().as_posix()) + print(f"Diffusers lora is currently disabled: {path}") + # print(f"loading lora: {path}") + # self.unet.load_attn_procs(path.absolute().as_posix()) else: - # converting and saving in diffusers format path_file = Path(self.lora_path, f'{name}.ckpt') if Path(self.lora_path, f'{name}.safetensors').exists(): path_file = Path(self.lora_path, f'{name}.safetensors') @@ -187,34 +199,40 @@ def apply_lora_model(self, name, mult: float = 1.0): print(f">> Unable to find lora: {name}") return - lora = self.loras.get(name, None) + lora = loaded_loras.get(name, None) if lora is None: lora = self._load_lora(name, path_file, mult) lora.multiplier = mult - self.applied_loras[name] = lora + applied_loras[name] = lora def load_lora(self): - for name, data in self.loras_to_load.items(): - self.apply_lora_model(name, data["mult"]) + for name, multiplier in self.loras_to_load.items(): + self.apply_lora_model(name, multiplier) # unload any lora's not defined by loras_to_load - for name in list(self.loras.keys()): + for name in list(applied_loras.keys()): if name not in self.loras_to_load: self.unload_applied_lora(name) - def unload_applied_lora(self, lora_name: str): - if lora_name in self.applied_loras: - del self.applied_loras[lora_name] + @staticmethod + def unload_applied_lora(lora_name: str): + if lora_name in applied_loras: + del applied_loras[lora_name] - def unload_lora(self, lora_name: str): - if lora_name in self.loras: - del self.loras[lora_name] + @staticmethod + def unload_lora(lora_name: str): + if lora_name in loaded_loras: + del loaded_loras[lora_name] # Define a lora to be loaded # Can be used to define a lora to be loaded outside of prompts - def set_lora(self, name, mult: float = 1.0): - self.loras_to_load[name] = {"mult": mult} + def set_lora(self, name, multiplier: float = 1.0): + self.loras_to_load[name] = multiplier + + # update the multiplier if the lora was already loaded + if name in loaded_loras: + loaded_loras[name].multiplier = multiplier # Load the lora from a prompt, syntax is # Multiplier should be a value between 0.0 and 1.0 @@ -237,15 +255,33 @@ def configure_prompt(self, prompt: str) -> str: return re.sub(lora_match, "", prompt) def clear_loras(self): - self.applied_loras = {} + clear_applied_loras() self.loras_to_load = {} def __del__(self): - del self.loras - del self.applied_loras + # cleanup overrides + if hasattr(torch.nn.Linear, 'forward_before_lora'): + torch.nn.Linear.forward = torch.nn.Linear.forward_before_lora + del torch.nn.Linear.forward_before_lora + + if hasattr(torch.nn.Conv2d, 'forward_before_lora'): + torch.nn.Conv2d.forward = torch.nn.Conv2d.forward_before_lora + del torch.nn.Conv2d.forward_before_lora + + clear_applied_loras() + clear_loaded_loras() del self.text_modules del self.unet_modules - for cb in self.hooks: - cb.remove() - del self.hooks del self.loras_to_load + + +applied_loras = {} +loaded_loras = {} + + +def clear_applied_loras(): + applied_loras.clear() + + +def clear_loaded_loras(): + loaded_loras.clear() From 5529309e7361339e27d402a4ca64bf2ba5421be3 Mon Sep 17 00:00:00 2001 From: Jordan Date: Tue, 21 Feb 2023 01:34:06 -0700 Subject: [PATCH 16/89] adjusting back to hooks, forcing to be last in execution --- ldm/modules/lora_manager.py | 64 ++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 36 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index eaaac19f656..0071bf56501 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -38,25 +38,19 @@ def __init__(self, name: str, multiplier=1.0): LORA_PREFIX_TEXT_ENCODER = 'lora_te' -def lora_forward(module, input_h, output): - if len(loaded_loras) == 0: +def lora_forward_hook(name): + def lora_forward(module, input_h, output): + if len(loaded_loras) == 0: + return output + + for lora in applied_loras.values(): + layer = lora.layers.get(name, None) + if layer is None: + continue + output = output + layer.up(layer.down(*input_h)) * lora.multiplier * layer.scale return output - lora_name = getattr(module, 'lora_name', None) - for lora in applied_loras.values(): - layer = lora.layers.get(lora_name, None) - if layer is None: - continue - output = output + layer.up(layer.down(*input_h)) * lora.multiplier * layer.scale - return output - - -def lora_linear_forward(self, input_h): - return lora_forward(self, input_h, torch.nn.Linear.forward_before_lora(self, input_h)) - - -def lora_conv2d_forward(self, input_h): - return lora_forward(self, input_h, torch.nn.Conv2d.forward_before_lora(self, input_h)) + return lora_forward def load_lora( @@ -141,6 +135,7 @@ def load_lora( class LoraManager: loras_to_load: dict[str, float] + hooks: list[RemovableHandle] def __init__(self, pipe): self.lora_path = Path(global_models_dir(), 'lora') @@ -149,26 +144,19 @@ def __init__(self, pipe): self.device = torch.device(choose_torch_device()) self.dtype = pipe.unet.dtype self.loras_to_load = {} - - if not hasattr(torch.nn.Linear, 'forward_before_lora'): - torch.nn.Linear.forward_before_lora = torch.nn.Linear.forward - - if not hasattr(torch.nn.Conv2d, 'forward_before_lora'): - torch.nn.Conv2d.forward_before_lora = torch.nn.Conv2d.forward - - torch.nn.Linear.forward = lora_linear_forward - torch.nn.Conv2d.forward = lora_conv2d_forward + self.hooks = [] def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) -> dict[str, torch.nn.Module]: mapping = {} for name, module in root_module.named_modules(): if module.__class__.__name__ in target_replace_modules: for child_name, child_module in module.named_modules(): - if child_module.__class__.__name__ == "Linear" or (child_module.__class__.__name__ == "Conv2d" and child_module.kernel_size == (1, 1)): + layer_type = child_module.__class__.__name__ + if layer_type == "Linear" or (layer_type == "Conv2d" and child_module.kernel_size == (1, 1)): lora_name = prefix + '.' + name + '.' + child_name lora_name = lora_name.replace('.', '_') mapping[lora_name] = child_module - module.lora_name = lora_name + self.apply_module_forward(child_module, lora_name) return mapping self.text_modules = find_modules( @@ -182,6 +170,12 @@ def _load_lora(self, name, path_file, multiplier: float = 1.0): loaded_loras[name] = lora return lora + def apply_module_forward(self, module, lora_name): + handle = RemovableHandle(module._forward_hooks) + handle.id = 9000 + module._forward_hooks[handle.id] = lora_forward_hook(lora_name) + self.hooks.append(handle) + def apply_lora_model(self, name, mult: float = 1.0): path = Path(self.lora_path, name) file = Path(path, "pytorch_lora_weights.bin") @@ -258,16 +252,14 @@ def clear_loras(self): clear_applied_loras() self.loras_to_load = {} - def __del__(self): - # cleanup overrides - if hasattr(torch.nn.Linear, 'forward_before_lora'): - torch.nn.Linear.forward = torch.nn.Linear.forward_before_lora - del torch.nn.Linear.forward_before_lora + def clear_hooks(self): + for hook in self.hooks: + hook.remove() - if hasattr(torch.nn.Conv2d, 'forward_before_lora'): - torch.nn.Conv2d.forward = torch.nn.Conv2d.forward_before_lora - del torch.nn.Conv2d.forward_before_lora + self.hooks.clear() + def __del__(self): + self.clear_hooks() clear_applied_loras() clear_loaded_loras() del self.text_modules From c669336d6b3958a4befe92e682d72a1e15b8f86d Mon Sep 17 00:00:00 2001 From: Jordan Date: Tue, 21 Feb 2023 02:05:11 -0700 Subject: [PATCH 17/89] Update lora_manager.py --- ldm/modules/lora_manager.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 0071bf56501..1c4906331f2 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -171,9 +171,7 @@ def _load_lora(self, name, path_file, multiplier: float = 1.0): return lora def apply_module_forward(self, module, lora_name): - handle = RemovableHandle(module._forward_hooks) - handle.id = 9000 - module._forward_hooks[handle.id] = lora_forward_hook(lora_name) + handle = module.register_module_forward_hook(lora_forward_hook(lora_name)) self.hooks.append(handle) def apply_lora_model(self, name, mult: float = 1.0): From 24d92979dbe6ad4205fa0296519f93b615272d36 Mon Sep 17 00:00:00 2001 From: Jordan Date: Tue, 21 Feb 2023 02:08:02 -0700 Subject: [PATCH 18/89] fix typo --- ldm/modules/lora_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 1c4906331f2..a6c1b948369 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -171,7 +171,7 @@ def _load_lora(self, name, path_file, multiplier: float = 1.0): return lora def apply_module_forward(self, module, lora_name): - handle = module.register_module_forward_hook(lora_forward_hook(lora_name)) + handle = module.register_forward_hook(lora_forward_hook(lora_name)) self.hooks.append(handle) def apply_lora_model(self, name, mult: float = 1.0): From f70b7272f3c14c64d48f2ab700a5afca39666221 Mon Sep 17 00:00:00 2001 From: Jordan Date: Tue, 21 Feb 2023 19:33:39 -0700 Subject: [PATCH 19/89] cleanup / concept of loading through diffusers --- ldm/modules/lora_manager.py | 257 +++++++++++++++++++++++++++--------- 1 file changed, 192 insertions(+), 65 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index a6c1b948369..b3f85ff0d57 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -5,6 +5,8 @@ from safetensors.torch import load_file import torch from torch.utils.hooks import RemovableHandle +from diffusers.models import UNet2DConditionModel +from transformers import CLIPTextModel class LoRALayer: @@ -15,7 +17,6 @@ class LoRALayer: down: torch.nn.Module def __init__(self, lora_name: str, name: str, rank=4, alpha=1.0): - super().__init__() self.lora_name = lora_name self.name = name self.scale = alpha / rank @@ -24,12 +25,80 @@ def __init__(self, lora_name: str, name: str, rank=4, alpha=1.0): class LoRA: name: str layers: dict[str, LoRALayer] + device: torch.device + dtype: torch.dtype multiplier: float - def __init__(self, name: str, multiplier=1.0): + def __init__(self, name: str, device, dtype, multiplier=1.0): self.name = name self.layers = {} self.multiplier = multiplier + self.device = device + self.dtype = dtype + self.rank = None + self.alpha = None + + def load_from_dict(self, + state_dict, + text_modules: dict[str, torch.nn.Module], + unet_modules: dict[str, torch.nn.Module]): + for key, value in state_dict.items(): + stem, leaf = key.split(".", 1) + + if leaf.endswith("alpha"): + if self.alpha is None: + self.alpha = value.item() + continue + + if stem.startswith(LORA_PREFIX_TEXT_ENCODER): + wrapped = text_modules.get(stem, None) + if wrapped is None: + print(f">> Missing layer: {stem}") + continue + + if self.rank is None and leaf == 'lora_down.weight' and len(value.size()) == 2: + self.rank = value.shape[0] + self.load_lora_layer(stem, leaf, value, wrapped) + continue + elif stem.startswith(LORA_PREFIX_UNET): + wrapped = unet_modules.get(stem, None) + if wrapped is None: + print(f">> Missing layer: {stem}") + continue + + if self.rank is None and leaf == 'lora_down.weight' and len(value.size()) == 2: + self.rank = value.shape[0] + self.load_lora_layer(stem, leaf, value, wrapped) + continue + else: + continue + + def load_lora_layer(self, stem: str, leaf: str, value, wrapped: torch.nn.Module): + layer = self.layers.get(stem, None) + if layer is None: + layer = LoRALayer(self.name, stem, self.rank, self.alpha) + self.layers[stem] = layer + + if type(wrapped) == torch.nn.Linear: + module = torch.nn.Linear(value.shape[1], value.shape[0], bias=False) + elif type(wrapped) == torch.nn.Conv2d: + module = torch.nn.Conv2d(value.shape[1], value.shape[0], (1, 1), bias=False) + else: + print(f">> Encountered unknown lora layer module in {self.name}: {type(value).__name__}") + return + + with torch.no_grad(): + module.weight.copy_(value) + + module.to(device=self.device, dtype=self.dtype) + + if leaf == "lora_up.weight": + layer.up = module + elif leaf == "lora_down.weight": + layer.down = module + else: + print(f">> Encountered unknown layer in lora {self.name}: {leaf}") + return UNET_TARGET_REPLACE_MODULE = ["Transformer2DModel", "Attention"] @@ -37,6 +106,121 @@ def __init__(self, name: str, multiplier=1.0): LORA_PREFIX_UNET = 'lora_unet' LORA_PREFIX_TEXT_ENCODER = 'lora_te' +re_digits = re.compile(r"\d+") +re_unet_transformer_attn_blocks = re.compile( + r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_transformer_blocks_(\d+)_attn(\d+)_(.+).(weight|alpha)" +) +re_unet_mid_blocks = re.compile( + r"lora_unet_mid_block_attentions_(\d+)_(.+).(weight|alpha)" +) +re_unet_transformer_blocks = re.compile( + r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_transformer_blocks_(\d+)_(.+).(weight|alpha)" +) +re_unet_mid_transformer_blocks = re.compile( + r"lora_unet_mid_block_attentions_(\d+)_transformer_blocks_(\d+)_(.+).(weight|alpha)" +) +re_unet_norm_blocks = re.compile( + r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_(.+).(weight|alpha)" +) +re_out = re.compile(r"to_out_(\d+)") +re_processor_weight = re.compile(r"(.+)_(\d+)_(.+)") +re_processor_alpha = re.compile(r"(.+)_(\d+)") + + +def convert_key_to_diffusers(key): + def match(match_list, regex, subject): + r = re.match(regex, subject) + if not r: + return False + + match_list.clear() + match_list.extend([int(x) if re.match(re_digits, x) else x for x in r.groups()]) + return True + + m = [] + + def get_front_block(first, second, third, fourth=None): + if first == "mid": + b_type = f"mid_block" + else: + b_type = f"{first}_blocks.{second}" + + if fourth is None: + return f"{b_type}.attentions.{third}" + + return f"{b_type}.attentions.{third}.transformer_blocks.{fourth}" + + def get_back_block(first, second, third): + second = second.replace(".lora_", "_lora.") + if third == "weight": + bm = [] + if match(bm, re_processor_weight, second): + s_bm = bm[2].split('.') + s_front = f"{bm[0]}_{s_bm[0]}" + s_back = f"{s_bm[1]}" + if int(bm[1]) == 0: + second = f"{s_front}.{s_back}" + else: + second = f"{s_front}.{bm[1]}.{s_back}" + elif third == "alpha": + bma = [] + if match(bma, re_processor_alpha, second): + if int(bma[1]) == 0: + second = f"{bma[0]}" + else: + second = f"{bma[0]}.{bma[1]}" + + if first is None: + return f"processor.{second}.{third}" + + return f"attn{first}.processor.{second}.{third}" + + if match(m, re_unet_transformer_attn_blocks, key): + return f"{get_front_block(m[0], m[1], m[2], m[3])}.{get_back_block(m[4], m[5], m[6])}" + + if match(m, re_unet_transformer_blocks, key): + return f"{get_front_block(m[0], m[1], m[2], m[3])}.{get_back_block(None, m[4], m[5])}" + + if match(m, re_unet_mid_transformer_blocks, key): + return f"{get_front_block('mid', None, m[0], m[1])}.{get_back_block(None, m[2], m[3])}" + + if match(m, re_unet_norm_blocks, key): + return f"{get_front_block(m[0], m[1], m[2])}.{get_back_block(None, m[3], m[4])}" + + if match(m, re_unet_mid_blocks, key): + return f"{get_front_block('mid', None, m[0])}.{get_back_block(None, m[1], m[2])}" + + return key + + +def load_lora_attn( + name: str, + path_file: Path, + unet: UNet2DConditionModel, + text_encoder: CLIPTextModel, + multiplier=1.0 +): + print(f">> Loading lora {name} from {path_file}") + if path_file.suffix == '.safetensors': + checkpoint = load_file(path_file.absolute().as_posix(), device='cpu') + else: + checkpoint = torch.load(path_file, map_location='cpu') + + for key in list(checkpoint.keys()): + if key.startswith(LORA_PREFIX_UNET): + # convert unet keys + checkpoint[convert_key_to_diffusers(key)] = checkpoint.pop(key) + elif key.startswith(LORA_PREFIX_UNET): + # convert text encoder keys (not yet supported) + # state_dict[convert_key_to_diffusers(key)] = state_dict.pop(key) + checkpoint.pop(key) + else: + # remove invalid key + checkpoint.pop(key) + + unet.load_attn_procs(checkpoint) + # text_encoder.load_attn_procs(checkpoint) + def lora_forward_hook(name): def lora_forward(module, input_h, output): @@ -68,67 +252,8 @@ def load_lora( else: checkpoint = torch.load(path_file, map_location='cpu') - lora = LoRA(name, multiplier) - - alpha = None - rank = None - for key, value in checkpoint.items(): - stem, leaf = key.split(".", 1) - - if leaf.endswith("alpha"): - if alpha is None: - alpha = value.item() - continue - - if stem.startswith(LORA_PREFIX_TEXT_ENCODER): - # text encoder layer - wrapped = text_modules.get(stem, None) - if wrapped is None: - print(f">> Missing layer: {stem}") - continue - elif stem.startswith(LORA_PREFIX_UNET): - # unet layer - wrapped = unet_modules.get(stem, None) - if wrapped is None: - print(f">> Missing layer: {stem}") - continue - else: - continue - - if rank is None and leaf == 'lora_down.weight' and len(value.size()) == 2: - rank = value.shape[0] - - if wrapped is None: - continue - - layer = lora.layers.get(stem, None) - if layer is None: - layer = LoRALayer(name, stem, rank, alpha) - lora.layers[stem] = layer - - if type(wrapped) == torch.nn.Linear: - module = torch.nn.Linear( - value.shape[1], value.shape[0], bias=False) - elif type(wrapped) == torch.nn.Conv2d: - module = torch.nn.Conv2d( - value.shape[1], value.shape[0], (1, 1), bias=False) - else: - print( - f">> Encountered unknown lora layer module in {name}: {type(value).__name__}") - continue - - with torch.no_grad(): - module.weight.copy_(value) - - module.to(device=device, dtype=dtype) - - if leaf == "lora_up.weight": - layer.up = module - elif leaf == "lora_down.weight": - layer.down = module - else: - print(f">> Encountered unknown layer in lora {name}: {key}") - continue + lora = LoRA(name, device, dtype, multiplier) + lora.load_from_dict(checkpoint, text_modules, unet_modules) return lora @@ -161,12 +286,14 @@ def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) - self.text_modules = find_modules( LORA_PREFIX_TEXT_ENCODER, self.text_encoder, TEXT_ENCODER_TARGET_REPLACE_MODULE) + self.unet_modules = find_modules( LORA_PREFIX_UNET, self.unet, UNET_TARGET_REPLACE_MODULE) def _load_lora(self, name, path_file, multiplier: float = 1.0): - lora = load_lora(name, path_file, self.device, self.dtype, - self.text_modules, self.unet_modules, multiplier) + # can be used instead to load through diffusers, once enough support is added + # lora = load_lora_attn(name, path_file, self.unet, self.text_encoder, multiplier) + lora = load_lora(name, path_file, self.device, self.dtype, self.text_modules, self.unet_modules, multiplier) loaded_loras[name] = lora return lora From af3543a8c7ecf91bae24383c43ce287d47427197 Mon Sep 17 00:00:00 2001 From: Jordan Date: Tue, 21 Feb 2023 20:42:40 -0700 Subject: [PATCH 20/89] further cleanup and implement wrapper --- ldm/modules/lora_manager.py | 246 ++++++++++++++++++------------------ 1 file changed, 126 insertions(+), 120 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index b3f85ff0d57..23d7c9eb223 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -22,26 +22,112 @@ def __init__(self, lora_name: str, name: str, rank=4, alpha=1.0): self.scale = alpha / rank +class LoRAModuleWrapper: + unet: UNet2DConditionModel + text_encoder: CLIPTextModel + + def __init__(self, unet, text_encoder): + self.unet = unet + self.text_encoder = text_encoder + self.hooks = [] + self.text_modules = None + self.unet_modules = None + + self.applied_loras = {} + self.loaded_loras = {} + + self.UNET_TARGET_REPLACE_MODULE = ["Transformer2DModel", "Attention"] + self.TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPMLP"] + self.LORA_PREFIX_UNET = 'lora_unet' + self.LORA_PREFIX_TEXT_ENCODER = 'lora_te' + + def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) -> dict[str, torch.nn.Module]: + mapping = {} + for name, module in root_module.named_modules(): + if module.__class__.__name__ in target_replace_modules: + for child_name, child_module in module.named_modules(): + layer_type = child_module.__class__.__name__ + if layer_type == "Linear" or (layer_type == "Conv2d" and child_module.kernel_size == (1, 1)): + lora_name = prefix + '.' + name + '.' + child_name + lora_name = lora_name.replace('.', '_') + mapping[lora_name] = child_module + self.apply_module_forward(child_module, lora_name) + return mapping + + if self.text_modules is None: + self.text_modules = find_modules( + self.LORA_PREFIX_TEXT_ENCODER, + text_encoder, + self.TEXT_ENCODER_TARGET_REPLACE_MODULE + ) + + if self.unet_modules is None: + self.unet_modules = find_modules( + self.LORA_PREFIX_UNET, + unet, + self.UNET_TARGET_REPLACE_MODULE + ) + + def lora_forward_hook(self, name): + wrapper = self + + def lora_forward(module, input_h, output): + if len(wrapper.loaded_loras) == 0: + return output + + for lora in wrapper.applied_loras.values(): + layer = lora.layers.get(name, None) + if layer is None: + continue + output = output + layer.up(layer.down(*input_h)) * lora.multiplier * layer.scale + return output + + return lora_forward + + def apply_module_forward(self, module, name): + handle = module.register_forward_hook(self.lora_forward_hook(name)) + self.hooks.append(handle) + + def clear_hooks(self): + for hook in self.hooks: + hook.remove() + + self.hooks.clear() + + def clear_applied_loras(self): + self.applied_loras.clear() + + def clear_loaded_loras(self): + self.loaded_loras.clear() + + def __del__(self): + self.clear_hooks() + self.clear_applied_loras() + self.clear_loaded_loras() + del self.text_modules + del self.unet_modules + del self.hooks + + class LoRA: name: str layers: dict[str, LoRALayer] device: torch.device dtype: torch.dtype + wrapper: LoRAModuleWrapper multiplier: float - def __init__(self, name: str, device, dtype, multiplier=1.0): + def __init__(self, name: str, device, dtype, wrapper, multiplier=1.0): self.name = name self.layers = {} self.multiplier = multiplier self.device = device self.dtype = dtype + self.wrapper = wrapper self.rank = None self.alpha = None - def load_from_dict(self, - state_dict, - text_modules: dict[str, torch.nn.Module], - unet_modules: dict[str, torch.nn.Module]): + def load_from_dict(self, state_dict): for key, value in state_dict.items(): stem, leaf = key.split(".", 1) @@ -50,8 +136,8 @@ def load_from_dict(self, self.alpha = value.item() continue - if stem.startswith(LORA_PREFIX_TEXT_ENCODER): - wrapped = text_modules.get(stem, None) + if stem.startswith(self.wrapper.LORA_PREFIX_TEXT_ENCODER): + wrapped = self.wrapper.text_modules.get(stem, None) if wrapped is None: print(f">> Missing layer: {stem}") continue @@ -60,8 +146,8 @@ def load_from_dict(self, self.rank = value.shape[0] self.load_lora_layer(stem, leaf, value, wrapped) continue - elif stem.startswith(LORA_PREFIX_UNET): - wrapped = unet_modules.get(stem, None) + elif stem.startswith(self.wrapper.LORA_PREFIX_UNET): + wrapped = self.wrapper.unet_modules.get(stem, None) if wrapped is None: print(f">> Missing layer: {stem}") continue @@ -101,11 +187,6 @@ def load_lora_layer(self, stem: str, leaf: str, value, wrapped: torch.nn.Module) return -UNET_TARGET_REPLACE_MODULE = ["Transformer2DModel", "Attention"] -TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPMLP"] -LORA_PREFIX_UNET = 'lora_unet' -LORA_PREFIX_TEXT_ENCODER = 'lora_te' - re_digits = re.compile(r"\d+") re_unet_transformer_attn_blocks = re.compile( r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_transformer_blocks_(\d+)_attn(\d+)_(.+).(weight|alpha)" @@ -196,8 +277,7 @@ def get_back_block(first, second, third): def load_lora_attn( name: str, path_file: Path, - unet: UNet2DConditionModel, - text_encoder: CLIPTextModel, + wrapper: LoRAModuleWrapper, multiplier=1.0 ): print(f">> Loading lora {name} from {path_file}") @@ -207,10 +287,10 @@ def load_lora_attn( checkpoint = torch.load(path_file, map_location='cpu') for key in list(checkpoint.keys()): - if key.startswith(LORA_PREFIX_UNET): + if key.startswith(wrapper.LORA_PREFIX_UNET): # convert unet keys checkpoint[convert_key_to_diffusers(key)] = checkpoint.pop(key) - elif key.startswith(LORA_PREFIX_UNET): + elif key.startswith(wrapper.LORA_PREFIX_UNET): # convert text encoder keys (not yet supported) # state_dict[convert_key_to_diffusers(key)] = state_dict.pop(key) checkpoint.pop(key) @@ -218,44 +298,8 @@ def load_lora_attn( # remove invalid key checkpoint.pop(key) - unet.load_attn_procs(checkpoint) - # text_encoder.load_attn_procs(checkpoint) - - -def lora_forward_hook(name): - def lora_forward(module, input_h, output): - if len(loaded_loras) == 0: - return output - - for lora in applied_loras.values(): - layer = lora.layers.get(name, None) - if layer is None: - continue - output = output + layer.up(layer.down(*input_h)) * lora.multiplier * layer.scale - return output - - return lora_forward - - -def load_lora( - name: str, - path_file: Path, - device: torch.device, - dtype: torch.dtype, - text_modules: dict[str, torch.nn.Module], - unet_modules: dict[str, torch.nn.Module], - multiplier=1.0 -): - print(f">> Loading lora {name} from {path_file}") - if path_file.suffix == '.safetensors': - checkpoint = load_file(path_file.absolute().as_posix(), device='cpu') - else: - checkpoint = torch.load(path_file, map_location='cpu') - - lora = LoRA(name, device, dtype, multiplier) - lora.load_from_dict(checkpoint, text_modules, unet_modules) - - return lora + wrapper.unet.load_attn_procs(checkpoint) + # wrapper.text_encoder.load_attn_procs(checkpoint) class LoraManager: @@ -269,38 +313,24 @@ def __init__(self, pipe): self.device = torch.device(choose_torch_device()) self.dtype = pipe.unet.dtype self.loras_to_load = {} - self.hooks = [] + self.wrapper = LoRAModuleWrapper(pipe.unet, pipe.text_encoder) - def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) -> dict[str, torch.nn.Module]: - mapping = {} - for name, module in root_module.named_modules(): - if module.__class__.__name__ in target_replace_modules: - for child_name, child_module in module.named_modules(): - layer_type = child_module.__class__.__name__ - if layer_type == "Linear" or (layer_type == "Conv2d" and child_module.kernel_size == (1, 1)): - lora_name = prefix + '.' + name + '.' + child_name - lora_name = lora_name.replace('.', '_') - mapping[lora_name] = child_module - self.apply_module_forward(child_module, lora_name) - return mapping + def load_lora_module(self, name, path_file, multiplier: float = 1.0): + # can be used instead to load through diffusers, once enough support is added + # lora = load_lora_attn(name, path_file, self.wrapper, multiplier) - self.text_modules = find_modules( - LORA_PREFIX_TEXT_ENCODER, self.text_encoder, TEXT_ENCODER_TARGET_REPLACE_MODULE) + print(f">> Loading lora {name} from {path_file}") + if path_file.suffix == '.safetensors': + checkpoint = load_file(path_file.absolute().as_posix(), device='cpu') + else: + checkpoint = torch.load(path_file, map_location='cpu') - self.unet_modules = find_modules( - LORA_PREFIX_UNET, self.unet, UNET_TARGET_REPLACE_MODULE) + lora = LoRA(name, self.device, self.dtype, self.wrapper, multiplier) + lora.load_from_dict(checkpoint) + self.wrapper.loaded_loras[name] = lora - def _load_lora(self, name, path_file, multiplier: float = 1.0): - # can be used instead to load through diffusers, once enough support is added - # lora = load_lora_attn(name, path_file, self.unet, self.text_encoder, multiplier) - lora = load_lora(name, path_file, self.device, self.dtype, self.text_modules, self.unet_modules, multiplier) - loaded_loras[name] = lora return lora - def apply_module_forward(self, module, lora_name): - handle = module.register_forward_hook(lora_forward_hook(lora_name)) - self.hooks.append(handle) - def apply_lora_model(self, name, mult: float = 1.0): path = Path(self.lora_path, name) file = Path(path, "pytorch_lora_weights.bin") @@ -318,31 +348,30 @@ def apply_lora_model(self, name, mult: float = 1.0): print(f">> Unable to find lora: {name}") return - lora = loaded_loras.get(name, None) + lora = self.wrapper.loaded_loras.get(name, None) if lora is None: - lora = self._load_lora(name, path_file, mult) + lora = self.load_lora_module(name, path_file, mult) lora.multiplier = mult - applied_loras[name] = lora + self.wrapper.applied_loras[name] = lora def load_lora(self): + print(self.loras_to_load) for name, multiplier in self.loras_to_load.items(): self.apply_lora_model(name, multiplier) # unload any lora's not defined by loras_to_load - for name in list(applied_loras.keys()): + for name in list(self.wrapper.applied_loras.keys()): if name not in self.loras_to_load: self.unload_applied_lora(name) - @staticmethod - def unload_applied_lora(lora_name: str): - if lora_name in applied_loras: - del applied_loras[lora_name] + def unload_applied_lora(self, lora_name: str): + if lora_name in self.wrapper.applied_loras: + del self.wrapper.applied_loras[lora_name] - @staticmethod - def unload_lora(lora_name: str): - if lora_name in loaded_loras: - del loaded_loras[lora_name] + def unload_lora(self, lora_name: str): + if lora_name in self.wrapper.loaded_loras: + del self.wrapper.loaded_loras[lora_name] # Define a lora to be loaded # Can be used to define a lora to be loaded outside of prompts @@ -350,8 +379,8 @@ def set_lora(self, name, multiplier: float = 1.0): self.loras_to_load[name] = multiplier # update the multiplier if the lora was already loaded - if name in loaded_loras: - loaded_loras[name].multiplier = multiplier + if name in self.wrapper.loaded_loras: + self.wrapper.loaded_loras[name].multiplier = multiplier # Load the lora from a prompt, syntax is # Multiplier should be a value between 0.0 and 1.0 @@ -374,31 +403,8 @@ def configure_prompt(self, prompt: str) -> str: return re.sub(lora_match, "", prompt) def clear_loras(self): - clear_applied_loras() + self.wrapper.clear_applied_loras() self.loras_to_load = {} - def clear_hooks(self): - for hook in self.hooks: - hook.remove() - - self.hooks.clear() - def __del__(self): - self.clear_hooks() - clear_applied_loras() - clear_loaded_loras() - del self.text_modules - del self.unet_modules del self.loras_to_load - - -applied_loras = {} -loaded_loras = {} - - -def clear_applied_loras(): - applied_loras.clear() - - -def clear_loaded_loras(): - loaded_loras.clear() From cd333e414bc88fed16b17f018188b07f76eb0e59 Mon Sep 17 00:00:00 2001 From: Jordan Date: Tue, 21 Feb 2023 21:38:15 -0700 Subject: [PATCH 21/89] move key converter to wrapper --- ldm/modules/lora_manager.py | 179 ++++++++++++++++++------------------ 1 file changed, 88 insertions(+), 91 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 23d7c9eb223..b62feae2fb5 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -25,6 +25,7 @@ def __init__(self, lora_name: str, name: str, rank=4, alpha=1.0): class LoRAModuleWrapper: unet: UNet2DConditionModel text_encoder: CLIPTextModel + hooks: list[RemovableHandle] def __init__(self, unet, text_encoder): self.unet = unet @@ -41,6 +42,26 @@ def __init__(self, unet, text_encoder): self.LORA_PREFIX_UNET = 'lora_unet' self.LORA_PREFIX_TEXT_ENCODER = 'lora_te' + self.re_digits = re.compile(r"\d+") + self.re_unet_transformer_attn_blocks = re.compile( + r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_transformer_blocks_(\d+)_attn(\d+)_(.+).(weight|alpha)" + ) + self.re_unet_mid_blocks = re.compile( + r"lora_unet_mid_block_attentions_(\d+)_(.+).(weight|alpha)" + ) + self.re_unet_transformer_blocks = re.compile( + r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_transformer_blocks_(\d+)_(.+).(weight|alpha)" + ) + self.re_unet_mid_transformer_blocks = re.compile( + r"lora_unet_mid_block_attentions_(\d+)_transformer_blocks_(\d+)_(.+).(weight|alpha)" + ) + self.re_unet_norm_blocks = re.compile( + r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_(.+).(weight|alpha)" + ) + self.re_out = re.compile(r"to_out_(\d+)") + self.re_processor_weight = re.compile(r"(.+)_(\d+)_(.+)") + self.re_processor_alpha = re.compile(r"(.+)_(\d+)") + def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) -> dict[str, torch.nn.Module]: mapping = {} for name, module in root_module.named_modules(): @@ -68,6 +89,71 @@ def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) - self.UNET_TARGET_REPLACE_MODULE ) + def convert_key_to_diffusers(self, key): + def match(match_list, regex, subject): + r = re.match(regex, subject) + if not r: + return False + + match_list.clear() + match_list.extend([int(x) if re.match(self.re_digits, x) else x for x in r.groups()]) + return True + + m = [] + + def get_front_block(first, second, third, fourth=None): + if first == "mid": + b_type = f"mid_block" + else: + b_type = f"{first}_blocks.{second}" + + if fourth is None: + return f"{b_type}.attentions.{third}" + + return f"{b_type}.attentions.{third}.transformer_blocks.{fourth}" + + def get_back_block(first, second, third): + second = second.replace(".lora_", "_lora.") + if third == "weight": + bm = [] + if match(bm, self.re_processor_weight, second): + s_bm = bm[2].split('.') + s_front = f"{bm[0]}_{s_bm[0]}" + s_back = f"{s_bm[1]}" + if int(bm[1]) == 0: + second = f"{s_front}.{s_back}" + else: + second = f"{s_front}.{bm[1]}.{s_back}" + elif third == "alpha": + bma = [] + if match(bma, self.re_processor_alpha, second): + if int(bma[1]) == 0: + second = f"{bma[0]}" + else: + second = f"{bma[0]}.{bma[1]}" + + if first is None: + return f"processor.{second}.{third}" + + return f"attn{first}.processor.{second}.{third}" + + if match(m, self.re_unet_transformer_attn_blocks, key): + return f"{get_front_block(m[0], m[1], m[2], m[3])}.{get_back_block(m[4], m[5], m[6])}" + + if match(m, self.re_unet_transformer_blocks, key): + return f"{get_front_block(m[0], m[1], m[2], m[3])}.{get_back_block(None, m[4], m[5])}" + + if match(m, self.re_unet_mid_transformer_blocks, key): + return f"{get_front_block('mid', None, m[0], m[1])}.{get_back_block(None, m[2], m[3])}" + + if match(m, self.re_unet_norm_blocks, key): + return f"{get_front_block(m[0], m[1], m[2])}.{get_back_block(None, m[3], m[4])}" + + if match(m, self.re_unet_mid_blocks, key): + return f"{get_front_block('mid', None, m[0])}.{get_back_block(None, m[1], m[2])}" + + return key + def lora_forward_hook(self, name): wrapper = self @@ -187,93 +273,6 @@ def load_lora_layer(self, stem: str, leaf: str, value, wrapped: torch.nn.Module) return -re_digits = re.compile(r"\d+") -re_unet_transformer_attn_blocks = re.compile( - r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_transformer_blocks_(\d+)_attn(\d+)_(.+).(weight|alpha)" -) -re_unet_mid_blocks = re.compile( - r"lora_unet_mid_block_attentions_(\d+)_(.+).(weight|alpha)" -) -re_unet_transformer_blocks = re.compile( - r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_transformer_blocks_(\d+)_(.+).(weight|alpha)" -) -re_unet_mid_transformer_blocks = re.compile( - r"lora_unet_mid_block_attentions_(\d+)_transformer_blocks_(\d+)_(.+).(weight|alpha)" -) -re_unet_norm_blocks = re.compile( - r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_(.+).(weight|alpha)" -) -re_out = re.compile(r"to_out_(\d+)") -re_processor_weight = re.compile(r"(.+)_(\d+)_(.+)") -re_processor_alpha = re.compile(r"(.+)_(\d+)") - - -def convert_key_to_diffusers(key): - def match(match_list, regex, subject): - r = re.match(regex, subject) - if not r: - return False - - match_list.clear() - match_list.extend([int(x) if re.match(re_digits, x) else x for x in r.groups()]) - return True - - m = [] - - def get_front_block(first, second, third, fourth=None): - if first == "mid": - b_type = f"mid_block" - else: - b_type = f"{first}_blocks.{second}" - - if fourth is None: - return f"{b_type}.attentions.{third}" - - return f"{b_type}.attentions.{third}.transformer_blocks.{fourth}" - - def get_back_block(first, second, third): - second = second.replace(".lora_", "_lora.") - if third == "weight": - bm = [] - if match(bm, re_processor_weight, second): - s_bm = bm[2].split('.') - s_front = f"{bm[0]}_{s_bm[0]}" - s_back = f"{s_bm[1]}" - if int(bm[1]) == 0: - second = f"{s_front}.{s_back}" - else: - second = f"{s_front}.{bm[1]}.{s_back}" - elif third == "alpha": - bma = [] - if match(bma, re_processor_alpha, second): - if int(bma[1]) == 0: - second = f"{bma[0]}" - else: - second = f"{bma[0]}.{bma[1]}" - - if first is None: - return f"processor.{second}.{third}" - - return f"attn{first}.processor.{second}.{third}" - - if match(m, re_unet_transformer_attn_blocks, key): - return f"{get_front_block(m[0], m[1], m[2], m[3])}.{get_back_block(m[4], m[5], m[6])}" - - if match(m, re_unet_transformer_blocks, key): - return f"{get_front_block(m[0], m[1], m[2], m[3])}.{get_back_block(None, m[4], m[5])}" - - if match(m, re_unet_mid_transformer_blocks, key): - return f"{get_front_block('mid', None, m[0], m[1])}.{get_back_block(None, m[2], m[3])}" - - if match(m, re_unet_norm_blocks, key): - return f"{get_front_block(m[0], m[1], m[2])}.{get_back_block(None, m[3], m[4])}" - - if match(m, re_unet_mid_blocks, key): - return f"{get_front_block('mid', None, m[0])}.{get_back_block(None, m[1], m[2])}" - - return key - - def load_lora_attn( name: str, path_file: Path, @@ -289,10 +288,10 @@ def load_lora_attn( for key in list(checkpoint.keys()): if key.startswith(wrapper.LORA_PREFIX_UNET): # convert unet keys - checkpoint[convert_key_to_diffusers(key)] = checkpoint.pop(key) + checkpoint[wrapper.convert_key_to_diffusers(key)] = checkpoint.pop(key) elif key.startswith(wrapper.LORA_PREFIX_UNET): # convert text encoder keys (not yet supported) - # state_dict[convert_key_to_diffusers(key)] = state_dict.pop(key) + # state_dict[wrapper.convert_key_to_diffusers(key)] = state_dict.pop(key) checkpoint.pop(key) else: # remove invalid key @@ -304,7 +303,6 @@ def load_lora_attn( class LoraManager: loras_to_load: dict[str, float] - hooks: list[RemovableHandle] def __init__(self, pipe): self.lora_path = Path(global_models_dir(), 'lora') @@ -356,7 +354,6 @@ def apply_lora_model(self, name, mult: float = 1.0): self.wrapper.applied_loras[name] = lora def load_lora(self): - print(self.loras_to_load) for name, multiplier in self.loras_to_load.items(): self.apply_lora_model(name, multiplier) From 71972c370922e8f7e16bcc9e0fb6ff7d64368c14 Mon Sep 17 00:00:00 2001 From: Jordan Date: Thu, 23 Feb 2023 01:44:13 -0700 Subject: [PATCH 22/89] re-enable load attn procs support (no multiplier) --- ldm/modules/lora_manager.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index b62feae2fb5..e9dfe688ecd 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -334,9 +334,8 @@ def apply_lora_model(self, name, mult: float = 1.0): file = Path(path, "pytorch_lora_weights.bin") if path.is_dir() and file.is_file(): - print(f"Diffusers lora is currently disabled: {path}") - # print(f"loading lora: {path}") - # self.unet.load_attn_procs(path.absolute().as_posix()) + print(f"loading lora: {path}") + self.unet.load_attn_procs(path.absolute().as_posix()) else: path_file = Path(self.lora_path, f'{name}.ckpt') if Path(self.lora_path, f'{name}.safetensors').exists(): From f64a4db5fa2c34f842cbd42061662d710230a03c Mon Sep 17 00:00:00 2001 From: Jordan Date: Thu, 23 Feb 2023 05:56:39 -0700 Subject: [PATCH 23/89] setup legacy class to abstract hacky logic for none diffusers lora and format prompt for compel --- ldm/modules/lora_manager.py | 127 +++++++++++++++++------------------- 1 file changed, 60 insertions(+), 67 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index e9dfe688ecd..902a2cb5781 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -273,45 +273,14 @@ def load_lora_layer(self, stem: str, leaf: str, value, wrapped: torch.nn.Module) return -def load_lora_attn( - name: str, - path_file: Path, - wrapper: LoRAModuleWrapper, - multiplier=1.0 -): - print(f">> Loading lora {name} from {path_file}") - if path_file.suffix == '.safetensors': - checkpoint = load_file(path_file.absolute().as_posix(), device='cpu') - else: - checkpoint = torch.load(path_file, map_location='cpu') - - for key in list(checkpoint.keys()): - if key.startswith(wrapper.LORA_PREFIX_UNET): - # convert unet keys - checkpoint[wrapper.convert_key_to_diffusers(key)] = checkpoint.pop(key) - elif key.startswith(wrapper.LORA_PREFIX_UNET): - # convert text encoder keys (not yet supported) - # state_dict[wrapper.convert_key_to_diffusers(key)] = state_dict.pop(key) - checkpoint.pop(key) - else: - # remove invalid key - checkpoint.pop(key) - - wrapper.unet.load_attn_procs(checkpoint) - # wrapper.text_encoder.load_attn_procs(checkpoint) - - -class LoraManager: - loras_to_load: dict[str, float] - - def __init__(self, pipe): - self.lora_path = Path(global_models_dir(), 'lora') +class LegacyLora: + def __init__(self, pipe, lora_path): self.unet = pipe.unet + self.lora_path = lora_path + self.wrapper = LoRAModuleWrapper(pipe.unet, pipe.text_encoder) self.text_encoder = pipe.text_encoder self.device = torch.device(choose_torch_device()) self.dtype = pipe.unet.dtype - self.loras_to_load = {} - self.wrapper = LoRAModuleWrapper(pipe.unet, pipe.text_encoder) def load_lora_module(self, name, path_file, multiplier: float = 1.0): # can be used instead to load through diffusers, once enough support is added @@ -330,35 +299,25 @@ def load_lora_module(self, name, path_file, multiplier: float = 1.0): return lora def apply_lora_model(self, name, mult: float = 1.0): - path = Path(self.lora_path, name) - file = Path(path, "pytorch_lora_weights.bin") - - if path.is_dir() and file.is_file(): - print(f"loading lora: {path}") - self.unet.load_attn_procs(path.absolute().as_posix()) - else: - path_file = Path(self.lora_path, f'{name}.ckpt') - if Path(self.lora_path, f'{name}.safetensors').exists(): - path_file = Path(self.lora_path, f'{name}.safetensors') + path_file = Path(self.lora_path, f'{name}.ckpt') + if Path(self.lora_path, f'{name}.safetensors').exists(): + path_file = Path(self.lora_path, f'{name}.safetensors') - if not path_file.exists(): - print(f">> Unable to find lora: {name}") - return + if not path_file.exists(): + print(f">> Unable to find lora: {name}") + return - lora = self.wrapper.loaded_loras.get(name, None) - if lora is None: - lora = self.load_lora_module(name, path_file, mult) + lora = self.wrapper.loaded_loras.get(name, None) + if lora is None: + lora = self.load_lora_module(name, path_file, mult) - lora.multiplier = mult - self.wrapper.applied_loras[name] = lora - - def load_lora(self): - for name, multiplier in self.loras_to_load.items(): - self.apply_lora_model(name, multiplier) + lora.multiplier = mult + self.wrapper.applied_loras[name] = lora + def unload_applied_loras(self, loras_to_load): # unload any lora's not defined by loras_to_load for name in list(self.wrapper.applied_loras.keys()): - if name not in self.loras_to_load: + if name not in loras_to_load: self.unload_applied_lora(name) def unload_applied_lora(self, lora_name: str): @@ -369,29 +328,63 @@ def unload_lora(self, lora_name: str): if lora_name in self.wrapper.loaded_loras: del self.wrapper.loaded_loras[lora_name] - # Define a lora to be loaded - # Can be used to define a lora to be loaded outside of prompts def set_lora(self, name, multiplier: float = 1.0): - self.loras_to_load[name] = multiplier - # update the multiplier if the lora was already loaded if name in self.wrapper.loaded_loras: self.wrapper.loaded_loras[name].multiplier = multiplier + def clear_loras(self): + self.wrapper.clear_applied_loras() + + +class LoraManager: + loras_to_load: dict[str, float] + + def __init__(self, pipe): + self.lora_path = Path(global_models_dir(), 'lora') + self.unet = pipe.unet + self.loras_to_load = {} + # Legacy class handles lora not generated through diffusers + self.legacy = LegacyLora(pipe, self.lora_path) + + def apply_lora_model(self, name, mult: float = 1.0): + path = Path(self.lora_path, name) + file = Path(path, "pytorch_lora_weights.bin") + + if path.is_dir() and file.is_file(): + print(f"loading lora: {path}") + self.unet.load_attn_procs(path.absolute().as_posix()) + else: + self.legacy.apply_lora_model(name, mult) + + def load_lora(self): + for name, multiplier in self.loras_to_load.items(): + self.apply_lora_model(name, multiplier) + + self.legacy.unload_applied_loras(self.loras_to_load) + + # Define a lora to be loaded + # Can be used to define a lora to be loaded outside of prompts + def set_lora(self, name, multiplier: float = 1.0): + self.loras_to_load[name] = multiplier + self.legacy.set_lora(name, multiplier) + # Load the lora from a prompt, syntax is # Multiplier should be a value between 0.0 and 1.0 def configure_prompt(self, prompt: str) -> str: self.clear_loras() - lora_match = re.compile(r"]+)>") + # lora_match = re.compile(r"]+)>") + lora_match = re.compile(r"withLora\(([a-zA-Z\,\d]+)\)") for match in re.findall(lora_match, prompt): - match = match.split(':') - name = match[0] + # match = match.split(':') + match = match.split(',') + name = match[0].strip() mult = 1.0 if len(match) == 2: - mult = float(match[1]) + mult = float(match[1].strip()) self.set_lora(name, mult) @@ -399,8 +392,8 @@ def configure_prompt(self, prompt: str) -> str: return re.sub(lora_match, "", prompt) def clear_loras(self): - self.wrapper.clear_applied_loras() self.loras_to_load = {} + self.legacy.clear_loras() def __del__(self): del self.loras_to_load From 6a1129ab64c66429f7cca2b5d84ca4530cb0fb57 Mon Sep 17 00:00:00 2001 From: Jordan Date: Thu, 23 Feb 2023 16:48:33 -0700 Subject: [PATCH 24/89] switch all none diffusers stuff to legacy, and load through compel prompts --- ldm/generate.py | 5 +- ldm/invoke/conditioning.py | 2 + ldm/modules/lora_manager.py | 91 ++++++++++++++++++------------------- 3 files changed, 50 insertions(+), 48 deletions(-) diff --git a/ldm/generate.py b/ldm/generate.py index ba6dec9d5bc..9a7badb42e1 100644 --- a/ldm/generate.py +++ b/ldm/generate.py @@ -488,10 +488,11 @@ def process_image(image,seed): self.sampler_name = sampler_name self._set_sampler() + # To try and load lora not trained through diffusers if self.model.lora_manager: - prompt = self.model.lora_manager.configure_prompt(prompt) + prompt = self.model.lora_manager.configure_prompt_legacy(prompt) # lora MUST process prompt before conditioning - self.model.lora_manager.load_lora() + self.model.lora_manager.load_lora_legacy() # apply the concepts library to the prompt prompt = self.huggingface_concepts_library.replace_concepts_with_triggers( diff --git a/ldm/invoke/conditioning.py b/ldm/invoke/conditioning.py index db50ce40763..94e90cab559 100644 --- a/ldm/invoke/conditioning.py +++ b/ldm/invoke/conditioning.py @@ -59,6 +59,8 @@ def get_uc_and_c_and_ec(prompt_string, model, log_tokens=False, skip_normalize_l positive_prompt = legacy_blend else: positive_prompt = Compel.parse_prompt_string(positive_prompt_string) + if model.lora_manager: + model.lora_manager.load_lora_compel(positive_prompt.lora_weights) negative_prompt: FlattenedPrompt|Blend = Compel.parse_prompt_string(negative_prompt_string) if log_tokens or getattr(Globals, "log_tokenization", False): diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 902a2cb5781..5c4d52d01f2 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -273,7 +273,7 @@ def load_lora_layer(self, stem: str, leaf: str, value, wrapped: torch.nn.Module) return -class LegacyLora: +class LegacyLoraManager: def __init__(self, pipe, lora_path): self.unet = pipe.unet self.lora_path = lora_path @@ -281,6 +281,7 @@ def __init__(self, pipe, lora_path): self.text_encoder = pipe.text_encoder self.device = torch.device(choose_torch_device()) self.dtype = pipe.unet.dtype + self.loras_to_load = {} def load_lora_module(self, name, path_file, multiplier: float = 1.0): # can be used instead to load through diffusers, once enough support is added @@ -298,6 +299,26 @@ def load_lora_module(self, name, path_file, multiplier: float = 1.0): return lora + def configure_prompt(self, prompt: str) -> str: + self.clear_loras() + + # lora_match = re.compile(r"]+)>") + lora_match = re.compile(r"withLoraLegacy\(([a-zA-Z\,\d]+)\)") + + for match in re.findall(lora_match, prompt): + # match = match.split(':') + match = match.split(',') + name = match[0].strip() + + mult = 1.0 + if len(match) == 2: + mult = float(match[1].strip()) + + self.set_lora(name, mult) + + # remove lora and return prompt to avoid the lora prompt causing issues in inference + return re.sub(lora_match, "", prompt) + def apply_lora_model(self, name, mult: float = 1.0): path_file = Path(self.lora_path, f'{name}.ckpt') if Path(self.lora_path, f'{name}.safetensors').exists(): @@ -314,6 +335,10 @@ def apply_lora_model(self, name, mult: float = 1.0): lora.multiplier = mult self.wrapper.applied_loras[name] = lora + def load_lora(self): + for name, multiplier in self.loras_to_load.items(): + self.apply_lora_model(name, multiplier) + def unload_applied_loras(self, loras_to_load): # unload any lora's not defined by loras_to_load for name in list(self.wrapper.applied_loras.keys()): @@ -329,71 +354,45 @@ def unload_lora(self, lora_name: str): del self.wrapper.loaded_loras[lora_name] def set_lora(self, name, multiplier: float = 1.0): + self.loras_to_load[name] = multiplier + # update the multiplier if the lora was already loaded if name in self.wrapper.loaded_loras: self.wrapper.loaded_loras[name].multiplier = multiplier def clear_loras(self): + self.loras_to_load = {} self.wrapper.clear_applied_loras() + def __del__(self): + del self.loras_to_load + class LoraManager: - loras_to_load: dict[str, float] - def __init__(self, pipe): self.lora_path = Path(global_models_dir(), 'lora') self.unet = pipe.unet - self.loras_to_load = {} # Legacy class handles lora not generated through diffusers - self.legacy = LegacyLora(pipe, self.lora_path) + self.legacy = LegacyLoraManager(pipe, self.lora_path) - def apply_lora_model(self, name, mult: float = 1.0): + def apply_lora_model(self, name): path = Path(self.lora_path, name) file = Path(path, "pytorch_lora_weights.bin") if path.is_dir() and file.is_file(): - print(f"loading lora: {path}") + print(f">> Loading LoRA: {path}") self.unet.load_attn_procs(path.absolute().as_posix()) else: - self.legacy.apply_lora_model(name, mult) - - def load_lora(self): - for name, multiplier in self.loras_to_load.items(): - self.apply_lora_model(name, multiplier) - - self.legacy.unload_applied_loras(self.loras_to_load) - - # Define a lora to be loaded - # Can be used to define a lora to be loaded outside of prompts - def set_lora(self, name, multiplier: float = 1.0): - self.loras_to_load[name] = multiplier - self.legacy.set_lora(name, multiplier) + print(f">> Unable to find valid LoRA at: {path}") - # Load the lora from a prompt, syntax is - # Multiplier should be a value between 0.0 and 1.0 - def configure_prompt(self, prompt: str) -> str: - self.clear_loras() + def load_lora_compel(self, lora_weights: list): + if len(lora_weights) > 0: + for lora in lora_weights: + self.apply_lora_model(lora.model) - # lora_match = re.compile(r"]+)>") - lora_match = re.compile(r"withLora\(([a-zA-Z\,\d]+)\)") + # Legacy functions, to pipe to LoraLegacyManager + def configure_prompt_legacy(self, prompt: str) -> str: + return self.legacy.configure_prompt(prompt) - for match in re.findall(lora_match, prompt): - # match = match.split(':') - match = match.split(',') - name = match[0].strip() - - mult = 1.0 - if len(match) == 2: - mult = float(match[1].strip()) - - self.set_lora(name, mult) - - # remove lora and return prompt to avoid the lora prompt causing issues in inference - return re.sub(lora_match, "", prompt) - - def clear_loras(self): - self.loras_to_load = {} - self.legacy.clear_loras() - - def __del__(self): - del self.loras_to_load + def load_lora_legacy(self): + self.legacy.load_lora() From b69f9d4af18ba02cae55d6f3b771f63b0c62795f Mon Sep 17 00:00:00 2001 From: Jordan Date: Thu, 23 Feb 2023 17:30:34 -0700 Subject: [PATCH 25/89] initial setup of cross attention --- ldm/invoke/conditioning.py | 2 +- ldm/invoke/generator/diffusers_pipeline.py | 7 +++++-- ldm/models/diffusion/shared_invokeai_diffusion.py | 7 ++++++- ldm/modules/lora_manager.py | 15 +++++++++++++-- 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/ldm/invoke/conditioning.py b/ldm/invoke/conditioning.py index 94e90cab559..32b19fab655 100644 --- a/ldm/invoke/conditioning.py +++ b/ldm/invoke/conditioning.py @@ -60,7 +60,7 @@ def get_uc_and_c_and_ec(prompt_string, model, log_tokens=False, skip_normalize_l else: positive_prompt = Compel.parse_prompt_string(positive_prompt_string) if model.lora_manager: - model.lora_manager.load_lora_compel(positive_prompt.lora_weights) + model.lora_manager.set_loras_compel(positive_prompt.lora_weights) negative_prompt: FlattenedPrompt|Blend = Compel.parse_prompt_string(negative_prompt_string) if log_tokens or getattr(Globals, "log_tokenization", False): diff --git a/ldm/invoke/generator/diffusers_pipeline.py b/ldm/invoke/generator/diffusers_pipeline.py index a34a503dfc4..7fd4b5880ed 100644 --- a/ldm/invoke/generator/diffusers_pipeline.py +++ b/ldm/invoke/generator/diffusers_pipeline.py @@ -290,12 +290,15 @@ def __init__( safety_checker=safety_checker, feature_extractor=feature_extractor, ) - self.invokeai_diffuser = InvokeAIDiffuserComponent(self.unet, self._unet_forward, is_running_diffusers=True) + self.lora_manager = LoraManager(self) + self.invokeai_diffuser = InvokeAIDiffuserComponent(self.unet, + self._unet_forward, + self.lora_manager, + is_running_diffusers=True) use_full_precision = (precision == 'float32' or precision == 'autocast') self.textual_inversion_manager = TextualInversionManager(tokenizer=self.tokenizer, text_encoder=self.text_encoder, full_precision=use_full_precision) - self.lora_manager = LoraManager(self) # InvokeAI's interface for text embeddings and whatnot self.embeddings_provider = EmbeddingsProvider( diff --git a/ldm/models/diffusion/shared_invokeai_diffusion.py b/ldm/models/diffusion/shared_invokeai_diffusion.py index cddddd3e860..5c53ee79d6a 100644 --- a/ldm/models/diffusion/shared_invokeai_diffusion.py +++ b/ldm/models/diffusion/shared_invokeai_diffusion.py @@ -13,6 +13,7 @@ restore_default_cross_attention, override_cross_attention, Context, get_cross_attention_modules, \ CrossAttentionType, SwapCrossAttnContext from ldm.models.diffusion.cross_attention_map_saving import AttentionMapSaver +from ldm.modules.lora_manager import LoraManager ModelForwardCallback: TypeAlias = Union[ # x, t, conditioning, Optional[cross-attention kwargs] @@ -51,7 +52,7 @@ def wants_cross_attention_control(self): return self.cross_attention_control_args is not None - def __init__(self, model, model_forward_callback: ModelForwardCallback, + def __init__(self, model, model_forward_callback: ModelForwardCallback, lora_manager: LoraManager, is_running_diffusers: bool=False, ): """ @@ -64,6 +65,7 @@ def __init__(self, model, model_forward_callback: ModelForwardCallback, self.model_forward_callback = model_forward_callback self.cross_attention_control_context = None self.sequential_guidance = Globals.sequential_guidance + self.lora_manager = lora_manager @contextmanager def custom_attention_context(self, @@ -71,6 +73,8 @@ def custom_attention_context(self, step_count: int): do_swap = extra_conditioning_info is not None and extra_conditioning_info.wants_cross_attention_control old_attn_processor = None + if self.lora_manager: + self.lora_manager.load_loras() if do_swap: old_attn_processor = self.override_cross_attention(extra_conditioning_info, step_count=step_count) @@ -82,6 +86,7 @@ def custom_attention_context(self, # TODO resuscitate attention map saving #self.remove_attention_map_saving() + def override_cross_attention(self, conditioning: ExtraConditioningInfo, step_count: int) -> Dict[str, AttnProcessor]: """ setup cross attention .swap control. for diffusers this replaces the attention processor, so diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 5c4d52d01f2..776de91d4d2 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -369,11 +369,15 @@ def __del__(self): class LoraManager: + models: list[str] + def __init__(self, pipe): self.lora_path = Path(global_models_dir(), 'lora') self.unet = pipe.unet + self.text_encoder = pipe.text_encoder # Legacy class handles lora not generated through diffusers self.legacy = LegacyLoraManager(pipe, self.lora_path) + self.models = [] def apply_lora_model(self, name): path = Path(self.lora_path, name) @@ -385,10 +389,17 @@ def apply_lora_model(self, name): else: print(f">> Unable to find valid LoRA at: {path}") - def load_lora_compel(self, lora_weights: list): + def set_lora_model(self, name): + self.models.append(name) + + def set_loras_compel(self, lora_weights: list): if len(lora_weights) > 0: for lora in lora_weights: - self.apply_lora_model(lora.model) + self.set_lora_model(lora.model) + + def load_loras(self): + for name in self.models: + self.apply_lora_model(name) # Legacy functions, to pipe to LoraLegacyManager def configure_prompt_legacy(self, prompt: str) -> str: From 68a3132d81807c9bd4c2ce8842365ce097c00785 Mon Sep 17 00:00:00 2001 From: Jordan Date: Thu, 23 Feb 2023 17:41:20 -0700 Subject: [PATCH 26/89] move legacy lora manager to its own file --- ldm/generate.py | 3 +- ldm/modules/legacy_lora_manager.py | 372 +++++++++++++++++++++++++++++ ldm/modules/lora_manager.py | 368 +--------------------------- 3 files changed, 376 insertions(+), 367 deletions(-) create mode 100644 ldm/modules/legacy_lora_manager.py diff --git a/ldm/generate.py b/ldm/generate.py index 9a7badb42e1..bcda1289410 100644 --- a/ldm/generate.py +++ b/ldm/generate.py @@ -488,7 +488,8 @@ def process_image(image,seed): self.sampler_name = sampler_name self._set_sampler() - # To try and load lora not trained through diffusers + # To try and load LoRA not trained through diffusers + # To be removed once support for diffusers LoRA weights is high enough if self.model.lora_manager: prompt = self.model.lora_manager.configure_prompt_legacy(prompt) # lora MUST process prompt before conditioning diff --git a/ldm/modules/legacy_lora_manager.py b/ldm/modules/legacy_lora_manager.py new file mode 100644 index 00000000000..a342f944934 --- /dev/null +++ b/ldm/modules/legacy_lora_manager.py @@ -0,0 +1,372 @@ +import re +from pathlib import Path +from ldm.invoke.devices import choose_torch_device +from safetensors.torch import load_file +import torch +from torch.utils.hooks import RemovableHandle +from diffusers.models import UNet2DConditionModel +from transformers import CLIPTextModel + +''' +This module supports loading LoRA weights trained with https://github.com/kohya-ss/sd-scripts +To be removed once support for diffusers LoRA weights is well supported +''' + + +class LoRALayer: + lora_name: str + name: str + scale: float + up: torch.nn.Module + down: torch.nn.Module + + def __init__(self, lora_name: str, name: str, rank=4, alpha=1.0): + self.lora_name = lora_name + self.name = name + self.scale = alpha / rank + + +class LoRAModuleWrapper: + unet: UNet2DConditionModel + text_encoder: CLIPTextModel + hooks: list[RemovableHandle] + + def __init__(self, unet, text_encoder): + self.unet = unet + self.text_encoder = text_encoder + self.hooks = [] + self.text_modules = None + self.unet_modules = None + + self.applied_loras = {} + self.loaded_loras = {} + + self.UNET_TARGET_REPLACE_MODULE = ["Transformer2DModel", "Attention"] + self.TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPMLP"] + self.LORA_PREFIX_UNET = 'lora_unet' + self.LORA_PREFIX_TEXT_ENCODER = 'lora_te' + + self.re_digits = re.compile(r"\d+") + self.re_unet_transformer_attn_blocks = re.compile( + r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_transformer_blocks_(\d+)_attn(\d+)_(.+).(weight|alpha)" + ) + self.re_unet_mid_blocks = re.compile( + r"lora_unet_mid_block_attentions_(\d+)_(.+).(weight|alpha)" + ) + self.re_unet_transformer_blocks = re.compile( + r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_transformer_blocks_(\d+)_(.+).(weight|alpha)" + ) + self.re_unet_mid_transformer_blocks = re.compile( + r"lora_unet_mid_block_attentions_(\d+)_transformer_blocks_(\d+)_(.+).(weight|alpha)" + ) + self.re_unet_norm_blocks = re.compile( + r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_(.+).(weight|alpha)" + ) + self.re_out = re.compile(r"to_out_(\d+)") + self.re_processor_weight = re.compile(r"(.+)_(\d+)_(.+)") + self.re_processor_alpha = re.compile(r"(.+)_(\d+)") + + def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) -> dict[str, torch.nn.Module]: + mapping = {} + for name, module in root_module.named_modules(): + if module.__class__.__name__ in target_replace_modules: + for child_name, child_module in module.named_modules(): + layer_type = child_module.__class__.__name__ + if layer_type == "Linear" or (layer_type == "Conv2d" and child_module.kernel_size == (1, 1)): + lora_name = prefix + '.' + name + '.' + child_name + lora_name = lora_name.replace('.', '_') + mapping[lora_name] = child_module + self.apply_module_forward(child_module, lora_name) + return mapping + + if self.text_modules is None: + self.text_modules = find_modules( + self.LORA_PREFIX_TEXT_ENCODER, + text_encoder, + self.TEXT_ENCODER_TARGET_REPLACE_MODULE + ) + + if self.unet_modules is None: + self.unet_modules = find_modules( + self.LORA_PREFIX_UNET, + unet, + self.UNET_TARGET_REPLACE_MODULE + ) + + def convert_key_to_diffusers(self, key): + def match(match_list, regex, subject): + r = re.match(regex, subject) + if not r: + return False + + match_list.clear() + match_list.extend([int(x) if re.match(self.re_digits, x) else x for x in r.groups()]) + return True + + m = [] + + def get_front_block(first, second, third, fourth=None): + if first == "mid": + b_type = f"mid_block" + else: + b_type = f"{first}_blocks.{second}" + + if fourth is None: + return f"{b_type}.attentions.{third}" + + return f"{b_type}.attentions.{third}.transformer_blocks.{fourth}" + + def get_back_block(first, second, third): + second = second.replace(".lora_", "_lora.") + if third == "weight": + bm = [] + if match(bm, self.re_processor_weight, second): + s_bm = bm[2].split('.') + s_front = f"{bm[0]}_{s_bm[0]}" + s_back = f"{s_bm[1]}" + if int(bm[1]) == 0: + second = f"{s_front}.{s_back}" + else: + second = f"{s_front}.{bm[1]}.{s_back}" + elif third == "alpha": + bma = [] + if match(bma, self.re_processor_alpha, second): + if int(bma[1]) == 0: + second = f"{bma[0]}" + else: + second = f"{bma[0]}.{bma[1]}" + + if first is None: + return f"processor.{second}.{third}" + + return f"attn{first}.processor.{second}.{third}" + + if match(m, self.re_unet_transformer_attn_blocks, key): + return f"{get_front_block(m[0], m[1], m[2], m[3])}.{get_back_block(m[4], m[5], m[6])}" + + if match(m, self.re_unet_transformer_blocks, key): + return f"{get_front_block(m[0], m[1], m[2], m[3])}.{get_back_block(None, m[4], m[5])}" + + if match(m, self.re_unet_mid_transformer_blocks, key): + return f"{get_front_block('mid', None, m[0], m[1])}.{get_back_block(None, m[2], m[3])}" + + if match(m, self.re_unet_norm_blocks, key): + return f"{get_front_block(m[0], m[1], m[2])}.{get_back_block(None, m[3], m[4])}" + + if match(m, self.re_unet_mid_blocks, key): + return f"{get_front_block('mid', None, m[0])}.{get_back_block(None, m[1], m[2])}" + + return key + + def lora_forward_hook(self, name): + wrapper = self + + def lora_forward(module, input_h, output): + if len(wrapper.loaded_loras) == 0: + return output + + for lora in wrapper.applied_loras.values(): + layer = lora.layers.get(name, None) + if layer is None: + continue + output = output + layer.up(layer.down(*input_h)) * lora.multiplier * layer.scale + return output + + return lora_forward + + def apply_module_forward(self, module, name): + handle = module.register_forward_hook(self.lora_forward_hook(name)) + self.hooks.append(handle) + + def clear_hooks(self): + for hook in self.hooks: + hook.remove() + + self.hooks.clear() + + def clear_applied_loras(self): + self.applied_loras.clear() + + def clear_loaded_loras(self): + self.loaded_loras.clear() + + def __del__(self): + self.clear_hooks() + self.clear_applied_loras() + self.clear_loaded_loras() + del self.text_modules + del self.unet_modules + del self.hooks + + +class LoRA: + name: str + layers: dict[str, LoRALayer] + device: torch.device + dtype: torch.dtype + wrapper: LoRAModuleWrapper + multiplier: float + + def __init__(self, name: str, device, dtype, wrapper, multiplier=1.0): + self.name = name + self.layers = {} + self.multiplier = multiplier + self.device = device + self.dtype = dtype + self.wrapper = wrapper + self.rank = None + self.alpha = None + + def load_from_dict(self, state_dict): + for key, value in state_dict.items(): + stem, leaf = key.split(".", 1) + + if leaf.endswith("alpha"): + if self.alpha is None: + self.alpha = value.item() + continue + + if stem.startswith(self.wrapper.LORA_PREFIX_TEXT_ENCODER): + wrapped = self.wrapper.text_modules.get(stem, None) + if wrapped is None: + print(f">> Missing layer: {stem}") + continue + + if self.rank is None and leaf == 'lora_down.weight' and len(value.size()) == 2: + self.rank = value.shape[0] + self.load_lora_layer(stem, leaf, value, wrapped) + continue + elif stem.startswith(self.wrapper.LORA_PREFIX_UNET): + wrapped = self.wrapper.unet_modules.get(stem, None) + if wrapped is None: + print(f">> Missing layer: {stem}") + continue + + if self.rank is None and leaf == 'lora_down.weight' and len(value.size()) == 2: + self.rank = value.shape[0] + self.load_lora_layer(stem, leaf, value, wrapped) + continue + else: + continue + + def load_lora_layer(self, stem: str, leaf: str, value, wrapped: torch.nn.Module): + layer = self.layers.get(stem, None) + if layer is None: + layer = LoRALayer(self.name, stem, self.rank, self.alpha) + self.layers[stem] = layer + + if type(wrapped) == torch.nn.Linear: + module = torch.nn.Linear(value.shape[1], value.shape[0], bias=False) + elif type(wrapped) == torch.nn.Conv2d: + module = torch.nn.Conv2d(value.shape[1], value.shape[0], (1, 1), bias=False) + else: + print(f">> Encountered unknown lora layer module in {self.name}: {type(value).__name__}") + return + + with torch.no_grad(): + module.weight.copy_(value) + + module.to(device=self.device, dtype=self.dtype) + + if leaf == "lora_up.weight": + layer.up = module + elif leaf == "lora_down.weight": + layer.down = module + else: + print(f">> Encountered unknown layer in lora {self.name}: {leaf}") + return + + +class LegacyLoraManager: + def __init__(self, pipe, lora_path): + self.unet = pipe.unet + self.lora_path = lora_path + self.wrapper = LoRAModuleWrapper(pipe.unet, pipe.text_encoder) + self.text_encoder = pipe.text_encoder + self.device = torch.device(choose_torch_device()) + self.dtype = pipe.unet.dtype + self.loras_to_load = {} + + def load_lora_module(self, name, path_file, multiplier: float = 1.0): + # can be used instead to load through diffusers, once enough support is added + # lora = load_lora_attn(name, path_file, self.wrapper, multiplier) + + print(f">> Loading lora {name} from {path_file}") + if path_file.suffix == '.safetensors': + checkpoint = load_file(path_file.absolute().as_posix(), device='cpu') + else: + checkpoint = torch.load(path_file, map_location='cpu') + + lora = LoRA(name, self.device, self.dtype, self.wrapper, multiplier) + lora.load_from_dict(checkpoint) + self.wrapper.loaded_loras[name] = lora + + return lora + + def configure_prompt(self, prompt: str) -> str: + self.clear_loras() + + # lora_match = re.compile(r"]+)>") + lora_match = re.compile(r"withLoraLegacy\(([a-zA-Z\,\d]+)\)") + + for match in re.findall(lora_match, prompt): + # match = match.split(':') + match = match.split(',') + name = match[0].strip() + + mult = 1.0 + if len(match) == 2: + mult = float(match[1].strip()) + + self.set_lora(name, mult) + + # remove lora and return prompt to avoid the lora prompt causing issues in inference + return re.sub(lora_match, "", prompt) + + def apply_lora_model(self, name, mult: float = 1.0): + path_file = Path(self.lora_path, f'{name}.ckpt') + if Path(self.lora_path, f'{name}.safetensors').exists(): + path_file = Path(self.lora_path, f'{name}.safetensors') + + if not path_file.exists(): + print(f">> Unable to find lora: {name}") + return + + lora = self.wrapper.loaded_loras.get(name, None) + if lora is None: + lora = self.load_lora_module(name, path_file, mult) + + lora.multiplier = mult + self.wrapper.applied_loras[name] = lora + + def load_lora(self): + for name, multiplier in self.loras_to_load.items(): + self.apply_lora_model(name, multiplier) + + def unload_applied_loras(self, loras_to_load): + # unload any lora's not defined by loras_to_load + for name in list(self.wrapper.applied_loras.keys()): + if name not in loras_to_load: + self.unload_applied_lora(name) + + def unload_applied_lora(self, lora_name: str): + if lora_name in self.wrapper.applied_loras: + del self.wrapper.applied_loras[lora_name] + + def unload_lora(self, lora_name: str): + if lora_name in self.wrapper.loaded_loras: + del self.wrapper.loaded_loras[lora_name] + + def set_lora(self, name, multiplier: float = 1.0): + self.loras_to_load[name] = multiplier + + # update the multiplier if the lora was already loaded + if name in self.wrapper.loaded_loras: + self.wrapper.loaded_loras[name].multiplier = multiplier + + def clear_loras(self): + self.loras_to_load = {} + self.wrapper.clear_applied_loras() + + def __del__(self): + del self.loras_to_load diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 776de91d4d2..0ea078c5257 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -1,371 +1,6 @@ -import re from pathlib import Path from ldm.invoke.globals import global_models_dir -from ldm.invoke.devices import choose_torch_device -from safetensors.torch import load_file -import torch -from torch.utils.hooks import RemovableHandle -from diffusers.models import UNet2DConditionModel -from transformers import CLIPTextModel - - -class LoRALayer: - lora_name: str - name: str - scale: float - up: torch.nn.Module - down: torch.nn.Module - - def __init__(self, lora_name: str, name: str, rank=4, alpha=1.0): - self.lora_name = lora_name - self.name = name - self.scale = alpha / rank - - -class LoRAModuleWrapper: - unet: UNet2DConditionModel - text_encoder: CLIPTextModel - hooks: list[RemovableHandle] - - def __init__(self, unet, text_encoder): - self.unet = unet - self.text_encoder = text_encoder - self.hooks = [] - self.text_modules = None - self.unet_modules = None - - self.applied_loras = {} - self.loaded_loras = {} - - self.UNET_TARGET_REPLACE_MODULE = ["Transformer2DModel", "Attention"] - self.TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPMLP"] - self.LORA_PREFIX_UNET = 'lora_unet' - self.LORA_PREFIX_TEXT_ENCODER = 'lora_te' - - self.re_digits = re.compile(r"\d+") - self.re_unet_transformer_attn_blocks = re.compile( - r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_transformer_blocks_(\d+)_attn(\d+)_(.+).(weight|alpha)" - ) - self.re_unet_mid_blocks = re.compile( - r"lora_unet_mid_block_attentions_(\d+)_(.+).(weight|alpha)" - ) - self.re_unet_transformer_blocks = re.compile( - r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_transformer_blocks_(\d+)_(.+).(weight|alpha)" - ) - self.re_unet_mid_transformer_blocks = re.compile( - r"lora_unet_mid_block_attentions_(\d+)_transformer_blocks_(\d+)_(.+).(weight|alpha)" - ) - self.re_unet_norm_blocks = re.compile( - r"lora_unet_(.+)_blocks_(\d+)_attentions_(\d+)_(.+).(weight|alpha)" - ) - self.re_out = re.compile(r"to_out_(\d+)") - self.re_processor_weight = re.compile(r"(.+)_(\d+)_(.+)") - self.re_processor_alpha = re.compile(r"(.+)_(\d+)") - - def find_modules(prefix, root_module: torch.nn.Module, target_replace_modules) -> dict[str, torch.nn.Module]: - mapping = {} - for name, module in root_module.named_modules(): - if module.__class__.__name__ in target_replace_modules: - for child_name, child_module in module.named_modules(): - layer_type = child_module.__class__.__name__ - if layer_type == "Linear" or (layer_type == "Conv2d" and child_module.kernel_size == (1, 1)): - lora_name = prefix + '.' + name + '.' + child_name - lora_name = lora_name.replace('.', '_') - mapping[lora_name] = child_module - self.apply_module_forward(child_module, lora_name) - return mapping - - if self.text_modules is None: - self.text_modules = find_modules( - self.LORA_PREFIX_TEXT_ENCODER, - text_encoder, - self.TEXT_ENCODER_TARGET_REPLACE_MODULE - ) - - if self.unet_modules is None: - self.unet_modules = find_modules( - self.LORA_PREFIX_UNET, - unet, - self.UNET_TARGET_REPLACE_MODULE - ) - - def convert_key_to_diffusers(self, key): - def match(match_list, regex, subject): - r = re.match(regex, subject) - if not r: - return False - - match_list.clear() - match_list.extend([int(x) if re.match(self.re_digits, x) else x for x in r.groups()]) - return True - - m = [] - - def get_front_block(first, second, third, fourth=None): - if first == "mid": - b_type = f"mid_block" - else: - b_type = f"{first}_blocks.{second}" - - if fourth is None: - return f"{b_type}.attentions.{third}" - - return f"{b_type}.attentions.{third}.transformer_blocks.{fourth}" - - def get_back_block(first, second, third): - second = second.replace(".lora_", "_lora.") - if third == "weight": - bm = [] - if match(bm, self.re_processor_weight, second): - s_bm = bm[2].split('.') - s_front = f"{bm[0]}_{s_bm[0]}" - s_back = f"{s_bm[1]}" - if int(bm[1]) == 0: - second = f"{s_front}.{s_back}" - else: - second = f"{s_front}.{bm[1]}.{s_back}" - elif third == "alpha": - bma = [] - if match(bma, self.re_processor_alpha, second): - if int(bma[1]) == 0: - second = f"{bma[0]}" - else: - second = f"{bma[0]}.{bma[1]}" - - if first is None: - return f"processor.{second}.{third}" - - return f"attn{first}.processor.{second}.{third}" - - if match(m, self.re_unet_transformer_attn_blocks, key): - return f"{get_front_block(m[0], m[1], m[2], m[3])}.{get_back_block(m[4], m[5], m[6])}" - - if match(m, self.re_unet_transformer_blocks, key): - return f"{get_front_block(m[0], m[1], m[2], m[3])}.{get_back_block(None, m[4], m[5])}" - - if match(m, self.re_unet_mid_transformer_blocks, key): - return f"{get_front_block('mid', None, m[0], m[1])}.{get_back_block(None, m[2], m[3])}" - - if match(m, self.re_unet_norm_blocks, key): - return f"{get_front_block(m[0], m[1], m[2])}.{get_back_block(None, m[3], m[4])}" - - if match(m, self.re_unet_mid_blocks, key): - return f"{get_front_block('mid', None, m[0])}.{get_back_block(None, m[1], m[2])}" - - return key - - def lora_forward_hook(self, name): - wrapper = self - - def lora_forward(module, input_h, output): - if len(wrapper.loaded_loras) == 0: - return output - - for lora in wrapper.applied_loras.values(): - layer = lora.layers.get(name, None) - if layer is None: - continue - output = output + layer.up(layer.down(*input_h)) * lora.multiplier * layer.scale - return output - - return lora_forward - - def apply_module_forward(self, module, name): - handle = module.register_forward_hook(self.lora_forward_hook(name)) - self.hooks.append(handle) - - def clear_hooks(self): - for hook in self.hooks: - hook.remove() - - self.hooks.clear() - - def clear_applied_loras(self): - self.applied_loras.clear() - - def clear_loaded_loras(self): - self.loaded_loras.clear() - - def __del__(self): - self.clear_hooks() - self.clear_applied_loras() - self.clear_loaded_loras() - del self.text_modules - del self.unet_modules - del self.hooks - - -class LoRA: - name: str - layers: dict[str, LoRALayer] - device: torch.device - dtype: torch.dtype - wrapper: LoRAModuleWrapper - multiplier: float - - def __init__(self, name: str, device, dtype, wrapper, multiplier=1.0): - self.name = name - self.layers = {} - self.multiplier = multiplier - self.device = device - self.dtype = dtype - self.wrapper = wrapper - self.rank = None - self.alpha = None - - def load_from_dict(self, state_dict): - for key, value in state_dict.items(): - stem, leaf = key.split(".", 1) - - if leaf.endswith("alpha"): - if self.alpha is None: - self.alpha = value.item() - continue - - if stem.startswith(self.wrapper.LORA_PREFIX_TEXT_ENCODER): - wrapped = self.wrapper.text_modules.get(stem, None) - if wrapped is None: - print(f">> Missing layer: {stem}") - continue - - if self.rank is None and leaf == 'lora_down.weight' and len(value.size()) == 2: - self.rank = value.shape[0] - self.load_lora_layer(stem, leaf, value, wrapped) - continue - elif stem.startswith(self.wrapper.LORA_PREFIX_UNET): - wrapped = self.wrapper.unet_modules.get(stem, None) - if wrapped is None: - print(f">> Missing layer: {stem}") - continue - - if self.rank is None and leaf == 'lora_down.weight' and len(value.size()) == 2: - self.rank = value.shape[0] - self.load_lora_layer(stem, leaf, value, wrapped) - continue - else: - continue - - def load_lora_layer(self, stem: str, leaf: str, value, wrapped: torch.nn.Module): - layer = self.layers.get(stem, None) - if layer is None: - layer = LoRALayer(self.name, stem, self.rank, self.alpha) - self.layers[stem] = layer - - if type(wrapped) == torch.nn.Linear: - module = torch.nn.Linear(value.shape[1], value.shape[0], bias=False) - elif type(wrapped) == torch.nn.Conv2d: - module = torch.nn.Conv2d(value.shape[1], value.shape[0], (1, 1), bias=False) - else: - print(f">> Encountered unknown lora layer module in {self.name}: {type(value).__name__}") - return - - with torch.no_grad(): - module.weight.copy_(value) - - module.to(device=self.device, dtype=self.dtype) - - if leaf == "lora_up.weight": - layer.up = module - elif leaf == "lora_down.weight": - layer.down = module - else: - print(f">> Encountered unknown layer in lora {self.name}: {leaf}") - return - - -class LegacyLoraManager: - def __init__(self, pipe, lora_path): - self.unet = pipe.unet - self.lora_path = lora_path - self.wrapper = LoRAModuleWrapper(pipe.unet, pipe.text_encoder) - self.text_encoder = pipe.text_encoder - self.device = torch.device(choose_torch_device()) - self.dtype = pipe.unet.dtype - self.loras_to_load = {} - - def load_lora_module(self, name, path_file, multiplier: float = 1.0): - # can be used instead to load through diffusers, once enough support is added - # lora = load_lora_attn(name, path_file, self.wrapper, multiplier) - - print(f">> Loading lora {name} from {path_file}") - if path_file.suffix == '.safetensors': - checkpoint = load_file(path_file.absolute().as_posix(), device='cpu') - else: - checkpoint = torch.load(path_file, map_location='cpu') - - lora = LoRA(name, self.device, self.dtype, self.wrapper, multiplier) - lora.load_from_dict(checkpoint) - self.wrapper.loaded_loras[name] = lora - - return lora - - def configure_prompt(self, prompt: str) -> str: - self.clear_loras() - - # lora_match = re.compile(r"]+)>") - lora_match = re.compile(r"withLoraLegacy\(([a-zA-Z\,\d]+)\)") - - for match in re.findall(lora_match, prompt): - # match = match.split(':') - match = match.split(',') - name = match[0].strip() - - mult = 1.0 - if len(match) == 2: - mult = float(match[1].strip()) - - self.set_lora(name, mult) - - # remove lora and return prompt to avoid the lora prompt causing issues in inference - return re.sub(lora_match, "", prompt) - - def apply_lora_model(self, name, mult: float = 1.0): - path_file = Path(self.lora_path, f'{name}.ckpt') - if Path(self.lora_path, f'{name}.safetensors').exists(): - path_file = Path(self.lora_path, f'{name}.safetensors') - - if not path_file.exists(): - print(f">> Unable to find lora: {name}") - return - - lora = self.wrapper.loaded_loras.get(name, None) - if lora is None: - lora = self.load_lora_module(name, path_file, mult) - - lora.multiplier = mult - self.wrapper.applied_loras[name] = lora - - def load_lora(self): - for name, multiplier in self.loras_to_load.items(): - self.apply_lora_model(name, multiplier) - - def unload_applied_loras(self, loras_to_load): - # unload any lora's not defined by loras_to_load - for name in list(self.wrapper.applied_loras.keys()): - if name not in loras_to_load: - self.unload_applied_lora(name) - - def unload_applied_lora(self, lora_name: str): - if lora_name in self.wrapper.applied_loras: - del self.wrapper.applied_loras[lora_name] - - def unload_lora(self, lora_name: str): - if lora_name in self.wrapper.loaded_loras: - del self.wrapper.loaded_loras[lora_name] - - def set_lora(self, name, multiplier: float = 1.0): - self.loras_to_load[name] = multiplier - - # update the multiplier if the lora was already loaded - if name in self.wrapper.loaded_loras: - self.wrapper.loaded_loras[name].multiplier = multiplier - - def clear_loras(self): - self.loras_to_load = {} - self.wrapper.clear_applied_loras() - - def __del__(self): - del self.loras_to_load +from .legacy_lora_manager import LegacyLoraManager class LoraManager: @@ -402,6 +37,7 @@ def load_loras(self): self.apply_lora_model(name) # Legacy functions, to pipe to LoraLegacyManager + # To be removed once support for diffusers LoRA weights is high enough def configure_prompt_legacy(self, prompt: str) -> str: return self.legacy.configure_prompt(prompt) From 4ce8b1ba21b94608f40dd4f582dc12729b3994f7 Mon Sep 17 00:00:00 2001 From: Jordan Date: Thu, 23 Feb 2023 19:27:45 -0700 Subject: [PATCH 27/89] setup cross conditioning for lora --- ldm/invoke/conditioning.py | 6 ++- ldm/invoke/generator/diffusers_pipeline.py | 5 +- ldm/invoke/globals.py | 4 ++ .../diffusion/shared_invokeai_diffusion.py | 32 ++++++++--- ldm/modules/lora_manager.py | 54 +++++++++++-------- 5 files changed, 68 insertions(+), 33 deletions(-) diff --git a/ldm/invoke/conditioning.py b/ldm/invoke/conditioning.py index 32b19fab655..d4fc978e904 100644 --- a/ldm/invoke/conditioning.py +++ b/ldm/invoke/conditioning.py @@ -55,12 +55,13 @@ def get_uc_and_c_and_ec(prompt_string, model, log_tokens=False, skip_normalize_l positive_prompt_string, negative_prompt_string = split_prompt_to_positive_and_negative(prompt_string) legacy_blend = try_parse_legacy_blend(positive_prompt_string, skip_normalize_legacy_blend) positive_prompt: FlattenedPrompt|Blend + lora_conditions = None if legacy_blend is not None: positive_prompt = legacy_blend else: positive_prompt = Compel.parse_prompt_string(positive_prompt_string) if model.lora_manager: - model.lora_manager.set_loras_compel(positive_prompt.lora_weights) + lora_conditions = model.lora_manager.set_loras_conditions(positive_prompt.lora_weights) negative_prompt: FlattenedPrompt|Blend = Compel.parse_prompt_string(negative_prompt_string) if log_tokens or getattr(Globals, "log_tokenization", False): @@ -73,7 +74,8 @@ def get_uc_and_c_and_ec(prompt_string, model, log_tokens=False, skip_normalize_l ec = InvokeAIDiffuserComponent.ExtraConditioningInfo(tokens_count_including_eos_bos=tokens_count, cross_attention_control_args=options.get( - 'cross_attention_control', None)) + 'cross_attention_control', None), + lora_conditions=lora_conditions) return uc, c, ec diff --git a/ldm/invoke/generator/diffusers_pipeline.py b/ldm/invoke/generator/diffusers_pipeline.py index 7fd4b5880ed..46034b845b0 100644 --- a/ldm/invoke/generator/diffusers_pipeline.py +++ b/ldm/invoke/generator/diffusers_pipeline.py @@ -291,10 +291,7 @@ def __init__( feature_extractor=feature_extractor, ) self.lora_manager = LoraManager(self) - self.invokeai_diffuser = InvokeAIDiffuserComponent(self.unet, - self._unet_forward, - self.lora_manager, - is_running_diffusers=True) + self.invokeai_diffuser = InvokeAIDiffuserComponent(self.unet, self._unet_forward, is_running_diffusers=True) use_full_precision = (precision == 'float32' or precision == 'autocast') self.textual_inversion_manager = TextualInversionManager(tokenizer=self.tokenizer, text_encoder=self.text_encoder, diff --git a/ldm/invoke/globals.py b/ldm/invoke/globals.py index e47b5c059e5..2f4d9fdd779 100644 --- a/ldm/invoke/globals.py +++ b/ldm/invoke/globals.py @@ -23,6 +23,7 @@ Globals.initfile = 'invokeai.init' Globals.models_file = 'models.yaml' Globals.models_dir = 'models' +Globals.lora_models_dir = 'lora' Globals.config_dir = 'configs' Globals.autoscan_dir = 'weights' Globals.converted_ckpts_dir = 'converted_ckpts' @@ -75,6 +76,9 @@ def global_config_dir()->Path: def global_models_dir()->Path: return Path(Globals.root, Globals.models_dir) +def global_lora_models_dir()->Path: + return Path(global_models_dir(), Globals.lora_models_dir) + def global_autoscan_dir()->Path: return Path(Globals.root, Globals.autoscan_dir) diff --git a/ldm/models/diffusion/shared_invokeai_diffusion.py b/ldm/models/diffusion/shared_invokeai_diffusion.py index 5c53ee79d6a..8ee87c53c1f 100644 --- a/ldm/models/diffusion/shared_invokeai_diffusion.py +++ b/ldm/models/diffusion/shared_invokeai_diffusion.py @@ -13,7 +13,7 @@ restore_default_cross_attention, override_cross_attention, Context, get_cross_attention_modules, \ CrossAttentionType, SwapCrossAttnContext from ldm.models.diffusion.cross_attention_map_saving import AttentionMapSaver -from ldm.modules.lora_manager import LoraManager +from ldm.modules.lora_manager import LoraCondition ModelForwardCallback: TypeAlias = Union[ # x, t, conditioning, Optional[cross-attention kwargs] @@ -46,13 +46,21 @@ class ExtraConditioningInfo: tokens_count_including_eos_bos: int cross_attention_control_args: Optional[Arguments] = None + lora_conditions: Optional[list[LoraCondition]] = None @property def wants_cross_attention_control(self): return self.cross_attention_control_args is not None + @property + def has_lora_conditions(self): + return self.lora_conditions is not None + + @property + def should_do_swap(self): + return self.wants_cross_attention_control or self.has_lora_conditions - def __init__(self, model, model_forward_callback: ModelForwardCallback, lora_manager: LoraManager, + def __init__(self, model, model_forward_callback: ModelForwardCallback, is_running_diffusers: bool=False, ): """ @@ -65,16 +73,13 @@ def __init__(self, model, model_forward_callback: ModelForwardCallback, lora_man self.model_forward_callback = model_forward_callback self.cross_attention_control_context = None self.sequential_guidance = Globals.sequential_guidance - self.lora_manager = lora_manager @contextmanager def custom_attention_context(self, extra_conditioning_info: Optional[ExtraConditioningInfo], step_count: int): - do_swap = extra_conditioning_info is not None and extra_conditioning_info.wants_cross_attention_control + do_swap = extra_conditioning_info is not None and extra_conditioning_info.should_do_swap old_attn_processor = None - if self.lora_manager: - self.lora_manager.load_loras() if do_swap: old_attn_processor = self.override_cross_attention(extra_conditioning_info, step_count=step_count) @@ -93,6 +98,21 @@ def override_cross_attention(self, conditioning: ExtraConditioningInfo, step_cou the previous attention processor is returned so that the caller can restore it later. """ self.conditioning = conditioning + + # If other modules do not want cross_attention_control then we should bypass setting up Context + old_attn_processors = None + if not self.conditioning.wants_cross_attention_control: + old_attn_processors = self.model.attn_processors + + # Load lora conditions into the model + if self.conditioning.has_lora_conditions: + for condition in self.conditioning.lora_conditions: + condition(self.model) + + # return old_attn_processors if there is nothing further to do here + if not self.conditioning.wants_cross_attention_control: + return old_attn_processors + self.cross_attention_control_context = Context( arguments=self.conditioning.cross_attention_control_args, step_count=step_count diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 0ea078c5257..89ae21c8133 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -1,40 +1,52 @@ from pathlib import Path -from ldm.invoke.globals import global_models_dir +from ldm.invoke.globals import global_lora_models_dir from .legacy_lora_manager import LegacyLoraManager -class LoraManager: - models: list[str] +class LoraCondition: + name: str + weight: float - def __init__(self, pipe): - self.lora_path = Path(global_models_dir(), 'lora') - self.unet = pipe.unet - self.text_encoder = pipe.text_encoder - # Legacy class handles lora not generated through diffusers - self.legacy = LegacyLoraManager(pipe, self.lora_path) - self.models = [] + def __init__(self, name, weight: float = 1.0): + self.name = name + self.weight = weight - def apply_lora_model(self, name): - path = Path(self.lora_path, name) + def __call__(self, model): + path = Path(global_lora_models_dir(), self.name) file = Path(path, "pytorch_lora_weights.bin") if path.is_dir() and file.is_file(): - print(f">> Loading LoRA: {path}") - self.unet.load_attn_procs(path.absolute().as_posix()) + if model.load_attn_procs: + print(f">> Loading LoRA: {path}") + model.load_attn_procs(path.absolute().as_posix()) + else: + print(f">> Invalid Model to load LoRA") else: print(f">> Unable to find valid LoRA at: {path}") - def set_lora_model(self, name): - self.models.append(name) - def set_loras_compel(self, lora_weights: list): +class LoraManager: + conditions: list[LoraCondition] + + def __init__(self, pipe): + self.unet = pipe.unet + self.text_encoder = pipe.text_encoder + # Legacy class handles lora not generated through diffusers + self.legacy = LegacyLoraManager(pipe, global_lora_models_dir()) + self.conditions = [] + + def set_lora_model(self, name, weight: float = 1.0): + self.conditions.append(LoraCondition(name, weight)) + + def set_loras_conditions(self, lora_weights: list): if len(lora_weights) > 0: for lora in lora_weights: - self.set_lora_model(lora.model) + self.set_lora_model(lora.model, lora.weight) + + if len(self.conditions) > 0: + return self.conditions - def load_loras(self): - for name in self.models: - self.apply_lora_model(name) + return None # Legacy functions, to pipe to LoraLegacyManager # To be removed once support for diffusers LoRA weights is high enough From 523e44ccfe464a13056d5aade7fefe845e1a7fb0 Mon Sep 17 00:00:00 2001 From: Jordan Date: Fri, 24 Feb 2023 01:32:09 -0700 Subject: [PATCH 28/89] simplify manager --- ldm/modules/lora_manager.py | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 89ae21c8133..885d82b53bd 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -13,12 +13,16 @@ def __init__(self, name, weight: float = 1.0): def __call__(self, model): path = Path(global_lora_models_dir(), self.name) - file = Path(path, "pytorch_lora_weights.bin") - if path.is_dir() and file.is_file(): + # TODO: make model able to load from huggingface, rather then just local files + if path.is_dir(): if model.load_attn_procs: - print(f">> Loading LoRA: {path}") - model.load_attn_procs(path.absolute().as_posix()) + file = Path(path, "pytorch_lora_weights.bin") + if file.is_file(): + print(f">> Loading LoRA: {path}") + model.load_attn_procs(path.absolute().as_posix()) + else: + print(f">> Unable to find valid LoRA at: {path}") else: print(f">> Invalid Model to load LoRA") else: @@ -26,25 +30,19 @@ def __call__(self, model): class LoraManager: - conditions: list[LoraCondition] - def __init__(self, pipe): - self.unet = pipe.unet - self.text_encoder = pipe.text_encoder # Legacy class handles lora not generated through diffusers self.legacy = LegacyLoraManager(pipe, global_lora_models_dir()) - self.conditions = [] - - def set_lora_model(self, name, weight: float = 1.0): - self.conditions.append(LoraCondition(name, weight)) - def set_loras_conditions(self, lora_weights: list): + @staticmethod + def set_loras_conditions(lora_weights: list): + conditions = [] if len(lora_weights) > 0: for lora in lora_weights: - self.set_lora_model(lora.model, lora.weight) + conditions.append(LoraCondition(lora.model, lora.weight)) - if len(self.conditions) > 0: - return self.conditions + if len(conditions) > 0: + return conditions return None From 7dbe027b180a9a32ae5d13666139dede94688fc5 Mon Sep 17 00:00:00 2001 From: Damian Stewart Date: Fri, 24 Feb 2023 12:46:57 +0100 Subject: [PATCH 29/89] tweaks and small refactors --- .../diffusion/cross_attention_control.py | 6 +-- ldm/models/diffusion/ddim.py | 2 +- ldm/models/diffusion/ksampler.py | 2 +- ldm/models/diffusion/plms.py | 2 +- .../diffusion/shared_invokeai_diffusion.py | 50 ++++++++----------- 5 files changed, 25 insertions(+), 37 deletions(-) diff --git a/ldm/models/diffusion/cross_attention_control.py b/ldm/models/diffusion/cross_attention_control.py index a34f22e683f..7a66448b1cb 100644 --- a/ldm/models/diffusion/cross_attention_control.py +++ b/ldm/models/diffusion/cross_attention_control.py @@ -289,10 +289,10 @@ def get_invokeai_attention_mem_efficient(self, q, k, v): -def restore_default_cross_attention(model, is_running_diffusers: bool, restore_attention_processor: Optional[AttnProcessor]=None): +def restore_default_cross_attention(model, is_running_diffusers: bool, processors_to_restore: Optional[AttnProcessor]=None): if is_running_diffusers: unet = model - unet.set_attn_processor(restore_attention_processor or CrossAttnProcessor()) + unet.set_attn_processor(processors_to_restore or CrossAttnProcessor()) else: remove_attention_function(model) @@ -334,11 +334,9 @@ def override_cross_attention(model, context: Context, is_running_diffusers = Fal default_slice_size = 4 slice_size = next((p.slice_size for p in old_attn_processors.values() if type(p) is SlicedAttnProcessor), default_slice_size) unet.set_attn_processor(SlicedSwapCrossAttnProcesser(slice_size=slice_size)) - return old_attn_processors else: context.register_cross_attention_modules(model) inject_attention_function(model, context) - return None diff --git a/ldm/models/diffusion/ddim.py b/ldm/models/diffusion/ddim.py index 304009c1d3c..ebf3ea22b6e 100644 --- a/ldm/models/diffusion/ddim.py +++ b/ldm/models/diffusion/ddim.py @@ -19,7 +19,7 @@ def prepare_to_sample(self, t_enc, **kwargs): all_timesteps_count = kwargs.get('all_timesteps_count', t_enc) if extra_conditioning_info is not None and extra_conditioning_info.wants_cross_attention_control: - self.invokeai_diffuser.override_cross_attention(extra_conditioning_info, step_count = all_timesteps_count) + self.invokeai_diffuser.override_attention_processors(extra_conditioning_info, step_count = all_timesteps_count) else: self.invokeai_diffuser.restore_default_cross_attention() diff --git a/ldm/models/diffusion/ksampler.py b/ldm/models/diffusion/ksampler.py index f98ca8de21a..d5bc2b5d146 100644 --- a/ldm/models/diffusion/ksampler.py +++ b/ldm/models/diffusion/ksampler.py @@ -43,7 +43,7 @@ def prepare_to_sample(self, t_enc, **kwargs): extra_conditioning_info = kwargs.get('extra_conditioning_info', None) if extra_conditioning_info is not None and extra_conditioning_info.wants_cross_attention_control: - self.invokeai_diffuser.override_cross_attention(extra_conditioning_info, step_count = t_enc) + self.invokeai_diffuser.override_attention_processors(extra_conditioning_info, step_count = t_enc) else: self.invokeai_diffuser.restore_default_cross_attention() diff --git a/ldm/models/diffusion/plms.py b/ldm/models/diffusion/plms.py index 9edd3337803..aa8ccc1b5e7 100644 --- a/ldm/models/diffusion/plms.py +++ b/ldm/models/diffusion/plms.py @@ -21,7 +21,7 @@ def prepare_to_sample(self, t_enc, **kwargs): all_timesteps_count = kwargs.get('all_timesteps_count', t_enc) if extra_conditioning_info is not None and extra_conditioning_info.wants_cross_attention_control: - self.invokeai_diffuser.override_cross_attention(extra_conditioning_info, step_count = all_timesteps_count) + self.invokeai_diffuser.override_attention_processors(extra_conditioning_info, step_count = all_timesteps_count) else: self.invokeai_diffuser.restore_default_cross_attention() diff --git a/ldm/models/diffusion/shared_invokeai_diffusion.py b/ldm/models/diffusion/shared_invokeai_diffusion.py index 8ee87c53c1f..bee82329f78 100644 --- a/ldm/models/diffusion/shared_invokeai_diffusion.py +++ b/ldm/models/diffusion/shared_invokeai_diffusion.py @@ -56,9 +56,6 @@ def wants_cross_attention_control(self): def has_lora_conditions(self): return self.lora_conditions is not None - @property - def should_do_swap(self): - return self.wants_cross_attention_control or self.has_lora_conditions def __init__(self, model, model_forward_callback: ModelForwardCallback, is_running_diffusers: bool=False, @@ -78,11 +75,11 @@ def __init__(self, model, model_forward_callback: ModelForwardCallback, def custom_attention_context(self, extra_conditioning_info: Optional[ExtraConditioningInfo], step_count: int): - do_swap = extra_conditioning_info is not None and extra_conditioning_info.should_do_swap old_attn_processor = None - if do_swap: - old_attn_processor = self.override_cross_attention(extra_conditioning_info, - step_count=step_count) + if extra_conditioning_info.wants_cross_attention_control | extra_conditioning_info.has_lora_conditions: + old_attn_processor = self.override_attention_processors(extra_conditioning_info, + step_count=step_count) + try: yield None finally: @@ -92,41 +89,34 @@ def custom_attention_context(self, #self.remove_attention_map_saving() - def override_cross_attention(self, conditioning: ExtraConditioningInfo, step_count: int) -> Dict[str, AttnProcessor]: + def override_attention_processors(self, conditioning: ExtraConditioningInfo, step_count: int) -> Dict[str, AttnProcessor]: """ setup cross attention .swap control. for diffusers this replaces the attention processor, so the previous attention processor is returned so that the caller can restore it later. """ - self.conditioning = conditioning - - # If other modules do not want cross_attention_control then we should bypass setting up Context - old_attn_processors = None - if not self.conditioning.wants_cross_attention_control: - old_attn_processors = self.model.attn_processors + old_attn_processors = self.model.attn_processors # Load lora conditions into the model - if self.conditioning.has_lora_conditions: - for condition in self.conditioning.lora_conditions: + if conditioning.has_lora_conditions: + for condition in conditioning.lora_conditions: condition(self.model) - # return old_attn_processors if there is nothing further to do here - if not self.conditioning.wants_cross_attention_control: - return old_attn_processors + if conditioning.wants_cross_attention_control: + self.cross_attention_control_context = Context( + arguments=conditioning.cross_attention_control_args, + step_count=step_count + ) + override_cross_attention(self.model, + self.cross_attention_control_context, + is_running_diffusers=self.is_running_diffusers) + return old_attn_processors - self.cross_attention_control_context = Context( - arguments=self.conditioning.cross_attention_control_args, - step_count=step_count - ) - return override_cross_attention(self.model, - self.cross_attention_control_context, - is_running_diffusers=self.is_running_diffusers) - def restore_default_cross_attention(self, restore_attention_processor: Optional['AttnProcessor']=None): - self.conditioning = None + def restore_default_cross_attention(self, processors_to_restore: Optional[dict[str, 'AttnProcessor']]=None): self.cross_attention_control_context = None restore_default_cross_attention(self.model, is_running_diffusers=self.is_running_diffusers, - restore_attention_processor=restore_attention_processor) + processors_to_restore=processors_to_restore) def setup_attention_map_saving(self, saver: AttentionMapSaver): def callback(slice, dim, offset, slice_size, key): @@ -328,7 +318,7 @@ def _apply_cross_attention_controlled_conditioning__compvis(self, x:torch.Tensor #print("applying saved attention maps for", cross_attention_control_types_to_do) for ca_type in cross_attention_control_types_to_do: context.request_apply_saved_attention_maps(ca_type) - edited_conditioning = self.conditioning.cross_attention_control_args.edited_conditioning + edited_conditioning = context.arguments.edited_conditioning conditioned_next_x = self.model_forward_callback(x, sigma, edited_conditioning) context.clear_requests(cleanup=True) From 1447b6df9678e6e91b96c3efd258d372412797ff Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Thu, 23 Feb 2023 23:38:25 +0100 Subject: [PATCH 30/89] translationBot(ui): update translation (Spanish) Currently translated at 100.0% (469 of 469 strings) Co-authored-by: gallegonovato Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/es/ Translation: InvokeAI/Web UI --- invokeai/frontend/public/locales/es.json | 115 ++++++++++++++++++++--- 1 file changed, 102 insertions(+), 13 deletions(-) diff --git a/invokeai/frontend/public/locales/es.json b/invokeai/frontend/public/locales/es.json index 2eff2e1e017..5081ab07992 100644 --- a/invokeai/frontend/public/locales/es.json +++ b/invokeai/frontend/public/locales/es.json @@ -15,7 +15,7 @@ "langSpanish": "Español", "nodesDesc": "Un sistema de generación de imágenes basado en nodos, actualmente se encuentra en desarrollo. Mantente pendiente a nuestras actualizaciones acerca de esta fabulosa funcionalidad.", "postProcessing": "Post-procesamiento", - "postProcessDesc1": "Invoke AI ofrece una gran variedad de funciones de post-procesamiento, El aumento de tamaño y Restauración de Rostros ya se encuentran disponibles en la interfaz web, puedes acceder desde el menú de Opciones Avanzadas en las pestañas de Texto a Imagen y de Imagen a Imagen. También puedes acceder a estas funciones directamente mediante el botón de acciones en el menú superior de la imagen actual o en el visualizador", + "postProcessDesc1": "Invoke AI ofrece una gran variedad de funciones de post-procesamiento, El aumento de tamaño y Restauración de Rostros ya se encuentran disponibles en la interfaz web, puedes acceder desde el menú de Opciones Avanzadas en las pestañas de Texto a Imagen y de Imagen a Imagen. También puedes acceder a estas funciones directamente mediante el botón de acciones en el menú superior de la imagen actual o en el visualizador.", "postProcessDesc2": "Una interfaz de usuario dedicada se lanzará pronto para facilitar flujos de trabajo de postprocesamiento más avanzado.", "postProcessDesc3": "La Interfaz de Línea de Comandos de Invoke AI ofrece muchas otras características, incluyendo -Embiggen-.", "training": "Entrenamiento", @@ -44,7 +44,26 @@ "statusUpscaling": "Aumentando Tamaño", "statusUpscalingESRGAN": "Restaurando Rostros(ESRGAN)", "statusLoadingModel": "Cargando Modelo", - "statusModelChanged": "Modelo cambiado" + "statusModelChanged": "Modelo cambiado", + "statusMergedModels": "Modelos combinados", + "githubLabel": "Github", + "discordLabel": "Discord", + "langEnglish": "Inglés", + "langDutch": "Holandés", + "langFrench": "Francés", + "langGerman": "Alemán", + "langItalian": "Italiano", + "langArabic": "Árabe", + "langJapanese": "Japones", + "langPolish": "Polaco", + "langBrPortuguese": "Portugués brasileño", + "langRussian": "Ruso", + "langSimplifiedChinese": "Chino simplificado", + "langUkranian": "Ucraniano", + "back": "Atrás", + "statusConvertingModel": "Convertir el modelo", + "statusModelConverted": "Modelo adaptado", + "statusMergingModels": "Fusionar modelos" }, "gallery": { "generations": "Generaciones", @@ -284,16 +303,16 @@ "nameValidationMsg": "Introduce un nombre para tu modelo", "description": "Descripción", "descriptionValidationMsg": "Introduce una descripción para tu modelo", - "config": "Config", - "configValidationMsg": "Ruta del archivo de configuración del modelo", + "config": "Configurar", + "configValidationMsg": "Ruta del archivo de configuración del modelo.", "modelLocation": "Ubicación del Modelo", - "modelLocationValidationMsg": "Ruta del archivo de modelo", + "modelLocationValidationMsg": "Ruta del archivo de modelo.", "vaeLocation": "Ubicación VAE", - "vaeLocationValidationMsg": "Ruta del archivo VAE", + "vaeLocationValidationMsg": "Ruta del archivo VAE.", "width": "Ancho", - "widthValidationMsg": "Ancho predeterminado de tu modelo", + "widthValidationMsg": "Ancho predeterminado de tu modelo.", "height": "Alto", - "heightValidationMsg": "Alto predeterminado de tu modelo", + "heightValidationMsg": "Alto predeterminado de tu modelo.", "addModel": "Añadir Modelo", "updateModel": "Actualizar Modelo", "availableModels": "Modelos disponibles", @@ -320,7 +339,61 @@ "deleteModel": "Eliminar Modelo", "deleteConfig": "Eliminar Configuración", "deleteMsg1": "¿Estás seguro de querer eliminar esta entrada de modelo de InvokeAI?", - "deleteMsg2": "El checkpoint del modelo no se eliminará de tu disco. Puedes volver a añadirlo si lo deseas." + "deleteMsg2": "El checkpoint del modelo no se eliminará de tu disco. Puedes volver a añadirlo si lo deseas.", + "safetensorModels": "SafeTensors", + "addDiffuserModel": "Añadir difusores", + "inpainting": "v1 Repintado", + "repoIDValidationMsg": "Repositorio en línea de tu modelo", + "checkpointModels": "Puntos de control", + "convertToDiffusersHelpText4": "Este proceso se realiza una sola vez. Puede tardar entre 30 y 60 segundos dependiendo de las especificaciones de tu ordenador.", + "diffusersModels": "Difusores", + "addCheckpointModel": "Agregar modelo de punto de control/Modelo Safetensor", + "vaeRepoID": "Identificador del repositorio de VAE", + "vaeRepoIDValidationMsg": "Repositorio en línea de tú VAE", + "formMessageDiffusersModelLocation": "Difusores Modelo Ubicación", + "formMessageDiffusersModelLocationDesc": "Por favor, introduzca al menos uno.", + "formMessageDiffusersVAELocation": "Ubicación VAE", + "formMessageDiffusersVAELocationDesc": "Si no se proporciona, InvokeAI buscará el archivo VAE dentro de la ubicación del modelo indicada anteriormente.", + "convert": "Convertir", + "convertToDiffusers": "Convertir en difusores", + "convertToDiffusersHelpText1": "Este modelo se convertirá al formato 🧨 Difusores.", + "convertToDiffusersHelpText2": "Este proceso sustituirá su entrada del Gestor de Modelos por la versión de Difusores del mismo modelo.", + "convertToDiffusersHelpText3": "Su archivo de puntos de control en el disco NO será borrado ni modificado de ninguna manera. Puede volver a añadir su punto de control al Gestor de Modelos si lo desea.", + "convertToDiffusersHelpText5": "Asegúrese de que dispone de suficiente espacio en disco. Los modelos suelen variar entre 4 GB y 7 GB de tamaño.", + "convertToDiffusersHelpText6": "¿Desea transformar este modelo?", + "convertToDiffusersSaveLocation": "Guardar ubicación", + "v1": "v1", + "v2": "v2", + "statusConverting": "Adaptar", + "modelConverted": "Modelo adaptado", + "sameFolder": "La misma carpeta", + "invokeRoot": "Carpeta InvokeAI", + "custom": "Personalizado", + "customSaveLocation": "Ubicación personalizada para guardar", + "merge": "Fusión", + "modelsMerged": "Modelos fusionados", + "mergeModels": "Combinar modelos", + "modelOne": "Modelo 1", + "modelTwo": "Modelo 2", + "modelThree": "Modelo 3", + "mergedModelName": "Nombre del modelo combinado", + "alpha": "Alfa", + "interpolationType": "Tipo de interpolación", + "mergedModelSaveLocation": "Guardar ubicación", + "mergedModelCustomSaveLocation": "Ruta personalizada", + "invokeAIFolder": "Invocar carpeta de la inteligencia artificial", + "modelMergeHeaderHelp2": "Sólo se pueden fusionar difusores. Si desea fusionar un modelo de punto de control, conviértalo primero en difusores.", + "modelMergeAlphaHelp": "Alfa controla la fuerza de mezcla de los modelos. Los valores alfa más bajos reducen la influencia del segundo modelo.", + "modelMergeInterpAddDifferenceHelp": "En este modo, el Modelo 3 se sustrae primero del Modelo 2. La versión resultante se mezcla con el Modelo 1 con la tasa alfa establecida anteriormente. La versión resultante se mezcla con el Modelo 1 con la tasa alfa establecida anteriormente.", + "ignoreMismatch": "Ignorar discrepancias entre modelos seleccionados", + "modelMergeHeaderHelp1": "Puede combinar hasta tres modelos diferentes para crear una mezcla que se adapte a sus necesidades.", + "inverseSigmoid": "Sigmoideo inverso", + "weightedSum": "Modelo de suma ponderada", + "sigmoid": "Función sigmoide", + "allModels": "Todos los modelos", + "repo_id": "Identificador del repositorio", + "pathToCustomConfig": "Ruta a la configuración personalizada", + "customConfig": "Configuración personalizada" }, "parameters": { "images": "Imágenes", @@ -380,7 +453,22 @@ "info": "Información", "deleteImage": "Eliminar Imagen", "initialImage": "Imagen Inicial", - "showOptionsPanel": "Mostrar panel de opciones" + "showOptionsPanel": "Mostrar panel de opciones", + "symmetry": "Simetría", + "vSymmetryStep": "Paso de simetría V", + "hSymmetryStep": "Paso de simetría H", + "cancel": { + "immediate": "Cancelar inmediatamente", + "schedule": "Cancelar tras la iteración actual", + "isScheduled": "Cancelando", + "setType": "Tipo de cancelación" + }, + "copyImage": "Copiar la imagen", + "general": "General", + "negativePrompts": "Preguntas negativas", + "imageToImage": "Imagen a imagen", + "denoisingStrength": "Intensidad de la eliminación del ruido", + "hiresStrength": "Alta resistencia" }, "settings": { "models": "Modelos", @@ -393,7 +481,8 @@ "resetWebUI": "Restablecer interfaz web", "resetWebUIDesc1": "Al restablecer la interfaz web, solo se restablece la caché local del navegador de sus imágenes y la configuración guardada. No se elimina ninguna imagen de su disco duro.", "resetWebUIDesc2": "Si las imágenes no se muestran en la galería o algo más no funciona, intente restablecer antes de reportar un incidente en GitHub.", - "resetComplete": "La interfaz web se ha restablecido. Actualice la página para recargarla." + "resetComplete": "La interfaz web se ha restablecido. Actualice la página para recargarla.", + "useSlidersForAll": "Utilice controles deslizantes para todas las opciones" }, "toast": { "tempFoldersEmptied": "Directorio temporal vaciado", @@ -431,12 +520,12 @@ "feature": { "prompt": "Este campo tomará todo el texto de entrada, incluidos tanto los términos de contenido como los estilísticos. Si bien se pueden incluir pesos en la solicitud, los comandos/parámetros estándar de línea de comandos no funcionarán.", "gallery": "Conforme se generan nuevas invocaciones, los archivos del directorio de salida se mostrarán aquí. Las generaciones tienen opciones adicionales para configurar nuevas generaciones.", - "other": "Estas opciones habilitarán modos de procesamiento alternativos para Invoke. El modo sin costuras funciona para generar patrones repetitivos en la salida. La optimización de alta resolución realiza un ciclo de generación de dos pasos y debe usarse en resoluciones más altas cuando desee una imagen/composición más coherente.", + "other": "Estas opciones habilitarán modos de procesamiento alternativos para Invoke. 'Seamless mosaico' creará patrones repetitivos en la salida. 'Alta resolución' es la generación en dos pasos con img2img: use esta configuración cuando desee una imagen más grande y más coherente sin artefactos. tomar más tiempo de lo habitual txt2img.", "seed": "Los valores de semilla proporcionan un conjunto inicial de ruido que guían el proceso de eliminación de ruido y se pueden aleatorizar o rellenar con una semilla de una invocación anterior. La función Umbral se puede usar para mitigar resultados indeseables a valores CFG más altos (intente entre 0-10), y Perlin se puede usar para agregar ruido Perlin al proceso de eliminación de ruido. Ambos sirven para agregar variación a sus salidas.", "variations": "Pruebe una variación con una cantidad entre 0 y 1 para cambiar la imagen de salida para la semilla establecida. Se encuentran variaciones interesantes en la semilla entre 0.1 y 0.3.", "upscale": "Usando ESRGAN, puede aumentar la resolución de salida sin requerir un ancho/alto más alto en la generación inicial.", "faceCorrection": "Usando GFPGAN o Codeformer, la corrección de rostros intentará identificar rostros en las salidas y corregir cualquier defecto/anormalidad. Los valores de fuerza más altos aplicarán una presión correctiva más fuerte en las salidas, lo que resultará en rostros más atractivos. Con Codeformer, una mayor fidelidad intentará preservar la imagen original, a expensas de la fuerza de corrección de rostros.", - "imageToImage": "Imagen a Imagen permite cargar una imagen inicial, que InvokeAI usará para guiar el proceso de generación, junto con una solicitud. Un valor más bajo para esta configuración se parecerá más a la imagen original. Se aceptan valores entre 0-1, y se recomienda un rango de .25-.75.", + "imageToImage": "Imagen a Imagen permite cargar una imagen inicial, que InvokeAI usará para guiar el proceso de generación, junto con una solicitud. Un valor más bajo para esta configuración se parecerá más a la imagen original. Se aceptan valores entre 0-1, y se recomienda un rango de .25-.75", "boundingBox": "La caja delimitadora es análoga a las configuraciones de Ancho y Alto para Texto a Imagen o Imagen a Imagen. Solo se procesará el área en la caja.", "seamCorrection": "Controla el manejo de parches visibles que pueden ocurrir cuando se pega una imagen generada de nuevo en el lienzo.", "infillAndScaling": "Administra los métodos de relleno (utilizados en áreas enmascaradas o borradas del lienzo) y la escala (útil para tamaños de caja delimitadora pequeños)." From 5725fcb3e0362e66f5274edb30cafa748a900742 Mon Sep 17 00:00:00 2001 From: Jeff Mahoney Date: Thu, 23 Feb 2023 23:38:25 +0100 Subject: [PATCH 31/89] translationBot(ui): added translation (Romanian) Co-authored-by: Jeff Mahoney --- invokeai/frontend/public/locales/ro.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 invokeai/frontend/public/locales/ro.json diff --git a/invokeai/frontend/public/locales/ro.json b/invokeai/frontend/public/locales/ro.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/invokeai/frontend/public/locales/ro.json @@ -0,0 +1 @@ +{} From ec14e2db3594202ce8164019cbfb703a41899a7b Mon Sep 17 00:00:00 2001 From: Gabriel Mackievicz Telles Date: Thu, 23 Feb 2023 23:38:25 +0100 Subject: [PATCH 32/89] translationBot(ui): update translation (Portuguese (Brazil)) Currently translated at 91.8% (431 of 469 strings) Co-authored-by: Gabriel Mackievicz Telles Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/pt_BR/ Translation: InvokeAI/Web UI --- invokeai/frontend/public/locales/pt_BR.json | 76 +++++++++++++++++++-- 1 file changed, 70 insertions(+), 6 deletions(-) diff --git a/invokeai/frontend/public/locales/pt_BR.json b/invokeai/frontend/public/locales/pt_BR.json index 2380f929324..fdfe2270bf0 100644 --- a/invokeai/frontend/public/locales/pt_BR.json +++ b/invokeai/frontend/public/locales/pt_BR.json @@ -44,7 +44,26 @@ "statusUpscaling": "Redimensinando", "statusUpscalingESRGAN": "Redimensinando (ESRGAN)", "statusLoadingModel": "Carregando Modelo", - "statusModelChanged": "Modelo Alterado" + "statusModelChanged": "Modelo Alterado", + "githubLabel": "Github", + "discordLabel": "Discord", + "langArabic": "Árabe", + "langEnglish": "Inglês", + "langDutch": "Holandês", + "langFrench": "Francês", + "langGerman": "Alemão", + "langItalian": "Italiano", + "langJapanese": "Japonês", + "langPolish": "Polonês", + "langSimplifiedChinese": "Chinês", + "langUkranian": "Ucraniano", + "back": "Voltar", + "statusConvertingModel": "Convertendo Modelo", + "statusModelConverted": "Modelo Convertido", + "statusMergingModels": "Mesclando Modelos", + "statusMergedModels": "Modelos Mesclados", + "langRussian": "Russo", + "langSpanish": "Espanhol" }, "gallery": { "generations": "Gerações", @@ -237,7 +256,7 @@ "desc": "Salva a tela atual na galeria" }, "copyToClipboard": { - "title": "Copiar Para a Área de Transferência ", + "title": "Copiar para a Área de Transferência", "desc": "Copia a tela atual para a área de transferência" }, "downloadImage": { @@ -284,7 +303,7 @@ "nameValidationMsg": "Insira um nome para o seu modelo", "description": "Descrição", "descriptionValidationMsg": "Adicione uma descrição para o seu modelo", - "config": "Config", + "config": "Configuração", "configValidationMsg": "Caminho para o arquivo de configuração do seu modelo.", "modelLocation": "Localização do modelo", "modelLocationValidationMsg": "Caminho para onde seu modelo está localizado.", @@ -317,7 +336,52 @@ "deleteModel": "Excluir modelo", "deleteConfig": "Excluir Config", "deleteMsg1": "Tem certeza de que deseja excluir esta entrada do modelo de InvokeAI?", - "deleteMsg2": "Isso não vai excluir o arquivo de modelo checkpoint do seu disco. Você pode lê-los, se desejar." + "deleteMsg2": "Isso não vai excluir o arquivo de modelo checkpoint do seu disco. Você pode lê-los, se desejar.", + "checkpointModels": "Checkpoints", + "diffusersModels": "Diffusers", + "safetensorModels": "SafeTensors", + "addCheckpointModel": "Adicionar Modelo de Checkpoint/Safetensor", + "addDiffuserModel": "Adicionar Diffusers", + "repo_id": "Repo ID", + "vaeRepoID": "VAE Repo ID", + "vaeRepoIDValidationMsg": "Repositório Online do seu VAE", + "scanAgain": "Digitalize Novamente", + "selectAndAdd": "Selecione e Adicione Modelos Listados Abaixo", + "noModelsFound": "Nenhum Modelo Encontrado", + "formMessageDiffusersModelLocation": "Localização dos Modelos Diffusers", + "formMessageDiffusersModelLocationDesc": "Por favor entre com ao menos um.", + "formMessageDiffusersVAELocation": "Localização do VAE", + "formMessageDiffusersVAELocationDesc": "Se não provido, InvokeAI irá procurar pelo arquivo VAE dentro do local do modelo.", + "convertToDiffusers": "Converter para Diffusers", + "convertToDiffusersHelpText1": "Este modelo será convertido para o formato 🧨 Diffusers.", + "convertToDiffusersHelpText5": "Por favor, certifique-se de que você tenha espaço suficiente em disco. Os modelos geralmente variam entre 4GB e 7GB de tamanho.", + "convertToDiffusersHelpText6": "Você deseja converter este modelo?", + "convertToDiffusersSaveLocation": "Local para Salvar", + "v1": "v1", + "v2": "v2", + "inpainting": "v1 Inpainting", + "customConfig": "Configuração personalizada", + "pathToCustomConfig": "Caminho para configuração personalizada", + "convertToDiffusersHelpText3": "Seu arquivo de ponto de verificação no disco NÃO será excluído ou modificado de forma alguma. Você pode adicionar seu ponto de verificação ao Gerenciador de modelos novamente, se desejar.", + "convertToDiffusersHelpText4": "Este é um processo único. Pode levar cerca de 30 a 60s, dependendo das especificações do seu computador.", + "merge": "Mesclar", + "modelsMerged": "Modelos mesclados", + "mergeModels": "Mesclar modelos", + "modelOne": "Modelo 1", + "modelTwo": "Modelo 2", + "modelThree": "Modelo 3", + "statusConverting": "Convertendo", + "modelConverted": "Modelo Convertido", + "sameFolder": "Mesma pasta", + "invokeRoot": "Pasta do InvokeAI", + "custom": "Personalizado", + "customSaveLocation": "Local de salvamento personalizado", + "mergedModelName": "Nome do modelo mesclado", + "alpha": "Alpha", + "allModels": "Todos os Modelos", + "repoIDValidationMsg": "Repositório Online do seu Modelo", + "convert": "Converter", + "convertToDiffusersHelpText2": "Este processo irá substituir sua entrada de Gerenciador de Modelos por uma versão Diffusers do mesmo modelo." }, "parameters": { "images": "Imagems", @@ -442,14 +506,14 @@ "move": "Mover", "resetView": "Resetar Visualização", "mergeVisible": "Fundir Visível", - "saveToGallery": "Save To Gallery", + "saveToGallery": "Salvar na Galeria", "copyToClipboard": "Copiar para a Área de Transferência", "downloadAsImage": "Baixar Como Imagem", "undo": "Desfazer", "redo": "Refazer", "clearCanvas": "Limpar Tela", "canvasSettings": "Configurações de Tela", - "showIntermediates": "Show Intermediates", + "showIntermediates": "Mostrar Intermediários", "showGrid": "Mostrar Grade", "snapToGrid": "Encaixar na Grade", "darkenOutsideSelection": "Escurecer Seleção Externa", From 34e3aa1f88ea2addf9bb7142d29f2a13c473f42f Mon Sep 17 00:00:00 2001 From: Kyle Schouviller Date: Wed, 30 Nov 2022 21:33:20 -0800 Subject: [PATCH 33/89] parent 9eed1919c2071f9199996df747c8638c4a75e8fb author Kyle Schouviller 1669872800 -0800 committer Kyle Schouviller 1676240900 -0800 Adding base node architecture Fix type annotation errors Runs and generates, but breaks in saving session Fix default model value setting. Fix deprecation warning. Fixed node api Adding markdown docs Simplifying Generate construction in apps [nodes] A few minor changes (#2510) * Pin api-related requirements * Remove confusing extra CORS origins list * Adds response models for HTTP 200 [nodes] Adding graph_execution_state to soon replace session. Adding tests with pytest. Minor typing fixes [nodes] Fix some small output query hookups [node] Fixing some additional typing issues [nodes] Move and expand graph code. Add base item storage and sqlite implementation. Update startup to match new code [nodes] Add callbacks to item storage [nodes] Adding an InvocationContext object to use for invocations to provide easier extensibility [nodes] New execution model that handles iteration [nodes] Fixing the CLI [nodes] Adding a note to the CLI [nodes] Split processing thread into separate service [node] Add error message on node processing failure Removing old files and duplicated packages Adding python-multipart --- .coveragerc | 6 + .gitignore | 1 + .pytest.ini | 5 + docs/contributing/ARCHITECTURE.md | 93 ++ docs/contributing/INVOCATIONS.md | 105 +++ ldm/generate.py | 6 + ldm/invoke/app/api/dependencies.py | 83 ++ ldm/invoke/app/api/events.py | 54 ++ ldm/invoke/app/api/routers/images.py | 57 ++ ldm/invoke/app/api/routers/sessions.py | 232 +++++ ldm/invoke/app/api/sockets.py | 36 + ldm/invoke/app/api_app.py | 164 ++++ ldm/invoke/app/cli_app.py | 306 +++++++ ldm/invoke/app/invocations/__init__.py | 8 + ldm/invoke/app/invocations/baseinvocation.py | 74 ++ ldm/invoke/app/invocations/cv.py | 42 + ldm/invoke/app/invocations/generate.py | 160 ++++ ldm/invoke/app/invocations/image.py | 219 +++++ ldm/invoke/app/invocations/prompt.py | 9 + ldm/invoke/app/invocations/reconstruct.py | 36 + ldm/invoke/app/invocations/upscale.py | 38 + ldm/invoke/app/services/__init__.py | 0 ldm/invoke/app/services/events.py | 78 ++ .../app/services/generate_initializer.py | 233 +++++ ldm/invoke/app/services/graph.py | 797 ++++++++++++++++++ ldm/invoke/app/services/image_storage.py | 104 +++ ldm/invoke/app/services/invocation_queue.py | 46 + .../app/services/invocation_services.py | 20 + ldm/invoke/app/services/invoker.py | 109 +++ ldm/invoke/app/services/item_storage.py | 57 ++ ldm/invoke/app/services/processor.py | 78 ++ ldm/invoke/app/services/sqlite.py | 119 +++ pyproject.toml | 5 + scripts/invoke-new.py | 20 + static/dream_web/test.html | 206 +++++ tests/__init__.py | 0 tests/nodes/__init__.py | 0 tests/nodes/test_graph_execution_state.py | 114 +++ tests/nodes/test_invoker.py | 85 ++ tests/nodes/test_node_graph.py | 501 +++++++++++ tests/nodes/test_nodes.py | 92 ++ tests/nodes/test_sqlite.py | 112 +++ 42 files changed, 4510 insertions(+) create mode 100644 .coveragerc create mode 100644 .pytest.ini create mode 100644 docs/contributing/ARCHITECTURE.md create mode 100644 docs/contributing/INVOCATIONS.md create mode 100644 ldm/invoke/app/api/dependencies.py create mode 100644 ldm/invoke/app/api/events.py create mode 100644 ldm/invoke/app/api/routers/images.py create mode 100644 ldm/invoke/app/api/routers/sessions.py create mode 100644 ldm/invoke/app/api/sockets.py create mode 100644 ldm/invoke/app/api_app.py create mode 100644 ldm/invoke/app/cli_app.py create mode 100644 ldm/invoke/app/invocations/__init__.py create mode 100644 ldm/invoke/app/invocations/baseinvocation.py create mode 100644 ldm/invoke/app/invocations/cv.py create mode 100644 ldm/invoke/app/invocations/generate.py create mode 100644 ldm/invoke/app/invocations/image.py create mode 100644 ldm/invoke/app/invocations/prompt.py create mode 100644 ldm/invoke/app/invocations/reconstruct.py create mode 100644 ldm/invoke/app/invocations/upscale.py create mode 100644 ldm/invoke/app/services/__init__.py create mode 100644 ldm/invoke/app/services/events.py create mode 100644 ldm/invoke/app/services/generate_initializer.py create mode 100644 ldm/invoke/app/services/graph.py create mode 100644 ldm/invoke/app/services/image_storage.py create mode 100644 ldm/invoke/app/services/invocation_queue.py create mode 100644 ldm/invoke/app/services/invocation_services.py create mode 100644 ldm/invoke/app/services/invoker.py create mode 100644 ldm/invoke/app/services/item_storage.py create mode 100644 ldm/invoke/app/services/processor.py create mode 100644 ldm/invoke/app/services/sqlite.py create mode 100644 scripts/invoke-new.py create mode 100644 static/dream_web/test.html create mode 100644 tests/__init__.py create mode 100644 tests/nodes/__init__.py create mode 100644 tests/nodes/test_graph_execution_state.py create mode 100644 tests/nodes/test_invoker.py create mode 100644 tests/nodes/test_node_graph.py create mode 100644 tests/nodes/test_nodes.py create mode 100644 tests/nodes/test_sqlite.py diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 00000000000..8232fc4b93d --- /dev/null +++ b/.coveragerc @@ -0,0 +1,6 @@ +[run] +omit='.env/*' +source='.' + +[report] +show_missing = true diff --git a/.gitignore b/.gitignore index 9adb0be85aa..9b33e071646 100644 --- a/.gitignore +++ b/.gitignore @@ -68,6 +68,7 @@ htmlcov/ .cache nosetests.xml coverage.xml +cov.xml *.cover *.py,cover .hypothesis/ diff --git a/.pytest.ini b/.pytest.ini new file mode 100644 index 00000000000..16ccfafe80f --- /dev/null +++ b/.pytest.ini @@ -0,0 +1,5 @@ +[pytest] +DJANGO_SETTINGS_MODULE = webtas.settings +; python_files = tests.py test_*.py *_tests.py + +addopts = --cov=. --cov-config=.coveragerc --cov-report xml:cov.xml diff --git a/docs/contributing/ARCHITECTURE.md b/docs/contributing/ARCHITECTURE.md new file mode 100644 index 00000000000..d74df94492c --- /dev/null +++ b/docs/contributing/ARCHITECTURE.md @@ -0,0 +1,93 @@ +# Invoke.AI Architecture + +```mermaid +flowchart TB + + subgraph apps[Applications] + webui[WebUI] + cli[CLI] + + subgraph webapi[Web API] + api[HTTP API] + sio[Socket.IO] + end + + end + + subgraph invoke[Invoke] + direction LR + invoker + services + sessions + invocations + end + + subgraph core[AI Core] + Generate + end + + webui --> webapi + webapi --> invoke + cli --> invoke + + invoker --> services & sessions + invocations --> services + sessions --> invocations + + services --> core + + %% Styles + classDef sg fill:#5028C8,font-weight:bold,stroke-width:2,color:#fff,stroke:#14141A + classDef default stroke-width:2px,stroke:#F6B314,color:#fff,fill:#14141A + + class apps,webapi,invoke,core sg + +``` + +## Applications + +Applications are built on top of the invoke framework. They should construct `invoker` and then interact through it. They should avoid interacting directly with core code in order to support a variety of configurations. + +### Web UI + +The Web UI is built on top of an HTTP API built with [FastAPI](https://fastapi.tiangolo.com/) and [Socket.IO](https://socket.io/). The frontend code is found in `/frontend` and the backend code is found in `/ldm/invoke/app/api_app.py` and `/ldm/invoke/app/api/`. The code is further organized as such: + +| Component | Description | +| --- | --- | +| api_app.py | Sets up the API app, annotates the OpenAPI spec with additional data, and runs the API | +| dependencies | Creates all invoker services and the invoker, and provides them to the API | +| events | An eventing system that could in the future be adapted to support horizontal scale-out | +| sockets | The Socket.IO interface - handles listening to and emitting session events (events are defined in the events service module) | +| routers | API definitions for different areas of API functionality | + +### CLI + +The CLI is built automatically from invocation metadata, and also supports invocation piping and auto-linking. Code is available in `/ldm/invoke/app/cli_app.py`. + +## Invoke + +The Invoke framework provides the interface to the underlying AI systems and is built with flexibility and extensibility in mind. There are four major concepts: invoker, sessions, invocations, and services. + +### Invoker + +The invoker (`/ldm/invoke/app/services/invoker.py`) is the primary interface through which applications interact with the framework. Its primary purpose is to create, manage, and invoke sessions. It also maintains two sets of services: +- **invocation services**, which are used by invocations to interact with core functionality. +- **invoker services**, which are used by the invoker to manage sessions and manage the invocation queue. + +### Sessions + +Invocations and links between them form a graph, which is maintained in a session. Sessions can be queued for invocation, which will execute their graph (either the next ready invocation, or all invocations). Sessions also maintain execution history for the graph (including storage of any outputs). An invocation may be added to a session at any time, and there is capability to add and entire graph at once, as well as to automatically link new invocations to previous invocations. Invocations can not be deleted or modified once added. + +The session graph does not support looping. This is left as an application problem to prevent additional complexity in the graph. + +### Invocations + +Invocations represent individual units of execution, with inputs and outputs. All invocations are located in `/ldm/invoke/app/invocations`, and are all automatically discovered and made available in the applications. These are the primary way to expose new functionality in Invoke.AI, and the [implementation guide](INVOCATIONS.md) explains how to add new invocations. + +### Services + +Services provide invocations access AI Core functionality and other necessary functionality (e.g. image storage). These are available in `/ldm/invoke/app/services`. As a general rule, new services should provide an interface as an abstract base class, and may provide a lightweight local implementation by default in their module. The goal for all services should be to enable the usage of different implementations (e.g. using cloud storage for image storage), but should not load any module dependencies unless that implementation has been used (i.e. don't import anything that won't be used, especially if it's expensive to import). + +## AI Core + +The AI Core is represented by the rest of the code base (i.e. the code outside of `/ldm/invoke/app/`). diff --git a/docs/contributing/INVOCATIONS.md b/docs/contributing/INVOCATIONS.md new file mode 100644 index 00000000000..c8a97c19e4c --- /dev/null +++ b/docs/contributing/INVOCATIONS.md @@ -0,0 +1,105 @@ +# Invocations + +Invocations represent a single operation, its inputs, and its outputs. These operations and their outputs can be chained together to generate and modify images. + +## Creating a new invocation + +To create a new invocation, either find the appropriate module file in `/ldm/invoke/app/invocations` to add your invocation to, or create a new one in that folder. All invocations in that folder will be discovered and made available to the CLI and API automatically. Invocations make use of [typing](https://docs.python.org/3/library/typing.html) and [pydantic](https://pydantic-docs.helpmanual.io/) for validation and integration into the CLI and API. + +An invocation looks like this: + +```py +class UpscaleInvocation(BaseInvocation): + """Upscales an image.""" + type: Literal['upscale'] = 'upscale' + + # Inputs + image: Union[ImageField,None] = Field(description="The input image") + strength: float = Field(default=0.75, gt=0, le=1, description="The strength") + level: Literal[2,4] = Field(default=2, description = "The upscale level") + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = context.services.images.get(self.image.image_type, self.image.image_name) + results = context.services.generate.upscale_and_reconstruct( + image_list = [[image, 0]], + upscale = (self.level, self.strength), + strength = 0.0, # GFPGAN strength + save_original = False, + image_callback = None, + ) + + # Results are image and seed, unwrap for now + # TODO: can this return multiple results? + image_type = ImageType.RESULT + image_name = context.services.images.create_name(context.graph_execution_state_id, self.id) + context.services.images.save(image_type, image_name, results[0][0]) + return ImageOutput( + image = ImageField(image_type = image_type, image_name = image_name) + ) +``` + +Each portion is important to implement correctly. + +### Class definition and type +```py +class UpscaleInvocation(BaseInvocation): + """Upscales an image.""" + type: Literal['upscale'] = 'upscale' +``` +All invocations must derive from `BaseInvocation`. They should have a docstring that declares what they do in a single, short line. They should also have a `type` with a type hint that's `Literal["command_name"]`, where `command_name` is what the user will type on the CLI or use in the API to create this invocation. The `command_name` must be unique. The `type` must be assigned to the value of the literal in the type hint. + +### Inputs +```py + # Inputs + image: Union[ImageField,None] = Field(description="The input image") + strength: float = Field(default=0.75, gt=0, le=1, description="The strength") + level: Literal[2,4] = Field(default=2, description="The upscale level") +``` +Inputs consist of three parts: a name, a type hint, and a `Field` with default, description, and validation information. For example: +| Part | Value | Description | +| ---- | ----- | ----------- | +| Name | `strength` | This field is referred to as `strength` | +| Type Hint | `float` | This field must be of type `float` | +| Field | `Field(default=0.75, gt=0, le=1, description="The strength")` | The default value is `0.75`, the value must be in the range (0,1], and help text will show "The strength" for this field. | + +Notice that `image` has type `Union[ImageField,None]`. The `Union` allows this field to be parsed with `None` as a value, which enables linking to previous invocations. All fields should either provide a default value or allow `None` as a value, so that they can be overwritten with a linked output from another invocation. + +The special type `ImageField` is also used here. All images are passed as `ImageField`, which protects them from pydantic validation errors (since images only ever come from links). + +Finally, note that for all linking, the `type` of the linked fields must match. If the `name` also matches, then the field can be **automatically linked** to a previous invocation by name and matching. + +### Invoke Function +```py + def invoke(self, context: InvocationContext) -> ImageOutput: + image = context.services.images.get(self.image.image_type, self.image.image_name) + results = context.services.generate.upscale_and_reconstruct( + image_list = [[image, 0]], + upscale = (self.level, self.strength), + strength = 0.0, # GFPGAN strength + save_original = False, + image_callback = None, + ) + + # Results are image and seed, unwrap for now + image_type = ImageType.RESULT + image_name = context.services.images.create_name(context.graph_execution_state_id, self.id) + context.services.images.save(image_type, image_name, results[0][0]) + return ImageOutput( + image = ImageField(image_type = image_type, image_name = image_name) + ) +``` +The `invoke` function is the last portion of an invocation. It is provided an `InvocationContext` which contains services to perform work as well as a `session_id` for use as needed. It should return a class with output values that derives from `BaseInvocationOutput`. + +Before being called, the invocation will have all of its fields set from defaults, inputs, and finally links (overriding in that order). + +Assume that this invocation may be running simultaneously with other invocations, may be running on another machine, or in other interesting scenarios. If you need functionality, please provide it as a service in the `InvocationServices` class, and make sure it can be overridden. + +### Outputs +```py +class ImageOutput(BaseInvocationOutput): + """Base class for invocations that output an image""" + type: Literal['image'] = 'image' + + image: ImageField = Field(default=None, description="The output image") +``` +Output classes look like an invocation class without the invoke method. Prefer to use an existing output class if available, and prefer to name inputs the same as outputs when possible, to promote automatic invocation linking. diff --git a/ldm/generate.py b/ldm/generate.py index 413a1e25cb2..256f214b253 100644 --- a/ldm/generate.py +++ b/ldm/generate.py @@ -1030,6 +1030,8 @@ def upscale_and_reconstruct( image_callback=None, prefix=None, ): + + results = [] for r in image_list: image, seed = r try: @@ -1083,6 +1085,10 @@ def upscale_and_reconstruct( else: r[0] = image + results.append([image, seed]) + + return results + def apply_textmask( self, image_path: str, prompt: str, callback, threshold: float = 0.5 ): diff --git a/ldm/invoke/app/api/dependencies.py b/ldm/invoke/app/api/dependencies.py new file mode 100644 index 00000000000..60dd5228030 --- /dev/null +++ b/ldm/invoke/app/api/dependencies.py @@ -0,0 +1,83 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +from argparse import Namespace +import os + +from ..services.processor import DefaultInvocationProcessor + +from ..services.graph import GraphExecutionState +from ..services.sqlite import SqliteItemStorage + +from ...globals import Globals + +from ..services.image_storage import DiskImageStorage +from ..services.invocation_queue import MemoryInvocationQueue +from ..services.invocation_services import InvocationServices +from ..services.invoker import Invoker, InvokerServices +from ..services.generate_initializer import get_generate +from .events import FastAPIEventService + + +# TODO: is there a better way to achieve this? +def check_internet()->bool: + ''' + Return true if the internet is reachable. + It does this by pinging huggingface.co. + ''' + import urllib.request + host = 'http://huggingface.co' + try: + urllib.request.urlopen(host,timeout=1) + return True + except: + return False + + +class ApiDependencies: + """Contains and initializes all dependencies for the API""" + invoker: Invoker = None + + @staticmethod + def initialize( + args, + config, + event_handler_id: int + ): + Globals.try_patchmatch = args.patchmatch + Globals.always_use_cpu = args.always_use_cpu + Globals.internet_available = args.internet_available and check_internet() + Globals.disable_xformers = not args.xformers + Globals.ckpt_convert = args.ckpt_convert + + # TODO: Use a logger + print(f'>> Internet connectivity is {Globals.internet_available}') + + generate = get_generate(args, config) + + events = FastAPIEventService(event_handler_id) + + output_folder = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../../../outputs')) + + images = DiskImageStorage(output_folder) + + services = InvocationServices( + generate = generate, + events = events, + images = images + ) + + # TODO: build a file/path manager? + db_location = os.path.join(output_folder, 'invokeai.db') + + invoker_services = InvokerServices( + queue = MemoryInvocationQueue(), + graph_execution_manager = SqliteItemStorage[GraphExecutionState](filename = db_location, table_name = 'graph_executions'), + processor = DefaultInvocationProcessor() + ) + + ApiDependencies.invoker = Invoker(services, invoker_services) + + @staticmethod + def shutdown(): + if ApiDependencies.invoker: + ApiDependencies.invoker.stop() diff --git a/ldm/invoke/app/api/events.py b/ldm/invoke/app/api/events.py new file mode 100644 index 00000000000..701b48a3165 --- /dev/null +++ b/ldm/invoke/app/api/events.py @@ -0,0 +1,54 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +import asyncio +from queue import Empty, Queue +from typing import Any +from fastapi_events.dispatcher import dispatch +from ..services.events import EventServiceBase +import threading + +class FastAPIEventService(EventServiceBase): + event_handler_id: int + __queue: Queue + __stop_event: threading.Event + + def __init__(self, event_handler_id: int) -> None: + self.event_handler_id = event_handler_id + self.__queue = Queue() + self.__stop_event = threading.Event() + asyncio.create_task(self.__dispatch_from_queue(stop_event = self.__stop_event)) + + super().__init__() + + + def stop(self, *args, **kwargs): + self.__stop_event.set() + self.__queue.put(None) + + + def dispatch(self, event_name: str, payload: Any) -> None: + self.__queue.put(dict( + event_name = event_name, + payload = payload + )) + + + async def __dispatch_from_queue(self, stop_event: threading.Event): + """Get events on from the queue and dispatch them, from the correct thread""" + while not stop_event.is_set(): + try: + event = self.__queue.get(block = False) + if not event: # Probably stopping + continue + + dispatch( + event.get('event_name'), + payload = event.get('payload'), + middleware_id = self.event_handler_id) + + except Empty: + await asyncio.sleep(0.001) + pass + + except asyncio.CancelledError as e: + raise e # Raise a proper error diff --git a/ldm/invoke/app/api/routers/images.py b/ldm/invoke/app/api/routers/images.py new file mode 100644 index 00000000000..1ae116e49da --- /dev/null +++ b/ldm/invoke/app/api/routers/images.py @@ -0,0 +1,57 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +from datetime import datetime, timezone +from fastapi import Path, UploadFile, Request +from fastapi.routing import APIRouter +from fastapi.responses import FileResponse, Response +from PIL import Image +from ...services.image_storage import ImageType +from ..dependencies import ApiDependencies + +images_router = APIRouter( + prefix = '/v1/images', + tags = ['images'] +) + + +@images_router.get('/{image_type}/{image_name}', + operation_id = 'get_image' + ) +async def get_image( + image_type: ImageType = Path(description = "The type of image to get"), + image_name: str = Path(description = "The name of the image to get") +): + """Gets a result""" + # TODO: This is not really secure at all. At least make sure only output results are served + filename = ApiDependencies.invoker.services.images.get_path(image_type, image_name) + return FileResponse(filename) + +@images_router.post('/uploads/', + operation_id = 'upload_image', + responses = { + 201: {'description': 'The image was uploaded successfully'}, + 404: {'description': 'Session not found'} + }) +async def upload_image( + file: UploadFile, + request: Request +): + if not file.content_type.startswith('image'): + return Response(status_code = 415) + + contents = await file.read() + try: + im = Image.open(contents) + except: + # Error opening the image + return Response(status_code = 415) + + filename = f'{str(int(datetime.now(timezone.utc).timestamp()))}.png' + ApiDependencies.invoker.services.images.save(ImageType.UPLOAD, filename, im) + + return Response( + status_code=201, + headers = { + 'Location': request.url_for('get_image', image_type=ImageType.UPLOAD, image_name=filename) + } + ) diff --git a/ldm/invoke/app/api/routers/sessions.py b/ldm/invoke/app/api/routers/sessions.py new file mode 100644 index 00000000000..77008ad6e41 --- /dev/null +++ b/ldm/invoke/app/api/routers/sessions.py @@ -0,0 +1,232 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +from typing import List, Optional, Union, Annotated +from fastapi import Query, Path, Body +from fastapi.routing import APIRouter +from fastapi.responses import Response +from pydantic.fields import Field + +from ...services.item_storage import PaginatedResults +from ..dependencies import ApiDependencies +from ...invocations.baseinvocation import BaseInvocation +from ...services.graph import EdgeConnection, Graph, GraphExecutionState, NodeAlreadyExecutedError +from ...invocations import * + +session_router = APIRouter( + prefix = '/v1/sessions', + tags = ['sessions'] +) + + +@session_router.post('/', + operation_id = 'create_session', + responses = { + 200: {"model": GraphExecutionState}, + 400: {'description': 'Invalid json'} + }) +async def create_session( + graph: Optional[Graph] = Body(default = None, description = "The graph to initialize the session with") +) -> GraphExecutionState: + """Creates a new session, optionally initializing it with an invocation graph""" + session = ApiDependencies.invoker.create_execution_state(graph) + return session + + +@session_router.get('/', + operation_id = 'list_sessions', + responses = { + 200: {"model": PaginatedResults[GraphExecutionState]} + }) +async def list_sessions( + page: int = Query(default = 0, description = "The page of results to get"), + per_page: int = Query(default = 10, description = "The number of results per page"), + query: str = Query(default = '', description = "The query string to search for") +) -> PaginatedResults[GraphExecutionState]: + """Gets a list of sessions, optionally searching""" + if filter == '': + result = ApiDependencies.invoker.invoker_services.graph_execution_manager.list(page, per_page) + else: + result = ApiDependencies.invoker.invoker_services.graph_execution_manager.search(query, page, per_page) + return result + + +@session_router.get('/{session_id}', + operation_id = 'get_session', + responses = { + 200: {"model": GraphExecutionState}, + 404: {'description': 'Session not found'} + }) +async def get_session( + session_id: str = Path(description = "The id of the session to get") +) -> GraphExecutionState: + """Gets a session""" + session = ApiDependencies.invoker.invoker_services.graph_execution_manager.get(session_id) + if session is None: + return Response(status_code = 404) + else: + return session + + +@session_router.post('/{session_id}/nodes', + operation_id = 'add_node', + responses = { + 200: {"model": str}, + 400: {'description': 'Invalid node or link'}, + 404: {'description': 'Session not found'} + } +) +async def add_node( + session_id: str = Path(description = "The id of the session"), + node: Annotated[Union[BaseInvocation.get_invocations()], Field(discriminator="type")] = Body(description = "The node to add") +) -> str: + """Adds a node to the graph""" + session = ApiDependencies.invoker.invoker_services.graph_execution_manager.get(session_id) + if session is None: + return Response(status_code = 404) + + try: + session.add_node(node) + ApiDependencies.invoker.invoker_services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? + return session.id + except NodeAlreadyExecutedError: + return Response(status_code = 400) + except IndexError: + return Response(status_code = 400) + + +@session_router.put('/{session_id}/nodes/{node_path}', + operation_id = 'update_node', + responses = { + 200: {"model": GraphExecutionState}, + 400: {'description': 'Invalid node or link'}, + 404: {'description': 'Session not found'} + } +) +async def update_node( + session_id: str = Path(description = "The id of the session"), + node_path: str = Path(description = "The path to the node in the graph"), + node: Annotated[Union[BaseInvocation.get_invocations()], Field(discriminator="type")] = Body(description = "The new node") +) -> GraphExecutionState: + """Updates a node in the graph and removes all linked edges""" + session = ApiDependencies.invoker.invoker_services.graph_execution_manager.get(session_id) + if session is None: + return Response(status_code = 404) + + try: + session.update_node(node_path, node) + ApiDependencies.invoker.invoker_services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? + return session + except NodeAlreadyExecutedError: + return Response(status_code = 400) + except IndexError: + return Response(status_code = 400) + + +@session_router.delete('/{session_id}/nodes/{node_path}', + operation_id = 'delete_node', + responses = { + 200: {"model": GraphExecutionState}, + 400: {'description': 'Invalid node or link'}, + 404: {'description': 'Session not found'} + } +) +async def delete_node( + session_id: str = Path(description = "The id of the session"), + node_path: str = Path(description = "The path to the node to delete") +) -> GraphExecutionState: + """Deletes a node in the graph and removes all linked edges""" + session = ApiDependencies.invoker.invoker_services.graph_execution_manager.get(session_id) + if session is None: + return Response(status_code = 404) + + try: + session.delete_node(node_path) + ApiDependencies.invoker.invoker_services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? + return session + except NodeAlreadyExecutedError: + return Response(status_code = 400) + except IndexError: + return Response(status_code = 400) + + +@session_router.post('/{session_id}/edges', + operation_id = 'add_edge', + responses = { + 200: {"model": GraphExecutionState}, + 400: {'description': 'Invalid node or link'}, + 404: {'description': 'Session not found'} + } +) +async def add_edge( + session_id: str = Path(description = "The id of the session"), + edge: tuple[EdgeConnection, EdgeConnection] = Body(description = "The edge to add") +) -> GraphExecutionState: + """Adds an edge to the graph""" + session = ApiDependencies.invoker.invoker_services.graph_execution_manager.get(session_id) + if session is None: + return Response(status_code = 404) + + try: + session.add_edge(edge) + ApiDependencies.invoker.invoker_services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? + return session + except NodeAlreadyExecutedError: + return Response(status_code = 400) + except IndexError: + return Response(status_code = 400) + + +# TODO: the edge being in the path here is really ugly, find a better solution +@session_router.delete('/{session_id}/edges/{from_node_id}/{from_field}/{to_node_id}/{to_field}', + operation_id = 'delete_edge', + responses = { + 200: {"model": GraphExecutionState}, + 400: {'description': 'Invalid node or link'}, + 404: {'description': 'Session not found'} + } +) +async def delete_edge( + session_id: str = Path(description = "The id of the session"), + from_node_id: str = Path(description = "The id of the node the edge is coming from"), + from_field: str = Path(description = "The field of the node the edge is coming from"), + to_node_id: str = Path(description = "The id of the node the edge is going to"), + to_field: str = Path(description = "The field of the node the edge is going to") +) -> GraphExecutionState: + """Deletes an edge from the graph""" + session = ApiDependencies.invoker.invoker_services.graph_execution_manager.get(session_id) + if session is None: + return Response(status_code = 404) + + try: + edge = (EdgeConnection(node_id = from_node_id, field = from_field), EdgeConnection(node_id = to_node_id, field = to_field)) + session.delete_edge(edge) + ApiDependencies.invoker.invoker_services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? + return session + except NodeAlreadyExecutedError: + return Response(status_code = 400) + except IndexError: + return Response(status_code = 400) + + +@session_router.put('/{session_id}/invoke', + operation_id = 'invoke_session', + responses = { + 200: {"model": None}, + 202: {'description': 'The invocation is queued'}, + 400: {'description': 'The session has no invocations ready to invoke'}, + 404: {'description': 'Session not found'} + }) +async def invoke_session( + session_id: str = Path(description = "The id of the session to invoke"), + all: bool = Query(default = False, description = "Whether or not to invoke all remaining invocations") +) -> None: + """Invokes a session""" + session = ApiDependencies.invoker.invoker_services.graph_execution_manager.get(session_id) + if session is None: + return Response(status_code = 404) + + if session.is_complete(): + return Response(status_code = 400) + + ApiDependencies.invoker.invoke(session, invoke_all = all) + return Response(status_code=202) diff --git a/ldm/invoke/app/api/sockets.py b/ldm/invoke/app/api/sockets.py new file mode 100644 index 00000000000..eb4d5403c07 --- /dev/null +++ b/ldm/invoke/app/api/sockets.py @@ -0,0 +1,36 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +from fastapi import FastAPI +from fastapi_socketio import SocketManager +from fastapi_events.handlers.local import local_handler +from fastapi_events.typing import Event +from ..services.events import EventServiceBase + +class SocketIO: + __sio: SocketManager + + def __init__(self, app: FastAPI): + self.__sio = SocketManager(app = app) + self.__sio.on('subscribe', handler=self._handle_sub) + self.__sio.on('unsubscribe', handler=self._handle_unsub) + + local_handler.register( + event_name = EventServiceBase.session_event, + _func=self._handle_session_event + ) + + async def _handle_session_event(self, event: Event): + await self.__sio.emit( + event = event[1]['event'], + data = event[1]['data'], + room = event[1]['data']['graph_execution_state_id'] + ) + + async def _handle_sub(self, sid, data, *args, **kwargs): + if 'session' in data: + self.__sio.enter_room(sid, data['session']) + + # @app.sio.on('unsubscribe') + async def _handle_unsub(self, sid, data, *args, **kwargs): + if 'session' in data: + self.__sio.leave_room(sid, data['session']) diff --git a/ldm/invoke/app/api_app.py b/ldm/invoke/app/api_app.py new file mode 100644 index 00000000000..db79b0d7e82 --- /dev/null +++ b/ldm/invoke/app/api_app.py @@ -0,0 +1,164 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +import asyncio +from inspect import signature +from fastapi import FastAPI +from fastapi.openapi.utils import get_openapi +from fastapi.openapi.docs import get_swagger_ui_html, get_redoc_html +from fastapi.staticfiles import StaticFiles +from fastapi_events.middleware import EventHandlerASGIMiddleware +from fastapi_events.handlers.local import local_handler +from fastapi.middleware.cors import CORSMiddleware +from pydantic.schema import schema +import uvicorn +from .api.sockets import SocketIO +from .invocations import * +from .invocations.baseinvocation import BaseInvocation +from .api.routers import images, sessions +from .api.dependencies import ApiDependencies +from ..args import Args + +# Create the app +# TODO: create this all in a method so configuration/etc. can be passed in? +app = FastAPI( + title = "Invoke AI", + docs_url = None, + redoc_url = None +) + +# Add event handler +event_handler_id: int = id(app) +app.add_middleware( + EventHandlerASGIMiddleware, + handlers = [local_handler], # TODO: consider doing this in services to support different configurations + middleware_id = event_handler_id) + +# Add CORS +# TODO: use configuration for this +origins = [] +app.add_middleware( + CORSMiddleware, + allow_origins=origins, + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + +socket_io = SocketIO(app) + +config = {} + +# Add startup event to load dependencies +@app.on_event('startup') +async def startup_event(): + args = Args() + config = args.parse_args() + + ApiDependencies.initialize( + args = args, + config = config, + event_handler_id = event_handler_id + ) + +# Shut down threads +@app.on_event('shutdown') +async def shutdown_event(): + ApiDependencies.shutdown() + +# Include all routers +# TODO: REMOVE +# app.include_router( +# invocation.invocation_router, +# prefix = '/api') + +app.include_router( + sessions.session_router, + prefix = '/api' +) + +app.include_router( + images.images_router, + prefix = '/api' +) + +# Build a custom OpenAPI to include all outputs +# TODO: can outputs be included on metadata of invocation schemas somehow? +def custom_openapi(): + if app.openapi_schema: + return app.openapi_schema + openapi_schema = get_openapi( + title = app.title, + description = "An API for invoking AI image operations", + version = "1.0.0", + routes = app.routes + ) + + # Add all outputs + all_invocations = BaseInvocation.get_invocations() + output_types = set() + output_type_titles = dict() + for invoker in all_invocations: + output_type = signature(invoker.invoke).return_annotation + output_types.add(output_type) + + output_schemas = schema(output_types, ref_prefix="#/components/schemas/") + for schema_key, output_schema in output_schemas['definitions'].items(): + openapi_schema["components"]["schemas"][schema_key] = output_schema + + # TODO: note that we assume the schema_key here is the TYPE.__name__ + # This could break in some cases, figure out a better way to do it + output_type_titles[schema_key] = output_schema['title'] + + # Add a reference to the output type to additionalProperties of the invoker schema + for invoker in all_invocations: + invoker_name = invoker.__name__ + output_type = signature(invoker.invoke).return_annotation + output_type_title = output_type_titles[output_type.__name__] + invoker_schema = openapi_schema["components"]["schemas"][invoker_name] + outputs_ref = { '$ref': f'#/components/schemas/{output_type_title}' } + if 'additionalProperties' not in invoker_schema: + invoker_schema['additionalProperties'] = {} + + invoker_schema['additionalProperties']['outputs'] = outputs_ref + + app.openapi_schema = openapi_schema + return app.openapi_schema + +app.openapi = custom_openapi + +# Override API doc favicons +app.mount('/static', StaticFiles(directory='static/dream_web'), name='static') + +@app.get("/docs", include_in_schema=False) +def overridden_swagger(): + return get_swagger_ui_html( + openapi_url=app.openapi_url, + title=app.title, + swagger_favicon_url="/static/favicon.ico" + ) + +@app.get("/redoc", include_in_schema=False) +def overridden_redoc(): + return get_redoc_html( + openapi_url=app.openapi_url, + title=app.title, + redoc_favicon_url="/static/favicon.ico" + ) + +def invoke_api(): + # Start our own event loop for eventing usage + # TODO: determine if there's a better way to do this + loop = asyncio.new_event_loop() + config = uvicorn.Config( + app = app, + host = "0.0.0.0", + port = 9090, + loop = loop) + # Use access_log to turn off logging + + server = uvicorn.Server(config) + loop.run_until_complete(server.serve()) + + +if __name__ == "__main__": + invoke_api() diff --git a/ldm/invoke/app/cli_app.py b/ldm/invoke/app/cli_app.py new file mode 100644 index 00000000000..6071afabb2d --- /dev/null +++ b/ldm/invoke/app/cli_app.py @@ -0,0 +1,306 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +import argparse +import shlex +import os +import time +from typing import Any, Dict, Iterable, Literal, Union, get_args, get_origin, get_type_hints +from pydantic import BaseModel +from pydantic.fields import Field + +from .services.processor import DefaultInvocationProcessor + +from .services.graph import EdgeConnection, GraphExecutionState + +from .services.sqlite import SqliteItemStorage + +from .invocations.image import ImageField +from .services.generate_initializer import get_generate +from .services.image_storage import DiskImageStorage +from .services.invocation_queue import MemoryInvocationQueue +from .invocations.baseinvocation import BaseInvocation +from .services.invocation_services import InvocationServices +from .services.invoker import Invoker, InvokerServices +from .invocations import * +from ..args import Args +from .services.events import EventServiceBase + + +class InvocationCommand(BaseModel): + invocation: Union[BaseInvocation.get_invocations()] = Field(discriminator="type") + + +class InvalidArgs(Exception): + pass + + +def get_invocation_parser() -> argparse.ArgumentParser: + + # Create invocation parser + parser = argparse.ArgumentParser() + def exit(*args, **kwargs): + raise InvalidArgs + parser.exit = exit + + subparsers = parser.add_subparsers(dest='type') + invocation_parsers = dict() + + # Add history parser + history_parser = subparsers.add_parser('history', help="Shows the invocation history") + history_parser.add_argument('count', nargs='?', default=5, type=int, help="The number of history entries to show") + + # Add default parser + default_parser = subparsers.add_parser('default', help="Define a default value for all inputs with a specified name") + default_parser.add_argument('input', type=str, help="The input field") + default_parser.add_argument('value', help="The default value") + + default_parser = subparsers.add_parser('reset_default', help="Resets a default value") + default_parser.add_argument('input', type=str, help="The input field") + + # Create subparsers for each invocation + invocations = BaseInvocation.get_all_subclasses() + for invocation in invocations: + hints = get_type_hints(invocation) + cmd_name = get_args(hints['type'])[0] + command_parser = subparsers.add_parser(cmd_name, help=invocation.__doc__) + invocation_parsers[cmd_name] = command_parser + + # Add linking capability + command_parser.add_argument('--link', '-l', action='append', nargs=3, + help="A link in the format 'dest_field source_node source_field'. source_node can be relative to history (e.g. -1)") + + command_parser.add_argument('--link_node', '-ln', action='append', + help="A link from all fields in the specified node. Node can be relative to history (e.g. -1)") + + # Convert all fields to arguments + fields = invocation.__fields__ + for name, field in fields.items(): + if name in ['id', 'type']: + continue + + if get_origin(field.type_) == Literal: + allowed_values = get_args(field.type_) + allowed_types = set() + for val in allowed_values: + allowed_types.add(type(val)) + allowed_types_list = list(allowed_types) + field_type = allowed_types_list[0] if len(allowed_types) == 1 else Union[allowed_types_list] + + command_parser.add_argument( + f"--{name}", + dest=name, + type=field_type, + default=field.default, + choices = allowed_values, + help=field.field_info.description + ) + else: + command_parser.add_argument( + f"--{name}", + dest=name, + type=field.type_, + default=field.default, + help=field.field_info.description + ) + + return parser + + +def get_invocation_command(invocation) -> str: + fields = invocation.__fields__.items() + type_hints = get_type_hints(type(invocation)) + command = [invocation.type] + for name,field in fields: + if name in ['id', 'type']: + continue + + # TODO: add links + + # Skip image fields when serializing command + type_hint = type_hints.get(name) or None + if type_hint is ImageField or ImageField in get_args(type_hint): + continue + + field_value = getattr(invocation, name) + field_default = field.default + if field_value != field_default: + if type_hint is str or str in get_args(type_hint): + command.append(f'--{name} "{field_value}"') + else: + command.append(f'--{name} {field_value}') + + return ' '.join(command) + + +def get_graph_execution_history(graph_execution_state: GraphExecutionState) -> Iterable[str]: + """Gets the history of fully-executed invocations for a graph execution""" + return (n for n in reversed(graph_execution_state.executed_history) if n in graph_execution_state.graph.nodes) + + +def generate_matching_edges(a: BaseInvocation, b: BaseInvocation) -> list[tuple[EdgeConnection, EdgeConnection]]: + """Generates all possible edges between two invocations""" + atype = type(a) + btype = type(b) + + aoutputtype = atype.get_output_type() + + afields = get_type_hints(aoutputtype) + bfields = get_type_hints(btype) + + matching_fields = set(afields.keys()).intersection(bfields.keys()) + + # Remove invalid fields + invalid_fields = set(['type', 'id']) + matching_fields = matching_fields.difference(invalid_fields) + + edges = [(EdgeConnection(node_id = a.id, field = field), EdgeConnection(node_id = b.id, field = field)) for field in matching_fields] + return edges + + +def invoke_cli(): + args = Args() + config = args.parse_args() + + generate = get_generate(args, config) + + # NOTE: load model on first use, uncomment to load at startup + # TODO: Make this a config option? + #generate.load_model() + + events = EventServiceBase() + + output_folder = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../../outputs')) + + services = InvocationServices( + generate = generate, + events = events, + images = DiskImageStorage(output_folder) + ) + + # TODO: build a file/path manager? + db_location = os.path.join(output_folder, 'invokeai.db') + + invoker_services = InvokerServices( + queue = MemoryInvocationQueue(), + graph_execution_manager = SqliteItemStorage[GraphExecutionState](filename = db_location, table_name = 'graph_executions'), + processor = DefaultInvocationProcessor() + ) + + invoker = Invoker(services, invoker_services) + session = invoker.create_execution_state() + + parser = get_invocation_parser() + + # Uncomment to print out previous sessions at startup + # print(invoker_services.session_manager.list()) + + # Defaults storage + defaults: Dict[str, Any] = dict() + + while True: + try: + cmd_input = input("> ") + except KeyboardInterrupt: + # Ctrl-c exits + break + + if cmd_input in ['exit','q']: + break; + + if cmd_input in ['--help','help','h','?']: + parser.print_help() + continue + + try: + # Refresh the state of the session + session = invoker.invoker_services.graph_execution_manager.get(session.id) + history = list(get_graph_execution_history(session)) + + # Split the command for piping + cmds = cmd_input.split('|') + start_id = len(history) + current_id = start_id + new_invocations = list() + for cmd in cmds: + # Parse args to create invocation + args = vars(parser.parse_args(shlex.split(cmd.strip()))) + + # Check for special commands + # TODO: These might be better as Pydantic models, similar to the invocations + if args['type'] == 'history': + history_count = args['count'] or 5 + for i in range(min(history_count, len(history))): + entry_id = history[-1 - i] + entry = session.graph.get_node(entry_id) + print(f'{entry_id}: {get_invocation_command(entry.invocation)}') + continue + + if args['type'] == 'reset_default': + if args['input'] in defaults: + del defaults[args['input']] + continue + + if args['type'] == 'default': + field = args['input'] + field_value = args['value'] + defaults[field] = field_value + continue + + # Override defaults + for field_name,field_default in defaults.items(): + if field_name in args: + args[field_name] = field_default + + # Parse invocation + args['id'] = current_id + command = InvocationCommand(invocation = args) + + # Pipe previous command output (if there was a previous command) + edges = [] + if len(history) > 0 or current_id != start_id: + from_id = history[0] if current_id == start_id else str(current_id - 1) + from_node = next(filter(lambda n: n[0].id == from_id, new_invocations))[0] if current_id != start_id else session.graph.get_node(from_id) + matching_edges = generate_matching_edges(from_node, command.invocation) + edges.extend(matching_edges) + + # Parse provided links + if 'link_node' in args and args['link_node']: + for link in args['link_node']: + link_node = session.graph.get_node(link) + matching_edges = generate_matching_edges(link_node, command.invocation) + edges.extend(matching_edges) + + if 'link' in args and args['link']: + for link in args['link']: + edges.append((EdgeConnection(node_id = link[1], field = link[0]), EdgeConnection(node_id = command.invocation.id, field = link[2]))) + + new_invocations.append((command.invocation, edges)) + + current_id = current_id + 1 + + # Command line was parsed successfully + # Add the invocations to the session + for invocation in new_invocations: + session.add_node(invocation[0]) + for edge in invocation[1]: + session.add_edge(edge) + + # Execute all available invocations + invoker.invoke(session, invoke_all = True) + while not session.is_complete(): + # Wait some time + session = invoker.invoker_services.graph_execution_manager.get(session.id) + time.sleep(0.1) + + except InvalidArgs: + print('Invalid command, use "help" to list commands') + continue + + except SystemExit: + continue + + invoker.stop() + + +if __name__ == "__main__": + invoke_cli() diff --git a/ldm/invoke/app/invocations/__init__.py b/ldm/invoke/app/invocations/__init__.py new file mode 100644 index 00000000000..6407a1cdeed --- /dev/null +++ b/ldm/invoke/app/invocations/__init__.py @@ -0,0 +1,8 @@ +import os + +__all__ = [] + +dirname = os.path.dirname(os.path.abspath(__file__)) +for f in os.listdir(dirname): + if f != "__init__.py" and os.path.isfile("%s/%s" % (dirname, f)) and f[-3:] == ".py": + __all__.append(f[:-3]) diff --git a/ldm/invoke/app/invocations/baseinvocation.py b/ldm/invoke/app/invocations/baseinvocation.py new file mode 100644 index 00000000000..1ad2d991122 --- /dev/null +++ b/ldm/invoke/app/invocations/baseinvocation.py @@ -0,0 +1,74 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +from abc import ABC, abstractmethod +from inspect import signature +from typing import get_args, get_type_hints +from pydantic import BaseModel, Field +from ..services.invocation_services import InvocationServices + + +class InvocationContext: + services: InvocationServices + graph_execution_state_id: str + + def __init__(self, services: InvocationServices, graph_execution_state_id: str): + self.services = services + self.graph_execution_state_id = graph_execution_state_id + + +class BaseInvocationOutput(BaseModel): + """Base class for all invocation outputs""" + + # All outputs must include a type name like this: + # type: Literal['your_output_name'] + + @classmethod + def get_all_subclasses_tuple(cls): + subclasses = [] + toprocess = [cls] + while len(toprocess) > 0: + next = toprocess.pop(0) + next_subclasses = next.__subclasses__() + subclasses.extend(next_subclasses) + toprocess.extend(next_subclasses) + return tuple(subclasses) + + +class BaseInvocation(ABC, BaseModel): + """A node to process inputs and produce outputs. + May use dependency injection in __init__ to receive providers. + """ + + # All invocations must include a type name like this: + # type: Literal['your_output_name'] + + @classmethod + def get_all_subclasses(cls): + subclasses = [] + toprocess = [cls] + while len(toprocess) > 0: + next = toprocess.pop(0) + next_subclasses = next.__subclasses__() + subclasses.extend(next_subclasses) + toprocess.extend(next_subclasses) + return subclasses + + @classmethod + def get_invocations(cls): + return tuple(BaseInvocation.get_all_subclasses()) + + @classmethod + def get_invocations_map(cls): + # Get the type strings out of the literals and into a dictionary + return dict(map(lambda t: (get_args(get_type_hints(t)['type'])[0], t),BaseInvocation.get_all_subclasses())) + + @classmethod + def get_output_type(cls): + return signature(cls.invoke).return_annotation + + @abstractmethod + def invoke(self, context: InvocationContext) -> BaseInvocationOutput: + """Invoke with provided context and return outputs.""" + pass + + id: str = Field(description="The id of this node. Must be unique among all nodes.") diff --git a/ldm/invoke/app/invocations/cv.py b/ldm/invoke/app/invocations/cv.py new file mode 100644 index 00000000000..f9506697365 --- /dev/null +++ b/ldm/invoke/app/invocations/cv.py @@ -0,0 +1,42 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +from typing import Literal +import numpy +from pydantic import Field +from PIL import Image, ImageOps +import cv2 as cv +from .image import ImageField, ImageOutput +from .baseinvocation import BaseInvocation, InvocationContext +from ..services.image_storage import ImageType + + +class CvInpaintInvocation(BaseInvocation): + """Simple inpaint using opencv.""" + type: Literal['cv_inpaint'] = 'cv_inpaint' + + # Inputs + image: ImageField = Field(default=None, description="The image to inpaint") + mask: ImageField = Field(default=None, description="The mask to use when inpainting") + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = context.services.images.get(self.image.image_type, self.image.image_name) + mask = context.services.images.get(self.mask.image_type, self.mask.image_name) + + # Convert to cv image/mask + # TODO: consider making these utility functions + cv_image = cv.cvtColor(numpy.array(image.convert('RGB')), cv.COLOR_RGB2BGR) + cv_mask = numpy.array(ImageOps.invert(mask)) + + # Inpaint + cv_inpainted = cv.inpaint(cv_image, cv_mask, 3, cv.INPAINT_TELEA) + + # Convert back to Pillow + # TODO: consider making a utility function + image_inpainted = Image.fromarray(cv.cvtColor(cv_inpainted, cv.COLOR_BGR2RGB)) + + image_type = ImageType.INTERMEDIATE + image_name = context.services.images.create_name(context.graph_execution_state_id, self.id) + context.services.images.save(image_type, image_name, image_inpainted) + return ImageOutput( + image = ImageField(image_type = image_type, image_name = image_name) + ) diff --git a/ldm/invoke/app/invocations/generate.py b/ldm/invoke/app/invocations/generate.py new file mode 100644 index 00000000000..60b656bf0c7 --- /dev/null +++ b/ldm/invoke/app/invocations/generate.py @@ -0,0 +1,160 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +from datetime import datetime, timezone +from typing import Any, Literal, Optional, Union +import numpy as np +from pydantic import Field +from PIL import Image +from skimage.exposure.histogram_matching import match_histograms +from .image import ImageField, ImageOutput +from .baseinvocation import BaseInvocation, InvocationContext +from ..services.image_storage import ImageType +from ..services.invocation_services import InvocationServices + + +SAMPLER_NAME_VALUES = Literal["ddim","plms","k_lms","k_dpm_2","k_dpm_2_a","k_euler","k_euler_a","k_heun"] + +# Text to image +class TextToImageInvocation(BaseInvocation): + """Generates an image using text2img.""" + type: Literal['txt2img'] = 'txt2img' + + # Inputs + # TODO: consider making prompt optional to enable providing prompt through a link + prompt: Optional[str] = Field(description="The prompt to generate an image from") + seed: int = Field(default=-1, ge=-1, le=np.iinfo(np.uint32).max, description="The seed to use (-1 for a random seed)") + steps: int = Field(default=10, gt=0, description="The number of steps to use to generate the image") + width: int = Field(default=512, multiple_of=64, gt=0, description="The width of the resulting image") + height: int = Field(default=512, multiple_of=64, gt=0, description="The height of the resulting image") + cfg_scale: float = Field(default=7.5, gt=0, description="The Classifier-Free Guidance, higher values may result in a result closer to the prompt") + sampler_name: SAMPLER_NAME_VALUES = Field(default="k_lms", description="The sampler to use") + seamless: bool = Field(default=False, description="Whether or not to generate an image that can tile without seams") + model: str = Field(default='', description="The model to use (currently ignored)") + progress_images: bool = Field(default=False, description="Whether or not to produce progress images during generation") + + # TODO: pass this an emitter method or something? or a session for dispatching? + def dispatch_progress(self, context: InvocationContext, sample: Any = None, step: int = 0) -> None: + context.services.events.emit_generator_progress( + context.graph_execution_state_id, self.id, step, float(step) / float(self.steps) + ) + + def invoke(self, context: InvocationContext) -> ImageOutput: + + def step_callback(sample, step = 0): + self.dispatch_progress(context, sample, step) + + # Handle invalid model parameter + # TODO: figure out if this can be done via a validator that uses the model_cache + # TODO: How to get the default model name now? + if self.model is None or self.model == '': + self.model = context.services.generate.model_name + + # Set the model (if already cached, this does nothing) + context.services.generate.set_model(self.model) + + results = context.services.generate.prompt2image( + prompt = self.prompt, + step_callback = step_callback, + **self.dict(exclude = {'prompt'}) # Shorthand for passing all of the parameters above manually + ) + + # Results are image and seed, unwrap for now and ignore the seed + # TODO: pre-seed? + # TODO: can this return multiple results? Should it? + image_type = ImageType.RESULT + image_name = context.services.images.create_name(context.graph_execution_state_id, self.id) + context.services.images.save(image_type, image_name, results[0][0]) + return ImageOutput( + image = ImageField(image_type = image_type, image_name = image_name) + ) + + +class ImageToImageInvocation(TextToImageInvocation): + """Generates an image using img2img.""" + type: Literal['img2img'] = 'img2img' + + # Inputs + image: Union[ImageField,None] = Field(description="The input image") + strength: float = Field(default=0.75, gt=0, le=1, description="The strength of the original image") + fit: bool = Field(default=True, description="Whether or not the result should be fit to the aspect ratio of the input image") + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = None if self.image is None else context.services.images.get(self.image.image_type, self.image.image_name) + mask = None + + def step_callback(sample, step = 0): + self.dispatch_progress(context, sample, step) + + # Handle invalid model parameter + # TODO: figure out if this can be done via a validator that uses the model_cache + # TODO: How to get the default model name now? + if self.model is None or self.model == '': + self.model = context.services.generate.model_name + + # Set the model (if already cached, this does nothing) + context.services.generate.set_model(self.model) + + results = context.services.generate.prompt2image( + prompt = self.prompt, + init_img = image, + init_mask = mask, + step_callback = step_callback, + **self.dict(exclude = {'prompt','image','mask'}) # Shorthand for passing all of the parameters above manually + ) + + result_image = results[0][0] + + # Results are image and seed, unwrap for now and ignore the seed + # TODO: pre-seed? + # TODO: can this return multiple results? Should it? + image_type = ImageType.RESULT + image_name = context.services.images.create_name(context.graph_execution_state_id, self.id) + context.services.images.save(image_type, image_name, result_image) + return ImageOutput( + image = ImageField(image_type = image_type, image_name = image_name) + ) + + +class InpaintInvocation(ImageToImageInvocation): + """Generates an image using inpaint.""" + type: Literal['inpaint'] = 'inpaint' + + # Inputs + mask: Union[ImageField,None] = Field(description="The mask") + inpaint_replace: float = Field(default=0.0, ge=0.0, le=1.0, description="The amount by which to replace masked areas with latent noise") + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = None if self.image is None else context.services.images.get(self.image.image_type, self.image.image_name) + mask = None if self.mask is None else context.services.images.get(self.mask.image_type, self.mask.image_name) + + def step_callback(sample, step = 0): + self.dispatch_progress(context, sample, step) + + # Handle invalid model parameter + # TODO: figure out if this can be done via a validator that uses the model_cache + # TODO: How to get the default model name now? + if self.model is None or self.model == '': + self.model = context.services.generate.model_name + + # Set the model (if already cached, this does nothing) + context.services.generate.set_model(self.model) + + results = context.services.generate.prompt2image( + prompt = self.prompt, + init_img = image, + init_mask = mask, + step_callback = step_callback, + **self.dict(exclude = {'prompt','image','mask'}) # Shorthand for passing all of the parameters above manually + ) + + result_image = results[0][0] + + # Results are image and seed, unwrap for now and ignore the seed + # TODO: pre-seed? + # TODO: can this return multiple results? Should it? + image_type = ImageType.RESULT + image_name = context.services.images.create_name(context.graph_execution_state_id, self.id) + context.services.images.save(image_type, image_name, result_image) + return ImageOutput( + image = ImageField(image_type = image_type, image_name = image_name) + ) diff --git a/ldm/invoke/app/invocations/image.py b/ldm/invoke/app/invocations/image.py new file mode 100644 index 00000000000..cb326b1bb70 --- /dev/null +++ b/ldm/invoke/app/invocations/image.py @@ -0,0 +1,219 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +from datetime import datetime, timezone +from typing import Literal, Optional +import numpy +from pydantic import Field, BaseModel +from PIL import Image, ImageOps, ImageFilter +from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationContext +from ..services.image_storage import ImageType +from ..services.invocation_services import InvocationServices + + +class ImageField(BaseModel): + """An image field used for passing image objects between invocations""" + image_type: str = Field(default=ImageType.RESULT, description="The type of the image") + image_name: Optional[str] = Field(default=None, description="The name of the image") + + +class ImageOutput(BaseInvocationOutput): + """Base class for invocations that output an image""" + type: Literal['image'] = 'image' + + image: ImageField = Field(default=None, description="The output image") + + +class MaskOutput(BaseInvocationOutput): + """Base class for invocations that output a mask""" + type: Literal['mask'] = 'mask' + + mask: ImageField = Field(default=None, description="The output mask") + + +# TODO: this isn't really necessary anymore +class LoadImageInvocation(BaseInvocation): + """Load an image from a filename and provide it as output.""" + type: Literal['load_image'] = 'load_image' + + # Inputs + image_type: ImageType = Field(description="The type of the image") + image_name: str = Field(description="The name of the image") + + def invoke(self, context: InvocationContext) -> ImageOutput: + return ImageOutput( + image = ImageField(image_type = self.image_type, image_name = self.image_name) + ) + + +class ShowImageInvocation(BaseInvocation): + """Displays a provided image, and passes it forward in the pipeline.""" + type: Literal['show_image'] = 'show_image' + + # Inputs + image: ImageField = Field(default=None, description="The image to show") + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = context.services.images.get(self.image.image_type, self.image.image_name) + if image: + image.show() + + # TODO: how to handle failure? + + return ImageOutput( + image = ImageField(image_type = self.image.image_type, image_name = self.image.image_name) + ) + + +class CropImageInvocation(BaseInvocation): + """Crops an image to a specified box. The box can be outside of the image.""" + type: Literal['crop'] = 'crop' + + # Inputs + image: ImageField = Field(default=None, description="The image to crop") + x: int = Field(default=0, description="The left x coordinate of the crop rectangle") + y: int = Field(default=0, description="The top y coordinate of the crop rectangle") + width: int = Field(default=512, gt=0, description="The width of the crop rectangle") + height: int = Field(default=512, gt=0, description="The height of the crop rectangle") + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = context.services.images.get(self.image.image_type, self.image.image_name) + + image_crop = Image.new(mode = 'RGBA', size = (self.width, self.height), color = (0, 0, 0, 0)) + image_crop.paste(image, (-self.x, -self.y)) + + image_type = ImageType.INTERMEDIATE + image_name = context.services.images.create_name(context.graph_execution_state_id, self.id) + context.services.images.save(image_type, image_name, image_crop) + return ImageOutput( + image = ImageField(image_type = image_type, image_name = image_name) + ) + + +class PasteImageInvocation(BaseInvocation): + """Pastes an image into another image.""" + type: Literal['paste'] = 'paste' + + # Inputs + base_image: ImageField = Field(default=None, description="The base image") + image: ImageField = Field(default=None, description="The image to paste") + mask: Optional[ImageField] = Field(default=None, description="The mask to use when pasting") + x: int = Field(default=0, description="The left x coordinate at which to paste the image") + y: int = Field(default=0, description="The top y coordinate at which to paste the image") + + def invoke(self, context: InvocationContext) -> ImageOutput: + base_image = context.services.images.get(self.base_image.image_type, self.base_image.image_name) + image = context.services.images.get(self.image.image_type, self.image.image_name) + mask = None if self.mask is None else ImageOps.invert(services.images.get(self.mask.image_type, self.mask.image_name)) + # TODO: probably shouldn't invert mask here... should user be required to do it? + + min_x = min(0, self.x) + min_y = min(0, self.y) + max_x = max(base_image.width, image.width + self.x) + max_y = max(base_image.height, image.height + self.y) + + new_image = Image.new(mode = 'RGBA', size = (max_x - min_x, max_y - min_y), color = (0, 0, 0, 0)) + new_image.paste(base_image, (abs(min_x), abs(min_y))) + new_image.paste(image, (max(0, self.x), max(0, self.y)), mask = mask) + + image_type = ImageType.RESULT + image_name = context.services.images.create_name(context.graph_execution_state_id, self.id) + context.services.images.save(image_type, image_name, new_image) + return ImageOutput( + image = ImageField(image_type = image_type, image_name = image_name) + ) + + +class MaskFromAlphaInvocation(BaseInvocation): + """Extracts the alpha channel of an image as a mask.""" + type: Literal['tomask'] = 'tomask' + + # Inputs + image: ImageField = Field(default=None, description="The image to create the mask from") + invert: bool = Field(default=False, description="Whether or not to invert the mask") + + def invoke(self, context: InvocationContext) -> MaskOutput: + image = context.services.images.get(self.image.image_type, self.image.image_name) + + image_mask = image.split()[-1] + if self.invert: + image_mask = ImageOps.invert(image_mask) + + image_type = ImageType.INTERMEDIATE + image_name = context.services.images.create_name(context.graph_execution_state_id, self.id) + context.services.images.save(image_type, image_name, image_mask) + return MaskOutput( + mask = ImageField(image_type = image_type, image_name = image_name) + ) + + +class BlurInvocation(BaseInvocation): + """Blurs an image""" + type: Literal['blur'] = 'blur' + + # Inputs + image: ImageField = Field(default=None, description="The image to blur") + radius: float = Field(default=8.0, ge=0, description="The blur radius") + blur_type: Literal['gaussian', 'box'] = Field(default='gaussian', description="The type of blur") + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = context.services.images.get(self.image.image_type, self.image.image_name) + + blur = ImageFilter.GaussianBlur(self.radius) if self.blur_type == 'gaussian' else ImageFilter.BoxBlur(self.radius) + blur_image = image.filter(blur) + + image_type = ImageType.INTERMEDIATE + image_name = context.services.images.create_name(context.graph_execution_state_id, self.id) + context.services.images.save(image_type, image_name, blur_image) + return ImageOutput( + image = ImageField(image_type = image_type, image_name = image_name) + ) + + +class LerpInvocation(BaseInvocation): + """Linear interpolation of all pixels of an image""" + type: Literal['lerp'] = 'lerp' + + # Inputs + image: ImageField = Field(default=None, description="The image to lerp") + min: int = Field(default=0, ge=0, le=255, description="The minimum output value") + max: int = Field(default=255, ge=0, le=255, description="The maximum output value") + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = context.services.images.get(self.image.image_type, self.image.image_name) + + image_arr = numpy.asarray(image, dtype=numpy.float32) / 255 + image_arr = image_arr * (self.max - self.min) + self.max + + lerp_image = Image.fromarray(numpy.uint8(image_arr)) + + image_type = ImageType.INTERMEDIATE + image_name = context.services.images.create_name(context.graph_execution_state_id, self.id) + context.services.images.save(image_type, image_name, lerp_image) + return ImageOutput( + image = ImageField(image_type = image_type, image_name = image_name) + ) + + +class InverseLerpInvocation(BaseInvocation): + """Inverse linear interpolation of all pixels of an image""" + type: Literal['ilerp'] = 'ilerp' + + # Inputs + image: ImageField = Field(default=None, description="The image to lerp") + min: int = Field(default=0, ge=0, le=255, description="The minimum input value") + max: int = Field(default=255, ge=0, le=255, description="The maximum input value") + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = context.services.images.get(self.image.image_type, self.image.image_name) + + image_arr = numpy.asarray(image, dtype=numpy.float32) + image_arr = numpy.minimum(numpy.maximum(image_arr - self.min, 0) / float(self.max - self.min), 1) * 255 + + ilerp_image = Image.fromarray(numpy.uint8(image_arr)) + + image_type = ImageType.INTERMEDIATE + image_name = context.services.images.create_name(context.graph_execution_state_id, self.id) + context.services.images.save(image_type, image_name, ilerp_image) + return ImageOutput( + image = ImageField(image_type = image_type, image_name = image_name) + ) diff --git a/ldm/invoke/app/invocations/prompt.py b/ldm/invoke/app/invocations/prompt.py new file mode 100644 index 00000000000..029cad9660d --- /dev/null +++ b/ldm/invoke/app/invocations/prompt.py @@ -0,0 +1,9 @@ +from typing import Literal +from pydantic.fields import Field +from .baseinvocation import BaseInvocationOutput + +class PromptOutput(BaseInvocationOutput): + """Base class for invocations that output a prompt""" + type: Literal['prompt'] = 'prompt' + + prompt: str = Field(default=None, description="The output prompt") diff --git a/ldm/invoke/app/invocations/reconstruct.py b/ldm/invoke/app/invocations/reconstruct.py new file mode 100644 index 00000000000..98201ce837b --- /dev/null +++ b/ldm/invoke/app/invocations/reconstruct.py @@ -0,0 +1,36 @@ +from datetime import datetime, timezone +from typing import Literal, Union +from pydantic import Field +from .image import ImageField, ImageOutput +from .baseinvocation import BaseInvocation, InvocationContext +from ..services.image_storage import ImageType +from ..services.invocation_services import InvocationServices + + +class RestoreFaceInvocation(BaseInvocation): + """Restores faces in an image.""" + type: Literal['restore_face'] = 'restore_face' + + # Inputs + image: Union[ImageField,None] = Field(description="The input image") + strength: float = Field(default=0.75, gt=0, le=1, description="The strength of the restoration") + + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = context.services.images.get(self.image.image_type, self.image.image_name) + results = context.services.generate.upscale_and_reconstruct( + image_list = [[image, 0]], + upscale = None, + strength = self.strength, # GFPGAN strength + save_original = False, + image_callback = None, + ) + + # Results are image and seed, unwrap for now + # TODO: can this return multiple results? + image_type = ImageType.RESULT + image_name = context.services.images.create_name(context.graph_execution_state_id, self.id) + context.services.images.save(image_type, image_name, results[0][0]) + return ImageOutput( + image = ImageField(image_type = image_type, image_name = image_name) + ) diff --git a/ldm/invoke/app/invocations/upscale.py b/ldm/invoke/app/invocations/upscale.py new file mode 100644 index 00000000000..1df8c44ea85 --- /dev/null +++ b/ldm/invoke/app/invocations/upscale.py @@ -0,0 +1,38 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +from datetime import datetime, timezone +from typing import Literal, Union +from pydantic import Field +from .image import ImageField, ImageOutput +from .baseinvocation import BaseInvocation, InvocationContext +from ..services.image_storage import ImageType +from ..services.invocation_services import InvocationServices + + +class UpscaleInvocation(BaseInvocation): + """Upscales an image.""" + type: Literal['upscale'] = 'upscale' + + # Inputs + image: Union[ImageField,None] = Field(description="The input image", default=None) + strength: float = Field(default=0.75, gt=0, le=1, description="The strength") + level: Literal[2,4] = Field(default=2, description = "The upscale level") + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = context.services.images.get(self.image.image_type, self.image.image_name) + results = context.services.generate.upscale_and_reconstruct( + image_list = [[image, 0]], + upscale = (self.level, self.strength), + strength = 0.0, # GFPGAN strength + save_original = False, + image_callback = None, + ) + + # Results are image and seed, unwrap for now + # TODO: can this return multiple results? + image_type = ImageType.RESULT + image_name = context.services.images.create_name(context.graph_execution_state_id, self.id) + context.services.images.save(image_type, image_name, results[0][0]) + return ImageOutput( + image = ImageField(image_type = image_type, image_name = image_name) + ) diff --git a/ldm/invoke/app/services/__init__.py b/ldm/invoke/app/services/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/ldm/invoke/app/services/events.py b/ldm/invoke/app/services/events.py new file mode 100644 index 00000000000..7b850b61ace --- /dev/null +++ b/ldm/invoke/app/services/events.py @@ -0,0 +1,78 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +from typing import Any, Dict + + +class EventServiceBase: + session_event: str = 'session_event' + + """Basic event bus, to have an empty stand-in when not needed""" + def dispatch(self, event_name: str, payload: Any) -> None: + pass + + def __emit_session_event(self, + event_name: str, + payload: Dict) -> None: + self.dispatch( + event_name = EventServiceBase.session_event, + payload = dict( + event = event_name, + data = payload + ) + ) + + # Define events here for every event in the system. + # This will make them easier to integrate until we find a schema generator. + def emit_generator_progress(self, + graph_execution_state_id: str, + invocation_id: str, + step: int, + percent: float + ) -> None: + """Emitted when there is generation progress""" + self.__emit_session_event( + event_name = 'generator_progress', + payload = dict( + graph_execution_state_id = graph_execution_state_id, + invocation_id = invocation_id, + step = step, + percent = percent + ) + ) + + def emit_invocation_complete(self, + graph_execution_state_id: str, + invocation_id: str, + result: Dict + ) -> None: + """Emitted when an invocation has completed""" + self.__emit_session_event( + event_name = 'invocation_complete', + payload = dict( + graph_execution_state_id = graph_execution_state_id, + invocation_id = invocation_id, + result = result + ) + ) + + def emit_invocation_started(self, + graph_execution_state_id: str, + invocation_id: str + ) -> None: + """Emitted when an invocation has started""" + self.__emit_session_event( + event_name = 'invocation_started', + payload = dict( + graph_execution_state_id = graph_execution_state_id, + invocation_id = invocation_id + ) + ) + + def emit_graph_execution_complete(self, graph_execution_state_id: str) -> None: + """Emitted when a session has completed all invocations""" + self.__emit_session_event( + event_name = 'graph_execution_state_complete', + payload = dict( + graph_execution_state_id = graph_execution_state_id + ) + ) diff --git a/ldm/invoke/app/services/generate_initializer.py b/ldm/invoke/app/services/generate_initializer.py new file mode 100644 index 00000000000..39c0fe491eb --- /dev/null +++ b/ldm/invoke/app/services/generate_initializer.py @@ -0,0 +1,233 @@ +from argparse import Namespace +import os +import sys +import traceback + +from ...model_manager import ModelManager + +from ...globals import Globals +from ....generate import Generate +import ldm.invoke + + +# TODO: most of this code should be split into individual services as the Generate.py code is deprecated +def get_generate(args, config) -> Generate: + if not args.conf: + config_file = os.path.join(Globals.root,'configs','models.yaml') + if not os.path.exists(config_file): + report_model_error(args, FileNotFoundError(f"The file {config_file} could not be found.")) + + print(f'>> {ldm.invoke.__app_name__}, version {ldm.invoke.__version__}') + print(f'>> InvokeAI runtime directory is "{Globals.root}"') + + # these two lines prevent a horrible warning message from appearing + # when the frozen CLIP tokenizer is imported + import transformers # type: ignore + transformers.logging.set_verbosity_error() + import diffusers + diffusers.logging.set_verbosity_error() + + # Loading Face Restoration and ESRGAN Modules + gfpgan,codeformer,esrgan = load_face_restoration(args) + + # normalize the config directory relative to root + if not os.path.isabs(args.conf): + args.conf = os.path.normpath(os.path.join(Globals.root,args.conf)) + + if args.embeddings: + if not os.path.isabs(args.embedding_path): + embedding_path = os.path.normpath(os.path.join(Globals.root,args.embedding_path)) + else: + embedding_path = args.embedding_path + else: + embedding_path = None + + # migrate legacy models + ModelManager.migrate_models() + + # load the infile as a list of lines + if args.infile: + try: + if os.path.isfile(args.infile): + infile = open(args.infile, 'r', encoding='utf-8') + elif args.infile == '-': # stdin + infile = sys.stdin + else: + raise FileNotFoundError(f'{args.infile} not found.') + except (FileNotFoundError, IOError) as e: + print(f'{e}. Aborting.') + sys.exit(-1) + + # creating a Generate object: + try: + gen = Generate( + conf = args.conf, + model = args.model, + sampler_name = args.sampler_name, + embedding_path = embedding_path, + full_precision = args.full_precision, + precision = args.precision, + gfpgan = gfpgan, + codeformer = codeformer, + esrgan = esrgan, + free_gpu_mem = args.free_gpu_mem, + safety_checker = args.safety_checker, + max_loaded_models = args.max_loaded_models, + ) + except (FileNotFoundError, TypeError, AssertionError) as e: + report_model_error(opt,e) + except (IOError, KeyError) as e: + print(f'{e}. Aborting.') + sys.exit(-1) + + if args.seamless: + print(">> changed to seamless tiling mode") + + # preload the model + try: + gen.load_model() + except KeyError: + pass + except Exception as e: + report_model_error(args, e) + + # try to autoconvert new models + # autoimport new .ckpt files + if path := args.autoconvert: + gen.model_manager.autoconvert_weights( + conf_path=args.conf, + weights_directory=path, + ) + + return gen + + +def load_face_restoration(opt): + try: + gfpgan, codeformer, esrgan = None, None, None + if opt.restore or opt.esrgan: + from ldm.invoke.restoration import Restoration + restoration = Restoration() + if opt.restore: + gfpgan, codeformer = restoration.load_face_restore_models(opt.gfpgan_model_path) + else: + print('>> Face restoration disabled') + if opt.esrgan: + esrgan = restoration.load_esrgan(opt.esrgan_bg_tile) + else: + print('>> Upscaling disabled') + else: + print('>> Face restoration and upscaling disabled') + except (ModuleNotFoundError, ImportError): + print(traceback.format_exc(), file=sys.stderr) + print('>> You may need to install the ESRGAN and/or GFPGAN modules') + return gfpgan,codeformer,esrgan + + +def report_model_error(opt:Namespace, e:Exception): + print(f'** An error occurred while attempting to initialize the model: "{str(e)}"') + print('** This can be caused by a missing or corrupted models file, and can sometimes be fixed by (re)installing the models.') + yes_to_all = os.environ.get('INVOKE_MODEL_RECONFIGURE') + if yes_to_all: + print('** Reconfiguration is being forced by environment variable INVOKE_MODEL_RECONFIGURE') + else: + response = input('Do you want to run invokeai-configure script to select and/or reinstall models? [y] ') + if response.startswith(('n', 'N')): + return + + print('invokeai-configure is launching....\n') + + # Match arguments that were set on the CLI + # only the arguments accepted by the configuration script are parsed + root_dir = ["--root", opt.root_dir] if opt.root_dir is not None else [] + config = ["--config", opt.conf] if opt.conf is not None else [] + previous_args = sys.argv + sys.argv = [ 'invokeai-configure' ] + sys.argv.extend(root_dir) + sys.argv.extend(config) + if yes_to_all is not None: + for arg in yes_to_all.split(): + sys.argv.append(arg) + + from ldm.invoke.config import invokeai_configure + invokeai_configure.main() + # TODO: Figure out how to restart + # print('** InvokeAI will now restart') + # sys.argv = previous_args + # main() # would rather do a os.exec(), but doesn't exist? + # sys.exit(0) + + +# Temporary initializer for Generate until we migrate off of it +def old_get_generate(args, config) -> Generate: + # TODO: Remove the need for globals + from ldm.invoke.globals import Globals + + # alert - setting globals here + Globals.root = os.path.expanduser(args.root_dir or os.environ.get('INVOKEAI_ROOT') or os.path.abspath('.')) + Globals.try_patchmatch = args.patchmatch + + print(f'>> InvokeAI runtime directory is "{Globals.root}"') + + # these two lines prevent a horrible warning message from appearing + # when the frozen CLIP tokenizer is imported + import transformers + transformers.logging.set_verbosity_error() + + # Loading Face Restoration and ESRGAN Modules + gfpgan, codeformer, esrgan = None, None, None + try: + if config.restore or config.esrgan: + from ldm.invoke.restoration import Restoration + restoration = Restoration() + if config.restore: + gfpgan, codeformer = restoration.load_face_restore_models(config.gfpgan_model_path) + else: + print('>> Face restoration disabled') + if config.esrgan: + esrgan = restoration.load_esrgan(config.esrgan_bg_tile) + else: + print('>> Upscaling disabled') + else: + print('>> Face restoration and upscaling disabled') + except (ModuleNotFoundError, ImportError): + print(traceback.format_exc(), file=sys.stderr) + print('>> You may need to install the ESRGAN and/or GFPGAN modules') + + # normalize the config directory relative to root + if not os.path.isabs(config.conf): + config.conf = os.path.normpath(os.path.join(Globals.root,config.conf)) + + if config.embeddings: + if not os.path.isabs(config.embedding_path): + embedding_path = os.path.normpath(os.path.join(Globals.root,config.embedding_path)) + else: + embedding_path = None + + + # TODO: lazy-initialize this by wrapping it + try: + generate = Generate( + conf = config.conf, + model = config.model, + sampler_name = config.sampler_name, + embedding_path = embedding_path, + full_precision = config.full_precision, + precision = config.precision, + gfpgan = gfpgan, + codeformer = codeformer, + esrgan = esrgan, + free_gpu_mem = config.free_gpu_mem, + safety_checker = config.safety_checker, + max_loaded_models = config.max_loaded_models, + ) + except (FileNotFoundError, TypeError, AssertionError): + #emergency_model_reconfigure() # TODO? + sys.exit(-1) + except (IOError, KeyError) as e: + print(f'{e}. Aborting.') + sys.exit(-1) + + generate.free_gpu_mem = config.free_gpu_mem + + return generate diff --git a/ldm/invoke/app/services/graph.py b/ldm/invoke/app/services/graph.py new file mode 100644 index 00000000000..8d1583fc8b4 --- /dev/null +++ b/ldm/invoke/app/services/graph.py @@ -0,0 +1,797 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +import copy +import itertools +from types import NoneType +import uuid +import networkx as nx +from pydantic import BaseModel, validator +from pydantic.fields import Field +from typing import Any, Literal, Optional, Union, get_args, get_origin, get_type_hints, Annotated + +from .invocation_services import InvocationServices +from ..invocations.baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationContext +from ..invocations import * + + +class EdgeConnection(BaseModel): + node_id: str = Field(description="The id of the node for this edge connection") + field: str = Field(description="The field for this connection") + + def __eq__(self, other): + return (isinstance(other, self.__class__) and + getattr(other, 'node_id', None) == self.node_id and + getattr(other, 'field', None) == self.field) + + def __hash__(self): + return hash(f'{self.node_id}.{self.field}') + + +def get_output_field(node: BaseInvocation, field: str) -> Any: + node_type = type(node) + node_outputs = get_type_hints(node_type.get_output_type()) + node_output_field = node_outputs.get(field) or None + return node_output_field + + +def get_input_field(node: BaseInvocation, field: str) -> Any: + node_type = type(node) + node_inputs = get_type_hints(node_type) + node_input_field = node_inputs.get(field) or None + return node_input_field + + +def are_connection_types_compatible(from_type: Any, to_type: Any) -> bool: + if not from_type: + return False + if not to_type: + return False + + # TODO: this is pretty forgiving on generic types. Clean that up (need to handle optionals and such) + if from_type and to_type: + # Ports are compatible + if (from_type == to_type or + from_type == Any or + to_type == Any or + Any in get_args(from_type) or + Any in get_args(to_type)): + return True + + if from_type in get_args(to_type): + return True + + if to_type in get_args(from_type): + return True + + if not issubclass(from_type, to_type): + return False + else: + return False + + return True + + +def are_connections_compatible( + from_node: BaseInvocation, + from_field: str, + to_node: BaseInvocation, + to_field: str) -> bool: + """Determines if a connection between fields of two nodes is compatible.""" + + # TODO: handle iterators and collectors + from_node_field = get_output_field(from_node, from_field) + to_node_field = get_input_field(to_node, to_field) + + return are_connection_types_compatible(from_node_field, to_node_field) + + +class NodeAlreadyInGraphError(Exception): + pass + + +class InvalidEdgeError(Exception): + pass + +class NodeNotFoundError(Exception): + pass + +class NodeAlreadyExecutedError(Exception): + pass + + +# TODO: Create and use an Empty output? +class GraphInvocationOutput(BaseInvocationOutput): + type: Literal['graph_output'] = 'graph_output' + + +# TODO: Fill this out and move to invocations +class GraphInvocation(BaseInvocation): + type: Literal['graph'] = 'graph' + + # TODO: figure out how to create a default here + graph: 'Graph' = Field(description="The graph to run", default=None) + + def invoke(self, context: InvocationContext) -> GraphInvocationOutput: + """Invoke with provided services and return outputs.""" + return GraphInvocationOutput() + + +class IterateInvocationOutput(BaseInvocationOutput): + """Used to connect iteration outputs. Will be expanded to a specific output.""" + type: Literal['iterate_output'] = 'iterate_output' + + item: Any = Field(description="The item being iterated over") + + +# TODO: Fill this out and move to invocations +class IterateInvocation(BaseInvocation): + type: Literal['iterate'] = 'iterate' + + collection: list[Any] = Field(description="The list of items to iterate over", default_factory=list) + index: int = Field(description="The index, will be provided on executed iterators", default=0) + + def invoke(self, context: InvocationContext) -> IterateInvocationOutput: + """Produces the outputs as values""" + return IterateInvocationOutput(item = self.collection[self.index]) + + +class CollectInvocationOutput(BaseInvocationOutput): + type: Literal['collect_output'] = 'collect_output' + + collection: list[Any] = Field(description="The collection of input items") + + +class CollectInvocation(BaseInvocation): + """Collects values into a collection""" + type: Literal['collect'] = 'collect' + + item: Any = Field(description="The item to collect (all inputs must be of the same type)", default=None) + collection: list[Any] = Field(description="The collection, will be provided on execution", default_factory=list) + + def invoke(self, context: InvocationContext) -> CollectInvocationOutput: + """Invoke with provided services and return outputs.""" + return CollectInvocationOutput(collection = copy.copy(self.collection)) + + +InvocationsUnion = Union[BaseInvocation.get_invocations()] +InvocationOutputsUnion = Union[BaseInvocationOutput.get_all_subclasses_tuple()] + + +class Graph(BaseModel): + id: str = Field(description="The id of this graph", default_factory=uuid.uuid4) + # TODO: use a list (and never use dict in a BaseModel) because pydantic/fastapi hates me + nodes: dict[str, Annotated[InvocationsUnion, Field(discriminator="type")]] = Field(description="The nodes in this graph", default_factory=dict) + edges: list[tuple[EdgeConnection,EdgeConnection]] = Field(description="The connections between nodes and their fields in this graph", default_factory=list) + + def add_node(self, node: BaseInvocation) -> None: + """Adds a node to a graph + + :raises NodeAlreadyInGraphError: the node is already present in the graph. + """ + + if node.id in self.nodes: + raise NodeAlreadyInGraphError() + + self.nodes[node.id] = node + + + def _get_graph_and_node(self, node_path: str) -> tuple['Graph', str]: + """Returns the graph and node id for a node path.""" + # Materialized graphs may have nodes at the top level + if node_path in self.nodes: + return (self, node_path) + + node_id = node_path if '.' not in node_path else node_path[:node_path.index('.')] + if node_id not in self.nodes: + raise NodeNotFoundError(f'Node {node_path} not found in graph') + + node = self.nodes[node_id] + + if not isinstance(node, GraphInvocation): + # There's more node path left but this isn't a graph - failure + raise NodeNotFoundError('Node path terminated early at a non-graph node') + + return node.graph._get_graph_and_node(node_path[node_path.index('.')+1:]) + + + def delete_node(self, node_path: str) -> None: + """Deletes a node from a graph""" + + try: + graph, node_id = self._get_graph_and_node(node_path) + + # Delete edges for this node + input_edges = self._get_input_edges_and_graphs(node_path) + output_edges = self._get_output_edges_and_graphs(node_path) + + for edge_graph,_,edge in input_edges: + edge_graph.delete_edge(edge) + + for edge_graph,_,edge in output_edges: + edge_graph.delete_edge(edge) + + del graph.nodes[node_id] + + except NodeNotFoundError: + pass # Ignore, not doesn't exist (should this throw?) + + + def add_edge(self, edge: tuple[EdgeConnection, EdgeConnection]) -> None: + """Adds an edge to a graph + + :raises InvalidEdgeError: the provided edge is invalid. + """ + + if self._is_edge_valid(edge) and edge not in self.edges: + self.edges.append(edge) + else: + raise InvalidEdgeError() + + + def delete_edge(self, edge: tuple[EdgeConnection, EdgeConnection]) -> None: + """Deletes an edge from a graph""" + + try: + self.edges.remove(edge) + except KeyError: + pass + + + def is_valid(self) -> bool: + """Validates the graph.""" + + # Validate all subgraphs + for gn in (n for n in self.nodes.values() if isinstance(n, GraphInvocation)): + if not gn.graph.is_valid(): + return False + + # Validate all edges reference nodes in the graph + node_ids = set([e[0].node_id for e in self.edges]+[e[1].node_id for e in self.edges]) + if not all((self.has_node(node_id) for node_id in node_ids)): + return False + + # Validate there are no cycles + g = self.nx_graph_flat() + if not nx.is_directed_acyclic_graph(g): + return False + + # Validate all edge connections are valid + if not all((are_connections_compatible( + self.get_node(e[0].node_id), e[0].field, + self.get_node(e[1].node_id), e[1].field + ) for e in self.edges)): + return False + + # Validate all iterators + # TODO: may need to validate all iterators in subgraphs so edge connections in parent graphs will be available + if not all((self._is_iterator_connection_valid(n.id) for n in self.nodes.values() if isinstance(n, IterateInvocation))): + return False + + # Validate all collectors + # TODO: may need to validate all collectors in subgraphs so edge connections in parent graphs will be available + if not all((self._is_collector_connection_valid(n.id) for n in self.nodes.values() if isinstance(n, CollectInvocation))): + return False + + return True + + def _is_edge_valid(self, edge: tuple[EdgeConnection, EdgeConnection]) -> bool: + """Validates that a new edge doesn't create a cycle in the graph""" + + # Validate that the nodes exist (edges may contain node paths, so we can't just check for nodes directly) + try: + from_node = self.get_node(edge[0].node_id) + to_node = self.get_node(edge[1].node_id) + except NodeNotFoundError: + return False + + # Validate that an edge to this node+field doesn't already exist + input_edges = self._get_input_edges(edge[1].node_id, edge[1].field) + if len(input_edges) > 0 and not isinstance(to_node, CollectInvocation): + return False + + # Validate that no cycles would be created + g = self.nx_graph_flat() + g.add_edge(edge[0].node_id, edge[1].node_id) + if not nx.is_directed_acyclic_graph(g): + return False + + # Validate that the field types are compatible + if not are_connections_compatible(from_node, edge[0].field, to_node, edge[1].field): + return False + + # Validate if iterator output type matches iterator input type (if this edge results in both being set) + if isinstance(to_node, IterateInvocation) and edge[1].field == 'collection': + if not self._is_iterator_connection_valid(edge[1].node_id, new_input = edge[0]): + return False + + # Validate if iterator input type matches output type (if this edge results in both being set) + if isinstance(from_node, IterateInvocation) and edge[0].field == 'item': + if not self._is_iterator_connection_valid(edge[0].node_id, new_output = edge[1]): + return False + + # Validate if collector input type matches output type (if this edge results in both being set) + if isinstance(to_node, CollectInvocation) and edge[1].field == 'item': + if not self._is_collector_connection_valid(edge[1].node_id, new_input = edge[0]): + return False + + # Validate if collector output type matches input type (if this edge results in both being set) + if isinstance(from_node, CollectInvocation) and edge[0].field == 'collection': + if not self._is_collector_connection_valid(edge[0].node_id, new_output = edge[1]): + return False + + return True + + def has_node(self, node_path: str) -> bool: + """Determines whether or not a node exists in the graph.""" + try: + n = self.get_node(node_path) + if n is not None: + return True + else: + return False + except NodeNotFoundError: + return False + + def get_node(self, node_path: str) -> InvocationsUnion: + """Gets a node from the graph using a node path.""" + # Materialized graphs may have nodes at the top level + graph, node_id = self._get_graph_and_node(node_path) + return graph.nodes[node_id] + + + def _get_node_path(self, node_id: str, prefix: Optional[str] = None) -> str: + return node_id if prefix is None or prefix == '' else f'{prefix}.{node_id}' + + + def update_node(self, node_path: str, new_node: BaseInvocation) -> None: + """Updates a node in the graph.""" + graph, node_id = self._get_graph_and_node(node_path) + node = graph.nodes[node_id] + + # Ensure the node type matches the new node + if type(node) != type(new_node): + raise TypeError(f'Node {node_path} is type {type(node)} but new node is type {type(new_node)}') + + # Ensure the new id is either the same or is not in the graph + prefix = None if '.' not in node_path else node_path[:node_path.rindex('.')] + new_path = self._get_node_path(new_node.id, prefix = prefix) + if new_node.id != node.id and self.has_node(new_path): + raise NodeAlreadyInGraphError('Node with id {new_node.id} already exists in graph') + + # Set the new node in the graph + graph.nodes[new_node.id] = new_node + if new_node.id != node.id: + input_edges = self._get_input_edges_and_graphs(node_path) + output_edges = self._get_output_edges_and_graphs(node_path) + + # Delete node and all edges + graph.delete_node(node_path) + + # Create new edges for each input and output + for graph,_,edge in input_edges: + # Remove the graph prefix from the node path + new_graph_node_path = new_node.id if '.' not in edge[1].node_id else f'{edge[1].node_id[edge[1].node_id.rindex("."):]}.{new_node.id}' + graph.add_edge((edge[0], EdgeConnection(node_id = new_graph_node_path, field = edge[1].field))) + + for graph,_,edge in output_edges: + # Remove the graph prefix from the node path + new_graph_node_path = new_node.id if '.' not in edge[0].node_id else f'{edge[0].node_id[edge[0].node_id.rindex("."):]}.{new_node.id}' + graph.add_edge((EdgeConnection(node_id = new_graph_node_path, field = edge[0].field), edge[1])) + + + def _get_input_edges(self, node_path: str, field: Optional[str] = None) -> list[tuple[EdgeConnection,EdgeConnection]]: + """Gets all input edges for a node""" + edges = self._get_input_edges_and_graphs(node_path) + + # Filter to edges that match the field + filtered_edges = (e for e in edges if field is None or e[2][1].field == field) + + # Create full node paths for each edge + return [(EdgeConnection(node_id = self._get_node_path(e[0].node_id, prefix = prefix), field=e[0].field), EdgeConnection(node_id = self._get_node_path(e[1].node_id, prefix = prefix), field=e[1].field)) for _,prefix,e in filtered_edges] + + + def _get_input_edges_and_graphs(self, node_path: str, prefix: Optional[str] = None) -> list[tuple['Graph', str, tuple[EdgeConnection,EdgeConnection]]]: + """Gets all input edges for a node along with the graph they are in and the graph's path""" + edges = list() + + # Return any input edges that appear in this graph + edges.extend([(self, prefix, e) for e in self.edges if e[1].node_id == node_path]) + + node_id = node_path if '.' not in node_path else node_path[:node_path.index('.')] + node = self.nodes[node_id] + + if isinstance(node, GraphInvocation): + graph = node.graph + graph_path = node.id if prefix is None or prefix == '' else self._get_node_path(node.id, prefix = prefix) + graph_edges = graph._get_input_edges_and_graphs(node_path[(len(node_id)+1):], prefix=graph_path) + edges.extend(graph_edges) + + return edges + + + def _get_output_edges(self, node_path: str, field: str) -> list[tuple[EdgeConnection,EdgeConnection]]: + """Gets all output edges for a node""" + edges = self._get_output_edges_and_graphs(node_path) + + # Filter to edges that match the field + filtered_edges = (e for e in edges if e[2][0].field == field) + + # Create full node paths for each edge + return [(EdgeConnection(node_id = self._get_node_path(e[0].node_id, prefix = prefix), field=e[0].field), EdgeConnection(node_id = self._get_node_path(e[1].node_id, prefix = prefix), field=e[1].field)) for _,prefix,e in filtered_edges] + + + def _get_output_edges_and_graphs(self, node_path: str, prefix: Optional[str] = None) -> list[tuple['Graph', str, tuple[EdgeConnection,EdgeConnection]]]: + """Gets all output edges for a node along with the graph they are in and the graph's path""" + edges = list() + + # Return any input edges that appear in this graph + edges.extend([(self, prefix, e) for e in self.edges if e[0].node_id == node_path]) + + node_id = node_path if '.' not in node_path else node_path[:node_path.index('.')] + node = self.nodes[node_id] + + if isinstance(node, GraphInvocation): + graph = node.graph + graph_path = node.id if prefix is None or prefix == '' else self._get_node_path(node.id, prefix = prefix) + graph_edges = graph._get_output_edges_and_graphs(node_path[(len(node_id)+1):], prefix=graph_path) + edges.extend(graph_edges) + + return edges + + + def _is_iterator_connection_valid(self, node_path: str, new_input: Optional[EdgeConnection] = None, new_output: Optional[EdgeConnection] = None) -> bool: + inputs = list([e[0] for e in self._get_input_edges(node_path, 'collection')]) + outputs = list([e[1] for e in self._get_output_edges(node_path, 'item')]) + + if new_input is not None: + inputs.append(new_input) + if new_output is not None: + outputs.append(new_output) + + # Only one input is allowed for iterators + if len(inputs) > 1: + return False + + # Get input and output fields (the fields linked to the iterator's input/output) + input_field = get_output_field(self.get_node(inputs[0].node_id), inputs[0].field) + output_fields = list([get_input_field(self.get_node(e.node_id), e.field) for e in outputs]) + + # Input type must be a list + if get_origin(input_field) != list: + return False + + # Validate that all outputs match the input type + input_field_item_type = get_args(input_field)[0] + if not all((are_connection_types_compatible(input_field_item_type, f) for f in output_fields)): + return False + + return True + + def _is_collector_connection_valid(self, node_path: str, new_input: Optional[EdgeConnection] = None, new_output: Optional[EdgeConnection] = None) -> bool: + inputs = list([e[0] for e in self._get_input_edges(node_path, 'item')]) + outputs = list([e[1] for e in self._get_output_edges(node_path, 'collection')]) + + if new_input is not None: + inputs.append(new_input) + if new_output is not None: + outputs.append(new_output) + + # Get input and output fields (the fields linked to the iterator's input/output) + input_fields = list([get_output_field(self.get_node(e.node_id), e.field) for e in inputs]) + output_fields = list([get_input_field(self.get_node(e.node_id), e.field) for e in outputs]) + + # Validate that all inputs are derived from or match a single type + input_field_types = set([t for input_field in input_fields for t in ([input_field] if get_origin(input_field) == None else get_args(input_field)) if t != NoneType]) # Get unique types + type_tree = nx.DiGraph() + type_tree.add_nodes_from(input_field_types) + type_tree.add_edges_from([e for e in itertools.permutations(input_field_types, 2) if issubclass(e[1], e[0])]) + type_degrees = type_tree.in_degree(type_tree.nodes) + if sum((t[1] == 0 for t in type_degrees)) != 1: + return False # There is more than one root type + + # Get the input root type + input_root_type = next(t[0] for t in type_degrees if t[1] == 0) + + # Verify that all outputs are lists + if not all((get_origin(f) == list for f in output_fields)): + return False + + # Verify that all outputs match the input type (are a base class or the same class) + if not all((issubclass(input_root_type, get_args(f)[0]) for f in output_fields)): + return False + + return True + + def nx_graph(self) -> nx.DiGraph: + """Returns a NetworkX DiGraph representing the layout of this graph""" + # TODO: Cache this? + g = nx.DiGraph() + g.add_nodes_from([n for n in self.nodes.keys()]) + g.add_edges_from(set([(e[0].node_id, e[1].node_id) for e in self.edges])) + return g + + def nx_graph_flat(self, nx_graph: Optional[nx.DiGraph] = None, prefix: Optional[str] = None) -> nx.DiGraph: + """Returns a flattened NetworkX DiGraph, including all subgraphs (but not with iterations expanded)""" + g = nx_graph or nx.DiGraph() + + # Add all nodes from this graph except graph/iteration nodes + g.add_nodes_from([self._get_node_path(n.id, prefix) for n in self.nodes.values() if not isinstance(n, GraphInvocation) and not isinstance(n, IterateInvocation)]) + + # Expand graph nodes + for sgn in (gn for gn in self.nodes.values() if isinstance(gn, GraphInvocation)): + sgn.graph.nx_graph_flat(g, self._get_node_path(sgn.id, prefix)) + + # TODO: figure out if iteration nodes need to be expanded + + unique_edges = set([(e[0].node_id, e[1].node_id) for e in self.edges]) + g.add_edges_from([(self._get_node_path(e[0], prefix), self._get_node_path(e[1], prefix)) for e in unique_edges]) + return g + + +class GraphExecutionState(BaseModel): + """Tracks the state of a graph execution""" + id: str = Field(description="The id of the execution state", default_factory=uuid.uuid4) + + # TODO: Store a reference to the graph instead of the actual graph? + graph: Graph = Field(description="The graph being executed") + + # The graph of materialized nodes + execution_graph: Graph = Field(description="The expanded graph of activated and executed nodes", default_factory=Graph) + + # Nodes that have been executed + executed: set[str] = Field(description="The set of node ids that have been executed", default_factory=set) + executed_history: list[str] = Field(description="The list of node ids that have been executed, in order of execution", default_factory=list) + + # The results of executed nodes + results: dict[str, Annotated[InvocationOutputsUnion, Field(discriminator="type")]] = Field(description="The results of node executions", default_factory=dict) + + # Map of prepared/executed nodes to their original nodes + prepared_source_mapping: dict[str, str] = Field(description="The map of prepared nodes to original graph nodes", default_factory=dict) + + # Map of original nodes to prepared nodes + source_prepared_mapping: dict[str, set[str]] = Field(description="The map of original graph nodes to prepared nodes", default_factory=dict) + + def next(self) -> BaseInvocation | None: + """Gets the next node ready to execute.""" + + # TODO: enable multiple nodes to execute simultaneously by tracking currently executing nodes + # possibly with a timeout? + + # If there are no prepared nodes, prepare some nodes + next_node = self._get_next_node() + if next_node is None: + prepared_id = self._prepare() + + # TODO: prepare multiple nodes at once? + # while prepared_id is not None and not isinstance(self.graph.nodes[prepared_id], IterateInvocation): + # prepared_id = self._prepare() + + if prepared_id is not None: + next_node = self._get_next_node() + + # Get values from edges + if next_node is not None: + self._prepare_inputs(next_node) + + # If next is still none, there's no next node, return None + return next_node + + def complete(self, node_id: str, output: InvocationOutputsUnion): + """Marks a node as complete""" + + if node_id not in self.execution_graph.nodes: + return # TODO: log error? + + # Mark node as executed + self.executed.add(node_id) + self.results[node_id] = output + + # Check if source node is complete (all prepared nodes are complete) + source_node = self.prepared_source_mapping[node_id] + prepared_nodes = self.source_prepared_mapping[source_node] + + if all([n in self.executed for n in prepared_nodes]): + self.executed.add(source_node) + self.executed_history.append(source_node) + + def is_complete(self) -> bool: + """Returns true if the graph is complete""" + return all((k in self.executed for k in self.graph.nodes)) + + def _create_execution_node(self, node_path: str, iteration_node_map: list[tuple[str, str]]) -> list[str]: + """Prepares an iteration node and connects all edges, returning the new node id""" + + node = self.graph.get_node(node_path) + + self_iteration_count = -1 + + # If this is an iterator node, we must create a copy for each iteration + if isinstance(node, IterateInvocation): + # Get input collection edge (should error if there are no inputs) + input_collection_edge = next(iter(self.graph._get_input_edges(node_path, 'collection'))) + input_collection_prepared_node_id = next(n[1] for n in iteration_node_map if n[0] == input_collection_edge[0].node_id) + input_collection_prepared_node_output = self.results[input_collection_prepared_node_id] + input_collection = getattr(input_collection_prepared_node_output, input_collection_edge[0].field) + self_iteration_count = len(input_collection) + + new_nodes = list() + if self_iteration_count == 0: + # TODO: should this raise a warning? It might just happen if an empty collection is input, and should be valid. + return new_nodes + + # Get all input edges + input_edges = self.graph._get_input_edges(node_path) + + # Create new edges for this iteration + # For collect nodes, this may contain multiple inputs to the same field + new_edges = list() + for edge in input_edges: + for input_node_id in (n[1] for n in iteration_node_map if n[0] == edge[0].node_id): + new_edge = (EdgeConnection(node_id = input_node_id, field = edge[0].field), EdgeConnection(node_id = '', field = edge[1].field)) + new_edges.append(new_edge) + + # Create a new node (or one for each iteration of this iterator) + for i in (range(self_iteration_count) if self_iteration_count > 0 else [-1]): + # Create a new node + new_node = copy.deepcopy(node) + + # Create the node id (use a random uuid) + new_node.id = str(uuid.uuid4()) + + # Set the iteration index for iteration invocations + if isinstance(new_node, IterateInvocation): + new_node.index = i + + # Add to execution graph + self.execution_graph.add_node(new_node) + self.prepared_source_mapping[new_node.id] = node_path + if node_path not in self.source_prepared_mapping: + self.source_prepared_mapping[node_path] = set() + self.source_prepared_mapping[node_path].add(new_node.id) + + # Add new edges to execution graph + for edge in new_edges: + new_edge = (edge[0], EdgeConnection(node_id = new_node.id, field = edge[1].field)) + self.execution_graph.add_edge(new_edge) + + new_nodes.append(new_node.id) + + return new_nodes + + def _iterator_graph(self) -> nx.DiGraph: + """Gets a DiGraph with edges to collectors removed so an ancestor search produces all active iterators for any node""" + g = self.graph.nx_graph() + collectors = (n for n in self.graph.nodes if isinstance(self.graph.nodes[n], CollectInvocation)) + for c in collectors: + g.remove_edges_from(list(g.in_edges(c))) + return g + + + def _get_node_iterators(self, node_id: str) -> list[str]: + """Gets iterators for a node""" + g = self._iterator_graph() + iterators = [n for n in nx.ancestors(g, node_id) if isinstance(self.graph.nodes[n], IterateInvocation)] + return iterators + + + def _prepare(self) -> Optional[str]: + # Get flattened source graph + g = self.graph.nx_graph_flat() + + # Find next unprepared node where all source nodes are executed + sorted_nodes = nx.topological_sort(g) + next_node_id = next((n for n in sorted_nodes if n not in self.source_prepared_mapping and all((e[0] in self.executed for e in g.in_edges(n)))), None) + + if next_node_id == None: + return None + + # Get all parents of the next node + next_node_parents = [e[0] for e in g.in_edges(next_node_id)] + + # Create execution nodes + next_node = self.graph.get_node(next_node_id) + new_node_ids = list() + if isinstance(next_node, CollectInvocation): + # Collapse all iterator input mappings and create a single execution node for the collect invocation + all_iteration_mappings = list(itertools.chain(*(((s,p) for p in self.source_prepared_mapping[s]) for s in next_node_parents))) + #all_iteration_mappings = list(set(itertools.chain(*prepared_parent_mappings))) + create_results = self._create_execution_node(next_node_id, all_iteration_mappings) + if create_results is not None: + new_node_ids.extend(create_results) + else: # Iterators or normal nodes + # Get all iterator combinations for this node + # Will produce a list of lists of prepared iterator nodes, from which results can be iterated + iterator_nodes = self._get_node_iterators(next_node_id) + iterator_nodes_prepared = [list(self.source_prepared_mapping[n]) for n in iterator_nodes] + iterator_node_prepared_combinations = list(itertools.product(*iterator_nodes_prepared)) + + # Select the correct prepared parents for each iteration + # For every iterator, the parent must either not be a child of that iterator, or must match the prepared iteration for that iterator + # TODO: Handle a node mapping to none + eg = self.execution_graph.nx_graph_flat() + prepared_parent_mappings = [[(n,self._get_iteration_node(n, g, eg, it)) for n in next_node_parents] for it in iterator_node_prepared_combinations] + + # Create execution node for each iteration + for iteration_mappings in prepared_parent_mappings: + create_results = self._create_execution_node(next_node_id, iteration_mappings) + if create_results is not None: + new_node_ids.extend(create_results) + + return next(iter(new_node_ids), None) + + def _get_iteration_node(self, source_node_path: str, graph: nx.DiGraph, execution_graph: nx.DiGraph, prepared_iterator_nodes: list[str]) -> Optional[str]: + """Gets the prepared version of the specified source node that matches every iteration specified""" + prepared_nodes = self.source_prepared_mapping[source_node_path] + if len(prepared_nodes) == 1: + return next(iter(prepared_nodes)) + + # Check if the requested node is an iterator + prepared_iterator = next((n for n in prepared_nodes if n in prepared_iterator_nodes), None) + if prepared_iterator is not None: + return prepared_iterator + + # Filter to only iterator nodes that are a parent of the specified node, in tuple format (prepared, source) + iterator_source_node_mapping = [(n, self.prepared_source_mapping[n]) for n in prepared_iterator_nodes] + parent_iterators = [itn for itn in iterator_source_node_mapping if nx.has_path(graph, itn[1], source_node_path)] + + return next((n for n in prepared_nodes if all(pit for pit in parent_iterators if nx.has_path(execution_graph, pit[0], n))), None) + + def _get_next_node(self) -> Optional[BaseInvocation]: + g = self.execution_graph.nx_graph() + sorted_nodes = nx.topological_sort(g) + next_node = next((n for n in sorted_nodes if n not in self.executed), None) + if next_node is None: + return None + + return self.execution_graph.nodes[next_node] + + def _prepare_inputs(self, node: BaseInvocation): + input_edges = [e for e in self.execution_graph.edges if e[1].node_id == node.id] + if isinstance(node, CollectInvocation): + output_collection = [getattr(self.results[edge[0].node_id], edge[0].field) for edge in input_edges if edge[1].field == 'item'] + setattr(node, 'collection', output_collection) + else: + for edge in input_edges: + output_value = getattr(self.results[edge[0].node_id], edge[0].field) + setattr(node, edge[1].field, output_value) + + # TODO: Add API for modifying underlying graph that checks if the change will be valid given the current execution state + def _is_edge_valid(self, edge: tuple[EdgeConnection, EdgeConnection]) -> bool: + if not self._is_edge_valid(edge): + return False + + # Invalid if destination has already been prepared or executed + if edge[1].node_id in self.source_prepared_mapping: + return False + + # Otherwise, the edge is valid + return True + + def _is_node_updatable(self, node_id: str) -> bool: + # The node is updatable as long as it hasn't been prepared or executed + return node_id not in self.source_prepared_mapping + + def add_node(self, node: BaseInvocation) -> None: + self.graph.add_node(node) + + def update_node(self, node_path: str, new_node: BaseInvocation) -> None: + if not self._is_node_updatable(node_path): + raise NodeAlreadyExecutedError(f'Node {node_path} has already been prepared or executed and cannot be updated') + self.graph.update_node(node_path, new_node) + + def delete_node(self, node_path: str) -> None: + if not self._is_node_updatable(node_path): + raise NodeAlreadyExecutedError(f'Node {node_path} has already been prepared or executed and cannot be deleted') + self.graph.delete_node(node_path) + + def add_edge(self, edge: tuple[EdgeConnection, EdgeConnection]) -> None: + if not self._is_node_updatable(edge[1].node_id): + raise NodeAlreadyExecutedError(f'Destination node {edge[1].node_id} has already been prepared or executed and cannot be linked to') + self.graph.add_edge(edge) + + def delete_edge(self, edge: tuple[EdgeConnection, EdgeConnection]) -> None: + if not self._is_node_updatable(edge[1].node_id): + raise NodeAlreadyExecutedError(f'Destination node {edge[1].node_id} has already been prepared or executed and cannot have a source edge deleted') + self.graph.delete_edge(edge) + +GraphInvocation.update_forward_refs() diff --git a/ldm/invoke/app/services/image_storage.py b/ldm/invoke/app/services/image_storage.py new file mode 100644 index 00000000000..03227d870b8 --- /dev/null +++ b/ldm/invoke/app/services/image_storage.py @@ -0,0 +1,104 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +from abc import ABC, abstractmethod +from enum import Enum +import datetime +import os +from pathlib import Path +from queue import Queue +from typing import Dict +from PIL.Image import Image +from ...pngwriter import PngWriter + + +class ImageType(str, Enum): + RESULT = 'results' + INTERMEDIATE = 'intermediates' + UPLOAD = 'uploads' + + +class ImageStorageBase(ABC): + """Responsible for storing and retrieving images.""" + + @abstractmethod + def get(self, image_type: ImageType, image_name: str) -> Image: + pass + + # TODO: make this a bit more flexible for e.g. cloud storage + @abstractmethod + def get_path(self, image_type: ImageType, image_name: str) -> str: + pass + + @abstractmethod + def save(self, image_type: ImageType, image_name: str, image: Image) -> None: + pass + + @abstractmethod + def delete(self, image_type: ImageType, image_name: str) -> None: + pass + + def create_name(self, context_id: str, node_id: str) -> str: + return f'{context_id}_{node_id}_{str(int(datetime.datetime.now(datetime.timezone.utc).timestamp()))}.png' + + +class DiskImageStorage(ImageStorageBase): + """Stores images on disk""" + __output_folder: str + __pngWriter: PngWriter + __cache_ids: Queue # TODO: this is an incredibly naive cache + __cache: Dict[str, Image] + __max_cache_size: int + + def __init__(self, output_folder: str): + self.__output_folder = output_folder + self.__pngWriter = PngWriter(output_folder) + self.__cache = dict() + self.__cache_ids = Queue() + self.__max_cache_size = 10 # TODO: get this from config + + Path(output_folder).mkdir(parents=True, exist_ok=True) + + # TODO: don't hard-code. get/save/delete should maybe take subpath? + for image_type in ImageType: + Path(os.path.join(output_folder, image_type)).mkdir(parents=True, exist_ok=True) + + def get(self, image_type: ImageType, image_name: str) -> Image: + image_path = self.get_path(image_type, image_name) + cache_item = self.__get_cache(image_path) + if cache_item: + return cache_item + + image = Image.open(image_path) + self.__set_cache(image_path, image) + return image + + # TODO: make this a bit more flexible for e.g. cloud storage + def get_path(self, image_type: ImageType, image_name: str) -> str: + path = os.path.join(self.__output_folder, image_type, image_name) + return path + + def save(self, image_type: ImageType, image_name: str, image: Image) -> None: + image_subpath = os.path.join(image_type, image_name) + self.__pngWriter.save_image_and_prompt_to_png(image, "", image_subpath, None) # TODO: just pass full path to png writer + + image_path = self.get_path(image_type, image_name) + self.__set_cache(image_path, image) + + def delete(self, image_type: ImageType, image_name: str) -> None: + image_path = self.get_path(image_type, image_name) + if os.path.exists(image_path): + os.remove(image_path) + + if image_path in self.__cache: + del self.__cache[image_path] + + def __get_cache(self, image_name: str) -> Image: + return None if image_name not in self.__cache else self.__cache[image_name] + + def __set_cache(self, image_name: str, image: Image): + if not image_name in self.__cache: + self.__cache[image_name] = image + self.__cache_ids.put(image_name) # TODO: this should refresh position for LRU cache + if len(self.__cache) > self.__max_cache_size: + cache_id = self.__cache_ids.get() + del self.__cache[cache_id] diff --git a/ldm/invoke/app/services/invocation_queue.py b/ldm/invoke/app/services/invocation_queue.py new file mode 100644 index 00000000000..0a5b5ae3bb9 --- /dev/null +++ b/ldm/invoke/app/services/invocation_queue.py @@ -0,0 +1,46 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +from abc import ABC, abstractmethod +from queue import Queue + + +# TODO: make this serializable +class InvocationQueueItem: + #session_id: str + graph_execution_state_id: str + invocation_id: str + invoke_all: bool + + def __init__(self, + #session_id: str, + graph_execution_state_id: str, + invocation_id: str, + invoke_all: bool = False): + #self.session_id = session_id + self.graph_execution_state_id = graph_execution_state_id + self.invocation_id = invocation_id + self.invoke_all = invoke_all + + +class InvocationQueueABC(ABC): + """Abstract base class for all invocation queues""" + @abstractmethod + def get(self) -> InvocationQueueItem: + pass + + @abstractmethod + def put(self, item: InvocationQueueItem|None) -> None: + pass + + +class MemoryInvocationQueue(InvocationQueueABC): + __queue: Queue + + def __init__(self): + self.__queue = Queue() + + def get(self) -> InvocationQueueItem: + return self.__queue.get() + + def put(self, item: InvocationQueueItem|None) -> None: + self.__queue.put(item) diff --git a/ldm/invoke/app/services/invocation_services.py b/ldm/invoke/app/services/invocation_services.py new file mode 100644 index 00000000000..9eb5309d3da --- /dev/null +++ b/ldm/invoke/app/services/invocation_services.py @@ -0,0 +1,20 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) +from .image_storage import ImageStorageBase +from .events import EventServiceBase +from ....generate import Generate + + +class InvocationServices(): + """Services that can be used by invocations""" + generate: Generate # TODO: wrap Generate, or split it up from model? + events: EventServiceBase + images: ImageStorageBase + + def __init__(self, + generate: Generate, + events: EventServiceBase, + images: ImageStorageBase + ): + self.generate = generate + self.events = events + self.images = images diff --git a/ldm/invoke/app/services/invoker.py b/ldm/invoke/app/services/invoker.py new file mode 100644 index 00000000000..796f5417813 --- /dev/null +++ b/ldm/invoke/app/services/invoker.py @@ -0,0 +1,109 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +from abc import ABC +from threading import Event, Thread +from .graph import Graph, GraphExecutionState +from .item_storage import ItemStorageABC +from ..invocations.baseinvocation import InvocationContext +from .invocation_services import InvocationServices +from .invocation_queue import InvocationQueueABC, InvocationQueueItem + + +class InvokerServices: + """Services used by the Invoker for execution""" + + queue: InvocationQueueABC + graph_execution_manager: ItemStorageABC[GraphExecutionState] + processor: 'InvocationProcessorABC' + + def __init__(self, + queue: InvocationQueueABC, + graph_execution_manager: ItemStorageABC[GraphExecutionState], + processor: 'InvocationProcessorABC'): + self.queue = queue + self.graph_execution_manager = graph_execution_manager + self.processor = processor + + +class Invoker: + """The invoker, used to execute invocations""" + + services: InvocationServices + invoker_services: InvokerServices + + def __init__(self, + services: InvocationServices, # Services used by nodes to perform invocations + invoker_services: InvokerServices # Services used by the invoker for orchestration + ): + self.services = services + self.invoker_services = invoker_services + self._start() + + + def invoke(self, graph_execution_state: GraphExecutionState, invoke_all: bool = False) -> str|None: + """Determines the next node to invoke and returns the id of the invoked node, or None if there are no nodes to execute""" + + # Get the next invocation + invocation = graph_execution_state.next() + if not invocation: + return None + + # Save the execution state + self.invoker_services.graph_execution_manager.set(graph_execution_state) + + # Queue the invocation + print(f'queueing item {invocation.id}') + self.invoker_services.queue.put(InvocationQueueItem( + #session_id = session.id, + graph_execution_state_id = graph_execution_state.id, + invocation_id = invocation.id, + invoke_all = invoke_all + )) + + return invocation.id + + + def create_execution_state(self, graph: Graph|None = None) -> GraphExecutionState: + """Creates a new execution state for the given graph""" + new_state = GraphExecutionState(graph = Graph() if graph is None else graph) + self.invoker_services.graph_execution_manager.set(new_state) + return new_state + + + def __start_service(self, service) -> None: + # Call start() method on any services that have it + start_op = getattr(service, 'start', None) + if callable(start_op): + start_op(self) + + + def __stop_service(self, service) -> None: + # Call stop() method on any services that have it + stop_op = getattr(service, 'stop', None) + if callable(stop_op): + stop_op(self) + + + def _start(self) -> None: + """Starts the invoker. This is called automatically when the invoker is created.""" + for service in vars(self.invoker_services): + self.__start_service(getattr(self.invoker_services, service)) + + for service in vars(self.services): + self.__start_service(getattr(self.services, service)) + + + def stop(self) -> None: + """Stops the invoker. A new invoker will have to be created to execute further.""" + # First stop all services + for service in vars(self.services): + self.__stop_service(getattr(self.services, service)) + + for service in vars(self.invoker_services): + self.__stop_service(getattr(self.invoker_services, service)) + + self.invoker_services.queue.put(None) + + +class InvocationProcessorABC(ABC): + pass \ No newline at end of file diff --git a/ldm/invoke/app/services/item_storage.py b/ldm/invoke/app/services/item_storage.py new file mode 100644 index 00000000000..738f06cb7e0 --- /dev/null +++ b/ldm/invoke/app/services/item_storage.py @@ -0,0 +1,57 @@ + +from typing import Callable, TypeVar, Generic +from pydantic import BaseModel, Field +from pydantic.generics import GenericModel +from abc import ABC, abstractmethod + +T = TypeVar('T', bound=BaseModel) + +class PaginatedResults(GenericModel, Generic[T]): + """Paginated results""" + items: list[T] = Field(description = "Items") + page: int = Field(description = "Current Page") + pages: int = Field(description = "Total number of pages") + per_page: int = Field(description = "Number of items per page") + total: int = Field(description = "Total number of items in result") + + +class ItemStorageABC(ABC, Generic[T]): + _on_changed_callbacks: list[Callable[[T], None]] + _on_deleted_callbacks: list[Callable[[str], None]] + + def __init__(self) -> None: + self._on_changed_callbacks = list() + self._on_deleted_callbacks = list() + + """Base item storage class""" + @abstractmethod + def get(self, item_id: str) -> T: + pass + + @abstractmethod + def set(self, item: T) -> None: + pass + + @abstractmethod + def list(self, page: int = 0, per_page: int = 10) -> PaginatedResults[T]: + pass + + @abstractmethod + def search(self, query: str, page: int = 0, per_page: int = 10) -> PaginatedResults[T]: + pass + + def on_changed(self, on_changed: Callable[[T], None]) -> None: + """Register a callback for when an item is changed""" + self._on_changed_callbacks.append(on_changed) + + def on_deleted(self, on_deleted: Callable[[str], None]) -> None: + """Register a callback for when an item is deleted""" + self._on_deleted_callbacks.append(on_deleted) + + def _on_changed(self, item: T) -> None: + for callback in self._on_changed_callbacks: + callback(item) + + def _on_deleted(self, item_id: str) -> None: + for callback in self._on_deleted_callbacks: + callback(item_id) diff --git a/ldm/invoke/app/services/processor.py b/ldm/invoke/app/services/processor.py new file mode 100644 index 00000000000..9b51a6bcbc4 --- /dev/null +++ b/ldm/invoke/app/services/processor.py @@ -0,0 +1,78 @@ +from threading import Event, Thread +from ..invocations.baseinvocation import InvocationContext +from .invocation_queue import InvocationQueueItem +from .invoker import InvocationProcessorABC, Invoker + + +class DefaultInvocationProcessor(InvocationProcessorABC): + __invoker_thread: Thread + __stop_event: Event + __invoker: Invoker + + def start(self, invoker) -> None: + self.__invoker = invoker + self.__stop_event = Event() + self.__invoker_thread = Thread( + name = "invoker_processor", + target = self.__process, + kwargs = dict(stop_event = self.__stop_event) + ) + self.__invoker_thread.daemon = True # TODO: probably better to just not use threads? + self.__invoker_thread.start() + + + def stop(self, *args, **kwargs) -> None: + self.__stop_event.set() + + + def __process(self, stop_event: Event): + try: + while not stop_event.is_set(): + queue_item: InvocationQueueItem = self.__invoker.invoker_services.queue.get() + if not queue_item: # Probably stopping + continue + + graph_execution_state = self.__invoker.invoker_services.graph_execution_manager.get(queue_item.graph_execution_state_id) + invocation = graph_execution_state.execution_graph.get_node(queue_item.invocation_id) + + # Send starting event + self.__invoker.services.events.emit_invocation_started( + graph_execution_state_id = graph_execution_state.id, + invocation_id = invocation.id + ) + + # Invoke + try: + outputs = invocation.invoke(InvocationContext( + services = self.__invoker.services, + graph_execution_state_id = graph_execution_state.id + )) + + # Save outputs and history + graph_execution_state.complete(invocation.id, outputs) + + # Save the state changes + self.__invoker.invoker_services.graph_execution_manager.set(graph_execution_state) + + # Send complete event + self.__invoker.services.events.emit_invocation_complete( + graph_execution_state_id = graph_execution_state.id, + invocation_id = invocation.id, + result = outputs.dict() + ) + + # Queue any further commands if invoking all + is_complete = graph_execution_state.is_complete() + if queue_item.invoke_all and not is_complete: + self.__invoker.invoke(graph_execution_state, invoke_all = True) + elif is_complete: + self.__invoker.services.events.emit_graph_execution_complete(graph_execution_state.id) + except KeyboardInterrupt: + pass + except Exception as e: + # TODO: Log the error, mark the invocation as failed, and emit an event + print(f'Error invoking {invocation.id}: {e}') + pass + + except KeyboardInterrupt: + ... # Log something? diff --git a/ldm/invoke/app/services/sqlite.py b/ldm/invoke/app/services/sqlite.py new file mode 100644 index 00000000000..8858bbd8746 --- /dev/null +++ b/ldm/invoke/app/services/sqlite.py @@ -0,0 +1,119 @@ +import sqlite3 +from threading import Lock +from typing import Generic, TypeVar, Union, get_args +from pydantic import BaseModel, parse_raw_as +from .item_storage import ItemStorageABC, PaginatedResults + +T = TypeVar('T', bound=BaseModel) + +sqlite_memory = ':memory:' + +class SqliteItemStorage(ItemStorageABC, Generic[T]): + _filename: str + _table_name: str + _conn: sqlite3.Connection + _cursor: sqlite3.Cursor + _id_field: str + _lock: Lock + + def __init__(self, filename: str, table_name: str, id_field: str = 'id'): + super().__init__() + + self._filename = filename + self._table_name = table_name + self._id_field = id_field # TODO: validate that T has this field + self._lock = Lock() + + self._conn = sqlite3.connect(self._filename, check_same_thread=False) # TODO: figure out a better threading solution + self._cursor = self._conn.cursor() + + self._create_table() + + def _create_table(self): + try: + self._lock.acquire() + self._cursor.execute(f'''CREATE TABLE IF NOT EXISTS {self._table_name} ( + item TEXT, + id TEXT GENERATED ALWAYS AS (json_extract(item, '$.{self._id_field}')) VIRTUAL NOT NULL);''') + self._cursor.execute(f'''CREATE UNIQUE INDEX IF NOT EXISTS {self._table_name}_id ON {self._table_name}(id);''') + finally: + self._lock.release() + + def _parse_item(self, item: str) -> T: + item_type = get_args(self.__orig_class__)[0] + return parse_raw_as(item_type, item) + + def set(self, item: T): + try: + self._lock.acquire() + self._cursor.execute(f'''INSERT OR REPLACE INTO {self._table_name} (item) VALUES (?);''', (item.json(),)) + finally: + self._lock.release() + self._on_changed(item) + + def get(self, id: str) -> Union[T, None]: + try: + self._lock.acquire() + self._cursor.execute(f'''SELECT item FROM {self._table_name} WHERE id = ?;''', (str(id),)) + result = self._cursor.fetchone() + finally: + self._lock.release() + + if not result: + return None + + return self._parse_item(result[0]) + + def delete(self, id: str): + try: + self._lock.acquire() + self._cursor.execute(f'''DELETE FROM {self._table_name} WHERE id = ?;''', (str(id),)) + finally: + self._lock.release() + self._on_deleted(id) + + def list(self, page: int = 0, per_page: int = 10) -> PaginatedResults[T]: + try: + self._lock.acquire() + self._cursor.execute(f'''SELECT item FROM {self._table_name} LIMIT ? OFFSET ?;''', (per_page, page * per_page)) + result = self._cursor.fetchall() + + items = list(map(lambda r: self._parse_item(r[0]), result)) + + self._cursor.execute(f'''SELECT count(*) FROM {self._table_name};''') + count = self._cursor.fetchone()[0] + finally: + self._lock.release() + + pageCount = int(count / per_page) + 1 + + return PaginatedResults[T]( + items = items, + page = page, + pages = pageCount, + per_page = per_page, + total = count + ) + + def search(self, query: str, page: int = 0, per_page: int = 10) -> PaginatedResults[T]: + try: + self._lock.acquire() + self._cursor.execute(f'''SELECT item FROM {self._table_name} WHERE item LIKE ? LIMIT ? OFFSET ?;''', (f'%{query}%', per_page, page * per_page)) + result = self._cursor.fetchall() + + items = list(map(lambda r: self._parse_item(r[0]), result)) + + self._cursor.execute(f'''SELECT count(*) FROM {self._table_name} WHERE item LIKE ?;''', (f'%{query}%',)) + count = self._cursor.fetchone()[0] + finally: + self._lock.release() + + pageCount = int(count / per_page) + 1 + + return PaginatedResults[T]( + items = items, + page = page, + pages = pageCount, + per_page = per_page, + total = count + ) diff --git a/pyproject.toml b/pyproject.toml index 6357d25653a..3d50bd124d2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,6 +45,9 @@ dependencies = [ "einops", "eventlet", "facexlib", + "fastapi==0.85.0", + "fastapi-events==0.6.0", + "fastapi-socketio==0.0.9", "flask==2.1.3", "flask_cors==3.0.10", "flask_socketio==5.3.0", @@ -66,6 +69,7 @@ dependencies = [ "prompt-toolkit", "pypatchmatch", "pyreadline3", + "python-multipart==0.0.5", "pytorch-lightning==1.7.7", "realesrgan", "requests==2.28.2", @@ -80,6 +84,7 @@ dependencies = [ "torchvision>=0.14.1", "torchmetrics", "transformers~=4.25", + "uvicorn[standard]==0.20.0", "windows-curses; sys_platform=='win32'", ] diff --git a/scripts/invoke-new.py b/scripts/invoke-new.py new file mode 100644 index 00000000000..2bc5330a5cb --- /dev/null +++ b/scripts/invoke-new.py @@ -0,0 +1,20 @@ +# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) + +import os +import sys + +def main(): + # Change working directory to the repo root + os.chdir(os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) + + if '--web' in sys.argv: + from ldm.invoke.app.api_app import invoke_api + invoke_api() + else: + # TODO: Parse some top-level args here. + from ldm.invoke.app.cli_app import invoke_cli + invoke_cli() + + +if __name__ == '__main__': + main() diff --git a/static/dream_web/test.html b/static/dream_web/test.html new file mode 100644 index 00000000000..e99abb37031 --- /dev/null +++ b/static/dream_web/test.html @@ -0,0 +1,206 @@ + + + + InvokeAI Test + + + + + + + + + + + + + + + +
+ +
+ + + + + \ No newline at end of file diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/nodes/__init__.py b/tests/nodes/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/nodes/test_graph_execution_state.py b/tests/nodes/test_graph_execution_state.py new file mode 100644 index 00000000000..0a5dcc77345 --- /dev/null +++ b/tests/nodes/test_graph_execution_state.py @@ -0,0 +1,114 @@ +from .test_invoker import create_edge +from .test_nodes import ImageTestInvocation, ListPassThroughInvocation, PromptTestInvocation, PromptCollectionTestInvocation +from ldm.invoke.app.invocations.baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationContext +from ldm.invoke.app.services.invocation_services import InvocationServices +from ldm.invoke.app.services.graph import Graph, GraphInvocation, InvalidEdgeError, NodeAlreadyInGraphError, NodeNotFoundError, are_connections_compatible, EdgeConnection, CollectInvocation, IterateInvocation, GraphExecutionState +from ldm.invoke.app.invocations.generate import ImageToImageInvocation, TextToImageInvocation +from ldm.invoke.app.invocations.upscale import UpscaleInvocation +import pytest + + +@pytest.fixture +def simple_graph(): + g = Graph() + g.add_node(PromptTestInvocation(id = "1", prompt = "Banana sushi")) + g.add_node(ImageTestInvocation(id = "2")) + g.add_edge(create_edge("1", "prompt", "2", "prompt")) + return g + +@pytest.fixture +def mock_services(): + # NOTE: none of these are actually called by the test invocations + return InvocationServices(generate = None, events = None, images = None) + +def invoke_next(g: GraphExecutionState, services: InvocationServices) -> tuple[BaseInvocation, BaseInvocationOutput]: + n = g.next() + if n is None: + return (None, None) + + print(f'invoking {n.id}: {type(n)}') + o = n.invoke(InvocationContext(services, "1")) + g.complete(n.id, o) + + return (n, o) + +def test_graph_state_executes_in_order(simple_graph, mock_services): + g = GraphExecutionState(graph = simple_graph) + + n1 = invoke_next(g, mock_services) + n2 = invoke_next(g, mock_services) + n3 = g.next() + + assert g.prepared_source_mapping[n1[0].id] == "1" + assert g.prepared_source_mapping[n2[0].id] == "2" + assert n3 is None + assert g.results[n1[0].id].prompt == n1[0].prompt + assert n2[0].prompt == n1[0].prompt + +def test_graph_is_complete(simple_graph, mock_services): + g = GraphExecutionState(graph = simple_graph) + n1 = invoke_next(g, mock_services) + n2 = invoke_next(g, mock_services) + n3 = g.next() + + assert g.is_complete() + +def test_graph_is_not_complete(simple_graph, mock_services): + g = GraphExecutionState(graph = simple_graph) + n1 = invoke_next(g, mock_services) + n2 = g.next() + + assert not g.is_complete() + +# TODO: test completion with iterators/subgraphs + +def test_graph_state_expands_iterator(mock_services): + graph = Graph() + test_prompts = ["Banana sushi", "Cat sushi"] + graph.add_node(PromptCollectionTestInvocation(id = "1", collection = list(test_prompts))) + graph.add_node(IterateInvocation(id = "2")) + graph.add_node(ImageTestInvocation(id = "3")) + graph.add_edge(create_edge("1", "collection", "2", "collection")) + graph.add_edge(create_edge("2", "item", "3", "prompt")) + + g = GraphExecutionState(graph = graph) + n1 = invoke_next(g, mock_services) + n2 = invoke_next(g, mock_services) + n3 = invoke_next(g, mock_services) + n4 = invoke_next(g, mock_services) + n5 = invoke_next(g, mock_services) + + assert g.prepared_source_mapping[n1[0].id] == "1" + assert g.prepared_source_mapping[n2[0].id] == "2" + assert g.prepared_source_mapping[n3[0].id] == "2" + assert g.prepared_source_mapping[n4[0].id] == "3" + assert g.prepared_source_mapping[n5[0].id] == "3" + + assert isinstance(n4[0], ImageTestInvocation) + assert isinstance(n5[0], ImageTestInvocation) + + prompts = [n4[0].prompt, n5[0].prompt] + assert sorted(prompts) == sorted(test_prompts) + +def test_graph_state_collects(mock_services): + graph = Graph() + test_prompts = ["Banana sushi", "Cat sushi"] + graph.add_node(PromptCollectionTestInvocation(id = "1", collection = list(test_prompts))) + graph.add_node(IterateInvocation(id = "2")) + graph.add_node(PromptTestInvocation(id = "3")) + graph.add_node(CollectInvocation(id = "4")) + graph.add_edge(create_edge("1", "collection", "2", "collection")) + graph.add_edge(create_edge("2", "item", "3", "prompt")) + graph.add_edge(create_edge("3", "prompt", "4", "item")) + + g = GraphExecutionState(graph = graph) + n1 = invoke_next(g, mock_services) + n2 = invoke_next(g, mock_services) + n3 = invoke_next(g, mock_services) + n4 = invoke_next(g, mock_services) + n5 = invoke_next(g, mock_services) + n6 = invoke_next(g, mock_services) + + assert isinstance(n6[0], CollectInvocation) + + assert sorted(g.results[n6[0].id].collection) == sorted(test_prompts) diff --git a/tests/nodes/test_invoker.py b/tests/nodes/test_invoker.py new file mode 100644 index 00000000000..a6d96f61c0c --- /dev/null +++ b/tests/nodes/test_invoker.py @@ -0,0 +1,85 @@ +from .test_nodes import ImageTestInvocation, ListPassThroughInvocation, PromptTestInvocation, PromptCollectionTestInvocation, TestEventService, create_edge, wait_until +from ldm.invoke.app.services.processor import DefaultInvocationProcessor +from ldm.invoke.app.services.sqlite import SqliteItemStorage, sqlite_memory +from ldm.invoke.app.services.invocation_queue import MemoryInvocationQueue +from ldm.invoke.app.services.invoker import Invoker, InvokerServices +from ldm.invoke.app.invocations.baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationContext +from ldm.invoke.app.services.invocation_services import InvocationServices +from ldm.invoke.app.services.graph import Graph, GraphInvocation, InvalidEdgeError, NodeAlreadyInGraphError, NodeNotFoundError, are_connections_compatible, EdgeConnection, CollectInvocation, IterateInvocation, GraphExecutionState +from ldm.invoke.app.invocations.generate import ImageToImageInvocation, TextToImageInvocation +from ldm.invoke.app.invocations.upscale import UpscaleInvocation +import pytest + + +@pytest.fixture +def simple_graph(): + g = Graph() + g.add_node(PromptTestInvocation(id = "1", prompt = "Banana sushi")) + g.add_node(ImageTestInvocation(id = "2")) + g.add_edge(create_edge("1", "prompt", "2", "prompt")) + return g + +@pytest.fixture +def mock_services() -> InvocationServices: + # NOTE: none of these are actually called by the test invocations + return InvocationServices(generate = None, events = TestEventService(), images = None) + +@pytest.fixture() +def mock_invoker_services() -> InvokerServices: + return InvokerServices( + queue = MemoryInvocationQueue(), + graph_execution_manager = SqliteItemStorage[GraphExecutionState](filename = sqlite_memory, table_name = 'graph_executions'), + processor = DefaultInvocationProcessor() + ) + +@pytest.fixture() +def mock_invoker(mock_services: InvocationServices, mock_invoker_services: InvokerServices) -> Invoker: + return Invoker( + services = mock_services, + invoker_services = mock_invoker_services + ) + +def test_can_create_graph_state(mock_invoker: Invoker): + g = mock_invoker.create_execution_state() + mock_invoker.stop() + + assert g is not None + assert isinstance(g, GraphExecutionState) + +def test_can_create_graph_state_from_graph(mock_invoker: Invoker, simple_graph): + g = mock_invoker.create_execution_state(graph = simple_graph) + mock_invoker.stop() + + assert g is not None + assert isinstance(g, GraphExecutionState) + assert g.graph == simple_graph + +def test_can_invoke(mock_invoker: Invoker, simple_graph): + g = mock_invoker.create_execution_state(graph = simple_graph) + invocation_id = mock_invoker.invoke(g) + assert invocation_id is not None + + def has_executed_any(g: GraphExecutionState): + g = mock_invoker.invoker_services.graph_execution_manager.get(g.id) + return len(g.executed) > 0 + + wait_until(lambda: has_executed_any(g), timeout = 5, interval = 1) + mock_invoker.stop() + + g = mock_invoker.invoker_services.graph_execution_manager.get(g.id) + assert len(g.executed) > 0 + +def test_can_invoke_all(mock_invoker: Invoker, simple_graph): + g = mock_invoker.create_execution_state(graph = simple_graph) + invocation_id = mock_invoker.invoke(g, invoke_all = True) + assert invocation_id is not None + + def has_executed_all(g: GraphExecutionState): + g = mock_invoker.invoker_services.graph_execution_manager.get(g.id) + return g.is_complete() + + wait_until(lambda: has_executed_all(g), timeout = 5, interval = 1) + mock_invoker.stop() + + g = mock_invoker.invoker_services.graph_execution_manager.get(g.id) + assert g.is_complete() diff --git a/tests/nodes/test_node_graph.py b/tests/nodes/test_node_graph.py new file mode 100644 index 00000000000..1b5b341192c --- /dev/null +++ b/tests/nodes/test_node_graph.py @@ -0,0 +1,501 @@ +from ldm.invoke.app.invocations.image import * + +from .test_nodes import ListPassThroughInvocation, PromptTestInvocation +from ldm.invoke.app.services.graph import Graph, GraphInvocation, InvalidEdgeError, NodeAlreadyInGraphError, NodeNotFoundError, are_connections_compatible, EdgeConnection, CollectInvocation, IterateInvocation +from ldm.invoke.app.invocations.generate import ImageToImageInvocation, TextToImageInvocation +from ldm.invoke.app.invocations.upscale import UpscaleInvocation +import pytest + + +# Helpers +def create_edge(from_id: str, from_field: str, to_id: str, to_field: str) -> tuple[EdgeConnection, EdgeConnection]: + return (EdgeConnection(node_id = from_id, field = from_field), EdgeConnection(node_id = to_id, field = to_field)) + +# Tests +def test_connections_are_compatible(): + from_node = TextToImageInvocation(id = "1", prompt = "Banana sushi") + from_field = "image" + to_node = UpscaleInvocation(id = "2") + to_field = "image" + + result = are_connections_compatible(from_node, from_field, to_node, to_field) + + assert result == True + +def test_connections_are_incompatible(): + from_node = TextToImageInvocation(id = "1", prompt = "Banana sushi") + from_field = "image" + to_node = UpscaleInvocation(id = "2") + to_field = "strength" + + result = are_connections_compatible(from_node, from_field, to_node, to_field) + + assert result == False + +def test_connections_incompatible_with_invalid_fields(): + from_node = TextToImageInvocation(id = "1", prompt = "Banana sushi") + from_field = "invalid_field" + to_node = UpscaleInvocation(id = "2") + to_field = "image" + + # From field is invalid + result = are_connections_compatible(from_node, from_field, to_node, to_field) + assert result == False + + # To field is invalid + from_field = "image" + to_field = "invalid_field" + + result = are_connections_compatible(from_node, from_field, to_node, to_field) + assert result == False + +def test_graph_can_add_node(): + g = Graph() + n = TextToImageInvocation(id = "1", prompt = "Banana sushi") + g.add_node(n) + + assert n.id in g.nodes + +def test_graph_fails_to_add_node_with_duplicate_id(): + g = Graph() + n = TextToImageInvocation(id = "1", prompt = "Banana sushi") + g.add_node(n) + n2 = TextToImageInvocation(id = "1", prompt = "Banana sushi the second") + + with pytest.raises(NodeAlreadyInGraphError): + g.add_node(n2) + +def test_graph_updates_node(): + g = Graph() + n = TextToImageInvocation(id = "1", prompt = "Banana sushi") + g.add_node(n) + n2 = TextToImageInvocation(id = "2", prompt = "Banana sushi the second") + g.add_node(n2) + + nu = TextToImageInvocation(id = "1", prompt = "Banana sushi updated") + + g.update_node("1", nu) + + assert g.nodes["1"].prompt == "Banana sushi updated" + +def test_graph_fails_to_update_node_if_type_changes(): + g = Graph() + n = TextToImageInvocation(id = "1", prompt = "Banana sushi") + g.add_node(n) + n2 = UpscaleInvocation(id = "2") + g.add_node(n2) + + nu = UpscaleInvocation(id = "1") + + with pytest.raises(TypeError): + g.update_node("1", nu) + +def test_graph_allows_non_conflicting_id_change(): + g = Graph() + n = TextToImageInvocation(id = "1", prompt = "Banana sushi") + g.add_node(n) + n2 = UpscaleInvocation(id = "2") + g.add_node(n2) + e1 = create_edge(n.id,"image",n2.id,"image") + g.add_edge(e1) + + nu = TextToImageInvocation(id = "3", prompt = "Banana sushi") + g.update_node("1", nu) + + with pytest.raises(NodeNotFoundError): + g.get_node("1") + + assert g.get_node("3").prompt == "Banana sushi" + + assert len(g.edges) == 1 + assert (EdgeConnection(node_id = "3", field = "image"), EdgeConnection(node_id = "2", field = "image")) in g.edges + +def test_graph_fails_to_update_node_id_if_conflict(): + g = Graph() + n = TextToImageInvocation(id = "1", prompt = "Banana sushi") + g.add_node(n) + n2 = TextToImageInvocation(id = "2", prompt = "Banana sushi the second") + g.add_node(n2) + + nu = TextToImageInvocation(id = "2", prompt = "Banana sushi") + with pytest.raises(NodeAlreadyInGraphError): + g.update_node("1", nu) + +def test_graph_adds_edge(): + g = Graph() + n1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n2 = UpscaleInvocation(id = "2") + g.add_node(n1) + g.add_node(n2) + e = create_edge(n1.id,"image",n2.id,"image") + + g.add_edge(e) + + assert e in g.edges + +def test_graph_fails_to_add_edge_with_cycle(): + g = Graph() + n1 = UpscaleInvocation(id = "1") + g.add_node(n1) + e = create_edge(n1.id,"image",n1.id,"image") + with pytest.raises(InvalidEdgeError): + g.add_edge(e) + +def test_graph_fails_to_add_edge_with_long_cycle(): + g = Graph() + n1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n2 = UpscaleInvocation(id = "2") + n3 = UpscaleInvocation(id = "3") + g.add_node(n1) + g.add_node(n2) + g.add_node(n3) + e1 = create_edge(n1.id,"image",n2.id,"image") + e2 = create_edge(n2.id,"image",n3.id,"image") + e3 = create_edge(n3.id,"image",n2.id,"image") + g.add_edge(e1) + g.add_edge(e2) + with pytest.raises(InvalidEdgeError): + g.add_edge(e3) + +def test_graph_fails_to_add_edge_with_missing_node_id(): + g = Graph() + n1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n2 = UpscaleInvocation(id = "2") + g.add_node(n1) + g.add_node(n2) + e1 = create_edge("1","image","3","image") + e2 = create_edge("3","image","1","image") + with pytest.raises(InvalidEdgeError): + g.add_edge(e1) + with pytest.raises(InvalidEdgeError): + g.add_edge(e2) + +def test_graph_fails_to_add_edge_when_destination_exists(): + g = Graph() + n1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n2 = UpscaleInvocation(id = "2") + n3 = UpscaleInvocation(id = "3") + g.add_node(n1) + g.add_node(n2) + g.add_node(n3) + e1 = create_edge(n1.id,"image",n2.id,"image") + e2 = create_edge(n1.id,"image",n3.id,"image") + e3 = create_edge(n2.id,"image",n3.id,"image") + g.add_edge(e1) + g.add_edge(e2) + with pytest.raises(InvalidEdgeError): + g.add_edge(e3) + + +def test_graph_fails_to_add_edge_with_mismatched_types(): + g = Graph() + n1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n2 = UpscaleInvocation(id = "2") + g.add_node(n1) + g.add_node(n2) + e1 = create_edge("1","image","2","strength") + with pytest.raises(InvalidEdgeError): + g.add_edge(e1) + +def test_graph_connects_collector(): + g = Graph() + n1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n2 = TextToImageInvocation(id = "2", prompt = "Banana sushi 2") + n3 = CollectInvocation(id = "3") + n4 = ListPassThroughInvocation(id = "4") + g.add_node(n1) + g.add_node(n2) + g.add_node(n3) + g.add_node(n4) + + e1 = create_edge("1","image","3","item") + e2 = create_edge("2","image","3","item") + e3 = create_edge("3","collection","4","collection") + g.add_edge(e1) + g.add_edge(e2) + g.add_edge(e3) + +# TODO: test that derived types mixed with base types are compatible + +def test_graph_collector_invalid_with_varying_input_types(): + g = Graph() + n1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n2 = PromptTestInvocation(id = "2", prompt = "banana sushi 2") + n3 = CollectInvocation(id = "3") + g.add_node(n1) + g.add_node(n2) + g.add_node(n3) + + e1 = create_edge("1","image","3","item") + e2 = create_edge("2","prompt","3","item") + g.add_edge(e1) + + with pytest.raises(InvalidEdgeError): + g.add_edge(e2) + +def test_graph_collector_invalid_with_varying_input_output(): + g = Graph() + n1 = PromptTestInvocation(id = "1", prompt = "Banana sushi") + n2 = PromptTestInvocation(id = "2", prompt = "Banana sushi 2") + n3 = CollectInvocation(id = "3") + n4 = ListPassThroughInvocation(id = "4") + g.add_node(n1) + g.add_node(n2) + g.add_node(n3) + g.add_node(n4) + + e1 = create_edge("1","prompt","3","item") + e2 = create_edge("2","prompt","3","item") + e3 = create_edge("3","collection","4","collection") + g.add_edge(e1) + g.add_edge(e2) + + with pytest.raises(InvalidEdgeError): + g.add_edge(e3) + +def test_graph_collector_invalid_with_non_list_output(): + g = Graph() + n1 = PromptTestInvocation(id = "1", prompt = "Banana sushi") + n2 = PromptTestInvocation(id = "2", prompt = "Banana sushi 2") + n3 = CollectInvocation(id = "3") + n4 = PromptTestInvocation(id = "4") + g.add_node(n1) + g.add_node(n2) + g.add_node(n3) + g.add_node(n4) + + e1 = create_edge("1","prompt","3","item") + e2 = create_edge("2","prompt","3","item") + e3 = create_edge("3","collection","4","prompt") + g.add_edge(e1) + g.add_edge(e2) + + with pytest.raises(InvalidEdgeError): + g.add_edge(e3) + +def test_graph_connects_iterator(): + g = Graph() + n1 = ListPassThroughInvocation(id = "1") + n2 = IterateInvocation(id = "2") + n3 = ImageToImageInvocation(id = "3", prompt = "Banana sushi") + g.add_node(n1) + g.add_node(n2) + g.add_node(n3) + + e1 = create_edge("1","collection","2","collection") + e2 = create_edge("2","item","3","image") + g.add_edge(e1) + g.add_edge(e2) + +# TODO: TEST INVALID ITERATOR SCENARIOS + +def test_graph_iterator_invalid_if_multiple_inputs(): + g = Graph() + n1 = ListPassThroughInvocation(id = "1") + n2 = IterateInvocation(id = "2") + n3 = ImageToImageInvocation(id = "3", prompt = "Banana sushi") + n4 = ListPassThroughInvocation(id = "4") + g.add_node(n1) + g.add_node(n2) + g.add_node(n3) + g.add_node(n4) + + e1 = create_edge("1","collection","2","collection") + e2 = create_edge("2","item","3","image") + e3 = create_edge("4","collection","2","collection") + g.add_edge(e1) + g.add_edge(e2) + + with pytest.raises(InvalidEdgeError): + g.add_edge(e3) + +def test_graph_iterator_invalid_if_input_not_list(): + g = Graph() + n1 = TextToImageInvocation(id = "1", promopt = "Banana sushi") + n2 = IterateInvocation(id = "2") + g.add_node(n1) + g.add_node(n2) + + e1 = create_edge("1","collection","2","collection") + + with pytest.raises(InvalidEdgeError): + g.add_edge(e1) + +def test_graph_iterator_invalid_if_output_and_input_types_different(): + g = Graph() + n1 = ListPassThroughInvocation(id = "1") + n2 = IterateInvocation(id = "2") + n3 = PromptTestInvocation(id = "3", prompt = "Banana sushi") + g.add_node(n1) + g.add_node(n2) + g.add_node(n3) + + e1 = create_edge("1","collection","2","collection") + e2 = create_edge("2","item","3","prompt") + g.add_edge(e1) + + with pytest.raises(InvalidEdgeError): + g.add_edge(e2) + +def test_graph_validates(): + g = Graph() + n1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n2 = UpscaleInvocation(id = "2") + g.add_node(n1) + g.add_node(n2) + e1 = create_edge("1","image","2","image") + g.add_edge(e1) + + assert g.is_valid() == True + +def test_graph_invalid_if_edges_reference_missing_nodes(): + g = Graph() + n1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + g.nodes[n1.id] = n1 + e1 = create_edge("1","image","2","image") + g.edges.append(e1) + + assert g.is_valid() == False + +def test_graph_invalid_if_subgraph_invalid(): + g = Graph() + n1 = GraphInvocation(id = "1") + n1.graph = Graph() + + n1_1 = TextToImageInvocation(id = "2", prompt = "Banana sushi") + n1.graph.nodes[n1_1.id] = n1_1 + e1 = create_edge("1","image","2","image") + n1.graph.edges.append(e1) + + g.nodes[n1.id] = n1 + + assert g.is_valid() == False + +def test_graph_invalid_if_has_cycle(): + g = Graph() + n1 = UpscaleInvocation(id = "1") + n2 = UpscaleInvocation(id = "2") + g.nodes[n1.id] = n1 + g.nodes[n2.id] = n2 + e1 = create_edge("1","image","2","image") + e2 = create_edge("2","image","1","image") + g.edges.append(e1) + g.edges.append(e2) + + assert g.is_valid() == False + +def test_graph_invalid_with_invalid_connection(): + g = Graph() + n1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n2 = UpscaleInvocation(id = "2") + g.nodes[n1.id] = n1 + g.nodes[n2.id] = n2 + e1 = create_edge("1","image","2","strength") + g.edges.append(e1) + + assert g.is_valid() == False + + +# TODO: Subgraph operations +def test_graph_gets_subgraph_node(): + g = Graph() + n1 = GraphInvocation(id = "1") + n1.graph = Graph() + n1.graph.add_node + + n1_1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n1.graph.add_node(n1_1) + + g.add_node(n1) + + result = g.get_node('1.1') + + assert result is not None + assert result.id == '1' + assert result == n1_1 + +def test_graph_fails_to_get_missing_subgraph_node(): + g = Graph() + n1 = GraphInvocation(id = "1") + n1.graph = Graph() + n1.graph.add_node + + n1_1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n1.graph.add_node(n1_1) + + g.add_node(n1) + + with pytest.raises(NodeNotFoundError): + result = g.get_node('1.2') + +def test_graph_fails_to_enumerate_non_subgraph_node(): + g = Graph() + n1 = GraphInvocation(id = "1") + n1.graph = Graph() + n1.graph.add_node + + n1_1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n1.graph.add_node(n1_1) + + g.add_node(n1) + + n2 = UpscaleInvocation(id = "2") + g.add_node(n2) + + with pytest.raises(NodeNotFoundError): + result = g.get_node('2.1') + +def test_graph_gets_networkx_graph(): + g = Graph() + n1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n2 = UpscaleInvocation(id = "2") + g.add_node(n1) + g.add_node(n2) + e = create_edge(n1.id,"image",n2.id,"image") + g.add_edge(e) + + nxg = g.nx_graph() + + assert '1' in nxg.nodes + assert '2' in nxg.nodes + assert ('1','2') in nxg.edges + + +# TODO: Graph serializes and deserializes +def test_graph_can_serialize(): + g = Graph() + n1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n2 = UpscaleInvocation(id = "2") + g.add_node(n1) + g.add_node(n2) + e = create_edge(n1.id,"image",n2.id,"image") + g.add_edge(e) + + # Not throwing on this line is sufficient + json = g.json() + +def test_graph_can_deserialize(): + g = Graph() + n1 = TextToImageInvocation(id = "1", prompt = "Banana sushi") + n2 = UpscaleInvocation(id = "2") + g.add_node(n1) + g.add_node(n2) + e = create_edge(n1.id,"image",n2.id,"image") + g.add_edge(e) + + json = g.json() + g2 = Graph.parse_raw(json) + + assert g2 is not None + assert g2.nodes['1'] is not None + assert g2.nodes['2'] is not None + assert len(g2.edges) == 1 + assert g2.edges[0][0].node_id == '1' + assert g2.edges[0][0].field == 'image' + assert g2.edges[0][1].node_id == '2' + assert g2.edges[0][1].field == 'image' + +def test_graph_can_generate_schema(): + # Not throwing on this line is sufficient + # NOTE: if this test fails, it's PROBABLY because a new invocation type is breaking schema generation + schema = Graph.schema_json(indent = 2) diff --git a/tests/nodes/test_nodes.py b/tests/nodes/test_nodes.py new file mode 100644 index 00000000000..fea2e75e951 --- /dev/null +++ b/tests/nodes/test_nodes.py @@ -0,0 +1,92 @@ +from typing import Any, Callable, Literal +from ldm.invoke.app.invocations.baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationContext +from ldm.invoke.app.invocations.image import ImageField +from ldm.invoke.app.services.invocation_services import InvocationServices +from pydantic import Field +import pytest + +# Define test invocations before importing anything that uses invocations +class ListPassThroughInvocationOutput(BaseInvocationOutput): + type: Literal['test_list_output'] = 'test_list_output' + + collection: list[ImageField] = Field(default_factory=list) + +class ListPassThroughInvocation(BaseInvocation): + type: Literal['test_list'] = 'test_list' + + collection: list[ImageField] = Field(default_factory=list) + + def invoke(self, context: InvocationContext) -> ListPassThroughInvocationOutput: + return ListPassThroughInvocationOutput(collection = self.collection) + +class PromptTestInvocationOutput(BaseInvocationOutput): + type: Literal['test_prompt_output'] = 'test_prompt_output' + + prompt: str = Field(default = "") + +class PromptTestInvocation(BaseInvocation): + type: Literal['test_prompt'] = 'test_prompt' + + prompt: str = Field(default = "") + + def invoke(self, context: InvocationContext) -> PromptTestInvocationOutput: + return PromptTestInvocationOutput(prompt = self.prompt) + +class ImageTestInvocationOutput(BaseInvocationOutput): + type: Literal['test_image_output'] = 'test_image_output' + + image: ImageField = Field() + +class ImageTestInvocation(BaseInvocation): + type: Literal['test_image'] = 'test_image' + + prompt: str = Field(default = "") + + def invoke(self, context: InvocationContext) -> ImageTestInvocationOutput: + return ImageTestInvocationOutput(image=ImageField(image_name=self.id)) + +class PromptCollectionTestInvocationOutput(BaseInvocationOutput): + type: Literal['test_prompt_collection_output'] = 'test_prompt_collection_output' + collection: list[str] = Field(default_factory=list) + +class PromptCollectionTestInvocation(BaseInvocation): + type: Literal['test_prompt_collection'] = 'test_prompt_collection' + collection: list[str] = Field() + + def invoke(self, context: InvocationContext) -> PromptCollectionTestInvocationOutput: + return PromptCollectionTestInvocationOutput(collection=self.collection.copy()) + + +from ldm.invoke.app.services.events import EventServiceBase +from ldm.invoke.app.services.graph import EdgeConnection + +def create_edge(from_id: str, from_field: str, to_id: str, to_field: str) -> tuple[EdgeConnection, EdgeConnection]: + return (EdgeConnection(node_id = from_id, field = from_field), EdgeConnection(node_id = to_id, field = to_field)) + + +class TestEvent: + event_name: str + payload: Any + + def __init__(self, event_name: str, payload: Any): + self.event_name = event_name + self.payload = payload + +class TestEventService(EventServiceBase): + events: list + + def __init__(self): + super().__init__() + self.events = list() + + def dispatch(self, event_name: str, payload: Any) -> None: + pass + +def wait_until(condition: Callable[[], bool], timeout: int = 10, interval: float = 0.1) -> None: + import time + start_time = time.time() + while time.time() - start_time < timeout: + if condition(): + return + time.sleep(interval) + raise TimeoutError("Condition not met") \ No newline at end of file diff --git a/tests/nodes/test_sqlite.py b/tests/nodes/test_sqlite.py new file mode 100644 index 00000000000..e499bbce121 --- /dev/null +++ b/tests/nodes/test_sqlite.py @@ -0,0 +1,112 @@ +from ldm.invoke.app.services.sqlite import SqliteItemStorage, sqlite_memory +from pydantic import BaseModel, Field + + +class TestModel(BaseModel): + id: str = Field(description = "ID") + name: str = Field(description = "Name") + + +def test_sqlite_service_can_create_and_get(): + db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') + db.set(TestModel(id = '1', name = 'Test')) + assert db.get('1') == TestModel(id = '1', name = 'Test') + +def test_sqlite_service_can_list(): + db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') + db.set(TestModel(id = '1', name = 'Test')) + db.set(TestModel(id = '2', name = 'Test')) + db.set(TestModel(id = '3', name = 'Test')) + results = db.list() + assert results.page == 0 + assert results.pages == 1 + assert results.per_page == 10 + assert results.total == 3 + assert results.items == [TestModel(id = '1', name = 'Test'), TestModel(id = '2', name = 'Test'), TestModel(id = '3', name = 'Test')] + +def test_sqlite_service_can_delete(): + db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') + db.set(TestModel(id = '1', name = 'Test')) + db.delete('1') + assert db.get('1') is None + +def test_sqlite_service_calls_set_callback(): + db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') + called = False + def on_changed(item: TestModel): + nonlocal called + called = True + db.on_changed(on_changed) + db.set(TestModel(id = '1', name = 'Test')) + assert called + +def test_sqlite_service_calls_delete_callback(): + db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') + called = False + def on_deleted(item_id: str): + nonlocal called + called = True + db.on_deleted(on_deleted) + db.set(TestModel(id = '1', name = 'Test')) + db.delete('1') + assert called + +def test_sqlite_service_can_list_with_pagination(): + db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') + db.set(TestModel(id = '1', name = 'Test')) + db.set(TestModel(id = '2', name = 'Test')) + db.set(TestModel(id = '3', name = 'Test')) + results = db.list(page = 0, per_page = 2) + assert results.page == 0 + assert results.pages == 2 + assert results.per_page == 2 + assert results.total == 3 + assert results.items == [TestModel(id = '1', name = 'Test'), TestModel(id = '2', name = 'Test')] + +def test_sqlite_service_can_list_with_pagination_and_offset(): + db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') + db.set(TestModel(id = '1', name = 'Test')) + db.set(TestModel(id = '2', name = 'Test')) + db.set(TestModel(id = '3', name = 'Test')) + results = db.list(page = 1, per_page = 2) + assert results.page == 1 + assert results.pages == 2 + assert results.per_page == 2 + assert results.total == 3 + assert results.items == [TestModel(id = '3', name = 'Test')] + +def test_sqlite_service_can_search(): + db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') + db.set(TestModel(id = '1', name = 'Test')) + db.set(TestModel(id = '2', name = 'Test')) + db.set(TestModel(id = '3', name = 'Test')) + results = db.search(query = 'Test') + assert results.page == 0 + assert results.pages == 1 + assert results.per_page == 10 + assert results.total == 3 + assert results.items == [TestModel(id = '1', name = 'Test'), TestModel(id = '2', name = 'Test'), TestModel(id = '3', name = 'Test')] + +def test_sqlite_service_can_search_with_pagination(): + db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') + db.set(TestModel(id = '1', name = 'Test')) + db.set(TestModel(id = '2', name = 'Test')) + db.set(TestModel(id = '3', name = 'Test')) + results = db.search(query = 'Test', page = 0, per_page = 2) + assert results.page == 0 + assert results.pages == 2 + assert results.per_page == 2 + assert results.total == 3 + assert results.items == [TestModel(id = '1', name = 'Test'), TestModel(id = '2', name = 'Test')] + +def test_sqlite_service_can_search_with_pagination_and_offset(): + db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') + db.set(TestModel(id = '1', name = 'Test')) + db.set(TestModel(id = '2', name = 'Test')) + db.set(TestModel(id = '3', name = 'Test')) + results = db.search(query = 'Test', page = 1, per_page = 2) + assert results.page == 1 + assert results.pages == 2 + assert results.per_page == 2 + assert results.total == 3 + assert results.items == [TestModel(id = '3', name = 'Test')] From cd98d88fe73c67a20313e39e1b2b9c62401d60a5 Mon Sep 17 00:00:00 2001 From: Kyle Schouviller Date: Fri, 24 Feb 2023 20:11:28 -0800 Subject: [PATCH 34/89] [nodes] Removed InvokerServices, simplying service model --- ldm/invoke/app/api/dependencies.py | 19 ++++------ ldm/invoke/app/api/routers/sessions.py | 28 +++++++------- ldm/invoke/app/cli_app.py | 25 ++++++------- .../app/services/invocation_services.py | 15 +++++++- ldm/invoke/app/services/invoker.py | 37 +++++-------------- ldm/invoke/app/services/processor.py | 6 +-- tests/nodes/test_graph_execution_state.py | 14 +++++-- tests/nodes/test_invoker.py | 26 ++++++------- 8 files changed, 81 insertions(+), 89 deletions(-) diff --git a/ldm/invoke/app/api/dependencies.py b/ldm/invoke/app/api/dependencies.py index 60dd5228030..08f362133ea 100644 --- a/ldm/invoke/app/api/dependencies.py +++ b/ldm/invoke/app/api/dependencies.py @@ -13,7 +13,7 @@ from ..services.image_storage import DiskImageStorage from ..services.invocation_queue import MemoryInvocationQueue from ..services.invocation_services import InvocationServices -from ..services.invoker import Invoker, InvokerServices +from ..services.invoker import Invoker from ..services.generate_initializer import get_generate from .events import FastAPIEventService @@ -60,22 +60,19 @@ def initialize( images = DiskImageStorage(output_folder) - services = InvocationServices( - generate = generate, - events = events, - images = images - ) - # TODO: build a file/path manager? db_location = os.path.join(output_folder, 'invokeai.db') - invoker_services = InvokerServices( - queue = MemoryInvocationQueue(), + services = InvocationServices( + generate = generate, + events = events, + images = images, + queue = MemoryInvocationQueue(), graph_execution_manager = SqliteItemStorage[GraphExecutionState](filename = db_location, table_name = 'graph_executions'), - processor = DefaultInvocationProcessor() + processor = DefaultInvocationProcessor() ) - ApiDependencies.invoker = Invoker(services, invoker_services) + ApiDependencies.invoker = Invoker(services) @staticmethod def shutdown(): diff --git a/ldm/invoke/app/api/routers/sessions.py b/ldm/invoke/app/api/routers/sessions.py index 77008ad6e41..beb13736c61 100644 --- a/ldm/invoke/app/api/routers/sessions.py +++ b/ldm/invoke/app/api/routers/sessions.py @@ -44,9 +44,9 @@ async def list_sessions( ) -> PaginatedResults[GraphExecutionState]: """Gets a list of sessions, optionally searching""" if filter == '': - result = ApiDependencies.invoker.invoker_services.graph_execution_manager.list(page, per_page) + result = ApiDependencies.invoker.services.graph_execution_manager.list(page, per_page) else: - result = ApiDependencies.invoker.invoker_services.graph_execution_manager.search(query, page, per_page) + result = ApiDependencies.invoker.services.graph_execution_manager.search(query, page, per_page) return result @@ -60,7 +60,7 @@ async def get_session( session_id: str = Path(description = "The id of the session to get") ) -> GraphExecutionState: """Gets a session""" - session = ApiDependencies.invoker.invoker_services.graph_execution_manager.get(session_id) + session = ApiDependencies.invoker.services.graph_execution_manager.get(session_id) if session is None: return Response(status_code = 404) else: @@ -80,13 +80,13 @@ async def add_node( node: Annotated[Union[BaseInvocation.get_invocations()], Field(discriminator="type")] = Body(description = "The node to add") ) -> str: """Adds a node to the graph""" - session = ApiDependencies.invoker.invoker_services.graph_execution_manager.get(session_id) + session = ApiDependencies.invoker.services.graph_execution_manager.get(session_id) if session is None: return Response(status_code = 404) try: session.add_node(node) - ApiDependencies.invoker.invoker_services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? + ApiDependencies.invoker.services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? return session.id except NodeAlreadyExecutedError: return Response(status_code = 400) @@ -108,13 +108,13 @@ async def update_node( node: Annotated[Union[BaseInvocation.get_invocations()], Field(discriminator="type")] = Body(description = "The new node") ) -> GraphExecutionState: """Updates a node in the graph and removes all linked edges""" - session = ApiDependencies.invoker.invoker_services.graph_execution_manager.get(session_id) + session = ApiDependencies.invoker.services.graph_execution_manager.get(session_id) if session is None: return Response(status_code = 404) try: session.update_node(node_path, node) - ApiDependencies.invoker.invoker_services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? + ApiDependencies.invoker.services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? return session except NodeAlreadyExecutedError: return Response(status_code = 400) @@ -135,13 +135,13 @@ async def delete_node( node_path: str = Path(description = "The path to the node to delete") ) -> GraphExecutionState: """Deletes a node in the graph and removes all linked edges""" - session = ApiDependencies.invoker.invoker_services.graph_execution_manager.get(session_id) + session = ApiDependencies.invoker.services.graph_execution_manager.get(session_id) if session is None: return Response(status_code = 404) try: session.delete_node(node_path) - ApiDependencies.invoker.invoker_services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? + ApiDependencies.invoker.services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? return session except NodeAlreadyExecutedError: return Response(status_code = 400) @@ -162,13 +162,13 @@ async def add_edge( edge: tuple[EdgeConnection, EdgeConnection] = Body(description = "The edge to add") ) -> GraphExecutionState: """Adds an edge to the graph""" - session = ApiDependencies.invoker.invoker_services.graph_execution_manager.get(session_id) + session = ApiDependencies.invoker.services.graph_execution_manager.get(session_id) if session is None: return Response(status_code = 404) try: session.add_edge(edge) - ApiDependencies.invoker.invoker_services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? + ApiDependencies.invoker.services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? return session except NodeAlreadyExecutedError: return Response(status_code = 400) @@ -193,14 +193,14 @@ async def delete_edge( to_field: str = Path(description = "The field of the node the edge is going to") ) -> GraphExecutionState: """Deletes an edge from the graph""" - session = ApiDependencies.invoker.invoker_services.graph_execution_manager.get(session_id) + session = ApiDependencies.invoker.services.graph_execution_manager.get(session_id) if session is None: return Response(status_code = 404) try: edge = (EdgeConnection(node_id = from_node_id, field = from_field), EdgeConnection(node_id = to_node_id, field = to_field)) session.delete_edge(edge) - ApiDependencies.invoker.invoker_services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? + ApiDependencies.invoker.services.graph_execution_manager.set(session) # TODO: can this be done automatically, or add node through an API? return session except NodeAlreadyExecutedError: return Response(status_code = 400) @@ -221,7 +221,7 @@ async def invoke_session( all: bool = Query(default = False, description = "Whether or not to invoke all remaining invocations") ) -> None: """Invokes a session""" - session = ApiDependencies.invoker.invoker_services.graph_execution_manager.get(session_id) + session = ApiDependencies.invoker.services.graph_execution_manager.get(session_id) if session is None: return Response(status_code = 404) diff --git a/ldm/invoke/app/cli_app.py b/ldm/invoke/app/cli_app.py index 6071afabb2d..9081f3b083d 100644 --- a/ldm/invoke/app/cli_app.py +++ b/ldm/invoke/app/cli_app.py @@ -20,7 +20,7 @@ from .services.invocation_queue import MemoryInvocationQueue from .invocations.baseinvocation import BaseInvocation from .services.invocation_services import InvocationServices -from .services.invoker import Invoker, InvokerServices +from .services.invoker import Invoker from .invocations import * from ..args import Args from .services.events import EventServiceBase @@ -171,28 +171,25 @@ def invoke_cli(): output_folder = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../../outputs')) - services = InvocationServices( - generate = generate, - events = events, - images = DiskImageStorage(output_folder) - ) - # TODO: build a file/path manager? db_location = os.path.join(output_folder, 'invokeai.db') - invoker_services = InvokerServices( - queue = MemoryInvocationQueue(), + services = InvocationServices( + generate = generate, + events = events, + images = DiskImageStorage(output_folder), + queue = MemoryInvocationQueue(), graph_execution_manager = SqliteItemStorage[GraphExecutionState](filename = db_location, table_name = 'graph_executions'), - processor = DefaultInvocationProcessor() + processor = DefaultInvocationProcessor() ) - invoker = Invoker(services, invoker_services) + invoker = Invoker(services) session = invoker.create_execution_state() parser = get_invocation_parser() # Uncomment to print out previous sessions at startup - # print(invoker_services.session_manager.list()) + # print(services.session_manager.list()) # Defaults storage defaults: Dict[str, Any] = dict() @@ -213,7 +210,7 @@ def invoke_cli(): try: # Refresh the state of the session - session = invoker.invoker_services.graph_execution_manager.get(session.id) + session = invoker.services.graph_execution_manager.get(session.id) history = list(get_graph_execution_history(session)) # Split the command for piping @@ -289,7 +286,7 @@ def invoke_cli(): invoker.invoke(session, invoke_all = True) while not session.is_complete(): # Wait some time - session = invoker.invoker_services.graph_execution_manager.get(session.id) + session = invoker.services.graph_execution_manager.get(session.id) time.sleep(0.1) except InvalidArgs: diff --git a/ldm/invoke/app/services/invocation_services.py b/ldm/invoke/app/services/invocation_services.py index 9eb5309d3da..40a64e64e55 100644 --- a/ldm/invoke/app/services/invocation_services.py +++ b/ldm/invoke/app/services/invocation_services.py @@ -1,4 +1,6 @@ # Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) +from .invocation_queue import InvocationQueueABC +from .item_storage import ItemStorageABC from .image_storage import ImageStorageBase from .events import EventServiceBase from ....generate import Generate @@ -9,12 +11,23 @@ class InvocationServices(): generate: Generate # TODO: wrap Generate, or split it up from model? events: EventServiceBase images: ImageStorageBase + queue: InvocationQueueABC + + # NOTE: we must forward-declare any types that include invocations, since invocations can use services + graph_execution_manager: ItemStorageABC['GraphExecutionState'] + processor: 'InvocationProcessorABC' def __init__(self, generate: Generate, events: EventServiceBase, - images: ImageStorageBase + images: ImageStorageBase, + queue: InvocationQueueABC, + graph_execution_manager: ItemStorageABC['GraphExecutionState'], + processor: 'InvocationProcessorABC' ): self.generate = generate self.events = events self.images = images + self.queue = queue + self.graph_execution_manager = graph_execution_manager + self.processor = processor diff --git a/ldm/invoke/app/services/invoker.py b/ldm/invoke/app/services/invoker.py index 796f5417813..4397a750213 100644 --- a/ldm/invoke/app/services/invoker.py +++ b/ldm/invoke/app/services/invoker.py @@ -9,34 +9,15 @@ from .invocation_queue import InvocationQueueABC, InvocationQueueItem -class InvokerServices: - """Services used by the Invoker for execution""" - - queue: InvocationQueueABC - graph_execution_manager: ItemStorageABC[GraphExecutionState] - processor: 'InvocationProcessorABC' - - def __init__(self, - queue: InvocationQueueABC, - graph_execution_manager: ItemStorageABC[GraphExecutionState], - processor: 'InvocationProcessorABC'): - self.queue = queue - self.graph_execution_manager = graph_execution_manager - self.processor = processor - - class Invoker: """The invoker, used to execute invocations""" services: InvocationServices - invoker_services: InvokerServices def __init__(self, - services: InvocationServices, # Services used by nodes to perform invocations - invoker_services: InvokerServices # Services used by the invoker for orchestration + services: InvocationServices ): self.services = services - self.invoker_services = invoker_services self._start() @@ -49,11 +30,11 @@ def invoke(self, graph_execution_state: GraphExecutionState, invoke_all: bool = return None # Save the execution state - self.invoker_services.graph_execution_manager.set(graph_execution_state) + self.services.graph_execution_manager.set(graph_execution_state) # Queue the invocation print(f'queueing item {invocation.id}') - self.invoker_services.queue.put(InvocationQueueItem( + self.services.queue.put(InvocationQueueItem( #session_id = session.id, graph_execution_state_id = graph_execution_state.id, invocation_id = invocation.id, @@ -66,7 +47,7 @@ def invoke(self, graph_execution_state: GraphExecutionState, invoke_all: bool = def create_execution_state(self, graph: Graph|None = None) -> GraphExecutionState: """Creates a new execution state for the given graph""" new_state = GraphExecutionState(graph = Graph() if graph is None else graph) - self.invoker_services.graph_execution_manager.set(new_state) + self.services.graph_execution_manager.set(new_state) return new_state @@ -86,8 +67,8 @@ def __stop_service(self, service) -> None: def _start(self) -> None: """Starts the invoker. This is called automatically when the invoker is created.""" - for service in vars(self.invoker_services): - self.__start_service(getattr(self.invoker_services, service)) + for service in vars(self.services): + self.__start_service(getattr(self.services, service)) for service in vars(self.services): self.__start_service(getattr(self.services, service)) @@ -99,10 +80,10 @@ def stop(self) -> None: for service in vars(self.services): self.__stop_service(getattr(self.services, service)) - for service in vars(self.invoker_services): - self.__stop_service(getattr(self.invoker_services, service)) + for service in vars(self.services): + self.__stop_service(getattr(self.services, service)) - self.invoker_services.queue.put(None) + self.services.queue.put(None) class InvocationProcessorABC(ABC): diff --git a/ldm/invoke/app/services/processor.py b/ldm/invoke/app/services/processor.py index 9b51a6bcbc4..9ea4349bbff 100644 --- a/ldm/invoke/app/services/processor.py +++ b/ldm/invoke/app/services/processor.py @@ -28,11 +28,11 @@ def stop(self, *args, **kwargs) -> None: def __process(self, stop_event: Event): try: while not stop_event.is_set(): - queue_item: InvocationQueueItem = self.__invoker.invoker_services.queue.get() + queue_item: InvocationQueueItem = self.__invoker.services.queue.get() if not queue_item: # Probably stopping continue - graph_execution_state = self.__invoker.invoker_services.graph_execution_manager.get(queue_item.graph_execution_state_id) + graph_execution_state = self.__invoker.services.graph_execution_manager.get(queue_item.graph_execution_state_id) invocation = graph_execution_state.execution_graph.get_node(queue_item.invocation_id) # Send starting event @@ -52,7 +52,7 @@ def __process(self, stop_event: Event): graph_execution_state.complete(invocation.id, outputs) # Save the state changes - self.__invoker.invoker_services.graph_execution_manager.set(graph_execution_state) + self.__invoker.services.graph_execution_manager.set(graph_execution_state) # Send complete event self.__invoker.services.events.emit_invocation_complete( diff --git a/tests/nodes/test_graph_execution_state.py b/tests/nodes/test_graph_execution_state.py index 0a5dcc77345..980c2625014 100644 --- a/tests/nodes/test_graph_execution_state.py +++ b/tests/nodes/test_graph_execution_state.py @@ -1,10 +1,11 @@ from .test_invoker import create_edge from .test_nodes import ImageTestInvocation, ListPassThroughInvocation, PromptTestInvocation, PromptCollectionTestInvocation from ldm.invoke.app.invocations.baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationContext +from ldm.invoke.app.services.processor import DefaultInvocationProcessor +from ldm.invoke.app.services.sqlite import SqliteItemStorage, sqlite_memory +from ldm.invoke.app.services.invocation_queue import MemoryInvocationQueue from ldm.invoke.app.services.invocation_services import InvocationServices from ldm.invoke.app.services.graph import Graph, GraphInvocation, InvalidEdgeError, NodeAlreadyInGraphError, NodeNotFoundError, are_connections_compatible, EdgeConnection, CollectInvocation, IterateInvocation, GraphExecutionState -from ldm.invoke.app.invocations.generate import ImageToImageInvocation, TextToImageInvocation -from ldm.invoke.app.invocations.upscale import UpscaleInvocation import pytest @@ -19,7 +20,14 @@ def simple_graph(): @pytest.fixture def mock_services(): # NOTE: none of these are actually called by the test invocations - return InvocationServices(generate = None, events = None, images = None) + return InvocationServices( + generate = None, + events = None, + images = None, + queue = MemoryInvocationQueue(), + graph_execution_manager = SqliteItemStorage[GraphExecutionState](filename = sqlite_memory, table_name = 'graph_executions'), + processor = DefaultInvocationProcessor() + ) def invoke_next(g: GraphExecutionState, services: InvocationServices) -> tuple[BaseInvocation, BaseInvocationOutput]: n = g.next() diff --git a/tests/nodes/test_invoker.py b/tests/nodes/test_invoker.py index a6d96f61c0c..e9109728d5c 100644 --- a/tests/nodes/test_invoker.py +++ b/tests/nodes/test_invoker.py @@ -2,12 +2,10 @@ from ldm.invoke.app.services.processor import DefaultInvocationProcessor from ldm.invoke.app.services.sqlite import SqliteItemStorage, sqlite_memory from ldm.invoke.app.services.invocation_queue import MemoryInvocationQueue -from ldm.invoke.app.services.invoker import Invoker, InvokerServices +from ldm.invoke.app.services.invoker import Invoker from ldm.invoke.app.invocations.baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationContext from ldm.invoke.app.services.invocation_services import InvocationServices from ldm.invoke.app.services.graph import Graph, GraphInvocation, InvalidEdgeError, NodeAlreadyInGraphError, NodeNotFoundError, are_connections_compatible, EdgeConnection, CollectInvocation, IterateInvocation, GraphExecutionState -from ldm.invoke.app.invocations.generate import ImageToImageInvocation, TextToImageInvocation -from ldm.invoke.app.invocations.upscale import UpscaleInvocation import pytest @@ -22,21 +20,19 @@ def simple_graph(): @pytest.fixture def mock_services() -> InvocationServices: # NOTE: none of these are actually called by the test invocations - return InvocationServices(generate = None, events = TestEventService(), images = None) - -@pytest.fixture() -def mock_invoker_services() -> InvokerServices: - return InvokerServices( + return InvocationServices( + generate = None, + events = TestEventService(), + images = None, queue = MemoryInvocationQueue(), graph_execution_manager = SqliteItemStorage[GraphExecutionState](filename = sqlite_memory, table_name = 'graph_executions'), processor = DefaultInvocationProcessor() ) @pytest.fixture() -def mock_invoker(mock_services: InvocationServices, mock_invoker_services: InvokerServices) -> Invoker: +def mock_invoker(mock_services: InvocationServices) -> Invoker: return Invoker( - services = mock_services, - invoker_services = mock_invoker_services + services = mock_services ) def test_can_create_graph_state(mock_invoker: Invoker): @@ -60,13 +56,13 @@ def test_can_invoke(mock_invoker: Invoker, simple_graph): assert invocation_id is not None def has_executed_any(g: GraphExecutionState): - g = mock_invoker.invoker_services.graph_execution_manager.get(g.id) + g = mock_invoker.services.graph_execution_manager.get(g.id) return len(g.executed) > 0 wait_until(lambda: has_executed_any(g), timeout = 5, interval = 1) mock_invoker.stop() - g = mock_invoker.invoker_services.graph_execution_manager.get(g.id) + g = mock_invoker.services.graph_execution_manager.get(g.id) assert len(g.executed) > 0 def test_can_invoke_all(mock_invoker: Invoker, simple_graph): @@ -75,11 +71,11 @@ def test_can_invoke_all(mock_invoker: Invoker, simple_graph): assert invocation_id is not None def has_executed_all(g: GraphExecutionState): - g = mock_invoker.invoker_services.graph_execution_manager.get(g.id) + g = mock_invoker.services.graph_execution_manager.get(g.id) return g.is_complete() wait_until(lambda: has_executed_all(g), timeout = 5, interval = 1) mock_invoker.stop() - g = mock_invoker.invoker_services.graph_execution_manager.get(g.id) + g = mock_invoker.services.graph_execution_manager.get(g.id) assert g.is_complete() From d9c46277ea53652f7ca279c6064ea74450015e11 Mon Sep 17 00:00:00 2001 From: Jordan Date: Sat, 25 Feb 2023 20:21:20 -0700 Subject: [PATCH 35/89] add peft setup (need to install huggingface/peft) --- ldm/generate.py | 3 + ldm/invoke/conditioning.py | 7 +- ldm/invoke/generator/diffusers_pipeline.py | 2 + ldm/modules/peft_manager.py | 96 ++++++++++++++++++++++ 4 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 ldm/modules/peft_manager.py diff --git a/ldm/generate.py b/ldm/generate.py index 1cb11d3606c..43d747afaed 100644 --- a/ldm/generate.py +++ b/ldm/generate.py @@ -533,6 +533,9 @@ def process_image(image,seed): log_tokens=self.log_tokenization, ) + if self.model.peft_manager: + self.model = self.model.peft_manager.load(self.model, self.model.unet.dtype) + init_image, mask_image = self._make_images( init_img, init_mask, diff --git a/ldm/invoke/conditioning.py b/ldm/invoke/conditioning.py index 2a0ab1ce024..02f8fc573ab 100644 --- a/ldm/invoke/conditioning.py +++ b/ldm/invoke/conditioning.py @@ -60,7 +60,12 @@ def get_uc_and_c_and_ec(prompt_string, model, log_tokens=False, skip_normalize_l positive_prompt = legacy_blend else: positive_prompt = Compel.parse_prompt_string(positive_prompt_string) - if model.lora_manager: + should_use_lora_manager = True + if model.peft_manager: + should_use_lora_manager = model.peft_manager.should_use(positive_prompt.lora_weights) + if not should_use_lora_manager: + model.peft_manager.set_loras(positive_prompt.lora_weights) + if model.lora_manager and should_use_lora_manager: lora_conditions = model.lora_manager.set_loras_conditions(positive_prompt.lora_weights) negative_prompt: FlattenedPrompt|Blend = Compel.parse_prompt_string(negative_prompt_string) diff --git a/ldm/invoke/generator/diffusers_pipeline.py b/ldm/invoke/generator/diffusers_pipeline.py index 46034b845b0..2dd90c8d1e1 100644 --- a/ldm/invoke/generator/diffusers_pipeline.py +++ b/ldm/invoke/generator/diffusers_pipeline.py @@ -30,6 +30,7 @@ from ldm.models.diffusion.shared_invokeai_diffusion import InvokeAIDiffuserComponent, PostprocessingSettings from ldm.modules.textual_inversion_manager import TextualInversionManager from ldm.modules.lora_manager import LoraManager +from ldm.modules.peft_manager import PeftManager from ..devices import normalize_device, CPU_DEVICE from ..offloading import LazilyLoadedModelGroup, FullyLoadedModelGroup, ModelGroup from ...models.diffusion.cross_attention_map_saving import AttentionMapSaver @@ -291,6 +292,7 @@ def __init__( feature_extractor=feature_extractor, ) self.lora_manager = LoraManager(self) + self.peft_manager = PeftManager() self.invokeai_diffuser = InvokeAIDiffuserComponent(self.unet, self._unet_forward, is_running_diffusers=True) use_full_precision = (precision == 'float32' or precision == 'autocast') self.textual_inversion_manager = TextualInversionManager(tokenizer=self.tokenizer, diff --git a/ldm/modules/peft_manager.py b/ldm/modules/peft_manager.py new file mode 100644 index 00000000000..939a4a78992 --- /dev/null +++ b/ldm/modules/peft_manager.py @@ -0,0 +1,96 @@ +from peft import LoraModel, LoraConfig, set_peft_model_state_dict +import torch +import json +from pathlib import Path +from ldm.invoke.globals import global_lora_models_dir + + +class LoraPeftModule: + def __init__(self, lora_dir, multiplier: float = 1.0): + self.lora_dir = lora_dir + self.multiplier = multiplier + self.config = self.load_config() + self.checkpoint = self.load_checkpoint() + + def load_config(self): + lora_config_file = Path(self.lora_dir, f'lora_config.json') + with open(lora_config_file, "r") as f: + return json.load(f) + + def load_checkpoint(self): + return torch.load(Path(self.lora_dir, f'lora.pt')) + + def unet(self, text_encoder): + lora_ds = { + k.replace("text_encoder_", ""): v for k, v in self.checkpoint.items() if "text_encoder_" in k + } + config = LoraConfig(**self.config["peft_config"]) + model = LoraModel(config, text_encoder) + set_peft_model_state_dict(model, lora_ds) + return model + + def text_encoder(self, unet): + lora_ds = { + k: v for k, v in self.checkpoint.items() if "text_encoder_" not in k + } + config = LoraConfig(**self.config["text_encoder_peft_config"]) + model = LoraModel(config, unet) + set_peft_model_state_dict(model, lora_ds) + return model + + def apply(self, pipe, dtype): + pipe.unet = self.unet(pipe.unet) + if "text_encoder_peft_config" in self.config: + pipe.text_encoder = self.text_encoder(pipe.text_encoder) + + if dtype in (torch.float16, torch.bfloat16): + pipe.unet.half() + pipe.text_encoder.half() + + return pipe + + +class PeftManager: + modules: list[LoraPeftModule] + + def __init__(self): + self.lora_path = global_lora_models_dir() + self.modules = [] + + def set_loras(self, lora_weights: list): + if len(lora_weights) > 0: + for lora in lora_weights: + self.add(lora.model, lora.weight) + + def add(self, name, multiplier: float = 1.0): + lora_dir = Path(self.lora_path, name) + + if lora_dir.exists(): + lora_config_file = Path(lora_dir, f'lora_config.json') + lora_checkpoint = Path(lora_dir, f'lora.pt') + + if lora_config_file.exists() and lora_checkpoint.exists(): + self.modules.append(LoraPeftModule(lora_dir, multiplier)) + return + + print(f">> Failed to load lora {name}") + + def load(self, pipe, dtype): + if len(self.modules) > 0: + for module in self.modules: + pipe = module.apply(pipe, dtype) + + return pipe + + # Simple check to allow previous functionality + def should_use(self, lora_weights: list): + if len(lora_weights) > 0: + for lora in lora_weights: + lora_dir = Path(self.lora_path, lora.model) + if lora_dir.exists(): + lora_config_file = Path(lora_dir, f'lora_config.json') + lora_checkpoint = Path(lora_dir, f'lora.pt') + if lora_config_file.exists() and lora_checkpoint.exists(): + return False + + return True From c2487e433065e20bd30f6f6d1d29d6a013c3a146 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 30 Mar 2023 07:38:39 -0400 Subject: [PATCH 36/89] Kohya lora models load but generate freezes --- ldm/invoke/globals.py | 2 +- ldm/modules/legacy_lora_manager.py | 10 ++++++---- ldm/modules/lora_manager.py | 1 + pyproject.toml | 1 + 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ldm/invoke/globals.py b/ldm/invoke/globals.py index 4013a239ee0..779a3668304 100644 --- a/ldm/invoke/globals.py +++ b/ldm/invoke/globals.py @@ -77,7 +77,7 @@ def global_models_dir()->Path: return Path(Globals.root, Globals.models_dir) def global_lora_models_dir()->Path: - return Path(global_models_dir(), Globals.lora_models_dir) + return Path(Globals.root, Globals.lora_models_dir) def global_autoscan_dir()->Path: return Path(Globals.root, Globals.autoscan_dir) diff --git a/ldm/modules/legacy_lora_manager.py b/ldm/modules/legacy_lora_manager.py index a342f944934..1ed29c7a6a9 100644 --- a/ldm/modules/legacy_lora_manager.py +++ b/ldm/modules/legacy_lora_manager.py @@ -324,14 +324,16 @@ def configure_prompt(self, prompt: str) -> str: return re.sub(lora_match, "", prompt) def apply_lora_model(self, name, mult: float = 1.0): - path_file = Path(self.lora_path, f'{name}.ckpt') - if Path(self.lora_path, f'{name}.safetensors').exists(): - path_file = Path(self.lora_path, f'{name}.safetensors') - + for suffix in ['ckpt','safetensors']: + path_file = Path(self.lora_path, f'{name}.{suffix}') + print(f'DEBUG: looking for existence of {path_file}') + if path_file.exists(): + break if not path_file.exists(): print(f">> Unable to find lora: {name}") return + print(f'DEBUG: path_file = {path_file}') lora = self.wrapper.loaded_loras.get(name, None) if lora is None: lora = self.load_lora_module(name, path_file, mult) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index 885d82b53bd..b362620fb5a 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -13,6 +13,7 @@ def __init__(self, name, weight: float = 1.0): def __call__(self, model): path = Path(global_lora_models_dir(), self.name) + print(f'DEBUG: path = {path}') # TODO: make model able to load from huggingface, rather then just local files if path.is_dir(): diff --git a/pyproject.toml b/pyproject.toml index 7f0b700fe2d..d972b91a60f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -57,6 +57,7 @@ dependencies = [ "numpy<1.24", "omegaconf", "opencv-python", + "peft", "picklescan", "pillow", "prompt-toolkit", From 2a586f31794e28e03b291a08b0c3b73750792cb4 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 30 Mar 2023 08:08:33 -0400 Subject: [PATCH 37/89] upgrade compel to work with lora syntax --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 48eac476b64..0af08d49a88 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,7 +32,7 @@ dependencies = [ "albumentations", "click", "clip_anytorch", - "compel==0.1.7", + "compel~=1.0.4", "datasets", "diffusers[torch]~=0.14", "dnspython==2.2.1", From 91e4c6087614b9d807ecda5891029c1e90273ea4 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 30 Mar 2023 13:50:23 -0400 Subject: [PATCH 38/89] add solution to ROCm fail-to-install error --- docs/installation/030_INSTALL_CUDA_AND_ROCM.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/installation/030_INSTALL_CUDA_AND_ROCM.md b/docs/installation/030_INSTALL_CUDA_AND_ROCM.md index 3d3445e3a0c..d4e36b5761b 100644 --- a/docs/installation/030_INSTALL_CUDA_AND_ROCM.md +++ b/docs/installation/030_INSTALL_CUDA_AND_ROCM.md @@ -97,7 +97,13 @@ to work well. After installation, please run `rocm-smi` a second time to confirm that the driver is present and the GPU is recognized. You may need to -do a reboot in order to load the driver. +do a reboot in order to load the driver. If you continue to have +errors you may need to add your username to the system `render` +group. This can be done with the following command: + +``` +sudo usermod -a -G render my-user-name +``` ### Linux Install with a ROCm-docker Container From 879c80022e723f056d9728b18e36489e18574721 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Fri, 31 Mar 2023 00:03:16 -0400 Subject: [PATCH 39/89] preliminary LoRA support ready for testing Instructions: 1. Download LoRA .safetensors files of your choice and place in `INVOKEAIROOT/loras`. Unlike the draft version of this, the file names can contain underscores and alphanumerics. Names with arbitrary unicode characters are not supported. 2. Add `withLora(lora-file-basename,weight)` to your prompt. The weight is optional and will default to 1.0. A few examples, assuming that a LoRA file named `loras/sushi.safetensors` is present: ``` family sitting at dinner table eating sushi withLora(sushi,0.9) family sitting at dinner table eating sushi withLora(sushi, 0.75) family sitting at dinner table eating sushi withLora(sushi) ``` Multiple `withLora()` prompt fragments are allowed. The weight can be arbitrarily large, but the useful range is roughly 0.5 to 1.0. Higher weights make the LoRA's influence stronger. In my limited testing, I found it useful to reduce the CFG to avoid oversharpening. Also I got better results when running the LoRA on top of the model on which it was based during training. Don't try to load a SD 1.x-trained LoRA into a SD 2.x model, and vice versa. You will get a nasty stack trace. This needs to be cleaned up. 3. You can change the location of the `loras` directory by passing the `--lora_directory` option to `invokeai. Documentation can be found in docs/features/LORAS.md. --- docs/features/CONCEPTS.md | 15 ++- docs/features/LORAS.md | 100 ++++++++++++++++++ docs/index.md | 1 + ldm/generate.py | 4 +- ldm/invoke/CLI.py | 3 + ldm/invoke/_version.py | 2 +- ldm/invoke/args.py | 7 ++ ldm/invoke/config/invokeai_configure.py | 1 + ldm/invoke/globals.py | 6 +- ..._lora_manager.py => kohya_lora_manager.py} | 25 ++--- ldm/modules/lora_manager.py | 18 ++-- ldm/modules/peft_manager.py | 1 - 12 files changed, 149 insertions(+), 34 deletions(-) create mode 100644 docs/features/LORAS.md rename ldm/modules/{legacy_lora_manager.py => kohya_lora_manager.py} (95%) diff --git a/docs/features/CONCEPTS.md b/docs/features/CONCEPTS.md index 0d8ea9a43b7..6c02328d30c 100644 --- a/docs/features/CONCEPTS.md +++ b/docs/features/CONCEPTS.md @@ -25,10 +25,14 @@ library which downloads and merges TI files automatically upon request. You can also install your own or others' TI files by placing them in a designated directory. +You may also be interested in using [LoRA Models](LORAS.md) to +generate images with specialized styles and subjects. + ### An Example -Here are a few examples to illustrate how it works. All these images were -generated using the command-line client and the Stable Diffusion 1.5 model: +Here are a few examples to illustrate how Textual Inversion works. All +these images were generated using the command-line client and the +Stable Diffusion 1.5 model: | Japanese gardener | Japanese gardener <ghibli-face> | Japanese gardener <hoi4-leaders> | Japanese gardener <cartoona-animals> | | :--------------------------------: | :-----------------------------------: | :------------------------------------: | :----------------------------------------: | @@ -147,6 +151,13 @@ angle brackets. In the example above ` is such a file (the filename was `easynegative.safetensors`). In such cases, you can change the trigger term simply by renaming the file. +## Training your own Textual Inversion models + +InvokeAI provides a script that lets you train your own Textual +Inversion embeddings using a small number (about a half-dozen) images +of your desired style or subject. Please see [Textual +Inversion](TEXTUAL_INVERSION.md) for details. + ## Further Reading Please see [the repository](https://github.com/rinongal/textual_inversion) and diff --git a/docs/features/LORAS.md b/docs/features/LORAS.md new file mode 100644 index 00000000000..f95e4b0ba40 --- /dev/null +++ b/docs/features/LORAS.md @@ -0,0 +1,100 @@ +--- +title: Low-Rank Adaptation (LoRA) Models +--- + +# :material-library-shelves: Using Low-Rank Adaptation (LoRA) Models + +## Introduction + +LoRA is a technique for fine-tuning Stable Diffusion models using much +less time and memory than traditional training techniques. The +resulting model files are much smaller than full model files, and can +be used to generate specialized styles and subjects. + +LoRAs are built on top of Stable Diffusion v1.x or 2.x checkpoint or +diffusers models. To load a LoRA, you include its name in the text +prompt using a simple syntax described below. While you will generally +get the best results when you use the same model the LoRA was trained +on, they will work to a greater or lesser extent with other models. +The major caveat is that a LoRA built on top of a SD v1.x model cannot +be used with a v2.x model, and vice-versa. If you try, you will get an +error! You may refer to multiple LoRAs in your prompt. + +When you apply a LoRA in a prompt you can specify a weight. The higher +the weight, the more influence it will have on the image. Useful +ranges for weights are usually in the 0.0 to 1.0 range (with ranges +between 0.5 and 1.0 being most typical). However you can specify a +higher weight if you wish. Like models, each LoRA has a slightly +different useful weight range and will interact with other generation +parameters such as the CFG, step count and sampler. The author of the +LoRA will often provide guidance on the best settings, but feel free +to experiment. Be aware that it often helps to reduce the CFG value +when using LoRAs. + +## Installing LoRAs + +This is very easy! Download a LoRA model file from your favorite site +(e.g. [CIVITAI](https://civitai.com) and place it in the `loras` +folder in the InvokeAI root directory (usually `~invokeai/loras` on +Linux/Macintosh machines, and `C:\Users\your-name\invokeai/loras` on +Windows systems). If the `loras` folder does not already exist, just +create it. The vast majority of LoRA models use the Kohya file format, +which is a type of `.safetensors` file. + +You may change where InvokeAI looks for the `loras` folder by passing the +`--lora_directory` option to the `invoke.sh`/`invoke.bat` launcher, or +by placing the option in `invokeai.init`. For example: + +``` +invoke.sh --lora_directory=C:\Users\your-name\SDModels\lora +``` + +## Using a LoRA in your prompt + +To activate a LoRA use the syntax `withLora(my-lora-name,weight)` +somewhere in the text of the prompt. The position doesn't matter; use +whatever is most comfortable for you. + +For example, if you have a LoRA named `parchment_people.safetensors` +in your `loras` directory, you can load it with a weight of 0.9 with a +prompt like this one: + +``` +family sitting at dinner table withLora(parchment_people,0.9) +``` + +Add additional `withLora()` phrases to load more LoRAs. + +You may omit the weight entirely to default to a weight of 1.0: + +``` +family sitting at dinner table withLora(parchment_people) +``` + +If you watch the console as your prompt executes, you will see +messages relating to the loading and execution of the LoRA. If things +don't work as expected, note down the console messages and report them +on the InvokeAI Issues pages or Discord channel. + +That's pretty much all you need to know! + +## Training Kohya Models + +InvokeAI cannot currently train LoRA models, but it can load and use +existing LoRA ones to generate images. While there are several LoRA +model file formats, the predominant one is ["Kohya" +format](https://github.com/kohya-ss/sd-scripts), written by [Kohya +S.](https://github.com/kohya-ss). InvokeAI provides support for this +format. For creating your own Kohya models, we recommend the Windows +GUI written by former InvokeAI-team member +[bmaltais](https://github.com/bmaltais), which can be found at +[kohya_ss](https://github.com/bmaltais/kohya_ss). + +We can also recommend the [HuggingFace DreamBooth Training +UI](https://huggingface.co/spaces/lora-library/LoRA-DreamBooth-Training-UI), +a paid service that supports both Textual Inversion and LoRA training. + +You may also be interested in [Textual +Inversion](TEXTUAL_INVERSION.md) training, which is supported by +InvokeAI as a text console and command-line tool. + diff --git a/docs/index.md b/docs/index.md index 704a7daa30c..37938e9c906 100644 --- a/docs/index.md +++ b/docs/index.md @@ -159,6 +159,7 @@ This method is recommended for those familiar with running Docker containers - [Inpainting](features/INPAINTING.md) - [Outpainting](features/OUTPAINTING.md) - [Adding custom styles and subjects](features/CONCEPTS.md) +- [Using LoRA models](features/LORAS.md) - [Upscaling and Face Reconstruction](features/POSTPROCESS.md) - [Embiggen upscaling](features/EMBIGGEN.md) - [Other Features](features/OTHER.md) diff --git a/ldm/generate.py b/ldm/generate.py index 1d61557911f..4f5be8c6300 100644 --- a/ldm/generate.py +++ b/ldm/generate.py @@ -493,9 +493,9 @@ def process_image(image,seed): # To try and load LoRA not trained through diffusers # To be removed once support for diffusers LoRA weights is high enough if self.model.lora_manager: - prompt = self.model.lora_manager.configure_prompt_legacy(prompt) + prompt = self.model.lora_manager.configure_prompt_kohya(prompt) # lora MUST process prompt before conditioning - self.model.lora_manager.load_lora_legacy() + self.model.lora_manager.load_lora_kohya() # apply the concepts library to the prompt prompt = self.huggingface_concepts_library.replace_concepts_with_triggers( diff --git a/ldm/invoke/CLI.py b/ldm/invoke/CLI.py index f1e10938baa..0ca10ff13b3 100644 --- a/ldm/invoke/CLI.py +++ b/ldm/invoke/CLI.py @@ -110,6 +110,9 @@ def main(): else: embedding_path = None + if opt.lora_path: + Globals.lora_models_dir = opt.lora_path + # migrate legacy models ModelManager.migrate_models() diff --git a/ldm/invoke/_version.py b/ldm/invoke/_version.py index 2af79654632..806409625a5 100644 --- a/ldm/invoke/_version.py +++ b/ldm/invoke/_version.py @@ -1,2 +1,2 @@ -__version__='2.3.3' +__version__='2.3.4a0' diff --git a/ldm/invoke/args.py b/ldm/invoke/args.py index 5982c5488f3..76592737ca0 100644 --- a/ldm/invoke/args.py +++ b/ldm/invoke/args.py @@ -654,6 +654,13 @@ def _create_arg_parser(self): type=str, help='Path to a directory containing .bin and/or .pt files, or a single .bin/.pt file. You may use subdirectories. (default is ROOTDIR/embeddings)' ) + render_group.add_argument( + '--lora_directory', + dest='lora_path', + default='loras', + type=str, + help='Path to a directory containing LoRA files; subdirectories are not supported. (default is ROOTDIR/loras)' + ) render_group.add_argument( '--embeddings', action=argparse.BooleanOptionalAction, diff --git a/ldm/invoke/config/invokeai_configure.py b/ldm/invoke/config/invokeai_configure.py index 3f11b058d23..ada81e8d4a0 100755 --- a/ldm/invoke/config/invokeai_configure.py +++ b/ldm/invoke/config/invokeai_configure.py @@ -655,6 +655,7 @@ def initialize_rootdir(root: str, yes_to_all: bool = False): "models", "configs", "embeddings", + "loras", "text-inversion-output", "text-inversion-training-data", ): diff --git a/ldm/invoke/globals.py b/ldm/invoke/globals.py index 779a3668304..e26b469416b 100644 --- a/ldm/invoke/globals.py +++ b/ldm/invoke/globals.py @@ -23,7 +23,7 @@ Globals.initfile = 'invokeai.init' Globals.models_file = 'models.yaml' Globals.models_dir = 'models' -Globals.lora_models_dir = 'lora' +Globals.lora_models_dir = 'loras' Globals.config_dir = 'configs' Globals.autoscan_dir = 'weights' Globals.converted_ckpts_dir = 'converted_ckpts' @@ -77,7 +77,9 @@ def global_models_dir()->Path: return Path(Globals.root, Globals.models_dir) def global_lora_models_dir()->Path: - return Path(Globals.root, Globals.lora_models_dir) + return Path(Globals.lora_models_dir) \ + if Path(Globals.lora_models_dir).is_absolute() \ + else Path(Globals.root, Globals.lora_models_dir) def global_autoscan_dir()->Path: return Path(Globals.root, Globals.autoscan_dir) diff --git a/ldm/modules/legacy_lora_manager.py b/ldm/modules/kohya_lora_manager.py similarity index 95% rename from ldm/modules/legacy_lora_manager.py rename to ldm/modules/kohya_lora_manager.py index 1ed29c7a6a9..12961fa4f78 100644 --- a/ldm/modules/legacy_lora_manager.py +++ b/ldm/modules/kohya_lora_manager.py @@ -277,7 +277,7 @@ def load_lora_layer(self, stem: str, leaf: str, value, wrapped: torch.nn.Module) return -class LegacyLoraManager: +class KohyaLoraManager: def __init__(self, pipe, lora_path): self.unet = pipe.unet self.lora_path = lora_path @@ -291,7 +291,7 @@ def load_lora_module(self, name, path_file, multiplier: float = 1.0): # can be used instead to load through diffusers, once enough support is added # lora = load_lora_attn(name, path_file, self.wrapper, multiplier) - print(f">> Loading lora {name} from {path_file}") + print(f" | Found lora {name} at {path_file}") if path_file.suffix == '.safetensors': checkpoint = load_file(path_file.absolute().as_posix(), device='cpu') else: @@ -306,18 +306,12 @@ def load_lora_module(self, name, path_file, multiplier: float = 1.0): def configure_prompt(self, prompt: str) -> str: self.clear_loras() - # lora_match = re.compile(r"]+)>") - lora_match = re.compile(r"withLoraLegacy\(([a-zA-Z\,\d]+)\)") - - for match in re.findall(lora_match, prompt): - # match = match.split(':') - match = match.split(',') - name = match[0].strip() - - mult = 1.0 - if len(match) == 2: - mult = float(match[1].strip()) + lora_match = re.compile(r"withLora\(([a-zA-Z_-]+),?\s*([\d.]+)?\)") + for match in lora_match.findall(prompt): + name, mult = match + name = name.strip() + mult = float(mult or '1.0') self.set_lora(name, mult) # remove lora and return prompt to avoid the lora prompt causing issues in inference @@ -326,14 +320,13 @@ def configure_prompt(self, prompt: str) -> str: def apply_lora_model(self, name, mult: float = 1.0): for suffix in ['ckpt','safetensors']: path_file = Path(self.lora_path, f'{name}.{suffix}') - print(f'DEBUG: looking for existence of {path_file}') if path_file.exists(): + print(f" | Loading lora {path_file.name} with weight {mult}") break if not path_file.exists(): - print(f">> Unable to find lora: {name}") + print(f" ** Unable to find lora: {name}") return - print(f'DEBUG: path_file = {path_file}') lora = self.wrapper.loaded_loras.get(name, None) if lora is None: lora = self.load_lora_module(name, path_file, mult) diff --git a/ldm/modules/lora_manager.py b/ldm/modules/lora_manager.py index b362620fb5a..647292e7210 100644 --- a/ldm/modules/lora_manager.py +++ b/ldm/modules/lora_manager.py @@ -1,7 +1,6 @@ from pathlib import Path from ldm.invoke.globals import global_lora_models_dir -from .legacy_lora_manager import LegacyLoraManager - +from .kohya_lora_manager import KohyaLoraManager class LoraCondition: name: str @@ -13,7 +12,6 @@ def __init__(self, name, weight: float = 1.0): def __call__(self, model): path = Path(global_lora_models_dir(), self.name) - print(f'DEBUG: path = {path}') # TODO: make model able to load from huggingface, rather then just local files if path.is_dir(): @@ -32,8 +30,8 @@ def __call__(self, model): class LoraManager: def __init__(self, pipe): - # Legacy class handles lora not generated through diffusers - self.legacy = LegacyLoraManager(pipe, global_lora_models_dir()) + # Kohya class handles lora not generated through diffusers + self.kohya = KohyaLoraManager(pipe, global_lora_models_dir()) @staticmethod def set_loras_conditions(lora_weights: list): @@ -47,10 +45,10 @@ def set_loras_conditions(lora_weights: list): return None - # Legacy functions, to pipe to LoraLegacyManager + # Kohya functions, to pipe to LoraKohyaManager # To be removed once support for diffusers LoRA weights is high enough - def configure_prompt_legacy(self, prompt: str) -> str: - return self.legacy.configure_prompt(prompt) + def configure_prompt_kohya(self, prompt: str) -> str: + return self.kohya.configure_prompt(prompt) - def load_lora_legacy(self): - self.legacy.load_lora() + def load_lora_kohya(self): + self.kohya.load_lora() diff --git a/ldm/modules/peft_manager.py b/ldm/modules/peft_manager.py index 939a4a78992..4b67c069c5a 100644 --- a/ldm/modules/peft_manager.py +++ b/ldm/modules/peft_manager.py @@ -4,7 +4,6 @@ from pathlib import Path from ldm.invoke.globals import global_lora_models_dir - class LoraPeftModule: def __init__(self, lora_dir, multiplier: float = 1.0): self.lora_dir = lora_dir From 74ff73ffc8365297591225eb09326168cc720d8a Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Fri, 31 Mar 2023 01:51:45 -0400 Subject: [PATCH 40/89] default --ckpt_convert to true --- ldm/invoke/CLI.py | 1 + ldm/invoke/args.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ldm/invoke/CLI.py b/ldm/invoke/CLI.py index 0ca10ff13b3..e9c3a2681d7 100644 --- a/ldm/invoke/CLI.py +++ b/ldm/invoke/CLI.py @@ -65,6 +65,7 @@ def main(): Globals.disable_xformers = not args.xformers Globals.sequential_guidance = args.sequential_guidance Globals.ckpt_convert = args.ckpt_convert + print(f'DEBUG: ckpt_convert = {args.ckpt_convert}') # run any post-install patches needed run_patches() diff --git a/ldm/invoke/args.py b/ldm/invoke/args.py index 76592737ca0..c7785d92777 100644 --- a/ldm/invoke/args.py +++ b/ldm/invoke/args.py @@ -522,7 +522,7 @@ def _create_arg_parser(self): '--ckpt_convert', action=argparse.BooleanOptionalAction, dest='ckpt_convert', - default=False, + default=True, help='Load legacy ckpt files as diffusers. Pass --no-ckpt-convert to inhibit this behavior', ) model_group.add_argument( From 8554f81e57e6342435870ec3ad69d5fe9bf2d790 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Fri, 31 Mar 2023 23:53:47 +1300 Subject: [PATCH 41/89] feat(ui): Add Lora To WebUI --- invokeai/backend/invoke_ai_web_server.py | 24 +++++- invokeai/frontend/public/locales/en.json | 1 + invokeai/frontend/src/app/invokeai.d.ts | 7 ++ invokeai/frontend/src/app/socketio/actions.ts | 2 + .../frontend/src/app/socketio/emitters.ts | 3 + .../frontend/src/app/socketio/listeners.ts | 4 + .../frontend/src/app/socketio/middleware.ts | 11 +++ .../src/common/components/IAISimpleMenu.tsx | 7 +- .../components/LoraManager/LoraManager.tsx | 82 +++++++++++++++++++ .../src/features/system/store/systemSlice.ts | 9 ++ .../TextToImage/TextToImagePanel.tsx | 2 + 11 files changed, 148 insertions(+), 4 deletions(-) create mode 100644 invokeai/frontend/src/features/parameters/components/LoraManager/LoraManager.tsx diff --git a/invokeai/backend/invoke_ai_web_server.py b/invokeai/backend/invoke_ai_web_server.py index 8ee93c68f47..041c568ce1f 100644 --- a/invokeai/backend/invoke_ai_web_server.py +++ b/invokeai/backend/invoke_ai_web_server.py @@ -29,10 +29,9 @@ get_tokenizer from ldm.invoke.generator.diffusers_pipeline import PipelineIntermediateState from ldm.invoke.generator.inpaint import infill_methods -from ldm.invoke.globals import Globals, global_converted_ckpts_dir +from ldm.invoke.globals import Globals, global_converted_ckpts_dir, global_models_dir, global_lora_models_dir from ldm.invoke.pngwriter import PngWriter, retrieve_metadata from compel.prompt_parser import Blend -from ldm.invoke.globals import global_models_dir from ldm.invoke.merge_diffusers import merge_diffusion_models # Loading Arguments @@ -486,6 +485,27 @@ def merge_diffusers_models(model_merge_info: dict): except Exception as e: self.handle_exceptions(e) + @socketio.on('getLoraModels') + def get_lora_models(): + try: + lora_path = global_lora_models_dir() + lora_folder_ckpt = Path(lora_path).glob("**/*.ckpt") + lora_folder_safetensors = Path(lora_path).glob("**/*.safetensors") + + ckpt_loras = [x for x in lora_folder_ckpt if x.is_file()] + safetensors_loras = [x for x in lora_folder_safetensors if x.is_file()] + + loras = ckpt_loras + safetensors_loras + + found_loras = [] + for lora in loras: + location = str(lora.resolve()).replace("\\", "/") + found_loras.append({"name": lora.stem, "location": location}) + + socketio.emit('foundLoras', found_loras) + except Exception as e: + self.handle_exceptions(e) + @socketio.on("requestEmptyTempFolder") def empty_temp_folder(): try: diff --git a/invokeai/frontend/public/locales/en.json b/invokeai/frontend/public/locales/en.json index 0e8b37ebf4f..2cfb11bb572 100644 --- a/invokeai/frontend/public/locales/en.json +++ b/invokeai/frontend/public/locales/en.json @@ -327,6 +327,7 @@ "addModel": "Add Model", "updateModel": "Update Model", "availableModels": "Available Models", + "addLora": "Add Lora", "search": "Search", "load": "Load", "active": "active", diff --git a/invokeai/frontend/src/app/invokeai.d.ts b/invokeai/frontend/src/app/invokeai.d.ts index e01e414d039..078a5eb2885 100644 --- a/invokeai/frontend/src/app/invokeai.d.ts +++ b/invokeai/frontend/src/app/invokeai.d.ts @@ -271,6 +271,13 @@ export declare type FoundModelResponse = { found_models: FoundModel[]; }; +export declare type FoundLora = { + name: string; + location: string; +}; + +export declare type FoundLorasRsponse = FoundLora[]; + export declare type SystemStatusResponse = SystemStatus; export declare type SystemConfigResponse = SystemConfig; diff --git a/invokeai/frontend/src/app/socketio/actions.ts b/invokeai/frontend/src/app/socketio/actions.ts index 57758d1914e..3e097744027 100644 --- a/invokeai/frontend/src/app/socketio/actions.ts +++ b/invokeai/frontend/src/app/socketio/actions.ts @@ -52,6 +52,8 @@ export const requestModelChange = createAction( 'socketio/requestModelChange' ); +export const getLoraModels = createAction('socketio/getLoraModels'); + export const saveStagingAreaImageToGallery = createAction( 'socketio/saveStagingAreaImageToGallery' ); diff --git a/invokeai/frontend/src/app/socketio/emitters.ts b/invokeai/frontend/src/app/socketio/emitters.ts index 2aa1e035522..6539bfd90c7 100644 --- a/invokeai/frontend/src/app/socketio/emitters.ts +++ b/invokeai/frontend/src/app/socketio/emitters.ts @@ -196,6 +196,9 @@ const makeSocketIOEmitters = ( dispatch(modelChangeRequested()); socketio.emit('requestModelChange', modelName); }, + emitGetLoraModels: () => { + socketio.emit('getLoraModels'); + }, emitSaveStagingAreaImageToGallery: (url: string) => { socketio.emit('requestSaveStagingAreaImageToGallery', url); }, diff --git a/invokeai/frontend/src/app/socketio/listeners.ts b/invokeai/frontend/src/app/socketio/listeners.ts index 08de6712600..8834abc6fac 100644 --- a/invokeai/frontend/src/app/socketio/listeners.ts +++ b/invokeai/frontend/src/app/socketio/listeners.ts @@ -11,6 +11,7 @@ import { errorOccurred, processingCanceled, setCurrentStatus, + setFoundLoras, setFoundModels, setIsCancelable, setIsConnected, @@ -482,6 +483,9 @@ const makeSocketIOListeners = ( }) ); }, + onFoundLoras: (data: InvokeAI.FoundLorasRsponse) => { + dispatch(setFoundLoras(data)); + }, onTempFolderEmptied: () => { dispatch( addToast({ diff --git a/invokeai/frontend/src/app/socketio/middleware.ts b/invokeai/frontend/src/app/socketio/middleware.ts index a28e4edc80f..ee4e355fcb5 100644 --- a/invokeai/frontend/src/app/socketio/middleware.ts +++ b/invokeai/frontend/src/app/socketio/middleware.ts @@ -51,6 +51,7 @@ export const socketioMiddleware = () => { onModelConverted, onModelsMerged, onModelChangeFailed, + onFoundLoras, onTempFolderEmptied, } = makeSocketIOListeners(store); @@ -69,6 +70,7 @@ export const socketioMiddleware = () => { emitConvertToDiffusers, emitMergeDiffusersModels, emitRequestModelChange, + emitGetLoraModels, emitSaveStagingAreaImageToGallery, emitRequestEmptyTempFolder, } = makeSocketIOEmitters(store, socketio); @@ -145,6 +147,10 @@ export const socketioMiddleware = () => { onModelChangeFailed(data); }); + socketio.on('foundLoras', (data: InvokeAI.FoundLorasRsponse) => { + onFoundLoras(data); + }); + socketio.on('tempFolderEmptied', () => { onTempFolderEmptied(); }); @@ -226,6 +232,11 @@ export const socketioMiddleware = () => { break; } + case 'socketio/getLoraModels': { + emitGetLoraModels(); + break; + } + case 'socketio/saveStagingAreaImageToGallery': { emitSaveStagingAreaImageToGallery(action.payload); break; diff --git a/invokeai/frontend/src/common/components/IAISimpleMenu.tsx b/invokeai/frontend/src/common/components/IAISimpleMenu.tsx index c9eb07d2d30..a1157dc3a8b 100644 --- a/invokeai/frontend/src/common/components/IAISimpleMenu.tsx +++ b/invokeai/frontend/src/common/components/IAISimpleMenu.tsx @@ -7,13 +7,14 @@ import { MenuButtonProps, MenuListProps, MenuItemProps, + Text, } from '@chakra-ui/react'; import { MouseEventHandler, ReactNode } from 'react'; import { MdArrowDropDown, MdArrowDropUp } from 'react-icons/md'; import IAIButton from './IAIButton'; import IAIIconButton from './IAIIconButton'; -interface IAIMenuItem { +export interface IAIMenuItem { item: ReactNode | string; onClick: MouseEventHandler | undefined; } @@ -82,7 +83,9 @@ export default function IAISimpleMenu(props: IAIMenuProps) { fontSize="1.5rem" {...menuButtonProps} > - {menuType === 'regular' && buttonText} + {menuType === 'regular' && ( + {buttonText} + )} state.generation.prompt); + const foundLoras = useAppSelector((state) => state.system.foundLoras); + const [loraItems, setLoraItems] = useState([ + { item: '', onClick: undefined }, + ]); + const { t } = useTranslation(); + + const loraExists = useCallback( + (lora: string) => { + const lora_regex = new RegExp(`withLora\\(${lora},?\\s*([\\d.]+)?\\)`); + if (prompt.match(lora_regex)) return true; + return false; + }, + [prompt] + ); + + const handleLora = useCallback( + (lora: string) => { + if (loraExists(lora)) { + const lora_regex = new RegExp(`withLora\\(${lora},?\\s*([\\d.]+)?\\)`); + const newPrompt = prompt.replace(lora_regex, ''); + dispatch(setPrompt(newPrompt)); + } else { + dispatch(setPrompt(`${prompt} withLora(${lora},1)`)); + } + }, + [dispatch, loraExists, prompt] + ); + + useEffect(() => { + dispatch(getLoraModels()); + }, [dispatch]); + + const renderLoraOption = useCallback( + (lora: string) => { + const thisloraExists = loraExists(lora); + const loraExistsStyle = { + fontWeight: 'bold', + color: 'var(--context-menu-active-item)', + }; + return {lora}; + }, + [loraExists] + ); + + useEffect(() => { + if (foundLoras) { + const lorasFound: IAIMenuItem[] = []; + foundLoras.forEach((lora) => { + if (lora.name !== ' ') { + const newLoraItem: IAIMenuItem = { + item: renderLoraOption(lora.name), + onClick: () => handleLora(lora.name), + }; + lorasFound.push(newLoraItem); + } + }); + setLoraItems(lorasFound); + } + }, [foundLoras, loraItems, dispatch, prompt, handleLora, renderLoraOption]); + + return ( + foundLoras && + foundLoras?.length > 0 && ( + + ) + ); +} diff --git a/invokeai/frontend/src/features/system/store/systemSlice.ts b/invokeai/frontend/src/features/system/store/systemSlice.ts index 3293869d588..c0d187153f9 100644 --- a/invokeai/frontend/src/features/system/store/systemSlice.ts +++ b/invokeai/frontend/src/features/system/store/systemSlice.ts @@ -51,6 +51,7 @@ export interface SystemState toastQueue: UseToastOptions[]; searchFolder: string | null; foundModels: InvokeAI.FoundModel[] | null; + foundLoras: InvokeAI.FoundLora[] | null; openModel: string | null; cancelOptions: { cancelType: CancelType; @@ -93,6 +94,7 @@ const initialSystemState: SystemState = { toastQueue: [], searchFolder: null, foundModels: null, + foundLoras: null, openModel: null, cancelOptions: { cancelType: 'immediate', @@ -262,6 +264,12 @@ export const systemSlice = createSlice({ ) => { state.foundModels = action.payload; }, + setFoundLoras: ( + state, + action: PayloadAction + ) => { + state.foundLoras = action.payload; + }, setOpenModel: (state, action: PayloadAction) => { state.openModel = action.payload; }, @@ -303,6 +311,7 @@ export const { setProcessingIndeterminateTask, setSearchFolder, setFoundModels, + setFoundLoras, setOpenModel, setCancelType, setCancelAfter, diff --git a/invokeai/frontend/src/features/ui/components/TextToImage/TextToImagePanel.tsx b/invokeai/frontend/src/features/ui/components/TextToImage/TextToImagePanel.tsx index ee9f7ace3f9..6b2aed89b6f 100644 --- a/invokeai/frontend/src/features/ui/components/TextToImage/TextToImagePanel.tsx +++ b/invokeai/frontend/src/features/ui/components/TextToImage/TextToImagePanel.tsx @@ -10,6 +10,7 @@ import UpscaleSettings from 'features/parameters/components/AdvancedParameters/U import UpscaleToggle from 'features/parameters/components/AdvancedParameters/Upscale/UpscaleToggle'; import GenerateVariationsToggle from 'features/parameters/components/AdvancedParameters/Variations/GenerateVariations'; import VariationsSettings from 'features/parameters/components/AdvancedParameters/Variations/VariationsSettings'; +import LoraManager from 'features/parameters/components/LoraManager/LoraManager'; import MainSettings from 'features/parameters/components/MainParameters/MainParameters'; import ParametersAccordion from 'features/parameters/components/ParametersAccordion'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; @@ -62,6 +63,7 @@ export default function TextToImagePanel() { + From b598b844e4887606df654767161750fe22789e78 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Fri, 31 Mar 2023 23:58:06 +1300 Subject: [PATCH 42/89] fix(ui): Missing Colors husky was causing issues --- invokeai/frontend/src/styles/Themes/_Colors_Dark.scss | 2 +- invokeai/frontend/src/styles/Themes/_Colors_Green.scss | 1 + invokeai/frontend/src/styles/Themes/_Colors_Light.scss | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/invokeai/frontend/src/styles/Themes/_Colors_Dark.scss b/invokeai/frontend/src/styles/Themes/_Colors_Dark.scss index 13c8a507c13..a70925f285b 100644 --- a/invokeai/frontend/src/styles/Themes/_Colors_Dark.scss +++ b/invokeai/frontend/src/styles/Themes/_Colors_Dark.scss @@ -8,7 +8,6 @@ --accent-color-bright: rgb(104, 60, 230); --accent-color-hover: var(--accent-color-bright); - // App Colors --root-bg-color: rgb(10, 10, 10); --background-color: rgb(26, 26, 32); --background-color-light: rgb(40, 44, 48); @@ -119,6 +118,7 @@ --context-menu-bg-color: rgb(46, 48, 58); --context-menu-box-shadow: none; --context-menu-bg-color-hover: rgb(30, 32, 42); + --context-menu-active-item: var(--accent-color-bright); // Shadows --floating-button-drop-shadow-color: var(--accent-color); diff --git a/invokeai/frontend/src/styles/Themes/_Colors_Green.scss b/invokeai/frontend/src/styles/Themes/_Colors_Green.scss index 40d9b1b753e..b06f7b18951 100644 --- a/invokeai/frontend/src/styles/Themes/_Colors_Green.scss +++ b/invokeai/frontend/src/styles/Themes/_Colors_Green.scss @@ -117,6 +117,7 @@ --context-menu-bg-color: rgb(46, 48, 58); --context-menu-box-shadow: none; --context-menu-bg-color-hover: rgb(30, 32, 42); + --context-menu-active-item: var(--accent-color-bright); // Shadows --floating-button-drop-shadow-color: var(--accent-color); diff --git a/invokeai/frontend/src/styles/Themes/_Colors_Light.scss b/invokeai/frontend/src/styles/Themes/_Colors_Light.scss index 4c4f93dfbf1..bba7ed54780 100644 --- a/invokeai/frontend/src/styles/Themes/_Colors_Light.scss +++ b/invokeai/frontend/src/styles/Themes/_Colors_Light.scss @@ -114,6 +114,7 @@ --context-menu-box-shadow: 0px 10px 38px -10px rgba(22, 23, 24, 0.35), 0px 10px 20px -15px rgba(22, 23, 24, 0.2); --context-menu-bg-color-hover: var(--background-color-secondary); + --context-menu-active-item: rgb(0, 0, 0); // Shadows --floating-button-drop-shadow-color: rgba(0, 0, 0, 0.7); From 10400761f00a40d2dc55af98e9673703a655de75 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 1 Apr 2023 00:01:01 +1300 Subject: [PATCH 43/89] build(ui): Add Lora to WebUI --- .../frontend/dist/assets/index-14cb2922.css | 1 - .../frontend/dist/assets/index-2ab0eb58.css | 1 + .../frontend/dist/assets/index-b43b7aa8.js | 624 ++++++++++++++++++ .../frontend/dist/assets/index-c09cf9ca.js | 624 ------------------ invokeai/frontend/dist/index.html | 4 +- invokeai/frontend/dist/locales/en.json | 1 + invokeai/frontend/stats.html | 2 +- 7 files changed, 629 insertions(+), 628 deletions(-) delete mode 100644 invokeai/frontend/dist/assets/index-14cb2922.css create mode 100644 invokeai/frontend/dist/assets/index-2ab0eb58.css create mode 100644 invokeai/frontend/dist/assets/index-b43b7aa8.js delete mode 100644 invokeai/frontend/dist/assets/index-c09cf9ca.js diff --git a/invokeai/frontend/dist/assets/index-14cb2922.css b/invokeai/frontend/dist/assets/index-14cb2922.css deleted file mode 100644 index 91b7cafe092..00000000000 --- a/invokeai/frontend/dist/assets/index-14cb2922.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Inter;src:url(./Inter-b9a8e5e2.ttf);font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:Inter;src:url(./Inter-Bold-790c108b.ttf);font-display:swap;font-weight:600;font-style:normal}@keyframes slideOut{0%{transform:translate(10rem)}to{transform:translate(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}*{scrollbar-width:thick;scrollbar-color:var(--scrollbar-color) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--scrollbar-color);border-radius:8px;border:2px solid var(--scrollbar-color)}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color-hover);border:2px solid var(--scrollbar-color-hover)}::-webkit-scrollbar-button{background:transparent}[data-theme=dark]{--white: rgb(255, 255, 255);--accent-color-dim: rgb(57, 25, 153);--accent-color: rgb(80, 40, 200);--accent-color-bright: rgb(104, 60, 230);--accent-color-hover: var(--accent-color-bright);--root-bg-color: rgb(10, 10, 10);--background-color: rgb(26, 26, 32);--background-color-light: rgb(40, 44, 48);--background-color-secondary: rgb(16, 16, 22);--text-color: rgb(255, 255, 255);--text-color-secondary: rgb(160, 162, 188);--subtext-color: rgb(24, 24, 34);--subtext-color-bright: rgb(48, 48, 64);--border-color: rgb(30, 30, 46);--border-color-light: rgb(60, 60, 76);--svg-color: rgb(255, 255, 255);--invalid: rgb(255, 75, 75);--invalid-secondary: rgb(120, 5, 5);--destructive-color: rgb(185, 55, 55);--destructive-color-hover: rgb(255, 75, 75);--warning-color: rgb(200, 88, 40);--warning-color-hover: rgb(230, 117, 60);--border-color-invalid: rgb(255, 80, 50);--box-shadow-color-invalid: rgb(210, 30, 10);--tab-color: rgb(30, 32, 42);--tab-hover-color: rgb(46, 48, 58);--tab-panel-bg: rgb(36, 38, 48);--tab-list-bg: var(--accent-color);--tab-list-text: rgb(202, 204, 216);--tab-list-text-inactive: rgb(92, 94, 114);--btn-base-color: rgb(30, 32, 42);--btn-base-color-hover: rgb(46, 48, 68);--btn-load-more: rgb(30, 32, 42);--btn-load-more-hover: rgb(54, 56, 66);--btn-svg-color: rgb(255, 255, 255);--btn-delete-image: rgb(182, 46, 46);--btn-checkbox-border-hover: rgb(46, 48, 68);--progress-bar-color: var(--accent-color);--prompt-bg-color: rgb(10, 10, 10);--switch-bg-color: rgb(100, 102, 110);--switch-bg-active-color: var(--accent-color);--slider-color: var(--accent-color-bright);--slider-color: rgb(151, 113, 255);--slider-mark-color: rgb(151, 113, 255);--resizeable-handle-border-color: var(--accent-color);--metadata-bg-color: rgba(0, 0, 0, .7);--metadata-json-bg-color: rgba(255, 255, 255, .1);--status-good-color: rgb(125, 255, 100);--status-good-glow: rgb(40, 215, 40);--status-working-color: rgb(255, 175, 55);--status-working-glow: rgb(255, 160, 55);--status-bad-color: rgb(255, 90, 90);--status-bad-glow: rgb(255, 40, 40);--notice-color: rgb(130, 71, 19);--settings-modal-bg: rgb(30, 32, 42);--input-checkbox-bg: rgb(60, 64, 68);--input-checkbox-checked-bg: var(--accent-color);--input-checkbox-checked-tick: rgb(0, 0, 0);--input-border-color: var(--accent-color-bright);--input-box-shadow-color: var(--accent-color);--error-level-info: rgb(200, 202, 224);--error-level-warning: rgb(255, 225, 105);--error-level-error: rgb(255, 81, 46);--console-bg-color: rgb(30, 30, 36);--console-icon-button-bg-color: rgb(50, 53, 64);--console-icon-button-bg-color-hover: rgb(70, 73, 84);--img2img-img-bg-color: rgb(30, 32, 42);--context-menu-bg-color: rgb(46, 48, 58);--context-menu-box-shadow: none;--context-menu-bg-color-hover: rgb(30, 32, 42);--floating-button-drop-shadow-color: var(--accent-color);--inpainting-alerts-bg: rgba(20, 20, 26, .75);--inpainting-alerts-icon-color: rgb(255, 255, 255);--inpainting-alerts-bg-active: var(--accent-color);--inpainting-alerts-icon-active: rgb(255, 255, 255);--inpainting-alerts-bg-alert: var(--invalid);--inpainting-alerts-icon-alert: rgb(255, 255, 255);--checkboard-dots-color: rgb(35, 35, 39);--scrollbar-color: var(--accent-color);--scrollbar-color-hover: var(--accent-color-bright);--subhook-color: var(--accent-color)}[data-theme=light]{--white: rgb(255, 255, 255);--accent-color-dim: rgb(186, 146, 0);--accent-color: rgb(235, 185, 5);--accent-color-bright: rgb(255, 200, 0);--accent-color-hover: var(--accent-color-bright);--root-bg-color: rgb(255, 255, 255);--background-color: rgb(220, 222, 224);--background-color-light: rgb(250, 252, 254);--background-color-secondary: rgb(208, 210, 212);--text-color: rgb(0, 0, 0);--text-color-secondary: rgb(40, 40, 40);--subtext-color: rgb(24, 24, 34);--subtext-color-bright: rgb(142, 144, 146);--border-color: rgb(200, 200, 200);--border-color-light: rgb(147, 147, 147);--svg-color: rgb(50, 50, 50);--invalid: rgb(255, 75, 75);--invalid-secondary: rgb(120, 5, 5);--destructive-color: rgb(237, 51, 51);--destructive-color-hover: rgb(255, 55, 55);--warning-color: rgb(224, 142, 42);--warning-color-hover: rgb(255, 167, 60);--border-color-invalid: rgb(255, 80, 50);--box-shadow-color-invalid: none;--tab-color: rgb(202, 204, 206);--tab-hover-color: rgb(196, 198, 200);--tab-panel-bg: rgb(206, 208, 210);--tab-list-bg: rgb(235, 185, 5);--tab-list-text: rgb(0, 0, 0);--tab-list-text-inactive: rgb(106, 108, 110);--btn-base-color: rgb(184, 186, 188);--btn-base-color-hover: rgb(230, 232, 234);--btn-load-more: rgb(202, 204, 206);--btn-load-more-hover: rgb(178, 180, 182);--btn-svg-color: rgb(0, 0, 0);--btn-delete-image: rgb(213, 49, 49);--btn-checkbox-border-hover: rgb(176, 178, 182);--progress-bar-color: rgb(235, 185, 5);--prompt-bg-color: rgb(225, 227, 229);--switch-bg-color: rgb(178, 180, 182);--switch-bg-active-color: rgb(235, 185, 5);--slider-color: var(--accent-color);--slider-mark-color: rgb(0, 0, 0);--resizeable-handle-border-color: rgb(160, 162, 164);--metadata-bg-color: rgba(230, 230, 230, .9);--metadata-json-bg-color: rgba(0, 0, 0, .1);--status-good-color: rgb(21, 126, 0);--status-good-glow: var(--background-color);--status-working-color: rgb(235, 141, 0);--status-working-glow: var(--background-color);--status-bad-color: rgb(202, 0, 0);--status-bad-glow: var(--background-color);--notice-color: rgb(255, 71, 90);--settings-modal-bg: rgb(202, 204, 206);--input-checkbox-bg: rgb(167, 167, 171);--input-checkbox-checked-bg: rgb(235, 185, 5);--input-checkbox-checked-tick: rgb(0, 0, 0);--input-border-color: rgb(0, 0, 0);--input-box-shadow-color: none;--error-level-info: rgb(42, 42, 42);--error-level-warning: rgb(173, 121, 0);--error-level-error: rgb(145, 14, 0);--console-bg-color: rgb(220, 224, 230);--console-icon-button-bg-color: var(--switch-bg-color);--console-icon-button-bg-color-hover: var(--resizeable-handle-border-color);--img2img-img-bg-color: rgb(180, 182, 184);--context-menu-bg-color: var(--background-color);--context-menu-box-shadow: 0px 10px 38px -10px rgba(22, 23, 24, .35), 0px 10px 20px -15px rgba(22, 23, 24, .2);--context-menu-bg-color-hover: var(--background-color-secondary);--floating-button-drop-shadow-color: rgba(0, 0, 0, .7);--inpainting-alerts-bg: rgba(220, 222, 224, .75);--inpainting-alerts-icon-color: rgb(0, 0, 0);--inpainting-alerts-bg-active: rgb(255, 200, 0);--inpainting-alerts-icon-active: rgb(0, 0, 0);--inpainting-alerts-bg-alert: var(--invalid);--inpainting-alerts-icon-alert: rgb(0, 0, 0);--checkboard-dots-color: rgb(160, 160, 172);--scrollbar-color: rgb(180, 180, 184);--scrollbar-color-hover: rgb(150, 150, 154);--subhook-color: rgb(0, 0, 0)}[data-theme=green]{--white: rgb(255, 255, 255);--accent-color-dim: rgb(10, 60, 40);--accent-color: rgb(20, 110, 70);--accent-color-bright: rgb(30, 180, 100);--accent-color-hover: var(--accent-color-bright);--root-bg-color: rgb(10, 10, 14);--background-color: rgb(30, 32, 37);--background-color-light: rgb(40, 44, 48);--background-color-secondary: rgb(22, 24, 28);--text-color: rgb(255, 255, 255);--text-color-secondary: rgb(160, 164, 168);--subtext-color: rgb(24, 24, 28);--subtext-color-bright: rgb(68, 72, 76);--border-color: rgb(40, 44, 48);--border-color-light: rgb(60, 60, 64);--svg-color: rgb(220, 224, 228);--invalid: rgb(255, 75, 75);--invalid-secondary: rgb(120, 5, 5);--destructive-color: rgb(185, 55, 55);--destructive-color-hover: rgb(255, 75, 75);--warning-color: rgb(200, 88, 40);--warning-color-hover: rgb(230, 117, 60);--border-color-invalid: rgb(255, 80, 50);--box-shadow-color-invalid: rgb(210, 30, 10);--tab-color: rgb(40, 44, 48);--tab-hover-color: rgb(48, 52, 56);--tab-panel-bg: rgb(36, 40, 44);--tab-list-bg: var(--accent-color);--tab-list-text: rgb(202, 204, 206);--tab-list-text-inactive: rgb(92, 94, 96);--btn-base-color: rgb(40, 44, 48);--btn-base-color-hover: rgb(56, 60, 64);--btn-load-more: rgb(30, 32, 42);--btn-load-more-hover: rgb(54, 56, 66);--btn-svg-color: rgb(255, 255, 255);--btn-delete-image: rgb(182, 46, 46);--btn-checkbox-border-hover: rgb(46, 48, 68);--progress-bar-color: var(--accent-color);--prompt-bg-color: rgb(10, 10, 14);--switch-bg-color: rgb(100, 102, 110);--switch-bg-active-color: var(--accent-color);--slider-color: var(--accent-color-bright);--slider-mark-color: var(--accent-color-bright);--resizeable-handle-border-color: var(--accent-color);--metadata-bg-color: rgba(0, 0, 0, .7);--metadata-json-bg-color: rgba(255, 255, 255, .1);--status-good-color: rgb(125, 255, 100);--status-good-glow: rgb(40, 215, 40);--status-working-color: rgb(255, 175, 55);--status-working-glow: rgb(255, 160, 55);--status-bad-color: rgb(255, 90, 90);--status-bad-glow: rgb(255, 40, 40);--notice-color: rgb(130, 71, 19);--settings-modal-bg: rgb(30, 32, 42);--input-checkbox-bg: rgb(60, 64, 68);--input-checkbox-checked-bg: var(--accent-color);--input-checkbox-checked-tick: rgb(0, 0, 0);--input-border-color: var(--accent-color-bright);--input-box-shadow-color: var(--accent-color);--error-level-info: rgb(200, 202, 224);--error-level-warning: rgb(255, 225, 105);--error-level-error: rgb(255, 81, 46);--console-bg-color: rgb(30, 30, 36);--console-icon-button-bg-color: rgb(50, 53, 64);--console-icon-button-bg-color-hover: rgb(70, 73, 84);--img2img-img-bg-color: rgb(30, 32, 42);--context-menu-bg-color: rgb(46, 48, 58);--context-menu-box-shadow: none;--context-menu-bg-color-hover: rgb(30, 32, 42);--floating-button-drop-shadow-color: var(--accent-color);--inpainting-alerts-bg: rgba(20, 20, 26, .75);--inpainting-alerts-icon-color: rgb(255, 255, 255);--inpainting-alerts-bg-active: var(--accent-color);--inpainting-alerts-icon-active: rgb(255, 255, 255);--inpainting-alerts-bg-alert: var(--invalid);--inpainting-alerts-icon-alert: rgb(255, 255, 255);--checkboard-dots-color: rgb(35, 35, 39);--scrollbar-color: var(--accent-color);--scrollbar-color-hover: var(--accent-color-bright);--subhook-color: var(--accent-color)}@media (max-width: 600px){#root .app-content{padding:5px}#root .app-content .site-header{position:fixed;display:flex;height:100px;z-index:1}#root .app-content .site-header .site-header-left-side{position:absolute;display:flex;min-width:145px;float:left;padding-left:0}#root .app-content .site-header .site-header-right-side{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;grid-template-rows:25px 25px 25px;grid-template-areas:"logoSpace logoSpace logoSpace sampler sampler sampler" "status status status status status status" "btn1 btn2 btn3 btn4 btn5 btn6";row-gap:15px}#root .app-content .site-header .site-header-right-side .chakra-popover__popper{grid-area:logoSpace}#root .app-content .site-header .site-header-right-side>:nth-child(1).chakra-text{grid-area:status;width:100%;display:flex;justify-content:center}#root .app-content .site-header .site-header-right-side>:nth-child(2){grid-area:sampler;display:flex;justify-content:center;align-items:center}#root .app-content .site-header .site-header-right-side>:nth-child(2) select{width:185px;margin-top:10px}#root .app-content .site-header .site-header-right-side>:nth-child(2) .chakra-select__icon-wrapper{right:10px}#root .app-content .site-header .site-header-right-side>:nth-child(2) .chakra-select__icon-wrapper svg{margin-top:10px}#root .app-content .site-header .site-header-right-side>:nth-child(3){grid-area:btn1}#root .app-content .site-header .site-header-right-side>:nth-child(4){grid-area:btn2}#root .app-content .site-header .site-header-right-side>:nth-child(6){grid-area:btn3}#root .app-content .site-header .site-header-right-side>:nth-child(7){grid-area:btn4}#root .app-content .site-header .site-header-right-side>:nth-child(8){grid-area:btn5}#root .app-content .site-header .site-header-right-side>:nth-child(9){grid-area:btn6}#root .app-content .app-tabs{position:fixed;display:flex;flex-direction:column;row-gap:15px;max-width:100%;overflow:hidden;margin-top:120px}#root .app-content .app-tabs .app-tabs-list{display:flex;justify-content:space-between}#root .app-content .app-tabs .app-tabs-panels{overflow:hidden;overflow-y:scroll}#root .app-content .app-tabs .app-tabs-panels .workarea-main{display:grid;grid-template-areas:"workarea" "options" "gallery";row-gap:15px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .parameters-panel-wrapper{grid-area:options;width:100%;max-width:100%;height:inherit;overflow:inherit;padding:0 10px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .parameters-panel-wrapper .main-settings-row,#root .app-content .app-tabs .app-tabs-panels .workarea-main .parameters-panel-wrapper .advanced-parameters-item{max-width:100%}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper{grid-area:workarea}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .workarea-split-view{display:flex;flex-direction:column}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .current-image-options{column-gap:3px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .text-to-image-area{padding:0}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .current-image-preview{height:430px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .image-upload-button{row-gap:10px;padding:5px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .image-upload-button svg{width:2rem;height:2rem;margin-top:10px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .inpainting-settings{display:flex;flex-wrap:wrap;row-gap:10px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .inpainting-canvas-area .konvajs-content{height:400px!important}#root .app-content .app-tabs .app-tabs-panels .workarea-main .image-gallery-wrapper{grid-area:gallery;min-height:400px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .image-gallery-wrapper .image-gallery-popup{width:100%!important;max-width:100%!important}}svg{fill:var(--svg-color)}.App{display:grid;width:100vw;height:100vh;background-color:var(--background-color)}.app-content{display:grid;row-gap:1rem;padding:1rem;grid-auto-rows:min-content auto;width:calc(100vw + -0px);height:calc(100vh - .3rem)}.site-header{display:grid;grid-template-columns:auto max-content}.site-header-left-side{display:flex;align-items:center;column-gap:.7rem;padding-left:.5rem}.site-header-left-side img{width:32px;height:32px}.site-header-right-side{display:flex;align-items:center;column-gap:.5rem}.site-header-right-side .lang-select-btn[data-selected=true],.site-header-right-side .lang-select-btn[data-selected=true]:hover{background-color:var(--accent-color)}.status{font-size:.8rem;font-weight:700}.status-good{color:var(--status-good-color);text-shadow:0 0 10px var(--status-good-glow)}.status-bad{color:var(--status-bad-color);text-shadow:0 0 10px var(--status-bad-glow)}.status-working{color:var(--status-working-color);text-shadow:0 0 10px var(--status-working-glow)}.settings-modal{max-height:36rem;font-family:Inter}.settings-modal .settings-modal-content{display:grid;row-gap:2rem;overflow-y:scroll}.settings-modal .settings-modal-header{font-weight:700}.settings-modal .settings-modal-items{display:grid;row-gap:.5rem}.settings-modal .settings-modal-items .settings-modal-item{display:grid;grid-auto-flow:column;background-color:var(--background-color);padding:.4rem 1rem;border-radius:.5rem;align-items:center;width:100%}.settings-modal .settings-modal-reset{display:grid;row-gap:1rem}.settings-modal .settings-modal-reset button{min-width:100%;min-height:100%;background-color:var(--destructive-color)!important}.settings-modal .settings-modal-reset button:hover{background-color:var(--destructive-color-hover)}.settings-modal .settings-modal-reset button:disabled{background-color:var(--btn-base-color)}.settings-modal .settings-modal-reset button:disabled:hover{background-color:var(--btn-base-color)}.settings-modal .settings-modal-reset button svg{width:20px;height:20px;color:var(--btn-svg-color)}.add-model-modal{display:flex}.add-model-modal-body{display:flex;flex-direction:column;row-gap:1rem;padding-bottom:2rem}.add-model-form{display:flex;flex-direction:column;row-gap:.5rem}.hotkeys-modal{width:36rem;max-width:36rem;display:grid;padding:1rem;row-gap:1rem;font-family:Inter}.hotkeys-modal h1{font-size:1.2rem;font-weight:700}.hotkeys-modal h2{font-weight:700}.hotkeys-modal-button{display:flex;align-items:center;justify-content:space-between}.hotkeys-modal-items{max-height:36rem;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.hotkeys-modal-items::-webkit-scrollbar{display:none}.hotkeys-modal-items .chakra-accordion{display:grid;row-gap:.5rem}.hotkeys-modal-items .chakra-accordion__item{border:none;border-radius:.3rem;background-color:var(--tab-hover-color)}.hotkeys-modal-items button{border-radius:.3rem}.hotkeys-modal-items button[aria-expanded=true]{background-color:var(--tab-hover-color);border-radius:.3rem}.hotkey-modal-category{display:grid;row-gap:.5rem}.hotkey-modal-item{display:grid;grid-template-columns:auto max-content;justify-content:space-between;align-items:center;background-color:var(--background-color);padding:.5rem 1rem;border-radius:.3rem}.hotkey-modal-item .hotkey-info{display:grid}.hotkey-modal-item .hotkey-info .hotkey-title{font-weight:700}.hotkey-modal-item .hotkey-info .hotkey-description{font-size:.9rem;color:var(--text-color-secondary)}.hotkey-modal-item .hotkey-key{font-size:.8rem;font-weight:700;background-color:var(--background-color-light);padding:.2rem .5rem;border-radius:.3rem}.console{width:100vw;display:flex;flex-direction:column;background:var(--console-bg-color);overflow:auto;direction:column;font-family:monospace;padding:0 1rem 1rem 3rem;border-top-width:.3rem;border-color:var(--resizeable-handle-border-color)}.console .console-info-color{color:var(--error-level-info)}.console .console-warning-color{color:var(--error-level-warning)}.console .console-error-color{color:var(--status-bad-color)}.console .console-entry{display:flex;column-gap:.5rem}.console .console-entry .console-timestamp{font-weight:semibold}.console .console-entry .console-message{word-break:break-all}.console-toggle-icon-button{background:var(--console-icon-button-bg-color);position:fixed;left:.5rem;bottom:.5rem;z-index:10000}.console-toggle-icon-button:hover{background:var(--console-icon-button-bg-color-hover)}.console-toggle-icon-button[data-error-seen=true],.console-toggle-icon-button[data-error-seen=true]:hover{background:var(--status-bad-color)}.console-autoscroll-icon-button{background:var(--console-icon-button-bg-color);position:fixed;left:.5rem;bottom:3rem;z-index:10000}.console-autoscroll-icon-button:hover{background:var(--console-icon-button-bg-color-hover)}.console-autoscroll-icon-button[data-autoscroll-enabled=true]{background:var(--accent-color)}.console-autoscroll-icon-button[data-autoscroll-enabled=true]:hover{background:var(--accent-color-hover)}.progress-bar{background-color:var(--root-bg-color);height:.3rem;z-index:99}.progress-bar div{background-color:var(--progress-bar-color);transition:width .2s ease-in-out}.progress-bar div[data-indeterminate]{background-color:unset;background-image:linear-gradient(to right,transparent 0%,var(--progress-bar-color) 50%,transparent 100%)}.prompt-bar{display:grid;row-gap:1rem}.prompt-bar input,.prompt-bar textarea{background-color:var(--prompt-bg-color);font-size:1rem;border:2px solid var(--border-color)}.prompt-bar input:hover,.prompt-bar textarea:hover{border:2px solid var(--border-color-light)}.prompt-bar input:focus-visible,.prompt-bar textarea:focus-visible{border:2px solid var(--input-border-color);box-shadow:0 0 10px 0 var(--input-box-shadow-color)}.prompt-bar input[aria-invalid=true],.prompt-bar textarea[aria-invalid=true]{border:2px solid var(--border-color-invalid);box-shadow:0 0 10px 0 var(--box-shadow-color-invalid)}.prompt-bar input:disabled,.prompt-bar textarea:disabled{border:2px solid var(--border-color);box-shadow:none}.prompt-bar textarea{min-height:10rem}.process-buttons{display:flex;column-gap:.5rem}.invoke-btn{flex-grow:1;width:100%;min-width:100%;min-height:100%;background-color:var(--accent-color)!important}.invoke-btn:hover{background-color:var(--accent-color-hover)}.invoke-btn:disabled{background-color:var(--btn-base-color)}.invoke-btn:disabled:hover{background-color:var(--btn-base-color)}.invoke-btn svg{width:16px;height:16px;color:var(--btn-svg-color)}.cancel-btn{min-width:3rem;min-height:100%;background-color:var(--destructive-color)!important}.cancel-btn:hover{background-color:var(--destructive-color-hover)}.cancel-btn:disabled{background-color:var(--btn-base-color)}.cancel-btn:disabled:hover{background-color:var(--btn-base-color)}.cancel-btn svg{width:20px;height:20px;color:var(--btn-svg-color)}.loopback-btn[data-as-checkbox=true]{background-color:var(--btn-btn-base-color);border:3px solid var(--btn-btn-base-color)}.loopback-btn[data-as-checkbox=true] svg{fill:var(--text-color)}.loopback-btn[data-as-checkbox=true]:hover{background-color:var(--btn-btn-base-color);border-color:var(--btn-checkbox-border-hover)}.loopback-btn[data-as-checkbox=true]:hover svg{fill:var(--text-color)}.loopback-btn[data-as-checkbox=true][data-selected=true]{border-color:var(--accent-color);background-color:var(--btn-btn-base-color)}.loopback-btn[data-as-checkbox=true][data-selected=true] svg{fill:var(--text-color)}.loopback-btn[data-as-checkbox=true][data-selected=true]:hover{border-color:var(--accent-color);background-color:var(--btn-btn-base-color)}.loopback-btn[data-as-checkbox=true][data-selected=true]:hover svg{fill:var(--text-color)}.main-settings,.main-settings-list{display:grid;row-gap:1rem}.main-settings-row{display:grid;grid-template-columns:repeat(3,auto);column-gap:.5rem;max-width:22.5rem}.main-settings-block{border-radius:.5rem;display:grid!important;grid-template-columns:auto!important;row-gap:.5rem}.main-settings-block .invokeai__number-input-form-label,.main-settings-block .invokeai__select-label{font-weight:700;font-size:.9rem!important}.main-settings-block .invokeai__select-label{margin:0}.advanced-parameters{padding-top:.5rem;display:grid;row-gap:.5rem}.advanced-parameters-item{display:grid;max-width:22.5rem;border:none;border-top:0px;border-radius:.4rem;background-color:var(--tab-panel-bg)}.advanced-parameters-item[aria-expanded=true]{background-color:var(--tab-hover-color);border-radius:0 0 .4rem .4rem}.advanced-parameters-panel{background-color:var(--tab-panel-bg);border-radius:0 0 .4rem .4rem;padding:1rem}.advanced-parameters-panel button{background-color:var(--btn-base-color)}.advanced-parameters-panel button:hover{background-color:var(--btn-base-color-hover)}.advanced-parameters-panel button:disabled:hover{background-color:var(--btn-base-color)}.advanced-parameters-header{border-radius:.4rem;font-weight:700}.advanced-parameters-header[aria-expanded=true]{background-color:var(--tab-hover-color);border-radius:.4rem .4rem 0 0}.advanced-parameters-header:hover{background-color:var(--tab-hover-color)}.inpainting-bounding-box-settings{display:flex;flex-direction:column;border-radius:.4rem;border:2px solid var(--tab-color)}.inpainting-bounding-box-header{background-color:var(--tab-color);display:flex;flex-direction:row;justify-content:space-between;padding:.5rem 1rem;border-radius:.3rem .3rem 0 0;align-items:center}.inpainting-bounding-box-header button{width:.5rem;height:1.2rem;background:none}.inpainting-bounding-box-header button:hover{background:none}.inpainting-bounding-box-settings-items{padding:1rem;display:flex;flex-direction:column;row-gap:1rem}.inpainting-bounding-box-settings-items .inpainting-bounding-box-reset-icon-btn{background-color:var(--btn-base-color)}.inpainting-bounding-box-settings-items .inpainting-bounding-box-reset-icon-btn:hover{background-color:var(--btn-base-color-hover)}.inpainting-bounding-box-dimensions-slider-numberinput{display:grid;grid-template-columns:repeat(3,auto);column-gap:1rem}.inpainting-bounding-box-darken{width:max-content}.current-image-area{display:flex;flex-direction:column;height:100%;row-gap:1rem;background-color:var(--background-color-secondary);border-radius:.5rem}.current-image-preview{position:relative;justify-content:center;align-items:center;display:flex;width:100%;height:100%}.current-image-preview img{border-radius:.5rem;object-fit:contain;max-width:100%;max-height:100%;height:auto;position:absolute}.current-image-metadata{grid-area:current-image-preview}.current-image-next-prev-buttons{grid-area:current-image-content;display:flex;justify-content:space-between;z-index:1;height:100%;width:100%;pointer-events:none}.next-prev-button-trigger-area{width:7rem;height:100%;width:15%;display:grid;align-items:center;pointer-events:auto}.next-prev-button-trigger-area.prev-button-trigger-area{justify-content:flex-start}.next-prev-button-trigger-area.next-button-trigger-area{justify-content:flex-end}.next-prev-button{font-size:4rem;fill:var(--white);filter:drop-shadow(0 0 1rem var(--text-color-secondary));opacity:70%}.current-image-display-placeholder{background-color:var(--background-color-secondary);display:grid;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:.5rem}.current-image-display-placeholder svg{width:10rem;height:10rem;color:var(--svg-color)}.current-image-options{width:100%;display:flex;justify-content:center;align-items:center;column-gap:.5em}.current-image-options .current-image-send-to-popover,.current-image-options .current-image-postprocessing-popover{display:flex;flex-direction:column;row-gap:.5rem;max-width:25rem}.current-image-options .current-image-send-to-popover .invokeai__button{place-content:start}.current-image-options .chakra-popover__popper{z-index:11}.current-image-options .delete-image-btn{background-color:var(--btn-base-color)}.current-image-options .delete-image-btn svg{fill:var(--btn-delete-image)}.image-gallery-wrapper-enter{transform:translate(150%)}.image-gallery-wrapper-enter-active{transform:translate(0);transition:all .12s ease-out}.image-gallery-wrapper-exit{transform:translate(0)}.image-gallery-wrapper-exit-active{transform:translate(150%);transition:all .12s ease-out}.image-gallery-wrapper[data-pinned=false]{position:fixed;height:100vh;top:0;right:0}.image-gallery-wrapper[data-pinned=false] .image-gallery-popup{border-radius:0;box-shadow:0 0 1rem var(--text-color-a3)}.image-gallery-wrapper[data-pinned=false] .image-gallery-popup .image-gallery-container{max-height:calc(100vh + 4.7rem)}.image-gallery-wrapper .image-gallery-popup{background-color:var(--background-color-secondary);padding:1rem;display:flex;flex-direction:column;row-gap:1rem;border-radius:.5rem;border-left-width:.3rem;border-color:var(--tab-list-text-inactive)}.image-gallery-wrapper .image-gallery-popup[data-resize-alert=true]{border-color:var(--status-bad-color)}.image-gallery-wrapper .image-gallery-popup .image-gallery-header{display:flex;align-items:center;column-gap:.5rem;justify-content:space-between}.image-gallery-wrapper .image-gallery-popup .image-gallery-header .image-gallery-header-right-icons{display:flex;flex-direction:row;column-gap:.5rem}.image-gallery-wrapper .image-gallery-popup .image-gallery-header .image-gallery-icon-btn{background-color:var(--btn-load-more)}.image-gallery-wrapper .image-gallery-popup .image-gallery-header .image-gallery-icon-btn:hover{background-color:var(--btn-load-more-hover)}.image-gallery-wrapper .image-gallery-popup .image-gallery-header .image-gallery-settings-popover{display:flex;flex-direction:column;row-gap:.5rem}.image-gallery-wrapper .image-gallery-popup .image-gallery-header .image-gallery-settings-popover div{display:flex;column-gap:.5rem;align-items:center;justify-content:space-between}.image-gallery-wrapper .image-gallery-popup .image-gallery-header h1{font-weight:700}.image-gallery-wrapper .image-gallery-popup .image-gallery-container{display:flex;flex-direction:column;max-height:calc(100vh - (70px + 7rem));overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.image-gallery-wrapper .image-gallery-popup .image-gallery-container::-webkit-scrollbar{display:none}.image-gallery-wrapper .image-gallery-popup .image-gallery-container .image-gallery-container-placeholder{display:flex;flex-direction:column;row-gap:.5rem;background-color:var(--background-color);border-radius:.5rem;place-items:center;padding:2rem;text-align:center}.image-gallery-wrapper .image-gallery-popup .image-gallery-container .image-gallery-container-placeholder p{color:var(--subtext-color-bright);font-family:Inter}.image-gallery-wrapper .image-gallery-popup .image-gallery-container .image-gallery-container-placeholder svg{width:4rem;height:4rem;color:var(--svg-color)}.image-gallery-wrapper .image-gallery-popup .image-gallery-container .image-gallery-load-more-btn{background-color:var(--btn-load-more);font-size:.85rem;padding:.5rem;margin-top:1rem}.image-gallery-wrapper .image-gallery-popup .image-gallery-container .image-gallery-load-more-btn:disabled:hover{background-color:var(--btn-load-more)}.image-gallery-wrapper .image-gallery-popup .image-gallery-container .image-gallery-load-more-btn:hover{background-color:var(--btn-load-more-hover)}.image-gallery-category-btn-group{width:max-content;column-gap:0;justify-content:stretch}.image-gallery-category-btn-group button{background-color:var(--btn-base-color);flex-grow:1}.image-gallery-category-btn-group button:hover{background-color:var(--btn-base-color-hover)}.image-gallery-category-btn-group button[data-selected=true]{background-color:var(--accent-color)}.image-gallery-category-btn-group button[data-selected=true]:hover{background-color:var(--accent-color-hover)}.image-gallery{display:grid;grid-gap:.5rem}.image-gallery .hoverable-image{padding:.5rem;position:relative}.image-gallery .hoverable-image:before{content:"";display:block;padding-bottom:100%}.image-gallery .hoverable-image .hoverable-image-image{position:absolute;max-width:100%;top:50%;left:50%;transform:translate(-50%,-50%)}.hoverable-image{display:flex;justify-content:center;transition:transform .2s ease-out}.hoverable-image:hover{cursor:pointer;border-radius:.5rem;z-index:2}.hoverable-image .hoverable-image-image{width:100%;height:100%;max-width:100%;max-height:100%}.hoverable-image .hoverable-image-delete-button{position:absolute;top:.25rem;right:.25rem}.hoverable-image .hoverable-image-content{display:flex;position:absolute;top:0;left:0;width:100%;height:100%;align-items:center;justify-content:center}.hoverable-image .hoverable-image-content .hoverable-image-check{fill:var(--status-good-color)}.hoverable-image .hoverable-image-icons{position:absolute;bottom:-2rem;display:grid;width:min-content;grid-template-columns:repeat(2,max-content);border-radius:.4rem;background-color:var(--background-color-secondary);padding:.2rem;gap:.2rem;grid-auto-rows:max-content}.hoverable-image .hoverable-image-icons button{width:12px;height:12px;border-radius:.2rem;padding:10px 0;flex-shrink:2}.hoverable-image .hoverable-image-icons button svg{width:12px;height:12px}.hoverable-image-context-menu{z-index:15;padding:.4rem;border-radius:.25rem;background-color:var(--context-menu-bg-color);box-shadow:var(--context-menu-box-shadow)}.hoverable-image-context-menu [role=menuitem]{font-size:.8rem;line-height:1rem;border-radius:3px;display:flex;align-items:center;height:1.75rem;padding:0 .5rem;position:relative;user-select:none;cursor:pointer;outline:none}.hoverable-image-context-menu [role=menuitem][data-disabled]{color:gray;pointer-events:none;cursor:not-allowed}.hoverable-image-context-menu [role=menuitem][data-warning]{color:var(--status-bad-color)}.hoverable-image-context-menu [role=menuitem][data-highlighted]{background-color:var(--context-menu-bg-color-hover)}.image-metadata-viewer{position:absolute;top:0;width:100%;border-radius:.5rem;padding:1rem;background-color:var(--metadata-bg-color);overflow:scroll;max-height:calc(100vh - (70px + 5.4rem));height:100%;z-index:10}.image-json-viewer{border-radius:.5rem;margin:0 .5rem 1rem;padding:1rem;overflow-x:scroll;word-break:break-all;background-color:var(--metadata-json-bg-color)}.lightbox-container{width:100%;height:100%;color:var(--text-color);overflow:hidden;position:absolute;left:0;top:0;background-color:var(--background-color-secondary);z-index:30;animation:popIn .3s ease-in}.lightbox-container .image-gallery-wrapper{max-height:100%!important}.lightbox-container .image-gallery-wrapper .image-gallery-container{max-height:calc(100vh - 5rem)}.lightbox-container .current-image-options{z-index:2;position:absolute;top:1rem}.lightbox-container .image-metadata-viewer{left:0;max-height:100%}.lightbox-close-btn{z-index:3;position:absolute;left:1rem;top:1rem;background-color:var(--btn-base-color)}.lightbox-close-btn:hover{background-color:var(--btn-base-color-hover)}.lightbox-close-btn:disabled:hover{background-color:var(--btn-base-color)}.lightbox-display-container{display:flex;flex-direction:row}.lightbox-preview-wrapper{overflow:hidden;background-color:var(--background-color-secondary);display:grid;grid-template-columns:auto max-content;place-items:center;width:100vw;height:100vh}.lightbox-preview-wrapper .current-image-next-prev-buttons{position:absolute}.lightbox-preview-wrapper .lightbox-image{grid-area:lightbox-content;border-radius:.5rem}.lightbox-preview-wrapper .lightbox-image-options{position:absolute;z-index:2;left:1rem;top:4.5rem;user-select:none;border-radius:.5rem;display:flex;flex-direction:column;row-gap:.5rem}@keyframes popIn{0%{opacity:0;filter:blur(100)}to{opacity:1;filter:blur(0)}}.app-tabs{display:grid;grid-template-columns:min-content auto;column-gap:1rem;height:calc(100vh - (70px + 1rem))}.app-tabs-list{display:grid;row-gap:.3rem;grid-auto-rows:min-content;color:var(--tab-list-text-inactive)}.app-tabs-list button{font-size:.85rem;padding:.5rem}.app-tabs-list button:hover{background-color:var(--tab-hover-color);border-radius:.3rem}.app-tabs-list button svg{width:24px;height:24px}.app-tabs-list button[aria-selected=true]{background-color:var(--tab-list-bg);color:var(--tab-list-text);font-weight:700;border-radius:.3rem;border:none}.app-tabs-panels .app-tabs-panel{padding:0;height:100%}.workarea-wrapper{position:relative;width:100%;height:100%}.workarea-wrapper .workarea-main{display:flex;column-gap:1rem;height:100%}.workarea-wrapper .workarea-main .workarea-children-wrapper{position:relative;width:100%;height:100%}.workarea-wrapper .workarea-main .workarea-split-view{width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr;background-color:var(--background-color-secondary);border-radius:.5rem}.workarea-wrapper .workarea-main .workarea-split-view .workarea-split-view-left{padding-right:.5rem}.workarea-wrapper .workarea-main .workarea-split-view .workarea-split-view-right{padding-left:.5rem}.workarea-wrapper .workarea-main .workarea-single-view{width:100%;height:100%;background-color:var(--background-color-secondary);border-radius:.5rem}.workarea-wrapper .workarea-main .workarea-split-view-left,.workarea-wrapper .workarea-main .workarea-split-view-right{display:flex;flex-direction:column;height:100%;width:100%;row-gap:1rem;background-color:var(--background-color-secondary);border-radius:.5rem;padding:1rem}.workarea-split-button{position:absolute;cursor:pointer;padding:.5rem;top:0;right:0}.workarea-split-button[data-selected=true]{top:0;right:0}.workarea-split-button[data-selected=true] svg{opacity:1}.workarea-split-button svg{opacity:.5}.parameters-panel-wrapper-enter{transform:translate(-150%)}.parameters-panel-wrapper-enter-active{transform:translate(0);transition:all .12s ease-out}.parameters-panel-wrapper-exit{transform:translate(0)}.parameters-panel-wrapper-exit-active{transform:translate(-150%);transition:all .12s ease-out}.parameters-panel-wrapper{background-color:var(--background-color);height:calc(100vh - (70px + 1rem));width:22.5rem;max-width:22.5rem;flex-shrink:0;position:relative;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.parameters-panel-wrapper::-webkit-scrollbar{display:none}.parameters-panel-wrapper .parameters-panel{display:flex;flex-direction:column;row-gap:.5rem;height:100%;-ms-overflow-style:none;scrollbar-width:none;background-color:var(--background-color)}.parameters-panel-wrapper .parameters-panel::-webkit-scrollbar{display:none}.parameters-panel-wrapper[data-pinned=false]{z-index:20;position:fixed;top:0;left:0;filter:var(--floating-panel-drop-shadow);width:24.5rem;max-width:24.5rem;height:100%}.parameters-panel-wrapper[data-pinned=false] .parameters-panel-margin{margin:1rem}.parameters-panel-wrapper .parameters-panel-pin-button{position:absolute;cursor:pointer;padding:.5rem;top:1rem;right:1rem;z-index:20}.parameters-panel-wrapper .parameters-panel-pin-button[data-selected=true]{top:0;right:0}.parameters-panel-wrapper .parameters-panel-pin-button svg{opacity:.5}.invoke-ai-logo-wrapper{display:flex;align-items:center;column-gap:.7rem;padding-left:.5rem;padding-top:.3rem}.invoke-ai-logo-wrapper img{width:32px;height:32px}.invoke-ai-logo-wrapper h1{font-size:1.4rem}.text-to-image-area{padding:1rem;height:100%}.image-to-image-area{display:flex;flex-direction:column;row-gap:1rem;width:100%;height:100%}.image-to-image-strength-main-option{display:flex;row-gap:.5rem!important}.image-to-image-strength-main-option .invokeai__slider-component-label{color:var(--text-color-secondary);font-size:.9rem!important}.init-image-preview-header{display:flex;align-items:center;justify-content:space-between;width:100%}.init-image-preview-header h2{font-weight:700;font-size:.9rem}.init-image-preview{position:relative;height:100%;width:100%;display:flex;align-items:center;justify-content:center}.init-image-preview img{border-radius:.5rem;object-fit:contain;position:absolute}.image-to-image-current-image-display{position:relative}.floating-show-hide-button{position:absolute;top:50%;transform:translateY(-50%);z-index:20;padding:0;background-color:red!important;min-width:2rem;min-height:12rem;background-color:var(--btn-btn-base-color)!important}.floating-show-hide-button.left{left:0;border-radius:0 .5rem .5rem 0}.floating-show-hide-button.right{right:0;border-radius:.5rem 0 0 .5rem}.floating-show-hide-button:hover{background-color:var(--btn-btn-base-color-hover)}.floating-show-hide-button:disabled{background-color:var(--btn-base-color)}.floating-show-hide-button:disabled:hover{background-color:var(--btn-base-color)}.floating-show-hide-button svg{width:20px;height:20px;color:var(--btn-svg-color)}.show-hide-button-options{position:absolute;transform:translateY(-50%);z-index:20;min-width:2rem;top:50%;left:calc(42px + 2rem);border-radius:0 .5rem .5rem 0;display:flex;flex-direction:column;row-gap:.5rem}.show-hide-button-options button{border-radius:0 .3rem .3rem 0}.show-hide-button-gallery{padding-left:.75rem;padding-right:.75rem;background-color:var(--background-color)!important}.inpainting-main-area{display:flex;flex-direction:column;align-items:center;row-gap:1rem;width:100%;height:100%}.inpainting-main-area .inpainting-settings{display:flex;align-items:center;column-gap:.5rem}.inpainting-main-area .inpainting-settings svg{transform:scale(.9)}.inpainting-main-area .inpainting-settings .inpainting-buttons-group{display:flex;align-items:center;column-gap:.5rem}.inpainting-main-area .inpainting-settings .inpainting-button-dropdown{display:flex;flex-direction:column;row-gap:.5rem}.inpainting-main-area .inpainting-settings .inpainting-color-picker{margin-left:1rem}.inpainting-main-area .inpainting-settings .inpainting-brush-options{display:flex;align-items:center;column-gap:1rem}.inpainting-canvas-area{display:flex;flex-direction:column;align-items:center;justify-content:center;row-gap:1rem;width:100%;height:100%}.inpainting-canvas-spiner{display:flex;align-items:center;width:100%;height:100%}.inpainting-canvas-container{display:flex;position:relative;height:100%;width:100%;border-radius:.5rem}.inpainting-canvas-wrapper{position:relative}.inpainting-canvas-stage{outline:none;border-radius:.5rem;box-shadow:0 0 0 1px var(--border-color-light);overflow:hidden}.inpainting-canvas-stage canvas{outline:none;border-radius:.5rem}.inpainting-options-btn{min-height:2rem}.canvas-status-text{position:absolute;top:0;left:0;background-color:var(--background-color);opacity:.65;display:flex;flex-direction:column;font-size:.8rem;padding:.25rem;min-width:12rem;border-radius:.25rem;margin:.25rem;pointer-events:none}.invokeai__number-input-form-control{display:flex;align-items:center;column-gap:1rem}.invokeai__number-input-form-control .invokeai__number-input-form-label{color:var(--text-color-secondary)}.invokeai__number-input-form-control .invokeai__number-input-form-label[data-focus]+.invokeai__number-input-root{outline:none;border:2px solid var(--input-border-color);box-shadow:0 0 10px 0 var(--input-box-shadow-color)}.invokeai__number-input-form-control .invokeai__number-input-form-label[aria-invalid=true]+.invokeai__number-input-root{outline:none;border:2px solid var(--border-color-invalid);box-shadow:0 0 10px 0 var(--box-shadow-color-invalid)}.invokeai__number-input-form-control .invokeai__number-input-root{height:2rem;display:grid;grid-template-columns:auto max-content;column-gap:.5rem;align-items:center;background-color:var(--background-color-secondary);border:2px solid var(--border-color);border-radius:.3rem}.invokeai__number-input-form-control .invokeai__number-input-field{border:none;font-weight:700;width:100%;height:auto;font-size:.9rem;padding:0 .5rem}.invokeai__number-input-form-control .invokeai__number-input-field:focus{outline:none;box-shadow:none}.invokeai__number-input-form-control .invokeai__number-input-field:disabled{opacity:.2}.invokeai__number-input-form-control .invokeai__number-input-stepper{display:grid;padding-right:.5rem}.invokeai__number-input-form-control .invokeai__number-input-stepper .invokeai__number-input-stepper-button{border:none;padding:0 .5rem;margin:0 -.5rem}.invokeai__number-input-form-control .invokeai__number-input-stepper .invokeai__number-input-stepper-button svg{width:10px;height:10px}.input{display:grid;grid-template-columns:max-content auto;column-gap:1rem;align-items:center}.input .input-label{color:var(--text-color-secondary)}.input .input-entry{background-color:var(--background-color-secondary);border:2px solid var(--border-color);border-radius:.2rem;font-weight:700}.input .input-entry:focus{outline:none;border:2px solid var(--input-border-color);box-shadow:0 0 10px 0 var(--input-box-shadow-color)}.input .input-entry:disabled{opacity:.2}.input .input-entry[aria-invalid=true]{outline:none;border:2px solid var(--border-color-invalid);box-shadow:0 0 10px 0 var(--box-shadow-color-invalid)}.invokeai__icon-button{background:var(--btn-base-color);cursor:pointer}.invokeai__icon-button:hover{background-color:var(--btn-base-color-hover)}.invokeai__icon-button[data-selected=true]{background-color:var(--accent-color)}.invokeai__icon-button[data-selected=true]:hover{background-color:var(--accent-color-hover)}.invokeai__icon-button[disabled]{cursor:not-allowed}.invokeai__icon-button[data-variant=link],.invokeai__icon-button[data-variant=link]:hover{background:none}.invokeai__icon-button[data-as-checkbox=true]{background-color:var(--btn-base-color);border:3px solid var(--btn-base-color)}.invokeai__icon-button[data-as-checkbox=true] svg{fill:var(--text-color)}.invokeai__icon-button[data-as-checkbox=true]:hover{background-color:var(--btn-base-color);border-color:var(--btn-checkbox-border-hover)}.invokeai__icon-button[data-as-checkbox=true]:hover svg{fill:var(--text-color)}.invokeai__icon-button[data-as-checkbox=true][data-selected=true]{border-color:var(--accent-color)}.invokeai__icon-button[data-as-checkbox=true][data-selected=true] svg{fill:var(--accent-color-hover)}.invokeai__icon-button[data-as-checkbox=true][data-selected=true]:hover svg{fill:var(--accent-color-hover)}.invokeai__icon-button[data-alert=true]{animation-name:pulseColor;animation-duration:1s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.invokeai__icon-button[data-alert=true]:hover{animation:none;background-color:var(--accent-color-hover)}@keyframes pulseColor{0%{background-color:var(--accent-color)}50%{background-color:var(--accent-color-dim)}to{background-color:var(--accent-color)}}.invokeai__button{background-color:var(--btn-base-color);place-content:center}.invokeai__button:hover{background-color:var(--btn-base-color-hover)}.invokeai__switch-form-control .invokeai__switch-form-label{color:var(--text-color-secondary)}.invokeai__switch-form-control .invokeai__switch-root span{background-color:var(--switch-bg-color)}.invokeai__switch-form-control .invokeai__switch-root span span{background-color:var(--white)}.invokeai__switch-form-control .invokeai__switch-root[data-checked] span{background:var(--switch-bg-active-color)}.invokeai__switch-form-control .invokeai__switch-root[data-checked] span span{background-color:var(--white)}.invokeai__select{display:flex;column-gap:1rem;align-items:center}.invokeai__select .invokeai__select-label{color:var(--text-color-secondary)}.invokeai__select .invokeai__select-picker{border:2px solid var(--border-color);background-color:var(--background-color-secondary);font-weight:700;font-size:.9rem;height:2rem;border-radius:.2rem}.invokeai__select .invokeai__select-picker:focus{outline:none;border:2px solid var(--input-border-color);box-shadow:0 0 10px 0 var(--input-box-shadow-color)}.invokeai__select .invokeai__select-option{background-color:var(--background-color-secondary);color:var(--text-color-secondary)}.invokeai__slider-component{padding-bottom:.5rem;border-radius:.5rem}.invokeai__slider-component .invokeai__slider-component-label{min-width:max-content;margin:0;font-weight:700;color:var(--text-color-secondary)}.invokeai__slider-component .invokeai__slider_track{background-color:var(--tab-color)}.invokeai__slider-component .invokeai__slider_track-filled{background-color:var(--slider-color)}.invokeai__slider-component .invokeai__slider-thumb{width:4px}.invokeai__slider-component .invokeai__slider-mark{font-size:.75rem;font-weight:700;color:var(--slider-mark-color);margin-top:.3rem}.invokeai__slider-component .invokeai__slider-number-input{border:none;font-size:.9rem;font-weight:700;height:2rem;background-color:var(--background-color-secondary);border:2px solid var(--border-color)}.invokeai__slider-component .invokeai__slider-number-input:focus{outline:none;box-shadow:none;border:2px solid var(--input-border-color);box-shadow:0 0 10px 0 var(--input-box-shadow-color)}.invokeai__slider-component .invokeai__slider-number-input:disabled{opacity:.2}.invokeai__slider-component .invokeai__slider-number-stepper{border:none}.invokeai__slider-component[data-markers=true] .invokeai__slider_container{margin-top:-1rem}.invokeai__checkbox .chakra-checkbox__label{margin-top:1px;color:var(--text-color-secondary);font-size:.9rem}.invokeai__checkbox .chakra-checkbox__control{width:1rem;height:1rem;border:none;border-radius:.2rem;background-color:var(--input-checkbox-bg)}.invokeai__checkbox .chakra-checkbox__control svg{width:.6rem;height:.6rem;stroke-width:3px}.invokeai__checkbox .chakra-checkbox__control[data-checked]{color:var(--text-color);background-color:var(--input-checkbox-checked-bg)}.invokeai__popover-content{min-width:unset;width:unset;padding:1rem;border-radius:.5rem;background-color:var(--background-color);border:2px solid var(--border-color)}.invokeai__popover-content .invokeai__popover-arrow{background-color:var(--background-color)!important}.invokeai__color-picker .react-colorful__hue-pointer,.invokeai__color-picker .react-colorful__saturation-pointer{width:1.5rem;height:1.5rem;border-color:var(--white)}.dropzone-container{position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:999;backdrop-filter:blur(20px)}.dropzone-container .dropzone-overlay{opacity:.5;width:100%;height:100%;display:flex;flex-direction:column;row-gap:1rem;align-items:center;justify-content:center;background-color:var(--background-color)}.dropzone-container .dropzone-overlay.is-drag-accept{box-shadow:inset 0 0 20rem 1rem var(--accent-color)}.dropzone-container .dropzone-overlay.is-drag-reject{box-shadow:inset 0 0 20rem 1rem var(--status-bad-color)}.dropzone-container .dropzone-overlay.is-handling-upload{box-shadow:inset 0 0 20rem 1rem var(--status-working-color)}.image-uploader-button-outer{width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:.5rem;color:var(--tab-list-text-inactive);background-color:var(--background-color)}.image-uploader-button-outer:hover{background-color:var(--background-color-light)}.image-upload-button-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.image-upload-button{display:flex;flex-direction:column;row-gap:2rem;align-items:center;justify-content:center;text-align:center}.image-upload-button svg{width:4rem;height:4rem}.image-upload-button h2{font-size:1.2rem}.work-in-progress{display:grid;width:100%;height:calc(100vh - (70px + 1rem));grid-auto-rows:max-content;background-color:var(--background-color-secondary);border-radius:.4rem;place-content:center;place-items:center;row-gap:1rem}.work-in-progress h1{font-size:2rem;font-weight:700}.work-in-progress p{text-align:center;max-width:50rem;color:var(--subtext-color-bright)}.guide-popover-arrow{background-color:var(--tab-panel-bg);box-shadow:none}.guide-popover-content{background-color:var(--background-color-secondary);border:none}.guide-popover-guide-content{background:var(--tab-panel-bg);border:2px solid var(--tab-hover-color);border-radius:.4rem;padding:.75rem 1rem;display:grid;grid-template-rows:repeat(auto-fill,1fr);grid-row-gap:.5rem;justify-content:space-between}.modal{background-color:var(--background-color-secondary);color:var(--text-color);font-family:Inter}.modal-close-btn{background-color:var(--btn-base-color)}.modal-close-btn:hover{background-color:var(--btn-base-color-hover)}.modal-close-btn:disabled:hover{background-color:var(--btn-base-color)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{-ms-overflow-style:none;scrollbar-width:none;background-color:var(--root-bg-color);overflow:hidden}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}#root{background-color:var(--root-bg-color);color:var(--text-color);font-family:Inter,Arial,Helvetica,sans-serif} diff --git a/invokeai/frontend/dist/assets/index-2ab0eb58.css b/invokeai/frontend/dist/assets/index-2ab0eb58.css new file mode 100644 index 00000000000..dc757961c04 --- /dev/null +++ b/invokeai/frontend/dist/assets/index-2ab0eb58.css @@ -0,0 +1 @@ +@font-face{font-family:Inter;src:url(./Inter-b9a8e5e2.ttf);font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:Inter;src:url(./Inter-Bold-790c108b.ttf);font-display:swap;font-weight:600;font-style:normal}@keyframes slideOut{0%{transform:translate(10rem)}to{transform:translate(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}*{scrollbar-width:thick;scrollbar-color:var(--scrollbar-color) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--scrollbar-color);border-radius:8px;border:2px solid var(--scrollbar-color)}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color-hover);border:2px solid var(--scrollbar-color-hover)}::-webkit-scrollbar-button{background:transparent}[data-theme=dark]{--white: rgb(255, 255, 255);--accent-color-dim: rgb(57, 25, 153);--accent-color: rgb(80, 40, 200);--accent-color-bright: rgb(104, 60, 230);--accent-color-hover: var(--accent-color-bright);--root-bg-color: rgb(10, 10, 10);--background-color: rgb(26, 26, 32);--background-color-light: rgb(40, 44, 48);--background-color-secondary: rgb(16, 16, 22);--text-color: rgb(255, 255, 255);--text-color-secondary: rgb(160, 162, 188);--subtext-color: rgb(24, 24, 34);--subtext-color-bright: rgb(48, 48, 64);--border-color: rgb(30, 30, 46);--border-color-light: rgb(60, 60, 76);--svg-color: rgb(255, 255, 255);--invalid: rgb(255, 75, 75);--invalid-secondary: rgb(120, 5, 5);--destructive-color: rgb(185, 55, 55);--destructive-color-hover: rgb(255, 75, 75);--warning-color: rgb(200, 88, 40);--warning-color-hover: rgb(230, 117, 60);--border-color-invalid: rgb(255, 80, 50);--box-shadow-color-invalid: rgb(210, 30, 10);--tab-color: rgb(30, 32, 42);--tab-hover-color: rgb(46, 48, 58);--tab-panel-bg: rgb(36, 38, 48);--tab-list-bg: var(--accent-color);--tab-list-text: rgb(202, 204, 216);--tab-list-text-inactive: rgb(92, 94, 114);--btn-base-color: rgb(30, 32, 42);--btn-base-color-hover: rgb(46, 48, 68);--btn-load-more: rgb(30, 32, 42);--btn-load-more-hover: rgb(54, 56, 66);--btn-svg-color: rgb(255, 255, 255);--btn-delete-image: rgb(182, 46, 46);--btn-checkbox-border-hover: rgb(46, 48, 68);--progress-bar-color: var(--accent-color);--prompt-bg-color: rgb(10, 10, 10);--switch-bg-color: rgb(100, 102, 110);--switch-bg-active-color: var(--accent-color);--slider-color: var(--accent-color-bright);--slider-color: rgb(151, 113, 255);--slider-mark-color: rgb(151, 113, 255);--resizeable-handle-border-color: var(--accent-color);--metadata-bg-color: rgba(0, 0, 0, .7);--metadata-json-bg-color: rgba(255, 255, 255, .1);--status-good-color: rgb(125, 255, 100);--status-good-glow: rgb(40, 215, 40);--status-working-color: rgb(255, 175, 55);--status-working-glow: rgb(255, 160, 55);--status-bad-color: rgb(255, 90, 90);--status-bad-glow: rgb(255, 40, 40);--notice-color: rgb(130, 71, 19);--settings-modal-bg: rgb(30, 32, 42);--input-checkbox-bg: rgb(60, 64, 68);--input-checkbox-checked-bg: var(--accent-color);--input-checkbox-checked-tick: rgb(0, 0, 0);--input-border-color: var(--accent-color-bright);--input-box-shadow-color: var(--accent-color);--error-level-info: rgb(200, 202, 224);--error-level-warning: rgb(255, 225, 105);--error-level-error: rgb(255, 81, 46);--console-bg-color: rgb(30, 30, 36);--console-icon-button-bg-color: rgb(50, 53, 64);--console-icon-button-bg-color-hover: rgb(70, 73, 84);--img2img-img-bg-color: rgb(30, 32, 42);--context-menu-bg-color: rgb(46, 48, 58);--context-menu-box-shadow: none;--context-menu-bg-color-hover: rgb(30, 32, 42);--context-menu-active-item: var(--accent-color-bright);--floating-button-drop-shadow-color: var(--accent-color);--inpainting-alerts-bg: rgba(20, 20, 26, .75);--inpainting-alerts-icon-color: rgb(255, 255, 255);--inpainting-alerts-bg-active: var(--accent-color);--inpainting-alerts-icon-active: rgb(255, 255, 255);--inpainting-alerts-bg-alert: var(--invalid);--inpainting-alerts-icon-alert: rgb(255, 255, 255);--checkboard-dots-color: rgb(35, 35, 39);--scrollbar-color: var(--accent-color);--scrollbar-color-hover: var(--accent-color-bright);--subhook-color: var(--accent-color)}[data-theme=light]{--white: rgb(255, 255, 255);--accent-color-dim: rgb(186, 146, 0);--accent-color: rgb(235, 185, 5);--accent-color-bright: rgb(255, 200, 0);--accent-color-hover: var(--accent-color-bright);--root-bg-color: rgb(255, 255, 255);--background-color: rgb(220, 222, 224);--background-color-light: rgb(250, 252, 254);--background-color-secondary: rgb(208, 210, 212);--text-color: rgb(0, 0, 0);--text-color-secondary: rgb(40, 40, 40);--subtext-color: rgb(24, 24, 34);--subtext-color-bright: rgb(142, 144, 146);--border-color: rgb(200, 200, 200);--border-color-light: rgb(147, 147, 147);--svg-color: rgb(50, 50, 50);--invalid: rgb(255, 75, 75);--invalid-secondary: rgb(120, 5, 5);--destructive-color: rgb(237, 51, 51);--destructive-color-hover: rgb(255, 55, 55);--warning-color: rgb(224, 142, 42);--warning-color-hover: rgb(255, 167, 60);--border-color-invalid: rgb(255, 80, 50);--box-shadow-color-invalid: none;--tab-color: rgb(202, 204, 206);--tab-hover-color: rgb(196, 198, 200);--tab-panel-bg: rgb(206, 208, 210);--tab-list-bg: rgb(235, 185, 5);--tab-list-text: rgb(0, 0, 0);--tab-list-text-inactive: rgb(106, 108, 110);--btn-base-color: rgb(184, 186, 188);--btn-base-color-hover: rgb(230, 232, 234);--btn-load-more: rgb(202, 204, 206);--btn-load-more-hover: rgb(178, 180, 182);--btn-svg-color: rgb(0, 0, 0);--btn-delete-image: rgb(213, 49, 49);--btn-checkbox-border-hover: rgb(176, 178, 182);--progress-bar-color: rgb(235, 185, 5);--prompt-bg-color: rgb(225, 227, 229);--switch-bg-color: rgb(178, 180, 182);--switch-bg-active-color: rgb(235, 185, 5);--slider-color: var(--accent-color);--slider-mark-color: rgb(0, 0, 0);--resizeable-handle-border-color: rgb(160, 162, 164);--metadata-bg-color: rgba(230, 230, 230, .9);--metadata-json-bg-color: rgba(0, 0, 0, .1);--status-good-color: rgb(21, 126, 0);--status-good-glow: var(--background-color);--status-working-color: rgb(235, 141, 0);--status-working-glow: var(--background-color);--status-bad-color: rgb(202, 0, 0);--status-bad-glow: var(--background-color);--notice-color: rgb(255, 71, 90);--settings-modal-bg: rgb(202, 204, 206);--input-checkbox-bg: rgb(167, 167, 171);--input-checkbox-checked-bg: rgb(235, 185, 5);--input-checkbox-checked-tick: rgb(0, 0, 0);--input-border-color: rgb(0, 0, 0);--input-box-shadow-color: none;--error-level-info: rgb(42, 42, 42);--error-level-warning: rgb(173, 121, 0);--error-level-error: rgb(145, 14, 0);--console-bg-color: rgb(220, 224, 230);--console-icon-button-bg-color: var(--switch-bg-color);--console-icon-button-bg-color-hover: var(--resizeable-handle-border-color);--img2img-img-bg-color: rgb(180, 182, 184);--context-menu-bg-color: var(--background-color);--context-menu-box-shadow: 0px 10px 38px -10px rgba(22, 23, 24, .35), 0px 10px 20px -15px rgba(22, 23, 24, .2);--context-menu-bg-color-hover: var(--background-color-secondary);--context-menu-active-item: rgb(0, 0, 0);--floating-button-drop-shadow-color: rgba(0, 0, 0, .7);--inpainting-alerts-bg: rgba(220, 222, 224, .75);--inpainting-alerts-icon-color: rgb(0, 0, 0);--inpainting-alerts-bg-active: rgb(255, 200, 0);--inpainting-alerts-icon-active: rgb(0, 0, 0);--inpainting-alerts-bg-alert: var(--invalid);--inpainting-alerts-icon-alert: rgb(0, 0, 0);--checkboard-dots-color: rgb(160, 160, 172);--scrollbar-color: rgb(180, 180, 184);--scrollbar-color-hover: rgb(150, 150, 154);--subhook-color: rgb(0, 0, 0)}[data-theme=green]{--white: rgb(255, 255, 255);--accent-color-dim: rgb(10, 60, 40);--accent-color: rgb(20, 110, 70);--accent-color-bright: rgb(30, 180, 100);--accent-color-hover: var(--accent-color-bright);--root-bg-color: rgb(10, 10, 14);--background-color: rgb(30, 32, 37);--background-color-light: rgb(40, 44, 48);--background-color-secondary: rgb(22, 24, 28);--text-color: rgb(255, 255, 255);--text-color-secondary: rgb(160, 164, 168);--subtext-color: rgb(24, 24, 28);--subtext-color-bright: rgb(68, 72, 76);--border-color: rgb(40, 44, 48);--border-color-light: rgb(60, 60, 64);--svg-color: rgb(220, 224, 228);--invalid: rgb(255, 75, 75);--invalid-secondary: rgb(120, 5, 5);--destructive-color: rgb(185, 55, 55);--destructive-color-hover: rgb(255, 75, 75);--warning-color: rgb(200, 88, 40);--warning-color-hover: rgb(230, 117, 60);--border-color-invalid: rgb(255, 80, 50);--box-shadow-color-invalid: rgb(210, 30, 10);--tab-color: rgb(40, 44, 48);--tab-hover-color: rgb(48, 52, 56);--tab-panel-bg: rgb(36, 40, 44);--tab-list-bg: var(--accent-color);--tab-list-text: rgb(202, 204, 206);--tab-list-text-inactive: rgb(92, 94, 96);--btn-base-color: rgb(40, 44, 48);--btn-base-color-hover: rgb(56, 60, 64);--btn-load-more: rgb(30, 32, 42);--btn-load-more-hover: rgb(54, 56, 66);--btn-svg-color: rgb(255, 255, 255);--btn-delete-image: rgb(182, 46, 46);--btn-checkbox-border-hover: rgb(46, 48, 68);--progress-bar-color: var(--accent-color);--prompt-bg-color: rgb(10, 10, 14);--switch-bg-color: rgb(100, 102, 110);--switch-bg-active-color: var(--accent-color);--slider-color: var(--accent-color-bright);--slider-mark-color: var(--accent-color-bright);--resizeable-handle-border-color: var(--accent-color);--metadata-bg-color: rgba(0, 0, 0, .7);--metadata-json-bg-color: rgba(255, 255, 255, .1);--status-good-color: rgb(125, 255, 100);--status-good-glow: rgb(40, 215, 40);--status-working-color: rgb(255, 175, 55);--status-working-glow: rgb(255, 160, 55);--status-bad-color: rgb(255, 90, 90);--status-bad-glow: rgb(255, 40, 40);--notice-color: rgb(130, 71, 19);--settings-modal-bg: rgb(30, 32, 42);--input-checkbox-bg: rgb(60, 64, 68);--input-checkbox-checked-bg: var(--accent-color);--input-checkbox-checked-tick: rgb(0, 0, 0);--input-border-color: var(--accent-color-bright);--input-box-shadow-color: var(--accent-color);--error-level-info: rgb(200, 202, 224);--error-level-warning: rgb(255, 225, 105);--error-level-error: rgb(255, 81, 46);--console-bg-color: rgb(30, 30, 36);--console-icon-button-bg-color: rgb(50, 53, 64);--console-icon-button-bg-color-hover: rgb(70, 73, 84);--img2img-img-bg-color: rgb(30, 32, 42);--context-menu-bg-color: rgb(46, 48, 58);--context-menu-box-shadow: none;--context-menu-bg-color-hover: rgb(30, 32, 42);--context-menu-active-item: var(--accent-color-bright);--floating-button-drop-shadow-color: var(--accent-color);--inpainting-alerts-bg: rgba(20, 20, 26, .75);--inpainting-alerts-icon-color: rgb(255, 255, 255);--inpainting-alerts-bg-active: var(--accent-color);--inpainting-alerts-icon-active: rgb(255, 255, 255);--inpainting-alerts-bg-alert: var(--invalid);--inpainting-alerts-icon-alert: rgb(255, 255, 255);--checkboard-dots-color: rgb(35, 35, 39);--scrollbar-color: var(--accent-color);--scrollbar-color-hover: var(--accent-color-bright);--subhook-color: var(--accent-color)}@media (max-width: 600px){#root .app-content{padding:5px}#root .app-content .site-header{position:fixed;display:flex;height:100px;z-index:1}#root .app-content .site-header .site-header-left-side{position:absolute;display:flex;min-width:145px;float:left;padding-left:0}#root .app-content .site-header .site-header-right-side{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;grid-template-rows:25px 25px 25px;grid-template-areas:"logoSpace logoSpace logoSpace sampler sampler sampler" "status status status status status status" "btn1 btn2 btn3 btn4 btn5 btn6";row-gap:15px}#root .app-content .site-header .site-header-right-side .chakra-popover__popper{grid-area:logoSpace}#root .app-content .site-header .site-header-right-side>:nth-child(1).chakra-text{grid-area:status;width:100%;display:flex;justify-content:center}#root .app-content .site-header .site-header-right-side>:nth-child(2){grid-area:sampler;display:flex;justify-content:center;align-items:center}#root .app-content .site-header .site-header-right-side>:nth-child(2) select{width:185px;margin-top:10px}#root .app-content .site-header .site-header-right-side>:nth-child(2) .chakra-select__icon-wrapper{right:10px}#root .app-content .site-header .site-header-right-side>:nth-child(2) .chakra-select__icon-wrapper svg{margin-top:10px}#root .app-content .site-header .site-header-right-side>:nth-child(3){grid-area:btn1}#root .app-content .site-header .site-header-right-side>:nth-child(4){grid-area:btn2}#root .app-content .site-header .site-header-right-side>:nth-child(6){grid-area:btn3}#root .app-content .site-header .site-header-right-side>:nth-child(7){grid-area:btn4}#root .app-content .site-header .site-header-right-side>:nth-child(8){grid-area:btn5}#root .app-content .site-header .site-header-right-side>:nth-child(9){grid-area:btn6}#root .app-content .app-tabs{position:fixed;display:flex;flex-direction:column;row-gap:15px;max-width:100%;overflow:hidden;margin-top:120px}#root .app-content .app-tabs .app-tabs-list{display:flex;justify-content:space-between}#root .app-content .app-tabs .app-tabs-panels{overflow:hidden;overflow-y:scroll}#root .app-content .app-tabs .app-tabs-panels .workarea-main{display:grid;grid-template-areas:"workarea" "options" "gallery";row-gap:15px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .parameters-panel-wrapper{grid-area:options;width:100%;max-width:100%;height:inherit;overflow:inherit;padding:0 10px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .parameters-panel-wrapper .main-settings-row,#root .app-content .app-tabs .app-tabs-panels .workarea-main .parameters-panel-wrapper .advanced-parameters-item{max-width:100%}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper{grid-area:workarea}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .workarea-split-view{display:flex;flex-direction:column}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .current-image-options{column-gap:3px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .text-to-image-area{padding:0}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .current-image-preview{height:430px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .image-upload-button{row-gap:10px;padding:5px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .image-upload-button svg{width:2rem;height:2rem;margin-top:10px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .inpainting-settings{display:flex;flex-wrap:wrap;row-gap:10px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .workarea-children-wrapper .inpainting-canvas-area .konvajs-content{height:400px!important}#root .app-content .app-tabs .app-tabs-panels .workarea-main .image-gallery-wrapper{grid-area:gallery;min-height:400px}#root .app-content .app-tabs .app-tabs-panels .workarea-main .image-gallery-wrapper .image-gallery-popup{width:100%!important;max-width:100%!important}}svg{fill:var(--svg-color)}.App{display:grid;width:100vw;height:100vh;background-color:var(--background-color)}.app-content{display:grid;row-gap:1rem;padding:1rem;grid-auto-rows:min-content auto;width:calc(100vw + -0px);height:calc(100vh - .3rem)}.site-header{display:grid;grid-template-columns:auto max-content}.site-header-left-side{display:flex;align-items:center;column-gap:.7rem;padding-left:.5rem}.site-header-left-side img{width:32px;height:32px}.site-header-right-side{display:flex;align-items:center;column-gap:.5rem}.site-header-right-side .lang-select-btn[data-selected=true],.site-header-right-side .lang-select-btn[data-selected=true]:hover{background-color:var(--accent-color)}.status{font-size:.8rem;font-weight:700}.status-good{color:var(--status-good-color);text-shadow:0 0 10px var(--status-good-glow)}.status-bad{color:var(--status-bad-color);text-shadow:0 0 10px var(--status-bad-glow)}.status-working{color:var(--status-working-color);text-shadow:0 0 10px var(--status-working-glow)}.settings-modal{max-height:36rem;font-family:Inter}.settings-modal .settings-modal-content{display:grid;row-gap:2rem;overflow-y:scroll}.settings-modal .settings-modal-header{font-weight:700}.settings-modal .settings-modal-items{display:grid;row-gap:.5rem}.settings-modal .settings-modal-items .settings-modal-item{display:grid;grid-auto-flow:column;background-color:var(--background-color);padding:.4rem 1rem;border-radius:.5rem;align-items:center;width:100%}.settings-modal .settings-modal-reset{display:grid;row-gap:1rem}.settings-modal .settings-modal-reset button{min-width:100%;min-height:100%;background-color:var(--destructive-color)!important}.settings-modal .settings-modal-reset button:hover{background-color:var(--destructive-color-hover)}.settings-modal .settings-modal-reset button:disabled{background-color:var(--btn-base-color)}.settings-modal .settings-modal-reset button:disabled:hover{background-color:var(--btn-base-color)}.settings-modal .settings-modal-reset button svg{width:20px;height:20px;color:var(--btn-svg-color)}.add-model-modal{display:flex}.add-model-modal-body{display:flex;flex-direction:column;row-gap:1rem;padding-bottom:2rem}.add-model-form{display:flex;flex-direction:column;row-gap:.5rem}.hotkeys-modal{width:36rem;max-width:36rem;display:grid;padding:1rem;row-gap:1rem;font-family:Inter}.hotkeys-modal h1{font-size:1.2rem;font-weight:700}.hotkeys-modal h2{font-weight:700}.hotkeys-modal-button{display:flex;align-items:center;justify-content:space-between}.hotkeys-modal-items{max-height:36rem;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.hotkeys-modal-items::-webkit-scrollbar{display:none}.hotkeys-modal-items .chakra-accordion{display:grid;row-gap:.5rem}.hotkeys-modal-items .chakra-accordion__item{border:none;border-radius:.3rem;background-color:var(--tab-hover-color)}.hotkeys-modal-items button{border-radius:.3rem}.hotkeys-modal-items button[aria-expanded=true]{background-color:var(--tab-hover-color);border-radius:.3rem}.hotkey-modal-category{display:grid;row-gap:.5rem}.hotkey-modal-item{display:grid;grid-template-columns:auto max-content;justify-content:space-between;align-items:center;background-color:var(--background-color);padding:.5rem 1rem;border-radius:.3rem}.hotkey-modal-item .hotkey-info{display:grid}.hotkey-modal-item .hotkey-info .hotkey-title{font-weight:700}.hotkey-modal-item .hotkey-info .hotkey-description{font-size:.9rem;color:var(--text-color-secondary)}.hotkey-modal-item .hotkey-key{font-size:.8rem;font-weight:700;background-color:var(--background-color-light);padding:.2rem .5rem;border-radius:.3rem}.console{width:100vw;display:flex;flex-direction:column;background:var(--console-bg-color);overflow:auto;direction:column;font-family:monospace;padding:0 1rem 1rem 3rem;border-top-width:.3rem;border-color:var(--resizeable-handle-border-color)}.console .console-info-color{color:var(--error-level-info)}.console .console-warning-color{color:var(--error-level-warning)}.console .console-error-color{color:var(--status-bad-color)}.console .console-entry{display:flex;column-gap:.5rem}.console .console-entry .console-timestamp{font-weight:semibold}.console .console-entry .console-message{word-break:break-all}.console-toggle-icon-button{background:var(--console-icon-button-bg-color);position:fixed;left:.5rem;bottom:.5rem;z-index:10000}.console-toggle-icon-button:hover{background:var(--console-icon-button-bg-color-hover)}.console-toggle-icon-button[data-error-seen=true],.console-toggle-icon-button[data-error-seen=true]:hover{background:var(--status-bad-color)}.console-autoscroll-icon-button{background:var(--console-icon-button-bg-color);position:fixed;left:.5rem;bottom:3rem;z-index:10000}.console-autoscroll-icon-button:hover{background:var(--console-icon-button-bg-color-hover)}.console-autoscroll-icon-button[data-autoscroll-enabled=true]{background:var(--accent-color)}.console-autoscroll-icon-button[data-autoscroll-enabled=true]:hover{background:var(--accent-color-hover)}.progress-bar{background-color:var(--root-bg-color);height:.3rem;z-index:99}.progress-bar div{background-color:var(--progress-bar-color);transition:width .2s ease-in-out}.progress-bar div[data-indeterminate]{background-color:unset;background-image:linear-gradient(to right,transparent 0%,var(--progress-bar-color) 50%,transparent 100%)}.prompt-bar{display:grid;row-gap:1rem}.prompt-bar input,.prompt-bar textarea{background-color:var(--prompt-bg-color);font-size:1rem;border:2px solid var(--border-color)}.prompt-bar input:hover,.prompt-bar textarea:hover{border:2px solid var(--border-color-light)}.prompt-bar input:focus-visible,.prompt-bar textarea:focus-visible{border:2px solid var(--input-border-color);box-shadow:0 0 10px 0 var(--input-box-shadow-color)}.prompt-bar input[aria-invalid=true],.prompt-bar textarea[aria-invalid=true]{border:2px solid var(--border-color-invalid);box-shadow:0 0 10px 0 var(--box-shadow-color-invalid)}.prompt-bar input:disabled,.prompt-bar textarea:disabled{border:2px solid var(--border-color);box-shadow:none}.prompt-bar textarea{min-height:10rem}.process-buttons{display:flex;column-gap:.5rem}.invoke-btn{flex-grow:1;width:100%;min-width:100%;min-height:100%;background-color:var(--accent-color)!important}.invoke-btn:hover{background-color:var(--accent-color-hover)}.invoke-btn:disabled{background-color:var(--btn-base-color)}.invoke-btn:disabled:hover{background-color:var(--btn-base-color)}.invoke-btn svg{width:16px;height:16px;color:var(--btn-svg-color)}.cancel-btn{min-width:3rem;min-height:100%;background-color:var(--destructive-color)!important}.cancel-btn:hover{background-color:var(--destructive-color-hover)}.cancel-btn:disabled{background-color:var(--btn-base-color)}.cancel-btn:disabled:hover{background-color:var(--btn-base-color)}.cancel-btn svg{width:20px;height:20px;color:var(--btn-svg-color)}.loopback-btn[data-as-checkbox=true]{background-color:var(--btn-btn-base-color);border:3px solid var(--btn-btn-base-color)}.loopback-btn[data-as-checkbox=true] svg{fill:var(--text-color)}.loopback-btn[data-as-checkbox=true]:hover{background-color:var(--btn-btn-base-color);border-color:var(--btn-checkbox-border-hover)}.loopback-btn[data-as-checkbox=true]:hover svg{fill:var(--text-color)}.loopback-btn[data-as-checkbox=true][data-selected=true]{border-color:var(--accent-color);background-color:var(--btn-btn-base-color)}.loopback-btn[data-as-checkbox=true][data-selected=true] svg{fill:var(--text-color)}.loopback-btn[data-as-checkbox=true][data-selected=true]:hover{border-color:var(--accent-color);background-color:var(--btn-btn-base-color)}.loopback-btn[data-as-checkbox=true][data-selected=true]:hover svg{fill:var(--text-color)}.main-settings,.main-settings-list{display:grid;row-gap:1rem}.main-settings-row{display:grid;grid-template-columns:repeat(3,auto);column-gap:.5rem;max-width:22.5rem}.main-settings-block{border-radius:.5rem;display:grid!important;grid-template-columns:auto!important;row-gap:.5rem}.main-settings-block .invokeai__number-input-form-label,.main-settings-block .invokeai__select-label{font-weight:700;font-size:.9rem!important}.main-settings-block .invokeai__select-label{margin:0}.advanced-parameters{padding-top:.5rem;display:grid;row-gap:.5rem}.advanced-parameters-item{display:grid;max-width:22.5rem;border:none;border-top:0px;border-radius:.4rem;background-color:var(--tab-panel-bg)}.advanced-parameters-item[aria-expanded=true]{background-color:var(--tab-hover-color);border-radius:0 0 .4rem .4rem}.advanced-parameters-panel{background-color:var(--tab-panel-bg);border-radius:0 0 .4rem .4rem;padding:1rem}.advanced-parameters-panel button{background-color:var(--btn-base-color)}.advanced-parameters-panel button:hover{background-color:var(--btn-base-color-hover)}.advanced-parameters-panel button:disabled:hover{background-color:var(--btn-base-color)}.advanced-parameters-header{border-radius:.4rem;font-weight:700}.advanced-parameters-header[aria-expanded=true]{background-color:var(--tab-hover-color);border-radius:.4rem .4rem 0 0}.advanced-parameters-header:hover{background-color:var(--tab-hover-color)}.inpainting-bounding-box-settings{display:flex;flex-direction:column;border-radius:.4rem;border:2px solid var(--tab-color)}.inpainting-bounding-box-header{background-color:var(--tab-color);display:flex;flex-direction:row;justify-content:space-between;padding:.5rem 1rem;border-radius:.3rem .3rem 0 0;align-items:center}.inpainting-bounding-box-header button{width:.5rem;height:1.2rem;background:none}.inpainting-bounding-box-header button:hover{background:none}.inpainting-bounding-box-settings-items{padding:1rem;display:flex;flex-direction:column;row-gap:1rem}.inpainting-bounding-box-settings-items .inpainting-bounding-box-reset-icon-btn{background-color:var(--btn-base-color)}.inpainting-bounding-box-settings-items .inpainting-bounding-box-reset-icon-btn:hover{background-color:var(--btn-base-color-hover)}.inpainting-bounding-box-dimensions-slider-numberinput{display:grid;grid-template-columns:repeat(3,auto);column-gap:1rem}.inpainting-bounding-box-darken{width:max-content}.current-image-area{display:flex;flex-direction:column;height:100%;row-gap:1rem;background-color:var(--background-color-secondary);border-radius:.5rem}.current-image-preview{position:relative;justify-content:center;align-items:center;display:flex;width:100%;height:100%}.current-image-preview img{border-radius:.5rem;object-fit:contain;max-width:100%;max-height:100%;height:auto;position:absolute}.current-image-metadata{grid-area:current-image-preview}.current-image-next-prev-buttons{grid-area:current-image-content;display:flex;justify-content:space-between;z-index:1;height:100%;width:100%;pointer-events:none}.next-prev-button-trigger-area{width:7rem;height:100%;width:15%;display:grid;align-items:center;pointer-events:auto}.next-prev-button-trigger-area.prev-button-trigger-area{justify-content:flex-start}.next-prev-button-trigger-area.next-button-trigger-area{justify-content:flex-end}.next-prev-button{font-size:4rem;fill:var(--white);filter:drop-shadow(0 0 1rem var(--text-color-secondary));opacity:70%}.current-image-display-placeholder{background-color:var(--background-color-secondary);display:grid;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:.5rem}.current-image-display-placeholder svg{width:10rem;height:10rem;color:var(--svg-color)}.current-image-options{width:100%;display:flex;justify-content:center;align-items:center;column-gap:.5em}.current-image-options .current-image-send-to-popover,.current-image-options .current-image-postprocessing-popover{display:flex;flex-direction:column;row-gap:.5rem;max-width:25rem}.current-image-options .current-image-send-to-popover .invokeai__button{place-content:start}.current-image-options .chakra-popover__popper{z-index:11}.current-image-options .delete-image-btn{background-color:var(--btn-base-color)}.current-image-options .delete-image-btn svg{fill:var(--btn-delete-image)}.image-gallery-wrapper-enter{transform:translate(150%)}.image-gallery-wrapper-enter-active{transform:translate(0);transition:all .12s ease-out}.image-gallery-wrapper-exit{transform:translate(0)}.image-gallery-wrapper-exit-active{transform:translate(150%);transition:all .12s ease-out}.image-gallery-wrapper[data-pinned=false]{position:fixed;height:100vh;top:0;right:0}.image-gallery-wrapper[data-pinned=false] .image-gallery-popup{border-radius:0;box-shadow:0 0 1rem var(--text-color-a3)}.image-gallery-wrapper[data-pinned=false] .image-gallery-popup .image-gallery-container{max-height:calc(100vh + 4.7rem)}.image-gallery-wrapper .image-gallery-popup{background-color:var(--background-color-secondary);padding:1rem;display:flex;flex-direction:column;row-gap:1rem;border-radius:.5rem;border-left-width:.3rem;border-color:var(--tab-list-text-inactive)}.image-gallery-wrapper .image-gallery-popup[data-resize-alert=true]{border-color:var(--status-bad-color)}.image-gallery-wrapper .image-gallery-popup .image-gallery-header{display:flex;align-items:center;column-gap:.5rem;justify-content:space-between}.image-gallery-wrapper .image-gallery-popup .image-gallery-header .image-gallery-header-right-icons{display:flex;flex-direction:row;column-gap:.5rem}.image-gallery-wrapper .image-gallery-popup .image-gallery-header .image-gallery-icon-btn{background-color:var(--btn-load-more)}.image-gallery-wrapper .image-gallery-popup .image-gallery-header .image-gallery-icon-btn:hover{background-color:var(--btn-load-more-hover)}.image-gallery-wrapper .image-gallery-popup .image-gallery-header .image-gallery-settings-popover{display:flex;flex-direction:column;row-gap:.5rem}.image-gallery-wrapper .image-gallery-popup .image-gallery-header .image-gallery-settings-popover div{display:flex;column-gap:.5rem;align-items:center;justify-content:space-between}.image-gallery-wrapper .image-gallery-popup .image-gallery-header h1{font-weight:700}.image-gallery-wrapper .image-gallery-popup .image-gallery-container{display:flex;flex-direction:column;max-height:calc(100vh - (70px + 7rem));overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.image-gallery-wrapper .image-gallery-popup .image-gallery-container::-webkit-scrollbar{display:none}.image-gallery-wrapper .image-gallery-popup .image-gallery-container .image-gallery-container-placeholder{display:flex;flex-direction:column;row-gap:.5rem;background-color:var(--background-color);border-radius:.5rem;place-items:center;padding:2rem;text-align:center}.image-gallery-wrapper .image-gallery-popup .image-gallery-container .image-gallery-container-placeholder p{color:var(--subtext-color-bright);font-family:Inter}.image-gallery-wrapper .image-gallery-popup .image-gallery-container .image-gallery-container-placeholder svg{width:4rem;height:4rem;color:var(--svg-color)}.image-gallery-wrapper .image-gallery-popup .image-gallery-container .image-gallery-load-more-btn{background-color:var(--btn-load-more);font-size:.85rem;padding:.5rem;margin-top:1rem}.image-gallery-wrapper .image-gallery-popup .image-gallery-container .image-gallery-load-more-btn:disabled:hover{background-color:var(--btn-load-more)}.image-gallery-wrapper .image-gallery-popup .image-gallery-container .image-gallery-load-more-btn:hover{background-color:var(--btn-load-more-hover)}.image-gallery-category-btn-group{width:max-content;column-gap:0;justify-content:stretch}.image-gallery-category-btn-group button{background-color:var(--btn-base-color);flex-grow:1}.image-gallery-category-btn-group button:hover{background-color:var(--btn-base-color-hover)}.image-gallery-category-btn-group button[data-selected=true]{background-color:var(--accent-color)}.image-gallery-category-btn-group button[data-selected=true]:hover{background-color:var(--accent-color-hover)}.image-gallery{display:grid;grid-gap:.5rem}.image-gallery .hoverable-image{padding:.5rem;position:relative}.image-gallery .hoverable-image:before{content:"";display:block;padding-bottom:100%}.image-gallery .hoverable-image .hoverable-image-image{position:absolute;max-width:100%;top:50%;left:50%;transform:translate(-50%,-50%)}.hoverable-image{display:flex;justify-content:center;transition:transform .2s ease-out}.hoverable-image:hover{cursor:pointer;border-radius:.5rem;z-index:2}.hoverable-image .hoverable-image-image{width:100%;height:100%;max-width:100%;max-height:100%}.hoverable-image .hoverable-image-delete-button{position:absolute;top:.25rem;right:.25rem}.hoverable-image .hoverable-image-content{display:flex;position:absolute;top:0;left:0;width:100%;height:100%;align-items:center;justify-content:center}.hoverable-image .hoverable-image-content .hoverable-image-check{fill:var(--status-good-color)}.hoverable-image .hoverable-image-icons{position:absolute;bottom:-2rem;display:grid;width:min-content;grid-template-columns:repeat(2,max-content);border-radius:.4rem;background-color:var(--background-color-secondary);padding:.2rem;gap:.2rem;grid-auto-rows:max-content}.hoverable-image .hoverable-image-icons button{width:12px;height:12px;border-radius:.2rem;padding:10px 0;flex-shrink:2}.hoverable-image .hoverable-image-icons button svg{width:12px;height:12px}.hoverable-image-context-menu{z-index:15;padding:.4rem;border-radius:.25rem;background-color:var(--context-menu-bg-color);box-shadow:var(--context-menu-box-shadow)}.hoverable-image-context-menu [role=menuitem]{font-size:.8rem;line-height:1rem;border-radius:3px;display:flex;align-items:center;height:1.75rem;padding:0 .5rem;position:relative;user-select:none;cursor:pointer;outline:none}.hoverable-image-context-menu [role=menuitem][data-disabled]{color:gray;pointer-events:none;cursor:not-allowed}.hoverable-image-context-menu [role=menuitem][data-warning]{color:var(--status-bad-color)}.hoverable-image-context-menu [role=menuitem][data-highlighted]{background-color:var(--context-menu-bg-color-hover)}.image-metadata-viewer{position:absolute;top:0;width:100%;border-radius:.5rem;padding:1rem;background-color:var(--metadata-bg-color);overflow:scroll;max-height:calc(100vh - (70px + 5.4rem));height:100%;z-index:10}.image-json-viewer{border-radius:.5rem;margin:0 .5rem 1rem;padding:1rem;overflow-x:scroll;word-break:break-all;background-color:var(--metadata-json-bg-color)}.lightbox-container{width:100%;height:100%;color:var(--text-color);overflow:hidden;position:absolute;left:0;top:0;background-color:var(--background-color-secondary);z-index:30;animation:popIn .3s ease-in}.lightbox-container .image-gallery-wrapper{max-height:100%!important}.lightbox-container .image-gallery-wrapper .image-gallery-container{max-height:calc(100vh - 5rem)}.lightbox-container .current-image-options{z-index:2;position:absolute;top:1rem}.lightbox-container .image-metadata-viewer{left:0;max-height:100%}.lightbox-close-btn{z-index:3;position:absolute;left:1rem;top:1rem;background-color:var(--btn-base-color)}.lightbox-close-btn:hover{background-color:var(--btn-base-color-hover)}.lightbox-close-btn:disabled:hover{background-color:var(--btn-base-color)}.lightbox-display-container{display:flex;flex-direction:row}.lightbox-preview-wrapper{overflow:hidden;background-color:var(--background-color-secondary);display:grid;grid-template-columns:auto max-content;place-items:center;width:100vw;height:100vh}.lightbox-preview-wrapper .current-image-next-prev-buttons{position:absolute}.lightbox-preview-wrapper .lightbox-image{grid-area:lightbox-content;border-radius:.5rem}.lightbox-preview-wrapper .lightbox-image-options{position:absolute;z-index:2;left:1rem;top:4.5rem;user-select:none;border-radius:.5rem;display:flex;flex-direction:column;row-gap:.5rem}@keyframes popIn{0%{opacity:0;filter:blur(100)}to{opacity:1;filter:blur(0)}}.app-tabs{display:grid;grid-template-columns:min-content auto;column-gap:1rem;height:calc(100vh - (70px + 1rem))}.app-tabs-list{display:grid;row-gap:.3rem;grid-auto-rows:min-content;color:var(--tab-list-text-inactive)}.app-tabs-list button{font-size:.85rem;padding:.5rem}.app-tabs-list button:hover{background-color:var(--tab-hover-color);border-radius:.3rem}.app-tabs-list button svg{width:24px;height:24px}.app-tabs-list button[aria-selected=true]{background-color:var(--tab-list-bg);color:var(--tab-list-text);font-weight:700;border-radius:.3rem;border:none}.app-tabs-panels .app-tabs-panel{padding:0;height:100%}.workarea-wrapper{position:relative;width:100%;height:100%}.workarea-wrapper .workarea-main{display:flex;column-gap:1rem;height:100%}.workarea-wrapper .workarea-main .workarea-children-wrapper{position:relative;width:100%;height:100%}.workarea-wrapper .workarea-main .workarea-split-view{width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr;background-color:var(--background-color-secondary);border-radius:.5rem}.workarea-wrapper .workarea-main .workarea-split-view .workarea-split-view-left{padding-right:.5rem}.workarea-wrapper .workarea-main .workarea-split-view .workarea-split-view-right{padding-left:.5rem}.workarea-wrapper .workarea-main .workarea-single-view{width:100%;height:100%;background-color:var(--background-color-secondary);border-radius:.5rem}.workarea-wrapper .workarea-main .workarea-split-view-left,.workarea-wrapper .workarea-main .workarea-split-view-right{display:flex;flex-direction:column;height:100%;width:100%;row-gap:1rem;background-color:var(--background-color-secondary);border-radius:.5rem;padding:1rem}.workarea-split-button{position:absolute;cursor:pointer;padding:.5rem;top:0;right:0}.workarea-split-button[data-selected=true]{top:0;right:0}.workarea-split-button[data-selected=true] svg{opacity:1}.workarea-split-button svg{opacity:.5}.parameters-panel-wrapper-enter{transform:translate(-150%)}.parameters-panel-wrapper-enter-active{transform:translate(0);transition:all .12s ease-out}.parameters-panel-wrapper-exit{transform:translate(0)}.parameters-panel-wrapper-exit-active{transform:translate(-150%);transition:all .12s ease-out}.parameters-panel-wrapper{background-color:var(--background-color);height:calc(100vh - (70px + 1rem));width:22.5rem;max-width:22.5rem;flex-shrink:0;position:relative;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.parameters-panel-wrapper::-webkit-scrollbar{display:none}.parameters-panel-wrapper .parameters-panel{display:flex;flex-direction:column;row-gap:.5rem;height:100%;-ms-overflow-style:none;scrollbar-width:none;background-color:var(--background-color)}.parameters-panel-wrapper .parameters-panel::-webkit-scrollbar{display:none}.parameters-panel-wrapper[data-pinned=false]{z-index:20;position:fixed;top:0;left:0;filter:var(--floating-panel-drop-shadow);width:24.5rem;max-width:24.5rem;height:100%}.parameters-panel-wrapper[data-pinned=false] .parameters-panel-margin{margin:1rem}.parameters-panel-wrapper .parameters-panel-pin-button{position:absolute;cursor:pointer;padding:.5rem;top:1rem;right:1rem;z-index:20}.parameters-panel-wrapper .parameters-panel-pin-button[data-selected=true]{top:0;right:0}.parameters-panel-wrapper .parameters-panel-pin-button svg{opacity:.5}.invoke-ai-logo-wrapper{display:flex;align-items:center;column-gap:.7rem;padding-left:.5rem;padding-top:.3rem}.invoke-ai-logo-wrapper img{width:32px;height:32px}.invoke-ai-logo-wrapper h1{font-size:1.4rem}.text-to-image-area{padding:1rem;height:100%}.image-to-image-area{display:flex;flex-direction:column;row-gap:1rem;width:100%;height:100%}.image-to-image-strength-main-option{display:flex;row-gap:.5rem!important}.image-to-image-strength-main-option .invokeai__slider-component-label{color:var(--text-color-secondary);font-size:.9rem!important}.init-image-preview-header{display:flex;align-items:center;justify-content:space-between;width:100%}.init-image-preview-header h2{font-weight:700;font-size:.9rem}.init-image-preview{position:relative;height:100%;width:100%;display:flex;align-items:center;justify-content:center}.init-image-preview img{border-radius:.5rem;object-fit:contain;position:absolute}.image-to-image-current-image-display{position:relative}.floating-show-hide-button{position:absolute;top:50%;transform:translateY(-50%);z-index:20;padding:0;background-color:red!important;min-width:2rem;min-height:12rem;background-color:var(--btn-btn-base-color)!important}.floating-show-hide-button.left{left:0;border-radius:0 .5rem .5rem 0}.floating-show-hide-button.right{right:0;border-radius:.5rem 0 0 .5rem}.floating-show-hide-button:hover{background-color:var(--btn-btn-base-color-hover)}.floating-show-hide-button:disabled{background-color:var(--btn-base-color)}.floating-show-hide-button:disabled:hover{background-color:var(--btn-base-color)}.floating-show-hide-button svg{width:20px;height:20px;color:var(--btn-svg-color)}.show-hide-button-options{position:absolute;transform:translateY(-50%);z-index:20;min-width:2rem;top:50%;left:calc(42px + 2rem);border-radius:0 .5rem .5rem 0;display:flex;flex-direction:column;row-gap:.5rem}.show-hide-button-options button{border-radius:0 .3rem .3rem 0}.show-hide-button-gallery{padding-left:.75rem;padding-right:.75rem;background-color:var(--background-color)!important}.inpainting-main-area{display:flex;flex-direction:column;align-items:center;row-gap:1rem;width:100%;height:100%}.inpainting-main-area .inpainting-settings{display:flex;align-items:center;column-gap:.5rem}.inpainting-main-area .inpainting-settings svg{transform:scale(.9)}.inpainting-main-area .inpainting-settings .inpainting-buttons-group{display:flex;align-items:center;column-gap:.5rem}.inpainting-main-area .inpainting-settings .inpainting-button-dropdown{display:flex;flex-direction:column;row-gap:.5rem}.inpainting-main-area .inpainting-settings .inpainting-color-picker{margin-left:1rem}.inpainting-main-area .inpainting-settings .inpainting-brush-options{display:flex;align-items:center;column-gap:1rem}.inpainting-canvas-area{display:flex;flex-direction:column;align-items:center;justify-content:center;row-gap:1rem;width:100%;height:100%}.inpainting-canvas-spiner{display:flex;align-items:center;width:100%;height:100%}.inpainting-canvas-container{display:flex;position:relative;height:100%;width:100%;border-radius:.5rem}.inpainting-canvas-wrapper{position:relative}.inpainting-canvas-stage{outline:none;border-radius:.5rem;box-shadow:0 0 0 1px var(--border-color-light);overflow:hidden}.inpainting-canvas-stage canvas{outline:none;border-radius:.5rem}.inpainting-options-btn{min-height:2rem}.canvas-status-text{position:absolute;top:0;left:0;background-color:var(--background-color);opacity:.65;display:flex;flex-direction:column;font-size:.8rem;padding:.25rem;min-width:12rem;border-radius:.25rem;margin:.25rem;pointer-events:none}.invokeai__number-input-form-control{display:flex;align-items:center;column-gap:1rem}.invokeai__number-input-form-control .invokeai__number-input-form-label{color:var(--text-color-secondary)}.invokeai__number-input-form-control .invokeai__number-input-form-label[data-focus]+.invokeai__number-input-root{outline:none;border:2px solid var(--input-border-color);box-shadow:0 0 10px 0 var(--input-box-shadow-color)}.invokeai__number-input-form-control .invokeai__number-input-form-label[aria-invalid=true]+.invokeai__number-input-root{outline:none;border:2px solid var(--border-color-invalid);box-shadow:0 0 10px 0 var(--box-shadow-color-invalid)}.invokeai__number-input-form-control .invokeai__number-input-root{height:2rem;display:grid;grid-template-columns:auto max-content;column-gap:.5rem;align-items:center;background-color:var(--background-color-secondary);border:2px solid var(--border-color);border-radius:.3rem}.invokeai__number-input-form-control .invokeai__number-input-field{border:none;font-weight:700;width:100%;height:auto;font-size:.9rem;padding:0 .5rem}.invokeai__number-input-form-control .invokeai__number-input-field:focus{outline:none;box-shadow:none}.invokeai__number-input-form-control .invokeai__number-input-field:disabled{opacity:.2}.invokeai__number-input-form-control .invokeai__number-input-stepper{display:grid;padding-right:.5rem}.invokeai__number-input-form-control .invokeai__number-input-stepper .invokeai__number-input-stepper-button{border:none;padding:0 .5rem;margin:0 -.5rem}.invokeai__number-input-form-control .invokeai__number-input-stepper .invokeai__number-input-stepper-button svg{width:10px;height:10px}.input{display:grid;grid-template-columns:max-content auto;column-gap:1rem;align-items:center}.input .input-label{color:var(--text-color-secondary)}.input .input-entry{background-color:var(--background-color-secondary);border:2px solid var(--border-color);border-radius:.2rem;font-weight:700}.input .input-entry:focus{outline:none;border:2px solid var(--input-border-color);box-shadow:0 0 10px 0 var(--input-box-shadow-color)}.input .input-entry:disabled{opacity:.2}.input .input-entry[aria-invalid=true]{outline:none;border:2px solid var(--border-color-invalid);box-shadow:0 0 10px 0 var(--box-shadow-color-invalid)}.invokeai__icon-button{background:var(--btn-base-color);cursor:pointer}.invokeai__icon-button:hover{background-color:var(--btn-base-color-hover)}.invokeai__icon-button[data-selected=true]{background-color:var(--accent-color)}.invokeai__icon-button[data-selected=true]:hover{background-color:var(--accent-color-hover)}.invokeai__icon-button[disabled]{cursor:not-allowed}.invokeai__icon-button[data-variant=link],.invokeai__icon-button[data-variant=link]:hover{background:none}.invokeai__icon-button[data-as-checkbox=true]{background-color:var(--btn-base-color);border:3px solid var(--btn-base-color)}.invokeai__icon-button[data-as-checkbox=true] svg{fill:var(--text-color)}.invokeai__icon-button[data-as-checkbox=true]:hover{background-color:var(--btn-base-color);border-color:var(--btn-checkbox-border-hover)}.invokeai__icon-button[data-as-checkbox=true]:hover svg{fill:var(--text-color)}.invokeai__icon-button[data-as-checkbox=true][data-selected=true]{border-color:var(--accent-color)}.invokeai__icon-button[data-as-checkbox=true][data-selected=true] svg{fill:var(--accent-color-hover)}.invokeai__icon-button[data-as-checkbox=true][data-selected=true]:hover svg{fill:var(--accent-color-hover)}.invokeai__icon-button[data-alert=true]{animation-name:pulseColor;animation-duration:1s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.invokeai__icon-button[data-alert=true]:hover{animation:none;background-color:var(--accent-color-hover)}@keyframes pulseColor{0%{background-color:var(--accent-color)}50%{background-color:var(--accent-color-dim)}to{background-color:var(--accent-color)}}.invokeai__button{background-color:var(--btn-base-color);place-content:center}.invokeai__button:hover{background-color:var(--btn-base-color-hover)}.invokeai__switch-form-control .invokeai__switch-form-label{color:var(--text-color-secondary)}.invokeai__switch-form-control .invokeai__switch-root span{background-color:var(--switch-bg-color)}.invokeai__switch-form-control .invokeai__switch-root span span{background-color:var(--white)}.invokeai__switch-form-control .invokeai__switch-root[data-checked] span{background:var(--switch-bg-active-color)}.invokeai__switch-form-control .invokeai__switch-root[data-checked] span span{background-color:var(--white)}.invokeai__select{display:flex;column-gap:1rem;align-items:center}.invokeai__select .invokeai__select-label{color:var(--text-color-secondary)}.invokeai__select .invokeai__select-picker{border:2px solid var(--border-color);background-color:var(--background-color-secondary);font-weight:700;font-size:.9rem;height:2rem;border-radius:.2rem}.invokeai__select .invokeai__select-picker:focus{outline:none;border:2px solid var(--input-border-color);box-shadow:0 0 10px 0 var(--input-box-shadow-color)}.invokeai__select .invokeai__select-option{background-color:var(--background-color-secondary);color:var(--text-color-secondary)}.invokeai__slider-component{padding-bottom:.5rem;border-radius:.5rem}.invokeai__slider-component .invokeai__slider-component-label{min-width:max-content;margin:0;font-weight:700;color:var(--text-color-secondary)}.invokeai__slider-component .invokeai__slider_track{background-color:var(--tab-color)}.invokeai__slider-component .invokeai__slider_track-filled{background-color:var(--slider-color)}.invokeai__slider-component .invokeai__slider-thumb{width:4px}.invokeai__slider-component .invokeai__slider-mark{font-size:.75rem;font-weight:700;color:var(--slider-mark-color);margin-top:.3rem}.invokeai__slider-component .invokeai__slider-number-input{border:none;font-size:.9rem;font-weight:700;height:2rem;background-color:var(--background-color-secondary);border:2px solid var(--border-color)}.invokeai__slider-component .invokeai__slider-number-input:focus{outline:none;box-shadow:none;border:2px solid var(--input-border-color);box-shadow:0 0 10px 0 var(--input-box-shadow-color)}.invokeai__slider-component .invokeai__slider-number-input:disabled{opacity:.2}.invokeai__slider-component .invokeai__slider-number-stepper{border:none}.invokeai__slider-component[data-markers=true] .invokeai__slider_container{margin-top:-1rem}.invokeai__checkbox .chakra-checkbox__label{margin-top:1px;color:var(--text-color-secondary);font-size:.9rem}.invokeai__checkbox .chakra-checkbox__control{width:1rem;height:1rem;border:none;border-radius:.2rem;background-color:var(--input-checkbox-bg)}.invokeai__checkbox .chakra-checkbox__control svg{width:.6rem;height:.6rem;stroke-width:3px}.invokeai__checkbox .chakra-checkbox__control[data-checked]{color:var(--text-color);background-color:var(--input-checkbox-checked-bg)}.invokeai__popover-content{min-width:unset;width:unset;padding:1rem;border-radius:.5rem;background-color:var(--background-color);border:2px solid var(--border-color)}.invokeai__popover-content .invokeai__popover-arrow{background-color:var(--background-color)!important}.invokeai__color-picker .react-colorful__hue-pointer,.invokeai__color-picker .react-colorful__saturation-pointer{width:1.5rem;height:1.5rem;border-color:var(--white)}.dropzone-container{position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:999;backdrop-filter:blur(20px)}.dropzone-container .dropzone-overlay{opacity:.5;width:100%;height:100%;display:flex;flex-direction:column;row-gap:1rem;align-items:center;justify-content:center;background-color:var(--background-color)}.dropzone-container .dropzone-overlay.is-drag-accept{box-shadow:inset 0 0 20rem 1rem var(--accent-color)}.dropzone-container .dropzone-overlay.is-drag-reject{box-shadow:inset 0 0 20rem 1rem var(--status-bad-color)}.dropzone-container .dropzone-overlay.is-handling-upload{box-shadow:inset 0 0 20rem 1rem var(--status-working-color)}.image-uploader-button-outer{width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:.5rem;color:var(--tab-list-text-inactive);background-color:var(--background-color)}.image-uploader-button-outer:hover{background-color:var(--background-color-light)}.image-upload-button-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.image-upload-button{display:flex;flex-direction:column;row-gap:2rem;align-items:center;justify-content:center;text-align:center}.image-upload-button svg{width:4rem;height:4rem}.image-upload-button h2{font-size:1.2rem}.work-in-progress{display:grid;width:100%;height:calc(100vh - (70px + 1rem));grid-auto-rows:max-content;background-color:var(--background-color-secondary);border-radius:.4rem;place-content:center;place-items:center;row-gap:1rem}.work-in-progress h1{font-size:2rem;font-weight:700}.work-in-progress p{text-align:center;max-width:50rem;color:var(--subtext-color-bright)}.guide-popover-arrow{background-color:var(--tab-panel-bg);box-shadow:none}.guide-popover-content{background-color:var(--background-color-secondary);border:none}.guide-popover-guide-content{background:var(--tab-panel-bg);border:2px solid var(--tab-hover-color);border-radius:.4rem;padding:.75rem 1rem;display:grid;grid-template-rows:repeat(auto-fill,1fr);grid-row-gap:.5rem;justify-content:space-between}.modal{background-color:var(--background-color-secondary);color:var(--text-color);font-family:Inter}.modal-close-btn{background-color:var(--btn-base-color)}.modal-close-btn:hover{background-color:var(--btn-base-color-hover)}.modal-close-btn:disabled:hover{background-color:var(--btn-base-color)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{-ms-overflow-style:none;scrollbar-width:none;background-color:var(--root-bg-color);overflow:hidden}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}#root{background-color:var(--root-bg-color);color:var(--text-color);font-family:Inter,Arial,Helvetica,sans-serif} diff --git a/invokeai/frontend/dist/assets/index-b43b7aa8.js b/invokeai/frontend/dist/assets/index-b43b7aa8.js new file mode 100644 index 00000000000..e6e45435d20 --- /dev/null +++ b/invokeai/frontend/dist/assets/index-b43b7aa8.js @@ -0,0 +1,624 @@ +function _j(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 a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).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 wo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function w7(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var g={},JQ={get exports(){return g},set exports(e){g=e}},G3={},S={},eJ={get exports(){return S},set exports(e){S=e}},Jt={};/** + * @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 Vy=Symbol.for("react.element"),tJ=Symbol.for("react.portal"),nJ=Symbol.for("react.fragment"),rJ=Symbol.for("react.strict_mode"),iJ=Symbol.for("react.profiler"),oJ=Symbol.for("react.provider"),aJ=Symbol.for("react.context"),sJ=Symbol.for("react.forward_ref"),lJ=Symbol.for("react.suspense"),uJ=Symbol.for("react.memo"),cJ=Symbol.for("react.lazy"),wT=Symbol.iterator;function dJ(e){return e===null||typeof e!="object"?null:(e=wT&&e[wT]||e["@@iterator"],typeof e=="function"?e:null)}var kj={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ej=Object.assign,Pj={};function a0(e,t,n){this.props=e,this.context=t,this.refs=Pj,this.updater=n||kj}a0.prototype.isReactComponent={};a0.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")};a0.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Tj(){}Tj.prototype=a0.prototype;function C7(e,t,n){this.props=e,this.context=t,this.refs=Pj,this.updater=n||kj}var _7=C7.prototype=new Tj;_7.constructor=C7;Ej(_7,a0.prototype);_7.isPureReactComponent=!0;var CT=Array.isArray,Mj=Object.prototype.hasOwnProperty,k7={current:null},Lj={key:!0,ref:!0,__self:!0,__source:!0};function Aj(e,t,n){var r,i={},o=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(o=""+t.key),t)Mj.call(t,r)&&!Lj.hasOwnProperty(r)&&(i[r]=t[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(10?Vi(s0,--ea):0,jm--,ri===10&&(jm=1,K3--),ri}function Ea(){return ri=ea2||ey(ri)>3?"":" "}function IJ(e,t){for(;--t&&Ea()&&!(ri<48||ri>102||ri>57&&ri<65||ri>70&&ri<97););return Gy(e,Ax()+(t<6&&Ul()==32&&Ea()==32))}function v6(e){for(;Ea();)switch(ri){case e:return ea;case 34:case 39:e!==34&&e!==39&&v6(ri);break;case 40:e===41&&v6(e);break;case 92:Ea();break}return ea}function DJ(e,t){for(;Ea()&&e+ri!==47+10;)if(e+ri===42+42&&Ul()===47)break;return"/*"+Gy(t,ea-1)+"*"+q3(e===47?e:Ea())}function jJ(e){for(;!ey(Ul());)Ea();return Gy(e,ea)}function NJ(e){return $j(Rx("",null,null,null,[""],e=Nj(e),0,[0],e))}function Rx(e,t,n,r,i,o,a,s,l){for(var u=0,d=0,h=a,m=0,y=0,b=0,w=1,E=1,_=1,k=0,T="",L=i,O=o,D=r,I=T;E;)switch(b=k,k=Ea()){case 40:if(b!=108&&Vi(I,h-1)==58){m6(I+=kn(Ox(k),"&","&\f"),"&\f")!=-1&&(_=-1);break}case 34:case 39:case 91:I+=Ox(k);break;case 9:case 10:case 13:case 32:I+=RJ(b);break;case 92:I+=IJ(Ax()-1,7);continue;case 47:switch(Ul()){case 42:case 47:gb($J(DJ(Ea(),Ax()),t,n),l);break;default:I+="/"}break;case 123*w:s[u++]=Il(I)*_;case 125*w:case 59:case 0:switch(k){case 0:case 125:E=0;case 59+d:y>0&&Il(I)-h&&gb(y>32?ET(I+";",r,n,h-1):ET(kn(I," ","")+";",r,n,h-2),l);break;case 59:I+=";";default:if(gb(D=kT(I,t,n,u,d,i,s,T,L=[],O=[],h),o),k===123)if(d===0)Rx(I,t,D,D,L,o,h,s,O);else switch(m===99&&Vi(I,3)===110?100:m){case 100:case 109:case 115:Rx(e,D,D,r&&gb(kT(e,D,D,0,0,i,s,T,i,L=[],h),O),i,O,h,s,r?L:O);break;default:Rx(I,D,D,D,[""],O,0,s,O)}}u=d=y=0,w=_=1,T=I="",h=a;break;case 58:h=1+Il(I),y=b;default:if(w<1){if(k==123)--w;else if(k==125&&w++==0&&OJ()==125)continue}switch(I+=q3(k),k*w){case 38:_=d>0?1:(I+="\f",-1);break;case 44:s[u++]=(Il(I)-1)*_,_=1;break;case 64:Ul()===45&&(I+=Ox(Ea())),m=Ul(),d=h=Il(T=I+=jJ(Ax())),k++;break;case 45:b===45&&Il(I)==2&&(w=0)}}return o}function kT(e,t,n,r,i,o,a,s,l,u,d){for(var h=i-1,m=i===0?o:[""],y=M7(m),b=0,w=0,E=0;b0?m[_]+" "+k:kn(k,/&\f/g,m[_])))&&(l[E++]=T);return Y3(e,t,n,i===0?P7:s,l,u,d)}function $J(e,t,n){return Y3(e,t,n,Rj,q3(AJ()),J1(e,2,-2),0)}function ET(e,t,n,r){return Y3(e,t,n,T7,J1(e,0,r),J1(e,r+1,-1),r)}function dm(e,t){for(var n="",r=M7(e),i=0;i6)switch(Vi(e,t+1)){case 109:if(Vi(e,t+4)!==45)break;case 102:return kn(e,/(.+:)(.+)-([^]+)/,"$1"+bn+"$2-$3$1"+yS+(Vi(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~m6(e,"stretch")?Bj(kn(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Vi(e,t+1)!==115)break;case 6444:switch(Vi(e,Il(e)-3-(~m6(e,"!important")&&10))){case 107:return kn(e,":",":"+bn)+e;case 101:return kn(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+bn+(Vi(e,14)===45?"inline-":"")+"box$3$1"+bn+"$2$3$1"+ro+"$2box$3")+e}break;case 5936:switch(Vi(e,t+11)){case 114:return bn+e+ro+kn(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return bn+e+ro+kn(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return bn+e+ro+kn(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return bn+e+ro+e+e}return e}var qJ=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case T7:t.return=Bj(t.value,t.length);break;case Ij:return dm([Av(t,{value:kn(t.value,"@","@"+bn)})],i);case P7:if(t.length)return LJ(t.props,function(o){switch(MJ(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return dm([Av(t,{props:[kn(o,/:(read-\w+)/,":"+yS+"$1")]})],i);case"::placeholder":return dm([Av(t,{props:[kn(o,/:(plac\w+)/,":"+bn+"input-$1")]}),Av(t,{props:[kn(o,/:(plac\w+)/,":"+yS+"$1")]}),Av(t,{props:[kn(o,/:(plac\w+)/,ro+"input-$1")]})],i)}return""})}},KJ=[qJ],zj=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(w){var E=w.getAttribute("data-emotion");E.indexOf(" ")!==-1&&(document.head.appendChild(w),w.setAttribute("data-s",""))})}var i=t.stylisPlugins||KJ,o={},a,s=[];a=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(w){for(var E=w.getAttribute("data-emotion").split(" "),_=1;_=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 aee={animationIterationCount: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},see=/[A-Z]|^ms/g,lee=/_EMO_([^_]+?)_([^]*?)_EMO_/g,qj=function(t){return t.charCodeAt(1)===45},MT=function(t){return t!=null&&typeof t!="boolean"},l5=Fj(function(e){return qj(e)?e:e.replace(see,"-$&").toLowerCase()}),LT=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(lee,function(r,i,o){return Dl={name:i,styles:o,next:Dl},i})}return aee[t]!==1&&!qj(t)&&typeof n=="number"&&n!==0?n+"px":n};function ty(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 Dl={name:n.name,styles:n.styles,next:Dl},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)Dl={name:r.name,styles:r.styles,next:Dl},r=r.next;var i=n.styles+";";return i}return uee(e,t,n)}case"function":{if(e!==void 0){var o=Dl,a=n(e);return Dl=o,ty(e,t,a)}break}}if(t==null)return n;var s=t[n];return s!==void 0?s:n}function uee(e,t,n){var r="";if(Array.isArray(n))for(var i=0;ig.jsx(aw,{styles:Zj}),yee=()=>g.jsx(aw,{styles:` + 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%; + font-feature-settings: 'kern'; + } + + *, + *::before, + *::after { + border-width: 0; + border-style: solid; + box-sizing: border-box; + } + + main { + display: block; + } + + hr { + border-top-width: 1px; + box-sizing: content-box; + height: 0; + overflow: visible; + } + + pre, + code, + kbd, + samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; + font-size: 1em; + } + + a { + background-color: transparent; + color: inherit; + text-decoration: inherit; + } + + abbr[title] { + border-bottom: none; + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + } + + b, + strong { + font-weight: bold; + } + + small { + font-size: 80%; + } + + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + sub { + bottom: -0.25em; + } + + sup { + top: -0.5em; + } + + img { + border-style: none; + } + + button, + input, + optgroup, + select, + textarea { + font-family: inherit; + font-size: 100%; + line-height: 1.15; + margin: 0; + } + + button, + input { + overflow: visible; + } + + button, + select { + text-transform: none; + } + + button::-moz-focus-inner, + [type="button"]::-moz-focus-inner, + [type="reset"]::-moz-focus-inner, + [type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; + } + + fieldset { + padding: 0.35em 0.75em 0.625em; + } + + legend { + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal; + } + + progress { + vertical-align: baseline; + } + + textarea { + overflow: auto; + } + + [type="checkbox"], + [type="radio"] { + box-sizing: border-box; + padding: 0; + } + + [type="number"]::-webkit-inner-spin-button, + [type="number"]::-webkit-outer-spin-button { + -webkit-appearance: none !important; + } + + input[type="number"] { + -moz-appearance: textfield; + } + + [type="search"] { + -webkit-appearance: textfield; + outline-offset: -2px; + } + + [type="search"]::-webkit-search-decoration { + -webkit-appearance: none !important; + } + + ::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit; + } + + details { + display: block; + } + + summary { + display: list-item; + } + + template { + display: none; + } + + [hidden] { + display: none !important; + } + + body, + blockquote, + dl, + dd, + h1, + h2, + h3, + h4, + h5, + h6, + hr, + figure, + p, + pre { + margin: 0; + } + + button { + background: transparent; + padding: 0; + } + + fieldset { + margin: 0; + padding: 0; + } + + ol, + ul { + margin: 0; + padding: 0; + } + + textarea { + resize: vertical; + } + + button, + [role="button"] { + cursor: pointer; + } + + button::-moz-focus-inner { + border: 0 !important; + } + + table { + border-collapse: collapse; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + font-size: inherit; + font-weight: inherit; + } + + button, + input, + optgroup, + select, + textarea { + padding: 0; + line-height: inherit; + color: inherit; + } + + img, + svg, + video, + canvas, + audio, + iframe, + embed, + object { + display: block; + } + + 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; + } + + select::-ms-expand { + display: none; + } + + ${Zj} + `});function bee(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function Pn(e={}){const{name:t,strict:n=!0,hookName:r="useContext",providerName:i="Provider",errorMessage:o}=e,a=S.createContext(void 0);a.displayName=t;function s(){var l;const u=S.useContext(a);if(!u&&n){const d=new Error(o??bee(r,i));throw d.name="ContextError",(l=Error.captureStackTrace)==null||l.call(Error,d,s),d}return u}return[a.Provider,s,a]}var[xee,See]=Pn({strict:!1,name:"PortalManagerContext"});function Qj(e){const{children:t,zIndex:n}=e;return g.jsx(xee,{value:{zIndex:n},children:t})}Qj.displayName="PortalManager";var Vl=Boolean(globalThis==null?void 0:globalThis.document)?S.useLayoutEffect:S.useEffect,Xs={},wee={get exports(){return Xs},set exports(e){Xs=e}},Ia={},Th={},Cee={get exports(){return Th},set exports(e){Th=e}},Jj={};/** + * @license React + * scheduler.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. + */(function(e){function t(G,Y){var ee=G.length;G.push(Y);e:for(;0>>1,Ce=G[fe];if(0>>1;fei(Le,ee))jei(Ze,Le)?(G[fe]=Ze,G[je]=ee,fe=je):(G[fe]=Le,G[xe]=ee,fe=xe);else if(jei(Ze,ee))G[fe]=Ze,G[je]=ee,fe=je;else break e}}return Y}function i(G,Y){var ee=G.sortIndex-Y.sortIndex;return ee!==0?ee:G.id-Y.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],u=[],d=1,h=null,m=3,y=!1,b=!1,w=!1,E=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,k=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function T(G){for(var Y=n(u);Y!==null;){if(Y.callback===null)r(u);else if(Y.startTime<=G)r(u),Y.sortIndex=Y.expirationTime,t(l,Y);else break;Y=n(u)}}function L(G){if(w=!1,T(G),!b)if(n(l)!==null)b=!0,X(O);else{var Y=n(u);Y!==null&&Q(L,Y.startTime-G)}}function O(G,Y){b=!1,w&&(w=!1,_(N),N=-1),y=!0;var ee=m;try{for(T(Y),h=n(l);h!==null&&(!(h.expirationTime>Y)||G&&!K());){var fe=h.callback;if(typeof fe=="function"){h.callback=null,m=h.priorityLevel;var Ce=fe(h.expirationTime<=Y);Y=e.unstable_now(),typeof Ce=="function"?h.callback=Ce:h===n(l)&&r(l),T(Y)}else r(l);h=n(l)}if(h!==null)var Se=!0;else{var xe=n(u);xe!==null&&Q(L,xe.startTime-Y),Se=!1}return Se}finally{h=null,m=ee,y=!1}}var D=!1,I=null,N=-1,W=5,B=-1;function K(){return!(e.unstable_now()-BG||125fe?(G.sortIndex=ee,t(u,G),n(l)===null&&G===n(u)&&(w?(_(N),N=-1):w=!0,Q(L,ee-fe))):(G.sortIndex=Ce,t(l,G),b||y||(b=!0,X(O))),G},e.unstable_shouldYield=K,e.unstable_wrapCallback=function(G){var Y=m;return function(){var ee=m;m=Y;try{return G.apply(this,arguments)}finally{m=ee}}}})(Jj);(function(e){e.exports=Jj})(Cee);/** + * @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 eN=S,La=Th;function He(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"),b6=Object.prototype.hasOwnProperty,_ee=/^[: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]*$/,RT={},IT={};function kee(e){return b6.call(IT,e)?!0:b6.call(RT,e)?!1:_ee.test(e)?IT[e]=!0:(RT[e]=!0,!1)}function Eee(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 Pee(e,t,n,r){if(t===null||typeof t>"u"||Eee(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 Mo(e,t,n,r,i,o,a){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=a}var Yi={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Yi[e]=new Mo(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Yi[t]=new Mo(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Yi[e]=new Mo(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Yi[e]=new Mo(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){Yi[e]=new Mo(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Yi[e]=new Mo(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Yi[e]=new Mo(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Yi[e]=new Mo(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Yi[e]=new Mo(e,5,!1,e.toLowerCase(),null,!1,!1)});var I7=/[\-:]([a-z])/g;function D7(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(I7,D7);Yi[t]=new Mo(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(I7,D7);Yi[t]=new Mo(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(I7,D7);Yi[t]=new Mo(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Yi[e]=new Mo(e,1,!1,e.toLowerCase(),null,!1,!1)});Yi.xlinkHref=new Mo("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Yi[e]=new Mo(e,1,!1,e.toLowerCase(),null,!0,!0)});function j7(e,t,n,r){var i=Yi.hasOwnProperty(t)?Yi[t]:null;(i!==null?i.type!==0:r||!(2s||i[a]!==o[s]){var l=` +`+i[a].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{c5=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?i1(e):""}function Tee(e){switch(e.tag){case 5:return i1(e.type);case 16:return i1("Lazy");case 13:return i1("Suspense");case 19:return i1("SuspenseList");case 0:case 2:case 15:return e=d5(e.type,!1),e;case 11:return e=d5(e.type.render,!1),e;case 1:return e=d5(e.type,!0),e;default:return""}}function C6(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 zg:return"Fragment";case Bg:return"Portal";case x6:return"Profiler";case N7:return"StrictMode";case S6:return"Suspense";case w6:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case rN:return(e.displayName||"Context")+".Consumer";case nN:return(e._context.displayName||"Context")+".Provider";case $7:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case F7:return t=e.displayName||null,t!==null?t:C6(e.type)||"Memo";case hd:t=e._payload,e=e._init;try{return C6(e(t))}catch{}}return null}function Mee(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 C6(t);case 8:return t===N7?"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 Ud(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function oN(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Lee(e){var t=oN(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(a){r=""+a,o.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function vb(e){e._valueTracker||(e._valueTracker=Lee(e))}function aN(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=oN(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function bS(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 _6(e,t){var n=t.checked;return Pr({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function jT(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ud(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 sN(e,t){t=t.checked,t!=null&&j7(e,"checked",t,!1)}function k6(e,t){sN(e,t);var n=Ud(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")?E6(e,t.type,n):t.hasOwnProperty("defaultValue")&&E6(e,t.type,Ud(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function NT(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 E6(e,t,n){(t!=="number"||bS(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var o1=Array.isArray;function fm(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=yb.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function iy(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var C1={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},Aee=["Webkit","ms","Moz","O"];Object.keys(C1).forEach(function(e){Aee.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),C1[t]=C1[e]})});function dN(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||C1.hasOwnProperty(e)&&C1[e]?(""+t).trim():t+"px"}function fN(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=dN(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var Oee=Pr({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 M6(e,t){if(t){if(Oee[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(He(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(He(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(He(61))}if(t.style!=null&&typeof t.style!="object")throw Error(He(62))}}function L6(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 A6=null;function B7(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var O6=null,hm=null,pm=null;function BT(e){if(e=Yy(e)){if(typeof O6!="function")throw Error(He(280));var t=e.stateNode;t&&(t=dw(t),O6(e.stateNode,e.type,t))}}function hN(e){hm?pm?pm.push(e):pm=[e]:hm=e}function pN(){if(hm){var e=hm,t=pm;if(pm=hm=null,BT(e),t)for(e=0;e>>=0,e===0?32:31-(Wee(e)/Uee|0)|0}var bb=64,xb=4194304;function a1(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 CS(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~i;s!==0?r=a1(s):(o&=a,o!==0&&(r=a1(o)))}else a=n&~i,a!==0?r=a1(a):o!==0&&(r=a1(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 qy(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Gs(t),e[t]=n}function Kee(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=k1),YT=String.fromCharCode(32),XT=!1;function IN(e,t){switch(e){case"keyup":return wte.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function DN(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Hg=!1;function _te(e,t){switch(e){case"compositionend":return DN(t);case"keypress":return t.which!==32?null:(XT=!0,YT);case"textInput":return e=t.data,e===YT&&XT?null:e;default:return null}}function kte(e,t){if(Hg)return e==="compositionend"||!K7&&IN(e,t)?(e=ON(),Dx=V7=Sd=null,Hg=!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=eM(n)}}function FN(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?FN(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function BN(){for(var e=window,t=bS();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=bS(e.document)}return t}function Y7(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 Ite(e){var t=BN(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&FN(n.ownerDocument.documentElement,n)){if(r!==null&&Y7(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=tM(n,o);var a=tM(n,r);i&&a&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.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,Wg=null,$6=null,P1=null,F6=!1;function nM(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;F6||Wg==null||Wg!==bS(r)||(r=Wg,"selectionStart"in r&&Y7(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}),P1&&cy(P1,r)||(P1=r,r=ES($6,"onSelect"),0Gg||(e.current=V6[Gg],V6[Gg]=null,Gg--)}function nr(e,t){Gg++,V6[Gg]=e.current,e.current=t}var Vd={},lo=of(Vd),Ko=of(!1),Hh=Vd;function $m(e,t){var n=e.type.contextTypes;if(!n)return Vd;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 Yo(e){return e=e.childContextTypes,e!=null}function TS(){cr(Ko),cr(lo)}function uM(e,t,n){if(lo.current!==Vd)throw Error(He(168));nr(lo,t),nr(Ko,n)}function YN(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(He(108,Mee(e)||"Unknown",i));return Pr({},n,r)}function MS(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Vd,Hh=lo.current,nr(lo,e),nr(Ko,Ko.current),!0}function cM(e,t,n){var r=e.stateNode;if(!r)throw Error(He(169));n?(e=YN(e,t,Hh),r.__reactInternalMemoizedMergedChildContext=e,cr(Ko),cr(lo),nr(lo,e)):cr(Ko),nr(Ko,n)}var ju=null,fw=!1,k5=!1;function XN(e){ju===null?ju=[e]:ju.push(e)}function Gte(e){fw=!0,XN(e)}function af(){if(!k5&&ju!==null){k5=!0;var e=0,t=In;try{var n=ju;for(In=1;e>=a,i-=a,Fu=1<<32-Gs(t)+i|n<N?(W=I,I=null):W=I.sibling;var B=m(_,I,T[N],L);if(B===null){I===null&&(I=W);break}e&&I&&B.alternate===null&&t(_,I),k=o(B,k,N),D===null?O=B:D.sibling=B,D=B,I=W}if(N===T.length)return n(_,I),br&&uh(_,N),O;if(I===null){for(;NN?(W=I,I=null):W=I.sibling;var K=m(_,I,B.value,L);if(K===null){I===null&&(I=W);break}e&&I&&K.alternate===null&&t(_,I),k=o(K,k,N),D===null?O=K:D.sibling=K,D=K,I=W}if(B.done)return n(_,I),br&&uh(_,N),O;if(I===null){for(;!B.done;N++,B=T.next())B=h(_,B.value,L),B!==null&&(k=o(B,k,N),D===null?O=B:D.sibling=B,D=B);return br&&uh(_,N),O}for(I=r(_,I);!B.done;N++,B=T.next())B=y(I,_,N,B.value,L),B!==null&&(e&&B.alternate!==null&&I.delete(B.key===null?N:B.key),k=o(B,k,N),D===null?O=B:D.sibling=B,D=B);return e&&I.forEach(function(ne){return t(_,ne)}),br&&uh(_,N),O}function E(_,k,T,L){if(typeof T=="object"&&T!==null&&T.type===zg&&T.key===null&&(T=T.props.children),typeof T=="object"&&T!==null){switch(T.$$typeof){case mb:e:{for(var O=T.key,D=k;D!==null;){if(D.key===O){if(O=T.type,O===zg){if(D.tag===7){n(_,D.sibling),k=i(D,T.props.children),k.return=_,_=k;break e}}else if(D.elementType===O||typeof O=="object"&&O!==null&&O.$$typeof===hd&&vM(O)===D.type){n(_,D.sibling),k=i(D,T.props),k.ref=Nv(_,D,T),k.return=_,_=k;break e}n(_,D);break}else t(_,D);D=D.sibling}T.type===zg?(k=Lh(T.props.children,_.mode,L,T.key),k.return=_,_=k):(L=Wx(T.type,T.key,T.props,null,_.mode,L),L.ref=Nv(_,k,T),L.return=_,_=L)}return a(_);case Bg:e:{for(D=T.key;k!==null;){if(k.key===D)if(k.tag===4&&k.stateNode.containerInfo===T.containerInfo&&k.stateNode.implementation===T.implementation){n(_,k.sibling),k=i(k,T.children||[]),k.return=_,_=k;break e}else{n(_,k);break}else t(_,k);k=k.sibling}k=R5(T,_.mode,L),k.return=_,_=k}return a(_);case hd:return D=T._init,E(_,k,D(T._payload),L)}if(o1(T))return b(_,k,T,L);if(Ov(T))return w(_,k,T,L);Pb(_,T)}return typeof T=="string"&&T!==""||typeof T=="number"?(T=""+T,k!==null&&k.tag===6?(n(_,k.sibling),k=i(k,T),k.return=_,_=k):(n(_,k),k=O5(T,_.mode,L),k.return=_,_=k),a(_)):n(_,k)}return E}var Bm=i$(!0),o$=i$(!1),Xy={},ql=of(Xy),py=of(Xy),gy=of(Xy);function _h(e){if(e===Xy)throw Error(He(174));return e}function i9(e,t){switch(nr(gy,t),nr(py,e),nr(ql,Xy),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:T6(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=T6(t,e)}cr(ql),nr(ql,t)}function zm(){cr(ql),cr(py),cr(gy)}function a$(e){_h(gy.current);var t=_h(ql.current),n=T6(t,e.type);t!==n&&(nr(py,e),nr(ql,n))}function o9(e){py.current===e&&(cr(ql),cr(py))}var kr=of(0);function DS(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 E5=[];function a9(){for(var e=0;en?n:4,e(!0);var r=P5.transition;P5.transition={};try{e(!1),t()}finally{In=n,P5.transition=r}}function w$(){return as().memoizedState}function Xte(e,t,n){var r=Dd(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},C$(e))_$(t,n);else if(n=e$(e,t,n,r),n!==null){var i=ko();qs(n,e,r,i),k$(n,t,r)}}function Zte(e,t,n){var r=Dd(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(C$(e))_$(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var a=t.lastRenderedState,s=o(a,n);if(i.hasEagerState=!0,i.eagerState=s,Zs(s,a)){var l=t.interleaved;l===null?(i.next=i,n9(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=e$(e,t,i,r),n!==null&&(i=ko(),qs(n,e,r,i),k$(n,t,r))}}function C$(e){var t=e.alternate;return e===Er||t!==null&&t===Er}function _$(e,t){T1=jS=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function k$(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,H7(e,n)}}var NS={readContext:os,useCallback:to,useContext:to,useEffect:to,useImperativeHandle:to,useInsertionEffect:to,useLayoutEffect:to,useMemo:to,useReducer:to,useRef:to,useState:to,useDebugValue:to,useDeferredValue:to,useTransition:to,useMutableSource:to,useSyncExternalStore:to,useId:to,unstable_isNewReconciler:!1},Qte={readContext:os,useCallback:function(e,t){return Ll().memoizedState=[e,t===void 0?null:t],e},useContext:os,useEffect:bM,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Fx(4194308,4,v$.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Fx(4194308,4,e,t)},useInsertionEffect:function(e,t){return Fx(4,2,e,t)},useMemo:function(e,t){var n=Ll();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ll();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=Xte.bind(null,Er,e),[r.memoizedState,e]},useRef:function(e){var t=Ll();return e={current:e},t.memoizedState=e},useState:yM,useDebugValue:d9,useDeferredValue:function(e){return Ll().memoizedState=e},useTransition:function(){var e=yM(!1),t=e[0];return e=Yte.bind(null,e[1]),Ll().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Er,i=Ll();if(br){if(n===void 0)throw Error(He(407));n=n()}else{if(n=t(),Ai===null)throw Error(He(349));Uh&30||u$(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,bM(d$.bind(null,r,o,e),[e]),r.flags|=2048,yy(9,c$.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Ll(),t=Ai.identifierPrefix;if(br){var n=Bu,r=Fu;n=(r&~(1<<32-Gs(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=my++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[jl]=t,e[hy]=r,I$(e,t,!1,!1),t.stateNode=e;e:{switch(a=L6(n,r),n){case"dialog":ir("cancel",e),ir("close",e),i=r;break;case"iframe":case"object":case"embed":ir("load",e),i=r;break;case"video":case"audio":for(i=0;iWm&&(t.flags|=128,r=!0,$v(o,!1),t.lanes=4194304)}else{if(!r)if(e=DS(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),$v(o,!0),o.tail===null&&o.tailMode==="hidden"&&!a.alternate&&!br)return no(t),null}else 2*Zr()-o.renderingStartTime>Wm&&n!==1073741824&&(t.flags|=128,r=!0,$v(o,!1),t.lanes=4194304);o.isBackwards?(a.sibling=t.child,t.child=a):(n=o.last,n!==null?n.sibling=a:t.child=a,o.last=a)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Zr(),t.sibling=null,n=kr.current,nr(kr,r?n&1|2:n&1),t):(no(t),null);case 22:case 23:return v9(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Sa&1073741824&&(no(t),t.subtreeFlags&6&&(t.flags|=8192)):no(t),null;case 24:return null;case 25:return null}throw Error(He(156,t.tag))}function ane(e,t){switch(Z7(t),t.tag){case 1:return Yo(t.type)&&TS(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return zm(),cr(Ko),cr(lo),a9(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return o9(t),null;case 13:if(cr(kr),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(He(340));Fm()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return cr(kr),null;case 4:return zm(),null;case 10:return t9(t.type._context),null;case 22:case 23:return v9(),null;case 24:return null;default:return null}}var Mb=!1,oo=!1,sne=typeof WeakSet=="function"?WeakSet:Set,dt=null;function Xg(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){$r(e,t,r)}else n.current=null}function r_(e,t,n){try{n()}catch(r){$r(e,t,r)}}var TM=!1;function lne(e,t){if(B6=_S,e=BN(),Y7(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 a=0,s=-1,l=-1,u=0,d=0,h=e,m=null;t:for(;;){for(var y;h!==n||i!==0&&h.nodeType!==3||(s=a+i),h!==o||r!==0&&h.nodeType!==3||(l=a+r),h.nodeType===3&&(a+=h.nodeValue.length),(y=h.firstChild)!==null;)m=h,h=y;for(;;){if(h===e)break t;if(m===n&&++u===i&&(s=a),m===o&&++d===r&&(l=a),(y=h.nextSibling)!==null)break;h=m,m=h.parentNode}h=y}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(z6={focusedElem:e,selectionRange:n},_S=!1,dt=t;dt!==null;)if(t=dt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,dt=e;else for(;dt!==null;){t=dt;try{var b=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(b!==null){var w=b.memoizedProps,E=b.memoizedState,_=t.stateNode,k=_.getSnapshotBeforeUpdate(t.elementType===t.type?w:Bs(t.type,w),E);_.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var T=t.stateNode.containerInfo;T.nodeType===1?T.textContent="":T.nodeType===9&&T.documentElement&&T.removeChild(T.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(He(163))}}catch(L){$r(t,t.return,L)}if(e=t.sibling,e!==null){e.return=t.return,dt=e;break}dt=t.return}return b=TM,TM=!1,b}function M1(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&&r_(t,n,o)}i=i.next}while(i!==r)}}function gw(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 i_(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 N$(e){var t=e.alternate;t!==null&&(e.alternate=null,N$(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[jl],delete t[hy],delete t[U6],delete t[Ute],delete t[Vte])),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 $$(e){return e.tag===5||e.tag===3||e.tag===4}function MM(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$$(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 o_(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=PS));else if(r!==4&&(e=e.child,e!==null))for(o_(e,t,n),e=e.sibling;e!==null;)o_(e,t,n),e=e.sibling}function a_(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(a_(e,t,n),e=e.sibling;e!==null;)a_(e,t,n),e=e.sibling}var Wi=null,zs=!1;function od(e,t,n){for(n=n.child;n!==null;)F$(e,t,n),n=n.sibling}function F$(e,t,n){if(Gl&&typeof Gl.onCommitFiberUnmount=="function")try{Gl.onCommitFiberUnmount(sw,n)}catch{}switch(n.tag){case 5:oo||Xg(n,t);case 6:var r=Wi,i=zs;Wi=null,od(e,t,n),Wi=r,zs=i,Wi!==null&&(zs?(e=Wi,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Wi.removeChild(n.stateNode));break;case 18:Wi!==null&&(zs?(e=Wi,n=n.stateNode,e.nodeType===8?_5(e.parentNode,n):e.nodeType===1&&_5(e,n),ly(e)):_5(Wi,n.stateNode));break;case 4:r=Wi,i=zs,Wi=n.stateNode.containerInfo,zs=!0,od(e,t,n),Wi=r,zs=i;break;case 0:case 11:case 14:case 15:if(!oo&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,a=o.destroy;o=o.tag,a!==void 0&&(o&2||o&4)&&r_(n,t,a),i=i.next}while(i!==r)}od(e,t,n);break;case 1:if(!oo&&(Xg(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){$r(n,t,s)}od(e,t,n);break;case 21:od(e,t,n);break;case 22:n.mode&1?(oo=(r=oo)||n.memoizedState!==null,od(e,t,n),oo=r):od(e,t,n);break;default:od(e,t,n)}}function LM(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new sne),t.forEach(function(r){var i=vne.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Is(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=a),r&=~o}if(r=i,r=Zr()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*cne(r/1960))-r,10e?16:e,wd===null)var r=!1;else{if(e=wd,wd=null,BS=0,un&6)throw Error(He(331));var i=un;for(un|=4,dt=e.current;dt!==null;){var o=dt,a=o.child;if(dt.flags&16){var s=o.deletions;if(s!==null){for(var l=0;lZr()-g9?Mh(e,0):p9|=n),Xo(e,t)}function q$(e,t){t===0&&(e.mode&1?(t=xb,xb<<=1,!(xb&130023424)&&(xb=4194304)):t=1);var n=ko();e=ec(e,t),e!==null&&(qy(e,t,n),Xo(e,n))}function mne(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),q$(e,n)}function vne(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(He(314))}r!==null&&r.delete(t),q$(e,n)}var K$;K$=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ko.current)qo=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return qo=!1,ine(e,t,n);qo=!!(e.flags&131072)}else qo=!1,br&&t.flags&1048576&&ZN(t,AS,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Bx(e,t),e=t.pendingProps;var i=$m(t,lo.current);mm(t,n),i=l9(null,t,r,e,i,n);var o=u9();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,Yo(r)?(o=!0,MS(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,r9(t),i.updater=hw,t.stateNode=i,i._reactInternals=t,X6(t,r,e,n),t=J6(null,t,r,!0,o,n)):(t.tag=0,br&&o&&X7(t),xo(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Bx(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=bne(r),e=Bs(r,e),i){case 0:t=Q6(null,t,r,e,n);break e;case 1:t=kM(null,t,r,e,n);break e;case 11:t=CM(null,t,r,e,n);break e;case 14:t=_M(null,t,r,Bs(r.type,e),n);break e}throw Error(He(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),Q6(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),kM(e,t,r,i,n);case 3:e:{if(A$(t),e===null)throw Error(He(387));r=t.pendingProps,o=t.memoizedState,i=o.element,t$(e,t),IS(t,r,null,n);var a=t.memoizedState;if(r=a.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=Hm(Error(He(423)),t),t=EM(e,t,r,n,i);break e}else if(r!==i){i=Hm(Error(He(424)),t),t=EM(e,t,r,n,i);break e}else for(ka=Od(t.stateNode.containerInfo.firstChild),Pa=t,br=!0,Ws=null,n=o$(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Fm(),r===i){t=tc(e,t,n);break e}xo(e,t,r,n)}t=t.child}return t;case 5:return a$(t),e===null&&q6(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,a=i.children,H6(r,i)?a=null:o!==null&&H6(r,o)&&(t.flags|=32),L$(e,t),xo(e,t,a,n),t.child;case 6:return e===null&&q6(t),null;case 13:return O$(e,t,n);case 4:return i9(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Bm(t,null,r,n):xo(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),CM(e,t,r,i,n);case 7:return xo(e,t,t.pendingProps,n),t.child;case 8:return xo(e,t,t.pendingProps.children,n),t.child;case 12:return xo(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,a=i.value,nr(OS,r._currentValue),r._currentValue=a,o!==null)if(Zs(o.value,a)){if(o.children===i.children&&!Ko.current){t=tc(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var s=o.dependencies;if(s!==null){a=o.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=Wu(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),K6(o.return,n,t),s.lanes|=n;break}l=l.next}}else if(o.tag===10)a=o.type===t.type?null:o.child;else if(o.tag===18){if(a=o.return,a===null)throw Error(He(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),K6(a,n,t),a=o.sibling}else a=o.child;if(a!==null)a.return=o;else for(a=o;a!==null;){if(a===t){a=null;break}if(o=a.sibling,o!==null){o.return=a.return,a=o;break}a=a.return}o=a}xo(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,mm(t,n),i=os(i),r=r(i),t.flags|=1,xo(e,t,r,n),t.child;case 14:return r=t.type,i=Bs(r,t.pendingProps),i=Bs(r.type,i),_M(e,t,r,i,n);case 15:return T$(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),Bx(e,t),t.tag=1,Yo(r)?(e=!0,MS(t)):e=!1,mm(t,n),r$(t,r,i),X6(t,r,i,n),J6(null,t,r,!0,e,n);case 19:return R$(e,t,n);case 22:return M$(e,t,n)}throw Error(He(156,t.tag))};function Y$(e,t){return SN(e,t)}function yne(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 es(e,t,n,r){return new yne(e,t,n,r)}function b9(e){return e=e.prototype,!(!e||!e.isReactComponent)}function bne(e){if(typeof e=="function")return b9(e)?1:0;if(e!=null){if(e=e.$$typeof,e===$7)return 11;if(e===F7)return 14}return 2}function jd(e,t){var n=e.alternate;return n===null?(n=es(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 Wx(e,t,n,r,i,o){var a=2;if(r=e,typeof e=="function")b9(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case zg:return Lh(n.children,i,o,t);case N7:a=8,i|=8;break;case x6:return e=es(12,n,t,i|2),e.elementType=x6,e.lanes=o,e;case S6:return e=es(13,n,t,i),e.elementType=S6,e.lanes=o,e;case w6:return e=es(19,n,t,i),e.elementType=w6,e.lanes=o,e;case iN:return vw(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case nN:a=10;break e;case rN:a=9;break e;case $7:a=11;break e;case F7:a=14;break e;case hd:a=16,r=null;break e}throw Error(He(130,e==null?e:typeof e,""))}return t=es(a,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Lh(e,t,n,r){return e=es(7,e,r,t),e.lanes=n,e}function vw(e,t,n,r){return e=es(22,e,r,t),e.elementType=iN,e.lanes=n,e.stateNode={isHidden:!1},e}function O5(e,t,n){return e=es(6,e,null,t),e.lanes=n,e}function R5(e,t,n){return t=es(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function xne(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=h5(0),this.expirationTimes=h5(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=h5(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function x9(e,t,n,r,i,o,a,s,l){return e=new xne(e,t,n,s,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=es(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},r9(o),e}function Sne(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(n){console.error(n)}}t(),e.exports=Ia})(wee);const Ob=w7(Xs);var[J$,Ene]=Pn({strict:!1,name:"PortalContext"}),_9="chakra-portal",Pne=".chakra-portal",Tne=e=>g.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),Mne=e=>{const{appendToParentPortal:t,children:n}=e,[r,i]=S.useState(null),o=S.useRef(null),[,a]=S.useState({});S.useEffect(()=>a({}),[]);const s=Ene(),l=See();Vl(()=>{if(!r)return;const d=r.ownerDocument,h=t?s??d.body:d.body;if(!h)return;o.current=d.createElement("div"),o.current.className=_9,h.appendChild(o.current),a({});const m=o.current;return()=>{h.contains(m)&&h.removeChild(m)}},[r]);const u=l!=null&&l.zIndex?g.jsx(Tne,{zIndex:l==null?void 0:l.zIndex,children:n}):n;return o.current?Xs.createPortal(g.jsx(J$,{value:o.current,children:u}),o.current):g.jsx("span",{ref:d=>{d&&i(d)}})},Lne=e=>{const{children:t,containerRef:n,appendToParentPortal:r}=e,i=n.current,o=i??(typeof window<"u"?document.body:void 0),a=S.useMemo(()=>{const l=i==null?void 0:i.ownerDocument.createElement("div");return l&&(l.className=_9),l},[i]),[,s]=S.useState({});return Vl(()=>s({}),[]),Vl(()=>{if(!(!a||!o))return o.appendChild(a),()=>{o.removeChild(a)}},[a,o]),o&&a?Xs.createPortal(g.jsx(J$,{value:r?a:null,children:t}),a):null};function c0(e){const t={appendToParentPortal:!0,...e},{containerRef:n,...r}=t;return n?g.jsx(Lne,{containerRef:n,...r}):g.jsx(Mne,{...r})}c0.className=_9;c0.selector=Pne;c0.displayName="Portal";function Zy(){const e=S.useContext(ny);if(!e)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `` or ``");return e}var k9=S.createContext({});k9.displayName="ColorModeContext";function Qy(){const e=S.useContext(k9);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}var Rb={light:"chakra-ui-light",dark:"chakra-ui-dark"};function Ane(e={}){const{preventTransition:t=!0}=e,n={setDataset:r=>{const i=t?n.preventTransition():void 0;document.documentElement.dataset.theme=r,document.documentElement.style.colorScheme=r,i==null||i()},setClassName(r){document.body.classList.add(r?Rb.dark:Rb.light),document.body.classList.remove(r?Rb.light:Rb.dark)},query(){return window.matchMedia("(prefers-color-scheme: dark)")},getSystemTheme(r){var i;return((i=n.query().matches)!=null?i:r==="dark")?"dark":"light"},addListener(r){const i=n.query(),o=a=>{r(a.matches?"dark":"light")};return typeof i.addListener=="function"?i.addListener(o):i.addEventListener("change",o),()=>{typeof i.removeListener=="function"?i.removeListener(o):i.removeEventListener("change",o)}},preventTransition(){const r=document.createElement("style");return r.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(r),()=>{window.getComputedStyle(document.body),requestAnimationFrame(()=>{requestAnimationFrame(()=>{document.head.removeChild(r)})})}}};return n}var One="chakra-ui-color-mode";function Rne(e){return{ssr:!1,type:"localStorage",get(t){if(!(globalThis!=null&&globalThis.document))return t;let n;try{n=localStorage.getItem(e)||t}catch{}return n||t},set(t){try{localStorage.setItem(e,t)}catch{}}}}var Ine=Rne(One),$M=()=>{};function FM(e,t){return e.type==="cookie"&&e.ssr?e.get(t):t}function eF(e){const{value:t,children:n,options:{useSystemColorMode:r,initialColorMode:i,disableTransitionOnChange:o}={},colorModeManager:a=Ine}=e,s=i==="dark"?"dark":"light",[l,u]=S.useState(()=>FM(a,s)),[d,h]=S.useState(()=>FM(a)),{getSystemTheme:m,setClassName:y,setDataset:b,addListener:w}=S.useMemo(()=>Ane({preventTransition:o}),[o]),E=i==="system"&&!l?d:l,_=S.useCallback(L=>{const O=L==="system"?m():L;u(O),y(O==="dark"),b(O),a.set(O)},[a,m,y,b]);Vl(()=>{i==="system"&&h(m())},[]),S.useEffect(()=>{const L=a.get();if(L){_(L);return}if(i==="system"){_("system");return}_(s)},[a,s,i,_]);const k=S.useCallback(()=>{_(E==="dark"?"light":"dark")},[E,_]);S.useEffect(()=>{if(r)return w(_)},[r,w,_]);const T=S.useMemo(()=>({colorMode:t??E,toggleColorMode:t?$M:k,setColorMode:t?$M:_,forced:t!==void 0}),[E,k,_,t]);return g.jsx(k9.Provider,{value:T,children:n})}eF.displayName="ColorModeProvider";function tF(){const e=Qy(),t=Zy();return{...e,theme:t}}var xt=(...e)=>e.filter(Boolean).join(" ");function Dne(){return!1}function Eo(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var Jy=e=>{const{condition:t,message:n}=e;t&&Dne()&&console.warn(n)};function ts(e,...t){return jne(e)?e(...t):e}var jne=e=>typeof e=="function",Bt=e=>e?"":void 0,Uu=e=>e?!0:void 0;function ht(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function ww(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var WS={},Nne={get exports(){return WS},set exports(e){WS=e}};(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,a=9007199254740991,s="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",d="[object Boolean]",h="[object Date]",m="[object Error]",y="[object Function]",b="[object GeneratorFunction]",w="[object Map]",E="[object Number]",_="[object Null]",k="[object Object]",T="[object Proxy]",L="[object RegExp]",O="[object Set]",D="[object String]",I="[object Undefined]",N="[object WeakMap]",W="[object ArrayBuffer]",B="[object DataView]",K="[object Float32Array]",ne="[object Float64Array]",z="[object Int8Array]",$="[object Int16Array]",V="[object Int32Array]",X="[object Uint8Array]",Q="[object Uint8ClampedArray]",G="[object Uint16Array]",Y="[object Uint32Array]",ee=/[\\^$.*+?()[\]{}|]/g,fe=/^\[object .+?Constructor\]$/,Ce=/^(?:0|[1-9]\d*)$/,Se={};Se[K]=Se[ne]=Se[z]=Se[$]=Se[V]=Se[X]=Se[Q]=Se[G]=Se[Y]=!0,Se[s]=Se[l]=Se[W]=Se[d]=Se[B]=Se[h]=Se[m]=Se[y]=Se[w]=Se[E]=Se[k]=Se[L]=Se[O]=Se[D]=Se[N]=!1;var xe=typeof wo=="object"&&wo&&wo.Object===Object&&wo,Le=typeof self=="object"&&self&&self.Object===Object&&self,je=xe||Le||Function("return this")(),Ze=t&&!t.nodeType&&t,_e=Ze&&!0&&e&&!e.nodeType&&e,tt=_e&&_e.exports===Ze,yt=tt&&xe.process,ze=function(){try{var q=_e&&_e.require&&_e.require("util").types;return q||yt&&yt.binding&&yt.binding("util")}catch{}}(),Ae=ze&&ze.isTypedArray;function bt(q,re,pe){switch(pe.length){case 0:return q.call(re);case 1:return q.call(re,pe[0]);case 2:return q.call(re,pe[0],pe[1]);case 3:return q.call(re,pe[0],pe[1],pe[2])}return q.apply(re,pe)}function Be(q,re){for(var pe=-1,ot=Array(q);++pe-1}function P0(q,re){var pe=this.__data__,ot=xs(pe,q);return ot<0?(++this.size,pe.push([q,re])):pe[ot][1]=re,this}na.prototype.clear=mf,na.prototype.delete=E0,na.prototype.get=xc,na.prototype.has=vf,na.prototype.set=P0;function nl(q){var re=-1,pe=q==null?0:q.length;for(this.clear();++re1?pe[Ht-1]:void 0,St=Ht>2?pe[2]:void 0;for(mn=q.length>3&&typeof mn=="function"?(Ht--,mn):void 0,St&&Pp(pe[0],pe[1],St)&&(mn=Ht<3?void 0:mn,Ht=1),re=Object(re);++ot-1&&q%1==0&&q0){if(++re>=i)return arguments[0]}else re=0;return q.apply(void 0,arguments)}}function kc(q){if(q!=null){try{return We.call(q)}catch{}try{return q+""}catch{}}return""}function $a(q,re){return q===re||q!==q&&re!==re}var wf=pu(function(){return arguments}())?pu:function(q){return Xn(q)&&Ve.call(q,"callee")&&!zr.call(q,"callee")},vu=Array.isArray;function Gt(q){return q!=null&&Mp(q.length)&&!Pc(q)}function Tp(q){return Xn(q)&&Gt(q)}var Ec=vs||B0;function Pc(q){if(!aa(q))return!1;var re=il(q);return re==y||re==b||re==u||re==T}function Mp(q){return typeof q=="number"&&q>-1&&q%1==0&&q<=a}function aa(q){var re=typeof q;return q!=null&&(re=="object"||re=="function")}function Xn(q){return q!=null&&typeof q=="object"}function Cf(q){if(!Xn(q)||il(q)!=k)return!1;var re=Ke(q);if(re===null)return!0;var pe=Ve.call(re,"constructor")&&re.constructor;return typeof pe=="function"&&pe instanceof pe&&We.call(pe)==vt}var Lp=Ae?at(Ae):wc;function _f(q){return ci(q,Ap(q))}function Ap(q){return Gt(q)?N0(q,!0):ol(q)}var cn=Ss(function(q,re,pe,ot){ra(q,re,pe,ot)});function qt(q){return function(){return q}}function Op(q){return q}function B0(){return!1}e.exports=cn})(Nne,WS);const Bl=WS;var $ne=e=>/!(important)?$/.test(e),BM=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,Fne=(e,t)=>n=>{const r=String(t),i=$ne(r),o=BM(r),a=e?`${e}.${o}`:o;let s=Eo(n.__cssMap)&&a in n.__cssMap?n.__cssMap[a].varRef:t;return s=BM(s),i?`${s} !important`:s};function E9(e){const{scale:t,transform:n,compose:r}=e;return(o,a)=>{var s;const l=Fne(t,o)(a);let u=(s=n==null?void 0:n(l,a))!=null?s:l;return r&&(u=r(u,a)),u}}var Ib=(...e)=>t=>e.reduce((n,r)=>r(n),t);function Ds(e,t){return n=>{const r={property:n,scale:e};return r.transform=E9({scale:e,transform:t}),r}}var Bne=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function zne(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:Bne(t),transform:n?E9({scale:n,compose:r}):r}}var nF=["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 Hne(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...nF].join(" ")}function Wne(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...nF].join(" ")}var Une={"--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(" ")},Vne={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 Gne(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 qne={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},d_={"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"},Kne=new Set(Object.values(d_)),rF=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),Yne=e=>e.trim();function Xne(e,t){if(e==null||rF.has(e))return e;const r=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),i=r==null?void 0:r[1],o=r==null?void 0:r[2];if(!i||!o)return e;const a=i.includes("-gradient")?i:`${i}-gradient`,[s,...l]=o.split(",").map(Yne).filter(Boolean);if((l==null?void 0:l.length)===0)return e;const u=s in d_?d_[s]:s;l.unshift(u);const d=l.map(h=>{if(Kne.has(h))return h;const m=h.indexOf(" "),[y,b]=m!==-1?[h.substr(0,m),h.substr(m+1)]:[h],w=iF(b)?b:b&&b.split(" "),E=`colors.${y}`,_=E in t.__cssMap?t.__cssMap[E].varRef:y;return w?[_,...Array.isArray(w)?w:[w]].join(" "):_});return`${a}(${d.join(", ")})`}var iF=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),Zne=(e,t)=>Xne(e,t??{});function Qne(e){return/^var\(--.+\)$/.test(e)}var Jne=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Pl=e=>t=>`${e}(${t})`,ln={filter(e){return e!=="auto"?e:Une},backdropFilter(e){return e!=="auto"?e:Vne},ring(e){return Gne(ln.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?Hne():e==="auto-gpu"?Wne():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=Jne(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(Qne(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:Zne,blur:Pl("blur"),opacity:Pl("opacity"),brightness:Pl("brightness"),contrast:Pl("contrast"),dropShadow:Pl("drop-shadow"),grayscale:Pl("grayscale"),hueRotate:Pl("hue-rotate"),invert:Pl("invert"),saturate:Pl("saturate"),sepia:Pl("sepia"),bgImage(e){return e==null||iF(e)||rF.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=qne[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},oe={borderWidths:Ds("borderWidths"),borderStyles:Ds("borderStyles"),colors:Ds("colors"),borders:Ds("borders"),radii:Ds("radii",ln.px),space:Ds("space",Ib(ln.vh,ln.px)),spaceT:Ds("space",Ib(ln.vh,ln.px)),degreeT(e){return{property:e,transform:ln.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:E9({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:Ds("sizes",Ib(ln.vh,ln.px)),sizesT:Ds("sizes",Ib(ln.vh,ln.fraction)),shadows:Ds("shadows"),logical:zne,blur:Ds("blur",ln.blur)},Ux={background:oe.colors("background"),backgroundColor:oe.colors("backgroundColor"),backgroundImage:oe.propT("backgroundImage",ln.bgImage),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:ln.bgClip},bgSize:oe.prop("backgroundSize"),bgPosition:oe.prop("backgroundPosition"),bg:oe.colors("background"),bgColor:oe.colors("backgroundColor"),bgPos:oe.prop("backgroundPosition"),bgRepeat:oe.prop("backgroundRepeat"),bgAttachment:oe.prop("backgroundAttachment"),bgGradient:oe.propT("backgroundImage",ln.gradient),bgClip:{transform:ln.bgClip}};Object.assign(Ux,{bgImage:Ux.backgroundImage,bgImg:Ux.backgroundImage});var yn={border:oe.borders("border"),borderWidth:oe.borderWidths("borderWidth"),borderStyle:oe.borderStyles("borderStyle"),borderColor:oe.colors("borderColor"),borderRadius:oe.radii("borderRadius"),borderTop:oe.borders("borderTop"),borderBlockStart:oe.borders("borderBlockStart"),borderTopLeftRadius:oe.radii("borderTopLeftRadius"),borderStartStartRadius:oe.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:oe.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:oe.radii("borderTopRightRadius"),borderStartEndRadius:oe.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:oe.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:oe.borders("borderRight"),borderInlineEnd:oe.borders("borderInlineEnd"),borderBottom:oe.borders("borderBottom"),borderBlockEnd:oe.borders("borderBlockEnd"),borderBottomLeftRadius:oe.radii("borderBottomLeftRadius"),borderBottomRightRadius:oe.radii("borderBottomRightRadius"),borderLeft:oe.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:oe.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:oe.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:oe.borders(["borderLeft","borderRight"]),borderInline:oe.borders("borderInline"),borderY:oe.borders(["borderTop","borderBottom"]),borderBlock:oe.borders("borderBlock"),borderTopWidth:oe.borderWidths("borderTopWidth"),borderBlockStartWidth:oe.borderWidths("borderBlockStartWidth"),borderTopColor:oe.colors("borderTopColor"),borderBlockStartColor:oe.colors("borderBlockStartColor"),borderTopStyle:oe.borderStyles("borderTopStyle"),borderBlockStartStyle:oe.borderStyles("borderBlockStartStyle"),borderBottomWidth:oe.borderWidths("borderBottomWidth"),borderBlockEndWidth:oe.borderWidths("borderBlockEndWidth"),borderBottomColor:oe.colors("borderBottomColor"),borderBlockEndColor:oe.colors("borderBlockEndColor"),borderBottomStyle:oe.borderStyles("borderBottomStyle"),borderBlockEndStyle:oe.borderStyles("borderBlockEndStyle"),borderLeftWidth:oe.borderWidths("borderLeftWidth"),borderInlineStartWidth:oe.borderWidths("borderInlineStartWidth"),borderLeftColor:oe.colors("borderLeftColor"),borderInlineStartColor:oe.colors("borderInlineStartColor"),borderLeftStyle:oe.borderStyles("borderLeftStyle"),borderInlineStartStyle:oe.borderStyles("borderInlineStartStyle"),borderRightWidth:oe.borderWidths("borderRightWidth"),borderInlineEndWidth:oe.borderWidths("borderInlineEndWidth"),borderRightColor:oe.colors("borderRightColor"),borderInlineEndColor:oe.colors("borderInlineEndColor"),borderRightStyle:oe.borderStyles("borderRightStyle"),borderInlineEndStyle:oe.borderStyles("borderInlineEndStyle"),borderTopRadius:oe.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:oe.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:oe.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:oe.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(yn,{rounded:yn.borderRadius,roundedTop:yn.borderTopRadius,roundedTopLeft:yn.borderTopLeftRadius,roundedTopRight:yn.borderTopRightRadius,roundedTopStart:yn.borderStartStartRadius,roundedTopEnd:yn.borderStartEndRadius,roundedBottom:yn.borderBottomRadius,roundedBottomLeft:yn.borderBottomLeftRadius,roundedBottomRight:yn.borderBottomRightRadius,roundedBottomStart:yn.borderEndStartRadius,roundedBottomEnd:yn.borderEndEndRadius,roundedLeft:yn.borderLeftRadius,roundedRight:yn.borderRightRadius,roundedStart:yn.borderInlineStartRadius,roundedEnd:yn.borderInlineEndRadius,borderStart:yn.borderInlineStart,borderEnd:yn.borderInlineEnd,borderTopStartRadius:yn.borderStartStartRadius,borderTopEndRadius:yn.borderStartEndRadius,borderBottomStartRadius:yn.borderEndStartRadius,borderBottomEndRadius:yn.borderEndEndRadius,borderStartRadius:yn.borderInlineStartRadius,borderEndRadius:yn.borderInlineEndRadius,borderStartWidth:yn.borderInlineStartWidth,borderEndWidth:yn.borderInlineEndWidth,borderStartColor:yn.borderInlineStartColor,borderEndColor:yn.borderInlineEndColor,borderStartStyle:yn.borderInlineStartStyle,borderEndStyle:yn.borderInlineEndStyle});var ere={color:oe.colors("color"),textColor:oe.colors("color"),fill:oe.colors("fill"),stroke:oe.colors("stroke")},f_={boxShadow:oe.shadows("boxShadow"),mixBlendMode:!0,blendMode:oe.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:oe.prop("backgroundBlendMode"),opacity:!0};Object.assign(f_,{shadow:f_.boxShadow});var tre={filter:{transform:ln.filter},blur:oe.blur("--chakra-blur"),brightness:oe.propT("--chakra-brightness",ln.brightness),contrast:oe.propT("--chakra-contrast",ln.contrast),hueRotate:oe.degreeT("--chakra-hue-rotate"),invert:oe.propT("--chakra-invert",ln.invert),saturate:oe.propT("--chakra-saturate",ln.saturate),dropShadow:oe.propT("--chakra-drop-shadow",ln.dropShadow),backdropFilter:{transform:ln.backdropFilter},backdropBlur:oe.blur("--chakra-backdrop-blur"),backdropBrightness:oe.propT("--chakra-backdrop-brightness",ln.brightness),backdropContrast:oe.propT("--chakra-backdrop-contrast",ln.contrast),backdropHueRotate:oe.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:oe.propT("--chakra-backdrop-invert",ln.invert),backdropSaturate:oe.propT("--chakra-backdrop-saturate",ln.saturate)},US={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:ln.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:oe.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:oe.space("gap"),rowGap:oe.space("rowGap"),columnGap:oe.space("columnGap")};Object.assign(US,{flexDir:US.flexDirection});var oF={gridGap:oe.space("gridGap"),gridColumnGap:oe.space("gridColumnGap"),gridRowGap:oe.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},nre={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:ln.outline},outlineOffset:!0,outlineColor:oe.colors("outlineColor")},Ka={width:oe.sizesT("width"),inlineSize:oe.sizesT("inlineSize"),height:oe.sizes("height"),blockSize:oe.sizes("blockSize"),boxSize:oe.sizes(["width","height"]),minWidth:oe.sizes("minWidth"),minInlineSize:oe.sizes("minInlineSize"),minHeight:oe.sizes("minHeight"),minBlockSize:oe.sizes("minBlockSize"),maxWidth:oe.sizes("maxWidth"),maxInlineSize:oe.sizes("maxInlineSize"),maxHeight:oe.sizes("maxHeight"),maxBlockSize:oe.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minWQuery)!=null?i:`@media screen and (min-width: ${e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.maxWQuery)!=null?i:`@media screen and (max-width: ${e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:oe.propT("float",ln.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(Ka,{w:Ka.width,h:Ka.height,minW:Ka.minWidth,maxW:Ka.maxWidth,minH:Ka.minHeight,maxH:Ka.maxHeight,overscroll:Ka.overscrollBehavior,overscrollX:Ka.overscrollBehaviorX,overscrollY:Ka.overscrollBehaviorY});var rre={listStyleType:!0,listStylePosition:!0,listStylePos:oe.prop("listStylePosition"),listStyleImage:!0,listStyleImg:oe.prop("listStyleImage")};function ire(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,a)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const s=t.get(r);if(s.has(i))return s.get(i);const l=e(r,i,o,a);return s.set(i,l),l}},are=ore(ire),sre={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},lre={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},I5=(e,t,n)=>{const r={},i=are(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},ure={srOnly:{transform(e){return e===!0?sre:e==="focusable"?lre:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>I5(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>I5(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>I5(t,e,n)}},O1={position:!0,pos:oe.prop("position"),zIndex:oe.prop("zIndex","zIndices"),inset:oe.spaceT("inset"),insetX:oe.spaceT(["left","right"]),insetInline:oe.spaceT("insetInline"),insetY:oe.spaceT(["top","bottom"]),insetBlock:oe.spaceT("insetBlock"),top:oe.spaceT("top"),insetBlockStart:oe.spaceT("insetBlockStart"),bottom:oe.spaceT("bottom"),insetBlockEnd:oe.spaceT("insetBlockEnd"),left:oe.spaceT("left"),insetInlineStart:oe.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:oe.spaceT("right"),insetInlineEnd:oe.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(O1,{insetStart:O1.insetInlineStart,insetEnd:O1.insetInlineEnd});var cre={ring:{transform:ln.ring},ringColor:oe.colors("--chakra-ring-color"),ringOffset:oe.prop("--chakra-ring-offset-width"),ringOffsetColor:oe.colors("--chakra-ring-offset-color"),ringInset:oe.prop("--chakra-ring-inset")},or={margin:oe.spaceT("margin"),marginTop:oe.spaceT("marginTop"),marginBlockStart:oe.spaceT("marginBlockStart"),marginRight:oe.spaceT("marginRight"),marginInlineEnd:oe.spaceT("marginInlineEnd"),marginBottom:oe.spaceT("marginBottom"),marginBlockEnd:oe.spaceT("marginBlockEnd"),marginLeft:oe.spaceT("marginLeft"),marginInlineStart:oe.spaceT("marginInlineStart"),marginX:oe.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:oe.spaceT("marginInline"),marginY:oe.spaceT(["marginTop","marginBottom"]),marginBlock:oe.spaceT("marginBlock"),padding:oe.space("padding"),paddingTop:oe.space("paddingTop"),paddingBlockStart:oe.space("paddingBlockStart"),paddingRight:oe.space("paddingRight"),paddingBottom:oe.space("paddingBottom"),paddingBlockEnd:oe.space("paddingBlockEnd"),paddingLeft:oe.space("paddingLeft"),paddingInlineStart:oe.space("paddingInlineStart"),paddingInlineEnd:oe.space("paddingInlineEnd"),paddingX:oe.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:oe.space("paddingInline"),paddingY:oe.space(["paddingTop","paddingBottom"]),paddingBlock:oe.space("paddingBlock")};Object.assign(or,{m:or.margin,mt:or.marginTop,mr:or.marginRight,me:or.marginInlineEnd,marginEnd:or.marginInlineEnd,mb:or.marginBottom,ml:or.marginLeft,ms:or.marginInlineStart,marginStart:or.marginInlineStart,mx:or.marginX,my:or.marginY,p:or.padding,pt:or.paddingTop,py:or.paddingY,px:or.paddingX,pb:or.paddingBottom,pl:or.paddingLeft,ps:or.paddingInlineStart,paddingStart:or.paddingInlineStart,pr:or.paddingRight,pe:or.paddingInlineEnd,paddingEnd:or.paddingInlineEnd});var dre={textDecorationColor:oe.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:oe.shadows("textShadow")},fre={clipPath:!0,transform:oe.propT("transform",ln.transform),transformOrigin:!0,translateX:oe.spaceT("--chakra-translate-x"),translateY:oe.spaceT("--chakra-translate-y"),skewX:oe.degreeT("--chakra-skew-x"),skewY:oe.degreeT("--chakra-skew-y"),scaleX:oe.prop("--chakra-scale-x"),scaleY:oe.prop("--chakra-scale-y"),scale:oe.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:oe.degreeT("--chakra-rotate")},hre={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:oe.prop("transitionDuration","transition.duration"),transitionProperty:oe.prop("transitionProperty","transition.property"),transitionTimingFunction:oe.prop("transitionTimingFunction","transition.easing")},pre={fontFamily:oe.prop("fontFamily","fonts"),fontSize:oe.prop("fontSize","fontSizes",ln.px),fontWeight:oe.prop("fontWeight","fontWeights"),lineHeight:oe.prop("lineHeight","lineHeights"),letterSpacing:oe.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"}},gre={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:oe.spaceT("scrollMargin"),scrollMarginTop:oe.spaceT("scrollMarginTop"),scrollMarginBottom:oe.spaceT("scrollMarginBottom"),scrollMarginLeft:oe.spaceT("scrollMarginLeft"),scrollMarginRight:oe.spaceT("scrollMarginRight"),scrollMarginX:oe.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:oe.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:oe.spaceT("scrollPadding"),scrollPaddingTop:oe.spaceT("scrollPaddingTop"),scrollPaddingBottom:oe.spaceT("scrollPaddingBottom"),scrollPaddingLeft:oe.spaceT("scrollPaddingLeft"),scrollPaddingRight:oe.spaceT("scrollPaddingRight"),scrollPaddingX:oe.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:oe.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function aF(e){return Eo(e)&&e.reference?e.reference:String(e)}var Cw=(e,...t)=>t.map(aF).join(` ${e} `).replace(/calc/g,""),zM=(...e)=>`calc(${Cw("+",...e)})`,HM=(...e)=>`calc(${Cw("-",...e)})`,h_=(...e)=>`calc(${Cw("*",...e)})`,WM=(...e)=>`calc(${Cw("/",...e)})`,UM=e=>{const t=aF(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:h_(t,-1)},bh=Object.assign(e=>({add:(...t)=>bh(zM(e,...t)),subtract:(...t)=>bh(HM(e,...t)),multiply:(...t)=>bh(h_(e,...t)),divide:(...t)=>bh(WM(e,...t)),negate:()=>bh(UM(e)),toString:()=>e.toString()}),{add:zM,subtract:HM,multiply:h_,divide:WM,negate:UM});function mre(e,t="-"){return e.replace(/\s+/g,t)}function vre(e){const t=mre(e.toString());return bre(yre(t))}function yre(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function bre(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function xre(e,t=""){return[t,e].filter(Boolean).join("-")}function Sre(e,t){return`var(${e}${t?`, ${t}`:""})`}function wre(e,t=""){return vre(`--${xre(e,t)}`)}function gn(e,t,n){const r=wre(e,n);return{variable:r,reference:Sre(r,t)}}function Cre(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function _re(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function p_(e){if(e==null)return e;const{unitless:t}=_re(e);return t||typeof e=="number"?`${e}px`:e}var sF=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,P9=e=>Object.fromEntries(Object.entries(e).sort(sF));function VM(e){const t=P9(e);return Object.assign(Object.values(t),t)}function kre(e){const t=Object.keys(P9(e));return new Set(t)}function GM(e){var t;if(!e)return e;e=(t=p_(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function l1(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${p_(e)})`),t&&n.push("and",`(max-width: ${p_(t)})`),n.join(" ")}function Ere(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=VM(e),r=Object.entries(e).sort(sF).map(([a,s],l,u)=>{var d;let[,h]=(d=u[l+1])!=null?d:[];return h=parseFloat(h)>0?GM(h):void 0,{_minW:GM(s),breakpoint:a,minW:s,maxW:h,maxWQuery:l1(null,h),minWQuery:l1(s),minMaxQuery:l1(s,h)}}),i=kre(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(a){const s=Object.keys(a);return s.length>0&&s.every(l=>i.has(l))},asObject:P9(e),asArray:VM(e),details:r,get(a){return r.find(s=>s.breakpoint===a)},media:[null,...n.map(a=>l1(a)).slice(1)],toArrayValue(a){if(!Eo(a))throw new Error("toArrayValue: value must be an object");const s=o.map(l=>{var u;return(u=a[l])!=null?u:null});for(;Cre(s)===null;)s.pop();return s},toObjectValue(a){if(!Array.isArray(a))throw new Error("toObjectValue: value must be an array");return a.reduce((s,l,u)=>{const d=o[u];return d!=null&&l!=null&&(s[d]=l),s},{})}}}var zi={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}`},ad=e=>lF(t=>e(t,"&"),"[role=group]","[data-group]",".group"),Au=e=>lF(t=>e(t,"~ &"),"[data-peer]",".peer"),lF=(e,...t)=>t.map(e).join(", "),_w={_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",_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:ad(zi.hover),_peerHover:Au(zi.hover),_groupFocus:ad(zi.focus),_peerFocus:Au(zi.focus),_groupFocusVisible:ad(zi.focusVisible),_peerFocusVisible:Au(zi.focusVisible),_groupActive:ad(zi.active),_peerActive:Au(zi.active),_groupDisabled:ad(zi.disabled),_peerDisabled:Au(zi.disabled),_groupInvalid:ad(zi.invalid),_peerInvalid:Au(zi.invalid),_groupChecked:ad(zi.checked),_peerChecked:Au(zi.checked),_groupFocusWithin:ad(zi.focusWithin),_peerFocusWithin:Au(zi.focusWithin),_peerPlaceholderShown:Au(zi.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]"},Pre=Object.keys(_w);function qM(e,t){return gn(String(e).replace(/\./g,"-"),void 0,t)}function Tre(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:a,value:s}=o,{variable:l,reference:u}=qM(i,t==null?void 0:t.cssVarPrefix);if(!a){if(i.startsWith("space")){const m=i.split("."),[y,...b]=m,w=`${y}.-${b.join(".")}`,E=bh.negate(s),_=bh.negate(u);r[w]={value:E,var:l,varRef:_}}n[l]=s,r[i]={value:s,var:l,varRef:u};continue}const d=m=>{const b=[String(i).split(".")[0],m].join(".");if(!e[b])return m;const{reference:E}=qM(b,t==null?void 0:t.cssVarPrefix);return E},h=Eo(s)?s:{default:s};n=Bl(n,Object.entries(h).reduce((m,[y,b])=>{var w,E;const _=d(b);if(y==="default")return m[l]=_,m;const k=(E=(w=_w)==null?void 0:w[y])!=null?E:y;return m[k]={[l]:_},m},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function Mre(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Lre(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var Are=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function Ore(e){return Lre(e,Are)}function Rre(e){return e.semanticTokens}function Ire(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}function Dre({tokens:e,semanticTokens:t}){var n,r;const i=Object.entries((n=g_(e))!=null?n:{}).map(([a,s])=>[a,{isSemantic:!1,value:s}]),o=Object.entries((r=g_(t,1))!=null?r:{}).map(([a,s])=>[a,{isSemantic:!0,value:s}]);return Object.fromEntries([...i,...o])}function g_(e,t=1/0){return!Eo(e)&&!Array.isArray(e)||!t?e:Object.entries(e).reduce((n,[r,i])=>(Eo(i)||Array.isArray(i)?Object.entries(g_(i,t-1)).forEach(([o,a])=>{n[`${r}.${o}`]=a}):n[r]=i,n),{})}function jre(e){var t;const n=Ire(e),r=Ore(n),i=Rre(n),o=Dre({tokens:r,semanticTokens:i}),a=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:s,cssVars:l}=Tre(o,{cssVarPrefix:a});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:s,__breakpoints:Ere(n.breakpoints)}),n}var T9=Bl({},Ux,yn,ere,US,Ka,tre,cre,nre,oF,ure,O1,f_,or,gre,pre,dre,fre,rre,hre),Nre=Object.assign({},or,Ka,US,oF,O1),uF=Object.keys(Nre),$re=[...Object.keys(T9),...Pre],Fre={...T9,..._w},Bre=e=>e in Fre,zre=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const a in e){let s=ts(e[a],t);if(s==null)continue;if(s=Eo(s)&&n(s)?r(s):s,!Array.isArray(s)){o[a]=s;continue}const l=s.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!Wre(t),Vre=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,d;return(d=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:d.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[a,s]=Hre(t);return t=(r=(n=i(a))!=null?n:o(s))!=null?r:o(t),t};function Gre(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,a=!1)=>{var s,l,u;const d=ts(o,r),h=zre(d)(r);let m={};for(let y in h){const b=h[y];let w=ts(b,r);y in n&&(y=n[y]),Ure(y,w)&&(w=Vre(r,w));let E=t[y];if(E===!0&&(E={property:y}),Eo(w)){m[y]=(s=m[y])!=null?s:{},m[y]=Bl({},m[y],i(w,!0));continue}let _=(u=(l=E==null?void 0:E.transform)==null?void 0:l.call(E,w,r,d))!=null?u:w;_=E!=null&&E.processResult?i(_,!0):_;const k=ts(E==null?void 0:E.property,r);if(!a&&(E!=null&&E.static)){const T=ts(E.static,r);m=Bl({},m,T)}if(k&&Array.isArray(k)){for(const T of k)m[T]=_;continue}if(k){k==="&"&&Eo(_)?m=Bl({},m,_):m[k]=_;continue}if(Eo(_)){m=Bl({},m,_);continue}m[y]=_}return m};return i}var cF=e=>t=>Gre({theme:t,pseudos:_w,configs:T9})(e);function fr(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function qre(e,t){if(Array.isArray(e))return e;if(Eo(e))return t(e);if(e!=null)return[e]}function Kre(e,t){for(let n=t+1;n{Bl(u,{[T]:m?k[T]:{[_]:k[T]}})});continue}if(!y){m?Bl(u,k):u[_]=k;continue}u[_]=k}}return u}}function Xre(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,a=Yre(o);return Bl({},ts((n=e.baseStyle)!=null?n:{},t),a(e,"sizes",i,t),a(e,"variants",r,t))}}function Zre(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 hr(e){return Mre(e,["styleConfig","size","variant","colorScheme"])}var Qre={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},Jre=Qre,eie={base:"0em",sm:"30em",md:"48em",lg:"62em",xl:"80em","2xl":"96em"},tie=eie,nie={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"}},rie=nie,iie={none:"0",sm:"0.125rem",base:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},oie=iie,aie={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"},sie=aie,lie={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"},uie={"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)"},cie={"ultra-fast":"50ms",faster:"100ms",fast:"150ms",normal:"200ms",slow:"300ms",slower:"400ms","ultra-slow":"500ms"},die={property:lie,easing:uie,duration:cie},fie=die,hie={none:0,sm:"4px",base:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},pie=hie,gie={none:0,"1px":"1px solid","2px":"2px solid","4px":"4px solid","8px":"8px solid"},mie=gie,vie={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"}},dF=vie,fF={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"},yie={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"},bie={sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},xie={...fF,...yie,container:bie},hF=xie,Sie={breakpoints:tie,zIndices:Jre,radii:oie,blur:pie,colors:rie,...dF,sizes:hF,shadows:sie,space:fF,borders:mie,transition:fie};function En(e,t={}){let n=!1;function r(){if(!n){n=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function i(...d){r();for(const h of d)t[h]=l(h);return En(e,t)}function o(...d){for(const h of d)h in t||(t[h]=l(h));return En(e,t)}function a(){return Object.fromEntries(Object.entries(t).map(([h,m])=>[h,m.selector]))}function s(){return Object.fromEntries(Object.entries(t).map(([h,m])=>[h,m.className]))}function l(d){const y=`chakra-${(["container","root"].includes(d??"")?[e]:[e,d]).filter(Boolean).join("__")}`;return{className:y,selector:`.${y}`,toString:()=>d}}return{parts:i,toPart:l,extend:o,selectors:a,classnames:s,get keys(){return Object.keys(t)},__type:{}}}var wie=En("accordion").parts("root","container","button","panel").extend("icon"),Cie=En("alert").parts("title","description","container").extend("icon","spinner"),_ie=En("avatar").parts("label","badge","container").extend("excessLabel","group"),kie=En("breadcrumb").parts("link","item","container").extend("separator");En("button").parts();var Eie=En("checkbox").parts("control","icon","container").extend("label");En("progress").parts("track","filledTrack").extend("label");var Pie=En("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Tie=En("editable").parts("preview","input","textarea"),Mie=En("form").parts("container","requiredIndicator","helperText"),Lie=En("formError").parts("text","icon"),Aie=En("input").parts("addon","field","element"),Oie=En("list").parts("container","item","icon"),Rie=En("menu").parts("button","list","item").extend("groupTitle","command","divider"),Iie=En("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Die=En("numberinput").parts("root","field","stepperGroup","stepper");En("pininput").parts("field");var jie=En("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),Nie=En("progress").parts("label","filledTrack","track"),$ie=En("radio").parts("container","control","label"),Fie=En("select").parts("field","icon"),Bie=En("slider").parts("container","track","thumb","filledTrack","mark"),zie=En("stat").parts("container","label","helpText","number","icon"),Hie=En("switch").parts("container","track","thumb"),Wie=En("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),Uie=En("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),Vie=En("tag").parts("container","label","closeButton"),Gie=En("card").parts("container","header","body","footer");function kh(e,t,n){return Math.min(Math.max(e,n),t)}class qie extends Error{constructor(t){super(`Failed to parse color: "${t}"`)}}var u1=qie;function M9(e){if(typeof e!="string")throw new u1(e);if(e.trim().toLowerCase()==="transparent")return[0,0,0,0];let t=e.trim();t=toe.test(e)?Xie(e):e;const n=Zie.exec(t);if(n){const a=Array.from(n).slice(1);return[...a.slice(0,3).map(s=>parseInt(xy(s,2),16)),parseInt(xy(a[3]||"f",2),16)/255]}const r=Qie.exec(t);if(r){const a=Array.from(r).slice(1);return[...a.slice(0,3).map(s=>parseInt(s,16)),parseInt(a[3]||"ff",16)/255]}const i=Jie.exec(t);if(i){const a=Array.from(i).slice(1);return[...a.slice(0,3).map(s=>parseInt(s,10)),parseFloat(a[3]||"1")]}const o=eoe.exec(t);if(o){const[a,s,l,u]=Array.from(o).slice(1).map(parseFloat);if(kh(0,100,s)!==s)throw new u1(e);if(kh(0,100,l)!==l)throw new u1(e);return[...noe(a,s,l),Number.isNaN(u)?1:u]}throw new u1(e)}function Kie(e){let t=5381,n=e.length;for(;n;)t=t*33^e.charCodeAt(--n);return(t>>>0)%2341}const KM=e=>parseInt(e.replace(/_/g,""),36),Yie="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,t)=>{const n=KM(t.substring(0,3)),r=KM(t.substring(3)).toString(16);let i="";for(let o=0;o<6-r.length;o++)i+="0";return e[n]=`${i}${r}`,e},{});function Xie(e){const t=e.toLowerCase().trim(),n=Yie[Kie(t)];if(!n)throw new u1(e);return`#${n}`}const xy=(e,t)=>Array.from(Array(t)).map(()=>e).join(""),Zie=new RegExp(`^#${xy("([a-f0-9])",3)}([a-f0-9])?$`,"i"),Qie=new RegExp(`^#${xy("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),Jie=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${xy(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),eoe=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,toe=/^[a-z]+$/i,YM=e=>Math.round(e*255),noe=(e,t,n)=>{let r=n/100;if(t===0)return[r,r,r].map(YM);const i=(e%360+360)%360/60,o=(1-Math.abs(2*r-1))*(t/100),a=o*(1-Math.abs(i%2-1));let s=0,l=0,u=0;i>=0&&i<1?(s=o,l=a):i>=1&&i<2?(s=a,l=o):i>=2&&i<3?(l=o,u=a):i>=3&&i<4?(l=a,u=o):i>=4&&i<5?(s=a,u=o):i>=5&&i<6&&(s=o,u=a);const d=r-o/2,h=s+d,m=l+d,y=u+d;return[h,m,y].map(YM)};function roe(e,t,n,r){return`rgba(${kh(0,255,e).toFixed()}, ${kh(0,255,t).toFixed()}, ${kh(0,255,n).toFixed()}, ${parseFloat(kh(0,1,r).toFixed(3))})`}function ioe(e,t){const[n,r,i,o]=M9(e);return roe(n,r,i,o-t)}function ooe(e){const[t,n,r,i]=M9(e);let o=a=>{const s=kh(0,255,a).toString(16);return s.length===1?`0${s}`:s};return`#${o(t)}${o(n)}${o(r)}${i<1?o(Math.round(i*255)):""}`}function aoe(e,t,n,r,i){for(t=t.split?t.split("."):t,r=0;rObject.keys(e).length===0,Co=(e,t,n)=>{const r=aoe(e,`colors.${t}`,t);try{return ooe(r),r}catch{return n??"#000000"}},loe=e=>{const[t,n,r]=M9(e);return(t*299+n*587+r*114)/1e3},uoe=e=>t=>{const n=Co(t,e);return loe(n)<128?"dark":"light"},coe=e=>t=>uoe(e)(t)==="dark",Um=(e,t)=>n=>{const r=Co(n,e);return ioe(r,1-t)};function XM(e="1rem",t="rgba(255, 255, 255, 0.15)"){return{backgroundImage:`linear-gradient( + 45deg, + ${t} 25%, + transparent 25%, + transparent 50%, + ${t} 50%, + ${t} 75%, + transparent 75%, + transparent + )`,backgroundSize:`${e} ${e}`}}var doe=()=>`#${Math.floor(Math.random()*16777215).toString(16).padEnd(6,"0")}`;function foe(e){const t=doe();return!e||soe(e)?t:e.string&&e.colors?poe(e.string,e.colors):e.string&&!e.colors?hoe(e.string):e.colors&&!e.string?goe(e.colors):t}function hoe(e){let t=0;if(e.length===0)return t.toString();for(let r=0;r>r*8&255;n+=`00${i.toString(16)}`.substr(-2)}return n}function poe(e,t){let n=0;if(e.length===0)return t[0];for(let r=0;rn.colorMode==="dark"?t:e}function L9(e){const{orientation:t,vertical:n,horizontal:r}=e;return t?t==="vertical"?n:r:{}}function pF(e){return Eo(e)&&e.reference?e.reference:String(e)}var kw=(e,...t)=>t.map(pF).join(` ${e} `).replace(/calc/g,""),ZM=(...e)=>`calc(${kw("+",...e)})`,QM=(...e)=>`calc(${kw("-",...e)})`,m_=(...e)=>`calc(${kw("*",...e)})`,JM=(...e)=>`calc(${kw("/",...e)})`,eL=e=>{const t=pF(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:m_(t,-1)},Nu=Object.assign(e=>({add:(...t)=>Nu(ZM(e,...t)),subtract:(...t)=>Nu(QM(e,...t)),multiply:(...t)=>Nu(m_(e,...t)),divide:(...t)=>Nu(JM(e,...t)),negate:()=>Nu(eL(e)),toString:()=>e.toString()}),{add:ZM,subtract:QM,multiply:m_,divide:JM,negate:eL});function moe(e){return!Number.isInteger(parseFloat(e.toString()))}function voe(e,t="-"){return e.replace(/\s+/g,t)}function gF(e){const t=voe(e.toString());return t.includes("\\.")?e:moe(e)?t.replace(".","\\."):e}function yoe(e,t=""){return[t,gF(e)].filter(Boolean).join("-")}function boe(e,t){return`var(${gF(e)}${t?`, ${t}`:""})`}function xoe(e,t=""){return`--${yoe(e,t)}`}function yi(e,t){const n=xoe(e,t==null?void 0:t.prefix);return{variable:n,reference:boe(n,Soe(t==null?void 0:t.fallback))}}function Soe(e){return typeof e=="string"?e:e==null?void 0:e.reference}var{defineMultiStyleConfig:woe,definePartsStyle:Vx}=fr(Hie.keys),R1=yi("switch-track-width"),Ah=yi("switch-track-height"),D5=yi("switch-track-diff"),Coe=Nu.subtract(R1,Ah),v_=yi("switch-thumb-x"),Bv=yi("switch-bg"),_oe=e=>{const{colorScheme:t}=e;return{borderRadius:"full",p:"0.5",width:[R1.reference],height:[Ah.reference],transitionProperty:"common",transitionDuration:"fast",[Bv.variable]:"colors.gray.300",_dark:{[Bv.variable]:"colors.whiteAlpha.400"},_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed"},_checked:{[Bv.variable]:`colors.${t}.500`,_dark:{[Bv.variable]:`colors.${t}.200`}},bg:Bv.reference}},koe={bg:"white",transitionProperty:"transform",transitionDuration:"normal",borderRadius:"inherit",width:[Ah.reference],height:[Ah.reference],_checked:{transform:`translateX(${v_.reference})`}},Eoe=Vx(e=>({container:{[D5.variable]:Coe,[v_.variable]:D5.reference,_rtl:{[v_.variable]:Nu(D5).negate().toString()}},track:_oe(e),thumb:koe})),Poe={sm:Vx({container:{[R1.variable]:"1.375rem",[Ah.variable]:"sizes.3"}}),md:Vx({container:{[R1.variable]:"1.875rem",[Ah.variable]:"sizes.4"}}),lg:Vx({container:{[R1.variable]:"2.875rem",[Ah.variable]:"sizes.6"}})},Toe=woe({baseStyle:Eoe,sizes:Poe,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Moe,definePartsStyle:ym}=fr(Wie.keys),Loe=ym({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"}}),VS={"&[data-is-numeric=true]":{textAlign:"end"}},Aoe=ym(e=>{const{colorScheme:t}=e;return{th:{color:wt("gray.600","gray.400")(e),borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},td:{borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},caption:{color:wt("gray.600","gray.100")(e)},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Ooe=ym(e=>{const{colorScheme:t}=e;return{th:{color:wt("gray.600","gray.400")(e),borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},td:{borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},caption:{color:wt("gray.600","gray.100")(e)},tbody:{tr:{"&:nth-of-type(odd)":{"th, td":{borderBottomWidth:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e)},td:{background:wt(`${t}.100`,`${t}.700`)(e)}}}},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Roe={simple:Aoe,striped:Ooe,unstyled:{}},Ioe={sm:ym({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:ym({th:{px:"6",py:"3",lineHeight:"4",fontSize:"xs"},td:{px:"6",py:"4",lineHeight:"5"},caption:{px:"6",py:"2",fontSize:"sm"}}),lg:ym({th:{px:"8",py:"4",lineHeight:"5",fontSize:"sm"},td:{px:"8",py:"5",lineHeight:"6"},caption:{px:"6",py:"2",fontSize:"md"}})},Doe=Moe({baseStyle:Loe,variants:Roe,sizes:Ioe,defaultProps:{variant:"simple",size:"md",colorScheme:"gray"}}),Go=gn("tabs-color"),Us=gn("tabs-bg"),Db=gn("tabs-border-color"),{defineMultiStyleConfig:joe,definePartsStyle:Kl}=fr(Uie.keys),Noe=e=>{const{orientation:t}=e;return{display:t==="vertical"?"flex":"block"}},$oe=e=>{const{isFitted:t}=e;return{flex:t?1:void 0,transitionProperty:"common",transitionDuration:"normal",_focusVisible:{zIndex:1,boxShadow:"outline"},_disabled:{cursor:"not-allowed",opacity:.4}}},Foe=e=>{const{align:t="start",orientation:n}=e;return{justifyContent:{end:"flex-end",center:"center",start:"flex-start"}[t],flexDirection:n==="vertical"?"column":"row"}},Boe={p:4},zoe=Kl(e=>({root:Noe(e),tab:$oe(e),tablist:Foe(e),tabpanel:Boe})),Hoe={sm:Kl({tab:{py:1,px:4,fontSize:"sm"}}),md:Kl({tab:{fontSize:"md",py:2,px:4}}),lg:Kl({tab:{fontSize:"lg",py:3,px:4}})},Woe=Kl(e=>{const{colorScheme:t,orientation:n}=e,r=n==="vertical",i=n==="vertical"?"borderStart":"borderBottom",o=r?"marginStart":"marginBottom";return{tablist:{[i]:"2px solid",borderColor:"inherit"},tab:{[i]:"2px solid",borderColor:"transparent",[o]:"-2px",_selected:{[Go.variable]:`colors.${t}.600`,_dark:{[Go.variable]:`colors.${t}.300`},borderColor:"currentColor"},_active:{[Us.variable]:"colors.gray.200",_dark:{[Us.variable]:"colors.whiteAlpha.300"}},_disabled:{_active:{bg:"none"}},color:Go.reference,bg:Us.reference}}}),Uoe=Kl(e=>{const{colorScheme:t}=e;return{tab:{borderTopRadius:"md",border:"1px solid",borderColor:"transparent",mb:"-1px",[Db.variable]:"transparent",_selected:{[Go.variable]:`colors.${t}.600`,[Db.variable]:"colors.white",_dark:{[Go.variable]:`colors.${t}.300`,[Db.variable]:"colors.gray.800"},borderColor:"inherit",borderBottomColor:Db.reference},color:Go.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),Voe=Kl(e=>{const{colorScheme:t}=e;return{tab:{border:"1px solid",borderColor:"inherit",[Us.variable]:"colors.gray.50",_dark:{[Us.variable]:"colors.whiteAlpha.50"},mb:"-1px",_notLast:{marginEnd:"-1px"},_selected:{[Us.variable]:"colors.white",[Go.variable]:`colors.${t}.600`,_dark:{[Us.variable]:"colors.gray.800",[Go.variable]:`colors.${t}.300`},borderColor:"inherit",borderTopColor:"currentColor",borderBottomColor:"transparent"},color:Go.reference,bg:Us.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),Goe=Kl(e=>{const{colorScheme:t,theme:n}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",color:"gray.600",_selected:{color:Co(n,`${t}.700`),bg:Co(n,`${t}.100`)}}}}),qoe=Kl(e=>{const{colorScheme:t}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",[Go.variable]:"colors.gray.600",_dark:{[Go.variable]:"inherit"},_selected:{[Go.variable]:"colors.white",[Us.variable]:`colors.${t}.600`,_dark:{[Go.variable]:"colors.gray.800",[Us.variable]:`colors.${t}.300`}},color:Go.reference,bg:Us.reference}}}),Koe=Kl({}),Yoe={line:Woe,enclosed:Uoe,"enclosed-colored":Voe,"soft-rounded":Goe,"solid-rounded":qoe,unstyled:Koe},Xoe=joe({baseStyle:zoe,sizes:Hoe,variants:Yoe,defaultProps:{size:"md",variant:"line",colorScheme:"blue"}}),Zoe={px:1,textTransform:"uppercase",fontSize:"xs",borderRadius:"sm",fontWeight:"bold"},bm=gn("badge-bg"),zl=gn("badge-color"),Qoe=e=>{const{colorScheme:t,theme:n}=e,r=Um(`${t}.500`,.6)(n);return{[bm.variable]:`colors.${t}.500`,[zl.variable]:"colors.white",_dark:{[bm.variable]:r,[zl.variable]:"colors.whiteAlpha.800"},bg:bm.reference,color:zl.reference}},Joe=e=>{const{colorScheme:t,theme:n}=e,r=Um(`${t}.200`,.16)(n);return{[bm.variable]:`colors.${t}.100`,[zl.variable]:`colors.${t}.800`,_dark:{[bm.variable]:r,[zl.variable]:`colors.${t}.200`},bg:bm.reference,color:zl.reference}},eae=e=>{const{colorScheme:t,theme:n}=e,r=Um(`${t}.200`,.8)(n);return{[zl.variable]:`colors.${t}.500`,_dark:{[zl.variable]:r},color:zl.reference,boxShadow:`inset 0 0 0px 1px ${zl.reference}`}},tae={solid:Qoe,subtle:Joe,outline:eae},I1={baseStyle:Zoe,variants:tae,defaultProps:{variant:"subtle",colorScheme:"gray"}},{defineMultiStyleConfig:nae,definePartsStyle:Oh}=fr(Vie.keys),rae={fontWeight:"medium",lineHeight:1.2,outline:0,borderRadius:"md",_focusVisible:{boxShadow:"outline"}},iae={lineHeight:1.2,overflow:"visible"},oae={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}},aae=Oh({container:rae,label:iae,closeButton:oae}),sae={sm:Oh({container:{minH:"5",minW:"5",fontSize:"xs",px:"2"},closeButton:{marginEnd:"-2px",marginStart:"0.35rem"}}),md:Oh({container:{minH:"6",minW:"6",fontSize:"sm",px:"2"}}),lg:Oh({container:{minH:"8",minW:"8",fontSize:"md",px:"3"}})},lae={subtle:Oh(e=>{var t;return{container:(t=I1.variants)==null?void 0:t.subtle(e)}}),solid:Oh(e=>{var t;return{container:(t=I1.variants)==null?void 0:t.solid(e)}}),outline:Oh(e=>{var t;return{container:(t=I1.variants)==null?void 0:t.outline(e)}})},uae=nae({variants:lae,baseStyle:aae,sizes:sae,defaultProps:{size:"md",variant:"subtle",colorScheme:"gray"}}),{definePartsStyle:zu,defineMultiStyleConfig:cae}=fr(Aie.keys),dae=zu({field:{width:"100%",minWidth:0,outline:0,position:"relative",appearance:"none",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed"}}}),sd={lg:{fontSize:"lg",px:"4",h:"12",borderRadius:"md"},md:{fontSize:"md",px:"4",h:"10",borderRadius:"md"},sm:{fontSize:"sm",px:"3",h:"8",borderRadius:"sm"},xs:{fontSize:"xs",px:"2",h:"6",borderRadius:"sm"}},fae={lg:zu({field:sd.lg,addon:sd.lg}),md:zu({field:sd.md,addon:sd.md}),sm:zu({field:sd.sm,addon:sd.sm}),xs:zu({field:sd.xs,addon:sd.xs})};function A9(e){const{focusBorderColor:t,errorBorderColor:n}=e;return{focusBorderColor:t||wt("blue.500","blue.300")(e),errorBorderColor:n||wt("red.500","red.300")(e)}}var hae=zu(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=A9(e);return{field:{border:"1px solid",borderColor:"inherit",bg:"inherit",_hover:{borderColor:wt("gray.300","whiteAlpha.400")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:Co(t,r),boxShadow:`0 0 0 1px ${Co(t,r)}`},_focusVisible:{zIndex:1,borderColor:Co(t,n),boxShadow:`0 0 0 1px ${Co(t,n)}`}},addon:{border:"1px solid",borderColor:wt("inherit","whiteAlpha.50")(e),bg:wt("gray.100","whiteAlpha.300")(e)}}}),pae=zu(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=A9(e);return{field:{border:"2px solid",borderColor:"transparent",bg:wt("gray.100","whiteAlpha.50")(e),_hover:{bg:wt("gray.200","whiteAlpha.100")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:Co(t,r)},_focusVisible:{bg:"transparent",borderColor:Co(t,n)}},addon:{border:"2px solid",borderColor:"transparent",bg:wt("gray.100","whiteAlpha.50")(e)}}}),gae=zu(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=A9(e);return{field:{borderBottom:"1px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent",_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:Co(t,r),boxShadow:`0px 1px 0px 0px ${Co(t,r)}`},_focusVisible:{borderColor:Co(t,n),boxShadow:`0px 1px 0px 0px ${Co(t,n)}`}},addon:{borderBottom:"2px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent"}}}),mae=zu({field:{bg:"transparent",px:"0",height:"auto"},addon:{bg:"transparent",px:"0",height:"auto"}}),vae={outline:hae,filled:pae,flushed:gae,unstyled:mae},xn=cae({baseStyle:dae,sizes:fae,variants:vae,defaultProps:{size:"md",variant:"outline"}}),tL,yae={...(tL=xn.baseStyle)==null?void 0:tL.field,paddingY:"2",minHeight:"20",lineHeight:"short",verticalAlign:"top"},nL,rL,bae={outline:e=>{var t,n;return(n=(t=xn.variants)==null?void 0:t.outline(e).field)!=null?n:{}},flushed:e=>{var t,n;return(n=(t=xn.variants)==null?void 0:t.flushed(e).field)!=null?n:{}},filled:e=>{var t,n;return(n=(t=xn.variants)==null?void 0:t.filled(e).field)!=null?n:{}},unstyled:(rL=(nL=xn.variants)==null?void 0:nL.unstyled.field)!=null?rL:{}},iL,oL,aL,sL,lL,uL,cL,dL,xae={xs:(oL=(iL=xn.sizes)==null?void 0:iL.xs.field)!=null?oL:{},sm:(sL=(aL=xn.sizes)==null?void 0:aL.sm.field)!=null?sL:{},md:(uL=(lL=xn.sizes)==null?void 0:lL.md.field)!=null?uL:{},lg:(dL=(cL=xn.sizes)==null?void 0:cL.lg.field)!=null?dL:{}},Sae={baseStyle:yae,sizes:xae,variants:bae,defaultProps:{size:"md",variant:"outline"}},jb=yi("tooltip-bg"),j5=yi("tooltip-fg"),wae=yi("popper-arrow-bg"),Cae={bg:jb.reference,color:j5.reference,[jb.variable]:"colors.gray.700",[j5.variable]:"colors.whiteAlpha.900",_dark:{[jb.variable]:"colors.gray.300",[j5.variable]:"colors.gray.900"},[wae.variable]:jb.reference,px:"2",py:"0.5",borderRadius:"sm",fontWeight:"medium",fontSize:"sm",boxShadow:"md",maxW:"xs",zIndex:"tooltip"},_ae={baseStyle:Cae},{defineMultiStyleConfig:kae,definePartsStyle:c1}=fr(Nie.keys),Eae=e=>{const{colorScheme:t,theme:n,isIndeterminate:r,hasStripe:i}=e,o=wt(XM(),XM("1rem","rgba(0,0,0,0.1)"))(e),a=wt(`${t}.500`,`${t}.200`)(e),s=`linear-gradient( + to right, + transparent 0%, + ${Co(n,a)} 50%, + transparent 100% + )`;return{...!r&&i&&o,...r?{bgImage:s}:{bgColor:a}}},Pae={lineHeight:"1",fontSize:"0.25em",fontWeight:"bold",color:"white"},Tae=e=>({bg:wt("gray.100","whiteAlpha.300")(e)}),Mae=e=>({transitionProperty:"common",transitionDuration:"slow",...Eae(e)}),Lae=c1(e=>({label:Pae,filledTrack:Mae(e),track:Tae(e)})),Aae={xs:c1({track:{h:"1"}}),sm:c1({track:{h:"2"}}),md:c1({track:{h:"3"}}),lg:c1({track:{h:"4"}})},Oae=kae({sizes:Aae,baseStyle:Lae,defaultProps:{size:"md",colorScheme:"blue"}}),Rae=e=>typeof e=="function";function Po(e,...t){return Rae(e)?e(...t):e}var{definePartsStyle:Gx,defineMultiStyleConfig:Iae}=fr(Eie.keys),D1=gn("checkbox-size"),Dae=e=>{const{colorScheme:t}=e;return{w:D1.reference,h:D1.reference,transitionProperty:"box-shadow",transitionDuration:"normal",border:"2px solid",borderRadius:"sm",borderColor:"inherit",color:"white",_checked:{bg:wt(`${t}.500`,`${t}.200`)(e),borderColor:wt(`${t}.500`,`${t}.200`)(e),color:wt("white","gray.900")(e),_hover:{bg:wt(`${t}.600`,`${t}.300`)(e),borderColor:wt(`${t}.600`,`${t}.300`)(e)},_disabled:{borderColor:wt("gray.200","transparent")(e),bg:wt("gray.200","whiteAlpha.300")(e),color:wt("gray.500","whiteAlpha.500")(e)}},_indeterminate:{bg:wt(`${t}.500`,`${t}.200`)(e),borderColor:wt(`${t}.500`,`${t}.200`)(e),color:wt("white","gray.900")(e)},_disabled:{bg:wt("gray.100","whiteAlpha.100")(e),borderColor:wt("gray.100","transparent")(e)},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:wt("red.500","red.300")(e)}}},jae={_disabled:{cursor:"not-allowed"}},Nae={userSelect:"none",_disabled:{opacity:.4}},$ae={transitionProperty:"transform",transitionDuration:"normal"},Fae=Gx(e=>({icon:$ae,container:jae,control:Po(Dae,e),label:Nae})),Bae={sm:Gx({control:{[D1.variable]:"sizes.3"},label:{fontSize:"sm"},icon:{fontSize:"3xs"}}),md:Gx({control:{[D1.variable]:"sizes.4"},label:{fontSize:"md"},icon:{fontSize:"2xs"}}),lg:Gx({control:{[D1.variable]:"sizes.5"},label:{fontSize:"lg"},icon:{fontSize:"2xs"}})},GS=Iae({baseStyle:Fae,sizes:Bae,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:zae,definePartsStyle:qx}=fr($ie.keys),Hae=e=>{var t;const n=(t=Po(GS.baseStyle,e))==null?void 0:t.control;return{...n,borderRadius:"full",_checked:{...n==null?void 0:n._checked,_before:{content:'""',display:"inline-block",pos:"relative",w:"50%",h:"50%",borderRadius:"50%",bg:"currentColor"}}}},Wae=qx(e=>{var t,n,r,i;return{label:(n=(t=GS).baseStyle)==null?void 0:n.call(t,e).label,container:(i=(r=GS).baseStyle)==null?void 0:i.call(r,e).container,control:Hae(e)}}),Uae={md:qx({control:{w:"4",h:"4"},label:{fontSize:"md"}}),lg:qx({control:{w:"5",h:"5"},label:{fontSize:"lg"}}),sm:qx({control:{width:"3",height:"3"},label:{fontSize:"sm"}})},Vae=zae({baseStyle:Wae,sizes:Uae,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Gae,definePartsStyle:qae}=fr(Fie.keys),Nb=gn("select-bg"),fL,Kae={...(fL=xn.baseStyle)==null?void 0:fL.field,appearance:"none",paddingBottom:"1px",lineHeight:"normal",bg:Nb.reference,[Nb.variable]:"colors.white",_dark:{[Nb.variable]:"colors.gray.700"},"> option, > optgroup":{bg:Nb.reference}},Yae={width:"6",height:"100%",insetEnd:"2",position:"relative",color:"currentColor",fontSize:"xl",_disabled:{opacity:.5}},Xae=qae({field:Kae,icon:Yae}),$b={paddingInlineEnd:"8"},hL,pL,gL,mL,vL,yL,bL,xL,Zae={lg:{...(hL=xn.sizes)==null?void 0:hL.lg,field:{...(pL=xn.sizes)==null?void 0:pL.lg.field,...$b}},md:{...(gL=xn.sizes)==null?void 0:gL.md,field:{...(mL=xn.sizes)==null?void 0:mL.md.field,...$b}},sm:{...(vL=xn.sizes)==null?void 0:vL.sm,field:{...(yL=xn.sizes)==null?void 0:yL.sm.field,...$b}},xs:{...(bL=xn.sizes)==null?void 0:bL.xs,field:{...(xL=xn.sizes)==null?void 0:xL.xs.field,...$b},icon:{insetEnd:"1"}}},Qae=Gae({baseStyle:Xae,sizes:Zae,variants:xn.variants,defaultProps:xn.defaultProps}),N5=gn("skeleton-start-color"),$5=gn("skeleton-end-color"),Jae={[N5.variable]:"colors.gray.100",[$5.variable]:"colors.gray.400",_dark:{[N5.variable]:"colors.gray.800",[$5.variable]:"colors.gray.600"},background:N5.reference,borderColor:$5.reference,opacity:.7,borderRadius:"sm"},ese={baseStyle:Jae},F5=gn("skip-link-bg"),tse={borderRadius:"md",fontWeight:"semibold",_focusVisible:{boxShadow:"outline",padding:"4",position:"fixed",top:"6",insetStart:"6",[F5.variable]:"colors.white",_dark:{[F5.variable]:"colors.gray.700"},bg:F5.reference}},nse={baseStyle:tse},{defineMultiStyleConfig:rse,definePartsStyle:Ew}=fr(Bie.keys),Sy=gn("slider-thumb-size"),wy=gn("slider-track-size"),bd=gn("slider-bg"),ise=e=>{const{orientation:t}=e;return{display:"inline-block",position:"relative",cursor:"pointer",_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"},...L9({orientation:t,vertical:{h:"100%"},horizontal:{w:"100%"}})}},ose=e=>({...L9({orientation:e.orientation,horizontal:{h:wy.reference},vertical:{w:wy.reference}}),overflow:"hidden",borderRadius:"sm",[bd.variable]:"colors.gray.200",_dark:{[bd.variable]:"colors.whiteAlpha.200"},_disabled:{[bd.variable]:"colors.gray.300",_dark:{[bd.variable]:"colors.whiteAlpha.300"}},bg:bd.reference}),ase=e=>{const{orientation:t}=e;return{...L9({orientation:t,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:Sy.reference,h:Sy.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"}}},sse=e=>{const{colorScheme:t}=e;return{width:"inherit",height:"inherit",[bd.variable]:`colors.${t}.500`,_dark:{[bd.variable]:`colors.${t}.200`},bg:bd.reference}},lse=Ew(e=>({container:ise(e),track:ose(e),thumb:ase(e),filledTrack:sse(e)})),use=Ew({container:{[Sy.variable]:"sizes.4",[wy.variable]:"sizes.1"}}),cse=Ew({container:{[Sy.variable]:"sizes.3.5",[wy.variable]:"sizes.1"}}),dse=Ew({container:{[Sy.variable]:"sizes.2.5",[wy.variable]:"sizes.0.5"}}),fse={lg:use,md:cse,sm:dse},hse=rse({baseStyle:lse,sizes:fse,defaultProps:{size:"md",colorScheme:"blue"}}),xh=yi("spinner-size"),pse={width:[xh.reference],height:[xh.reference]},gse={xs:{[xh.variable]:"sizes.3"},sm:{[xh.variable]:"sizes.4"},md:{[xh.variable]:"sizes.6"},lg:{[xh.variable]:"sizes.8"},xl:{[xh.variable]:"sizes.12"}},mse={baseStyle:pse,sizes:gse,defaultProps:{size:"md"}},{defineMultiStyleConfig:vse,definePartsStyle:mF}=fr(zie.keys),yse={fontWeight:"medium"},bse={opacity:.8,marginBottom:"2"},xse={verticalAlign:"baseline",fontWeight:"semibold"},Sse={marginEnd:1,w:"3.5",h:"3.5",verticalAlign:"middle"},wse=mF({container:{},label:yse,helpText:bse,number:xse,icon:Sse}),Cse={md:mF({label:{fontSize:"sm"},helpText:{fontSize:"sm"},number:{fontSize:"2xl"}})},_se=vse({baseStyle:wse,sizes:Cse,defaultProps:{size:"md"}}),B5=gn("kbd-bg"),kse={[B5.variable]:"colors.gray.100",_dark:{[B5.variable]:"colors.whiteAlpha.100"},bg:B5.reference,borderRadius:"md",borderWidth:"1px",borderBottomWidth:"3px",fontSize:"0.8em",fontWeight:"bold",lineHeight:"normal",px:"0.4em",whiteSpace:"nowrap"},Ese={baseStyle:kse},Pse={transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}},Tse={baseStyle:Pse},{defineMultiStyleConfig:Mse,definePartsStyle:Lse}=fr(Oie.keys),Ase={marginEnd:"2",display:"inline",verticalAlign:"text-bottom"},Ose=Lse({icon:Ase}),Rse=Mse({baseStyle:Ose}),{defineMultiStyleConfig:Ise,definePartsStyle:Dse}=fr(Rie.keys),Rl=gn("menu-bg"),z5=gn("menu-shadow"),jse={[Rl.variable]:"#fff",[z5.variable]:"shadows.sm",_dark:{[Rl.variable]:"colors.gray.700",[z5.variable]:"shadows.dark-lg"},color:"inherit",minW:"3xs",py:"2",zIndex:1,borderRadius:"md",borderWidth:"1px",bg:Rl.reference,boxShadow:z5.reference},Nse={py:"1.5",px:"3",transitionProperty:"background",transitionDuration:"ultra-fast",transitionTimingFunction:"ease-in",_focus:{[Rl.variable]:"colors.gray.100",_dark:{[Rl.variable]:"colors.whiteAlpha.100"}},_active:{[Rl.variable]:"colors.gray.200",_dark:{[Rl.variable]:"colors.whiteAlpha.200"}},_expanded:{[Rl.variable]:"colors.gray.100",_dark:{[Rl.variable]:"colors.whiteAlpha.100"}},_disabled:{opacity:.4,cursor:"not-allowed"},bg:Rl.reference},$se={mx:4,my:2,fontWeight:"semibold",fontSize:"sm"},Fse={opacity:.6},Bse={border:0,borderBottom:"1px solid",borderColor:"inherit",my:"2",opacity:.6},zse={transitionProperty:"common",transitionDuration:"normal"},Hse=Dse({button:zse,list:jse,item:Nse,groupTitle:$se,command:Fse,divider:Bse}),Wse=Ise({baseStyle:Hse}),{defineMultiStyleConfig:Use,definePartsStyle:y_}=fr(Iie.keys),Vse={bg:"blackAlpha.600",zIndex:"modal"},Gse=e=>{const{isCentered:t,scrollBehavior:n}=e;return{display:"flex",zIndex:"modal",justifyContent:"center",alignItems:t?"center":"flex-start",overflow:n==="inside"?"hidden":"auto",overscrollBehaviorY:"none"}},qse=e=>{const{scrollBehavior:t}=e;return{borderRadius:"md",bg:wt("white","gray.700")(e),color:"inherit",my:"16",zIndex:"modal",maxH:t==="inside"?"calc(100% - 7.5rem)":void 0,boxShadow:wt("lg","dark-lg")(e)}},Kse={px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"},Yse={position:"absolute",top:"2",insetEnd:"3"},Xse=e=>{const{scrollBehavior:t}=e;return{px:"6",py:"2",flex:"1",overflow:t==="inside"?"auto":void 0}},Zse={px:"6",py:"4"},Qse=y_(e=>({overlay:Vse,dialogContainer:Po(Gse,e),dialog:Po(qse,e),header:Kse,closeButton:Yse,body:Po(Xse,e),footer:Zse}));function js(e){return y_(e==="full"?{dialog:{maxW:"100vw",minH:"$100vh",my:"0",borderRadius:"0"}}:{dialog:{maxW:e}})}var Jse={xs:js("xs"),sm:js("sm"),md:js("md"),lg:js("lg"),xl:js("xl"),"2xl":js("2xl"),"3xl":js("3xl"),"4xl":js("4xl"),"5xl":js("5xl"),"6xl":js("6xl"),full:js("full")},ele=Use({baseStyle:Qse,sizes:Jse,defaultProps:{size:"md"}}),{defineMultiStyleConfig:tle,definePartsStyle:vF}=fr(Die.keys),O9=yi("number-input-stepper-width"),yF=yi("number-input-input-padding"),nle=Nu(O9).add("0.5rem").toString(),H5=yi("number-input-bg"),W5=yi("number-input-color"),U5=yi("number-input-border-color"),rle={[O9.variable]:"sizes.6",[yF.variable]:nle},ile=e=>{var t,n;return(n=(t=Po(xn.baseStyle,e))==null?void 0:t.field)!=null?n:{}},ole={width:O9.reference},ale={borderStart:"1px solid",borderStartColor:U5.reference,color:W5.reference,bg:H5.reference,[W5.variable]:"colors.chakra-body-text",[U5.variable]:"colors.chakra-border-color",_dark:{[W5.variable]:"colors.whiteAlpha.800",[U5.variable]:"colors.whiteAlpha.300"},_active:{[H5.variable]:"colors.gray.200",_dark:{[H5.variable]:"colors.whiteAlpha.300"}},_disabled:{opacity:.4,cursor:"not-allowed"}},sle=vF(e=>{var t;return{root:rle,field:(t=Po(ile,e))!=null?t:{},stepperGroup:ole,stepper:ale}});function Fb(e){var t,n,r;const i=(t=xn.sizes)==null?void 0:t[e],o={lg:"md",md:"md",sm:"sm",xs:"sm"},a=(r=(n=i.field)==null?void 0:n.fontSize)!=null?r:"md",s=dF.fontSizes[a];return vF({field:{...i.field,paddingInlineEnd:yF.reference,verticalAlign:"top"},stepper:{fontSize:Nu(s).multiply(.75).toString(),_first:{borderTopEndRadius:o[e]},_last:{borderBottomEndRadius:o[e],mt:"-1px",borderTopWidth:1}}})}var lle={xs:Fb("xs"),sm:Fb("sm"),md:Fb("md"),lg:Fb("lg")},ule=tle({baseStyle:sle,sizes:lle,variants:xn.variants,defaultProps:xn.defaultProps}),SL,cle={...(SL=xn.baseStyle)==null?void 0:SL.field,textAlign:"center"},dle={lg:{fontSize:"lg",w:12,h:12,borderRadius:"md"},md:{fontSize:"md",w:10,h:10,borderRadius:"md"},sm:{fontSize:"sm",w:8,h:8,borderRadius:"sm"},xs:{fontSize:"xs",w:6,h:6,borderRadius:"sm"}},wL,CL,fle={outline:e=>{var t,n,r;return(r=(n=Po((t=xn.variants)==null?void 0:t.outline,e))==null?void 0:n.field)!=null?r:{}},flushed:e=>{var t,n,r;return(r=(n=Po((t=xn.variants)==null?void 0:t.flushed,e))==null?void 0:n.field)!=null?r:{}},filled:e=>{var t,n,r;return(r=(n=Po((t=xn.variants)==null?void 0:t.filled,e))==null?void 0:n.field)!=null?r:{}},unstyled:(CL=(wL=xn.variants)==null?void 0:wL.unstyled.field)!=null?CL:{}},hle={baseStyle:cle,sizes:dle,variants:fle,defaultProps:xn.defaultProps},{defineMultiStyleConfig:ple,definePartsStyle:gle}=fr(jie.keys),Bb=yi("popper-bg"),mle=yi("popper-arrow-bg"),_L=yi("popper-arrow-shadow-color"),vle={zIndex:10},yle={[Bb.variable]:"colors.white",bg:Bb.reference,[mle.variable]:Bb.reference,[_L.variable]:"colors.gray.200",_dark:{[Bb.variable]:"colors.gray.700",[_L.variable]:"colors.whiteAlpha.300"},width:"xs",border:"1px solid",borderColor:"inherit",borderRadius:"md",boxShadow:"sm",zIndex:"inherit",_focusVisible:{outline:0,boxShadow:"outline"}},ble={px:3,py:2,borderBottomWidth:"1px"},xle={px:3,py:2},Sle={px:3,py:2,borderTopWidth:"1px"},wle={position:"absolute",borderRadius:"md",top:1,insetEnd:2,padding:2},Cle=gle({popper:vle,content:yle,header:ble,body:xle,footer:Sle,closeButton:wle}),_le=ple({baseStyle:Cle}),{definePartsStyle:b_,defineMultiStyleConfig:kle}=fr(Pie.keys),V5=gn("drawer-bg"),G5=gn("drawer-box-shadow");function bg(e){return b_(e==="full"?{dialog:{maxW:"100vw",h:"100vh"}}:{dialog:{maxW:e}})}var Ele={bg:"blackAlpha.600",zIndex:"overlay"},Ple={display:"flex",zIndex:"modal",justifyContent:"center"},Tle=e=>{const{isFullHeight:t}=e;return{...t&&{height:"100vh"},zIndex:"modal",maxH:"100vh",color:"inherit",[V5.variable]:"colors.white",[G5.variable]:"shadows.lg",_dark:{[V5.variable]:"colors.gray.700",[G5.variable]:"shadows.dark-lg"},bg:V5.reference,boxShadow:G5.reference}},Mle={px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"},Lle={position:"absolute",top:"2",insetEnd:"3"},Ale={px:"6",py:"2",flex:"1",overflow:"auto"},Ole={px:"6",py:"4"},Rle=b_(e=>({overlay:Ele,dialogContainer:Ple,dialog:Po(Tle,e),header:Mle,closeButton:Lle,body:Ale,footer:Ole})),Ile={xs:bg("xs"),sm:bg("md"),md:bg("lg"),lg:bg("2xl"),xl:bg("4xl"),full:bg("full")},Dle=kle({baseStyle:Rle,sizes:Ile,defaultProps:{size:"xs"}}),{definePartsStyle:jle,defineMultiStyleConfig:Nle}=fr(Tie.keys),$le={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"},Fle={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}},Ble={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}},zle=jle({preview:$le,input:Fle,textarea:Ble}),Hle=Nle({baseStyle:zle}),{definePartsStyle:Wle,defineMultiStyleConfig:Ule}=fr(Mie.keys),xm=gn("form-control-color"),Vle={marginStart:"1",[xm.variable]:"colors.red.500",_dark:{[xm.variable]:"colors.red.300"},color:xm.reference},Gle={mt:"2",[xm.variable]:"colors.gray.600",_dark:{[xm.variable]:"colors.whiteAlpha.600"},color:xm.reference,lineHeight:"normal",fontSize:"sm"},qle=Wle({container:{width:"100%",position:"relative"},requiredIndicator:Vle,helperText:Gle}),Kle=Ule({baseStyle:qle}),{definePartsStyle:Yle,defineMultiStyleConfig:Xle}=fr(Lie.keys),Sm=gn("form-error-color"),Zle={[Sm.variable]:"colors.red.500",_dark:{[Sm.variable]:"colors.red.300"},color:Sm.reference,mt:"2",fontSize:"sm",lineHeight:"normal"},Qle={marginEnd:"0.5em",[Sm.variable]:"colors.red.500",_dark:{[Sm.variable]:"colors.red.300"},color:Sm.reference},Jle=Yle({text:Zle,icon:Qle}),eue=Xle({baseStyle:Jle}),tue={fontSize:"md",marginEnd:"3",mb:"2",fontWeight:"medium",transitionProperty:"common",transitionDuration:"normal",opacity:1,_disabled:{opacity:.4}},nue={baseStyle:tue},rue={fontFamily:"heading",fontWeight:"bold"},iue={"4xl":{fontSize:["6xl",null,"7xl"],lineHeight:1},"3xl":{fontSize:["5xl",null,"6xl"],lineHeight:1},"2xl":{fontSize:["4xl",null,"5xl"],lineHeight:[1.2,null,1]},xl:{fontSize:["3xl",null,"4xl"],lineHeight:[1.33,null,1.2]},lg:{fontSize:["2xl",null,"3xl"],lineHeight:[1.33,null,1.2]},md:{fontSize:"xl",lineHeight:1.2},sm:{fontSize:"md",lineHeight:1.2},xs:{fontSize:"sm",lineHeight:1.2}},oue={baseStyle:rue,sizes:iue,defaultProps:{size:"xl"}},{defineMultiStyleConfig:aue,definePartsStyle:sue}=fr(kie.keys),lue={transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}},uue=sue({link:lue}),cue=aue({baseStyle:uue}),due={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"}}},bF=e=>{const{colorScheme:t,theme:n}=e;if(t==="gray")return{color:wt("inherit","whiteAlpha.900")(e),_hover:{bg:wt("gray.100","whiteAlpha.200")(e)},_active:{bg:wt("gray.200","whiteAlpha.300")(e)}};const r=Um(`${t}.200`,.12)(n),i=Um(`${t}.200`,.24)(n);return{color:wt(`${t}.600`,`${t}.200`)(e),bg:"transparent",_hover:{bg:wt(`${t}.50`,r)(e)},_active:{bg:wt(`${t}.100`,i)(e)}}},fue=e=>{const{colorScheme:t}=e,n=wt("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:t==="gray"?n:"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"},...Po(bF,e)}},hue={yellow:{bg:"yellow.400",color:"black",hoverBg:"yellow.500",activeBg:"yellow.600"},cyan:{bg:"cyan.400",color:"black",hoverBg:"cyan.500",activeBg:"cyan.600"}},pue=e=>{var t;const{colorScheme:n}=e;if(n==="gray"){const l=wt("gray.100","whiteAlpha.200")(e);return{bg:l,_hover:{bg:wt("gray.200","whiteAlpha.300")(e),_disabled:{bg:l}},_active:{bg:wt("gray.300","whiteAlpha.400")(e)}}}const{bg:r=`${n}.500`,color:i="white",hoverBg:o=`${n}.600`,activeBg:a=`${n}.700`}=(t=hue[n])!=null?t:{},s=wt(r,`${n}.200`)(e);return{bg:s,color:wt(i,"gray.800")(e),_hover:{bg:wt(o,`${n}.300`)(e),_disabled:{bg:s}},_active:{bg:wt(a,`${n}.400`)(e)}}},gue=e=>{const{colorScheme:t}=e;return{padding:0,height:"auto",lineHeight:"normal",verticalAlign:"baseline",color:wt(`${t}.500`,`${t}.200`)(e),_hover:{textDecoration:"underline",_disabled:{textDecoration:"none"}},_active:{color:wt(`${t}.700`,`${t}.500`)(e)}}},mue={bg:"none",color:"inherit",display:"inline",lineHeight:"inherit",m:"0",p:"0"},vue={ghost:bF,outline:fue,solid:pue,link:gue,unstyled:mue},yue={lg:{h:"12",minW:"12",fontSize:"lg",px:"6"},md:{h:"10",minW:"10",fontSize:"md",px:"4"},sm:{h:"8",minW:"8",fontSize:"sm",px:"3"},xs:{h:"6",minW:"6",fontSize:"xs",px:"2"}},bue={baseStyle:due,variants:vue,sizes:yue,defaultProps:{variant:"solid",size:"md",colorScheme:"gray"}},{definePartsStyle:Rh,defineMultiStyleConfig:xue}=fr(Gie.keys),qS=gn("card-bg"),Vu=gn("card-padding"),xF=gn("card-shadow"),Kx=gn("card-radius"),SF=gn("card-border-width","0"),wF=gn("card-border-color"),Sue=Rh({container:{[qS.variable]:"colors.chakra-body-bg",backgroundColor:qS.reference,boxShadow:xF.reference,borderRadius:Kx.reference,color:"chakra-body-text",borderWidth:SF.reference,borderColor:wF.reference},body:{padding:Vu.reference,flex:"1 1 0%"},header:{padding:Vu.reference},footer:{padding:Vu.reference}}),wue={sm:Rh({container:{[Kx.variable]:"radii.base",[Vu.variable]:"space.3"}}),md:Rh({container:{[Kx.variable]:"radii.md",[Vu.variable]:"space.5"}}),lg:Rh({container:{[Kx.variable]:"radii.xl",[Vu.variable]:"space.7"}})},Cue={elevated:Rh({container:{[xF.variable]:"shadows.base",_dark:{[qS.variable]:"colors.gray.700"}}}),outline:Rh({container:{[SF.variable]:"1px",[wF.variable]:"colors.chakra-border-color"}}),filled:Rh({container:{[qS.variable]:"colors.chakra-subtle-bg"}}),unstyled:{body:{[Vu.variable]:0},header:{[Vu.variable]:0},footer:{[Vu.variable]:0}}},_ue=xue({baseStyle:Sue,variants:Cue,sizes:wue,defaultProps:{variant:"elevated",size:"md"}}),j1=yi("close-button-size"),zv=yi("close-button-bg"),kue={w:[j1.reference],h:[j1.reference],borderRadius:"md",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{[zv.variable]:"colors.blackAlpha.100",_dark:{[zv.variable]:"colors.whiteAlpha.100"}},_active:{[zv.variable]:"colors.blackAlpha.200",_dark:{[zv.variable]:"colors.whiteAlpha.200"}},_focusVisible:{boxShadow:"outline"},bg:zv.reference},Eue={lg:{[j1.variable]:"sizes.10",fontSize:"md"},md:{[j1.variable]:"sizes.8",fontSize:"xs"},sm:{[j1.variable]:"sizes.6",fontSize:"2xs"}},Pue={baseStyle:kue,sizes:Eue,defaultProps:{size:"md"}},{variants:Tue,defaultProps:Mue}=I1,Lue={fontFamily:"mono",fontSize:"sm",px:"0.2em",borderRadius:"sm"},Aue={baseStyle:Lue,variants:Tue,defaultProps:Mue},Oue={w:"100%",mx:"auto",maxW:"prose",px:"4"},Rue={baseStyle:Oue},Iue={opacity:.6,borderColor:"inherit"},Due={borderStyle:"solid"},jue={borderStyle:"dashed"},Nue={solid:Due,dashed:jue},$ue={baseStyle:Iue,variants:Nue,defaultProps:{variant:"solid"}},{definePartsStyle:Fue,defineMultiStyleConfig:Bue}=fr(wie.keys),zue={borderTopWidth:"1px",borderColor:"inherit",_last:{borderBottomWidth:"1px"}},Hue={transitionProperty:"common",transitionDuration:"normal",fontSize:"md",_focusVisible:{boxShadow:"outline"},_hover:{bg:"blackAlpha.50"},_disabled:{opacity:.4,cursor:"not-allowed"},px:"4",py:"2"},Wue={pt:"2",px:"4",pb:"5"},Uue={fontSize:"1.25em"},Vue=Fue({container:zue,button:Hue,panel:Wue,icon:Uue}),Gue=Bue({baseStyle:Vue}),{definePartsStyle:e2,defineMultiStyleConfig:que}=fr(Cie.keys),Ta=gn("alert-fg"),nc=gn("alert-bg"),Kue=e2({container:{bg:nc.reference,px:"4",py:"3"},title:{fontWeight:"bold",lineHeight:"6",marginEnd:"2"},description:{lineHeight:"6"},icon:{color:Ta.reference,flexShrink:0,marginEnd:"3",w:"5",h:"6"},spinner:{color:Ta.reference,flexShrink:0,marginEnd:"3",w:"5",h:"5"}});function R9(e){const{theme:t,colorScheme:n}=e,r=Um(`${n}.200`,.16)(t);return{light:`colors.${n}.100`,dark:r}}var Yue=e2(e=>{const{colorScheme:t}=e,n=R9(e);return{container:{[Ta.variable]:`colors.${t}.500`,[nc.variable]:n.light,_dark:{[Ta.variable]:`colors.${t}.200`,[nc.variable]:n.dark}}}}),Xue=e2(e=>{const{colorScheme:t}=e,n=R9(e);return{container:{[Ta.variable]:`colors.${t}.500`,[nc.variable]:n.light,_dark:{[Ta.variable]:`colors.${t}.200`,[nc.variable]:n.dark},paddingStart:"3",borderStartWidth:"4px",borderStartColor:Ta.reference}}}),Zue=e2(e=>{const{colorScheme:t}=e,n=R9(e);return{container:{[Ta.variable]:`colors.${t}.500`,[nc.variable]:n.light,_dark:{[Ta.variable]:`colors.${t}.200`,[nc.variable]:n.dark},pt:"2",borderTopWidth:"4px",borderTopColor:Ta.reference}}}),Que=e2(e=>{const{colorScheme:t}=e;return{container:{[Ta.variable]:"colors.white",[nc.variable]:`colors.${t}.500`,_dark:{[Ta.variable]:"colors.gray.900",[nc.variable]:`colors.${t}.200`},color:Ta.reference}}}),Jue={subtle:Yue,"left-accent":Xue,"top-accent":Zue,solid:Que},ece=que({baseStyle:Kue,variants:Jue,defaultProps:{variant:"subtle",colorScheme:"blue"}}),{definePartsStyle:CF,defineMultiStyleConfig:tce}=fr(_ie.keys),wm=gn("avatar-border-color"),q5=gn("avatar-bg"),nce={borderRadius:"full",border:"0.2em solid",[wm.variable]:"white",_dark:{[wm.variable]:"colors.gray.800"},borderColor:wm.reference},rce={[q5.variable]:"colors.gray.200",_dark:{[q5.variable]:"colors.whiteAlpha.400"},bgColor:q5.reference},kL=gn("avatar-background"),ice=e=>{const{name:t,theme:n}=e,r=t?foe({string:t}):"colors.gray.400",i=coe(r)(n);let o="white";return i||(o="gray.800"),{bg:kL.reference,"&:not([data-loaded])":{[kL.variable]:r},color:o,[wm.variable]:"colors.white",_dark:{[wm.variable]:"colors.gray.800"},borderColor:wm.reference,verticalAlign:"top"}},oce=CF(e=>({badge:Po(nce,e),excessLabel:Po(rce,e),container:Po(ice,e)}));function ld(e){const t=e!=="100%"?hF[e]:void 0;return CF({container:{width:e,height:e,fontSize:`calc(${t??e} / 2.5)`},excessLabel:{width:e,height:e},label:{fontSize:`calc(${t??e} / 2.5)`,lineHeight:e!=="100%"?t??e:void 0}})}var ace={"2xs":ld(4),xs:ld(6),sm:ld(8),md:ld(12),lg:ld(16),xl:ld(24),"2xl":ld(32),full:ld("100%")},sce=tce({baseStyle:oce,sizes:ace,defaultProps:{size:"md"}}),lce={Accordion:Gue,Alert:ece,Avatar:sce,Badge:I1,Breadcrumb:cue,Button:bue,Checkbox:GS,CloseButton:Pue,Code:Aue,Container:Rue,Divider:$ue,Drawer:Dle,Editable:Hle,Form:Kle,FormError:eue,FormLabel:nue,Heading:oue,Input:xn,Kbd:Ese,Link:Tse,List:Rse,Menu:Wse,Modal:ele,NumberInput:ule,PinInput:hle,Popover:_le,Progress:Oae,Radio:Vae,Select:Qae,Skeleton:ese,SkipLink:nse,Slider:hse,Spinner:mse,Stat:_se,Switch:Toe,Table:Doe,Tabs:Xoe,Tag:uae,Textarea:Sae,Tooltip:_ae,Card:_ue},uce={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-subtle-bg":{_light:"gray.100",_dark:"gray.700"},"chakra-placeholder-color":{_light:"gray.500",_dark:"whiteAlpha.400"}}},cce={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",wordWrap:"break-word"}}},dce="ltr",fce={useSystemColorMode:!1,initialColorMode:"light",cssVarPrefix:"chakra"},hce={semanticTokens:uce,direction:dce,...Sie,components:lce,styles:cce,config:fce};function pce(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var gce=pce();function mce(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function vce(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,a)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const s=t.get(r);if(s.has(i))return s.get(i);const l=e(r,i,o,a);return s.set(i,l),l}},_F=yce(vce);function kF(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var EF=e=>kF(e,t=>t!=null);function bce(e){return typeof e=="function"}function PF(e,...t){return bce(e)?e(...t):e}function xce(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}const TF=1/60*1e3,Sce=typeof performance<"u"?()=>performance.now():()=>Date.now(),MF=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(Sce()),TF);function wce(e){let t=[],n=[],r=0,i=!1,o=!1;const a=new WeakSet,s={schedule:(l,u=!1,d=!1)=>{const h=d&&i,m=h?t:n;return u&&a.add(l),m.indexOf(l)===-1&&(m.push(l),h&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),a.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]=wce(()=>Cy=!0),e),{}),_ce=t2.reduce((e,t)=>{const n=Pw[t];return e[t]=(r,i=!1,o=!1)=>(Cy||Pce(),n.schedule(r,i,o)),e},{}),kce=t2.reduce((e,t)=>(e[t]=Pw[t].cancel,e),{});t2.reduce((e,t)=>(e[t]=()=>Pw[t].process(Cm),e),{});const Ece=e=>Pw[e].process(Cm),LF=e=>{Cy=!1,Cm.delta=x_?TF:Math.max(Math.min(e-Cm.timestamp,Cce),1),Cm.timestamp=e,S_=!0,t2.forEach(Ece),S_=!1,Cy&&(x_=!1,MF(LF))},Pce=()=>{Cy=!0,x_=!0,S_||MF(LF)},EL=()=>Cm;var Tce=typeof Element<"u",Mce=typeof Map=="function",Lce=typeof Set=="function",Ace=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Yx(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(!Yx(e[r],t[r]))return!1;return!0}var o;if(Mce&&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(!Yx(r.value[1],t.get(r.value[0])))return!1;return!0}if(Lce&&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(Ace&&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)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)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(Tce&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Yx(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var Oce=function(t,n){try{return Yx(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};function AF(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:a}=tF(),s=e?_F(o,`components.${e}`):void 0,l=r||s,u=Bl({theme:o,colorMode:a},(n=l==null?void 0:l.defaultProps)!=null?n:{},EF(mce(i,["children"]))),d=S.useRef({});if(l){const m=Xre(l)(u);Oce(d.current,m)||(d.current=m)}return d.current}function au(e,t={}){return AF(e,t)}function Xi(e,t={}){return AF(e,t)}var Rce=new Set([...$re,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),Ice=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function Dce(e){return Ice.has(e)||!Rce.has(e)}function jce(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function Nce(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 $ce=/^((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)-.*))$/,Fce=Fj(function(e){return $ce.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),Bce=Fce,zce=function(t){return t!=="theme"},PL=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?Bce:zce},TL=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(a){return t.__emotion_forwardProp(a)&&o(a)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},Hce=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return Vj(n,r,i),dee(function(){return Gj(n,r,i)}),null},Wce=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,a;n!==void 0&&(o=n.label,a=n.target);var s=TL(t,n,r),l=s||PL(i),u=!l("as");return function(){var d=arguments,h=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&h.push("label:"+o+";"),d[0]==null||d[0].raw===void 0)h.push.apply(h,d);else{h.push(d[0][0]);for(var m=d.length,y=1;yt=>{const{theme:n,css:r,__css:i,sx:o,...a}=t,s=kF(a,(h,m)=>Bre(m)),l=PF(e,t),u=Nce({},i,l,EF(s),o),d=cF(u)(t.theme);return r?[d,r]:d};function K5(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=Dce);const i=Gce({baseStyle:n}),o=Vce(e,r)(i);return Ye.forwardRef(function(l,u){const{colorMode:d,forced:h}=Qy();return Ye.createElement(o,{ref:u,"data-theme":h?d:void 0,...l})})}function qce(){const e=new Map;return new Proxy(K5,{apply(t,n,r){return K5(...r)},get(t,n){return e.has(n)||e.set(n,K5(n)),e.get(n)}})}var $e=qce();function Qe(e){return S.forwardRef(e)}function Kce(e={}){const{strict:t=!0,errorMessage:n="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:r}=e,i=S.createContext(void 0);i.displayName=r;function o(){var a;const s=S.useContext(i);if(!s&&t){const l=new Error(n);throw l.name="ContextError",(a=Error.captureStackTrace)==null||a.call(Error,l,o),l}return s}return[i.Provider,o,i]}function Yce(e){const{cssVarsRoot:t,theme:n,children:r}=e,i=S.useMemo(()=>jre(n),[n]);return g.jsxs(gee,{theme:i,children:[g.jsx(Xce,{root:t}),r]})}function Xce({root:e=":host, :root"}){const t=[e,"[data-theme]"].join(",");return g.jsx(aw,{styles:n=>({[t]:n.__cssVars})})}Kce({name:"StylesContext",errorMessage:"useStyles: `styles` is undefined. Seems you forgot to wrap the components in `` "});function Zce(){const{colorMode:e}=Qy();return g.jsx(aw,{styles:t=>{const n=_F(t,"styles.global"),r=PF(n,{theme:t,colorMode:e});return r?cF(r)(t):void 0}})}var OF=S.createContext({getDocument(){return document},getWindow(){return window}});OF.displayName="EnvironmentContext";function RF(e){const{children:t,environment:n,disabled:r}=e,i=S.useRef(null),o=S.useMemo(()=>n||{getDocument:()=>{var s,l;return(l=(s=i.current)==null?void 0:s.ownerDocument)!=null?l:document},getWindow:()=>{var s,l;return(l=(s=i.current)==null?void 0:s.ownerDocument.defaultView)!=null?l:window}},[n]),a=!r||!n;return g.jsxs(OF.Provider,{value:o,children:[t,a&&g.jsx("span",{id:"__chakra_env",hidden:!0,ref:i})]})}RF.displayName="EnvironmentProvider";var Qce=e=>{const{children:t,colorModeManager:n,portalZIndex:r,resetCSS:i=!0,theme:o={},environment:a,cssVarsRoot:s,disableEnvironment:l}=e,u=g.jsx(RF,{environment:a,disabled:l,children:t});return g.jsx(Yce,{theme:o,cssVarsRoot:s,children:g.jsxs(eF,{colorModeManager:n,options:o.config,children:[i?g.jsx(yee,{}):g.jsx(vee,{}),g.jsx(Zce,{}),r?g.jsx(Qj,{zIndex:r,children:u}):u]})})},Jce=(e,t)=>e.find(n=>n.id===t);function LL(e,t){const n=IF(e,t),r=n?e[n].findIndex(i=>i.id===t):-1;return{position:n,index:r}}function IF(e,t){for(const[n,r]of Object.entries(e))if(Jce(r,t))return n}function ede(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 tde(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)",a=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:5500,pointerEvents:"none",display:"flex",flexDirection:"column",margin:n,top:r,bottom:i,right:o,left:a}}function Qr(e,t=[]){const n=S.useRef(e);return S.useEffect(()=>{n.current=e}),S.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function nde(e,t){const n=Qr(e);S.useEffect(()=>{if(t==null)return;let r=null;return r=window.setTimeout(()=>{n()},t),()=>{r&&window.clearTimeout(r)}},[t,n])}function rc(e,t){const n=S.useRef(!1),r=S.useRef(!1);S.useEffect(()=>{if(n.current&&r.current)return e();r.current=!0},t),S.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[])}const DF=S.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),Tw=S.createContext({});function rde(){return S.useContext(Tw).visualElement}const n2=S.createContext(null),Mw=typeof document<"u",YS=Mw?S.useLayoutEffect:S.useEffect,jF=S.createContext({strict:!1});function ide(e,t,n,r){const i=rde(),o=S.useContext(jF),a=S.useContext(n2),s=S.useContext(DF).reducedMotion,l=S.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:a,blockInitialAnimation:a?a.initial===!1:!1,reducedMotionConfig:s}));const u=l.current;return S.useInsertionEffect(()=>{u&&u.update(n,a)}),YS(()=>{u&&u.render()}),S.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?YS:S.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function Qg(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function ode(e,t,n){return S.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):Qg(n)&&(n.current=r))},[t])}function _y(e){return typeof e=="string"||Array.isArray(e)}function Lw(e){return typeof e=="object"&&typeof e.start=="function"}const ade=["initial","animate","exit","whileHover","whileDrag","whileTap","whileFocus","whileInView"];function Aw(e){return Lw(e.animate)||ade.some(t=>_y(e[t]))}function NF(e){return Boolean(Aw(e)||e.variants)}function sde(e,t){if(Aw(e)){const{initial:n,animate:r}=e;return{initial:n===!1||_y(n)?n:void 0,animate:_y(r)?r:void 0}}return e.inherit!==!1?t:{}}function lde(e){const{initial:t,animate:n}=sde(e,S.useContext(Tw));return S.useMemo(()=>({initial:t,animate:n}),[AL(t),AL(n)])}function AL(e){return Array.isArray(e)?e.join(" "):e}const OL={animation:["animate","exit","variants","whileHover","whileTap","whileFocus","whileDrag","whileInView"],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"]},ky={};for(const e in OL)ky[e]={isEnabled:t=>OL[e].some(n=>!!t[n])};function ude(e){for(const t in e)ky[t]={...ky[t],...e[t]}}function I9(e){const t=S.useRef(null);return t.current===null&&(t.current=e()),t.current}const N1={hasAnimatedSinceResize:!0,hasEverUpdated:!1};let cde=1;function dde(){return I9(()=>{if(N1.hasEverUpdated)return cde++})}const D9=S.createContext({}),$F=S.createContext({}),fde=Symbol.for("motionComponentSymbol");function hde({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&ude(e);function o(s,l){let u;const d={...S.useContext(DF),...s,layoutId:pde(s)},{isStatic:h}=d,m=lde(s),y=h?void 0:dde(),b=r(s,h);if(!h&&Mw){m.visualElement=ide(i,b,d,t);const w=S.useContext($F),E=S.useContext(jF).strict;m.visualElement&&(u=m.visualElement.loadFeatures(d,E,e,y,w))}return S.createElement(Tw.Provider,{value:m},u&&m.visualElement?S.createElement(u,{visualElement:m.visualElement,...d}):null,n(i,s,y,ode(b,m.visualElement,l),b,h,m.visualElement))}const a=S.forwardRef(o);return a[fde]=i,a}function pde({layoutId:e}){const t=S.useContext(D9).id;return t&&e!==void 0?t+"-"+e:e}function gde(e){function t(r,i={}){return hde(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 mde=["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 j9(e){return typeof e!="string"||e.includes("-")?!1:!!(mde.indexOf(e)>-1||/[A-Z]/.test(e))}const XS={};function vde(e){Object.assign(XS,e)}const Ow=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],d0=new Set(Ow);function FF(e,{layout:t,layoutId:n}){return d0.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!XS[e]||e==="opacity")}const ta=e=>Boolean(e&&e.getVelocity),yde={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},bde=Ow.length;function xde(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let a=0;at&&typeof e=="number"?t.transform(e):e,Vm=(e,t,n)=>Math.min(Math.max(n,e),t),np={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},$1={...np,transform:e=>Vm(0,1,e)},zb={...np,default:1},F1=e=>Math.round(e*1e5)/1e5,Ey=/(-)?([\d]*\.?[\d])+/g,w_=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,wde=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function r2(e){return typeof e=="string"}const i2=e=>({test:t=>r2(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),cd=i2("deg"),Yl=i2("%"),Pt=i2("px"),Cde=i2("vh"),_de=i2("vw"),RL={...Yl,parse:e=>Yl.parse(e)/100,transform:e=>Yl.transform(e*100)},IL={...np,transform:Math.round},zF={borderWidth:Pt,borderTopWidth:Pt,borderRightWidth:Pt,borderBottomWidth:Pt,borderLeftWidth:Pt,borderRadius:Pt,radius:Pt,borderTopLeftRadius:Pt,borderTopRightRadius:Pt,borderBottomRightRadius:Pt,borderBottomLeftRadius:Pt,width:Pt,maxWidth:Pt,height:Pt,maxHeight:Pt,size:Pt,top:Pt,right:Pt,bottom:Pt,left:Pt,padding:Pt,paddingTop:Pt,paddingRight:Pt,paddingBottom:Pt,paddingLeft:Pt,margin:Pt,marginTop:Pt,marginRight:Pt,marginBottom:Pt,marginLeft:Pt,rotate:cd,rotateX:cd,rotateY:cd,rotateZ:cd,scale:zb,scaleX:zb,scaleY:zb,scaleZ:zb,skew:cd,skewX:cd,skewY:cd,distance:Pt,translateX:Pt,translateY:Pt,translateZ:Pt,x:Pt,y:Pt,z:Pt,perspective:Pt,transformPerspective:Pt,opacity:$1,originX:RL,originY:RL,originZ:Pt,zIndex:IL,fillOpacity:$1,strokeOpacity:$1,numOctaves:IL};function N9(e,t,n,r){const{style:i,vars:o,transform:a,transformOrigin:s}=e;let l=!1,u=!1,d=!0;for(const h in t){const m=t[h];if(BF(h)){o[h]=m;continue}const y=zF[h],b=Sde(m,y);if(d0.has(h)){if(l=!0,a[h]=b,!d)continue;m!==(y.default||0)&&(d=!1)}else h.startsWith("origin")?(u=!0,s[h]=b):i[h]=b}if(t.transform||(l||r?i.transform=xde(e.transform,n,d,r):i.transform&&(i.transform="none")),u){const{originX:h="50%",originY:m="50%",originZ:y=0}=s;i.transformOrigin=`${h} ${m} ${y}`}}const $9=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function HF(e,t,n){for(const r in t)!ta(t[r])&&!FF(r,n)&&(e[r]=t[r])}function kde({transformTemplate:e},t,n){return S.useMemo(()=>{const r=$9();return N9(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function Ede(e,t,n){const r=e.style||{},i={};return HF(i,r,e),Object.assign(i,kde(e,t,n)),e.transformValues?e.transformValues(i):i}function Pde(e,t,n){const r={},i=Ede(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 Tde=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 ZS(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||Tde.has(e)}let WF=e=>!ZS(e);function Mde(e){e&&(WF=t=>t.startsWith("on")?!ZS(t):e(t))}try{Mde(require("@emotion/is-prop-valid").default)}catch{}function Lde(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(WF(i)||n===!0&&ZS(i)||!t&&!ZS(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function DL(e,t,n){return typeof e=="string"?e:Pt.transform(t+n*e)}function Ade(e,t,n){const r=DL(t,e.x,e.width),i=DL(n,e.y,e.height);return`${r} ${i}`}const Ode={offset:"stroke-dashoffset",array:"stroke-dasharray"},Rde={offset:"strokeDashoffset",array:"strokeDasharray"};function Ide(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?Ode:Rde;e[o.offset]=Pt.transform(-r);const a=Pt.transform(t),s=Pt.transform(n);e[o.array]=`${a} ${s}`}function F9(e,{attrX:t,attrY:n,originX:r,originY:i,pathLength:o,pathSpacing:a=1,pathOffset:s=0,...l},u,d,h){if(N9(e,l,u,h),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:m,style:y,dimensions:b}=e;m.transform&&(b&&(y.transform=m.transform),delete m.transform),b&&(r!==void 0||i!==void 0||y.transform)&&(y.transformOrigin=Ade(b,r!==void 0?r:.5,i!==void 0?i:.5)),t!==void 0&&(m.x=t),n!==void 0&&(m.y=n),o!==void 0&&Ide(m,o,a,s,!1)}const UF=()=>({...$9(),attrs:{}}),B9=e=>typeof e=="string"&&e.toLowerCase()==="svg";function Dde(e,t,n,r){const i=S.useMemo(()=>{const o=UF();return F9(o,t,{enableHardwareAcceleration:!1},B9(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};HF(o,e.style,e),i.style={...o,...i.style}}return i}function jde(e=!1){return(n,r,i,o,{latestValues:a},s)=>{const u=(j9(n)?Dde:Pde)(r,a,s,n),h={...Lde(r,typeof n=="string",e),...u,ref:o},{children:m}=r,y=S.useMemo(()=>ta(m)?m.get():m,[m]);return i&&(h["data-projection-id"]=i),S.createElement(n,{...h,children:y})}}const z9=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function VF(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 GF=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 qF(e,t,n,r){VF(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(GF.has(i)?i:z9(i),t.attrs[i])}function H9(e,t){const{style:n}=e,r={};for(const i in n)(ta(n[i])||t.style&&ta(t.style[i])||FF(i,e))&&(r[i]=n[i]);return r}function KF(e,t){const n=H9(e,t);for(const r in e)if(ta(e[r])||ta(t[r])){const i=r==="x"||r==="y"?"attr"+r.toUpperCase():r;n[i]=e[r]}return n}function W9(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}const QS=e=>Array.isArray(e),Nde=e=>Boolean(e&&typeof e=="object"&&e.mix&&e.toValue),$de=e=>QS(e)?e[e.length-1]||0:e;function Xx(e){const t=ta(e)?e.get():e;return Nde(t)?t.toValue():t}function Fde({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const a={latestValues:Bde(r,i,o,e),renderState:t()};return n&&(a.mount=s=>n(r,s,a)),a}const YF=e=>(t,n)=>{const r=S.useContext(Tw),i=S.useContext(n2),o=()=>Fde(e,t,r,i);return n?o():I9(o)};function Bde(e,t,n,r){const i={},o=r(e,{});for(const m in o)i[m]=Xx(o[m]);let{initial:a,animate:s}=e;const l=Aw(e),u=NF(e);t&&u&&!l&&e.inherit!==!1&&(a===void 0&&(a=t.initial),s===void 0&&(s=t.animate));let d=n?n.initial===!1:!1;d=d||a===!1;const h=d?s:a;return h&&typeof h!="boolean"&&!Lw(h)&&(Array.isArray(h)?h:[h]).forEach(y=>{const b=W9(e,y);if(!b)return;const{transitionEnd:w,transition:E,..._}=b;for(const k in _){let T=_[k];if(Array.isArray(T)){const L=d?T.length-1:0;T=T[L]}T!==null&&(i[k]=T)}for(const k in w)i[k]=w[k]}),i}const zde={useVisualState:YF({scrapeMotionValuesFromProps:KF,createRenderState:UF,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}}F9(n,r,{enableHardwareAcceleration:!1},B9(t.tagName),e.transformTemplate),qF(t,n)}})},Hde={useVisualState:YF({scrapeMotionValuesFromProps:H9,createRenderState:$9})};function Wde(e,{forwardMotionProps:t=!1},n,r){return{...j9(e)?zde:Hde,preloadedFeatures:n,useRender:jde(t),createVisualElement:r,Component:e}}function Hu(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const XF=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function Rw(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const Ude=e=>t=>XF(t)&&e(t,Rw(t));function Gu(e,t,n,r){return Hu(e,t,Ude(n),r)}var tr;(function(e){e.Animate="animate",e.Hover="whileHover",e.Tap="whileTap",e.Drag="whileDrag",e.Focus="whileFocus",e.InView="whileInView",e.Exit="exit"})(tr||(tr={}));const Vde=(e,t)=>n=>t(e(n)),Nd=(...e)=>e.reduce(Vde);function ZF(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const jL=ZF("dragHorizontal"),NL=ZF("dragVertical");function QF(e){let t=!1;if(e==="y")t=NL();else if(e==="x")t=jL();else{const n=jL(),r=NL();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function JF(){const e=QF(!0);return e?(e(),!1):!0}let sf=class{constructor(t){this.isMounted=!1,this.node=t}update(){}};function $L(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,a)=>{if(o.type==="touch"||JF())return;const s=e.getProps();e.animationState&&s.whileHover&&e.animationState.setActive(tr.Hover,t),s[r]&&s[r](o,a)};return Gu(e.current,n,i,{passive:!e.getProps()[r]})}class Gde extends sf{mount(){this.unmount=Nd($L(this.node,!0),$L(this.node,!1))}unmount(){}}class qde extends sf{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(tr.Focus,!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive(tr.Focus,!1),this.isActive=!1)}mount(){this.unmount=Nd(Hu(this.node.current,"focus",()=>this.onFocus()),Hu(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const eB=(e,t)=>t?e===t?!0:eB(e,t.parentElement):!1,Xl=e=>e;function Y5(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,Rw(n))}class Kde extends sf{constructor(){super(...arguments),this.removeStartListeners=Xl,this.removeEndListeners=Xl,this.removeAccessibleListeners=Xl,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=Gu(window,"pointerup",(s,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:d}=this.node.getProps();eB(this.node.current,s.target)?u&&u(s,l):d&&d(s,l)},{passive:!(r.onTap||r.onPointerUp)}),a=Gu(window,"pointercancel",(s,l)=>this.cancelPress(s,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Nd(o,a),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const a=s=>{s.key!=="Enter"||!this.checkPressEnd()||Y5("up",this.node.getProps().onTap)};this.removeEndListeners(),this.removeEndListeners=Hu(this.node.current,"keyup",a),Y5("down",(s,l)=>{this.startPress(s,l)})},n=Hu(this.node.current,"keydown",t),r=()=>{this.isPressing&&Y5("cancel",(o,a)=>this.cancelPress(o,a))},i=Hu(this.node.current,"blur",r);this.removeAccessibleListeners=Nd(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive(tr.Tap,!0),r&&r(t,n)}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive(tr.Tap,!1),!JF()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&r(t,n)}mount(){const t=this.node.getProps(),n=Gu(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=Hu(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Nd(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const C_=new WeakMap,X5=new WeakMap,Yde=e=>{const t=C_.get(e.target);t&&t(e)},Xde=e=>{e.forEach(Yde)};function Zde({root:e,...t}){const n=e||document;X5.has(n)||X5.set(n,{});const r=X5.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(Xde,{root:e,...t})),r[i]}function Qde(e,t,n){const r=Zde(t);return C_.set(e,n),r.observe(e),()=>{C_.delete(e),r.unobserve(e)}}const Jde={some:0,all:1};class efe extends sf{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}viewportFallback(){requestAnimationFrame(()=>{this.hasEnteredView=!0;const{onViewportEnter:t}=this.node.getProps();t&&t(null),this.node.animationState&&this.node.animationState.setActive(tr.InView,!0)})}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o,fallback:a=!0}=t;if(typeof IntersectionObserver>"u"){a&&this.viewportFallback();return}const s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:Jde[i]},l=u=>{const{isIntersecting:d}=u;if(this.isInView===d||(this.isInView=d,o&&!d&&this.hasEnteredView))return;d&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive(tr.InView,d);const{onViewportEnter:h,onViewportLeave:m}=this.node.getProps(),y=d?h:m;y&&y(u)};return Qde(this.node.current,s,l)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(tfe(t,n))&&this.startObserver()}unmount(){}}function tfe({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const nfe={inView:{Feature:efe},tap:{Feature:Kde},focus:{Feature:qde},hover:{Feature:Gde}};function tB(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;r/^\-?\d*\.?\d+$/.test(e),ife=e=>/^0[^.\s]+$/.test(e),qu={delta:0,timestamp:0},nB=1/60*1e3,ofe=typeof performance<"u"?()=>performance.now():()=>Date.now(),rB=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(ofe()),nB);function afe(e){let t=[],n=[],r=0,i=!1,o=!1;const a=new WeakSet,s={schedule:(l,u=!1,d=!1)=>{const h=d&&i,m=h?t:n;return u&&a.add(l),m.indexOf(l)===-1&&(m.push(l),h&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),a.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]=afe(()=>Py=!0),e),{}),so=o2.reduce((e,t)=>{const n=Iw[t];return e[t]=(r,i=!1,o=!1)=>(Py||ufe(),n.schedule(r,i,o)),e},{}),Gd=o2.reduce((e,t)=>(e[t]=Iw[t].cancel,e),{}),Z5=o2.reduce((e,t)=>(e[t]=()=>Iw[t].process(qu),e),{}),lfe=e=>Iw[e].process(qu),iB=e=>{Py=!1,qu.delta=__?nB:Math.max(Math.min(e-qu.timestamp,sfe),1),qu.timestamp=e,k_=!0,o2.forEach(lfe),k_=!1,Py&&(__=!1,rB(iB))},ufe=()=>{Py=!0,__=!0,k_||rB(iB)};function U9(e,t){e.indexOf(t)===-1&&e.push(t)}function V9(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class G9{constructor(){this.subscriptions=[]}add(t){return U9(this.subscriptions,t),()=>V9(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 dfe{constructor(t,n={}){this.version="9.0.4",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:a}=qu;this.lastUpdated!==a&&(this.timeDelta=o,this.lastUpdated=a,so.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=()=>so.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=cfe(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new G9);const r=this.events[t].add(n);return t==="change"?()=>{r(),so.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?q9(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n)||null,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(){this.animation=null}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Gm(e,t){return new dfe(e,t)}const K9=(e,t)=>n=>Boolean(r2(n)&&wde.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),oB=(e,t,n)=>r=>{if(!r2(r))return r;const[i,o,a,s]=r.match(Ey);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(a),alpha:s!==void 0?parseFloat(s):1}},ffe=e=>Vm(0,255,e),Q5={...np,transform:e=>Math.round(ffe(e))},Eh={test:K9("rgb","red"),parse:oB("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+Q5.transform(e)+", "+Q5.transform(t)+", "+Q5.transform(n)+", "+F1($1.transform(r))+")"};function hfe(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 E_={test:K9("#"),parse:hfe,transform:Eh.transform},Jg={test:K9("hsl","hue"),parse:oB("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Yl.transform(F1(t))+", "+Yl.transform(F1(n))+", "+F1($1.transform(r))+")"},bo={test:e=>Eh.test(e)||E_.test(e)||Jg.test(e),parse:e=>Eh.test(e)?Eh.parse(e):Jg.test(e)?Jg.parse(e):E_.parse(e),transform:e=>r2(e)?e:e.hasOwnProperty("red")?Eh.transform(e):Jg.transform(e)},aB="${c}",sB="${n}";function pfe(e){var t,n;return isNaN(e)&&r2(e)&&(((t=e.match(Ey))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(w_))===null||n===void 0?void 0:n.length)||0)>0}function JS(e){typeof e=="number"&&(e=`${e}`);const t=[];let n=0,r=0;const i=e.match(w_);i&&(n=i.length,e=e.replace(w_,aB),t.push(...i.map(bo.parse)));const o=e.match(Ey);return o&&(r=o.length,e=e.replace(Ey,sB),t.push(...o.map(np.parse))),{values:t,numColors:n,numNumbers:r,tokenised:e}}function lB(e){return JS(e).values}function uB(e){const{values:t,numColors:n,tokenised:r}=JS(e),i=t.length;return o=>{let a=r;for(let s=0;stypeof e=="number"?0:e;function mfe(e){const t=lB(e);return uB(e)(t.map(gfe))}const qd={test:pfe,parse:lB,createTransformer:uB,getAnimatableNone:mfe},vfe=new Set(["brightness","contrast","saturate","opacity"]);function yfe(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(Ey)||[];if(!r)return e;const i=n.replace(r,"");let o=vfe.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const bfe=/([a-z-]*)\(.*?\)/g,P_={...qd,getAnimatableNone:e=>{const t=e.match(bfe);return t?t.map(yfe).join(" "):e}},xfe={...zF,color:bo,backgroundColor:bo,outlineColor:bo,fill:bo,stroke:bo,borderColor:bo,borderTopColor:bo,borderRightColor:bo,borderBottomColor:bo,borderLeftColor:bo,filter:P_,WebkitFilter:P_},Y9=e=>xfe[e];function X9(e,t){let n=Y9(e);return n!==P_&&(n=qd),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const cB=e=>t=>t.test(e),Sfe={test:e=>e==="auto",parse:e=>e},dB=[np,Pt,Yl,cd,_de,Cde,Sfe],Hv=e=>dB.find(cB(e)),wfe=[...dB,bo,qd],Cfe=e=>wfe.find(cB(e));function _fe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.get()),t}function kfe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function Dw(e,t,n){const r=e.getProps();return W9(r,t,n!==void 0?n:r.custom,_fe(e),kfe(e))}function Efe(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Gm(n))}function Pfe(e,t){const n=Dw(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const a in o){const s=$de(o[a]);Efe(e,a,s)}}function Tfe(e,t,n){var r,i;const o=Object.keys(t).filter(s=>!e.hasValue(s)),a=o.length;if(a)for(let s=0;se*1e3,Ife={current:!1},Z9=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Q9=e=>t=>1-e(1-t),J9=e=>e*e,Dfe=Q9(J9),e8=Z9(J9),Fr=(e,t,n)=>-n*e+n*t+e;function J5(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 jfe({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,a=0;if(!t)i=o=a=n;else{const s=n<.5?n*(1+t):n+t-n*t,l=2*n-s;i=J5(l,s,e+1/3),o=J5(l,s,e),a=J5(l,s,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(a*255),alpha:r}}const eC=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},Nfe=[E_,Eh,Jg],$fe=e=>Nfe.find(t=>t.test(e));function FL(e){const t=$fe(e);let n=t.parse(e);return t===Jg&&(n=jfe(n)),n}const fB=(e,t)=>{const n=FL(e),r=FL(t),i={...n};return o=>(i.red=eC(n.red,r.red,o),i.green=eC(n.green,r.green,o),i.blue=eC(n.blue,r.blue,o),i.alpha=Fr(n.alpha,r.alpha,o),Eh.transform(i))};function hB(e,t){return typeof e=="number"?n=>Fr(e,t,n):bo.test(e)?fB(e,t):gB(e,t)}const pB=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,a)=>hB(o,t[a]));return o=>{for(let a=0;a{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=hB(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},gB=(e,t)=>{const n=qd.createTransformer(t),r=JS(e),i=JS(t);return r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Nd(pB(r.values,i.values),n):a=>`${a>0?t:e}`},n3=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},BL=(e,t)=>n=>Fr(e,t,n);function Bfe(e){return typeof e=="number"?BL:typeof e=="string"?bo.test(e)?fB:gB:Array.isArray(e)?pB:typeof e=="object"?Ffe:BL}function zfe(e,t,n){const r=[],i=n||Bfe(e[0]),o=e.length-1;for(let a=0;ae[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const a=zfe(t,r,i),s=a.length,l=u=>{let d=0;if(s>1)for(;dl(Vm(e[0],e[o-1],u)):l}const vB=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Hfe=1e-7,Wfe=12;function Ufe(e,t,n,r,i){let o,a,s=0;do a=t+(n-t)/2,o=vB(a,r,i)-e,o>0?n=a:t=a;while(Math.abs(o)>Hfe&&++sUfe(o,0,1,e,n);return o=>o===0||o===1?o:vB(i(o),t,r)}const bB=e=>1-Math.sin(Math.acos(e)),t8=Q9(bB),Vfe=Z9(t8),xB=yB(.33,1.53,.69,.99),n8=Q9(xB),Gfe=Z9(n8),qfe=e=>(e*=2)<1?.5*n8(e):.5*(2-Math.pow(2,-10*(e-1))),Kfe={linear:Xl,easeIn:J9,easeInOut:e8,easeOut:Dfe,circIn:bB,circInOut:Vfe,circOut:t8,backIn:n8,backInOut:Gfe,backOut:xB,anticipate:qfe},zL=e=>{if(Array.isArray(e)){t3(e.length===4);const[t,n,r,i]=e;return yB(t,n,r,i)}else if(typeof e=="string")return Kfe[e];return e},Yfe=e=>Array.isArray(e)&&typeof e[0]!="number";function Xfe(e,t){return e.map(()=>t||e8).splice(0,e.length-1)}function Zfe(e){const t=e.length;return e.map((n,r)=>r!==0?r/(t-1):0)}function Qfe(e,t){return e.map(n=>n*t)}function T_({keyframes:e,ease:t=e8,times:n,duration:r=300}){e=[...e];const i=Yfe(t)?t.map(zL):zL(t),o={done:!1,value:e[0]},a=Qfe(n&&n.length===e.length?n:Zfe(e),r);function s(){return mB(a,e,{ease:Array.isArray(i)?i:Xfe(e,i)})}let l=s();return{next:u=>(o.value=l(u),o.done=u>=r,o),flipTarget:()=>{e.reverse(),l=s()}}}const tC=.001,Jfe=.01,HL=10,ehe=.05,the=1;function nhe({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;Rfe(e<=HL*1e3);let a=1-t;a=Vm(ehe,the,a),e=Vm(Jfe,HL,e/1e3),a<1?(i=u=>{const d=u*a,h=d*e,m=d-n,y=M_(u,a),b=Math.exp(-h);return tC-m/y*b},o=u=>{const h=u*a*e,m=h*n+n,y=Math.pow(a,2)*Math.pow(u,2)*e,b=Math.exp(-h),w=M_(Math.pow(u,2),a);return(-i(u)+tC>0?-1:1)*((m-y)*b)/w}):(i=u=>{const d=Math.exp(-u*e),h=(u-n)*e+1;return-tC+d*h},o=u=>{const d=Math.exp(-u*e),h=(n-u)*(e*e);return d*h});const s=5/e,l=ihe(i,o,s);if(e=e*1e3,isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:a*2*Math.sqrt(r*u),duration:e}}}const rhe=12;function ihe(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function she(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!WL(e,ahe)&&WL(e,ohe)){const n=nhe(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}const lhe=5;function SB({keyframes:e,restDelta:t,restSpeed:n,...r}){let i=e[0],o=e[e.length-1];const a={done:!1,value:i},{stiffness:s,damping:l,mass:u,velocity:d,duration:h,isResolvedFromDuration:m}=she(r);let y=uhe,b=d?-(d/1e3):0;const w=l/(2*Math.sqrt(s*u));function E(){const _=o-i,k=Math.sqrt(s/u)/1e3,T=Math.abs(_)<5;if(n||(n=T?.01:2),t||(t=T?.005:.5),w<1){const L=M_(k,w);y=O=>{const D=Math.exp(-w*k*O);return o-D*((b+w*k*_)/L*Math.sin(L*O)+_*Math.cos(L*O))}}else if(w===1)y=L=>o-Math.exp(-k*L)*(_+(b+k*_)*L);else{const L=k*Math.sqrt(w*w-1);y=O=>{const D=Math.exp(-w*k*O),I=Math.min(L*O,300);return o-D*((b+w*k*_)*Math.sinh(I)+L*_*Math.cosh(I))/L}}}return E(),{next:_=>{const k=y(_);if(m)a.done=_>=h;else{let T=b;if(_!==0)if(w<1){const D=Math.max(0,_-lhe);T=q9(k-y(D),_-D)}else T=0;const L=Math.abs(T)<=n,O=Math.abs(o-k)<=t;a.done=L&&O}return a.value=a.done?o:k,a},flipTarget:()=>{b=-b,[i,o]=[o,i],E()}}}SB.needsInterpolation=(e,t)=>typeof e=="string"||typeof t=="string";const uhe=e=>0;function che({keyframes:e=[0],velocity:t=0,power:n=.8,timeConstant:r=350,restDelta:i=.5,modifyTarget:o}){const a=e[0],s={done:!1,value:a};let l=n*t;const u=a+l,d=o===void 0?u:o(u);return d!==u&&(l=d-a),{next:h=>{const m=-l*Math.exp(-h/r);return s.done=!(m>i||m<-i),s.value=s.done?d:d+m,s},flipTarget:()=>{}}}const dhe={decay:che,keyframes:T_,tween:T_,spring:SB};function wB(e,t,n=0){return e-t-n}function fhe(e,t=0,n=0,r=!0){return r?wB(t+-e,t,n):t-(e-t)+n}function hhe(e,t,n,r){return r?e>=t+n:e<=-n}const phe=e=>{const t=({delta:n})=>e(n);return{start:()=>so.update(t,!0),stop:()=>Gd.update(t)}};function r3({duration:e,driver:t=phe,elapsed:n=0,repeat:r=0,repeatType:i="loop",repeatDelay:o=0,keyframes:a,autoplay:s=!0,onPlay:l,onStop:u,onComplete:d,onRepeat:h,onUpdate:m,type:y="keyframes",...b}){const w=n;let E,_=0,k=e,T=!1,L=!0,O;const D=dhe[a.length>2?"keyframes":y]||T_,I=a[0],N=a[a.length-1];let W={done:!1,value:I};const{needsInterpolation:B}=D;B&&B(I,N)&&(O=mB([0,100],[I,N],{clamp:!1}),a=[0,100]);const K=D({...b,duration:e,keyframes:a});function ne(){_++,i==="reverse"?(L=_%2===0,n=fhe(n,k,o,L)):(n=wB(n,k,o),i==="mirror"&&K.flipTarget()),T=!1,h&&h()}function z(){E&&E.stop(),d&&d()}function $(X){L||(X=-X),n+=X,T||(W=K.next(Math.max(0,n)),O&&(W.value=O(W.value)),T=L?W.done:n<=0),m&&m(W.value),T&&(_===0&&(k=k!==void 0?k:n),_{u&&u(),E&&E.stop()},set currentTime(X){n=w,$(X)},sample:X=>{n=w;const Q=e&&typeof e=="number"?Math.max(e*.5,50):50;let G=0;for($(0);G<=X;){const Y=X-G;$(Math.min(Y,Q)),G+=Q}return W}}}function ghe(e){return!e||Array.isArray(e)||typeof e=="string"&&CB[e]}const d1=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,CB={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:d1([0,.65,.55,1]),circOut:d1([.55,0,1,.45]),backIn:d1([.31,.01,.66,-.59]),backOut:d1([.33,1.53,.69,.99])};function mhe(e){if(e)return Array.isArray(e)?d1(e):CB[e]}function vhe(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:a="loop",ease:s,times:l}={}){return e.animate({[t]:n,offset:l},{delay:r,duration:i,easing:mhe(s),fill:"both",iterations:o+1,direction:a==="reverse"?"alternate":"normal"})}const UL={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},nC={},_B={};for(const e in UL)_B[e]=()=>(nC[e]===void 0&&(nC[e]=UL[e]()),nC[e]);function yhe(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const bhe=new Set(["opacity"]),Hb=10;function xhe(e,t,{onUpdate:n,onComplete:r,...i}){if(!(_B.waapi()&&bhe.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0))return!1;let{keyframes:a,duration:s=300,elapsed:l=0,ease:u}=i;if(i.type==="spring"||!ghe(i.ease)){if(i.repeat===1/0)return;const h=r3({...i,elapsed:0});let m={done:!1,value:a[0]};const y=[];let b=0;for(;!m.done&&b<2e4;)m=h.sample(b),y.push(m.value),b+=Hb;a=y,s=b-Hb,u="linear"}const d=vhe(e.owner.current,t,a,{...i,delay:-l,duration:s,ease:u});return d.onfinish=()=>{e.set(yhe(a,i)),so.update(()=>d.cancel()),r&&r()},{get currentTime(){return d.currentTime||0},set currentTime(h){d.currentTime=h},stop:()=>{const{currentTime:h}=d;if(h){const m=r3({...i,autoplay:!1});e.setWithVelocity(m.sample(h-Hb).value,m.sample(h).value,Hb)}so.update(()=>d.cancel())}}}function kB(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Gd.read(r),e(o-t))};return so.read(r,!0),()=>Gd.read(r)}function She({keyframes:e,elapsed:t,onUpdate:n,onComplete:r}){const i=()=>{n&&n(e[e.length-1]),r&&r()};return t?{stop:kB(i,-t)}:i()}function whe({keyframes:e,velocity:t=0,min:n,max:r,power:i=.8,timeConstant:o=750,bounceStiffness:a=500,bounceDamping:s=10,restDelta:l=1,modifyTarget:u,driver:d,onUpdate:h,onComplete:m,onStop:y}){const b=e[0];let w;function E(L){return n!==void 0&&Lr}function _(L){return n===void 0?r:r===void 0||Math.abs(n-L){h&&h(O),L.onUpdate&&L.onUpdate(O)},onComplete:m,onStop:y})}function T(L){k({type:"spring",stiffness:a,damping:s,restDelta:l,...L})}if(E(b))T({velocity:t,keyframes:[b,_(b)]});else{let L=i*t+b;typeof u<"u"&&(L=u(L));const O=_(L),D=O===n?-1:1;let I,N;const W=B=>{I=N,N=B,t=q9(B-I,qu.delta),(D===1&&B>O||D===-1&&Bw&&w.stop()}}const nh=()=>({type:"spring",stiffness:500,damping:25,restSpeed:10}),Wb=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),rC=()=>({type:"keyframes",ease:"linear",duration:.3}),Che={type:"keyframes",duration:.8},VL={x:nh,y:nh,z:nh,rotate:nh,rotateX:nh,rotateY:nh,rotateZ:nh,scaleX:Wb,scaleY:Wb,scale:Wb,opacity:rC,backgroundColor:rC,color:rC,default:Wb},_he=(e,{keyframes:t})=>t.length>2?Che:(VL[e]||VL.default)(t[1]),L_=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&qd.test(t)&&!t.startsWith("url("));function khe({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:i,repeat:o,repeatType:a,repeatDelay:s,from:l,elapsed:u,...d}){return!!Object.keys(d).length}function GL(e){return e===0||typeof e=="string"&&parseFloat(e)===0&&e.indexOf(" ")===-1}function qL(e){return typeof e=="number"?0:X9("",e)}function EB(e,t){return e[t]||e.default||e}function Ehe(e,t,n,r){const i=L_(t,n);let o=r.from!==void 0?r.from:e.get();return o==="none"&&i&&typeof n=="string"?o=X9(t,n):GL(o)&&typeof n=="string"?o=qL(n):!Array.isArray(n)&&GL(n)&&typeof o=="string"&&(n=qL(o)),Array.isArray(n)?(n[0]===null&&(n[0]=o),n):[o,n]}const r8=(e,t,n,r={})=>i=>{const o=EB(r,e)||{},a=o.delay||r.delay||0;let{elapsed:s=0}=r;s=s-Zx(a);const l=Ehe(t,e,n,o),u=l[0],d=l[l.length-1],h=L_(e,u),m=L_(e,d);let y={keyframes:l,velocity:t.getVelocity(),...o,elapsed:s,onUpdate:b=>{t.set(b),o.onUpdate&&o.onUpdate(b)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(!h||!m||Ife.current||o.type===!1)return She(y);if(o.type==="inertia")return whe(y);if(khe(o)||(y={...y,..._he(e,y)}),y.duration&&(y.duration=Zx(y.duration)),y.repeatDelay&&(y.repeatDelay=Zx(y.repeatDelay)),t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const b=xhe(t,e,y);if(b)return b}return r3(y)};function Phe(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>A_(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=A_(e,t,n);else{const i=typeof t=="function"?Dw(e,t,n.custom):t;r=PB(e,i,n)}return r.then(()=>e.notify("AnimationComplete",t))}function A_(e,t,n={}){const r=Dw(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>PB(e,r,n):()=>Promise.resolve(),a=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:h}=i;return The(e,t,u+l,d,h,n)}:()=>Promise.resolve(),{when:s}=i;if(s){const[l,u]=s==="beforeChildren"?[o,a]:[a,o];return l().then(u)}else return Promise.all([o(),a(n.delay)])}function PB(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:o=e.getDefaultTransition(),transitionEnd:a,...s}=e.makeTargetAnimatable(t);const l=e.getValue("willChange");r&&(o=r);const u=[],d=i&&e.animationState&&e.animationState.getState()[i];for(const h in s){const m=e.getValue(h),y=s[h];if(!m||y===void 0||d&&Lhe(d,h))continue;const b={delay:n,elapsed:0,...o};if(window.HandoffAppearAnimations&&!m.hasAnimated){const E=e.getProps()[Ofe];E&&(b.elapsed=window.HandoffAppearAnimations(E,h,m,so))}let w=m.start(r8(h,m,y,e.shouldReduceMotion&&d0.has(h)?{type:!1}:b));e3(l)&&(l.add(h),w=w.then(()=>l.remove(h))),u.push(w)}return Promise.all(u).then(()=>{a&&Pfe(e,a)})}function The(e,t,n=0,r=0,i=1,o){const a=[],s=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>s-u*r;return Array.from(e.variantChildren).sort(Mhe).forEach((u,d)=>{u.notify("AnimationStart",t),a.push(A_(u,t,{...o,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(a)}function Mhe(e,t){return e.sortNodePosition(t)}function Lhe({protectedKeys:e,needsAnimating:t},n){const r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}const i8=[tr.Animate,tr.InView,tr.Focus,tr.Hover,tr.Tap,tr.Drag,tr.Exit],Ahe=[...i8].reverse(),Ohe=i8.length;function Rhe(e){return t=>Promise.all(t.map(({animation:n,options:r})=>Phe(e,n,r)))}function Ihe(e){let t=Rhe(e);const n=jhe();let r=!0;const i=(l,u)=>{const d=Dw(e,u);if(d){const{transition:h,transitionEnd:m,...y}=d;l={...l,...y,...m}}return l};function o(l){t=l(e)}function a(l,u){const d=e.getProps(),h=e.getVariantContext(!0)||{},m=[],y=new Set;let b={},w=1/0;for(let _=0;_w&&O;const B=Array.isArray(L)?L:[L];let K=B.reduce(i,{});D===!1&&(K={});const{prevResolvedValues:ne={}}=T,z={...ne,...K},$=V=>{W=!0,y.delete(V),T.needsAnimating[V]=!0};for(const V in z){const X=K[V],Q=ne[V];b.hasOwnProperty(V)||(X!==Q?QS(X)&&QS(Q)?!tB(X,Q)||N?$(V):T.protectedKeys[V]=!0:X!==void 0?$(V):y.add(V):X!==void 0&&y.has(V)?$(V):T.protectedKeys[V]=!0)}T.prevProp=L,T.prevResolvedValues=K,T.isActive&&(b={...b,...K}),r&&e.blockInitialAnimation&&(W=!1),W&&!I&&m.push(...B.map(V=>({animation:V,options:{type:k,...l}})))}if(y.size){const _={};y.forEach(k=>{const T=e.getBaseTarget(k);T!==void 0&&(_[k]=T)}),m.push({animation:_})}let E=Boolean(m.length);return r&&d.initial===!1&&!e.manuallyAnimateOnMount&&(E=!1),r=!1,E?t(m):Promise.resolve()}function s(l,u,d){if(n[l].isActive===u)return Promise.resolve();e.variantChildren&&e.variantChildren.forEach(m=>{m.animationState&&m.animationState.setActive(l,u)}),n[l].isActive=u;const h=a(d,l);for(const m in n)n[m].protectedKeys={};return h}return{animateChanges:a,setActive:s,setAnimateFunction:o,getState:()=>n}}function Dhe(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!tB(t,e):!1}function rh(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function jhe(){return{[tr.Animate]:rh(!0),[tr.InView]:rh(),[tr.Hover]:rh(),[tr.Tap]:rh(),[tr.Drag]:rh(),[tr.Focus]:rh(),[tr.Exit]:rh()}}class Nhe extends sf{constructor(t){super(t),t.animationState||(t.animationState=Ihe(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),Lw(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 $he=0;class Fhe extends sf{constructor(){super(...arguments),this.id=$he++}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(tr.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 Bhe={animation:{Feature:Nhe},exit:{Feature:Fhe}},KL=(e,t)=>Math.abs(e-t);function zhe(e,t){const n=KL(e.x,t.x),r=KL(e.y,t.y);return Math.sqrt(n**2+r**2)}class TB{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=oC(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,h=zhe(u.offset,{x:0,y:0})>=3;if(!d&&!h)return;const{point:m}=u,{timestamp:y}=qu;this.history.push({...m,timestamp:y});const{onStart:b,onMove:w}=this.handlers;d||(b&&b(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),w&&w(this.lastMoveEvent,u)},this.handlePointerMove=(u,d)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=iC(d,this.transformPagePoint),so.update(this.updatePoint,!0)},this.handlePointerUp=(u,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:h,onSessionEnd:m}=this.handlers,y=oC(u.type==="pointercancel"?this.lastMoveEventInfo:iC(d,this.transformPagePoint),this.history);this.startEvent&&h&&h(u,y),m&&m(u,y)},!XF(t))return;this.handlers=n,this.transformPagePoint=r;const i=Rw(t),o=iC(i,this.transformPagePoint),{point:a}=o,{timestamp:s}=qu;this.history=[{...a,timestamp:s}];const{onSessionStart:l}=n;l&&l(t,oC(o,this.history)),this.removeListeners=Nd(Gu(window,"pointermove",this.handlePointerMove),Gu(window,"pointerup",this.handlePointerUp),Gu(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Gd.update(this.updatePoint)}}function iC(e,t){return t?{point:t(e.point)}:e}function YL(e,t){return{x:e.x-t.x,y:e.y-t.y}}function oC({point:e},t){return{point:e,delta:YL(e,MB(t)),offset:YL(e,Hhe(t)),velocity:Whe(t,.1)}}function Hhe(e){return e[0]}function MB(e){return e[e.length-1]}function Whe(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=MB(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Zx(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 a={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function Aa(e){return e.max-e.min}function O_(e,t=0,n=.01){return Math.abs(e-t)<=n}function XL(e,t,n,r=.5){e.origin=r,e.originPoint=Fr(t.min,t.max,e.origin),e.scale=Aa(n)/Aa(t),(O_(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=Fr(n.min,n.max,e.origin)-e.originPoint,(O_(e.translate)||isNaN(e.translate))&&(e.translate=0)}function B1(e,t,n,r){XL(e.x,t.x,n.x,r?r.originX:void 0),XL(e.y,t.y,n.y,r?r.originY:void 0)}function ZL(e,t,n){e.min=n.min+t.min,e.max=e.min+Aa(t)}function Uhe(e,t,n){ZL(e.x,t.x,n.x),ZL(e.y,t.y,n.y)}function QL(e,t,n){e.min=t.min-n.min,e.max=e.min+Aa(t)}function z1(e,t,n){QL(e.x,t.x,n.x),QL(e.y,t.y,n.y)}function Vhe(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?Fr(n,e,r.max):Math.min(e,n)),e}function JL(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 Ghe(e,{top:t,left:n,bottom:r,right:i}){return{x:JL(e.x,n,i),y:JL(e.y,t,r)}}function eA(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=n3(t.min,t.max-r,e.min):r>i&&(n=n3(e.min,e.max-i,t.min)),Vm(0,1,n)}function Yhe(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 R_=.35;function Xhe(e=R_){return e===!1?e=0:e===!0&&(e=R_),{x:tA(e,"left","right"),y:tA(e,"top","bottom")}}function tA(e,t,n){return{min:nA(e,t),max:nA(e,n)}}function nA(e,t){return typeof e=="number"?e:e[t]||0}const rA=()=>({translate:0,scale:1,origin:0,originPoint:0}),H1=()=>({x:rA(),y:rA()}),iA=()=>({min:0,max:0}),gi=()=>({x:iA(),y:iA()});function Al(e){return[e("x"),e("y")]}function LB({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function Zhe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Qhe(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 aC(e){return e===void 0||e===1}function I_({scale:e,scaleX:t,scaleY:n}){return!aC(e)||!aC(t)||!aC(n)}function dh(e){return I_(e)||AB(e)||e.z||e.rotate||e.rotateX||e.rotateY}function AB(e){return oA(e.x)||oA(e.y)}function oA(e){return e&&e!=="0%"}function i3(e,t,n){const r=e-n,i=t*r;return n+i}function aA(e,t,n,r,i){return i!==void 0&&(e=i3(e,i,r)),i3(e,n,r)+t}function D_(e,t=0,n=1,r,i){e.min=aA(e.min,t,n,r,i),e.max=aA(e.max,t,n,r,i)}function OB(e,{x:t,y:n}){D_(e.x,t.translate,t.scale,t.originPoint),D_(e.y,n.translate,n.scale,n.originPoint)}function Jhe(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,a;for(let s=0;s1.0000000000001||e<.999999999999?e:1}function gd(e,t){e.min=e.min+t,e.max=e.max+t}function lA(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,a=Fr(e.min,e.max,o);D_(e,t[n],t[r],a,t.scale)}const epe=["x","scaleX","originX"],tpe=["y","scaleY","originY"];function em(e,t){lA(e.x,t,epe),lA(e.y,t,tpe)}function RB(e,t){return LB(Qhe(e.getBoundingClientRect(),t))}function npe(e,t,n){const r=RB(e,n),{scroll:i}=t;return i&&(gd(r.x,i.offset.x),gd(r.y,i.offset.y)),r}const rpe=new WeakMap;class ipe{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=gi(),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(Rw(l,"page").point)},o=(l,u)=>{const{drag:d,dragPropagation:h,onDragStart:m}=this.getProps();if(d&&!h&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=QF(d),!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),Al(b=>{let w=this.getAxisMotionValue(b).get()||0;if(Yl.test(w)){const{projection:E}=this.visualElement;if(E&&E.layout){const _=E.layout.layoutBox[b];_&&(w=Aa(_)*(parseFloat(w)/100))}}this.originPoint[b]=w}),m&&m(l,u);const{animationState:y}=this.visualElement;y&&y.setActive(tr.Drag,!0)},a=(l,u)=>{const{dragPropagation:d,dragDirectionLock:h,onDirectionLock:m,onDrag:y}=this.getProps();if(!d&&!this.openGlobalLock)return;const{offset:b}=u;if(h&&this.currentDirection===null){this.currentDirection=ope(b),this.currentDirection!==null&&m&&m(this.currentDirection);return}this.updateAxis("x",u.point,b),this.updateAxis("y",u.point,b),this.visualElement.render(),y&&y(l,u)},s=(l,u)=>this.stop(l,u);this.panSession=new TB(t,{onSessionStart:i,onStart:o,onMove:a,onSessionEnd:s},{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&&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(tr.Drag,!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!Ub(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let a=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(a=Vhe(a,this.constraints[t],this.elastic[t])),o.set(a)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&Qg(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=Ghe(r.layoutBox,t):this.constraints=!1,this.elastic=Xhe(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Al(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=Yhe(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Qg(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=npe(r,i.root,this.visualElement.getTransformPagePoint());let a=qhe(i.layout.layoutBox,o);if(n){const s=n(Zhe(a));this.hasMutatedConstraints=!!s,s&&(a=LB(s))}return a}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:a,onDragTransitionEnd:s}=this.getProps(),l=this.constraints||{},u=Al(d=>{if(!Ub(d,n,this.currentDirection))return;let h=l&&l[d]||{};a&&(h={min:0,max:0});const m=i?200:1e6,y=i?40:1e7,b={type:"inertia",velocity:r?t[d]:0,bounceStiffness:m,bounceDamping:y,timeConstant:750,restDelta:1,restSpeed:10,...o,...h};return this.startAxisValueAnimation(d,b)});return Promise.all(u).then(s)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(r8(t,r,0,n))}stopAnimation(){Al(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){Al(n=>{const{drag:r}=this.getProps();if(!Ub(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:a,max:s}=i.layout.layoutBox[n];o.set(t[n]-Fr(a,s,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!Qg(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Al(a=>{const s=this.getAxisMotionValue(a);if(s){const l=s.get();i[a]=Khe({min:l,max:l},this.constraints[a])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Al(a=>{if(!Ub(a,t,null))return;const s=this.getAxisMotionValue(a),{min:l,max:u}=this.constraints[a];s.set(Fr(l,u,i[a]))})}addListeners(){if(!this.visualElement.current)return;rpe.set(this.visualElement,this);const t=this.visualElement.current,n=Gu(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();Qg(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 a=Hu(window,"resize",()=>this.scalePositionWithinConstraints()),s=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Al(d=>{const h=this.getAxisMotionValue(d);h&&(this.originPoint[d]+=l[d].translate,h.set(h.get()+l[d].translate))}),this.visualElement.render())});return()=>{a(),n(),o(),s&&s()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:a=R_,dragMomentum:s=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:a,dragMomentum:s}}}function Ub(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function ope(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class ape extends sf{constructor(t){super(t),this.removeGroupControls=Xl,this.removeListeners=Xl,this.controls=new ipe(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Xl}unmount(){this.removeGroupControls(),this.removeListeners()}}class spe extends sf{constructor(){super(...arguments),this.removePointerDownListener=Xl}onPointerDown(t){this.session=new TB(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:t,onStart:n,onMove:r,onEnd:(o,a)=>{delete this.session,i&&i(o,a)}}}mount(){this.removePointerDownListener=Gu(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 IB(){const e=S.useContext(n2);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=S.useId();return S.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function lpe(){return upe(S.useContext(n2))}function upe(e){return e===null?!0:e.isPresent}function uA(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const Wv={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Pt.test(e))e=parseFloat(e);else return e;const n=uA(e,t.target.x),r=uA(e,t.target.y);return`${n}% ${r}%`}};function j_(e){return typeof e=="string"&&e.startsWith("var(--")}const DB=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function cpe(e){const t=DB.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function N_(e,t,n=1){const[r,i]=cpe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():j_(i)?N_(i,t,n+1):i}function dpe(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(!j_(o))return;const a=N_(o,r);a&&i.set(a)});for(const i in t){const o=t[i];if(!j_(o))continue;const a=N_(o,r);a&&(t[i]=a,n&&n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const cA="_$css",fpe={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=e.includes("var("),o=[];i&&(e=e.replace(DB,y=>(o.push(y),cA)));const a=qd.parse(e);if(a.length>5)return r;const s=qd.createTransformer(e),l=typeof a[0]!="number"?1:0,u=n.x.scale*t.x,d=n.y.scale*t.y;a[0+l]/=u,a[1+l]/=d;const h=Fr(u,d,.5);typeof a[2+l]=="number"&&(a[2+l]/=h),typeof a[3+l]=="number"&&(a[3+l]/=h);let m=s(a);if(i){let y=0;m=m.replace(cA,()=>{const b=o[y];return y++,b})}return m}};class hpe extends Ye.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;vde(ppe),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()})),N1.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,a=r.projection;return a&&(a.isPresent=o,i||t.layoutDependency!==n||n===void 0?a.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?a.promote():a.relegate()||so.postRender(()=>{const s=a.getStack();(!s||!s.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),!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 jB(e){const[t,n]=IB(),r=S.useContext(D9);return Ye.createElement(hpe,{...e,layoutGroup:r,switchLayoutGroup:S.useContext($F),isPresent:t,safeToRemove:n})}const ppe={borderRadius:{...Wv,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Wv,borderTopRightRadius:Wv,borderBottomLeftRadius:Wv,borderBottomRightRadius:Wv,boxShadow:fpe};function gpe(e,t,n={}){const r=ta(e)?e:Gm(e);return r.start(r8("",r,t,n)),{stop:()=>r.stop(),isAnimating:()=>r.isAnimating()}}const NB=["TopLeft","TopRight","BottomLeft","BottomRight"],mpe=NB.length,dA=e=>typeof e=="string"?parseFloat(e):e,fA=e=>typeof e=="number"||Pt.test(e);function vpe(e,t,n,r,i,o){i?(e.opacity=Fr(0,n.opacity!==void 0?n.opacity:1,ype(r)),e.opacityExit=Fr(t.opacity!==void 0?t.opacity:1,0,bpe(r))):o&&(e.opacity=Fr(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let a=0;art?1:n(n3(e,t,r))}function pA(e,t){e.min=t.min,e.max=t.max}function Ns(e,t){pA(e.x,t.x),pA(e.y,t.y)}function gA(e,t,n,r,i){return e-=t,e=i3(e,1/n,r),i!==void 0&&(e=i3(e,1/i,r)),e}function xpe(e,t=0,n=1,r=.5,i,o=e,a=e){if(Yl.test(t)&&(t=parseFloat(t),t=Fr(a.min,a.max,t/100)-a.min),typeof t!="number")return;let s=Fr(o.min,o.max,r);e===o&&(s-=t),e.min=gA(e.min,t,n,s,i),e.max=gA(e.max,t,n,s,i)}function mA(e,t,[n,r,i],o,a){xpe(e,t[n],t[r],t[i],t.scale,o,a)}const Spe=["x","scaleX","originX"],wpe=["y","scaleY","originY"];function vA(e,t,n,r){mA(e.x,t,Spe,n?n.x:void 0,r?r.x:void 0),mA(e.y,t,wpe,n?n.y:void 0,r?r.y:void 0)}function yA(e){return e.translate===0&&e.scale===1}function FB(e){return yA(e.x)&&yA(e.y)}function BB(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 bA(e){return Aa(e.x)/Aa(e.y)}class Cpe{constructor(){this.members=[]}add(t){U9(this.members,t),t.scheduleRender()}remove(t){if(V9(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 xA(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:d}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),d&&(r+=`rotateY(${d}deg) `)}const a=e.x.scale*t.x,s=e.y.scale*t.y;return(a!==1||s!==1)&&(r+=`scale(${a}, ${s})`),r||"none"}const _pe=(e,t)=>e.depth-t.depth;class kpe{constructor(){this.children=[],this.isDirty=!1}add(t){U9(this.children,t),this.isDirty=!0}remove(t){V9(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(_pe),this.isDirty=!1,this.children.forEach(t)}}const SA=["","X","Y","Z"],wA=1e3;let Epe=0;function zB({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(a,s={},l=t==null?void 0:t()){this.id=Epe++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isTransformDirty=!1,this.isProjectionDirty=!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.potentialNodes=new Map,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.nodes.forEach(Mpe),this.nodes.forEach(Ope),this.nodes.forEach(Rpe)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.elementId=a,this.latestValues=s,this.root=l?l.root||l:this,this.path=l?[...l.path,l]:[],this.parent=l,this.depth=l?l.depth+1:0,a&&this.root.registerPotentialNode(a,this);for(let u=0;uthis.root.updateBlockedByResize=!1;e(a,()=>{this.root.updateBlockedByResize=!0,h&&h(),h=kB(m,250),N1.hasAnimatedSinceResize&&(N1.hasAnimatedSinceResize=!1,this.nodes.forEach(_A))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:h,hasLayoutChanged:m,hasRelativeTargetChanged:y,layout:b})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const w=this.options.transition||d.getDefaultTransition()||$pe,{onLayoutAnimationStart:E,onLayoutAnimationComplete:_}=d.getProps(),k=!this.targetLayout||!BB(this.targetLayout,b)||y,T=!m&&y;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||T||m&&(k||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(h,T);const L={...EB(w,"layout"),onPlay:E,onComplete:_};(d.shouldReduceMotion||this.options.layoutRoot)&&(L.delay=0,L.type=!1),this.startAnimation(L)}else!m&&this.animationProgress===0&&_A(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=b})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const a=this.getStack();a&&a.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Gd.preRender(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(Ipe),this.animationId++)}getTransformTemplate(){const{visualElement:a}=this.options;return a&&a.getProps().transformTemplate}willUpdate(a=!0){if(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 d=0;d{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 L=T/1e3;kA(h.x,a.x,L),kA(h.y,a.y,L),this.setTargetDelta(h),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(z1(m,this.layout.layoutBox,this.relativeParent.layout.layoutBox),jpe(this.relativeTarget,this.relativeTargetOrigin,m,L)),w&&(this.animationValues=d,vpe(d,u,this.latestValues,L,k,_)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=L},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(a){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Gd.update(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=so.update(()=>{N1.hasAnimatedSinceResize=!0,this.currentAnimation=gpe(0,wA,{...a,onUpdate:s=>{this.mixTargetDelta(s),a.onUpdate&&a.onUpdate(s)},onComplete:()=>{a.onComplete&&a.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const a=this.getStack();a&&a.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(wA),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const a=this.getLead();let{targetWithTransforms:s,target:l,layout:u,latestValues:d}=a;if(!(!s||!l||!u)){if(this!==a&&this.layout&&u&&HB(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||gi();const h=Aa(this.layout.layoutBox.x);l.x.min=a.target.x.min,l.x.max=l.x.min+h;const m=Aa(this.layout.layoutBox.y);l.y.min=a.target.y.min,l.y.max=l.y.min+m}Ns(s,l),em(s,d),B1(this.projectionDeltaWithTransform,this.layoutCorrected,s,d)}}registerSharedNode(a,s){this.sharedNodes.has(a)||this.sharedNodes.set(a,new Cpe),this.sharedNodes.get(a).add(s);const u=s.options.initialPromotionConfig;s.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(s):void 0})}isLead(){const a=this.getStack();return a?a.lead===this:!0}getLead(){var a;const{layoutId:s}=this.options;return s?((a=this.getStack())===null||a===void 0?void 0:a.lead)||this:this}getPrevLead(){var a;const{layoutId:s}=this.options;return s?(a=this.getStack())===null||a===void 0?void 0:a.prevLead:void 0}getStack(){const{layoutId:a}=this.options;if(a)return this.root.sharedNodes.get(a)}promote({needsReset:a,transition:s,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),a&&(this.projectionDelta=void 0,this.needsReset=!0),s&&this.setOptions({transition:s})}relegate(){const a=this.getStack();return a?a.relegate(this):!1}resetRotation(){const{visualElement:a}=this.options;if(!a)return;let s=!1;const{latestValues:l}=a;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(s=!0),!s)return;const u={};for(let d=0;d{var s;return(s=a.currentAnimation)===null||s===void 0?void 0:s.stop()}),this.root.nodes.forEach(CA),this.root.sharedNodes.clear()}}}function Ppe(e){e.updateLayout()}function Tpe(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,a=n.source!==e.layout.source;o==="size"?Al(h=>{const m=a?n.measuredBox[h]:n.layoutBox[h],y=Aa(m);m.min=r[h].min,m.max=m.min+y}):HB(o,n.layoutBox,r)&&Al(h=>{const m=a?n.measuredBox[h]:n.layoutBox[h],y=Aa(r[h]);m.max=m.min+y});const s=H1();B1(s,r,n.layoutBox);const l=H1();a?B1(l,e.applyTransform(i,!0),n.measuredBox):B1(l,r,n.layoutBox);const u=!FB(s);let d=!1;if(!e.resumeFrom){const h=e.getClosestProjectingParent();if(h&&!h.resumeFrom){const{snapshot:m,layout:y}=h;if(m&&y){const b=gi();z1(b,n.layoutBox,m.layoutBox);const w=gi();z1(w,r,y.layoutBox),BB(b,w)||(d=!0),h.options.layoutRoot&&(e.relativeTarget=w,e.relativeTargetOrigin=b,e.relativeParent=h)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:s,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function Mpe(e){e.isProjectionDirty||(e.isProjectionDirty=Boolean(e.parent&&e.parent.isProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=Boolean(e.parent&&e.parent.isTransformDirty))}function Lpe(e){e.clearSnapshot()}function CA(e){e.clearMeasurements()}function Ape(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function _A(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0}function Ope(e){e.resolveTargetDelta()}function Rpe(e){e.calcProjection()}function Ipe(e){e.resetRotation()}function Dpe(e){e.removeLeadSnapshot()}function kA(e,t,n){e.translate=Fr(t.translate,0,n),e.scale=Fr(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function EA(e,t,n,r){e.min=Fr(t.min,n.min,r),e.max=Fr(t.max,n.max,r)}function jpe(e,t,n,r){EA(e.x,t.x,n.x,r),EA(e.y,t.y,n.y,r)}function Npe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const $pe={duration:.45,ease:[.4,0,.1,1]};function Fpe(e,t){let n=e.root;for(let o=e.path.length-1;o>=0;o--)if(Boolean(e.path[o].instance)){n=e.path[o];break}const i=(n&&n!==e.root?n.instance:document).querySelector(`[data-projection-id="${t}"]`);i&&e.mount(i,!0)}function PA(e){e.min=Math.round(e.min),e.max=Math.round(e.max)}function Bpe(e){PA(e.x),PA(e.y)}function HB(e,t,n){return e==="position"||e==="preserve-aspect"&&!O_(bA(t),bA(n),.2)}const zpe=zB({attachResizeListener:(e,t)=>Hu(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),sC={current:void 0},WB=zB({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!sC.current){const e=new zpe(0,{});e.mount(window),e.setOptions({layoutScroll:!0}),sC.current=e}return sC.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>Boolean(window.getComputedStyle(e).position==="fixed")}),Hpe={pan:{Feature:spe},drag:{Feature:ape,ProjectionNode:WB,MeasureLayout:jB}},Wpe=new Set(["width","height","top","left","right","bottom","x","y"]),UB=e=>Wpe.has(e),Upe=e=>Object.keys(e).some(UB),TA=e=>e===np||e===Pt;var MA;(function(e){e.width="width",e.height="height",e.left="left",e.right="right",e.top="top",e.bottom="bottom"})(MA||(MA={}));const LA=(e,t)=>parseFloat(e.split(", ")[t]),AA=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return LA(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?LA(o[1],e):0}},Vpe=new Set(["x","y","z"]),Gpe=Ow.filter(e=>!Vpe.has(e));function qpe(e){const t=[];return Gpe.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 OA={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:AA(4,13),y:AA(5,14)},Kpe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:a}=o,s={};a==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{s[u]=OA[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const d=t.getValue(u);d&&d.jump(s[u]),e[u]=OA[u](l,o)}),e},Ype=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(UB);let o=[],a=!1;const s=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let d=n[l],h=Hv(d);const m=t[l];let y;if(QS(m)){const b=m.length,w=m[0]===null?1:0;d=m[w],h=Hv(d);for(let E=w;E=0?window.pageYOffset:null,u=Kpe(t,e,s);return o.length&&o.forEach(([d,h])=>{e.getValue(d).set(h)}),e.render(),Mw&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function Xpe(e,t,n,r){return Upe(t)?Ype(e,t,n,r):{target:t,transitionEnd:r}}const Zpe=(e,t,n,r)=>{const i=dpe(e,t,r);return t=i.target,r=i.transitionEnd,Xpe(e,t,n,r)},$_={current:null},VB={current:!1};function Qpe(){if(VB.current=!0,!!Mw)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>$_.current=e.matches;e.addListener(t),t()}else $_.current=!1}function Jpe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],a=n[i];if(ta(o))e.addValue(i,o),e3(r)&&r.add(i);else if(ta(a))e.addValue(i,Gm(o,{owner:e})),e3(r)&&r.remove(i);else if(a!==o)if(e.hasValue(i)){const s=e.getValue(i);!s.hasAnimated&&s.set(o)}else{const s=e.getStaticValue(i);e.addValue(i,Gm(s!==void 0?s:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const GB=Object.keys(ky),ege=GB.length,RA=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class tge{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},a={}){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=()=>so.render(this.render,!1,!0);const{latestValues:s,renderState:l}=o;this.latestValues=s,this.baseTarget={...s},this.initialValues=n.initial?{...s}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=a,this.isControllingVariants=Aw(n),this.isVariantNode=NF(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=Boolean(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{});for(const h in d){const m=d[h];s[h]!==void 0&&ta(m)&&(m.set(s[h],!1),e3(u)&&u.add(h))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,this.projection&&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)),VB.current||Qpe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:$_.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),Gd.update(this.notifyUpdate),Gd.render(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=d0.has(t),i=n.on("change",a=>{this.latestValues[t]=a,this.props.onUpdate&&so.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,a){let s,l;for(let u=0;uthis.scheduleRender(),animationType:typeof d=="string"?d:"both",initialPromotionConfig:a,layoutScroll:y,layoutRoot:b})}return l}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update(this.props,this.prevProps):(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):gi()}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=Gm(n,{owner:this}),this.addValue(t,r)),r}readValue(t){return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]: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=W9(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&&!ta(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 G9),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}const qB=["initial",...i8],nge=qB.length;class KB extends tge{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 a=Lfe(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),a&&(a=i(a))),o){Tfe(this,r,a);const s=Zpe(this,r,a,n);n=s.transitionEnd,r=s.target}return{transition:t,transitionEnd:n,...r}}}function rge(e){return window.getComputedStyle(e)}class ige extends KB{readValueFromInstance(t,n){if(d0.has(n)){const r=Y9(n);return r&&r.default||0}else{const r=rge(t),i=(BF(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return RB(t,n)}build(t,n,r,i){N9(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return H9(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ta(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){VF(t,n,r,i)}}class oge extends KB{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(d0.has(n)){const r=Y9(n);return r&&r.default||0}return n=GF.has(n)?n:z9(n),t.getAttribute(n)}measureInstanceViewportBox(){return gi()}scrapeMotionValuesFromProps(t,n){return KF(t,n)}build(t,n,r,i){F9(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){qF(t,n,r,i)}mount(t){this.isSVGTag=B9(t.tagName),super.mount(t)}}const age=(e,t)=>j9(e)?new oge(t,{enableHardwareAcceleration:!1}):new ige(t,{enableHardwareAcceleration:!0}),sge={layout:{ProjectionNode:WB,MeasureLayout:jB}},lge={...Bhe,...nfe,...Hpe,...sge},su=gde((e,t)=>Wde(e,t,lge,age));function YB(){const e=S.useRef(!1);return YS(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function uge(){const e=YB(),[t,n]=S.useState(0),r=S.useCallback(()=>{e.current&&n(t+1)},[t]);return[S.useCallback(()=>so.postRender(r),[r]),t]}class cge extends S.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 dge({children:e,isPresent:t}){const n=S.useId(),r=S.useRef(null),i=S.useRef({width:0,height:0,top:0,left:0});return S.useInsertionEffect(()=>{const{width:o,height:a,top:s,left:l}=i.current;if(t||!r.current||!o||!a)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: ${a}px !important; + top: ${s}px !important; + left: ${l}px !important; + } + `),()=>{document.head.removeChild(u)}},[t]),S.createElement(cge,{isPresent:t,childRef:r,sizeRef:i},S.cloneElement(e,{ref:r}))}const lC=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:a})=>{const s=I9(fge),l=S.useId(),u=S.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:d=>{s.set(d,!0);for(const h of s.values())if(!h)return;r&&r()},register:d=>(s.set(d,!1),()=>s.delete(d))}),o?void 0:[n]);return S.useMemo(()=>{s.forEach((d,h)=>s.set(h,!1))},[n]),S.useEffect(()=>{!n&&!s.size&&r&&r()},[n]),a==="popLayout"&&(e=S.createElement(dge,{isPresent:n},e)),S.createElement(n2.Provider,{value:u},e)};function fge(){return new Map}function hge(e){return S.useEffect(()=>()=>e(),[])}const jg=e=>e.key||"";function pge(e,t){e.forEach(n=>{const r=jg(n);t.set(r,n)})}function gge(e){const t=[];return S.Children.forEach(e,n=>{S.isValidElement(n)&&t.push(n)}),t}const rp=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:a="sync"})=>{i&&(a="wait");let[s]=uge();const l=S.useContext(D9).forceRender;l&&(s=l);const u=YB(),d=gge(e);let h=d;const m=new Set,y=S.useRef(h),b=S.useRef(new Map).current,w=S.useRef(!0);if(YS(()=>{w.current=!1,pge(d,b),y.current=h}),hge(()=>{w.current=!0,b.clear(),m.clear()}),w.current)return S.createElement(S.Fragment,null,h.map(T=>S.createElement(lC,{key:jg(T),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:a},T)));h=[...h];const E=y.current.map(jg),_=d.map(jg),k=E.length;for(let T=0;T{if(_.indexOf(T)!==-1)return;const L=b.get(T);if(!L)return;const O=E.indexOf(T),D=()=>{b.delete(T),m.delete(T);const I=y.current.findIndex(N=>N.key===T);if(y.current.splice(I,1),!m.size){if(y.current=d,u.current===!1)return;s(),r&&r()}};h.splice(O,0,S.createElement(lC,{key:jg(L),isPresent:!1,onExitComplete:D,custom:t,presenceAffectsLayout:o,mode:a},L))}),h=h.map(T=>{const L=T.key;return m.has(L)?T:S.createElement(lC,{key:jg(T),isPresent:!0,presenceAffectsLayout:o,mode:a},T)}),S.createElement(S.Fragment,null,m.size?h:h.map(T=>S.cloneElement(T)))};var Nl=function(){return Nl=Object.assign||function(t){for(var n,r=1,i=arguments.length;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]0)&&!(i=r.next()).done;)o.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return o}function F_(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,o;r{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]}}},ZB=S.memo(e=>{const{id:t,message:n,onCloseComplete:r,onRequestRemove:i,requestClose:o=!1,position:a="bottom",duration:s=5e3,containerStyle:l,motionVariants:u=mge,toastSpacing:d="0.5rem"}=e,[h,m]=S.useState(s),y=lpe();rc(()=>{y||r==null||r()},[y]),rc(()=>{m(s)},[s]);const b=()=>m(null),w=()=>m(s),E=()=>{y&&i()};S.useEffect(()=>{y&&o&&i()},[y,o,i]),nde(E,h);const _=S.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:d,...l}),[l,d]),k=S.useMemo(()=>ede(a),[a]);return g.jsx(su.li,{layout:!0,className:"chakra-toast",variants:u,initial:"initial",animate:"animate",exit:"exit",onHoverStart:b,onHoverEnd:w,custom:{position:a},style:k,children:g.jsx($e.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:_,children:ts(n,{id:t,onClose:E})})})});ZB.displayName="ToastComponent";function vge(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 DA={path:g.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[g.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"}),g.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"}),g.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},ja=Qe((e,t)=>{const{as:n,viewBox:r,color:i="currentColor",focusable:o=!1,children:a,className:s,__css:l,...u}=e,d=xt("chakra-icon",s),h=au("Icon",e),m={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:i,...l,...h},y={ref:t,focusable:o,className:d,__css:m},b=r??DA.viewBox;if(n&&typeof n!="string")return g.jsx($e.svg,{as:n,...y,...u});const w=a??DA.path;return g.jsx($e.svg,{verticalAlign:"middle",viewBox:b,...y,...u,children:w})});ja.displayName="Icon";function fc(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:i={}}=e,o=S.Children.toArray(e.path),a=Qe((s,l)=>g.jsx(ja,{ref:l,viewBox:t,...i,...s,children:o.length?o:g.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}function yge(e){return g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.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 bge(e){return g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.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 jA(e){return g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.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 xge=nf({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),p0=Qe((e,t)=>{const n=au("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:a="transparent",className:s,...l}=hr(e),u=xt("chakra-spinner",s),d={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:a,borderLeftColor:a,animation:`${xge} ${o} linear infinite`,...n};return g.jsx($e.div,{ref:t,__css:d,className:u,...l,children:r&&g.jsx($e.span,{srOnly:!0,children:r})})});p0.displayName="Spinner";var[Sge,wge]=Pn({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[Cge,o8]=Pn({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),QB={info:{icon:bge,colorScheme:"blue"},warning:{icon:jA,colorScheme:"orange"},success:{icon:yge,colorScheme:"green"},error:{icon:jA,colorScheme:"red"},loading:{icon:p0,colorScheme:"blue"}};function _ge(e){return QB[e].colorScheme}function kge(e){return QB[e].icon}var JB=Qe(function(t,n){const i={display:"inline",...o8().description};return g.jsx($e.div,{ref:n,...t,className:xt("chakra-alert__desc",t.className),__css:i})});JB.displayName="AlertDescription";function ez(e){const{status:t}=wge(),n=kge(t),r=o8(),i=t==="loading"?r.spinner:r.icon;return g.jsx($e.span,{display:"inherit",...e,className:xt("chakra-alert__icon",e.className),__css:i,children:e.children||g.jsx(n,{h:"100%",w:"100%"})})}ez.displayName="AlertIcon";var tz=Qe(function(t,n){const r=o8();return g.jsx($e.div,{ref:n,...t,className:xt("chakra-alert__title",t.className),__css:r.title})});tz.displayName="AlertTitle";var nz=Qe(function(t,n){var r;const{status:i="info",addRole:o=!0,...a}=hr(t),s=(r=t.colorScheme)!=null?r:_ge(i),l=Xi("Alert",{...t,colorScheme:s}),u={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return g.jsx(Sge,{value:{status:i},children:g.jsx(Cge,{value:l,children:g.jsx($e.div,{role:o?"alert":void 0,ref:n,...a,className:xt("chakra-alert",t.className),__css:u})})})});nz.displayName="Alert";function Ege(e){return g.jsx(ja,{focusable:"false","aria-hidden":!0,...e,children:g.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 a8=Qe(function(t,n){const r=au("CloseButton",t),{children:i,isDisabled:o,__css:a,...s}=hr(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return g.jsx($e.button,{type:"button","aria-label":"Close",ref:n,disabled:o,__css:{...l,...r,...a},...s,children:i||g.jsx(Ege,{width:"1em",height:"1em"})})});a8.displayName="CloseButton";var Pge={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},$l=Tge(Pge);function Tge(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(a=>({...a,[o]:a[o].filter(s=>s.id!=i)}))},notify:(i,o)=>{const a=Mge(i,o),{position:s,id:l}=a;return r(u=>{var d,h;const y=s.includes("top")?[a,...(d=u[s])!=null?d:[]]:[...(h=u[s])!=null?h:[],a];return{...u,[s]:y}}),l},update:(i,o)=>{i&&r(a=>{const s={...a},{position:l,index:u}=LL(s,i);return l&&u!==-1&&(s[l][u]={...s[l][u],...o,message:rz(o)}),s})},closeAll:({positions:i}={})=>{r(o=>(i??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,u)=>(l[u]=o[u].map(d=>({...d,requestClose:!0})),l),{...o}))},close:i=>{r(o=>{const a=IF(o,i);return a?{...o,[a]:o[a].map(s=>s.id==i?{...s,requestClose:!0}:s)}:o})},isActive:i=>Boolean(LL($l.getState(),i).position)}}var NA=0;function Mge(e,t={}){var n,r;NA+=1;const i=(n=t.id)!=null?n:NA,o=(r=t.position)!=null?r:"bottom";return{id:i,message:e,position:o,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>$l.removeToast(String(i),o),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var Lge=e=>{const{status:t,variant:n="solid",id:r,title:i,isClosable:o,onClose:a,description:s,icon:l}=e,u=r?{root:`toast-${r}`,title:`toast-${r}-title`,description:`toast-${r}-description`}:void 0;return g.jsxs(nz,{addRole:!1,status:t,variant:n,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",children:[g.jsx(ez,{children:l}),g.jsxs($e.div,{flex:"1",maxWidth:"100%",children:[i&&g.jsx(tz,{id:u==null?void 0:u.title,children:i}),s&&g.jsx(JB,{id:u==null?void 0:u.description,display:"block",children:s})]}),o&&g.jsx(a8,{size:"sm",onClick:a,position:"absolute",insetEnd:1,top:1})]})};function rz(e={}){const{render:t,toastComponent:n=Lge}=e;return i=>typeof t=="function"?t({...i,...e}):g.jsx(n,{...i,...e})}function Age(e,t){const n=i=>{var o;return{...t,...i,position:vge((o=i==null?void 0:i.position)!=null?o:t==null?void 0:t.position,e)}},r=i=>{const o=n(i),a=rz(o);return $l.notify(a,o)};return r.update=(i,o)=>{$l.update(i,n(o))},r.promise=(i,o)=>{const a=r({...o.loading,status:"loading",duration:null});i.then(s=>r.update(a,{status:"success",duration:5e3,...ts(o.success,s)})).catch(s=>r.update(a,{status:"error",duration:5e3,...ts(o.error,s)}))},r.closeAll=$l.closeAll,r.close=$l.close,r.isActive=$l.isActive,r}var[Oge,Rge]=Pn({name:"ToastOptionsContext",strict:!1}),Ige=e=>{const t=S.useSyncExternalStore($l.subscribe,$l.getState,$l.getState),{motionVariants:n,component:r=ZB,portalProps:i}=e,a=Object.keys(t).map(s=>{const l=t[s];return g.jsx("ul",{role:"region","aria-live":"polite",id:`chakra-toast-manager-${s}`,style:tde(s),children:g.jsx(rp,{initial:!1,children:l.map(u=>g.jsx(r,{motionVariants:n,...u},u.id))})},s)});return g.jsx(c0,{...i,children:a})};function a2(e){const{theme:t}=tF(),n=Rge();return S.useMemo(()=>Age(t.direction,{...n,...e}),[e,t.direction,n])}var Dge=e=>function({children:n,theme:r=e,toastOptions:i,...o}){return g.jsxs(Qce,{theme:r,...o,children:[g.jsx(Oge,{value:i==null?void 0:i.defaultOptions,children:n}),g.jsx(Ige,{...i})]})},jge=Dge(hce),Nge=Object.defineProperty,$ge=(e,t,n)=>t in e?Nge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Nr=(e,t,n)=>($ge(e,typeof t!="symbol"?t+"":t,n),n);function $A(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 Fge=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function FA(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function BA(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var B_=typeof window<"u"?S.useLayoutEffect:S.useEffect,o3=e=>e,Bge=class{constructor(){Nr(this,"descendants",new Map),Nr(this,"register",e=>{if(e!=null)return Fge(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),Nr(this,"unregister",e=>{this.descendants.delete(e);const t=$A(Array.from(this.descendants.keys()));this.assignIndex(t)}),Nr(this,"destroy",()=>{this.descendants.clear()}),Nr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),Nr(this,"count",()=>this.descendants.size),Nr(this,"enabledCount",()=>this.enabledValues().length),Nr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),Nr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),Nr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),Nr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),Nr(this,"first",()=>this.item(0)),Nr(this,"firstEnabled",()=>this.enabledItem(0)),Nr(this,"last",()=>this.item(this.descendants.size-1)),Nr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),Nr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),Nr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),Nr(this,"next",(e,t=!0)=>{const n=FA(e,this.count(),t);return this.item(n)}),Nr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),i=FA(r,this.enabledCount(),t);return this.enabledItem(i)}),Nr(this,"prev",(e,t=!0)=>{const n=BA(e,this.count()-1,t);return this.item(n)}),Nr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),i=BA(r,this.enabledCount()-1,t);return this.enabledItem(i)}),Nr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=$A(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const i={node:e,index:-1,...t};this.descendants.set(e,i),this.assignIndex(r)})}};function zge(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 Rn(...e){return t=>{e.forEach(n=>{zge(n,t)})}}function Hge(...e){return S.useMemo(()=>Rn(...e),e)}function Wge(){const e=S.useRef(new Bge);return B_(()=>()=>e.current.destroy()),e.current}var[Uge,iz]=Pn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function Vge(e){const t=iz(),[n,r]=S.useState(-1),i=S.useRef(null);B_(()=>()=>{i.current&&t.unregister(i.current)},[]),B_(()=>{if(!i.current)return;const a=Number(i.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const o=o3(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(i.current),register:Rn(o,i)}}function s8(){return[o3(Uge),()=>o3(iz()),()=>Wge(),i=>Vge(i)]}var[Gge,jw]=Pn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[qge,l8]=Pn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[Kge,bNe,Yge,Xge]=s8(),tm=Qe(function(t,n){const{getButtonProps:r}=l8(),i=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...jw().button};return g.jsx($e.button,{...i,className:xt("chakra-accordion__button",t.className),__css:a})});tm.displayName="AccordionButton";function u8(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:i=(m,y)=>m!==y}=e,o=Qr(r),a=Qr(i),[s,l]=S.useState(n),u=t!==void 0,d=u?t:s,h=Qr(m=>{const b=typeof m=="function"?m(d):m;a(d,b)&&(u||l(b),o(b))},[u,o,d,a]);return[d,h]}function Zge(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:i,allowToggle:o,...a}=e;eme(e),tme(e);const s=Yge(),[l,u]=S.useState(-1);S.useEffect(()=>()=>{u(-1)},[]);const[d,h]=u8({value:r,defaultValue(){return i?n??[]:n??-1},onChange:t});return{index:d,setIndex:h,htmlProps:a,getAccordionItemProps:y=>{let b=!1;return y!==null&&(b=Array.isArray(d)?d.includes(y):d===y),{isOpen:b,onChange:E=>{if(y!==null)if(i&&Array.isArray(d)){const _=E?d.concat(y):d.filter(k=>k!==y);h(_)}else E?h(y):o&&h(-1)}}},focusedIndex:l,setFocusedIndex:u,descendants:s}}var[Qge,c8]=Pn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function Jge(e){const{isDisabled:t,isFocusable:n,id:r,...i}=e,{getAccordionItemProps:o,setFocusedIndex:a}=c8(),s=S.useRef(null),l=S.useId(),u=r??l,d=`accordion-button-${u}`,h=`accordion-panel-${u}`;nme(e);const{register:m,index:y,descendants:b}=Xge({disabled:t&&!n}),{isOpen:w,onChange:E}=o(y===-1?null:y);rme({isOpen:w,isDisabled:t});const _=()=>{E==null||E(!0)},k=()=>{E==null||E(!1)},T=S.useCallback(()=>{E==null||E(!w),a(y)},[y,a,w,E]),L=S.useCallback(N=>{const B={ArrowDown:()=>{const K=b.nextEnabled(y);K==null||K.node.focus()},ArrowUp:()=>{const K=b.prevEnabled(y);K==null||K.node.focus()},Home:()=>{const K=b.firstEnabled();K==null||K.node.focus()},End:()=>{const K=b.lastEnabled();K==null||K.node.focus()}}[N.key];B&&(N.preventDefault(),B(N))},[b,y]),O=S.useCallback(()=>{a(y)},[a,y]),D=S.useCallback(function(W={},B=null){return{...W,type:"button",ref:Rn(m,s,B),id:d,disabled:!!t,"aria-expanded":!!w,"aria-controls":h,onClick:ht(W.onClick,T),onFocus:ht(W.onFocus,O),onKeyDown:ht(W.onKeyDown,L)}},[d,t,w,T,O,L,h,m]),I=S.useCallback(function(W={},B=null){return{...W,ref:B,role:"region",id:h,"aria-labelledby":d,hidden:!w}},[d,w,h]);return{isOpen:w,isDisabled:t,isFocusable:n,onOpen:_,onClose:k,getButtonProps:D,getPanelProps:I,htmlProps:i}}function eme(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;Jy({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function tme(e){Jy({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 nme(e){Jy({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 rme(e){Jy({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function nm(e){const{isOpen:t,isDisabled:n}=l8(),{reduceMotion:r}=c8(),i=xt("chakra-accordion__icon",e.className),o=jw(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...o.icon};return g.jsx(ja,{viewBox:"0 0 24 24","aria-hidden":!0,className:i,__css:a,...e,children:g.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}nm.displayName="AccordionIcon";var rm=Qe(function(t,n){const{children:r,className:i}=t,{htmlProps:o,...a}=Jge(t),l={...jw().container,overflowAnchor:"none"},u=S.useMemo(()=>a,[a]);return g.jsx(qge,{value:u,children:g.jsx($e.div,{ref:n,...o,className:xt("chakra-accordion__item",i),__css:l,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});rm.displayName="AccordionItem";var im={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},Ih={enter:{duration:.2,ease:im.easeOut},exit:{duration:.1,ease:im.easeIn}},Ku={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})},ime=e=>e!=null&&parseInt(e.toString(),10)>0,zA={exit:{height:{duration:.2,ease:im.ease},opacity:{duration:.3,ease:im.ease}},enter:{height:{duration:.3,ease:im.ease},opacity:{duration:.4,ease:im.ease}}},ome={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{...e&&{opacity:ime(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(o=n==null?void 0:n.exit)!=null?o:Ku.exit(zA.exit,i)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(o=n==null?void 0:n.enter)!=null?o:Ku.enter(zA.enter,i)}}},oz=S.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:i=!0,startingHeight:o=0,endingHeight:a="auto",style:s,className:l,transition:u,transitionEnd:d,...h}=e,[m,y]=S.useState(!1);S.useEffect(()=>{const k=setTimeout(()=>{y(!0)});return()=>clearTimeout(k)},[]),Jy({condition:Boolean(o>0&&r),message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const b=parseFloat(o.toString())>0,w={startingHeight:o,endingHeight:a,animateOpacity:i,transition:m?u:{enter:{duration:0}},transitionEnd:{enter:d==null?void 0:d.enter,exit:r?d==null?void 0:d.exit:{...d==null?void 0:d.exit,display:b?"block":"none"}}},E=r?n:!0,_=n||r?"enter":"exit";return g.jsx(rp,{initial:!1,custom:w,children:E&&g.jsx(su.div,{ref:t,...h,className:xt("chakra-collapse",l),style:{overflow:"hidden",display:"block",...s},custom:w,variants:ome,initial:r?"exit":!1,animate:_,exit:"exit"})})});oz.displayName="Collapse";var ame={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:Ku.enter(Ih.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:Ku.exit(Ih.exit,n),transitionEnd:t==null?void 0:t.exit}}},az={initial:"exit",animate:"enter",exit:"exit",variants:ame},sme=S.forwardRef(function(t,n){const{unmountOnExit:r,in:i,className:o,transition:a,transitionEnd:s,delay:l,...u}=t,d=i||r?"enter":"exit",h=r?i&&r:!0,m={transition:a,transitionEnd:s,delay:l};return g.jsx(rp,{custom:m,children:h&&g.jsx(su.div,{ref:n,className:xt("chakra-fade",o),custom:m,...az,animate:d,...u})})});sme.displayName="Fade";var lme={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(o=n==null?void 0:n.exit)!=null?o:Ku.exit(Ih.exit,i)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:Ku.enter(Ih.enter,n),transitionEnd:e==null?void 0:e.enter}}},sz={initial:"exit",animate:"enter",exit:"exit",variants:lme},ume=S.forwardRef(function(t,n){const{unmountOnExit:r,in:i,reverse:o=!0,initialScale:a=.95,className:s,transition:l,transitionEnd:u,delay:d,...h}=t,m=r?i&&r:!0,y=i||r?"enter":"exit",b={initialScale:a,reverse:o,transition:l,transitionEnd:u,delay:d};return g.jsx(rp,{custom:b,children:m&&g.jsx(su.div,{ref:n,className:xt("chakra-offset-slide",s),...sz,animate:y,custom:b,...h})})});ume.displayName="ScaleFade";var cme={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{opacity:0,x:e,y:t,transition:(o=n==null?void 0:n.exit)!=null?o:Ku.exit(Ih.exit,i),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:Ku.enter(Ih.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:i,delay:o})=>{var a;const s={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:Ku.exit(Ih.exit,o),...i?{...s,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...s,...r==null?void 0:r.exit}}}}},z_={initial:"initial",animate:"enter",exit:"exit",variants:cme},dme=S.forwardRef(function(t,n){const{unmountOnExit:r,in:i,reverse:o=!0,className:a,offsetX:s=0,offsetY:l=8,transition:u,transitionEnd:d,delay:h,...m}=t,y=r?i&&r:!0,b=i||r?"enter":"exit",w={offsetX:s,offsetY:l,reverse:o,transition:u,transitionEnd:d,delay:h};return g.jsx(rp,{custom:w,children:y&&g.jsx(su.div,{ref:n,className:xt("chakra-offset-slide",a),custom:w,...z_,animate:b,...m})})});dme.displayName="SlideFade";var om=Qe(function(t,n){const{className:r,motionProps:i,...o}=t,{reduceMotion:a}=c8(),{getPanelProps:s,isOpen:l}=l8(),u=s(o,n),d=xt("chakra-accordion__panel",r),h=jw();a||delete u.hidden;const m=g.jsx($e.div,{...u,__css:h.panel,className:d});return a?m:g.jsx(oz,{in:l,...i,children:m})});om.displayName="AccordionPanel";var d8=Qe(function({children:t,reduceMotion:n,...r},i){const o=Xi("Accordion",r),a=hr(r),{htmlProps:s,descendants:l,...u}=Zge(a),d=S.useMemo(()=>({...u,reduceMotion:!!n}),[u,n]);return g.jsx(Kge,{value:l,children:g.jsx(Qge,{value:d,children:g.jsx(Gge,{value:o,children:g.jsx($e.div,{ref:i,...s,className:xt("chakra-accordion",r.className),__css:o.root,children:t})})})})});d8.displayName="Accordion";var H_=Qe(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...a}=t;return g.jsx("img",{width:r,height:i,ref:n,alt:o,...a})});H_.displayName="NativeImage";function fme(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:a,sizes:s,ignoreFallback:l}=e,[u,d]=S.useState("pending");S.useEffect(()=>{d(n?"loading":"pending")},[n]);const h=S.useRef(),m=S.useCallback(()=>{if(!n)return;y();const b=new Image;b.src=n,a&&(b.crossOrigin=a),r&&(b.srcset=r),s&&(b.sizes=s),t&&(b.loading=t),b.onload=w=>{y(),d("loaded"),i==null||i(w)},b.onerror=w=>{y(),d("failed"),o==null||o(w)},h.current=b},[n,a,r,s,i,o,t]),y=()=>{h.current&&(h.current.onload=null,h.current.onerror=null,h.current=null)};return Vl(()=>{if(!l)return u==="loading"&&m(),()=>{y()}},[u,m,l]),l?"loaded":u}var hme=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function pme(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var Nw=Qe(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:a,align:s,fit:l,loading:u,ignoreFallback:d,crossOrigin:h,fallbackStrategy:m="beforeLoadOrError",referrerPolicy:y,...b}=t,w=r!==void 0||i!==void 0,E=u!=null||d||!w,_=fme({...t,ignoreFallback:E}),k=hme(_,m),T={ref:n,objectFit:l,objectPosition:s,...E?b:pme(b,["onError","onLoad"])};return k?i||g.jsx($e.img,{as:H_,className:"chakra-image__placeholder",src:r,...T}):g.jsx($e.img,{as:H_,src:o,srcSet:a,crossOrigin:h,loading:u,referrerPolicy:y,className:"chakra-image",...T})});Nw.displayName="Image";function f8(e){return S.Children.toArray(e).filter(t=>S.isValidElement(t))}var[gme,mme]=Pn({strict:!1,name:"ButtonGroupContext"}),vme={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}}},yme={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},Gi=Qe(function(t,n){const{size:r,colorScheme:i,variant:o,className:a,spacing:s="0.5rem",isAttached:l,isDisabled:u,orientation:d="horizontal",...h}=t,m=xt("chakra-button__group",a),y=S.useMemo(()=>({size:r,colorScheme:i,variant:o,isDisabled:u}),[r,i,o,u]);let b={display:"inline-flex",...l?vme[d]:yme[d](s)};const w=d==="vertical";return g.jsx(gme,{value:y,children:g.jsx($e.div,{ref:n,role:"group",__css:b,className:m,"data-attached":l?"":void 0,"data-orientation":d,flexDir:w?"column":void 0,...h})})});Gi.displayName="ButtonGroup";function bme(e){const[t,n]=S.useState(!e);return{ref:S.useCallback(o=>{o&&n(o.tagName==="BUTTON")},[]),type:t?"button":void 0}}function W_(e){const{children:t,className:n,...r}=e,i=S.isValidElement(t)?S.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,o=xt("chakra-button__icon",n);return g.jsx($e.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:o,children:i})}W_.displayName="ButtonIcon";function a3(e){const{label:t,placement:n,spacing:r="0.5rem",children:i=g.jsx(p0,{color:"currentColor",width:"1em",height:"1em"}),className:o,__css:a,...s}=e,l=xt("chakra-button__spinner",o),u=n==="start"?"marginEnd":"marginStart",d=S.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[u]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,u,r]);return g.jsx($e.div,{className:l,...s,__css:d,children:i})}a3.displayName="ButtonSpinner";var ss=Qe((e,t)=>{const n=mme(),r=au("Button",{...n,...e}),{isDisabled:i=n==null?void 0:n.isDisabled,isLoading:o,isActive:a,children:s,leftIcon:l,rightIcon:u,loadingText:d,iconSpacing:h="0.5rem",type:m,spinner:y,spinnerPlacement:b="start",className:w,as:E,..._}=hr(e),k=S.useMemo(()=>{const D={...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:D}}},[r,n]),{ref:T,type:L}=bme(E),O={rightIcon:u,leftIcon:l,iconSpacing:h,children:s};return g.jsxs($e.button,{ref:Hge(t,T),as:E,type:m??L,"data-active":Bt(a),"data-loading":Bt(o),__css:k,className:xt("chakra-button",w),..._,disabled:i||o,children:[o&&b==="start"&&g.jsx(a3,{className:"chakra-button__spinner--start",label:d,placement:"start",spacing:h,children:y}),o?d||g.jsx($e.span,{opacity:0,children:g.jsx(HA,{...O})}):g.jsx(HA,{...O}),o&&b==="end"&&g.jsx(a3,{className:"chakra-button__spinner--end",label:d,placement:"end",spacing:h,children:y})]})});ss.displayName="Button";function HA(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:i}=e;return g.jsxs(g.Fragment,{children:[t&&g.jsx(W_,{marginEnd:i,children:t}),r,n&&g.jsx(W_,{marginStart:i,children:n})]})}var ls=Qe((e,t)=>{const{icon:n,children:r,isRound:i,"aria-label":o,...a}=e,s=n||r,l=S.isValidElement(s)?S.cloneElement(s,{"aria-hidden":!0,focusable:!1}):null;return g.jsx(ss,{padding:"0",borderRadius:i?"full":void 0,ref:t,"aria-label":o,...a,children:l})});ls.displayName="IconButton";var[xNe,xme]=Pn({name:"CheckboxGroupContext",strict:!1});function Sme(e){return g.jsx($e.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:g.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function wme(e){return g.jsx($e.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:g.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function Cme(e){const{isIndeterminate:t,isChecked:n,...r}=e,i=t?wme:Sme;return n||t?g.jsx($e.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:g.jsx(i,{...r})}):null}var[_me,lz]=Pn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[kme,ip]=Pn({strict:!1,name:"FormControlContext"});function Eme(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:i,isReadOnly:o,...a}=e,s=S.useId(),l=t||`field-${s}`,u=`${l}-label`,d=`${l}-feedback`,h=`${l}-helptext`,[m,y]=S.useState(!1),[b,w]=S.useState(!1),[E,_]=S.useState(!1),k=S.useCallback((I={},N=null)=>({id:h,...I,ref:Rn(N,W=>{W&&w(!0)})}),[h]),T=S.useCallback((I={},N=null)=>{var W,B;return{...I,ref:N,"data-focus":Bt(E),"data-disabled":Bt(i),"data-invalid":Bt(r),"data-readonly":Bt(o),id:(W=I.id)!=null?W:u,htmlFor:(B=I.htmlFor)!=null?B:l}},[l,i,E,r,o,u]),L=S.useCallback((I={},N=null)=>({id:d,...I,ref:Rn(N,W=>{W&&y(!0)}),"aria-live":"polite"}),[d]),O=S.useCallback((I={},N=null)=>({...I,...a,ref:N,role:"group"}),[a]),D=S.useCallback((I={},N=null)=>({...I,ref:N,role:"presentation","aria-hidden":!0,children:I.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!o,isDisabled:!!i,isFocused:!!E,onFocus:()=>_(!0),onBlur:()=>_(!1),hasFeedbackText:m,setHasFeedbackText:y,hasHelpText:b,setHasHelpText:w,id:l,labelId:u,feedbackId:d,helpTextId:h,htmlProps:a,getHelpTextProps:k,getErrorMessageProps:L,getRootProps:O,getLabelProps:T,getRequiredIndicatorProps:D}}var sn=Qe(function(t,n){const r=Xi("Form",t),i=hr(t),{getRootProps:o,htmlProps:a,...s}=Eme(i),l=xt("chakra-form-control",t.className);return g.jsx(kme,{value:s,children:g.jsx(_me,{value:r,children:g.jsx($e.div,{...o({},n),className:l,__css:r.container})})})});sn.displayName="FormControl";var sr=Qe(function(t,n){const r=ip(),i=lz(),o=xt("chakra-form__helper-text",t.className);return g.jsx($e.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:i.helperText,className:o})});sr.displayName="FormHelperText";var[Pme,Tme]=Pn({name:"FormErrorStylesContext",errorMessage:`useFormErrorStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),lr=Qe((e,t)=>{const n=Xi("FormError",e),r=hr(e),i=ip();return i!=null&&i.isInvalid?g.jsx(Pme,{value:n,children:g.jsx($e.div,{...i==null?void 0:i.getErrorMessageProps(r,t),className:xt("chakra-form__error-message",e.className),__css:{display:"flex",alignItems:"center",...n.text}})}):null});lr.displayName="FormErrorMessage";var Mme=Qe((e,t)=>{const n=Tme(),r=ip();if(!(r!=null&&r.isInvalid))return null;const i=xt("chakra-form__error-icon",e.className);return g.jsx(ja,{ref:t,"aria-hidden":!0,...e,__css:n.icon,className:i,children:g.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"})})});Mme.displayName="FormErrorIcon";var Sn=Qe(function(t,n){var r;const i=au("FormLabel",t),o=hr(t),{className:a,children:s,requiredIndicator:l=g.jsx(uz,{}),optionalIndicator:u=null,...d}=o,h=ip(),m=(r=h==null?void 0:h.getLabelProps(d,n))!=null?r:{ref:n,...d};return g.jsxs($e.label,{...m,className:xt("chakra-form__label",o.className),__css:{display:"block",textAlign:"start",...i},children:[s,h!=null&&h.isRequired?l:u]})});Sn.displayName="FormLabel";var uz=Qe(function(t,n){const r=ip(),i=lz();if(!(r!=null&&r.isRequired))return null;const o=xt("chakra-form__required-indicator",t.className);return g.jsx($e.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:i.requiredIndicator,className:o})});uz.displayName="RequiredIndicator";function h8(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:i,...o}=p8(e);return{...o,disabled:t,readOnly:r,required:i,"aria-invalid":Uu(n),"aria-required":Uu(i),"aria-readonly":Uu(r)}}function p8(e){var t,n,r;const i=ip(),{id:o,disabled:a,readOnly:s,required:l,isRequired:u,isInvalid:d,isReadOnly:h,isDisabled:m,onFocus:y,onBlur:b,...w}=e,E=e["aria-describedby"]?[e["aria-describedby"]]:[];return i!=null&&i.hasFeedbackText&&(i!=null&&i.isInvalid)&&E.push(i.feedbackId),i!=null&&i.hasHelpText&&E.push(i.helpTextId),{...w,"aria-describedby":E.join(" ")||void 0,id:o??(i==null?void 0:i.id),isDisabled:(t=a??m)!=null?t:i==null?void 0:i.isDisabled,isReadOnly:(n=s??h)!=null?n:i==null?void 0:i.isReadOnly,isRequired:(r=l??u)!=null?r:i==null?void 0:i.isRequired,isInvalid:d??(i==null?void 0:i.isInvalid),onFocus:ht(i==null?void 0:i.onFocus,y),onBlur:ht(i==null?void 0:i.onBlur,b)}}var Lme={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},WA=!1,s2=null,qh=!1,U_=!1,V_=new Set;function g8(e,t){V_.forEach(n=>n(e,t))}var Ame=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function Ome(e){return!(e.metaKey||!Ame&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function UA(e){qh=!0,Ome(e)&&(s2="keyboard",g8("keyboard",e))}function xg(e){if(s2="pointer",e.type==="mousedown"||e.type==="pointerdown"){qh=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;g8("pointer",e)}}function Rme(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function Ime(e){Rme(e)&&(qh=!0,s2="virtual")}function Dme(e){e.target===window||e.target===document||(!qh&&!U_&&(s2="virtual",g8("virtual",e)),qh=!1,U_=!1)}function jme(){qh=!1,U_=!0}function VA(){return s2!=="pointer"}function Nme(){if(typeof window>"u"||WA)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){qh=!0,e.apply(this,n)},document.addEventListener("keydown",UA,!0),document.addEventListener("keyup",UA,!0),document.addEventListener("click",Ime,!0),window.addEventListener("focus",Dme,!0),window.addEventListener("blur",jme,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",xg,!0),document.addEventListener("pointermove",xg,!0),document.addEventListener("pointerup",xg,!0)):(document.addEventListener("mousedown",xg,!0),document.addEventListener("mousemove",xg,!0),document.addEventListener("mouseup",xg,!0)),WA=!0}function cz(e){Nme(),e(VA());const t=()=>e(VA());return V_.add(t),()=>{V_.delete(t)}}function $me(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function dz(e={}){const t=p8(e),{isDisabled:n,isReadOnly:r,isRequired:i,isInvalid:o,id:a,onBlur:s,onFocus:l,"aria-describedby":u}=t,{defaultChecked:d,isChecked:h,isFocusable:m,onChange:y,isIndeterminate:b,name:w,value:E,tabIndex:_=void 0,"aria-label":k,"aria-labelledby":T,"aria-invalid":L,...O}=e,D=$me(O,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),I=Qr(y),N=Qr(s),W=Qr(l),[B,K]=S.useState(!1),[ne,z]=S.useState(!1),[$,V]=S.useState(!1),[X,Q]=S.useState(!1);S.useEffect(()=>cz(K),[]);const G=S.useRef(null),[Y,ee]=S.useState(!0),[fe,Ce]=S.useState(!!d),Se=h!==void 0,xe=Se?h:fe,Le=S.useCallback(Be=>{if(r||n){Be.preventDefault();return}Se||Ce(xe?Be.target.checked:b?!0:Be.target.checked),I==null||I(Be)},[r,n,xe,Se,b,I]);Vl(()=>{G.current&&(G.current.indeterminate=Boolean(b))},[b]),rc(()=>{n&&z(!1)},[n,z]),Vl(()=>{const Be=G.current;Be!=null&&Be.form&&(Be.form.onreset=()=>{Ce(!!d)})},[]);const je=n&&!m,Ze=S.useCallback(Be=>{Be.key===" "&&Q(!0)},[Q]),_e=S.useCallback(Be=>{Be.key===" "&&Q(!1)},[Q]);Vl(()=>{if(!G.current)return;G.current.checked!==xe&&Ce(G.current.checked)},[G.current]);const tt=S.useCallback((Be={},at=null)=>{const jt=mt=>{ne&&mt.preventDefault(),Q(!0)};return{...Be,ref:at,"data-active":Bt(X),"data-hover":Bt($),"data-checked":Bt(xe),"data-focus":Bt(ne),"data-focus-visible":Bt(ne&&B),"data-indeterminate":Bt(b),"data-disabled":Bt(n),"data-invalid":Bt(o),"data-readonly":Bt(r),"aria-hidden":!0,onMouseDown:ht(Be.onMouseDown,jt),onMouseUp:ht(Be.onMouseUp,()=>Q(!1)),onMouseEnter:ht(Be.onMouseEnter,()=>V(!0)),onMouseLeave:ht(Be.onMouseLeave,()=>V(!1))}},[X,xe,n,ne,B,$,b,o,r]),yt=S.useCallback((Be={},at=null)=>({...D,...Be,ref:Rn(at,jt=>{jt&&ee(jt.tagName==="LABEL")}),onClick:ht(Be.onClick,()=>{var jt;Y||((jt=G.current)==null||jt.click(),requestAnimationFrame(()=>{var mt;(mt=G.current)==null||mt.focus()}))}),"data-disabled":Bt(n),"data-checked":Bt(xe),"data-invalid":Bt(o)}),[D,n,xe,o,Y]),ze=S.useCallback((Be={},at=null)=>({...Be,ref:Rn(G,at),type:"checkbox",name:w,value:E,id:a,tabIndex:_,onChange:ht(Be.onChange,Le),onBlur:ht(Be.onBlur,N,()=>z(!1)),onFocus:ht(Be.onFocus,W,()=>z(!0)),onKeyDown:ht(Be.onKeyDown,Ze),onKeyUp:ht(Be.onKeyUp,_e),required:i,checked:xe,disabled:je,readOnly:r,"aria-label":k,"aria-labelledby":T,"aria-invalid":L?Boolean(L):o,"aria-describedby":u,"aria-disabled":n,style:Lme}),[w,E,a,Le,N,W,Ze,_e,i,xe,je,r,k,T,L,o,u,n,_]),Ae=S.useCallback((Be={},at=null)=>({...Be,ref:at,onMouseDown:ht(Be.onMouseDown,GA),onTouchStart:ht(Be.onTouchStart,GA),"data-disabled":Bt(n),"data-checked":Bt(xe),"data-invalid":Bt(o)}),[xe,n,o]);return{state:{isInvalid:o,isFocused:ne,isChecked:xe,isActive:X,isHovered:$,isIndeterminate:b,isDisabled:n,isReadOnly:r,isRequired:i},getRootProps:yt,getCheckboxProps:tt,getInputProps:ze,getLabelProps:Ae,htmlProps:D}}function GA(e){e.preventDefault(),e.stopPropagation()}var Fme={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},Bme={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},zme=nf({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),Hme=nf({from:{opacity:0},to:{opacity:1}}),Wme=nf({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),fz=Qe(function(t,n){const r=xme(),i={...r,...t},o=Xi("Checkbox",i),a=hr(t),{spacing:s="0.5rem",className:l,children:u,iconColor:d,iconSize:h,icon:m=g.jsx(Cme,{}),isChecked:y,isDisabled:b=r==null?void 0:r.isDisabled,onChange:w,inputProps:E,..._}=a;let k=y;r!=null&&r.value&&a.value&&(k=r.value.includes(a.value));let T=w;r!=null&&r.onChange&&a.value&&(T=ww(r.onChange,w));const{state:L,getInputProps:O,getCheckboxProps:D,getLabelProps:I,getRootProps:N}=dz({..._,isDisabled:b,isChecked:k,onChange:T}),W=S.useMemo(()=>({animation:L.isIndeterminate?`${Hme} 20ms linear, ${Wme} 200ms linear`:`${zme} 200ms linear`,fontSize:h,color:d,...o.icon}),[d,h,,L.isIndeterminate,o.icon]),B=S.cloneElement(m,{__css:W,isIndeterminate:L.isIndeterminate,isChecked:L.isChecked});return g.jsxs($e.label,{__css:{...Bme,...o.container},className:xt("chakra-checkbox",l),...N(),children:[g.jsx("input",{className:"chakra-checkbox__input",...O(E,n)}),g.jsx($e.span,{__css:{...Fme,...o.control},className:"chakra-checkbox__control",...D(),children:B}),u&&g.jsx($e.span,{className:"chakra-checkbox__label",...I(),__css:{marginStart:s,...o.label},children:u})]})});fz.displayName="Checkbox";function Ume(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function m8(e,t){let n=Ume(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function G_(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 qA(e,t,n){return(e-t)*100/(n-t)}function Vme(e,t,n){return(n-t)*e+t}function KA(e,t,n){const r=Math.round((e-t)/n)*n+t,i=G_(n);return m8(r,i)}function Qx(e,t,n){return e==null?e:(n{var B;return r==null?"":(B=uC(r,o,n))!=null?B:""}),m=typeof i<"u",y=m?i:d,b=hz(dd(y),o),w=n??b,E=S.useCallback(B=>{B!==y&&(m||h(B.toString()),u==null||u(B.toString(),dd(B)))},[u,m,y]),_=S.useCallback(B=>{let K=B;return l&&(K=Qx(K,a,s)),m8(K,w)},[w,l,s,a]),k=S.useCallback((B=o)=>{let K;y===""?K=dd(B):K=dd(y)+B,K=_(K),E(K)},[_,o,E,y]),T=S.useCallback((B=o)=>{let K;y===""?K=dd(-B):K=dd(y)-B,K=_(K),E(K)},[_,o,E,y]),L=S.useCallback(()=>{var B;let K;r==null?K="":K=(B=uC(r,o,n))!=null?B:a,E(K)},[r,n,o,E,a]),O=S.useCallback(B=>{var K;const ne=(K=uC(B,o,w))!=null?K:a;E(ne)},[w,o,E,a]),D=dd(y);return{isOutOfRange:D>s||D{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 qme(e){return"current"in e}var pz=()=>typeof window<"u";function Kme(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var Yme=e=>pz()&&e.test(navigator.vendor),Xme=e=>pz()&&e.test(Kme()),Zme=()=>Xme(/mac|iphone|ipad|ipod/i),Qme=()=>Zme()&&Yme(/apple/i);function Jme(e){const{ref:t,elements:n,enabled:r}=e,i=()=>{var o,a;return(a=(o=t.current)==null?void 0:o.ownerDocument)!=null?a:document};Dh(i,"pointerdown",o=>{if(!Qme()||!r)return;const a=o.target,l=(n??[t]).some(u=>{const d=qme(u)?u.current:u;return(d==null?void 0:d.contains(a))||d===a});i().activeElement!==a&&l&&(o.preventDefault(),a.focus())})}function v8(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var An={},e0e={get exports(){return An},set exports(e){An=e}},t0e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",n0e=t0e,r0e=n0e;function gz(){}function mz(){}mz.resetWarningCache=gz;var i0e=function(){function e(r,i,o,a,s,l){if(l!==r0e){var u=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 u.name="Invariant Violation",u}}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:mz,resetWarningCache:gz};return n.PropTypes=n,n};e0e.exports=i0e();var q_="data-focus-lock",vz="data-focus-lock-disabled",o0e="data-no-focus-lock",a0e="data-autofocus-inside",s0e="data-no-autofocus";function l0e(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function u0e(e,t){var n=S.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var i=n.value;i!==r&&(n.value=r,n.callback(r,i))}}}})[0];return n.callback=t,n.facade}function yz(e,t){return u0e(t||null,function(n){return e.forEach(function(r){return l0e(r,n)})})}var cC={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"};function bz(e){return e}function xz(e,t){t===void 0&&(t=bz);var n=[],r=!1,i={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(o){var a=t(o,r);return n.push(a),function(){n=n.filter(function(s){return s!==a})}},assignSyncMedium:function(o){for(r=!0;n.length;){var a=n;n=[],a.forEach(o)}n={push:function(s){return o(s)},filter:function(){return n}}},assignMedium:function(o){r=!0;var a=[];if(n.length){var s=n;n=[],s.forEach(o),a=n}var l=function(){var d=a;a=[],d.forEach(o)},u=function(){return Promise.resolve().then(l)};u(),n={push:function(d){a.push(d),u()},filter:function(d){return a=a.filter(d),n}}}};return i}function y8(e,t){return t===void 0&&(t=bz),xz(e,t)}function Sz(e){e===void 0&&(e={});var t=xz(null);return t.options=Nl({async:!0,ssr:!1},e),t}var wz=function(e){var t=e.sideCar,n=XB(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return S.createElement(r,Nl({},n))};wz.isSideCarExport=!0;function c0e(e,t){return e.useMedium(t),wz}var Cz=y8({},function(e){var t=e.target,n=e.currentTarget;return{target:t,currentTarget:n}}),_z=y8(),d0e=y8(),f0e=Sz({async:!0}),h0e=[],b8=S.forwardRef(function(t,n){var r,i=S.useState(),o=i[0],a=i[1],s=S.useRef(),l=S.useRef(!1),u=S.useRef(null),d=t.children,h=t.disabled,m=t.noFocusGuards,y=t.persistentFocus,b=t.crossFrame,w=t.autoFocus;t.allowTextSelection;var E=t.group,_=t.className,k=t.whiteList,T=t.hasPositiveIndices,L=t.shards,O=L===void 0?h0e:L,D=t.as,I=D===void 0?"div":D,N=t.lockProps,W=N===void 0?{}:N,B=t.sideCar,K=t.returnFocus,ne=t.focusOptions,z=t.onActivation,$=t.onDeactivation,V=S.useState({}),X=V[0],Q=S.useCallback(function(){u.current=u.current||document&&document.activeElement,s.current&&z&&z(s.current),l.current=!0},[z]),G=S.useCallback(function(){l.current=!1,$&&$(s.current)},[$]);S.useEffect(function(){h||(u.current=null)},[]);var Y=S.useCallback(function(Ze){var _e=u.current;if(_e&&_e.focus){var tt=typeof K=="function"?K(_e):K;if(tt){var yt=typeof tt=="object"?tt:void 0;u.current=null,Ze?Promise.resolve().then(function(){return _e.focus(yt)}):_e.focus(yt)}}},[K]),ee=S.useCallback(function(Ze){l.current&&Cz.useMedium(Ze)},[]),fe=_z.useMedium,Ce=S.useCallback(function(Ze){s.current!==Ze&&(s.current=Ze,a(Ze))},[]),Se=pn((r={},r[vz]=h&&"disabled",r[q_]=E,r),W),xe=m!==!0,Le=xe&&m!=="tail",je=yz([n,Ce]);return S.createElement(S.Fragment,null,xe&&[S.createElement("div",{key:"guard-first","data-focus-guard":!0,tabIndex:h?-1:0,style:cC}),T?S.createElement("div",{key:"guard-nearest","data-focus-guard":!0,tabIndex:h?-1:1,style:cC}):null],!h&&S.createElement(B,{id:X,sideCar:f0e,observed:o,disabled:h,persistentFocus:y,crossFrame:b,autoFocus:w,whiteList:k,shards:O,onActivation:Q,onDeactivation:G,returnFocus:Y,focusOptions:ne}),S.createElement(I,pn({ref:je},Se,{className:_,onBlur:fe,onFocus:ee}),d),Le&&S.createElement("div",{"data-focus-guard":!0,tabIndex:h?-1:0,style:cC}))});b8.propTypes={};b8.defaultProps={children:void 0,disabled:!1,returnFocus:!1,focusOptions:void 0,noFocusGuards:!1,autoFocus:!0,persistentFocus:!1,crossFrame:!0,hasPositiveIndices:void 0,allowTextSelection:void 0,group:void 0,className:void 0,whiteList:void 0,shards:void 0,as:"div",lockProps:{},onActivation:void 0,onDeactivation:void 0};const kz=b8;function s3(e,t){return s3=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},s3(e,t)}function x8(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,s3(e,t)}function Ks(e){return Ks=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},Ks(e)}function p0e(e,t){if(Ks(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(Ks(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ez(e){var t=p0e(e,"string");return Ks(t)==="symbol"?t:String(t)}function fs(e,t,n){return t=Ez(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g0e(e,t){function n(r){return r.displayName||r.name||"Component"}return function(i){var o=[],a;function s(){a=e(o.map(function(u){return u.props})),t(a)}var l=function(u){x8(d,u);function d(){return u.apply(this,arguments)||this}d.peek=function(){return a};var h=d.prototype;return h.componentDidMount=function(){o.push(this),s()},h.componentDidUpdate=function(){s()},h.componentWillUnmount=function(){var y=o.indexOf(this);o.splice(y,1),s()},h.render=function(){return Ye.createElement(i,this.props)},d}(S.PureComponent);return fs(l,"displayName","SideEffect("+n(i)+")"),l}}var lu=function(e){for(var t=Array(e.length),n=0;n=0}).sort(C0e)},_0e=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],w8=_0e.join(","),k0e="".concat(w8,", [data-focus-guard]"),jz=function(e,t){return lu((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?k0e:w8)?[r]:[],jz(r))},[])},E0e=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?$w([e.contentDocument.body],t):[e]},$w=function(e,t){return e.reduce(function(n,r){var i,o=jz(r,t),a=(i=[]).concat.apply(i,o.map(function(s){return E0e(s,t)}));return n.concat(a,r.parentNode?lu(r.parentNode.querySelectorAll(w8)).filter(function(s){return s===r}):[])},[])},P0e=function(e){var t=e.querySelectorAll("[".concat(a0e,"]"));return lu(t).map(function(n){return $w([n])}).reduce(function(n,r){return n.concat(r)},[])},C8=function(e,t){return lu(e).filter(function(n){return Lz(t,n)}).filter(function(n){return x0e(n)})},YA=function(e,t){return t===void 0&&(t=new Map),lu(e).filter(function(n){return Az(t,n)})},K_=function(e,t,n){return Dz(C8($w(e,n),t),!0,n)},XA=function(e,t){return Dz(C8($w(e),t),!1)},T0e=function(e,t){return C8(P0e(e),t)},_m=function(e,t){return e.shadowRoot?_m(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:lu(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var i=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return i?_m(i,t):!1}return _m(n,t)})},M0e=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(i),(o&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,s){return!t.has(s)})},Nz=function(e){return e.parentNode?Nz(e.parentNode):e},_8=function(e){var t=l3(e);return t.filter(Boolean).reduce(function(n,r){var i=r.getAttribute(q_);return n.push.apply(n,i?M0e(lu(Nz(r).querySelectorAll("[".concat(q_,'="').concat(i,'"]:not([').concat(vz,'="disabled"])')))):[r]),n},[])},L0e=function(e){try{return e()}catch{return}},Ty=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?Ty(t.shadowRoot):t instanceof HTMLIFrameElement&&L0e(function(){return t.contentWindow.document})?Ty(t.contentWindow.document):t}},A0e=function(e,t){return e===t},O0e=function(e,t){return Boolean(lu(e.querySelectorAll("iframe")).some(function(n){return A0e(n,t)}))},$z=function(e,t){return t===void 0&&(t=Ty(Pz(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:_8(e).some(function(n){return _m(n,t)||O0e(n,t)})},R0e=function(e){e===void 0&&(e=document);var t=Ty(e);return t?lu(e.querySelectorAll("[".concat(o0e,"]"))).some(function(n){return _m(n,t)}):!1},I0e=function(e,t){return t.filter(Iz).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},k8=function(e,t){return Iz(e)&&e.name?I0e(e,t):e},D0e=function(e){var t=new Set;return e.forEach(function(n){return t.add(k8(n,e))}),e.filter(function(n){return t.has(n)})},ZA=function(e){return e[0]&&e.length>1?k8(e[0],e):e[0]},QA=function(e,t){return e.length>1?e.indexOf(k8(e[t],e)):t},Fz="NEW_FOCUS",j0e=function(e,t,n,r){var i=e.length,o=e[0],a=e[i-1],s=S8(n);if(!(n&&e.indexOf(n)>=0)){var l=n!==void 0?t.indexOf(n):-1,u=r?t.indexOf(r):l,d=r?e.indexOf(r):-1,h=l-u,m=t.indexOf(o),y=t.indexOf(a),b=D0e(t),w=n!==void 0?b.indexOf(n):-1,E=w-(r?b.indexOf(r):l),_=QA(e,0),k=QA(e,i-1);if(l===-1||d===-1)return Fz;if(!h&&d>=0)return d;if(l<=m&&s&&Math.abs(h)>1)return k;if(l>=y&&s&&Math.abs(h)>1)return _;if(h&&Math.abs(E)>1)return d;if(l<=m)return k;if(l>y)return _;if(h)return Math.abs(h)>1?d:(i+d+h)%i}},N0e=function(e){return function(t){var n,r=(n=Oz(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},$0e=function(e,t,n){var r=e.map(function(o){var a=o.node;return a}),i=YA(r.filter(N0e(n)));return i&&i.length?ZA(i):ZA(YA(t))},Y_=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&Y_(e.parentNode.host||e.parentNode,t),t},dC=function(e,t){for(var n=Y_(e),r=Y_(t),i=0;i=0)return o}return!1},Bz=function(e,t,n){var r=l3(e),i=l3(t),o=r[0],a=!1;return i.filter(Boolean).forEach(function(s){a=dC(a||s,s)||a,n.filter(Boolean).forEach(function(l){var u=dC(o,l);u&&(!a||_m(u,a)?a=u:a=dC(u,a))})}),a},F0e=function(e,t){return e.reduce(function(n,r){return n.concat(T0e(r,t))},[])},B0e=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(w0e)},z0e=function(e,t){var n=Ty(l3(e).length>0?document:Pz(e).ownerDocument),r=_8(e).filter(u3),i=Bz(n||e,e,r),o=new Map,a=XA(r,o),s=K_(r,o).filter(function(y){var b=y.node;return u3(b)});if(!(!s[0]&&(s=a,!s[0]))){var l=XA([i],o).map(function(y){var b=y.node;return b}),u=B0e(l,s),d=u.map(function(y){var b=y.node;return b}),h=j0e(d,l,n,t);if(h===Fz){var m=$0e(a,d,F0e(r,o));if(m)return{node:m};console.warn("focus-lock: cannot find any node to move focus into");return}return h===void 0?h:u[h]}},H0e=function(e){var t=_8(e).filter(u3),n=Bz(e,e,t),r=new Map,i=K_([n],r,!0),o=K_(t,r).filter(function(a){var s=a.node;return u3(s)}).map(function(a){var s=a.node;return s});return i.map(function(a){var s=a.node,l=a.index;return{node:s,index:l,lockItem:o.indexOf(s)>=0,guard:S8(s)}})},W0e=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},fC=0,hC=!1,zz=function(e,t,n){n===void 0&&(n={});var r=z0e(e,t);if(!hC&&r){if(fC>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),hC=!0,setTimeout(function(){hC=!1},1);return}fC++,W0e(r.node,n.focusOptions),fC--}};function Hz(e){var t=window,n=t.setImmediate;typeof n<"u"?n(e):setTimeout(e,1)}var U0e=function(){return document&&document.activeElement===document.body},V0e=function(){return U0e()||R0e()},km=null,am=null,Em=null,My=!1,G0e=function(){return!0},q0e=function(t){return(km.whiteList||G0e)(t)},K0e=function(t,n){Em={observerNode:t,portaledElement:n}},Y0e=function(t){return Em&&Em.portaledElement===t};function JA(e,t,n,r){var i=null,o=e;do{var a=r[o];if(a.guard)a.node.dataset.focusAutoGuard&&(i=a);else if(a.lockItem){if(o!==e)return;i=null}else break}while((o+=n)!==t);i&&(i.node.tabIndex=0)}var X0e=function(t){return t&&"current"in t?t.current:t},Z0e=function(t){return t?Boolean(My):My==="meanwhile"},Q0e=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},J0e=function(t,n){return n.some(function(r){return Q0e(t,r,r)})},c3=function(){var t=!1;if(km){var n=km,r=n.observed,i=n.persistentFocus,o=n.autoFocus,a=n.shards,s=n.crossFrame,l=n.focusOptions,u=r||Em&&Em.portaledElement,d=document&&document.activeElement;if(u){var h=[u].concat(a.map(X0e).filter(Boolean));if((!d||q0e(d))&&(i||Z0e(s)||!V0e()||!am&&o)&&(u&&!($z(h)||d&&J0e(d,h)||Y0e(d))&&(document&&!am&&d&&!o?(d.blur&&d.blur(),document.body.focus()):(t=zz(h,am,{focusOptions:l}),Em={})),My=!1,am=document&&document.activeElement),document){var m=document&&document.activeElement,y=H0e(h),b=y.map(function(w){var E=w.node;return E}).indexOf(m);b>-1&&(y.filter(function(w){var E=w.guard,_=w.node;return E&&_.dataset.focusAutoGuard}).forEach(function(w){var E=w.node;return E.removeAttribute("tabIndex")}),JA(b,y.length,1,y),JA(b,-1,-1,y))}}}return t},Wz=function(t){c3()&&t&&(t.stopPropagation(),t.preventDefault())},E8=function(){return Hz(c3)},eve=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||K0e(r,n)},tve=function(){return null},Uz=function(){My="just",setTimeout(function(){My="meanwhile"},0)},nve=function(){document.addEventListener("focusin",Wz),document.addEventListener("focusout",E8),window.addEventListener("blur",Uz)},rve=function(){document.removeEventListener("focusin",Wz),document.removeEventListener("focusout",E8),window.removeEventListener("blur",Uz)};function ive(e){return e.filter(function(t){var n=t.disabled;return!n})}function ove(e){var t=e.slice(-1)[0];t&&!km&&nve();var n=km,r=n&&t&&t.id===n.id;km=t,n&&!r&&(n.onDeactivation(),e.filter(function(i){var o=i.id;return o===n.id}).length||n.returnFocus(!t)),t?(am=null,(!r||n.observed!==t.observed)&&t.onActivation(),c3(),Hz(c3)):(rve(),am=null)}Cz.assignSyncMedium(eve);_z.assignMedium(E8);d0e.assignMedium(function(e){return e({moveFocusInside:zz,focusInside:$z})});const ave=g0e(ive,ove)(tve);var Vz=S.forwardRef(function(t,n){return S.createElement(kz,pn({sideCar:ave,ref:n},t))}),Gz=kz.propTypes||{};Gz.sideCar;v8(Gz,["sideCar"]);Vz.propTypes={};const eO=Vz;function qz(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Kz(e){var t;if(!qz(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function sve(e){var t,n;return(n=(t=Yz(e))==null?void 0:t.defaultView)!=null?n:window}function Yz(e){return qz(e)?e.ownerDocument:document}function lve(e){return Yz(e).activeElement}var Xz=e=>e.hasAttribute("tabindex"),uve=e=>Xz(e)&&e.tabIndex===-1;function cve(e){return Boolean(e.getAttribute("disabled"))===!0||Boolean(e.getAttribute("aria-disabled"))===!0}function Zz(e){return e.parentElement&&Zz(e.parentElement)?!0:e.hidden}function dve(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function Qz(e){if(!Kz(e)||Zz(e)||cve(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]():dve(e)?!0:Xz(e)}function fve(e){return e?Kz(e)&&Qz(e)&&!uve(e):!1}var hve=["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]"],pve=hve.join(),gve=e=>e.offsetWidth>0&&e.offsetHeight>0;function Jz(e){const t=Array.from(e.querySelectorAll(pve));return t.unshift(e),t.filter(n=>Qz(n)&&gve(n))}var tO,mve=(tO=eO.default)!=null?tO:eO,eH=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:i,children:o,isDisabled:a,autoFocus:s,persistentFocus:l,lockFocusAcrossFrames:u}=e,d=S.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&Jz(r.current).length===0&&requestAnimationFrame(()=>{var b;(b=r.current)==null||b.focus()})},[t,r]),h=S.useCallback(()=>{var y;(y=n==null?void 0:n.current)==null||y.focus()},[n]),m=i&&!n;return g.jsx(mve,{crossFrame:u,persistentFocus:l,autoFocus:s,disabled:a,onActivation:d,onDeactivation:h,returnFocus:m,children:o})};eH.displayName="FocusLock";var vve=gce?S.useLayoutEffect:S.useEffect;function nO(e,t=[]){const n=S.useRef(e);return vve(()=>{n.current=e}),S.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function yve(e,t){const n=S.useId();return S.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function bve(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function Kd(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=nO(n),a=nO(t),[s,l]=S.useState(e.defaultIsOpen||!1),[u,d]=bve(r,s),h=yve(i,"disclosure"),m=S.useCallback(()=>{u||l(!1),a==null||a()},[u,a]),y=S.useCallback(()=>{u||l(!0),o==null||o()},[u,o]),b=S.useCallback(()=>{(d?m:y)()},[d,y,m]);return{isOpen:!!d,onOpen:y,onClose:m,onToggle:b,isControlled:u,getButtonProps:(w={})=>({...w,"aria-expanded":d,"aria-controls":h,onClick:xce(w.onClick,b)}),getDisclosureProps:(w={})=>({...w,hidden:!d,id:h})}}var P8=Qe(function(t,n){const{htmlSize:r,...i}=t,o=Xi("Input",i),a=hr(i),s=h8(a),l=xt("chakra-input",t.className);return g.jsx($e.input,{size:r,...s,__css:o.field,ref:n,className:l})});P8.displayName="Input";P8.id="Input";var[xve,tH]=Pn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),T8=Qe(function(t,n){const r=Xi("List",t),{children:i,styleType:o="none",stylePosition:a,spacing:s,...l}=hr(t),u=f8(i),h=s?{["& > *:not(style) ~ *:not(style)"]:{mt:s}}:{};return g.jsx(xve,{value:r,children:g.jsx($e.ul,{ref:n,listStyleType:o,listStylePosition:a,role:"list",__css:{...r.container,...h},...l,children:u})})});T8.displayName="List";var Sve=Qe((e,t)=>{const{as:n,...r}=e;return g.jsx(T8,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});Sve.displayName="OrderedList";var nH=Qe(function(t,n){const{as:r,...i}=t;return g.jsx(T8,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...i})});nH.displayName="UnorderedList";var f1=Qe(function(t,n){const r=tH();return g.jsx($e.li,{ref:n,...t,__css:r.item})});f1.displayName="ListItem";var wve=Qe(function(t,n){const r=tH();return g.jsx(ja,{ref:n,role:"presentation",...t,__css:r.icon})});wve.displayName="ListIcon";function rH(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):Eo(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var iH=$e("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});iH.displayName="Spacer";var Rt=Qe(function(t,n){const r=au("Text",t),{className:i,align:o,decoration:a,casing:s,...l}=hr(t),u=jce({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return g.jsx($e.p,{ref:n,className:xt("chakra-text",t.className),...u,...l,__css:r})});Rt.displayName="Text";var oH=e=>g.jsx($e.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});oH.displayName="StackItem";var X_="& > *:not(style) ~ *:not(style)";function Cve(e){const{spacing:t,direction:n}=e,r={column:{marginTop:t,marginEnd:0,marginBottom:0,marginStart:0},row:{marginTop:0,marginEnd:0,marginBottom:0,marginStart:t},"column-reverse":{marginTop:0,marginEnd:0,marginBottom:t,marginStart:0},"row-reverse":{marginTop:0,marginEnd:t,marginBottom:0,marginStart:0}};return{flexDirection:n,[X_]:rH(n,i=>r[i])}}function _ve(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{"&":rH(n,i=>r[i])}}var M8=Qe((e,t)=>{const{isInline:n,direction:r,align:i,justify:o,spacing:a="0.5rem",wrap:s,children:l,divider:u,className:d,shouldWrapChildren:h,...m}=e,y=n?"row":r??"column",b=S.useMemo(()=>Cve({direction:y,spacing:a}),[y,a]),w=S.useMemo(()=>_ve({spacing:a,direction:y}),[a,y]),E=!!u,_=!h&&!E,k=S.useMemo(()=>{const L=f8(l);return _?L:L.map((O,D)=>{const I=typeof O.key<"u"?O.key:D,N=D+1===L.length,B=h?g.jsx(oH,{children:O},I):O;if(!E)return B;const K=S.cloneElement(u,{__css:w}),ne=N?null:K;return g.jsxs(S.Fragment,{children:[B,ne]},I)})},[u,w,E,_,h,l]),T=xt("chakra-stack",d);return g.jsx($e.div,{ref:t,display:"flex",alignItems:i,justifyContent:o,flexDirection:b.flexDirection,flexWrap:s,className:T,__css:E?{}:{[X_]:b[X_]},...m,children:k})});M8.displayName="Stack";var hn=Qe((e,t)=>g.jsx(M8,{align:"center",...e,direction:"column",ref:t}));hn.displayName="VStack";var l2=Qe((e,t)=>g.jsx(M8,{align:"center",...e,direction:"row",ref:t}));l2.displayName="HStack";var jh=Qe(function(t,n){const r=au("Heading",t),{className:i,...o}=hr(t);return g.jsx($e.h2,{ref:n,className:xt("chakra-heading",t.className),...o,__css:r})});jh.displayName="Heading";var qi=$e("div");qi.displayName="Box";var aH=Qe(function(t,n){const{size:r,centerContent:i=!0,...o}=t,a=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return g.jsx(qi,{ref:n,boxSize:r,__css:{...a,flexShrink:0,flexGrow:0},...o})});aH.displayName="Square";var kve=Qe(function(t,n){const{size:r,...i}=t;return g.jsx(aH,{size:r,ref:n,borderRadius:"9999px",...i})});kve.displayName="Circle";var Nh=Qe(function(t,n){const r=au("Link",t),{className:i,isExternal:o,...a}=hr(t);return g.jsx($e.a,{target:o?"_blank":void 0,rel:o?"noopener":void 0,ref:n,className:xt("chakra-link",i),...a,__css:r})});Nh.displayName="Link";var sH=$e("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center"}});sH.displayName="Center";var Eve={horizontal:{insetStart:"50%",transform:"translateX(-50%)"},vertical:{top:"50%",transform:"translateY(-50%)"},both:{insetStart:"50%",top:"50%",transform:"translate(-50%, -50%)"}};Qe(function(t,n){const{axis:r="both",...i}=t;return g.jsx($e.div,{ref:n,__css:Eve[r],...i,position:"absolute"})});var Ee=Qe(function(t,n){const{direction:r,align:i,justify:o,wrap:a,basis:s,grow:l,shrink:u,...d}=t,h={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:a,flexBasis:s,flexGrow:l,flexShrink:u};return g.jsx($e.div,{ref:n,__css:h,...d})});Ee.displayName="Flex";function Pve(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function Tve(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,i]=S.useState([]),o=S.useRef(),a=()=>{o.current&&(clearTimeout(o.current),o.current=null)},s=()=>{a(),o.current=setTimeout(()=>{i([]),o.current=null},t)};S.useEffect(()=>a,[]);function l(u){return d=>{if(d.key==="Backspace"){const h=[...r];h.pop(),i(h);return}if(Pve(d)){const h=r.concat(d.key);n(d)&&(d.preventDefault(),d.stopPropagation()),i(h),u(h.join("")),s()}}}return l}function Mve(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const i=e.filter(o=>n(o).toLowerCase().startsWith(t.toLowerCase()));if(i.length>0){let o;return i.includes(r)?(o=i.indexOf(r)+1,o===i.length&&(o=0),i[o]):(o=e.indexOf(i[0]),e[o])}return r}function Lve(){const e=S.useRef(new Map),t=e.current,n=S.useCallback((i,o,a,s)=>{e.current.set(a,{type:o,el:i,options:s}),i.addEventListener(o,a,s)},[]),r=S.useCallback((i,o,a,s)=>{i.removeEventListener(o,a,s),e.current.delete(a)},[]);return S.useEffect(()=>()=>{t.forEach((i,o)=>{r(i.el,i.type,o,i.options)})},[r,t]),{add:n,remove:r}}function pC(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function lH(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:i=!0,clickOnSpace:o=!0,onMouseDown:a,onMouseUp:s,onClick:l,onKeyDown:u,onKeyUp:d,tabIndex:h,onMouseOver:m,onMouseLeave:y,...b}=e,[w,E]=S.useState(!0),[_,k]=S.useState(!1),T=Lve(),L=Q=>{Q&&Q.tagName!=="BUTTON"&&E(!1)},O=w?h:h||0,D=n&&!r,I=S.useCallback(Q=>{if(n){Q.stopPropagation(),Q.preventDefault();return}Q.currentTarget.focus(),l==null||l(Q)},[n,l]),N=S.useCallback(Q=>{_&&pC(Q)&&(Q.preventDefault(),Q.stopPropagation(),k(!1),T.remove(document,"keyup",N,!1))},[_,T]),W=S.useCallback(Q=>{if(u==null||u(Q),n||Q.defaultPrevented||Q.metaKey||!pC(Q.nativeEvent)||w)return;const G=i&&Q.key==="Enter";o&&Q.key===" "&&(Q.preventDefault(),k(!0)),G&&(Q.preventDefault(),Q.currentTarget.click()),T.add(document,"keyup",N,!1)},[n,w,u,i,o,T,N]),B=S.useCallback(Q=>{if(d==null||d(Q),n||Q.defaultPrevented||Q.metaKey||!pC(Q.nativeEvent)||w)return;o&&Q.key===" "&&(Q.preventDefault(),k(!1),Q.currentTarget.click())},[o,w,n,d]),K=S.useCallback(Q=>{Q.button===0&&(k(!1),T.remove(document,"mouseup",K,!1))},[T]),ne=S.useCallback(Q=>{if(Q.button!==0)return;if(n){Q.stopPropagation(),Q.preventDefault();return}w||k(!0),Q.currentTarget.focus({preventScroll:!0}),T.add(document,"mouseup",K,!1),a==null||a(Q)},[n,w,a,T,K]),z=S.useCallback(Q=>{Q.button===0&&(w||k(!1),s==null||s(Q))},[s,w]),$=S.useCallback(Q=>{if(n){Q.preventDefault();return}m==null||m(Q)},[n,m]),V=S.useCallback(Q=>{_&&(Q.preventDefault(),k(!1)),y==null||y(Q)},[_,y]),X=Rn(t,L);return w?{...b,ref:X,type:"button","aria-disabled":D?void 0:n,disabled:D,onClick:I,onMouseDown:a,onMouseUp:s,onKeyUp:d,onKeyDown:u,onMouseOver:m,onMouseLeave:y}:{...b,ref:X,role:"button","data-active":Bt(_),"aria-disabled":n?"true":void 0,tabIndex:D?void 0:O,onClick:I,onMouseDown:ne,onMouseUp:z,onKeyUp:B,onKeyDown:W,onMouseOver:$,onMouseLeave:V}}function Ave(e){const t=e.current;if(!t)return!1;const n=lve(t);return!n||t.contains(n)?!1:!!fve(n)}function uH(e,t){const{shouldFocus:n,visible:r,focusRef:i}=t,o=n&&!r;rc(()=>{if(!o||Ave(e))return;const a=(i==null?void 0:i.current)||e.current;a&&requestAnimationFrame(()=>{a.focus()})},[o,e,i])}var Ove={preventScroll:!0,shouldFocus:!1};function Rve(e,t=Ove){const{focusRef:n,preventScroll:r,shouldFocus:i,visible:o}=t,a=Ive(e)?e.current:e,s=i&&o,l=S.useRef(s),u=S.useRef(o);Vl(()=>{!u.current&&o&&(l.current=s),u.current=o},[o,s]);const d=S.useCallback(()=>{if(!(!o||!a||!l.current)&&(l.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var h;(h=n.current)==null||h.focus({preventScroll:r})});else{const h=Jz(a);h.length>0&&requestAnimationFrame(()=>{h[0].focus({preventScroll:r})})}},[o,r,a,n]);rc(()=>{d()},[d]),Dh(a,"transitionend",d)}function Ive(e){return"current"in e}var Sg=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),ii={arrowShadowColor:Sg("--popper-arrow-shadow-color"),arrowSize:Sg("--popper-arrow-size","8px"),arrowSizeHalf:Sg("--popper-arrow-size-half"),arrowBg:Sg("--popper-arrow-bg"),transformOrigin:Sg("--popper-transform-origin"),arrowOffset:Sg("--popper-arrow-offset")};function Dve(e){if(e.includes("top"))return"1px 1px 1px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 1px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 1px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 1px 0 var(--popper-arrow-shadow-color)"}var jve={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"},Nve=e=>jve[e],rO={scroll:!0,resize:!0};function $ve(e){let t;return typeof e=="object"?t={enabled:!0,options:{...rO,...e}}:t={enabled:e,options:rO},t}var Fve={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`}},Bve={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{iO(e)},effect:({state:e})=>()=>{iO(e)}},iO=e=>{e.elements.popper.style.setProperty(ii.transformOrigin.var,Nve(e.placement))},zve={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{Hve(e)}},Hve=e=>{var t;if(!e.placement)return;const n=Wve(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:ii.arrowSize.varRef,height:ii.arrowSize.varRef,zIndex:-1});const r={[ii.arrowSizeHalf.var]:`calc(${ii.arrowSize.varRef} / 2)`,[ii.arrowOffset.var]:`calc(${ii.arrowSizeHalf.varRef} * -1)`};for(const i in r)e.elements.arrow.style.setProperty(i,r[i])}},Wve=e=>{if(e.startsWith("top"))return{property:"bottom",value:ii.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:ii.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:ii.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:ii.arrowOffset.varRef}},Uve={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{oO(e)},effect:({state:e})=>()=>{oO(e)}},oO=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=Dve(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:ii.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},Vve={"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"}},Gve={"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 qve(e,t="ltr"){var n,r;const i=((n=Vve[e])==null?void 0:n[t])||e;return t==="ltr"?i:(r=Gve[e])!=null?r:i}var Zo="top",us="bottom",cs="right",Qo="left",L8="auto",u2=[Zo,us,cs,Qo],qm="start",Ly="end",Kve="clippingParents",cH="viewport",Uv="popper",Yve="reference",aO=u2.reduce(function(e,t){return e.concat([t+"-"+qm,t+"-"+Ly])},[]),dH=[].concat(u2,[L8]).reduce(function(e,t){return e.concat([t,t+"-"+qm,t+"-"+Ly])},[]),Xve="beforeRead",Zve="read",Qve="afterRead",Jve="beforeMain",e1e="main",t1e="afterMain",n1e="beforeWrite",r1e="write",i1e="afterWrite",o1e=[Xve,Zve,Qve,Jve,e1e,t1e,n1e,r1e,i1e];function nu(e){return e?(e.nodeName||"").toLowerCase():null}function hs(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Kh(e){var t=hs(e).Element;return e instanceof t||e instanceof Element}function is(e){var t=hs(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function A8(e){if(typeof ShadowRoot>"u")return!1;var t=hs(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function a1e(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];!is(o)||!nu(o)||(Object.assign(o.style,r),Object.keys(i).forEach(function(a){var s=i[a];s===!1?o.removeAttribute(a):o.setAttribute(a,s===!0?"":s)}))})}function s1e(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]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),s=a.reduce(function(l,u){return l[u]="",l},{});!is(i)||!nu(i)||(Object.assign(i.style,s),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const l1e={name:"applyStyles",enabled:!0,phase:"write",fn:a1e,effect:s1e,requires:["computeStyles"]};function Zl(e){return e.split("-")[0]}var $h=Math.max,d3=Math.min,Km=Math.round;function Z_(){var e=navigator.userAgentData;return e!=null&&e.brands?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function fH(){return!/^((?!chrome|android).)*safari/i.test(Z_())}function Ym(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,o=1;t&&is(e)&&(i=e.offsetWidth>0&&Km(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Km(r.height)/e.offsetHeight||1);var a=Kh(e)?hs(e):window,s=a.visualViewport,l=!fH()&&n,u=(r.left+(l&&s?s.offsetLeft:0))/i,d=(r.top+(l&&s?s.offsetTop:0))/o,h=r.width/i,m=r.height/o;return{width:h,height:m,top:d,right:u+h,bottom:d+m,left:u,x:u,y:d}}function O8(e){var t=Ym(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 hH(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&A8(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function ic(e){return hs(e).getComputedStyle(e)}function u1e(e){return["table","td","th"].indexOf(nu(e))>=0}function lf(e){return((Kh(e)?e.ownerDocument:e.document)||window.document).documentElement}function Fw(e){return nu(e)==="html"?e:e.assignedSlot||e.parentNode||(A8(e)?e.host:null)||lf(e)}function sO(e){return!is(e)||ic(e).position==="fixed"?null:e.offsetParent}function c1e(e){var t=/firefox/i.test(Z_()),n=/Trident/i.test(Z_());if(n&&is(e)){var r=ic(e);if(r.position==="fixed")return null}var i=Fw(e);for(A8(i)&&(i=i.host);is(i)&&["html","body"].indexOf(nu(i))<0;){var o=ic(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 c2(e){for(var t=hs(e),n=sO(e);n&&u1e(n)&&ic(n).position==="static";)n=sO(n);return n&&(nu(n)==="html"||nu(n)==="body"&&ic(n).position==="static")?t:n||c1e(e)||t}function R8(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function W1(e,t,n){return $h(e,d3(t,n))}function d1e(e,t,n){var r=W1(e,t,n);return r>n?n:r}function pH(){return{top:0,right:0,bottom:0,left:0}}function gH(e){return Object.assign({},pH(),e)}function mH(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var f1e=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,gH(typeof t!="number"?t:mH(t,u2))};function h1e(e){var t,n=e.state,r=e.name,i=e.options,o=n.elements.arrow,a=n.modifiersData.popperOffsets,s=Zl(n.placement),l=R8(s),u=[Qo,cs].indexOf(s)>=0,d=u?"height":"width";if(!(!o||!a)){var h=f1e(i.padding,n),m=O8(o),y=l==="y"?Zo:Qo,b=l==="y"?us:cs,w=n.rects.reference[d]+n.rects.reference[l]-a[l]-n.rects.popper[d],E=a[l]-n.rects.reference[l],_=c2(o),k=_?l==="y"?_.clientHeight||0:_.clientWidth||0:0,T=w/2-E/2,L=h[y],O=k-m[d]-h[b],D=k/2-m[d]/2+T,I=W1(L,D,O),N=l;n.modifiersData[r]=(t={},t[N]=I,t.centerOffset=I-D,t)}}function p1e(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)||hH(t.elements.popper,i)&&(t.elements.arrow=i))}const g1e={name:"arrow",enabled:!0,phase:"main",fn:h1e,effect:p1e,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Xm(e){return e.split("-")[1]}var m1e={top:"auto",right:"auto",bottom:"auto",left:"auto"};function v1e(e){var t=e.x,n=e.y,r=window,i=r.devicePixelRatio||1;return{x:Km(t*i)/i||0,y:Km(n*i)/i||0}}function lO(e){var t,n=e.popper,r=e.popperRect,i=e.placement,o=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,u=e.adaptive,d=e.roundOffsets,h=e.isFixed,m=a.x,y=m===void 0?0:m,b=a.y,w=b===void 0?0:b,E=typeof d=="function"?d({x:y,y:w}):{x:y,y:w};y=E.x,w=E.y;var _=a.hasOwnProperty("x"),k=a.hasOwnProperty("y"),T=Qo,L=Zo,O=window;if(u){var D=c2(n),I="clientHeight",N="clientWidth";if(D===hs(n)&&(D=lf(n),ic(D).position!=="static"&&s==="absolute"&&(I="scrollHeight",N="scrollWidth")),D=D,i===Zo||(i===Qo||i===cs)&&o===Ly){L=us;var W=h&&D===O&&O.visualViewport?O.visualViewport.height:D[I];w-=W-r.height,w*=l?1:-1}if(i===Qo||(i===Zo||i===us)&&o===Ly){T=cs;var B=h&&D===O&&O.visualViewport?O.visualViewport.width:D[N];y-=B-r.width,y*=l?1:-1}}var K=Object.assign({position:s},u&&m1e),ne=d===!0?v1e({x:y,y:w}):{x:y,y:w};if(y=ne.x,w=ne.y,l){var z;return Object.assign({},K,(z={},z[L]=k?"0":"",z[T]=_?"0":"",z.transform=(O.devicePixelRatio||1)<=1?"translate("+y+"px, "+w+"px)":"translate3d("+y+"px, "+w+"px, 0)",z))}return Object.assign({},K,(t={},t[L]=k?w+"px":"",t[T]=_?y+"px":"",t.transform="",t))}function y1e(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,o=n.adaptive,a=o===void 0?!0:o,s=n.roundOffsets,l=s===void 0?!0:s,u={placement:Zl(t.placement),variation:Xm(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,lO(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,lO(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 b1e={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:y1e,data:{}};var Vb={passive:!0};function x1e(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,o=i===void 0?!0:i,a=r.resize,s=a===void 0?!0:a,l=hs(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&u.forEach(function(d){d.addEventListener("scroll",n.update,Vb)}),s&&l.addEventListener("resize",n.update,Vb),function(){o&&u.forEach(function(d){d.removeEventListener("scroll",n.update,Vb)}),s&&l.removeEventListener("resize",n.update,Vb)}}const S1e={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:x1e,data:{}};var w1e={left:"right",right:"left",bottom:"top",top:"bottom"};function Jx(e){return e.replace(/left|right|bottom|top/g,function(t){return w1e[t]})}var C1e={start:"end",end:"start"};function uO(e){return e.replace(/start|end/g,function(t){return C1e[t]})}function I8(e){var t=hs(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function D8(e){return Ym(lf(e)).left+I8(e).scrollLeft}function _1e(e,t){var n=hs(e),r=lf(e),i=n.visualViewport,o=r.clientWidth,a=r.clientHeight,s=0,l=0;if(i){o=i.width,a=i.height;var u=fH();(u||!u&&t==="fixed")&&(s=i.offsetLeft,l=i.offsetTop)}return{width:o,height:a,x:s+D8(e),y:l}}function k1e(e){var t,n=lf(e),r=I8(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=$h(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=$h(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),s=-r.scrollLeft+D8(e),l=-r.scrollTop;return ic(i||n).direction==="rtl"&&(s+=$h(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:a,x:s,y:l}}function j8(e){var t=ic(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function vH(e){return["html","body","#document"].indexOf(nu(e))>=0?e.ownerDocument.body:is(e)&&j8(e)?e:vH(Fw(e))}function U1(e,t){var n;t===void 0&&(t=[]);var r=vH(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=hs(r),a=i?[o].concat(o.visualViewport||[],j8(r)?r:[]):r,s=t.concat(a);return i?s:s.concat(U1(Fw(a)))}function Q_(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function E1e(e,t){var n=Ym(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 cO(e,t,n){return t===cH?Q_(_1e(e,n)):Kh(t)?E1e(t,n):Q_(k1e(lf(e)))}function P1e(e){var t=U1(Fw(e)),n=["absolute","fixed"].indexOf(ic(e).position)>=0,r=n&&is(e)?c2(e):e;return Kh(r)?t.filter(function(i){return Kh(i)&&hH(i,r)&&nu(i)!=="body"}):[]}function T1e(e,t,n,r){var i=t==="clippingParents"?P1e(e):[].concat(t),o=[].concat(i,[n]),a=o[0],s=o.reduce(function(l,u){var d=cO(e,u,r);return l.top=$h(d.top,l.top),l.right=d3(d.right,l.right),l.bottom=d3(d.bottom,l.bottom),l.left=$h(d.left,l.left),l},cO(e,a,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function yH(e){var t=e.reference,n=e.element,r=e.placement,i=r?Zl(r):null,o=r?Xm(r):null,a=t.x+t.width/2-n.width/2,s=t.y+t.height/2-n.height/2,l;switch(i){case Zo:l={x:a,y:t.y-n.height};break;case us:l={x:a,y:t.y+t.height};break;case cs:l={x:t.x+t.width,y:s};break;case Qo:l={x:t.x-n.width,y:s};break;default:l={x:t.x,y:t.y}}var u=i?R8(i):null;if(u!=null){var d=u==="y"?"height":"width";switch(o){case qm:l[u]=l[u]-(t[d]/2-n[d]/2);break;case Ly:l[u]=l[u]+(t[d]/2-n[d]/2);break}}return l}function Ay(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,o=n.strategy,a=o===void 0?e.strategy:o,s=n.boundary,l=s===void 0?Kve:s,u=n.rootBoundary,d=u===void 0?cH:u,h=n.elementContext,m=h===void 0?Uv:h,y=n.altBoundary,b=y===void 0?!1:y,w=n.padding,E=w===void 0?0:w,_=gH(typeof E!="number"?E:mH(E,u2)),k=m===Uv?Yve:Uv,T=e.rects.popper,L=e.elements[b?k:m],O=T1e(Kh(L)?L:L.contextElement||lf(e.elements.popper),l,d,a),D=Ym(e.elements.reference),I=yH({reference:D,element:T,strategy:"absolute",placement:i}),N=Q_(Object.assign({},T,I)),W=m===Uv?N:D,B={top:O.top-W.top+_.top,bottom:W.bottom-O.bottom+_.bottom,left:O.left-W.left+_.left,right:W.right-O.right+_.right},K=e.modifiersData.offset;if(m===Uv&&K){var ne=K[i];Object.keys(B).forEach(function(z){var $=[cs,us].indexOf(z)>=0?1:-1,V=[Zo,us].indexOf(z)>=0?"y":"x";B[z]+=ne[V]*$})}return B}function M1e(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,o=n.rootBoundary,a=n.padding,s=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?dH:l,d=Xm(r),h=d?s?aO:aO.filter(function(b){return Xm(b)===d}):u2,m=h.filter(function(b){return u.indexOf(b)>=0});m.length===0&&(m=h);var y=m.reduce(function(b,w){return b[w]=Ay(e,{placement:w,boundary:i,rootBoundary:o,padding:a})[Zl(w)],b},{});return Object.keys(y).sort(function(b,w){return y[b]-y[w]})}function L1e(e){if(Zl(e)===L8)return[];var t=Jx(e);return[uO(e),t,uO(t)]}function A1e(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,a=n.altAxis,s=a===void 0?!0:a,l=n.fallbackPlacements,u=n.padding,d=n.boundary,h=n.rootBoundary,m=n.altBoundary,y=n.flipVariations,b=y===void 0?!0:y,w=n.allowedAutoPlacements,E=t.options.placement,_=Zl(E),k=_===E,T=l||(k||!b?[Jx(E)]:L1e(E)),L=[E].concat(T).reduce(function(xe,Le){return xe.concat(Zl(Le)===L8?M1e(t,{placement:Le,boundary:d,rootBoundary:h,padding:u,flipVariations:b,allowedAutoPlacements:w}):Le)},[]),O=t.rects.reference,D=t.rects.popper,I=new Map,N=!0,W=L[0],B=0;B=0,V=$?"width":"height",X=Ay(t,{placement:K,boundary:d,rootBoundary:h,altBoundary:m,padding:u}),Q=$?z?cs:Qo:z?us:Zo;O[V]>D[V]&&(Q=Jx(Q));var G=Jx(Q),Y=[];if(o&&Y.push(X[ne]<=0),s&&Y.push(X[Q]<=0,X[G]<=0),Y.every(function(xe){return xe})){W=K,N=!1;break}I.set(K,Y)}if(N)for(var ee=b?3:1,fe=function(Le){var je=L.find(function(Ze){var _e=I.get(Ze);if(_e)return _e.slice(0,Le).every(function(tt){return tt})});if(je)return W=je,"break"},Ce=ee;Ce>0;Ce--){var Se=fe(Ce);if(Se==="break")break}t.placement!==W&&(t.modifiersData[r]._skip=!0,t.placement=W,t.reset=!0)}}const O1e={name:"flip",enabled:!0,phase:"main",fn:A1e,requiresIfExists:["offset"],data:{_skip:!1}};function dO(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 fO(e){return[Zo,cs,us,Qo].some(function(t){return e[t]>=0})}function R1e(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,a=Ay(t,{elementContext:"reference"}),s=Ay(t,{altBoundary:!0}),l=dO(a,r),u=dO(s,i,o),d=fO(l),h=fO(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:d,hasPopperEscaped:h},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":h})}const I1e={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:R1e};function D1e(e,t,n){var r=Zl(e),i=[Qo,Zo].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=o[0],s=o[1];return a=a||0,s=(s||0)*i,[Qo,cs].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}function j1e(e){var t=e.state,n=e.options,r=e.name,i=n.offset,o=i===void 0?[0,0]:i,a=dH.reduce(function(d,h){return d[h]=D1e(h,t.rects,o),d},{}),s=a[t.placement],l=s.x,u=s.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=a}const N1e={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:j1e};function $1e(e){var t=e.state,n=e.name;t.modifiersData[n]=yH({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const F1e={name:"popperOffsets",enabled:!0,phase:"read",fn:$1e,data:{}};function B1e(e){return e==="x"?"y":"x"}function z1e(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,o=i===void 0?!0:i,a=n.altAxis,s=a===void 0?!1:a,l=n.boundary,u=n.rootBoundary,d=n.altBoundary,h=n.padding,m=n.tether,y=m===void 0?!0:m,b=n.tetherOffset,w=b===void 0?0:b,E=Ay(t,{boundary:l,rootBoundary:u,padding:h,altBoundary:d}),_=Zl(t.placement),k=Xm(t.placement),T=!k,L=R8(_),O=B1e(L),D=t.modifiersData.popperOffsets,I=t.rects.reference,N=t.rects.popper,W=typeof w=="function"?w(Object.assign({},t.rects,{placement:t.placement})):w,B=typeof W=="number"?{mainAxis:W,altAxis:W}:Object.assign({mainAxis:0,altAxis:0},W),K=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,ne={x:0,y:0};if(D){if(o){var z,$=L==="y"?Zo:Qo,V=L==="y"?us:cs,X=L==="y"?"height":"width",Q=D[L],G=Q+E[$],Y=Q-E[V],ee=y?-N[X]/2:0,fe=k===qm?I[X]:N[X],Ce=k===qm?-N[X]:-I[X],Se=t.elements.arrow,xe=y&&Se?O8(Se):{width:0,height:0},Le=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:pH(),je=Le[$],Ze=Le[V],_e=W1(0,I[X],xe[X]),tt=T?I[X]/2-ee-_e-je-B.mainAxis:fe-_e-je-B.mainAxis,yt=T?-I[X]/2+ee+_e+Ze+B.mainAxis:Ce+_e+Ze+B.mainAxis,ze=t.elements.arrow&&c2(t.elements.arrow),Ae=ze?L==="y"?ze.clientTop||0:ze.clientLeft||0:0,bt=(z=K==null?void 0:K[L])!=null?z:0,Be=Q+tt-bt-Ae,at=Q+yt-bt,jt=W1(y?d3(G,Be):G,Q,y?$h(Y,at):Y);D[L]=jt,ne[L]=jt-Q}if(s){var mt,Zt=L==="x"?Zo:Qo,on=L==="x"?us:cs,le=D[O],De=O==="y"?"height":"width",We=le+E[Zt],Ve=le-E[on],ye=[Zo,Qo].indexOf(_)!==-1,Ne=(mt=K==null?void 0:K[O])!=null?mt:0,vt=ye?We:le-I[De]-N[De]-Ne+B.altAxis,Mt=ye?le+I[De]+N[De]-Ne-B.altAxis:Ve,Me=y&&ye?d1e(vt,le,Mt):W1(y?vt:We,le,y?Mt:Ve);D[O]=Me,ne[O]=Me-le}t.modifiersData[r]=ne}}const H1e={name:"preventOverflow",enabled:!0,phase:"main",fn:z1e,requiresIfExists:["offset"]};function W1e(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function U1e(e){return e===hs(e)||!is(e)?I8(e):W1e(e)}function V1e(e){var t=e.getBoundingClientRect(),n=Km(t.width)/e.offsetWidth||1,r=Km(t.height)/e.offsetHeight||1;return n!==1||r!==1}function G1e(e,t,n){n===void 0&&(n=!1);var r=is(t),i=is(t)&&V1e(t),o=lf(t),a=Ym(e,i,n),s={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((nu(t)!=="body"||j8(o))&&(s=U1e(t)),is(t)?(l=Ym(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=D8(o))),{x:a.left+s.scrollLeft-l.x,y:a.top+s.scrollTop-l.y,width:a.width,height:a.height}}function q1e(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 a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(s){if(!n.has(s)){var l=t.get(s);l&&i(l)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||i(o)}),r}function K1e(e){var t=q1e(e);return o1e.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function Y1e(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function X1e(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 hO={placement:"bottom",modifiers:[],strategy:"absolute"};function pO(){for(var e=arguments.length,t=new Array(e),n=0;n{}),T=S.useCallback(()=>{var B;!t||!b.current||!w.current||((B=k.current)==null||B.call(k),E.current=J1e(b.current,w.current,{placement:_,modifiers:[Uve,zve,Bve,{...Fve,enabled:!!m},{name:"eventListeners",...$ve(a)},{name:"arrow",options:{padding:o}},{name:"offset",options:{offset:s??[0,l]}},{name:"flip",enabled:!!u,options:{padding:8}},{name:"preventOverflow",enabled:!!h,options:{boundary:d}},...n??[]],strategy:i}),E.current.forceUpdate(),k.current=E.current.destroy)},[_,t,n,m,a,o,s,l,u,h,d,i]);S.useEffect(()=>()=>{var B;!b.current&&!w.current&&((B=E.current)==null||B.destroy(),E.current=null)},[]);const L=S.useCallback(B=>{b.current=B,T()},[T]),O=S.useCallback((B={},K=null)=>({...B,ref:Rn(L,K)}),[L]),D=S.useCallback(B=>{w.current=B,T()},[T]),I=S.useCallback((B={},K=null)=>({...B,ref:Rn(D,K),style:{...B.style,position:i,minWidth:m?void 0:"max-content",inset:"0 auto auto 0"}}),[i,D,m]),N=S.useCallback((B={},K=null)=>{const{size:ne,shadowColor:z,bg:$,style:V,...X}=B;return{...X,ref:K,"data-popper-arrow":"",style:eye(B)}},[]),W=S.useCallback((B={},K=null)=>({...B,ref:K,"data-popper-arrow-inner":""}),[]);return{update(){var B;(B=E.current)==null||B.update()},forceUpdate(){var B;(B=E.current)==null||B.forceUpdate()},transformOrigin:ii.transformOrigin.varRef,referenceRef:L,popperRef:D,getPopperProps:I,getArrowProps:N,getArrowInnerProps:W,getReferenceProps:O}}function eye(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 $8(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=Qr(n),a=Qr(t),[s,l]=S.useState(e.defaultIsOpen||!1),u=r!==void 0?r:s,d=r!==void 0,h=S.useId(),m=i??`disclosure-${h}`,y=S.useCallback(()=>{d||l(!1),a==null||a()},[d,a]),b=S.useCallback(()=>{d||l(!0),o==null||o()},[d,o]),w=S.useCallback(()=>{u?y():b()},[u,b,y]);function E(k={}){return{...k,"aria-expanded":u,"aria-controls":m,onClick(T){var L;(L=k.onClick)==null||L.call(k,T),w()}}}function _(k={}){return{...k,hidden:!u,id:m}}return{isOpen:u,onOpen:b,onClose:y,onToggle:w,isControlled:d,getButtonProps:E,getDisclosureProps:_}}function tye(e){const{ref:t,handler:n,enabled:r=!0}=e,i=Qr(n),a=S.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;S.useEffect(()=>{if(!r)return;const s=h=>{gC(h,t)&&(a.isPointerDown=!0)},l=h=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&gC(h,t)&&(a.isPointerDown=!1,i(h))},u=h=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&gC(h,t)&&(a.isPointerDown=!1,i(h))},d=bH(t.current);return d.addEventListener("mousedown",s,!0),d.addEventListener("mouseup",l,!0),d.addEventListener("touchstart",s,!0),d.addEventListener("touchend",u,!0),()=>{d.removeEventListener("mousedown",s,!0),d.removeEventListener("mouseup",l,!0),d.removeEventListener("touchstart",s,!0),d.removeEventListener("touchend",u,!0)}},[n,t,i,a,r])}function gC(e,t){var n;const r=e.target;return e.button>0||r&&!bH(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function bH(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function xH(e){const{isOpen:t,ref:n}=e,[r,i]=S.useState(t),[o,a]=S.useState(!1);return S.useEffect(()=>{o||(i(t),a(!0))},[t,o,r]),Dh(()=>n.current,"animationend",()=>{i(t)}),{present:!(t?!1:!r),onComplete(){var l;const u=sve(n.current),d=new u.CustomEvent("animationend",{bubbles:!0});(l=n.current)==null||l.dispatchEvent(d)}}}function F8(e){const{wasSelected:t,enabled:n,isSelected:r,mode:i="unmount"}=e;return!!(!n||r||i==="keepMounted"&&t)}var[nye,rye,iye,oye]=s8(),[aye,d2]=Pn({strict:!1,name:"MenuContext"});function sye(e,...t){const n=S.useId(),r=e||n;return S.useMemo(()=>t.map(i=>`${i}-${r}`),[r,t])}function SH(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function gO(e){return SH(e).activeElement===e}function lye(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:i,autoSelect:o=!0,isLazy:a,isOpen:s,defaultIsOpen:l,onClose:u,onOpen:d,placement:h="bottom-start",lazyBehavior:m="unmount",direction:y,computePositionOnMount:b=!1,...w}=e,E=S.useRef(null),_=S.useRef(null),k=iye(),T=S.useCallback(()=>{requestAnimationFrame(()=>{var Se;(Se=E.current)==null||Se.focus({preventScroll:!1})})},[]),L=S.useCallback(()=>{const Se=setTimeout(()=>{var xe;if(i)(xe=i.current)==null||xe.focus();else{const Le=k.firstEnabled();Le&&z(Le.index)}});G.current.add(Se)},[k,i]),O=S.useCallback(()=>{const Se=setTimeout(()=>{const xe=k.lastEnabled();xe&&z(xe.index)});G.current.add(Se)},[k]),D=S.useCallback(()=>{d==null||d(),o?L():T()},[o,L,T,d]),{isOpen:I,onOpen:N,onClose:W,onToggle:B}=$8({isOpen:s,defaultIsOpen:l,onClose:u,onOpen:D});tye({enabled:I&&r,ref:E,handler:Se=>{var xe;(xe=_.current)!=null&&xe.contains(Se.target)||W()}});const K=N8({...w,enabled:I||b,placement:h,direction:y}),[ne,z]=S.useState(-1);rc(()=>{I||z(-1)},[I]),uH(E,{focusRef:_,visible:I,shouldFocus:!0});const $=xH({isOpen:I,ref:E}),[V,X]=sye(t,"menu-button","menu-list"),Q=S.useCallback(()=>{N(),T()},[N,T]),G=S.useRef(new Set([]));gye(()=>{G.current.forEach(Se=>clearTimeout(Se)),G.current.clear()});const Y=S.useCallback(()=>{N(),L()},[L,N]),ee=S.useCallback(()=>{N(),O()},[N,O]),fe=S.useCallback(()=>{var Se,xe;const Le=SH(E.current),je=(Se=E.current)==null?void 0:Se.contains(Le.activeElement);if(!(I&&!je))return;const _e=(xe=k.item(ne))==null?void 0:xe.node;_e==null||_e.focus()},[I,ne,k]),Ce=S.useRef(null);return{openAndFocusMenu:Q,openAndFocusFirstItem:Y,openAndFocusLastItem:ee,onTransitionEnd:fe,unstable__animationState:$,descendants:k,popper:K,buttonId:V,menuId:X,forceUpdate:K.forceUpdate,orientation:"vertical",isOpen:I,onToggle:B,onOpen:N,onClose:W,menuRef:E,buttonRef:_,focusedIndex:ne,closeOnSelect:n,closeOnBlur:r,autoSelect:o,setFocusedIndex:z,isLazy:a,lazyBehavior:m,initialFocusRef:i,rafId:Ce}}function uye(e={},t=null){const n=d2(),{onToggle:r,popper:i,openAndFocusFirstItem:o,openAndFocusLastItem:a}=n,s=S.useCallback(l=>{const u=l.key,h={Enter:o,ArrowDown:o,ArrowUp:a}[u];h&&(l.preventDefault(),l.stopPropagation(),h(l))},[o,a]);return{...e,ref:Rn(n.buttonRef,t,i.referenceRef),id:n.buttonId,"data-active":Bt(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:ht(e.onClick,r),onKeyDown:ht(e.onKeyDown,s)}}function J_(e){var t;return hye(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function cye(e={},t=null){const n=d2();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:i,menuRef:o,isOpen:a,onClose:s,menuId:l,isLazy:u,lazyBehavior:d,unstable__animationState:h}=n,m=rye(),y=Tve({preventDefault:_=>_.key!==" "&&J_(_.target)}),b=S.useCallback(_=>{const k=_.key,L={Tab:D=>D.preventDefault(),Escape:s,ArrowDown:()=>{const D=m.nextEnabled(r);D&&i(D.index)},ArrowUp:()=>{const D=m.prevEnabled(r);D&&i(D.index)}}[k];if(L){_.preventDefault(),L(_);return}const O=y(D=>{const I=Mve(m.values(),D,N=>{var W,B;return(B=(W=N==null?void 0:N.node)==null?void 0:W.textContent)!=null?B:""},m.item(r));if(I){const N=m.indexOf(I.node);i(N)}});J_(_.target)&&O(_)},[m,r,y,s,i]),w=S.useRef(!1);a&&(w.current=!0);const E=F8({wasSelected:w.current,enabled:u,mode:d,isSelected:h.present});return{...e,ref:Rn(o,t),children:E?e.children:null,tabIndex:-1,role:"menu",id:l,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:ht(e.onKeyDown,b)}}function dye(e={}){const{popper:t,isOpen:n}=d2();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function fye(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:i,onClick:o,onFocus:a,isDisabled:s,isFocusable:l,closeOnSelect:u,type:d,...h}=e,m=d2(),{setFocusedIndex:y,focusedIndex:b,closeOnSelect:w,onClose:E,menuRef:_,isOpen:k,menuId:T,rafId:L}=m,O=S.useRef(null),D=`${T}-menuitem-${S.useId()}`,{index:I,register:N}=oye({disabled:s&&!l}),W=S.useCallback(Q=>{n==null||n(Q),!s&&y(I)},[y,I,s,n]),B=S.useCallback(Q=>{r==null||r(Q),O.current&&!gO(O.current)&&W(Q)},[W,r]),K=S.useCallback(Q=>{i==null||i(Q),!s&&y(-1)},[y,s,i]),ne=S.useCallback(Q=>{o==null||o(Q),J_(Q.currentTarget)&&(u??w)&&E()},[E,o,w,u]),z=S.useCallback(Q=>{a==null||a(Q),y(I)},[y,a,I]),$=I===b,V=s&&!l;rc(()=>{k&&($&&!V&&O.current?(L.current&&cancelAnimationFrame(L.current),L.current=requestAnimationFrame(()=>{var Q;(Q=O.current)==null||Q.focus(),L.current=null})):_.current&&!gO(_.current)&&_.current.focus())},[$,V,_,k]);const X=lH({onClick:ne,onFocus:z,onMouseEnter:W,onMouseMove:B,onMouseLeave:K,ref:Rn(N,O,t),isDisabled:s,isFocusable:l});return{...h,...X,type:d??X.type,id:D,role:"menuitem",tabIndex:$?0:-1}}function hye(e){var t;if(!pye(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function pye(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function gye(e,t=[]){return S.useEffect(()=>()=>e(),t)}var[mye,Bw]=Pn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),wH=e=>{const{children:t}=e,n=Xi("Menu",e),r=hr(e),{direction:i}=Zy(),{descendants:o,...a}=lye({...r,direction:i}),s=S.useMemo(()=>a,[a]),{isOpen:l,onClose:u,forceUpdate:d}=s;return g.jsx(nye,{value:o,children:g.jsx(aye,{value:s,children:g.jsx(mye,{value:n,children:ts(t,{isOpen:l,onClose:u,forceUpdate:d})})})})};wH.displayName="Menu";var CH=Qe((e,t)=>{const n=Bw();return g.jsx($e.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});CH.displayName="MenuCommand";var vye=Qe((e,t)=>{const{type:n,...r}=e,i=Bw(),o=r.as||n?n??void 0:"button",a=S.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...i.item}),[i.item]);return g.jsx($e.button,{ref:t,type:o,...r,__css:a})}),_H=e=>{const{className:t,children:n,...r}=e,i=S.Children.only(n),o=S.isValidElement(i)?S.cloneElement(i,{focusable:"false","aria-hidden":!0,className:xt("chakra-menu__icon",i.props.className)}):null,a=xt("chakra-menu__icon-wrapper",t);return g.jsx($e.span,{className:a,...r,__css:{flexShrink:0},children:o})};_H.displayName="MenuIcon";var kH=Qe((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:i,commandSpacing:o="0.75rem",children:a,...s}=e,l=fye(s,t),d=n||i?g.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return g.jsxs(vye,{...l,className:xt("chakra-menu__menuitem",l.className),children:[n&&g.jsx(_H,{fontSize:"0.8em",marginEnd:r,children:n}),d,i&&g.jsx(CH,{marginStart:o,children:i})]})});kH.displayName="MenuItem";var yye={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"}}},bye=$e(su.div),EH=Qe(function(t,n){var r,i;const{rootProps:o,motionProps:a,...s}=t,{isOpen:l,onTransitionEnd:u,unstable__animationState:d}=d2(),h=cye(s,n),m=dye(o),y=Bw();return g.jsx($e.div,{...m,__css:{zIndex:(i=t.zIndex)!=null?i:(r=y.list)==null?void 0:r.zIndex},children:g.jsx(bye,{variants:yye,initial:!1,animate:l?"enter":"exit",__css:{outline:0,...y.list},...a,className:xt("chakra-menu__menu-list",h.className),...h,onUpdate:u,onAnimationComplete:ww(d.onComplete,h.onAnimationComplete)})})});EH.displayName="MenuList";var xye=Qe((e,t)=>{const n=Bw();return g.jsx($e.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),PH=Qe((e,t)=>{const{children:n,as:r,...i}=e,o=uye(i,t),a=r||xye;return g.jsx(a,{...o,className:xt("chakra-menu__menu-button",e.className),children:g.jsx($e.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});PH.displayName="MenuButton";var Sye={slideInBottom:{...z_,custom:{offsetY:16,reverse:!0}},slideInRight:{...z_,custom:{offsetX:16,reverse:!0}},scale:{...sz,custom:{initialScale:.95,reverse:!0}},none:{}},wye=$e(su.section),Cye=e=>Sye[e||"none"],TH=S.forwardRef((e,t)=>{const{preset:n,motionProps:r=Cye(n),...i}=e;return g.jsx(wye,{ref:t,...r,...i})});TH.displayName="ModalTransition";var _ye=Object.defineProperty,kye=(e,t,n)=>t in e?_ye(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Eye=(e,t,n)=>(kye(e,typeof t!="symbol"?t+"":t,n),n),Pye=class{constructor(){Eye(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}},ek=new Pye;function MH(e,t){const[n,r]=S.useState(0);return S.useEffect(()=>{const i=e.current;if(i){if(t){const o=ek.add(i);r(o)}return()=>{ek.remove(i),r(0)}}},[t,e]),n}var Tye=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},wg=new WeakMap,Gb=new WeakMap,qb={},mC=0,LH=function(e){return e&&(e.host||LH(e.parentNode))},Mye=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=LH(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return Boolean(n)})},Lye=function(e,t,n,r){var i=Mye(t,Array.isArray(e)?e:[e]);qb[n]||(qb[n]=new WeakMap);var o=qb[n],a=[],s=new Set,l=new Set(i),u=function(h){!h||s.has(h)||(s.add(h),u(h.parentNode))};i.forEach(u);var d=function(h){!h||l.has(h)||Array.prototype.forEach.call(h.children,function(m){if(s.has(m))d(m);else{var y=m.getAttribute(r),b=y!==null&&y!=="false",w=(wg.get(m)||0)+1,E=(o.get(m)||0)+1;wg.set(m,w),o.set(m,E),a.push(m),w===1&&b&&Gb.set(m,!0),E===1&&m.setAttribute(n,"true"),b||m.setAttribute(r,"true")}})};return d(t),s.clear(),mC++,function(){a.forEach(function(h){var m=wg.get(h)-1,y=o.get(h)-1;wg.set(h,m),o.set(h,y),m||(Gb.has(h)||h.removeAttribute(r),Gb.delete(h)),y||h.removeAttribute(n)}),mC--,mC||(wg=new WeakMap,wg=new WeakMap,Gb=new WeakMap,qb={})}},AH=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),i=t||Tye(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live]"))),Lye(r,i,n,"aria-hidden")):function(){return null}};function Aye(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:i=!0,closeOnEsc:o=!0,useInert:a=!0,onOverlayClick:s,onEsc:l}=e,u=S.useRef(null),d=S.useRef(null),[h,m,y]=Rye(r,"chakra-modal","chakra-modal--header","chakra-modal--body");Oye(u,t&&a),MH(u,t);const b=S.useRef(null),w=S.useCallback(N=>{b.current=N.target},[]),E=S.useCallback(N=>{N.key==="Escape"&&(N.stopPropagation(),o&&(n==null||n()),l==null||l())},[o,n,l]),[_,k]=S.useState(!1),[T,L]=S.useState(!1),O=S.useCallback((N={},W=null)=>({role:"dialog",...N,ref:Rn(W,u),id:h,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?m:void 0,"aria-describedby":T?y:void 0,onClick:ht(N.onClick,B=>B.stopPropagation())}),[y,T,h,m,_]),D=S.useCallback(N=>{N.stopPropagation(),b.current===N.target&&ek.isTopModal(u.current)&&(i&&(n==null||n()),s==null||s())},[n,i,s]),I=S.useCallback((N={},W=null)=>({...N,ref:Rn(W,d),onClick:ht(N.onClick,D),onKeyDown:ht(N.onKeyDown,E),onMouseDown:ht(N.onMouseDown,w)}),[E,w,D]);return{isOpen:t,onClose:n,headerId:m,bodyId:y,setBodyMounted:L,setHeaderMounted:k,dialogRef:u,overlayRef:d,getDialogProps:O,getDialogContainerProps:I}}function Oye(e,t){const n=e.current;S.useEffect(()=>{if(!(!e.current||!t))return AH(e.current)},[t,e,n])}function Rye(e,...t){const n=S.useId(),r=e||n;return S.useMemo(()=>t.map(i=>`${i}-${r}`),[r,t])}var[Iye,g0]=Pn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[Dye,Yh]=Pn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),Yd=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:i,trapFocus:o,initialFocusRef:a,finalFocusRef:s,returnFocusOnClose:l,blockScrollOnMount:u,allowPinchZoom:d,preserveScrollBarGap:h,motionPreset:m,lockFocusAcrossFrames:y,onCloseComplete:b}=t,w=Xi("Modal",t),_={...Aye(t),autoFocus:i,trapFocus:o,initialFocusRef:a,finalFocusRef:s,returnFocusOnClose:l,blockScrollOnMount:u,allowPinchZoom:d,preserveScrollBarGap:h,motionPreset:m,lockFocusAcrossFrames:y};return g.jsx(Dye,{value:_,children:g.jsx(Iye,{value:w,children:g.jsx(rp,{onExitComplete:b,children:_.isOpen&&g.jsx(c0,{...n,children:r})})})})};Yd.displayName="Modal";var eS="right-scroll-bar-position",tS="width-before-scroll-bar",jye="with-scroll-bars-hidden",Nye="--removed-body-scroll-bar-size",OH=Sz(),vC=function(){},zw=S.forwardRef(function(e,t){var n=S.useRef(null),r=S.useState({onScrollCapture:vC,onWheelCapture:vC,onTouchMoveCapture:vC}),i=r[0],o=r[1],a=e.forwardProps,s=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,h=e.shards,m=e.sideCar,y=e.noIsolation,b=e.inert,w=e.allowPinchZoom,E=e.as,_=E===void 0?"div":E,k=XB(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as"]),T=m,L=yz([n,t]),O=Nl(Nl({},k),i);return S.createElement(S.Fragment,null,d&&S.createElement(T,{sideCar:OH,removeScrollBar:u,shards:h,noIsolation:y,inert:b,setCallbacks:o,allowPinchZoom:!!w,lockRef:n}),a?S.cloneElement(S.Children.only(s),Nl(Nl({},O),{ref:L})):S.createElement(_,Nl({},O,{className:l,ref:L}),s))});zw.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};zw.classNames={fullWidth:tS,zeroRight:eS};var mO,$ye=function(){if(mO)return mO;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Fye(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=$ye();return t&&e.setAttribute("nonce",t),e}function Bye(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function zye(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Hye=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Fye())&&(Bye(t,n),zye(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Wye=function(){var e=Hye();return function(t,n){S.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},RH=function(){var e=Wye(),t=function(n){var r=n.styles,i=n.dynamic;return e(r,i),null};return t},Uye={left:0,top:0,right:0,gap:0},yC=function(e){return parseInt(e||"",10)||0},Vye=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],i=t[e==="padding"?"paddingRight":"marginRight"];return[yC(n),yC(r),yC(i)]},Gye=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Uye;var t=Vye(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])}},qye=RH(),Kye=function(e,t,n,r){var i=e.left,o=e.top,a=e.right,s=e.gap;return n===void 0&&(n="margin"),` + .`.concat(jye,` { + overflow: hidden `).concat(r,`; + padding-right: `).concat(s,"px ").concat(r,`; + } + body { + overflow: hidden `).concat(r,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` + padding-left: `.concat(i,`px; + padding-top: `).concat(o,`px; + padding-right: `).concat(a,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(s,"px ").concat(r,`; + `),n==="padding"&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),` + } + + .`).concat(eS,` { + right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(tS,` { + margin-right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(eS," .").concat(eS,` { + right: 0 `).concat(r,`; + } + + .`).concat(tS," .").concat(tS,` { + margin-right: 0 `).concat(r,`; + } + + body { + `).concat(Nye,": ").concat(s,`px; + } +`)},Yye=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?"margin":r,o=S.useMemo(function(){return Gye(i)},[i]);return S.createElement(qye,{styles:Kye(o,!t,i,n?"":"!important")})},tk=!1;if(typeof window<"u")try{var Kb=Object.defineProperty({},"passive",{get:function(){return tk=!0,!0}});window.addEventListener("test",Kb,Kb),window.removeEventListener("test",Kb,Kb)}catch{tk=!1}var Cg=tk?{passive:!1}:!1,Xye=function(e){return e.tagName==="TEXTAREA"},IH=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Xye(e)&&n[t]==="visible")},Zye=function(e){return IH(e,"overflowY")},Qye=function(e){return IH(e,"overflowX")},vO=function(e,t){var n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var r=DH(e,n);if(r){var i=jH(e,n),o=i[1],a=i[2];if(o>a)return!0}n=n.parentNode}while(n&&n!==document.body);return!1},Jye=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},e2e=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},DH=function(e,t){return e==="v"?Zye(t):Qye(t)},jH=function(e,t){return e==="v"?Jye(t):e2e(t)},t2e=function(e,t){return e==="h"&&t==="rtl"?-1:1},n2e=function(e,t,n,r,i){var o=t2e(e,window.getComputedStyle(t).direction),a=o*r,s=n.target,l=t.contains(s),u=!1,d=a>0,h=0,m=0;do{var y=jH(e,s),b=y[0],w=y[1],E=y[2],_=w-E-o*b;(b||_)&&DH(e,s)&&(h+=_,m+=b),s=s.parentNode}while(!l&&s!==document.body||l&&(t.contains(s)||t===s));return(d&&(i&&h===0||!i&&a>h)||!d&&(i&&m===0||!i&&-a>m))&&(u=!0),u},Yb=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},yO=function(e){return[e.deltaX,e.deltaY]},bO=function(e){return e&&"current"in e?e.current:e},r2e=function(e,t){return e[0]===t[0]&&e[1]===t[1]},i2e=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},o2e=0,_g=[];function a2e(e){var t=S.useRef([]),n=S.useRef([0,0]),r=S.useRef(),i=S.useState(o2e++)[0],o=S.useState(function(){return RH()})[0],a=S.useRef(e);S.useEffect(function(){a.current=e},[e]),S.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var w=F_([e.lockRef.current],(e.shards||[]).map(bO),!0).filter(Boolean);return w.forEach(function(E){return E.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),w.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var s=S.useCallback(function(w,E){if("touches"in w&&w.touches.length===2)return!a.current.allowPinchZoom;var _=Yb(w),k=n.current,T="deltaX"in w?w.deltaX:k[0]-_[0],L="deltaY"in w?w.deltaY:k[1]-_[1],O,D=w.target,I=Math.abs(T)>Math.abs(L)?"h":"v";if("touches"in w&&I==="h"&&D.type==="range")return!1;var N=vO(I,D);if(!N)return!0;if(N?O=I:(O=I==="v"?"h":"v",N=vO(I,D)),!N)return!1;if(!r.current&&"changedTouches"in w&&(T||L)&&(r.current=O),!O)return!0;var W=r.current||O;return n2e(W,E,w,W==="h"?T:L,!0)},[]),l=S.useCallback(function(w){var E=w;if(!(!_g.length||_g[_g.length-1]!==o)){var _="deltaY"in E?yO(E):Yb(E),k=t.current.filter(function(O){return O.name===E.type&&O.target===E.target&&r2e(O.delta,_)})[0];if(k&&k.should){E.cancelable&&E.preventDefault();return}if(!k){var T=(a.current.shards||[]).map(bO).filter(Boolean).filter(function(O){return O.contains(E.target)}),L=T.length>0?s(E,T[0]):!a.current.noIsolation;L&&E.cancelable&&E.preventDefault()}}},[]),u=S.useCallback(function(w,E,_,k){var T={name:w,delta:E,target:_,should:k};t.current.push(T),setTimeout(function(){t.current=t.current.filter(function(L){return L!==T})},1)},[]),d=S.useCallback(function(w){n.current=Yb(w),r.current=void 0},[]),h=S.useCallback(function(w){u(w.type,yO(w),w.target,s(w,e.lockRef.current))},[]),m=S.useCallback(function(w){u(w.type,Yb(w),w.target,s(w,e.lockRef.current))},[]);S.useEffect(function(){return _g.push(o),e.setCallbacks({onScrollCapture:h,onWheelCapture:h,onTouchMoveCapture:m}),document.addEventListener("wheel",l,Cg),document.addEventListener("touchmove",l,Cg),document.addEventListener("touchstart",d,Cg),function(){_g=_g.filter(function(w){return w!==o}),document.removeEventListener("wheel",l,Cg),document.removeEventListener("touchmove",l,Cg),document.removeEventListener("touchstart",d,Cg)}},[]);var y=e.removeScrollBar,b=e.inert;return S.createElement(S.Fragment,null,b?S.createElement(o,{styles:i2e(i)}):null,y?S.createElement(Yye,{gapMode:"margin"}):null)}const s2e=c0e(OH,a2e);var NH=S.forwardRef(function(e,t){return S.createElement(zw,Nl({},e,{ref:t,sideCar:s2e}))});NH.classNames=zw.classNames;const $H=NH;function l2e(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:i,blockScrollOnMount:o,allowPinchZoom:a,finalFocusRef:s,returnFocusOnClose:l,preserveScrollBarGap:u,lockFocusAcrossFrames:d,isOpen:h}=Yh(),[m,y]=IB();S.useEffect(()=>{!m&&y&&setTimeout(y)},[m,y]);const b=MH(r,h);return g.jsx(eH,{autoFocus:t,isDisabled:!n,initialFocusRef:i,finalFocusRef:s,restoreFocus:l,contentRef:r,lockFocusAcrossFrames:d,children:g.jsx($H,{removeScrollBar:!u,allowPinchZoom:a,enabled:b===1&&o,forwardProps:!0,children:e.children})})}var Xd=Qe((e,t)=>{const{className:n,children:r,containerProps:i,motionProps:o,...a}=e,{getDialogProps:s,getDialogContainerProps:l}=Yh(),u=s(a,t),d=l(i),h=xt("chakra-modal__content",n),m=g0(),y={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...m.dialog},b={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...m.dialogContainer},{motionPreset:w}=Yh();return g.jsx(l2e,{children:g.jsx($e.div,{...d,className:"chakra-modal__content-container",tabIndex:-1,__css:b,children:g.jsx(TH,{preset:w,motionProps:o,className:h,...u,__css:y,children:r})})})});Xd.displayName="ModalContent";function FH(e){const{leastDestructiveRef:t,...n}=e;return g.jsx(Yd,{...n,initialFocusRef:t})}var BH=Qe((e,t)=>g.jsx(Xd,{ref:t,role:"alertdialog",...e})),Hw=Qe((e,t)=>{const{className:n,...r}=e,i=xt("chakra-modal__footer",n),a={display:"flex",alignItems:"center",justifyContent:"flex-end",...g0().footer};return g.jsx($e.footer,{ref:t,...r,__css:a,className:i})});Hw.displayName="ModalFooter";var op=Qe((e,t)=>{const{className:n,...r}=e,{headerId:i,setHeaderMounted:o}=Yh();S.useEffect(()=>(o(!0),()=>o(!1)),[o]);const a=xt("chakra-modal__header",n),l={flex:0,...g0().header};return g.jsx($e.header,{ref:t,className:a,id:i,...r,__css:l})});op.displayName="ModalHeader";var u2e=$e(su.div),oc=Qe((e,t)=>{const{className:n,transition:r,motionProps:i,...o}=e,a=xt("chakra-modal__overlay",n),l={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...g0().overlay},{motionPreset:u}=Yh(),h=i||(u==="none"?{}:az);return g.jsx(u2e,{...h,__css:l,ref:t,className:a,...o})});oc.displayName="ModalOverlay";var Zm=Qe((e,t)=>{const{className:n,...r}=e,{bodyId:i,setBodyMounted:o}=Yh();S.useEffect(()=>(o(!0),()=>o(!1)),[o]);const a=xt("chakra-modal__body",n),s=g0();return g.jsx($e.div,{ref:t,className:a,id:i,...r,__css:s.body})});Zm.displayName="ModalBody";var m0=Qe((e,t)=>{const{onClick:n,className:r,...i}=e,{onClose:o}=Yh(),a=xt("chakra-modal__close-btn",r),s=g0();return g.jsx(a8,{ref:t,__css:s.closeButton,className:a,onClick:ht(n,l=>{l.stopPropagation(),o()}),...i})});m0.displayName="ModalCloseButton";var c2e=e=>g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.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"})}),d2e=e=>g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.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 xO(e,t,n,r){S.useEffect(()=>{var i;if(!e.current||!r)return;const o=(i=e.current.ownerDocument.defaultView)!=null?i:window,a=Array.isArray(t)?t:[t],s=new o.MutationObserver(l=>{for(const u of l)u.type==="attributes"&&u.attributeName&&a.includes(u.attributeName)&&n(u)});return s.observe(e.current,{attributes:!0,attributeFilter:a}),()=>s.disconnect()})}function f2e(e,t){const n=Qr(e);S.useEffect(()=>{let r=null;const i=()=>n();return t!==null&&(r=window.setInterval(i,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var h2e=50,SO=300;function p2e(e,t){const[n,r]=S.useState(!1),[i,o]=S.useState(null),[a,s]=S.useState(!0),l=S.useRef(null),u=()=>clearTimeout(l.current);f2e(()=>{i==="increment"&&e(),i==="decrement"&&t()},n?h2e:null);const d=S.useCallback(()=>{a&&e(),l.current=setTimeout(()=>{s(!1),r(!0),o("increment")},SO)},[e,a]),h=S.useCallback(()=>{a&&t(),l.current=setTimeout(()=>{s(!1),r(!0),o("decrement")},SO)},[t,a]),m=S.useCallback(()=>{s(!0),r(!1),u()},[]);return S.useEffect(()=>()=>u(),[]),{up:d,down:h,stop:m,isSpinning:n}}var g2e=/^[Ee0-9+\-.]$/;function m2e(e){return g2e.test(e)}function v2e(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 y2e(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:i=Number.MIN_SAFE_INTEGER,max:o=Number.MAX_SAFE_INTEGER,step:a=1,isReadOnly:s,isDisabled:l,isRequired:u,isInvalid:d,pattern:h="[0-9]*(.[0-9]+)?",inputMode:m="decimal",allowMouseWheel:y,id:b,onChange:w,precision:E,name:_,"aria-describedby":k,"aria-label":T,"aria-labelledby":L,onFocus:O,onBlur:D,onInvalid:I,getAriaValueText:N,isValidCharacter:W,format:B,parse:K,...ne}=e,z=Qr(O),$=Qr(D),V=Qr(I),X=Qr(W??m2e),Q=Qr(N),G=Gme(e),{update:Y,increment:ee,decrement:fe}=G,[Ce,Se]=S.useState(!1),xe=!(s||l),Le=S.useRef(null),je=S.useRef(null),Ze=S.useRef(null),_e=S.useRef(null),tt=S.useCallback(Me=>Me.split("").filter(X).join(""),[X]),yt=S.useCallback(Me=>{var Ct;return(Ct=K==null?void 0:K(Me))!=null?Ct:Me},[K]),ze=S.useCallback(Me=>{var Ct;return((Ct=B==null?void 0:B(Me))!=null?Ct:Me).toString()},[B]);rc(()=>{(G.valueAsNumber>o||G.valueAsNumber{if(!Le.current)return;if(Le.current.value!=G.value){const Ct=yt(Le.current.value);G.setValue(tt(Ct))}},[yt,tt]);const Ae=S.useCallback((Me=a)=>{xe&&ee(Me)},[ee,xe,a]),bt=S.useCallback((Me=a)=>{xe&&fe(Me)},[fe,xe,a]),Be=p2e(Ae,bt);xO(Ze,"disabled",Be.stop,Be.isSpinning),xO(_e,"disabled",Be.stop,Be.isSpinning);const at=S.useCallback(Me=>{if(Me.nativeEvent.isComposing)return;const zt=yt(Me.currentTarget.value);Y(tt(zt)),je.current={start:Me.currentTarget.selectionStart,end:Me.currentTarget.selectionEnd}},[Y,tt,yt]),jt=S.useCallback(Me=>{var Ct,zt,$n;z==null||z(Me),je.current&&(Me.target.selectionStart=(zt=je.current.start)!=null?zt:(Ct=Me.currentTarget.value)==null?void 0:Ct.length,Me.currentTarget.selectionEnd=($n=je.current.end)!=null?$n:Me.currentTarget.selectionStart)},[z]),mt=S.useCallback(Me=>{if(Me.nativeEvent.isComposing)return;v2e(Me,X)||Me.preventDefault();const Ct=Zt(Me)*a,zt=Me.key,Ke={ArrowUp:()=>Ae(Ct),ArrowDown:()=>bt(Ct),Home:()=>Y(i),End:()=>Y(o)}[zt];Ke&&(Me.preventDefault(),Ke(Me))},[X,a,Ae,bt,Y,i,o]),Zt=Me=>{let Ct=1;return(Me.metaKey||Me.ctrlKey)&&(Ct=.1),Me.shiftKey&&(Ct=10),Ct},on=S.useMemo(()=>{const Me=Q==null?void 0:Q(G.value);if(Me!=null)return Me;const Ct=G.value.toString();return Ct||void 0},[G.value,Q]),le=S.useCallback(()=>{let Me=G.value;if(G.value==="")return;/^[eE]/.test(G.value.toString())?G.setValue(""):(G.valueAsNumbero&&(Me=o),G.cast(Me))},[G,o,i]),De=S.useCallback(()=>{Se(!1),n&&le()},[n,Se,le]),We=S.useCallback(()=>{t&&requestAnimationFrame(()=>{var Me;(Me=Le.current)==null||Me.focus()})},[t]),Ve=S.useCallback(Me=>{Me.preventDefault(),Be.up(),We()},[We,Be]),ye=S.useCallback(Me=>{Me.preventDefault(),Be.down(),We()},[We,Be]);Dh(()=>Le.current,"wheel",Me=>{var Ct,zt;const Ke=((zt=(Ct=Le.current)==null?void 0:Ct.ownerDocument)!=null?zt:document).activeElement===Le.current;if(!y||!Ke)return;Me.preventDefault();const pt=Zt(Me)*a,zr=Math.sign(Me.deltaY);zr===-1?Ae(pt):zr===1&&bt(pt)},{passive:!1});const Ne=S.useCallback((Me={},Ct=null)=>{const zt=l||r&&G.isAtMax;return{...Me,ref:Rn(Ct,Ze),role:"button",tabIndex:-1,onPointerDown:ht(Me.onPointerDown,$n=>{$n.button!==0||zt||Ve($n)}),onPointerLeave:ht(Me.onPointerLeave,Be.stop),onPointerUp:ht(Me.onPointerUp,Be.stop),disabled:zt,"aria-disabled":Uu(zt)}},[G.isAtMax,r,Ve,Be.stop,l]),vt=S.useCallback((Me={},Ct=null)=>{const zt=l||r&&G.isAtMin;return{...Me,ref:Rn(Ct,_e),role:"button",tabIndex:-1,onPointerDown:ht(Me.onPointerDown,$n=>{$n.button!==0||zt||ye($n)}),onPointerLeave:ht(Me.onPointerLeave,Be.stop),onPointerUp:ht(Me.onPointerUp,Be.stop),disabled:zt,"aria-disabled":Uu(zt)}},[G.isAtMin,r,ye,Be.stop,l]),Mt=S.useCallback((Me={},Ct=null)=>{var zt,$n,Ke,pt;return{name:_,inputMode:m,type:"text",pattern:h,"aria-labelledby":L,"aria-label":T,"aria-describedby":k,id:b,disabled:l,...Me,readOnly:(zt=Me.readOnly)!=null?zt:s,"aria-readonly":($n=Me.readOnly)!=null?$n:s,"aria-required":(Ke=Me.required)!=null?Ke:u,required:(pt=Me.required)!=null?pt:u,ref:Rn(Le,Ct),value:ze(G.value),role:"spinbutton","aria-valuemin":i,"aria-valuemax":o,"aria-valuenow":Number.isNaN(G.valueAsNumber)?void 0:G.valueAsNumber,"aria-invalid":Uu(d??G.isOutOfRange),"aria-valuetext":on,autoComplete:"off",autoCorrect:"off",onChange:ht(Me.onChange,at),onKeyDown:ht(Me.onKeyDown,mt),onFocus:ht(Me.onFocus,jt,()=>Se(!0)),onBlur:ht(Me.onBlur,$,De)}},[_,m,h,L,T,ze,k,b,l,u,s,d,G.value,G.valueAsNumber,G.isOutOfRange,i,o,on,at,mt,jt,$,De]);return{value:ze(G.value),valueAsNumber:G.valueAsNumber,isFocused:Ce,isDisabled:l,isReadOnly:s,getIncrementButtonProps:Ne,getDecrementButtonProps:vt,getInputProps:Mt,htmlProps:ne}}var[b2e,Ww]=Pn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[x2e,B8]=Pn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),z8=Qe(function(t,n){const r=Xi("NumberInput",t),i=hr(t),o=p8(i),{htmlProps:a,...s}=y2e(o),l=S.useMemo(()=>s,[s]);return g.jsx(x2e,{value:l,children:g.jsx(b2e,{value:r,children:g.jsx($e.div,{...a,ref:n,className:xt("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});z8.displayName="NumberInput";var zH=Qe(function(t,n){const r=Ww();return g.jsx($e.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}})});zH.displayName="NumberInputStepper";var H8=Qe(function(t,n){const{getInputProps:r}=B8(),i=r(t,n),o=Ww();return g.jsx($e.input,{...i,className:xt("chakra-numberinput__field",t.className),__css:{width:"100%",...o.field}})});H8.displayName="NumberInputField";var HH=$e("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),W8=Qe(function(t,n){var r;const i=Ww(),{getDecrementButtonProps:o}=B8(),a=o(t,n);return g.jsx(HH,{...a,__css:i.stepper,children:(r=t.children)!=null?r:g.jsx(c2e,{})})});W8.displayName="NumberDecrementStepper";var U8=Qe(function(t,n){var r;const{getIncrementButtonProps:i}=B8(),o=i(t,n),a=Ww();return g.jsx(HH,{...o,__css:a.stepper,children:(r=t.children)!=null?r:g.jsx(d2e,{})})});U8.displayName="NumberIncrementStepper";var[S2e,Uw]=Pn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[w2e,WH]=Pn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function V8(e){const t=S.Children.only(e.children),{getTriggerProps:n}=Uw();return S.cloneElement(t,n(t.props,t.ref))}V8.displayName="PopoverTrigger";var kg={click:"click",hover:"hover"};function C2e(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:i,returnFocusOnClose:o=!0,autoFocus:a=!0,arrowSize:s,arrowShadowColor:l,trigger:u=kg.click,openDelay:d=200,closeDelay:h=200,isLazy:m,lazyBehavior:y="unmount",computePositionOnMount:b,...w}=e,{isOpen:E,onClose:_,onOpen:k,onToggle:T}=$8(e),L=S.useRef(null),O=S.useRef(null),D=S.useRef(null),I=S.useRef(!1),N=S.useRef(!1);E&&(N.current=!0);const[W,B]=S.useState(!1),[K,ne]=S.useState(!1),z=S.useId(),$=i??z,[V,X,Q,G]=["popover-trigger","popover-content","popover-header","popover-body"].map(at=>`${at}-${$}`),{referenceRef:Y,getArrowProps:ee,getPopperProps:fe,getArrowInnerProps:Ce,forceUpdate:Se}=N8({...w,enabled:E||!!b}),xe=xH({isOpen:E,ref:D});Jme({enabled:E,ref:O}),uH(D,{focusRef:O,visible:E,shouldFocus:o&&u===kg.click}),Rve(D,{focusRef:r,visible:E,shouldFocus:a&&u===kg.click});const Le=F8({wasSelected:N.current,enabled:m,mode:y,isSelected:xe.present}),je=S.useCallback((at={},jt=null)=>{const mt={...at,style:{...at.style,transformOrigin:ii.transformOrigin.varRef,[ii.arrowSize.var]:s?`${s}px`:void 0,[ii.arrowShadowColor.var]:l},ref:Rn(D,jt),children:Le?at.children:null,id:X,tabIndex:-1,role:"dialog",onKeyDown:ht(at.onKeyDown,Zt=>{n&&Zt.key==="Escape"&&_()}),onBlur:ht(at.onBlur,Zt=>{const on=wO(Zt),le=bC(D.current,on),De=bC(O.current,on);E&&t&&(!le&&!De)&&_()}),"aria-labelledby":W?Q:void 0,"aria-describedby":K?G:void 0};return u===kg.hover&&(mt.role="tooltip",mt.onMouseEnter=ht(at.onMouseEnter,()=>{I.current=!0}),mt.onMouseLeave=ht(at.onMouseLeave,Zt=>{Zt.nativeEvent.relatedTarget!==null&&(I.current=!1,setTimeout(()=>_(),h))})),mt},[Le,X,W,Q,K,G,u,n,_,E,t,h,l,s]),Ze=S.useCallback((at={},jt=null)=>fe({...at,style:{visibility:E?"visible":"hidden",...at.style}},jt),[E,fe]),_e=S.useCallback((at,jt=null)=>({...at,ref:Rn(jt,L,Y)}),[L,Y]),tt=S.useRef(),yt=S.useRef(),ze=S.useCallback(at=>{L.current==null&&Y(at)},[Y]),Ae=S.useCallback((at={},jt=null)=>{const mt={...at,ref:Rn(O,jt,ze),id:V,"aria-haspopup":"dialog","aria-expanded":E,"aria-controls":X};return u===kg.click&&(mt.onClick=ht(at.onClick,T)),u===kg.hover&&(mt.onFocus=ht(at.onFocus,()=>{tt.current===void 0&&k()}),mt.onBlur=ht(at.onBlur,Zt=>{const on=wO(Zt),le=!bC(D.current,on);E&&t&&le&&_()}),mt.onKeyDown=ht(at.onKeyDown,Zt=>{Zt.key==="Escape"&&_()}),mt.onMouseEnter=ht(at.onMouseEnter,()=>{I.current=!0,tt.current=window.setTimeout(()=>k(),d)}),mt.onMouseLeave=ht(at.onMouseLeave,()=>{I.current=!1,tt.current&&(clearTimeout(tt.current),tt.current=void 0),yt.current=window.setTimeout(()=>{I.current===!1&&_()},h)})),mt},[V,E,X,u,ze,T,k,t,_,d,h]);S.useEffect(()=>()=>{tt.current&&clearTimeout(tt.current),yt.current&&clearTimeout(yt.current)},[]);const bt=S.useCallback((at={},jt=null)=>({...at,id:Q,ref:Rn(jt,mt=>{B(!!mt)})}),[Q]),Be=S.useCallback((at={},jt=null)=>({...at,id:G,ref:Rn(jt,mt=>{ne(!!mt)})}),[G]);return{forceUpdate:Se,isOpen:E,onAnimationComplete:xe.onComplete,onClose:_,getAnchorProps:_e,getArrowProps:ee,getArrowInnerProps:Ce,getPopoverPositionerProps:Ze,getPopoverProps:je,getTriggerProps:Ae,getHeaderProps:bt,getBodyProps:Be}}function bC(e,t){return e===t||(e==null?void 0:e.contains(t))}function wO(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function G8(e){const t=Xi("Popover",e),{children:n,...r}=hr(e),i=Zy(),o=C2e({...r,direction:i.direction});return g.jsx(S2e,{value:o,children:g.jsx(w2e,{value:t,children:ts(n,{isOpen:o.isOpen,onClose:o.onClose,forceUpdate:o.forceUpdate})})})}G8.displayName="Popover";function q8(e){var t;const{bg:n,bgColor:r,backgroundColor:i,shadow:o,boxShadow:a}=e,{getArrowProps:s,getArrowInnerProps:l}=Uw(),u=WH(),d=(t=n??r)!=null?t:i,h=o??a;return g.jsx($e.div,{...s(),className:"chakra-popover__arrow-positioner",children:g.jsx($e.div,{className:xt("chakra-popover__arrow",e.className),...l(e),__css:{"--popper-arrow-bg":d?`colors.${d}, ${d}`:void 0,"--popper-arrow-shadow":h?`shadows.${h}, ${h}`:void 0,...u.arrow}})})}q8.displayName="PopoverArrow";function _2e(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var k2e={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]}}},E2e=$e(su.section),UH=Qe(function(t,n){const{variants:r=k2e,...i}=t,{isOpen:o}=Uw();return g.jsx(E2e,{ref:n,variants:_2e(r),initial:!1,animate:o?"enter":"exit",...i})});UH.displayName="PopoverTransition";var K8=Qe(function(t,n){const{rootProps:r,motionProps:i,...o}=t,{getPopoverProps:a,getPopoverPositionerProps:s,onAnimationComplete:l}=Uw(),u=WH(),d={position:"relative",display:"flex",flexDirection:"column",...u.content};return g.jsx($e.div,{...s(r),__css:u.popper,className:"chakra-popover__popper",children:g.jsx(UH,{...i,...a(o,n),onAnimationComplete:ww(l,o.onAnimationComplete),className:xt("chakra-popover__content",t.className),__css:d})})});K8.displayName="PopoverContent";function P2e(e,t,n){return(e-t)*100/(n-t)}nf({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});nf({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var T2e=nf({"0%":{left:"-40%"},"100%":{left:"100%"}}),M2e=nf({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function L2e(e){const{value:t=0,min:n,max:r,valueText:i,getValueText:o,isIndeterminate:a,role:s="progressbar"}=e,l=P2e(t,n,r);return{bind:{"data-indeterminate":a?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":a?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof o=="function"?o(t,l):i})(),role:s},percent:l,value:t}}var[A2e,O2e]=Pn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),R2e=Qe((e,t)=>{const{min:n,max:r,value:i,isIndeterminate:o,role:a,...s}=e,l=L2e({value:i,min:n,max:r,isIndeterminate:o,role:a}),d={height:"100%",...O2e().filledTrack};return g.jsx($e.div,{ref:t,style:{width:`${l.percent}%`,...s.style},...l.bind,...s,__css:d})}),VH=Qe((e,t)=>{var n;const{value:r,min:i=0,max:o=100,hasStripe:a,isAnimated:s,children:l,borderRadius:u,isIndeterminate:d,"aria-label":h,"aria-labelledby":m,"aria-valuetext":y,title:b,role:w,...E}=hr(e),_=Xi("Progress",e),k=u??((n=_.track)==null?void 0:n.borderRadius),T={animation:`${M2e} 1s linear infinite`},D={...!d&&a&&s&&T,...d&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${T2e} 1s ease infinite normal none running`}},I={overflow:"hidden",position:"relative",..._.track};return g.jsx($e.div,{ref:t,borderRadius:k,__css:I,...E,children:g.jsxs(A2e,{value:_,children:[g.jsx(R2e,{"aria-label":h,"aria-labelledby":m,"aria-valuetext":y,min:i,max:o,value:r,isIndeterminate:d,css:D,borderRadius:k,title:b,role:w}),l]})})});VH.displayName="Progress";function I2e(e){return e&&Eo(e)&&Eo(e.target)}function D2e(e={}){const{onChange:t,value:n,defaultValue:r,name:i,isDisabled:o,isFocusable:a,isNative:s,...l}=e,[u,d]=S.useState(r||""),h=typeof n<"u",m=h?n:u,y=S.useRef(null),b=S.useCallback(()=>{const O=y.current;if(!O)return;let D="input:not(:disabled):checked";const I=O.querySelector(D);if(I){I.focus();return}D="input:not(:disabled)";const N=O.querySelector(D);N==null||N.focus()},[]),E=`radio-${S.useId()}`,_=i||E,k=S.useCallback(O=>{const D=I2e(O)?O.target.value:O;h||d(D),t==null||t(String(D))},[t,h]),T=S.useCallback((O={},D=null)=>({...O,ref:Rn(D,y),role:"radiogroup"}),[]),L=S.useCallback((O={},D=null)=>({...O,ref:D,name:_,[s?"checked":"isChecked"]:m!=null?O.value===m:void 0,onChange(N){k(N)},"data-radiogroup":!0}),[s,_,k,m]);return{getRootProps:T,getRadioProps:L,name:_,ref:y,focus:b,setValue:d,value:m,onChange:k,isDisabled:o,isFocusable:a,htmlProps:l}}var[j2e,GH]=Pn({name:"RadioGroupContext",strict:!1}),Oy=Qe((e,t)=>{const{colorScheme:n,size:r,variant:i,children:o,className:a,isDisabled:s,isFocusable:l,...u}=e,{value:d,onChange:h,getRootProps:m,name:y,htmlProps:b}=D2e(u),w=S.useMemo(()=>({name:y,size:r,onChange:h,colorScheme:n,value:d,variant:i,isDisabled:s,isFocusable:l}),[y,r,h,n,d,i,s,l]);return g.jsx(j2e,{value:w,children:g.jsx($e.div,{...m(b,t),className:xt("chakra-radio-group",a),children:o})})});Oy.displayName="RadioGroup";var N2e={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function $2e(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:i,isReadOnly:o,isRequired:a,onChange:s,isInvalid:l,name:u,value:d,id:h,"data-radiogroup":m,"aria-describedby":y,...b}=e,w=`radio-${S.useId()}`,E=ip(),k=!!GH()||!!m;let L=!!E&&!k?E.id:w;L=h??L;const O=i??(E==null?void 0:E.isDisabled),D=o??(E==null?void 0:E.isReadOnly),I=a??(E==null?void 0:E.isRequired),N=l??(E==null?void 0:E.isInvalid),[W,B]=S.useState(!1),[K,ne]=S.useState(!1),[z,$]=S.useState(!1),[V,X]=S.useState(!1),[Q,G]=S.useState(Boolean(t)),Y=typeof n<"u",ee=Y?n:Q;S.useEffect(()=>cz(B),[]);const fe=S.useCallback(ze=>{if(D||O){ze.preventDefault();return}Y||G(ze.target.checked),s==null||s(ze)},[Y,O,D,s]),Ce=S.useCallback(ze=>{ze.key===" "&&X(!0)},[X]),Se=S.useCallback(ze=>{ze.key===" "&&X(!1)},[X]),xe=S.useCallback((ze={},Ae=null)=>({...ze,ref:Ae,"data-active":Bt(V),"data-hover":Bt(z),"data-disabled":Bt(O),"data-invalid":Bt(N),"data-checked":Bt(ee),"data-focus":Bt(K),"data-focus-visible":Bt(K&&W),"data-readonly":Bt(D),"aria-hidden":!0,onMouseDown:ht(ze.onMouseDown,()=>X(!0)),onMouseUp:ht(ze.onMouseUp,()=>X(!1)),onMouseEnter:ht(ze.onMouseEnter,()=>$(!0)),onMouseLeave:ht(ze.onMouseLeave,()=>$(!1))}),[V,z,O,N,ee,K,D,W]),{onFocus:Le,onBlur:je}=E??{},Ze=S.useCallback((ze={},Ae=null)=>{const bt=O&&!r;return{...ze,id:L,ref:Ae,type:"radio",name:u,value:d,onChange:ht(ze.onChange,fe),onBlur:ht(je,ze.onBlur,()=>ne(!1)),onFocus:ht(Le,ze.onFocus,()=>ne(!0)),onKeyDown:ht(ze.onKeyDown,Ce),onKeyUp:ht(ze.onKeyUp,Se),checked:ee,disabled:bt,readOnly:D,required:I,"aria-invalid":Uu(N),"aria-disabled":Uu(bt),"aria-required":Uu(I),"data-readonly":Bt(D),"aria-describedby":y,style:N2e}},[O,r,L,u,d,fe,je,Le,Ce,Se,ee,D,I,N,y]);return{state:{isInvalid:N,isFocused:K,isChecked:ee,isActive:V,isHovered:z,isDisabled:O,isReadOnly:D,isRequired:I},getCheckboxProps:xe,getInputProps:Ze,getLabelProps:(ze={},Ae=null)=>({...ze,ref:Ae,onMouseDown:ht(ze.onMouseDown,CO),onTouchStart:ht(ze.onTouchStart,CO),"data-disabled":Bt(O),"data-checked":Bt(ee),"data-invalid":Bt(N)}),getRootProps:(ze,Ae=null)=>({...ze,ref:Ae,"data-disabled":Bt(O),"data-checked":Bt(ee),"data-invalid":Bt(N)}),htmlProps:b}}function CO(e){e.preventDefault(),e.stopPropagation()}function F2e(e,t){const n={},r={};for(const[i,o]of Object.entries(e))t.includes(i)?n[i]=o:r[i]=o;return[n,r]}var So=Qe((e,t)=>{var n;const r=GH(),{onChange:i,value:o}=e,a=Xi("Radio",{...r,...e}),s=hr(e),{spacing:l="0.5rem",children:u,isDisabled:d=r==null?void 0:r.isDisabled,isFocusable:h=r==null?void 0:r.isFocusable,inputProps:m,...y}=s;let b=e.isChecked;(r==null?void 0:r.value)!=null&&o!=null&&(b=r.value===o);let w=i;r!=null&&r.onChange&&o!=null&&(w=ww(r.onChange,i));const E=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:_,getCheckboxProps:k,getLabelProps:T,getRootProps:L,htmlProps:O}=$2e({...y,isChecked:b,isFocusable:h,isDisabled:d,onChange:w,name:E}),[D,I]=F2e(O,uF),N=k(I),W=_(m,t),B=T(),K=Object.assign({},D,L()),ne={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...a.container},z={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...a.control},$={userSelect:"none",marginStart:l,...a.label};return g.jsxs($e.label,{className:"chakra-radio",...K,__css:ne,children:[g.jsx("input",{className:"chakra-radio__input",...W}),g.jsx($e.span,{className:"chakra-radio__control",...N,__css:z}),u&&g.jsx($e.span,{className:"chakra-radio__label",...B,__css:$,children:u})]})});So.displayName="Radio";var qH=Qe(function(t,n){const{children:r,placeholder:i,className:o,...a}=t;return g.jsxs($e.select,{...a,ref:n,className:xt("chakra-select",o),children:[i&&g.jsx("option",{value:"",children:i}),r]})});qH.displayName="SelectField";function B2e(e,t){const n={},r={};for(const[i,o]of Object.entries(e))t.includes(i)?n[i]=o:r[i]=o;return[n,r]}var KH=Qe((e,t)=>{var n;const r=Xi("Select",e),{rootProps:i,placeholder:o,icon:a,color:s,height:l,h:u,minH:d,minHeight:h,iconColor:m,iconSize:y,...b}=hr(e),[w,E]=B2e(b,uF),_=h8(E),k={width:"100%",height:"fit-content",position:"relative",color:s},T={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return g.jsxs($e.div,{className:"chakra-select__wrapper",__css:k,...w,...i,children:[g.jsx(qH,{ref:t,height:u??l,minH:d??h,placeholder:o,..._,__css:T,children:e.children}),g.jsx(YH,{"data-disabled":Bt(_.disabled),...(m||s)&&{color:m||s},__css:r.icon,...y&&{fontSize:y},children:a})]})});KH.displayName="Select";var z2e=e=>g.jsx("svg",{viewBox:"0 0 24 24",...e,children:g.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),H2e=$e("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),YH=e=>{const{children:t=g.jsx(z2e,{}),...n}=e,r=S.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return g.jsx(H2e,{...n,className:"chakra-select__icon-wrapper",children:S.isValidElement(t)?r:null})};YH.displayName="SelectIcon";var Eg=e=>e?"":void 0,xC=e=>e?!0:void 0,f2=(...e)=>e.filter(Boolean).join(" ");function SC(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function Xb(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var nS={width:0,height:0},Zb=e=>e||nS;function W2e(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:i}=e,o=w=>{var E;const _=(E=r[w])!=null?E:nS;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...Xb({orientation:t,vertical:{bottom:`calc(${n[w]}% - ${_.height/2}px)`},horizontal:{left:`calc(${n[w]}% - ${_.width/2}px)`}})}},a=t==="vertical"?r.reduce((w,E)=>Zb(w).height>Zb(E).height?w:E,nS):r.reduce((w,E)=>Zb(w).width>Zb(E).width?w:E,nS),s={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...Xb({orientation:t,vertical:a?{paddingLeft:a.width/2,paddingRight:a.width/2}:{},horizontal:a?{paddingTop:a.height/2,paddingBottom:a.height/2}:{}})},l={position:"absolute",...Xb({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},u=n.length===1,d=[0,i?100-n[0]:n[0]],h=u?d:n;let m=h[0];!u&&i&&(m=100-m);const y=Math.abs(h[h.length-1]-h[0]),b={...l,...Xb({orientation:t,vertical:i?{height:`${y}%`,top:`${m}%`}:{height:`${y}%`,bottom:`${m}%`},horizontal:i?{width:`${y}%`,right:`${m}%`}:{width:`${y}%`,left:`${m}%`}})};return{trackStyle:l,innerTrackStyle:b,rootStyle:s,getThumbStyle:o}}function U2e(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function V2e(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function G2e(e){const t=K2e(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function XH(e){return!!e.touches}function q2e(e){return XH(e)&&e.touches.length>1}function K2e(e){var t;return(t=e.view)!=null?t:window}function Y2e(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function X2e(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function ZH(e,t="page"){return XH(e)?Y2e(e,t):X2e(e,t)}function Z2e(e){return t=>{const n=G2e(t);(!n||n&&t.button===0)&&e(t)}}function Q2e(e,t=!1){function n(i){e(i,{point:ZH(i)})}return t?Z2e(n):n}function rS(e,t,n,r){return V2e(e,t,Q2e(n,t==="pointerdown"),r)}var J2e=Object.defineProperty,ebe=(e,t,n)=>t in e?J2e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$s=(e,t,n)=>(ebe(e,typeof t!="symbol"?t+"":t,n),n),tbe=class{constructor(e,t,n){$s(this,"history",[]),$s(this,"startEvent",null),$s(this,"lastEvent",null),$s(this,"lastEventInfo",null),$s(this,"handlers",{}),$s(this,"removeListeners",()=>{}),$s(this,"threshold",3),$s(this,"win"),$s(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const s=wC(this.lastEventInfo,this.history),l=this.startEvent!==null,u=obe(s.offset,{x:0,y:0})>=this.threshold;if(!l&&!u)return;const{timestamp:d}=EL();this.history.push({...s.point,timestamp:d});const{onStart:h,onMove:m}=this.handlers;l||(h==null||h(this.lastEvent,s),this.startEvent=this.lastEvent),m==null||m(this.lastEvent,s)}),$s(this,"onPointerMove",(s,l)=>{this.lastEvent=s,this.lastEventInfo=l,_ce.update(this.updatePoint,!0)}),$s(this,"onPointerUp",(s,l)=>{const u=wC(l,this.history),{onEnd:d,onSessionEnd:h}=this.handlers;h==null||h(s,u),this.end(),!(!d||!this.startEvent)&&(d==null||d(s,u))});var r;if(this.win=(r=e.view)!=null?r:window,q2e(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const i={point:ZH(e)},{timestamp:o}=EL();this.history=[{...i.point,timestamp:o}];const{onSessionStart:a}=t;a==null||a(e,wC(i,this.history)),this.removeListeners=ibe(rS(this.win,"pointermove",this.onPointerMove),rS(this.win,"pointerup",this.onPointerUp),rS(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),kce.update(this.updatePoint)}};function _O(e,t){return{x:e.x-t.x,y:e.y-t.y}}function wC(e,t){return{point:e.point,delta:_O(e.point,t[t.length-1]),offset:_O(e.point,t[0]),velocity:rbe(t,.1)}}var nbe=e=>e*1e3;function rbe(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>nbe(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 a={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function ibe(...e){return t=>e.reduce((n,r)=>r(n),t)}function CC(e,t){return Math.abs(e-t)}function kO(e){return"x"in e&&"y"in e}function obe(e,t){if(typeof e=="number"&&typeof t=="number")return CC(e,t);if(kO(e)&&kO(t)){const n=CC(e.x,t.x),r=CC(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function QH(e){const t=S.useRef(null);return t.current=e,t}function abe(e,t){const{onPan:n,onPanStart:r,onPanEnd:i,onPanSessionStart:o,onPanSessionEnd:a,threshold:s}=t,l=Boolean(n||r||i||o||a),u=S.useRef(null),d=QH({onSessionStart:o,onSessionEnd:a,onStart:r,onMove:n,onEnd(h,m){u.current=null,i==null||i(h,m)}});S.useEffect(()=>{var h;(h=u.current)==null||h.updateHandlers(d.current)}),S.useEffect(()=>{const h=e.current;if(!h||!l)return;function m(y){u.current=new tbe(y,d.current,s)}return rS(h,"pointerdown",m)},[e,l,d,s]),S.useEffect(()=>()=>{var h;(h=u.current)==null||h.end(),u.current=null},[])}function sbe(e,t){var n;if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const r=(n=e.ownerDocument.defaultView)!=null?n:window,i=new r.ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const[a]=o;let s,l;if("borderBoxSize"in a){const u=a.borderBoxSize,d=Array.isArray(u)?u[0]:u;s=d.inlineSize,l=d.blockSize}else s=e.offsetWidth,l=e.offsetHeight;t({width:s,height:l})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}var lbe=Boolean(globalThis==null?void 0:globalThis.document)?S.useLayoutEffect:S.useEffect;function ube(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 cbe({getNodes:e,observeMutation:t=!0}){const[n,r]=S.useState([]),[i,o]=S.useState(0);return lbe(()=>{const a=e(),s=a.map((l,u)=>sbe(l,d=>{r(h=>[...h.slice(0,u),d,...h.slice(u+1)])}));if(t){const l=a[0];s.push(ube(l,()=>{o(u=>u+1)}))}return()=>{s.forEach(l=>{l==null||l()})}},[i]),n}function dbe(e){return typeof e=="object"&&e!==null&&"current"in e}function fbe(e){const[t]=cbe({observeMutation:!1,getNodes(){return[dbe(e)?e.current:e]}});return t}function hbe(e){var t;const{min:n=0,max:r=100,onChange:i,value:o,defaultValue:a,isReversed:s,direction:l="ltr",orientation:u="horizontal",id:d,isDisabled:h,isReadOnly:m,onChangeStart:y,onChangeEnd:b,step:w=1,getAriaValueText:E,"aria-valuetext":_,"aria-label":k,"aria-labelledby":T,name:L,focusThumbOnChange:O=!0,...D}=e,I=Qr(y),N=Qr(b),W=Qr(E),B=U2e({isReversed:s,direction:l,orientation:u}),[K,ne]=u8({value:o,defaultValue:a??gbe(n,r),onChange:i}),[z,$]=S.useState(!1),[V,X]=S.useState(!1),Q=!(h||m),G=(r-n)/10,Y=w||(r-n)/100,ee=Qx(K,n,r),fe=r-ee+n,Se=qA(B?fe:ee,n,r),xe=u==="vertical",Le=QH({min:n,max:r,step:w,isDisabled:h,value:ee,isInteractive:Q,isReversed:B,isVertical:xe,eventSource:null,focusThumbOnChange:O,orientation:u}),je=S.useRef(null),Ze=S.useRef(null),_e=S.useRef(null),tt=S.useId(),yt=d??tt,[ze,Ae]=[`slider-thumb-${yt}`,`slider-track-${yt}`],bt=S.useCallback(Ke=>{var pt,zr;if(!je.current)return;const rr=Le.current;rr.eventSource="pointer";const Bn=je.current.getBoundingClientRect(),{clientX:li,clientY:vs}=(zr=(pt=Ke.touches)==null?void 0:pt[0])!=null?zr:Ke,tl=xe?Bn.bottom-vs:li-Bn.left,gf=xe?Bn.height:Bn.width;let ys=tl/gf;B&&(ys=1-ys);let Zi=Vme(ys,rr.min,rr.max);return rr.step&&(Zi=parseFloat(KA(Zi,rr.min,rr.step))),Zi=Qx(Zi,rr.min,rr.max),Zi},[xe,B,Le]),Be=S.useCallback(Ke=>{const pt=Le.current;pt.isInteractive&&(Ke=parseFloat(KA(Ke,pt.min,Y)),Ke=Qx(Ke,pt.min,pt.max),ne(Ke))},[Y,ne,Le]),at=S.useMemo(()=>({stepUp(Ke=Y){const pt=B?ee-Ke:ee+Ke;Be(pt)},stepDown(Ke=Y){const pt=B?ee+Ke:ee-Ke;Be(pt)},reset(){Be(a||0)},stepTo(Ke){Be(Ke)}}),[Be,B,ee,Y,a]),jt=S.useCallback(Ke=>{const pt=Le.current,rr={ArrowRight:()=>at.stepUp(),ArrowUp:()=>at.stepUp(),ArrowLeft:()=>at.stepDown(),ArrowDown:()=>at.stepDown(),PageUp:()=>at.stepUp(G),PageDown:()=>at.stepDown(G),Home:()=>Be(pt.min),End:()=>Be(pt.max)}[Ke.key];rr&&(Ke.preventDefault(),Ke.stopPropagation(),rr(Ke),pt.eventSource="keyboard")},[at,Be,G,Le]),mt=(t=W==null?void 0:W(ee))!=null?t:_,Zt=fbe(Ze),{getThumbStyle:on,rootStyle:le,trackStyle:De,innerTrackStyle:We}=S.useMemo(()=>{const Ke=Le.current,pt=Zt??{width:0,height:0};return W2e({isReversed:B,orientation:Ke.orientation,thumbRects:[pt],thumbPercents:[Se]})},[B,Zt,Se,Le]),Ve=S.useCallback(()=>{Le.current.focusThumbOnChange&&setTimeout(()=>{var pt;return(pt=Ze.current)==null?void 0:pt.focus()})},[Le]);rc(()=>{const Ke=Le.current;Ve(),Ke.eventSource==="keyboard"&&(N==null||N(Ke.value))},[ee,N]);function ye(Ke){const pt=bt(Ke);pt!=null&&pt!==Le.current.value&&ne(pt)}abe(_e,{onPanSessionStart(Ke){const pt=Le.current;pt.isInteractive&&($(!0),Ve(),ye(Ke),I==null||I(pt.value))},onPanSessionEnd(){const Ke=Le.current;Ke.isInteractive&&($(!1),N==null||N(Ke.value))},onPan(Ke){Le.current.isInteractive&&ye(Ke)}});const Ne=S.useCallback((Ke={},pt=null)=>({...Ke,...D,ref:Rn(pt,_e),tabIndex:-1,"aria-disabled":xC(h),"data-focused":Eg(V),style:{...Ke.style,...le}}),[D,h,V,le]),vt=S.useCallback((Ke={},pt=null)=>({...Ke,ref:Rn(pt,je),id:Ae,"data-disabled":Eg(h),style:{...Ke.style,...De}}),[h,Ae,De]),Mt=S.useCallback((Ke={},pt=null)=>({...Ke,ref:pt,style:{...Ke.style,...We}}),[We]),Me=S.useCallback((Ke={},pt=null)=>({...Ke,ref:Rn(pt,Ze),role:"slider",tabIndex:Q?0:void 0,id:ze,"data-active":Eg(z),"aria-valuetext":mt,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":ee,"aria-orientation":u,"aria-disabled":xC(h),"aria-readonly":xC(m),"aria-label":k,"aria-labelledby":k?void 0:T,style:{...Ke.style,...on(0)},onKeyDown:SC(Ke.onKeyDown,jt),onFocus:SC(Ke.onFocus,()=>X(!0)),onBlur:SC(Ke.onBlur,()=>X(!1))}),[Q,ze,z,mt,n,r,ee,u,h,m,k,T,on,jt]),Ct=S.useCallback((Ke,pt=null)=>{const zr=!(Ke.valuer),rr=ee>=Ke.value,Bn=qA(Ke.value,n,r),li={position:"absolute",pointerEvents:"none",...pbe({orientation:u,vertical:{bottom:B?`${100-Bn}%`:`${Bn}%`},horizontal:{left:B?`${100-Bn}%`:`${Bn}%`}})};return{...Ke,ref:pt,role:"presentation","aria-hidden":!0,"data-disabled":Eg(h),"data-invalid":Eg(!zr),"data-highlighted":Eg(rr),style:{...Ke.style,...li}}},[h,B,r,n,u,ee]),zt=S.useCallback((Ke={},pt=null)=>({...Ke,ref:pt,type:"hidden",value:ee,name:L}),[L,ee]);return{state:{value:ee,isFocused:V,isDragging:z},actions:at,getRootProps:Ne,getTrackProps:vt,getInnerTrackProps:Mt,getThumbProps:Me,getMarkerProps:Ct,getInputProps:zt}}function pbe(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function gbe(e,t){return t"}),[vbe,Gw]=Pn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),JH=Qe((e,t)=>{const n={orientation:"horizontal",...e},r=Xi("Slider",n),i=hr(n),{direction:o}=Zy();i.direction=o;const{getInputProps:a,getRootProps:s,...l}=hbe(i),u=s(),d=a({},t);return g.jsx(mbe,{value:l,children:g.jsx(vbe,{value:r,children:g.jsxs($e.div,{...u,className:f2("chakra-slider",n.className),__css:r.container,children:[n.children,g.jsx("input",{...d})]})})})});JH.displayName="Slider";var eW=Qe((e,t)=>{const{getThumbProps:n}=Vw(),r=Gw(),i=n(e,t);return g.jsx($e.div,{...i,className:f2("chakra-slider__thumb",e.className),__css:r.thumb})});eW.displayName="SliderThumb";var tW=Qe((e,t)=>{const{getTrackProps:n}=Vw(),r=Gw(),i=n(e,t);return g.jsx($e.div,{...i,className:f2("chakra-slider__track",e.className),__css:r.track})});tW.displayName="SliderTrack";var nW=Qe((e,t)=>{const{getInnerTrackProps:n}=Vw(),r=Gw(),i=n(e,t);return g.jsx($e.div,{...i,className:f2("chakra-slider__filled-track",e.className),__css:r.filledTrack})});nW.displayName="SliderFilledTrack";var nk=Qe((e,t)=>{const{getMarkerProps:n}=Vw(),r=Gw(),i=n(e,t);return g.jsx($e.div,{...i,className:f2("chakra-slider__marker",e.className),__css:r.mark})});nk.displayName="SliderMark";var Y8=Qe(function(t,n){const r=Xi("Switch",t),{spacing:i="0.5rem",children:o,...a}=hr(t),{state:s,getInputProps:l,getCheckboxProps:u,getRootProps:d,getLabelProps:h}=dz(a),m=S.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),y=S.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),b=S.useMemo(()=>({userSelect:"none",marginStart:i,...r.label}),[i,r.label]);return g.jsxs($e.label,{...d(),className:xt("chakra-switch",t.className),__css:m,children:[g.jsx("input",{className:"chakra-switch__input",...l({},n)}),g.jsx($e.span,{...u(),className:"chakra-switch__track",__css:y,children:g.jsx($e.span,{__css:r.thumb,className:"chakra-switch__thumb","data-checked":Bt(s.isChecked),"data-hover":Bt(s.isHovered)})}),o&&g.jsx($e.span,{className:"chakra-switch__label",...h(),__css:b,children:o})]})});Y8.displayName="Switch";var[ybe,SNe,bbe,xbe]=s8();function Sbe(e){var t;const{defaultIndex:n,onChange:r,index:i,isManual:o,isLazy:a,lazyBehavior:s="unmount",orientation:l="horizontal",direction:u="ltr",...d}=e,[h,m]=S.useState(n??0),[y,b]=u8({defaultValue:n??0,value:i,onChange:r});S.useEffect(()=>{i!=null&&m(i)},[i]);const w=bbe(),E=S.useId();return{id:`tabs-${(t=e.id)!=null?t:E}`,selectedIndex:y,focusedIndex:h,setSelectedIndex:b,setFocusedIndex:m,isManual:o,isLazy:a,lazyBehavior:s,orientation:l,descendants:w,direction:u,htmlProps:d}}var[wbe,X8]=Pn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function Cbe(e){const{isDisabled:t,isFocusable:n,...r}=e,{setSelectedIndex:i,isManual:o,id:a,setFocusedIndex:s,selectedIndex:l}=X8(),{index:u,register:d}=xbe({disabled:t&&!n}),h=u===l,m=()=>{i(u)},y=()=>{s(u),!o&&!(t&&n)&&i(u)},b=lH({...r,ref:Rn(d,e.ref),isDisabled:t,isFocusable:n,onClick:ht(e.onClick,m)}),w="button";return{...b,id:rW(a,u),role:"tab",tabIndex:h?0:-1,type:w,"aria-selected":h,"aria-controls":iW(a,u),onFocus:t?void 0:ht(e.onFocus,y)}}var[_be,kbe]=Pn({});function Ebe(e){const t=X8(),{id:n,selectedIndex:r}=t,o=f8(e.children).map((a,s)=>S.createElement(_be,{key:s,value:{isSelected:s===r,id:iW(n,s),tabId:rW(n,s),selectedIndex:r}},a));return{...e,children:o}}function Pbe(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:i}=X8(),{isSelected:o,id:a,tabId:s}=kbe(),l=S.useRef(!1);o&&(l.current=!0);const u=F8({wasSelected:l.current,isSelected:o,enabled:r,mode:i});return{tabIndex:0,...n,children:u?t:null,role:"tabpanel","aria-labelledby":s,hidden:!o,id:a}}function rW(e,t){return`${e}--tab-${t}`}function iW(e,t){return`${e}--tabpanel-${t}`}var[Tbe,Z8]=Pn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),oW=Qe(function(t,n){const r=Xi("Tabs",t),{children:i,className:o,...a}=hr(t),{htmlProps:s,descendants:l,...u}=Sbe(a),d=S.useMemo(()=>u,[u]),{isFitted:h,...m}=s;return g.jsx(ybe,{value:l,children:g.jsx(wbe,{value:d,children:g.jsx(Tbe,{value:r,children:g.jsx($e.div,{className:xt("chakra-tabs",o),ref:n,...m,__css:r.root,children:i})})})})});oW.displayName="Tabs";var aW=Qe(function(t,n){const r=Pbe({...t,ref:n}),i=Z8();return g.jsx($e.div,{outline:"0",...r,className:xt("chakra-tabs__tab-panel",t.className),__css:i.tabpanel})});aW.displayName="TabPanel";var sW=Qe(function(t,n){const r=Ebe(t),i=Z8();return g.jsx($e.div,{...r,width:"100%",ref:n,className:xt("chakra-tabs__tab-panels",t.className),__css:i.tabpanels})});sW.displayName="TabPanels";var lW=Qe(function(t,n){const r=Z8(),i=Cbe({...t,ref:n}),o={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return g.jsx($e.button,{...i,className:xt("chakra-tabs__tab",t.className),__css:o})});lW.displayName="Tab";function Mbe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var Lbe=["h","minH","height","minHeight"],Q8=Qe((e,t)=>{const n=au("Textarea",e),{className:r,rows:i,...o}=hr(e),a=h8(o),s=i?Mbe(n,Lbe):n;return g.jsx($e.textarea,{ref:t,rows:i,...a,className:xt("chakra-textarea",r),__css:s})});Q8.displayName="Textarea";var Abe={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]}}}},f3=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},rk=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function Obe(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:i,closeOnScroll:o,closeOnPointerDown:a=i,closeOnEsc:s=!0,onOpen:l,onClose:u,placement:d,id:h,isOpen:m,defaultIsOpen:y,arrowSize:b=10,arrowShadowColor:w,arrowPadding:E,modifiers:_,isDisabled:k,gutter:T,offset:L,direction:O,...D}=e,{isOpen:I,onOpen:N,onClose:W}=$8({isOpen:m,defaultIsOpen:y,onOpen:l,onClose:u}),{referenceRef:B,getPopperProps:K,getArrowInnerProps:ne,getArrowProps:z}=N8({enabled:I,placement:d,arrowPadding:E,modifiers:_,gutter:T,offset:L,direction:O}),$=S.useId(),X=`tooltip-${h??$}`,Q=S.useRef(null),G=S.useRef(),Y=S.useCallback(()=>{G.current&&(clearTimeout(G.current),G.current=void 0)},[]),ee=S.useRef(),fe=S.useCallback(()=>{ee.current&&(clearTimeout(ee.current),ee.current=void 0)},[]),Ce=S.useCallback(()=>{fe(),W()},[W,fe]),Se=Rbe(Q,Ce),xe=S.useCallback(()=>{if(!k&&!G.current){Se();const Ae=rk(Q);G.current=Ae.setTimeout(N,t)}},[Se,k,N,t]),Le=S.useCallback(()=>{Y();const Ae=rk(Q);ee.current=Ae.setTimeout(Ce,n)},[n,Ce,Y]),je=S.useCallback(()=>{I&&r&&Le()},[r,Le,I]),Ze=S.useCallback(()=>{I&&a&&Le()},[a,Le,I]),_e=S.useCallback(Ae=>{I&&Ae.key==="Escape"&&Le()},[I,Le]);Dh(()=>f3(Q),"keydown",s?_e:void 0),Dh(()=>f3(Q),"scroll",()=>{I&&o&&Ce()}),S.useEffect(()=>{k&&(Y(),I&&W())},[k,I,W,Y]),S.useEffect(()=>()=>{Y(),fe()},[Y,fe]),Dh(()=>Q.current,"pointerleave",Le);const tt=S.useCallback((Ae={},bt=null)=>({...Ae,ref:Rn(Q,bt,B),onPointerEnter:ht(Ae.onPointerEnter,at=>{at.pointerType!=="touch"&&xe()}),onClick:ht(Ae.onClick,je),onPointerDown:ht(Ae.onPointerDown,Ze),onFocus:ht(Ae.onFocus,xe),onBlur:ht(Ae.onBlur,Le),"aria-describedby":I?X:void 0}),[xe,Le,Ze,I,X,je,B]),yt=S.useCallback((Ae={},bt=null)=>K({...Ae,style:{...Ae.style,[ii.arrowSize.var]:b?`${b}px`:void 0,[ii.arrowShadowColor.var]:w}},bt),[K,b,w]),ze=S.useCallback((Ae={},bt=null)=>{const Be={...Ae.style,position:"relative",transformOrigin:ii.transformOrigin.varRef};return{ref:bt,...D,...Ae,id:X,role:"tooltip",style:Be}},[D,X]);return{isOpen:I,show:xe,hide:Le,getTriggerProps:tt,getTooltipProps:ze,getTooltipPositionerProps:yt,getArrowProps:z,getArrowInnerProps:ne}}var _C="chakra-ui:close-tooltip";function Rbe(e,t){return S.useEffect(()=>{const n=f3(e);return n.addEventListener(_C,t),()=>n.removeEventListener(_C,t)},[t,e]),()=>{const n=f3(e),r=rk(e);n.dispatchEvent(new r.CustomEvent(_C))}}function Ibe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Dbe(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var jbe=$e(su.div),si=Qe((e,t)=>{var n,r;const i=au("Tooltip",e),o=hr(e),a=Zy(),{children:s,label:l,shouldWrapChildren:u,"aria-label":d,hasArrow:h,bg:m,portalProps:y,background:b,backgroundColor:w,bgColor:E,motionProps:_,...k}=o,T=(r=(n=b??w)!=null?n:m)!=null?r:E;if(T){i.bg=T;const K=Zre(a,"colors",T);i[ii.arrowBg.var]=K}const L=Obe({...k,direction:a.direction}),O=typeof s=="string"||u;let D;if(O)D=g.jsx($e.span,{display:"inline-block",tabIndex:0,...L.getTriggerProps(),children:s});else{const K=S.Children.only(s);D=S.cloneElement(K,L.getTriggerProps(K.props,K.ref))}const I=!!d,N=L.getTooltipProps({},t),W=I?Ibe(N,["role","id"]):N,B=Dbe(N,["role","id"]);return l?g.jsxs(g.Fragment,{children:[D,g.jsx(rp,{children:L.isOpen&&g.jsx(c0,{...y,children:g.jsx($e.div,{...L.getTooltipPositionerProps(),__css:{zIndex:i.zIndex,pointerEvents:"none"},children:g.jsxs(jbe,{variants:Abe,initial:"exit",animate:"enter",exit:"exit",..._,...W,__css:i,children:[l,I&&g.jsx($e.span,{srOnly:!0,...B,children:d}),h&&g.jsx($e.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:g.jsx($e.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:i.bg}})})]})})})})]}):g.jsx(g.Fragment,{children:s})});si.displayName="Tooltip";var ik={},EO=Xs;ik.createRoot=EO.createRoot,ik.hydrateRoot=EO.hydrateRoot;var ok={},Nbe={get exports(){return ok},set exports(e){ok=e}},uW={};/** + * @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 Qm=S;function $be(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Fbe=typeof Object.is=="function"?Object.is:$be,Bbe=Qm.useState,zbe=Qm.useEffect,Hbe=Qm.useLayoutEffect,Wbe=Qm.useDebugValue;function Ube(e,t){var n=t(),r=Bbe({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return Hbe(function(){i.value=n,i.getSnapshot=t,kC(i)&&o({inst:i})},[e,n,t]),zbe(function(){return kC(i)&&o({inst:i}),e(function(){kC(i)&&o({inst:i})})},[e]),Wbe(n),n}function kC(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Fbe(e,n)}catch{return!0}}function Vbe(e,t){return t()}var Gbe=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Vbe:Ube;uW.useSyncExternalStore=Qm.useSyncExternalStore!==void 0?Qm.useSyncExternalStore:Gbe;(function(e){e.exports=uW})(Nbe);var ak={},qbe={get exports(){return ak},set exports(e){ak=e}},cW={};/** + * @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 qw=S,Kbe=ok;function Ybe(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Xbe=typeof Object.is=="function"?Object.is:Ybe,Zbe=Kbe.useSyncExternalStore,Qbe=qw.useRef,Jbe=qw.useEffect,exe=qw.useMemo,txe=qw.useDebugValue;cW.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=Qbe(null);if(o.current===null){var a={hasValue:!1,value:null};o.current=a}else a=o.current;o=exe(function(){function l(y){if(!u){if(u=!0,d=y,y=r(y),i!==void 0&&a.hasValue){var b=a.value;if(i(b,y))return h=b}return h=y}if(b=h,Xbe(d,y))return b;var w=r(y);return i!==void 0&&i(b,w)?b:(d=y,h=w)}var u=!1,d,h,m=n===void 0?null:n;return[function(){return l(t())},m===null?void 0:function(){return l(m())}]},[t,n,r,i]);var s=Zbe(e,o[0],o[1]);return Jbe(function(){a.hasValue=!0,a.value=s},[s]),txe(s),s};(function(e){e.exports=cW})(qbe);function nxe(e){e()}let dW=nxe;const rxe=e=>dW=e,ixe=()=>dW,Zd=S.createContext(null);function fW(){return S.useContext(Zd)}const oxe=()=>{throw new Error("uSES not initialized!")};let hW=oxe;const axe=e=>{hW=e},sxe=(e,t)=>e===t;function lxe(e=Zd){const t=e===Zd?fW:()=>S.useContext(e);return function(r,i=sxe){const{store:o,subscription:a,getServerState:s}=t(),l=hW(a.addNestedSub,o.getState,s||o.getState,r,i);return S.useDebugValue(l),l}}const uxe=lxe();var PO={},cxe={get exports(){return PO},set exports(e){PO=e}},Nn={};/** + * @license React + * react-is.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 J8=Symbol.for("react.element"),eE=Symbol.for("react.portal"),Kw=Symbol.for("react.fragment"),Yw=Symbol.for("react.strict_mode"),Xw=Symbol.for("react.profiler"),Zw=Symbol.for("react.provider"),Qw=Symbol.for("react.context"),dxe=Symbol.for("react.server_context"),Jw=Symbol.for("react.forward_ref"),e4=Symbol.for("react.suspense"),t4=Symbol.for("react.suspense_list"),n4=Symbol.for("react.memo"),r4=Symbol.for("react.lazy"),fxe=Symbol.for("react.offscreen"),pW;pW=Symbol.for("react.module.reference");function ps(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case J8:switch(e=e.type,e){case Kw:case Xw:case Yw:case e4:case t4:return e;default:switch(e=e&&e.$$typeof,e){case dxe:case Qw:case Jw:case r4:case n4:case Zw:return e;default:return t}}case eE:return t}}}Nn.ContextConsumer=Qw;Nn.ContextProvider=Zw;Nn.Element=J8;Nn.ForwardRef=Jw;Nn.Fragment=Kw;Nn.Lazy=r4;Nn.Memo=n4;Nn.Portal=eE;Nn.Profiler=Xw;Nn.StrictMode=Yw;Nn.Suspense=e4;Nn.SuspenseList=t4;Nn.isAsyncMode=function(){return!1};Nn.isConcurrentMode=function(){return!1};Nn.isContextConsumer=function(e){return ps(e)===Qw};Nn.isContextProvider=function(e){return ps(e)===Zw};Nn.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===J8};Nn.isForwardRef=function(e){return ps(e)===Jw};Nn.isFragment=function(e){return ps(e)===Kw};Nn.isLazy=function(e){return ps(e)===r4};Nn.isMemo=function(e){return ps(e)===n4};Nn.isPortal=function(e){return ps(e)===eE};Nn.isProfiler=function(e){return ps(e)===Xw};Nn.isStrictMode=function(e){return ps(e)===Yw};Nn.isSuspense=function(e){return ps(e)===e4};Nn.isSuspenseList=function(e){return ps(e)===t4};Nn.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Kw||e===Xw||e===Yw||e===e4||e===t4||e===fxe||typeof e=="object"&&e!==null&&(e.$$typeof===r4||e.$$typeof===n4||e.$$typeof===Zw||e.$$typeof===Qw||e.$$typeof===Jw||e.$$typeof===pW||e.getModuleId!==void 0)};Nn.typeOf=ps;(function(e){e.exports=Nn})(cxe);function hxe(){const e=ixe();let t=null,n=null;return{clear(){t=null,n=null},notify(){e(()=>{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 TO={notify(){},get:()=>[]};function pxe(e,t){let n,r=TO;function i(h){return l(),r.subscribe(h)}function o(){r.notify()}function a(){d.onStateChange&&d.onStateChange()}function s(){return Boolean(n)}function l(){n||(n=t?t.addNestedSub(a):e.subscribe(a),r=hxe())}function u(){n&&(n(),n=void 0,r.clear(),r=TO)}const d={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:a,isSubscribed:s,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return d}const gxe=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",mxe=gxe?S.useLayoutEffect:S.useEffect;function vxe({store:e,context:t,children:n,serverState:r}){const i=S.useMemo(()=>{const s=pxe(e);return{store:e,subscription:s,getServerState:r?()=>r:void 0}},[e,r]),o=S.useMemo(()=>e.getState(),[e]);mxe(()=>{const{subscription:s}=i;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),o!==e.getState()&&s.notifyNestedSubs(),()=>{s.tryUnsubscribe(),s.onStateChange=void 0}},[i,o]);const a=t||Zd;return Ye.createElement(a.Provider,{value:i},n)}function gW(e=Zd){const t=e===Zd?fW:()=>S.useContext(e);return function(){const{store:r}=t();return r}}const yxe=gW();function bxe(e=Zd){const t=e===Zd?yxe:gW(e);return function(){return t().dispatch}}const xxe=bxe();axe(ak.useSyncExternalStoreWithSelector);rxe(Xs.unstable_batchedUpdates);function iS(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?iS=function(n){return typeof n}:iS=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},iS(e)}function Sxe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function MO(e,t){for(var n=0;n1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:tE(e)?2:nE(e)?3:0}function Pm(e,t){return v0(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function kxe(e,t){return v0(e)===2?e.get(t):e[t]}function vW(e,t,n){var r=v0(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function yW(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function tE(e){return Axe&&e instanceof Map}function nE(e){return Oxe&&e instanceof Set}function fh(e){return e.o||e.t}function rE(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=xW(e);delete t[yr];for(var n=Tm(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=Exe),Object.freeze(e),t&&Xh(e,function(n,r){return iE(r,!0)},!0)),e}function Exe(){Vs(2)}function oE(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Ql(e){var t=fk[e];return t||Vs(18,e),t}function Pxe(e,t){fk[e]||(fk[e]=t)}function uk(){return Ry}function EC(e,t){t&&(Ql("Patches"),e.u=[],e.s=[],e.v=t)}function h3(e){ck(e),e.p.forEach(Txe),e.p=null}function ck(e){e===Ry&&(Ry=e.l)}function LO(e){return Ry={p:[],l:Ry,h:e,m:!0,_:0}}function Txe(e){var t=e[yr];t.i===0||t.i===1?t.j():t.O=!0}function PC(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.g||Ql("ES5").S(t,e,r),r?(n[yr].P&&(h3(t),Vs(4)),ac(e)&&(e=p3(t,e),t.l||g3(t,e)),t.u&&Ql("Patches").M(n[yr].t,e,t.u,t.s)):e=p3(t,n,[]),h3(t),t.u&&t.v(t.u,t.s),e!==bW?e:void 0}function p3(e,t,n){if(oE(t))return t;var r=t[yr];if(!r)return Xh(t,function(s,l){return AO(e,r,t,s,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return g3(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=rE(r.k):r.o,o=i,a=!1;r.i===3&&(o=new Set(i),i.clear(),a=!0),Xh(o,function(s,l){return AO(e,r,i,s,l,n,a)}),g3(e,i,!1),n&&e.u&&Ql("Patches").N(r,n,e.u,e.s)}return r.o}function AO(e,t,n,r,i,o,a){if(Qd(i)){var s=p3(e,i,o&&t&&t.i!==3&&!Pm(t.R,r)?o.concat(r):void 0);if(vW(n,r,s),!Qd(s))return;e.m=!1}else a&&n.add(i);if(ac(i)&&!oE(i)){if(!e.h.D&&e._<1)return;p3(e,i),t&&t.A.l||g3(e,i)}}function g3(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&iE(t,n)}function TC(e,t){var n=e[yr];return(n?fh(n):e)[t]}function OO(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 xd(e){e.P||(e.P=!0,e.l&&xd(e.l))}function MC(e){e.o||(e.o=rE(e.t))}function dk(e,t,n){var r=tE(t)?Ql("MapSet").F(t,n):nE(t)?Ql("MapSet").T(t,n):e.g?function(i,o){var a=Array.isArray(i),s={i:a?1:0,A:o?o.A:uk(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=s,u=Iy;a&&(l=[s],u=h1);var d=Proxy.revocable(l,u),h=d.revoke,m=d.proxy;return s.k=m,s.j=h,m}(t,n):Ql("ES5").J(t,n);return(n?n.A:uk()).p.push(r),r}function Mxe(e){return Qd(e)||Vs(22,e),function t(n){if(!ac(n))return n;var r,i=n[yr],o=v0(n);if(i){if(!i.P&&(i.i<4||!Ql("ES5").K(i)))return i.t;i.I=!0,r=RO(n,o),i.I=!1}else r=RO(n,o);return Xh(r,function(a,s){i&&kxe(i.t,a)===s||vW(r,a,t(s))}),o===3?new Set(r):r}(e)}function RO(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return rE(e)}function Lxe(){function e(o,a){var s=i[o];return s?s.enumerable=a:i[o]=s={configurable:!0,enumerable:a,get:function(){var l=this[yr];return Iy.get(l,o)},set:function(l){var u=this[yr];Iy.set(u,o,l)}},s}function t(o){for(var a=o.length-1;a>=0;a--){var s=o[a][yr];if(!s.P)switch(s.i){case 5:r(s)&&xd(s);break;case 4:n(s)&&xd(s)}}}function n(o){for(var a=o.t,s=o.k,l=Tm(s),u=l.length-1;u>=0;u--){var d=l[u];if(d!==yr){var h=a[d];if(h===void 0&&!Pm(a,d))return!0;var m=s[d],y=m&&m[yr];if(y?y.t!==h:!yW(m,h))return!0}}var b=!!a[yr];return l.length!==Tm(a).length+(b?0:1)}function r(o){var a=o.k;if(a.length!==o.t.length)return!0;var s=Object.getOwnPropertyDescriptor(a,a.length-1);if(s&&!s.get)return!0;for(var l=0;l1?_-1:0),T=1;T<_;T++)k[T-1]=arguments[T];return l.produce(w,function(L){var O;return(O=o).call.apply(O,[E,L].concat(k))})}}var u;if(typeof o!="function"&&Vs(6),a!==void 0&&typeof a!="function"&&Vs(7),ac(i)){var d=LO(r),h=dk(r,i,void 0),m=!0;try{u=o(h),m=!1}finally{m?h3(d):ck(d)}return typeof Promise<"u"&&u instanceof Promise?u.then(function(w){return EC(d,a),PC(w,d)},function(w){throw h3(d),w}):(EC(d,a),PC(u,d))}if(!i||typeof i!="object"){if((u=o(i))===void 0&&(u=i),u===bW&&(u=void 0),r.D&&iE(u,!0),a){var y=[],b=[];Ql("Patches").M(i,u,y,b),a(y,b)}return u}Vs(21,i)},this.produceWithPatches=function(i,o){if(typeof i=="function")return function(u){for(var d=arguments.length,h=Array(d>1?d-1:0),m=1;m=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 a=Ql("Patches").$;return Qd(n)?a(n,r):this.produce(n,function(s){return a(s,r)})},e}(),Oa=new Ixe,SW=Oa.produce;Oa.produceWithPatches.bind(Oa);Oa.setAutoFreeze.bind(Oa);Oa.setUseProxies.bind(Oa);Oa.applyPatches.bind(Oa);Oa.createDraft.bind(Oa);Oa.finishDraft.bind(Oa);function NO(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 $O(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(io(1));return n(sE)(e,t)}if(typeof e!="function")throw new Error(io(2));var i=e,o=t,a=[],s=a,l=!1;function u(){s===a&&(s=a.slice())}function d(){if(l)throw new Error(io(3));return o}function h(w){if(typeof w!="function")throw new Error(io(4));if(l)throw new Error(io(5));var E=!0;return u(),s.push(w),function(){if(E){if(l)throw new Error(io(6));E=!1,u();var k=s.indexOf(w);s.splice(k,1),a=null}}}function m(w){if(!Dxe(w))throw new Error(io(7));if(typeof w.type>"u")throw new Error(io(8));if(l)throw new Error(io(9));try{l=!0,o=i(o,w)}finally{l=!1}for(var E=a=s,_=0;_"u")throw new Error(io(12));if(typeof n(void 0,{type:m3.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(io(13))})}function wW(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(io(14));h[y]=E,d=d||E!==w}return d=d||o.length!==Object.keys(l).length,d?h:l}}function v3(){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 y3}function i(s,l){r(s)===y3&&(n.unshift({key:s,value:l}),n.length>e&&n.pop())}function o(){return n}function a(){n=[]}return{get:r,put:i,getEntries:o,clear:a}}var Bxe=function(t,n){return t===n};function zxe(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]{Object.keys(D).forEach(function(I){T(I)&&d[I]!==D[I]&&m.indexOf(I)===-1&&m.push(I)}),Object.keys(d).forEach(function(I){D[I]===void 0&&T(I)&&m.indexOf(I)===-1&&d[I]!==void 0&&m.push(I)}),y===null&&(y=setInterval(_,i)),d=D},o)}function _(){if(m.length===0){y&&clearInterval(y),y=null;return}var D=m.shift(),I=r.reduce(function(N,W){return W.in(N,D,d)},d[D]);if(I!==void 0)try{h[D]=l(I)}catch(N){console.error("redux-persist/createPersistoid: error serializing state",N)}else delete h[D];m.length===0&&k()}function k(){Object.keys(h).forEach(function(D){d[D]===void 0&&delete h[D]}),b=s.setItem(a,l(h)).catch(L)}function T(D){return!(n&&n.indexOf(D)===-1&&D!=="_persist"||t&&t.indexOf(D)!==-1)}function L(D){u&&u(D)}var O=function(){for(;m.length!==0;)_();return b||Promise.resolve()};return{update:E,flush:O}}function SSe(e){return JSON.stringify(e)}function wSe(e){var t=e.transforms||[],n="".concat(e.keyPrefix!==void 0?e.keyPrefix:uE).concat(e.key),r=e.storage;e.debug;var i;return e.deserialize===!1?i=function(a){return a}:typeof e.deserialize=="function"?i=e.deserialize:i=CSe,r.getItem(n).then(function(o){if(o)try{var a={},s=i(o);return Object.keys(s).forEach(function(l){a[l]=t.reduceRight(function(u,d){return d.out(u,l,s)},i(s[l]))}),a}catch(l){throw l}else return})}function CSe(e){return JSON.parse(e)}function _Se(e){var t=e.storage,n="".concat(e.keyPrefix!==void 0?e.keyPrefix:uE).concat(e.key);return t.removeItem(n,kSe)}function kSe(e){}function GO(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 Ou(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function TSe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var MSe=5e3;function LSe(e,t){var n=e.version!==void 0?e.version:mSe;e.debug;var r=e.stateReconciler===void 0?bSe:e.stateReconciler,i=e.getStoredState||wSe,o=e.timeout!==void 0?e.timeout:MSe,a=null,s=!1,l=!0,u=function(h){return h._persist.rehydrated&&a&&!l&&a.update(h),h};return function(d,h){var m=d||{},y=m._persist,b=PSe(m,["_persist"]),w=b;if(h.type===TW){var E=!1,_=function(N,W){E||(h.rehydrate(e.key,N,W),E=!0)};if(o&&setTimeout(function(){!E&&_(void 0,new Error('redux-persist: persist timed out for persist key "'.concat(e.key,'"')))},o),l=!1,a||(a=xSe(e)),y)return Ou({},t(w,h),{_persist:y});if(typeof h.rehydrate!="function"||typeof h.register!="function")throw new Error("redux-persist: either rehydrate or register is not a function on the PERSIST action. This can happen if the action is being replayed. This is an unexplored use case, please open an issue and we will figure out a resolution.");return h.register(e.key),i(e).then(function(I){var N=e.migrate||function(W,B){return Promise.resolve(W)};N(I,n).then(function(W){_(W)},function(W){_(void 0,W)})},function(I){_(void 0,I)}),Ou({},t(w,h),{_persist:{version:n,rehydrated:!1}})}else{if(h.type===MW)return s=!0,h.result(_Se(e)),Ou({},t(w,h),{_persist:y});if(h.type===EW)return h.result(a&&a.flush()),Ou({},t(w,h),{_persist:y});if(h.type===PW)l=!0;else if(h.type===cE){if(s)return Ou({},w,{_persist:Ou({},y,{rehydrated:!0})});if(h.key===e.key){var k=t(w,h),T=h.payload,L=r!==!1&&T!==void 0?r(T,d,k,e):k,O=Ou({},L,{_persist:Ou({},y,{rehydrated:!0})});return u(O)}}}if(!y)return t(d,h);var D=t(w,h);return D===w?d:u(Ou({},D,{_persist:y}))}}function qO(e){return RSe(e)||OSe(e)||ASe()}function ASe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function OSe(e){if(Symbol.iterator in Object(e)||Object.prototype.toString.call(e)==="[object Arguments]")return Array.from(e)}function RSe(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0&&arguments[0]!==void 0?arguments[0]:AW,n=arguments.length>1?arguments[1]:void 0;switch(n.type){case LW:return pk({},t,{registry:[].concat(qO(t.registry),[n.key])});case cE:var r=t.registry.indexOf(n.key),i=qO(t.registry);return i.splice(r,1),pk({},t,{registry:i,bootstrapped:i.length===0});default:return t}};function jSe(e,t,n){var r=n||!1,i=sE(DSe,AW,t&&t.enhancer?t.enhancer:void 0),o=function(u){i.dispatch({type:LW,key:u})},a=function(u,d,h){var m={type:cE,payload:d,err:h,key:u};e.dispatch(m),i.dispatch(m),r&&s.getState().bootstrapped&&(r(),r=!1)},s=pk({},i,{purge:function(){var u=[];return e.dispatch({type:MW,result:function(h){u.push(h)}}),Promise.all(u)},flush:function(){var u=[];return e.dispatch({type:EW,result:function(h){u.push(h)}}),Promise.all(u)},pause:function(){e.dispatch({type:PW})},persist:function(){e.dispatch({type:TW,register:o,rehydrate:a})}});return t&&t.manualPersist||s.persist(),s}var dE={},fE={};fE.__esModule=!0;fE.default=FSe;function lS(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?lS=function(n){return typeof n}:lS=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},lS(e)}function RC(){}var NSe={getItem:RC,setItem:RC,removeItem:RC};function $Se(e){if((typeof self>"u"?"undefined":lS(self))!=="object"||!(e in self))return!1;try{var t=self[e],n="redux-persist ".concat(e," test");t.setItem(n,"test"),t.getItem(n),t.removeItem(n)}catch{return!1}return!0}function FSe(e){var t="".concat(e,"Storage");return $Se(t)?self[t]:NSe}dE.__esModule=!0;dE.default=HSe;var BSe=zSe(fE);function zSe(e){return e&&e.__esModule?e:{default:e}}function HSe(e){var t=(0,BSe.default)(e);return{getItem:function(r){return new Promise(function(i,o){i(t.getItem(r))})},setItem:function(r,i){return new Promise(function(o,a){o(t.setItem(r,i))})},removeItem:function(r){return new Promise(function(i,o){i(t.removeItem(r))})}}}var OW=void 0,WSe=USe(dE);function USe(e){return e&&e.__esModule?e:{default:e}}var VSe=(0,WSe.default)("local");OW=VSe;var RW={},IW={},Zh={};Object.defineProperty(Zh,"__esModule",{value:!0});Zh.PLACEHOLDER_UNDEFINED=Zh.PACKAGE_NAME=void 0;Zh.PACKAGE_NAME="redux-deep-persist";Zh.PLACEHOLDER_UNDEFINED="@@placeholder/undefined";var hE={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigType=void 0,function(t){t[t.WHITELIST=0]="WHITELIST",t[t.BLACKLIST=1]="BLACKLIST"}(e.ConfigType||(e.ConfigType={}))})(hE);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.getRootKeysGroup=e.throwError=e.configValidator=e.transformsValidator=e.singleTransformValidator=e.findDuplicatesAndSubsets=e.unique=e.preserveUndefined=e.mergeDeep=e.dissocPath=e.assocPath=e.path=e.difference=e.cloneDeep=e._cloneDeep=e.getCircularPath=e.isEmpty=e.isDate=e.isString=e.isIntegerString=e.isPlainObject=e.isArray=e.isLength=e.isObjectLike=void 0;const t=Zh,n=hE,r=function(z){return typeof z=="object"&&z!==null};e.isObjectLike=r;const i=function(z){return typeof z=="number"&&z>-1&&z%1==0&&z<=Number.MAX_SAFE_INTEGER};e.isLength=i,e.isArray=Array.isArray||function(z){return(0,e.isLength)(z&&z.length)&&Object.prototype.toString.call(z)==="[object Array]"};const o=function(z){return!!z&&typeof z=="object"&&!(0,e.isArray)(z)};e.isPlainObject=o;const a=function(z){return String(~~z)===z&&Number(z)>=0};e.isIntegerString=a;const s=function(z){return Object.prototype.toString.call(z)==="[object String]"};e.isString=s;const l=function(z){return Object.prototype.toString.call(z)==="[object Date]"};e.isDate=l;const u=function(z){return Object.keys(z).length===0};e.isEmpty=u;const d=Object.prototype.hasOwnProperty,h=function(z,$,V){V||(V=new Set([z])),$||($="");for(const X in z){const Q=$?`${$}.${X}`:X,G=z[X];if((0,e.isObjectLike)(G))return V.has(G)?`${$}.${X}:`:(V.add(G),(0,e.getCircularPath)(G,Q,V))}return null};e.getCircularPath=h;const m=function(z){if(!(0,e.isObjectLike)(z))return z;if((0,e.isDate)(z))return new Date(+z);const $=(0,e.isArray)(z)?[]:{};for(const V in z){const X=z[V];$[V]=(0,e._cloneDeep)(X)}return $};e._cloneDeep=m;const y=function(z){const $=(0,e.getCircularPath)(z);if($)throw new Error(`${t.PACKAGE_NAME}: circular dependency detected under the path '${$}' of object you're trying to persist: ${z}`);return(0,e._cloneDeep)(z)};e.cloneDeep=y;const b=function(z,$){if(z===$)return{};if(!(0,e.isObjectLike)(z)||!(0,e.isObjectLike)($))return $;const V=(0,e.cloneDeep)(z),X=(0,e.cloneDeep)($),Q=Object.keys(V).reduce((Y,ee)=>(d.call(X,ee)||(Y[ee]=void 0),Y),{});if((0,e.isDate)(V)||(0,e.isDate)(X))return V.valueOf()===X.valueOf()?{}:X;const G=Object.keys(X).reduce((Y,ee)=>{if(!d.call(V,ee))return Y[ee]=X[ee],Y;const fe=(0,e.difference)(V[ee],X[ee]);return(0,e.isObjectLike)(fe)&&(0,e.isEmpty)(fe)&&!(0,e.isDate)(fe)?(0,e.isArray)(V)&&!(0,e.isArray)(X)||!(0,e.isArray)(V)&&(0,e.isArray)(X)?X:Y:(Y[ee]=fe,Y)},Q);return delete G._persist,G};e.difference=b;const w=function(z,$){return $.reduce((V,X)=>{if(V){const Q=parseInt(X,10),G=(0,e.isIntegerString)(X)&&Q<0?V.length+Q:X;return(0,e.isString)(V)?V.charAt(G):V[G]}},z)};e.path=w;const E=function(z,$){return[...z].reverse().reduce((Q,G,Y)=>{const ee=(0,e.isIntegerString)(G)?[]:{};return ee[G]=Y===0?$:Q,ee},{})};e.assocPath=E;const _=function(z,$){const V=(0,e.cloneDeep)(z);return $.reduce((X,Q,G)=>(G===$.length-1&&X&&(0,e.isObjectLike)(X)&&delete X[Q],X&&X[Q]),V),V};e.dissocPath=_;const k=function(z,$,...V){if(!V||!V.length)return $;const X=V.shift(),{preservePlaceholder:Q,preserveUndefined:G}=z;if((0,e.isObjectLike)($)&&(0,e.isObjectLike)(X))for(const Y in X)if((0,e.isObjectLike)(X[Y])&&(0,e.isObjectLike)($[Y]))$[Y]||($[Y]={}),k(z,$[Y],X[Y]);else if((0,e.isArray)($)){let ee=X[Y];const fe=Q?t.PLACEHOLDER_UNDEFINED:void 0;G||(ee=typeof ee<"u"?ee:$[parseInt(Y,10)]),ee=ee!==t.PLACEHOLDER_UNDEFINED?ee:fe,$[parseInt(Y,10)]=ee}else{const ee=X[Y]!==t.PLACEHOLDER_UNDEFINED?X[Y]:void 0;$[Y]=ee}return k(z,$,...V)},T=function(z,$,V){return k({preservePlaceholder:V==null?void 0:V.preservePlaceholder,preserveUndefined:V==null?void 0:V.preserveUndefined},(0,e.cloneDeep)(z),(0,e.cloneDeep)($))};e.mergeDeep=T;const L=function(z,$=[],V,X,Q){if(!(0,e.isObjectLike)(z))return z;for(const G in z){const Y=z[G],ee=(0,e.isArray)(z),fe=X?X+"."+G:G;Y===null&&(V===n.ConfigType.WHITELIST&&$.indexOf(fe)===-1||V===n.ConfigType.BLACKLIST&&$.indexOf(fe)!==-1)&&ee&&(z[parseInt(G,10)]=void 0),Y===void 0&&Q&&V===n.ConfigType.BLACKLIST&&$.indexOf(fe)===-1&&ee&&(z[parseInt(G,10)]=t.PLACEHOLDER_UNDEFINED),L(Y,$,V,fe,Q)}},O=function(z,$,V,X){const Q=(0,e.cloneDeep)(z);return L(Q,$,V,"",X),Q};e.preserveUndefined=O;const D=function(z,$,V){return V.indexOf(z)===$};e.unique=D;const I=function(z){return z.reduce(($,V)=>{const X=z.filter(Ce=>Ce===V),Q=z.filter(Ce=>(V+".").indexOf(Ce+".")===0),{duplicates:G,subsets:Y}=$,ee=X.length>1&&G.indexOf(V)===-1,fe=Q.length>1;return{duplicates:[...G,...ee?X:[]],subsets:[...Y,...fe?Q:[]].filter(e.unique).sort()}},{duplicates:[],subsets:[]})};e.findDuplicatesAndSubsets=I;const N=function(z,$,V){const X=V===n.ConfigType.WHITELIST?"whitelist":"blacklist",Q=`${t.PACKAGE_NAME}: incorrect ${X} configuration.`,G=`Check your create${V===n.ConfigType.WHITELIST?"White":"Black"}list arguments. + +`;if(!(0,e.isString)($)||$.length<1)throw new Error(`${Q} Name (key) of reducer is required. ${G}`);if(!z||!z.length)return;const{duplicates:Y,subsets:ee}=(0,e.findDuplicatesAndSubsets)(z);if(Y.length>1)throw new Error(`${Q} Duplicated paths. + + ${JSON.stringify(Y)} + + ${G}`);if(ee.length>1)throw new Error(`${Q} You are trying to persist an entire property and also some of its subset. + +${JSON.stringify(ee)} + + ${G}`)};e.singleTransformValidator=N;const W=function(z){if(!(0,e.isArray)(z))return;const $=(z==null?void 0:z.map(V=>V.deepPersistKey).filter(V=>V))||[];if($.length){const V=$.filter((X,Q)=>$.indexOf(X)!==Q);if(V.length)throw new Error(`${t.PACKAGE_NAME}: found duplicated keys in transforms creators. You can createWhitelist or createBlacklist for a specific root reducer key only once. Duplicated keys among createWhitelist and createBlacklist transforms are not allowed. + + Duplicates: ${JSON.stringify(V)}`)}};e.transformsValidator=W;const B=function({whitelist:z,blacklist:$}){if(z&&z.length&&$&&$.length)throw new Error(`${t.PACKAGE_NAME}: you should not define a whitelist and blacklist in parallel. It is allowed to use only one of these lists per config.`);if(z){const{duplicates:V,subsets:X}=(0,e.findDuplicatesAndSubsets)(z);(0,e.throwError)({duplicates:V,subsets:X},"whitelist")}if($){const{duplicates:V,subsets:X}=(0,e.findDuplicatesAndSubsets)($);(0,e.throwError)({duplicates:V,subsets:X},"blacklist")}};e.configValidator=B;const K=function({duplicates:z,subsets:$},V){if(z.length)throw new Error(`${t.PACKAGE_NAME}: duplicates of paths found in your ${V}. + + ${JSON.stringify(z)}`);if($.length)throw new Error(`${t.PACKAGE_NAME}: subsets of some parent keys found in your ${V}. You must decide if you want to persist an entire path or its specific subset. + + ${JSON.stringify($)}`)};e.throwError=K;const ne=function(z){return(0,e.isArray)(z)?z.filter(e.unique).reduce(($,V)=>{const X=V.split("."),Q=X[0],G=X.slice(1).join(".")||void 0,Y=$.filter(fe=>Object.keys(fe)[0]===Q)[0],ee=Y?Object.values(Y)[0]:void 0;return Y||$.push({[Q]:G?[G]:void 0}),Y&&!ee&&G&&(Y[Q]=[G]),Y&&ee&&G&&ee.push(G),$},[]):[]};e.getRootKeysGroup=ne})(IW);(function(e){var t=wo&&wo.__rest||function(h,m){var y={};for(var b in h)Object.prototype.hasOwnProperty.call(h,b)&&m.indexOf(b)<0&&(y[b]=h[b]);if(h!=null&&typeof Object.getOwnPropertySymbols=="function")for(var w=0,b=Object.getOwnPropertySymbols(h);w!E(k)&&h?h(_,k,T):_,out:(_,k,T)=>!E(k)&&m?m(_,k,T):_,deepPersistKey:b&&b[0]}},a=(h,m,y,{debug:b,whitelist:w,blacklist:E,transforms:_})=>{if(w||E)throw new Error("State reconciler autoMergeDeep uses custom transforms instead of old whitelist or blacklist config properties. Please use createWhitelist or createBlacklist transforms.");(0,n.transformsValidator)(_);const k=(0,n.cloneDeep)(y);let T=h;if(T&&(0,n.isObjectLike)(T)){const L=(0,n.difference)(m,y);(0,n.isEmpty)(L)||(T=(0,n.mergeDeep)(h,L,{preserveUndefined:!0}),b&&console.log(`${r.PACKAGE_NAME}/autoMergeDeep: sub state of your state was modified by reducer during rehydration. Values from reducer will be kept: ${JSON.stringify(L)}`)),Object.keys(T).forEach(O=>{if(O!=="_persist"){if((0,n.isObjectLike)(k[O])){k[O]=(0,n.mergeDeep)(k[O],T[O]);return}k[O]=T[O]}})}return b&&T&&(0,n.isObjectLike)(T)&&console.log(`${r.PACKAGE_NAME}/autoMergeDeep: rehydrated keys ${JSON.stringify(T)}`),k};e.autoMergeDeep=a;const s=(h,m)=>((0,n.singleTransformValidator)(m,h,i.ConfigType.WHITELIST),o(y=>{if(!m||!m.length)return y;let b=null,w;return m.forEach(E=>{const _=E.split(".");w=(0,n.path)(y,_),typeof w>"u"&&(0,n.isIntegerString)(_[_.length-1])&&(w=r.PLACEHOLDER_UNDEFINED);const k=(0,n.assocPath)(_,w),T=(0,n.isArray)(k)?[]:{};b=(0,n.mergeDeep)(b||T,k,{preservePlaceholder:!0})}),b||y},y=>(0,n.preserveUndefined)(y,m,i.ConfigType.WHITELIST),{whitelist:[h]}));e.createWhitelist=s;const l=(h,m)=>((0,n.singleTransformValidator)(m,h,i.ConfigType.BLACKLIST),o(y=>{if(!m||!m.length)return;const b=(0,n.preserveUndefined)(y,m,i.ConfigType.BLACKLIST,!0);return m.map(E=>E.split(".")).reduce((E,_)=>(0,n.dissocPath)(E,_),b)},y=>(0,n.preserveUndefined)(y,m,i.ConfigType.BLACKLIST),{whitelist:[h]}));e.createBlacklist=l;const u=function(h,m){return m.map(y=>{const b=Object.keys(y)[0],w=y[b];return h===i.ConfigType.WHITELIST?(0,e.createWhitelist)(b,w):(0,e.createBlacklist)(b,w)})};e.getTransforms=u;const d=h=>{var{key:m,whitelist:y,blacklist:b,storage:w,transforms:E,rootReducer:_}=h,k=t(h,["key","whitelist","blacklist","storage","transforms","rootReducer"]);(0,n.configValidator)({whitelist:y,blacklist:b});const T=(0,n.getRootKeysGroup)(y),L=(0,n.getRootKeysGroup)(b),O=Object.keys(_(void 0,{type:""})),D=T.map(ne=>Object.keys(ne)[0]),I=L.map(ne=>Object.keys(ne)[0]),N=O.filter(ne=>D.indexOf(ne)===-1&&I.indexOf(ne)===-1),W=(0,e.getTransforms)(i.ConfigType.WHITELIST,T),B=(0,e.getTransforms)(i.ConfigType.BLACKLIST,L),K=(0,n.isArray)(y)?N.map(ne=>(0,e.createBlacklist)(ne)):[];return Object.assign(Object.assign({},k),{key:m,storage:w,transforms:[...W,...B,...K,...E||[]],stateReconciler:e.autoMergeDeep})};e.getPersistConfig=d})(RW);const Cd=(e,t)=>Math.floor(e/t)*t,Hl=(e,t)=>Math.round(e/t)*t;var we={},GSe={get exports(){return we},set exports(e){we=e}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",s="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,d="__lodash_placeholder__",h=1,m=2,y=4,b=1,w=2,E=1,_=2,k=4,T=8,L=16,O=32,D=64,I=128,N=256,W=512,B=30,K="...",ne=800,z=16,$=1,V=2,X=3,Q=1/0,G=9007199254740991,Y=17976931348623157e292,ee=0/0,fe=4294967295,Ce=fe-1,Se=fe>>>1,xe=[["ary",I],["bind",E],["bindKey",_],["curry",T],["curryRight",L],["flip",W],["partial",O],["partialRight",D],["rearg",N]],Le="[object Arguments]",je="[object Array]",Ze="[object AsyncFunction]",_e="[object Boolean]",tt="[object Date]",yt="[object DOMException]",ze="[object Error]",Ae="[object Function]",bt="[object GeneratorFunction]",Be="[object Map]",at="[object Number]",jt="[object Null]",mt="[object Object]",Zt="[object Promise]",on="[object Proxy]",le="[object RegExp]",De="[object Set]",We="[object String]",Ve="[object Symbol]",ye="[object Undefined]",Ne="[object WeakMap]",vt="[object WeakSet]",Mt="[object ArrayBuffer]",Me="[object DataView]",Ct="[object Float32Array]",zt="[object Float64Array]",$n="[object Int8Array]",Ke="[object Int16Array]",pt="[object Int32Array]",zr="[object Uint8Array]",rr="[object Uint8ClampedArray]",Bn="[object Uint16Array]",li="[object Uint32Array]",vs=/\b__p \+= '';/g,tl=/\b(__p \+=) '' \+/g,gf=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ys=/&(?:amp|lt|gt|quot|#39);/g,Zi=/[&<>"']/g,_0=RegExp(ys.source),Na=RegExp(Zi.source),wp=/<%-([\s\S]+?)%>/g,k0=/<%([\s\S]+?)%>/g,bc=/<%=([\s\S]+?)%>/g,Cp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,_p=/^\w*$/,na=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mf=/[\\^$.*+?()[\]{}|]/g,E0=RegExp(mf.source),xc=/^\s+/,vf=/\s/,P0=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,nl=/\{\n\/\* \[wrapped with (.+)\] \*/,Sc=/,? & /,T0=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,M0=/[()=,{}\[\]\/\s]/,L0=/\\(\\)?/g,A0=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,bs=/\w*$/,O0=/^[-+]0x[0-9a-f]+$/i,R0=/^0b[01]+$/i,I0=/^\[object .+?Constructor\]$/,D0=/^0o[0-7]+$/i,j0=/^(?:0|[1-9]\d*)$/,N0=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,rl=/($^)/,$0=/['\n\r\u2028\u2029\\]/g,xs="\\ud800-\\udfff",fu="\\u0300-\\u036f",hu="\\ufe20-\\ufe2f",il="\\u20d0-\\u20ff",pu=fu+hu+il,kp="\\u2700-\\u27bf",wc="a-z\\xdf-\\xf6\\xf8-\\xff",ol="\\xac\\xb1\\xd7\\xf7",ra="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Mn="\\u2000-\\u206f",wn=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ia="A-Z\\xc0-\\xd6\\xd8-\\xde",Hr="\\ufe0e\\ufe0f",ui=ol+ra+Mn+wn,oa="['’]",al="["+xs+"]",ci="["+ui+"]",Ss="["+pu+"]",yf="\\d+",gu="["+kp+"]",ws="["+wc+"]",bf="[^"+xs+ui+yf+kp+wc+ia+"]",Ri="\\ud83c[\\udffb-\\udfff]",Ep="(?:"+Ss+"|"+Ri+")",Pp="[^"+xs+"]",xf="(?:\\ud83c[\\udde6-\\uddff]){2}",sl="[\\ud800-\\udbff][\\udc00-\\udfff]",Lo="["+ia+"]",ll="\\u200d",mu="(?:"+ws+"|"+bf+")",F0="(?:"+Lo+"|"+bf+")",Cc="(?:"+oa+"(?:d|ll|m|re|s|t|ve))?",_c="(?:"+oa+"(?:D|LL|M|RE|S|T|VE))?",Sf=Ep+"?",kc="["+Hr+"]?",$a="(?:"+ll+"(?:"+[Pp,xf,sl].join("|")+")"+kc+Sf+")*",wf="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",vu="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Gt=kc+Sf+$a,Tp="(?:"+[gu,xf,sl].join("|")+")"+Gt,Ec="(?:"+[Pp+Ss+"?",Ss,xf,sl,al].join("|")+")",Pc=RegExp(oa,"g"),Mp=RegExp(Ss,"g"),aa=RegExp(Ri+"(?="+Ri+")|"+Ec+Gt,"g"),Xn=RegExp([Lo+"?"+ws+"+"+Cc+"(?="+[ci,Lo,"$"].join("|")+")",F0+"+"+_c+"(?="+[ci,Lo+mu,"$"].join("|")+")",Lo+"?"+mu+"+"+Cc,Lo+"+"+_c,vu,wf,yf,Tp].join("|"),"g"),Cf=RegExp("["+ll+xs+pu+Hr+"]"),Lp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,_f=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ap=-1,cn={};cn[Ct]=cn[zt]=cn[$n]=cn[Ke]=cn[pt]=cn[zr]=cn[rr]=cn[Bn]=cn[li]=!0,cn[Le]=cn[je]=cn[Mt]=cn[_e]=cn[Me]=cn[tt]=cn[ze]=cn[Ae]=cn[Be]=cn[at]=cn[mt]=cn[le]=cn[De]=cn[We]=cn[Ne]=!1;var qt={};qt[Le]=qt[je]=qt[Mt]=qt[Me]=qt[_e]=qt[tt]=qt[Ct]=qt[zt]=qt[$n]=qt[Ke]=qt[pt]=qt[Be]=qt[at]=qt[mt]=qt[le]=qt[De]=qt[We]=qt[Ve]=qt[zr]=qt[rr]=qt[Bn]=qt[li]=!0,qt[ze]=qt[Ae]=qt[Ne]=!1;var Op={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},B0={"&":"&","<":"<",">":">",'"':""","'":"'"},q={"&":"&","<":"<",">":">",""":'"',"'":"'"},re={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},pe=parseFloat,ot=parseInt,Ht=typeof wo=="object"&&wo&&wo.Object===Object&&wo,mn=typeof self=="object"&&self&&self.Object===Object&&self,St=Ht||mn||Function("return this")(),Ot=t&&!t.nodeType&&t,Kt=Ot&&!0&&e&&!e.nodeType&&e,Jr=Kt&&Kt.exports===Ot,Ar=Jr&&Ht.process,vn=function(){try{var ie=Kt&&Kt.require&&Kt.require("util").types;return ie||Ar&&Ar.binding&&Ar.binding("util")}catch{}}(),di=vn&&vn.isArrayBuffer,Ao=vn&&vn.isDate,uo=vn&&vn.isMap,Fa=vn&&vn.isRegExp,ul=vn&&vn.isSet,z0=vn&&vn.isTypedArray;function Ii(ie,be,me){switch(me.length){case 0:return ie.call(be);case 1:return ie.call(be,me[0]);case 2:return ie.call(be,me[0],me[1]);case 3:return ie.call(be,me[0],me[1],me[2])}return ie.apply(be,me)}function H0(ie,be,me,rt){for(var Lt=-1,en=ie==null?0:ie.length;++Lt-1}function Rp(ie,be,me){for(var rt=-1,Lt=ie==null?0:ie.length;++rt-1;);return me}function Cs(ie,be){for(var me=ie.length;me--&&Lc(be,ie[me],0)>-1;);return me}function U0(ie,be){for(var me=ie.length,rt=0;me--;)ie[me]===be&&++rt;return rt}var A2=Tf(Op),_s=Tf(B0);function dl(ie){return"\\"+re[ie]}function Dp(ie,be){return ie==null?n:ie[be]}function bu(ie){return Cf.test(ie)}function jp(ie){return Lp.test(ie)}function O2(ie){for(var be,me=[];!(be=ie.next()).done;)me.push(be.value);return me}function Np(ie){var be=-1,me=Array(ie.size);return ie.forEach(function(rt,Lt){me[++be]=[Lt,rt]}),me}function $p(ie,be){return function(me){return ie(be(me))}}function ua(ie,be){for(var me=-1,rt=ie.length,Lt=0,en=[];++me-1}function Z2(c,v){var C=this.__data__,A=Ur(C,c);return A<0?(++this.size,C.push([c,v])):C[A][1]=v,this}ca.prototype.clear=Y2,ca.prototype.delete=X2,ca.prototype.get=ov,ca.prototype.has=av,ca.prototype.set=Z2;function da(c){var v=-1,C=c==null?0:c.length;for(this.clear();++v=v?c:v)),c}function wi(c,v,C,A,j,H){var Z,te=v&h,ce=v&m,ke=v&y;if(C&&(Z=j?C(c,A,j,H):C(c)),Z!==n)return Z;if(!Cr(c))return c;var Pe=$t(c);if(Pe){if(Z=TK(c),!te)return Bi(c,Z)}else{var Re=ki(c),nt=Re==Ae||Re==bt;if(id(c))return wl(c,te);if(Re==mt||Re==Le||nt&&!j){if(Z=ce||nt?{}:OP(c),!te)return ce?_v(c,Kc(Z,c)):$o(c,st(Z,c))}else{if(!qt[Re])return j?c:{};Z=MK(c,Re,te)}}H||(H=new Rr);var gt=H.get(c);if(gt)return gt;H.set(c,Z),sT(c)?c.forEach(function(kt){Z.add(wi(kt,v,C,kt,c,H))}):oT(c)&&c.forEach(function(kt,Xt){Z.set(Xt,wi(kt,v,C,Xt,c,H))});var _t=ke?ce?ge:ma:ce?Bo:Ei,Vt=Pe?n:_t(c);return Zn(Vt||c,function(kt,Xt){Vt&&(Xt=kt,kt=c[Xt]),pl(Z,Xt,wi(kt,v,C,Xt,c,H))}),Z}function Gp(c){var v=Ei(c);return function(C){return qp(C,c,v)}}function qp(c,v,C){var A=C.length;if(c==null)return!A;for(c=dn(c);A--;){var j=C[A],H=v[j],Z=c[j];if(Z===n&&!(j in c)||!H(Z))return!1}return!0}function cv(c,v,C){if(typeof c!="function")throw new Di(a);return Mv(function(){c.apply(n,C)},v)}function Yc(c,v,C,A){var j=-1,H=Qi,Z=!0,te=c.length,ce=[],ke=v.length;if(!te)return ce;C&&(v=Hn(v,Wr(C))),A?(H=Rp,Z=!1):v.length>=i&&(H=Oc,Z=!1,v=new Wa(v));e:for(;++jj?0:j+C),A=A===n||A>j?j:Ft(A),A<0&&(A+=j),A=C>A?0:uT(A);C0&&C(te)?v>1?Vr(te,v-1,C,A,j):Ba(j,te):A||(j[j.length]=te)}return j}var Yp=Cl(),Do=Cl(!0);function ga(c,v){return c&&Yp(c,v,Ei)}function jo(c,v){return c&&Do(c,v,Ei)}function Xp(c,v){return Ro(v,function(C){return Tu(c[C])})}function gl(c,v){v=Sl(v,c);for(var C=0,A=v.length;c!=null&&Cv}function Qp(c,v){return c!=null&&an.call(c,v)}function Jp(c,v){return c!=null&&v in dn(c)}function eg(c,v,C){return c>=hi(v,C)&&c=120&&Pe.length>=120)?new Wa(Z&&Pe):n}Pe=c[0];var Re=-1,nt=te[0];e:for(;++Re-1;)te!==c&&jf.call(te,ce,1),jf.call(c,ce,1);return c}function Vf(c,v){for(var C=c?v.length:0,A=C-1;C--;){var j=v[C];if(C==A||j!==H){var H=j;Pu(j)?jf.call(c,j,1):cg(c,j)}}return c}function Gf(c,v){return c+Su(J0()*(v-c+1))}function bl(c,v,C,A){for(var j=-1,H=Or(Ff((v-c)/(C||1)),0),Z=me(H);H--;)Z[A?H:++j]=c,c+=C;return Z}function td(c,v){var C="";if(!c||v<1||v>G)return C;do v%2&&(C+=c),v=Su(v/2),v&&(c+=c);while(v);return C}function Tt(c,v){return V4(DP(c,v,zo),c+"")}function og(c){return qc(vg(c))}function qf(c,v){var C=vg(c);return ob(C,Cu(v,0,C.length))}function ku(c,v,C,A){if(!Cr(c))return c;v=Sl(v,c);for(var j=-1,H=v.length,Z=H-1,te=c;te!=null&&++jj?0:j+v),C=C>j?j:C,C<0&&(C+=j),j=v>C?0:C-v>>>0,v>>>=0;for(var H=me(j);++A>>1,Z=c[H];Z!==null&&!va(Z)&&(C?Z<=v:Z=i){var ke=v?null:U(c);if(ke)return Of(ke);Z=!1,j=Oc,ce=new Wa}else ce=v?[]:te;e:for(;++A=A?c:qr(c,v,C)}var xv=N2||function(c){return St.clearTimeout(c)};function wl(c,v){if(v)return c.slice();var C=c.length,A=Nc?Nc(C):new c.constructor(C);return c.copy(A),A}function Sv(c){var v=new c.constructor(c.byteLength);return new ji(v).set(new ji(c)),v}function Eu(c,v){var C=v?Sv(c.buffer):c.buffer;return new c.constructor(C,c.byteOffset,c.byteLength)}function tb(c){var v=new c.constructor(c.source,bs.exec(c));return v.lastIndex=c.lastIndex,v}function Qn(c){return zf?dn(zf.call(c)):{}}function nb(c,v){var C=v?Sv(c.buffer):c.buffer;return new c.constructor(C,c.byteOffset,c.length)}function wv(c,v){if(c!==v){var C=c!==n,A=c===null,j=c===c,H=va(c),Z=v!==n,te=v===null,ce=v===v,ke=va(v);if(!te&&!ke&&!H&&c>v||H&&Z&&ce&&!te&&!ke||A&&Z&&ce||!C&&ce||!j)return 1;if(!A&&!H&&!ke&&c=te)return ce;var ke=C[A];return ce*(ke=="desc"?-1:1)}}return c.index-v.index}function rb(c,v,C,A){for(var j=-1,H=c.length,Z=C.length,te=-1,ce=v.length,ke=Or(H-Z,0),Pe=me(ce+ke),Re=!A;++te1?C[j-1]:n,Z=j>2?C[2]:n;for(H=c.length>3&&typeof H=="function"?(j--,H):n,Z&&mo(C[0],C[1],Z)&&(H=j<3?n:H,j=1),v=dn(v);++A-1?j[H?v[Z]:Z]:n}}function Ev(c){return mr(function(v){var C=v.length,A=C,j=fo.prototype.thru;for(c&&v.reverse();A--;){var H=v[A];if(typeof H!="function")throw new Di(a);if(j&&!Z&&ve(H)=="wrapper")var Z=new fo([],!0)}for(A=Z?A:C;++A1&&tn.reverse(),Pe&&cete))return!1;var ke=H.get(c),Pe=H.get(v);if(ke&&Pe)return ke==v&&Pe==c;var Re=-1,nt=!0,gt=C&w?new Wa:n;for(H.set(c,v),H.set(v,c);++Re1?"& ":"")+v[A],v=v.join(C>2?", ":" "),c.replace(P0,`{ +/* [wrapped with `+v+`] */ +`)}function AK(c){return $t(c)||th(c)||!!(Z0&&c&&c[Z0])}function Pu(c,v){var C=typeof c;return v=v??G,!!v&&(C=="number"||C!="symbol"&&j0.test(c))&&c>-1&&c%1==0&&c0){if(++v>=ne)return arguments[0]}else v=0;return c.apply(n,arguments)}}function ob(c,v){var C=-1,A=c.length,j=A-1;for(v=v===n?A:v;++C1?c[v-1]:n;return C=typeof C=="function"?(c.pop(),C):n,qP(c,C)});function KP(c){var v=F(c);return v.__chain__=!0,v}function HY(c,v){return v(c),c}function ab(c,v){return v(c)}var WY=mr(function(c){var v=c.length,C=v?c[0]:0,A=this.__wrapped__,j=function(H){return Vp(H,c)};return v>1||this.__actions__.length||!(A instanceof Yt)||!Pu(C)?this.thru(j):(A=A.slice(C,+C+(v?1:0)),A.__actions__.push({func:ab,args:[j],thisArg:n}),new fo(A,this.__chain__).thru(function(H){return v&&!H.length&&H.push(n),H}))});function UY(){return KP(this)}function VY(){return new fo(this.value(),this.__chain__)}function GY(){this.__values__===n&&(this.__values__=lT(this.value()));var c=this.__index__>=this.__values__.length,v=c?n:this.__values__[this.__index__++];return{done:c,value:v}}function qY(){return this}function KY(c){for(var v,C=this;C instanceof Hf;){var A=zP(C);A.__index__=0,A.__values__=n,v?j.__wrapped__=A:v=A;var j=A;C=C.__wrapped__}return j.__wrapped__=c,v}function YY(){var c=this.__wrapped__;if(c instanceof Yt){var v=c;return this.__actions__.length&&(v=new Yt(this)),v=v.reverse(),v.__actions__.push({func:ab,args:[G4],thisArg:n}),new fo(v,this.__chain__)}return this.thru(G4)}function XY(){return xl(this.__wrapped__,this.__actions__)}var ZY=fg(function(c,v,C){an.call(c,C)?++c[C]:fa(c,C,1)});function QY(c,v,C){var A=$t(c)?zn:dv;return C&&mo(c,v,C)&&(v=n),A(c,Oe(v,3))}function JY(c,v){var C=$t(c)?Ro:pa;return C(c,Oe(v,3))}var eX=kv(HP),tX=kv(WP);function nX(c,v){return Vr(sb(c,v),1)}function rX(c,v){return Vr(sb(c,v),Q)}function iX(c,v,C){return C=C===n?1:Ft(C),Vr(sb(c,v),C)}function YP(c,v){var C=$t(c)?Zn:Ps;return C(c,Oe(v,3))}function XP(c,v){var C=$t(c)?Oo:Kp;return C(c,Oe(v,3))}var oX=fg(function(c,v,C){an.call(c,C)?c[C].push(v):fa(c,C,[v])});function aX(c,v,C,A){c=Fo(c)?c:vg(c),C=C&&!A?Ft(C):0;var j=c.length;return C<0&&(C=Or(j+C,0)),fb(c)?C<=j&&c.indexOf(v,C)>-1:!!j&&Lc(c,v,C)>-1}var sX=Tt(function(c,v,C){var A=-1,j=typeof v=="function",H=Fo(c)?me(c.length):[];return Ps(c,function(Z){H[++A]=j?Ii(v,Z,C):Ts(Z,v,C)}),H}),lX=fg(function(c,v,C){fa(c,C,v)});function sb(c,v){var C=$t(c)?Hn:Dr;return C(c,Oe(v,3))}function uX(c,v,C,A){return c==null?[]:($t(v)||(v=v==null?[]:[v]),C=A?n:C,$t(C)||(C=C==null?[]:[C]),$i(c,v,C))}var cX=fg(function(c,v,C){c[C?0:1].push(v)},function(){return[[],[]]});function dX(c,v,C){var A=$t(c)?kf:Ip,j=arguments.length<3;return A(c,Oe(v,4),C,j,Ps)}function fX(c,v,C){var A=$t(c)?P2:Ip,j=arguments.length<3;return A(c,Oe(v,4),C,j,Kp)}function hX(c,v){var C=$t(c)?Ro:pa;return C(c,cb(Oe(v,3)))}function pX(c){var v=$t(c)?qc:og;return v(c)}function gX(c,v,C){(C?mo(c,v,C):v===n)?v=1:v=Ft(v);var A=$t(c)?Si:qf;return A(c,v)}function mX(c){var v=$t(c)?N4:_i;return v(c)}function vX(c){if(c==null)return 0;if(Fo(c))return fb(c)?za(c):c.length;var v=ki(c);return v==Be||v==De?c.size:Gr(c).length}function yX(c,v,C){var A=$t(c)?Tc:No;return C&&mo(c,v,C)&&(v=n),A(c,Oe(v,3))}var bX=Tt(function(c,v){if(c==null)return[];var C=v.length;return C>1&&mo(c,v[0],v[1])?v=[]:C>2&&mo(v[0],v[1],v[2])&&(v=[v[0]]),$i(c,Vr(v,1),[])}),lb=$2||function(){return St.Date.now()};function xX(c,v){if(typeof v!="function")throw new Di(a);return c=Ft(c),function(){if(--c<1)return v.apply(this,arguments)}}function ZP(c,v,C){return v=C?n:v,v=c&&v==null?c.length:v,he(c,I,n,n,n,n,v)}function QP(c,v){var C;if(typeof v!="function")throw new Di(a);return c=Ft(c),function(){return--c>0&&(C=v.apply(this,arguments)),c<=1&&(v=n),C}}var K4=Tt(function(c,v,C){var A=E;if(C.length){var j=ua(C,et(K4));A|=O}return he(c,A,v,C,j)}),JP=Tt(function(c,v,C){var A=E|_;if(C.length){var j=ua(C,et(JP));A|=O}return he(v,A,c,C,j)});function eT(c,v,C){v=C?n:v;var A=he(c,T,n,n,n,n,n,v);return A.placeholder=eT.placeholder,A}function tT(c,v,C){v=C?n:v;var A=he(c,L,n,n,n,n,n,v);return A.placeholder=tT.placeholder,A}function nT(c,v,C){var A,j,H,Z,te,ce,ke=0,Pe=!1,Re=!1,nt=!0;if(typeof c!="function")throw new Di(a);v=Ga(v)||0,Cr(C)&&(Pe=!!C.leading,Re="maxWait"in C,H=Re?Or(Ga(C.maxWait)||0,v):H,nt="trailing"in C?!!C.trailing:nt);function gt(Yr){var Rs=A,Lu=j;return A=j=n,ke=Yr,Z=c.apply(Lu,Rs),Z}function _t(Yr){return ke=Yr,te=Mv(Xt,v),Pe?gt(Yr):Z}function Vt(Yr){var Rs=Yr-ce,Lu=Yr-ke,ST=v-Rs;return Re?hi(ST,H-Lu):ST}function kt(Yr){var Rs=Yr-ce,Lu=Yr-ke;return ce===n||Rs>=v||Rs<0||Re&&Lu>=H}function Xt(){var Yr=lb();if(kt(Yr))return tn(Yr);te=Mv(Xt,Vt(Yr))}function tn(Yr){return te=n,nt&&A?gt(Yr):(A=j=n,Z)}function ya(){te!==n&&xv(te),ke=0,A=ce=j=te=n}function vo(){return te===n?Z:tn(lb())}function ba(){var Yr=lb(),Rs=kt(Yr);if(A=arguments,j=this,ce=Yr,Rs){if(te===n)return _t(ce);if(Re)return xv(te),te=Mv(Xt,v),gt(ce)}return te===n&&(te=Mv(Xt,v)),Z}return ba.cancel=ya,ba.flush=vo,ba}var SX=Tt(function(c,v){return cv(c,1,v)}),wX=Tt(function(c,v,C){return cv(c,Ga(v)||0,C)});function CX(c){return he(c,W)}function ub(c,v){if(typeof c!="function"||v!=null&&typeof v!="function")throw new Di(a);var C=function(){var A=arguments,j=v?v.apply(this,A):A[0],H=C.cache;if(H.has(j))return H.get(j);var Z=c.apply(this,A);return C.cache=H.set(j,Z)||H,Z};return C.cache=new(ub.Cache||da),C}ub.Cache=da;function cb(c){if(typeof c!="function")throw new Di(a);return function(){var v=arguments;switch(v.length){case 0:return!c.call(this);case 1:return!c.call(this,v[0]);case 2:return!c.call(this,v[0],v[1]);case 3:return!c.call(this,v[0],v[1],v[2])}return!c.apply(this,v)}}function _X(c){return QP(2,c)}var kX=B4(function(c,v){v=v.length==1&&$t(v[0])?Hn(v[0],Wr(Oe())):Hn(Vr(v,1),Wr(Oe()));var C=v.length;return Tt(function(A){for(var j=-1,H=hi(A.length,C);++j=v}),th=ng(function(){return arguments}())?ng:function(c){return jr(c)&&an.call(c,"callee")&&!X0.call(c,"callee")},$t=me.isArray,BX=di?Wr(di):hv;function Fo(c){return c!=null&&db(c.length)&&!Tu(c)}function Kr(c){return jr(c)&&Fo(c)}function zX(c){return c===!0||c===!1||jr(c)&&Ci(c)==_e}var id=F2||a5,HX=Ao?Wr(Ao):pv;function WX(c){return jr(c)&&c.nodeType===1&&!Lv(c)}function UX(c){if(c==null)return!0;if(Fo(c)&&($t(c)||typeof c=="string"||typeof c.splice=="function"||id(c)||mg(c)||th(c)))return!c.length;var v=ki(c);if(v==Be||v==De)return!c.size;if(Tv(c))return!Gr(c).length;for(var C in c)if(an.call(c,C))return!1;return!0}function VX(c,v){return Zc(c,v)}function GX(c,v,C){C=typeof C=="function"?C:n;var A=C?C(c,v):n;return A===n?Zc(c,v,n,C):!!A}function X4(c){if(!jr(c))return!1;var v=Ci(c);return v==ze||v==yt||typeof c.message=="string"&&typeof c.name=="string"&&!Lv(c)}function qX(c){return typeof c=="number"&&zp(c)}function Tu(c){if(!Cr(c))return!1;var v=Ci(c);return v==Ae||v==bt||v==Ze||v==on}function iT(c){return typeof c=="number"&&c==Ft(c)}function db(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=G}function Cr(c){var v=typeof c;return c!=null&&(v=="object"||v=="function")}function jr(c){return c!=null&&typeof c=="object"}var oT=uo?Wr(uo):F4;function KX(c,v){return c===v||Qc(c,v,At(v))}function YX(c,v,C){return C=typeof C=="function"?C:n,Qc(c,v,At(v),C)}function XX(c){return aT(c)&&c!=+c}function ZX(c){if(IK(c))throw new Lt(o);return rg(c)}function QX(c){return c===null}function JX(c){return c==null}function aT(c){return typeof c=="number"||jr(c)&&Ci(c)==at}function Lv(c){if(!jr(c)||Ci(c)!=mt)return!1;var v=$c(c);if(v===null)return!0;var C=an.call(v,"constructor")&&v.constructor;return typeof C=="function"&&C instanceof C&&xr.call(C)==xi}var Z4=Fa?Wr(Fa):Sr;function eZ(c){return iT(c)&&c>=-G&&c<=G}var sT=ul?Wr(ul):Wt;function fb(c){return typeof c=="string"||!$t(c)&&jr(c)&&Ci(c)==We}function va(c){return typeof c=="symbol"||jr(c)&&Ci(c)==Ve}var mg=z0?Wr(z0):ei;function tZ(c){return c===n}function nZ(c){return jr(c)&&ki(c)==Ne}function rZ(c){return jr(c)&&Ci(c)==vt}var iZ=P(ml),oZ=P(function(c,v){return c<=v});function lT(c){if(!c)return[];if(Fo(c))return fb(c)?Ji(c):Bi(c);if(Fc&&c[Fc])return O2(c[Fc]());var v=ki(c),C=v==Be?Np:v==De?Of:vg;return C(c)}function Mu(c){if(!c)return c===0?c:0;if(c=Ga(c),c===Q||c===-Q){var v=c<0?-1:1;return v*Y}return c===c?c:0}function Ft(c){var v=Mu(c),C=v%1;return v===v?C?v-C:v:0}function uT(c){return c?Cu(Ft(c),0,fe):0}function Ga(c){if(typeof c=="number")return c;if(va(c))return ee;if(Cr(c)){var v=typeof c.valueOf=="function"?c.valueOf():c;c=Cr(v)?v+"":v}if(typeof c!="string")return c===0?c:+c;c=co(c);var C=R0.test(c);return C||D0.test(c)?ot(c.slice(2),C?2:8):O0.test(c)?ee:+c}function cT(c){return Ua(c,Bo(c))}function aZ(c){return c?Cu(Ft(c),-G,G):c===0?c:0}function _n(c){return c==null?"":po(c)}var sZ=go(function(c,v){if(Tv(v)||Fo(v)){Ua(v,Ei(v),c);return}for(var C in v)an.call(v,C)&&pl(c,C,v[C])}),dT=go(function(c,v){Ua(v,Bo(v),c)}),hb=go(function(c,v,C,A){Ua(v,Bo(v),c,A)}),lZ=go(function(c,v,C,A){Ua(v,Ei(v),c,A)}),uZ=mr(Vp);function cZ(c,v){var C=wu(c);return v==null?C:st(C,v)}var dZ=Tt(function(c,v){c=dn(c);var C=-1,A=v.length,j=A>2?v[2]:n;for(j&&mo(v[0],v[1],j)&&(A=1);++C1),H}),Ua(c,ge(c),C),A&&(C=wi(C,h|m|y,It));for(var j=v.length;j--;)cg(C,v[j]);return C});function MZ(c,v){return hT(c,cb(Oe(v)))}var LZ=mr(function(c,v){return c==null?{}:vv(c,v)});function hT(c,v){if(c==null)return{};var C=Hn(ge(c),function(A){return[A]});return v=Oe(v),ig(c,C,function(A,j){return v(A,j[0])})}function AZ(c,v,C){v=Sl(v,c);var A=-1,j=v.length;for(j||(j=1,c=n);++Av){var A=c;c=v,v=A}if(C||c%1||v%1){var j=J0();return hi(c+j*(v-c+pe("1e-"+((j+"").length-1))),v)}return Gf(c,v)}var HZ=_l(function(c,v,C){return v=v.toLowerCase(),c+(C?mT(v):v)});function mT(c){return e5(_n(c).toLowerCase())}function vT(c){return c=_n(c),c&&c.replace(N0,A2).replace(Mp,"")}function WZ(c,v,C){c=_n(c),v=po(v);var A=c.length;C=C===n?A:Cu(Ft(C),0,A);var j=C;return C-=v.length,C>=0&&c.slice(C,j)==v}function UZ(c){return c=_n(c),c&&Na.test(c)?c.replace(Zi,_s):c}function VZ(c){return c=_n(c),c&&E0.test(c)?c.replace(mf,"\\$&"):c}var GZ=_l(function(c,v,C){return c+(C?"-":"")+v.toLowerCase()}),qZ=_l(function(c,v,C){return c+(C?" ":"")+v.toLowerCase()}),KZ=pg("toLowerCase");function YZ(c,v,C){c=_n(c),v=Ft(v);var A=v?za(c):0;if(!v||A>=v)return c;var j=(v-A)/2;return f(Su(j),C)+c+f(Ff(j),C)}function XZ(c,v,C){c=_n(c),v=Ft(v);var A=v?za(c):0;return v&&A>>0,C?(c=_n(c),c&&(typeof v=="string"||v!=null&&!Z4(v))&&(v=po(v),!v&&bu(c))?Ls(Ji(c),0,C):c.split(v,C)):[]}var rQ=_l(function(c,v,C){return c+(C?" ":"")+e5(v)});function iQ(c,v,C){return c=_n(c),C=C==null?0:Cu(Ft(C),0,c.length),v=po(v),c.slice(C,C+v.length)==v}function oQ(c,v,C){var A=F.templateSettings;C&&mo(c,v,C)&&(v=n),c=_n(c),v=hb({},v,A,Ue);var j=hb({},v.imports,A.imports,Ue),H=Ei(j),Z=Af(j,H),te,ce,ke=0,Pe=v.interpolate||rl,Re="__p += '",nt=If((v.escape||rl).source+"|"+Pe.source+"|"+(Pe===bc?A0:rl).source+"|"+(v.evaluate||rl).source+"|$","g"),gt="//# sourceURL="+(an.call(v,"sourceURL")?(v.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Ap+"]")+` +`;c.replace(nt,function(kt,Xt,tn,ya,vo,ba){return tn||(tn=ya),Re+=c.slice(ke,ba).replace($0,dl),Xt&&(te=!0,Re+=`' + +__e(`+Xt+`) + +'`),vo&&(ce=!0,Re+=`'; +`+vo+`; +__p += '`),tn&&(Re+=`' + +((__t = (`+tn+`)) == null ? '' : __t) + +'`),ke=ba+kt.length,kt}),Re+=`'; +`;var _t=an.call(v,"variable")&&v.variable;if(!_t)Re=`with (obj) { +`+Re+` +} +`;else if(M0.test(_t))throw new Lt(s);Re=(ce?Re.replace(vs,""):Re).replace(tl,"$1").replace(gf,"$1;"),Re="function("+(_t||"obj")+`) { +`+(_t?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(te?", __e = _.escape":"")+(ce?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+Re+`return __p +}`;var Vt=bT(function(){return en(H,gt+"return "+Re).apply(n,Z)});if(Vt.source=Re,X4(Vt))throw Vt;return Vt}function aQ(c){return _n(c).toLowerCase()}function sQ(c){return _n(c).toUpperCase()}function lQ(c,v,C){if(c=_n(c),c&&(C||v===n))return co(c);if(!c||!(v=po(v)))return c;var A=Ji(c),j=Ji(v),H=la(A,j),Z=Cs(A,j)+1;return Ls(A,H,Z).join("")}function uQ(c,v,C){if(c=_n(c),c&&(C||v===n))return c.slice(0,G0(c)+1);if(!c||!(v=po(v)))return c;var A=Ji(c),j=Cs(A,Ji(v))+1;return Ls(A,0,j).join("")}function cQ(c,v,C){if(c=_n(c),c&&(C||v===n))return c.replace(xc,"");if(!c||!(v=po(v)))return c;var A=Ji(c),j=la(A,Ji(v));return Ls(A,j).join("")}function dQ(c,v){var C=B,A=K;if(Cr(v)){var j="separator"in v?v.separator:j;C="length"in v?Ft(v.length):C,A="omission"in v?po(v.omission):A}c=_n(c);var H=c.length;if(bu(c)){var Z=Ji(c);H=Z.length}if(C>=H)return c;var te=C-za(A);if(te<1)return A;var ce=Z?Ls(Z,0,te).join(""):c.slice(0,te);if(j===n)return ce+A;if(Z&&(te+=ce.length-te),Z4(j)){if(c.slice(te).search(j)){var ke,Pe=ce;for(j.global||(j=If(j.source,_n(bs.exec(j))+"g")),j.lastIndex=0;ke=j.exec(Pe);)var Re=ke.index;ce=ce.slice(0,Re===n?te:Re)}}else if(c.indexOf(po(j),te)!=te){var nt=ce.lastIndexOf(j);nt>-1&&(ce=ce.slice(0,nt))}return ce+A}function fQ(c){return c=_n(c),c&&_0.test(c)?c.replace(ys,D2):c}var hQ=_l(function(c,v,C){return c+(C?" ":"")+v.toUpperCase()}),e5=pg("toUpperCase");function yT(c,v,C){return c=_n(c),v=C?n:v,v===n?jp(c)?Rf(c):W0(c):c.match(v)||[]}var bT=Tt(function(c,v){try{return Ii(c,n,v)}catch(C){return X4(C)?C:new Lt(C)}}),pQ=mr(function(c,v){return Zn(v,function(C){C=kl(C),fa(c,C,K4(c[C],c))}),c});function gQ(c){var v=c==null?0:c.length,C=Oe();return c=v?Hn(c,function(A){if(typeof A[1]!="function")throw new Di(a);return[C(A[0]),A[1]]}):[],Tt(function(A){for(var j=-1;++jG)return[];var C=fe,A=hi(c,fe);v=Oe(v),c-=fe;for(var j=Lf(A,v);++C0||v<0)?new Yt(C):(c<0?C=C.takeRight(-c):c&&(C=C.drop(c)),v!==n&&(v=Ft(v),C=v<0?C.dropRight(-v):C.take(v-c)),C)},Yt.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},Yt.prototype.toArray=function(){return this.take(fe)},ga(Yt.prototype,function(c,v){var C=/^(?:filter|find|map|reject)|While$/.test(v),A=/^(?:head|last)$/.test(v),j=F[A?"take"+(v=="last"?"Right":""):v],H=A||/^find/.test(v);j&&(F.prototype[v]=function(){var Z=this.__wrapped__,te=A?[1]:arguments,ce=Z instanceof Yt,ke=te[0],Pe=ce||$t(Z),Re=function(Xt){var tn=j.apply(F,Ba([Xt],te));return A&&nt?tn[0]:tn};Pe&&C&&typeof ke=="function"&&ke.length!=1&&(ce=Pe=!1);var nt=this.__chain__,gt=!!this.__actions__.length,_t=H&&!nt,Vt=ce&&!gt;if(!H&&Pe){Z=Vt?Z:new Yt(this);var kt=c.apply(Z,te);return kt.__actions__.push({func:ab,args:[Re],thisArg:n}),new fo(kt,nt)}return _t&&Vt?c.apply(this,te):(kt=this.thru(Re),_t?A?kt.value()[0]:kt.value():kt)})}),Zn(["pop","push","shift","sort","splice","unshift"],function(c){var v=Ic[c],C=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",A=/^(?:pop|shift)$/.test(c);F.prototype[c]=function(){var j=arguments;if(A&&!this.__chain__){var H=this.value();return v.apply($t(H)?H:[],j)}return this[C](function(Z){return v.apply($t(Z)?Z:[],j)})}}),ga(Yt.prototype,function(c,v){var C=F[v];if(C){var A=C.name+"";an.call(ks,A)||(ks[A]=[]),ks[A].push({name:v,func:C})}}),ks[Qf(n,_).name]=[{name:"wrapper",func:n}],Yt.prototype.clone=eo,Yt.prototype.reverse=Ni,Yt.prototype.value=U2,F.prototype.at=WY,F.prototype.chain=UY,F.prototype.commit=VY,F.prototype.next=GY,F.prototype.plant=KY,F.prototype.reverse=YY,F.prototype.toJSON=F.prototype.valueOf=F.prototype.value=XY,F.prototype.first=F.prototype.head,Fc&&(F.prototype[Fc]=qY),F},Ha=Io();Kt?((Kt.exports=Ha)._=Ha,Ot._=Ha):St._=Ha}).call(wo)})(GSe,we);const Pg=(e,t,n,r,i,o,a)=>{const s=e/2-(n+i/2)*a,l=t/2-(r+o/2)*a;return{x:s,y:l}},Tg=(e,t,n,r,i=.95)=>{const o=e*i/n,a=t*i/r;return Math.min(1,Math.min(o,a))},qSe=.999,KSe=.1,YSe=20,Vv=.95,YO=30,gk=10,XO=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),ih=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let a=t*n,s=448;for(;a1?(r.width=s,r.height=Hl(s/o,64)):o<1&&(r.height=s,r.width=Hl(s*o,64)),a=r.width*r.height;return r},XSe=e=>({width:Hl(e.width,64),height:Hl(e.height,64)}),DW=[{key:"Base",value:"base"},{key:"Mask",value:"mask"}],ZSe=[{key:"Auto",value:"auto"},{key:"Manual",value:"manual"},{key:"None",value:"none"}],pE=e=>e.kind==="line"&&e.layer==="mask",QSe=e=>e.kind==="line"&&e.layer==="base",x3=e=>e.kind==="image"&&e.layer==="base",JSe=e=>e.kind==="fillRect"&&e.layer==="base",e3e=e=>e.kind==="eraseRect"&&e.layer==="base",t3e=e=>e.kind==="line",p1={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},n3e={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:p1,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},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"},jW=ap({name:"canvas",initialState:n3e,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(we.cloneDeep(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!pE(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,{stageDimensions:r}=e,i={width:Cd(we.clamp(n.width,64,512),64),height:Cd(we.clamp(n.height,64,512),64)},o={x:Hl(n.width/2-i.width/2,64),y:Hl(n.height/2-i.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const l=ih(i);e.scaledBoundingBoxDimensions=l}e.boundingBoxDimensions=i,e.boundingBoxCoordinates=o,e.pastLayerStates.push(we.cloneDeep(e.layerState)),e.layerState={...p1,objects:[{kind:"image",layer:"base",x:0,y:0,width:n.width,height:n.height,image:n}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const a=Tg(r.width,r.height,n.width,n.height,Vv),s=Pg(r.width,r.height,0,0,n.width,n.height,a);e.stageScale=a,e.stageCoordinates=s,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=XSe(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=ih(n);e.scaledBoundingBoxDimensions=r}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=XO(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},addImageToStagingArea:(e,t)=>{const{boundingBox:n,image:r}=t.payload;!n||!r||(e.pastLayerStates.push(we.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...n,image:r}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(we.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...p1.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(we.cloneDeep(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(we.cloneDeep(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:a}=e;if(n==="move"||n==="colorPicker")return;const s=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(we.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:s,points:t.payload,...l};a&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(t3e);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(we.cloneDeep(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(we.cloneDeep(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(we.cloneDeep(e.layerState)),e.layerState=p1,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(x3),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const d=Tg(i.width,i.height,512,512,Vv),h=Pg(i.width,i.height,0,0,512,512,d),m={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=h,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=m,e.boundingBoxScaleMethod==="auto"){const y=ih(m);e.scaledBoundingBoxDimensions=y}return}const{width:o,height:a}=r,l=Tg(t,n,o,a,.95),u=Pg(i.width,i.height,0,0,o,a,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=XO(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(x3)){const i=Tg(r.width,r.height,512,512,Vv),o=Pg(r.width,r.height,0,0,512,512,i),a={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=a,e.boundingBoxScaleMethod==="auto"){const s=ih(a);e.scaledBoundingBoxDimensions=s}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:a,y:s,width:l,height:u}=n;if(l!==0&&u!==0){const d=r?1:Tg(i,o,l,u,Vv),h=Pg(i,o,a,s,l,u,d);e.stageScale=d,e.stageCoordinates=h}else{const d=Tg(i,o,512,512,Vv),h=Pg(i,o,0,0,512,512,d),m={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=h,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=m,e.boundingBoxScaleMethod==="auto"){const y=ih(m);e.scaledBoundingBoxDimensions=y}}},nextStagingAreaImage:e=>{const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:e=>{const{images:t,selectedImageIndex:n}=e.layerState.stagingArea;e.pastLayerStates.push(we.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({...t[n]}),e.layerState.stagingArea={...p1.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,a=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>a){const s={width:Cd(we.clamp(o,64,512),64),height:Cd(we.clamp(a,64,512),64)},l={x:Hl(o/2-s.width/2,64),y:Hl(a/2-s.height/2,64)};if(e.boundingBoxDimensions=s,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=ih(s);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=ih(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},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(we.cloneDeep(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}}}),{addEraseRect:NW,addFillRect:$W,addImageToStagingArea:r3e,addLine:i3e,addPointToCurrentLine:FW,clearCanvasHistory:BW,clearMask:gE,commitColorPickerColor:o3e,commitStagingAreaImage:a3e,discardStagedImages:s3e,fitBoundingBoxToStage:wNe,mouseLeftCanvas:l3e,nextStagingAreaImage:u3e,prevStagingAreaImage:c3e,redo:d3e,resetCanvas:mE,resetCanvasInteractionState:f3e,resetCanvasView:zW,resizeAndScaleCanvas:i4,resizeCanvas:h3e,setBoundingBoxCoordinates:IC,setBoundingBoxDimensions:g1,setBoundingBoxPreviewFill:CNe,setBoundingBoxScaleMethod:p3e,setBrushColor:Mm,setBrushSize:Lm,setCanvasContainerDimensions:g3e,setColorPickerColor:m3e,setCursorPosition:v3e,setDoesCanvasNeedScaling:Li,setInitialCanvasImage:o4,setIsDrawing:HW,setIsMaskEnabled:h2,setIsMouseOverBoundingBox:Qb,setIsMoveBoundingBoxKeyHeld:_Ne,setIsMoveStageKeyHeld:kNe,setIsMovingBoundingBox:DC,setIsMovingStage:S3,setIsTransformingBoundingBox:jC,setLayer:w3,setMaskColor:WW,setMergedCanvas:y3e,setShouldAutoSave:UW,setShouldCropToBoundingBoxOnSave:VW,setShouldDarkenOutsideBoundingBox:GW,setShouldLockBoundingBox:ENe,setShouldPreserveMaskedArea:qW,setShouldShowBoundingBox:b3e,setShouldShowBrush:PNe,setShouldShowBrushPreview:TNe,setShouldShowCanvasDebugInfo:KW,setShouldShowCheckboardTransparency:MNe,setShouldShowGrid:YW,setShouldShowIntermediates:XW,setShouldShowStagingImage:x3e,setShouldShowStagingOutline:ZO,setShouldSnapToGrid:C3,setStageCoordinates:ZW,setStageScale:S3e,setTool:Jl,toggleShouldLockBoundingBox:LNe,toggleTool:ANe,undo:w3e,setScaledBoundingBoxDimensions:Jb,setShouldRestrictStrokesToBox:QW}=jW.actions,C3e=jW.reducer,_3e={currentImageUuid:"",shouldPinGallery:!0,shouldShowGallery:!0,galleryScrollPosition:0,galleryImageMinimumWidth:64,galleryImageObjectFit:"cover",shouldHoldGalleryOpen:!1,shouldAutoSwitchToNewImages:!0,currentCategory:"result",categories:{user:{images:[],latest_mtime:void 0,earliest_mtime:void 0,areMoreImagesAvailable:!0},result:{images:[],latest_mtime:void 0,earliest_mtime:void 0,areMoreImagesAvailable:!0}},galleryWidth:300,shouldUseSingleGalleryColumn:!1},JW=ap({name:"gallery",initialState:_3e,reducers:{setCurrentImage:(e,t)=>{e.currentImage=t.payload,e.currentImageUuid=t.payload.uuid},removeImage:(e,t)=>{const{uuid:n,category:r}=t.payload,i=e.categories[r].images,o=i.filter(a=>a.uuid!==n);if(n===e.currentImageUuid){const a=i.findIndex(l=>l.uuid===n),s=we.clamp(a,0,o.length-1);e.currentImage=o.length?o[s]:void 0,e.currentImageUuid=o.length?o[s].uuid:""}e.categories[r].images=o},addImage:(e,t)=>{const{image:n,category:r}=t.payload,{uuid:i,url:o,mtime:a}=n,s=e.categories[r];s.images.find(l=>l.url===o&&l.mtime===a)||(s.images.unshift(n),e.shouldAutoSwitchToNewImages&&(e.currentImageUuid=i,e.currentImage=n,e.currentCategory=r),e.intermediateImage=void 0,s.latest_mtime=a)},setIntermediateImage:(e,t)=>{e.intermediateImage=t.payload},clearIntermediateImage:e=>{e.intermediateImage=void 0},selectNextImage:e=>{const{currentImage:t}=e;if(!t)return;const n=e.categories[t.category].images;if(t){const r=n.findIndex(i=>i.uuid===t.uuid);if(r{const{currentImage:t}=e;if(!t)return;const n=e.categories[t.category].images;if(t){const r=n.findIndex(i=>i.uuid===t.uuid);if(r>0){const i=n[r-1];e.currentImage=i,e.currentImageUuid=i.uuid}}},addGalleryImages:(e,t)=>{const{images:n,areMoreImagesAvailable:r,category:i}=t.payload,o=e.categories[i].images;if(n.length>0){const a=n.filter(s=>!o.find(l=>l.url===s.url&&l.mtime===s.mtime));if(e.categories[i].images=o.concat(a).sort((s,l)=>l.mtime-s.mtime),!e.currentImage){const s=n[0];e.currentImage=s,e.currentImageUuid=s.uuid}e.categories[i].latest_mtime=n[0].mtime,e.categories[i].earliest_mtime=n[n.length-1].mtime}r!==void 0&&(e.categories[i].areMoreImagesAvailable=r)},setShouldPinGallery:(e,t)=>{e.shouldPinGallery=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},setGalleryScrollPosition:(e,t)=>{e.galleryScrollPosition=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},setGalleryImageObjectFit:(e,t)=>{e.galleryImageObjectFit=t.payload},setShouldHoldGalleryOpen:(e,t)=>{e.shouldHoldGalleryOpen=t.payload},setShouldAutoSwitchToNewImages:(e,t)=>{e.shouldAutoSwitchToNewImages=t.payload},setCurrentCategory:(e,t)=>{e.currentCategory=t.payload},setGalleryWidth:(e,t)=>{e.galleryWidth=t.payload},setShouldUseSingleGalleryColumn:(e,t)=>{e.shouldUseSingleGalleryColumn=t.payload}}}),{addImage:sm,clearIntermediateImage:NC,removeImage:eU,setCurrentImage:QO,addGalleryImages:k3e,setIntermediateImage:E3e,selectNextImage:vE,selectPrevImage:yE,setShouldPinGallery:P3e,setShouldShowGallery:Am,setGalleryScrollPosition:T3e,setGalleryImageMinimumWidth:Gv,setGalleryImageObjectFit:M3e,setShouldHoldGalleryOpen:tU,setShouldAutoSwitchToNewImages:L3e,setCurrentCategory:ex,setGalleryWidth:A3e,setShouldUseSingleGalleryColumn:O3e}=JW.actions,R3e=JW.reducer,I3e={isLightboxOpen:!1},D3e=I3e,nU=ap({name:"lightbox",initialState:D3e,reducers:{setIsLightboxOpen:(e,t)=>{e.isLightboxOpen=t.payload}}}),{setIsLightboxOpen:Om}=nU.actions,j3e=nU.reducer,Rm=e=>typeof e=="string"?e:e.length===1?e[0].prompt:e.map(t=>`${t.prompt}:${t.weight}`).join(" ");function rU(e){let t=typeof e=="string"?e:Rm(e),n="";const r=new RegExp(/\[([^\][]*)]/,"gi"),i=[...t.matchAll(r)].map(o=>o[1]);return i.length&&(n=i.join(" "),i.forEach(o=>{t=t.replace(`[${o}]`,"").replaceAll("[]","").trim()})),[t,n]}const N3e=e=>{const r=e.split(",").map(i=>i.split(":")).map(i=>({seed:Number(i[0]),weight:Number(i[1])}));return bE(r)?r:!1},bE=e=>Boolean(typeof e=="string"?N3e(e):e.length&&!e.some(t=>{const{seed:n,weight:r}=t,i=!isNaN(parseInt(n.toString(),10)),o=!isNaN(parseInt(r.toString(),10))&&r>=0&&r<=1;return!(i&&o)})),_3=e=>e.reduce((t,n,r,i)=>{const{seed:o,weight:a}=n;return t+=`${o}:${a}`,r!==i.length-1&&(t+=","),t},""),$3e=e=>e.split(",").map(r=>r.split(":")).map(r=>[parseInt(r[0],10),parseFloat(r[1])]),iU={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,maskPath:"",perlin:0,prompt:"",negativePrompt:"",sampler:"k_lms",seamBlur:16,seamless:!1,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0},F3e=iU,oU=ap({name:"generation",initialState:F3e,reducers:{setPrompt:(e,t)=>{const n=t.payload;typeof n=="string"?e.prompt=n:e.prompt=Rm(n)},setNegativePrompt:(e,t)=>{const n=t.payload;typeof n=="string"?e.negativePrompt=n:e.negativePrompt=Rm(n)},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=we.clamp(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=we.clamp(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},setSampler:(e,t)=>{e.sampler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setMaskPath:(e,t)=>{e.maskPath=t.payload},setSeamless:(e,t)=>{e.seamless=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setParameter:(e,t)=>{const{key:n,value:r}=t.payload,i={...e,[n]:r};return n==="seed"&&(i.shouldRandomizeSeed=!1),i},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},setAllTextToImageParameters:(e,t)=>{const{sampler:n,prompt:r,seed:i,variations:o,steps:a,cfg_scale:s,threshold:l,perlin:u,seamless:d,hires_fix:h,width:m,height:y}=t.payload.image;o&&o.length>0?(e.seedWeights=_3(o),e.shouldGenerateVariations=!0,e.variationAmount=0):e.shouldGenerateVariations=!1,i&&(e.seed=i,e.shouldRandomizeSeed=!1),r&&(e.prompt=Rm(r)),n&&(e.sampler=n),a&&(e.steps=a),s&&(e.cfgScale=s),typeof l>"u"?e.threshold=0:e.threshold=l,typeof u>"u"?e.perlin=0:e.perlin=u,typeof d=="boolean"&&(e.seamless=d),m&&(e.width=m),y&&(e.height=y)},setAllImageToImageParameters:(e,t)=>{const{type:n,strength:r,fit:i,init_image_path:o,mask_image_path:a}=t.payload.image;n==="img2img"&&(o&&(e.initialImage=o),a&&(e.maskPath=a),r&&(e.img2imgStrength=r),typeof i=="boolean"&&(e.shouldFitToWidthHeight=i))},setAllParameters:(e,t)=>{const{type:n,sampler:r,prompt:i,seed:o,variations:a,steps:s,cfg_scale:l,threshold:u,perlin:d,seamless:h,hires_fix:m,width:y,height:b,strength:w,fit:E,init_image_path:_,mask_image_path:k}=t.payload.image;if(n==="img2img"&&(_&&(e.initialImage=_),k&&(e.maskPath=k),w&&(e.img2imgStrength=w),typeof E=="boolean"&&(e.shouldFitToWidthHeight=E)),a&&a.length>0?(e.seedWeights=_3(a),e.shouldGenerateVariations=!0,e.variationAmount=0):e.shouldGenerateVariations=!1,o&&(e.seed=o,e.shouldRandomizeSeed=!1),i){const[T,L]=rU(i);T&&(e.prompt=T),L?e.negativePrompt=L:e.negativePrompt=""}r&&(e.sampler=r),s&&(e.steps=s),l&&(e.cfgScale=l),typeof u>"u"?e.threshold=0:e.threshold=u,typeof d>"u"?e.perlin=0:e.perlin=d,typeof h=="boolean"&&(e.seamless=h),y&&(e.width=y),b&&(e.height=b)},resetParametersState:e=>({...e,...iU}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},setInitialImage:(e,t)=>{e.initialImage=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}}}),{clampSymmetrySteps:aU,clearInitialImage:sU,resetParametersState:ONe,resetSeed:RNe,setAllImageToImageParameters:B3e,setAllParameters:lU,setAllTextToImageParameters:INe,setCfgScale:mk,setHeight:uS,setImg2imgStrength:vk,setInfillMethod:uU,setInitialImage:y0,setIterations:JO,setMaskPath:cU,setParameter:DNe,setPerlin:yk,setPrompt:k3,setNegativePrompt:dU,setSampler:fU,setSeamBlur:eR,setSeamless:hU,setSeamSize:tR,setSeamSteps:nR,setSeamStrength:rR,setSeed:p2,setSeedWeights:pU,setShouldFitToWidthHeight:gU,setShouldGenerateVariations:z3e,setShouldRandomizeSeed:H3e,setSteps:bk,setThreshold:xk,setTileSize:iR,setVariationAmount:oR,setWidth:cS,setShouldUseSymmetry:W3e,setHorizontalSymmetrySteps:aR,setVerticalSymmetrySteps:sR}=oU.actions,U3e=oU.reducer,mU={codeformerFidelity:.75,facetoolStrength:.75,facetoolType:"gfpgan",hiresFix:!1,hiresStrength:.75,shouldLoopback:!1,shouldRunESRGAN:!1,shouldRunFacetool:!1,upscalingLevel:4,upscalingDenoising:.75,upscalingStrength:.75},V3e=mU,vU=ap({name:"postprocessing",initialState:V3e,reducers:{setAllPostProcessingParameters:(e,t)=>{const{type:n,hires_fix:r}=t.payload.image;n==="txt2img"&&(e.hiresFix=Boolean(r))},setFacetoolStrength:(e,t)=>{e.facetoolStrength=t.payload},setCodeformerFidelity:(e,t)=>{e.codeformerFidelity=t.payload},setUpscalingLevel:(e,t)=>{e.upscalingLevel=t.payload},setUpscalingDenoising:(e,t)=>{e.upscalingDenoising=t.payload},setUpscalingStrength:(e,t)=>{e.upscalingStrength=t.payload},setHiresFix:(e,t)=>{e.hiresFix=t.payload},setHiresStrength:(e,t)=>{e.hiresStrength=t.payload},resetPostprocessingState:e=>({...e,...mU}),setShouldRunFacetool:(e,t)=>{e.shouldRunFacetool=t.payload},setFacetoolType:(e,t)=>{e.facetoolType=t.payload},setShouldRunESRGAN:(e,t)=>{e.shouldRunESRGAN=t.payload},setShouldLoopback:(e,t)=>{e.shouldLoopback=t.payload}}}),{setAllPostProcessingParameters:yU,resetPostprocessingState:jNe,setCodeformerFidelity:Sk,setFacetoolStrength:E3,setFacetoolType:dS,setHiresFix:bU,setHiresStrength:lR,setShouldLoopback:G3e,setShouldRunESRGAN:q3e,setShouldRunFacetool:K3e,setUpscalingLevel:xU,setUpscalingDenoising:wk,setUpscalingStrength:Ck}=vU.actions,Y3e=vU.reducer;function gs(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function uR(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:{};gs(this,e),this.init(t,n)}return ms(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=r.prefix||"i18next:",this.logger=n||Q3e,this.options=r,this.debug=r.debug}},{key:"setDebug",value:function(n){this.debug=n}},{key:"log",value:function(){for(var n=arguments.length,r=new Array(n),i=0;i1?r-1:0),o=1;o-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}for(var o=typeof t!="string"?[].concat(t):t.split(".");o.length>1;){if(i())return{};var a=r(o.shift());!e[a]&&n&&(e[a]=new n),Object.prototype.hasOwnProperty.call(e,a)?e=e[a]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function pR(e,t,n){var r=xE(e,t,Object),i=r.obj,o=r.k;i[o]=n}function twe(e,t,n,r){var i=xE(e,t,Object),o=i.obj,a=i.k;o[a]=o[a]||[],r&&(o[a]=o[a].concat(n)),r||o[a].push(n)}function P3(e,t){var n=xE(e,t),r=n.obj,i=n.k;if(r)return r[i]}function gR(e,t,n){var r=P3(e,n);return r!==void 0?r:P3(t,n)}function _U(e,t,n){for(var 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]):_U(e[r],t[r],n):e[r]=t[r]);return e}function Mg(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var nwe={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function rwe(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,function(t){return nwe[t]}):e}var s4=typeof window<"u"&&window.navigator&&typeof window.navigator.userAgentData>"u"&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,iwe=[" ",",","?","!",";"];function owe(e,t,n){t=t||"",n=n||"";var r=iwe.filter(function(s){return t.indexOf(s)<0&&n.indexOf(s)<0});if(r.length===0)return!0;var i=new RegExp("(".concat(r.map(function(s){return s==="?"?"\\?":s}).join("|"),")")),o=!i.test(e);if(!o){var a=e.indexOf(n);a>0&&!i.test(e.substring(0,a))&&(o=!0)}return o}function mR(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 tx(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function kU(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(e){if(e[t])return e[t];for(var r=t.split(n),i=e,o=0;oo+a;)a++,s=r.slice(o,o+a).join(n),l=i[s];if(l===void 0)return;if(l===null)return null;if(t.endsWith(s)){if(typeof l=="string")return l;if(s&&typeof l[s]=="string")return l[s]}var u=r.slice(o+a).join(n);return u?kU(l,u,n):void 0}i=i[r[o]]}return i}}var lwe=function(e){a4(n,e);var t=awe(n);function n(r){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return gs(this,n),i=t.call(this),s4&&Jd.call(Fd(i)),i.data=r||{},i.options=o,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.options.ignoreJSONStructure===void 0&&(i.options.ignoreJSONStructure=!0),i}return ms(n,[{key:"addNamespaces",value:function(i){this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}},{key:"removeNamespaces",value:function(i){var o=this.options.ns.indexOf(i);o>-1&&this.options.ns.splice(o,1)}},{key:"getResource",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},l=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,u=s.ignoreJSONStructure!==void 0?s.ignoreJSONStructure:this.options.ignoreJSONStructure,d=[i,o];a&&typeof a!="string"&&(d=d.concat(a)),a&&typeof a=="string"&&(d=d.concat(l?a.split(l):a)),i.indexOf(".")>-1&&(d=i.split("."));var h=P3(this.data,d);return h||!u||typeof a!="string"?h:kU(this.data&&this.data[i]&&this.data[i][o],a,l)}},{key:"addResource",value:function(i,o,a,s){var l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},u=this.options.keySeparator;u===void 0&&(u=".");var d=[i,o];a&&(d=d.concat(u?a.split(u):a)),i.indexOf(".")>-1&&(d=i.split("."),s=o,o=d[1]),this.addNamespaces(o),pR(this.data,d,s),l.silent||this.emit("added",i,o,a,s)}},{key:"addResources",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var l in a)(typeof a[l]=="string"||Object.prototype.toString.apply(a[l])==="[object Array]")&&this.addResource(i,o,l,a[l],{silent:!0});s.silent||this.emit("added",i,o,a)}},{key:"addResourceBundle",value:function(i,o,a,s,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},d=[i,o];i.indexOf(".")>-1&&(d=i.split("."),s=a,a=o,o=d[1]),this.addNamespaces(o);var h=P3(this.data,d)||{};s?_U(h,a,l):h=tx(tx({},h),a),pR(this.data,d,h),u.silent||this.emit("added",i,o,a)}},{key:"removeResourceBundle",value:function(i,o){this.hasResourceBundle(i,o)&&delete this.data[i][o],this.removeNamespaces(o),this.emit("removed",i,o)}},{key:"hasResourceBundle",value:function(i,o){return this.getResource(i,o)!==void 0}},{key:"getResourceBundle",value:function(i,o){return o||(o=this.options.defaultNS),this.options.compatibilityAPI==="v1"?tx(tx({},{}),this.getResource(i,o)):this.getResource(i,o)}},{key:"getDataByLanguage",value:function(i){return this.data[i]}},{key:"hasLanguageSomeTranslations",value:function(i){var o=this.getDataByLanguage(i),a=o&&Object.keys(o)||[];return!!a.find(function(s){return o[s]&&Object.keys(o[s]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),n}(Jd),EU={processors:{},addPostProcessor:function(t){this.processors[t.name]=t},handle:function(t,n,r,i,o){var a=this;return t.forEach(function(s){a.processors[s]&&(n=a.processors[s].process(n,r,i,o))}),n}};function vR(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 yo(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var yR={},bR=function(e){a4(n,e);var t=uwe(n);function n(r){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return gs(this,n),i=t.call(this),s4&&Jd.call(Fd(i)),ewe(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r,Fd(i)),i.options=o,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.logger=Wl.create("translator"),i}return ms(n,[{key:"changeLanguage",value:function(i){i&&(this.language=i)}},{key:"exists",value:function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(i==null)return!1;var a=this.resolve(i,o);return a&&a.res!==void 0}},{key:"extractFromKey",value:function(i,o){var a=o.nsSeparator!==void 0?o.nsSeparator:this.options.nsSeparator;a===void 0&&(a=":");var s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,l=o.ns||this.options.defaultNS||[],u=a&&i.indexOf(a)>-1,d=!this.options.userDefinedKeySeparator&&!o.keySeparator&&!this.options.userDefinedNsSeparator&&!o.nsSeparator&&!owe(i,a,s);if(u&&!d){var h=i.match(this.interpolator.nestingRegexp);if(h&&h.length>0)return{key:i,namespaces:l};var m=i.split(a);(a!==s||a===s&&this.options.ns.indexOf(m[0])>-1)&&(l=m.shift()),i=m.join(s)}return typeof l=="string"&&(l=[l]),{key:i,namespaces:l}}},{key:"translate",value:function(i,o,a){var s=this;if(Ks(o)!=="object"&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),o||(o={}),i==null)return"";Array.isArray(i)||(i=[String(i)]);var l=o.returnDetails!==void 0?o.returnDetails:this.options.returnDetails,u=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,d=this.extractFromKey(i[i.length-1],o),h=d.key,m=d.namespaces,y=m[m.length-1],b=o.lng||this.language,w=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(b&&b.toLowerCase()==="cimode"){if(w){var E=o.nsSeparator||this.options.nsSeparator;return l?{res:"".concat(y).concat(E).concat(h),usedKey:h,exactUsedKey:h,usedLng:b,usedNS:y}:"".concat(y).concat(E).concat(h)}return l?{res:h,usedKey:h,exactUsedKey:h,usedLng:b,usedNS:y}:h}var _=this.resolve(i,o),k=_&&_.res,T=_&&_.usedKey||h,L=_&&_.exactUsedKey||h,O=Object.prototype.toString.apply(k),D=["[object Number]","[object Function]","[object RegExp]"],I=o.joinArrays!==void 0?o.joinArrays:this.options.joinArrays,N=!this.i18nFormat||this.i18nFormat.handleAsObject,W=typeof k!="string"&&typeof k!="boolean"&&typeof k!="number";if(N&&k&&W&&D.indexOf(O)<0&&!(typeof I=="string"&&O==="[object Array]")){if(!o.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var B=this.options.returnedObjectHandler?this.options.returnedObjectHandler(T,k,yo(yo({},o),{},{ns:m})):"key '".concat(h," (").concat(this.language,")' returned an object instead of string.");return l?(_.res=B,_):B}if(u){var K=O==="[object Array]",ne=K?[]:{},z=K?L:T;for(var $ in k)if(Object.prototype.hasOwnProperty.call(k,$)){var V="".concat(z).concat(u).concat($);ne[$]=this.translate(V,yo(yo({},o),{joinArrays:!1,ns:m})),ne[$]===V&&(ne[$]=k[$])}k=ne}}else if(N&&typeof I=="string"&&O==="[object Array]")k=k.join(I),k&&(k=this.extendTranslation(k,i,o,a));else{var X=!1,Q=!1,G=o.count!==void 0&&typeof o.count!="string",Y=n.hasDefaultValue(o),ee=G?this.pluralResolver.getSuffix(b,o.count,o):"",fe=o["defaultValue".concat(ee)]||o.defaultValue;!this.isValidLookup(k)&&Y&&(X=!0,k=fe),this.isValidLookup(k)||(Q=!0,k=h);var Ce=o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,Se=Ce&&Q?void 0:k,xe=Y&&fe!==k&&this.options.updateMissing;if(Q||X||xe){if(this.logger.log(xe?"updateKey":"missingKey",b,y,h,xe?fe:k),u){var Le=this.resolve(h,yo(yo({},o),{},{keySeparator:!1}));Le&&Le.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.")}var je=[],Ze=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Ze&&Ze[0])for(var _e=0;_e1&&arguments[1]!==void 0?arguments[1]:{},s,l,u,d,h;return typeof i=="string"&&(i=[i]),i.forEach(function(m){if(!o.isValidLookup(s)){var y=o.extractFromKey(m,a),b=y.key;l=b;var w=y.namespaces;o.options.fallbackNS&&(w=w.concat(o.options.fallbackNS));var E=a.count!==void 0&&typeof a.count!="string",_=E&&!a.ordinal&&a.count===0&&o.pluralResolver.shouldUseIntlApi(),k=a.context!==void 0&&(typeof a.context=="string"||typeof a.context=="number")&&a.context!=="",T=a.lngs?a.lngs:o.languageUtils.toResolveHierarchy(a.lng||o.language,a.fallbackLng);w.forEach(function(L){o.isValidLookup(s)||(h=L,!yR["".concat(T[0],"-").concat(L)]&&o.utils&&o.utils.hasLoadedNamespace&&!o.utils.hasLoadedNamespace(h)&&(yR["".concat(T[0],"-").concat(L)]=!0,o.logger.warn('key "'.concat(l,'" for languages "').concat(T.join(", "),`" won't get resolved as namespace "`).concat(h,'" 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!!!")),T.forEach(function(O){if(!o.isValidLookup(s)){d=O;var D=[b];if(o.i18nFormat&&o.i18nFormat.addLookupKeys)o.i18nFormat.addLookupKeys(D,b,O,L,a);else{var I;E&&(I=o.pluralResolver.getSuffix(O,a.count,a));var N="".concat(o.options.pluralSeparator,"zero");if(E&&(D.push(b+I),_&&D.push(b+N)),k){var W="".concat(b).concat(o.options.contextSeparator).concat(a.context);D.push(W),E&&(D.push(W+I),_&&D.push(W+N))}}for(var B;B=D.pop();)o.isValidLookup(s)||(u=B,s=o.getResource(O,L,B,a))}}))})}}),{res:s,usedKey:l,exactUsedKey:u,usedLng:d,usedNS:h}}},{key:"isValidLookup",value:function(i){return i!==void 0&&!(!this.options.returnNull&&i===null)&&!(!this.options.returnEmptyString&&i==="")}},{key:"getResource",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(i,o,a,s):this.resourceStore.getResource(i,o,a,s)}}],[{key:"hasDefaultValue",value:function(i){var o="defaultValue";for(var a in i)if(Object.prototype.hasOwnProperty.call(i,a)&&o===a.substring(0,o.length)&&i[a]!==void 0)return!0;return!1}}]),n}(Jd);function $C(e){return e.charAt(0).toUpperCase()+e.slice(1)}var xR=function(){function e(t){gs(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Wl.create("languageUtils")}return ms(e,[{key:"getScriptPartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return null;var r=n.split("-");return r.length===2||(r.pop(),r[r.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(r.join("-"))}},{key:"getLanguagePartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return n;var r=n.split("-");return this.formatLanguageCode(r[0])}},{key:"formatLanguageCode",value:function(n){if(typeof n=="string"&&n.indexOf("-")>-1){var r=["hans","hant","latn","cyrl","cans","mong","arab"],i=n.split("-");return this.options.lowerCaseLng?i=i.map(function(o){return o.toLowerCase()}):i.length===2?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),r.indexOf(i[1].toLowerCase())>-1&&(i[1]=$C(i[1].toLowerCase()))):i.length===3&&(i[0]=i[0].toLowerCase(),i[1].length===2&&(i[1]=i[1].toUpperCase()),i[0]!=="sgn"&&i[2].length===2&&(i[2]=i[2].toUpperCase()),r.indexOf(i[1].toLowerCase())>-1&&(i[1]=$C(i[1].toLowerCase())),r.indexOf(i[2].toLowerCase())>-1&&(i[2]=$C(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?n.toLowerCase():n}},{key:"isSupportedCode",value:function(n){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(n=this.getLanguagePartFromCode(n)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(n)>-1}},{key:"getBestMatchFromCodes",value:function(n){var r=this;if(!n)return null;var i;return n.forEach(function(o){if(!i){var a=r.formatLanguageCode(o);(!r.options.supportedLngs||r.isSupportedCode(a))&&(i=a)}}),!i&&this.options.supportedLngs&&n.forEach(function(o){if(!i){var a=r.getLanguagePartFromCode(o);if(r.isSupportedCode(a))return i=a;i=r.options.supportedLngs.find(function(s){if(s.indexOf(a)===0)return s})}}),i||(i=this.getFallbackCodes(this.options.fallbackLng)[0]),i}},{key:"getFallbackCodes",value:function(n,r){if(!n)return[];if(typeof n=="function"&&(n=n(r)),typeof n=="string"&&(n=[n]),Object.prototype.toString.apply(n)==="[object Array]")return n;if(!r)return n.default||[];var i=n[r];return i||(i=n[this.getScriptPartFromCode(r)]),i||(i=n[this.formatLanguageCode(r)]),i||(i=n[this.getLanguagePartFromCode(r)]),i||(i=n.default),i||[]}},{key:"toResolveHierarchy",value:function(n,r){var i=this,o=this.getFallbackCodes(r||this.options.fallbackLng||[],n),a=[],s=function(u){u&&(i.isSupportedCode(u)?a.push(u):i.logger.warn("rejecting language code not found in supportedLngs: ".concat(u)))};return typeof n=="string"&&n.indexOf("-")>-1?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(n)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(n)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(n))):typeof n=="string"&&s(this.formatLanguageCode(n)),o.forEach(function(l){a.indexOf(l)<0&&s(i.formatLanguageCode(l))}),a}}]),e}(),dwe=[{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}],fwe={1:function(t){return Number(t>1)},2:function(t){return Number(t!=1)},3:function(t){return 0},4:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},5:function(t){return Number(t==0?0:t==1?1:t==2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5)},6:function(t){return Number(t==1?0:t>=2&&t<=4?1:2)},7:function(t){return Number(t==1?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},8:function(t){return Number(t==1?0:t==2?1:t!=8&&t!=11?2:3)},9:function(t){return Number(t>=2)},10:function(t){return Number(t==1?0:t==2?1:t<7?2:t<11?3:4)},11:function(t){return Number(t==1||t==11?0:t==2||t==12?1:t>2&&t<20?2:3)},12:function(t){return Number(t%10!=1||t%100==11)},13:function(t){return Number(t!==0)},14:function(t){return Number(t==1?0:t==2?1:t==3?2:3)},15:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2)},16:function(t){return Number(t%10==1&&t%100!=11?0:t!==0?1:2)},17:function(t){return Number(t==1||t%10==1&&t%100!=11?0:1)},18:function(t){return Number(t==0?0:t==1?1:2)},19:function(t){return Number(t==1?0:t==0||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3)},20:function(t){return Number(t==1?0:t==0||t%100>0&&t%100<20?1:2)},21:function(t){return Number(t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0)},22:function(t){return Number(t==1?0:t==2?1:(t<0||t>10)&&t%10==0?2:3)}},hwe=["v1","v2","v3"],SR={zero:0,one:1,two:2,few:3,many:4,other:5};function pwe(){var e={};return dwe.forEach(function(t){t.lngs.forEach(function(n){e[n]={numbers:t.nr,plurals:fwe[t.fc]}})}),e}var gwe=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};gs(this,e),this.languageUtils=t,this.options=n,this.logger=Wl.create("pluralResolver"),(!this.options.compatibilityJSON||this.options.compatibilityJSON==="v4")&&(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=pwe()}return ms(e,[{key:"addRule",value:function(n,r){this.rules[n]=r}},{key:"getRule",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(n,{type:r.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[n]||this.rules[this.languageUtils.getLanguagePartFromCode(n)]}},{key:"needsPlural",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(n,r);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(n,i).map(function(o){return"".concat(r).concat(o)})}},{key:"getSuffixes",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=this.getRule(n,i);return o?this.shouldUseIntlApi()?o.resolvedOptions().pluralCategories.sort(function(a,s){return SR[a]-SR[s]}).map(function(a){return"".concat(r.options.prepend).concat(a)}):o.numbers.map(function(a){return r.getSuffix(n,a,i)}):[]}},{key:"getSuffix",value:function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=this.getRule(n,i);return o?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(o.select(r)):this.getSuffixRetroCompatible(o,r):(this.logger.warn("no plural rule found for: ".concat(n)),"")}},{key:"getSuffixRetroCompatible",value:function(n,r){var i=this,o=n.noAbs?n.plurals(r):n.plurals(Math.abs(r)),a=n.numbers[o];this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1&&(a===2?a="plural":a===1&&(a=""));var s=function(){return i.options.prepend&&a.toString()?i.options.prepend+a.toString():a.toString()};return this.options.compatibilityJSON==="v1"?a===1?"":typeof a=="number"?"_plural_".concat(a.toString()):s():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1?s():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}},{key:"shouldUseIntlApi",value:function(){return!hwe.includes(this.options.compatibilityJSON)}}]),e}();function wR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Fs(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:{};gs(this,e),this.logger=Wl.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(n){return n},this.init(t)}return ms(e,[{key:"init",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};n.interpolation||(n.interpolation={escapeValue:!0});var r=n.interpolation;this.escape=r.escape!==void 0?r.escape:rwe,this.escapeValue=r.escapeValue!==void 0?r.escapeValue:!0,this.useRawValueToEscape=r.useRawValueToEscape!==void 0?r.useRawValueToEscape:!1,this.prefix=r.prefix?Mg(r.prefix):r.prefixEscaped||"{{",this.suffix=r.suffix?Mg(r.suffix):r.suffixEscaped||"}}",this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||",",this.unescapePrefix=r.unescapeSuffix?"":r.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":r.unescapeSuffix||"",this.nestingPrefix=r.nestingPrefix?Mg(r.nestingPrefix):r.nestingPrefixEscaped||Mg("$t("),this.nestingSuffix=r.nestingSuffix?Mg(r.nestingSuffix):r.nestingSuffixEscaped||Mg(")"),this.nestingOptionsSeparator=r.nestingOptionsSeparator?r.nestingOptionsSeparator:r.nestingOptionsSeparator||",",this.maxReplaces=r.maxReplaces?r.maxReplaces:1e3,this.alwaysFormat=r.alwaysFormat!==void 0?r.alwaysFormat:!1,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var n="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(n,"g");var r="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(r,"g");var i="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(i,"g")}},{key:"interpolate",value:function(n,r,i,o){var a=this,s,l,u,d=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function h(E){return E.replace(/\$/g,"$$$$")}var m=function(_){if(_.indexOf(a.formatSeparator)<0){var k=gR(r,d,_);return a.alwaysFormat?a.format(k,void 0,i,Fs(Fs(Fs({},o),r),{},{interpolationkey:_})):k}var T=_.split(a.formatSeparator),L=T.shift().trim(),O=T.join(a.formatSeparator).trim();return a.format(gR(r,d,L),O,i,Fs(Fs(Fs({},o),r),{},{interpolationkey:L}))};this.resetRegExp();var y=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,b=o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables,w=[{regex:this.regexpUnescape,safeValue:function(_){return h(_)}},{regex:this.regexp,safeValue:function(_){return a.escapeValue?h(a.escape(_)):h(_)}}];return w.forEach(function(E){for(u=0;s=E.regex.exec(n);){var _=s[1].trim();if(l=m(_),l===void 0)if(typeof y=="function"){var k=y(n,s,o);l=typeof k=="string"?k:""}else if(o&&Object.prototype.hasOwnProperty.call(o,_))l="";else if(b){l=s[0];continue}else a.logger.warn("missed to pass in variable ".concat(_," for interpolating ").concat(n)),l="";else typeof l!="string"&&!a.useRawValueToEscape&&(l=hR(l));var T=E.safeValue(l);if(n=n.replace(s[0],T),b?(E.regex.lastIndex+=l.length,E.regex.lastIndex-=s[0].length):E.regex.lastIndex=0,u++,u>=a.maxReplaces)break}}),n}},{key:"nest",value:function(n,r){var i=this,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a,s,l;function u(y,b){var w=this.nestingOptionsSeparator;if(y.indexOf(w)<0)return y;var E=y.split(new RegExp("".concat(w,"[ ]*{"))),_="{".concat(E[1]);y=E[0],_=this.interpolate(_,l);var k=_.match(/'/g),T=_.match(/"/g);(k&&k.length%2===0&&!T||T.length%2!==0)&&(_=_.replace(/'/g,'"'));try{l=JSON.parse(_),b&&(l=Fs(Fs({},b),l))}catch(L){return this.logger.warn("failed parsing options string in nesting for key ".concat(y),L),"".concat(y).concat(w).concat(_)}return delete l.defaultValue,y}for(;a=this.nestingRegexp.exec(n);){var d=[];l=Fs({},o),l=l.replace&&typeof l.replace!="string"?l.replace:l,l.applyPostProcessor=!1,delete l.defaultValue;var h=!1;if(a[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(a[1])){var m=a[1].split(this.formatSeparator).map(function(y){return y.trim()});a[1]=m.shift(),d=m,h=!0}if(s=r(u.call(this,a[1].trim(),l),l),s&&a[0]===n&&typeof s!="string")return s;typeof s!="string"&&(s=hR(s)),s||(this.logger.warn("missed to resolve ".concat(a[1]," for nesting ").concat(n)),s=""),h&&(s=d.reduce(function(y,b){return i.format(y,b,o.lng,Fs(Fs({},o),{},{interpolationkey:a[1].trim()}))},s.trim())),n=n.replace(a[0],s),this.regexp.lastIndex=0}return n}}]),e}();function CR(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 Ru(e){for(var t=1;t-1){var r=e.split("(");t=r[0].toLowerCase().trim();var i=r[1].substring(0,r[1].length-1);if(t==="currency"&&i.indexOf(":")<0)n.currency||(n.currency=i.trim());else if(t==="relativetime"&&i.indexOf(":")<0)n.range||(n.range=i.trim());else{var o=i.split(";");o.forEach(function(a){if(a){var s=a.split(":"),l=Z3e(s),u=l[0],d=l.slice(1),h=d.join(":").trim().replace(/^'+|'+$/g,"");n[u.trim()]||(n[u.trim()]=h),h==="false"&&(n[u.trim()]=!1),h==="true"&&(n[u.trim()]=!0),isNaN(h)||(n[u.trim()]=parseInt(h,10))}})}}return{formatName:t,formatOptions:n}}function Lg(e){var t={};return function(r,i,o){var a=i+JSON.stringify(o),s=t[a];return s||(s=e(i,o),t[a]=s),s(r)}}var ywe=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};gs(this,e),this.logger=Wl.create("formatter"),this.options=t,this.formats={number:Lg(function(n,r){var i=new Intl.NumberFormat(n,Ru({},r));return function(o){return i.format(o)}}),currency:Lg(function(n,r){var i=new Intl.NumberFormat(n,Ru(Ru({},r),{},{style:"currency"}));return function(o){return i.format(o)}}),datetime:Lg(function(n,r){var i=new Intl.DateTimeFormat(n,Ru({},r));return function(o){return i.format(o)}}),relativetime:Lg(function(n,r){var i=new Intl.RelativeTimeFormat(n,Ru({},r));return function(o){return i.format(o,r.range||"day")}}),list:Lg(function(n,r){var i=new Intl.ListFormat(n,Ru({},r));return function(o){return i.format(o)}})},this.init(t)}return ms(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}},i=r.interpolation;this.formatSeparator=i.formatSeparator?i.formatSeparator:i.formatSeparator||","}},{key:"add",value:function(n,r){this.formats[n.toLowerCase().trim()]=r}},{key:"addCached",value:function(n,r){this.formats[n.toLowerCase().trim()]=Lg(r)}},{key:"format",value:function(n,r,i){var o=this,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=r.split(this.formatSeparator),l=s.reduce(function(u,d){var h=vwe(d),m=h.formatName,y=h.formatOptions;if(o.formats[m]){var b=u;try{var w=a&&a.formatParams&&a.formatParams[a.interpolationkey]||{},E=w.locale||w.lng||a.locale||a.lng||i;b=o.formats[m](u,E,Ru(Ru(Ru({},y),a),w))}catch(_){o.logger.warn(_)}return b}else o.logger.warn("there was no format function for ".concat(m));return u},n);return l}}]),e}();function _R(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 kR(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Swe(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}var wwe=function(e){a4(n,e);var t=bwe(n);function n(r,i,o){var a,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return gs(this,n),a=t.call(this),s4&&Jd.call(Fd(a)),a.backend=r,a.store=i,a.services=o,a.languageUtils=o.languageUtils,a.options=s,a.logger=Wl.create("backendConnector"),a.waitingReads=[],a.maxParallelReads=s.maxParallelReads||10,a.readingCalls=0,a.maxRetries=s.maxRetries>=0?s.maxRetries:5,a.retryTimeout=s.retryTimeout>=1?s.retryTimeout:350,a.state={},a.queue=[],a.backend&&a.backend.init&&a.backend.init(o,s.backend,s),a}return ms(n,[{key:"queueLoad",value:function(i,o,a,s){var l=this,u={},d={},h={},m={};return i.forEach(function(y){var b=!0;o.forEach(function(w){var E="".concat(y,"|").concat(w);!a.reload&&l.store.hasResourceBundle(y,w)?l.state[E]=2:l.state[E]<0||(l.state[E]===1?d[E]===void 0&&(d[E]=!0):(l.state[E]=1,b=!1,d[E]===void 0&&(d[E]=!0),u[E]===void 0&&(u[E]=!0),m[w]===void 0&&(m[w]=!0)))}),b||(h[y]=!0)}),(Object.keys(u).length||Object.keys(d).length)&&this.queue.push({pending:d,pendingCount:Object.keys(d).length,loaded:{},errors:[],callback:s}),{toLoad:Object.keys(u),pending:Object.keys(d),toLoadLanguages:Object.keys(h),toLoadNamespaces:Object.keys(m)}}},{key:"loaded",value:function(i,o,a){var s=i.split("|"),l=s[0],u=s[1];o&&this.emit("failedLoading",l,u,o),a&&this.store.addResourceBundle(l,u,a),this.state[i]=o?-1:2;var d={};this.queue.forEach(function(h){twe(h.loaded,[l],u),Swe(h,i),o&&h.errors.push(o),h.pendingCount===0&&!h.done&&(Object.keys(h.loaded).forEach(function(m){d[m]||(d[m]={});var y=h.loaded[m];y.length&&y.forEach(function(b){d[m][b]===void 0&&(d[m][b]=!0)})}),h.done=!0,h.errors.length?h.callback(h.errors):h.callback())}),this.emit("loaded",d),this.queue=this.queue.filter(function(h){return!h.done})}},{key:"read",value:function(i,o,a){var s=this,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,u=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,d=arguments.length>5?arguments[5]:void 0;if(!i.length)return d(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:i,ns:o,fcName:a,tried:l,wait:u,callback:d});return}this.readingCalls++;var h=function(w,E){if(s.readingCalls--,s.waitingReads.length>0){var _=s.waitingReads.shift();s.read(_.lng,_.ns,_.fcName,_.tried,_.wait,_.callback)}if(w&&E&&l2&&arguments[2]!==void 0?arguments[2]:{},l=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."),l&&l();typeof i=="string"&&(i=this.languageUtils.toResolveHierarchy(i)),typeof o=="string"&&(o=[o]);var u=this.queueLoad(i,o,s,l);if(!u.toLoad.length)return u.pending.length||l(),null;u.toLoad.forEach(function(d){a.loadOne(d)})}},{key:"load",value:function(i,o,a){this.prepareLoading(i,o,{},a)}},{key:"reload",value:function(i,o,a){this.prepareLoading(i,o,{reload:!0},a)}},{key:"loadOne",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",s=i.split("|"),l=s[0],u=s[1];this.read(l,u,"read",void 0,void 0,function(d,h){d&&o.logger.warn("".concat(a,"loading namespace ").concat(u," for language ").concat(l," failed"),d),!d&&h&&o.logger.log("".concat(a,"loaded namespace ").concat(u," for language ").concat(l),h),o.loaded(i,d,h)})}},{key:"saveMissing",value:function(i,o,a,s,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},d=arguments.length>6&&arguments[6]!==void 0?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(o)){this.logger.warn('did not save key "'.concat(a,'" as the namespace "').concat(o,'" 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(!(a==null||a==="")){if(this.backend&&this.backend.create){var h=kR(kR({},u),{},{isUpdate:l}),m=this.backend.create.bind(this.backend);if(m.length<6)try{var y;m.length===5?y=m(i,o,a,s,h):y=m(i,o,a,s),y&&typeof y.then=="function"?y.then(function(b){return d(null,b)}).catch(d):d(null,y)}catch(b){d(b)}else m(i,o,a,s,d,h)}!i||!i[0]||this.store.addResource(i[0],o,a,s)}}}]),n}(Jd);function ER(){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:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){var n={};if(Ks(t[1])==="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),Ks(t[2])==="object"||Ks(t[3])==="object"){var r=t[3]||t[2];Object.keys(r).forEach(function(i){n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:function(t,n,r,i){return t},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function PR(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 TR(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 Tl(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function nx(){}function kwe(e){var t=Object.getOwnPropertyNames(Object.getPrototypeOf(e));t.forEach(function(n){typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}var T3=function(e){a4(n,e);var t=Cwe(n);function n(){var r,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(gs(this,n),r=t.call(this),s4&&Jd.call(Fd(r)),r.options=PR(i),r.services={},r.logger=Wl,r.modules={external:[]},kwe(Fd(r)),o&&!r.isInitialized&&!i.isClone){if(!r.options.initImmediate)return r.init(i,o),g2(r,Fd(r));setTimeout(function(){r.init(i,o)},0)}return r}return ms(n,[{key:"init",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;typeof o=="function"&&(a=o,o={}),!o.defaultNS&&o.defaultNS!==!1&&o.ns&&(typeof o.ns=="string"?o.defaultNS=o.ns:o.ns.indexOf("translation")<0&&(o.defaultNS=o.ns[0]));var s=ER();this.options=Tl(Tl(Tl({},s),this.options),PR(o)),this.options.compatibilityAPI!=="v1"&&(this.options.interpolation=Tl(Tl({},s.interpolation),this.options.interpolation)),o.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=o.keySeparator),o.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=o.nsSeparator);function l(_){return _?typeof _=="function"?new _:_:null}if(!this.options.isClone){this.modules.logger?Wl.init(l(this.modules.logger),this.options):Wl.init(null,this.options);var u;this.modules.formatter?u=this.modules.formatter:typeof Intl<"u"&&(u=ywe);var d=new xR(this.options);this.store=new lwe(this.options.resources,this.options);var h=this.services;h.logger=Wl,h.resourceStore=this.store,h.languageUtils=d,h.pluralResolver=new gwe(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),u&&(!this.options.interpolation.format||this.options.interpolation.format===s.interpolation.format)&&(h.formatter=l(u),h.formatter.init(h,this.options),this.options.interpolation.format=h.formatter.format.bind(h.formatter)),h.interpolator=new mwe(this.options),h.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},h.backendConnector=new wwe(l(this.modules.backend),h.resourceStore,h,this.options),h.backendConnector.on("*",function(_){for(var k=arguments.length,T=new Array(k>1?k-1:0),L=1;L1?k-1:0),L=1;L0&&m[0]!=="dev"&&(this.options.lng=m[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined");var y=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];y.forEach(function(_){i[_]=function(){var k;return(k=i.store)[_].apply(k,arguments)}});var b=["addResource","addResources","addResourceBundle","removeResourceBundle"];b.forEach(function(_){i[_]=function(){var k;return(k=i.store)[_].apply(k,arguments),i}});var w=qv(),E=function(){var k=function(L,O){i.isInitialized&&!i.initializedStoreOnce&&i.logger.warn("init: i18next is already initialized. You should call init just once!"),i.isInitialized=!0,i.options.isClone||i.logger.log("initialized",i.options),i.emit("initialized",i.options),w.resolve(O),a(L,O)};if(i.languages&&i.options.compatibilityAPI!=="v1"&&!i.isInitialized)return k(null,i.t.bind(i));i.changeLanguage(i.options.lng,k)};return this.options.resources||!this.options.initImmediate?E():setTimeout(E,0),w}},{key:"loadResources",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nx,s=a,l=typeof i=="string"?i:this.language;if(typeof i=="function"&&(s=i),!this.options.resources||this.options.partialBundledLanguages){if(l&&l.toLowerCase()==="cimode")return s();var u=[],d=function(y){if(y){var b=o.services.languageUtils.toResolveHierarchy(y);b.forEach(function(w){u.indexOf(w)<0&&u.push(w)})}};if(l)d(l);else{var h=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);h.forEach(function(m){return d(m)})}this.options.preload&&this.options.preload.forEach(function(m){return d(m)}),this.services.backendConnector.load(u,this.options.ns,function(m){!m&&!o.resolvedLanguage&&o.language&&o.setResolvedLanguage(o.language),s(m)})}else s(null)}},{key:"reloadResources",value:function(i,o,a){var s=qv();return i||(i=this.languages),o||(o=this.options.ns),a||(a=nx),this.services.backendConnector.reload(i,o,function(l){s.resolve(),a(l)}),s}},{key:"use",value:function(i){if(!i)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!i.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return i.type==="backend"&&(this.modules.backend=i),(i.type==="logger"||i.log&&i.warn&&i.error)&&(this.modules.logger=i),i.type==="languageDetector"&&(this.modules.languageDetector=i),i.type==="i18nFormat"&&(this.modules.i18nFormat=i),i.type==="postProcessor"&&EU.addPostProcessor(i),i.type==="formatter"&&(this.modules.formatter=i),i.type==="3rdParty"&&this.modules.external.push(i),this}},{key:"setResolvedLanguage",value:function(i){if(!(!i||!this.languages)&&!(["cimode","dev"].indexOf(i)>-1))for(var o=0;o-1)&&this.store.hasLanguageSomeTranslations(a)){this.resolvedLanguage=a;break}}}},{key:"changeLanguage",value:function(i,o){var a=this;this.isLanguageChangingTo=i;var s=qv();this.emit("languageChanging",i);var l=function(m){a.language=m,a.languages=a.services.languageUtils.toResolveHierarchy(m),a.resolvedLanguage=void 0,a.setResolvedLanguage(m)},u=function(m,y){y?(l(y),a.translator.changeLanguage(y),a.isLanguageChangingTo=void 0,a.emit("languageChanged",y),a.logger.log("languageChanged",y)):a.isLanguageChangingTo=void 0,s.resolve(function(){return a.t.apply(a,arguments)}),o&&o(m,function(){return a.t.apply(a,arguments)})},d=function(m){!i&&!m&&a.services.languageDetector&&(m=[]);var y=typeof m=="string"?m:a.services.languageUtils.getBestMatchFromCodes(m);y&&(a.language||l(y),a.translator.language||a.translator.changeLanguage(y),a.services.languageDetector&&a.services.languageDetector.cacheUserLanguage&&a.services.languageDetector.cacheUserLanguage(y)),a.loadResources(y,function(b){u(b,y)})};return!i&&this.services.languageDetector&&!this.services.languageDetector.async?d(this.services.languageDetector.detect()):!i&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(d):this.services.languageDetector.detect(d):d(i),s}},{key:"getFixedT",value:function(i,o,a){var s=this,l=function u(d,h){var m;if(Ks(h)!=="object"){for(var y=arguments.length,b=new Array(y>2?y-2:0),w=2;w1&&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;var s=this.resolvedLanguage||this.languages[0],l=this.options?this.options.fallbackLng:!1,u=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;var d=function(y,b){var w=o.services.backendConnector.state["".concat(y,"|").concat(b)];return w===-1||w===2};if(a.precheck){var h=a.precheck(this,d);if(h!==void 0)return h}return!!(this.hasResourceBundle(s,i)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||d(s,i)&&(!l||d(u,i)))}},{key:"loadNamespaces",value:function(i,o){var a=this,s=qv();return this.options.ns?(typeof i=="string"&&(i=[i]),i.forEach(function(l){a.options.ns.indexOf(l)<0&&a.options.ns.push(l)}),this.loadResources(function(l){s.resolve(),o&&o(l)}),s):(o&&o(),Promise.resolve())}},{key:"loadLanguages",value:function(i,o){var a=qv();typeof i=="string"&&(i=[i]);var s=this.options.preload||[],l=i.filter(function(u){return s.indexOf(u)<0});return l.length?(this.options.preload=s.concat(l),this.loadResources(function(u){a.resolve(),o&&o(u)}),a):(o&&o(),Promise.resolve())}},{key:"dir",value:function(i){if(i||(i=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!i)return"rtl";var o=["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"],a=this.services&&this.services.languageUtils||new xR(ER());return o.indexOf(a.getLanguagePartFromCode(i))>-1||i.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nx,s=Tl(Tl(Tl({},this.options),o),{isClone:!0}),l=new n(s);(o.debug!==void 0||o.prefix!==void 0)&&(l.logger=l.logger.clone(o));var u=["store","services","language"];return u.forEach(function(d){l[d]=i[d]}),l.services=Tl({},this.services),l.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l.translator=new bR(l.services,l.options),l.translator.on("*",function(d){for(var h=arguments.length,m=new Array(h>1?h-1:0),y=1;y0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new T3(e,t)});var Et=T3.createInstance();Et.createInstance=T3.createInstance;Et.createInstance;Et.dir;Et.init;Et.loadResources;Et.reloadResources;Et.use;Et.changeLanguage;Et.getFixedT;Et.t;Et.exists;Et.setDefaultNamespace;Et.hasLoadedNamespace;Et.loadNamespaces;Et.loadLanguages;var PU=[],Ewe=PU.forEach,Pwe=PU.slice;function Twe(e){return Ewe.call(Pwe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}var MR=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Mwe=function(t,n,r){var i=r||{};i.path=i.path||"/";var o=encodeURIComponent(n),a="".concat(t,"=").concat(o);if(i.maxAge>0){var s=i.maxAge-0;if(Number.isNaN(s))throw new Error("maxAge should be a Number");a+="; Max-Age=".concat(Math.floor(s))}if(i.domain){if(!MR.test(i.domain))throw new TypeError("option domain is invalid");a+="; Domain=".concat(i.domain)}if(i.path){if(!MR.test(i.path))throw new TypeError("option path is invalid");a+="; Path=".concat(i.path)}if(i.expires){if(typeof i.expires.toUTCString!="function")throw new TypeError("option expires is invalid");a+="; Expires=".concat(i.expires.toUTCString())}if(i.httpOnly&&(a+="; HttpOnly"),i.secure&&(a+="; Secure"),i.sameSite){var l=typeof i.sameSite=="string"?i.sameSite.toLowerCase():i.sameSite;switch(l){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a},LR={create:function(t,n,r,i){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};r&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+r*60*1e3)),i&&(o.domain=i),document.cookie=Mwe(t,encodeURIComponent(n),o)},read:function(t){for(var n="".concat(t,"="),r=document.cookie.split(";"),i=0;i-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));for(var i=r.substring(1),o=i.split("&"),a=0;a0){var l=o[a].substring(0,s);l===t.lookupQuerystring&&(n=o[a].substring(s+1))}}}return n}},Kv=null,AR=function(){if(Kv!==null)return Kv;try{Kv=window!=="undefined"&&window.localStorage!==null;var t="i18next.translate.boo";window.localStorage.setItem(t,"foo"),window.localStorage.removeItem(t)}catch{Kv=!1}return Kv},Owe={name:"localStorage",lookup:function(t){var n;if(t.lookupLocalStorage&&AR()){var r=window.localStorage.getItem(t.lookupLocalStorage);r&&(n=r)}return n},cacheUserLanguage:function(t,n){n.lookupLocalStorage&&AR()&&window.localStorage.setItem(n.lookupLocalStorage,t)}},Yv=null,OR=function(){if(Yv!==null)return Yv;try{Yv=window!=="undefined"&&window.sessionStorage!==null;var t="i18next.translate.boo";window.sessionStorage.setItem(t,"foo"),window.sessionStorage.removeItem(t)}catch{Yv=!1}return Yv},Rwe={name:"sessionStorage",lookup:function(t){var n;if(t.lookupSessionStorage&&OR()){var r=window.sessionStorage.getItem(t.lookupSessionStorage);r&&(n=r)}return n},cacheUserLanguage:function(t,n){n.lookupSessionStorage&&OR()&&window.sessionStorage.setItem(n.lookupSessionStorage,t)}},Iwe={name:"navigator",lookup:function(t){var n=[];if(typeof navigator<"u"){if(navigator.languages)for(var r=0;r0?n:void 0}},Dwe={name:"htmlTag",lookup:function(t){var n,r=t.htmlTag||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},jwe={name:"path",lookup:function(t){var n;if(typeof window<"u"){var r=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(r instanceof Array)if(typeof t.lookupFromPathIndex=="number"){if(typeof r[t.lookupFromPathIndex]!="string")return;n=r[t.lookupFromPathIndex].replace("/","")}else n=r[0].replace("/","")}return n}},Nwe={name:"subdomain",lookup:function(t){var n=typeof t.lookupFromSubdomainIndex=="number"?t.lookupFromSubdomainIndex+1:1,r=typeof window<"u"&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[n]}};function $we(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"]}}var TU=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};gs(this,e),this.type="languageDetector",this.detectors={},this.init(t,n)}return ms(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=Twe(r,this.options||{},$we()),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=i,this.addDetector(Lwe),this.addDetector(Awe),this.addDetector(Owe),this.addDetector(Rwe),this.addDetector(Iwe),this.addDetector(Dwe),this.addDetector(jwe),this.addDetector(Nwe)}},{key:"addDetector",value:function(n){this.detectors[n.name]=n}},{key:"detect",value:function(n){var r=this;n||(n=this.options.order);var i=[];return n.forEach(function(o){if(r.detectors[o]){var a=r.detectors[o].lookup(r.options);a&&typeof a=="string"&&(a=[a]),a&&(i=i.concat(a))}}),this.services.languageUtils.getBestMatchFromCodes?i:i.length>0?i[0]:null}},{key:"cacheUserLanguage",value:function(n,r){var i=this;r||(r=this.options.caches),r&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(n)>-1||r.forEach(function(o){i.detectors[o]&&i.detectors[o].cacheUserLanguage(n,i.options)}))}}]),e}();TU.type="languageDetector";function _k(e){return _k=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},_k(e)}var MU=[],Fwe=MU.forEach,Bwe=MU.slice;function kk(e){return Fwe.call(Bwe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function LU(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":_k(XMLHttpRequest))==="object"}function zwe(e){return!!e&&typeof e.then=="function"}function Hwe(e){return zwe(e)?e:Promise.resolve(e)}function Wwe(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 Dy={},Uwe={get exports(){return Dy},set exports(e){Dy=e}},V1={},Vwe={get exports(){return V1},set exports(e){V1=e}},RR;function Gwe(){return RR||(RR=1,function(e,t){var n=typeof self<"u"?self:wo,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(a){var s={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($){return $&&DataView.prototype.isPrototypeOf($)}if(s.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function($){return $&&u.indexOf(Object.prototype.toString.call($))>-1};function h($){if(typeof $!="string"&&($=String($)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test($))throw new TypeError("Invalid character in header field name");return $.toLowerCase()}function m($){return typeof $!="string"&&($=String($)),$}function y($){var V={next:function(){var X=$.shift();return{done:X===void 0,value:X}}};return s.iterable&&(V[Symbol.iterator]=function(){return V}),V}function b($){this.map={},$ instanceof b?$.forEach(function(V,X){this.append(X,V)},this):Array.isArray($)?$.forEach(function(V){this.append(V[0],V[1])},this):$&&Object.getOwnPropertyNames($).forEach(function(V){this.append(V,$[V])},this)}b.prototype.append=function($,V){$=h($),V=m(V);var X=this.map[$];this.map[$]=X?X+", "+V:V},b.prototype.delete=function($){delete this.map[h($)]},b.prototype.get=function($){return $=h($),this.has($)?this.map[$]:null},b.prototype.has=function($){return this.map.hasOwnProperty(h($))},b.prototype.set=function($,V){this.map[h($)]=m(V)},b.prototype.forEach=function($,V){for(var X in this.map)this.map.hasOwnProperty(X)&&$.call(V,this.map[X],X,this)},b.prototype.keys=function(){var $=[];return this.forEach(function(V,X){$.push(X)}),y($)},b.prototype.values=function(){var $=[];return this.forEach(function(V){$.push(V)}),y($)},b.prototype.entries=function(){var $=[];return this.forEach(function(V,X){$.push([X,V])}),y($)},s.iterable&&(b.prototype[Symbol.iterator]=b.prototype.entries);function w($){if($.bodyUsed)return Promise.reject(new TypeError("Already read"));$.bodyUsed=!0}function E($){return new Promise(function(V,X){$.onload=function(){V($.result)},$.onerror=function(){X($.error)}})}function _($){var V=new FileReader,X=E(V);return V.readAsArrayBuffer($),X}function k($){var V=new FileReader,X=E(V);return V.readAsText($),X}function T($){for(var V=new Uint8Array($),X=new Array(V.length),Q=0;Q-1?V:$}function N($,V){V=V||{};var X=V.body;if($ instanceof N){if($.bodyUsed)throw new TypeError("Already read");this.url=$.url,this.credentials=$.credentials,V.headers||(this.headers=new b($.headers)),this.method=$.method,this.mode=$.mode,this.signal=$.signal,!X&&$._bodyInit!=null&&(X=$._bodyInit,$.bodyUsed=!0)}else this.url=String($);if(this.credentials=V.credentials||this.credentials||"same-origin",(V.headers||!this.headers)&&(this.headers=new b(V.headers)),this.method=I(V.method||this.method||"GET"),this.mode=V.mode||this.mode||null,this.signal=V.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&X)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(X)}N.prototype.clone=function(){return new N(this,{body:this._bodyInit})};function W($){var V=new FormData;return $.trim().split("&").forEach(function(X){if(X){var Q=X.split("="),G=Q.shift().replace(/\+/g," "),Y=Q.join("=").replace(/\+/g," ");V.append(decodeURIComponent(G),decodeURIComponent(Y))}}),V}function B($){var V=new b,X=$.replace(/\r?\n[\t ]+/g," ");return X.split(/\r?\n/).forEach(function(Q){var G=Q.split(":"),Y=G.shift().trim();if(Y){var ee=G.join(":").trim();V.append(Y,ee)}}),V}O.call(N.prototype);function K($,V){V||(V={}),this.type="default",this.status=V.status===void 0?200:V.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in V?V.statusText:"OK",this.headers=new b(V.headers),this.url=V.url||"",this._initBody($)}O.call(K.prototype),K.prototype.clone=function(){return new K(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new b(this.headers),url:this.url})},K.error=function(){var $=new K(null,{status:0,statusText:""});return $.type="error",$};var ne=[301,302,303,307,308];K.redirect=function($,V){if(ne.indexOf(V)===-1)throw new RangeError("Invalid status code");return new K(null,{status:V,headers:{location:$}})},a.DOMException=o.DOMException;try{new a.DOMException}catch{a.DOMException=function(V,X){this.message=V,this.name=X;var Q=Error(V);this.stack=Q.stack},a.DOMException.prototype=Object.create(Error.prototype),a.DOMException.prototype.constructor=a.DOMException}function z($,V){return new Promise(function(X,Q){var G=new N($,V);if(G.signal&&G.signal.aborted)return Q(new a.DOMException("Aborted","AbortError"));var Y=new XMLHttpRequest;function ee(){Y.abort()}Y.onload=function(){var fe={status:Y.status,statusText:Y.statusText,headers:B(Y.getAllResponseHeaders()||"")};fe.url="responseURL"in Y?Y.responseURL:fe.headers.get("X-Request-URL");var Ce="response"in Y?Y.response:Y.responseText;X(new K(Ce,fe))},Y.onerror=function(){Q(new TypeError("Network request failed"))},Y.ontimeout=function(){Q(new TypeError("Network request failed"))},Y.onabort=function(){Q(new a.DOMException("Aborted","AbortError"))},Y.open(G.method,G.url,!0),G.credentials==="include"?Y.withCredentials=!0:G.credentials==="omit"&&(Y.withCredentials=!1),"responseType"in Y&&s.blob&&(Y.responseType="blob"),G.headers.forEach(function(fe,Ce){Y.setRequestHeader(Ce,fe)}),G.signal&&(G.signal.addEventListener("abort",ee),Y.onreadystatechange=function(){Y.readyState===4&&G.signal.removeEventListener("abort",ee)}),Y.send(typeof G._bodyInit>"u"?null:G._bodyInit)})}return z.polyfill=!0,o.fetch||(o.fetch=z,o.Headers=b,o.Request=N,o.Response=K),a.Headers=b,a.Request=N,a.Response=K,a.fetch=z,Object.defineProperty(a,"__esModule",{value:!0}),a})({})})(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}(Vwe,V1)),V1}(function(e,t){var n;if(typeof fetch=="function"&&(typeof wo<"u"&&wo.fetch?n=wo.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof Wwe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||Gwe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(Uwe,Dy);const AU=Dy,IR=_j({__proto__:null,default:AU},[Dy]);function M3(e){return M3=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},M3(e)}var Yu;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Yu=global.fetch:typeof window<"u"&&window.fetch?Yu=window.fetch:Yu=fetch);var jy;LU()&&(typeof global<"u"&&global.XMLHttpRequest?jy=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(jy=window.XMLHttpRequest));var L3;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?L3=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(L3=window.ActiveXObject));!Yu&&IR&&!jy&&!L3&&(Yu=AU||IR);typeof Yu!="function"&&(Yu=void 0);var Ek=function(t,n){if(n&&M3(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},DR=function(t,n,r){Yu(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)},jR=!1,qwe=function(t,n,r,i){t.queryStringParams&&(n=Ek(n,t.queryStringParams));var o=kk({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var a=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,s=kk({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},jR?{}:a);try{DR(n,s,i)}catch(l){if(!a||Object.keys(a).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(a).forEach(function(u){delete s[u]}),DR(n,s,i),jR=!0}catch(u){i(u)}}},Kwe=function(t,n,r,i){r&&M3(r)==="object"&&(r=Ek("",r).slice(1)),t.queryStringParams&&(n=Ek(n,t.queryStringParams));try{var o;jy?o=new jy:o=new L3("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 a=t.customHeaders;if(a=typeof a=="function"?a():a,a)for(var s in a)o.setRequestHeader(s,a[s]);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)}},Ywe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Yu&&n.indexOf("file:")!==0)return qwe(t,n,r,i);if(LU()||typeof ActiveXObject=="function")return Kwe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Ny(e){return Ny=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},Ny(e)}function Xwe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function NR(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Xwe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return Zwe(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=kk(i,this.options||{},e4e()),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,a){var s=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=Hwe(l),l.then(function(u){if(!u)return a(null,{});var d=s.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});s.loadUrl(d,a,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var a=this;this.options.request(this.options,n,void 0,function(s,l){if(l&&(l.status>=500&&l.status<600||!l.status))return r("failed loading "+n+"; status code: "+l.status,!0);if(l&&l.status>=400&&l.status<500)return r("failed loading "+n+"; status code: "+l.status,!1);if(!l&&s&&s.message&&s.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+s.message,!0);if(s)return r(s,!1);var u,d;try{typeof l.data=="string"?u=a.options.parse(l.data,i,o):u=l.data}catch{d="failed parsing "+n+" to json"}if(d)return r(d,!1);r(null,u)})}},{key:"create",value:function(n,r,i,o,a){var s=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,d=[],h=[];n.forEach(function(m){var y=s.options.addPath;typeof s.options.addPath=="function"&&(y=s.options.addPath(m,r));var b=s.services.interpolator.interpolate(y,{lng:m,ns:r});s.options.request(s.options,b,l,function(w,E){u+=1,d.push(w),h.push(E),u===n.length&&typeof a=="function"&&a(d,h)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,a=r.logger,s=i.language;if(!(s&&s.toLowerCase()==="cimode")){var l=[],u=function(h){var m=o.toResolveHierarchy(h);m.forEach(function(y){l.indexOf(y)<0&&l.push(y)})};u(s),this.allOptions.preload&&this.allOptions.preload.forEach(function(d){return u(d)}),l.forEach(function(d){n.allOptions.ns.forEach(function(h){i.read(d,h,"read",null,null,function(m,y){m&&a.warn("loading namespace ".concat(h," for language ").concat(d," failed"),m),!m&&y&&a.log("loaded namespace ".concat(h," for language ").concat(d),y),i.loaded("".concat(d,"|").concat(h),m,y)})})})}}}]),e}();RU.type="backend";function t4e(){if(console&&console.warn){for(var e,t=arguments.length,n=new Array(t),r=0;r2&&arguments[2]!==void 0?arguments[2]:{},r=t.languages[0],i=t.options?t.options.fallbackLng:!1,o=t.languages[t.languages.length-1];if(r.toLowerCase()==="cimode")return!0;var a=function(l,u){var d=t.services.backendConnector.state["".concat(l,"|").concat(u)];return d===-1||d===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!a(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||a(r,e)&&(!i||a(o,e)))}function r4e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!t.languages||!t.languages.length)return Pk("i18n.languages were undefined or empty",t.languages),!0;var r=t.options.ignoreJSONStructure!==void 0;return r?t.hasLoadedNamespace(e,{precheck:function(o,a){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&o.services.backendConnector.backend&&o.isLanguageChangingTo&&!a(o.isLanguageChangingTo,e))return!1}}):n4e(e,t,n)}var i4e=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,o4e={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},a4e=function(t){return o4e[t]},s4e=function(t){return t.replace(i4e,a4e)};function BR(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 zR(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:{};Tk=zR(zR({},Tk),e)}function u4e(){return Tk}var IU;function c4e(e){IU=e}function d4e(){return IU}var f4e={type:"3rdParty",init:function(t){l4e(t.options.react),c4e(t)}},h4e=S.createContext(),p4e=function(){function e(){gs(this,e),this.usedNamespaces={}}return ms(e,[{key:"addUsedNamespaces",value:function(n){var r=this;n.forEach(function(i){r.usedNamespaces[i]||(r.usedNamespaces[i]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),e}();function g4e(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,i,o,a,s=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(d){u=!0,i=d}finally{try{if(!l&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}function m4e(e,t){return SU(e)||g4e(e,t)||wU(e,t)||CU()}function HR(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 FC(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},n=t.i18n,r=S.useContext(h4e)||{},i=r.i18n,o=r.defaultNS,a=n||i||d4e();if(a&&!a.reportNamespaces&&(a.reportNamespaces=new p4e),!a){Pk("You will need to pass in an i18next instance by using initReactI18next");var s=function(W){return Array.isArray(W)?W[W.length-1]:W},l=[s,{},!1];return l.t=s,l.i18n={},l.ready=!1,l}a.options.react&&a.options.react.wait!==void 0&&Pk("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var u=FC(FC(FC({},u4e()),a.options.react),t),d=u.useSuspense,h=u.keyPrefix,m=e||o||a.options&&a.options.defaultNS;m=typeof m=="string"?[m]:m||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(m);var y=(a.isInitialized||a.initializedStoreOnce)&&m.every(function(N){return r4e(N,a,u)});function b(){return a.getFixedT(null,u.nsMode==="fallback"?m:m[0],h)}var w=S.useState(b),E=m4e(w,2),_=E[0],k=E[1],T=m.join(),L=v4e(T),O=S.useRef(!0);S.useEffect(function(){var N=u.bindI18n,W=u.bindI18nStore;O.current=!0,!y&&!d&&FR(a,m,function(){O.current&&k(b)}),y&&L&&L!==T&&O.current&&k(b);function B(){O.current&&k(b)}return N&&a&&a.on(N,B),W&&a&&a.store.on(W,B),function(){O.current=!1,N&&a&&N.split(" ").forEach(function(K){return a.off(K,B)}),W&&a&&W.split(" ").forEach(function(K){return a.store.off(K,B)})}},[a,T]);var D=S.useRef(!0);S.useEffect(function(){O.current&&!D.current&&k(b),D.current=!1},[a,h]);var I=[_,a,y];if(I.t=_,I.i18n=a,I.ready=y,y||!y&&!d)return I;throw new Promise(function(N){FR(a,m,function(){N()})})}Et.use(RU).use(TU).use(f4e).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const y4e={isConnected:!1,isProcessing:!1,log:[],shouldShowLogViewer:!1,shouldDisplayInProgressType:"latents",shouldDisplayGuides:!0,isGFPGANAvailable:!0,isESRGANAvailable:!0,socketId:"",shouldConfirmOnDelete:!0,openAccordions:[0],currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatus:Et.isInitialized?Et.t("common.statusDisconnected"):"Disconnected",currentStatusHasSteps:!1,model:"",model_id:"",model_hash:"",app_id:"",app_version:"",model_list:{},infill_methods:[],hasError:!1,wasErrorSeen:!0,isCancelable:!0,saveIntermediatesInterval:5,enableImageDebugging:!1,toastQueue:[],searchFolder:null,foundModels:null,foundLoras:null,openModel:null,cancelOptions:{cancelType:"immediate",cancelAfter:null}},DU=ap({name:"system",initialState:y4e,reducers:{setShouldDisplayInProgressType:(e,t)=>{e.shouldDisplayInProgressType=t.payload},setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.currentStatus=t.payload},setSystemStatus:(e,t)=>({...e,...t.payload}),errorOccurred:e=>{e.hasError=!0,e.isProcessing=!1,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.currentStatus=Et.t("common.statusError"),e.wasErrorSeen=!1},errorSeen:e=>{e.hasError=!1,e.wasErrorSeen=!0,e.currentStatus=e.isConnected?Et.t("common.statusConnected"):Et.t("common.statusDisconnected")},addLogEntry:(e,t)=>{const{timestamp:n,message:r,level:i}=t.payload,a={timestamp:n,message:r,level:i||"info"};e.log.push(a)},setShouldShowLogViewer:(e,t)=>{e.shouldShowLogViewer=t.payload},setIsConnected:(e,t)=>{e.isConnected=t.payload,e.isProcessing=!1,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.hasError=!1},setSocketId:(e,t)=>{e.socketId=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setOpenAccordions:(e,t)=>{e.openAccordions=t.payload},setSystemConfig:(e,t)=>({...e,...t.payload}),setShouldDisplayGuides:(e,t)=>{e.shouldDisplayGuides=t.payload},processingCanceled:e=>{e.isProcessing=!1,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.currentStatus=Et.t("common.statusProcessingCanceled")},generationRequested:e=>{e.isProcessing=!0,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.currentStatus=Et.t("common.statusPreparing")},setModelList:(e,t)=>{e.model_list=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},modelChangeRequested:e=>{e.currentStatus=Et.t("common.statusLoadingModel"),e.isCancelable=!1,e.isProcessing=!0,e.currentStatusHasSteps=!1},modelConvertRequested:e=>{e.currentStatus=Et.t("common.statusConvertingModel"),e.isCancelable=!1,e.isProcessing=!0,e.currentStatusHasSteps=!1},modelMergingRequested:e=>{e.currentStatus=Et.t("common.statusMergingModels"),e.isCancelable=!1,e.isProcessing=!0,e.currentStatusHasSteps=!1},setSaveIntermediatesInterval:(e,t)=>{e.saveIntermediatesInterval=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},setProcessingIndeterminateTask:(e,t)=>{e.isProcessing=!0,e.currentStatus=t.payload,e.currentStatusHasSteps=!1},setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setFoundModels:(e,t)=>{e.foundModels=t.payload},setFoundLoras:(e,t)=>{e.foundLoras=t.payload},setOpenModel:(e,t)=>{e.openModel=t.payload},setCancelType:(e,t)=>{e.cancelOptions.cancelType=t.payload},setCancelAfter:(e,t)=>{e.cancelOptions.cancelAfter=t.payload}}}),{setShouldDisplayInProgressType:b4e,setIsProcessing:wa,addLogEntry:Pi,setShouldShowLogViewer:BC,setIsConnected:WR,setSocketId:NNe,setShouldConfirmOnDelete:jU,setOpenAccordions:x4e,setSystemStatus:S4e,setCurrentStatus:hh,setSystemConfig:w4e,setShouldDisplayGuides:C4e,processingCanceled:_4e,errorOccurred:UR,errorSeen:NU,setModelList:Ag,setIsCancelable:_d,modelChangeRequested:k4e,modelConvertRequested:E4e,modelMergingRequested:P4e,setSaveIntermediatesInterval:T4e,setEnableImageDebugging:M4e,generationRequested:L4e,addToast:$u,clearToastQueue:A4e,setProcessingIndeterminateTask:O4e,setSearchFolder:$U,setFoundModels:FU,setFoundLoras:R4e,setOpenModel:VR,setCancelType:GR,setCancelAfter:zC}=DU.actions,I4e=DU.reducer,SE=["txt2img","img2img","unifiedCanvas","nodes","postprocess","training"],D4e={activeTab:0,currentTheme:"dark",parametersPanelScrollPosition:0,shouldHoldParametersPanelOpen:!1,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowDualDisplay:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,addNewModelUIOption:null},j4e=D4e,BU=ap({name:"ui",initialState:j4e,reducers:{setActiveTab:(e,t)=>{typeof t.payload=="number"?e.activeTab=t.payload:e.activeTab=SE.indexOf(t.payload)},setCurrentTheme:(e,t)=>{e.currentTheme=t.payload},setParametersPanelScrollPosition:(e,t)=>{e.parametersPanelScrollPosition=t.payload},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldHoldParametersPanelOpen:(e,t)=>{e.shouldHoldParametersPanelOpen=t.payload},setShouldShowDualDisplay:(e,t)=>{e.shouldShowDualDisplay=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setAddNewModelUIOption:(e,t)=>{e.addNewModelUIOption=t.payload}}}),{setActiveTab:Uo,setCurrentTheme:N4e,setParametersPanelScrollPosition:$4e,setShouldHoldParametersPanelOpen:F4e,setShouldPinParametersPanel:B4e,setShouldShowParametersPanel:Fh,setShouldShowDualDisplay:z4e,setShouldShowImageDetails:zU,setShouldUseCanvasBetaLayout:H4e,setShouldShowExistingModelsInSearch:W4e,setShouldUseSliders:U4e,setAddNewModelUIOption:Bh}=BU.actions,V4e=BU.reducer,iu=Object.create(null);iu.open="0";iu.close="1";iu.ping="2";iu.pong="3";iu.message="4";iu.upgrade="5";iu.noop="6";const fS=Object.create(null);Object.keys(iu).forEach(e=>{fS[iu[e]]=e});const G4e={type:"error",data:"parser error"},q4e=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",K4e=typeof ArrayBuffer=="function",Y4e=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,HU=({type:e,data:t},n,r)=>q4e&&t instanceof Blob?n?r(t):qR(t,r):K4e&&(t instanceof ArrayBuffer||Y4e(t))?n?r(t):qR(new Blob([t]),r):r(iu[e]+(t||"")),qR=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)},KR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",m1=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,a,s,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),d=new Uint8Array(u);for(r=0;r>4,d[i++]=(a&15)<<4|s>>2,d[i++]=(s&3)<<6|l&63;return u},Z4e=typeof ArrayBuffer=="function",WU=(e,t)=>{if(typeof e!="string")return{type:"message",data:UU(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:Q4e(e.substring(1),t)}:fS[n]?e.length>1?{type:fS[n],data:e.substring(1)}:{type:fS[n]}:G4e},Q4e=(e,t)=>{if(Z4e){const n=X4e(e);return UU(n,t)}else return{base64:!0,data:e}},UU=(e,t)=>{switch(t){case"blob":return e instanceof ArrayBuffer?new Blob([e]):e;case"arraybuffer":default:return e}},VU=String.fromCharCode(30),J4e=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,a)=>{HU(o,!1,s=>{r[a]=s,++i===n&&t(r.join(VU))})})},e5e=(e,t)=>{const n=e.split(VU),r=[];for(let i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function qU(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const n5e=Za.setTimeout,r5e=Za.clearTimeout;function l4(e,t){t.useNativeTimers?(e.setTimeoutFn=n5e.bind(Za),e.clearTimeoutFn=r5e.bind(Za)):(e.setTimeoutFn=Za.setTimeout.bind(Za),e.clearTimeoutFn=Za.clearTimeout.bind(Za))}const i5e=1.33;function o5e(e){return typeof e=="string"?a5e(e):Math.ceil((e.byteLength||e.size)*i5e)}function a5e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}class s5e extends Error{constructor(t,n,r){super(t),this.description=n,this.context=r,this.type="TransportError"}}class KU extends ai{constructor(t){super(),this.writable=!1,l4(this,t),this.opts=t,this.query=t.query,this.socket=t.socket}onError(t,n,r){return super.emitReserved("error",new s5e(t,n,r)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(t){this.readyState==="open"&&this.write(t)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(t){const n=WU(t,this.socket.binaryType);this.onPacket(n)}onPacket(t){super.emitReserved("packet",t)}onClose(t){this.readyState="closed",super.emitReserved("close",t)}pause(t){}}const YU="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Mk=64,l5e={};let YR=0,rx=0,XR;function ZR(e){let t="";do t=YU[e%Mk]+t,e=Math.floor(e/Mk);while(e>0);return t}function XU(){const e=ZR(+new Date);return e!==XR?(YR=0,XR=e):e+"."+ZR(YR++)}for(;rx{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)};e5e(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,J4e(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let t=this.query||{};const n=this.opts.secure?"https":"http";let r="";this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=XU()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.opts.port&&(n==="https"&&Number(this.opts.port)!==443||n==="http"&&Number(this.opts.port)!==80)&&(r=":"+this.opts.port);const i=ZU(t),o=this.opts.hostname.indexOf(":")!==-1;return n+"://"+(o?"["+this.opts.hostname+"]":this.opts.hostname)+r+this.opts.path+(i.length?"?"+i:"")}request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts),new eu(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}}class eu extends ai{constructor(t,n){super(),l4(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.async=n.async!==!1,this.data=n.data!==void 0?n.data:null,this.create()}create(){const t=qU(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd,t.xscheme=!!this.opts.xs;const n=this.xhr=new JU(t);try{n.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let r in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(r)&&n.setRequestHeader(r,this.opts.extraHeaders[r])}}catch{}if(this.method==="POST")try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{n.setRequestHeader("Accept","*/*")}catch{}"withCredentials"in n&&(n.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(n.timeout=this.opts.requestTimeout),n.onreadystatechange=()=>{n.readyState===4&&(n.status===200||n.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof n.status=="number"?n.status:0)},0))},n.send(this.data)}catch(r){this.setTimeoutFn(()=>{this.onError(r)},0);return}typeof document<"u"&&(this.index=eu.requestsCount++,eu.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=d5e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete eu.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()}}eu.requestsCount=0;eu.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",QR);else if(typeof addEventListener=="function"){const e="onpagehide"in Za?"pagehide":"unload";addEventListener(e,QR,!1)}}function QR(){for(let e in eu.requests)eu.requests.hasOwnProperty(e)&&eu.requests[e].abort()}const eV=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),ix=Za.WebSocket||Za.MozWebSocket,JR=!0,p5e="arraybuffer",eI=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class g5e extends KU{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=eI?{}:qU(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=JR&&!eI?n?new ix(t,n):new ix(t):new ix(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||p5e,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 a={};try{JR&&this.ws.send(o)}catch{}i&&eV(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){let t=this.query||{};const n=this.opts.secure?"wss":"ws";let r="";this.opts.port&&(n==="wss"&&Number(this.opts.port)!==443||n==="ws"&&Number(this.opts.port)!==80)&&(r=":"+this.opts.port),this.opts.timestampRequests&&(t[this.opts.timestampParam]=XU()),this.supportsBinary||(t.b64=1);const i=ZU(t),o=this.opts.hostname.indexOf(":")!==-1;return n+"://"+(o?"["+this.opts.hostname+"]":this.opts.hostname)+r+this.opts.path+(i.length?"?"+i:"")}check(){return!!ix}}const m5e={websocket:g5e,polling:h5e},v5e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,y5e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Lk(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=v5e.exec(e||""),o={},a=14;for(;a--;)o[y5e[a]]=i[a]||"";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=b5e(o,o.path),o.queryKey=x5e(o,o.query),o}function b5e(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 x5e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let tV=class Ng extends ai{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=Lk(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=Lk(n.host).host),l4(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"],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:!0},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=u5e(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=GU,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts.transportOptions[t],this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new m5e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Ng.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;Ng.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",h=>{if(!r)if(h.type==="pong"&&h.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Ng.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(d(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const m=new Error("probe error");m.transport=n.name,this.emitReserved("upgradeError",m)}}))};function o(){r||(r=!0,d(),n.close(),n=null)}const a=h=>{const m=new Error("probe error: "+h);m.transport=n.name,o(),this.emitReserved("upgradeError",m)};function s(){a("transport closed")}function l(){a("socket closed")}function u(h){n&&h.name!==n.name&&o()}const d=()=>{n.removeListener("open",i),n.removeListener("error",a),n.removeListener("close",s),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",a),n.once("close",s),this.once("close",l),this.once("upgrading",u),n.open()}onOpen(){if(this.readyState="open",Ng.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){Ng.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,nV=Object.prototype.toString,_5e=typeof Blob=="function"||typeof Blob<"u"&&nV.call(Blob)==="[object BlobConstructor]",k5e=typeof File=="function"||typeof File<"u"&&nV.call(File)==="[object FileConstructor]";function wE(e){return w5e&&(e instanceof ArrayBuffer||C5e(e))||_5e&&e instanceof Blob||k5e&&e instanceof File}function hS(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n=0&&e.num0;case nn.ACK:case nn.BINARY_ACK:return Array.isArray(n)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class L5e{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){const n=P5e(this.reconPack,this.buffers);return this.finishedReconstruction(),n}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const A5e=Object.freeze(Object.defineProperty({__proto__:null,Decoder:CE,Encoder:M5e,get PacketType(){return nn},protocol:T5e},Symbol.toStringTag,{value:"Module"}));function Hs(e,t,n){return e.on(t,n),function(){e.off(t,n)}}const O5e=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class rV extends ai{constructor(t,n,r){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this.ids=0,this.acks={},this.flags={},this.io=t,this.nsp=n,r&&r.auth&&(this.auth=r.auth),this._opts=Object.assign({},r),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const t=this.io;this.subs=[Hs(t,"open",this.onopen.bind(this)),Hs(t,"packet",this.onpacket.bind(this)),Hs(t,"error",this.onerror.bind(this)),Hs(t,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...t){return t.unshift("message"),this.emit.apply(this,t),this}emit(t,...n){if(O5e.hasOwnProperty(t))throw new Error('"'+t.toString()+'" is a reserved event name');if(n.unshift(t),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(n),this;const r={type:nn.EVENT,data:n};if(r.options={},r.options.compress=this.flags.compress!==!1,typeof n[n.length-1]=="function"){const a=this.ids++,s=n.pop();this._registerAckCallback(a,s),r.id=a}const i=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!i||!this.connected)||(this.connected?(this.notifyOutgoingListeners(r),this.packet(r)):this.sendBuffer.push(r)),this.flags={},this}_registerAckCallback(t,n){var r;const i=(r=this.flags.timeout)!==null&&r!==void 0?r:this._opts.ackTimeout;if(i===void 0){this.acks[t]=n;return}const o=this.io.setTimeoutFn(()=>{delete this.acks[t];for(let a=0;a{this.io.clearTimeoutFn(o),n.apply(this,[null,...a])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((a,s)=>r?a?o(a):i(s):i(a)),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this.ids++,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(){if(this._queue.length===0)return;const t=this._queue[0];if(t.pending)return;t.pending=!0,t.tryCount++;const n=this.ids;this.ids=t.id,this.flags=t.flags,this.emit.apply(this,t.args),this.ids=n}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:nn.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 nn.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 nn.EVENT:case nn.BINARY_EVENT:this.onevent(t);break;case nn.ACK:case nn.BINARY_ACK:this.onack(t);break;case nn.DISCONNECT:this.ondisconnect();break;case nn.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:nn.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")}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:nn.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}b0.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};b0.prototype.reset=function(){this.attempts=0};b0.prototype.setMin=function(e){this.ms=e};b0.prototype.setMax=function(e){this.max=e};b0.prototype.setJitter=function(e){this.jitter=e};class Rk extends ai{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,l4(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 b0({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||A5e;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 tV(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=Hs(n,"open",function(){r.onopen(),t&&t()}),o=Hs(n,"error",a=>{r.cleanup(),r._readyState="closed",this.emitReserved("error",a),t?t(a):r.maybeReconnectOnOpen()});if(this._timeout!==!1){const a=this._timeout;a===0&&i();const s=this.setTimeoutFn(()=>{i(),n.close(),n.emit("error",new Error("timeout"))},a);this.opts.autoUnref&&s.unref(),this.subs.push(function(){clearTimeout(s)})}return this.subs.push(i),this.subs.push(o),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Hs(t,"ping",this.onping.bind(this)),Hs(t,"data",this.ondata.bind(this)),Hs(t,"error",this.onerror.bind(this)),Hs(t,"close",this.onclose.bind(this)),Hs(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){eV(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r||(r=new rV(this,t,n),this.nsps[t]=r),this._autoConnect&&r.connect(),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(function(){clearTimeout(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const Xv={};function pS(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=S5e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,a=Xv[i]&&o in Xv[i].nsps,s=t.forceNew||t["force new connection"]||t.multiplex===!1||a;let l;return s?l=new Rk(r,t):(Xv[i]||(Xv[i]=new Rk(r,t)),l=Xv[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(pS,{Manager:Rk,Socket:rV,io:pS,connect:pS});const R5e=["ddim","plms","k_lms","k_dpm_2","k_dpm_2_a","k_dpmpp_2","k_dpmpp_2_a","k_euler","k_euler_a","k_heun"],I5e=["ddim","plms","k_lms","dpmpp_2","k_dpm_2","k_dpm_2_a","k_dpmpp_2","k_euler","k_euler_a","k_heun"],D5e=[64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024,1088,1152,1216,1280,1344,1408,1472,1536,1600,1664,1728,1792,1856,1920,1984,2048],j5e=[64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024,1088,1152,1216,1280,1344,1408,1472,1536,1600,1664,1728,1792,1856,1920,1984,2048],N5e=[{key:"2x",value:2},{key:"4x",value:4}],_E=0,kE=4294967295,$5e=["gfpgan","codeformer"],F5e=[{key:"None",value:"none"},{key:"Fast",value:"latents"},{key:"Accurate",value:"full-res"}];var B5e=Math.PI/180;function z5e(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}const Im=typeof global<"u"?global:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},ft={_global:Im,version:"8.4.2",isBrowser:z5e(),isUnminified:/param/.test(function(e){}.toString()),dblClickWindow:400,getAngle(e){return ft.angleDeg?e*B5e:e},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 ft.DD.isDragging},isDragReady(){return!!ft.DD.node},releaseCanvasOnDestroy:!0,document:Im.document,_injectGlobal(e){Im.Konva=e}},Mr=e=>{ft[e.prototype.getClassName()]=e};ft._injectGlobal(ft);class Ca{constructor(t=[1,0,0,1,0,0]){this.dirty=!1,this.m=t&&t.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 Ca(this.m)}copyInto(t){t.m[0]=this.m[0],t.m[1]=this.m[1],t.m[2]=this.m[2],t.m[3]=this.m[3],t.m[4]=this.m[4],t.m[5]=this.m[5]}point(t){var n=this.m;return{x:n[0]*t.x+n[2]*t.y+n[4],y:n[1]*t.x+n[3]*t.y+n[5]}}translate(t,n){return this.m[4]+=this.m[0]*t+this.m[2]*n,this.m[5]+=this.m[1]*t+this.m[3]*n,this}scale(t,n){return this.m[0]*=t,this.m[1]*=t,this.m[2]*=n,this.m[3]*=n,this}rotate(t){var n=Math.cos(t),r=Math.sin(t),i=this.m[0]*n+this.m[2]*r,o=this.m[1]*n+this.m[3]*r,a=this.m[0]*-r+this.m[2]*n,s=this.m[1]*-r+this.m[3]*n;return this.m[0]=i,this.m[1]=o,this.m[2]=a,this.m[3]=s,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(t,n){var r=this.m[0]+this.m[2]*n,i=this.m[1]+this.m[3]*n,o=this.m[2]+this.m[0]*t,a=this.m[3]+this.m[1]*t;return this.m[0]=r,this.m[1]=i,this.m[2]=o,this.m[3]=a,this}multiply(t){var n=this.m[0]*t.m[0]+this.m[2]*t.m[1],r=this.m[1]*t.m[0]+this.m[3]*t.m[1],i=this.m[0]*t.m[2]+this.m[2]*t.m[3],o=this.m[1]*t.m[2]+this.m[3]*t.m[3],a=this.m[0]*t.m[4]+this.m[2]*t.m[5]+this.m[4],s=this.m[1]*t.m[4]+this.m[3]*t.m[5]+this.m[5];return this.m[0]=n,this.m[1]=r,this.m[2]=i,this.m[3]=o,this.m[4]=a,this.m[5]=s,this}invert(){var t=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),n=this.m[3]*t,r=-this.m[1]*t,i=-this.m[2]*t,o=this.m[0]*t,a=t*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),s=t*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=n,this.m[1]=r,this.m[2]=i,this.m[3]=o,this.m[4]=a,this.m[5]=s,this}getMatrix(){return this.m}decompose(){var t=this.m[0],n=this.m[1],r=this.m[2],i=this.m[3],o=this.m[4],a=this.m[5],s=t*i-n*r;let l={x:o,y:a,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(t!=0||n!=0){var u=Math.sqrt(t*t+n*n);l.rotation=n>0?Math.acos(t/u):-Math.acos(t/u),l.scaleX=u,l.scaleY=s/u,l.skewX=(t*r+n*i)/s,l.skewY=0}else if(r!=0||i!=0){var d=Math.sqrt(r*r+i*i);l.rotation=Math.PI/2-(i>0?Math.acos(-r/d):-Math.acos(r/d)),l.scaleX=s/d,l.scaleY=d,l.skewX=0,l.skewY=(t*r+n*i)/s}return l.rotation=de._getRotation(l.rotation),l}}var H5e="[object Array]",W5e="[object Number]",U5e="[object String]",V5e="[object Boolean]",G5e=Math.PI/180,q5e=180/Math.PI,HC="#",K5e="",Y5e="0",X5e="Konva warning: ",tI="Konva error: ",Z5e="rgb(",WC={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]},Q5e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,ox=[];const J5e=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(e){setTimeout(e,60)},de={_isElement(e){return!!(e&&e.nodeType==1)},_isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)},_isPlainObject(e){return!!e&&e.constructor===Object},_isArray(e){return Object.prototype.toString.call(e)===H5e},_isNumber(e){return Object.prototype.toString.call(e)===W5e&&!isNaN(e)&&isFinite(e)},_isString(e){return Object.prototype.toString.call(e)===U5e},_isBoolean(e){return Object.prototype.toString.call(e)===V5e},isObject(e){return e instanceof Object},isValidSelector(e){if(typeof e!="string")return!1;var t=e[0];return t==="#"||t==="."||t===t.toUpperCase()},_sign(e){return e===0||e>0?1:-1},requestAnimFrame(e){ox.push(e),ox.length===1&&J5e(function(){const t=ox;ox=[],t.forEach(function(n){n()})})},createCanvasElement(){var e=document.createElement("canvas");try{e.style=e.style||{}}catch{}return e},createImageElement(){return document.createElement("img")},_isInDocument(e){for(;e=e.parentNode;)if(e==document)return!0;return!1},_urlToImage(e,t){var n=de.createImageElement();n.onload=function(){t(n)},n.src=e},_rgbToHex(e,t,n){return((1<<24)+(e<<16)+(t<<8)+n).toString(16).slice(1)},_hexToRgb(e){e=e.replace(HC,K5e);var t=parseInt(e,16);return{r:t>>16&255,g:t>>8&255,b:t&255}},getRandomColor(){for(var e=(Math.random()*16777215<<0).toString(16);e.length<6;)e=Y5e+e;return HC+e},getRGB(e){var t;return e in WC?(t=WC[e],{r:t[0],g:t[1],b:t[2]}):e[0]===HC?this._hexToRgb(e.substring(1)):e.substr(0,4)===Z5e?(t=Q5e.exec(e.replace(/ /g,"")),{r:parseInt(t[1],10),g:parseInt(t[2],10),b:parseInt(t[3],10)}):{r:0,g:0,b:0}},colorToRGBA(e){return e=e||"black",de._namedColorToRBA(e)||de._hex3ColorToRGBA(e)||de._hex4ColorToRGBA(e)||de._hex6ColorToRGBA(e)||de._hex8ColorToRGBA(e)||de._rgbColorToRGBA(e)||de._rgbaColorToRGBA(e)||de._hslColorToRGBA(e)},_namedColorToRBA(e){var t=WC[e.toLowerCase()];return t?{r:t[0],g:t[1],b:t[2],a:1}:null},_rgbColorToRGBA(e){if(e.indexOf("rgb(")===0){e=e.match(/rgb\(([^)]+)\)/)[1];var t=e.split(/ *, */).map(Number);return{r:t[0],g:t[1],b:t[2],a:1}}},_rgbaColorToRGBA(e){if(e.indexOf("rgba(")===0){e=e.match(/rgba\(([^)]+)\)/)[1];var t=e.split(/ *, */).map((n,r)=>n.slice(-1)==="%"?r===3?parseInt(n)/100:parseInt(n)/100*255:Number(n));return{r:t[0],g:t[1],b:t[2],a:t[3]}}},_hex8ColorToRGBA(e){if(e[0]==="#"&&e.length===9)return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:parseInt(e.slice(7,9),16)/255}},_hex6ColorToRGBA(e){if(e[0]==="#"&&e.length===7)return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:1}},_hex4ColorToRGBA(e){if(e[0]==="#"&&e.length===5)return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:parseInt(e[4]+e[4],16)/255}},_hex3ColorToRGBA(e){if(e[0]==="#"&&e.length===4)return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:1}},_hslColorToRGBA(e){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(e)){const[t,...n]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e),r=Number(n[0])/360,i=Number(n[1])/100,o=Number(n[2])/100;let a,s,l;if(i===0)return l=o*255,{r:Math.round(l),g:Math.round(l),b:Math.round(l),a:1};o<.5?a=o*(1+i):a=o+i-o*i;const u=2*o-a,d=[0,0,0];for(let h=0;h<3;h++)s=r+1/3*-(h-1),s<0&&s++,s>1&&s--,6*s<1?l=u+(a-u)*6*s:2*s<1?l=a:3*s<2?l=u+(a-u)*(2/3-s)*6:l=u,d[h]=l*255;return{r:Math.round(d[0]),g:Math.round(d[1]),b:Math.round(d[2]),a:1}}},haveIntersection(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height1?(a=n,s=r,l=(n-i)*(n-i)+(r-o)*(r-o)):(a=e+d*(n-e),s=t+d*(r-t),l=(a-i)*(a-i)+(s-o)*(s-o))}return[a,s,l]},_getProjectionToLine(e,t,n){var r=de.cloneObject(e),i=Number.MAX_VALUE;return t.forEach(function(o,a){if(!(!n&&a===t.length-1)){var s=t[(a+1)%t.length],l=de._getProjectionToSegment(o.x,o.y,s.x,s.y,e.x,e.y),u=l[0],d=l[1],h=l[2];ht.length){var a=t;t=e,e=a}for(r=0;r{t.width=0,t.height=0})},drawRoundedRectPath(e,t,n,r){let i=0,o=0,a=0,s=0;typeof r=="number"?i=o=a=s=Math.min(r,t/2,n/2):(i=Math.min(r[0]||0,t/2,n/2),o=Math.min(r[1]||0,t/2,n/2),s=Math.min(r[2]||0,t/2,n/2),a=Math.min(r[3]||0,t/2,n/2)),e.moveTo(i,0),e.lineTo(t-o,0),e.arc(t-o,o,o,Math.PI*3/2,0,!1),e.lineTo(t,n-s),e.arc(t-s,n-s,s,0,Math.PI/2,!1),e.lineTo(a,n),e.arc(a,n-a,a,Math.PI/2,Math.PI,!1),e.lineTo(0,i),e.arc(i,i,i,Math.PI,Math.PI*3/2,!1)}};function uf(e){return de._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||de._isBoolean(e)?e:Object.prototype.toString.call(e)}function iV(e){return e>255?255:e<0?0:Math.round(e)}function Ge(){if(ft.isUnminified)return function(e,t){return de._isNumber(e)||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}function EE(e){if(ft.isUnminified)return function(t,n){let r=de._isNumber(t),i=de._isArray(t)&&t.length==e;return!r&&!i&&de.warn(uf(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}function PE(){if(ft.isUnminified)return function(e,t){var n=de._isNumber(e),r=e==="auto";return n||r||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}function x0(){if(ft.isUnminified)return function(e,t){return de._isString(e)||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}function oV(){if(ft.isUnminified)return function(e,t){const n=de._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}function eCe(){if(ft.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(de._isArray(e)?e.forEach(function(r){de._isNumber(r)||de.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}function el(){if(ft.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}function tCe(e){if(ft.isUnminified)return function(t,n){return t==null||de.isObject(t)||de.warn(uf(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}var Zv="get",Qv="set";const J={addGetterSetter(e,t,n,r,i){J.addGetter(e,t,n),J.addSetter(e,t,r,i),J.addOverloadedGetterSetter(e,t)},addGetter(e,t,n){var r=Zv+de._capitalize(t);e.prototype[r]=e.prototype[r]||function(){var i=this.attrs[t];return i===void 0?n:i}},addSetter(e,t,n,r){var i=Qv+de._capitalize(t);e.prototype[i]||J.overWriteSetter(e,t,n,r)},overWriteSetter(e,t,n,r){var i=Qv+de._capitalize(t);e.prototype[i]=function(o){return n&&o!==void 0&&o!==null&&(o=n.call(this,o,t)),this._setAttr(t,o),r&&r.call(this),this}},addComponentsGetterSetter(e,t,n,r,i){var o=n.length,a=de._capitalize,s=Zv+a(t),l=Qv+a(t),u,d;e.prototype[s]=function(){var m={};for(u=0;u{this._setAttr(t+a(w),void 0)}),this._fireChangeEvent(t,y,m),i&&i.call(this),this},J.addOverloadedGetterSetter(e,t)},addOverloadedGetterSetter(e,t){var n=de._capitalize(t),r=Qv+n,i=Zv+n;e.prototype[t]=function(){return arguments.length?(this[r](arguments[0]),this):this[i]()}},addDeprecatedGetterSetter(e,t,n,r){de.error("Adding deprecated "+t);var i=Zv+de._capitalize(t),o=t+" property is deprecated and will be removed soon. Look at Konva change log for more information.";e.prototype[i]=function(){de.error(o);var a=this.attrs[t];return a===void 0?n:a},J.addSetter(e,t,r,function(){de.error(o)}),J.addOverloadedGetterSetter(e,t)},backCompat(e,t){de.each(t,function(n,r){var i=e.prototype[r],o=Zv+de._capitalize(n),a=Qv+de._capitalize(n);function s(){i.apply(this,arguments),de.error('"'+n+'" method is deprecated and will be removed soon. Use ""'+r+'" instead.')}e.prototype[n]=s,e.prototype[o]=s,e.prototype[a]=s})},afterSetFilter(){this._filterUpToDate=!1}};function nCe(e){var t=[],n=e.length,r=de,i,o;for(i=0;itypeof d=="number"?Math.floor(d):d)),o+=rCe+u.join(nI)+iCe)):(o+=s.property,t||(o+=uCe+s.val)),o+=sCe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=dCe&&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){var n=t.getLineCap();n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){var n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,a){this._context.arc(t,n,r,i,o,a)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,a){this._context.bezierCurveTo(t,n,r,i,o,a)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(){this._context.clip()}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,a){return this._context.createRadialGradient(t,n,r,i,o,a)}drawImage(t,n,r,i,o,a,s,l,u){var d=arguments,h=this._context;d.length===3?h.drawImage(t,n,r):d.length===5?h.drawImage(t,n,r,i,o):d.length===9&&h.drawImage(t,n,r,i,o,a,s,l,u)}ellipse(t,n,r,i,o,a,s,l){this._context.ellipse(t,n,r,i,o,a,s,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(t){t?this._context.fill(t):this._context.fill()}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,a){this._context.setTransform(t,n,r,i,o,a)}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,a){this._context.transform(t,n,r,i,o,a)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=rI.length,r=this.setAttr,i,o,a=function(s){var l=t[s],u;t[s]=function(){return o=nCe(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:s,args:o}),u}};for(i=0;i{t.dragStatus==="dragging"&&(e=!0)}),e},justDragged:!1,get node(){var e;return fn._dragElements.forEach(t=>{e=t.node}),e},_dragElements:new Map,_drag(e){const t=[];fn._dragElements.forEach((n,r)=>{const{node:i}=n,o=i.getStage();o.setPointersPositions(e),n.pointerId===void 0&&(n.pointerId=de._getFirstPointerId(e));const a=o._changedPointerPositions.find(u=>u.id===n.pointerId);if(a){if(n.dragStatus!=="dragging"){var s=i.dragDistance(),l=Math.max(Math.abs(a.x-n.startPointerPos.x),Math.abs(a.y-n.startPointerPos.y));if(l{n.fire("dragmove",{type:"dragmove",target:n,evt:e},!0)})},_endDragBefore(e){const t=[];fn._dragElements.forEach(n=>{const{node:r}=n,i=r.getStage();if(e&&i.setPointersPositions(e),!i._changedPointerPositions.find(s=>s.id===n.pointerId))return;(n.dragStatus==="dragging"||n.dragStatus==="stopped")&&(fn.justDragged=!0,ft._mouseListenClick=!1,ft._touchListenClick=!1,ft._pointerListenClick=!1,n.dragStatus="stopped");const a=n.node.getLayer()||n.node instanceof ft.Stage&&n.node;a&&t.indexOf(a)===-1&&t.push(a)}),t.forEach(n=>{n.draw()})},_endDragAfter(e){fn._dragElements.forEach((t,n)=>{t.dragStatus==="stopped"&&t.node.fire("dragend",{type:"dragend",target:t.node,evt:e},!0),t.dragStatus!=="dragging"&&fn._dragElements.delete(n)})}};ft.isBrowser&&(window.addEventListener("mouseup",fn._endDragBefore,!0),window.addEventListener("touchend",fn._endDragBefore,!0),window.addEventListener("mousemove",fn._drag),window.addEventListener("touchmove",fn._drag),window.addEventListener("mouseup",fn._endDragAfter,!1),window.addEventListener("touchend",fn._endDragAfter,!1));var gS="absoluteOpacity",sx="allEventListeners",Iu="absoluteTransform",iI="absoluteScale",oh="canvas",gCe="Change",mCe="children",vCe="konva",Ik="listening",oI="mouseenter",aI="mouseleave",sI="set",lI="Shape",mS=" ",uI="stage",fd="transform",yCe="Stage",Dk="visible",bCe=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(mS);let xCe=1,qe=class jk{constructor(t){this._id=xCe++,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===fd||t===Iu)&&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===fd||t===Iu,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(mS);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(oh)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===Iu&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(oh)){const{scene:t,filter:n,hit:r}=this._cache.get(oh);de.releaseCanvas(t,n,r),this._cache.delete(oh)}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),a=n.pixelRatio,s=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,d=n.drawBorder||!1,h=n.hitCanvasPixelRatio||1;if(!i||!o){de.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,s-=u,l-=u;var m=new Dm({pixelRatio:a,width:i,height:o}),y=new Dm({pixelRatio:a,width:0,height:0}),b=new TE({pixelRatio:h,width:i,height:o}),w=m.getContext(),E=b.getContext();return b.isCache=!0,m.isCache=!0,this._cache.delete(oh),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(m.getContext()._context.imageSmoothingEnabled=!1,y.getContext()._context.imageSmoothingEnabled=!1),w.save(),E.save(),w.translate(-s,-l),E.translate(-s,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(gS),this._clearSelfAndDescendantCache(iI),this.drawScene(m,this),this.drawHit(b,this),this._isUnderCache=!1,w.restore(),E.restore(),d&&(w.save(),w.beginPath(),w.rect(0,0,i,o),w.closePath(),w.setAttr("strokeStyle","red"),w.setAttr("lineWidth",5),w.stroke(),w.restore()),this._cache.set(oh,{scene:m,filter:y,hit:b,x:s,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(oh)}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,a,s,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var d=l.point(u);i===void 0&&(i=a=d.x,o=s=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),a=Math.max(a,d.x),s=Math.max(s,d.y)}),{x:i,y:o,width:a-i,height:s-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(),a,s,l,u;if(t){if(!this._filterUpToDate){var d=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(a=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/d,r.getHeight()/d),s=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==mCe&&(r=sI+de._capitalize(n),de._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(Ik,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(Dk,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;fn._dragElements.forEach(a=>{a.dragStatus==="dragging"&&(a.node.nodeType==="Stage"||a.node.getLayer()===r)&&(i=!0)});var o=!n&&!ft.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,a,s;function l(u){for(i=[],o=u.length,a=0;a0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==yCe&&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(fd),this._clearSelfAndDescendantCache(Iu)),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 Ca,a=this.offset();return o.m=i.slice(),o.translate(a.x,a.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(fd);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(fd),this._clearSelfAndDescendantCache(Iu),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,a;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,a=0;a0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return de.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 de.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&de.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(gS,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,a,s;t.attrs={};for(r in n)i=n[r],s=de.isObject(i)&&!de._isPlainObject(i)&&!de._isArray(i),!s&&(o=typeof this[r]=="function"&&this[r],delete n[r],a=o?o.call(this):null,n[r]=i,a!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),de._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,de._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():ft.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,a,s;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;fn._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=fn._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&fn._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 de.haveIntersection(r,this.getClientRect())}static create(t,n){return de._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=jk.prototype.getClassName.call(t),i=t.children,o,a,s;n&&(t.attrs.container=n),ft[r]||(de.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=ft[r];if(o=new l(t.attrs),i)for(a=i.length,s=0;s0}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=qe.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=qe.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(),a=this._getCanvasCache(),s=a&&a.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(s){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(),a=this._getCanvasCache(),s=a&&a.hit;if(s){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(),a=this.clipWidth(),s=this.clipHeight(),l=this.clipFunc(),u=a&&s||l;const d=r===this;if(u){o.save();var h=this.getAbsoluteTransform(r),m=h.getMatrix();if(o.transform(m[0],m[1],m[2],m[3],m[4],m[5]),o.beginPath(),l)l.call(this,o,this);else{var y=this.clipX(),b=this.clipY();o.rect(y,b,a,s)}o.clip(),m=h.copy().invert().getMatrix(),o.transform(m[0],m[1],m[2],m[3],m[4],m[5])}var w=!d&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";w&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(E){E[t](n,r)}),w&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,a,s,l,u={x:1/0,y:1/0,width:0,height:0},d=this;(n=this.children)===null||n===void 0||n.forEach(function(w){if(w.visible()){var E=w.getClientRect({relativeTo:d,skipShadow:t.skipShadow,skipStroke:t.skipStroke});E.width===0&&E.height===0||(o===void 0?(o=E.x,a=E.y,s=E.x+E.width,l=E.y+E.height):(o=Math.min(o,E.x),a=Math.min(a,E.y),s=Math.max(s,E.x+E.width),l=Math.max(l,E.y+E.height)))}});for(var h=this.find("Shape"),m=!1,y=0;ye.indexOf("pointer")>=0?"pointer":e.indexOf("touch")>=0?"touch":"mouse",Og=e=>{const t=x1(e);if(t==="pointer")return ft.pointerEventsEnabled&&VC.pointer;if(t==="touch")return VC.touch;if(t==="mouse")return VC.mouse};function dI(e={}){return(e.clipFunc||e.clipWidth||e.clipHeight)&&de.warn("Stage does not support clipping. Please use clip for Layers or Groups."),e}const PCe="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);",vS=[];let d4=class extends Ma{constructor(t){super(dI(t)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),vS.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{dI(this.attrs)}),this._checkVisibility()}_validateAdd(t){const n=t.getType()==="Layer",r=t.getType()==="FastLayer";n||r||de.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const t=this.visible()?"":"none";this.content.style.display=t}setContainer(t){if(typeof t===wCe){if(t.charAt(0)==="."){var n=t.slice(1);t=document.getElementsByClassName(n)[0]}else{var r;t.charAt(0)!=="#"?r=t:r=t.slice(1),t=document.getElementById(r)}if(!t)throw"Can not find container in document with id "+r}return this._setAttr("container",t),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),t.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var t=this.children,n=t.length,r;for(r=0;r-1&&vS.splice(n,1),de.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const t=this._pointerPositions[0]||this._changedPointerPositions[0];return t?{x:t.x,y:t.y}:(de.warn(PCe),null)}_getPointerById(t){return this._pointerPositions.find(n=>n.id===t)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(t){t=t||{},t.x=t.x||0,t.y=t.y||0,t.width=t.width||this.width(),t.height=t.height||this.height();var n=new Dm({width:t.width,height:t.height,pixelRatio:t.pixelRatio||1}),r=n.getContext()._context,i=this.children;return(t.x||t.y)&&r.translate(-1*t.x,-1*t.y),i.forEach(function(o){if(o.isVisible()){var a=o._toKonvaCanvas(t);r.drawImage(a._canvas,t.x,t.y,a.getWidth()/a.getPixelRatio(),a.getHeight()/a.getPixelRatio())}}),n}getIntersection(t){if(!t)return null;var n=this.children,r=n.length,i=r-1,o;for(o=i;o>=0;o--){const a=n[o].getIntersection(t);if(a)return a}return null}_resizeDOM(){var t=this.width(),n=this.height();this.content&&(this.content.style.width=t+cI,this.content.style.height=n+cI),this.bufferCanvas.setSize(t,n),this.bufferHitCanvas.setSize(t,n),this.children.forEach(r=>{r.setSize({width:t,height:n}),r.draw()})}add(t,...n){if(arguments.length>1){for(var r=0;rkCe&&de.warn("The stage has "+i+" 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."),t.setSize({width:this.width(),height:this.height()}),t.draw(),ft.isBrowser&&this.content.appendChild(t.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(t){return sV(t,this)}setPointerCapture(t){lV(t,this)}releaseCapture(t){G1(t)}getLayers(){return this.children}_bindContentEvents(){ft.isBrowser&&ECe.forEach(([t,n])=>{this.content.addEventListener(t,r=>{this[n](r)},{passive:!1})})}_pointerenter(t){this.setPointersPositions(t);const n=Og(t.type);this._fire(n.pointerenter,{evt:t,target:this,currentTarget:this})}_pointerover(t){this.setPointersPositions(t);const n=Og(t.type);this._fire(n.pointerover,{evt:t,target:this,currentTarget:this})}_getTargetShape(t){let n=this[t+"targetShape"];return n&&!n.getStage()&&(n=null),n}_pointerleave(t){const n=Og(t.type),r=x1(t.type);if(n){this.setPointersPositions(t);var i=this._getTargetShape(r),o=!fn.isDragging||ft.hitOnDragEnabled;i&&o?(i._fireAndBubble(n.pointerout,{evt:t}),i._fireAndBubble(n.pointerleave,{evt:t}),this._fire(n.pointerleave,{evt:t,target:this,currentTarget:this}),this[r+"targetShape"]=null):o&&(this._fire(n.pointerleave,{evt:t,target:this,currentTarget:this}),this._fire(n.pointerout,{evt:t,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(t){const n=Og(t.type),r=x1(t.type);if(n){this.setPointersPositions(t);var i=!1;this._changedPointerPositions.forEach(o=>{var a=this.getIntersection(o);if(fn.justDragged=!1,ft["_"+r+"ListenClick"]=!0,!(a&&a.isListening()))return;ft.capturePointerEventsEnabled&&a.setPointerCapture(o.id),this[r+"ClickStartShape"]=a,a._fireAndBubble(n.pointerdown,{evt:t,pointerId:o.id}),i=!0;const l=t.type.indexOf("touch")>=0;a.preventDefault()&&t.cancelable&&l&&t.preventDefault()}),i||this._fire(n.pointerdown,{evt:t,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(t){const n=Og(t.type),r=x1(t.type);if(!n)return;fn.isDragging&&fn.node.preventDefault()&&t.cancelable&&t.preventDefault(),this.setPointersPositions(t);var i=!fn.isDragging||ft.hitOnDragEnabled;if(!i)return;var o={};let a=!1;var s=this._getTargetShape(r);this._changedPointerPositions.forEach(l=>{const u=UC(l.id)||this.getIntersection(l),d=l.id,h={evt:t,pointerId:d};var m=s!==u;if(m&&s&&(s._fireAndBubble(n.pointerout,Object.assign({},h),u),s._fireAndBubble(n.pointerleave,Object.assign({},h),u)),u){if(o[u._id])return;o[u._id]=!0}u&&u.isListening()?(a=!0,m&&(u._fireAndBubble(n.pointerover,Object.assign({},h),s),u._fireAndBubble(n.pointerenter,Object.assign({},h),s),this[r+"targetShape"]=u),u._fireAndBubble(n.pointermove,Object.assign({},h))):s&&(this._fire(n.pointerover,{evt:t,target:this,currentTarget:this,pointerId:d}),this[r+"targetShape"]=null)}),a||this._fire(n.pointermove,{evt:t,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(t){const n=Og(t.type),r=x1(t.type);if(!n)return;this.setPointersPositions(t);const i=this[r+"ClickStartShape"],o=this[r+"ClickEndShape"];var a={};let s=!1;this._changedPointerPositions.forEach(l=>{const u=UC(l.id)||this.getIntersection(l);if(u){if(u.releaseCapture(l.id),a[u._id])return;a[u._id]=!0}const d=l.id,h={evt:t,pointerId:d};let m=!1;ft["_"+r+"InDblClickWindow"]?(m=!0,clearTimeout(this[r+"DblTimeout"])):fn.justDragged||(ft["_"+r+"InDblClickWindow"]=!0,clearTimeout(this[r+"DblTimeout"])),this[r+"DblTimeout"]=setTimeout(function(){ft["_"+r+"InDblClickWindow"]=!1},ft.dblClickWindow),u&&u.isListening()?(s=!0,this[r+"ClickEndShape"]=u,u._fireAndBubble(n.pointerup,Object.assign({},h)),ft["_"+r+"ListenClick"]&&i&&i===u&&(u._fireAndBubble(n.pointerclick,Object.assign({},h)),m&&o&&o===u&&u._fireAndBubble(n.pointerdblclick,Object.assign({},h)))):(this[r+"ClickEndShape"]=null,ft["_"+r+"ListenClick"]&&this._fire(n.pointerclick,{evt:t,target:this,currentTarget:this,pointerId:d}),m&&this._fire(n.pointerdblclick,{evt:t,target:this,currentTarget:this,pointerId:d}))}),s||this._fire(n.pointerup,{evt:t,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),ft["_"+r+"ListenClick"]=!1,t.cancelable&&r!=="touch"&&t.preventDefault()}_contextmenu(t){this.setPointersPositions(t);var n=this.getIntersection(this.getPointerPosition());n&&n.isListening()?n._fireAndBubble(Nk,{evt:t}):this._fire(Nk,{evt:t,target:this,currentTarget:this})}_wheel(t){this.setPointersPositions(t);var n=this.getIntersection(this.getPointerPosition());n&&n.isListening()?n._fireAndBubble($k,{evt:t}):this._fire($k,{evt:t,target:this,currentTarget:this})}_pointercancel(t){this.setPointersPositions(t);const n=UC(t.pointerId)||this.getIntersection(this.getPointerPosition());n&&n._fireAndBubble(lm,ME(t)),G1(t.pointerId)}_lostpointercapture(t){G1(t.pointerId)}setPointersPositions(t){var n=this._getContentPosition(),r=null,i=null;t=t||window.event,t.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(t.touches,o=>{this._pointerPositions.push({id:o.identifier,x:(o.clientX-n.left)/n.scaleX,y:(o.clientY-n.top)/n.scaleY})}),Array.prototype.forEach.call(t.changedTouches||t.touches,o=>{this._changedPointerPositions.push({id:o.identifier,x:(o.clientX-n.left)/n.scaleX,y:(o.clientY-n.top)/n.scaleY})})):(r=(t.clientX-n.left)/n.scaleX,i=(t.clientY-n.top)/n.scaleY,this.pointerPos={x:r,y:i},this._pointerPositions=[{x:r,y:i,id:de._getFirstPointerId(t)}],this._changedPointerPositions=[{x:r,y:i,id:de._getFirstPointerId(t)}])}_setPointerPosition(t){de.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(t)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var t=this.content.getBoundingClientRect();return{top:t.top,left:t.left,scaleX:t.width/this.content.clientWidth||1,scaleY:t.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new Dm({width:this.width(),height:this.height()}),this.bufferHitCanvas=new TE({pixelRatio:1,width:this.width(),height:this.height()}),!!ft.isBrowser){var t=this.container();if(!t)throw"Stage has no container. A container is required.";t.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"),t.appendChild(this.content),this._resizeDOM()}}cache(){return de.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(t){t.batchDraw()}),this}};d4.prototype.nodeType=SCe;Mr(d4);J.addGetterSetter(d4,"container");var bV="hasShadow",xV="shadowRGBA",SV="patternImage",wV="linearGradient",CV="radialGradient";let fx;function GC(){return fx||(fx=de.createCanvasElement().getContext("2d"),fx)}const q1={};function TCe(e){e.fill()}function MCe(e){e.stroke()}function LCe(e){e.fill()}function ACe(e){e.stroke()}function OCe(){this._clearCache(bV)}function RCe(){this._clearCache(xV)}function ICe(){this._clearCache(SV)}function DCe(){this._clearCache(wV)}function jCe(){this._clearCache(CV)}class Fe extends qe{constructor(t){super(t);let n;for(;n=de.getRandomColor(),!(n&&!(n in q1)););this.colorKey=n,q1[n]=this}getContext(){return de.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return de.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(bV,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(SV,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var t=GC();const n=t.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(n&&n.setTransform){const r=new Ca;r.translate(this.fillPatternX(),this.fillPatternY()),r.rotate(ft.getAngle(this.fillPatternRotation())),r.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),r.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const i=r.getMatrix(),o=typeof DOMMatrix>"u"?{a:i[0],b:i[1],c:i[2],d:i[3],e:i[4],f:i[5]}:new DOMMatrix(i);n.setTransform(o)}return n}}_getLinearGradient(){return this._getCache(wV,this.__getLinearGradient)}__getLinearGradient(){var t=this.fillLinearGradientColorStops();if(t){for(var n=GC(),r=this.fillLinearGradientStartPoint(),i=this.fillLinearGradientEndPoint(),o=n.createLinearGradient(r.x,r.y,i.x,i.y),a=0;athis.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 t=this.hitStrokeWidth();return t==="auto"?this.hasStroke():this.strokeEnabled()&&!!t}intersects(t){var n=this.getStage(),r=n.bufferHitCanvas,i;return r.getContext().clear(),this.drawHit(r,null,!0),i=r.context.getImageData(Math.round(t.x),Math.round(t.y),1,1).data,i[3]>0}destroy(){return qe.prototype.destroy.call(this),delete q1[this.colorKey],delete this.colorKey,this}_useBufferCanvas(t){var n;if(!this.getStage()||!((n=this.attrs.perfectDrawEnabled)!==null&&n!==void 0?n:!0))return!1;const i=t||this.hasFill(),o=this.hasStroke(),a=this.getAbsoluteOpacity()!==1;if(i&&o&&a)return!0;const s=this.hasShadow(),l=this.shadowForStrokeEnabled();return!!(i&&o&&s&&l)}setStrokeHitEnabled(t){de.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),t?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var t=this.size();return{x:this._centroid?-t.width/2:0,y:this._centroid?-t.height/2:0,width:t.width,height:t.height}}getClientRect(t={}){const n=t.skipTransform,r=t.relativeTo,i=this.getSelfRect(),a=!t.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,s=i.width+a,l=i.height+a,u=!t.skipShadow&&this.hasShadow(),d=u?this.shadowOffsetX():0,h=u?this.shadowOffsetY():0,m=s+Math.abs(d),y=l+Math.abs(h),b=u&&this.shadowBlur()||0,w=m+b*2,E=y+b*2,_={width:w,height:E,x:-(a/2+b)+Math.min(d,0)+i.x,y:-(a/2+b)+Math.min(h,0)+i.y};return n?_:this._transformedRect(_,r)}drawScene(t,n){var r=this.getLayer(),i=t||r.getCanvas(),o=i.getContext(),a=this._getCanvasCache(),s=this.getSceneFunc(),l=this.hasShadow(),u,d,h,m=i.isCache,y=n===this;if(!this.isVisible()&&!y)return this;if(a){o.save();var b=this.getAbsoluteTransform(n).getMatrix();return o.transform(b[0],b[1],b[2],b[3],b[4],b[5]),this._drawCachedSceneCanvas(o),o.restore(),this}if(!s)return this;if(o.save(),this._useBufferCanvas()&&!m){u=this.getStage(),d=u.bufferCanvas,h=d.getContext(),h.clear(),h.save(),h._applyLineJoin(this);var w=this.getAbsoluteTransform(n).getMatrix();h.transform(w[0],w[1],w[2],w[3],w[4],w[5]),s.call(this,h,this),h.restore();var E=d.pixelRatio;l&&o._applyShadow(this),o._applyOpacity(this),o._applyGlobalCompositeOperation(this),o.drawImage(d._canvas,0,0,d.width/E,d.height/E)}else{if(o._applyLineJoin(this),!y){var w=this.getAbsoluteTransform(n).getMatrix();o.transform(w[0],w[1],w[2],w[3],w[4],w[5]),o._applyOpacity(this),o._applyGlobalCompositeOperation(this)}l&&o._applyShadow(this),s.call(this,o,this)}return o.restore(),this}drawHit(t,n,r=!1){if(!this.shouldDrawHit(n,r))return this;var i=this.getLayer(),o=t||i.hitCanvas,a=o&&o.getContext(),s=this.hitFunc()||this.sceneFunc(),l=this._getCanvasCache(),u=l&&l.hit;if(this.colorKey||de.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()"),u){a.save();var d=this.getAbsoluteTransform(n).getMatrix();return a.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedHitCanvas(a),a.restore(),this}if(!s)return this;if(a.save(),a._applyLineJoin(this),!(this===n)){var m=this.getAbsoluteTransform(n).getMatrix();a.transform(m[0],m[1],m[2],m[3],m[4],m[5])}return s.call(this,a,this),a.restore(),this}drawHitFromCache(t=0){var n=this._getCanvasCache(),r=this._getCachedSceneCanvas(),i=n.hit,o=i.getContext(),a=i.getWidth(),s=i.getHeight(),l,u,d,h,m,y;o.clear(),o.drawImage(r._canvas,0,0,a,s);try{for(l=o.getImageData(0,0,a,s),u=l.data,d=u.length,h=de._hexToRgb(this.colorKey),m=0;mt?(u[m]=h.r,u[m+1]=h.g,u[m+2]=h.b,u[m+3]=255):u[m+3]=0;o.putImageData(l,0,0)}catch(b){de.error("Unable to draw hit graph from cached scene canvas. "+b.message)}return this}hasPointerCapture(t){return sV(t,this)}setPointerCapture(t){lV(t,this)}releaseCapture(t){G1(t)}}Fe.prototype._fillFunc=TCe;Fe.prototype._strokeFunc=MCe;Fe.prototype._fillFuncHit=LCe;Fe.prototype._strokeFuncHit=ACe;Fe.prototype._centroid=!1;Fe.prototype.nodeType="Shape";Mr(Fe);Fe.prototype.eventListeners={};Fe.prototype.on.call(Fe.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",OCe);Fe.prototype.on.call(Fe.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",RCe);Fe.prototype.on.call(Fe.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",ICe);Fe.prototype.on.call(Fe.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",DCe);Fe.prototype.on.call(Fe.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",jCe);J.addGetterSetter(Fe,"stroke",void 0,oV());J.addGetterSetter(Fe,"strokeWidth",2,Ge());J.addGetterSetter(Fe,"fillAfterStrokeEnabled",!1);J.addGetterSetter(Fe,"hitStrokeWidth","auto",PE());J.addGetterSetter(Fe,"strokeHitEnabled",!0,el());J.addGetterSetter(Fe,"perfectDrawEnabled",!0,el());J.addGetterSetter(Fe,"shadowForStrokeEnabled",!0,el());J.addGetterSetter(Fe,"lineJoin");J.addGetterSetter(Fe,"lineCap");J.addGetterSetter(Fe,"sceneFunc");J.addGetterSetter(Fe,"hitFunc");J.addGetterSetter(Fe,"dash");J.addGetterSetter(Fe,"dashOffset",0,Ge());J.addGetterSetter(Fe,"shadowColor",void 0,x0());J.addGetterSetter(Fe,"shadowBlur",0,Ge());J.addGetterSetter(Fe,"shadowOpacity",1,Ge());J.addComponentsGetterSetter(Fe,"shadowOffset",["x","y"]);J.addGetterSetter(Fe,"shadowOffsetX",0,Ge());J.addGetterSetter(Fe,"shadowOffsetY",0,Ge());J.addGetterSetter(Fe,"fillPatternImage");J.addGetterSetter(Fe,"fill",void 0,oV());J.addGetterSetter(Fe,"fillPatternX",0,Ge());J.addGetterSetter(Fe,"fillPatternY",0,Ge());J.addGetterSetter(Fe,"fillLinearGradientColorStops");J.addGetterSetter(Fe,"strokeLinearGradientColorStops");J.addGetterSetter(Fe,"fillRadialGradientStartRadius",0);J.addGetterSetter(Fe,"fillRadialGradientEndRadius",0);J.addGetterSetter(Fe,"fillRadialGradientColorStops");J.addGetterSetter(Fe,"fillPatternRepeat","repeat");J.addGetterSetter(Fe,"fillEnabled",!0);J.addGetterSetter(Fe,"strokeEnabled",!0);J.addGetterSetter(Fe,"shadowEnabled",!0);J.addGetterSetter(Fe,"dashEnabled",!0);J.addGetterSetter(Fe,"strokeScaleEnabled",!0);J.addGetterSetter(Fe,"fillPriority","color");J.addComponentsGetterSetter(Fe,"fillPatternOffset",["x","y"]);J.addGetterSetter(Fe,"fillPatternOffsetX",0,Ge());J.addGetterSetter(Fe,"fillPatternOffsetY",0,Ge());J.addComponentsGetterSetter(Fe,"fillPatternScale",["x","y"]);J.addGetterSetter(Fe,"fillPatternScaleX",1,Ge());J.addGetterSetter(Fe,"fillPatternScaleY",1,Ge());J.addComponentsGetterSetter(Fe,"fillLinearGradientStartPoint",["x","y"]);J.addComponentsGetterSetter(Fe,"strokeLinearGradientStartPoint",["x","y"]);J.addGetterSetter(Fe,"fillLinearGradientStartPointX",0);J.addGetterSetter(Fe,"strokeLinearGradientStartPointX",0);J.addGetterSetter(Fe,"fillLinearGradientStartPointY",0);J.addGetterSetter(Fe,"strokeLinearGradientStartPointY",0);J.addComponentsGetterSetter(Fe,"fillLinearGradientEndPoint",["x","y"]);J.addComponentsGetterSetter(Fe,"strokeLinearGradientEndPoint",["x","y"]);J.addGetterSetter(Fe,"fillLinearGradientEndPointX",0);J.addGetterSetter(Fe,"strokeLinearGradientEndPointX",0);J.addGetterSetter(Fe,"fillLinearGradientEndPointY",0);J.addGetterSetter(Fe,"strokeLinearGradientEndPointY",0);J.addComponentsGetterSetter(Fe,"fillRadialGradientStartPoint",["x","y"]);J.addGetterSetter(Fe,"fillRadialGradientStartPointX",0);J.addGetterSetter(Fe,"fillRadialGradientStartPointY",0);J.addComponentsGetterSetter(Fe,"fillRadialGradientEndPoint",["x","y"]);J.addGetterSetter(Fe,"fillRadialGradientEndPointX",0);J.addGetterSetter(Fe,"fillRadialGradientEndPointY",0);J.addGetterSetter(Fe,"fillPatternRotation",0);J.backCompat(Fe,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"});var NCe="#",$Ce="beforeDraw",FCe="draw",_V=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],BCe=_V.length;let sp=class extends Ma{constructor(t){super(t),this.canvas=new Dm,this.hitCanvas=new TE({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;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire($Ce,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Ma.prototype.drawScene.call(this,i,n),this._fire(FCe,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Ma.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){de.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return de.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 de.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}};sp.prototype.nodeType="Layer";Mr(sp);J.addGetterSetter(sp,"imageSmoothingEnabled",!0);J.addGetterSetter(sp,"clearBeforeDraw",!0);J.addGetterSetter(sp,"hitGraphEnabled",!0,el());class LE extends sp{constructor(t){super(t),this.listening(!1),de.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}LE.prototype.nodeType="FastLayer";Mr(LE);let Jm=class extends Ma{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&de.throw("You may only add groups and shapes to groups.")}};Jm.prototype.nodeType="Group";Mr(Jm);var qC=function(){return Im.performance&&Im.performance.now?function(){return Im.performance.now()}:function(){return new Date().getTime()}}();class Ja{constructor(t,n){this.id=Ja.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:qC(),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():t<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=t,this.update())}getTime(){return this._time}setPosition(t){this.prevPos=this._pos,this.propFunc(t),this._pos=t}getPosition(t){return t===void 0&&(t=this._time),this.func(t,this.begin,this._change,this.duration)}play(){this.state=fI,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=hI,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(t){this.pause(),this._time=t,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 t=this.getTimer()-this._startTime;this.state===fI?this.setTime(t):this.state===hI&&this.setTime(this.duration-t)}pause(){this.state=HCe,this.fire("onPause")}getTimer(){return new Date().getTime()}}class Xr{constructor(t){var n=this,r=t.node,i=r._id,o,a=t.easing||K1.Linear,s=!!t.yoyo,l;typeof t.duration>"u"?o=.3:t.duration===0?o=.001:o=t.duration,this.node=r,this._id=WCe++;var u=r.getLayer()||(r instanceof ft.Stage?r.getLayers():null);u||de.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new Ja(function(){n.tween.onEnterFrame()},u),this.tween=new UCe(l,function(d){n._tweenFunc(d)},a,0,1,o*1e3,s),this._addListeners(),Xr.attrs[i]||(Xr.attrs[i]={}),Xr.attrs[i][this._id]||(Xr.attrs[i][this._id]={}),Xr.tweens[i]||(Xr.tweens[i]={});for(l in t)zCe[l]===void 0&&this._addAttr(l,t[l]);this.reset(),this.onFinish=t.onFinish,this.onReset=t.onReset,this.onUpdate=t.onUpdate}_addAttr(t,n){var r=this.node,i=r._id,o,a,s,l,u,d,h,m;if(s=Xr.tweens[i][t],s&&delete Xr.attrs[i][s][t],o=r.getAttr(t),de._isArray(n))if(a=[],u=Math.max(n.length,o.length),t==="points"&&n.length!==o.length&&(n.length>o.length?(h=o,o=de._prepareArrayForTween(o,n,r.closed())):(d=n,n=de._prepareArrayForTween(n,o,r.closed()))),t.indexOf("fill")===0)for(l=0;l{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var t=this.node,n=Xr.attrs[t._id][this._id];n.points&&n.points.trueEnd&&t.setAttr("points",n.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var t=this.node,n=Xr.attrs[t._id][this._id];n.points&&n.points.trueStart&&t.points(n.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(t){return this.tween.seek(t*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var t=this.node._id,n=this._id,r=Xr.tweens[t],i;this.pause();for(i in r)delete Xr.tweens[t][i];delete Xr.attrs[t][n]}}Xr.attrs={};Xr.tweens={};qe.prototype.to=function(e){var t=e.onFinish;e.node=this,e.onFinish=function(){this.destroy(),t&&t()};var n=new Xr(e);n.play()};const K1={BackEaseIn(e,t,n,r){var i=1.70158;return n*(e/=r)*e*((i+1)*e-i)+t},BackEaseOut(e,t,n,r){var i=1.70158;return n*((e=e/r-1)*e*((i+1)*e+i)+1)+t},BackEaseInOut(e,t,n,r){var i=1.70158;return(e/=r/2)<1?n/2*(e*e*(((i*=1.525)+1)*e-i))+t:n/2*((e-=2)*e*(((i*=1.525)+1)*e+i)+2)+t},ElasticEaseIn(e,t,n,r,i,o){var a=0;return e===0?t:(e/=r)===1?t+n:(o||(o=r*.3),!i||i0?t:n),d=a*n,h=s*(s>0?t:n),m=l*(l>0?n:t);return{x:u,y:r?-1*m:h,width:d-u,height:m-h}}}hc.prototype._centroid=!0;hc.prototype.className="Arc";hc.prototype._attrsAffectingSize=["innerRadius","outerRadius"];Mr(hc);J.addGetterSetter(hc,"innerRadius",0,Ge());J.addGetterSetter(hc,"outerRadius",0,Ge());J.addGetterSetter(hc,"angle",0,Ge());J.addGetterSetter(hc,"clockwise",!1,el());function Fk(e,t,n,r,i,o,a){var s=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=a*s/(s+l),d=a*l/(s+l),h=n-u*(i-e),m=r-u*(o-t),y=n+d*(i-e),b=r+d*(o-t);return[h,m,y,b]}function gI(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(s=this.getTensionPoints(),l=s.length,u=o?0:4,o||t.quadraticCurveTo(s[0],s[1],s[2],s[3]);ud?u:d,E=u>d?1:u/d,_=u>d?d/u:1;t.translate(s,l),t.rotate(y),t.scale(E,_),t.arc(0,0,w,h,h+m,1-b),t.scale(1/E,1/_),t.rotate(-y),t.translate(-s,-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 d=u.points[4],h=u.points[5],m=u.points[4]+h,y=Math.PI/180;if(Math.abs(d-m)m;b-=y){const w=Fn.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],b,0);t.push(w.x,w.y)}else for(let b=d+y;bthis.dataArray[r].pathLength;)t-=this.dataArray[r].pathLength,++r;if(r===i)return n=this.dataArray[r-1].points.slice(-2),{x:n[0],y:n[1]};if(t<.01)return n=this.dataArray[r].points.slice(0,2),{x:n[0],y:n[1]};var o=this.dataArray[r],a=o.points;switch(o.command){case"L":return Fn.getPointOnLine(t,o.start.x,o.start.y,a[0],a[1]);case"C":return Fn.getPointOnCubicBezier(t/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Fn.getPointOnQuadraticBezier(t/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3]);case"A":var s=a[0],l=a[1],u=a[2],d=a[3],h=a[4],m=a[5],y=a[6];return h+=m*t/o.pathLength,Fn.getPointOnEllipticalArc(s,l,u,d,h,y)}return null}static getLineLength(t,n,r,i){return Math.sqrt((r-t)*(r-t)+(i-n)*(i-n))}static getPointOnLine(t,n,r,i,o,a,s){a===void 0&&(a=n),s===void 0&&(s=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(b[0]);){var k=null,T=[],L=l,O=u,D,I,N,W,B,K,ne,z,$,V;switch(y){case"l":l+=b.shift(),u+=b.shift(),k="L",T.push(l,u);break;case"L":l=b.shift(),u=b.shift(),T.push(l,u);break;case"m":var X=b.shift(),Q=b.shift();if(l+=X,u+=Q,k="M",a.length>2&&a[a.length-1].command==="z"){for(var G=a.length-2;G>=0;G--)if(a[G].command==="M"){l=a[G].points[0]+X,u=a[G].points[1]+Q;break}}T.push(l,u),y="l";break;case"M":l=b.shift(),u=b.shift(),k="M",T.push(l,u),y="L";break;case"h":l+=b.shift(),k="L",T.push(l,u);break;case"H":l=b.shift(),k="L",T.push(l,u);break;case"v":u+=b.shift(),k="L",T.push(l,u);break;case"V":u=b.shift(),k="L",T.push(l,u);break;case"C":T.push(b.shift(),b.shift(),b.shift(),b.shift()),l=b.shift(),u=b.shift(),T.push(l,u);break;case"c":T.push(l+b.shift(),u+b.shift(),l+b.shift(),u+b.shift()),l+=b.shift(),u+=b.shift(),k="C",T.push(l,u);break;case"S":I=l,N=u,D=a[a.length-1],D.command==="C"&&(I=l+(l-D.points[2]),N=u+(u-D.points[3])),T.push(I,N,b.shift(),b.shift()),l=b.shift(),u=b.shift(),k="C",T.push(l,u);break;case"s":I=l,N=u,D=a[a.length-1],D.command==="C"&&(I=l+(l-D.points[2]),N=u+(u-D.points[3])),T.push(I,N,l+b.shift(),u+b.shift()),l+=b.shift(),u+=b.shift(),k="C",T.push(l,u);break;case"Q":T.push(b.shift(),b.shift()),l=b.shift(),u=b.shift(),T.push(l,u);break;case"q":T.push(l+b.shift(),u+b.shift()),l+=b.shift(),u+=b.shift(),k="Q",T.push(l,u);break;case"T":I=l,N=u,D=a[a.length-1],D.command==="Q"&&(I=l+(l-D.points[0]),N=u+(u-D.points[1])),l=b.shift(),u=b.shift(),k="Q",T.push(I,N,l,u);break;case"t":I=l,N=u,D=a[a.length-1],D.command==="Q"&&(I=l+(l-D.points[0]),N=u+(u-D.points[1])),l+=b.shift(),u+=b.shift(),k="Q",T.push(I,N,l,u);break;case"A":W=b.shift(),B=b.shift(),K=b.shift(),ne=b.shift(),z=b.shift(),$=l,V=u,l=b.shift(),u=b.shift(),k="A",T=this.convertEndpointToCenterParameterization($,V,l,u,ne,z,W,B,K);break;case"a":W=b.shift(),B=b.shift(),K=b.shift(),ne=b.shift(),z=b.shift(),$=l,V=u,l+=b.shift(),u+=b.shift(),k="A",T=this.convertEndpointToCenterParameterization($,V,l,u,ne,z,W,B,K);break}a.push({command:k||y,points:T,start:{x:L,y:O},pathLength:this.calcLength(L,O,k||y,T)})}(y==="z"||y==="Z")&&a.push({command:"z",points:[],start:void 0,pathLength:0})}return a}static calcLength(t,n,r,i){var o,a,s,l,u=Fn;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":for(o=0,a=u.getPointOnCubicBezier(0,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),l=.01;l<=1;l+=.01)s=u.getPointOnCubicBezier(l,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),o+=u.getLineLength(a.x,a.y,s.x,s.y),a=s;return o;case"Q":for(o=0,a=u.getPointOnQuadraticBezier(0,t,n,i[0],i[1],i[2],i[3]),l=.01;l<=1;l+=.01)s=u.getPointOnQuadraticBezier(l,t,n,i[0],i[1],i[2],i[3]),o+=u.getLineLength(a.x,a.y,s.x,s.y),a=s;return o;case"A":o=0;var d=i[4],h=i[5],m=i[4]+h,y=Math.PI/180;if(Math.abs(d-m)m;l-=y)s=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(a.x,a.y,s.x,s.y),a=s;else for(l=d+y;l1&&(s*=Math.sqrt(y),l*=Math.sqrt(y));var b=Math.sqrt((s*s*(l*l)-s*s*(m*m)-l*l*(h*h))/(s*s*(m*m)+l*l*(h*h)));o===a&&(b*=-1),isNaN(b)&&(b=0);var w=b*s*m/l,E=b*-l*h/s,_=(t+r)/2+Math.cos(d)*w-Math.sin(d)*E,k=(n+i)/2+Math.sin(d)*w+Math.cos(d)*E,T=function(B){return Math.sqrt(B[0]*B[0]+B[1]*B[1])},L=function(B,K){return(B[0]*K[0]+B[1]*K[1])/(T(B)*T(K))},O=function(B,K){return(B[0]*K[1]=1&&(W=0),a===0&&W>0&&(W=W-2*Math.PI),a===1&&W<0&&(W=W+2*Math.PI),[_,k,s,l,D,W,d,a]}}Fn.prototype.className="Path";Fn.prototype._attrsAffectingSize=["data"];Mr(Fn);J.addGetterSetter(Fn,"data");class lp extends pc{_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 a=this.pointerLength(),s=r.length,l,u;if(o){const m=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[s-2],r[s-1]],y=Fn.calcLength(i[i.length-4],i[i.length-3],"C",m),b=Fn.getPointOnQuadraticBezier(Math.min(1,1-a/y),m[0],m[1],m[2],m[3],m[4],m[5]);l=r[s-2]-b.x,u=r[s-1]-b.y}else l=r[s-2]-r[s-4],u=r[s-1]-r[s-3];var d=(Math.atan2(u,l)+n)%n,h=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[s-2],r[s-1]),t.rotate(d),t.moveTo(0,0),t.lineTo(-a,h/2),t.lineTo(-a,-h/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(-a,h/2),t.lineTo(-a,-h/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}}}lp.prototype.className="Arrow";Mr(lp);J.addGetterSetter(lp,"pointerLength",10,Ge());J.addGetterSetter(lp,"pointerWidth",10,Ge());J.addGetterSetter(lp,"pointerAtBeginning",!1);J.addGetterSetter(lp,"pointerAtEnding",!0);let S0=class extends Fe{_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)}};S0.prototype._centroid=!0;S0.prototype.className="Circle";S0.prototype._attrsAffectingSize=["radius"];Mr(S0);J.addGetterSetter(S0,"radius",0,Ge());class cf extends Fe{_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)}}cf.prototype.className="Ellipse";cf.prototype._centroid=!0;cf.prototype._attrsAffectingSize=["radiusX","radiusY"];Mr(cf);J.addComponentsGetterSetter(cf,"radius",["x","y"]);J.addGetterSetter(cf,"radiusX",0,Ge());J.addGetterSetter(cf,"radiusY",0,Ge());let uu=class kV extends Fe{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 a;if(o){const s=this.attrs.cropWidth,l=this.attrs.cropHeight;s&&l?a=[o,this.cropX(),this.cropY(),s,l,0,0,n,r]:a=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?de.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,a))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?de.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=de.createImageElement();i.onload=function(){var o=new kV({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};uu.prototype.className="Image";Mr(uu);J.addGetterSetter(uu,"cornerRadius",0,EE(4));J.addGetterSetter(uu,"image");J.addComponentsGetterSetter(uu,"crop",["x","y","width","height"]);J.addGetterSetter(uu,"cropX",0,Ge());J.addGetterSetter(uu,"cropY",0,Ge());J.addGetterSetter(uu,"cropWidth",0,Ge());J.addGetterSetter(uu,"cropHeight",0,Ge());var EV=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],VCe="Change.konva",GCe="none",Bk="up",zk="right",Hk="down",Wk="left",qCe=EV.length;class AE extends Jm{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,a.x),r=Math.max(r,a.x),i=Math.min(i,a.y),o=Math.max(o,a.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)}}cp.prototype.className="RegularPolygon";cp.prototype._centroid=!0;cp.prototype._attrsAffectingSize=["radius"];Mr(cp);J.addGetterSetter(cp,"radius",0,Ge());J.addGetterSetter(cp,"sides",0,Ge());var mI=Math.PI*2;class dp extends Fe{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,mI,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),mI,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)}}dp.prototype.className="Ring";dp.prototype._centroid=!0;dp.prototype._attrsAffectingSize=["innerRadius","outerRadius"];Mr(dp);J.addGetterSetter(dp,"innerRadius",0,Ge());J.addGetterSetter(dp,"outerRadius",0,Ge());class cu extends Fe{constructor(t){super(t),this._updated=!0,this.anim=new Ja(()=>{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],a=this.frameOffsets(),s=o[i+0],l=o[i+1],u=o[i+2],d=o[i+3],h=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,d),t.closePath(),t.fillStrokeShape(this)),h)if(a){var m=a[n],y=r*2;t.drawImage(h,s,l,u,d,m[y+0],m[y+1],u,d)}else t.drawImage(h,s,l,u,d,0,0,u,d)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],a=this.frameOffsets(),s=o[i+2],l=o[i+3];if(t.beginPath(),a){var u=a[n],d=r*2;t.rect(u[d+0],u[d+1],s,l)}else t.rect(0,0,s,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 px;function YC(){return px||(px=de.createCanvasElement().getContext(XCe),px)}function s6e(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function l6e(e){e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function u6e(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Tr extends Fe{constructor(t){super(u6e(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(_+=a)}}}_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=de._isString(t)?t:t==null?"":t+"";return this._setAttr(ZCe,n),this}getWidth(){var t=this.attrs.width===Rg||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===Rg||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 de.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=YC(),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()+hx+this.fontVariant()+hx+(this.fontSize()+t6e)+a6e(this.fontFamily())}_addTextLine(t){this.align()===Jv&&(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 YC().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,a=this.attrs.height,s=o!==Rg&&o!==void 0,l=a!==Rg&&a!==void 0,u=this.padding(),d=o-u*2,h=a-u*2,m=0,y=this.wrap(),b=y!==bI,w=y!==i6e&&b,E=this.ellipsis();this.textArr=[],YC().font=this._getContextFont();for(var _=E?this._getTextWidth(KC):0,k=0,T=t.length;kd)for(;L.length>0;){for(var D=0,I=L.length,N="",W=0;D>>1,K=L.slice(0,B+1),ne=this._getTextWidth(K)+_;ne<=d?(D=B+1,N=K,W=ne):I=B}if(N){if(w){var z,$=L[N.length],V=$===hx||$===vI;V&&W<=d?z=N.length:z=Math.max(N.lastIndexOf(hx),N.lastIndexOf(vI))+1,z>0&&(D=z,N=N.slice(0,D),W=this._getTextWidth(N))}N=N.trimRight(),this._addTextLine(N),r=Math.max(r,W),m+=i;var X=this._shouldHandleEllipsis(m);if(X){this._tryToAddEllipsisToLastLine();break}if(L=L.slice(D),L=L.trimLeft(),L.length>0&&(O=this._getTextWidth(L),O<=d)){this._addTextLine(L),m+=i,r=Math.max(r,O);break}}else break}else this._addTextLine(L),m+=i,r=Math.max(r,O),this._shouldHandleEllipsis(m)&&kh)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==Rg&&i!==void 0,a=this.padding(),s=i-a*2,l=this.wrap(),u=l!==bI;return!u||o&&t+r>s}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==Rg&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),a=this.textArr[this.textArr.length-1];if(!(!a||!o)){if(n){var s=this._getTextWidth(a.text+KC)=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;i0&&(s+=t.dataArray[l].pathLength);var u=0;i==="center"&&(u=Math.max(0,s/2-a/2)),i==="right"&&(u=Math.max(0,s-a));for(var d=PV(this.text()),h=this.text().split(" ").length-1,m,y,b,w=-1,E=0,_=function(){E=0;for(var ne=t.dataArray,z=w+1;z0)return w=z,ne[z];ne[z].command==="M"&&(m={x:ne[z].points[0],y:ne[z].points[1]})}return{}},k=function(ne){var z=t._getTextSize(ne).width+r;ne===" "&&i==="justify"&&(z+=(s-a)/h);var $=0,V=0;for(y=void 0;Math.abs(z-$)/z>.01&&V<20;){V++;for(var X=$;b===void 0;)b=_(),b&&X+b.pathLengthz?y=Fn.getPointOnLine(z,m.x,m.y,b.points[0],b.points[1],m.x,m.y):b=void 0;break;case"A":var G=b.points[4],Y=b.points[5],ee=b.points[4]+Y;E===0?E=G+1e-8:z>$?E+=Math.PI/180*Y/Math.abs(Y):E-=Math.PI/360*Y/Math.abs(Y),(Y<0&&E=0&&E>ee)&&(E=ee,Q=!0),y=Fn.getPointOnEllipticalArc(b.points[0],b.points[1],b.points[2],b.points[3],E,b.points[6]);break;case"C":E===0?z>b.pathLength?E=1e-8:E=z/b.pathLength:z>$?E+=(z-$)/b.pathLength/2:E=Math.max(E-($-z)/b.pathLength/2,0),E>1&&(E=1,Q=!0),y=Fn.getPointOnCubicBezier(E,b.start.x,b.start.y,b.points[0],b.points[1],b.points[2],b.points[3],b.points[4],b.points[5]);break;case"Q":E===0?E=z/b.pathLength:z>$?E+=(z-$)/b.pathLength:E-=($-z)/b.pathLength,E>1&&(E=1,Q=!0),y=Fn.getPointOnQuadraticBezier(E,b.start.x,b.start.y,b.points[0],b.points[1],b.points[2],b.points[3]);break}y!==void 0&&($=Fn.getLineLength(m.x,m.y,y.x,y.y)),Q&&(Q=!1,b=void 0)}},T="C",L=t._getTextSize(T).width+r,O=u/L-1,D=0;De+`.${IV}`).join(" "),xI="nodesRect",f6e=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],h6e={"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 p6e="ontouchstart"in ft._global;function g6e(e,t){if(e==="rotater")return"crosshair";t+=de.degToRad(h6e[e]||0);var n=(de.radToDeg(t)%360+360)%360;return de._inRange(n,315+22.5,360)||de._inRange(n,0,22.5)?"ns-resize":de._inRange(n,45-22.5,45+22.5)?"nesw-resize":de._inRange(n,90-22.5,90+22.5)?"ew-resize":de._inRange(n,135-22.5,135+22.5)?"nwse-resize":de._inRange(n,180-22.5,180+22.5)?"ns-resize":de._inRange(n,225-22.5,225+22.5)?"nesw-resize":de._inRange(n,270-22.5,270+22.5)?"ew-resize":de._inRange(n,315-22.5,315+22.5)?"nwse-resize":(de.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var A3=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],SI=1e8;function m6e(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 DV(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 v6e(e,t){const n=m6e(e);return DV(e,t,n)}function y6e(e,t,n){let r=t;for(let i=0;i{const i=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},o=r._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");r.on(o,i),r.on(f6e.map(a=>a+`.${this._getEventNamespace()}`).join(" "),i),r.on(`absoluteTransformChange.${this._getEventNamespace()}`,i),this._proxyDrag(r)}),this._resetTransformCache();var n=!!this.findOne(".top-left");return n&&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,a=i.y-n.y;this.nodes().forEach(s=>{if(s===t||s.isDragging())return;const l=s.getAbsolutePosition();s.setAbsolutePosition({x:l.x+o,y:l.y+a}),s.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(xI),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(xI,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),a=t.getAbsolutePosition(r),s=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(ft.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:a.x+s*Math.cos(u)+l*Math.sin(-u),y:a.y+l*Math.cos(u)+s*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return DV(d,-ft.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-SI,y:-SI,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var h=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],m=u.getAbsoluteTransform();h.forEach(function(y){var b=m.point(y);n.push(b)})});const r=new Ca;r.rotate(-ft.getAngle(this.rotation()));var i,o,a,s;n.forEach(function(u){var d=r.point(u);i===void 0&&(i=a=d.x,o=s=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),a=Math.max(a,d.x),s=Math.max(s,d.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:a-i,height:s-o,rotation:ft.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(),A3.forEach(function(t){this._createAnchor(t)}.bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new m2({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:p6e?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=ft.getAngle(this.rotation()),o=g6e(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 Fe({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()*de._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 a=t.target.getAbsolutePosition(),s=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:s.x-a.x,y:s.y-a.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),a=o.getStage();a.setPointersPositions(t);const s=a.getPointerPosition();let l={x:s.x-this._anchorDragOffset.x,y:s.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const d=o.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var h=this._getNodeRect();n=o.x()-h.width/2,r=-o.y()+h.height/2;let ne=Math.atan2(-r,n)+Math.PI/2;h.height<0&&(ne-=Math.PI);var m=ft.getAngle(this.rotation());const z=m+ne,$=ft.getAngle(this.rotationSnapTolerance()),X=y6e(this.rotationSnaps(),z,$)-h.rotation,Q=v6e(h,X);this._fitNodesInto(Q,t);return}var y=this.keepRatio()||t.shiftKey,k=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(y){var b=k?{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(b.x-o.x(),2)+Math.pow(b.y-o.y(),2));var w=this.findOne(".top-left").x()>b.x?-1:1,E=this.findOne(".top-left").y()>b.y?-1:1;n=i*this.cos*w,r=i*this.sin*E,this.findOne(".top-left").x(b.x-n),this.findOne(".top-left").y(b.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(y){var b=k?{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()-b.x,2)+Math.pow(b.y-o.y(),2));var w=this.findOne(".top-right").x()b.y?-1:1;n=i*this.cos*w,r=i*this.sin*E,this.findOne(".top-right").x(b.x+n),this.findOne(".top-right").y(b.y-r)}var _=o.position();this.findOne(".top-left").y(_.y),this.findOne(".bottom-right").x(_.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(y){var b=k?{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(b.x-o.x(),2)+Math.pow(o.y()-b.y,2));var w=b.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(de._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(de._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var a=new Ca;if(a.rotate(ft.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const h=a.point({x:-this.padding()*2,y:0});if(t.x+=h.x,t.y+=h.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=h.x,this._anchorDragOffset.y-=h.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const h=a.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=h.x,this._anchorDragOffset.y-=h.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const h=a.point({x:0,y:-this.padding()*2});if(t.x+=h.x,t.y+=h.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=h.x,this._anchorDragOffset.y-=h.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const h=a.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=h.x,this._anchorDragOffset.y-=h.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const h=this.boundBoxFunc()(r,t);h?t=h:de.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const s=1e7,l=new Ca;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/s,r.height/s);const u=new Ca;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/s,t.height/s);const d=u.multiply(l.invert());this._nodes.forEach(h=>{var m;const y=h.getParent().getAbsoluteTransform(),b=h.getTransform().copy();b.translate(h.offsetX(),h.offsetY());const w=new Ca;w.multiply(y.copy().invert()).multiply(d).multiply(y).multiply(b);const E=w.decompose();h.setAttrs(E),this._fire("transform",{evt:n,target:h}),h._fire("transform",{evt:n,target:h}),(m=h.getLayer())===null||m===void 0||m.batchDraw()}),this.rotation(de._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(de._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),a=this.resizeEnabled(),s=this.padding(),l=this.anchorSize();this.find("._anchor").forEach(u=>{u.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+s,offsetY:l/2+s,visible:a&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+s,visible:a&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-s,offsetY:l/2+s,visible:a&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+s,visible:a&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-s,visible:a&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+s,offsetY:l/2-s,visible:a&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-s,visible:a&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-s,offsetY:l/2-s,visible:a&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*de._sign(i)-s,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}),(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=""),Jm.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return qe.prototype.toObject.call(this)}clone(t){var n=qe.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}};function b6e(e){return e instanceof Array||de.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){A3.indexOf(t)===-1&&de.warn("Unknown anchor name: "+t+". Available names are: "+A3.join(", "))}),e||[]}Tn.prototype.className="Transformer";Mr(Tn);J.addGetterSetter(Tn,"enabledAnchors",A3,b6e);J.addGetterSetter(Tn,"flipEnabled",!0,el());J.addGetterSetter(Tn,"resizeEnabled",!0);J.addGetterSetter(Tn,"anchorSize",10,Ge());J.addGetterSetter(Tn,"rotateEnabled",!0);J.addGetterSetter(Tn,"rotationSnaps",[]);J.addGetterSetter(Tn,"rotateAnchorOffset",50,Ge());J.addGetterSetter(Tn,"rotationSnapTolerance",5,Ge());J.addGetterSetter(Tn,"borderEnabled",!0);J.addGetterSetter(Tn,"anchorStroke","rgb(0, 161, 255)");J.addGetterSetter(Tn,"anchorStrokeWidth",1,Ge());J.addGetterSetter(Tn,"anchorFill","white");J.addGetterSetter(Tn,"anchorCornerRadius",0,Ge());J.addGetterSetter(Tn,"borderStroke","rgb(0, 161, 255)");J.addGetterSetter(Tn,"borderStrokeWidth",1,Ge());J.addGetterSetter(Tn,"borderDash");J.addGetterSetter(Tn,"keepRatio",!0);J.addGetterSetter(Tn,"centeredScaling",!1);J.addGetterSetter(Tn,"ignoreStroke",!1);J.addGetterSetter(Tn,"padding",0,Ge());J.addGetterSetter(Tn,"node");J.addGetterSetter(Tn,"nodes");J.addGetterSetter(Tn,"boundBoxFunc");J.addGetterSetter(Tn,"anchorDragBoundFunc");J.addGetterSetter(Tn,"shouldOverdrawWholeArea",!1);J.addGetterSetter(Tn,"useSingleNodeRotation",!0);J.backCompat(Tn,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});class gc extends Fe{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,ft.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)}}gc.prototype.className="Wedge";gc.prototype._centroid=!0;gc.prototype._attrsAffectingSize=["radius"];Mr(gc);J.addGetterSetter(gc,"radius",0,Ge());J.addGetterSetter(gc,"angle",0,Ge());J.addGetterSetter(gc,"clockwise",!1);J.backCompat(gc,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});function wI(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var x6e=[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],S6e=[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 w6e(e,t){var n=e.data,r=e.width,i=e.height,o,a,s,l,u,d,h,m,y,b,w,E,_,k,T,L,O,D,I,N,W,B,K,ne,z=t+t+1,$=r-1,V=i-1,X=t+1,Q=X*(X+1)/2,G=new wI,Y=null,ee=G,fe=null,Ce=null,Se=x6e[t],xe=S6e[t];for(s=1;s>xe,K!==0?(K=255/K,n[d]=(m*Se>>xe)*K,n[d+1]=(y*Se>>xe)*K,n[d+2]=(b*Se>>xe)*K):n[d]=n[d+1]=n[d+2]=0,m-=E,y-=_,b-=k,w-=T,E-=fe.r,_-=fe.g,k-=fe.b,T-=fe.a,l=h+((l=o+t+1)<$?l:$)<<2,L+=fe.r=n[l],O+=fe.g=n[l+1],D+=fe.b=n[l+2],I+=fe.a=n[l+3],m+=L,y+=O,b+=D,w+=I,fe=fe.next,E+=N=Ce.r,_+=W=Ce.g,k+=B=Ce.b,T+=K=Ce.a,L-=N,O-=W,D-=B,I-=K,Ce=Ce.next,d+=4;h+=r}for(o=0;o>xe,K>0?(K=255/K,n[l]=(m*Se>>xe)*K,n[l+1]=(y*Se>>xe)*K,n[l+2]=(b*Se>>xe)*K):n[l]=n[l+1]=n[l+2]=0,m-=E,y-=_,b-=k,w-=T,E-=fe.r,_-=fe.g,k-=fe.b,T-=fe.a,l=o+((l=a+X)0&&w6e(t,n)};J.addGetterSetter(qe,"blurRadius",0,Ge(),J.afterSetFilter);const _6e=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,a=a<0?0:a>255?255:a,n[s]=i,n[s+1]=o,n[s+2]=a};J.addGetterSetter(qe,"contrast",0,Ge(),J.afterSetFilter);const E6e=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,a=0,s=e.data,l=e.width,u=e.height,d=l*4,h=u;switch(r){case"top-left":o=-1,a=-1;break;case"top":o=-1,a=0;break;case"top-right":o=-1,a=1;break;case"right":o=0,a=1;break;case"bottom-right":o=1,a=1;break;case"bottom":o=1,a=0;break;case"bottom-left":o=1,a=-1;break;case"left":o=0,a=-1;break;default:de.error("Unknown emboss direction: "+r)}do{var m=(h-1)*d,y=o;h+y<1&&(y=0),h+y>u&&(y=0);var b=(h-1+y)*l*4,w=l;do{var E=m+(w-1)*4,_=a;w+_<1&&(_=0),w+_>l&&(_=0);var k=b+(w-1+_)*4,T=s[E]-s[k],L=s[E+1]-s[k+1],O=s[E+2]-s[k+2],D=T,I=D>0?D:-D,N=L>0?L:-L,W=O>0?O:-O;if(N>I&&(D=L),W>I&&(D=O),D*=t,i){var B=s[E]+D,K=s[E+1]+D,ne=s[E+2]+D;s[E]=B>255?255:B<0?0:B,s[E+1]=K>255?255:K<0?0:K,s[E+2]=ne>255?255:ne<0?0:ne}else{var z=n-D;z<0?z=0:z>255&&(z=255),s[E]=s[E+1]=s[E+2]=z}}while(--w)}while(--h)};J.addGetterSetter(qe,"embossStrength",.5,Ge(),J.afterSetFilter);J.addGetterSetter(qe,"embossWhiteLevel",.5,Ge(),J.afterSetFilter);J.addGetterSetter(qe,"embossDirection","top-left",null,J.afterSetFilter);J.addGetterSetter(qe,"embossBlend",!1,null,J.afterSetFilter);function XC(e,t,n,r,i){var o=n-t,a=i-r,s;return o===0?r+a/2:a===0?r:(s=(e-t)/o,s=a*s+r,s)}const P6e=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,a=t[1],s=a,l,u=t[2],d=u,h,m,y=this.enhance();if(y!==0){for(m=0;mi&&(i=o),l=t[m+1],ls&&(s=l),h=t[m+2],hd&&(d=h);i===r&&(i=255,r=0),s===a&&(s=255,a=0),d===u&&(d=255,u=0);var b,w,E,_,k,T,L,O,D;for(y>0?(w=i+y*(255-i),E=r-y*(r-0),k=s+y*(255-s),T=a-y*(a-0),O=d+y*(255-d),D=u-y*(u-0)):(b=(i+r)*.5,w=i+y*(i-b),E=r+y*(r-b),_=(s+a)*.5,k=s+y*(s-_),T=a+y*(a-_),L=(d+u)*.5,O=d+y*(d-L),D=u+y*(u-L)),m=0;m_?E:_;var k=a,T=o,L,O,D=360/T*Math.PI/180,I,N;for(O=0;OT?k:T;var L=a,O=o,D,I,N=n.polarRotation||0,W,B;for(d=0;dt&&(L=T,O=0,D=-1),i=0;i=0&&y=0&&b=0&&y=0&&b=255*4?255:0}return a}function B6e(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),a=[],s=0;s=0&&y=0&&b=n))for(o=w;o=r||(a=(n*o+i)*4,s+=L[a+0],l+=L[a+1],u+=L[a+2],d+=L[a+3],T+=1);for(s=s/T,l=l/T,u=u/T,d=d/T,i=y;i=n))for(o=w;o=r||(a=(n*o+i)*4,L[a+0]=s,L[a+1]=l,L[a+2]=u,L[a+3]=d)}};J.addGetterSetter(qe,"pixelSize",8,Ge(),J.afterSetFilter);const U6e=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)});J.addGetterSetter(qe,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});J.addGetterSetter(qe,"blue",0,iV,J.afterSetFilter);const G6e=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),a=this.alpha(),s,l;for(s=0;s255?255:e<0?0:Math.round(e)});J.addGetterSetter(qe,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});J.addGetterSetter(qe,"blue",0,iV,J.afterSetFilter);J.addGetterSetter(qe,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});const q6e=function(e){var t=e.data,n=t.length,r,i,o,a;for(r=0;r127&&(u=255-u),d>127&&(d=255-d),h>127&&(h=255-h),t[l]=u,t[l+1]=d,t[l+2]=h}while(--s)}while(--o)},Y6e=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:n,height:r}=t,i=document.createElement("div"),o=new $g.Stage({container:i,width:n,height:r}),a=new $g.Layer,s=new $g.Layer;a.add(new $g.Rect({...t,fill:"white"})),e.forEach(u=>s.add(new $g.Line({points:u.points,stroke:"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),o.add(a),o.add(s);const l=o.toDataURL({...t});return i.remove(),l};let jV=null,NV=null;const Z6e=e=>{jV=e},Qs=()=>jV,Q6e=e=>{NV=e},$V=()=>NV,J6e=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("

")})},FV=(e,t)=>Math.floor(Math.random()*(t-e+1)+e),e_e=e=>{const t=Qs(),{generationMode:n,generationState:r,postprocessingState:i,canvasState:o,systemState:a}=e,{codeformerFidelity:s,facetoolStrength:l,facetoolType:u,hiresFix:d,hiresStrength:h,shouldRunESRGAN:m,shouldRunFacetool:y,upscalingLevel:b,upscalingStrength:w,upscalingDenoising:E}=i,{cfgScale:_,height:k,img2imgStrength:T,infillMethod:L,initialImage:O,iterations:D,perlin:I,prompt:N,negativePrompt:W,sampler:B,seamBlur:K,seamless:ne,seamSize:z,seamSteps:$,seamStrength:V,seed:X,seedWeights:Q,shouldFitToWidthHeight:G,shouldGenerateVariations:Y,shouldRandomizeSeed:ee,steps:fe,threshold:Ce,tileSize:Se,variationAmount:xe,width:Le,shouldUseSymmetry:je,horizontalSymmetrySteps:Ze,verticalSymmetrySteps:_e}=r,{shouldDisplayInProgressType:tt,saveIntermediatesInterval:yt,enableImageDebugging:ze}=a,Ae={prompt:N,iterations:D,steps:fe,cfg_scale:_,threshold:Ce,perlin:I,height:k,width:Le,sampler_name:B,seed:X,progress_images:tt==="full-res",progress_latents:tt==="latents",save_intermediates:yt,generation_mode:n,init_mask:""};let bt=!1,Be=!1;if(W!==""&&(Ae.prompt=`${N} [${W}]`),Ae.seed=ee?FV(_E,kE):X,je&&(Ze>0&&(Ae.h_symmetry_time_pct=Math.max(0,Math.min(1,Ze/fe))),_e>0&&(Ae.v_symmetry_time_pct=Math.max(0,Math.min(1,_e/fe)))),n==="txt2img"&&(Ae.hires_fix=d,d&&(Ae.strength=h)),["txt2img","img2img"].includes(n)&&(Ae.seamless=ne,m&&(bt={level:b,denoise_str:E,strength:w}),y&&(Be={type:u,strength:l},u==="codeformer"&&(Be.codeformer_fidelity=s))),n==="img2img"&&O&&(Ae.init_img=typeof O=="string"?O:O.url,Ae.strength=T,Ae.fit=G),n==="unifiedCanvas"&&t){const{layerState:{objects:at},boundingBoxCoordinates:jt,boundingBoxDimensions:mt,stageScale:Zt,isMaskEnabled:on,shouldPreserveMaskedArea:le,boundingBoxScaleMethod:De,scaledBoundingBoxDimensions:We}=o,Ve={...jt,...mt},ye=X6e(on?at.filter(pE):[],Ve);Ae.init_mask=ye,Ae.fit=!1,Ae.strength=T,Ae.invert_mask=le,Ae.bounding_box=Ve;const Ne=t.scale();t.scale({x:1/Zt,y:1/Zt});const vt=t.getAbsolutePosition(),Mt=t.toDataURL({x:Ve.x+vt.x,y:Ve.y+vt.y,width:Ve.width,height:Ve.height});ze&&J6e([{base64:ye,caption:"mask sent as init_mask"},{base64:Mt,caption:"image sent as init_img"}]),t.scale(Ne),Ae.init_img=Mt,Ae.progress_images=!1,De!=="none"&&(Ae.inpaint_width=We.width,Ae.inpaint_height=We.height),Ae.seam_size=z,Ae.seam_blur=K,Ae.seam_strength=V,Ae.seam_steps=$,Ae.tile_size=Se,Ae.infill_method=L,Ae.force_outpaint=!1}return Y?(Ae.variation_amount=xe,Q&&(Ae.with_variations=$3e(Q))):Ae.variation_amount=0,ze&&(Ae.enable_image_debugging=ze),{generationParameters:Ae,esrganParameters:bt,facetoolParameters:Be}};var t_e=/d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g,n_e=/\b(?:[A-Z]{1,3}[A-Z][TC])(?:[-+]\d{4})?|((?:Australian )?(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time)\b/g,r_e=/[^-+\dA-Z]/g;function Ti(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(CI[t]||t||CI.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"},a=function(){return e[o()+"Date"]()},s=function(){return e[o()+"Day"]()},l=function(){return e[o()+"Month"]()},u=function(){return e[o()+"FullYear"]()},d=function(){return e[o()+"Hours"]()},h=function(){return e[o()+"Minutes"]()},m=function(){return e[o()+"Seconds"]()},y=function(){return e[o()+"Milliseconds"]()},b=function(){return n?0:e.getTimezoneOffset()},w=function(){return i_e(e)},E=function(){return o_e(e)},_={d:function(){return a()},dd:function(){return xa(a())},ddd:function(){return Ho.dayNames[s()]},DDD:function(){return _I({y:u(),m:l(),d:a(),_:o(),dayName:Ho.dayNames[s()],short:!0})},dddd:function(){return Ho.dayNames[s()+7]},DDDD:function(){return _I({y:u(),m:l(),d:a(),_:o(),dayName:Ho.dayNames[s()+7]})},m:function(){return l()+1},mm:function(){return xa(l()+1)},mmm:function(){return Ho.monthNames[l()]},mmmm:function(){return Ho.monthNames[l()+12]},yy:function(){return String(u()).slice(2)},yyyy:function(){return xa(u(),4)},h:function(){return d()%12||12},hh:function(){return xa(d()%12||12)},H:function(){return d()},HH:function(){return xa(d())},M:function(){return h()},MM:function(){return xa(h())},s:function(){return m()},ss:function(){return xa(m())},l:function(){return xa(y(),3)},L:function(){return xa(Math.floor(y()/10))},t:function(){return d()<12?Ho.timeNames[0]:Ho.timeNames[1]},tt:function(){return d()<12?Ho.timeNames[2]:Ho.timeNames[3]},T:function(){return d()<12?Ho.timeNames[4]:Ho.timeNames[5]},TT:function(){return d()<12?Ho.timeNames[6]:Ho.timeNames[7]},Z:function(){return r?"GMT":n?"UTC":a_e(e)},o:function(){return(b()>0?"-":"+")+xa(Math.floor(Math.abs(b())/60)*100+Math.abs(b())%60,4)},p:function(){return(b()>0?"-":"+")+xa(Math.floor(Math.abs(b())/60),2)+":"+xa(Math.floor(Math.abs(b())%60),2)},S:function(){return["th","st","nd","rd"][a()%10>3?0:(a()%100-a()%10!=10)*a()%10]},W:function(){return w()},WW:function(){return xa(w())},N:function(){return E()}};return t.replace(t_e,function(k){return k in _?_[k]():k.slice(1,k.length-1)})}var CI={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"},Ho={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"]},xa=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(t).padStart(n,"0")},_I=function(t){var n=t.y,r=t.m,i=t.d,o=t._,a=t.dayName,s=t.short,l=s===void 0?!1:s,u=new Date,d=new Date;d.setDate(d[o+"Date"]()-1);var h=new Date;h.setDate(h[o+"Date"]()+1);var m=function(){return u[o+"Date"]()},y=function(){return u[o+"Month"]()},b=function(){return u[o+"FullYear"]()},w=function(){return d[o+"Date"]()},E=function(){return d[o+"Month"]()},_=function(){return d[o+"FullYear"]()},k=function(){return h[o+"Date"]()},T=function(){return h[o+"Month"]()},L=function(){return h[o+"FullYear"]()};return b()===n&&y()===r&&m()===i?l?"Tdy":"Today":_()===n&&E()===r&&w()===i?l?"Ysd":"Yesterday":L()===n&&T()===r&&k()===i?l?"Tmw":"Tomorrow":a},i_e=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)},o_e=function(t){var n=t.getDay();return n===0&&(n=7),n},a_e=function(t){return(String(t).match(n_e)||[""]).pop().replace(r_e,"").replace(/GMT\+0000/g,"UTC")};const s_e=(e,t)=>{const{dispatch:n,getState:r}=e;return{emitGenerateImage:i=>{n(wa(!0));const o=r(),{generation:a,postprocessing:s,system:l,canvas:u}=o,d={generationMode:i,generationState:a,postprocessingState:s,canvasState:u,systemState:l};n(L4e());const{generationParameters:h,esrganParameters:m,facetoolParameters:y}=e_e(d);t.emit("generateImage",h,m,y),h.init_mask&&(h.init_mask=h.init_mask.substr(0,64).concat("...")),h.init_img&&(h.init_img=h.init_img.substr(0,64).concat("...")),n(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Image generation requested: ${JSON.stringify({...h,...m,...y})}`}))},emitRunESRGAN:i=>{n(wa(!0));const{postprocessing:{upscalingLevel:o,upscalingDenoising:a,upscalingStrength:s}}=r(),l={upscale:[o,a,s]};t.emit("runPostprocessing",i,{type:"esrgan",...l}),n(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`ESRGAN upscale requested: ${JSON.stringify({file:i.url,...l})}`}))},emitRunFacetool:i=>{n(wa(!0));const{postprocessing:{facetoolType:o,facetoolStrength:a,codeformerFidelity:s}}=r(),l={facetool_strength:a};o==="codeformer"&&(l.codeformer_fidelity=s),t.emit("runPostprocessing",i,{type:o,...l}),n(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Face restoration (${o}) requested: ${JSON.stringify({file:i.url,...l})}`}))},emitDeleteImage:i=>{const{url:o,uuid:a,category:s,thumbnail:l}=i;n(eU(i)),t.emit("deleteImage",o,l,a,s)},emitRequestImages:i=>{const o=r().gallery,{earliest_mtime:a}=o.categories[i];t.emit("requestImages",i,a)},emitRequestNewImages:i=>{const o=r().gallery,{latest_mtime:a}=o.categories[i];t.emit("requestLatestImages",i,a)},emitCancelProcessing:()=>{t.emit("cancel")},emitRequestSystemConfig:()=>{t.emit("requestSystemConfig")},emitSearchForModels:i=>{t.emit("searchForModels",i)},emitAddNewModel:i=>{t.emit("addNewModel",i)},emitDeleteModel:i=>{t.emit("deleteModel",i)},emitConvertToDiffusers:i=>{n(E4e()),t.emit("convertToDiffusers",i)},emitMergeDiffusersModels:i=>{n(P4e()),t.emit("mergeDiffusersModels",i)},emitRequestModelChange:i=>{n(k4e()),t.emit("requestModelChange",i)},emitGetLoraModels:()=>{t.emit("getLoraModels")},emitSaveStagingAreaImageToGallery:i=>{t.emit("requestSaveStagingAreaImageToGallery",i)},emitRequestEmptyTempFolder:()=>{t.emit("requestEmptyTempFolder")}}};let mx;const l_e=new Uint8Array(16);function u_e(){if(!mx&&(mx=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!mx))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return mx(l_e)}const Hi=[];for(let e=0;e<256;++e)Hi.push((e+256).toString(16).slice(1));function c_e(e,t=0){return(Hi[e[t+0]]+Hi[e[t+1]]+Hi[e[t+2]]+Hi[e[t+3]]+"-"+Hi[e[t+4]]+Hi[e[t+5]]+"-"+Hi[e[t+6]]+Hi[e[t+7]]+"-"+Hi[e[t+8]]+Hi[e[t+9]]+"-"+Hi[e[t+10]]+Hi[e[t+11]]+Hi[e[t+12]]+Hi[e[t+13]]+Hi[e[t+14]]+Hi[e[t+15]]).toLowerCase()}const d_e=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),kI={randomUUID:d_e};function um(e,t,n){if(kI.randomUUID&&!t&&!e)return kI.randomUUID();e=e||{};const r=e.random||(e.rng||u_e)();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 c_e(r)}const Uk=dr("socketio/generateImage"),f_e=dr("socketio/runESRGAN"),h_e=dr("socketio/runFacetool"),p_e=dr("socketio/deleteImage"),Vk=dr("socketio/requestImages"),EI=dr("socketio/requestNewImages"),g_e=dr("socketio/cancelProcessing"),m_e=dr("socketio/requestSystemConfig"),PI=dr("socketio/searchForModels"),v2=dr("socketio/addNewModel"),v_e=dr("socketio/deleteModel"),y_e=dr("socketio/convertToDiffusers"),b_e=dr("socketio/mergeDiffusersModels"),BV=dr("socketio/requestModelChange"),x_e=dr("socketio/getLoraModels"),S_e=dr("socketio/saveStagingAreaImageToGallery"),w_e=dr("socketio/requestEmptyTempFolder"),C_e=e=>{const{dispatch:t,getState:n}=e;return{onConnect:()=>{try{t(WR(!0)),t(hh(Et.t("common.statusConnected"))),t(m_e());const r=n().gallery;r.categories.result.latest_mtime?t(EI("result")):t(Vk("result")),r.categories.user.latest_mtime?t(EI("user")):t(Vk("user"))}catch(r){console.error(r)}},onDisconnect:()=>{try{t(WR(!1)),t(hh(Et.t("common.statusDisconnected"))),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:"Disconnected from server",level:"warning"}))}catch(r){console.error(r)}},onGenerationResult:r=>{try{const i=n(),{activeTab:o}=i.ui,{shouldLoopback:a}=i.postprocessing,{boundingBox:s,generationMode:l,...u}=r,d={uuid:um(),...u};if(["txt2img","img2img"].includes(l)&&t(sm({category:"result",image:{...d,category:"result"}})),l==="unifiedCanvas"&&r.boundingBox){const{boundingBox:h}=r;t(r3e({image:{...d,category:"temp"},boundingBox:h})),i.canvas.shouldAutoSave&&t(sm({image:{...d,category:"result"},category:"result"}))}if(a)switch(SE[o]){case"img2img":{t(y0(d));break}}t(NC()),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Image generated: ${r.url}`}))}catch(i){console.error(i)}},onIntermediateResult:r=>{try{t(E3e({uuid:um(),...r,category:"result"})),r.isBase64||t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Intermediate image generated: ${r.url}`}))}catch(i){console.error(i)}},onPostprocessingResult:r=>{try{t(sm({category:"result",image:{uuid:um(),...r,category:"result"}})),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Postprocessed: ${r.url}`}))}catch(i){console.error(i)}},onProgressUpdate:r=>{try{t(wa(!0)),t(S4e(r))}catch(i){console.error(i)}},onError:r=>{const{message:i,additionalData:o}=r;try{t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Server error: ${i}`,level:"error"})),t(UR()),t(NC())}catch(a){console.error(a)}},onGalleryImages:r=>{const{images:i,areMoreImagesAvailable:o,category:a}=r,s=i.map(l=>({uuid:um(),...l}));t(k3e({images:s,areMoreImagesAvailable:o,category:a})),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Loaded ${i.length} images`}))},onProcessingCanceled:()=>{t(_4e());const{intermediateImage:r}=n().gallery;r&&(r.isBase64||(t(sm({category:"result",image:r})),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Intermediate image saved: ${r.url}`}))),t(NC())),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:"Processing canceled",level:"warning"}))},onImageDeleted:r=>{const{url:i}=r;t(eU(r));const{generation:{initialImage:o,maskPath:a}}=n();(o===i||(o==null?void 0:o.url)===i)&&t(sU()),a===i&&t(cU("")),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Image deleted: ${i}`}))},onSystemConfig:r=>{t(w4e(r)),r.infill_methods.includes("patchmatch")||t(uU(r.infill_methods[0]))},onFoundModels:r=>{const{search_folder:i,found_models:o}=r;t($U(i)),t(FU(o))},onNewModelAdded:r=>{const{new_model_name:i,model_list:o,update:a}=r;t(Ag(o)),t(wa(!1)),t(hh(Et.t("modelManager.modelAdded"))),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model Added: ${i}`,level:"info"})),t($u({title:a?`${Et.t("modelManager.modelUpdated")}: ${i}`:`${Et.t("modelManager.modelAdded")}: ${i}`,status:"success",duration:2500,isClosable:!0}))},onModelDeleted:r=>{const{deleted_model_name:i,model_list:o}=r;t(Ag(o)),t(wa(!1)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`${Et.t("modelManager.modelAdded")}: ${i}`,level:"info"})),t($u({title:`${Et.t("modelManager.modelEntryDeleted")}: ${i}`,status:"success",duration:2500,isClosable:!0}))},onModelConverted:r=>{const{converted_model_name:i,model_list:o}=r;t(Ag(o)),t(hh(Et.t("common.statusModelConverted"))),t(wa(!1)),t(_d(!0)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model converted: ${i}`,level:"info"})),t($u({title:`${Et.t("modelManager.modelConverted")}: ${i}`,status:"success",duration:2500,isClosable:!0}))},onModelsMerged:r=>{const{merged_models:i,merged_model_name:o,model_list:a}=r;t(Ag(a)),t(hh(Et.t("common.statusMergedModels"))),t(wa(!1)),t(_d(!0)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Models merged: ${i}`,level:"info"})),t($u({title:`${Et.t("modelManager.modelsMerged")}: ${o}`,status:"success",duration:2500,isClosable:!0}))},onModelChanged:r=>{const{model_name:i,model_list:o}=r;t(Ag(o)),t(hh(Et.t("common.statusModelChanged"))),t(wa(!1)),t(_d(!0)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model changed: ${i}`,level:"info"}))},onModelChangeFailed:r=>{const{model_name:i,model_list:o}=r;t(Ag(o)),t(wa(!1)),t(_d(!0)),t(UR()),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model change failed: ${i}`,level:"error"}))},onFoundLoras:r=>{t(R4e(r))},onTempFolderEmptied:()=>{t($u({title:Et.t("toast.tempFoldersEmptied"),status:"success",duration:2500,isClosable:!0}))}}},__e=()=>{const{origin:e}=new URL(window.location.href),t=pS(e,{timeout:6e4,path:`${window.location.pathname}socket.io`});let n=!1;return i=>o=>a=>{const{onConnect:s,onDisconnect:l,onError:u,onPostprocessingResult:d,onGenerationResult:h,onIntermediateResult:m,onProgressUpdate:y,onGalleryImages:b,onProcessingCanceled:w,onImageDeleted:E,onSystemConfig:_,onModelChanged:k,onFoundModels:T,onNewModelAdded:L,onModelDeleted:O,onModelConverted:D,onModelsMerged:I,onModelChangeFailed:N,onFoundLoras:W,onTempFolderEmptied:B}=C_e(i),{emitGenerateImage:K,emitRunESRGAN:ne,emitRunFacetool:z,emitDeleteImage:$,emitRequestImages:V,emitRequestNewImages:X,emitCancelProcessing:Q,emitRequestSystemConfig:G,emitSearchForModels:Y,emitAddNewModel:ee,emitDeleteModel:fe,emitConvertToDiffusers:Ce,emitMergeDiffusersModels:Se,emitRequestModelChange:xe,emitGetLoraModels:Le,emitSaveStagingAreaImageToGallery:je,emitRequestEmptyTempFolder:Ze}=s_e(i,t);switch(n||(t.on("connect",()=>s()),t.on("disconnect",()=>l()),t.on("error",_e=>u(_e)),t.on("generationResult",_e=>h(_e)),t.on("postprocessingResult",_e=>d(_e)),t.on("intermediateResult",_e=>m(_e)),t.on("progressUpdate",_e=>y(_e)),t.on("galleryImages",_e=>b(_e)),t.on("processingCanceled",()=>{w()}),t.on("imageDeleted",_e=>{E(_e)}),t.on("systemConfig",_e=>{_(_e)}),t.on("foundModels",_e=>{T(_e)}),t.on("newModelAdded",_e=>{L(_e)}),t.on("modelDeleted",_e=>{O(_e)}),t.on("modelConverted",_e=>{D(_e)}),t.on("modelsMerged",_e=>{I(_e)}),t.on("modelChanged",_e=>{k(_e)}),t.on("modelChangeFailed",_e=>{N(_e)}),t.on("foundLoras",_e=>{W(_e)}),t.on("tempFolderEmptied",()=>{B()}),n=!0),a.type){case"socketio/generateImage":{K(a.payload);break}case"socketio/runESRGAN":{ne(a.payload);break}case"socketio/runFacetool":{z(a.payload);break}case"socketio/deleteImage":{$(a.payload);break}case"socketio/requestImages":{V(a.payload);break}case"socketio/requestNewImages":{X(a.payload);break}case"socketio/cancelProcessing":{Q();break}case"socketio/requestSystemConfig":{G();break}case"socketio/searchForModels":{Y(a.payload);break}case"socketio/addNewModel":{ee(a.payload);break}case"socketio/deleteModel":{fe(a.payload);break}case"socketio/convertToDiffusers":{Ce(a.payload);break}case"socketio/mergeDiffusersModels":{Se(a.payload);break}case"socketio/requestModelChange":{xe(a.payload);break}case"socketio/getLoraModels":{Le();break}case"socketio/saveStagingAreaImageToGallery":{je(a.payload);break}case"socketio/requestEmptyTempFolder":{Ze();break}}o(a)}},k_e=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"].map(e=>`canvas.${e}`),E_e=["currentIteration","currentStatus","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","socketId","totalIterations","totalSteps","openModel","cancelOptions.cancelAfter"].map(e=>`system.${e}`),P_e=["categories","currentCategory","currentImage","currentImageUuid","shouldAutoSwitchToNewImages","shouldHoldGalleryOpen","intermediateImage"].map(e=>`gallery.${e}`),zV=wW({generation:U3e,postprocessing:Y3e,gallery:R3e,system:I4e,canvas:C3e,ui:V4e,lightbox:j3e}),T_e=RW.getPersistConfig({key:"root",storage:OW,rootReducer:zV,blacklist:[...k_e,...E_e,...P_e],debounce:300}),M_e=LSe(T_e,zV),HV=aSe({reducer:M_e,middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(__e()),devTools:{actionsDenylist:["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine"]}}),WV=jSe(HV),OE=S.createContext(null),Te=xxe,se=uxe;let TI;const RE=()=>({setOpenUploader:e=>{e&&(TI=e)},openUploader:TI}),Br=lt(e=>e.ui,e=>SE[e.activeTab],{memoizeOptions:{equalityCheck:we.isEqual}}),L_e=lt(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:we.isEqual}}),fp=lt(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:we.isEqual}}),MI=e=>async(t,n)=>{const{imageFile:r}=e,i=n(),o=Br(i),a=new FormData;a.append("file",r,r.name),a.append("data",JSON.stringify({kind:"init"}));const l=await(await fetch(`${window.location.origin}/upload`,{method:"POST",body:a})).json(),u={uuid:um(),category:"user",...l};t(sm({image:u,category:"user"})),o==="unifiedCanvas"?t(o4(u)):o==="img2img"&&t(y0(u))};function A_e(){const{t:e}=Ie();return g.jsxs("div",{className:"work-in-progress nodes-work-in-progress",children:[g.jsx("h1",{children:e("common.nodes")}),g.jsx("p",{children:e("common.nodesDesc")})]})}const O_e=()=>{const{t:e}=Ie();return g.jsxs("div",{className:"work-in-progress post-processing-work-in-progress",children:[g.jsx("h1",{children:e("common.postProcessing")}),g.jsx("p",{children:e("common.postProcessDesc1")}),g.jsx("p",{children:e("common.postProcessDesc2")}),g.jsx("p",{children:e("common.postProcessDesc3")})]})};function R_e(){const{t:e}=Ie();return g.jsxs("div",{className:"work-in-progress nodes-work-in-progress",children:[g.jsx("h1",{children:e("common.training")}),g.jsxs("p",{children:[e("common.trainingDesc1"),g.jsx("br",{}),g.jsx("br",{}),e("common.trainingDesc2")]})]})}function I_e(e){const{i18n:t}=Ie(),n=localStorage.getItem("i18nextLng");Ye.useEffect(()=>{e()},[e]),Ye.useEffect(()=>{t.on("languageChanged",()=>{e()})},[e,t,n])}const D_e=fc({displayName:"ImageToImageIcon",viewBox:"0 0 3543 3543",path:g.jsx("g",{transform:"matrix(1.10943,0,0,1.10943,-206.981,-213.533)",children:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M688.533,2405.95L542.987,2405.95C349.532,2405.95 192.47,2248.89 192.47,2055.44L192.47,542.987C192.47,349.532 349.532,192.47 542.987,192.47L2527.88,192.47C2721.33,192.47 2878.4,349.532 2878.4,542.987L2878.4,1172.79L3023.94,1172.79C3217.4,1172.79 3374.46,1329.85 3374.46,1523.3C3374.46,1523.3 3374.46,3035.75 3374.46,3035.75C3374.46,3229.21 3217.4,3386.27 3023.94,3386.27L1039.05,3386.27C845.595,3386.27 688.533,3229.21 688.533,3035.75L688.533,2405.95ZM3286.96,2634.37L3286.96,1523.3C3286.96,1378.14 3169.11,1260.29 3023.94,1260.29C3023.94,1260.29 1039.05,1260.29 1039.05,1260.29C893.887,1260.29 776.033,1378.14 776.033,1523.3L776.033,2489.79L1440.94,1736.22L2385.83,2775.59L2880.71,2200.41L3286.96,2634.37ZM2622.05,1405.51C2778.5,1405.51 2905.51,1532.53 2905.51,1688.98C2905.51,1845.42 2778.5,1972.44 2622.05,1972.44C2465.6,1972.44 2338.58,1845.42 2338.58,1688.98C2338.58,1532.53 2465.6,1405.51 2622.05,1405.51ZM2790.9,1172.79L1323.86,1172.79L944.882,755.906L279.97,1509.47L279.97,542.987C279.97,397.824 397.824,279.97 542.987,279.97C542.987,279.97 2527.88,279.97 2527.88,279.97C2673.04,279.97 2790.9,397.824 2790.9,542.987L2790.9,1172.79ZM2125.98,425.197C2282.43,425.197 2409.45,552.213 2409.45,708.661C2409.45,865.11 2282.43,992.126 2125.98,992.126C1969.54,992.126 1842.52,865.11 1842.52,708.661C1842.52,552.213 1969.54,425.197 2125.98,425.197Z"})})}),j_e=fc({displayName:"NodesIcon",viewBox:"0 0 3543 3543",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M3543.31,770.787C3543.31,515.578 3336.11,308.38 3080.9,308.38L462.407,308.38C207.197,308.38 0,515.578 0,770.787L0,2766.03C0,3021.24 207.197,3228.44 462.407,3228.44L3080.9,3228.44C3336.11,3228.44 3543.31,3021.24 3543.31,2766.03C3543.31,2766.03 3543.31,770.787 3543.31,770.787ZM3427.88,770.787L3427.88,2766.03C3427.88,2957.53 3272.4,3113.01 3080.9,3113.01C3080.9,3113.01 462.407,3113.01 462.407,3113.01C270.906,3113.01 115.431,2957.53 115.431,2766.03L115.431,770.787C115.431,579.286 270.906,423.812 462.407,423.812L3080.9,423.812C3272.4,423.812 3427.88,579.286 3427.88,770.787ZM1214.23,1130.69L1321.47,1130.69C1324.01,1130.69 1326.54,1130.53 1329.05,1130.2C1329.05,1130.2 1367.3,1125.33 1397.94,1149.8C1421.63,1168.72 1437.33,1204.3 1437.33,1265.48L1437.33,2078.74L1220.99,2078.74C1146.83,2078.74 1086.61,2138.95 1086.61,2213.12L1086.61,2762.46C1086.61,2836.63 1146.83,2896.84 1220.99,2896.84L1770.34,2896.84C1844.5,2896.84 1904.71,2836.63 1904.71,2762.46L1904.71,2213.12C1904.71,2138.95 1844.5,2078.74 1770.34,2078.74L1554,2078.74L1554,1604.84C1625.84,1658.19 1703.39,1658.1 1703.39,1658.1C1703.54,1658.1 1703.69,1658.11 1703.84,1658.11L2362.2,1658.11L2362.2,1874.44C2362.2,1948.61 2422.42,2008.82 2496.58,2008.82L3045.93,2008.82C3120.09,2008.82 3180.3,1948.61 3180.3,1874.44L3180.3,1325.1C3180.3,1250.93 3120.09,1190.72 3045.93,1190.72L2496.58,1190.72C2422.42,1190.72 2362.2,1250.93 2362.2,1325.1L2362.2,1558.97L2362.2,1541.44L1704.23,1541.44C1702.2,1541.37 1650.96,1539.37 1609.51,1499.26C1577.72,1468.49 1554,1416.47 1554,1331.69L1554,1265.48C1554,1153.86 1513.98,1093.17 1470.76,1058.64C1411.24,1011.1 1338.98,1012.58 1319.15,1014.03L1214.23,1014.03L1214.23,796.992C1214.23,722.828 1154.02,662.617 1079.85,662.617L530.507,662.617C456.343,662.617 396.131,722.828 396.131,796.992L396.131,1346.34C396.131,1420.5 456.343,1480.71 530.507,1480.71L1079.85,1480.71C1154.02,1480.71 1214.23,1420.5 1214.23,1346.34L1214.23,1130.69Z"})}),N_e=fc({displayName:"PostprocessingIcon",viewBox:"0 0 3543 3543",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M709.477,1596.53L992.591,1275.66L2239.09,2646.81L2891.95,1888.03L3427.88,2460.51L3427.88,994.78C3427.88,954.66 3421.05,916.122 3408.5,880.254L3521.9,855.419C3535.8,899.386 3543.31,946.214 3543.31,994.78L3543.31,2990.02C3543.31,3245.23 3336.11,3452.43 3080.9,3452.43C3080.9,3452.43 462.407,3452.43 462.407,3452.43C207.197,3452.43 -0,3245.23 -0,2990.02L-0,994.78C-0,739.571 207.197,532.373 462.407,532.373L505.419,532.373L504.644,532.546L807.104,600.085C820.223,601.729 832.422,607.722 841.77,617.116C850.131,625.517 855.784,636.21 858.055,647.804L462.407,647.804C270.906,647.804 115.431,803.279 115.431,994.78L115.431,2075.73L-0,2101.5L115.431,2127.28L115.431,2269.78L220.47,2150.73L482.345,2209.21C503.267,2211.83 522.722,2221.39 537.63,2236.37C552.538,2251.35 562.049,2270.9 564.657,2291.93L671.84,2776.17L779.022,2291.93C781.631,2270.9 791.141,2251.35 806.05,2236.37C820.958,2221.39 840.413,2211.83 861.334,2209.21L1353.15,2101.5L861.334,1993.8C840.413,1991.18 820.958,1981.62 806.05,1966.64C791.141,1951.66 781.631,1932.11 779.022,1911.08L709.477,1596.53ZM671.84,1573.09L725.556,2006.07C726.863,2016.61 731.63,2026.4 739.101,2033.91C746.573,2041.42 756.323,2046.21 766.808,2047.53L1197.68,2101.5L766.808,2155.48C756.323,2156.8 746.573,2161.59 739.101,2169.09C731.63,2176.6 726.863,2186.4 725.556,2196.94L671.84,2629.92L618.124,2196.94C616.817,2186.4 612.05,2176.6 604.579,2169.09C597.107,2161.59 587.357,2156.8 576.872,2155.48L146.001,2101.5L576.872,2047.53C587.357,2046.21 597.107,2041.42 604.579,2033.91C612.05,2026.4 616.817,2016.61 618.124,2006.07L671.84,1573.09ZM609.035,1710.36L564.657,1911.08C562.049,1932.11 552.538,1951.66 537.63,1966.64C522.722,1981.62 503.267,1991.18 482.345,1993.8L328.665,2028.11L609.035,1710.36ZM2297.12,938.615L2451.12,973.003C2480.59,976.695 2507.99,990.158 2528.99,1011.26C2549.99,1032.37 2563.39,1059.9 2567.07,1089.52L2672.73,1566.9C2634.5,1580.11 2593.44,1587.29 2550.72,1587.29C2344.33,1587.29 2176.77,1419.73 2176.77,1213.34C2176.77,1104.78 2223.13,1006.96 2297.12,938.615ZM2718.05,76.925L2793.72,686.847C2795.56,701.69 2802.27,715.491 2812.8,726.068C2823.32,736.644 2837.06,743.391 2851.83,745.242L3458.78,821.28L2851.83,897.318C2837.06,899.168 2823.32,905.916 2812.8,916.492C2802.27,927.068 2795.56,940.87 2793.72,955.712L2718.05,1565.63L2642.38,955.712C2640.54,940.87 2633.83,927.068 2623.3,916.492C2612.78,905.916 2599.04,899.168 2584.27,897.318L1977.32,821.28L2584.27,745.242C2599.04,743.391 2612.78,736.644 2623.3,726.068C2633.83,715.491 2640.54,701.69 2642.38,686.847L2718.05,76.925ZM2883.68,1043.06C2909.88,1094.13 2924.67,1152.02 2924.67,1213.34C2924.67,1335.4 2866.06,1443.88 2775.49,1512.14L2869.03,1089.52C2871.07,1073.15 2876.07,1057.42 2883.68,1043.06ZM925.928,201.2L959.611,472.704C960.431,479.311 963.42,485.455 968.105,490.163C972.79,494.871 978.904,497.875 985.479,498.698L1255.66,532.546L985.479,566.395C978.904,567.218 972.79,570.222 968.105,574.93C963.42,579.638 960.431,585.781 959.611,592.388L925.928,863.893L892.245,592.388C891.425,585.781 888.436,579.638 883.751,574.93C879.066,570.222 872.952,567.218 866.378,566.395L596.195,532.546L866.378,498.698C872.952,497.875 879.066,494.871 883.751,490.163C888.436,485.455 891.425,479.311 892.245,472.704L925.928,201.2ZM2864.47,532.373L3080.9,532.373C3258.7,532.373 3413.2,632.945 3490.58,780.281L3319.31,742.773C3257.14,683.925 3173.2,647.804 3080.9,647.804L2927.07,647.804C2919.95,642.994 2913.25,637.473 2907.11,631.298C2886.11,610.194 2872.71,582.655 2869.03,553.04L2864.47,532.373ZM1352.36,532.373L2571.64,532.373L2567.07,553.04C2563.39,582.655 2549.99,610.194 2528.99,631.298C2522.85,637.473 2516.16,642.994 2509.03,647.804L993.801,647.804C996.072,636.21 1001.73,625.517 1010.09,617.116C1019.43,607.722 1031.63,601.729 1044.75,600.085L1353.15,532.546L1352.36,532.373Z"})}),$_e=fc({displayName:"TextToImageIcon",viewBox:"0 0 3543 3543",path:g.jsx("g",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",transform:"matrix(1.11667,0,0,1.1066,-231.131,-213.062)",children:g.jsx("path",{d:"M2209.59,1137.35L2209.59,1098.17C2177.13,1108.99 2125.74,1121.91 2055.41,1136.94C2054.77,1137.08 2054.14,1137.21 2053.49,1137.35L1662.79,1137.35C1687.75,1101.98 1720.8,1074.35 1761.93,1054.44C1808.52,1031.9 1875.69,1012.22 1963.45,995.386C2081.86,973.146 2163.91,952.409 2209.59,933.174L2209.59,907.929C2209.59,859.241 2197.57,824.529 2173.53,803.792C2149.48,783.054 2104.1,772.686 2037.38,772.686C1992.3,772.686 1957.14,781.552 1931.89,799.284C1906.64,817.015 1886.21,848.121 1870.58,892.601L1640.67,851.127C1666.51,758.56 1710.99,690.037 1774.11,645.557C1837.22,601.077 1930.99,578.837 2055.41,578.837C2168.42,578.837 2252.57,592.211 2307.87,618.959C2363.17,645.707 2402.09,679.668 2424.63,720.842C2447.17,762.016 2458.44,837.602 2458.44,947.6L2456.7,1137.35L3021.34,1137.35C3214.79,1137.35 3371.86,1294.41 3371.86,1487.87C3371.86,1487.87 3371.86,3000.32 3371.86,3000.32C3371.86,3193.78 3214.79,3350.84 3021.34,3350.84C3021.34,3350.84 1036.45,3350.84 1036.45,3350.84C842.991,3350.84 685.93,3193.78 685.93,3000.32L685.93,1487.87C685.93,1400.21 718.174,1320.03 771.448,1258.54L772.123,1257.76L607.408,1257.76L498.311,1558L215.202,1558L730.028,236.22L1012.24,236.22L1373.06,1137.35L2209.59,1137.35ZM3284.36,2598.93L3284.36,1487.87C3284.36,1342.71 3166.5,1224.85 3021.34,1224.85C3021.34,1224.85 1036.45,1224.85 1036.45,1224.85C891.284,1224.85 773.43,1342.71 773.43,1487.87L773.43,2454.35L1438.34,1700.79L2383.22,2740.16L2878.11,2164.98L3284.36,2598.93ZM2619.44,1370.08C2775.89,1370.08 2902.91,1497.1 2902.91,1653.54C2902.91,1809.99 2775.89,1937.01 2619.44,1937.01C2462.99,1937.01 2335.98,1809.99 2335.98,1653.54C2335.98,1497.1 2462.99,1370.08 2619.44,1370.08ZM772.877,1256.89L772.849,1256.93L773.167,1256.57L772.877,1256.89ZM773.634,1256.04L773.563,1256.12L773.985,1255.64L773.634,1256.04ZM774.394,1255.18L774.276,1255.31L774.746,1254.78L774.394,1255.18ZM775.157,1254.32L774.988,1254.51L775.493,1253.95L775.157,1254.32ZM775.923,1253.47L775.698,1253.72L776.237,1253.12L775.923,1253.47ZM776.691,1252.62L776.403,1252.94L776.979,1252.3L776.691,1252.62ZM777.462,1251.77L777.098,1252.17L777.723,1251.49L777.462,1251.77ZM925.081,1155.44C868.026,1174.57 817.508,1207.99 777.775,1251.43C817.511,1207.99 868.031,1174.57 925.081,1155.44ZM925.646,1155.25L925.108,1155.43L926.103,1155.1L925.646,1155.25ZM935.286,1152.2C932.214,1153.12 929.159,1154.09 926.13,1155.09C929.165,1154.09 932.219,1153.12 935.286,1152.2ZM935.716,1152.07L935.384,1152.17L936.292,1151.89L935.716,1152.07ZM936.843,1151.73L936.451,1151.85L937.327,1151.59L936.843,1151.73ZM937.972,1151.4L937.514,1151.53L938.377,1151.28L937.972,1151.4ZM939.102,1151.07L938.57,1151.22L939.438,1150.97L939.102,1151.07ZM940.233,1150.74L939.613,1150.92L940.505,1150.67L940.233,1150.74ZM946.659,1148.98C944.639,1149.51 942.626,1150.07 940.626,1150.63C942.631,1150.06 944.642,1149.51 946.659,1148.98ZM947.056,1148.87L946.829,1148.93L947.659,1148.71L947.056,1148.87ZM948.198,1148.57L947.919,1148.65L948.705,1148.44L948.198,1148.57ZM949.342,1148.28L949.008,1148.37L949.771,1148.17L949.342,1148.28ZM950.488,1147.99L950.096,1148.09L950.848,1147.9L950.488,1147.99ZM951.635,1147.7L951.182,1147.81L951.932,1147.63L951.635,1147.7ZM952.783,1147.42L952.262,1147.55L953.022,1147.36L952.783,1147.42ZM953.933,1147.14L953.327,1147.28L954.115,1147.09L953.933,1147.14ZM958.213,1146.13C956.927,1146.42 955.644,1146.73 954.354,1147.04C955.637,1146.73 956.923,1146.43 958.213,1146.13ZM958.547,1146.06L958.409,1146.09L959.174,1145.91L958.547,1146.06ZM959.704,1145.79L959.517,1145.84L960.229,1145.68L959.704,1145.79ZM960.863,1145.54L960.626,1145.59L961.311,1145.44L960.863,1145.54ZM962.023,1145.28L961.736,1145.35L962.406,1145.2L962.023,1145.28ZM963.184,1145.03L962.846,1145.11L963.508,1144.97L963.184,1145.03ZM964.347,1144.79L963.956,1144.87L964.615,1144.73L964.347,1144.79ZM965.511,1144.55L965.066,1144.64L965.725,1144.5L965.511,1144.55ZM966.677,1144.31L966.172,1144.41L966.838,1144.28L966.677,1144.31ZM967.844,1144.08L967.269,1144.19L967.953,1144.05L967.844,1144.08ZM970.183,1143.62C969.793,1143.69 969.403,1143.77 969.013,1143.85L969.055,1143.84C969.413,1143.77 969.771,1143.7 970.129,1143.63L970.183,1143.62ZM971.354,1143.4L971.245,1143.42L971.882,1143.3L971.354,1143.4ZM972.526,1143.18L972.37,1143.21L972.987,1143.09L972.526,1143.18ZM973.7,1142.96L973.496,1143L974.103,1142.89L973.7,1142.96ZM974.876,1142.75L974.624,1142.8L975.225,1142.69L974.876,1142.75ZM976.052,1142.55L975.754,1142.6L976.349,1142.49L976.052,1142.55ZM977.23,1142.34L976.885,1142.4L977.476,1142.3L977.23,1142.34ZM978.41,1142.14L978.019,1142.21L978.605,1142.11L978.41,1142.14ZM979.59,1141.95L979.156,1142.02L979.736,1141.92L979.59,1141.95ZM980.772,1141.76L980.299,1141.83L980.868,1141.74L980.772,1141.76ZM981.955,1141.57L981.464,1141.65L982.002,1141.56L981.955,1141.57ZM983.14,1141.39L983.1,1141.39L983.605,1141.32L983.14,1141.39ZM984.326,1141.21L984.239,1141.22L984.778,1141.14L984.326,1141.21ZM985.513,1141.03L985.379,1141.05L985.928,1140.97L985.513,1141.03ZM986.702,1140.86L986.521,1140.89L987.073,1140.81L986.702,1140.86ZM987.891,1140.69L987.665,1140.73L988.218,1140.65L987.891,1140.69ZM989.082,1140.53L988.811,1140.57L989.363,1140.49L989.082,1140.53ZM990.275,1140.37L989.96,1140.41L990.508,1140.34L990.275,1140.37ZM991.468,1140.22L991.113,1140.26L991.654,1140.19L991.468,1140.22ZM992.663,1140.07L992.273,1140.12L992.8,1140.05L992.663,1140.07ZM993.859,1139.92L993.447,1139.97L993.948,1139.91L993.859,1139.92ZM995.056,1139.78L994.671,1139.82L995.097,1139.77L995.056,1139.78ZM996.255,1139.64L996.23,1139.64L996.578,1139.6L996.255,1139.64ZM997.454,1139.5L997.383,1139.51L997.852,1139.46L997.454,1139.5ZM998.655,1139.37L998.537,1139.38L999.041,1139.33L998.655,1139.37ZM999.857,1139.24L999.693,1139.26L1000.21,1139.21L999.857,1139.24ZM1001.06,1139.12L1000.85,1139.14L1001.38,1139.09L1001.06,1139.12ZM1002.26,1139L1002.01,1139.03L1002.54,1138.98L1002.26,1139ZM1003.47,1138.89L1003.18,1138.91L1003.7,1138.87L1003.47,1138.89ZM1004.68,1138.78L1004.34,1138.81L1004.86,1138.76L1004.68,1138.78ZM1005.89,1138.67L1005.52,1138.7L1006.02,1138.66L1005.89,1138.67ZM1007.1,1138.57L1006.71,1138.6L1007.18,1138.56L1007.1,1138.57ZM1008.31,1138.47L1007.96,1138.5L1008.35,1138.46L1008.31,1138.47ZM1009.52,1138.37L1009.5,1138.38L1009.72,1138.36L1009.52,1138.37ZM1010.73,1138.28L1010.67,1138.29L1011.1,1138.26L1010.73,1138.28ZM1011.94,1138.2L1011.84,1138.2L1012.32,1138.17L1011.94,1138.2ZM1013.16,1138.12L1013,1138.13L1013.51,1138.09L1013.16,1138.12ZM1014.37,1138.04L1014.17,1138.05L1014.69,1138.02L1014.37,1138.04ZM1015.59,1137.96L1015.35,1137.98L1015.86,1137.95L1015.59,1137.96ZM1016.81,1137.89L1016.52,1137.91L1017.04,1137.88L1016.81,1137.89ZM1018.03,1137.83L1017.7,1137.85L1018.21,1137.82L1018.03,1137.83ZM1019.25,1137.77L1018.89,1137.79L1019.39,1137.76L1019.25,1137.77ZM1020.47,1137.71L1020.1,1137.73L1020.56,1137.71L1020.47,1137.71ZM1021.69,1137.66L1021.36,1137.67L1021.74,1137.66L1021.69,1137.66ZM1022.92,1137.61L1022.91,1137.61L1023.02,1137.61L1022.92,1137.61ZM1024.14,1137.57L1024.09,1137.57L1024.49,1137.55L1024.14,1137.57ZM1025.37,1137.52L1025.27,1137.53L1025.74,1137.51L1025.37,1137.52ZM1026.6,1137.49L1026.45,1137.49L1026.94,1137.48L1026.6,1137.49ZM1027.82,1137.46L1027.63,1137.46L1028.14,1137.45L1027.82,1137.46ZM1029.05,1137.43L1028.81,1137.43L1029.33,1137.42L1029.05,1137.43ZM1030.28,1137.41L1030,1137.41L1030.52,1137.4L1030.28,1137.41ZM1031.51,1137.39L1031.19,1137.39L1031.7,1137.38L1031.51,1137.39ZM1032.75,1137.37L1032.39,1137.38L1032.89,1137.37L1032.75,1137.37ZM1033.98,1137.36L1033.61,1137.36L1034.07,1137.36L1033.98,1137.36ZM1035.21,1137.35L1034.87,1137.36L1035.26,1137.35L1035.21,1137.35ZM1050.1,1035.06L867.977,544.575L689.455,1035.06L1050.1,1035.06Z"})})}),F_e=fc({displayName:"TrainingIcon",viewBox:"0 0 3544 3544",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M0,768.593L0,2774.71C0,2930.6 78.519,3068.3 198.135,3150.37C273.059,3202.68 364.177,3233.38 462.407,3233.38C462.407,3233.38 3080.9,3233.38 3080.9,3233.38C3179.13,3233.38 3270.25,3202.68 3345.17,3150.37C3464.79,3068.3 3543.31,2930.6 3543.31,2774.71L3543.31,768.593C3543.31,517.323 3339.31,313.324 3088.04,313.324L455.269,313.324C203.999,313.324 0,517.323 0,768.593ZM3427.88,775.73L3427.88,2770.97C3427.88,2962.47 3272.4,3117.95 3080.9,3117.95L462.407,3117.95C270.906,3117.95 115.431,2962.47 115.431,2770.97C115.431,2770.97 115.431,775.73 115.431,775.73C115.431,584.229 270.906,428.755 462.407,428.755C462.407,428.755 3080.9,428.755 3080.9,428.755C3272.4,428.755 3427.88,584.229 3427.88,775.73ZM796.24,1322.76L796.24,1250.45C796.24,1199.03 836.16,1157.27 885.331,1157.27C885.331,1157.27 946.847,1157.27 946.847,1157.27C996.017,1157.27 1035.94,1199.03 1035.94,1250.45L1035.94,1644.81L2507.37,1644.81L2507.37,1250.45C2507.37,1199.03 2547.29,1157.27 2596.46,1157.27C2596.46,1157.27 2657.98,1157.27 2657.98,1157.27C2707.15,1157.27 2747.07,1199.03 2747.07,1250.45L2747.07,1322.76C2756.66,1319.22 2767.02,1317.29 2777.83,1317.29C2777.83,1317.29 2839.34,1317.29 2839.34,1317.29C2888.51,1317.29 2928.43,1357.21 2928.43,1406.38L2928.43,1527.32C2933.51,1526.26 2938.77,1525.71 2944.16,1525.71L2995.3,1525.71C3036.18,1525.71 3069.37,1557.59 3069.37,1596.86C3069.37,1596.86 3069.37,1946.44 3069.37,1946.44C3069.37,1985.72 3036.18,2017.6 2995.3,2017.6C2995.3,2017.6 2944.16,2017.6 2944.16,2017.6C2938.77,2017.6 2933.51,2017.04 2928.43,2015.99L2928.43,2136.92C2928.43,2186.09 2888.51,2226.01 2839.34,2226.01L2777.83,2226.01C2767.02,2226.01 2756.66,2224.08 2747.07,2220.55L2747.07,2292.85C2747.07,2344.28 2707.15,2386.03 2657.98,2386.03C2657.98,2386.03 2596.46,2386.03 2596.46,2386.03C2547.29,2386.03 2507.37,2344.28 2507.37,2292.85L2507.37,1898.5L1035.94,1898.5L1035.94,2292.85C1035.94,2344.28 996.017,2386.03 946.847,2386.03C946.847,2386.03 885.331,2386.03 885.331,2386.03C836.16,2386.03 796.24,2344.28 796.24,2292.85L796.24,2220.55C786.651,2224.08 776.29,2226.01 765.482,2226.01L703.967,2226.01C654.796,2226.01 614.876,2186.09 614.876,2136.92L614.876,2015.99C609.801,2017.04 604.539,2017.6 599.144,2017.6C599.144,2017.6 548.003,2017.6 548.003,2017.6C507.125,2017.6 473.937,1985.72 473.937,1946.44C473.937,1946.44 473.937,1596.86 473.937,1596.86C473.937,1557.59 507.125,1525.71 548.003,1525.71L599.144,1525.71C604.539,1525.71 609.801,1526.26 614.876,1527.32L614.876,1406.38C614.876,1357.21 654.796,1317.29 703.967,1317.29C703.967,1317.29 765.482,1317.29 765.482,1317.29C776.29,1317.29 786.651,1319.22 796.24,1322.76ZM977.604,1250.45C977.604,1232.7 963.822,1218.29 946.847,1218.29L885.331,1218.29C868.355,1218.29 854.573,1232.7 854.573,1250.45L854.573,2292.85C854.573,2310.61 868.355,2325.02 885.331,2325.02L946.847,2325.02C963.822,2325.02 977.604,2310.61 977.604,2292.85L977.604,1250.45ZM2565.7,1250.45C2565.7,1232.7 2579.49,1218.29 2596.46,1218.29L2657.98,1218.29C2674.95,1218.29 2688.73,1232.7 2688.73,1250.45L2688.73,2292.85C2688.73,2310.61 2674.95,2325.02 2657.98,2325.02L2596.46,2325.02C2579.49,2325.02 2565.7,2310.61 2565.7,2292.85L2565.7,1250.45ZM673.209,1406.38L673.209,2136.92C673.209,2153.9 686.991,2167.68 703.967,2167.68L765.482,2167.68C782.458,2167.68 796.24,2153.9 796.24,2136.92L796.24,1406.38C796.24,1389.41 782.458,1375.63 765.482,1375.63L703.967,1375.63C686.991,1375.63 673.209,1389.41 673.209,1406.38ZM2870.1,1406.38L2870.1,2136.92C2870.1,2153.9 2856.32,2167.68 2839.34,2167.68L2777.83,2167.68C2760.85,2167.68 2747.07,2153.9 2747.07,2136.92L2747.07,1406.38C2747.07,1389.41 2760.85,1375.63 2777.83,1375.63L2839.34,1375.63C2856.32,1375.63 2870.1,1389.41 2870.1,1406.38ZM614.876,1577.5C610.535,1574.24 605.074,1572.3 599.144,1572.3L548.003,1572.3C533.89,1572.3 522.433,1583.3 522.433,1596.86L522.433,1946.44C522.433,1960 533.89,1971.01 548.003,1971.01L599.144,1971.01C605.074,1971.01 610.535,1969.07 614.876,1965.81L614.876,1577.5ZM2928.43,1965.81L2928.43,1577.5C2932.77,1574.24 2938.23,1572.3 2944.16,1572.3L2995.3,1572.3C3009.42,1572.3 3020.87,1583.3 3020.87,1596.86L3020.87,1946.44C3020.87,1960 3009.42,1971.01 2995.3,1971.01L2944.16,1971.01C2938.23,1971.01 2932.77,1969.07 2928.43,1965.81ZM2507.37,1703.14L1035.94,1703.14L1035.94,1840.16L2507.37,1840.16L2507.37,1898.38L2507.37,1659.46L2507.37,1703.14Z"})}),B_e=fc({displayName:"UnifiedCanvasIcon",viewBox:"0 0 3544 3544",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M3543.31,770.787C3543.31,515.578 3336.11,308.38 3080.9,308.38L462.407,308.38C207.197,308.38 -0,515.578 -0,770.787L-0,2766.03C-0,3021.24 207.197,3228.44 462.407,3228.44L3080.9,3228.44C3336.11,3228.44 3543.31,3021.24 3543.31,2766.03C3543.31,2766.03 3543.31,770.787 3543.31,770.787ZM922.933,3113.01L462.407,3113.01C437.741,3113.01 413.674,3110.43 390.453,3105.52L390.453,2899.11L922.933,2899.11L922.933,3113.01ZM947.933,2899.11L947.933,3113.01L1480.41,3113.01L1480.41,2899.11L947.933,2899.11ZM1505.41,2899.11L1505.41,3113.01L2037.89,3113.01L2037.89,2899.11L1505.41,2899.11ZM2062.89,2899.11L2062.89,3113.01L2595.37,3113.01L2595.37,2899.11L2062.89,2899.11ZM3152.85,3105.52C3129.63,3110.43 3105.57,3113.01 3080.9,3113.01L2620.37,3113.01L2620.37,2899.11L3152.85,2899.11L3152.85,3105.52ZM365.453,3099.26L365.408,3099.24C354.521,3096.07 343.79,3092.37 333.266,3088.14C315.377,3080.95 298.094,3072.26 281.651,3062.2C263.114,3050.85 245.648,3037.77 229.544,3023.17C213.34,3008.49 198.518,2992.28 185.34,2974.83C174.102,2959.94 164.06,2944.16 155.353,2927.66C150.517,2918.5 146.102,2909.13 142.102,2899.57L141.91,2899.11L365.453,2899.11L365.453,3099.26ZM3401.4,2899.11C3361.33,2995.39 3279.12,3069.8 3177.85,3099.26L3177.85,2899.11L3401.4,2899.11ZM132.624,2874.11C121.465,2840.08 115.431,2803.76 115.431,2766.03L115.431,2341.63L365.453,2341.63L365.453,2874.11L132.624,2874.11ZM922.933,918.103L922.933,669.193L390.453,669.193L390.453,1201.67L731.014,1201.67L731.014,1226.67L390.453,1226.67L390.453,1759.15L731.014,1759.15L731.014,1784.15L390.453,1784.15L390.453,2316.63L731.014,2316.63L731.014,2341.63L390.453,2341.63L390.453,2874.11L922.933,2874.11L922.933,2625.2C931.122,2627.1 939.463,2628.6 947.933,2629.66L947.933,2874.11L1480.41,2874.11L1480.41,2631.62L1505.41,2631.62L1505.41,2874.11L2037.89,2874.11L2037.89,2631.62L2062.89,2631.62L2062.89,2874.11L2595.37,2874.11L2595.37,2629.66C2603.85,2628.6 2612.18,2627.1 2620.37,2625.2L2620.37,2874.11L3152.85,2874.11L3152.85,2341.63L2812.29,2341.63L2812.29,2316.63L3152.85,2316.63L3152.85,1784.15L2812.29,1784.15L2812.29,1759.15L3152.85,1759.15L3152.85,1226.67L2812.29,1226.67L2812.29,1201.67L3152.85,1201.67L3152.85,669.193L2620.37,669.193L2620.37,918.103C2612.18,916.203 2603.84,914.708 2595.37,913.642L2595.37,669.193L2062.89,669.193L2062.89,911.688L2037.89,911.688L2037.89,669.193L1505.41,669.193L1505.41,911.688L1480.41,911.688L1480.41,669.193L947.933,669.193L947.933,913.642C939.462,914.708 931.123,916.203 922.933,918.103ZM3427.88,2341.63L3427.88,2766.03C3427.88,2803.76 3421.84,2840.08 3410.68,2874.11L3177.85,2874.11L3177.85,2341.63L3427.88,2341.63ZM2494.01,2603.04L2524.53,2603.04C2541.26,2603.04 2557.62,2601.44 2573.47,2598.39L2598.02,2593.66L2588.56,2544.56L2564.01,2549.29C2551.23,2551.75 2538.03,2553.04 2524.53,2553.04L2494.01,2553.04L2494.01,2603.04ZM1294.01,2603.04L1394.01,2603.04L1394.01,2553.04L1294.01,2553.04L1294.01,2603.04ZM1894.01,2603.04L1994.01,2603.04L1994.01,2553.04L1894.01,2553.04L1894.01,2603.04ZM2194.01,2603.04L2294.01,2603.04L2294.01,2553.04L2194.01,2553.04L2194.01,2603.04ZM1144.01,2603.04L1244.01,2603.04L1244.01,2553.04L1144.01,2553.04L1144.01,2603.04ZM1444.01,2603.04L1544.01,2603.04L1544.01,2553.04L1444.01,2553.04L1444.01,2603.04ZM1594.01,2603.04L1694.01,2603.04L1694.01,2553.04L1594.01,2553.04L1594.01,2603.04ZM2344.01,2603.04L2444.01,2603.04L2444.01,2553.04L2344.01,2553.04L2344.01,2603.04ZM2044.01,2603.04L2144.01,2603.04L2144.01,2553.04L2044.01,2553.04L2044.01,2603.04ZM994.01,2603.04L1094.01,2603.04L1094.01,2553.04L994.01,2553.04L994.01,2603.04ZM1744.01,2603.04L1844.01,2603.04L1844.01,2553.04L1744.01,2553.04L1744.01,2603.04ZM864.145,2551.46C878.835,2562.5 894.741,2572 911.624,2579.74L934.352,2590.15L955.18,2544.7L932.452,2534.28C918.844,2528.05 906.024,2520.39 894.185,2511.49L874.199,2496.47L844.16,2536.44L864.145,2551.46ZM2674.44,2554.92C2689.46,2544.16 2703.28,2531.82 2715.65,2518.14L2732.42,2499.61L2695.35,2466.06L2678.58,2484.6C2668.59,2495.63 2657.44,2505.59 2645.32,2514.28L2625,2528.84L2654.12,2569.48L2674.44,2554.92ZM865.632,1911.31L1339.59,1374.15L2030.89,2134.59L2392.97,1713.77L2677.68,2017.9L2677.68,2324.93C2677.68,2424.23 2597.06,2504.85 2497.76,2504.85C2497.76,2504.85 1045.55,2504.85 1045.55,2504.85C946.251,2504.85 865.632,2424.23 865.632,2324.93L865.632,1911.31ZM771.251,2417.22C776.455,2435.14 783.552,2452.26 792.313,2468.35L804.27,2490.3L848.18,2466.39L836.223,2444.43C829.171,2431.49 823.457,2417.7 819.268,2403.28L812.297,2379.27L764.28,2393.21L771.251,2417.22ZM2770.36,2422.83C2775.83,2405.47 2779.52,2387.33 2781.2,2368.61L2783.43,2343.71L2733.64,2339.24L2731.4,2364.14C2730.05,2379.21 2727.08,2393.82 2722.67,2407.79L2715.15,2431.63L2762.84,2446.67L2770.36,2422.83ZM761.068,2236.12L761.068,2336.12L811.068,2336.12L811.068,2236.12L761.068,2236.12ZM3177.85,1784.15L3177.85,2316.63L3427.88,2316.63L3427.88,1784.15L3177.85,1784.15ZM115.431,1784.15L115.431,2316.63L365.453,2316.63L365.453,1784.15L115.431,1784.15ZM2782.24,2291.41L2782.24,2191.41L2732.24,2191.41L2732.24,2291.41L2782.24,2291.41ZM761.068,2086.12L761.068,2186.12L811.068,2186.12L811.068,2086.12L761.068,2086.12ZM2782.24,2141.41L2782.24,2041.4L2732.24,2041.4L2732.24,2141.41L2782.24,2141.41ZM761.068,1936.12L761.068,2036.12L811.068,2036.12L811.068,1936.12L761.068,1936.12ZM2782.24,1991.4L2782.24,1891.4L2732.24,1891.4L2732.24,1991.4L2782.24,1991.4ZM761.068,1786.12L761.068,1886.12L811.068,1886.12L811.068,1786.12L761.068,1786.12ZM2782.24,1841.4L2782.24,1741.41L2732.24,1741.41L2732.24,1841.4L2782.24,1841.4ZM3177.85,1226.67L3177.85,1759.15L3427.88,1759.15L3427.88,1226.67L3177.85,1226.67ZM115.431,1226.67L115.431,1759.15L365.453,1759.15L365.453,1226.67L115.431,1226.67ZM761.068,1636.12L761.068,1736.12L811.068,1736.12L811.068,1636.12L761.068,1636.12ZM2782.24,1691.41L2782.24,1591.41L2732.24,1591.41L2732.24,1691.41L2782.24,1691.41ZM761.068,1486.12L761.068,1586.12L811.068,1586.12L811.068,1486.12L761.068,1486.12ZM2203.72,1132.2C2318.18,1132.2 2411.11,1225.13 2411.11,1339.59C2411.11,1454.05 2318.18,1546.98 2203.72,1546.98C2089.26,1546.98 1996.33,1454.05 1996.33,1339.59C1996.33,1225.13 2089.26,1132.2 2203.72,1132.2ZM2782.24,1541.41L2782.24,1441.41L2732.24,1441.41L2732.24,1541.41L2782.24,1541.41ZM761.068,1336.12L761.068,1436.12L811.068,1436.12L811.068,1336.12L761.068,1336.12ZM2782.24,1391.41L2782.24,1291.41L2732.24,1291.41L2732.24,1391.41L2782.24,1391.41ZM761.068,1186.12L761.068,1286.12L811.068,1286.12L811.068,1186.12L761.068,1186.12ZM2732.24,1197.98L2732.24,1241.41L2782.24,1241.41L2782.24,1172.98L2781.03,1172.98C2780.06,1162.82 2778.49,1152.83 2776.36,1143.04L2771.04,1118.62L2722.18,1129.24L2727.5,1153.67C2730.61,1167.95 2732.24,1182.78 2732.24,1197.98ZM3412.74,669.193L3412.89,669.694C3414.66,675.5 3416.28,681.348 3417.73,687.238C3420.46,698.265 3422.65,709.427 3424.28,720.67C3425.85,731.554 3426.91,742.513 3427.45,753.497C3427.74,759.256 3427.87,765.021 3427.88,770.787L3427.88,1201.67L3177.85,1201.67L3177.85,669.193L3412.74,669.193ZM115.431,1201.67L115.431,770.787C115.436,765.021 115.572,759.256 115.855,753.497C116.395,742.513 117.453,731.554 119.031,720.67C120.66,709.427 122.844,698.265 125.574,687.238C127.032,681.348 128.65,675.5 130.414,669.694L130.567,669.193L365.453,669.193L365.453,1201.67L115.431,1201.67ZM804.386,1055C794.186,1070.26 785.572,1086.67 778.777,1103.99L769.647,1127.26L816.194,1145.52L825.324,1122.25C830.797,1108.3 837.738,1095.08 845.955,1082.79L859.848,1062L818.279,1034.21L804.386,1055ZM2730.5,1043.14C2719.39,1028.39 2706.73,1014.86 2692.77,1002.81L2673.84,986.48L2641.17,1024.34L2660.1,1040.67C2671.37,1050.39 2681.59,1061.31 2690.56,1073.22L2705.6,1093.19L2745.54,1063.11L2730.5,1043.14ZM933.266,954.821C915.698,961.006 898.998,969.041 883.402,978.694L862.144,991.851L888.457,1034.37L909.715,1021.21C922.275,1013.44 935.723,1006.96 949.871,1001.98L973.452,993.681L956.848,946.518L933.266,954.821ZM2596.18,950.378C2578.71,945.327 2560.49,942.072 2541.72,940.832L2516.78,939.183L2513.48,989.074L2538.43,990.723C2553.54,991.722 2568.22,994.341 2582.28,998.409L2606.3,1005.36L2620.19,957.325L2596.18,950.378ZM2165.09,940.265L2065.09,940.265L2065.09,990.265L2165.09,990.265L2165.09,940.265ZM1865.08,940.265L1765.08,940.265L1765.08,990.265L1865.08,990.265L1865.08,940.265ZM1115.08,940.265L1015.08,940.265L1015.08,990.265L1115.08,990.265L1115.08,940.265ZM2015.09,940.265L1915.09,940.265L1915.09,990.265L2015.09,990.265L2015.09,940.265ZM2315.09,940.265L2215.09,940.265L2215.09,990.265L2315.09,990.265L2315.09,940.265ZM1265.08,940.265L1165.08,940.265L1165.08,990.265L1265.08,990.265L1265.08,940.265ZM1415.08,940.265L1315.08,940.265L1315.08,990.265L1415.08,990.265L1415.08,940.265ZM1565.08,940.265L1465.08,940.265L1465.08,990.265L1565.08,990.265L1565.08,940.265ZM1715.08,940.265L1615.08,940.265L1615.08,990.265L1715.08,990.265L1715.08,940.265ZM2465.09,940.265L2365.09,940.265L2365.09,990.265L2465.09,990.265L2465.09,940.265ZM365.453,437.562L365.453,644.193L139.286,644.193C178.303,544.782 261.917,467.677 365.453,437.562ZM922.933,423.812L922.933,644.193L390.453,644.193L390.453,431.295C413.674,426.391 437.741,423.812 462.407,423.812L922.933,423.812ZM947.933,423.812L947.933,644.193L1480.41,644.193L1480.41,423.812L947.933,423.812ZM1505.41,423.812L1505.41,644.193L2037.89,644.193L2037.89,423.812L1505.41,423.812ZM2062.89,423.812L2062.89,644.193L2595.37,644.193L2595.37,423.812L2062.89,423.812ZM2620.37,423.812L3080.9,423.812C3105.57,423.812 3129.63,426.391 3152.85,431.295L3152.85,644.193L2620.37,644.193L2620.37,423.812ZM3177.85,437.562C3281.38,467.669 3365,544.774 3404.02,644.193L3177.85,644.193L3177.85,437.562Z"})}),Xe=Qe((e,t)=>{const{tooltip:n="",styleClass:r,tooltipProps:i,asCheckbox:o,isChecked:a,...s}=e;return g.jsx(si,{label:n,hasArrow:!0,...i,...i!=null&&i.placement?{placement:i.placement}:{placement:"top"},children:g.jsx(ls,{ref:t,className:r?`invokeai__icon-button ${r}`:"invokeai__icon-button","data-as-checkbox":o,"data-selected":a!==void 0?a:void 0,...s})})}),On=Qe((e,t)=>{const{children:n,tooltip:r="",tooltipProps:i,styleClass:o,...a}=e;return g.jsx(si,{label:r,...i,children:g.jsx(ss,{ref:t,className:["invokeai__button",o].join(" "),...a,children:n})})}),Ys=e=>{const{triggerComponent:t,children:n,styleClass:r,hasArrow:i=!0,...o}=e;return g.jsxs(G8,{...o,children:[g.jsx(V8,{children:t}),g.jsxs(K8,{className:`invokeai__popover-content ${r}`,children:[i&&g.jsx(q8,{className:"invokeai__popover-arrow"}),n]})]})},f4=lt(e=>e.lightbox,e=>e,{memoizeOptions:{equalityCheck:we.isEqual}}),Jo=e=>{const{label:t,isDisabled:n,validValues:r,tooltip:i,tooltipProps:o,size:a="sm",fontSize:s="sm",styleClass:l,...u}=e;return g.jsxs(sn,{isDisabled:n,className:`invokeai__select ${l}`,onClick:d=>{d.stopPropagation(),d.nativeEvent.stopImmediatePropagation(),d.nativeEvent.stopPropagation(),d.nativeEvent.cancelBubble=!0},children:[t&&g.jsx(Sn,{className:"invokeai__select-label",fontSize:s,fontWeight:"bold",marginRight:0,marginBottom:0,whiteSpace:"nowrap",children:t}),g.jsx(si,{label:i,...o,children:g.jsx(KH,{className:"invokeai__select-picker",fontSize:s,size:a,...u,children:r.map(d=>typeof d=="string"||typeof d=="number"?g.jsx("option",{value:d,className:"invokeai__select-option",children:d},d):g.jsx("option",{value:d.value,className:"invokeai__select-option",children:d.key},d.value))})})]})};function z_e(){const e=se(i=>i.postprocessing.facetoolType),t=Te(),{t:n}=Ie(),r=i=>t(dS(i.target.value));return g.jsx(Jo,{label:n("parameters.type"),validValues:$5e.concat(),value:e,onChange:r})}var UV={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},LI=Ye.createContext&&Ye.createContext(UV),Bd=globalThis&&globalThis.__assign||function(){return Bd=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{Ce(i)},[i]);const Se=S.useMemo(()=>V!=null&&V.max?V.max:a,[a,V==null?void 0:V.max]),xe=_e=>{l(_e)},Le=_e=>{_e.target.value===""&&(_e.target.value=String(o));const tt=we.clamp(w?Math.floor(Number(_e.target.value)):Number(fe),o,Se);l(tt)},je=_e=>{Ce(_e)},Ze=()=>{O&&O()};return g.jsxs(sn,{className:W?`invokeai__slider-component ${W}`:"invokeai__slider-component","data-markers":h,style:L?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:"1rem",margin:0,padding:0}:{},...B,children:[g.jsx(Sn,{className:"invokeai__slider-component-label",fontSize:"sm",...K,children:r}),g.jsxs(l2,{w:"100%",gap:2,alignItems:"center",children:[g.jsxs(JH,{"aria-label":r,value:i,min:o,max:a,step:s,onChange:xe,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:I,width:u,...ee,children:[h&&g.jsxs(g.Fragment,{children:[g.jsx(nk,{value:o,className:"invokeai__slider-mark invokeai__slider-mark-start",ml:m,...ne,children:o}),g.jsx(nk,{value:a,className:"invokeai__slider-mark invokeai__slider-mark-end",ml:y,...ne,children:a})]}),g.jsx(tW,{className:"invokeai__slider_track",...z,children:g.jsx(nW,{className:"invokeai__slider_track-filled"})}),g.jsx(si,{hasArrow:!0,className:"invokeai__slider-component-tooltip",placement:"top",isOpen:t,label:`${i}${d}`,hidden:T,...G,children:g.jsx(eW,{className:"invokeai__slider-thumb",...$})})]}),b&&g.jsxs(z8,{min:o,max:Se,step:s,value:fe,onChange:je,onBlur:Le,className:"invokeai__slider-number-field",isDisabled:N,...V,children:[g.jsx(H8,{className:"invokeai__slider-number-input",width:E,readOnly:_,minWidth:E,...X}),g.jsxs(zH,{...Q,children:[g.jsx(U8,{onClick:()=>l(Number(fe)),className:"invokeai__slider-number-stepper"}),g.jsx(W8,{onClick:()=>l(Number(fe)),className:"invokeai__slider-number-stepper"})]})]}),k&&g.jsx(Xe,{size:"sm","aria-label":"Reset",tooltip:"Reset",icon:g.jsx(h4,{}),onClick:Ze,isDisabled:D,...Y})]})]})}function Y_e(){const e=se(i=>i.system.isGFPGANAvailable),t=se(i=>i.postprocessing.facetoolStrength),{t:n}=Ie(),r=Te();return g.jsx(Dn,{isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e,label:n("parameters.strength"),step:.05,min:0,max:1,onChange:i=>r(E3(i)),handleReset:()=>r(E3(.75)),value:t,withReset:!0,withSliderMarks:!0,withInput:!0})}function X_e(){const e=se(i=>i.system.isGFPGANAvailable),t=se(i=>i.postprocessing.codeformerFidelity),{t:n}=Ie(),r=Te();return g.jsx(Dn,{isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e,label:n("parameters.codeformerFidelity"),step:.05,min:0,max:1,onChange:i=>r(Sk(i)),handleReset:()=>r(Sk(1)),value:t,withReset:!0,withSliderMarks:!0,withInput:!0})}const IE=()=>{const e=se(t=>t.postprocessing.facetoolType);return g.jsxs(Ee,{direction:"column",gap:2,minWidth:"20rem",children:[g.jsx(z_e,{}),g.jsx(Y_e,{}),e==="codeformer"&&g.jsx(X_e,{})]})};function Z_e(){const e=se(i=>i.system.isESRGANAvailable),t=se(i=>i.postprocessing.upscalingDenoising),{t:n}=Ie(),r=Te();return g.jsx(Dn,{label:n("parameters.denoisingStrength"),value:t,min:0,max:1,step:.01,onChange:i=>{r(wk(i))},handleReset:()=>r(wk(.75)),withSliderMarks:!0,withInput:!0,withReset:!0,isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e})}function Q_e(){const e=se(i=>i.system.isESRGANAvailable),t=se(i=>i.postprocessing.upscalingStrength),{t:n}=Ie(),r=Te();return g.jsx(Dn,{label:`${n("parameters.upscale")} ${n("parameters.strength")}`,value:t,min:0,max:1,step:.05,onChange:i=>r(Ck(i)),handleReset:()=>r(Ck(.75)),withSliderMarks:!0,withInput:!0,withReset:!0,isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e})}function J_e(){const e=se(o=>o.system.isESRGANAvailable),t=se(o=>o.postprocessing.upscalingLevel),{t:n}=Ie(),r=Te(),i=o=>r(xU(Number(o.target.value)));return g.jsx(Jo,{isDisabled:!e,label:n("parameters.scale"),value:t,onChange:i,validValues:N5e})}const DE=()=>g.jsxs(Ee,{flexDir:"column",rowGap:2,minWidth:"20rem",children:[g.jsx(J_e,{}),g.jsx(Z_e,{}),g.jsx(Q_e,{})]}),jE=e=>e.postprocessing,pr=e=>e.system,eke=e=>e.system.toastQueue,qV=lt(pr,e=>{const{model_list:t}=e,n=we.reduce(t,(r,i,o)=>(i.status==="active"&&(r=o),r),"");return{...t[n],name:n}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),tke=lt(pr,e=>{const{model_list:t}=e;return we.pickBy(t,(r,i)=>{if(r.format==="diffusers")return{name:i,...r}})},{memoizeOptions:{resultEqualityCheck:we.isEqual}});function Gk(){return Gk=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 uke=function(t,n,r){r===void 0&&(r=!1);var i=n.alt,o=n.meta,a=n.mod,s=n.shift,l=n.ctrl,u=n.keys,d=t.key,h=t.code,m=t.ctrlKey,y=t.metaKey,b=t.shiftKey,w=t.altKey,E=kd(h),_=d.toLowerCase();if(!r){if(i===!w&&_!=="alt"||s===!b&&_!=="shift")return!1;if(a){if(!y&&!m)return!1}else if(o===!y&&_!=="meta"||l===!m&&_!=="ctrl")return!1}return u&&u.length===1&&(u.includes(_)||u.includes(E))?!0:u?ike(u):!u},cke=S.createContext(void 0),dke=function(){return S.useContext(cke)};function QV(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&&QV(e[r],t[r])},!0):e===t}var fke=S.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),hke=function(){return S.useContext(fke)};function pke(e){var t=S.useRef(void 0);return QV(t.current,e)||(t.current=e),t.current}var AI=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},gke=typeof window<"u"?S.useLayoutEffect:S.useEffect;function Je(e,t,n,r){var i=S.useRef(null),o=S.useRef(!1),a=n instanceof Array?r instanceof Array?void 0:r:n,s=n instanceof Array?n:r instanceof Array?r:void 0,l=S.useCallback(t,s??[]),u=S.useRef(l);s?u.current=l:u.current=t;var d=pke(a),h=hke(),m=h.enabledScopes,y=dke();return gke(function(){if(!((d==null?void 0:d.enabled)===!1||!lke(m,d==null?void 0:d.scopes))){var b=function(k,T){var L;if(T===void 0&&(T=!1),!(ske(k)&&!ZV(k,d==null?void 0:d.enableOnFormTags))){if(i.current!==null&&document.activeElement!==i.current&&!i.current.contains(document.activeElement)){AI(k);return}(L=k.target)!=null&&L.isContentEditable&&!(d!=null&&d.enableOnContentEditable)||ZC(e,d==null?void 0:d.splitKey).forEach(function(O){var D,I=QC(O,d==null?void 0:d.combinationKey);if(uke(k,I,d==null?void 0:d.ignoreModifiers)||(D=I.keys)!=null&&D.includes("*")){if(T&&o.current)return;if(oke(k,I,d==null?void 0:d.preventDefault),!ake(k,I,d==null?void 0:d.enabled)){AI(k);return}u.current(k,I),T||(o.current=!0)}})}},w=function(k){k.key!==void 0&&(YV(kd(k.code)),((d==null?void 0:d.keydown)===void 0&&(d==null?void 0:d.keyup)!==!0||d!=null&&d.keydown)&&b(k))},E=function(k){k.key!==void 0&&(XV(kd(k.code)),o.current=!1,d!=null&&d.keyup&&b(k,!0))};return(i.current||(a==null?void 0:a.document)||document).addEventListener("keyup",E),(i.current||(a==null?void 0:a.document)||document).addEventListener("keydown",w),y&&ZC(e,d==null?void 0:d.splitKey).forEach(function(_){return y.addHotkey(QC(_,d==null?void 0:d.combinationKey))}),function(){(i.current||(a==null?void 0:a.document)||document).removeEventListener("keyup",E),(i.current||(a==null?void 0:a.document)||document).removeEventListener("keydown",w),y&&ZC(e,d==null?void 0:d.splitKey).forEach(function(_){return y.removeHotkey(QC(_,d==null?void 0:d.combinationKey))})}}},[e,d,m]),i}function mke(e){return ut({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 vke(e){return ut({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 yke(e){return ut({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z"}}]})(e)}function JV(e){return ut({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 eG(e){return ut({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 bke(e){return ut({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 xke(e){return ut({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 tG(e){return ut({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 Ske(e){return ut({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 wke(e){return ut({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 NE(e){return ut({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 nG(e){return ut({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 e0(e){return ut({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 rG(e){return ut({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 Cke(e){return ut({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 $E(e){return ut({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 iG(e){return ut({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 _ke(e){return ut({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 kke(e){return ut({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 oG(e){return ut({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 Eke(e){return ut({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 Pke(e){return ut({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 aG(e){return ut({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 Tke(e){return ut({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z"}}]})(e)}function Mke(e){return ut({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 Lke(e){return ut({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 Ake(e){return ut({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z"}}]})(e)}function sG(e){return ut({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 Oke(e){return ut({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 Rke(e){return ut({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 lG(e){return ut({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 Ike(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"}}]})(e)}function Dke(e){return ut({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 y2(e){return ut({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 jke(e){return ut({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 Nke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z"}}]})(e)}function $ke(e){return ut({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 FE(e){return ut({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 Fke(e){return ut({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 Bke(e){return ut({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 OI(e){return ut({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 BE(e){return ut({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 zke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 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-16z"}}]})(e)}function hp(e){return ut({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 Hke(e){return ut({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 p4(e){return ut({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 Wke(e){return ut({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 zE(e){return ut({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 rn=e=>e.canvas,Lr=lt([rn,Br,pr],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),uG=e=>e.canvas.layerState.objects.find(x3),pp=e=>e.gallery,Uke=lt([pp,f4,Lr,Br],(e,t,n,r)=>{const{categories:i,currentCategory:o,currentImageUuid:a,shouldPinGallery:s,shouldShowGallery:l,galleryScrollPosition:u,galleryImageMinimumWidth:d,galleryImageObjectFit:h,shouldHoldGalleryOpen:m,shouldAutoSwitchToNewImages:y,galleryWidth:b,shouldUseSingleGalleryColumn:w}=e,{isLightboxOpen:E}=t;return{currentImageUuid:a,shouldPinGallery:s,shouldShowGallery:l,galleryScrollPosition:u,galleryImageMinimumWidth:d,galleryImageObjectFit:h,galleryGridTemplateColumns:w?"auto":`repeat(auto-fill, minmax(${d}px, auto))`,activeTabName:r,shouldHoldGalleryOpen:m,shouldAutoSwitchToNewImages:y,images:i[o].images,areMoreImagesAvailable:i[o].areMoreImagesAvailable,currentCategory:o,galleryWidth:b,isLightboxOpen:E,isStaging:n,shouldEnableResize:!(E||r==="unifiedCanvas"&&s),shouldUseSingleGalleryColumn:w}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),Vke=lt([pp,pr,f4,Br],(e,t,n,r)=>({mayDeleteImage:t.isConnected&&!t.isProcessing,galleryImageObjectFit:e.galleryImageObjectFit,galleryImageMinimumWidth:e.galleryImageMinimumWidth,shouldUseSingleGalleryColumn:e.shouldUseSingleGalleryColumn,activeTabName:r,isLightboxOpen:n.isLightboxOpen}),{memoizeOptions:{resultEqualityCheck:we.isEqual}}),Gke=lt(pr,e=>{const{shouldConfirmOnDelete:t,isConnected:n,isProcessing:r}=e;return{shouldConfirmOnDelete:t,isConnected:n,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),O3=S.forwardRef(({image:e,children:t},n)=>{const{isOpen:r,onOpen:i,onClose:o}=Kd(),a=Te(),{shouldConfirmOnDelete:s,isConnected:l,isProcessing:u}=se(Gke),d=S.useRef(null),h=b=>{b.stopPropagation(),s?i():m()},m=()=>{l&&!u&&e&&a(p_e(e)),o()};Je("delete",()=>{s?i():m()},[e,s,l,u]);const y=b=>a(jU(!b.target.checked));return g.jsxs(g.Fragment,{children:[S.cloneElement(t,{onClick:e?h:void 0,ref:n}),g.jsx(FH,{isOpen:r,leastDestructiveRef:d,onClose:o,children:g.jsx(oc,{children:g.jsxs(BH,{className:"modal",children:[g.jsx(op,{fontSize:"lg",fontWeight:"bold",children:"Delete image"}),g.jsx(Zm,{children:g.jsxs(Ee,{direction:"column",gap:5,children:[g.jsx(Rt,{children:"Are you sure? Deleted images will be sent to the Bin. You can restore from there if you wish to."}),g.jsx(sn,{children:g.jsxs(Ee,{alignItems:"center",children:[g.jsx(Sn,{mb:0,children:"Don't ask me again"}),g.jsx(Y8,{checked:!s,onChange:y})]})})]})}),g.jsxs(Hw,{children:[g.jsx(ss,{ref:d,onClick:o,className:"modal-close-btn",children:"Cancel"}),g.jsx(ss,{colorScheme:"red",onClick:m,ml:3,children:"Delete"})]})]})})})]})});O3.displayName="DeleteImageModal";const HE=()=>{const e=Te();return t=>{const n=typeof t=="string"?t:Rm(t),[r,i]=rU(n);e(k3(r)),e(dU(i))}},qke=lt([pr,pp,jE,fp,f4,Br],(e,t,n,r,i,o)=>{const{isProcessing:a,isConnected:s,isGFPGANAvailable:l,isESRGANAvailable:u}=e,{upscalingLevel:d,facetoolStrength:h}=n,{isLightboxOpen:m}=i,{shouldShowImageDetails:y}=r,{intermediateImage:b,currentImage:w}=t;return{isProcessing:a,isConnected:s,isGFPGANAvailable:l,isESRGANAvailable:u,upscalingLevel:d,facetoolStrength:h,shouldDisableToolbarButtons:Boolean(b)||!w,currentImage:w,shouldShowImageDetails:y,activeTabName:o,isLightboxOpen:m}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),cG=()=>{var B,K,ne,z,$,V,X,Q;const e=Te(),{isProcessing:t,isConnected:n,isGFPGANAvailable:r,isESRGANAvailable:i,upscalingLevel:o,facetoolStrength:a,shouldDisableToolbarButtons:s,shouldShowImageDetails:l,currentImage:u,isLightboxOpen:d,activeTabName:h}=se(qke),m=a2(),{t:y}=Ie(),b=HE(),w=()=>{u&&(d&&e(Om(!1)),e(y0(u)),e(Uo("img2img")))},E=async()=>{if(!u)return;const G=await fetch(u.url).then(ee=>ee.blob()),Y=[new ClipboardItem({[G.type]:G})];await navigator.clipboard.write(Y),m({title:y("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})},_=()=>{navigator.clipboard.writeText(u?window.location.toString()+u.url:"").then(()=>{m({title:y("toast.imageLinkCopied"),status:"success",duration:2500,isClosable:!0})})};Je("shift+i",()=>{u?(w(),m({title:y("toast.sentToImageToImage"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.imageNotLoaded"),description:y("toast.imageNotLoadedDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const k=()=>{u!=null&&u.metadata&&(e(lU(u.metadata)),e(yU(u.metadata)),u.metadata.image.type==="img2img"?e(Uo("img2img")):u.metadata.image.type==="txt2img"&&e(Uo("txt2img")))};Je("a",()=>{var G,Y;["txt2img","img2img"].includes((Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)==null?void 0:Y.type)?(k(),m({title:y("toast.parametersSet"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.parametersNotSet"),description:y("toast.parametersNotSetDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const T=()=>{u!=null&&u.metadata&&e(p2(u.metadata.image.seed))};Je("s",()=>{var G,Y;(Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)!=null&&Y.seed?(T(),m({title:y("toast.seedSet"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.seedNotSet"),description:y("toast.seedNotSetDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const L=S.useCallback(()=>{var G,Y,ee,fe;(Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)!=null&&Y.prompt&&b((fe=(ee=u==null?void 0:u.metadata)==null?void 0:ee.image)==null?void 0:fe.prompt)},[(K=(B=u==null?void 0:u.metadata)==null?void 0:B.image)==null?void 0:K.prompt,b]);Je("p",()=>{var G,Y;(Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)!=null&&Y.prompt?(L(),m({title:y("toast.promptSet"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.promptNotSet"),description:y("toast.promptNotSetDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const O=()=>{u&&e(f_e(u))};Je("Shift+U",()=>{i&&!s&&n&&!t&&o?O():m({title:y("toast.upscalingFailed"),status:"error",duration:2500,isClosable:!0})},[u,i,s,n,t,o]);const D=()=>{u&&e(h_e(u))};Je("Shift+R",()=>{r&&!s&&n&&!t&&a?D():m({title:y("toast.faceRestoreFailed"),status:"error",duration:2500,isClosable:!0})},[u,r,s,n,t,a]);const I=()=>e(zU(!l)),N=()=>{u&&(d&&e(Om(!1)),e(o4(u)),e(Li(!0)),h!=="unifiedCanvas"&&e(Uo("unifiedCanvas")),m({title:y("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0}))};Je("i",()=>{u?I():m({title:y("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[u,l]);const W=()=>{e(Om(!d))};return g.jsxs("div",{className:"current-image-options",children:[g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Xe,{"aria-label":`${y("parameters.sendTo")}...`,icon:g.jsx(Bke,{})}),children:g.jsxs("div",{className:"current-image-send-to-popover",children:[g.jsx(On,{size:"sm",onClick:w,leftIcon:g.jsx(OI,{}),children:y("parameters.sendToImg2Img")}),g.jsx(On,{size:"sm",onClick:N,leftIcon:g.jsx(OI,{}),children:y("parameters.sendToUnifiedCanvas")}),g.jsx(On,{size:"sm",onClick:E,leftIcon:g.jsx(e0,{}),children:y("parameters.copyImage")}),g.jsx(On,{size:"sm",onClick:_,leftIcon:g.jsx(e0,{}),children:y("parameters.copyImageToLink")}),g.jsx(Nh,{download:!0,href:u==null?void 0:u.url,children:g.jsx(On,{leftIcon:g.jsx($E,{}),size:"sm",w:"100%",children:y("parameters.downloadImage")})})]})}),g.jsx(Xe,{icon:g.jsx(kke,{}),tooltip:d?`${y("parameters.closeViewer")} (Z)`:`${y("parameters.openInViewer")} (Z)`,"aria-label":d?`${y("parameters.closeViewer")} (Z)`:`${y("parameters.openInViewer")} (Z)`,"data-selected":d,onClick:W})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Xe,{icon:g.jsx(jke,{}),tooltip:`${y("parameters.usePrompt")} (P)`,"aria-label":`${y("parameters.usePrompt")} (P)`,isDisabled:!((z=(ne=u==null?void 0:u.metadata)==null?void 0:ne.image)!=null&&z.prompt),onClick:L}),g.jsx(Xe,{icon:g.jsx(Fke,{}),tooltip:`${y("parameters.useSeed")} (S)`,"aria-label":`${y("parameters.useSeed")} (S)`,isDisabled:!((V=($=u==null?void 0:u.metadata)==null?void 0:$.image)!=null&&V.seed),onClick:T}),g.jsx(Xe,{icon:g.jsx(Ske,{}),tooltip:`${y("parameters.useAll")} (A)`,"aria-label":`${y("parameters.useAll")} (A)`,isDisabled:!["txt2img","img2img"].includes((Q=(X=u==null?void 0:u.metadata)==null?void 0:X.image)==null?void 0:Q.type),onClick:k})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Xe,{icon:g.jsx(Tke,{}),"aria-label":y("parameters.restoreFaces")}),children:g.jsxs("div",{className:"current-image-postprocessing-popover",children:[g.jsx(IE,{}),g.jsx(On,{isDisabled:!r||!u||!(n&&!t)||!a,onClick:D,children:y("parameters.restoreFaces")})]})}),g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Xe,{icon:g.jsx(_ke,{}),"aria-label":y("parameters.upscale")}),children:g.jsxs("div",{className:"current-image-postprocessing-popover",children:[g.jsx(DE,{}),g.jsx(On,{isDisabled:!i||!u||!(n&&!t)||!o,onClick:O,children:y("parameters.upscaleImage")})]})})]}),g.jsx(Gi,{isAttached:!0,children:g.jsx(Xe,{icon:g.jsx(nG,{}),tooltip:`${y("parameters.info")} (I)`,"aria-label":`${y("parameters.info")} (I)`,"data-selected":l,onClick:I})}),g.jsx(O3,{image:u,children:g.jsx(Xe,{icon:g.jsx(hp,{}),tooltip:`${y("parameters.deleteImage")} (Del)`,"aria-label":`${y("parameters.deleteImage")} (Del)`,isDisabled:!u||!n||t,style:{backgroundColor:"var(--btn-delete-image)"}})})]})};var Kke=fc({displayName:"EditIcon",path:g.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[g.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),g.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})}),dG=fc({displayName:"ExternalLinkIcon",path:g.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[g.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),g.jsx("path",{d:"M15 3h6v6"}),g.jsx("path",{d:"M10 14L21 3"})]})}),Yke=fc({displayName:"DeleteIcon",path:g.jsx("g",{fill:"currentColor",children:g.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"})})});function Xke(e){return ut({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)}const Jn=({label:e,value:t,onClick:n,isLink:r,labelPosition:i,withCopy:o=!1})=>g.jsxs(Ee,{gap:2,children:[n&&g.jsx(si,{label:`Recall ${e}`,children:g.jsx(ls,{"aria-label":"Use this parameter",icon:g.jsx(Xke,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),o&&g.jsx(si,{label:`Copy ${e}`,children:g.jsx(ls,{"aria-label":`Copy ${e}`,icon:g.jsx(e0,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),g.jsxs(Ee,{direction:i?"column":"row",children:[g.jsxs(Rt,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?g.jsxs(Nh,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",g.jsx(dG,{mx:"2px"})]}):g.jsx(Rt,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}),Zke=(e,t)=>e.image.uuid===t.image.uuid,WE=S.memo(({image:e,styleClass:t})=>{var B,K;const n=Te(),r=HE();Je("esc",()=>{n(zU(!1))});const i=((B=e==null?void 0:e.metadata)==null?void 0:B.image)||{},o=e==null?void 0:e.dreamPrompt,{cfg_scale:a,fit:s,height:l,hires_fix:u,init_image_path:d,mask_image_path:h,orig_path:m,perlin:y,postprocessing:b,prompt:w,sampler:E,seamless:_,seed:k,steps:T,strength:L,threshold:O,type:D,variations:I,width:N}=i,W=JSON.stringify(e.metadata,null,2);return g.jsx("div",{className:`image-metadata-viewer ${t}`,children:g.jsxs(Ee,{gap:1,direction:"column",width:"100%",children:[g.jsxs(Ee,{gap:2,children:[g.jsx(Rt,{fontWeight:"semibold",children:"File:"}),g.jsxs(Nh,{href:e.url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.url.length>64?e.url.substring(0,64).concat("..."):e.url,g.jsx(dG,{mx:"2px"})]})]}),Object.keys(i).length>0?g.jsxs(g.Fragment,{children:[D&&g.jsx(Jn,{label:"Generation type",value:D}),((K=e.metadata)==null?void 0:K.model_weights)&&g.jsx(Jn,{label:"Model",value:e.metadata.model_weights}),["esrgan","gfpgan"].includes(D)&&g.jsx(Jn,{label:"Original image",value:m}),w&&g.jsx(Jn,{label:"Prompt",labelPosition:"top",value:typeof w=="string"?w:Rm(w),onClick:()=>r(w)}),k!==void 0&&g.jsx(Jn,{label:"Seed",value:k,onClick:()=>n(p2(k))}),O!==void 0&&g.jsx(Jn,{label:"Noise Threshold",value:O,onClick:()=>n(xk(O))}),y!==void 0&&g.jsx(Jn,{label:"Perlin Noise",value:y,onClick:()=>n(yk(y))}),E&&g.jsx(Jn,{label:"Sampler",value:E,onClick:()=>n(fU(E))}),T&&g.jsx(Jn,{label:"Steps",value:T,onClick:()=>n(bk(T))}),a!==void 0&&g.jsx(Jn,{label:"CFG scale",value:a,onClick:()=>n(mk(a))}),I&&I.length>0&&g.jsx(Jn,{label:"Seed-weight pairs",value:_3(I),onClick:()=>n(pU(_3(I)))}),_&&g.jsx(Jn,{label:"Seamless",value:_,onClick:()=>n(hU(_))}),u&&g.jsx(Jn,{label:"High Resolution Optimization",value:u,onClick:()=>n(bU(u))}),N&&g.jsx(Jn,{label:"Width",value:N,onClick:()=>n(cS(N))}),l&&g.jsx(Jn,{label:"Height",value:l,onClick:()=>n(uS(l))}),d&&g.jsx(Jn,{label:"Initial image",value:d,isLink:!0,onClick:()=>n(y0(d))}),h&&g.jsx(Jn,{label:"Mask image",value:h,isLink:!0,onClick:()=>n(cU(h))}),D==="img2img"&&L&&g.jsx(Jn,{label:"Image to image strength",value:L,onClick:()=>n(vk(L))}),s&&g.jsx(Jn,{label:"Image to image fit",value:s,onClick:()=>n(gU(s))}),b&&b.length>0&&g.jsxs(g.Fragment,{children:[g.jsx(jh,{size:"sm",children:"Postprocessing"}),b.map((ne,z)=>{if(ne.type==="esrgan"){const{scale:$,strength:V,denoise_str:X}=ne;return g.jsxs(Ee,{pl:"2rem",gap:1,direction:"column",children:[g.jsx(Rt,{size:"md",children:`${z+1}: Upscale (ESRGAN)`}),g.jsx(Jn,{label:"Scale",value:$,onClick:()=>n(xU($))}),g.jsx(Jn,{label:"Strength",value:V,onClick:()=>n(Ck(V))}),X!==void 0&&g.jsx(Jn,{label:"Denoising strength",value:X,onClick:()=>n(wk(X))})]},z)}else if(ne.type==="gfpgan"){const{strength:$}=ne;return g.jsxs(Ee,{pl:"2rem",gap:1,direction:"column",children:[g.jsx(Rt,{size:"md",children:`${z+1}: Face restoration (GFPGAN)`}),g.jsx(Jn,{label:"Strength",value:$,onClick:()=>{n(E3($)),n(dS("gfpgan"))}})]},z)}else if(ne.type==="codeformer"){const{strength:$,fidelity:V}=ne;return g.jsxs(Ee,{pl:"2rem",gap:1,direction:"column",children:[g.jsx(Rt,{size:"md",children:`${z+1}: Face restoration (Codeformer)`}),g.jsx(Jn,{label:"Strength",value:$,onClick:()=>{n(E3($)),n(dS("codeformer"))}}),V&&g.jsx(Jn,{label:"Fidelity",value:V,onClick:()=>{n(Sk(V)),n(dS("codeformer"))}})]},z)}})]}),o&&g.jsx(Jn,{withCopy:!0,label:"Dream Prompt",value:o}),g.jsxs(Ee,{gap:2,direction:"column",children:[g.jsxs(Ee,{gap:2,children:[g.jsx(si,{label:"Copy metadata JSON",children:g.jsx(ls,{"aria-label":"Copy metadata JSON",icon:g.jsx(e0,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(W)})}),g.jsx(Rt,{fontWeight:"semibold",children:"Metadata JSON:"})]}),g.jsx("div",{className:"image-json-viewer",children:g.jsx("pre",{children:W})})]})]}):g.jsx(sH,{width:"100%",pt:10,children:g.jsx(Rt,{fontSize:"lg",fontWeight:"semibold",children:"No metadata available"})})]})})},Zke);WE.displayName="ImageMetadataViewer";const fG=lt([pp,fp],(e,t)=>{const{currentCategory:n,currentImage:r,intermediateImage:i}=e,{shouldShowImageDetails:o}=t,a=e.categories[r?r.category:"result"].images,s=a.findIndex(u=>{var d;return u.uuid===((d=e==null?void 0:e.currentImage)==null?void 0:d.uuid)}),l=a.length;return{imageToDisplay:i||r,isIntermediate:Boolean(i),viewerImageToDisplay:r,currentCategory:n,isOnFirstImage:s===0,isOnLastImage:!isNaN(s)&&s===l-1,shouldShowImageDetails:o,shouldShowPrevImageButton:s===0,shouldShowNextImageButton:!isNaN(s)&&s===l-1}},{memoizeOptions:{resultEqualityCheck:we.isEqual}});function Qke(){const e=Te(),{isOnFirstImage:t,isOnLastImage:n,shouldShowImageDetails:r,imageToDisplay:i,isIntermediate:o}=se(fG),[a,s]=S.useState(!1),l=()=>{s(!0)},u=()=>{s(!1)},d=()=>{e(yE())},h=()=>{e(vE())};return g.jsxs("div",{className:"current-image-preview",children:[i&&g.jsx(Nw,{src:i.url,width:i.width,height:i.height,style:{imageRendering:o?"pixelated":"initial"}}),!r&&g.jsxs("div",{className:"current-image-next-prev-buttons",children:[g.jsx("div",{className:"next-prev-button-trigger-area prev-button-trigger-area",onMouseOver:l,onMouseOut:u,children:a&&!t&&g.jsx(ls,{"aria-label":"Previous image",icon:g.jsx(JV,{className:"next-prev-button"}),variant:"unstyled",onClick:d})}),g.jsx("div",{className:"next-prev-button-trigger-area next-button-trigger-area",onMouseOver:l,onMouseOut:u,children:a&&!n&&g.jsx(ls,{"aria-label":"Next image",icon:g.jsx(eG,{className:"next-prev-button"}),variant:"unstyled",onClick:h})})]}),r&&i&&g.jsx(WE,{image:i,styleClass:"current-image-metadata"})]})}var Jke=globalThis&&globalThis.__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){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),ni=globalThis&&globalThis.__assign||function(){return ni=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof i>"u"?void 0:Number(i),minWidth:typeof o>"u"?void 0:Number(o),minHeight:typeof a>"u"?void 0:Number(a)}},a7e=["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"],NI="__resizable_base__",hG=function(e){n7e(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 i=r.parentNode;if(!i)return null;var o=r.window.document.createElement("div");return o.style.width="100%",o.style.height="100%",o.style.position="absolute",o.style.transform="scale(0, 0)",o.style.left="0",o.style.flex="0 0 100%",o.classList?o.classList.add(NI):o.className+=NI,i.appendChild(o),o},r.removeBase=function(i){var o=r.parentNode;o&&o.removeChild(i)},r.ref=function(i){i&&(r.resizable=i)},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||r7e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var i=this.resizable.offsetWidth,o=this.resizable.offsetHeight,a=this.resizable.style.position;a!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:i,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:o,this.resizable.style.position=a}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,i=function(s){if(typeof n.state[s]>"u"||n.state[s]==="auto")return"auto";if(n.propsSize&&n.propsSize[s]&&n.propsSize[s].toString().endsWith("%")){if(n.state[s].toString().endsWith("%"))return n.state[s].toString();var l=n.getParentSize(),u=Number(n.state[s].toString().replace("px","")),d=u/l[s]*100;return d+"%"}return JC(n.state[s])},o=r&&typeof r.width<"u"&&!this.state.isResizing?JC(r.width):i("width"),a=r&&typeof r.height<"u"&&!this.state.isResizing?JC(r.height):i("height");return{width:o,height:a}},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,i=this.parentNode.style.flexWrap;i!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var o={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=i),this.removeBase(n),o},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 i=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof i>"u"||i==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var i=this.props.boundsByDirection,o=this.state.direction,a=i&&Ig("left",o),s=i&&Ig("top",o),l,u;if(this.props.bounds==="parent"){var d=this.parentNode;d&&(l=a?this.resizableRight-this.parentLeft:d.offsetWidth+(this.parentLeft-this.resizableLeft),u=s?this.resizableBottom-this.parentTop:d.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(l=a?this.resizableRight:this.window.innerWidth-this.resizableLeft,u=s?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(l=a?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),u=s?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return l&&Number.isFinite(l)&&(n=n&&n"u"?10:o.width,h=typeof i.width>"u"||i.width<0?n:i.width,m=typeof o.height>"u"?10:o.height,y=typeof i.height>"u"||i.height<0?r:i.height,b=l||0,w=u||0;if(s){var E=(m-b)*this.ratio+w,_=(y-b)*this.ratio+w,k=(d-w)/this.ratio+b,T=(h-w)/this.ratio+b,L=Math.max(d,E),O=Math.min(h,_),D=Math.max(m,k),I=Math.min(y,T);n=yx(n,L,O),r=yx(r,D,I)}else n=yx(n,d,h),r=yx(r,m,y);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 i=this.props.bounds.getBoundingClientRect();this.targetLeft=i.left,this.targetTop=i.top}if(this.resizable){var o=this.resizable.getBoundingClientRect(),a=o.left,s=o.top,l=o.right,u=o.bottom;this.resizableLeft=a,this.resizableRight=l,this.resizableTop=s,this.resizableBottom=u}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var i=0,o=0;if(n.nativeEvent&&i7e(n.nativeEvent)?(i=n.nativeEvent.clientX,o=n.nativeEvent.clientY):n.nativeEvent&&bx(n.nativeEvent)&&(i=n.nativeEvent.touches[0].clientX,o=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var a=this.props.onResizeStart(n,r,this.resizable);if(a===!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 s,l=this.window.getComputedStyle(this.resizable);if(l.flexBasis!=="auto"){var u=this.parentNode;if(u){var d=this.window.getComputedStyle(u).flexDirection;this.flexDir=d.startsWith("row")?"row":"column",s=l.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var h={original:{x:i,y:o,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:Ol(Ol({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:s};this.setState(h)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&bx(n))try{n.preventDefault(),n.stopPropagation()}catch{}var i=this.props,o=i.maxWidth,a=i.maxHeight,s=i.minWidth,l=i.minHeight,u=bx(n)?n.touches[0].clientX:n.clientX,d=bx(n)?n.touches[0].clientY:n.clientY,h=this.state,m=h.direction,y=h.original,b=h.width,w=h.height,E=this.getParentSize(),_=o7e(E,this.window.innerWidth,this.window.innerHeight,o,a,s,l);o=_.maxWidth,a=_.maxHeight,s=_.minWidth,l=_.minHeight;var k=this.calculateNewSizeFromDirection(u,d),T=k.newHeight,L=k.newWidth,O=this.calculateNewMaxFromBoundary(o,a);this.props.snap&&this.props.snap.x&&(L=jI(L,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(T=jI(T,this.props.snap.y,this.props.snapGap));var D=this.calculateNewSizeFromAspectRatio(L,T,{width:O.maxWidth,height:O.maxHeight},{width:s,height:l});if(L=D.newWidth,T=D.newHeight,this.props.grid){var I=DI(L,this.props.grid[0]),N=DI(T,this.props.grid[1]),W=this.props.snapGap||0;L=W===0||Math.abs(I-L)<=W?I:L,T=W===0||Math.abs(N-T)<=W?N:T}var B={width:L-y.width,height:T-y.height};if(b&&typeof b=="string"){if(b.endsWith("%")){var K=L/E.width*100;L=K+"%"}else if(b.endsWith("vw")){var ne=L/this.window.innerWidth*100;L=ne+"vw"}else if(b.endsWith("vh")){var z=L/this.window.innerHeight*100;L=z+"vh"}}if(w&&typeof w=="string"){if(w.endsWith("%")){var K=T/E.height*100;T=K+"%"}else if(w.endsWith("vw")){var ne=T/this.window.innerWidth*100;T=ne+"vw"}else if(w.endsWith("vh")){var z=T/this.window.innerHeight*100;T=z+"vh"}}var $={width:this.createSizeForCssProperty(L,"width"),height:this.createSizeForCssProperty(T,"height")};this.flexDir==="row"?$.flexBasis=$.width:this.flexDir==="column"&&($.flexBasis=$.height),Xs.flushSync(function(){r.setState($)}),this.props.onResize&&this.props.onResize(n,m,this.resizable,B)}},t.prototype.onMouseUp=function(n){var r=this.state,i=r.isResizing,o=r.direction,a=r.original;if(!(!i||!this.resizable)){var s={width:this.size.width-a.width,height:this.size.height-a.height};this.props.onResizeStop&&this.props.onResizeStop(n,o,this.resizable,s),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:Ol(Ol({},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,i=r.enable,o=r.handleStyles,a=r.handleClasses,s=r.handleWrapperStyle,l=r.handleWrapperClass,u=r.handleComponent;if(!i)return null;var d=Object.keys(i).map(function(h){return i[h]!==!1?S.createElement(t7e,{key:h,direction:h,onResizeStart:n.onResizeStart,replaceStyles:o&&o[h],className:a&&a[h]},u&&u[h]?u[h]:null):null});return S.createElement("div",{className:l,style:s},d)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(a,s){return a7e.indexOf(s)!==-1||(a[s]=n.props[s]),a},{}),i=Ol(Ol(Ol({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&&(i.flexBasis=this.state.flexBasis);var o=this.props.as||"div";return S.createElement(o,Ol({ref:this.ref,style:i,className:this.props.className},r),this.state.isResizing&&S.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}(S.PureComponent);const Gn=e=>{const{label:t,styleClass:n,...r}=e;return g.jsx(fz,{className:`invokeai__checkbox ${n}`,...r,children:t})};function pG(e){return ut({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 gG(e){return ut({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)}function s7e(e){return ut({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 l7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 19.59V8l-6-6H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.15 1.19-.4l-4.43-4.43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.02-.31 1.96-.83 2.75L20 19.59zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3z"}}]})(e)}function u7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"}}]})(e)}function c7e(e){return ut({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 d7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M15 21h2v-2h-2v2zm4-12h2V7h-2v2zM3 5v14c0 1.1.9 2 2 2h4v-2H5V5h4V3H5c-1.1 0-2 .9-2 2zm16-2v2h2c0-1.1-.9-2-2-2zm-8 20h2V1h-2v22zm8-6h2v-2h-2v2zM15 5h2V3h-2v2zm4 8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2z"}}]})(e)}function mG(e){return ut({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 f7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"}}]})(e)}function h7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M7 10l5 5 5-5z"}}]})(e)}function p7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M7 14l5-5 5 5z"}}]})(e)}function g7e(e){return ut({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 m7e(e,t){return e.classList?!!t&&e.classList.contains(t):(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")!==-1}function v7e(e,t){e.classList?e.classList.add(t):m7e(e,t)||(typeof e.className=="string"?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))}function $I(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function y7e(e,t){e.classList?e.classList.remove(t):typeof e.className=="string"?e.className=$I(e.className,t):e.setAttribute("class",$I(e.className&&e.className.baseVal||"",t))}const FI={disabled:!1},vG=Ye.createContext(null);var yG=function(t){return t.scrollTop},S1="unmounted",ph="exited",gh="entering",Fg="entered",qk="exiting",mc=function(e){x8(t,e);function t(r,i){var o;o=e.call(this,r,i)||this;var a=i,s=a&&!a.isMounting?r.enter:r.appear,l;return o.appearStatus=null,r.in?s?(l=ph,o.appearStatus=gh):l=Fg:r.unmountOnExit||r.mountOnEnter?l=S1:l=ph,o.state={status:l},o.nextCallback=null,o}t.getDerivedStateFromProps=function(i,o){var a=i.in;return a&&o.status===S1?{status:ph}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(i){var o=null;if(i!==this.props){var a=this.state.status;this.props.in?a!==gh&&a!==Fg&&(o=gh):(a===gh||a===Fg)&&(o=qk)}this.updateStatus(!1,o)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var i=this.props.timeout,o,a,s;return o=a=s=i,i!=null&&typeof i!="number"&&(o=i.exit,a=i.enter,s=i.appear!==void 0?i.appear:a),{exit:o,enter:a,appear:s}},n.updateStatus=function(i,o){if(i===void 0&&(i=!1),o!==null)if(this.cancelNextCallback(),o===gh){if(this.props.unmountOnExit||this.props.mountOnEnter){var a=this.props.nodeRef?this.props.nodeRef.current:Ob.findDOMNode(this);a&&yG(a)}this.performEnter(i)}else this.performExit();else this.props.unmountOnExit&&this.state.status===ph&&this.setState({status:S1})},n.performEnter=function(i){var o=this,a=this.props.enter,s=this.context?this.context.isMounting:i,l=this.props.nodeRef?[s]:[Ob.findDOMNode(this),s],u=l[0],d=l[1],h=this.getTimeouts(),m=s?h.appear:h.enter;if(!i&&!a||FI.disabled){this.safeSetState({status:Fg},function(){o.props.onEntered(u)});return}this.props.onEnter(u,d),this.safeSetState({status:gh},function(){o.props.onEntering(u,d),o.onTransitionEnd(m,function(){o.safeSetState({status:Fg},function(){o.props.onEntered(u,d)})})})},n.performExit=function(){var i=this,o=this.props.exit,a=this.getTimeouts(),s=this.props.nodeRef?void 0:Ob.findDOMNode(this);if(!o||FI.disabled){this.safeSetState({status:ph},function(){i.props.onExited(s)});return}this.props.onExit(s),this.safeSetState({status:qk},function(){i.props.onExiting(s),i.onTransitionEnd(a.exit,function(){i.safeSetState({status:ph},function(){i.props.onExited(s)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(i,o){o=this.setNextCallback(o),this.setState(i,o)},n.setNextCallback=function(i){var o=this,a=!0;return this.nextCallback=function(s){a&&(a=!1,o.nextCallback=null,i(s))},this.nextCallback.cancel=function(){a=!1},this.nextCallback},n.onTransitionEnd=function(i,o){this.setNextCallback(o);var a=this.props.nodeRef?this.props.nodeRef.current:Ob.findDOMNode(this),s=i==null&&!this.props.addEndListener;if(!a||s){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[a,this.nextCallback],u=l[0],d=l[1];this.props.addEndListener(u,d)}i!=null&&setTimeout(this.nextCallback,i)},n.render=function(){var i=this.state.status;if(i===S1)return null;var o=this.props,a=o.children;o.in,o.mountOnEnter,o.unmountOnExit,o.appear,o.enter,o.exit,o.timeout,o.addEndListener,o.onEnter,o.onEntering,o.onEntered,o.onExit,o.onExiting,o.onExited,o.nodeRef;var s=v8(o,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return Ye.createElement(vG.Provider,{value:null},typeof a=="function"?a(i,s):Ye.cloneElement(Ye.Children.only(a),s))},t}(Ye.Component);mc.contextType=vG;mc.propTypes={};function Dg(){}mc.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Dg,onEntering:Dg,onEntered:Dg,onExit:Dg,onExiting:Dg,onExited:Dg};mc.UNMOUNTED=S1;mc.EXITED=ph;mc.ENTERING=gh;mc.ENTERED=Fg;mc.EXITING=qk;const b7e=mc;var x7e=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return v7e(t,r)})},e6=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return y7e(t,r)})},UE=function(e){x8(t,e);function t(){for(var r,i=arguments.length,o=new Array(i),a=0;ab,Object.values(b));return S.createElement(w.Provider,{value:E},y)}function d(h,m){const y=(m==null?void 0:m[e][l])||s,b=S.useContext(y);if(b)return b;if(a!==void 0)return a;throw new Error(`\`${h}\` must be used within \`${o}\``)}return u.displayName=o+"Provider",[u,d]}const i=()=>{const o=n.map(a=>S.createContext(a));return function(s){const l=(s==null?void 0:s[e])||o;return S.useMemo(()=>({[`__scope${e}`]:{...s,[e]:l}}),[s,l])}};return i.scopeName=e,[r,S7e(i,...t)]}function S7e(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(o){const a=r.reduce((s,{useScope:l,scopeName:u})=>{const h=l(o)[`__scope${u}`];return{...s,...h}},{});return S.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function w7e(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function xG(...e){return t=>e.forEach(n=>w7e(n,t))}function ds(...e){return S.useCallback(xG(...e),e)}const Fy=S.forwardRef((e,t)=>{const{children:n,...r}=e,i=S.Children.toArray(n),o=i.find(_7e);if(o){const a=o.props.children,s=i.map(l=>l===o?S.Children.count(a)>1?S.Children.only(null):S.isValidElement(a)?a.props.children:null:l);return S.createElement(Kk,pn({},r,{ref:t}),S.isValidElement(a)?S.cloneElement(a,void 0,s):null)}return S.createElement(Kk,pn({},r,{ref:t}),n)});Fy.displayName="Slot";const Kk=S.forwardRef((e,t)=>{const{children:n,...r}=e;return S.isValidElement(n)?S.cloneElement(n,{...k7e(r,n.props),ref:xG(t,n.ref)}):S.Children.count(n)>1?S.Children.only(null):null});Kk.displayName="SlotClone";const C7e=({children:e})=>S.createElement(S.Fragment,null,e);function _7e(e){return S.isValidElement(e)&&e.type===C7e}function k7e(e,t){const n={...t};for(const r in t){const i=e[r],o=t[r];/^on[A-Z]/.test(r)?i&&o?n[r]=(...s)=>{o(...s),i(...s)}:i&&(n[r]=i):r==="style"?n[r]={...i,...o}:r==="className"&&(n[r]=[i,o].filter(Boolean).join(" "))}return{...e,...n}}const E7e=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],sc=E7e.reduce((e,t)=>{const n=S.forwardRef((r,i)=>{const{asChild:o,...a}=r,s=o?Fy:t;return S.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),S.createElement(s,pn({},a,{ref:i}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function SG(e,t){e&&Xs.flushSync(()=>e.dispatchEvent(t))}function wG(e){const t=e+"CollectionProvider",[n,r]=b2(t),[i,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=y=>{const{scope:b,children:w}=y,E=Ye.useRef(null),_=Ye.useRef(new Map).current;return Ye.createElement(i,{scope:b,itemMap:_,collectionRef:E},w)},s=e+"CollectionSlot",l=Ye.forwardRef((y,b)=>{const{scope:w,children:E}=y,_=o(s,w),k=ds(b,_.collectionRef);return Ye.createElement(Fy,{ref:k},E)}),u=e+"CollectionItemSlot",d="data-radix-collection-item",h=Ye.forwardRef((y,b)=>{const{scope:w,children:E,..._}=y,k=Ye.useRef(null),T=ds(b,k),L=o(u,w);return Ye.useEffect(()=>(L.itemMap.set(k,{ref:k,..._}),()=>void L.itemMap.delete(k))),Ye.createElement(Fy,{[d]:"",ref:T},E)});function m(y){const b=o(e+"CollectionConsumer",y);return Ye.useCallback(()=>{const E=b.collectionRef.current;if(!E)return[];const _=Array.from(E.querySelectorAll(`[${d}]`));return Array.from(b.itemMap.values()).sort((L,O)=>_.indexOf(L.ref.current)-_.indexOf(O.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:a,Slot:l,ItemSlot:h},m,r]}const P7e=S.createContext(void 0);function CG(e){const t=S.useContext(P7e);return e||t||"ltr"}function Js(e){const t=S.useRef(e);return S.useEffect(()=>{t.current=e}),S.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function T7e(e,t=globalThis==null?void 0:globalThis.document){const n=Js(e);S.useEffect(()=>{const r=i=>{i.key==="Escape"&&n(i)};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)},[n,t])}const Yk="dismissableLayer.update",M7e="dismissableLayer.pointerDownOutside",L7e="dismissableLayer.focusOutside";let BI;const A7e=S.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),O7e=S.forwardRef((e,t)=>{var n;const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:s,onDismiss:l,...u}=e,d=S.useContext(A7e),[h,m]=S.useState(null),y=(n=h==null?void 0:h.ownerDocument)!==null&&n!==void 0?n:globalThis==null?void 0:globalThis.document,[,b]=S.useState({}),w=ds(t,N=>m(N)),E=Array.from(d.layers),[_]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),k=E.indexOf(_),T=h?E.indexOf(h):-1,L=d.layersWithOutsidePointerEventsDisabled.size>0,O=T>=k,D=R7e(N=>{const W=N.target,B=[...d.branches].some(K=>K.contains(W));!O||B||(o==null||o(N),s==null||s(N),N.defaultPrevented||l==null||l())},y),I=I7e(N=>{const W=N.target;[...d.branches].some(K=>K.contains(W))||(a==null||a(N),s==null||s(N),N.defaultPrevented||l==null||l())},y);return T7e(N=>{T===d.layers.size-1&&(i==null||i(N),!N.defaultPrevented&&l&&(N.preventDefault(),l()))},y),S.useEffect(()=>{if(h)return r&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(BI=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(h)),d.layers.add(h),zI(),()=>{r&&d.layersWithOutsidePointerEventsDisabled.size===1&&(y.body.style.pointerEvents=BI)}},[h,y,r,d]),S.useEffect(()=>()=>{h&&(d.layers.delete(h),d.layersWithOutsidePointerEventsDisabled.delete(h),zI())},[h,d]),S.useEffect(()=>{const N=()=>b({});return document.addEventListener(Yk,N),()=>document.removeEventListener(Yk,N)},[]),S.createElement(sc.div,pn({},u,{ref:w,style:{pointerEvents:L?O?"auto":"none":void 0,...e.style},onFocusCapture:Kn(e.onFocusCapture,I.onFocusCapture),onBlurCapture:Kn(e.onBlurCapture,I.onBlurCapture),onPointerDownCapture:Kn(e.onPointerDownCapture,D.onPointerDownCapture)}))});function R7e(e,t=globalThis==null?void 0:globalThis.document){const n=Js(e),r=S.useRef(!1),i=S.useRef(()=>{});return S.useEffect(()=>{const o=s=>{if(s.target&&!r.current){let u=function(){_G(M7e,n,l,{discrete:!0})};const l={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",i.current),i.current=u,t.addEventListener("click",i.current,{once:!0})):u()}r.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",o)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",o),t.removeEventListener("click",i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function I7e(e,t=globalThis==null?void 0:globalThis.document){const n=Js(e),r=S.useRef(!1);return S.useEffect(()=>{const i=o=>{o.target&&!r.current&&_G(L7e,n,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function zI(){const e=new CustomEvent(Yk);document.dispatchEvent(e)}function _G(e,t,n,{discrete:r}){const i=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?SG(i,o):i.dispatchEvent(o)}let t6=0;function D7e(){S.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:HI()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:HI()),t6++,()=>{t6===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),t6--}},[])}function HI(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}const n6="focusScope.autoFocusOnMount",r6="focusScope.autoFocusOnUnmount",WI={bubbles:!1,cancelable:!0},j7e=S.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...a}=e,[s,l]=S.useState(null),u=Js(i),d=Js(o),h=S.useRef(null),m=ds(t,w=>l(w)),y=S.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;S.useEffect(()=>{if(r){let w=function(_){if(y.paused||!s)return;const k=_.target;s.contains(k)?h.current=k:mh(h.current,{select:!0})},E=function(_){y.paused||!s||s.contains(_.relatedTarget)||mh(h.current,{select:!0})};return document.addEventListener("focusin",w),document.addEventListener("focusout",E),()=>{document.removeEventListener("focusin",w),document.removeEventListener("focusout",E)}}},[r,s,y.paused]),S.useEffect(()=>{if(s){VI.add(y);const w=document.activeElement;if(!s.contains(w)){const _=new CustomEvent(n6,WI);s.addEventListener(n6,u),s.dispatchEvent(_),_.defaultPrevented||(N7e(H7e(kG(s)),{select:!0}),document.activeElement===w&&mh(s))}return()=>{s.removeEventListener(n6,u),setTimeout(()=>{const _=new CustomEvent(r6,WI);s.addEventListener(r6,d),s.dispatchEvent(_),_.defaultPrevented||mh(w??document.body,{select:!0}),s.removeEventListener(r6,d),VI.remove(y)},0)}}},[s,u,d,y]);const b=S.useCallback(w=>{if(!n&&!r||y.paused)return;const E=w.key==="Tab"&&!w.altKey&&!w.ctrlKey&&!w.metaKey,_=document.activeElement;if(E&&_){const k=w.currentTarget,[T,L]=$7e(k);T&&L?!w.shiftKey&&_===L?(w.preventDefault(),n&&mh(T,{select:!0})):w.shiftKey&&_===T&&(w.preventDefault(),n&&mh(L,{select:!0})):_===k&&w.preventDefault()}},[n,r,y.paused]);return S.createElement(sc.div,pn({tabIndex:-1},a,{ref:m,onKeyDown:b}))});function N7e(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(mh(r,{select:t}),document.activeElement!==n)return}function $7e(e){const t=kG(e),n=UI(t,e),r=UI(t.reverse(),e);return[n,r]}function kG(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function UI(e,t){for(const n of e)if(!F7e(n,{upTo:t}))return n}function F7e(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function B7e(e){return e instanceof HTMLInputElement&&"select"in e}function mh(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&B7e(e)&&t&&e.select()}}const VI=z7e();function z7e(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=GI(e,t),e.unshift(t)},remove(t){var n;e=GI(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function GI(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function H7e(e){return e.filter(t=>t.tagName!=="A")}const Pd=Boolean(globalThis==null?void 0:globalThis.document)?S.useLayoutEffect:()=>{},W7e=g6["useId".toString()]||(()=>{});let U7e=0;function V7e(e){const[t,n]=S.useState(W7e());return Pd(()=>{e||n(r=>r??String(U7e++))},[e]),e||(t?`radix-${t}`:"")}function gp(e){return e.split("-")[0]}function x2(e){return e.split("-")[1]}function w0(e){return["top","bottom"].includes(gp(e))?"x":"y"}function VE(e){return e==="y"?"height":"width"}function qI(e,t,n){let{reference:r,floating:i}=e;const o=r.x+r.width/2-i.width/2,a=r.y+r.height/2-i.height/2,s=w0(t),l=VE(s),u=r[l]/2-i[l]/2,d=s==="x";let h;switch(gp(t)){case"top":h={x:o,y:r.y-i.height};break;case"bottom":h={x:o,y:r.y+r.height};break;case"right":h={x:r.x+r.width,y:a};break;case"left":h={x:r.x-i.width,y:a};break;default:h={x:r.x,y:r.y}}switch(x2(t)){case"start":h[s]-=u*(n&&d?-1:1);break;case"end":h[s]+=u*(n&&d?-1:1)}return h}const G7e=async(e,t,n)=>{const{placement:r="bottom",strategy:i="absolute",middleware:o=[],platform:a}=n,s=await(a.isRTL==null?void 0:a.isRTL(t));let l=await a.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=qI(l,r,s),h=r,m={},y=0;for(let b=0;b({name:"arrow",options:e,async fn(t){const{element:n,padding:r=0}=e??{},{x:i,y:o,placement:a,rects:s,platform:l}=t;if(n==null)return{};const u=EG(r),d={x:i,y:o},h=w0(a),m=x2(a),y=VE(h),b=await l.getDimensions(n),w=h==="y"?"top":"left",E=h==="y"?"bottom":"right",_=s.reference[y]+s.reference[h]-d[h]-s.floating[y],k=d[h]-s.reference[h],T=await(l.getOffsetParent==null?void 0:l.getOffsetParent(n));let L=T?h==="y"?T.clientHeight||0:T.clientWidth||0:0;L===0&&(L=s.floating[y]);const O=_/2-k/2,D=u[w],I=L-b[y]-u[E],N=L/2-b[y]/2+O,W=Xk(D,N,I),B=(m==="start"?u[w]:u[E])>0&&N!==W&&s.reference[y]<=s.floating[y];return{[h]:d[h]-(B?NK7e[t])}function Y7e(e,t,n){n===void 0&&(n=!1);const r=x2(e),i=w0(e),o=VE(i);let a=i==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=I3(a)),{main:a,cross:I3(a)}}const X7e={start:"end",end:"start"};function YI(e){return e.replace(/start|end/g,t=>X7e[t])}const PG=["top","right","bottom","left"];PG.reduce((e,t)=>e.concat(t,t+"-start",t+"-end"),[]);const Z7e=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:i,rects:o,initialPlacement:a,platform:s,elements:l}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:h,fallbackStrategy:m="bestFit",flipAlignment:y=!0,...b}=e,w=gp(r),E=h||(w===a||!y?[I3(a)]:function(N){const W=I3(N);return[YI(N),W,YI(W)]}(a)),_=[a,...E],k=await By(t,b),T=[];let L=((n=i.flip)==null?void 0:n.overflows)||[];if(u&&T.push(k[w]),d){const{main:N,cross:W}=Y7e(r,o,await(s.isRTL==null?void 0:s.isRTL(l.floating)));T.push(k[N],k[W])}if(L=[...L,{placement:r,overflows:T}],!T.every(N=>N<=0)){var O,D;const N=((O=(D=i.flip)==null?void 0:D.index)!=null?O:0)+1,W=_[N];if(W)return{data:{index:N,overflows:L},reset:{placement:W}};let B="bottom";switch(m){case"bestFit":{var I;const K=(I=L.map(ne=>[ne,ne.overflows.filter(z=>z>0).reduce((z,$)=>z+$,0)]).sort((ne,z)=>ne[1]-z[1])[0])==null?void 0:I[0].placement;K&&(B=K);break}case"initialPlacement":B=a}if(r!==B)return{reset:{placement:B}}}return{}}}};function XI(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ZI(e){return PG.some(t=>e[t]>=0)}const Q7e=function(e){let{strategy:t="referenceHidden",...n}=e===void 0?{}:e;return{name:"hide",async fn(r){const{rects:i}=r;switch(t){case"referenceHidden":{const o=XI(await By(r,{...n,elementContext:"reference"}),i.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:ZI(o)}}}case"escaped":{const o=XI(await By(r,{...n,altBoundary:!0}),i.floating);return{data:{escapedOffsets:o,escaped:ZI(o)}}}default:return{}}}}},J7e=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,i=await async function(o,a){const{placement:s,platform:l,elements:u}=o,d=await(l.isRTL==null?void 0:l.isRTL(u.floating)),h=gp(s),m=x2(s),y=w0(s)==="x",b=["left","top"].includes(h)?-1:1,w=d&&y?-1:1,E=typeof a=="function"?a(o):a;let{mainAxis:_,crossAxis:k,alignmentAxis:T}=typeof E=="number"?{mainAxis:E,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...E};return m&&typeof T=="number"&&(k=m==="end"?-1*T:T),y?{x:k*w,y:_*b}:{x:_*b,y:k*w}}(t,e);return{x:n+i.x,y:r+i.y,data:i}}}};function TG(e){return e==="x"?"y":"x"}const e9e=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:i}=t,{mainAxis:o=!0,crossAxis:a=!1,limiter:s={fn:E=>{let{x:_,y:k}=E;return{x:_,y:k}}},...l}=e,u={x:n,y:r},d=await By(t,l),h=w0(gp(i)),m=TG(h);let y=u[h],b=u[m];if(o){const E=h==="y"?"bottom":"right";y=Xk(y+d[h==="y"?"top":"left"],y,y-d[E])}if(a){const E=m==="y"?"bottom":"right";b=Xk(b+d[m==="y"?"top":"left"],b,b-d[E])}const w=s.fn({...t,[h]:y,[m]:b});return{...w,data:{x:w.x-n,y:w.y-r}}}}},t9e=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:i,rects:o,middlewareData:a}=t,{offset:s=0,mainAxis:l=!0,crossAxis:u=!0}=e,d={x:n,y:r},h=w0(i),m=TG(h);let y=d[h],b=d[m];const w=typeof s=="function"?s({...o,placement:i}):s,E=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(l){const O=h==="y"?"height":"width",D=o.reference[h]-o.floating[O]+E.mainAxis,I=o.reference[h]+o.reference[O]-E.mainAxis;yI&&(y=I)}if(u){var _,k,T,L;const O=h==="y"?"width":"height",D=["top","left"].includes(gp(i)),I=o.reference[m]-o.floating[O]+(D&&(_=(k=a.offset)==null?void 0:k[m])!=null?_:0)+(D?0:E.crossAxis),N=o.reference[m]+o.reference[O]+(D?0:(T=(L=a.offset)==null?void 0:L[m])!=null?T:0)-(D?E.crossAxis:0);bN&&(b=N)}return{[h]:y,[m]:b}}}},n9e=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:i,elements:o}=t,{apply:a,...s}=e,l=await By(t,s),u=gp(n),d=x2(n);let h,m;u==="top"||u==="bottom"?(h=u,m=d===(await(i.isRTL==null?void 0:i.isRTL(o.floating))?"start":"end")?"left":"right"):(m=u,h=d==="end"?"top":"bottom");const y=vh(l.left,0),b=vh(l.right,0),w=vh(l.top,0),E=vh(l.bottom,0),_={availableHeight:r.floating.height-(["left","right"].includes(n)?2*(w!==0||E!==0?w+E:vh(l.top,l.bottom)):l[h]),availableWidth:r.floating.width-(["top","bottom"].includes(n)?2*(y!==0||b!==0?y+b:vh(l.left,l.right)):l[m])},k=await i.getDimensions(o.floating);a==null||a({...t,..._});const T=await i.getDimensions(o.floating);return k.width!==T.width||k.height!==T.height?{reset:{rects:!0}}:{}}}};function MG(e){return e&&e.document&&e.location&&e.alert&&e.setInterval}function vc(e){if(e==null)return window;if(!MG(e)){const t=e.ownerDocument;return t&&t.defaultView||window}return e}function S2(e){return vc(e).getComputedStyle(e)}function Xu(e){return MG(e)?"":e?(e.nodeName||"").toLowerCase():""}function LG(){const e=navigator.userAgentData;return e!=null&&e.brands?e.brands.map(t=>t.brand+"/"+t.version).join(" "):navigator.userAgent}function ou(e){return e instanceof vc(e).HTMLElement}function ef(e){return e instanceof vc(e).Element}function GE(e){return typeof ShadowRoot>"u"?!1:e instanceof vc(e).ShadowRoot||e instanceof ShadowRoot}function g4(e){const{overflow:t,overflowX:n,overflowY:r}=S2(e);return/auto|scroll|overlay|hidden/.test(t+r+n)}function r9e(e){return["table","td","th"].includes(Xu(e))}function QI(e){const t=/firefox/i.test(LG()),n=S2(e);return n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].includes(n.willChange)||t&&n.willChange==="filter"||t&&!!n.filter&&n.filter!=="none"}function AG(){return!/^((?!chrome|android).)*safari/i.test(LG())}const JI=Math.min,Y1=Math.max,D3=Math.round;function Zu(e,t,n){var r,i,o,a;t===void 0&&(t=!1),n===void 0&&(n=!1);const s=e.getBoundingClientRect();let l=1,u=1;t&&ou(e)&&(l=e.offsetWidth>0&&D3(s.width)/e.offsetWidth||1,u=e.offsetHeight>0&&D3(s.height)/e.offsetHeight||1);const d=ef(e)?vc(e):window,h=!AG()&&n,m=(s.left+(h&&(r=(i=d.visualViewport)==null?void 0:i.offsetLeft)!=null?r:0))/l,y=(s.top+(h&&(o=(a=d.visualViewport)==null?void 0:a.offsetTop)!=null?o:0))/u,b=s.width/l,w=s.height/u;return{width:b,height:w,top:y,right:m+b,bottom:y+w,left:m,x:m,y}}function zd(e){return(t=e,(t instanceof vc(t).Node?e.ownerDocument:e.document)||window.document).documentElement;var t}function m4(e){return ef(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function OG(e){return Zu(zd(e)).left+m4(e).scrollLeft}function i9e(e,t,n){const r=ou(t),i=zd(t),o=Zu(e,r&&function(l){const u=Zu(l);return D3(u.width)!==l.offsetWidth||D3(u.height)!==l.offsetHeight}(t),n==="fixed");let a={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if(r||!r&&n!=="fixed")if((Xu(t)!=="body"||g4(i))&&(a=m4(t)),ou(t)){const l=Zu(t,!0);s.x=l.x+t.clientLeft,s.y=l.y+t.clientTop}else i&&(s.x=OG(i));return{x:o.left+a.scrollLeft-s.x,y:o.top+a.scrollTop-s.y,width:o.width,height:o.height}}function RG(e){return Xu(e)==="html"?e:e.assignedSlot||e.parentNode||(GE(e)?e.host:null)||zd(e)}function eD(e){return ou(e)&&getComputedStyle(e).position!=="fixed"?e.offsetParent:null}function Zk(e){const t=vc(e);let n=eD(e);for(;n&&r9e(n)&&getComputedStyle(n).position==="static";)n=eD(n);return n&&(Xu(n)==="html"||Xu(n)==="body"&&getComputedStyle(n).position==="static"&&!QI(n))?t:n||function(r){let i=RG(r);for(GE(i)&&(i=i.host);ou(i)&&!["html","body"].includes(Xu(i));){if(QI(i))return i;i=i.parentNode}return null}(e)||t}function tD(e){if(ou(e))return{width:e.offsetWidth,height:e.offsetHeight};const t=Zu(e);return{width:t.width,height:t.height}}function IG(e){const t=RG(e);return["html","body","#document"].includes(Xu(t))?e.ownerDocument.body:ou(t)&&g4(t)?t:IG(t)}function j3(e,t){var n;t===void 0&&(t=[]);const r=IG(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=vc(r),a=i?[o].concat(o.visualViewport||[],g4(r)?r:[]):r,s=t.concat(a);return i?s:s.concat(j3(a))}function nD(e,t,n){return t==="viewport"?R3(function(r,i){const o=vc(r),a=zd(r),s=o.visualViewport;let l=a.clientWidth,u=a.clientHeight,d=0,h=0;if(s){l=s.width,u=s.height;const m=AG();(m||!m&&i==="fixed")&&(d=s.offsetLeft,h=s.offsetTop)}return{width:l,height:u,x:d,y:h}}(e,n)):ef(t)?function(r,i){const o=Zu(r,!1,i==="fixed"),a=o.top+r.clientTop,s=o.left+r.clientLeft;return{top:a,left:s,x:s,y:a,right:s+r.clientWidth,bottom:a+r.clientHeight,width:r.clientWidth,height:r.clientHeight}}(t,n):R3(function(r){var i;const o=zd(r),a=m4(r),s=(i=r.ownerDocument)==null?void 0:i.body,l=Y1(o.scrollWidth,o.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),u=Y1(o.scrollHeight,o.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0);let d=-a.scrollLeft+OG(r);const h=-a.scrollTop;return S2(s||o).direction==="rtl"&&(d+=Y1(o.clientWidth,s?s.clientWidth:0)-l),{width:l,height:u,x:d,y:h}}(zd(e)))}function o9e(e){const t=j3(e),n=["absolute","fixed"].includes(S2(e).position)&&ou(e)?Zk(e):e;return ef(n)?t.filter(r=>ef(r)&&function(i,o){const a=o.getRootNode==null?void 0:o.getRootNode();if(i.contains(o))return!0;if(a&&GE(a)){let s=o;do{if(s&&i===s)return!0;s=s.parentNode||s.host}while(s)}return!1}(r,n)&&Xu(r)!=="body"):[]}const a9e={getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e;const o=[...n==="clippingAncestors"?o9e(t):[].concat(n),r],a=o[0],s=o.reduce((l,u)=>{const d=nD(t,u,i);return l.top=Y1(d.top,l.top),l.right=JI(d.right,l.right),l.bottom=JI(d.bottom,l.bottom),l.left=Y1(d.left,l.left),l},nD(t,a,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const i=ou(n),o=zd(n);if(n===o)return t;let a={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if((i||!i&&r!=="fixed")&&((Xu(n)!=="body"||g4(o))&&(a=m4(n)),ou(n))){const l=Zu(n,!0);s.x=l.x+n.clientLeft,s.y=l.y+n.clientTop}return{...t,x:t.x-a.scrollLeft+s.x,y:t.y-a.scrollTop+s.y}},isElement:ef,getDimensions:tD,getOffsetParent:Zk,getDocumentElement:zd,getElementRects:e=>{let{reference:t,floating:n,strategy:r}=e;return{reference:i9e(t,Zk(n),r),floating:{...tD(n),x:0,y:0}}},getClientRects:e=>Array.from(e.getClientRects()),isRTL:e=>S2(e).direction==="rtl"};function s9e(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:a=!0,animationFrame:s=!1}=r,l=i&&!s,u=o&&!s,d=l||u?[...ef(e)?j3(e):[],...j3(t)]:[];d.forEach(b=>{l&&b.addEventListener("scroll",n,{passive:!0}),u&&b.addEventListener("resize",n)});let h,m=null;if(a){let b=!0;m=new ResizeObserver(()=>{b||n(),b=!1}),ef(e)&&!s&&m.observe(e),m.observe(t)}let y=s?Zu(e):null;return s&&function b(){const w=Zu(e);!y||w.x===y.x&&w.y===y.y&&w.width===y.width&&w.height===y.height||n(),y=w,h=requestAnimationFrame(b)}(),n(),()=>{var b;d.forEach(w=>{l&&w.removeEventListener("scroll",n),u&&w.removeEventListener("resize",n)}),(b=m)==null||b.disconnect(),m=null,s&&cancelAnimationFrame(h)}}const l9e=(e,t,n)=>G7e(e,t,{platform:a9e,...n});var Qk=typeof document<"u"?S.useLayoutEffect:S.useEffect;function Jk(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,i;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(!Jk(e[r],t[r]))return!1;return!0}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;for(r=n;r--!==0;){const o=i[r];if(!(o==="_owner"&&e.$$typeof)&&!Jk(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}function u9e(e){const t=S.useRef(e);return Qk(()=>{t.current=e}),t}function c9e(e){let{middleware:t,placement:n="bottom",strategy:r="absolute",whileElementsMounted:i}=e===void 0?{}:e;const o=S.useRef(null),a=S.useRef(null),s=u9e(i),l=S.useRef(null),[u,d]=S.useState({x:null,y:null,strategy:r,placement:n,middlewareData:{}}),[h,m]=S.useState(t);Jk(h==null?void 0:h.map(T=>{let{options:L}=T;return L}),t==null?void 0:t.map(T=>{let{options:L}=T;return L}))||m(t);const y=S.useCallback(()=>{!o.current||!a.current||l9e(o.current,a.current,{middleware:h,placement:n,strategy:r}).then(T=>{b.current&&Xs.flushSync(()=>{d(T)})})},[h,n,r]);Qk(()=>{b.current&&y()},[y]);const b=S.useRef(!1);Qk(()=>(b.current=!0,()=>{b.current=!1}),[]);const w=S.useCallback(()=>{if(typeof l.current=="function"&&(l.current(),l.current=null),o.current&&a.current)if(s.current){const T=s.current(o.current,a.current,y);l.current=T}else y()},[y,s]),E=S.useCallback(T=>{o.current=T,w()},[w]),_=S.useCallback(T=>{a.current=T,w()},[w]),k=S.useMemo(()=>({reference:o,floating:a}),[]);return S.useMemo(()=>({...u,update:y,refs:k,reference:E,floating:_}),[u,y,k,E,_])}const d9e=e=>{const{element:t,padding:n}=e;function r(i){return Object.prototype.hasOwnProperty.call(i,"current")}return{name:"arrow",options:e,fn(i){return r(t)?t.current!=null?KI({element:t.current,padding:n}).fn(i):{}:t?KI({element:t,padding:n}).fn(i):{}}}};function f9e(e){const[t,n]=S.useState(void 0);return Pd(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const o=i[0];let a,s;if("borderBoxSize"in o){const l=o.borderBoxSize,u=Array.isArray(l)?l[0]:l;a=u.inlineSize,s=u.blockSize}else a=e.offsetWidth,s=e.offsetHeight;n({width:a,height:s})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}const DG="Popper",[qE,jG]=b2(DG),[h9e,NG]=qE(DG),p9e=e=>{const{__scopePopper:t,children:n}=e,[r,i]=S.useState(null);return S.createElement(h9e,{scope:t,anchor:r,onAnchorChange:i},n)},g9e="PopperAnchor",m9e=S.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...i}=e,o=NG(g9e,n),a=S.useRef(null),s=ds(t,a);return S.useEffect(()=>{o.onAnchorChange((r==null?void 0:r.current)||a.current)}),r?null:S.createElement(sc.div,pn({},i,{ref:s}))}),N3="PopperContent",[v9e,GNe]=qE(N3),[y9e,b9e]=qE(N3,{hasParent:!1,positionUpdateFns:new Set}),x9e=S.forwardRef((e,t)=>{var n,r,i,o,a,s,l,u;const{__scopePopper:d,side:h="bottom",sideOffset:m=0,align:y="center",alignOffset:b=0,arrowPadding:w=0,collisionBoundary:E=[],collisionPadding:_=0,sticky:k="partial",hideWhenDetached:T=!1,avoidCollisions:L=!0,onPlaced:O,...D}=e,I=NG(N3,d),[N,W]=S.useState(null),B=ds(t,We=>W(We)),[K,ne]=S.useState(null),z=f9e(K),$=(n=z==null?void 0:z.width)!==null&&n!==void 0?n:0,V=(r=z==null?void 0:z.height)!==null&&r!==void 0?r:0,X=h+(y!=="center"?"-"+y:""),Q=typeof _=="number"?_:{top:0,right:0,bottom:0,left:0,..._},G=Array.isArray(E)?E:[E],Y=G.length>0,ee={padding:Q,boundary:G.filter(w9e),altBoundary:Y},{reference:fe,floating:Ce,strategy:Se,x:xe,y:Le,placement:je,middlewareData:Ze,update:_e}=c9e({strategy:"fixed",placement:X,whileElementsMounted:s9e,middleware:[C9e(),J7e({mainAxis:m+V,alignmentAxis:b}),L?e9e({mainAxis:!0,crossAxis:!1,limiter:k==="partial"?t9e():void 0,...ee}):void 0,K?d9e({element:K,padding:w}):void 0,L?Z7e({...ee}):void 0,n9e({...ee,apply:({elements:We,availableWidth:Ve,availableHeight:ye})=>{We.floating.style.setProperty("--radix-popper-available-width",`${Ve}px`),We.floating.style.setProperty("--radix-popper-available-height",`${ye}px`)}}),_9e({arrowWidth:$,arrowHeight:V}),T?Q7e({strategy:"referenceHidden"}):void 0].filter(S9e)});Pd(()=>{fe(I.anchor)},[fe,I.anchor]);const tt=xe!==null&&Le!==null,[yt,ze]=$G(je),Ae=Js(O);Pd(()=>{tt&&(Ae==null||Ae())},[tt,Ae]);const bt=(i=Ze.arrow)===null||i===void 0?void 0:i.x,Be=(o=Ze.arrow)===null||o===void 0?void 0:o.y,at=((a=Ze.arrow)===null||a===void 0?void 0:a.centerOffset)!==0,[jt,mt]=S.useState();Pd(()=>{N&&mt(window.getComputedStyle(N).zIndex)},[N]);const{hasParent:Zt,positionUpdateFns:on}=b9e(N3,d),le=!Zt;S.useLayoutEffect(()=>{if(!le)return on.add(_e),()=>{on.delete(_e)}},[le,on,_e]),Pd(()=>{le&&tt&&Array.from(on).reverse().forEach(We=>requestAnimationFrame(We))},[le,tt,on]);const De={"data-side":yt,"data-align":ze,...D,ref:B,style:{...D.style,animation:tt?void 0:"none",opacity:(s=Ze.hide)!==null&&s!==void 0&&s.referenceHidden?0:void 0}};return S.createElement("div",{ref:Ce,"data-radix-popper-content-wrapper":"",style:{position:Se,left:0,top:0,transform:tt?`translate3d(${Math.round(xe)}px, ${Math.round(Le)}px, 0)`:"translate3d(0, -200%, 0)",minWidth:"max-content",zIndex:jt,["--radix-popper-transform-origin"]:[(l=Ze.transformOrigin)===null||l===void 0?void 0:l.x,(u=Ze.transformOrigin)===null||u===void 0?void 0:u.y].join(" ")},dir:e.dir},S.createElement(v9e,{scope:d,placedSide:yt,onArrowChange:ne,arrowX:bt,arrowY:Be,shouldHideArrow:at},le?S.createElement(y9e,{scope:d,hasParent:!0,positionUpdateFns:on},S.createElement(sc.div,De)):S.createElement(sc.div,De)))});function S9e(e){return e!==void 0}function w9e(e){return e!==null}const C9e=()=>({name:"anchorCssProperties",fn(e){const{rects:t,elements:n}=e,{width:r,height:i}=t.reference;return n.floating.style.setProperty("--radix-popper-anchor-width",`${r}px`),n.floating.style.setProperty("--radix-popper-anchor-height",`${i}px`),{}}}),_9e=e=>({name:"transformOrigin",options:e,fn(t){var n,r,i,o,a;const{placement:s,rects:l,middlewareData:u}=t,h=((n=u.arrow)===null||n===void 0?void 0:n.centerOffset)!==0,m=h?0:e.arrowWidth,y=h?0:e.arrowHeight,[b,w]=$G(s),E={start:"0%",center:"50%",end:"100%"}[w],_=((r=(i=u.arrow)===null||i===void 0?void 0:i.x)!==null&&r!==void 0?r:0)+m/2,k=((o=(a=u.arrow)===null||a===void 0?void 0:a.y)!==null&&o!==void 0?o:0)+y/2;let T="",L="";return b==="bottom"?(T=h?E:`${_}px`,L=`${-y}px`):b==="top"?(T=h?E:`${_}px`,L=`${l.floating.height+y}px`):b==="right"?(T=`${-y}px`,L=h?E:`${k}px`):b==="left"&&(T=`${l.floating.width+y}px`,L=h?E:`${k}px`),{data:{x:T,y:L}}}});function $G(e){const[t,n="center"]=e.split("-");return[t,n]}const k9e=p9e,E9e=m9e,P9e=x9e;function T9e(e,t){return S.useReducer((n,r)=>{const i=t[n][r];return i??n},e)}const FG=e=>{const{present:t,children:n}=e,r=M9e(t),i=typeof n=="function"?n({present:r.isPresent}):S.Children.only(n),o=ds(r.ref,i.ref);return typeof n=="function"||r.isPresent?S.cloneElement(i,{ref:o}):null};FG.displayName="Presence";function M9e(e){const[t,n]=S.useState(),r=S.useRef({}),i=S.useRef(e),o=S.useRef("none"),a=e?"mounted":"unmounted",[s,l]=T9e(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return S.useEffect(()=>{const u=Sx(r.current);o.current=s==="mounted"?u:"none"},[s]),Pd(()=>{const u=r.current,d=i.current;if(d!==e){const m=o.current,y=Sx(u);e?l("MOUNT"):y==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==y?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,l]),Pd(()=>{if(t){const u=h=>{const y=Sx(r.current).includes(h.animationName);h.target===t&&y&&Xs.flushSync(()=>l("ANIMATION_END"))},d=h=>{h.target===t&&(o.current=Sx(r.current))};return t.addEventListener("animationstart",d),t.addEventListener("animationcancel",u),t.addEventListener("animationend",u),()=>{t.removeEventListener("animationstart",d),t.removeEventListener("animationcancel",u),t.removeEventListener("animationend",u)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:S.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function Sx(e){return(e==null?void 0:e.animationName)||"none"}function L9e({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,i]=A9e({defaultProp:t,onChange:n}),o=e!==void 0,a=o?e:r,s=Js(n),l=S.useCallback(u=>{if(o){const h=typeof u=="function"?u(e):u;h!==e&&s(h)}else i(u)},[o,e,i,s]);return[a,l]}function A9e({defaultProp:e,onChange:t}){const n=S.useState(e),[r]=n,i=S.useRef(r),o=Js(t);return S.useEffect(()=>{i.current!==r&&(o(r),i.current=r)},[r,i,o]),n}const i6="rovingFocusGroup.onEntryFocus",O9e={bubbles:!1,cancelable:!0},KE="RovingFocusGroup",[e7,BG,R9e]=wG(KE),[I9e,zG]=b2(KE,[R9e]),[D9e,j9e]=I9e(KE),N9e=S.forwardRef((e,t)=>S.createElement(e7.Provider,{scope:e.__scopeRovingFocusGroup},S.createElement(e7.Slot,{scope:e.__scopeRovingFocusGroup},S.createElement($9e,pn({},e,{ref:t}))))),$9e=S.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:o,currentTabStopId:a,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:l,onEntryFocus:u,...d}=e,h=S.useRef(null),m=ds(t,h),y=CG(o),[b=null,w]=L9e({prop:a,defaultProp:s,onChange:l}),[E,_]=S.useState(!1),k=Js(u),T=BG(n),L=S.useRef(!1),[O,D]=S.useState(0);return S.useEffect(()=>{const I=h.current;if(I)return I.addEventListener(i6,k),()=>I.removeEventListener(i6,k)},[k]),S.createElement(D9e,{scope:n,orientation:r,dir:y,loop:i,currentTabStopId:b,onItemFocus:S.useCallback(I=>w(I),[w]),onItemShiftTab:S.useCallback(()=>_(!0),[]),onFocusableItemAdd:S.useCallback(()=>D(I=>I+1),[]),onFocusableItemRemove:S.useCallback(()=>D(I=>I-1),[])},S.createElement(sc.div,pn({tabIndex:E||O===0?-1:0,"data-orientation":r},d,{ref:m,style:{outline:"none",...e.style},onMouseDown:Kn(e.onMouseDown,()=>{L.current=!0}),onFocus:Kn(e.onFocus,I=>{const N=!L.current;if(I.target===I.currentTarget&&N&&!E){const W=new CustomEvent(i6,O9e);if(I.currentTarget.dispatchEvent(W),!W.defaultPrevented){const B=T().filter(V=>V.focusable),K=B.find(V=>V.active),ne=B.find(V=>V.id===b),$=[K,ne,...B].filter(Boolean).map(V=>V.ref.current);HG($)}}L.current=!1}),onBlur:Kn(e.onBlur,()=>_(!1))})))}),F9e="RovingFocusGroupItem",B9e=S.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:o,...a}=e,s=V7e(),l=o||s,u=j9e(F9e,n),d=u.currentTabStopId===l,h=BG(n),{onFocusableItemAdd:m,onFocusableItemRemove:y}=u;return S.useEffect(()=>{if(r)return m(),()=>y()},[r,m,y]),S.createElement(e7.ItemSlot,{scope:n,id:l,focusable:r,active:i},S.createElement(sc.span,pn({tabIndex:d?0:-1,"data-orientation":u.orientation},a,{ref:t,onMouseDown:Kn(e.onMouseDown,b=>{r?u.onItemFocus(l):b.preventDefault()}),onFocus:Kn(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:Kn(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){u.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const w=W9e(b,u.orientation,u.dir);if(w!==void 0){b.preventDefault();let _=h().filter(k=>k.focusable).map(k=>k.ref.current);if(w==="last")_.reverse();else if(w==="prev"||w==="next"){w==="prev"&&_.reverse();const k=_.indexOf(b.currentTarget);_=u.loop?U9e(_,k+1):_.slice(k+1)}setTimeout(()=>HG(_))}})})))}),z9e={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function H9e(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function W9e(e,t,n){const r=H9e(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return z9e[r]}function HG(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function U9e(e,t){return e.map((n,r)=>e[(t+r)%e.length])}const V9e=N9e,G9e=B9e,q9e=["Enter"," "],K9e=["ArrowDown","PageUp","Home"],WG=["ArrowUp","PageDown","End"],Y9e=[...K9e,...WG],v4="Menu",[t7,X9e,Z9e]=wG(v4),[mp,UG]=b2(v4,[Z9e,jG,zG]),YE=jG(),VG=zG(),[Q9e,y4]=mp(v4),[J9e,XE]=mp(v4),e8e=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:o,modal:a=!0}=e,s=YE(t),[l,u]=S.useState(null),d=S.useRef(!1),h=Js(o),m=CG(i);return S.useEffect(()=>{const y=()=>{d.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>d.current=!1;return document.addEventListener("keydown",y,{capture:!0}),()=>{document.removeEventListener("keydown",y,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),S.createElement(k9e,s,S.createElement(Q9e,{scope:t,open:n,onOpenChange:h,content:l,onContentChange:u},S.createElement(J9e,{scope:t,onClose:S.useCallback(()=>h(!1),[h]),isUsingKeyboardRef:d,dir:m,modal:a},r)))},t8e=S.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=YE(n);return S.createElement(E9e,pn({},i,r,{ref:t}))}),n8e="MenuPortal",[qNe,r8e]=mp(n8e,{forceMount:void 0}),Hd="MenuContent",[i8e,GG]=mp(Hd),o8e=S.forwardRef((e,t)=>{const n=r8e(Hd,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,o=y4(Hd,e.__scopeMenu),a=XE(Hd,e.__scopeMenu);return S.createElement(t7.Provider,{scope:e.__scopeMenu},S.createElement(FG,{present:r||o.open},S.createElement(t7.Slot,{scope:e.__scopeMenu},a.modal?S.createElement(a8e,pn({},i,{ref:t})):S.createElement(s8e,pn({},i,{ref:t})))))}),a8e=S.forwardRef((e,t)=>{const n=y4(Hd,e.__scopeMenu),r=S.useRef(null),i=ds(t,r);return S.useEffect(()=>{const o=r.current;if(o)return AH(o)},[]),S.createElement(qG,pn({},e,{ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Kn(e.onFocusOutside,o=>o.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)}))}),s8e=S.forwardRef((e,t)=>{const n=y4(Hd,e.__scopeMenu);return S.createElement(qG,pn({},e,{ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)}))}),qG=S.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:o,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:h,onInteractOutside:m,onDismiss:y,disableOutsideScroll:b,...w}=e,E=y4(Hd,n),_=XE(Hd,n),k=YE(n),T=VG(n),L=X9e(n),[O,D]=S.useState(null),I=S.useRef(null),N=ds(t,I,E.onContentChange),W=S.useRef(0),B=S.useRef(""),K=S.useRef(0),ne=S.useRef(null),z=S.useRef("right"),$=S.useRef(0),V=b?$H:S.Fragment,X=b?{as:Fy,allowPinchZoom:!0}:void 0,Q=Y=>{var ee,fe;const Ce=B.current+Y,Se=L().filter(tt=>!tt.disabled),xe=document.activeElement,Le=(ee=Se.find(tt=>tt.ref.current===xe))===null||ee===void 0?void 0:ee.textValue,je=Se.map(tt=>tt.textValue),Ze=m8e(je,Ce,Le),_e=(fe=Se.find(tt=>tt.textValue===Ze))===null||fe===void 0?void 0:fe.ref.current;(function tt(yt){B.current=yt,window.clearTimeout(W.current),yt!==""&&(W.current=window.setTimeout(()=>tt(""),1e3))})(Ce),_e&&setTimeout(()=>_e.focus())};S.useEffect(()=>()=>window.clearTimeout(W.current),[]),D7e();const G=S.useCallback(Y=>{var ee,fe;return z.current===((ee=ne.current)===null||ee===void 0?void 0:ee.side)&&y8e(Y,(fe=ne.current)===null||fe===void 0?void 0:fe.area)},[]);return S.createElement(i8e,{scope:n,searchRef:B,onItemEnter:S.useCallback(Y=>{G(Y)&&Y.preventDefault()},[G]),onItemLeave:S.useCallback(Y=>{var ee;G(Y)||((ee=I.current)===null||ee===void 0||ee.focus(),D(null))},[G]),onTriggerLeave:S.useCallback(Y=>{G(Y)&&Y.preventDefault()},[G]),pointerGraceTimerRef:K,onPointerGraceIntentChange:S.useCallback(Y=>{ne.current=Y},[])},S.createElement(V,X,S.createElement(j7e,{asChild:!0,trapped:i,onMountAutoFocus:Kn(o,Y=>{var ee;Y.preventDefault(),(ee=I.current)===null||ee===void 0||ee.focus()}),onUnmountAutoFocus:a},S.createElement(O7e,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:h,onInteractOutside:m,onDismiss:y},S.createElement(V9e,pn({asChild:!0},T,{dir:_.dir,orientation:"vertical",loop:r,currentTabStopId:O,onCurrentTabStopIdChange:D,onEntryFocus:Kn(l,Y=>{_.isUsingKeyboardRef.current||Y.preventDefault()})}),S.createElement(P9e,pn({role:"menu","aria-orientation":"vertical","data-state":h8e(E.open),"data-radix-menu-content":"",dir:_.dir},k,w,{ref:N,style:{outline:"none",...w.style},onKeyDown:Kn(w.onKeyDown,Y=>{const fe=Y.target.closest("[data-radix-menu-content]")===Y.currentTarget,Ce=Y.ctrlKey||Y.altKey||Y.metaKey,Se=Y.key.length===1;fe&&(Y.key==="Tab"&&Y.preventDefault(),!Ce&&Se&&Q(Y.key));const xe=I.current;if(Y.target!==xe||!Y9e.includes(Y.key))return;Y.preventDefault();const je=L().filter(Ze=>!Ze.disabled).map(Ze=>Ze.ref.current);WG.includes(Y.key)&&je.reverse(),p8e(je)}),onBlur:Kn(e.onBlur,Y=>{Y.currentTarget.contains(Y.target)||(window.clearTimeout(W.current),B.current="")}),onPointerMove:Kn(e.onPointerMove,r7(Y=>{const ee=Y.target,fe=$.current!==Y.clientX;if(Y.currentTarget.contains(ee)&&fe){const Ce=Y.clientX>$.current?"right":"left";z.current=Ce,$.current=Y.clientX}}))})))))))}),n7="MenuItem",rD="menu.itemSelect",l8e=S.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...i}=e,o=S.useRef(null),a=XE(n7,e.__scopeMenu),s=GG(n7,e.__scopeMenu),l=ds(t,o),u=S.useRef(!1),d=()=>{const h=o.current;if(!n&&h){const m=new CustomEvent(rD,{bubbles:!0,cancelable:!0});h.addEventListener(rD,y=>r==null?void 0:r(y),{once:!0}),SG(h,m),m.defaultPrevented?u.current=!1:a.onClose()}};return S.createElement(u8e,pn({},i,{ref:l,disabled:n,onClick:Kn(e.onClick,d),onPointerDown:h=>{var m;(m=e.onPointerDown)===null||m===void 0||m.call(e,h),u.current=!0},onPointerUp:Kn(e.onPointerUp,h=>{var m;u.current||(m=h.currentTarget)===null||m===void 0||m.click()}),onKeyDown:Kn(e.onKeyDown,h=>{const m=s.searchRef.current!=="";n||m&&h.key===" "||q9e.includes(h.key)&&(h.currentTarget.click(),h.preventDefault())})}))}),u8e=S.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:i,...o}=e,a=GG(n7,n),s=VG(n),l=S.useRef(null),u=ds(t,l),[d,h]=S.useState(!1),[m,y]=S.useState("");return S.useEffect(()=>{const b=l.current;if(b){var w;y(((w=b.textContent)!==null&&w!==void 0?w:"").trim())}},[o.children]),S.createElement(t7.ItemSlot,{scope:n,disabled:r,textValue:i??m},S.createElement(G9e,pn({asChild:!0},s,{focusable:!r}),S.createElement(sc.div,pn({role:"menuitem","data-highlighted":d?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0},o,{ref:u,onPointerMove:Kn(e.onPointerMove,r7(b=>{r?a.onItemLeave(b):(a.onItemEnter(b),b.defaultPrevented||b.currentTarget.focus())})),onPointerLeave:Kn(e.onPointerLeave,r7(b=>a.onItemLeave(b))),onFocus:Kn(e.onFocus,()=>h(!0)),onBlur:Kn(e.onBlur,()=>h(!1))}))))}),c8e="MenuRadioGroup";mp(c8e,{value:void 0,onValueChange:()=>{}});const d8e="MenuItemIndicator";mp(d8e,{checked:!1});const f8e="MenuSub";mp(f8e);function h8e(e){return e?"open":"closed"}function p8e(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function g8e(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function m8e(e,t,n){const i=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,o=n?e.indexOf(n):-1;let a=g8e(e,Math.max(o,0));i.length===1&&(a=a.filter(u=>u!==n));const l=a.find(u=>u.toLowerCase().startsWith(i.toLowerCase()));return l!==n?l:void 0}function v8e(e,t){const{x:n,y:r}=e;let i=!1;for(let o=0,a=t.length-1;or!=d>r&&n<(u-s)*(r-l)/(d-l)+s&&(i=!i)}return i}function y8e(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return v8e(n,t)}function r7(e){return t=>t.pointerType==="mouse"?e(t):void 0}const b8e=e8e,x8e=t8e,S8e=o8e,w8e=l8e,KG="ContextMenu",[C8e,KNe]=b2(KG,[UG]),b4=UG(),[_8e,YG]=C8e(KG),k8e=e=>{const{__scopeContextMenu:t,children:n,onOpenChange:r,dir:i,modal:o=!0}=e,[a,s]=S.useState(!1),l=b4(t),u=Js(r),d=S.useCallback(h=>{s(h),u(h)},[u]);return S.createElement(_8e,{scope:t,open:a,onOpenChange:d,modal:o},S.createElement(b8e,pn({},l,{dir:i,open:a,onOpenChange:d,modal:o}),n))},E8e="ContextMenuTrigger",P8e=S.forwardRef((e,t)=>{const{__scopeContextMenu:n,disabled:r=!1,...i}=e,o=YG(E8e,n),a=b4(n),s=S.useRef({x:0,y:0}),l=S.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...s.current})}),u=S.useRef(0),d=S.useCallback(()=>window.clearTimeout(u.current),[]),h=m=>{s.current={x:m.clientX,y:m.clientY},o.onOpenChange(!0)};return S.useEffect(()=>d,[d]),S.useEffect(()=>void(r&&d()),[r,d]),S.createElement(S.Fragment,null,S.createElement(x8e,pn({},a,{virtualRef:l})),S.createElement(sc.span,pn({"data-state":o.open?"open":"closed","data-disabled":r?"":void 0},i,{ref:t,style:{WebkitTouchCallout:"none",...e.style},onContextMenu:r?e.onContextMenu:Kn(e.onContextMenu,m=>{d(),h(m),m.preventDefault()}),onPointerDown:r?e.onPointerDown:Kn(e.onPointerDown,wx(m=>{d(),u.current=window.setTimeout(()=>h(m),700)})),onPointerMove:r?e.onPointerMove:Kn(e.onPointerMove,wx(d)),onPointerCancel:r?e.onPointerCancel:Kn(e.onPointerCancel,wx(d)),onPointerUp:r?e.onPointerUp:Kn(e.onPointerUp,wx(d))})))}),T8e="ContextMenuContent",M8e=S.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=YG(T8e,n),o=b4(n),a=S.useRef(!1);return S.createElement(S8e,pn({},o,r,{ref:t,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:s=>{var l;(l=e.onCloseAutoFocus)===null||l===void 0||l.call(e,s),!s.defaultPrevented&&a.current&&s.preventDefault(),a.current=!1},onInteractOutside:s=>{var l;(l=e.onInteractOutside)===null||l===void 0||l.call(e,s),!s.defaultPrevented&&!i.modal&&(a.current=!0)},style:{...e.style,["--radix-context-menu-content-transform-origin"]:"var(--radix-popper-transform-origin)"}}))}),L8e=S.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=b4(n);return S.createElement(w8e,pn({},i,r,{ref:t}))});function wx(e){return t=>t.pointerType!=="mouse"?e(t):void 0}const A8e=k8e,O8e=P8e,R8e=M8e,ud=L8e,I8e=(e,t)=>e.image.uuid===t.image.uuid&&e.isSelected===t.isSelected,XG=S.memo(e=>{var z,$,V,X,Q,G,Y,ee;const t=Te(),{activeTabName:n,galleryImageObjectFit:r,galleryImageMinimumWidth:i,mayDeleteImage:o,shouldUseSingleGalleryColumn:a}=se(Vke),{image:s,isSelected:l}=e,{url:u,thumbnail:d,uuid:h,metadata:m}=s,[y,b]=S.useState(!1),w=a2(),{t:E}=Ie(),_=HE(),k=()=>b(!0),T=()=>b(!1),L=()=>{var fe,Ce,Se,xe;(Ce=(fe=s.metadata)==null?void 0:fe.image)!=null&&Ce.prompt&&_((xe=(Se=s.metadata)==null?void 0:Se.image)==null?void 0:xe.prompt),w({title:E("toast.promptSet"),status:"success",duration:2500,isClosable:!0})},O=()=>{s.metadata&&t(p2(s.metadata.image.seed)),w({title:E("toast.seedSet"),status:"success",duration:2500,isClosable:!0})},D=()=>{t(y0(s)),n!=="img2img"&&t(Uo("img2img")),w({title:E("toast.sentToImageToImage"),status:"success",duration:2500,isClosable:!0})},I=()=>{t(o4(s)),t(i4()),n!=="unifiedCanvas"&&t(Uo("unifiedCanvas")),w({title:E("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},N=()=>{m&&(t(lU(m)),t(yU(m))),w({title:E("toast.parametersSet"),status:"success",duration:2500,isClosable:!0})},W=async()=>{var fe;if((fe=m==null?void 0:m.image)!=null&&fe.init_image_path&&(await fetch(m.image.init_image_path)).ok){t(Uo("img2img")),t(B3e(m)),w({title:E("toast.initialImageSet"),status:"success",duration:2500,isClosable:!0});return}w({title:E("toast.initialImageNotSet"),description:E("toast.initialImageNotSetDesc"),status:"error",duration:2500,isClosable:!0})},B=()=>t(QO(s)),K=fe=>{fe.dataTransfer.setData("invokeai/imageUuid",h),fe.dataTransfer.effectAllowed="move"},ne=()=>{t(QO(s))};return g.jsxs(A8e,{onOpenChange:fe=>{t(tU(fe))},children:[g.jsx(O8e,{children:g.jsxs(qi,{position:"relative",className:"hoverable-image",onMouseOver:k,onMouseOut:T,userSelect:"none",draggable:!0,onDragStart:K,children:[g.jsx(Nw,{className:"hoverable-image-image",objectFit:a?"contain":r,rounded:"md",src:d||u,loading:"lazy"}),g.jsx("div",{className:"hoverable-image-content",onClick:B,children:l&&g.jsx(ja,{width:"50%",height:"50%",as:NE,className:"hoverable-image-check"})}),y&&i>=64&&g.jsx("div",{className:"hoverable-image-delete-button",children:g.jsx(O3,{image:s,children:g.jsx(ls,{"aria-label":E("parameters.deleteImage"),icon:g.jsx(zke,{}),size:"xs",variant:"imageHoverIconButton",fontSize:14,isDisabled:!o})})})]},h)}),g.jsxs(R8e,{className:"hoverable-image-context-menu",sticky:"always",onInteractOutside:fe=>{fe.detail.originalEvent.preventDefault()},children:[g.jsx(ud,{onClickCapture:ne,children:E("parameters.openInViewer")}),g.jsx(ud,{onClickCapture:L,disabled:(($=(z=s==null?void 0:s.metadata)==null?void 0:z.image)==null?void 0:$.prompt)===void 0,children:E("parameters.usePrompt")}),g.jsx(ud,{onClickCapture:O,disabled:((X=(V=s==null?void 0:s.metadata)==null?void 0:V.image)==null?void 0:X.seed)===void 0,children:E("parameters.useSeed")}),g.jsx(ud,{onClickCapture:N,disabled:!["txt2img","img2img"].includes((G=(Q=s==null?void 0:s.metadata)==null?void 0:Q.image)==null?void 0:G.type),children:E("parameters.useAll")}),g.jsx(ud,{onClickCapture:W,disabled:((ee=(Y=s==null?void 0:s.metadata)==null?void 0:Y.image)==null?void 0:ee.type)!=="img2img",children:E("parameters.useInitImg")}),g.jsx(ud,{onClickCapture:D,children:E("parameters.sendToImg2Img")}),g.jsx(ud,{onClickCapture:I,children:E("parameters.sendToUnifiedCanvas")}),g.jsx(ud,{"data-warning":!0,children:g.jsx(O3,{image:s,children:g.jsx("p",{children:E("parameters.deleteImage")})})})]})]})},I8e);XG.displayName="HoverableImage";const Cx=320,iD=40,D8e={txt2img:{galleryMinWidth:200,galleryMaxWidth:500},img2img:{galleryMinWidth:200,galleryMaxWidth:500},unifiedCanvas:{galleryMinWidth:200,galleryMaxWidth:200},nodes:{galleryMinWidth:200,galleryMaxWidth:500},postprocess:{galleryMinWidth:200,galleryMaxWidth:500},training:{galleryMinWidth:200,galleryMaxWidth:500}},oD=400;function ZG(){const e=Te(),{t}=Ie(),{images:n,currentCategory:r,currentImageUuid:i,shouldPinGallery:o,shouldShowGallery:a,galleryScrollPosition:s,galleryImageMinimumWidth:l,galleryGridTemplateColumns:u,activeTabName:d,galleryImageObjectFit:h,shouldHoldGalleryOpen:m,shouldAutoSwitchToNewImages:y,areMoreImagesAvailable:b,galleryWidth:w,isLightboxOpen:E,isStaging:_,shouldEnableResize:k,shouldUseSingleGalleryColumn:T}=se(Uke),{galleryMinWidth:L,galleryMaxWidth:O}=E?{galleryMinWidth:oD,galleryMaxWidth:oD}:D8e[d],[D,I]=S.useState(w>=Cx),[N,W]=S.useState(!1),[B,K]=S.useState(0),ne=S.useRef(null),z=S.useRef(null),$=S.useRef(null);S.useEffect(()=>{w>=Cx&&I(!1)},[w]);const V=()=>{e(P3e(!o)),e(Li(!0))},X=()=>{a?G():Q()},Q=()=>{e(Am(!0)),o&&e(Li(!0))},G=S.useCallback(()=>{e(Am(!1)),e(tU(!1)),e(T3e(z.current?z.current.scrollTop:0)),setTimeout(()=>o&&e(Li(!0)),400)},[e,o]),Y=()=>{e(Vk(r))},ee=xe=>{e(Gv(xe))},fe=()=>{m||($.current=window.setTimeout(()=>G(),500))},Ce=()=>{$.current&&window.clearTimeout($.current)};Je("g",()=>{X()},[a,o]),Je("left",()=>{e(yE())},{enabled:!_||d!=="unifiedCanvas"},[_]),Je("right",()=>{e(vE())},{enabled:!_||d!=="unifiedCanvas"},[_]),Je("shift+g",()=>{V()},[o]),Je("esc",()=>{e(Am(!1))},{enabled:()=>!o,preventDefault:!0},[o]);const Se=32;return Je("shift+up",()=>{if(l<256){const xe=we.clamp(l+Se,32,256);e(Gv(xe))}},[l]),Je("shift+down",()=>{if(l>32){const xe=we.clamp(l-Se,32,256);e(Gv(xe))}},[l]),S.useEffect(()=>{z.current&&(z.current.scrollTop=s)},[s,a]),S.useEffect(()=>{function xe(Le){!o&&ne.current&&!ne.current.contains(Le.target)&&G()}return document.addEventListener("mousedown",xe),()=>{document.removeEventListener("mousedown",xe)}},[G,o]),g.jsx(bG,{nodeRef:ne,in:a||m,unmountOnExit:!0,timeout:200,classNames:"image-gallery-wrapper",children:g.jsxs("div",{className:"image-gallery-wrapper",style:{zIndex:o?1:100},"data-pinned":o,ref:ne,onMouseLeave:o?void 0:fe,onMouseEnter:o?void 0:Ce,onMouseOver:o?void 0:Ce,children:[g.jsxs(hG,{minWidth:L,maxWidth:o?O:window.innerWidth,className:"image-gallery-popup",handleStyles:{left:{width:"15px"}},enable:{left:k},size:{width:w,height:o?"100%":"100vh"},onResizeStart:(xe,Le,je)=>{K(je.clientHeight),je.style.height=`${je.clientHeight}px`,o&&(je.style.position="fixed",je.style.right="1rem",W(!0))},onResizeStop:(xe,Le,je,Ze)=>{const _e=o?we.clamp(Number(w)+Ze.width,L,Number(O)):Number(w)+Ze.width;e(A3e(_e)),je.removeAttribute("data-resize-alert"),o&&(je.style.position="relative",je.style.removeProperty("right"),je.style.setProperty("height",o?"100%":"100vh"),W(!1),e(Li(!0)))},onResize:(xe,Le,je,Ze)=>{const _e=we.clamp(Number(w)+Ze.width,L,Number(o?O:.95*window.innerWidth));_e>=Cx&&!D?I(!0):_e_e-iD&&e(Gv(_e-iD)),o&&(_e>=O?je.setAttribute("data-resize-alert","true"):je.removeAttribute("data-resize-alert")),je.style.height=`${B}px`},children:[g.jsxs("div",{className:"image-gallery-header",children:[g.jsx(Gi,{size:"sm",isAttached:!0,variant:"solid",className:"image-gallery-category-btn-group",children:D?g.jsxs(g.Fragment,{children:[g.jsx(On,{size:"sm","data-selected":r==="result",onClick:()=>e(ex("result")),children:t("gallery.generations")}),g.jsx(On,{size:"sm","data-selected":r==="user",onClick:()=>e(ex("user")),children:t("gallery.uploads")})]}):g.jsxs(g.Fragment,{children:[g.jsx(Xe,{"aria-label":t("gallery.showGenerations"),tooltip:t("gallery.showGenerations"),"data-selected":r==="result",icon:g.jsx(Mke,{}),onClick:()=>e(ex("result"))}),g.jsx(Xe,{"aria-label":t("gallery.showUploads"),tooltip:t("gallery.showUploads"),"data-selected":r==="user",icon:g.jsx(Wke,{}),onClick:()=>e(ex("user"))})]})}),g.jsxs("div",{className:"image-gallery-header-right-icons",children:[g.jsx(Ys,{isLazy:!0,trigger:"hover",placement:"left",triggerComponent:g.jsx(Xe,{size:"sm","aria-label":t("gallery.gallerySettings"),icon:g.jsx(zE,{}),className:"image-gallery-icon-btn",cursor:"pointer"}),children:g.jsxs("div",{className:"image-gallery-settings-popover",children:[g.jsxs("div",{children:[g.jsx(Dn,{value:l,onChange:ee,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize")}),g.jsx(Xe,{size:"sm","aria-label":t("gallery.galleryImageResetSize"),tooltip:t("gallery.galleryImageResetSize"),onClick:()=>e(Gv(64)),icon:g.jsx(h4,{}),"data-selected":o,styleClass:"image-gallery-icon-btn"})]}),g.jsx("div",{children:g.jsx(Gn,{label:t("gallery.maintainAspectRatio"),isChecked:h==="contain",onChange:()=>e(M3e(h==="contain"?"cover":"contain"))})}),g.jsx("div",{children:g.jsx(Gn,{label:t("gallery.autoSwitchNewImages"),isChecked:y,onChange:xe=>e(L3e(xe.target.checked))})}),g.jsx("div",{children:g.jsx(Gn,{label:t("gallery.singleColumnLayout"),isChecked:T,onChange:xe=>e(O3e(xe.target.checked))})})]})}),g.jsx(Xe,{size:"sm",className:"image-gallery-icon-btn","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:V,icon:o?g.jsx(pG,{}):g.jsx(gG,{})})]})]}),g.jsx("div",{className:"image-gallery-container",ref:z,children:n.length||b?g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"image-gallery",style:{gridTemplateColumns:u},children:n.map(xe=>{const{uuid:Le}=xe,je=i===Le;return g.jsx(XG,{image:xe,isSelected:je},Le)})}),g.jsx(ss,{onClick:Y,isDisabled:!b,className:"image-gallery-load-more-btn",children:t(b?"gallery.loadMore":"gallery.allImagesLoaded")})]}):g.jsxs("div",{className:"image-gallery-container-placeholder",children:[g.jsx(mG,{}),g.jsx("p",{children:t("gallery.noImagesInGallery")})]})})]}),N&&g.jsx("div",{style:{width:`${w}px`,height:"100%"}})]})})}var ns=function(e,t){return Number(e.toFixed(t))},j8e=function(e,t){return typeof e=="number"?e:t},vr=function(e,t,n){n&&typeof n=="function"&&n(e,t)},N8e=function(e){return-Math.cos(e*Math.PI)/2+.5},$8e=function(e){return e},F8e=function(e){return e*e},B8e=function(e){return e*(2-e)},z8e=function(e){return e<.5?2*e*e:-1+(4-2*e)*e},H8e=function(e){return e*e*e},W8e=function(e){return--e*e*e+1},U8e=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1},V8e=function(e){return e*e*e*e},G8e=function(e){return 1- --e*e*e*e},q8e=function(e){return e<.5?8*e*e*e*e:1-8*--e*e*e*e},K8e=function(e){return e*e*e*e*e},Y8e=function(e){return 1+--e*e*e*e*e},X8e=function(e){return e<.5?16*e*e*e*e*e:1+16*--e*e*e*e*e},QG={easeOut:N8e,linear:$8e,easeInQuad:F8e,easeOutQuad:B8e,easeInOutQuad:z8e,easeInCubic:H8e,easeOutCubic:W8e,easeInOutCubic:U8e,easeInQuart:V8e,easeOutQuart:G8e,easeInOutQuart:q8e,easeInQuint:K8e,easeOutQuint:Y8e,easeInOutQuint:X8e},JG=function(e){typeof e=="number"&&cancelAnimationFrame(e)},Fl=function(e){e.mounted&&(JG(e.animation),e.animate=!1,e.animation=null,e.velocity=null)};function eq(e,t,n,r){if(e.mounted){var i=new Date().getTime(),o=1;Fl(e),e.animation=function(){if(!e.mounted)return JG(e.animation);var a=new Date().getTime()-i,s=a/n,l=QG[t],u=l(s);a>=n?(r(o),e.animation=null):e.animation&&(r(u),requestAnimationFrame(e.animation))},requestAnimationFrame(e.animation)}}function Z8e(e){var t=e.scale,n=e.positionX,r=e.positionY;return!(Number.isNaN(t)||Number.isNaN(n)||Number.isNaN(r))}function ff(e,t,n,r){var i=Z8e(t);if(!(!e.mounted||!i)){var o=e.setTransformState,a=e.transformState,s=a.scale,l=a.positionX,u=a.positionY,d=t.scale-s,h=t.positionX-l,m=t.positionY-u;n===0?o(t.scale,t.positionX,t.positionY):eq(e,r,n,function(y){var b=s+d*y,w=l+h*y,E=u+m*y;o(b,w,E)})}}function Q8e(e,t,n){var r=e.offsetWidth,i=e.offsetHeight,o=t.offsetWidth,a=t.offsetHeight,s=o*n,l=a*n,u=r-s,d=i-l;return{wrapperWidth:r,wrapperHeight:i,newContentWidth:s,newDiffWidth:u,newContentHeight:l,newDiffHeight:d}}var J8e=function(e,t,n,r,i,o,a){var s=e>t?n*(a?1:.5):0,l=r>i?o*(a?1:.5):0,u=e-t-s,d=s,h=r-i-l,m=l;return{minPositionX:u,maxPositionX:d,minPositionY:h,maxPositionY:m}},ZE=function(e,t){var n=e.wrapperComponent,r=e.contentComponent,i=e.setup.centerZoomedOut;if(!n||!r)throw new Error("Components are not mounted");var o=Q8e(n,r,t),a=o.wrapperWidth,s=o.wrapperHeight,l=o.newContentWidth,u=o.newDiffWidth,d=o.newContentHeight,h=o.newDiffHeight,m=J8e(a,l,u,s,d,h,Boolean(i));return m},i7=function(e,t,n,r){return r?en?ns(n,2):ns(e,2):ns(e,2)},t0=function(e,t){var n=ZE(e,t);return e.bounds=n,n};function x4(e,t,n,r,i,o,a){var s=n.minPositionX,l=n.minPositionY,u=n.maxPositionX,d=n.maxPositionY,h=0,m=0;a&&(h=i,m=o);var y=i7(e,s-h,u+h,r),b=i7(t,l-m,d+m,r);return{x:y,y:b}}function S4(e,t,n,r,i,o){var a=e.transformState,s=a.scale,l=a.positionX,u=a.positionY,d=r-s;if(typeof t!="number"||typeof n!="number")return console.error("Mouse X and Y position were not provided!"),{x:l,y:u};var h=l-t*d,m=u-n*d,y=x4(h,m,i,o,0,0,null);return y}function w2(e,t,n,r,i){var o=i?r:0,a=t-o;return!Number.isNaN(n)&&e>=n?n:!Number.isNaN(t)&&e<=a?a:e}var aD=function(e,t){var n=e.setup.panning.excluded,r=e.isInitialized,i=e.wrapperComponent,o=t.target,a=i==null?void 0:i.contains(o),s=r&&o&&a;if(!s)return!1;var l=w4(o,n);return!l},sD=function(e){var t=e.isInitialized,n=e.isPanning,r=e.setup,i=r.panning.disabled,o=t&&n&&!i;return!!o},eEe=function(e,t){var n=e.transformState,r=n.positionX,i=n.positionY;e.isPanning=!0;var o=t.clientX,a=t.clientY;e.startCoords={x:o-r,y:a-i}},tEe=function(e,t){var n=t.touches,r=e.transformState,i=r.positionX,o=r.positionY;e.isPanning=!0;var a=n.length===1;if(a){var s=n[0].clientX,l=n[0].clientY;e.startCoords={x:s-i,y:l-o}}};function nEe(e){var t=e.transformState,n=t.positionX,r=t.positionY,i=t.scale,o=e.setup,a=o.disabled,s=o.limitToBounds,l=o.centerZoomedOut,u=e.wrapperComponent;if(!(a||!u||!e.bounds)){var d=e.bounds,h=d.maxPositionX,m=d.minPositionX,y=d.maxPositionY,b=d.minPositionY,w=n>h||ny||rh?u.offsetWidth:e.setup.minPositionX||0,k=r>y?u.offsetHeight:e.setup.minPositionY||0,T=S4(e,_,k,i,e.bounds,s||l),L=T.x,O=T.y;return{scale:i,positionX:w?L:n,positionY:E?O:r}}}function rEe(e,t,n,r,i){var o=e.setup.limitToBounds,a=e.wrapperComponent,s=e.bounds,l=e.transformState,u=l.scale,d=l.positionX,h=l.positionY;if(!(a===null||s===null||t===d&&n===h)){var m=x4(t,n,s,o,r,i,a),y=m.x,b=m.y;e.setTransformState(u,y,b)}}var iEe=function(e,t,n){var r=e.startCoords,i=e.transformState,o=e.setup.panning,a=o.lockAxisX,s=o.lockAxisY,l=i.positionX,u=i.positionY;if(!r)return{x:l,y:u};var d=t-r.x,h=n-r.y,m=a?l:d,y=s?u:h;return{x:m,y}},$3=function(e,t){var n=e.setup,r=e.transformState,i=r.scale,o=n.minScale,a=n.disablePadding;return t>0&&i>=o&&!a?t:0},oEe=function(e){var t=e.mounted,n=e.setup,r=n.disabled,i=n.velocityAnimation,o=e.transformState.scale,a=i.disabled,s=!a||o>1||!r||t;return!!s},aEe=function(e){var t=e.mounted,n=e.velocity,r=e.bounds,i=e.setup,o=i.disabled,a=i.velocityAnimation,s=e.transformState.scale,l=a.disabled,u=!l||s>1||!o||t;return!(!u||!n||!r)};function sEe(e,t){var n=e.setup.velocityAnimation,r=n.equalToMove,i=n.animationTime,o=n.sensitivity;return r?i*t*o:i}function lD(e,t,n,r,i,o,a,s,l,u){if(i){if(t>a&&n>a){var d=a+(e-a)*u;return d>l?l:do?o:d}}return r?t:i7(e,o,a,i)}function lEe(e,t){var n=1;return t?Math.min(n,e.offsetWidth/window.innerWidth):n}function uEe(e,t){var n=oEe(e);if(n){var r=e.lastMousePosition,i=e.velocityTime,o=e.setup,a=e.wrapperComponent,s=o.velocityAnimation.equalToMove,l=Date.now();if(r&&i&&a){var u=lEe(a,s),d=t.x-r.x,h=t.y-r.y,m=d/u,y=h/u,b=l-i,w=d*d+h*h,E=Math.sqrt(w)/b;e.velocity={velocityX:m,velocityY:y,total:E}}e.lastMousePosition=t,e.velocityTime=l}}function cEe(e){var t=e.velocity,n=e.bounds,r=e.setup,i=e.wrapperComponent,o=aEe(e);if(!(!o||!t||!n||!i)){var a=t.velocityX,s=t.velocityY,l=t.total,u=n.maxPositionX,d=n.minPositionX,h=n.maxPositionY,m=n.minPositionY,y=r.limitToBounds,b=r.alignmentAnimation,w=r.zoomAnimation,E=r.panning,_=E.lockAxisY,k=E.lockAxisX,T=w.animationType,L=b.sizeX,O=b.sizeY,D=b.velocityAlignmentTime,I=D,N=sEe(e,l),W=Math.max(N,I),B=$3(e,L),K=$3(e,O),ne=B*i.offsetWidth/100,z=K*i.offsetHeight/100,$=u+ne,V=d-ne,X=h+z,Q=m-z,G=e.transformState,Y=new Date().getTime();eq(e,T,W,function(ee){var fe=e.transformState,Ce=fe.scale,Se=fe.positionX,xe=fe.positionY,Le=new Date().getTime()-Y,je=Le/I,Ze=QG[b.animationType],_e=1-Ze(Math.min(1,je)),tt=1-ee,yt=Se+a*tt,ze=xe+s*tt,Ae=lD(yt,G.positionX,Se,k,y,d,u,V,$,_e),bt=lD(ze,G.positionY,xe,_,y,m,h,Q,X,_e);(Se!==yt||xe!==ze)&&e.setTransformState(Ce,Ae,bt)})}}function uD(e,t){var n=e.transformState.scale;Fl(e),t0(e,n),window.TouchEvent!==void 0&&t instanceof TouchEvent?tEe(e,t):eEe(e,t)}function tq(e){var t=e.transformState.scale,n=e.setup,r=n.minScale,i=n.alignmentAnimation,o=i.disabled,a=i.sizeX,s=i.sizeY,l=i.animationTime,u=i.animationType,d=o||t.1&&h;m?cEe(e):tq(e)}}function QE(e,t,n,r){var i=e.setup,o=i.minScale,a=i.maxScale,s=i.limitToBounds,l=w2(ns(t,2),o,a,0,!1),u=t0(e,l),d=S4(e,n,r,l,u,s),h=d.x,m=d.y;return{scale:l,positionX:h,positionY:m}}function nq(e,t,n){var r=e.transformState.scale,i=e.wrapperComponent,o=e.setup,a=o.minScale,s=o.limitToBounds,l=o.zoomAnimation,u=l.disabled,d=l.animationTime,h=l.animationType,m=u||r>=a;if((r>=1||s)&&tq(e),!(m||!i||!e.mounted)){var y=t||i.offsetWidth/2,b=n||i.offsetHeight/2,w=QE(e,a,y,b);w&&ff(e,w,d,h)}}var Wd=function(){return Wd=Object.assign||function(t){for(var n,r=1,i=arguments.length;ra||Math.sign(n.deltaY)!==Math.sign(t.deltaY)||n.deltaY>0&&n.deltaYt.deltaY||Math.sign(n.deltaY)!==Math.sign(t.deltaY):!1},PEe=function(e,t){var n=e.setup.pinch,r=n.disabled,i=n.excluded,o=e.isInitialized,a=t.target,s=o&&!r&&a;if(!s)return!1;var l=w4(a,i);return!l},TEe=function(e){var t=e.setup.pinch.disabled,n=e.isInitialized,r=e.pinchStartDistance,i=n&&!t&&r;return!!i},MEe=function(e,t,n){var r=n.getBoundingClientRect(),i=e.touches,o=ns(i[0].clientX-r.left,5),a=ns(i[0].clientY-r.top,5),s=ns(i[1].clientX-r.left,5),l=ns(i[1].clientY-r.top,5);return{x:(o+s)/2/t,y:(a+l)/2/t}},uq=function(e){return Math.sqrt(Math.pow(e.touches[0].pageX-e.touches[1].pageX,2)+Math.pow(e.touches[0].pageY-e.touches[1].pageY,2))},LEe=function(e,t){var n=e.pinchStartScale,r=e.pinchStartDistance,i=e.setup,o=i.maxScale,a=i.minScale,s=i.zoomAnimation,l=i.disablePadding,u=s.size,d=s.disabled;if(!n||r===null||!t)throw new Error("Pinch touches distance was not provided");if(t<0)return e.transformState.scale;var h=t/r,m=h*n;return w2(ns(m,2),a,o,u,!d&&!l)},AEe=160,OEe=100,REe=function(e,t){var n=e.props,r=n.onWheelStart,i=n.onZoomStart;e.wheelStopEventTimer||(Fl(e),vr(Un(e),t,r),vr(Un(e),t,i))},IEe=function(e,t){var n=e.props,r=n.onWheel,i=n.onZoom,o=e.contentComponent,a=e.setup,s=e.transformState,l=s.scale,u=a.limitToBounds,d=a.centerZoomedOut,h=a.zoomAnimation,m=a.wheel,y=a.disablePadding,b=h.size,w=h.disabled,E=m.step;if(!o)throw new Error("Component not mounted");t.preventDefault(),t.stopPropagation();var _=_Ee(t,null),k=kEe(e,_,E,!t.ctrlKey);if(l!==k){var T=t0(e,k),L=lq(t,o,l),O=w||b===0||d||y,D=u&&O,I=S4(e,L.x,L.y,k,T,D),N=I.x,W=I.y;e.previousWheelEvent=t,e.setTransformState(k,N,W),vr(Un(e),t,r),vr(Un(e),t,i)}},DEe=function(e,t){var n=e.props,r=n.onWheelStop,i=n.onZoomStop;o7(e.wheelAnimationTimer),e.wheelAnimationTimer=setTimeout(function(){e.mounted&&(nq(e,t.x,t.y),e.wheelAnimationTimer=null)},OEe);var o=EEe(e,t);o&&(o7(e.wheelStopEventTimer),e.wheelStopEventTimer=setTimeout(function(){e.mounted&&(e.wheelStopEventTimer=null,vr(Un(e),t,r),vr(Un(e),t,i))},AEe))},jEe=function(e,t){var n=uq(t);e.pinchStartDistance=n,e.lastDistance=n,e.pinchStartScale=e.transformState.scale,e.isPanning=!1,Fl(e)},NEe=function(e,t){var n=e.contentComponent,r=e.pinchStartDistance,i=e.transformState.scale,o=e.setup,a=o.limitToBounds,s=o.centerZoomedOut,l=o.zoomAnimation,u=l.disabled,d=l.size;if(!(r===null||!n)){var h=MEe(t,i,n);if(!(!Number.isFinite(h.x)||!Number.isFinite(h.y))){var m=uq(t),y=LEe(e,m);if(y!==i){var b=t0(e,y),w=u||d===0||s,E=a&&w,_=S4(e,h.x,h.y,y,b,E),k=_.x,T=_.y;e.pinchMidpoint=h,e.lastDistance=m,e.setTransformState(y,k,T)}}}},$Ee=function(e){var t=e.pinchMidpoint;e.velocity=null,e.lastDistance=null,e.pinchMidpoint=null,e.pinchStartScale=null,e.pinchStartDistance=null,nq(e,t==null?void 0:t.x,t==null?void 0:t.y)},cq=function(e,t){var n=e.props.onZoomStop,r=e.setup.doubleClick.animationTime;o7(e.doubleClickStopEventTimer),e.doubleClickStopEventTimer=setTimeout(function(){e.doubleClickStopEventTimer=null,vr(Un(e),t,n)},r)},FEe=function(e,t){var n=e.props,r=n.onZoomStart,i=n.onZoom,o=e.setup.doubleClick,a=o.animationTime,s=o.animationType;vr(Un(e),t,r),aq(e,a,s,function(){return vr(Un(e),t,i)}),cq(e,t)};function BEe(e,t){var n=e.setup,r=e.doubleClickStopEventTimer,i=e.transformState,o=e.contentComponent,a=i.scale,s=e.props,l=s.onZoomStart,u=s.onZoom,d=n.doubleClick,h=d.disabled,m=d.mode,y=d.step,b=d.animationTime,w=d.animationType;if(!h&&!r){if(m==="reset")return FEe(e,t);if(!o)return console.error("No ContentComponent found");var E=m==="zoomOut"?-1:1,_=iq(e,E,y);if(a!==_){vr(Un(e),t,l);var k=lq(t,o,a),T=QE(e,_,k.x,k.y);if(!T)return console.error("Error during zoom event. New transformation state was not calculated.");vr(Un(e),t,u),ff(e,T,b,w),cq(e,t)}}}var zEe=function(e,t){var n=e.isInitialized,r=e.setup,i=e.wrapperComponent,o=r.doubleClick,a=o.disabled,s=o.excluded,l=t.target,u=i==null?void 0:i.contains(l),d=n&&l&&u&&!a;if(!d)return!1;var h=w4(l,s);return!h},HEe=function(){function e(t){var n=this;this.mounted=!0,this.onChangeCallbacks=new Set,this.wrapperComponent=null,this.contentComponent=null,this.isInitialized=!1,this.bounds=null,this.previousWheelEvent=null,this.wheelStopEventTimer=null,this.wheelAnimationTimer=null,this.isPanning=!1,this.startCoords=null,this.lastTouch=null,this.distance=null,this.lastDistance=null,this.pinchStartDistance=null,this.pinchStartScale=null,this.pinchMidpoint=null,this.doubleClickStopEventTimer=null,this.velocity=null,this.velocityTime=null,this.lastMousePosition=null,this.animate=!1,this.animation=null,this.maxBounds=null,this.pressedKeys={},this.mount=function(){n.initializeWindowEvents()},this.unmount=function(){n.cleanupWindowEvents()},this.update=function(r){t0(n,n.transformState.scale),n.setup=fD(r)},this.initializeWindowEvents=function(){var r,i=a6(),o=(r=n.wrapperComponent)===null||r===void 0?void 0:r.ownerDocument,a=o==null?void 0:o.defaultView;a==null||a.addEventListener("mousedown",n.onPanningStart,i),a==null||a.addEventListener("mousemove",n.onPanning,i),a==null||a.addEventListener("mouseup",n.onPanningStop,i),o==null||o.addEventListener("mouseleave",n.clearPanning,i),a==null||a.addEventListener("keyup",n.setKeyUnPressed,i),a==null||a.addEventListener("keydown",n.setKeyPressed,i)},this.cleanupWindowEvents=function(){var r,i,o=a6(),a=(r=n.wrapperComponent)===null||r===void 0?void 0:r.ownerDocument,s=a==null?void 0:a.defaultView;s==null||s.removeEventListener("mousedown",n.onPanningStart,o),s==null||s.removeEventListener("mousemove",n.onPanning,o),s==null||s.removeEventListener("mouseup",n.onPanningStop,o),a==null||a.removeEventListener("mouseleave",n.clearPanning,o),s==null||s.removeEventListener("keyup",n.setKeyUnPressed,o),s==null||s.removeEventListener("keydown",n.setKeyPressed,o),document.removeEventListener("mouseleave",n.clearPanning,o),Fl(n),(i=n.observer)===null||i===void 0||i.disconnect()},this.handleInitializeWrapperEvents=function(r){var i=a6();r.addEventListener("wheel",n.onWheelZoom,i),r.addEventListener("dblclick",n.onDoubleClick,i),r.addEventListener("touchstart",n.onTouchPanningStart,i),r.addEventListener("touchmove",n.onTouchPanning,i),r.addEventListener("touchend",n.onTouchPanningStop,i)},this.handleInitialize=function(r){var i=n.setup.centerOnInit;n.applyTransformation(),i&&(n.setCenter(),n.observer=new ResizeObserver(function(){var o;n.setCenter(),(o=n.observer)===null||o===void 0||o.disconnect()}),n.observer.observe(r))},this.onWheelZoom=function(r){var i=n.setup.disabled;if(!i){var o=wEe(n,r);if(o){var a=n.isPressingKeys(n.setup.wheel.activationKeys);a&&(REe(n,r),IEe(n,r),DEe(n,r))}}},this.onPanningStart=function(r){var i=n.setup.disabled,o=n.props.onPanningStart;if(!i){var a=aD(n,r);if(a){var s=n.isPressingKeys(n.setup.panning.activationKeys);s&&(r.preventDefault(),r.stopPropagation(),Fl(n),uD(n,r),vr(Un(n),r,o))}}},this.onPanning=function(r){var i=n.setup.disabled,o=n.props.onPanning;if(!i){var a=sD(n);if(a){var s=n.isPressingKeys(n.setup.panning.activationKeys);s&&(r.preventDefault(),r.stopPropagation(),cD(n,r.clientX,r.clientY),vr(Un(n),r,o))}}},this.onPanningStop=function(r){var i=n.props.onPanningStop;n.isPanning&&(dEe(n),vr(Un(n),r,i))},this.onPinchStart=function(r){var i=n.setup.disabled,o=n.props,a=o.onPinchingStart,s=o.onZoomStart;if(!i){var l=PEe(n,r);l&&(jEe(n,r),Fl(n),vr(Un(n),r,a),vr(Un(n),r,s))}},this.onPinch=function(r){var i=n.setup.disabled,o=n.props,a=o.onPinching,s=o.onZoom;if(!i){var l=TEe(n);l&&(r.preventDefault(),r.stopPropagation(),NEe(n,r),vr(Un(n),r,a),vr(Un(n),r,s))}},this.onPinchStop=function(r){var i=n.props,o=i.onPinchingStop,a=i.onZoomStop;n.pinchStartScale&&($Ee(n),vr(Un(n),r,o),vr(Un(n),r,a))},this.onTouchPanningStart=function(r){var i=n.setup.disabled,o=n.props.onPanningStart;if(!i){var a=aD(n,r);if(a){var s=n.lastTouch&&+new Date-n.lastTouch<200;if(s&&r.touches.length===1)n.onDoubleClick(r);else{n.lastTouch=+new Date,Fl(n);var l=r.touches,u=l.length===1,d=l.length===2;u&&(Fl(n),uD(n,r),vr(Un(n),r,o)),d&&n.onPinchStart(r)}}}},this.onTouchPanning=function(r){var i=n.setup.disabled,o=n.props.onPanning;if(n.isPanning&&r.touches.length===1){if(i)return;var a=sD(n);if(!a)return;r.preventDefault(),r.stopPropagation();var s=r.touches[0];cD(n,s.clientX,s.clientY),vr(Un(n),r,o)}else r.touches.length>1&&n.onPinch(r)},this.onTouchPanningStop=function(r){n.onPanningStop(r),n.onPinchStop(r)},this.onDoubleClick=function(r){var i=n.setup.disabled;if(!i){var o=zEe(n,r);o&&BEe(n,r)}},this.clearPanning=function(r){n.isPanning&&n.onPanningStop(r)},this.setKeyPressed=function(r){n.pressedKeys[r.key]=!0},this.setKeyUnPressed=function(r){n.pressedKeys[r.key]=!1},this.isPressingKeys=function(r){return r.length?Boolean(r.find(function(i){return n.pressedKeys[i]})):!0},this.setTransformState=function(r,i,o){var a=n.props.onTransformed;if(!Number.isNaN(r)&&!Number.isNaN(i)&&!Number.isNaN(o)){r!==n.transformState.scale&&(n.transformState.previousScale=n.transformState.scale,n.transformState.scale=r),n.transformState.positionX=i,n.transformState.positionY=o;var s=Un(n);n.onChangeCallbacks.forEach(function(l){return l(s)}),vr(s,{scale:r,positionX:i,positionY:o},a),n.applyTransformation()}else console.error("Detected NaN set state values")},this.setCenter=function(){if(n.wrapperComponent&&n.contentComponent){var r=sq(n.transformState.scale,n.wrapperComponent,n.contentComponent);n.setTransformState(r.scale,r.positionX,r.positionY)}},this.handleTransformStyles=function(r,i,o){return n.props.customTransform?n.props.customTransform(r,i,o):xEe(r,i,o)},this.applyTransformation=function(){if(!(!n.mounted||!n.contentComponent)){var r=n.transformState,i=r.scale,o=r.positionX,a=r.positionY,s=n.handleTransformStyles(o,a,i);n.contentComponent.style.transform=s}},this.getContext=function(){return Un(n)},this.onChange=function(r){return n.onChangeCallbacks.has(r)||n.onChangeCallbacks.add(r),function(){n.onChangeCallbacks.delete(r)}},this.init=function(r,i){n.cleanupWindowEvents(),n.wrapperComponent=r,n.contentComponent=i,t0(n,n.transformState.scale),n.handleInitializeWrapperEvents(r),n.handleInitialize(i),n.initializeWindowEvents(),n.isInitialized=!0,vr(Un(n),void 0,n.props.onInit)},this.props=t,this.setup=fD(this.props),this.transformState=rq(this.props)}return e}(),JE=Ye.createContext(null),WEe=function(e,t){return typeof e=="function"?e(t):e},UEe=Ye.forwardRef(function(e,t){var n=S.useState(0),r=n[1],i=e.children,o=S.useRef(new HEe(e)).current,a=WEe(e.children,Un(o)),s=S.useCallback(function(){typeof i=="function"&&r(function(l){return l+1})},[i]);return S.useImperativeHandle(t,function(){return Un(o)},[o]),S.useEffect(function(){o.update(e)},[o,e]),S.useEffect(function(){return o.onChange(s)},[o,e,s]),Ye.createElement(JE.Provider,{value:o},a)});function VEe(e,t){t===void 0&&(t={});var n=t.insertAt;if(!(!e||typeof document>"u")){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",n==="top"&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var GEe=`.transform-component-module_wrapper__7HFJe { + position: relative; + width: -moz-fit-content; + width: fit-content; + height: -moz-fit-content; + height: fit-content; + overflow: hidden; + -webkit-touch-callout: none; /* iOS Safari */ + -webkit-user-select: none; /* Safari */ + -khtml-user-select: none; /* Konqueror HTML */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* Internet Explorer/Edge */ + user-select: none; + margin: 0; + padding: 0; +} +.transform-component-module_content__uCDPE { + display: flex; + flex-wrap: wrap; + width: -moz-fit-content; + width: fit-content; + height: -moz-fit-content; + height: fit-content; + margin: 0; + padding: 0; + transform-origin: 0% 0%; +} +.transform-component-module_content__uCDPE img { + pointer-events: none; +} +`,hD={wrapper:"transform-component-module_wrapper__7HFJe",content:"transform-component-module_content__uCDPE"};VEe(GEe);var qEe=function(e){var t=e.children,n=e.wrapperClass,r=n===void 0?"":n,i=e.contentClass,o=i===void 0?"":i,a=e.wrapperStyle,s=e.contentStyle,l=e.wrapperProps,u=l===void 0?{}:l,d=e.contentProps,h=d===void 0?{}:d,m=S.useContext(JE).init,y=S.useRef(null),b=S.useRef(null);return S.useEffect(function(){var w=y.current,E=b.current;w!==null&&E!==null&&m&&m(w,E)},[]),Ye.createElement("div",Wd({},u,{ref:y,className:"react-transform-wrapper ".concat(hD.wrapper," ").concat(r),style:a}),Ye.createElement("div",Wd({},h,{ref:b,className:"react-transform-component ".concat(hD.content," ").concat(o),style:s}),t))};Ye.forwardRef(function(e,t){var n=S.useRef(null),r=S.useContext(JE);return S.useEffect(function(){return r.onChange(function(i){if(n.current){var o=0,a=0;n.current.style.transform=r.handleTransformStyles(o,a,1/i.state.scale)}})},[r]),Ye.createElement("div",Wd({},e,{ref:SEe([n,t])}))});function KEe({image:e,alt:t,ref:n,styleClass:r}){const[i,o]=S.useState(0),[a,s]=S.useState(!1),l=()=>{o(i===-3?0:i-1)},u=()=>{o(i===3?0:i+1)},d=()=>{s(!a)};return g.jsx(UEe,{centerOnInit:!0,minScale:.1,initialPositionX:50,initialPositionY:50,children:({zoomIn:h,zoomOut:m,resetTransform:y,centerView:b})=>g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"lightbox-image-options",children:[g.jsx(Xe,{icon:g.jsx(q_e,{}),"aria-label":"Zoom In",tooltip:"Zoom In",onClick:()=>h(),fontSize:20}),g.jsx(Xe,{icon:g.jsx(K_e,{}),"aria-label":"Zoom Out",tooltip:"Zoom Out",onClick:()=>m(),fontSize:20}),g.jsx(Xe,{icon:g.jsx(V_e,{}),"aria-label":"Rotate Left",tooltip:"Rotate Left",onClick:l,fontSize:20}),g.jsx(Xe,{icon:g.jsx(G_e,{}),"aria-label":"Rotate Right",tooltip:"Rotate Right",onClick:u,fontSize:20}),g.jsx(Xe,{icon:g.jsx(d7e,{}),"aria-label":"Flip Image",tooltip:"Flip Image",onClick:d,fontSize:20}),g.jsx(Xe,{icon:g.jsx(h4,{}),"aria-label":"Reset",tooltip:"Reset",onClick:()=>{y(),o(0),s(!1)},fontSize:20})]}),g.jsx(qEe,{wrapperStyle:{width:"100%",height:"100%"},children:g.jsx("img",{style:{transform:`rotate(${i*90}deg) scaleX(${a?-1:1})`,width:"100%"},src:e,alt:t,ref:n,className:r||"",onLoad:()=>b(1,0,"easeOut")})})]})})}function YEe(){const e=Te(),t=se(m=>m.lightbox.isLightboxOpen),{viewerImageToDisplay:n,shouldShowImageDetails:r,isOnFirstImage:i,isOnLastImage:o}=se(fG),[a,s]=S.useState(!1),l=()=>{s(!0)},u=()=>{s(!1)},d=()=>{e(yE())},h=()=>{e(vE())};return Je("Esc",()=>{t&&e(Om(!1))},[t]),g.jsxs("div",{className:"lightbox-container",children:[g.jsx(Xe,{icon:g.jsx(U_e,{}),"aria-label":"Exit Viewer",className:"lightbox-close-btn",onClick:()=>{e(Om(!1))},fontSize:20}),g.jsxs("div",{className:"lightbox-display-container",children:[g.jsxs("div",{className:"lightbox-preview-wrapper",children:[g.jsx(cG,{}),!r&&g.jsxs("div",{className:"current-image-next-prev-buttons",children:[g.jsx("div",{className:"next-prev-button-trigger-area prev-button-trigger-area",onMouseOver:l,onMouseOut:u,children:a&&!i&&g.jsx(ls,{"aria-label":"Previous image",icon:g.jsx(JV,{className:"next-prev-button"}),variant:"unstyled",onClick:d})}),g.jsx("div",{className:"next-prev-button-trigger-area next-button-trigger-area",onMouseOver:l,onMouseOut:u,children:a&&!o&&g.jsx(ls,{"aria-label":"Next image",icon:g.jsx(eG,{className:"next-prev-button"}),variant:"unstyled",onClick:h})})]}),n&&g.jsxs(g.Fragment,{children:[g.jsx(KEe,{image:n.url,styleClass:"lightbox-image"}),r&&g.jsx(WE,{image:n})]})]}),g.jsx(ZG,{})]})]})}function dq(e){const{menuType:t="icon",iconTooltip:n,buttonText:r,menuItems:i,menuProps:o,menuButtonProps:a,menuListProps:s,menuItemProps:l}=e,u=()=>{const d=[];return i.forEach((h,m)=>{d.push(g.jsx(kH,{onClick:h.onClick,fontSize:"0.9rem",color:"var(--text-color-secondary)",backgroundColor:"var(--background-color-secondary)",_focus:{color:"var(--text-color)",backgroundColor:"var(--border-color)"},...l,children:h.item},m))}),d};return g.jsx(wH,{...o,children:({isOpen:d})=>g.jsxs(g.Fragment,{children:[g.jsx(PH,{as:t==="icon"?Xe:On,tooltip:n,icon:d?g.jsx(p7e,{}):g.jsx(h7e,{}),padding:t==="regular"?"0 0.5rem":0,backgroundColor:"var(--btn-base-color)",_hover:{backgroundColor:"var(--btn-base-color-hover)"},minWidth:"1rem",minHeight:"1rem",fontSize:"1.5rem",...a,children:t==="regular"&&g.jsx(Rt,{fontSize:"0.9rem",children:r})}),g.jsx(EH,{zIndex:15,padding:0,borderRadius:"0.5rem",backgroundColor:"var(--background-color-secondary)",color:"var(--text-color-secondary)",borderColor:"var(--border-color)",...s,children:u()})]})})}const XEe=lt(pr,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,cancelType:e.cancelOptions.cancelType,cancelAfter:e.cancelOptions.cancelAfter}),{memoizeOptions:{resultEqualityCheck:we.isEqual}});function eP(e){const t=Te(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:i,isConnected:o,isCancelable:a,currentIteration:s,totalIterations:l,cancelType:u,cancelAfter:d}=se(XEe),h=S.useCallback(()=>{t(g_e()),t(zC(null))},[t]),{t:m}=Ie(),y=d!==null;Je("shift+x",()=>{(o||i)&&a&&h()},[o,i,a]),S.useEffect(()=>{d!==null&&dt(GR("immediate"))},{item:m("parameters.cancel.schedule"),onClick:()=>t(GR("scheduled"))}];return g.jsxs(Gi,{isAttached:!0,variant:"link",minHeight:"2.5rem",width:n,children:[u==="immediate"?g.jsx(Xe,{icon:g.jsx(g7e,{}),tooltip:m("parameters.cancel.immediate"),"aria-label":m("parameters.cancel.immediate"),isDisabled:!o||!i||!a,onClick:h,className:"cancel-btn",...r}):g.jsx(Xe,{icon:y?g.jsx(a3,{color:"var(--text-color)"}):g.jsx(s7e,{}),tooltip:m(y?"parameters.cancel.isScheduled":"parameters.cancel.schedule"),"aria-label":m(y?"parameters.cancel.isScheduled":"parameters.cancel.schedule"),isDisabled:!o||!i||!a||s===l,onClick:()=>{t(zC(y?null:s))},className:"cancel-btn",...r}),g.jsx(dq,{menuItems:b,iconTooltip:m("parameters.cancel.setType"),menuButtonProps:{backgroundColor:"var(--destructive-color)",color:"var(--text-color)",minWidth:"1.5rem",minHeight:"1.5rem",_hover:{backgroundColor:"var(--destructive-color-hover)"}}})]})}const tP=e=>e.generation;lt(tP,({shouldRandomizeSeed:e,shouldGenerateVariations:t})=>e||t,{memoizeOptions:{resultEqualityCheck:we.isEqual}});const fq=lt([tP,pr,uG,Br],(e,t,n,r)=>{const{prompt:i,shouldGenerateVariations:o,seedWeights:a,initialImage:s,seed:l}=e,{isProcessing:u,isConnected:d}=t;let h=!0;const m=[];return(!i||Boolean(i.match(/^[\s\r\n]+$/)))&&(h=!1,m.push("Missing prompt")),r==="img2img"&&!s&&(h=!1,m.push("No initial image selected")),u&&(h=!1,m.push("System Busy")),d||(h=!1,m.push("System Disconnected")),o&&(!(bE(a)||a==="")||l===-1)&&(h=!1,m.push("Seed-Weights badly formatted.")),{isReady:h,reasonsWhyNotReady:m}},{memoizeOptions:{equalityCheck:we.isEqual,resultEqualityCheck:we.isEqual}});function nP(e){const{iconButton:t=!1,...n}=e,r=Te(),{isReady:i}=se(fq),o=se(Br),a=()=>{r(Uk(o))},{t:s}=Ie();return Je(["ctrl+enter","meta+enter"],()=>{r(aU()),r(Uk(o))},{enabled:()=>i,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[i,o]),g.jsx("div",{style:{flexGrow:4},children:t?g.jsx(Xe,{"aria-label":s("parameters.invoke"),type:"submit",icon:g.jsx(Dke,{}),isDisabled:!i,onClick:a,className:"invoke-btn",tooltip:s("parameters.invoke"),tooltipProps:{placement:"bottom"},...n}):g.jsx(On,{"aria-label":s("parameters.invoke"),type:"submit",isDisabled:!i,onClick:a,className:"invoke-btn",...n,children:"Invoke"})})}const rP=lt([pp,fp,Br],(e,t,n)=>{const{shouldPinParametersPanel:r,shouldShowParametersPanel:i,shouldHoldParametersPanelOpen:o,shouldUseCanvasBetaLayout:a}=t,{shouldShowGallery:s,shouldPinGallery:l,shouldHoldGalleryOpen:u}=e,d=a&&n==="unifiedCanvas",h=!d&&!(i||o&&!r)&&["txt2img","img2img","unifiedCanvas"].includes(n),m=!(s||u&&!l)&&["txt2img","img2img","unifiedCanvas"].includes(n);return{shouldPinParametersPanel:r,shouldShowProcessButtons:!d&&(!r||!i),shouldShowParametersPanelButton:h,shouldShowParametersPanel:i,shouldShowGallery:s,shouldPinGallery:l,shouldShowGalleryButton:m}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),ZEe=()=>{const e=Te(),{shouldShowParametersPanelButton:t,shouldShowProcessButtons:n,shouldPinParametersPanel:r}=se(rP),i=()=>{e(Fh(!0)),r&&setTimeout(()=>e(Li(!0)),400)};return t?g.jsxs("div",{className:"show-hide-button-options",children:[g.jsx(Xe,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":"Show Options Panel",onClick:i,children:g.jsx(BE,{})}),n&&g.jsxs(g.Fragment,{children:[g.jsx(nP,{iconButton:!0}),g.jsx(eP,{})]})]}):null};function QEe(e){return ut({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{d:"M14 1H3L2 2v11l1 1h11l1-1V2l-1-1zM8 13H3V2h5v11zm6 0H9V2h5v11z"}}]})(e)}const JEe=lt(pp,e=>({resultImages:e.categories.result.images,userImages:e.categories.user.images})),ePe=()=>{const{resultImages:e,userImages:t}=se(JEe);return n=>{const r=e.find(o=>o.uuid===n);if(r)return r;const i=t.find(o=>o.uuid===n);if(i)return i}},tPe=lt([fp,f4,Br],(e,t,n)=>{const{shouldShowDualDisplay:r,shouldPinParametersPanel:i}=e,{isLightboxOpen:o}=t;return{shouldShowDualDisplay:r,shouldPinParametersPanel:i,isLightboxOpen:o,shouldShowDualDisplayButton:["inpainting"].includes(n),activeTabName:n}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),iP=e=>{const t=Te(),{optionsPanel:n,children:r,styleClass:i}=e,{activeTabName:o,shouldShowDualDisplay:a,isLightboxOpen:s,shouldShowDualDisplayButton:l}=se(tPe),u=ePe(),d=()=>{t(z4e(!a)),t(Li(!0))},h=m=>{const y=m.dataTransfer.getData("invokeai/imageUuid"),b=u(y);b&&(o==="img2img"?t(y0(b)):o==="unifiedCanvas"&&t(o4(b)))};return g.jsx("div",{className:i?`workarea-wrapper ${i}`:"workarea-wrapper",children:g.jsxs("div",{className:"workarea-main",children:[n,g.jsxs("div",{className:"workarea-children-wrapper",onDrop:h,children:[r,l&&g.jsx(si,{label:"Toggle Split View",children:g.jsx("div",{className:"workarea-split-button","data-selected":a,onClick:d,children:g.jsx(QEe,{})})})]}),!s&&g.jsx(ZG,{})]})})},nPe=e=>{const{styleClass:t}=e,n=S.useContext(OE),r=()=>{n&&n()};return g.jsx("div",{className:`image-uploader-button-outer ${t}`,onClick:r,children:g.jsxs("div",{className:"image-upload-button",children:[g.jsx(p4,{}),g.jsx(jh,{size:"lg",children:"Click or Drag and Drop"})]})})},rPe=lt([pp,fp,Br],(e,t,n)=>{const{currentImage:r,intermediateImage:i}=e,{shouldShowImageDetails:o}=t;return{activeTabName:n,shouldShowImageDetails:o,hasAnImageToDisplay:r||i}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),hq=()=>{const{hasAnImageToDisplay:e,activeTabName:t}=se(rPe);return g.jsx("div",{className:"current-image-area","data-tab-name":t,children:e?g.jsxs(g.Fragment,{children:[g.jsx(cG,{}),g.jsx(Qke,{})]}):g.jsx("div",{className:"current-image-display-placeholder",children:g.jsx(f7e,{})})})},iPe=()=>{const e=S.useContext(OE);return g.jsx(Xe,{"aria-label":"Upload Image",tooltip:"Upload Image",icon:g.jsx(p4,{}),onClick:e||void 0})};function oPe(){const e=se(o=>o.generation.initialImage),{t}=Ie(),n=Te(),r=a2(),i=()=>{r({title:t("toast.parametersFailed"),description:t("toast.parametersFailedDesc"),status:"error",isClosable:!0}),n(sU())};return g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"init-image-preview-header",children:[g.jsx("h2",{children:t("parameters.initialImage")}),g.jsx(iPe,{})]}),e&&g.jsx("div",{className:"init-image-preview",children:g.jsx(Nw,{fit:"contain",maxWidth:"100%",maxHeight:"100%",src:typeof e=="string"?e:e.url,onError:i})})]})}const aPe=()=>{const e=se(r=>r.generation.initialImage),{currentImage:t}=se(r=>r.gallery),n=e?g.jsx("div",{className:"image-to-image-area",children:g.jsx(oPe,{})}):g.jsx(nPe,{});return g.jsxs("div",{className:"workarea-split-view",children:[g.jsx("div",{className:"workarea-split-view-left",children:n}),t&&g.jsx("div",{className:"workarea-split-view-right",children:g.jsx(hq,{})})]})};var ao=(e=>(e[e.PROMPT=0]="PROMPT",e[e.GALLERY=1]="GALLERY",e[e.OTHER=2]="OTHER",e[e.SEED=3]="SEED",e[e.VARIATIONS=4]="VARIATIONS",e[e.UPSCALE=5]="UPSCALE",e[e.FACE_CORRECTION=6]="FACE_CORRECTION",e[e.IMAGE_TO_IMAGE=7]="IMAGE_TO_IMAGE",e[e.BOUNDING_BOX=8]="BOUNDING_BOX",e[e.SEAM_CORRECTION=9]="SEAM_CORRECTION",e[e.INFILL_AND_SCALING=10]="INFILL_AND_SCALING",e))(ao||{});const sPe=()=>{const{t:e}=Ie();return S.useMemo(()=>({[0]:{text:e("tooltip.feature.prompt"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[1]:{text:e("tooltip.feature.gallery"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[2]:{text:e("tooltip.feature.other"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[3]:{text:e("tooltip.feature.seed"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[4]:{text:e("tooltip.feature.variations"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[5]:{text:e("tooltip.feature.upscale"),href:"link/to/docs/feature1.html",guideImage:"asset/path.gif"},[6]:{text:e("tooltip.feature.faceCorrection"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[7]:{text:e("tooltip.feature.imageToImage"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[8]:{text:e("tooltip.feature.boundingBox"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[9]:{text:e("tooltip.feature.seamCorrection"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[10]:{text:e("tooltip.feature.infillAndScaling"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"}}),[e])},lPe=e=>sPe()[e],_a=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:i,formLabelProps:o,styleClass:a,...s}=e;return g.jsxs(sn,{isDisabled:n,width:r,className:`invokeai__switch-form-control ${a}`,display:"flex",columnGap:"1rem",alignItems:"center",justifyContent:"space-between",...i,children:[g.jsx(Sn,{className:"invokeai__switch-form-label",whiteSpace:"nowrap",marginRight:0,marginTop:.5,marginBottom:.5,fontSize:"sm",fontWeight:"bold",width:"auto",...o,children:t}),g.jsx(Y8,{className:"invokeai__switch-root",...s})]})};function pq(){const e=se(i=>i.system.isGFPGANAvailable),t=se(i=>i.postprocessing.shouldRunFacetool),n=Te(),r=i=>n(K3e(i.target.checked));return g.jsx(_a,{isDisabled:!e,isChecked:t,onChange:r})}const gq=()=>{const e=Te(),t=se(i=>i.generation.seamless),n=i=>e(hU(i.target.checked)),{t:r}=Ie();return g.jsx(Ee,{gap:2,direction:"column",children:g.jsx(_a,{label:r("parameters.seamlessTiling"),fontSize:"md",isChecked:t,onChange:n})})},uPe=()=>g.jsx(Ee,{gap:2,direction:"column",children:g.jsx(gq,{})});function oP(){const e=se(o=>o.generation.horizontalSymmetrySteps),t=se(o=>o.generation.verticalSymmetrySteps),n=se(o=>o.generation.steps),r=Te(),{t:i}=Ie();return g.jsxs(g.Fragment,{children:[g.jsx(Dn,{label:i("parameters.hSymmetryStep"),value:e,onChange:o=>r(aR(o)),min:0,max:n,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>r(aR(0)),sliderMarkRightOffset:-6}),g.jsx(Dn,{label:i("parameters.vSymmetryStep"),value:t,onChange:o=>r(sR(o)),min:0,max:n,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>r(sR(0)),sliderMarkRightOffset:-6})]})}function aP(){const e=se(n=>n.generation.shouldUseSymmetry),t=Te();return g.jsx(_a,{isChecked:e,onChange:n=>t(W3e(n.target.checked))})}function cPe(){const e=Te(),t=se(r=>r.generation.perlin),{t:n}=Ie();return g.jsx(Dn,{label:n("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:r=>e(yk(r)),handleReset:()=>e(yk(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}function dPe(){const e=Te(),{t}=Ie(),n=se(i=>i.generation.shouldRandomizeSeed),r=i=>e(H3e(i.target.checked));return g.jsx(_a,{label:t("parameters.randomizeSeed"),isChecked:n,onChange:r})}const pD=/^-?(0\.)?\.?$/,lc=e=>{const{label:t,labelFontSize:n="sm",styleClass:r,isDisabled:i=!1,showStepper:o=!0,width:a,textAlign:s,isInvalid:l,value:u,onChange:d,min:h,max:m,isInteger:y=!0,formControlProps:b,formLabelProps:w,numberInputFieldProps:E,numberInputStepperProps:_,tooltipProps:k,...T}=e,[L,O]=S.useState(String(u));S.useEffect(()=>{!L.match(pD)&&u!==Number(L)&&O(String(u))},[u,L]);const D=N=>{O(N),N.match(pD)||d(y?Math.floor(Number(N)):Number(N))},I=N=>{const W=we.clamp(y?Math.floor(Number(N.target.value)):Number(N.target.value),h,m);O(String(W)),d(W)};return g.jsx(si,{...k,children:g.jsxs(sn,{isDisabled:i,isInvalid:l,className:r?`invokeai__number-input-form-control ${r}`:"invokeai__number-input-form-control",...b,children:[t&&g.jsx(Sn,{className:"invokeai__number-input-form-label",style:{display:t?"block":"none"},fontSize:n,fontWeight:"bold",marginRight:0,marginBottom:0,whiteSpace:"nowrap",...w,children:t}),g.jsxs(z8,{className:"invokeai__number-input-root",value:L,min:h,max:m,keepWithinRange:!0,clampValueOnBlur:!1,onChange:D,onBlur:I,width:a,...T,children:[g.jsx(H8,{className:"invokeai__number-input-field",textAlign:s,...E}),o&&g.jsxs("div",{className:"invokeai__number-input-stepper",children:[g.jsx(U8,{..._,className:"invokeai__number-input-stepper-button"}),g.jsx(W8,{..._,className:"invokeai__number-input-stepper-button"})]})]})]})})};function fPe(){const e=se(a=>a.generation.seed),t=se(a=>a.generation.shouldRandomizeSeed),n=se(a=>a.generation.shouldGenerateVariations),{t:r}=Ie(),i=Te(),o=a=>i(p2(a));return g.jsx(lc,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:_E,max:kE,isDisabled:t,isInvalid:e<0&&n,onChange:o,value:e,width:"auto"})}function hPe(){const e=Te(),t=se(i=>i.generation.shouldRandomizeSeed),{t:n}=Ie(),r=()=>e(p2(FV(_E,kE)));return g.jsx(ss,{size:"sm",isDisabled:t,onClick:r,padding:"0 1.5rem",children:g.jsx("p",{children:n("parameters.shuffle")})})}function pPe(){const e=Te(),t=se(r=>r.generation.threshold),{t:n}=Ie();return g.jsx(Dn,{label:n("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:r=>e(xk(r)),handleReset:()=>e(xk(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0,sliderMarkRightOffset:-4})}const sP=()=>g.jsxs(Ee,{gap:2,direction:"column",children:[g.jsx(dPe,{}),g.jsxs(Ee,{gap:2,children:[g.jsx(fPe,{}),g.jsx(hPe,{})]}),g.jsx(Ee,{gap:2,children:g.jsx(pPe,{})}),g.jsx(Ee,{gap:2,children:g.jsx(cPe,{})})]});function mq(){const e=se(i=>i.system.isESRGANAvailable),t=se(i=>i.postprocessing.shouldRunESRGAN),n=Te(),r=i=>n(q3e(i.target.checked));return g.jsx(_a,{isDisabled:!e,isChecked:t,onChange:r})}function lP(){const e=se(r=>r.generation.shouldGenerateVariations),t=Te(),n=r=>t(z3e(r.target.checked));return g.jsx(_a,{isChecked:e,width:"auto",onChange:n})}function qn(e){const{label:t="",styleClass:n,isDisabled:r=!1,fontSize:i="sm",width:o,size:a="sm",isInvalid:s,...l}=e;return g.jsxs(sn,{className:`input ${n}`,isInvalid:s,isDisabled:r,children:[t!==""&&g.jsx(Sn,{fontSize:i,fontWeight:"bold",alignItems:"center",whiteSpace:"nowrap",marginBottom:0,marginRight:0,className:"input-label",children:t}),g.jsx(P8,{...l,className:"input-entry",size:a,width:o})]})}function gPe(){const e=se(o=>o.generation.seedWeights),t=se(o=>o.generation.shouldGenerateVariations),{t:n}=Ie(),r=Te(),i=o=>r(pU(o.target.value));return g.jsx(qn,{label:n("parameters.seedWeights"),value:e,isInvalid:t&&!(bE(e)||e===""),isDisabled:!t,onChange:i})}function mPe(){const e=se(i=>i.generation.variationAmount),t=se(i=>i.generation.shouldGenerateVariations),{t:n}=Ie(),r=Te();return g.jsx(Dn,{label:n("parameters.variationAmount"),value:e,step:.01,min:0,max:1,isSliderDisabled:!t,isInputDisabled:!t,isResetDisabled:!t,onChange:i=>r(oR(i)),handleReset:()=>r(oR(.1)),withInput:!0,withReset:!0,withSliderMarks:!0})}const uP=()=>g.jsxs(Ee,{gap:2,direction:"column",children:[g.jsx(mPe,{}),g.jsx(gPe,{})]}),vPe=lt(pr,e=>e.shouldDisplayGuides),yPe=({children:e,feature:t})=>{const n=se(vPe),{text:r}=lPe(t);return n?g.jsxs(G8,{trigger:"hover",children:[g.jsx(V8,{children:g.jsx(qi,{children:e})}),g.jsxs(K8,{className:"guide-popover-content",maxWidth:"400px",onClick:i=>i.preventDefault(),cursor:"initial",children:[g.jsx(q8,{className:"guide-popover-arrow"}),g.jsx("div",{className:"guide-popover-guide-content",children:r})]})]}):null},bPe=Qe(({feature:e,icon:t=u7e},n)=>g.jsx(yPe,{feature:e,children:g.jsx(qi,{ref:n,children:g.jsx(ja,{marginBottom:"-.15rem",as:t})})}));function xPe(e){const{header:t,feature:n,content:r,additionalHeaderComponents:i}=e;return g.jsxs(rm,{className:"advanced-parameters-item",children:[g.jsx(tm,{className:"advanced-parameters-header",children:g.jsxs(Ee,{width:"100%",gap:"0.5rem",align:"center",children:[g.jsx(qi,{flexGrow:1,textAlign:"left",children:t}),i,n&&g.jsx(bPe,{feature:n}),g.jsx(nm,{})]})}),g.jsx(om,{className:"advanced-parameters-panel",children:r})]})}const n0=e=>{const{accordionInfo:t}=e,n=se(a=>a.system.openAccordions),r=Te(),i=a=>r(x4e(a)),o=()=>{const a=[];return t&&Object.keys(t).forEach(s=>{const{header:l,feature:u,content:d,additionalHeaderComponents:h}=t[s];a.push(g.jsx(xPe,{header:l,feature:u,content:d,additionalHeaderComponents:h},s))}),a};return g.jsx(d8,{defaultIndex:n,allowMultiple:!0,reduceMotion:!0,onChange:i,className:"advanced-parameters",children:o()})};function gD(){const e=Te(),t=se(o=>o.generation.cfgScale),n=se(o=>o.ui.shouldUseSliders),{t:r}=Ie(),i=o=>e(mk(o));return n?g.jsx(Dn,{label:r("parameters.cfgScale"),step:.5,min:1.01,max:30,onChange:i,handleReset:()=>e(mk(7.5)),value:t,sliderMarkRightOffset:-5,sliderNumberInputProps:{max:200},withInput:!0,withReset:!0,withSliderMarks:!0}):g.jsx(lc,{label:r("parameters.cfgScale"),step:.5,min:1.01,max:200,onChange:i,value:t,width:"auto",styleClass:"main-settings-block",textAlign:"center",isInteger:!1})}function mD(){const e=se(o=>o.generation.height),t=se(o=>o.ui.shouldUseSliders),n=se(Br),r=Te(),{t:i}=Ie();return t?g.jsx(Dn,{isSliderDisabled:n==="unifiedCanvas",isInputDisabled:n==="unifiedCanvas",isResetDisabled:n==="unifiedCanvas",label:i("parameters.height"),value:e,min:64,step:64,max:2048,onChange:o=>r(uS(o)),handleReset:()=>r(uS(512)),withInput:!0,withReset:!0,withSliderMarks:!0,sliderMarkRightOffset:-8,inputWidth:"6.2rem",sliderNumberInputProps:{max:15360}}):g.jsx(Jo,{isDisabled:n==="unifiedCanvas",label:i("parameters.height"),value:e,flexGrow:1,onChange:o=>r(uS(Number(o.target.value))),validValues:j5e,styleClass:"main-settings-block",width:"5.5rem"})}function vD(){const e=se(o=>o.generation.iterations),t=se(o=>o.ui.shouldUseSliders),n=Te(),{t:r}=Ie(),i=o=>n(JO(o));return t?g.jsx(Dn,{label:r("parameters.images"),step:1,min:1,max:16,onChange:i,handleReset:()=>n(JO(1)),value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderMarkRightOffset:-5,sliderNumberInputProps:{max:9999}}):g.jsx(lc,{label:r("parameters.images"),step:1,min:1,max:9999,onChange:i,value:e,width:"auto",labelFontSize:.5,styleClass:"main-settings-block",textAlign:"center"})}function yD(){const e=se(o=>o.generation.sampler),t=se(qV),n=Te(),{t:r}=Ie(),i=o=>n(fU(o.target.value));return g.jsx(Jo,{label:r("parameters.sampler"),value:e,onChange:i,validValues:t.format==="diffusers"?I5e:R5e,styleClass:"main-settings-block",minWidth:"9rem"})}function bD(){const e=Te(),t=se(a=>a.generation.steps),n=se(a=>a.ui.shouldUseSliders),{t:r}=Ie(),i=a=>{e(bk(a))},o=()=>{e(aU())};return n?g.jsx(Dn,{label:r("parameters.steps"),min:1,step:1,onChange:i,handleReset:()=>e(bk(20)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0,sliderMarkRightOffset:-6,sliderNumberInputProps:{max:9999}}):g.jsx(lc,{label:r("parameters.steps"),min:1,max:9999,step:1,onChange:i,value:t,width:"auto",styleClass:"main-settings-block",textAlign:"center",onBlur:o})}function xD(){const e=se(o=>o.generation.width),t=se(o=>o.ui.shouldUseSliders),n=se(Br),{t:r}=Ie(),i=Te();return t?g.jsx(Dn,{isSliderDisabled:n==="unifiedCanvas",isInputDisabled:n==="unifiedCanvas",isResetDisabled:n==="unifiedCanvas",label:r("parameters.width"),value:e,min:64,step:64,max:2048,onChange:o=>i(cS(o)),handleReset:()=>i(cS(512)),withInput:!0,withReset:!0,withSliderMarks:!0,sliderMarkRightOffset:-8,inputWidth:"6.2rem",inputReadOnly:!0,sliderNumberInputProps:{max:15360}}):g.jsx(Jo,{isDisabled:n==="unifiedCanvas",label:r("parameters.width"),value:e,flexGrow:1,onChange:o=>i(cS(Number(o.target.value))),validValues:D5e,styleClass:"main-settings-block",width:"5.5rem"})}function cP(){const{t:e}=Ie(),t=se(r=>r.ui.shouldUseSliders),n={main:{header:`${e("parameters.general")}`,feature:void 0,content:t?g.jsxs(Ee,{flexDir:"column",rowGap:2,children:[g.jsx(vD,{}),g.jsx(bD,{}),g.jsx(gD,{}),g.jsx(xD,{}),g.jsx(mD,{}),g.jsx(yD,{})]}):g.jsxs(Ee,{flexDirection:"column",rowGap:2,children:[g.jsxs(Ee,{gap:2,children:[g.jsx(vD,{}),g.jsx(bD,{}),g.jsx(gD,{})]}),g.jsxs(Ee,{children:[g.jsx(xD,{}),g.jsx(mD,{}),g.jsx(yD,{})]})]})}};return g.jsx(n0,{accordionInfo:n})}const SPe=lt(jE,({shouldLoopback:e})=>e),wPe=()=>{const e=Te(),t=se(SPe),{t:n}=Ie();return g.jsx(Xe,{"aria-label":n("parameters.toggleLoopback"),tooltip:n("parameters.toggleLoopback"),styleClass:"loopback-btn",asCheckbox:!0,isChecked:t,icon:g.jsx(Nke,{}),onClick:()=>{e(G3e(!t))}})},dP=()=>{const e=se(Br);return g.jsxs("div",{className:"process-buttons",children:[g.jsx(nP,{}),e==="img2img"&&g.jsx(wPe,{}),g.jsx(eP,{})]})},fP=()=>{const e=se(r=>r.generation.negativePrompt),t=Te(),{t:n}=Ie();return g.jsx(sn,{children:g.jsx(Q8,{id:"negativePrompt",name:"negativePrompt",value:e,onChange:r=>t(dU(r.target.value)),background:"var(--prompt-bg-color)",placeholder:n("parameters.negativePrompts"),_placeholder:{fontSize:"0.8rem"},borderColor:"var(--border-color)",_hover:{borderColor:"var(--border-color-light)"},_focusVisible:{borderColor:"var(--border-color-invalid)",boxShadow:"0 0 10px var(--box-shadow-color-invalid)"},fontSize:"0.9rem",color:"var(--text-color-secondary)"})})},CPe=lt([e=>e.generation,Br],(e,t)=>({prompt:e.prompt,activeTabName:t}),{memoizeOptions:{resultEqualityCheck:we.isEqual}}),hP=()=>{const e=Te(),{prompt:t,activeTabName:n}=se(CPe),{isReady:r}=se(fq),i=S.useRef(null),{t:o}=Ie(),a=l=>{e(k3(l.target.value))};Je("alt+a",()=>{var l;(l=i.current)==null||l.focus()},[]);const s=l=>{l.key==="Enter"&&l.shiftKey===!1&&r&&(l.preventDefault(),e(Uk(n)))};return g.jsx("div",{className:"prompt-bar",children:g.jsx(sn,{isInvalid:t.length===0||Boolean(t.match(/^[\s\r\n]+$/)),children:g.jsx(Q8,{id:"prompt",name:"prompt",placeholder:o("parameters.promptPlaceholder"),size:"lg",value:t,onChange:a,onKeyDown:s,resize:"vertical",height:30,ref:i,_placeholder:{color:"var(--text-color-secondary)"}})})})},vq=""+new URL("logo-13003d72.png",import.meta.url).href,_Pe=lt(fp,e=>{const{shouldShowParametersPanel:t,shouldHoldParametersPanelOpen:n,shouldPinParametersPanel:r,parametersPanelScrollPosition:i}=e;return{shouldShowParametersPanel:t,shouldHoldParametersPanelOpen:n,shouldPinParametersPanel:r,parametersPanelScrollPosition:i}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),pP=e=>{const t=Te(),{shouldShowParametersPanel:n,shouldHoldParametersPanelOpen:r,shouldPinParametersPanel:i}=se(_Pe),o=S.useRef(null),a=S.useRef(null),s=S.useRef(null),{children:l}=e,{t:u}=Ie();Je("o",()=>{t(Fh(!n)),i&&setTimeout(()=>t(Li(!0)),400)},[n,i]),Je("esc",()=>{t(Fh(!1))},{enabled:()=>!i,preventDefault:!0},[i]),Je("shift+o",()=>{y(),t(Li(!0))},[i]);const d=S.useCallback(()=>{i||(t($4e(a.current?a.current.scrollTop:0)),t(Fh(!1)),t(F4e(!1)))},[t,i]),h=()=>{s.current=window.setTimeout(()=>d(),500)},m=()=>{s.current&&window.clearTimeout(s.current)},y=()=>{t(B4e(!i)),t(Li(!0))};return S.useEffect(()=>{function b(w){o.current&&!o.current.contains(w.target)&&d()}return document.addEventListener("mousedown",b),()=>{document.removeEventListener("mousedown",b)}},[d]),g.jsx(bG,{nodeRef:o,in:n||r&&!i,unmountOnExit:!0,timeout:200,classNames:"parameters-panel-wrapper",children:g.jsx("div",{className:"parameters-panel-wrapper","data-pinned":i,tabIndex:1,ref:o,onMouseEnter:i?void 0:m,onMouseOver:i?void 0:m,style:{borderRight:i?"":"0.3rem solid var(--tab-list-text-inactive)"},children:g.jsx("div",{className:"parameters-panel-margin",children:g.jsxs("div",{className:"parameters-panel",ref:a,onMouseLeave:b=>{b.target!==a.current?m():!i&&h()},children:[g.jsx(si,{label:u("common.pinOptionsPanel"),children:g.jsx("div",{className:"parameters-panel-pin-button","data-selected":i,onClick:y,children:i?g.jsx(pG,{}):g.jsx(gG,{})})}),!i&&g.jsxs("div",{className:"invoke-ai-logo-wrapper",children:[g.jsx("img",{src:vq,alt:"invoke-ai-logo"}),g.jsxs("h1",{children:["invoke ",g.jsx("strong",{children:"ai"})]})]}),l]})})})})};function kPe(){const e=Te(),t=se(i=>i.generation.shouldFitToWidthHeight),n=i=>e(gU(i.target.checked)),{t:r}=Ie();return g.jsx(_a,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}function yq(e){const{t}=Ie(),{label:n=`${t("parameters.strength")}`,styleClass:r}=e,i=se(l=>l.generation.img2imgStrength),o=Te(),a=l=>o(vk(l)),s=()=>{o(vk(.75))};return g.jsx(Dn,{label:n,step:.01,min:.01,max:1,onChange:a,value:i,isInteger:!1,styleClass:r,withInput:!0,withSliderMarks:!0,inputWidth:"5.5rem",withReset:!0,handleReset:s})}function EPe(){const{t:e}=Ie(),t={imageToImage:{header:`${e("parameters.imageToImage")}`,feature:void 0,content:g.jsxs(Ee,{gap:2,flexDir:"column",children:[g.jsx(yq,{label:e("parameters.img2imgStrength"),styleClass:"main-settings-block image-to-image-strength-main-option"}),g.jsx(kPe,{})]})}};return g.jsx(n0,{accordionInfo:t})}function PPe(){const{t:e}=Ie(),t={seed:{header:`${e("parameters.seed")}`,feature:ao.SEED,content:g.jsx(sP,{})},variations:{header:`${e("parameters.variations")}`,feature:ao.VARIATIONS,content:g.jsx(uP,{}),additionalHeaderComponents:g.jsx(lP,{})},face_restore:{header:`${e("parameters.faceRestoration")}`,feature:ao.FACE_CORRECTION,content:g.jsx(IE,{}),additionalHeaderComponents:g.jsx(pq,{})},upscale:{header:`${e("parameters.upscaling")}`,feature:ao.UPSCALE,content:g.jsx(DE,{}),additionalHeaderComponents:g.jsx(mq,{})},symmetry:{header:`${e("parameters.symmetry")}`,content:g.jsx(oP,{}),additionalHeaderComponents:g.jsx(aP,{})},other:{header:`${e("parameters.otherOptions")}`,feature:ao.OTHER,content:g.jsx(uPe,{})}};return g.jsxs(pP,{children:[g.jsxs(Ee,{flexDir:"column",rowGap:"0.5rem",children:[g.jsx(hP,{}),g.jsx(fP,{})]}),g.jsx(dP,{}),g.jsx(cP,{}),g.jsx(EPe,{}),g.jsx(n0,{accordionInfo:t})]})}function TPe(){return g.jsx(iP,{optionsPanel:g.jsx(PPe,{}),children:g.jsx(aPe,{})})}const MPe=()=>g.jsx("div",{className:"workarea-single-view",children:g.jsx("div",{className:"text-to-image-area",children:g.jsx(hq,{})})});function LPe(e){const{active:t=!0,width:n="1rem",height:r="1.3rem",side:i="right"}=e;return g.jsxs(g.Fragment,{children:[i==="right"&&g.jsx(qi,{width:n,height:r,margin:"-0.5rem 0.5rem 0 0.5rem",borderLeft:t?"3px solid var(--subhook-color)":"3px solid var(--tab-hover-color)",borderBottom:t?"3px solid var(--subhook-color)":"3px solid var(--tab-hover-color)"}),i==="left"&&g.jsx(qi,{width:n,height:r,margin:"-0.5rem 0.5rem 0 0.5rem",borderRight:t?"3px solid var(--subhook-color)":"3px solid var(--tab-hover-color)",borderBottom:t?"3px solid var(--subhook-color)":"3px solid var(--tab-hover-color)"})]})}const APe=lt([jE],({hiresFix:e,hiresStrength:t})=>({hiresFix:e,hiresStrength:t}),{memoizeOptions:{resultEqualityCheck:we.isEqual}}),OPe=()=>{const{hiresFix:e,hiresStrength:t}=se(APe),n=Te(),{t:r}=Ie(),i=a=>{n(lR(a))},o=()=>{n(lR(.75))};return g.jsxs(Ee,{children:[g.jsx(LPe,{active:e}),g.jsx(Dn,{label:r("parameters.hiresStrength"),step:.01,min:.01,max:.99,onChange:i,value:t,isInteger:!1,withInput:!0,withSliderMarks:!0,inputWidth:"5.5rem",withReset:!0,handleReset:o,isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e,sliderMarkRightOffset:-7})]})},RPe=()=>{const e=Te(),t=se(i=>i.postprocessing.hiresFix),{t:n}=Ie(),r=i=>e(bU(i.target.checked));return g.jsxs(Ee,{rowGap:"0.8rem",direction:"column",children:[g.jsx(_a,{label:n("parameters.hiresOptim"),fontSize:"md",isChecked:t,onChange:r}),g.jsx(OPe,{})]})},IPe=()=>g.jsxs(Ee,{gap:2,direction:"column",children:[g.jsx(gq,{}),g.jsx(RPe,{})]});function DPe(){const e=Te(),t=se(u=>u.generation.prompt),n=se(u=>u.system.foundLoras),[r,i]=S.useState([{item:"",onClick:void 0}]),{t:o}=Ie(),a=S.useCallback(u=>{const d=new RegExp(`withLora\\(${u},?\\s*([\\d.]+)?\\)`);return!!t.match(d)},[t]),s=S.useCallback(u=>{if(a(u)){const d=new RegExp(`withLora\\(${u},?\\s*([\\d.]+)?\\)`),h=t.replace(d,"");e(k3(h))}else e(k3(`${t} withLora(${u},1)`))},[e,a,t]);S.useEffect(()=>{e(x_e())},[e]);const l=S.useCallback(u=>{const d=a(u),h={fontWeight:"bold",color:"var(--context-menu-active-item)"};return g.jsx(qi,{style:d?h:{},children:u})},[a]);return S.useEffect(()=>{if(n){const u=[];n.forEach(d=>{if(d.name!==" "){const h={item:l(d.name),onClick:()=>s(d.name)};u.push(h)}}),i(u)}},[n,r,e,t,s,l]),n&&(n==null?void 0:n.length)>0&&g.jsx(dq,{menuItems:r,menuType:"regular",buttonText:o("modelManager.addLora")})}function jPe(){const{t:e}=Ie(),t={seed:{header:`${e("parameters.seed")}`,feature:ao.SEED,content:g.jsx(sP,{})},variations:{header:`${e("parameters.variations")}`,feature:ao.VARIATIONS,content:g.jsx(uP,{}),additionalHeaderComponents:g.jsx(lP,{})},face_restore:{header:`${e("parameters.faceRestoration")}`,feature:ao.FACE_CORRECTION,content:g.jsx(IE,{}),additionalHeaderComponents:g.jsx(pq,{})},upscale:{header:`${e("parameters.upscaling")}`,feature:ao.UPSCALE,content:g.jsx(DE,{}),additionalHeaderComponents:g.jsx(mq,{})},symmetry:{header:`${e("parameters.symmetry")}`,content:g.jsx(oP,{}),additionalHeaderComponents:g.jsx(aP,{})},other:{header:`${e("parameters.otherOptions")}`,feature:ao.OTHER,content:g.jsx(IPe,{})}};return g.jsxs(pP,{children:[g.jsxs(Ee,{flexDir:"column",rowGap:"0.5rem",children:[g.jsx(hP,{}),g.jsx(fP,{}),g.jsx(DPe,{})]}),g.jsx(dP,{}),g.jsx(cP,{}),g.jsx(n0,{accordionInfo:t})]})}function NPe(){return g.jsx(iP,{optionsPanel:g.jsx(jPe,{}),children:g.jsx(MPe,{})})}var a7={},$Pe={get exports(){return a7},set exports(e){a7=e}};/** + * @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 FPe=function(t){var n={},r=S,i=Th,o=Object.assign;function a(f){for(var p="https://reactjs.org/docs/error-decoder.html?invariant="+f,x=1;xae||M[U]!==R[ae]){var he=` +`+M[U].replace(" at new "," at ");return f.displayName&&he.includes("")&&(he=he.replace("",f.displayName)),he}while(1<=U&&0<=ae);break}}}finally{il=!1,Error.prepareStackTrace=x}return(f=f?f.displayName||f.name:"")?hu(f):""}var kp=Object.prototype.hasOwnProperty,wc=[],ol=-1;function ra(f){return{current:f}}function Mn(f){0>ol||(f.current=wc[ol],wc[ol]=null,ol--)}function wn(f,p){ol++,wc[ol]=f.current,f.current=p}var ia={},Hr=ra(ia),ui=ra(!1),oa=ia;function al(f,p){var x=f.type.contextTypes;if(!x)return ia;var P=f.stateNode;if(P&&P.__reactInternalMemoizedUnmaskedChildContext===p)return P.__reactInternalMemoizedMaskedChildContext;var M={},R;for(R in x)M[R]=p[R];return P&&(f=f.stateNode,f.__reactInternalMemoizedUnmaskedChildContext=p,f.__reactInternalMemoizedMaskedChildContext=M),M}function ci(f){return f=f.childContextTypes,f!=null}function Ss(){Mn(ui),Mn(Hr)}function yf(f,p,x){if(Hr.current!==ia)throw Error(a(168));wn(Hr,p),wn(ui,x)}function gu(f,p,x){var P=f.stateNode;if(p=p.childContextTypes,typeof P.getChildContext!="function")return x;P=P.getChildContext();for(var M in P)if(!(M in p))throw Error(a(108,N(f)||"Unknown",M));return o({},x,P)}function ws(f){return f=(f=f.stateNode)&&f.__reactInternalMemoizedMergedChildContext||ia,oa=Hr.current,wn(Hr,f),wn(ui,ui.current),!0}function bf(f,p,x){var P=f.stateNode;if(!P)throw Error(a(169));x?(f=gu(f,p,oa),P.__reactInternalMemoizedMergedChildContext=f,Mn(ui),Mn(Hr),wn(Hr,f)):Mn(ui),wn(ui,x)}var Ri=Math.clz32?Math.clz32:xf,Ep=Math.log,Pp=Math.LN2;function xf(f){return f>>>=0,f===0?32:31-(Ep(f)/Pp|0)|0}var sl=64,Lo=4194304;function ll(f){switch(f&-f){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 f&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return f&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return f}}function mu(f,p){var x=f.pendingLanes;if(x===0)return 0;var P=0,M=f.suspendedLanes,R=f.pingedLanes,U=x&268435455;if(U!==0){var ae=U&~M;ae!==0?P=ll(ae):(R&=U,R!==0&&(P=ll(R)))}else U=x&~M,U!==0?P=ll(U):R!==0&&(P=ll(R));if(P===0)return 0;if(p!==0&&p!==P&&!(p&M)&&(M=P&-P,R=p&-p,M>=R||M===16&&(R&4194240)!==0))return p;if(P&4&&(P|=x&16),p=f.entangledLanes,p!==0)for(f=f.entanglements,p&=P;0x;x++)p.push(f);return p}function $a(f,p,x){f.pendingLanes|=p,p!==536870912&&(f.suspendedLanes=0,f.pingedLanes=0),f=f.eventTimes,p=31-Ri(p),f[p]=x}function wf(f,p){var x=f.pendingLanes&~p;f.pendingLanes=p,f.suspendedLanes=0,f.pingedLanes=0,f.expiredLanes&=p,f.mutableReadLanes&=p,f.entangledLanes&=p,p=f.entanglements;var P=f.eventTimes;for(f=f.expirationTimes;0>=U,M-=U,uo=1<<32-Ri(p)+M|x<Ut?(ti=At,At=null):ti=At.sibling;var Qt=it(ge,At,ve[Ut],et);if(Qt===null){At===null&&(At=ti);break}f&&At&&Qt.alternate===null&&p(ge,At),ue=R(Qt,ue,Ut),Dt===null?Oe=Qt:Dt.sibling=Qt,Dt=Qt,At=ti}if(Ut===ve.length)return x(ge,At),zn&&ul(ge,Ut),Oe;if(At===null){for(;UtUt?(ti=At,At=null):ti=At.sibling;var As=it(ge,At,Qt.value,et);if(As===null){At===null&&(At=ti);break}f&&At&&As.alternate===null&&p(ge,At),ue=R(As,ue,Ut),Dt===null?Oe=As:Dt.sibling=As,Dt=As,At=ti}if(Qt.done)return x(ge,At),zn&&ul(ge,Ut),Oe;if(At===null){for(;!Qt.done;Ut++,Qt=ve.next())Qt=It(ge,Qt.value,et),Qt!==null&&(ue=R(Qt,ue,Ut),Dt===null?Oe=Qt:Dt.sibling=Qt,Dt=Qt);return zn&&ul(ge,Ut),Oe}for(At=P(ge,At);!Qt.done;Ut++,Qt=ve.next())Qt=Wn(At,ge,Ut,Qt.value,et),Qt!==null&&(f&&Qt.alternate!==null&&At.delete(Qt.key===null?Ut:Qt.key),ue=R(Qt,ue,Ut),Dt===null?Oe=Qt:Dt.sibling=Qt,Dt=Qt);return f&&At.forEach(function(ki){return p(ge,ki)}),zn&&ul(ge,Ut),Oe}function ma(ge,ue,ve,et){if(typeof ve=="object"&&ve!==null&&ve.type===d&&ve.key===null&&(ve=ve.props.children),typeof ve=="object"&&ve!==null){switch(ve.$$typeof){case l:e:{for(var Oe=ve.key,Dt=ue;Dt!==null;){if(Dt.key===Oe){if(Oe=ve.type,Oe===d){if(Dt.tag===7){x(ge,Dt.sibling),ue=M(Dt,ve.props.children),ue.return=ge,ge=ue;break e}}else if(Dt.elementType===Oe||typeof Oe=="object"&&Oe!==null&&Oe.$$typeof===T&&G0(Oe)===Dt.type){x(ge,Dt.sibling),ue=M(Dt,ve.props),ue.ref=za(ge,Dt,ve),ue.return=ge,ge=ue;break e}x(ge,Dt);break}else p(ge,Dt);Dt=Dt.sibling}ve.type===d?(ue=Cl(ve.props.children,ge.mode,et,ve.key),ue.return=ge,ge=ue):(et=Xf(ve.type,ve.key,ve.props,null,ge.mode,et),et.ref=za(ge,ue,ve),et.return=ge,ge=et)}return U(ge);case u:e:{for(Dt=ve.key;ue!==null;){if(ue.key===Dt)if(ue.tag===4&&ue.stateNode.containerInfo===ve.containerInfo&&ue.stateNode.implementation===ve.implementation){x(ge,ue.sibling),ue=M(ue,ve.children||[]),ue.return=ge,ge=ue;break e}else{x(ge,ue);break}else p(ge,ue);ue=ue.sibling}ue=_l(ve,ge.mode,et),ue.return=ge,ge=ue}return U(ge);case T:return Dt=ve._init,ma(ge,ue,Dt(ve._payload),et)}if(V(ve))return Ln(ge,ue,ve,et);if(D(ve))return mr(ge,ue,ve,et);Ji(ge,ve)}return typeof ve=="string"&&ve!==""||typeof ve=="number"?(ve=""+ve,ue!==null&&ue.tag===6?(x(ge,ue.sibling),ue=M(ue,ve),ue.return=ge,ge=ue):(x(ge,ue),ue=pg(ve,ge.mode,et),ue.return=ge,ge=ue),U(ge)):x(ge,ue)}return ma}var Rc=D2(!0),j2=D2(!1),Rf={},Io=ra(Rf),Ha=ra(Rf),ie=ra(Rf);function be(f){if(f===Rf)throw Error(a(174));return f}function me(f,p){wn(ie,p),wn(Ha,f),wn(Io,Rf),f=Q(p),Mn(Io),wn(Io,f)}function rt(){Mn(Io),Mn(Ha),Mn(ie)}function Lt(f){var p=be(ie.current),x=be(Io.current);p=G(x,f.type,p),x!==p&&(wn(Ha,f),wn(Io,p))}function en(f){Ha.current===f&&(Mn(Io),Mn(Ha))}var Nt=ra(0);function dn(f){for(var p=f;p!==null;){if(p.tag===13){var x=p.memoizedState;if(x!==null&&(x=x.dehydrated,x===null||xc(x)||vf(x)))return p}else if(p.tag===19&&p.memoizedProps.revealOrder!==void 0){if(p.flags&128)return p}else if(p.child!==null){p.child.return=p,p=p.child;continue}if(p===f)break;for(;p.sibling===null;){if(p.return===null||p.return===f)return null;p=p.return}p.sibling.return=p.return,p=p.sibling}return null}var If=[];function q0(){for(var f=0;fx?x:4,f(!0);var P=Ic.transition;Ic.transition={};try{f(!1),p()}finally{Gt=x,Ic.transition=P}}function zc(){return ji().memoizedState}function tv(f,p,x){var P=qr(f);if(x={lane:P,action:x,hasEagerState:!1,eagerState:null,next:null},Wc(f))Uc(p,x);else if(x=Oc(f,p,x,P),x!==null){var M=_i();No(x,f,P,M),Bf(x,p,P)}}function Hc(f,p,x){var P=qr(f),M={lane:P,action:x,hasEagerState:!1,eagerState:null,next:null};if(Wc(f))Uc(p,M);else{var R=f.alternate;if(f.lanes===0&&(R===null||R.lanes===0)&&(R=p.lastRenderedReducer,R!==null))try{var U=p.lastRenderedState,ae=R(U,x);if(M.hasEagerState=!0,M.eagerState=ae,q(ae,U)){var he=p.interleaved;he===null?(M.next=M,Af(p)):(M.next=he.next,he.next=M),p.interleaved=M;return}}catch{}finally{}x=Oc(f,p,M,P),x!==null&&(M=_i(),No(x,f,P,M),Bf(x,p,P))}}function Wc(f){var p=f.alternate;return f===Cn||p!==null&&p===Cn}function Uc(f,p){Df=an=!0;var x=f.pending;x===null?p.next=p:(p.next=x.next,x.next=p),f.pending=p}function Bf(f,p,x){if(x&4194240){var P=p.lanes;P&=f.pendingLanes,x|=P,p.lanes=x,vu(f,x)}}var ks={readContext:co,useCallback:xi,useContext:xi,useEffect:xi,useImperativeHandle:xi,useInsertionEffect:xi,useLayoutEffect:xi,useMemo:xi,useReducer:xi,useRef:xi,useState:xi,useDebugValue:xi,useDeferredValue:xi,useTransition:xi,useMutableSource:xi,useSyncExternalStore:xi,useId:xi,unstable_isNewReconciler:!1},O4={readContext:co,useCallback:function(f,p){return fi().memoizedState=[f,p===void 0?null:p],f},useContext:co,useEffect:F2,useImperativeHandle:function(f,p,x){return x=x!=null?x.concat([f]):null,Su(4194308,4,Or.bind(null,p,f),x)},useLayoutEffect:function(f,p){return Su(4194308,4,f,p)},useInsertionEffect:function(f,p){return Su(4,2,f,p)},useMemo:function(f,p){var x=fi();return p=p===void 0?null:p,f=f(),x.memoizedState=[f,p],f},useReducer:function(f,p,x){var P=fi();return p=x!==void 0?x(p):p,P.memoizedState=P.baseState=p,f={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:f,lastRenderedState:p},P.queue=f,f=f.dispatch=tv.bind(null,Cn,f),[P.memoizedState,f]},useRef:function(f){var p=fi();return f={current:f},p.memoizedState=f},useState:$2,useDebugValue:Q0,useDeferredValue:function(f){return fi().memoizedState=f},useTransition:function(){var f=$2(!1),p=f[0];return f=ev.bind(null,f[1]),fi().memoizedState=f,[p,f]},useMutableSource:function(){},useSyncExternalStore:function(f,p,x){var P=Cn,M=fi();if(zn){if(x===void 0)throw Error(a(407));x=x()}else{if(x=p(),ei===null)throw Error(a(349));xu&30||Z0(P,p,x)}M.memoizedState=x;var R={value:x,getSnapshot:p};return M.queue=R,F2(fl.bind(null,P,R,f),[f]),P.flags|=2048,$f(9,Fc.bind(null,P,R,x,p),void 0,null),x},useId:function(){var f=fi(),p=ei.identifierPrefix;if(zn){var x=Fa,P=uo;x=(P&~(1<<32-Ri(P)-1)).toString(32)+x,p=":"+p+"R"+x,x=Dc++,0ig&&(p.flags|=128,P=!0,qc(M,!1),p.lanes=4194304)}else{if(!P)if(f=dn(R),f!==null){if(p.flags|=128,P=!0,f=f.updateQueue,f!==null&&(p.updateQueue=f,p.flags|=4),qc(M,!0),M.tail===null&&M.tailMode==="hidden"&&!R.alternate&&!zn)return Si(p),null}else 2*Xn()-M.renderingStartTime>ig&&x!==1073741824&&(p.flags|=128,P=!0,qc(M,!1),p.lanes=4194304);M.isBackwards?(R.sibling=p.child,p.child=R):(f=M.last,f!==null?f.sibling=R:p.child=R,M.last=R)}return M.tail!==null?(p=M.tail,M.rendering=p,M.tail=p.sibling,M.renderingStartTime=Xn(),p.sibling=null,f=Nt.current,wn(Nt,P?f&1|2:f&1),p):(Si(p),null);case 22:case 23:return nd(),x=p.memoizedState!==null,f!==null&&f.memoizedState!==null!==x&&(p.flags|=8192),x&&p.mode&1?ho&1073741824&&(Si(p),ze&&p.subtreeFlags&6&&(p.flags|=8192)):Si(p),null;case 24:return null;case 25:return null}throw Error(a(156,p.tag))}function uv(f,p){switch(H0(p),p.tag){case 1:return ci(p.type)&&Ss(),f=p.flags,f&65536?(p.flags=f&-65537|128,p):null;case 3:return rt(),Mn(ui),Mn(Hr),q0(),f=p.flags,f&65536&&!(f&128)?(p.flags=f&-65537|128,p):null;case 5:return en(p),null;case 13:if(Mn(Nt),f=p.memoizedState,f!==null&&f.dehydrated!==null){if(p.alternate===null)throw Error(a(340));Mc()}return f=p.flags,f&65536?(p.flags=f&-65537|128,p):null;case 19:return Mn(Nt),null;case 4:return rt(),null;case 10:return Mf(p.type._context),null;case 22:case 23:return nd(),null;case 24:return null;default:return null}}var pl=!1,Ur=!1,$4=typeof WeakSet=="function"?WeakSet:Set,st=null;function Kc(f,p){var x=f.ref;if(x!==null)if(typeof x=="function")try{x(null)}catch(P){Qn(f,p,P)}else x.current=null}function fa(f,p,x){try{x()}catch(P){Qn(f,p,P)}}var Vp=!1;function Cu(f,p){for(Y(f.containerInfo),st=p;st!==null;)if(f=st,p=f.child,(f.subtreeFlags&1028)!==0&&p!==null)p.return=f,st=p;else for(;st!==null;){f=st;try{var x=f.alternate;if(f.flags&1024)switch(f.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var P=x.memoizedProps,M=x.memoizedState,R=f.stateNode,U=R.getSnapshotBeforeUpdate(f.elementType===f.type?P:sa(f.type,P),M);R.__reactInternalSnapshotBeforeUpdate=U}break;case 3:ze&&Zi(f.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(ae){Qn(f,f.return,ae)}if(p=f.sibling,p!==null){p.return=f.return,st=p;break}st=f.return}return x=Vp,Vp=!1,x}function wi(f,p,x){var P=p.updateQueue;if(P=P!==null?P.lastEffect:null,P!==null){var M=P=P.next;do{if((M.tag&f)===f){var R=M.destroy;M.destroy=void 0,R!==void 0&&fa(p,x,R)}M=M.next}while(M!==P)}}function Gp(f,p){if(p=p.updateQueue,p=p!==null?p.lastEffect:null,p!==null){var x=p=p.next;do{if((x.tag&f)===f){var P=x.create;x.destroy=P()}x=x.next}while(x!==p)}}function qp(f){var p=f.ref;if(p!==null){var x=f.stateNode;switch(f.tag){case 5:f=X(x);break;default:f=x}typeof p=="function"?p(f):p.current=f}}function cv(f){var p=f.alternate;p!==null&&(f.alternate=null,cv(p)),f.child=null,f.deletions=null,f.sibling=null,f.tag===5&&(p=f.stateNode,p!==null&&mt(p)),f.stateNode=null,f.return=null,f.dependencies=null,f.memoizedProps=null,f.memoizedState=null,f.pendingProps=null,f.stateNode=null,f.updateQueue=null}function Yc(f){return f.tag===5||f.tag===3||f.tag===4}function Ps(f){e:for(;;){for(;f.sibling===null;){if(f.return===null||Yc(f.return))return null;f=f.return}for(f.sibling.return=f.return,f=f.sibling;f.tag!==5&&f.tag!==6&&f.tag!==18;){if(f.flags&2||f.child===null||f.tag===4)continue e;f.child.return=f,f=f.child}if(!(f.flags&2))return f.stateNode}}function Kp(f,p,x){var P=f.tag;if(P===5||P===6)f=f.stateNode,p?zr(x,f,p):Ct(x,f);else if(P!==4&&(f=f.child,f!==null))for(Kp(f,p,x),f=f.sibling;f!==null;)Kp(f,p,x),f=f.sibling}function dv(f,p,x){var P=f.tag;if(P===5||P===6)f=f.stateNode,p?pt(x,f,p):Me(x,f);else if(P!==4&&(f=f.child,f!==null))for(dv(f,p,x),f=f.sibling;f!==null;)dv(f,p,x),f=f.sibling}var Ir=null,ha=!1;function pa(f,p,x){for(x=x.child;x!==null;)Vr(f,p,x),x=x.sibling}function Vr(f,p,x){if(qt&&typeof qt.onCommitFiberUnmount=="function")try{qt.onCommitFiberUnmount(cn,x)}catch{}switch(x.tag){case 5:Ur||Kc(x,p);case 6:if(ze){var P=Ir,M=ha;Ir=null,pa(f,p,x),Ir=P,ha=M,Ir!==null&&(ha?Bn(Ir,x.stateNode):rr(Ir,x.stateNode))}else pa(f,p,x);break;case 18:ze&&Ir!==null&&(ha?N0(Ir,x.stateNode):j0(Ir,x.stateNode));break;case 4:ze?(P=Ir,M=ha,Ir=x.stateNode.containerInfo,ha=!0,pa(f,p,x),Ir=P,ha=M):(Ae&&(P=x.stateNode.containerInfo,M=Na(P),bc(P,M)),pa(f,p,x));break;case 0:case 11:case 14:case 15:if(!Ur&&(P=x.updateQueue,P!==null&&(P=P.lastEffect,P!==null))){M=P=P.next;do{var R=M,U=R.destroy;R=R.tag,U!==void 0&&(R&2||R&4)&&fa(x,p,U),M=M.next}while(M!==P)}pa(f,p,x);break;case 1:if(!Ur&&(Kc(x,p),P=x.stateNode,typeof P.componentWillUnmount=="function"))try{P.props=x.memoizedProps,P.state=x.memoizedState,P.componentWillUnmount()}catch(ae){Qn(x,p,ae)}pa(f,p,x);break;case 21:pa(f,p,x);break;case 22:x.mode&1?(Ur=(P=Ur)||x.memoizedState!==null,pa(f,p,x),Ur=P):pa(f,p,x);break;default:pa(f,p,x)}}function Yp(f){var p=f.updateQueue;if(p!==null){f.updateQueue=null;var x=f.stateNode;x===null&&(x=f.stateNode=new $4),p.forEach(function(P){var M=rb.bind(null,f,P);x.has(P)||(x.add(P),P.then(M,M))})}}function Do(f,p){var x=p.deletions;if(x!==null)for(var P=0;P";case Jp:return":has("+(pv(f)||"")+")";case eg:return'[role="'+f.value+'"]';case tg:return'"'+f.value+'"';case Xc:return'[data-testname="'+f.value+'"]';default:throw Error(a(365))}}function Zc(f,p){var x=[];f=[f,0];for(var P=0;PM&&(M=U),P&=~R}if(P=M,P=Xn()-P,P=(120>P?120:480>P?480:1080>P?1080:1920>P?1920:3e3>P?3e3:4320>P?4320:1960*F4(P/1960))-P,10f?16:f,Tt===null)var P=!1;else{if(f=Tt,Tt=null,og=0,Wt&6)throw Error(a(331));var M=Wt;for(Wt|=4,st=f.current;st!==null;){var R=st,U=R.child;if(st.flags&16){var ae=R.deletions;if(ae!==null){for(var he=0;heXn()-vv?xl(f,0):mv|=x),pi(f,p)}function wv(f,p){p===0&&(f.mode&1?(p=Lo,Lo<<=1,!(Lo&130023424)&&(Lo=4194304)):p=1);var x=_i();f=la(f,p),f!==null&&($a(f,p,x),pi(f,x))}function z4(f){var p=f.memoizedState,x=0;p!==null&&(x=p.retryLane),wv(f,x)}function rb(f,p){var x=0;switch(f.tag){case 13:var P=f.stateNode,M=f.memoizedState;M!==null&&(x=M.retryLane);break;case 19:P=f.stateNode;break;default:throw Error(a(314))}P!==null&&P.delete(p),wv(f,x)}var Cv;Cv=function(f,p,x){if(f!==null)if(f.memoizedProps!==p.pendingProps||ui.current)eo=!0;else{if(!(f.lanes&x)&&!(p.flags&128))return eo=!1,j4(f,p,x);eo=!!(f.flags&131072)}else eo=!1,zn&&p.flags&1048576&&z0(p,Ar,p.index);switch(p.lanes=0,p.tag){case 2:var P=p.type;Wa(f,p),f=p.pendingProps;var M=al(p,Hr.current);Ac(p,x),M=Y0(null,p,P,f,M,x);var R=jc();return p.flags|=1,typeof M=="object"&&M!==null&&typeof M.render=="function"&&M.$$typeof===void 0?(p.tag=1,p.memoizedState=null,p.updateQueue=null,ci(P)?(R=!0,ws(p)):R=!1,p.memoizedState=M.state!==null&&M.state!==void 0?M.state:null,U0(p),M.updater=ua,p.stateNode=M,M._reactInternals=p,V0(p,P,f,x),p=ca(null,p,P,!0,R,x)):(p.tag=0,zn&&R&&Ii(p),Ni(null,p,M,x),p=p.child),p;case 16:P=p.elementType;e:{switch(Wa(f,p),f=p.pendingProps,M=P._init,P=M(P._payload),p.type=P,M=p.tag=fg(P),f=sa(P,f),M){case 0:p=iv(null,p,P,f,x);break e;case 1:p=K2(null,p,P,f,x);break e;case 11:p=U2(null,p,P,f,x);break e;case 14:p=hl(null,p,P,sa(P.type,f),x);break e}throw Error(a(306,P,""))}return p;case 0:return P=p.type,M=p.pendingProps,M=p.elementType===P?M:sa(P,M),iv(f,p,P,M,x);case 1:return P=p.type,M=p.pendingProps,M=p.elementType===P?M:sa(P,M),K2(f,p,P,M,x);case 3:e:{if(Y2(p),f===null)throw Error(a(387));P=p.pendingProps,R=p.memoizedState,M=R.element,A2(f,p),jp(p,P,null,x);var U=p.memoizedState;if(P=U.element,bt&&R.isDehydrated)if(R={element:P,isDehydrated:!1,cache:U.cache,pendingSuspenseBoundaries:U.pendingSuspenseBoundaries,transitions:U.transitions},p.updateQueue.baseState=R,p.memoizedState=R,p.flags&256){M=Vc(Error(a(423)),p),p=X2(f,p,P,x,M);break e}else if(P!==M){M=Vc(Error(a(424)),p),p=X2(f,p,P,x,M);break e}else for(bt&&(Oo=M0(p.stateNode.containerInfo),Zn=p,zn=!0,Qi=null,Ro=!1),x=j2(p,null,P,x),p.child=x;x;)x.flags=x.flags&-3|4096,x=x.sibling;else{if(Mc(),P===M){p=Es(f,p,x);break e}Ni(f,p,P,x)}p=p.child}return p;case 5:return Lt(p),f===null&&kf(p),P=p.type,M=p.pendingProps,R=f!==null?f.memoizedProps:null,U=M.children,Le(P,M)?U=null:R!==null&&Le(P,R)&&(p.flags|=32),q2(f,p),Ni(f,p,U,x),p.child;case 6:return f===null&&kf(p),null;case 13:return Z2(f,p,x);case 4:return me(p,p.stateNode.containerInfo),P=p.pendingProps,f===null?p.child=Rc(p,null,P,x):Ni(f,p,P,x),p.child;case 11:return P=p.type,M=p.pendingProps,M=p.elementType===P?M:sa(P,M),U2(f,p,P,M,x);case 7:return Ni(f,p,p.pendingProps,x),p.child;case 8:return Ni(f,p,p.pendingProps.children,x),p.child;case 12:return Ni(f,p,p.pendingProps.children,x),p.child;case 10:e:{if(P=p.type._context,M=p.pendingProps,R=p.memoizedProps,U=M.value,L2(p,P,U),R!==null)if(q(R.value,U)){if(R.children===M.children&&!ui.current){p=Es(f,p,x);break e}}else for(R=p.child,R!==null&&(R.return=p);R!==null;){var ae=R.dependencies;if(ae!==null){U=R.child;for(var he=ae.firstContext;he!==null;){if(he.context===P){if(R.tag===1){he=_s(-1,x&-x),he.tag=2;var Ue=R.updateQueue;if(Ue!==null){Ue=Ue.shared;var ct=Ue.pending;ct===null?he.next=he:(he.next=ct.next,ct.next=he),Ue.pending=he}}R.lanes|=x,he=R.alternate,he!==null&&(he.lanes|=x),Lf(R.return,x,p),ae.lanes|=x;break}he=he.next}}else if(R.tag===10)U=R.type===p.type?null:R.child;else if(R.tag===18){if(U=R.return,U===null)throw Error(a(341));U.lanes|=x,ae=U.alternate,ae!==null&&(ae.lanes|=x),Lf(U,x,p),U=R.sibling}else U=R.child;if(U!==null)U.return=R;else for(U=R;U!==null;){if(U===p){U=null;break}if(R=U.sibling,R!==null){R.return=U.return,U=R;break}U=U.return}R=U}Ni(f,p,M.children,x),p=p.child}return p;case 9:return M=p.type,P=p.pendingProps.children,Ac(p,x),M=co(M),P=P(M),p.flags|=1,Ni(f,p,P,x),p.child;case 14:return P=p.type,M=sa(P,p.pendingProps),M=sa(P.type,M),hl(f,p,P,M,x);case 15:return V2(f,p,p.type,p.pendingProps,x);case 17:return P=p.type,M=p.pendingProps,M=p.elementType===P?M:sa(P,M),Wa(f,p),p.tag=1,ci(P)?(f=!0,ws(p)):f=!1,Ac(p,x),R2(p,P,M),V0(p,P,M,x),ca(null,p,P,!0,f,x);case 19:return J2(f,p,x);case 22:return G2(f,p,x)}throw Error(a(156,p.tag))};function Bi(f,p){return Ec(f,p)}function Ua(f,p,x,P){this.tag=f,this.key=x,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=p,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=P,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function $o(f,p,x,P){return new Ua(f,p,x,P)}function _v(f){return f=f.prototype,!(!f||!f.isReactComponent)}function fg(f){if(typeof f=="function")return _v(f)?1:0;if(f!=null){if(f=f.$$typeof,f===w)return 11;if(f===k)return 14}return 2}function go(f,p){var x=f.alternate;return x===null?(x=$o(f.tag,p,f.key,f.mode),x.elementType=f.elementType,x.type=f.type,x.stateNode=f.stateNode,x.alternate=f,f.alternate=x):(x.pendingProps=p,x.type=f.type,x.flags=0,x.subtreeFlags=0,x.deletions=null),x.flags=f.flags&14680064,x.childLanes=f.childLanes,x.lanes=f.lanes,x.child=f.child,x.memoizedProps=f.memoizedProps,x.memoizedState=f.memoizedState,x.updateQueue=f.updateQueue,p=f.dependencies,x.dependencies=p===null?null:{lanes:p.lanes,firstContext:p.firstContext},x.sibling=f.sibling,x.index=f.index,x.ref=f.ref,x}function Xf(f,p,x,P,M,R){var U=2;if(P=f,typeof f=="function")_v(f)&&(U=1);else if(typeof f=="string")U=5;else e:switch(f){case d:return Cl(x.children,M,R,p);case h:U=8,M|=8;break;case m:return f=$o(12,x,p,M|2),f.elementType=m,f.lanes=R,f;case E:return f=$o(13,x,p,M),f.elementType=E,f.lanes=R,f;case _:return f=$o(19,x,p,M),f.elementType=_,f.lanes=R,f;case L:return hg(x,M,R,p);default:if(typeof f=="object"&&f!==null)switch(f.$$typeof){case y:U=10;break e;case b:U=9;break e;case w:U=11;break e;case k:U=14;break e;case T:U=16,P=null;break e}throw Error(a(130,f==null?f:typeof f,""))}return p=$o(U,x,p,M),p.elementType=f,p.type=P,p.lanes=R,p}function Cl(f,p,x,P){return f=$o(7,f,P,p),f.lanes=x,f}function hg(f,p,x,P){return f=$o(22,f,P,p),f.elementType=L,f.lanes=x,f.stateNode={isHidden:!1},f}function pg(f,p,x){return f=$o(6,f,null,p),f.lanes=x,f}function _l(f,p,x){return p=$o(4,f.children!==null?f.children:[],f.key,p),p.lanes=x,p.stateNode={containerInfo:f.containerInfo,pendingChildren:null,implementation:f.implementation},p}function Zf(f,p,x,P,M){this.tag=p,this.containerInfo=f,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=tt,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=kc(0),this.expirationTimes=kc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=kc(0),this.identifierPrefix=P,this.onRecoverableError=M,bt&&(this.mutableSourceEagerHydrationData=null)}function ib(f,p,x,P,M,R,U,ae,he){return f=new Zf(f,p,x,ae,he),p===1?(p=1,R===!0&&(p|=8)):p=0,R=$o(3,null,null,p),f.current=R,R.stateNode=f,R.memoizedState={element:P,isDehydrated:x,cache:null,transitions:null,pendingSuspenseBoundaries:null},U0(R),f}function kv(f){if(!f)return ia;f=f._reactInternals;e:{if(W(f)!==f||f.tag!==1)throw Error(a(170));var p=f;do{switch(p.tag){case 3:p=p.stateNode.context;break e;case 1:if(ci(p.type)){p=p.stateNode.__reactInternalMemoizedMergedChildContext;break e}}p=p.return}while(p!==null);throw Error(a(171))}if(f.tag===1){var x=f.type;if(ci(x))return gu(f,x,p)}return p}function Ev(f){var p=f._reactInternals;if(p===void 0)throw typeof f.render=="function"?Error(a(188)):(f=Object.keys(f).join(","),Error(a(268,f)));return f=ne(p),f===null?null:f.stateNode}function Qf(f,p){if(f=f.memoizedState,f!==null&&f.dehydrated!==null){var x=f.retryLane;f.retryLane=x!==0&&x=Ue&&R>=It&&M<=ct&&U<=it){f.splice(p,1);break}else if(P!==Ue||x.width!==he.width||itU){if(!(R!==It||x.height!==he.height||ctM)){Ue>P&&(he.width+=Ue-P,he.x=P),ctR&&(he.height+=It-R,he.y=R),itx&&(x=U)),U ")+` + +No matching component was found for: + `)+f.join(" > ")}return null},n.getPublicRootInstance=function(f){if(f=f.current,!f.child)return null;switch(f.child.tag){case 5:return X(f.child.stateNode);default:return f.child.stateNode}},n.injectIntoDevTools=function(f){if(f={bundleType:f.bundleType,version:f.version,rendererPackageName:f.rendererPackageName,rendererConfig:f.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:s.ReactCurrentDispatcher,findHostInstanceByFiber:gg,findFiberByHostInstance:f.findFiberByHostInstance||Pv,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")f=!1;else{var p=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(p.isDisabled||!p.supportsFiber)f=!0;else{try{cn=p.inject(f),qt=p}catch{}f=!!p.checkDCE}}return f},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(f,p,x,P){if(!le)throw Error(a(363));f=gv(f,p);var M=Mt(f,x,P).disconnect;return{disconnect:function(){M()}}},n.registerMutableSourceForHydration=function(f,p){var x=p._getVersion;x=x(p._source),f.mutableSourceEagerHydrationData==null?f.mutableSourceEagerHydrationData=[p,x]:f.mutableSourceEagerHydrationData.push(p,x)},n.runWithPriority=function(f,p){var x=Gt;try{return Gt=f,p()}finally{Gt=x}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(f,p,x,P){var M=p.current,R=_i(),U=qr(M);return x=kv(x),p.context===null?p.context=x:p.pendingContext=x,p=_s(R,U),p.payload={element:f},P=P===void 0?null:P,P!==null&&(p.callback=P),f=dl(M,p,U),f!==null&&(No(f,M,U,R),Dp(f,M,U)),U},n};(function(e){e.exports=FPe})($Pe);const BPe=w7(a7);var F3={},zPe={get exports(){return F3},set exports(e){F3=e}},vp={};/** + * @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. + */vp.ConcurrentRoot=1;vp.ContinuousEventPriority=4;vp.DefaultEventPriority=16;vp.DiscreteEventPriority=1;vp.IdleEventPriority=536870912;vp.LegacyRoot=0;(function(e){e.exports=vp})(zPe);const SD={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let wD=!1,CD=!1;const gP=".react-konva-event",HPe=`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 +`,WPe=`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 +`,UPe={};function C4(e,t,n=UPe){if(!wD&&"zIndex"in t&&(console.warn(WPe),wD=!0),!CD&&t.draggable){var r=t.x!==void 0||t.y!==void 0,i=t.onDragEnd||t.onDragMove;r&&!i&&(console.warn(HPe),CD=!0)}for(var o in n)if(!SD[o]){var a=o.slice(0,2)==="on",s=n[o]!==t[o];if(a&&s){var l=o.substr(2).toLowerCase();l.substr(0,7)==="content"&&(l="content"+l.substr(7,1).toUpperCase()+l.substr(8)),e.off(l,n[o])}var u=!t.hasOwnProperty(o);u&&e.setAttr(o,void 0)}var d=t._useStrictMode,h={},m=!1;const y={};for(var o in t)if(!SD[o]){var a=o.slice(0,2)==="on",b=n[o]!==t[o];if(a&&b){var l=o.substr(2).toLowerCase();l.substr(0,7)==="content"&&(l="content"+l.substr(7,1).toUpperCase()+l.substr(8)),t[o]&&(y[l]=t[o])}!a&&(t[o]!==n[o]||d&&t[o]!==e.getAttr(o))&&(m=!0,h[o]=t[o])}m&&(e.setAttrs(h),hf(e));for(var l in y)e.on(l+gP,y[l])}function hf(e){if(!ft.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const bq={},VPe={};Qh.Node.prototype._applyProps=C4;function GPe(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),hf(e)}function qPe(e,t,n){let r=Qh[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=Qh.Group);const i={},o={};for(var a in t){var s=a.slice(0,2)==="on";s?o[a]=t[a]:i[a]=t[a]}const l=new r(i);return C4(l,o),l}function KPe(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function YPe(e,t,n){return!1}function XPe(e){return e}function ZPe(){return null}function QPe(){return null}function JPe(e,t,n,r){return VPe}function eTe(){}function tTe(e){}function nTe(e,t){return!1}function rTe(){return bq}function iTe(){return bq}const oTe=setTimeout,aTe=clearTimeout,sTe=-1;function lTe(e,t){return!1}const uTe=!1,cTe=!0,dTe=!0;function fTe(e,t){t.parent===e?t.moveToTop():e.add(t),hf(e)}function hTe(e,t){t.parent===e?t.moveToTop():e.add(t),hf(e)}function xq(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),hf(e)}function pTe(e,t,n){xq(e,t,n)}function gTe(e,t){t.destroy(),t.off(gP),hf(e)}function mTe(e,t){t.destroy(),t.off(gP),hf(e)}function vTe(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function yTe(e,t,n){}function bTe(e,t,n,r,i){C4(e,i,r)}function xTe(e){e.hide(),hf(e)}function STe(e){}function wTe(e,t){(t.visible==null||t.visible)&&e.show()}function CTe(e,t){}function _Te(e){}function kTe(){}const ETe=()=>F3.DefaultEventPriority,PTe=Object.freeze(Object.defineProperty({__proto__:null,appendChild:fTe,appendChildToContainer:hTe,appendInitialChild:GPe,cancelTimeout:aTe,clearContainer:_Te,commitMount:yTe,commitTextUpdate:vTe,commitUpdate:bTe,createInstance:qPe,createTextInstance:KPe,detachDeletedInstance:kTe,finalizeInitialChildren:YPe,getChildHostContext:iTe,getCurrentEventPriority:ETe,getPublicInstance:XPe,getRootHostContext:rTe,hideInstance:xTe,hideTextInstance:STe,idlePriority:Th.unstable_IdlePriority,insertBefore:xq,insertInContainerBefore:pTe,isPrimaryRenderer:uTe,noTimeout:sTe,now:Th.unstable_now,prepareForCommit:ZPe,preparePortalMount:QPe,prepareUpdate:JPe,removeChild:gTe,removeChildFromContainer:mTe,resetAfterCommit:eTe,resetTextContent:tTe,run:Th.unstable_runWithPriority,scheduleTimeout:oTe,shouldDeprioritizeSubtree:nTe,shouldSetTextContent:lTe,supportsMutation:dTe,unhideInstance:wTe,unhideTextInstance:CTe,warnsIfNotActing:cTe},Symbol.toStringTag,{value:"Module"}));var TTe=Object.defineProperty,MTe=Object.defineProperties,LTe=Object.getOwnPropertyDescriptors,_D=Object.getOwnPropertySymbols,ATe=Object.prototype.hasOwnProperty,OTe=Object.prototype.propertyIsEnumerable,kD=(e,t,n)=>t in e?TTe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ED=(e,t)=>{for(var n in t||(t={}))ATe.call(t,n)&&kD(e,n,t[n]);if(_D)for(var n of _D(t))OTe.call(t,n)&&kD(e,n,t[n]);return e},RTe=(e,t)=>MTe(e,LTe(t));function Sq(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const i=Sq(r,t,n);if(i)return i;r=t?null:r.sibling}}function wq(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const mP=wq(S.createContext(null));class Cq extends S.Component{render(){return S.createElement(mP.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:ITe,ReactCurrentDispatcher:DTe}=S.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function jTe(){const e=S.useContext(mP);if(!e)throw new Error("its-fine: useFiber must be called within a !");const t=S.useId();return S.useMemo(()=>{var r;return(r=ITe.current)!=null?r:Sq(e,!1,i=>{let o=i.memoizedState;for(;o;){if(o.memoizedState===t)return!0;o=o.next}})},[e,t])}function NTe(){var e,t;const n=jTe(),[r]=S.useState(()=>new Map);r.clear();let i=n;for(;i;){const o=(e=i.type)==null?void 0:e._context;o&&o!==mP&&!r.has(o)&&r.set(o,(t=DTe.current)==null?void 0:t.readContext(wq(o))),i=i.return}return S.useMemo(()=>Array.from(r.keys()).reduce((o,a)=>s=>S.createElement(o,null,S.createElement(a.Provider,RTe(ED({},s),{value:r.get(a)}))),o=>S.createElement(Cq,ED({},o))),[r])}function $Te(e){const t=Ye.useRef();return Ye.useLayoutEffect(()=>{t.current=e}),t.current}const FTe=e=>{const t=Ye.useRef(),n=Ye.useRef(),r=Ye.useRef(),i=$Te(e),o=NTe(),a=s=>{const{forwardedRef:l}=e;l&&(typeof l=="function"?l(s):l.current=s)};return Ye.useLayoutEffect(()=>(n.current=new Qh.Stage({width:e.width,height:e.height,container:t.current}),a(n.current),r.current=w1.createContainer(n.current,F3.LegacyRoot,!1,null),w1.updateContainer(Ye.createElement(o,{},e.children),r.current),()=>{Qh.isBrowser&&(a(null),w1.updateContainer(null,r.current,null),n.current.destroy())}),[]),Ye.useLayoutEffect(()=>{a(n.current),C4(n.current,e,i),w1.updateContainer(Ye.createElement(o,{},e.children),r.current,null)}),Ye.createElement("div",{ref:t,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},n1="Layer",uc="Group",cc="Rect",ah="Circle",B3="Line",_q="Image",BTe="Transformer",w1=BPe(PTe);w1.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:Ye.version,rendererPackageName:"react-konva"});const zTe=Ye.forwardRef((e,t)=>Ye.createElement(Cq,{},Ye.createElement(FTe,{...e,forwardedRef:t}))),HTe=lt([rn,Lr],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),WTe=()=>{const e=Te(),{tool:t,isStaging:n,isMovingBoundingBox:r}=se(HTe);return{handleDragStart:S.useCallback(()=>{(t==="move"||n)&&!r&&e(S3(!0))},[e,r,n,t]),handleDragMove:S.useCallback(i=>{if(!((t==="move"||n)&&!r))return;const o={x:i.target.x(),y:i.target.y()};e(ZW(o))},[e,r,n,t]),handleDragEnd:S.useCallback(()=>{(t==="move"||n)&&!r&&e(S3(!1))},[e,r,n,t])}},UTe=lt([rn,Br,Lr],(e,t,n)=>{const{cursorPosition:r,shouldLockBoundingBox:i,shouldShowBoundingBox:o,tool:a,isMaskEnabled:s,shouldSnapToGrid:l}=e;return{activeTabName:t,isCursorOnCanvas:Boolean(r),shouldLockBoundingBox:i,shouldShowBoundingBox:o,tool:a,isStaging:n,isMaskEnabled:s,shouldSnapToGrid:l}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),VTe=()=>{const e=Te(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:i,isMaskEnabled:o,shouldSnapToGrid:a}=se(UTe),s=S.useRef(null),l=$V(),u=()=>e(gE());Je(["shift+c"],()=>{u()},{enabled:()=>!i,preventDefault:!0},[]);const d=()=>e(h2(!o));Je(["h"],()=>{d()},{enabled:()=>!i,preventDefault:!0},[o]),Je(["n"],()=>{e(C3(!a))},{enabled:!0,preventDefault:!0},[a]),Je("esc",()=>{e(f3e())},{enabled:()=>!0,preventDefault:!0}),Je("shift+h",()=>{e(b3e(!n))},{enabled:()=>!i,preventDefault:!0},[t,n]),Je(["space"],h=>{h.repeat||(l==null||l.container().focus(),r!=="move"&&(s.current=r,e(Jl("move"))),r==="move"&&s.current&&s.current!=="move"&&(e(Jl(s.current)),s.current="move"))},{keyup:!0,keydown:!0,preventDefault:!0},[r,s])},vP=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}},kq=()=>{const e=Te(),t=Qs(),n=$V();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const i=$g.pixelRatio,[o,a,s,l]=t.getContext().getImageData(r.x*i,r.y*i,1,1).data;e(m3e({r:o,g:a,b:s,a:l}))},commitColorUnderCursor:()=>{e(o3e())}}},GTe=lt([Br,rn,Lr],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),qTe=e=>{const t=Te(),{tool:n,isStaging:r}=se(GTe),{commitColorUnderCursor:i}=kq();return S.useCallback(o=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(S3(!0));return}if(n==="colorPicker"){i();return}const a=vP(e.current);a&&(o.evt.preventDefault(),t(HW(!0)),t(i3e([a.x,a.y])))},[e,n,r,t,i])},KTe=lt([Br,rn,Lr],(e,t,n)=>{const{tool:r,isDrawing:i}=t;return{tool:r,isDrawing:i,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),YTe=(e,t,n)=>{const r=Te(),{isDrawing:i,tool:o,isStaging:a}=se(KTe),{updateColorUnderCursor:s}=kq();return S.useCallback(()=>{if(!e.current)return;const l=vP(e.current);if(l){if(r(v3e(l)),n.current=l,o==="colorPicker"){s();return}!i||o==="move"||a||(t.current=!0,r(FW([l.x,l.y])))}},[t,r,i,a,n,e,o,s])},XTe=()=>{const e=Te();return S.useCallback(()=>{e(l3e())},[e])},ZTe=lt([Br,rn,Lr],(e,t,n)=>{const{tool:r,isDrawing:i}=t;return{tool:r,isDrawing:i,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),QTe=(e,t)=>{const n=Te(),{tool:r,isDrawing:i,isStaging:o}=se(ZTe);return S.useCallback(()=>{if(r==="move"||o){n(S3(!1));return}if(!t.current&&i&&e.current){const a=vP(e.current);if(!a)return;n(FW([a.x,a.y]))}else t.current=!1;n(HW(!1))},[t,n,i,o,e,r])},JTe=lt([rn],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),eMe=e=>{const t=Te(),{isMoveStageKeyHeld:n,stageScale:r}=se(JTe);return S.useCallback(i=>{if(!e.current||n)return;i.evt.preventDefault();const o=e.current.getPointerPosition();if(!o)return;const a={x:(o.x-e.current.x())/r,y:(o.y-e.current.y())/r};let s=i.evt.deltaY;i.evt.ctrlKey&&(s=-s);const l=we.clamp(r*qSe**s,KSe,YSe),u={x:o.x-a.x*l,y:o.y-a.y*l};t(S3e(l)),t(ZW(u))},[e,n,r,t])},tMe=lt(rn,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageDimensions:r,stageScale:i,shouldDarkenOutsideBoundingBox:o,stageCoordinates:a}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,shouldDarkenOutsideBoundingBox:o,stageCoordinates:a,stageDimensions:r,stageScale:i}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),nMe=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:i,stageScale:o}=se(tMe);return g.jsxs(uc,{children:[g.jsx(cc,{offsetX:r.x/o,offsetY:r.y/o,height:i.height/o,width:i.width/o,fill:"rgba(0,0,0,0.4)",listening:!1,visible:n}),g.jsx(cc,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,visible:n,globalCompositeOperation:"destination-out"})]})},rMe=lt([rn],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),iMe={dark:"rgba(255, 255, 255, 0.2)",green:"rgba(255, 255, 255, 0.2)",light:"rgba(0, 0, 0, 0.2)"},oMe=()=>{const{colorMode:e}=Qy(),{stageScale:t,stageCoordinates:n,stageDimensions:r}=se(rMe),[i,o]=S.useState([]),a=S.useCallback(s=>s/t,[t]);return S.useLayoutEffect(()=>{const s=iMe[e],{width:l,height:u}=r,{x:d,y:h}=n,m={x1:0,y1:0,x2:l,y2:u,offset:{x:a(d),y:a(h)}},y={x:Math.ceil(a(d)/64)*64,y:Math.ceil(a(h)/64)*64},b={x1:-y.x,y1:-y.y,x2:a(l)-y.x+64,y2:a(u)-y.y+64},E={x1:Math.min(m.x1,b.x1),y1:Math.min(m.y1,b.y1),x2:Math.max(m.x2,b.x2),y2:Math.max(m.y2,b.y2)},_=E.x2-E.x1,k=E.y2-E.y1,T=Math.round(_/64)+1,L=Math.round(k/64)+1,O=we.range(0,T).map(I=>g.jsx(B3,{x:E.x1+I*64,y:E.y1,points:[0,0,0,k],stroke:s,strokeWidth:1},`x_${I}`)),D=we.range(0,L).map(I=>g.jsx(B3,{x:E.x1,y:E.y1+I*64,points:[0,0,_,0],stroke:s,strokeWidth:1},`y_${I}`));o(O.concat(D))},[t,n,r,e,a]),g.jsx(uc,{children:i})},aMe=lt([e=>e.gallery],e=>e.intermediateImage?e.intermediateImage:null,{memoizeOptions:{resultEqualityCheck:we.isEqual}}),sMe=e=>{const{...t}=e,n=se(aMe),[r,i]=S.useState(null);if(S.useEffect(()=>{if(!n)return;const u=new Image;u.onload=()=>{i(u)},u.src=n.url},[n]),!(n!=null&&n.boundingBox))return null;const{boundingBox:{x:o,y:a,width:s,height:l}}=n;return r?g.jsx(_q,{x:o,y:a,width:s,height:l,image:r,listening:!1,...t}):null},zh=e=>{const{r:t,g:n,b:r,a:i}=e;return`rgba(${t}, ${n}, ${r}, ${i})`},lMe=lt(rn,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:i}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:i,maskColorString:zh(t)}}),PD=e=>`data:image/svg+xml;utf8, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +`.replaceAll("black",e),uMe=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:i,stageScale:o}=se(lMe),[a,s]=S.useState(null),[l,u]=S.useState(0),d=S.useRef(null),h=S.useCallback(()=>{u(l+1),setTimeout(h,500)},[l]);return S.useEffect(()=>{if(a)return;const m=new Image;m.onload=()=>{s(m)},m.src=PD(n)},[a,n]),S.useEffect(()=>{a&&(a.src=PD(n))},[a,n]),S.useEffect(()=>{const m=setInterval(()=>u(y=>(y+1)%5),50);return()=>clearInterval(m)},[]),!a||!we.isNumber(r.x)||!we.isNumber(r.y)||!we.isNumber(o)||!we.isNumber(i.width)||!we.isNumber(i.height)?null:g.jsx(cc,{ref:d,offsetX:r.x/o,offsetY:r.y/o,height:i.height/o,width:i.width/o,fillPatternImage:a,fillPatternOffsetY:we.isNumber(l)?l:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/o,y:1/o},listening:!0,globalCompositeOperation:"source-in",...t})},cMe=lt([rn],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:we.isEqual}}),dMe=e=>{const{...t}=e,{objects:n}=se(cMe);return g.jsx(uc,{listening:!1,...t,children:n.filter(pE).map((r,i)=>g.jsx(B3,{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"},i))})};var sh=S,fMe=function(t,n,r){const i=sh.useRef("loading"),o=sh.useRef(),[a,s]=sh.useState(0),l=sh.useRef(),u=sh.useRef(),d=sh.useRef();return(l.current!==t||u.current!==n||d.current!==r)&&(i.current="loading",o.current=void 0,l.current=t,u.current=n,d.current=r),sh.useLayoutEffect(function(){if(!t)return;var h=document.createElement("img");function m(){i.current="loaded",o.current=h,s(Math.random())}function y(){i.current="failed",o.current=void 0,s(Math.random())}return h.addEventListener("load",m),h.addEventListener("error",y),n&&(h.crossOrigin=n),r&&(h.referrerpolicy=r),h.src=t,function(){h.removeEventListener("load",m),h.removeEventListener("error",y)}},[t,n,r]),[o.current,i.current]};const Eq=e=>{const{url:t,x:n,y:r}=e,[i]=fMe(t);return g.jsx(_q,{x:n,y:r,image:i,listening:!1})},hMe=lt([rn],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),pMe=()=>{const{objects:e}=se(hMe);return e?g.jsx(uc,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(x3(t))return g.jsx(Eq,{x:t.x,y:t.y,url:t.image.url},n);if(QSe(t)){const r=g.jsx(B3,{points:t.points,stroke:t.color?zh(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?g.jsx(uc,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(JSe(t))return g.jsx(cc,{x:t.x,y:t.y,width:t.width,height:t.height,fill:zh(t.color)},n);if(e3e(t))return g.jsx(cc,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},gMe=lt([rn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n}},shouldShowStagingImage:r,shouldShowStagingOutline:i,boundingBoxCoordinates:{x:o,y:a},boundingBoxDimensions:{width:s,height:l}}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:r,shouldShowStagingOutline:i,x:o,y:a,width:s,height:l}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),mMe=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:i,x:o,y:a,width:s,height:l}=se(gMe);return g.jsxs(uc,{...t,children:[r&&n&&g.jsx(Eq,{url:n.image.url,x:o,y:a}),i&&g.jsxs(uc,{children:[g.jsx(cc,{x:o,y:a,width:s,height:l,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),g.jsx(cc,{x:o,y:a,width:s,height:l,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},vMe=lt([rn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n}},shouldShowStagingOutline:r,shouldShowStagingImage:i}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:i,shouldShowStagingOutline:r}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),yMe=()=>{const e=Te(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:i}=se(vMe),{t:o}=Ie(),a=S.useCallback(()=>{e(ZO(!0))},[e]),s=S.useCallback(()=>{e(ZO(!1))},[e]);Je(["left"],()=>{l()},{enabled:()=>!0,preventDefault:!0}),Je(["right"],()=>{u()},{enabled:()=>!0,preventDefault:!0}),Je(["enter"],()=>{d()},{enabled:()=>!0,preventDefault:!0});const l=()=>e(c3e()),u=()=>e(u3e()),d=()=>e(a3e());return r?g.jsx(Ee,{pos:"absolute",bottom:"1rem",w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:a,onMouseOut:s,children:g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Xe,{tooltip:`${o("unifiedCanvas.previous")} (Left)`,"aria-label":`${o("unifiedCanvas.previous")} (Left)`,icon:g.jsx(bke,{}),onClick:l,"data-selected":!0,isDisabled:t}),g.jsx(Xe,{tooltip:`${o("unifiedCanvas.next")} (Right)`,"aria-label":`${o("unifiedCanvas.next")} (Right)`,icon:g.jsx(xke,{}),onClick:u,"data-selected":!0,isDisabled:n}),g.jsx(Xe,{tooltip:`${o("unifiedCanvas.accept")} (Enter)`,"aria-label":`${o("unifiedCanvas.accept")} (Enter)`,icon:g.jsx(NE,{}),onClick:d,"data-selected":!0}),g.jsx(Xe,{tooltip:o("unifiedCanvas.showHide"),"aria-label":o("unifiedCanvas.showHide"),"data-alert":!i,icon:i?g.jsx(Pke,{}):g.jsx(Eke,{}),onClick:()=>e(x3e(!i)),"data-selected":!0}),g.jsx(Xe,{tooltip:o("unifiedCanvas.saveToGallery"),"aria-label":o("unifiedCanvas.saveToGallery"),icon:g.jsx(FE,{}),onClick:()=>e(S_e(r.image.url)),"data-selected":!0}),g.jsx(Xe,{tooltip:o("unifiedCanvas.discardAll"),"aria-label":o("unifiedCanvas.discardAll"),icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(s3e()),"data-selected":!0,style:{backgroundColor:"var(--btn-delete-image)"},fontSize:20})]})}):null},cm=e=>Math.round(e*100)/100,bMe=lt([rn],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${cm(n)}, ${cm(r)})`}},{memoizeOptions:{resultEqualityCheck:we.isEqual}});function xMe(){const{cursorCoordinatesString:e}=se(bMe),{t}=Ie();return g.jsx("div",{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const SMe=lt([rn],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:i},boundingBoxDimensions:{width:o,height:a},scaledBoundingBoxDimensions:{width:s,height:l},boundingBoxCoordinates:{x:u,y:d},stageScale:h,shouldShowCanvasDebugInfo:m,layer:y,boundingBoxScaleMethod:b,shouldPreserveMaskedArea:w}=e;let E="inherit";return(b==="none"&&(o<512||a<512)||b==="manual"&&s*l<512*512)&&(E="var(--status-working-color)"),{activeLayerColor:y==="mask"?"var(--status-working-color)":"inherit",activeLayerString:y.charAt(0).toUpperCase()+y.slice(1),boundingBoxColor:E,boundingBoxCoordinatesString:`(${cm(u)}, ${cm(d)})`,boundingBoxDimensionsString:`${o}×${a}`,scaledBoundingBoxDimensionsString:`${s}×${l}`,canvasCoordinatesString:`${cm(r)}×${cm(i)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(h*100),shouldShowCanvasDebugInfo:m,shouldShowBoundingBox:b!=="auto",shouldShowScaledBoundingBox:b!=="none",shouldPreserveMaskedArea:w}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),wMe=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:i,scaledBoundingBoxDimensionsString:o,shouldShowScaledBoundingBox:a,canvasCoordinatesString:s,canvasDimensionsString:l,canvasScaleString:u,shouldShowCanvasDebugInfo:d,shouldShowBoundingBox:h,shouldPreserveMaskedArea:m}=se(SMe),{t:y}=Ie();return g.jsxs("div",{className:"canvas-status-text",children:[g.jsx("div",{style:{color:e},children:`${y("unifiedCanvas.activeLayer")}: ${t}`}),g.jsx("div",{children:`${y("unifiedCanvas.canvasScale")}: ${u}%`}),m&&g.jsx("div",{style:{color:"var(--status-working-color)"},children:"Preserve Masked Area: On"}),h&&g.jsx("div",{style:{color:n},children:`${y("unifiedCanvas.boundingBox")}: ${i}`}),a&&g.jsx("div",{style:{color:n},children:`${y("unifiedCanvas.scaledBoundingBox")}: ${o}`}),d&&g.jsxs(g.Fragment,{children:[g.jsx("div",{children:`${y("unifiedCanvas.boundingBoxPosition")}: ${r}`}),g.jsx("div",{children:`${y("unifiedCanvas.canvasDimensions")}: ${l}`}),g.jsx("div",{children:`${y("unifiedCanvas.canvasPosition")}: ${s}`}),g.jsx(xMe,{})]})]})},CMe=lt(rn,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageScale:r,isDrawing:i,isTransformingBoundingBox:o,isMovingBoundingBox:a,tool:s,shouldSnapToGrid:l}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,isDrawing:i,isMovingBoundingBox:a,isTransformingBoundingBox:o,stageScale:r,shouldSnapToGrid:l,tool:s,hitStrokeWidth:20/r}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),_Me=e=>{const{...t}=e,n=Te(),{boundingBoxCoordinates:r,boundingBoxDimensions:i,isDrawing:o,isMovingBoundingBox:a,isTransformingBoundingBox:s,stageScale:l,shouldSnapToGrid:u,tool:d,hitStrokeWidth:h}=se(CMe),m=S.useRef(null),y=S.useRef(null),[b,w]=S.useState(!1);S.useEffect(()=>{var ne;!m.current||!y.current||(m.current.nodes([y.current]),(ne=m.current.getLayer())==null||ne.batchDraw())},[]);const E=64*l,_=S.useCallback(ne=>{if(!u){n(IC({x:Math.floor(ne.target.x()),y:Math.floor(ne.target.y())}));return}const z=ne.target.x(),$=ne.target.y(),V=Hl(z,64),X=Hl($,64);ne.target.x(V),ne.target.y(X),n(IC({x:V,y:X}))},[n,u]),k=S.useCallback(()=>{if(!y.current)return;const ne=y.current,z=ne.scaleX(),$=ne.scaleY(),V=Math.round(ne.width()*z),X=Math.round(ne.height()*$),Q=Math.round(ne.x()),G=Math.round(ne.y());n(g1({width:V,height:X})),n(IC({x:u?Cd(Q,64):Q,y:u?Cd(G,64):G})),ne.scaleX(1),ne.scaleY(1)},[n,u]),T=S.useCallback((ne,z,$)=>{const V=ne.x%E,X=ne.y%E;return{x:Cd(z.x,E)+V,y:Cd(z.y,E)+X}},[E]),L=()=>{n(jC(!0))},O=()=>{n(jC(!1)),n(DC(!1)),n(Qb(!1)),w(!1)},D=()=>{n(DC(!0))},I=()=>{n(jC(!1)),n(DC(!1)),n(Qb(!1)),w(!1)},N=()=>{w(!0)},W=()=>{!s&&!a&&w(!1)},B=()=>{n(Qb(!0))},K=()=>{n(Qb(!1))};return g.jsxs(uc,{...t,children:[g.jsx(cc,{height:i.height,width:i.width,x:r.x,y:r.y,onMouseEnter:B,onMouseOver:B,onMouseLeave:K,onMouseOut:K}),g.jsx(cc,{draggable:!0,fillEnabled:!1,height:i.height,hitStrokeWidth:h,listening:!o&&d==="move",onDragStart:D,onDragEnd:I,onDragMove:_,onMouseDown:D,onMouseOut:W,onMouseOver:N,onMouseEnter:N,onMouseUp:I,onTransform:k,onTransformEnd:O,ref:y,stroke:b?"rgba(255,255,255,0.7)":"white",strokeWidth:(b?8:1)/l,width:i.width,x:r.x,y:r.y}),g.jsx(BTe,{anchorCornerRadius:3,anchorDragBoundFunc:T,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:d==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!o&&d==="move",onDragStart:D,onDragEnd:I,onMouseDown:L,onMouseUp:O,onTransformEnd:O,ref:m,rotateEnabled:!1})]})},kMe=lt(rn,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:i,brushColor:o,tool:a,layer:s,shouldShowBrush:l,isMovingBoundingBox:u,isTransformingBoundingBox:d,stageScale:h,stageDimensions:m,boundingBoxCoordinates:y,boundingBoxDimensions:b,shouldRestrictStrokesToBox:w}=e,E=w?{clipX:y.x,clipY:y.y,clipWidth:b.width,clipHeight:b.height}:{};return{cursorPosition:t,brushX:t?t.x:m.width/2,brushY:t?t.y:m.height/2,radius:n/2,colorPickerOuterRadius:YO/h,colorPickerInnerRadius:(YO-gk+1)/h,maskColorString:zh({...i,a:.5}),brushColorString:zh(o),colorPickerColorString:zh(r),tool:a,layer:s,shouldShowBrush:l,shouldDrawBrushPreview:!(u||d||!t)&&l,strokeWidth:1.5/h,dotRadius:1.5/h,clip:E}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),EMe=e=>{const{...t}=e,{brushX:n,brushY:r,radius:i,maskColorString:o,tool:a,layer:s,shouldDrawBrushPreview:l,dotRadius:u,strokeWidth:d,brushColorString:h,colorPickerColorString:m,colorPickerInnerRadius:y,colorPickerOuterRadius:b,clip:w}=se(kMe);return l?g.jsxs(uc,{listening:!1,...w,...t,children:[a==="colorPicker"?g.jsxs(g.Fragment,{children:[g.jsx(ah,{x:n,y:r,radius:b,stroke:h,strokeWidth:gk,strokeScaleEnabled:!1}),g.jsx(ah,{x:n,y:r,radius:y,stroke:m,strokeWidth:gk,strokeScaleEnabled:!1})]}):g.jsxs(g.Fragment,{children:[g.jsx(ah,{x:n,y:r,radius:i,fill:s==="mask"?o:h,globalCompositeOperation:a==="eraser"?"destination-out":"source-out"}),g.jsx(ah,{x:n,y:r,radius:i,stroke:"rgba(255,255,255,0.4)",strokeWidth:d*2,strokeEnabled:!0,listening:!1}),g.jsx(ah,{x:n,y:r,radius:i,stroke:"rgba(0,0,0,1)",strokeWidth:d,strokeEnabled:!0,listening:!1})]}),g.jsx(ah,{x:n,y:r,radius:u*2,fill:"rgba(255,255,255,0.4)",listening:!1}),g.jsx(ah,{x:n,y:r,radius:u,fill:"rgba(0,0,0,1)",listening:!1})]}):null},PMe=lt([rn,Lr],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:i,isTransformingBoundingBox:o,isMouseOverBoundingBox:a,isMovingBoundingBox:s,stageDimensions:l,stageCoordinates:u,tool:d,isMovingStage:h,shouldShowIntermediates:m,shouldShowGrid:y,shouldRestrictStrokesToBox:b}=e;let w="none";return d==="move"||t?h?w="grabbing":w="grab":o?w=void 0:b&&!a&&(w="default"),{isMaskEnabled:n,isModifyingBoundingBox:o||s,shouldShowBoundingBox:i,shouldShowGrid:y,stageCoordinates:u,stageCursor:w,stageDimensions:l,stageScale:r,tool:d,isStaging:t,shouldShowIntermediates:m}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),Pq=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:i,stageCursor:o,stageDimensions:a,stageScale:s,tool:l,isStaging:u,shouldShowIntermediates:d}=se(PMe);VTe();const h=S.useRef(null),m=S.useRef(null),y=S.useCallback(W=>{Q6e(W),h.current=W},[]),b=S.useCallback(W=>{Z6e(W),m.current=W},[]),w=S.useRef({x:0,y:0}),E=S.useRef(!1),_=eMe(h),k=qTe(h),T=QTe(h,E),L=YTe(h,E,w),O=XTe(),{handleDragStart:D,handleDragMove:I,handleDragEnd:N}=WTe();return g.jsx("div",{className:"inpainting-canvas-container",children:g.jsxs("div",{className:"inpainting-canvas-wrapper",children:[g.jsxs(zTe,{tabIndex:-1,ref:y,className:"inpainting-canvas-stage",style:{...o?{cursor:o}:{}},x:i.x,y:i.y,width:a.width,height:a.height,scale:{x:s,y:s},onTouchStart:k,onTouchMove:L,onTouchEnd:T,onMouseDown:k,onMouseLeave:O,onMouseMove:L,onMouseUp:T,onDragStart:D,onDragMove:I,onDragEnd:N,onContextMenu:W=>W.evt.preventDefault(),onWheel:_,draggable:(l==="move"||u)&&!t,children:[g.jsx(n1,{id:"grid",visible:r,children:g.jsx(oMe,{})}),g.jsx(n1,{id:"base",ref:b,listening:!1,imageSmoothingEnabled:!1,children:g.jsx(pMe,{})}),g.jsxs(n1,{id:"mask",visible:e,listening:!1,children:[g.jsx(dMe,{visible:!0,listening:!1}),g.jsx(uMe,{listening:!1})]}),g.jsx(n1,{children:g.jsx(nMe,{})}),g.jsxs(n1,{id:"preview",imageSmoothingEnabled:!1,children:[!u&&g.jsx(EMe,{visible:l!=="move",listening:!1}),g.jsx(mMe,{visible:u}),d&&g.jsx(sMe,{}),g.jsx(_Me,{visible:n&&!u})]})]}),g.jsx(wMe,{}),g.jsx(yMe,{})]})})},TMe=lt(rn,uG,Br,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:i}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:i}}),Tq=()=>{const e=Te(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:i}=se(TMe),o=S.useRef(null);return S.useLayoutEffect(()=>{window.setTimeout(()=>{if(!o.current)return;const{clientWidth:a,clientHeight:s}=o.current;e(g3e({width:a,height:s})),e(i?h3e():i4()),e(Li(!1))},0)},[e,r,t,n,i]),g.jsx("div",{ref:o,className:"inpainting-canvas-area",children:g.jsx(p0,{thickness:"2px",speed:"1s",size:"xl"})})},MMe=lt([rn,Br,pr],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:we.isEqual}});function Mq(){const e=Te(),{canRedo:t,activeTabName:n}=se(MMe),{t:r}=Ie(),i=()=>{e(d3e())};return Je(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{i()},{enabled:()=>t,preventDefault:!0},[n,t]),g.jsx(Xe,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:g.jsx($ke,{}),onClick:i,isDisabled:!t})}const LMe=lt([rn,Br,pr],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:we.isEqual}});function Lq(){const e=Te(),{t}=Ie(),{canUndo:n,activeTabName:r}=se(LMe),i=()=>{e(w3e())};return Je(["meta+z","ctrl+z"],()=>{i()},{enabled:()=>n,preventDefault:!0},[r,n]),g.jsx(Xe,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:g.jsx(Hke,{}),onClick:i,isDisabled:!n})}const AMe=(e,t,n)=>{const r=document.createElement("img");r.addEventListener("load",()=>{const i=document.createElement("canvas");i.width=t,i.height=n;const o=i.getContext("2d");o&&(o.drawImage(r,0,0),i.toBlob(a=>{a&&navigator.clipboard.write([new ClipboardItem({[a.type]:a})])}),i.remove(),r.remove())}),r.src=e},OMe=e=>{const t=document.createElement("a");t.href=e,t.download="",document.body.appendChild(t),t.click(),document.body.removeChild(t),t.remove()},RMe=(e,t,n,r)=>{const i=e.scale(),o=e.getClientRect({relativeTo:e.getParent()});e.scale({x:1/t,y:1/t});const{x:a,y:s,width:l,height:u}=e.getClientRect(),d=r?{x:r.x+n.x,y:r.y+n.y,width:r.width,height:r.height}:{x:a,y:s,width:l,height:u},h=e.toDataURL(d);return e.scale(i),{dataURL:h,boundingBox:{x:o.x,y:o.y,width:l,height:u}}},IMe={cropVisible:!1,cropToBoundingBox:!1,shouldSaveToGallery:!1,shouldDownload:!1,shouldCopy:!1,shouldSetAsInitialImage:!0},Td=(e=IMe)=>async(t,n)=>{const{cropVisible:r,cropToBoundingBox:i,shouldSaveToGallery:o,shouldDownload:a,shouldCopy:s,shouldSetAsInitialImage:l}=e;t(O4e("Exporting Image")),t(_d(!1));const u=n(),{stageScale:d,boundingBoxCoordinates:h,boundingBoxDimensions:m,stageCoordinates:y}=u.canvas,b=Qs();if(!b){t(wa(!1)),t(_d(!0));return}const{dataURL:w,boundingBox:E}=RMe(b,d,y,i?{...h,...m}:void 0);if(!w){t(wa(!1)),t(_d(!0));return}const _=new FormData;_.append("data",JSON.stringify({dataURL:w,filename:"merged_canvas.png",kind:o?"result":"temp",cropVisible:r}));const T=await(await fetch(`${window.location.origin}/upload`,{method:"POST",body:_})).json(),{url:L,width:O,height:D}=T,I={uuid:um(),category:o?"result":"user",...T};a&&(OMe(L),t($u({title:Et.t("toast.downloadImageStarted"),status:"success",duration:2500,isClosable:!0}))),s&&(AMe(L,O,D),t($u({title:Et.t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0}))),o&&(t(sm({image:I,category:"result"})),t($u({title:Et.t("toast.imageSavedToGallery"),status:"success",duration:2500,isClosable:!0}))),l&&(t(y3e({kind:"image",layer:"base",...E,image:I})),t($u({title:Et.t("toast.canvasMerged"),status:"success",duration:2500,isClosable:!0}))),t(wa(!1)),t(hh(Et.t("common.statusConnected"))),t(_d(!0))};function DMe(){const e=se(Lr),t=Qs(),n=se(s=>s.system.isProcessing),r=se(s=>s.canvas.shouldCropToBoundingBoxOnSave),i=Te(),{t:o}=Ie();Je(["meta+c","ctrl+c"],()=>{a()},{enabled:()=>!e,preventDefault:!0},[t,n]);const a=()=>{i(Td({cropVisible:!r,cropToBoundingBox:r,shouldCopy:!0}))};return g.jsx(Xe,{"aria-label":`${o("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${o("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:g.jsx(e0,{}),onClick:a,isDisabled:e})}function jMe(){const e=Te(),{t}=Ie(),n=Qs(),r=se(Lr),i=se(s=>s.system.isProcessing),o=se(s=>s.canvas.shouldCropToBoundingBoxOnSave);Je(["shift+d"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n,i]);const a=()=>{e(Td({cropVisible:!o,cropToBoundingBox:o,shouldDownload:!0}))};return g.jsx(Xe,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:g.jsx($E,{}),onClick:a,isDisabled:r})}function NMe(){const e=se(Lr),{openUploader:t}=RE(),{t:n}=Ie();return g.jsx(Xe,{"aria-label":n("common.upload"),tooltip:n("common.upload"),icon:g.jsx(p4,{}),onClick:t,isDisabled:e})}const $Me=lt([rn,Lr],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:we.isEqual}});function FMe(){const e=Te(),{t}=Ie(),{layer:n,isMaskEnabled:r,isStaging:i}=se($Me),o=()=>{e(w3(n==="mask"?"base":"mask"))};Je(["q"],()=>{o()},{enabled:()=>!i,preventDefault:!0},[n]);const a=s=>{const l=s.target.value;e(w3(l)),l==="mask"&&!r&&e(h2(!0))};return g.jsx(Jo,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,tooltipProps:{hasArrow:!0,placement:"top"},value:n,validValues:DW,onChange:a,isDisabled:i})}function BMe(){const e=Te(),{t}=Ie(),n=Qs(),r=se(Lr),i=se(a=>a.system.isProcessing);Je(["shift+m"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n,i]);const o=()=>{e(Td({cropVisible:!1,shouldSetAsInitialImage:!0}))};return g.jsx(Xe,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:g.jsx(sG,{}),onClick:o,isDisabled:r})}function zMe(){const e=se(o=>o.canvas.tool),t=se(Lr),n=Te(),{t:r}=Ie();Je(["v"],()=>{i()},{enabled:()=>!t,preventDefault:!0},[]);const i=()=>n(Jl("move"));return g.jsx(Xe,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:g.jsx(tG,{}),"data-selected":e==="move"||t,onClick:i})}function HMe(){const e=se(i=>i.ui.shouldPinParametersPanel),t=Te(),{t:n}=Ie(),r=()=>{t(Fh(!0)),e&&setTimeout(()=>t(Li(!0)),400)};return g.jsxs(Ee,{flexDirection:"column",gap:"0.5rem",children:[g.jsx(Xe,{tooltip:`${n("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":n("parameters.showOptionsPanel"),onClick:r,children:g.jsx(BE,{})}),g.jsx(Ee,{children:g.jsx(nP,{iconButton:!0})}),g.jsx(Ee,{children:g.jsx(eP,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]})}function WMe(){const e=Te(),{t}=Ie(),n=se(Lr),r=()=>{e(mE()),e(i4())};return g.jsx(Xe,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:g.jsx(hp,{}),onClick:r,style:{backgroundColor:"var(--btn-delete-image)"},isDisabled:n})}function Aq(e,t,n=250){const[r,i]=S.useState(0);return S.useEffect(()=>{const o=setTimeout(()=>{r===1&&e(),i(0)},n);return r===2&&t(),()=>clearTimeout(o)},[r,e,t,n]),()=>i(o=>o+1)}function UMe(){const e=Qs(),t=Te(),{t:n}=Ie();Je(["r"],()=>{i()},{enabled:()=>!0,preventDefault:!0},[e]);const r=Aq(()=>i(!1),()=>i(!0)),i=(o=!1)=>{const a=Qs();if(!a)return;const s=a.getClientRect({skipTransform:!0});t(zW({contentRect:s,shouldScaleTo1:o}))};return g.jsx(Xe,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:g.jsx(rG,{}),onClick:r})}function VMe(){const e=se(Lr),t=Qs(),n=se(s=>s.system.isProcessing),r=se(s=>s.canvas.shouldCropToBoundingBoxOnSave),i=Te(),{t:o}=Ie();Je(["shift+s"],()=>{a()},{enabled:()=>!e,preventDefault:!0},[t,n]);const a=()=>{i(Td({cropVisible:!r,cropToBoundingBox:r,shouldSaveToGallery:!0}))};return g.jsx(Xe,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:g.jsx(FE,{}),onClick:a,isDisabled:e})}const GMe=lt([rn,Lr,pr],(e,t,n)=>{const{isProcessing:r}=n,{tool:i}=e;return{tool:i,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),qMe=()=>{const e=Te(),{t}=Ie(),{tool:n,isStaging:r}=se(GMe);Je(["b"],()=>{i()},{enabled:()=>!r,preventDefault:!0},[]),Je(["e"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]),Je(["c"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n]),Je(["shift+f"],()=>{s()},{enabled:()=>!r,preventDefault:!0}),Je(["delete","backspace"],()=>{l()},{enabled:()=>!r,preventDefault:!0});const i=()=>e(Jl("brush")),o=()=>e(Jl("eraser")),a=()=>e(Jl("colorPicker")),s=()=>e($W()),l=()=>e(NW());return g.jsxs(Ee,{flexDirection:"column",gap:"0.5rem",children:[g.jsxs(Gi,{children:[g.jsx(Xe,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:g.jsx(lG,{}),"data-selected":n==="brush"&&!r,onClick:i,isDisabled:r}),g.jsx(Xe,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:g.jsx(iG,{}),"data-selected":n==="eraser"&&!r,isDisabled:r,onClick:o})]}),g.jsxs(Gi,{children:[g.jsx(Xe,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:g.jsx(aG,{}),isDisabled:r,onClick:s}),g.jsx(Xe,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:l})]}),g.jsx(Xe,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:g.jsx(oG,{}),"data-selected":n==="colorPicker"&&!r,isDisabled:r,onClick:a,width:"max-content"})]})},_4=Qe((e,t)=>{const{acceptButtonText:n="Accept",acceptCallback:r,cancelButtonText:i="Cancel",cancelCallback:o,children:a,title:s,triggerComponent:l}=e,{isOpen:u,onOpen:d,onClose:h}=Kd(),m=S.useRef(null),y=()=>{r(),h()},b=()=>{o&&o(),h()};return g.jsxs(g.Fragment,{children:[S.cloneElement(l,{onClick:d,ref:t}),g.jsx(FH,{isOpen:u,leastDestructiveRef:m,onClose:h,children:g.jsx(oc,{children:g.jsxs(BH,{className:"modal",children:[g.jsx(op,{fontSize:"lg",fontWeight:"bold",children:s}),g.jsx(Zm,{children:a}),g.jsxs(Hw,{children:[g.jsx(ss,{ref:m,onClick:b,className:"modal-close-btn",children:i}),g.jsx(ss,{colorScheme:"red",onClick:y,ml:3,children:n})]})]})})})]})}),Oq=()=>{const e=se(Lr),t=Te(),{t:n}=Ie(),r=()=>{t(w_e()),t(mE()),t(BW())};return g.jsxs(_4,{title:n("unifiedCanvas.emptyTempImageFolder"),acceptCallback:r,acceptButtonText:n("unifiedCanvas.emptyFolder"),triggerComponent:g.jsx(On,{leftIcon:g.jsx(hp,{}),size:"sm",isDisabled:e,children:n("unifiedCanvas.emptyTempImageFolder")}),children:[g.jsx("p",{children:n("unifiedCanvas.emptyTempImagesFolderMessage")}),g.jsx("br",{}),g.jsx("p",{children:n("unifiedCanvas.emptyTempImagesFolderConfirm")})]})},Rq=()=>{const e=se(Lr),t=Te(),{t:n}=Ie();return g.jsxs(_4,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(BW()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:g.jsx(On,{size:"sm",leftIcon:g.jsx(hp,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[g.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),g.jsx("br",{}),g.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},KMe=lt([rn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:i}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:i}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),YMe=()=>{const e=Te(),{t}=Ie(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:i,shouldShowIntermediates:o}=se(KMe);return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Xe,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:g.jsx(zE,{})}),children:g.jsxs(Ee,{direction:"column",gap:"0.5rem",children:[g.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:o,onChange:a=>e(XW(a.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:a=>e(UW(a.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:a=>e(VW(a.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:i,onChange:a=>e(KW(a.target.checked))}),g.jsx(Rq,{}),g.jsx(Oq,{})]})})},XMe=()=>{const e=se(t=>t.ui.shouldShowParametersPanel);return g.jsxs(Ee,{flexDirection:"column",rowGap:"0.5rem",width:"6rem",children:[g.jsx(FMe,{}),g.jsx(qMe,{}),g.jsxs(Ee,{gap:"0.5rem",children:[g.jsx(zMe,{}),g.jsx(UMe,{})]}),g.jsxs(Ee,{columnGap:"0.5rem",children:[g.jsx(BMe,{}),g.jsx(VMe,{})]}),g.jsxs(Ee,{columnGap:"0.5rem",children:[g.jsx(DMe,{}),g.jsx(jMe,{})]}),g.jsxs(Ee,{gap:"0.5rem",children:[g.jsx(Lq,{}),g.jsx(Mq,{})]}),g.jsxs(Ee,{gap:"0.5rem",children:[g.jsx(NMe,{}),g.jsx(WMe,{})]}),g.jsx(YMe,{}),!e&&g.jsx(HMe,{})]})};function ZMe(){const e=Te(),t=se(i=>i.canvas.brushSize),{t:n}=Ie(),r=se(Lr);return Je(["BracketLeft"],()=>{e(Lm(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),Je(["BracketRight"],()=>{e(Lm(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),g.jsx(Dn,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:i=>e(Lm(i)),sliderNumberInputProps:{max:500},inputReadOnly:!1,width:"100px",isCompact:!0})}function k4(){return(k4=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}function s7(e){var t=S.useRef(e),n=S.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var r0=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:E.buttons>0)&&i.current?o(TD(i.current,E,s.current)):w(!1)},b=function(){return w(!1)};function w(E){var _=l.current,k=l7(i.current),T=E?k.addEventListener:k.removeEventListener;T(_?"touchmove":"mousemove",y),T(_?"touchend":"mouseup",b)}return[function(E){var _=E.nativeEvent,k=i.current;if(k&&(MD(_),!function(L,O){return O&&!X1(L)}(_,l.current)&&k)){if(X1(_)){l.current=!0;var T=_.changedTouches||[];T.length&&(s.current=T[0].identifier)}k.focus(),o(TD(k,_,s.current)),w(!0)}},function(E){var _=E.which||E.keyCode;_<37||_>40||(E.preventDefault(),a({left:_===39?.05:_===37?-.05:0,top:_===40?.05:_===38?-.05:0}))},w]},[a,o]),d=u[0],h=u[1],m=u[2];return S.useEffect(function(){return m},[m]),Ye.createElement("div",k4({},r,{onTouchStart:d,onMouseDown:d,className:"react-colorful__interactive",ref:i,onKeyDown:h,tabIndex:0,role:"slider"}))}),E4=function(e){return e.filter(Boolean).join(" ")},bP=function(e){var t=e.color,n=e.left,r=e.top,i=r===void 0?.5:r,o=E4(["react-colorful__pointer",e.className]);return Ye.createElement("div",{className:o,style:{top:100*i+"%",left:100*n+"%"}},Ye.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},_o=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},Dq=function(e){var t=e.s,n=e.v,r=e.a,i=(200-t)*n/100;return{h:_o(e.h),s:_o(i>0&&i<200?t*n/100/(i<=100?i:200-i)*100:0),l:_o(i/2),a:_o(r,2)}},u7=function(e){var t=Dq(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},s6=function(e){var t=Dq(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},QMe=function(e){var t=e.h,n=e.s,r=e.v,i=e.a;t=t/360*6,n/=100,r/=100;var o=Math.floor(t),a=r*(1-n),s=r*(1-(t-o)*n),l=r*(1-(1-t+o)*n),u=o%6;return{r:_o(255*[r,s,a,a,l,r][u]),g:_o(255*[l,r,r,s,a,a][u]),b:_o(255*[a,a,l,r,r,s][u]),a:_o(i,2)}},JMe=function(e){var t=e.r,n=e.g,r=e.b,i=e.a,o=Math.max(t,n,r),a=o-Math.min(t,n,r),s=a?o===t?(n-r)/a:o===n?2+(r-t)/a:4+(t-n)/a:0;return{h:_o(60*(s<0?s+6:s)),s:_o(o?a/o*100:0),v:_o(o/255*100),a:i}},eLe=Ye.memo(function(e){var t=e.hue,n=e.onChange,r=E4(["react-colorful__hue",e.className]);return Ye.createElement("div",{className:r},Ye.createElement(yP,{onMove:function(i){n({h:360*i.left})},onKey:function(i){n({h:r0(t+360*i.left,0,360)})},"aria-label":"Hue","aria-valuenow":_o(t),"aria-valuemax":"360","aria-valuemin":"0"},Ye.createElement(bP,{className:"react-colorful__hue-pointer",left:t/360,color:u7({h:t,s:100,v:100,a:1})})))}),tLe=Ye.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:u7({h:t.h,s:100,v:100,a:1})};return Ye.createElement("div",{className:"react-colorful__saturation",style:r},Ye.createElement(yP,{onMove:function(i){n({s:100*i.left,v:100-100*i.top})},onKey:function(i){n({s:r0(t.s+100*i.left,0,100),v:r0(t.v-100*i.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+_o(t.s)+"%, Brightness "+_o(t.v)+"%"},Ye.createElement(bP,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:u7(t)})))}),jq=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function nLe(e,t,n){var r=s7(n),i=S.useState(function(){return e.toHsva(t)}),o=i[0],a=i[1],s=S.useRef({color:t,hsva:o});S.useEffect(function(){if(!e.equal(t,s.current.color)){var u=e.toHsva(t);s.current={hsva:u,color:t},a(u)}},[t,e]),S.useEffect(function(){var u;jq(o,s.current.hsva)||e.equal(u=e.fromHsva(o),s.current.color)||(s.current={hsva:o,color:u},r(u))},[o,e,r]);var l=S.useCallback(function(u){a(function(d){return Object.assign({},d,u)})},[]);return[o,l]}var rLe=typeof window<"u"?S.useLayoutEffect:S.useEffect,iLe=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},LD=new Map,oLe=function(e){rLe(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!LD.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}`,LD.set(t,n);var r=iLe();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},aLe=function(e){var t=e.className,n=e.hsva,r=e.onChange,i={backgroundImage:"linear-gradient(90deg, "+s6(Object.assign({},n,{a:0}))+", "+s6(Object.assign({},n,{a:1}))+")"},o=E4(["react-colorful__alpha",t]),a=_o(100*n.a);return Ye.createElement("div",{className:o},Ye.createElement("div",{className:"react-colorful__alpha-gradient",style:i}),Ye.createElement(yP,{onMove:function(s){r({a:s.left})},onKey:function(s){r({a:r0(n.a+s.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},Ye.createElement(bP,{className:"react-colorful__alpha-pointer",left:n.a,color:s6(n)})))},sLe=function(e){var t=e.className,n=e.colorModel,r=e.color,i=r===void 0?n.defaultColor:r,o=e.onChange,a=Iq(e,["className","colorModel","color","onChange"]),s=S.useRef(null);oLe(s);var l=nLe(n,i,o),u=l[0],d=l[1],h=E4(["react-colorful",t]);return Ye.createElement("div",k4({},a,{ref:s,className:h}),Ye.createElement(tLe,{hsva:u,onChange:d}),Ye.createElement(eLe,{hue:u.h,onChange:d}),Ye.createElement(aLe,{hsva:u,onChange:d,className:"react-colorful__last-control"}))},lLe={defaultColor:{r:0,g:0,b:0,a:1},toHsva:JMe,fromHsva:QMe,equal:jq},uLe=function(e){return Ye.createElement(sLe,k4({},e,{colorModel:lLe}))};const z3=e=>{const{styleClass:t,...n}=e;return g.jsx(uLe,{className:`invokeai__color-picker ${t}`,...n})},cLe=lt([rn,Lr],(e,t)=>{const{brushColor:n,maskColor:r,layer:i}=e;return{brushColor:n,maskColor:r,layer:i,isStaging:t}},{memoizeOptions:{resultEqualityCheck:we.isEqual}});function dLe(){const e=Te(),{brushColor:t,maskColor:n,layer:r,isStaging:i}=se(cLe),o=()=>{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 Je(["shift+BracketLeft"],()=>{e(Mm({...t,a:we.clamp(t.a-.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[t]),Je(["shift+BracketRight"],()=>{e(Mm({...t,a:we.clamp(t.a+.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[t]),g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(qi,{style:{width:"30px",height:"30px",minWidth:"30px",minHeight:"30px",borderRadius:"99999999px",backgroundColor:o(),cursor:"pointer"}}),children:g.jsxs(Ee,{minWidth:"15rem",direction:"column",gap:"1rem",width:"100%",children:[r==="base"&&g.jsx(z3,{style:{width:"100%",paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:t,onChange:a=>e(Mm(a))}),r==="mask"&&g.jsx(z3,{style:{width:"100%",paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:n,onChange:a=>e(WW(a))})]})})}function Nq(){return g.jsxs(Ee,{columnGap:"1rem",alignItems:"center",children:[g.jsx(ZMe,{}),g.jsx(dLe,{})]})}function fLe(){const e=Te(),t=se(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=Ie();return g.jsx(Gn,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(QW(r.target.checked))})}function hLe(){return g.jsxs(Ee,{gap:"1rem",alignItems:"center",children:[g.jsx(Nq,{}),g.jsx(fLe,{})]})}function pLe(){const e=Te(),{t}=Ie(),n=()=>e(gE());return g.jsx(On,{size:"sm",leftIcon:g.jsx(hp,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function gLe(){const e=se(i=>i.canvas.isMaskEnabled),t=Te(),{t:n}=Ie(),r=()=>t(h2(!e));return g.jsx(Gn,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function mLe(){const e=Te(),{t}=Ie(),n=se(r=>r.canvas.shouldPreserveMaskedArea);return g.jsx(Gn,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(qW(r.target.checked))})}function vLe(){return g.jsxs(Ee,{gap:"1rem",alignItems:"center",children:[g.jsx(Nq,{}),g.jsx(gLe,{}),g.jsx(mLe,{}),g.jsx(pLe,{})]})}function yLe(){const e=se(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=Te(),{t:n}=Ie();return g.jsx(Gn,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(GW(r.target.checked))})}function bLe(){const e=se(r=>r.canvas.shouldShowGrid),t=Te(),{t:n}=Ie();return g.jsx(Gn,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(YW(r.target.checked))})}function xLe(){const e=se(i=>i.canvas.shouldSnapToGrid),t=Te(),{t:n}=Ie(),r=i=>t(C3(i.target.checked));return g.jsx(Gn,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function SLe(){return g.jsxs(Ee,{alignItems:"center",gap:"1rem",children:[g.jsx(bLe,{}),g.jsx(xLe,{}),g.jsx(yLe,{})]})}const wLe=lt([rn],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:we.isEqual}});function CLe(){const{tool:e,layer:t}=se(wLe);return g.jsxs(Ee,{height:"2rem",minHeight:"2rem",maxHeight:"2rem",alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&g.jsx(hLe,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&g.jsx(vLe,{}),e=="move"&&g.jsx(SLe,{})]})}const _Le=lt([rn],e=>{const{doesCanvasNeedScaling:t}=e;return{doesCanvasNeedScaling:t}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),kLe=()=>{const e=Te(),{doesCanvasNeedScaling:t}=se(_Le);return S.useLayoutEffect(()=>{e(Li(!0));const n=we.debounce(()=>{e(Li(!0))},250);return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[e]),g.jsx("div",{className:"workarea-single-view",children:g.jsxs(Ee,{flexDirection:"row",width:"100%",height:"100%",columnGap:"1rem",padding:"1rem",children:[g.jsx(XMe,{}),g.jsxs(Ee,{width:"100%",height:"100%",flexDirection:"column",rowGap:"1rem",children:[g.jsx(CLe,{}),t?g.jsx(Tq,{}):g.jsx(Pq,{})]})]})})},ELe=lt([rn,Lr],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:i,shouldPreserveMaskedArea:o}=e;return{layer:r,maskColor:n,maskColorString:zh(n),isMaskEnabled:i,shouldPreserveMaskedArea:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),PLe=()=>{const e=Te(),{t}=Ie(),{layer:n,maskColor:r,isMaskEnabled:i,shouldPreserveMaskedArea:o,isStaging:a}=se(ELe);Je(["q"],()=>{s()},{enabled:()=>!a,preventDefault:!0},[n]),Je(["shift+c"],()=>{l()},{enabled:()=>!a,preventDefault:!0},[]),Je(["h"],()=>{u()},{enabled:()=>!a,preventDefault:!0},[i]);const s=()=>{e(w3(n==="mask"?"base":"mask"))},l=()=>e(gE()),u=()=>e(h2(!i));return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Gi,{children:g.jsx(Xe,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:g.jsx(Oke,{}),style:n==="mask"?{backgroundColor:"var(--accent-color)"}:{backgroundColor:"var(--btn-base-color)"},isDisabled:a})}),children:g.jsxs(Ee,{direction:"column",gap:"0.5rem",children:[g.jsx(Gn,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:i,onChange:u}),g.jsx(Gn,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:o,onChange:d=>e(qW(d.target.checked))}),g.jsx(z3,{style:{paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:r,onChange:d=>e(WW(d))}),g.jsxs(On,{size:"sm",leftIcon:g.jsx(hp,{}),onClick:l,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},TLe=lt([rn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:i,shouldShowGrid:o,shouldShowIntermediates:a,shouldSnapToGrid:s,shouldRestrictStrokesToBox:l}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:i,shouldShowGrid:o,shouldShowIntermediates:a,shouldSnapToGrid:s,shouldRestrictStrokesToBox:l}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),MLe=()=>{const e=Te(),{t}=Ie(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:i,shouldShowCanvasDebugInfo:o,shouldShowGrid:a,shouldShowIntermediates:s,shouldSnapToGrid:l,shouldRestrictStrokesToBox:u}=se(TLe);Je(["n"],()=>{e(C3(!l))},{enabled:!0,preventDefault:!0},[l]);const d=h=>e(C3(h.target.checked));return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Xe,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:g.jsx(zE,{})}),children:g.jsxs(Ee,{direction:"column",gap:"0.5rem",children:[g.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:h=>e(XW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.showGrid"),isChecked:a,onChange:h=>e(YW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.snapToGrid"),isChecked:l,onChange:d}),g.jsx(Gn,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:i,onChange:h=>e(GW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:h=>e(UW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:h=>e(VW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:u,onChange:h=>e(QW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:h=>e(KW(h.target.checked))}),g.jsx(Rq,{}),g.jsx(Oq,{})]})})},LLe=lt([rn,Lr,pr],(e,t,n)=>{const{isProcessing:r}=n,{tool:i,brushColor:o,brushSize:a}=e;return{tool:i,isStaging:t,isProcessing:r,brushColor:o,brushSize:a}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),ALe=()=>{const e=Te(),{tool:t,brushColor:n,brushSize:r,isStaging:i}=se(LLe),{t:o}=Ie();Je(["b"],()=>{a()},{enabled:()=>!i,preventDefault:!0},[]),Je(["e"],()=>{s()},{enabled:()=>!i,preventDefault:!0},[t]),Je(["c"],()=>{l()},{enabled:()=>!i,preventDefault:!0},[t]),Je(["shift+f"],()=>{u()},{enabled:()=>!i,preventDefault:!0}),Je(["delete","backspace"],()=>{d()},{enabled:()=>!i,preventDefault:!0}),Je(["BracketLeft"],()=>{e(Lm(Math.max(r-5,5)))},{enabled:()=>!i,preventDefault:!0},[r]),Je(["BracketRight"],()=>{e(Lm(Math.min(r+5,500)))},{enabled:()=>!i,preventDefault:!0},[r]),Je(["shift+BracketLeft"],()=>{e(Mm({...n,a:we.clamp(n.a-.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[n]),Je(["shift+BracketRight"],()=>{e(Mm({...n,a:we.clamp(n.a+.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[n]);const a=()=>e(Jl("brush")),s=()=>e(Jl("eraser")),l=()=>e(Jl("colorPicker")),u=()=>e($W()),d=()=>e(NW());return g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Xe,{"aria-label":`${o("unifiedCanvas.brush")} (B)`,tooltip:`${o("unifiedCanvas.brush")} (B)`,icon:g.jsx(lG,{}),"data-selected":t==="brush"&&!i,onClick:a,isDisabled:i}),g.jsx(Xe,{"aria-label":`${o("unifiedCanvas.eraser")} (E)`,tooltip:`${o("unifiedCanvas.eraser")} (E)`,icon:g.jsx(iG,{}),"data-selected":t==="eraser"&&!i,isDisabled:i,onClick:s}),g.jsx(Xe,{"aria-label":`${o("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${o("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:g.jsx(aG,{}),isDisabled:i,onClick:u}),g.jsx(Xe,{"aria-label":`${o("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${o("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),isDisabled:i,onClick:d}),g.jsx(Xe,{"aria-label":`${o("unifiedCanvas.colorPicker")} (C)`,tooltip:`${o("unifiedCanvas.colorPicker")} (C)`,icon:g.jsx(oG,{}),"data-selected":t==="colorPicker"&&!i,isDisabled:i,onClick:l}),g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Xe,{"aria-label":o("unifiedCanvas.brushOptions"),tooltip:o("unifiedCanvas.brushOptions"),icon:g.jsx(BE,{})}),children:g.jsxs(Ee,{minWidth:"15rem",direction:"column",gap:"1rem",width:"100%",children:[g.jsx(Ee,{gap:"1rem",justifyContent:"space-between",children:g.jsx(Dn,{label:o("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:h=>e(Lm(h)),sliderNumberInputProps:{max:500},inputReadOnly:!1})}),g.jsx(z3,{style:{width:"100%",paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:n,onChange:h=>e(Mm(h))})]})})]})},OLe=lt([pr,rn,Lr],(e,t,n)=>{const{isProcessing:r}=e,{tool:i,shouldCropToBoundingBoxOnSave:o,layer:a,isMaskEnabled:s}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:s,tool:i,layer:a,shouldCropToBoundingBoxOnSave:o}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),RLe=()=>{const e=Te(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:i,tool:o,shouldCropToBoundingBoxOnSave:a}=se(OLe),s=Qs(),{t:l}=Ie(),{openUploader:u}=RE();Je(["v"],()=>{d()},{enabled:()=>!n,preventDefault:!0},[]),Je(["r"],()=>{m()},{enabled:()=>!0,preventDefault:!0},[s]),Je(["shift+m"],()=>{b()},{enabled:()=>!n,preventDefault:!0},[s,t]),Je(["shift+s"],()=>{w()},{enabled:()=>!n,preventDefault:!0},[s,t]),Je(["meta+c","ctrl+c"],()=>{E()},{enabled:()=>!n,preventDefault:!0},[s,t]),Je(["shift+d"],()=>{_()},{enabled:()=>!n,preventDefault:!0},[s,t]);const d=()=>e(Jl("move")),h=Aq(()=>m(!1),()=>m(!0)),m=(T=!1)=>{const L=Qs();if(!L)return;const O=L.getClientRect({skipTransform:!0});e(zW({contentRect:O,shouldScaleTo1:T}))},y=()=>{e(mE()),e(i4())},b=()=>{e(Td({cropVisible:!1,shouldSetAsInitialImage:!0}))},w=()=>{e(Td({cropVisible:!a,cropToBoundingBox:a,shouldSaveToGallery:!0}))},E=()=>{e(Td({cropVisible:!a,cropToBoundingBox:a,shouldCopy:!0}))},_=()=>{e(Td({cropVisible:!a,cropToBoundingBox:a,shouldDownload:!0}))},k=T=>{const L=T.target.value;e(w3(L)),L==="mask"&&!r&&e(h2(!0))};return g.jsxs("div",{className:"inpainting-settings",children:[g.jsx(Jo,{tooltip:`${l("unifiedCanvas.layer")} (Q)`,tooltipProps:{hasArrow:!0,placement:"top"},value:i,validValues:DW,onChange:k,isDisabled:n}),g.jsx(PLe,{}),g.jsx(ALe,{}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Xe,{"aria-label":`${l("unifiedCanvas.move")} (V)`,tooltip:`${l("unifiedCanvas.move")} (V)`,icon:g.jsx(tG,{}),"data-selected":o==="move"||n,onClick:d}),g.jsx(Xe,{"aria-label":`${l("unifiedCanvas.resetView")} (R)`,tooltip:`${l("unifiedCanvas.resetView")} (R)`,icon:g.jsx(rG,{}),onClick:h})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Xe,{"aria-label":`${l("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${l("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:g.jsx(sG,{}),onClick:b,isDisabled:n}),g.jsx(Xe,{"aria-label":`${l("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${l("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:g.jsx(FE,{}),onClick:w,isDisabled:n}),g.jsx(Xe,{"aria-label":`${l("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${l("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:g.jsx(e0,{}),onClick:E,isDisabled:n}),g.jsx(Xe,{"aria-label":`${l("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${l("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:g.jsx($E,{}),onClick:_,isDisabled:n})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Lq,{}),g.jsx(Mq,{})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Xe,{"aria-label":`${l("common.upload")}`,tooltip:`${l("common.upload")}`,icon:g.jsx(p4,{}),onClick:u,isDisabled:n}),g.jsx(Xe,{"aria-label":`${l("unifiedCanvas.clearCanvas")}`,tooltip:`${l("unifiedCanvas.clearCanvas")}`,icon:g.jsx(hp,{}),onClick:y,style:{backgroundColor:"var(--btn-delete-image)"},isDisabled:n})]}),g.jsx(Gi,{isAttached:!0,children:g.jsx(MLe,{})})]})},ILe=lt([rn],e=>{const{doesCanvasNeedScaling:t}=e;return{doesCanvasNeedScaling:t}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),DLe=()=>{const e=Te(),{doesCanvasNeedScaling:t}=se(ILe);return S.useLayoutEffect(()=>{e(Li(!0));const n=we.debounce(()=>{e(Li(!0))},250);return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[e]),g.jsx("div",{className:"workarea-single-view",children:g.jsx("div",{className:"workarea-split-view-left",children:g.jsxs("div",{className:"inpainting-main-area",children:[g.jsx(RLe,{}),g.jsx("div",{className:"inpainting-canvas-area",children:t?g.jsx(Tq,{}):g.jsx(Pq,{})})]})})})},jLe=lt(rn,e=>{const{boundingBoxDimensions:t,boundingBoxScaleMethod:n}=e;return{boundingBoxDimensions:t,boundingBoxScale:n}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),NLe=()=>{const e=Te(),{boundingBoxDimensions:t}=se(jLe),{t:n}=Ie(),r=s=>{e(g1({...t,width:Math.floor(s)}))},i=s=>{e(g1({...t,height:Math.floor(s)}))},o=()=>{e(g1({...t,width:Math.floor(512)}))},a=()=>{e(g1({...t,height:Math.floor(512)}))};return g.jsxs(Ee,{direction:"column",gap:2,children:[g.jsx(Dn,{label:n("parameters.width"),min:64,max:1024,step:64,value:t.width,onChange:r,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:o,sliderMarkRightOffset:-7}),g.jsx(Dn,{label:n("parameters.height"),min:64,max:1024,step:64,value:t.height,onChange:i,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:a,sliderMarkRightOffset:-7})]})},$Le=lt([tP,pr,rn],(e,t,n)=>{const{tileSize:r,infillMethod:i}=e,{infill_methods:o}=t,{boundingBoxScaleMethod:a,scaledBoundingBoxDimensions:s}=n;return{boundingBoxScale:a,scaledBoundingBoxDimensions:s,tileSize:r,infillMethod:i,availableInfillMethods:o,isManual:a==="manual"}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),FLe=()=>{const e=Te(),{tileSize:t,infillMethod:n,availableInfillMethods:r,boundingBoxScale:i,isManual:o,scaledBoundingBoxDimensions:a}=se($Le),{t:s}=Ie(),l=y=>{e(Jb({...a,width:Math.floor(y)}))},u=y=>{e(Jb({...a,height:Math.floor(y)}))},d=()=>{e(Jb({...a,width:Math.floor(512)}))},h=()=>{e(Jb({...a,height:Math.floor(512)}))},m=y=>{e(p3e(y.target.value))};return g.jsxs(Ee,{direction:"column",gap:4,children:[g.jsx(Jo,{label:s("parameters.scaleBeforeProcessing"),validValues:ZSe,value:i,onChange:m}),g.jsx(Dn,{isInputDisabled:!o,isResetDisabled:!o,isSliderDisabled:!o,label:s("parameters.scaledWidth"),min:64,max:1024,step:64,value:a.width,onChange:l,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:d,sliderMarkRightOffset:-7}),g.jsx(Dn,{isInputDisabled:!o,isResetDisabled:!o,isSliderDisabled:!o,label:s("parameters.scaledHeight"),min:64,max:1024,step:64,value:a.height,onChange:u,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:h,sliderMarkRightOffset:-7}),g.jsx(Jo,{label:s("parameters.infillMethod"),value:n,validValues:r,onChange:y=>e(uU(y.target.value))}),g.jsx(Dn,{isInputDisabled:n!=="tile",isResetDisabled:n!=="tile",isSliderDisabled:n!=="tile",sliderMarkRightOffset:-4,label:s("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:y=>{e(iR(y))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(iR(32))}})]})};function BLe(){const e=Te(),t=se(r=>r.generation.seamBlur),{t:n}=Ie();return g.jsx(Dn,{sliderMarkRightOffset:-4,label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(eR(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(eR(16))}})}function zLe(){const e=Te(),{t}=Ie(),n=se(r=>r.generation.seamSize);return g.jsx(Dn,{sliderMarkRightOffset:-6,label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(tR(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(tR(96))})}function HLe(){const{t:e}=Ie(),t=se(r=>r.generation.seamSteps),n=Te();return g.jsx(Dn,{sliderMarkRightOffset:-4,label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(nR(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(nR(30))}})}function WLe(){const e=Te(),{t}=Ie(),n=se(r=>r.generation.seamStrength);return g.jsx(Dn,{sliderMarkRightOffset:-7,label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(rR(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(rR(.7))}})}const ULe=()=>g.jsxs(Ee,{direction:"column",gap:2,children:[g.jsx(zLe,{}),g.jsx(BLe,{}),g.jsx(WLe,{}),g.jsx(HLe,{})]});function VLe(){const{t:e}=Ie(),t={seed:{header:`${e("parameters.seed")}`,feature:ao.SEED,content:g.jsx(sP,{})},boundingBox:{header:`${e("parameters.boundingBoxHeader")}`,feature:ao.BOUNDING_BOX,content:g.jsx(NLe,{})},seamCorrection:{header:`${e("parameters.seamCorrectionHeader")}`,feature:ao.SEAM_CORRECTION,content:g.jsx(ULe,{})},infillAndScaling:{header:`${e("parameters.infillScalingHeader")}`,feature:ao.INFILL_AND_SCALING,content:g.jsx(FLe,{})},variations:{header:`${e("parameters.variations")}`,feature:ao.VARIATIONS,content:g.jsx(uP,{}),additionalHeaderComponents:g.jsx(lP,{})},symmetry:{header:`${e("parameters.symmetry")}`,content:g.jsx(oP,{}),additionalHeaderComponents:g.jsx(aP,{})}},n={unifiedCanvasImg2Img:{header:`${e("parameters.imageToImage")}`,feature:void 0,content:g.jsx(yq,{label:e("parameters.img2imgStrength"),styleClass:"main-settings-block image-to-image-strength-main-option"})}};return g.jsxs(pP,{children:[g.jsxs(Ee,{flexDir:"column",rowGap:"0.5rem",children:[g.jsx(hP,{}),g.jsx(fP,{})]}),g.jsx(dP,{}),g.jsx(cP,{}),g.jsx(n0,{accordionInfo:n}),g.jsx(n0,{accordionInfo:t})]})}function GLe(){const e=se(t=>t.ui.shouldUseCanvasBetaLayout);return g.jsx(iP,{optionsPanel:g.jsx(VLe,{}),styleClass:"inpainting-workarea-overrides",children:e?g.jsx(kLe,{}):g.jsx(DLe,{})})}const Qa={txt2img:{title:g.jsx($_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(NPe,{}),tooltip:"Text To Image"},img2img:{title:g.jsx(D_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(TPe,{}),tooltip:"Image To Image"},unifiedCanvas:{title:g.jsx(B_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(GLe,{}),tooltip:"Unified Canvas"},nodes:{title:g.jsx(j_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(A_e,{}),tooltip:"Nodes"},postprocess:{title:g.jsx(N_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(O_e,{}),tooltip:"Post Processing"},training:{title:g.jsx(F_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(R_e,{}),tooltip:"Training"}};function qLe(){Qa.txt2img.tooltip=Et.t("common.text2img"),Qa.img2img.tooltip=Et.t("common.img2img"),Qa.unifiedCanvas.tooltip=Et.t("common.unifiedCanvas"),Qa.nodes.tooltip=Et.t("common.nodes"),Qa.postprocess.tooltip=Et.t("common.postProcessing"),Qa.training.tooltip=Et.t("common.training")}function KLe(){const e=se(L_e),t=se(u=>u.lightbox.isLightboxOpen),{shouldShowGallery:n,shouldShowParametersPanel:r,shouldPinGallery:i,shouldPinParametersPanel:o}=se(rP);I_e(qLe);const a=Te();Je("1",()=>{a(Uo(0))}),Je("2",()=>{a(Uo(1))}),Je("3",()=>{a(Uo(2))}),Je("4",()=>{a(Uo(3))}),Je("5",()=>{a(Uo(4))}),Je("6",()=>{a(Uo(5))}),Je("z",()=>{a(Om(!t))},[t]),Je("f",()=>{n||r?(a(Fh(!1)),a(Am(!1))):(a(Fh(!0)),a(Am(!0))),(i||o)&&setTimeout(()=>a(Li(!0)),400)},[n,r]);const s=()=>{const u=[];return Object.keys(Qa).forEach(d=>{u.push(g.jsx(si,{hasArrow:!0,label:Qa[d].tooltip,placement:"right",children:g.jsx(lW,{children:Qa[d].title})},d))}),u},l=()=>{const u=[];return Object.keys(Qa).forEach(d=>{u.push(g.jsx(aW,{className:"app-tabs-panel",children:Qa[d].workarea},d))}),u};return g.jsxs(oW,{isLazy:!0,className:"app-tabs",variant:"unstyled",defaultIndex:e,index:e,onChange:u=>{a(Uo(u))},children:[g.jsx("div",{className:"app-tabs-list",children:s()}),g.jsx(sW,{className:"app-tabs-panels",children:t?g.jsx(YEe,{}):l()})]})}var YLe=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 C2(e,t){var n=XLe(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 XLe(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),i=YLe.get(r);i&&Object.defineProperty(e,"type",{value:i,writable:!1,configurable:!1,enumerable:!0})}return e}var ZLe=[".DS_Store","Thumbs.db"];function QLe(e){return f0(this,void 0,void 0,function(){return h0(this,function(t){return H3(e)&&JLe(e.dataTransfer)?[2,rAe(e.dataTransfer,e.type)]:eAe(e)?[2,tAe(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,nAe(e)]:[2,[]]})})}function JLe(e){return H3(e)}function eAe(e){return H3(e)&&H3(e.target)}function H3(e){return typeof e=="object"&&e!==null}function tAe(e){return c7(e.target.files).map(function(t){return C2(t)})}function nAe(e){return f0(this,void 0,void 0,function(){var t;return h0(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 C2(r)})]}})})}function rAe(e,t){return f0(this,void 0,void 0,function(){var n,r;return h0(this,function(i){switch(i.label){case 0:return e.items?(n=c7(e.items).filter(function(o){return o.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(iAe))]):[3,2];case 1:return r=i.sent(),[2,AD($q(r))];case 2:return[2,AD(c7(e.files).map(function(o){return C2(o)}))]}})})}function AD(e){return e.filter(function(t){return ZLe.indexOf(t.name)===-1})}function c7(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,jD(n)];if(e.sizen)return[!1,jD(n)]}return[!0,null]}function Sh(e){return e!=null}function xAe(e){var t=e.files,n=e.accept,r=e.minSize,i=e.maxSize,o=e.multiple,a=e.maxFiles,s=e.validator;return!o&&t.length>1||o&&a>=1&&t.length>a?!1:t.every(function(l){var u=Hq(l,n),d=zy(u,1),h=d[0],m=Wq(l,r,i),y=zy(m,1),b=y[0],w=s?s(l):null;return h&&b&&!w})}function W3(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function kx(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 $D(e){e.preventDefault()}function SAe(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function wAe(e){return e.indexOf("Edge/")!==-1}function CAe(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return SAe(e)||wAe(e)}function Ml(){for(var e=arguments.length,t=new Array(e),n=0;n1?i-1:0),a=1;ae.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 BAe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var xP=S.forwardRef(function(e,t){var n=e.children,r=U3(e,MAe),i=Kq(r),o=i.open,a=U3(i,LAe);return S.useImperativeHandle(t,function(){return{open:o}},[o]),Ye.createElement(S.Fragment,null,n(_r(_r({},a),{},{open:o})))});xP.displayName="Dropzone";var qq={disabled:!1,getFilesFromEvent:QLe,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};xP.defaultProps=qq;xP.propTypes={children:An.func,accept:An.objectOf(An.arrayOf(An.string)),multiple:An.bool,preventDropOnDocument:An.bool,noClick:An.bool,noKeyboard:An.bool,noDrag:An.bool,noDragEventsBubbling:An.bool,minSize:An.number,maxSize:An.number,maxFiles:An.number,disabled:An.bool,getFilesFromEvent:An.func,onFileDialogCancel:An.func,onFileDialogOpen:An.func,useFsAccessApi:An.bool,autoFocus:An.bool,onDragEnter:An.func,onDragLeave:An.func,onDragOver:An.func,onDrop:An.func,onDropAccepted:An.func,onDropRejected:An.func,onError:An.func,validator:An.func};var p7={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function Kq(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=_r(_r({},qq),e),n=t.accept,r=t.disabled,i=t.getFilesFromEvent,o=t.maxSize,a=t.minSize,s=t.multiple,l=t.maxFiles,u=t.onDragEnter,d=t.onDragLeave,h=t.onDragOver,m=t.onDrop,y=t.onDropAccepted,b=t.onDropRejected,w=t.onFileDialogCancel,E=t.onFileDialogOpen,_=t.useFsAccessApi,k=t.autoFocus,T=t.preventDropOnDocument,L=t.noClick,O=t.noKeyboard,D=t.noDrag,I=t.noDragEventsBubbling,N=t.onError,W=t.validator,B=S.useMemo(function(){return EAe(n)},[n]),K=S.useMemo(function(){return kAe(n)},[n]),ne=S.useMemo(function(){return typeof E=="function"?E:BD},[E]),z=S.useMemo(function(){return typeof w=="function"?w:BD},[w]),$=S.useRef(null),V=S.useRef(null),X=S.useReducer(zAe,p7),Q=l6(X,2),G=Q[0],Y=Q[1],ee=G.isFocused,fe=G.isFileDialogActive,Ce=S.useRef(typeof window<"u"&&window.isSecureContext&&_&&_Ae()),Se=function(){!Ce.current&&fe&&setTimeout(function(){if(V.current){var Ne=V.current.files;Ne.length||(Y({type:"closeDialog"}),z())}},300)};S.useEffect(function(){return window.addEventListener("focus",Se,!1),function(){window.removeEventListener("focus",Se,!1)}},[V,fe,z,Ce]);var xe=S.useRef([]),Le=function(Ne){$.current&&$.current.contains(Ne.target)||(Ne.preventDefault(),xe.current=[])};S.useEffect(function(){return T&&(document.addEventListener("dragover",$D,!1),document.addEventListener("drop",Le,!1)),function(){T&&(document.removeEventListener("dragover",$D),document.removeEventListener("drop",Le))}},[$,T]),S.useEffect(function(){return!r&&k&&$.current&&$.current.focus(),function(){}},[$,k,r]);var je=S.useCallback(function(ye){N?N(ye):console.error(ye)},[N]),Ze=S.useCallback(function(ye){ye.preventDefault(),ye.persist(),le(ye),xe.current=[].concat(RAe(xe.current),[ye.target]),kx(ye)&&Promise.resolve(i(ye)).then(function(Ne){if(!(W3(ye)&&!I)){var vt=Ne.length,Mt=vt>0&&xAe({files:Ne,accept:B,minSize:a,maxSize:o,multiple:s,maxFiles:l,validator:W}),Me=vt>0&&!Mt;Y({isDragAccept:Mt,isDragReject:Me,isDragActive:!0,type:"setDraggedFiles"}),u&&u(ye)}}).catch(function(Ne){return je(Ne)})},[i,u,je,I,B,a,o,s,l,W]),_e=S.useCallback(function(ye){ye.preventDefault(),ye.persist(),le(ye);var Ne=kx(ye);if(Ne&&ye.dataTransfer)try{ye.dataTransfer.dropEffect="copy"}catch{}return Ne&&h&&h(ye),!1},[h,I]),tt=S.useCallback(function(ye){ye.preventDefault(),ye.persist(),le(ye);var Ne=xe.current.filter(function(Mt){return $.current&&$.current.contains(Mt)}),vt=Ne.indexOf(ye.target);vt!==-1&&Ne.splice(vt,1),xe.current=Ne,!(Ne.length>0)&&(Y({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),kx(ye)&&d&&d(ye))},[$,d,I]),yt=S.useCallback(function(ye,Ne){var vt=[],Mt=[];ye.forEach(function(Me){var Ct=Hq(Me,B),zt=l6(Ct,2),$n=zt[0],Ke=zt[1],pt=Wq(Me,a,o),zr=l6(pt,2),rr=zr[0],Bn=zr[1],li=W?W(Me):null;if($n&&rr&&!li)vt.push(Me);else{var vs=[Ke,Bn];li&&(vs=vs.concat(li)),Mt.push({file:Me,errors:vs.filter(function(tl){return tl})})}}),(!s&&vt.length>1||s&&l>=1&&vt.length>l)&&(vt.forEach(function(Me){Mt.push({file:Me,errors:[bAe]})}),vt.splice(0)),Y({acceptedFiles:vt,fileRejections:Mt,type:"setFiles"}),m&&m(vt,Mt,Ne),Mt.length>0&&b&&b(Mt,Ne),vt.length>0&&y&&y(vt,Ne)},[Y,s,B,a,o,l,m,y,b,W]),ze=S.useCallback(function(ye){ye.preventDefault(),ye.persist(),le(ye),xe.current=[],kx(ye)&&Promise.resolve(i(ye)).then(function(Ne){W3(ye)&&!I||yt(Ne,ye)}).catch(function(Ne){return je(Ne)}),Y({type:"reset"})},[i,yt,je,I]),Ae=S.useCallback(function(){if(Ce.current){Y({type:"openDialog"}),ne();var ye={multiple:s,types:K};window.showOpenFilePicker(ye).then(function(Ne){return i(Ne)}).then(function(Ne){yt(Ne,null),Y({type:"closeDialog"})}).catch(function(Ne){PAe(Ne)?(z(Ne),Y({type:"closeDialog"})):TAe(Ne)?(Ce.current=!1,V.current?(V.current.value=null,V.current.click()):je(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."))):je(Ne)});return}V.current&&(Y({type:"openDialog"}),ne(),V.current.value=null,V.current.click())},[Y,ne,z,_,yt,je,K,s]),bt=S.useCallback(function(ye){!$.current||!$.current.isEqualNode(ye.target)||(ye.key===" "||ye.key==="Enter"||ye.keyCode===32||ye.keyCode===13)&&(ye.preventDefault(),Ae())},[$,Ae]),Be=S.useCallback(function(){Y({type:"focus"})},[]),at=S.useCallback(function(){Y({type:"blur"})},[]),jt=S.useCallback(function(){L||(CAe()?setTimeout(Ae,0):Ae())},[L,Ae]),mt=function(Ne){return r?null:Ne},Zt=function(Ne){return O?null:mt(Ne)},on=function(Ne){return D?null:mt(Ne)},le=function(Ne){I&&Ne.stopPropagation()},De=S.useMemo(function(){return function(){var ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Ne=ye.refKey,vt=Ne===void 0?"ref":Ne,Mt=ye.role,Me=ye.onKeyDown,Ct=ye.onFocus,zt=ye.onBlur,$n=ye.onClick,Ke=ye.onDragEnter,pt=ye.onDragOver,zr=ye.onDragLeave,rr=ye.onDrop,Bn=U3(ye,AAe);return _r(_r(h7({onKeyDown:Zt(Ml(Me,bt)),onFocus:Zt(Ml(Ct,Be)),onBlur:Zt(Ml(zt,at)),onClick:mt(Ml($n,jt)),onDragEnter:on(Ml(Ke,Ze)),onDragOver:on(Ml(pt,_e)),onDragLeave:on(Ml(zr,tt)),onDrop:on(Ml(rr,ze)),role:typeof Mt=="string"&&Mt!==""?Mt:"presentation"},vt,$),!r&&!O?{tabIndex:0}:{}),Bn)}},[$,bt,Be,at,jt,Ze,_e,tt,ze,O,D,r]),We=S.useCallback(function(ye){ye.stopPropagation()},[]),Ve=S.useMemo(function(){return function(){var ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Ne=ye.refKey,vt=Ne===void 0?"ref":Ne,Mt=ye.onChange,Me=ye.onClick,Ct=U3(ye,OAe),zt=h7({accept:B,multiple:s,type:"file",style:{display:"none"},onChange:mt(Ml(Mt,ze)),onClick:mt(Ml(Me,We)),tabIndex:-1},vt,V);return _r(_r({},zt),Ct)}},[V,n,s,ze,r]);return _r(_r({},G),{},{isFocused:ee&&!r,getRootProps:De,getInputProps:Ve,rootRef:$,inputRef:V,open:mt(Ae)})}function zAe(e,t){switch(t.type){case"focus":return _r(_r({},e),{},{isFocused:!0});case"blur":return _r(_r({},e),{},{isFocused:!1});case"openDialog":return _r(_r({},p7),{},{isFileDialogActive:!0});case"closeDialog":return _r(_r({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return _r(_r({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return _r(_r({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return _r({},p7);default:return e}}function BD(){}const HAe=e=>{const{isDragAccept:t,isDragReject:n,overlaySecondaryText:r,setIsHandlingUpload:i}=e;return Je("esc",()=>{i(!1)}),g.jsxs("div",{className:"dropzone-container",children:[t&&g.jsx("div",{className:"dropzone-overlay is-drag-accept",children:g.jsxs(jh,{size:"lg",children:["Upload Image",r]})}),n&&g.jsxs("div",{className:"dropzone-overlay is-drag-reject",children:[g.jsx(jh,{size:"lg",children:"Invalid Upload"}),g.jsx(jh,{size:"md",children:"Must be single JPEG or PNG image"})]})]})},WAe=e=>{const{children:t}=e,n=Te(),r=se(Br),i=a2({}),{t:o}=Ie(),[a,s]=S.useState(!1),{setOpenUploader:l}=RE(),u=S.useCallback(T=>{s(!0);const L=T.errors.reduce((O,D)=>`${O} +${D.message}`,"");i({title:o("toast.uploadFailed"),description:L,status:"error",isClosable:!0})},[o,i]),d=S.useCallback(async T=>{n(MI({imageFile:T}))},[n]),h=S.useCallback((T,L)=>{L.forEach(O=>{u(O)}),T.forEach(O=>{d(O)})},[d,u]),{getRootProps:m,getInputProps:y,isDragAccept:b,isDragReject:w,isDragActive:E,open:_}=Kq({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:h,onDragOver:()=>s(!0),maxFiles:1});l(_),S.useEffect(()=>{const T=L=>{var N;const O=(N=L.clipboardData)==null?void 0:N.items;if(!O)return;const D=[];for(const W of O)W.kind==="file"&&["image/png","image/jpg"].includes(W.type)&&D.push(W);if(!D.length)return;if(L.stopImmediatePropagation(),D.length>1){i({description:o("toast.uploadFailedMultipleImagesDesc"),status:"error",isClosable:!0});return}const I=D[0].getAsFile();if(!I){i({description:o("toast.uploadFailedUnableToLoadDesc"),status:"error",isClosable:!0});return}n(MI({imageFile:I}))};return document.addEventListener("paste",T),()=>{document.removeEventListener("paste",T)}},[o,n,i,r]);const k=["img2img","unifiedCanvas"].includes(r)?` to ${Qa[r].tooltip}`:"";return g.jsx(OE.Provider,{value:_,children:g.jsxs("div",{...m({style:{}}),onKeyDown:T=>{T.key},children:[g.jsx("input",{...y()}),t,E&&a&&g.jsx(HAe,{isDragAccept:b,isDragReject:w,overlaySecondaryText:k,setIsHandlingUpload:s})]})})},UAe=lt(pr,e=>e.log,{memoizeOptions:{resultEqualityCheck:(e,t)=>e.length===t.length}}),VAe=lt(pr,e=>({shouldShowLogViewer:e.shouldShowLogViewer,hasError:e.hasError,wasErrorSeen:e.wasErrorSeen}),{memoizeOptions:{resultEqualityCheck:we.isEqual}}),GAe=()=>{const e=Te(),t=se(UAe),{shouldShowLogViewer:n,hasError:r,wasErrorSeen:i}=se(VAe),[o,a]=S.useState(!0),s=S.useRef(null);S.useLayoutEffect(()=>{s.current!==null&&o&&(s.current.scrollTop=s.current.scrollHeight)},[o,t,n]);const l=()=>{e(NU()),e(BC(!n))};Je("`",()=>{e(BC(!n))},[n]),Je("esc",()=>{e(BC(!1))});const u=()=>{s.current&&o&&s.current.scrollTop{const{timestamp:m,message:y,level:b}=d;return g.jsxs("div",{className:`console-entry console-${b}-color`,children:[g.jsxs("p",{className:"console-timestamp",children:[m,":"]}),g.jsx("p",{className:"console-message",children:y})]},h)})})}),n&&g.jsx(si,{hasArrow:!0,label:o?"Autoscroll On":"Autoscroll Off",children:g.jsx(ls,{className:"console-autoscroll-icon-button","data-autoscroll-enabled":o,size:"sm","aria-label":"Toggle autoscroll",variant:"solid",icon:g.jsx(yke,{}),onClick:()=>a(!o)})}),g.jsx(si,{hasArrow:!0,label:n?"Hide Console":"Show Console",children:g.jsx(ls,{className:"console-toggle-icon-button","data-error-seen":r||!i,size:"sm",position:"fixed",variant:"solid","aria-label":"Toggle Log Viewer",icon:n?g.jsx(Rke,{}):g.jsx(nG,{}),onClick:l})})]})},qAe=lt(pr,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:we.isEqual}}),KAe=()=>{const{isProcessing:e,currentStep:t,totalSteps:n,currentStatusHasSteps:r}=se(qAe),i=t?Math.round(t*100/n):0;return g.jsx(VH,{value:i,isIndeterminate:e&&!r,className:"progress-bar"})};function YAe(e){const{title:t,hotkey:n,description:r}=e;return g.jsxs("div",{className:"hotkey-modal-item",children:[g.jsxs("div",{className:"hotkey-info",children:[g.jsx("p",{className:"hotkey-title",children:t}),r&&g.jsx("p",{className:"hotkey-description",children:r})]}),g.jsx("div",{className:"hotkey-key",children:n})]})}function XAe({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Kd(),{t:i}=Ie(),o=[{title:i("hotkeys.invoke.title"),desc:i("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:i("hotkeys.cancel.title"),desc:i("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:i("hotkeys.focusPrompt.title"),desc:i("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:i("hotkeys.toggleOptions.title"),desc:i("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:i("hotkeys.pinOptions.title"),desc:i("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:i("hotkeys.toggleViewer.title"),desc:i("hotkeys.toggleViewer.desc"),hotkey:"Z"},{title:i("hotkeys.toggleGallery.title"),desc:i("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:i("hotkeys.maximizeWorkSpace.title"),desc:i("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:i("hotkeys.changeTabs.title"),desc:i("hotkeys.changeTabs.desc"),hotkey:"1-5"},{title:i("hotkeys.consoleToggle.title"),desc:i("hotkeys.consoleToggle.desc"),hotkey:"`"}],a=[{title:i("hotkeys.setPrompt.title"),desc:i("hotkeys.setPrompt.desc"),hotkey:"P"},{title:i("hotkeys.setSeed.title"),desc:i("hotkeys.setSeed.desc"),hotkey:"S"},{title:i("hotkeys.setParameters.title"),desc:i("hotkeys.setParameters.desc"),hotkey:"A"},{title:i("hotkeys.restoreFaces.title"),desc:i("hotkeys.restoreFaces.desc"),hotkey:"Shift+R"},{title:i("hotkeys.upscale.title"),desc:i("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:i("hotkeys.showInfo.title"),desc:i("hotkeys.showInfo.desc"),hotkey:"I"},{title:i("hotkeys.sendToImageToImage.title"),desc:i("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:i("hotkeys.deleteImage.title"),desc:i("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:i("hotkeys.closePanels.title"),desc:i("hotkeys.closePanels.desc"),hotkey:"Esc"}],s=[{title:i("hotkeys.previousImage.title"),desc:i("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:i("hotkeys.nextImage.title"),desc:i("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:i("hotkeys.toggleGalleryPin.title"),desc:i("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:i("hotkeys.increaseGalleryThumbSize.title"),desc:i("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:i("hotkeys.decreaseGalleryThumbSize.title"),desc:i("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],l=[{title:i("hotkeys.selectBrush.title"),desc:i("hotkeys.selectBrush.desc"),hotkey:"B"},{title:i("hotkeys.selectEraser.title"),desc:i("hotkeys.selectEraser.desc"),hotkey:"E"},{title:i("hotkeys.decreaseBrushSize.title"),desc:i("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:i("hotkeys.increaseBrushSize.title"),desc:i("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:i("hotkeys.decreaseBrushOpacity.title"),desc:i("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:i("hotkeys.increaseBrushOpacity.title"),desc:i("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:i("hotkeys.moveTool.title"),desc:i("hotkeys.moveTool.desc"),hotkey:"V"},{title:i("hotkeys.fillBoundingBox.title"),desc:i("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:i("hotkeys.eraseBoundingBox.title"),desc:i("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:i("hotkeys.colorPicker.title"),desc:i("hotkeys.colorPicker.desc"),hotkey:"C"},{title:i("hotkeys.toggleSnap.title"),desc:i("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:i("hotkeys.quickToggleMove.title"),desc:i("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:i("hotkeys.toggleLayer.title"),desc:i("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:i("hotkeys.clearMask.title"),desc:i("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:i("hotkeys.hideMask.title"),desc:i("hotkeys.hideMask.desc"),hotkey:"H"},{title:i("hotkeys.showHideBoundingBox.title"),desc:i("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:i("hotkeys.mergeVisible.title"),desc:i("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:i("hotkeys.saveToGallery.title"),desc:i("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:i("hotkeys.copyToClipboard.title"),desc:i("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:i("hotkeys.downloadImage.title"),desc:i("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:i("hotkeys.undoStroke.title"),desc:i("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:i("hotkeys.redoStroke.title"),desc:i("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:i("hotkeys.resetView.title"),desc:i("hotkeys.resetView.desc"),hotkey:"R"},{title:i("hotkeys.previousStagingImage.title"),desc:i("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:i("hotkeys.nextStagingImage.title"),desc:i("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:i("hotkeys.acceptStagingImage.title"),desc:i("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],u=d=>{const h=[];return d.forEach((m,y)=>{h.push(g.jsx(YAe,{title:m.title,description:m.desc,hotkey:m.hotkey},y))}),g.jsx("div",{className:"hotkey-modal-category",children:h})};return g.jsxs(g.Fragment,{children:[S.cloneElement(e,{onClick:n}),g.jsxs(Yd,{isOpen:t,onClose:r,children:[g.jsx(oc,{}),g.jsxs(Xd,{className:" modal hotkeys-modal",children:[g.jsx(m0,{className:"modal-close-btn"}),g.jsx("h1",{children:"Keyboard Shorcuts"}),g.jsx("div",{className:"hotkeys-modal-items",children:g.jsxs(d8,{allowMultiple:!0,children:[g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.appHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(o)})]}),g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.generalHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(a)})]}),g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.galleryHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(s)})]}),g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.unifiedCanvasHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(l)})]})]})})]})]})]})}var zD=Array.isArray,HD=Object.keys,ZAe=Object.prototype.hasOwnProperty,QAe=typeof Element<"u";function g7(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var n=zD(e),r=zD(t),i,o,a;if(n&&r){if(o=e.length,o!=t.length)return!1;for(i=o;i--!==0;)if(!g7(e[i],t[i]))return!1;return!0}if(n!=r)return!1;var s=e instanceof Date,l=t instanceof Date;if(s!=l)return!1;if(s&&l)return e.getTime()==t.getTime();var u=e instanceof RegExp,d=t instanceof RegExp;if(u!=d)return!1;if(u&&d)return e.toString()==t.toString();var h=HD(e);if(o=h.length,o!==HD(t).length)return!1;for(i=o;i--!==0;)if(!ZAe.call(t,h[i]))return!1;if(QAe&&e instanceof Element&&t instanceof Element)return e===t;for(i=o;i--!==0;)if(a=h[i],!(a==="_owner"&&e.$$typeof)&&!g7(e[a],t[a]))return!1;return!0}return e!==e&&t!==t}var md=function(t,n){try{return g7(t,n)}catch(r){if(r.message&&r.message.match(/stack|recursion/i)||r.number===-2146828260)return console.warn("Warning: react-fast-compare does not handle circular references.",r.name,r.message),!1;throw r}},JAe=function(t){return eOe(t)&&!tOe(t)};function eOe(e){return!!e&&typeof e=="object"}function tOe(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||iOe(e)}var nOe=typeof Symbol=="function"&&Symbol.for,rOe=nOe?Symbol.for("react.element"):60103;function iOe(e){return e.$$typeof===rOe}function oOe(e){return Array.isArray(e)?[]:{}}function V3(e,t){return t.clone!==!1&&t.isMergeableObject(e)?Hy(oOe(e),e,t):e}function aOe(e,t,n){return e.concat(t).map(function(r){return V3(r,n)})}function sOe(e,t,n){var r={};return n.isMergeableObject(e)&&Object.keys(e).forEach(function(i){r[i]=V3(e[i],n)}),Object.keys(t).forEach(function(i){!n.isMergeableObject(t[i])||!e[i]?r[i]=V3(t[i],n):r[i]=Hy(e[i],t[i],n)}),r}function Hy(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||aOe,n.isMergeableObject=n.isMergeableObject||JAe;var r=Array.isArray(t),i=Array.isArray(e),o=r===i;return o?r?n.arrayMerge(e,t,n):sOe(e,t,n):V3(t,n)}Hy.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,i){return Hy(r,i,n)},{})};var m7=Hy,lOe=typeof global=="object"&&global&&global.Object===Object&&global;const Yq=lOe;var uOe=typeof self=="object"&&self&&self.Object===Object&&self,cOe=Yq||uOe||Function("return this")();const du=cOe;var dOe=du.Symbol;const tf=dOe;var Xq=Object.prototype,fOe=Xq.hasOwnProperty,hOe=Xq.toString,r1=tf?tf.toStringTag:void 0;function pOe(e){var t=fOe.call(e,r1),n=e[r1];try{e[r1]=void 0;var r=!0}catch{}var i=hOe.call(e);return r&&(t?e[r1]=n:delete e[r1]),i}var gOe=Object.prototype,mOe=gOe.toString;function vOe(e){return mOe.call(e)}var yOe="[object Null]",bOe="[object Undefined]",WD=tf?tf.toStringTag:void 0;function yp(e){return e==null?e===void 0?bOe:yOe:WD&&WD in Object(e)?pOe(e):vOe(e)}function Zq(e,t){return function(n){return e(t(n))}}var xOe=Zq(Object.getPrototypeOf,Object);const SP=xOe;function bp(e){return e!=null&&typeof e=="object"}var SOe="[object Object]",wOe=Function.prototype,COe=Object.prototype,Qq=wOe.toString,_Oe=COe.hasOwnProperty,kOe=Qq.call(Object);function UD(e){if(!bp(e)||yp(e)!=SOe)return!1;var t=SP(e);if(t===null)return!0;var n=_Oe.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&Qq.call(n)==kOe}function EOe(){this.__data__=[],this.size=0}function Jq(e,t){return e===t||e!==e&&t!==t}function P4(e,t){for(var n=e.length;n--;)if(Jq(e[n][0],t))return n;return-1}var POe=Array.prototype,TOe=POe.splice;function MOe(e){var t=this.__data__,n=P4(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():TOe.call(t,n,1),--this.size,!0}function LOe(e){var t=this.__data__,n=P4(t,e);return n<0?void 0:t[n][1]}function AOe(e){return P4(this.__data__,e)>-1}function OOe(e,t){var n=this.__data__,r=P4(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function yc(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=FRe}var BRe="[object Arguments]",zRe="[object Array]",HRe="[object Boolean]",WRe="[object Date]",URe="[object Error]",VRe="[object Function]",GRe="[object Map]",qRe="[object Number]",KRe="[object Object]",YRe="[object RegExp]",XRe="[object Set]",ZRe="[object String]",QRe="[object WeakMap]",JRe="[object ArrayBuffer]",eIe="[object DataView]",tIe="[object Float32Array]",nIe="[object Float64Array]",rIe="[object Int8Array]",iIe="[object Int16Array]",oIe="[object Int32Array]",aIe="[object Uint8Array]",sIe="[object Uint8ClampedArray]",lIe="[object Uint16Array]",uIe="[object Uint32Array]",ar={};ar[tIe]=ar[nIe]=ar[rIe]=ar[iIe]=ar[oIe]=ar[aIe]=ar[sIe]=ar[lIe]=ar[uIe]=!0;ar[BRe]=ar[zRe]=ar[JRe]=ar[HRe]=ar[eIe]=ar[WRe]=ar[URe]=ar[VRe]=ar[GRe]=ar[qRe]=ar[KRe]=ar[YRe]=ar[XRe]=ar[ZRe]=ar[QRe]=!1;function cIe(e){return bp(e)&&aK(e.length)&&!!ar[yp(e)]}function wP(e){return function(t){return e(t)}}var sK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Z1=sK&&typeof module=="object"&&module&&!module.nodeType&&module,dIe=Z1&&Z1.exports===sK,c6=dIe&&Yq.process,fIe=function(){try{var e=Z1&&Z1.require&&Z1.require("util").types;return e||c6&&c6.binding&&c6.binding("util")}catch{}}();const i0=fIe;var XD=i0&&i0.isTypedArray,hIe=XD?wP(XD):cIe;const pIe=hIe;var gIe=Object.prototype,mIe=gIe.hasOwnProperty;function lK(e,t){var n=k2(e),r=!n&&LRe(e),i=!n&&!r&&oK(e),o=!n&&!r&&!i&&pIe(e),a=n||r||i||o,s=a?kRe(e.length,String):[],l=s.length;for(var u in e)(t||mIe.call(e,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||o&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||$Re(u,l)))&&s.push(u);return s}var vIe=Object.prototype;function CP(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||vIe;return e===n}var yIe=Zq(Object.keys,Object);const bIe=yIe;var xIe=Object.prototype,SIe=xIe.hasOwnProperty;function wIe(e){if(!CP(e))return bIe(e);var t=[];for(var n in Object(e))SIe.call(e,n)&&n!="constructor"&&t.push(n);return t}function uK(e){return e!=null&&aK(e.length)&&!eK(e)}function _P(e){return uK(e)?lK(e):wIe(e)}function CIe(e,t){return e&&M4(t,_P(t),e)}function _Ie(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var kIe=Object.prototype,EIe=kIe.hasOwnProperty;function PIe(e){if(!_2(e))return _Ie(e);var t=CP(e),n=[];for(var r in e)r=="constructor"&&(t||!EIe.call(e,r))||n.push(r);return n}function kP(e){return uK(e)?lK(e,!0):PIe(e)}function TIe(e,t){return e&&M4(t,kP(t),e)}var cK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ZD=cK&&typeof module=="object"&&module&&!module.nodeType&&module,MIe=ZD&&ZD.exports===cK,QD=MIe?du.Buffer:void 0,JD=QD?QD.allocUnsafe:void 0;function LIe(e,t){if(t)return e.slice();var n=e.length,r=JD?JD(n):new e.constructor(n);return e.copy(r),r}function dK(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n=0)&&(n[i]=e[i]);return n}function gj(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var mj=function(t){return Array.isArray(t)&&t.length===0},Wo=function(t){return typeof t=="function"},L4=function(t){return t!==null&&typeof t=="object"},Tje=function(t){return String(Math.floor(Number(t)))===t},d6=function(t){return Object.prototype.toString.call(t)==="[object String]"},wK=function(t){return S.Children.count(t)===0},f6=function(t){return L4(t)&&Wo(t.then)};function Ui(e,t,n,r){r===void 0&&(r=0);for(var i=SK(t);e&&r=0?[]:{}}}return(o===0?e:i)[a[o]]===n?e:(n===void 0?delete i[a[o]]:i[a[o]]=n,o===0&&n===void 0&&delete r[a[o]],r)}function CK(e,t,n,r){n===void 0&&(n=new WeakMap),r===void 0&&(r={});for(var i=0,o=Object.keys(e);i0?De.map(function(Ve){return N(Ve,Ui(le,Ve))}):[Promise.resolve("DO_NOT_DELETE_YOU_WILL_BE_FIRED")];return Promise.all(We).then(function(Ve){return Ve.reduce(function(ye,Ne,vt){return Ne==="DO_NOT_DELETE_YOU_WILL_BE_FIRED"||Ne&&(ye=tu(ye,De[vt],Ne)),ye},{})})},[N]),B=S.useCallback(function(le){return Promise.all([W(le),m.validationSchema?I(le):{},m.validate?D(le):{}]).then(function(De){var We=De[0],Ve=De[1],ye=De[2],Ne=m7.all([We,Ve,ye],{arrayMerge:Ije});return Ne})},[m.validate,m.validationSchema,W,D,I]),K=qa(function(le){return le===void 0&&(le=L.values),O({type:"SET_ISVALIDATING",payload:!0}),B(le).then(function(De){return _.current&&(O({type:"SET_ISVALIDATING",payload:!1}),O({type:"SET_ERRORS",payload:De})),De})});S.useEffect(function(){a&&_.current===!0&&md(y.current,m.initialValues)&&K(y.current)},[a,K]);var ne=S.useCallback(function(le){var De=le&&le.values?le.values:y.current,We=le&&le.errors?le.errors:b.current?b.current:m.initialErrors||{},Ve=le&&le.touched?le.touched:w.current?w.current:m.initialTouched||{},ye=le&&le.status?le.status:E.current?E.current:m.initialStatus;y.current=De,b.current=We,w.current=Ve,E.current=ye;var Ne=function(){O({type:"RESET_FORM",payload:{isSubmitting:!!le&&!!le.isSubmitting,errors:We,touched:Ve,status:ye,values:De,isValidating:!!le&&!!le.isValidating,submitCount:le&&le.submitCount&&typeof le.submitCount=="number"?le.submitCount:0}})};if(m.onReset){var vt=m.onReset(L.values,ze);f6(vt)?vt.then(Ne):Ne()}else Ne()},[m.initialErrors,m.initialStatus,m.initialTouched]);S.useEffect(function(){_.current===!0&&!md(y.current,m.initialValues)&&(u&&(y.current=m.initialValues,ne()),a&&K(y.current))},[u,m.initialValues,ne,a,K]),S.useEffect(function(){u&&_.current===!0&&!md(b.current,m.initialErrors)&&(b.current=m.initialErrors||lh,O({type:"SET_ERRORS",payload:m.initialErrors||lh}))},[u,m.initialErrors]),S.useEffect(function(){u&&_.current===!0&&!md(w.current,m.initialTouched)&&(w.current=m.initialTouched||Ex,O({type:"SET_TOUCHED",payload:m.initialTouched||Ex}))},[u,m.initialTouched]),S.useEffect(function(){u&&_.current===!0&&!md(E.current,m.initialStatus)&&(E.current=m.initialStatus,O({type:"SET_STATUS",payload:m.initialStatus}))},[u,m.initialStatus,m.initialTouched]);var z=qa(function(le){if(k.current[le]&&Wo(k.current[le].validate)){var De=Ui(L.values,le),We=k.current[le].validate(De);return f6(We)?(O({type:"SET_ISVALIDATING",payload:!0}),We.then(function(Ve){return Ve}).then(function(Ve){O({type:"SET_FIELD_ERROR",payload:{field:le,value:Ve}}),O({type:"SET_ISVALIDATING",payload:!1})})):(O({type:"SET_FIELD_ERROR",payload:{field:le,value:We}}),Promise.resolve(We))}else if(m.validationSchema)return O({type:"SET_ISVALIDATING",payload:!0}),I(L.values,le).then(function(Ve){return Ve}).then(function(Ve){O({type:"SET_FIELD_ERROR",payload:{field:le,value:Ve[le]}}),O({type:"SET_ISVALIDATING",payload:!1})});return Promise.resolve()}),$=S.useCallback(function(le,De){var We=De.validate;k.current[le]={validate:We}},[]),V=S.useCallback(function(le){delete k.current[le]},[]),X=qa(function(le,De){O({type:"SET_TOUCHED",payload:le});var We=De===void 0?i:De;return We?K(L.values):Promise.resolve()}),Q=S.useCallback(function(le){O({type:"SET_ERRORS",payload:le})},[]),G=qa(function(le,De){var We=Wo(le)?le(L.values):le;O({type:"SET_VALUES",payload:We});var Ve=De===void 0?n:De;return Ve?K(We):Promise.resolve()}),Y=S.useCallback(function(le,De){O({type:"SET_FIELD_ERROR",payload:{field:le,value:De}})},[]),ee=qa(function(le,De,We){O({type:"SET_FIELD_VALUE",payload:{field:le,value:De}});var Ve=We===void 0?n:We;return Ve?K(tu(L.values,le,De)):Promise.resolve()}),fe=S.useCallback(function(le,De){var We=De,Ve=le,ye;if(!d6(le)){le.persist&&le.persist();var Ne=le.target?le.target:le.currentTarget,vt=Ne.type,Mt=Ne.name,Me=Ne.id,Ct=Ne.value,zt=Ne.checked,$n=Ne.outerHTML,Ke=Ne.options,pt=Ne.multiple;We=De||Mt||Me,Ve=/number|range/.test(vt)?(ye=parseFloat(Ct),isNaN(ye)?"":ye):/checkbox/.test(vt)?jje(Ui(L.values,We),zt,Ct):Ke&&pt?Dje(Ke):Ct}We&&ee(We,Ve)},[ee,L.values]),Ce=qa(function(le){if(d6(le))return function(De){return fe(De,le)};fe(le)}),Se=qa(function(le,De,We){De===void 0&&(De=!0),O({type:"SET_FIELD_TOUCHED",payload:{field:le,value:De}});var Ve=We===void 0?i:We;return Ve?K(L.values):Promise.resolve()}),xe=S.useCallback(function(le,De){le.persist&&le.persist();var We=le.target,Ve=We.name,ye=We.id,Ne=We.outerHTML,vt=De||Ve||ye;Se(vt,!0)},[Se]),Le=qa(function(le){if(d6(le))return function(De){return xe(De,le)};xe(le)}),je=S.useCallback(function(le){Wo(le)?O({type:"SET_FORMIK_STATE",payload:le}):O({type:"SET_FORMIK_STATE",payload:function(){return le}})},[]),Ze=S.useCallback(function(le){O({type:"SET_STATUS",payload:le})},[]),_e=S.useCallback(function(le){O({type:"SET_ISSUBMITTING",payload:le})},[]),tt=qa(function(){return O({type:"SUBMIT_ATTEMPT"}),K().then(function(le){var De=le instanceof Error,We=!De&&Object.keys(le).length===0;if(We){var Ve;try{if(Ve=Ae(),Ve===void 0)return}catch(ye){throw ye}return Promise.resolve(Ve).then(function(ye){return _.current&&O({type:"SUBMIT_SUCCESS"}),ye}).catch(function(ye){if(_.current)throw O({type:"SUBMIT_FAILURE"}),ye})}else if(_.current&&(O({type:"SUBMIT_FAILURE"}),De))throw le})}),yt=qa(function(le){le&&le.preventDefault&&Wo(le.preventDefault)&&le.preventDefault(),le&&le.stopPropagation&&Wo(le.stopPropagation)&&le.stopPropagation(),tt().catch(function(De){console.warn("Warning: An unhandled error was caught from submitForm()",De)})}),ze={resetForm:ne,validateForm:K,validateField:z,setErrors:Q,setFieldError:Y,setFieldTouched:Se,setFieldValue:ee,setStatus:Ze,setSubmitting:_e,setTouched:X,setValues:G,setFormikState:je,submitForm:tt},Ae=qa(function(){return d(L.values,ze)}),bt=qa(function(le){le&&le.preventDefault&&Wo(le.preventDefault)&&le.preventDefault(),le&&le.stopPropagation&&Wo(le.stopPropagation)&&le.stopPropagation(),ne()}),Be=S.useCallback(function(le){return{value:Ui(L.values,le),error:Ui(L.errors,le),touched:!!Ui(L.touched,le),initialValue:Ui(y.current,le),initialTouched:!!Ui(w.current,le),initialError:Ui(b.current,le)}},[L.errors,L.touched,L.values]),at=S.useCallback(function(le){return{setValue:function(We,Ve){return ee(le,We,Ve)},setTouched:function(We,Ve){return Se(le,We,Ve)},setError:function(We){return Y(le,We)}}},[ee,Se,Y]),jt=S.useCallback(function(le){var De=L4(le),We=De?le.name:le,Ve=Ui(L.values,We),ye={name:We,value:Ve,onChange:Ce,onBlur:Le};if(De){var Ne=le.type,vt=le.value,Mt=le.as,Me=le.multiple;Ne==="checkbox"?vt===void 0?ye.checked=!!Ve:(ye.checked=!!(Array.isArray(Ve)&&~Ve.indexOf(vt)),ye.value=vt):Ne==="radio"?(ye.checked=Ve===vt,ye.value=vt):Mt==="select"&&Me&&(ye.value=ye.value||[],ye.multiple=!0)}return ye},[Le,Ce,L.values]),mt=S.useMemo(function(){return!md(y.current,L.values)},[y.current,L.values]),Zt=S.useMemo(function(){return typeof s<"u"?mt?L.errors&&Object.keys(L.errors).length===0:s!==!1&&Wo(s)?s(m):s:L.errors&&Object.keys(L.errors).length===0},[s,mt,L.errors,m]),on=Vn({},L,{initialValues:y.current,initialErrors:b.current,initialTouched:w.current,initialStatus:E.current,handleBlur:Le,handleChange:Ce,handleReset:bt,handleSubmit:yt,resetForm:ne,setErrors:Q,setFormikState:je,setFieldTouched:Se,setFieldValue:ee,setFieldError:Y,setStatus:Ze,setSubmitting:_e,setTouched:X,setValues:G,submitForm:tt,validateForm:K,validateField:z,isValid:Zt,dirty:mt,unregisterField:V,registerField:$,getFieldProps:jt,getFieldMeta:Be,getFieldHelpers:at,validateOnBlur:i,validateOnChange:n,validateOnMount:a});return on}function E2(e){var t=Aje(e),n=e.component,r=e.children,i=e.render,o=e.innerRef;return S.useImperativeHandle(o,function(){return t}),S.createElement(Mje,{value:t},n?S.createElement(n,t):i?i(t):r?Wo(r)?r(t):wK(r)?null:S.Children.only(r):null)}function Oje(e){var t={};if(e.inner){if(e.inner.length===0)return tu(t,e.path,e.message);for(var i=e.inner,n=Array.isArray(i),r=0,i=n?i:i[Symbol.iterator]();;){var o;if(n){if(r>=i.length)break;o=i[r++]}else{if(r=i.next(),r.done)break;o=r.value}var a=o;Ui(t,a.path)||(t=tu(t,a.path,a.message))}}return t}function Rje(e,t,n,r){n===void 0&&(n=!1),r===void 0&&(r={});var i=S7(e);return t[n?"validateSync":"validate"](i,{abortEarly:!1,context:r})}function S7(e){var t=Array.isArray(e)?[]:{};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=String(n);Array.isArray(e[r])===!0?t[r]=e[r].map(function(i){return Array.isArray(i)===!0||UD(i)?S7(i):i!==""?i:void 0}):UD(e[r])?t[r]=S7(e[r]):t[r]=e[r]!==""?e[r]:void 0}return t}function Ije(e,t,n){var r=e.slice();return t.forEach(function(o,a){if(typeof r[a]>"u"){var s=n.clone!==!1,l=s&&n.isMergeableObject(o);r[a]=l?m7(Array.isArray(o)?[]:{},o,n):o}else n.isMergeableObject(o)?r[a]=m7(e[a],o,n):e.indexOf(o)===-1&&r.push(o)}),r}function Dje(e){return Array.from(e).filter(function(t){return t.selected}).map(function(t){return t.value})}function jje(e,t,n){if(typeof e=="boolean")return Boolean(t);var r=[],i=!1,o=-1;if(Array.isArray(e))r=e,o=e.indexOf(n),i=o>=0;else if(!n||n=="true"||n=="false")return Boolean(t);return t&&n&&!i?r.concat(n):i?r.slice(0,o).concat(r.slice(o+1)):r}var Nje=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?S.useLayoutEffect:S.useEffect;function qa(e){var t=S.useRef(e);return Nje(function(){t.current=e}),S.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;ir?i:r},0);return Array.from(Vn({},t,{length:n+1}))}else return[]},Hje=function(e){Pje(t,e);function t(r){var i;return i=e.call(this,r)||this,i.updateArrayField=function(o,a,s){var l=i.props,u=l.name,d=l.formik.setFormikState;d(function(h){var m=typeof s=="function"?s:o,y=typeof a=="function"?a:o,b=tu(h.values,u,o(Ui(h.values,u))),w=s?m(Ui(h.errors,u)):void 0,E=a?y(Ui(h.touched,u)):void 0;return mj(w)&&(w=void 0),mj(E)&&(E=void 0),Vn({},h,{values:b,errors:s?tu(h.errors,u,w):h.errors,touched:a?tu(h.touched,u,E):h.touched})})},i.push=function(o){return i.updateArrayField(function(a){return[].concat(o0(a),[Eje(o)])},!1,!1)},i.handlePush=function(o){return function(){return i.push(o)}},i.swap=function(o,a){return i.updateArrayField(function(s){return Bje(s,o,a)},!0,!0)},i.handleSwap=function(o,a){return function(){return i.swap(o,a)}},i.move=function(o,a){return i.updateArrayField(function(s){return Fje(s,o,a)},!0,!0)},i.handleMove=function(o,a){return function(){return i.move(o,a)}},i.insert=function(o,a){return i.updateArrayField(function(s){return h6(s,o,a)},function(s){return h6(s,o,null)},function(s){return h6(s,o,null)})},i.handleInsert=function(o,a){return function(){return i.insert(o,a)}},i.replace=function(o,a){return i.updateArrayField(function(s){return zje(s,o,a)},!1,!1)},i.handleReplace=function(o,a){return function(){return i.replace(o,a)}},i.unshift=function(o){var a=-1;return i.updateArrayField(function(s){var l=s?[o].concat(s):[o];return a<0&&(a=l.length),l},function(s){var l=s?[null].concat(s):[null];return a<0&&(a=l.length),l},function(s){var l=s?[null].concat(s):[null];return a<0&&(a=l.length),l}),a},i.handleUnshift=function(o){return function(){return i.unshift(o)}},i.handleRemove=function(o){return function(){return i.remove(o)}},i.handlePop=function(){return function(){return i.pop()}},i.remove=i.remove.bind(gj(i)),i.pop=i.pop.bind(gj(i)),i}var n=t.prototype;return n.componentDidUpdate=function(i){this.props.validateOnChange&&this.props.formik.validateOnChange&&!md(Ui(i.formik.values,i.name),Ui(this.props.formik.values,this.props.name))&&this.props.formik.validateForm(this.props.formik.values)},n.remove=function(i){var o;return this.updateArrayField(function(a){var s=a?o0(a):[];return o||(o=s[i]),Wo(s.splice)&&s.splice(i,1),s},!0,!0),o},n.pop=function(){var i;return this.updateArrayField(function(o){var a=o;return i||(i=a&&a.pop&&a.pop()),a},!0,!0),i},n.render=function(){var i={push:this.push,pop:this.pop,swap:this.swap,move:this.move,insert:this.insert,replace:this.replace,unshift:this.unshift,remove:this.remove,handlePush:this.handlePush,handlePop:this.handlePop,handleSwap:this.handleSwap,handleMove:this.handleMove,handleInsert:this.handleInsert,handleReplace:this.handleReplace,handleUnshift:this.handleUnshift,handleRemove:this.handleRemove},o=this.props,a=o.component,s=o.render,l=o.children,u=o.name,d=o.formik,h=Ph(d,["validate","validationSchema"]),m=Vn({},i,{form:h,name:u});return a?S.createElement(a,m):s?s(m):l?typeof l=="function"?l(m):wK(l)?null:S.Children.only(l):null},t}(S.Component);Hje.defaultProps={validateOnChange:!0};function Wje(e){const{model:t}=e,r=se(b=>b.system.model_list)[t],i=Te(),{t:o}=Ie(),a=se(b=>b.system.isProcessing),s=se(b=>b.system.isConnected),[l,u]=S.useState("same"),[d,h]=S.useState("");S.useEffect(()=>{u("same")},[t]);const m=()=>{u("same")},y=()=>{i(y_e({model_name:t,save_location:l,custom_location:l==="custom"&&d!==""?d:null}))};return g.jsxs(_4,{title:`${o("modelManager.convert")} ${t}`,acceptCallback:y,cancelCallback:m,acceptButtonText:`${o("modelManager.convert")}`,triggerComponent:g.jsxs(On,{size:"sm","aria-label":o("modelManager.convertToDiffusers"),isDisabled:r.status==="active"||a||!s,className:" modal-close-btn",marginRight:"2rem",children:["🧨 ",o("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[g.jsxs(Ee,{flexDirection:"column",rowGap:4,children:[g.jsx(Rt,{children:o("modelManager.convertToDiffusersHelpText1")}),g.jsxs(nH,{children:[g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText2")}),g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText3")}),g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText4")}),g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText5")})]}),g.jsx(Rt,{children:o("modelManager.convertToDiffusersHelpText6")})]}),g.jsxs(Ee,{flexDir:"column",gap:4,children:[g.jsxs(Ee,{marginTop:"1rem",flexDir:"column",gap:2,children:[g.jsx(Rt,{fontWeight:"bold",children:o("modelManager.convertToDiffusersSaveLocation")}),g.jsx(Oy,{value:l,onChange:b=>u(b),children:g.jsxs(Ee,{gap:4,children:[g.jsx(So,{value:"same",children:g.jsx(si,{label:"Save converted model in the same folder",children:o("modelManager.sameFolder")})}),g.jsx(So,{value:"root",children:g.jsx(si,{label:"Save converted model in the InvokeAI root folder",children:o("modelManager.invokeRoot")})}),g.jsx(So,{value:"custom",children:g.jsx(si,{label:"Save converted model in a custom folder",children:o("modelManager.custom")})})]})})]}),l==="custom"&&g.jsxs(Ee,{flexDirection:"column",rowGap:2,children:[g.jsx(Rt,{fontWeight:"bold",fontSize:"sm",color:"var(--text-color-secondary)",children:o("modelManager.customSaveLocation")}),g.jsx(qn,{value:d,onChange:b=>{b.target.value!==""&&h(b.target.value)},width:"25rem"})]})]})]})}const Uje=lt([pr],e=>{const{openModel:t,model_list:n}=e;return{model_list:n,openModel:t}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),vj=64,yj=2048;function Vje(){const{openModel:e,model_list:t}=se(Uje),n=se(l=>l.system.isProcessing),r=Te(),{t:i}=Ie(),[o,a]=S.useState({name:"",description:"",config:"configs/stable-diffusion/v1-inference.yaml",weights:"",vae:"",width:512,height:512,default:!1,format:"ckpt"});S.useEffect(()=>{var l,u,d,h,m,y,b;if(e){const w=we.pickBy(t,(E,_)=>we.isEqual(_,e));a({name:e,description:(l=w[e])==null?void 0:l.description,config:(u=w[e])==null?void 0:u.config,weights:(d=w[e])==null?void 0:d.weights,vae:(h=w[e])==null?void 0:h.vae,width:(m=w[e])==null?void 0:m.width,height:(y=w[e])==null?void 0:y.height,default:(b=w[e])==null?void 0:b.default,format:"ckpt"})}},[t,e]);const s=l=>{r(v2({...l,width:Number(l.width),height:Number(l.height)}))};return e?g.jsxs(Ee,{flexDirection:"column",rowGap:"1rem",width:"100%",children:[g.jsxs(Ee,{alignItems:"center",gap:4,justifyContent:"space-between",children:[g.jsx(Rt,{fontSize:"lg",fontWeight:"bold",children:e}),g.jsx(Wje,{model:e})]}),g.jsx(Ee,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",paddingRight:"2rem",children:g.jsx(E2,{enableReinitialize:!0,initialValues:o,onSubmit:s,children:({handleSubmit:l,errors:u,touched:d})=>g.jsx("form",{onSubmit:l,children:g.jsxs(hn,{rowGap:"0.5rem",alignItems:"start",children:[g.jsxs(sn,{isInvalid:!!u.description&&d.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:i("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"lg"}),u.description&&d.description?g.jsx(lr,{children:u.description}):g.jsx(sr,{margin:0,children:i("modelManager.descriptionValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.config&&d.config,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:i("modelManager.config")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"config",name:"config",type:"text",width:"lg"}),u.config&&d.config?g.jsx(lr,{children:u.config}):g.jsx(sr,{margin:0,children:i("modelManager.configValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.weights&&d.weights,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:i("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"weights",name:"weights",type:"text",width:"lg"}),u.weights&&d.weights?g.jsx(lr,{children:u.weights}):g.jsx(sr,{margin:0,children:i("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.vae&&d.vae,children:[g.jsx(Sn,{htmlFor:"vae",fontSize:"sm",children:i("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae",name:"vae",type:"text",width:"lg"}),u.vae&&d.vae?g.jsx(lr,{children:u.vae}):g.jsx(sr,{margin:0,children:i("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(l2,{width:"100%",children:[g.jsxs(sn,{isInvalid:!!u.width&&d.width,children:[g.jsx(Sn,{htmlFor:"width",fontSize:"sm",children:i("modelManager.width")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"width",name:"width",children:({field:h,form:m})=>g.jsx(lc,{id:"width",name:"width",min:vj,max:yj,step:64,value:m.values.width,onChange:y=>m.setFieldValue(h.name,Number(y))})}),u.width&&d.width?g.jsx(lr,{children:u.width}):g.jsx(sr,{margin:0,children:i("modelManager.widthValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.height&&d.height,children:[g.jsx(Sn,{htmlFor:"height",fontSize:"sm",children:i("modelManager.height")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"height",name:"height",children:({field:h,form:m})=>g.jsx(lc,{id:"height",name:"height",min:vj,max:yj,step:64,value:m.values.height,onChange:y=>m.setFieldValue(h.name,Number(y))})}),u.height&&d.height?g.jsx(lr,{children:u.height}):g.jsx(sr,{margin:0,children:i("modelManager.heightValidationMsg")})]})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:i("modelManager.updateModel")})]})})})})]}):g.jsx(Ee,{width:"100%",justifyContent:"center",alignItems:"center",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",children:g.jsx(Rt,{fontWeight:"bold",color:"var(--subtext-color-bright)",children:"Pick A Model To Edit"})})}const Gje=lt([pr],e=>{const{openModel:t,model_list:n}=e;return{model_list:n,openModel:t}},{memoizeOptions:{resultEqualityCheck:we.isEqual}});function qje(){const{openModel:e,model_list:t}=se(Gje),n=se(l=>l.system.isProcessing),r=Te(),{t:i}=Ie(),[o,a]=S.useState({name:"",description:"",repo_id:"",path:"",vae:{repo_id:"",path:""},default:!1,format:"diffusers"});S.useEffect(()=>{var l,u,d,h,m,y,b,w,E,_,k,T,L,O,D,I;if(e){const N=we.pickBy(t,(W,B)=>we.isEqual(B,e));a({name:e,description:(l=N[e])==null?void 0:l.description,path:(u=N[e])!=null&&u.path&&((d=N[e])==null?void 0:d.path)!=="None"?(h=N[e])==null?void 0:h.path:"",repo_id:(m=N[e])!=null&&m.repo_id&&((y=N[e])==null?void 0:y.repo_id)!=="None"?(b=N[e])==null?void 0:b.repo_id:"",vae:{repo_id:(E=(w=N[e])==null?void 0:w.vae)!=null&&E.repo_id?(k=(_=N[e])==null?void 0:_.vae)==null?void 0:k.repo_id:"",path:(L=(T=N[e])==null?void 0:T.vae)!=null&&L.path?(D=(O=N[e])==null?void 0:O.vae)==null?void 0:D.path:""},default:(I=N[e])==null?void 0:I.default,format:"diffusers"})}},[t,e]);const s=l=>{const u=l;l.path===""&&delete u.path,l.repo_id===""&&delete u.repo_id,l.vae.path===""&&delete u.vae.path,l.vae.repo_id===""&&delete u.vae.repo_id,r(v2(l))};return e?g.jsxs(Ee,{flexDirection:"column",rowGap:"1rem",width:"100%",children:[g.jsx(Ee,{alignItems:"center",children:g.jsx(Rt,{fontSize:"lg",fontWeight:"bold",children:e})}),g.jsx(Ee,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",paddingRight:"2rem",children:g.jsx(E2,{enableReinitialize:!0,initialValues:o,onSubmit:s,children:({handleSubmit:l,errors:u,touched:d})=>{var h,m,y,b,w,E,_,k,T,L;return g.jsx("form",{onSubmit:l,children:g.jsxs(hn,{rowGap:"0.5rem",alignItems:"start",children:[g.jsxs(sn,{isInvalid:!!u.description&&d.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:i("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"lg"}),u.description&&d.description?g.jsx(lr,{children:u.description}):g.jsx(sr,{margin:0,children:i("modelManager.descriptionValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.path&&d.path,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"path",fontSize:"sm",children:i("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"path",name:"path",type:"text",width:"lg"}),u.path&&d.path?g.jsx(lr,{children:u.path}):g.jsx(sr,{margin:0,children:i("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.repo_id&&d.repo_id,children:[g.jsx(Sn,{htmlFor:"repo_id",fontSize:"sm",children:i("modelManager.repo_id")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"repo_id",name:"repo_id",type:"text",width:"lg"}),u.repo_id&&d.repo_id?g.jsx(lr,{children:u.repo_id}):g.jsx(sr,{margin:0,children:i("modelManager.repoIDValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!((h=u.vae)!=null&&h.path)&&((m=d.vae)==null?void 0:m.path),children:[g.jsx(Sn,{htmlFor:"vae.path",fontSize:"sm",children:i("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.path",name:"vae.path",type:"text",width:"lg"}),(y=u.vae)!=null&&y.path&&((b=d.vae)!=null&&b.path)?g.jsx(lr,{children:(w=u.vae)==null?void 0:w.path}):g.jsx(sr,{margin:0,children:i("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!((E=u.vae)!=null&&E.repo_id)&&((_=d.vae)==null?void 0:_.repo_id),children:[g.jsx(Sn,{htmlFor:"vae.repo_id",fontSize:"sm",children:i("modelManager.vaeRepoID")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.repo_id",name:"vae.repo_id",type:"text",width:"lg"}),(k=u.vae)!=null&&k.repo_id&&((T=d.vae)!=null&&T.repo_id)?g.jsx(lr,{children:(L=u.vae)==null?void 0:L.repo_id}):g.jsx(sr,{margin:0,children:i("modelManager.vaeRepoIDValidationMsg")})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:i("modelManager.updateModel")})]})})}})})]}):g.jsx(Ee,{width:"100%",justifyContent:"center",alignItems:"center",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",children:g.jsx(Rt,{fontWeight:"bold",color:"var(--subtext-color-bright)",children:"Pick A Model To Edit"})})}const kK=lt([pr],e=>{const{model_list:t}=e,n=[];return we.forEach(t,r=>{n.push(r.weights)}),n});function Kje(){const{t:e}=Ie();return g.jsx(qi,{position:"absolute",zIndex:2,right:4,top:4,fontSize:"0.7rem",fontWeight:"bold",backgroundColor:"var(--accent-color)",padding:"0.2rem 0.5rem",borderRadius:"0.2rem",alignItems:"center",children:e("modelManager.modelExists")})}function bj({model:e,modelsToAdd:t,setModelsToAdd:n}){const r=se(kK),i=o=>{t.includes(o.target.value)?n(we.remove(t,a=>a!==o.target.value)):n([...t,o.target.value])};return g.jsxs(qi,{position:"relative",children:[r.includes(e.location)?g.jsx(Kje,{}):null,g.jsx(Gn,{value:e.name,label:g.jsx(g.Fragment,{children:g.jsxs(hn,{alignItems:"start",children:[g.jsx("p",{style:{fontWeight:"bold"},children:e.name}),g.jsx("p",{style:{fontStyle:"italic"},children:e.location})]})}),isChecked:t.includes(e.name),isDisabled:r.includes(e.location),onChange:i,padding:"1rem",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",_checked:{backgroundColor:"var(--accent-color)",color:"var(--text-color)"},_disabled:{backgroundColor:"var(--background-color-secondary)"}})]})}function Yje(){const e=Te(),{t}=Ie(),n=se(T=>T.system.searchFolder),r=se(T=>T.system.foundModels),i=se(kK),o=se(T=>T.ui.shouldShowExistingModelsInSearch),a=se(T=>T.system.isProcessing),[s,l]=Ye.useState([]),[u,d]=Ye.useState("v1"),[h,m]=Ye.useState(""),y=()=>{e($U(null)),e(FU(null)),l([])},b=T=>{e(PI(T.checkpointFolder))},w=()=>{l([]),r&&r.forEach(T=>{i.includes(T.location)||l(L=>[...L,T.name])})},E=()=>{l([])},_=()=>{const T=r==null?void 0:r.filter(O=>s.includes(O.name)),L={v1:"configs/stable-diffusion/v1-inference.yaml",v2_base:"configs/stable-diffusion/v2-inference-v.yaml",v2_768:"configs/stable-diffusion/v2-inference-v.yaml",inpainting:"configs/stable-diffusion/v1-inpainting-inference.yaml",custom:h};T==null||T.forEach(O=>{const D={name:O.name,description:"",config:L[u],weights:O.location,vae:"",width:512,height:512,default:!1,format:"ckpt"};e(v2(D))}),l([])},k=()=>{const T=[],L=[];return r&&r.forEach((O,D)=>{i.includes(O.location)?L.push(g.jsx(bj,{model:O,modelsToAdd:s,setModelsToAdd:l},D)):T.push(g.jsx(bj,{model:O,modelsToAdd:s,setModelsToAdd:l},D))}),g.jsxs(g.Fragment,{children:[T,o&&L]})};return g.jsxs(g.Fragment,{children:[n?g.jsxs(Ee,{flexDirection:"column",padding:"1rem",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",rowGap:"0.5rem",position:"relative",children:[g.jsx("p",{style:{fontWeight:"bold",fontSize:"0.8rem",backgroundColor:"var(--background-color-secondary)",padding:"0.2rem 1rem",width:"max-content",borderRadius:"0.2rem"},children:t("modelManager.checkpointFolder")}),g.jsx("p",{style:{fontWeight:"bold",fontSize:"0.8rem",maxWidth:"80%"},children:n}),g.jsx(Xe,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:g.jsx(h4,{}),position:"absolute",right:16,fontSize:18,disabled:a,onClick:()=>e(PI(n))}),g.jsx(Xe,{"aria-label":t("modelManager.clearCheckpointFolder"),icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),position:"absolute",right:5,onClick:y})]}):g.jsx(E2,{initialValues:{checkpointFolder:""},onSubmit:T=>{b(T)},children:({handleSubmit:T})=>g.jsx("form",{onSubmit:T,children:g.jsxs(l2,{columnGap:"0.5rem",children:[g.jsx(sn,{isRequired:!0,width:"max-content",children:g.jsx(ur,{as:qn,id:"checkpointFolder",name:"checkpointFolder",type:"text",width:"lg",size:"md",label:t("modelManager.checkpointFolder")})}),g.jsx(Xe,{icon:g.jsx(l7e,{}),"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),type:"submit",disabled:a})]})})}),r&&g.jsxs(Ee,{flexDirection:"column",rowGap:"1rem",children:[g.jsxs(Ee,{justifyContent:"space-between",alignItems:"center",children:[g.jsxs("p",{children:[t("modelManager.modelsFound"),": ",r.length]}),g.jsxs("p",{children:[t("modelManager.selected"),": ",s.length]})]}),g.jsxs(Ee,{columnGap:"0.5rem",justifyContent:"space-between",children:[g.jsxs(Ee,{columnGap:"0.5rem",children:[g.jsx(On,{isDisabled:s.length===r.length,onClick:w,children:t("modelManager.selectAll")}),g.jsx(On,{isDisabled:s.length===0,onClick:E,children:t("modelManager.deselectAll")}),g.jsx(Gn,{label:t("modelManager.showExisting"),isChecked:o,onChange:()=>e(W4e(!o))})]}),g.jsx(On,{isDisabled:s.length===0,onClick:_,backgroundColor:s.length>0?"var(--accent-color) !important":"",children:t("modelManager.addSelected")})]}),g.jsxs(Ee,{gap:4,backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",flexDirection:"column",children:[g.jsxs(Ee,{gap:4,children:[g.jsx(Rt,{fontWeight:"bold",color:"var(--text-color-secondary)",children:"Pick Model Type:"}),g.jsx(Oy,{value:u,onChange:T=>d(T),defaultValue:"v1",name:"model_type",children:g.jsxs(Ee,{gap:4,children:[g.jsx(So,{value:"v1",children:t("modelManager.v1")}),g.jsx(So,{value:"v2_base",children:t("modelManager.v2_base")}),g.jsx(So,{value:"v2_768",children:t("modelManager.v2_768")}),g.jsx(So,{value:"inpainting",children:t("modelManager.inpainting")}),g.jsx(So,{value:"custom",children:t("modelManager.customConfig")})]})})]}),u==="custom"&&g.jsxs(Ee,{flexDirection:"column",rowGap:2,children:[g.jsx(Rt,{fontWeight:"bold",fontSize:"sm",color:"var(--text-color-secondary)",children:t("modelManager.pathToCustomConfig")}),g.jsx(qn,{value:h,onChange:T=>{T.target.value!==""&&m(T.target.value)},width:"42.5rem"})]})]}),g.jsxs(Ee,{rowGap:"1rem",flexDirection:"column",maxHeight:"18rem",overflowY:"scroll",paddingRight:"1rem",paddingLeft:"0.2rem",borderRadius:"0.2rem",children:[r.length>0?s.length===0&&g.jsx(Rt,{fontWeight:"bold",fontSize:14,padding:"0.5rem",borderRadius:"0.2rem",margin:"0 0.5rem 0 1rem",textAlign:"center",backgroundColor:"var(--notice-color)",boxShadow:"0 0 200px 6px var(--notice-color)",marginTop:"1rem",width:"max-content",children:t("modelManager.selectAndAdd")}):g.jsx(Rt,{fontWeight:"bold",fontSize:14,padding:"0.5rem",borderRadius:"0.2rem",textAlign:"center",backgroundColor:"var(--status-bad-color)",children:t("modelManager.noModelsFound")}),k()]})]})]})}const xj=64,Sj=2048;function Xje(){const e=Te(),{t}=Ie(),n=se(u=>u.system.isProcessing);function r(u){return/\s/.test(u)}function i(u){let d;return r(u)&&(d=t("modelManager.cannotUseSpaces")),d}const o={name:"",description:"",config:"configs/stable-diffusion/v1-inference.yaml",weights:"",vae:"",width:512,height:512,format:"ckpt",default:!1},a=u=>{e(v2(u)),e(Bh(null))},[s,l]=Ye.useState(!1);return g.jsxs(g.Fragment,{children:[g.jsx(Xe,{"aria-label":t("common.back"),tooltip:t("common.back"),onClick:()=>e(Bh(null)),width:"max-content",position:"absolute",zIndex:1,size:"sm",right:12,top:3,icon:g.jsx(GV,{})}),g.jsx(Yje,{}),g.jsx(Gn,{label:t("modelManager.addManually"),isChecked:s,onChange:()=>l(!s)}),s&&g.jsx(E2,{initialValues:o,onSubmit:a,children:({handleSubmit:u,errors:d,touched:h})=>g.jsx("form",{onSubmit:u,children:g.jsxs(hn,{rowGap:"0.5rem",children:[g.jsx(Rt,{fontSize:20,fontWeight:"bold",alignSelf:"start",children:t("modelManager.manual")}),g.jsxs(sn,{isInvalid:!!d.name&&h.name,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"name",fontSize:"sm",children:t("modelManager.name")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"name",name:"name",type:"text",validate:i,width:"2xl"}),d.name&&h.name?g.jsx(lr,{children:d.name}):g.jsx(sr,{margin:0,children:t("modelManager.nameValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.description&&h.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:t("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"2xl"}),d.description&&h.description?g.jsx(lr,{children:d.description}):g.jsx(sr,{margin:0,children:t("modelManager.descriptionValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.config&&h.config,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:t("modelManager.config")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"config",name:"config",type:"text",width:"2xl"}),d.config&&h.config?g.jsx(lr,{children:d.config}):g.jsx(sr,{margin:0,children:t("modelManager.configValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.weights&&h.weights,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:t("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"weights",name:"weights",type:"text",width:"2xl"}),d.weights&&h.weights?g.jsx(lr,{children:d.weights}):g.jsx(sr,{margin:0,children:t("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.vae&&h.vae,children:[g.jsx(Sn,{htmlFor:"vae",fontSize:"sm",children:t("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae",name:"vae",type:"text",width:"2xl"}),d.vae&&h.vae?g.jsx(lr,{children:d.vae}):g.jsx(sr,{margin:0,children:t("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(l2,{width:"100%",children:[g.jsxs(sn,{isInvalid:!!d.width&&h.width,children:[g.jsx(Sn,{htmlFor:"width",fontSize:"sm",children:t("modelManager.width")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"width",name:"width",children:({field:m,form:y})=>g.jsx(lc,{id:"width",name:"width",min:xj,max:Sj,step:64,width:"90%",value:y.values.width,onChange:b=>y.setFieldValue(m.name,Number(b))})}),d.width&&h.width?g.jsx(lr,{children:d.width}):g.jsx(sr,{margin:0,children:t("modelManager.widthValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.height&&h.height,children:[g.jsx(Sn,{htmlFor:"height",fontSize:"sm",children:t("modelManager.height")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"height",name:"height",children:({field:m,form:y})=>g.jsx(lc,{id:"height",name:"height",min:xj,max:Sj,width:"90%",step:64,value:y.values.height,onChange:b=>y.setFieldValue(m.name,Number(b))})}),d.height&&h.height?g.jsx(lr,{children:d.height}):g.jsx(sr,{margin:0,children:t("modelManager.heightValidationMsg")})]})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:t("modelManager.addModel")})]})})})]})}function Px({children:e}){return g.jsx(Ee,{flexDirection:"column",backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.5rem",rowGap:"1rem",width:"100%",children:e})}function Zje(){const e=Te(),{t}=Ie(),n=se(s=>s.system.isProcessing);function r(s){return/\s/.test(s)}function i(s){let l;return r(s)&&(l=t("modelManager.cannotUseSpaces")),l}const o={name:"",description:"",repo_id:"",path:"",format:"diffusers",default:!1,vae:{repo_id:"",path:""}},a=s=>{const l=s;s.path===""&&delete l.path,s.repo_id===""&&delete l.repo_id,s.vae.path===""&&delete l.vae.path,s.vae.repo_id===""&&delete l.vae.repo_id,e(v2(l)),e(Bh(null))};return g.jsxs(Ee,{children:[g.jsx(Xe,{"aria-label":t("common.back"),tooltip:t("common.back"),onClick:()=>e(Bh(null)),width:"max-content",position:"absolute",zIndex:1,size:"sm",right:12,top:3,icon:g.jsx(GV,{})}),g.jsx(E2,{initialValues:o,onSubmit:a,children:({handleSubmit:s,errors:l,touched:u})=>{var d,h,m,y,b,w,E,_,k,T;return g.jsx("form",{onSubmit:s,children:g.jsxs(hn,{rowGap:"0.5rem",children:[g.jsx(Px,{children:g.jsxs(sn,{isInvalid:!!l.name&&u.name,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"name",fontSize:"sm",children:t("modelManager.name")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"name",name:"name",type:"text",validate:i,width:"2xl",isRequired:!0}),l.name&&u.name?g.jsx(lr,{children:l.name}):g.jsx(sr,{margin:0,children:t("modelManager.nameValidationMsg")})]})]})}),g.jsx(Px,{children:g.jsxs(sn,{isInvalid:!!l.description&&u.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:t("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"2xl",isRequired:!0}),l.description&&u.description?g.jsx(lr,{children:l.description}):g.jsx(sr,{margin:0,children:t("modelManager.descriptionValidationMsg")})]})]})}),g.jsxs(Px,{children:[g.jsx(Rt,{fontWeight:"bold",fontSize:"sm",children:t("modelManager.formMessageDiffusersModelLocation")}),g.jsx(Rt,{fontSize:"sm",fontStyle:"italic",color:"var(--text-color-secondary)",children:t("modelManager.formMessageDiffusersModelLocationDesc")}),g.jsxs(sn,{isInvalid:!!l.path&&u.path,children:[g.jsx(Sn,{htmlFor:"path",fontSize:"sm",children:t("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"path",name:"path",type:"text",width:"2xl"}),l.path&&u.path?g.jsx(lr,{children:l.path}):g.jsx(sr,{margin:0,children:t("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!l.repo_id&&u.repo_id,children:[g.jsx(Sn,{htmlFor:"repo_id",fontSize:"sm",children:t("modelManager.repo_id")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"repo_id",name:"repo_id",type:"text",width:"2xl"}),l.repo_id&&u.repo_id?g.jsx(lr,{children:l.repo_id}):g.jsx(sr,{margin:0,children:t("modelManager.repoIDValidationMsg")})]})]})]}),g.jsxs(Px,{children:[g.jsx(Rt,{fontWeight:"bold",children:t("modelManager.formMessageDiffusersVAELocation")}),g.jsx(Rt,{fontSize:"sm",fontStyle:"italic",color:"var(--text-color-secondary)",children:t("modelManager.formMessageDiffusersVAELocationDesc")}),g.jsxs(sn,{isInvalid:!!((d=l.vae)!=null&&d.path)&&((h=u.vae)==null?void 0:h.path),children:[g.jsx(Sn,{htmlFor:"vae.path",fontSize:"sm",children:t("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.path",name:"vae.path",type:"text",width:"2xl"}),(m=l.vae)!=null&&m.path&&((y=u.vae)!=null&&y.path)?g.jsx(lr,{children:(b=l.vae)==null?void 0:b.path}):g.jsx(sr,{margin:0,children:t("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!((w=l.vae)!=null&&w.repo_id)&&((E=u.vae)==null?void 0:E.repo_id),children:[g.jsx(Sn,{htmlFor:"vae.repo_id",fontSize:"sm",children:t("modelManager.vaeRepoID")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.repo_id",name:"vae.repo_id",type:"text",width:"2xl"}),(_=l.vae)!=null&&_.repo_id&&((k=u.vae)!=null&&k.repo_id)?g.jsx(lr,{children:(T=l.vae)==null?void 0:T.repo_id}):g.jsx(sr,{margin:0,children:t("modelManager.vaeRepoIDValidationMsg")})]})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:t("modelManager.addModel")})]})})}})]})}function wj({text:e,onClick:t}){return g.jsx(Ee,{position:"relative",width:"50%",height:"200px",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",justifyContent:"center",alignItems:"center",_hover:{cursor:"pointer",backgroundColor:"var(--accent-color)"},onClick:t,children:g.jsx(Rt,{fontWeight:"bold",children:e})})}function Qje(){const{isOpen:e,onOpen:t,onClose:n}=Kd(),r=se(s=>s.ui.addNewModelUIOption),i=Te(),{t:o}=Ie(),a=()=>{n(),i(Bh(null))};return g.jsxs(g.Fragment,{children:[g.jsx(On,{"aria-label":o("modelManager.addNewModel"),tooltip:o("modelManager.addNewModel"),onClick:t,className:"modal-close-btn",size:"sm",children:g.jsxs(Ee,{columnGap:"0.5rem",alignItems:"center",children:[g.jsx(y2,{}),o("modelManager.addNew")]})}),g.jsxs(Yd,{isOpen:e,onClose:a,size:"3xl",closeOnOverlayClick:!1,children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal add-model-modal",fontFamily:"Inter",margin:"auto",children:[g.jsx(op,{children:o("modelManager.addNewModel")}),g.jsx(m0,{marginTop:"0.3rem"}),g.jsxs(Zm,{className:"add-model-modal-body",children:[r==null&&g.jsxs(Ee,{columnGap:"1rem",children:[g.jsx(wj,{text:o("modelManager.addCheckpointModel"),onClick:()=>i(Bh("ckpt"))}),g.jsx(wj,{text:o("modelManager.addDiffuserModel"),onClick:()=>i(Bh("diffusers"))})]}),r=="ckpt"&&g.jsx(Xje,{}),r=="diffusers"&&g.jsx(Zje,{})]})]})]})]})}function Tx(e){const{isProcessing:t,isConnected:n}=se(y=>y.system),r=se(y=>y.system.openModel),{t:i}=Ie(),o=Te(),{name:a,status:s,description:l}=e,u=()=>{o(BV(a))},d=()=>{o(VR(a))},h=()=>{o(v_e(a)),o(VR(null))},m=()=>{switch(s){case"active":return"var(--status-good-color)";case"cached":return"var(--status-working-color)";case"not loaded":return"var(--text-color-secondary)"}};return g.jsxs(Ee,{alignItems:"center",padding:"0.5rem 0.5rem",borderRadius:"0.2rem",backgroundColor:a===r?"var(--accent-color)":"",_hover:{backgroundColor:a===r?"var(--accent-color)":"var(--background-color)"},children:[g.jsx(qi,{onClick:d,cursor:"pointer",children:g.jsx(si,{label:l,hasArrow:!0,placement:"bottom",children:g.jsx(Rt,{fontWeight:"bold",children:a})})}),g.jsx(iH,{onClick:d,cursor:"pointer"}),g.jsxs(Ee,{gap:2,alignItems:"center",children:[g.jsx(Rt,{color:m(),children:s}),g.jsx(ss,{size:"sm",onClick:u,isDisabled:s==="active"||t||!n,className:"modal-close-btn",children:i("modelManager.load")}),g.jsx(Xe,{icon:g.jsx(Kke,{}),size:"sm",onClick:d,"aria-label":"Modify Config",isDisabled:s==="active"||t||!n,className:" modal-close-btn"}),g.jsx(_4,{title:i("modelManager.deleteModel"),acceptCallback:h,acceptButtonText:i("modelManager.delete"),triggerComponent:g.jsx(Xe,{icon:g.jsx(Yke,{}),size:"sm","aria-label":i("modelManager.deleteConfig"),isDisabled:s==="active"||t||!n,className:" modal-close-btn",style:{backgroundColor:"var(--btn-delete-image)"}}),children:g.jsxs(Ee,{rowGap:"1rem",flexDirection:"column",children:[g.jsx("p",{style:{fontWeight:"bold"},children:i("modelManager.deleteMsg1")}),g.jsx("p",{style:{color:"var(--text-color-secondary"},children:i("modelManager.deleteMsg2")})]})})]})]})}function Jje(){const e=Te(),{isOpen:t,onOpen:n,onClose:r}=Kd(),i=se(tke),{t:o}=Ie(),[a,s]=S.useState(Object.keys(i)[0]),[l,u]=S.useState(Object.keys(i)[1]),[d,h]=S.useState("none"),[m,y]=S.useState(""),[b,w]=S.useState(.5),[E,_]=S.useState("weighted_sum"),[k,T]=S.useState("root"),[L,O]=S.useState(""),[D,I]=S.useState(!1),N=Object.keys(i).filter(z=>z!==l&&z!==d),W=Object.keys(i).filter(z=>z!==a&&z!==d),B=[{key:o("modelManager.none"),value:"none"},...Object.keys(i).filter(z=>z!==a&&z!==l).map(z=>({key:z,value:z}))],K=se(z=>z.system.isProcessing),ne=()=>{let z=[a,l,d];z=z.filter(V=>V!=="none");const $={models_to_merge:z,merged_model_name:m!==""?m:z.join("-"),alpha:b,interp:E,model_merge_save_path:k==="root"?null:L,force:D};e(b_e($))};return g.jsxs(g.Fragment,{children:[g.jsx(On,{onClick:n,className:"modal-close-btn",size:"sm",children:g.jsx(Ee,{columnGap:"0.5rem",alignItems:"center",children:o("modelManager.mergeModels")})}),g.jsxs(Yd,{isOpen:t,onClose:r,size:"4xl",closeOnOverlayClick:!1,children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal",fontFamily:"Inter",margin:"auto",children:[g.jsx(op,{children:o("modelManager.mergeModels")}),g.jsx(m0,{}),g.jsxs(Ee,{flexDirection:"column",padding:"1rem",rowGap:4,children:[g.jsxs(Ee,{flexDirection:"column",marginBottom:"1rem",padding:"1rem",borderRadius:"0.3rem",backgroundColor:"var(--background-color)",rowGap:1,children:[g.jsx(Rt,{children:o("modelManager.modelMergeHeaderHelp1")}),g.jsx(Rt,{fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.modelMergeHeaderHelp2")})]}),g.jsxs(Ee,{columnGap:4,children:[g.jsx(Jo,{label:o("modelManager.modelOne"),validValues:N,onChange:z=>s(z.target.value)}),g.jsx(Jo,{label:o("modelManager.modelTwo"),validValues:W,onChange:z=>u(z.target.value)}),g.jsx(Jo,{label:o("modelManager.modelThree"),validValues:B,onChange:z=>{z.target.value!=="none"?(h(z.target.value),_("add_difference")):(h("none"),_("weighted_sum"))}})]}),g.jsx(qn,{label:o("modelManager.mergedModelName"),value:m,onChange:z=>y(z.target.value)}),g.jsxs(Ee,{flexDir:"column",backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",rowGap:2,children:[g.jsx(Dn,{label:o("modelManager.alpha"),min:.01,max:.99,step:.01,value:b,onChange:z=>w(z),withInput:!0,withReset:!0,handleReset:()=>w(.5),withSliderMarks:!0,sliderMarkRightOffset:-7}),g.jsx(Rt,{fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.modelMergeAlphaHelp")})]}),g.jsxs(Ee,{columnGap:4,backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",children:[g.jsx(Rt,{fontWeight:"bold",fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.interpolationType")}),g.jsx(Oy,{value:E,onChange:z=>_(z),children:g.jsx(Ee,{columnGap:4,children:d==="none"?g.jsxs(g.Fragment,{children:[g.jsx(So,{value:"weighted_sum",children:o("modelManager.weightedSum")}),g.jsx(So,{value:"sigmoid",children:o("modelManager.sigmoid")}),g.jsx(So,{value:"inv_sigmoid",children:o("modelManager.inverseSigmoid")})]}):g.jsx(So,{value:"add_difference",children:g.jsx(si,{label:o("modelManager.modelMergeInterpAddDifferenceHelp"),children:o("modelManager.addDifference")})})})})]}),g.jsxs(Ee,{gap:4,flexDirection:"column",backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",children:[g.jsxs(Ee,{columnGap:4,children:[g.jsx(Rt,{fontWeight:"bold",fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.mergedModelSaveLocation")}),g.jsx(Oy,{value:k,onChange:z=>T(z),children:g.jsxs(Ee,{columnGap:4,children:[g.jsx(So,{value:"root",children:o("modelManager.invokeAIFolder")}),g.jsx(So,{value:"custom",children:o("modelManager.custom")})]})})]}),k==="custom"&&g.jsx(qn,{label:o("modelManager.mergedModelCustomSaveLocation"),value:L,onChange:z=>O(z.target.value)})]}),g.jsx(Gn,{label:o("modelManager.ignoreMismatch"),isChecked:D,onChange:z=>I(z.target.checked),fontWeight:"bold"}),g.jsx(On,{onClick:ne,isLoading:K,isDisabled:k==="custom"&&L==="",className:"modal modal-close-btn",children:o("modelManager.merge")})]})]})]})]})}const eNe=lt(pr,e=>we.map(e.model_list,(n,r)=>({name:r,...n})),{memoizeOptions:{resultEqualityCheck:we.isEqual}});function p6({label:e,isActive:t,onClick:n}){return g.jsx(On,{onClick:n,isActive:t,_active:{backgroundColor:"var(--accent-color)",_hover:{backgroundColor:"var(--accent-color)"}},size:"sm",children:e})}const tNe=()=>{const e=se(eNe),[t,n]=Ye.useState(!1);Ye.useEffect(()=>{const m=setTimeout(()=>{n(!0)},200);return()=>clearTimeout(m)},[]);const[r,i]=S.useState(""),[o,a]=S.useState("all"),[s,l]=S.useTransition(),{t:u}=Ie(),d=m=>{l(()=>{i(m.target.value)})},h=S.useMemo(()=>{const m=[],y=[],b=[],w=[];return e.forEach((E,_)=>{E.name.toLowerCase().includes(r.toLowerCase())&&(b.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_)),E.format===o&&w.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_))),E.format!=="diffusers"?m.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_)):y.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_))}),r!==""?o==="all"?g.jsx(qi,{marginTop:"1rem",children:b}):g.jsx(qi,{marginTop:"1rem",children:w}):g.jsxs(Ee,{flexDirection:"column",rowGap:"1.5rem",children:[o==="all"&&g.jsxs(g.Fragment,{children:[g.jsxs(qi,{children:[g.jsx(Rt,{fontWeight:"bold",backgroundColor:"var(--background-color)",padding:"0.5rem 1rem",borderRadius:"0.5rem",margin:"1rem 0",width:"max-content",fontSize:"14",children:u("modelManager.checkpointModels")}),m]}),g.jsxs(qi,{children:[g.jsx(Rt,{fontWeight:"bold",backgroundColor:"var(--background-color)",padding:"0.5rem 1rem",borderRadius:"0.5rem",marginBottom:"0.5rem",width:"max-content",fontSize:"14",children:u("modelManager.diffusersModels")}),y]})]}),o==="ckpt"&&g.jsx(Ee,{flexDirection:"column",marginTop:"1rem",children:m}),o==="diffusers"&&g.jsx(Ee,{flexDirection:"column",marginTop:"1rem",children:y})]})},[e,r,u,o]);return g.jsxs(Ee,{flexDirection:"column",rowGap:"2rem",width:"50%",minWidth:"50%",children:[g.jsxs(Ee,{justifyContent:"space-between",children:[g.jsx(Rt,{fontSize:"1.4rem",fontWeight:"bold",children:u("modelManager.availableModels")}),g.jsxs(Ee,{gap:2,children:[g.jsx(Qje,{}),g.jsx(Jje,{})]})]}),g.jsx(qn,{onChange:d,label:u("modelManager.search")}),g.jsxs(Ee,{flexDirection:"column",gap:1,maxHeight:window.innerHeight-360,overflow:"scroll",paddingRight:"1rem",children:[g.jsxs(Ee,{columnGap:"0.5rem",children:[g.jsx(p6,{label:u("modelManager.allModels"),onClick:()=>a("all"),isActive:o==="all"}),g.jsx(p6,{label:u("modelManager.checkpointModels"),onClick:()=>a("ckpt"),isActive:o==="ckpt"}),g.jsx(p6,{label:u("modelManager.diffusersModels"),onClick:()=>a("diffusers"),isActive:o==="diffusers"})]}),t?h:g.jsx(Ee,{width:"100%",minHeight:"30rem",justifyContent:"center",alignItems:"center",children:g.jsx(p0,{})})]})]})};function nNe({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Kd(),i=se(s=>s.system.model_list),o=se(s=>s.system.openModel),{t:a}=Ie();return g.jsxs(g.Fragment,{children:[S.cloneElement(e,{onClick:n}),g.jsxs(Yd,{isOpen:t,onClose:r,size:"6xl",children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal",fontFamily:"Inter",children:[g.jsx(m0,{className:"modal-close-btn"}),g.jsx(op,{fontWeight:"bold",children:a("modelManager.modelManager")}),g.jsxs(Ee,{padding:"0 1.5rem 1.5rem 1.5rem",width:"100%",columnGap:"2rem",children:[g.jsx(tNe,{}),o&&i[o].format==="diffusers"?g.jsx(qje,{}):g.jsx(Vje,{})]})]})]})]})}const rNe=lt([pr],e=>{const{isProcessing:t,model_list:n}=e;return{models:we.map(n,(i,o)=>o),isProcessing:t}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),iNe=()=>{const e=Te(),{models:t,isProcessing:n}=se(rNe),r=se(qV),i=o=>{e(BV(o.target.value))};return g.jsx(Ee,{style:{paddingLeft:"0.3rem"},children:g.jsx(Jo,{style:{fontSize:"0.8rem"},tooltip:r.description,isDisabled:n,value:r.name,validValues:t,onChange:i})})},oNe=lt([pr,fp],(e,t)=>{const{shouldDisplayInProgressType:n,shouldConfirmOnDelete:r,shouldDisplayGuides:i,model_list:o,saveIntermediatesInterval:a,enableImageDebugging:s}=e,{shouldUseCanvasBetaLayout:l,shouldUseSliders:u}=t;return{shouldDisplayInProgressType:n,shouldConfirmOnDelete:r,shouldDisplayGuides:i,models:we.map(o,(d,h)=>h),saveIntermediatesInterval:a,enableImageDebugging:s,shouldUseCanvasBetaLayout:l,shouldUseSliders:u}},{memoizeOptions:{resultEqualityCheck:we.isEqual}}),aNe=({children:e})=>{const t=Te(),{t:n}=Ie(),r=se(T=>T.generation.steps),{isOpen:i,onOpen:o,onClose:a}=Kd(),{isOpen:s,onOpen:l,onClose:u}=Kd(),{shouldDisplayInProgressType:d,shouldConfirmOnDelete:h,shouldDisplayGuides:m,saveIntermediatesInterval:y,enableImageDebugging:b,shouldUseCanvasBetaLayout:w,shouldUseSliders:E}=se(oNe),_=()=>{WV.purge().then(()=>{a(),l()})},k=T=>{T>r&&(T=r),T<1&&(T=1),t(T4e(T))};return g.jsxs(g.Fragment,{children:[S.cloneElement(e,{onClick:o}),g.jsxs(Yd,{isOpen:i,onClose:a,size:"lg",children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal settings-modal",children:[g.jsx(op,{className:"settings-modal-header",children:n("common.settingsLabel")}),g.jsx(m0,{className:"modal-close-btn"}),g.jsxs(Zm,{className:"settings-modal-content",children:[g.jsxs("div",{className:"settings-modal-items",children:[g.jsxs("div",{className:"settings-modal-item",style:{gridAutoFlow:"row",rowGap:"0.5rem"},children:[g.jsx(Jo,{label:n("settings.displayInProgress"),validValues:F5e,value:d,onChange:T=>t(b4e(T.target.value))}),d==="full-res"&&g.jsx(lc,{label:n("settings.saveSteps"),min:1,max:r,step:1,onChange:k,value:y,width:"auto",textAlign:"center"})]}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.confirmOnDelete"),isChecked:h,onChange:T=>t(jU(T.target.checked))}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.displayHelpIcons"),isChecked:m,onChange:T=>t(C4e(T.target.checked))}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.useCanvasBeta"),isChecked:w,onChange:T=>t(H4e(T.target.checked))}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.useSlidersForAll"),isChecked:E,onChange:T=>t(U4e(T.target.checked))})]}),g.jsxs("div",{className:"settings-modal-items",children:[g.jsx("h2",{style:{fontWeight:"bold"},children:"Developer"}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.enableImageDebugging"),isChecked:b,onChange:T=>t(M4e(T.target.checked))})]}),g.jsxs("div",{className:"settings-modal-reset",children:[g.jsx(jh,{size:"md",children:n("settings.resetWebUI")}),g.jsx(ss,{colorScheme:"red",onClick:_,children:n("settings.resetWebUI")}),g.jsx(Rt,{children:n("settings.resetWebUIDesc1")}),g.jsx(Rt,{children:n("settings.resetWebUIDesc2")})]})]}),g.jsx(Hw,{children:g.jsx(ss,{onClick:a,className:"modal-close-btn",children:n("common.close")})})]})]}),g.jsxs(Yd,{closeOnOverlayClick:!1,isOpen:s,onClose:u,isCentered:!0,children:[g.jsx(oc,{bg:"blackAlpha.300",backdropFilter:"blur(40px)"}),g.jsx(Xd,{children:g.jsx(Zm,{pb:6,pt:6,children:g.jsx(Ee,{justifyContent:"center",children:g.jsx(Rt,{fontSize:"lg",children:g.jsx(Rt,{children:n("settings.resetComplete")})})})})})]})]})},sNe=lt(pr,e=>({isConnected:e.isConnected,isProcessing:e.isProcessing,currentIteration:e.currentIteration,totalIterations:e.totalIterations,currentStatus:e.currentStatus,hasError:e.hasError,wasErrorSeen:e.wasErrorSeen}),{memoizeOptions:{resultEqualityCheck:we.isEqual}}),lNe=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,currentStatus:i,hasError:o,wasErrorSeen:a}=se(sNe),s=Te(),{t:l}=Ie();let u;e&&!o?u="status-good":u="status-bad";let d=i;[l("common.statusGenerating"),l("common.statusPreparing"),l("common.statusSavingImage"),l("common.statusRestoringFaces"),l("common.statusUpscaling")].includes(d)&&(u="status-working"),d&&t&&r>1&&(d=`${l(d)} (${n}/${r})`);const m=o&&!a?"Click to clear, check logs for details":void 0,y=o&&!a?"pointer":"initial",b=()=>{(o||!a)&&s(NU())};return g.jsx(si,{label:m,children:g.jsx(Rt,{cursor:y,onClick:b,className:`status ${u}`,children:l(d)})})};function uNe(){const{t:e}=Ie(),{setColorMode:t,colorMode:n}=Qy(),r=Te(),i=se(l=>l.ui.currentTheme),o={dark:e("common.darkTheme"),light:e("common.lightTheme"),green:e("common.greenTheme")};S.useEffect(()=>{n!==i&&t(i)},[t,n,i]);const a=l=>{r(N4e(l))},s=()=>{const l=[];return Object.keys(o).forEach(u=>{l.push(g.jsx(On,{style:{width:"6rem"},leftIcon:i===u?g.jsx(NE,{}):void 0,size:"sm",onClick:()=>a(u),children:o[u]},u))}),l};return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Xe,{"aria-label":e("common.themeLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:g.jsx(Ike,{})}),children:g.jsx(hn,{align:"stretch",children:s()})})}function cNe(){const{t:e,i18n:t}=Ie(),n={ar:e("common.langArabic",{lng:"ar"}),nl:e("common.langDutch",{lng:"nl"}),en:e("common.langEnglish",{lng:"en"}),fr:e("common.langFrench",{lng:"fr"}),de:e("common.langGerman",{lng:"de"}),it:e("common.langItalian",{lng:"it"}),ja:e("common.langJapanese",{lng:"ja"}),pl:e("common.langPolish",{lng:"pl"}),pt_Br:e("common.langBrPortuguese",{lng:"pt_Br"}),ru:e("common.langRussian",{lng:"ru"}),zh_Cn:e("common.langSimplifiedChinese",{lng:"zh_Cn"}),es:e("common.langSpanish",{lng:"es"}),uk:e("common.langUkranian",{lng:"ua"})},r=()=>{const i=[];return Object.keys(n).forEach(o=>{i.push(g.jsx(On,{"data-selected":localStorage.getItem("i18nextLng")===o,onClick:()=>t.changeLanguage(o),className:"modal-close-btn lang-select-btn","aria-label":n[o],size:"sm",minWidth:"200px",children:n[o]},o))}),i};return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Xe,{"aria-label":e("common.languagePickerLabel"),tooltip:e("common.languagePickerLabel"),icon:g.jsx(Ake,{}),size:"sm",variant:"link","data-variant":"link",fontSize:26}),children:g.jsx(hn,{children:r()})})}const dNe=()=>{const{t:e}=Ie(),t=se(n=>n.system.app_version);return g.jsxs("div",{className:"site-header",children:[g.jsxs("div",{className:"site-header-left-side",children:[g.jsx("img",{src:vq,alt:"invoke-ai-logo"}),g.jsxs(Ee,{alignItems:"center",columnGap:"0.6rem",children:[g.jsxs(Rt,{fontSize:"1.4rem",children:["invoke ",g.jsx("strong",{children:"ai"})]}),g.jsx(Rt,{fontWeight:"bold",color:"var(--text-color-secondary)",marginTop:"0.2rem",children:t})]})]}),g.jsxs("div",{className:"site-header-right-side",children:[g.jsx(lNe,{}),g.jsx(iNe,{}),g.jsx(nNe,{children:g.jsx(Xe,{"aria-label":e("modelManager.modelManager"),tooltip:e("modelManager.modelManager"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:g.jsx(Cke,{})})}),g.jsx(XAe,{children:g.jsx(Xe,{"aria-label":e("common.hotkeysLabel"),tooltip:e("common.hotkeysLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:g.jsx(Lke,{})})}),g.jsx(uNe,{}),g.jsx(cNe,{}),g.jsx(Xe,{"aria-label":e("common.reportBugLabel"),tooltip:e("common.reportBugLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:g.jsx(Nh,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI/issues",children:g.jsx(wke,{})})}),g.jsx(Xe,{"aria-label":e("common.githubLabel"),tooltip:e("common.githubLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:g.jsx(Nh,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI",children:g.jsx(vke,{})})}),g.jsx(Xe,{"aria-label":e("common.discordLabel"),tooltip:e("common.discordLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:g.jsx(Nh,{isExternal:!0,href:"https://discord.gg/ZmtBAhwWhy",children:g.jsx(mke,{})})}),g.jsx(aNe,{children:g.jsx(Xe,{"aria-label":e("common.settingsLabel"),tooltip:e("common.settingsLabel"),variant:"link","data-variant":"link",fontSize:22,size:"sm",icon:g.jsx(c7e,{})})})]})]})};function fNe(){async function e(n=""){return await fetch(n,{method:"GET",cache:"no-cache"})}const t=()=>{const n=document.location;e(n+"/flaskwebgui-keep-server-alive").then(i=>i)};(!{}.NODE_ENV||{}.NODE_ENV==="production")&&document.addEventListener("DOMContentLoaded",()=>{t(),setInterval(t,3e3)})}const hNe=()=>{const e=Te(),t=se(eke),n=a2();S.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(A4e())},[e,n,t])},pNe=()=>{const e=Te(),{shouldShowGalleryButton:t,shouldPinGallery:n}=se(rP),r=()=>{e(Am(!0)),n&&e(Li(!0))};return t?g.jsx(Xe,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":"Show Gallery",styleClass:"floating-show-hide-button right show-hide-button-gallery",onClick:r,children:g.jsx(mG,{})}):null};fNe();const gNe=()=>(hNe(),g.jsxs("div",{className:"App",children:[g.jsxs(WAe,{children:[g.jsx(KAe,{}),g.jsxs("div",{className:"app-content",children:[g.jsx(dNe,{}),g.jsx(KLe,{})]}),g.jsx("div",{className:"app-console",children:g.jsx(GAe,{})})]}),g.jsx(ZEe,{}),g.jsx(pNe,{})]})),Cj=()=>g.jsx(Ee,{width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",children:g.jsx(p0,{thickness:"2px",speed:"1s",emptyColor:"gray.200",color:"gray.400",size:"xl"})});const mNe=zj({key:"invokeai-style-cache",prepend:!0});ik.createRoot(document.getElementById("root")).render(g.jsx(Ye.StrictMode,{children:g.jsx(vxe,{store:HV,children:g.jsx(mW,{loading:g.jsx(Cj,{}),persistor:WV,children:g.jsx(fee,{value:mNe,children:g.jsx(jge,{children:g.jsx(Ye.Suspense,{fallback:g.jsx(Cj,{}),children:g.jsx(gNe,{})})})})})})})); diff --git a/invokeai/frontend/dist/assets/index-c09cf9ca.js b/invokeai/frontend/dist/assets/index-c09cf9ca.js deleted file mode 100644 index 1b9c4b3667d..00000000000 --- a/invokeai/frontend/dist/assets/index-c09cf9ca.js +++ /dev/null @@ -1,624 +0,0 @@ -function Cj(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 a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).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 wo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function S7(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var g={},QQ={get exports(){return g},set exports(e){g=e}},V3={},S={},JQ={get exports(){return S},set exports(e){S=e}},Jt={};/** - * @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 Vy=Symbol.for("react.element"),eJ=Symbol.for("react.portal"),tJ=Symbol.for("react.fragment"),nJ=Symbol.for("react.strict_mode"),rJ=Symbol.for("react.profiler"),iJ=Symbol.for("react.provider"),oJ=Symbol.for("react.context"),aJ=Symbol.for("react.forward_ref"),sJ=Symbol.for("react.suspense"),lJ=Symbol.for("react.memo"),uJ=Symbol.for("react.lazy"),ST=Symbol.iterator;function cJ(e){return e===null||typeof e!="object"?null:(e=ST&&e[ST]||e["@@iterator"],typeof e=="function"?e:null)}var _j={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},kj=Object.assign,Ej={};function a0(e,t,n){this.props=e,this.context=t,this.refs=Ej,this.updater=n||_j}a0.prototype.isReactComponent={};a0.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")};a0.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Pj(){}Pj.prototype=a0.prototype;function w7(e,t,n){this.props=e,this.context=t,this.refs=Ej,this.updater=n||_j}var C7=w7.prototype=new Pj;C7.constructor=w7;kj(C7,a0.prototype);C7.isPureReactComponent=!0;var wT=Array.isArray,Tj=Object.prototype.hasOwnProperty,_7={current:null},Mj={key:!0,ref:!0,__self:!0,__source:!0};function Lj(e,t,n){var r,i={},o=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(o=""+t.key),t)Tj.call(t,r)&&!Mj.hasOwnProperty(r)&&(i[r]=t[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(10?Vi(s0,--ea):0,jm--,ri===10&&(jm=1,q3--),ri}function Ea(){return ri=ea2||ey(ri)>3?"":" "}function RJ(e,t){for(;--t&&Ea()&&!(ri<48||ri>102||ri>57&&ri<65||ri>70&&ri<97););return Gy(e,Ax()+(t<6&&Ul()==32&&Ea()==32))}function m6(e){for(;Ea();)switch(ri){case e:return ea;case 34:case 39:e!==34&&e!==39&&m6(ri);break;case 40:e===41&&m6(e);break;case 92:Ea();break}return ea}function IJ(e,t){for(;Ea()&&e+ri!==47+10;)if(e+ri===42+42&&Ul()===47)break;return"/*"+Gy(t,ea-1)+"*"+G3(e===47?e:Ea())}function DJ(e){for(;!ey(Ul());)Ea();return Gy(e,ea)}function jJ(e){return Nj(Rx("",null,null,null,[""],e=jj(e),0,[0],e))}function Rx(e,t,n,r,i,o,a,s,l){for(var u=0,d=0,p=a,m=0,y=0,b=0,w=1,E=1,_=1,k=0,T="",L=i,O=o,D=r,I=T;E;)switch(b=k,k=Ea()){case 40:if(b!=108&&Vi(I,p-1)==58){g6(I+=kn(Ox(k),"&","&\f"),"&\f")!=-1&&(_=-1);break}case 34:case 39:case 91:I+=Ox(k);break;case 9:case 10:case 13:case 32:I+=OJ(b);break;case 92:I+=RJ(Ax()-1,7);continue;case 47:switch(Ul()){case 42:case 47:gb(NJ(IJ(Ea(),Ax()),t,n),l);break;default:I+="/"}break;case 123*w:s[u++]=Il(I)*_;case 125*w:case 59:case 0:switch(k){case 0:case 125:E=0;case 59+d:y>0&&Il(I)-p&&gb(y>32?kT(I+";",r,n,p-1):kT(kn(I," ","")+";",r,n,p-2),l);break;case 59:I+=";";default:if(gb(D=_T(I,t,n,u,d,i,s,T,L=[],O=[],p),o),k===123)if(d===0)Rx(I,t,D,D,L,o,p,s,O);else switch(m===99&&Vi(I,3)===110?100:m){case 100:case 109:case 115:Rx(e,D,D,r&&gb(_T(e,D,D,0,0,i,s,T,i,L=[],p),O),i,O,p,s,r?L:O);break;default:Rx(I,D,D,D,[""],O,0,s,O)}}u=d=y=0,w=_=1,T=I="",p=a;break;case 58:p=1+Il(I),y=b;default:if(w<1){if(k==123)--w;else if(k==125&&w++==0&&AJ()==125)continue}switch(I+=G3(k),k*w){case 38:_=d>0?1:(I+="\f",-1);break;case 44:s[u++]=(Il(I)-1)*_,_=1;break;case 64:Ul()===45&&(I+=Ox(Ea())),m=Ul(),d=p=Il(T=I+=DJ(Ax())),k++;break;case 45:b===45&&Il(I)==2&&(w=0)}}return o}function _T(e,t,n,r,i,o,a,s,l,u,d){for(var p=i-1,m=i===0?o:[""],y=T7(m),b=0,w=0,E=0;b0?m[_]+" "+k:kn(k,/&\f/g,m[_])))&&(l[E++]=T);return K3(e,t,n,i===0?E7:s,l,u,d)}function NJ(e,t,n){return K3(e,t,n,Oj,G3(LJ()),J1(e,2,-2),0)}function kT(e,t,n,r){return K3(e,t,n,P7,J1(e,0,r),J1(e,r+1,-1),r)}function dm(e,t){for(var n="",r=T7(e),i=0;i6)switch(Vi(e,t+1)){case 109:if(Vi(e,t+4)!==45)break;case 102:return kn(e,/(.+:)(.+)-([^]+)/,"$1"+bn+"$2-$3$1"+yS+(Vi(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~g6(e,"stretch")?Fj(kn(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Vi(e,t+1)!==115)break;case 6444:switch(Vi(e,Il(e)-3-(~g6(e,"!important")&&10))){case 107:return kn(e,":",":"+bn)+e;case 101:return kn(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+bn+(Vi(e,14)===45?"inline-":"")+"box$3$1"+bn+"$2$3$1"+no+"$2box$3")+e}break;case 5936:switch(Vi(e,t+11)){case 114:return bn+e+no+kn(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return bn+e+no+kn(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return bn+e+no+kn(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return bn+e+no+e+e}return e}var GJ=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case P7:t.return=Fj(t.value,t.length);break;case Rj:return dm([Av(t,{value:kn(t.value,"@","@"+bn)})],i);case E7:if(t.length)return MJ(t.props,function(o){switch(TJ(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return dm([Av(t,{props:[kn(o,/:(read-\w+)/,":"+yS+"$1")]})],i);case"::placeholder":return dm([Av(t,{props:[kn(o,/:(plac\w+)/,":"+bn+"input-$1")]}),Av(t,{props:[kn(o,/:(plac\w+)/,":"+yS+"$1")]}),Av(t,{props:[kn(o,/:(plac\w+)/,no+"input-$1")]})],i)}return""})}},qJ=[GJ],Bj=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(w){var E=w.getAttribute("data-emotion");E.indexOf(" ")!==-1&&(document.head.appendChild(w),w.setAttribute("data-s",""))})}var i=t.stylisPlugins||qJ,o={},a,s=[];a=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(w){for(var E=w.getAttribute("data-emotion").split(" "),_=1;_=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 oee={animationIterationCount: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},aee=/[A-Z]|^ms/g,see=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Gj=function(t){return t.charCodeAt(1)===45},TT=function(t){return t!=null&&typeof t!="boolean"},s5=$j(function(e){return Gj(e)?e:e.replace(aee,"-$&").toLowerCase()}),MT=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(see,function(r,i,o){return Dl={name:i,styles:o,next:Dl},i})}return oee[t]!==1&&!Gj(t)&&typeof n=="number"&&n!==0?n+"px":n};function ty(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 Dl={name:n.name,styles:n.styles,next:Dl},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)Dl={name:r.name,styles:r.styles,next:Dl},r=r.next;var i=n.styles+";";return i}return lee(e,t,n)}case"function":{if(e!==void 0){var o=Dl,a=n(e);return Dl=o,ty(e,t,a)}break}}if(t==null)return n;var s=t[n];return s!==void 0?s:n}function lee(e,t,n){var r="";if(Array.isArray(n))for(var i=0;ig.jsx(ow,{styles:Xj}),vee=()=>g.jsx(ow,{styles:` - 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%; - font-feature-settings: 'kern'; - } - - *, - *::before, - *::after { - border-width: 0; - border-style: solid; - box-sizing: border-box; - } - - main { - display: block; - } - - hr { - border-top-width: 1px; - box-sizing: content-box; - height: 0; - overflow: visible; - } - - pre, - code, - kbd, - samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; - font-size: 1em; - } - - a { - background-color: transparent; - color: inherit; - text-decoration: inherit; - } - - abbr[title] { - border-bottom: none; - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - } - - b, - strong { - font-weight: bold; - } - - small { - font-size: 80%; - } - - sub, - sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; - } - - sub { - bottom: -0.25em; - } - - sup { - top: -0.5em; - } - - img { - border-style: none; - } - - button, - input, - optgroup, - select, - textarea { - font-family: inherit; - font-size: 100%; - line-height: 1.15; - margin: 0; - } - - button, - input { - overflow: visible; - } - - button, - select { - text-transform: none; - } - - button::-moz-focus-inner, - [type="button"]::-moz-focus-inner, - [type="reset"]::-moz-focus-inner, - [type="submit"]::-moz-focus-inner { - border-style: none; - padding: 0; - } - - fieldset { - padding: 0.35em 0.75em 0.625em; - } - - legend { - box-sizing: border-box; - color: inherit; - display: table; - max-width: 100%; - padding: 0; - white-space: normal; - } - - progress { - vertical-align: baseline; - } - - textarea { - overflow: auto; - } - - [type="checkbox"], - [type="radio"] { - box-sizing: border-box; - padding: 0; - } - - [type="number"]::-webkit-inner-spin-button, - [type="number"]::-webkit-outer-spin-button { - -webkit-appearance: none !important; - } - - input[type="number"] { - -moz-appearance: textfield; - } - - [type="search"] { - -webkit-appearance: textfield; - outline-offset: -2px; - } - - [type="search"]::-webkit-search-decoration { - -webkit-appearance: none !important; - } - - ::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; - } - - details { - display: block; - } - - summary { - display: list-item; - } - - template { - display: none; - } - - [hidden] { - display: none !important; - } - - body, - blockquote, - dl, - dd, - h1, - h2, - h3, - h4, - h5, - h6, - hr, - figure, - p, - pre { - margin: 0; - } - - button { - background: transparent; - padding: 0; - } - - fieldset { - margin: 0; - padding: 0; - } - - ol, - ul { - margin: 0; - padding: 0; - } - - textarea { - resize: vertical; - } - - button, - [role="button"] { - cursor: pointer; - } - - button::-moz-focus-inner { - border: 0 !important; - } - - table { - border-collapse: collapse; - } - - h1, - h2, - h3, - h4, - h5, - h6 { - font-size: inherit; - font-weight: inherit; - } - - button, - input, - optgroup, - select, - textarea { - padding: 0; - line-height: inherit; - color: inherit; - } - - img, - svg, - video, - canvas, - audio, - iframe, - embed, - object { - display: block; - } - - 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; - } - - select::-ms-expand { - display: none; - } - - ${Xj} - `});function yee(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function Pn(e={}){const{name:t,strict:n=!0,hookName:r="useContext",providerName:i="Provider",errorMessage:o}=e,a=S.createContext(void 0);a.displayName=t;function s(){var l;const u=S.useContext(a);if(!u&&n){const d=new Error(o??yee(r,i));throw d.name="ContextError",(l=Error.captureStackTrace)==null||l.call(Error,d,s),d}return u}return[a.Provider,s,a]}var[bee,xee]=Pn({strict:!1,name:"PortalManagerContext"});function Zj(e){const{children:t,zIndex:n}=e;return g.jsx(bee,{value:{zIndex:n},children:t})}Zj.displayName="PortalManager";var Vl=Boolean(globalThis==null?void 0:globalThis.document)?S.useLayoutEffect:S.useEffect,Xs={},See={get exports(){return Xs},set exports(e){Xs=e}},Ia={},Th={},wee={get exports(){return Th},set exports(e){Th=e}},Qj={};/** - * @license React - * scheduler.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. - */(function(e){function t(G,Y){var ee=G.length;G.push(Y);e:for(;0>>1,_e=G[fe];if(0>>1;fei(Le,ee))Se<_e&&0>i(Je,Le)?(G[fe]=Je,G[Se]=ee,fe=Se):(G[fe]=Le,G[xe]=ee,fe=xe);else if(Se<_e&&0>i(Je,ee))G[fe]=Je,G[Se]=ee,fe=Se;else break e}}return Y}function i(G,Y){var ee=G.sortIndex-Y.sortIndex;return ee!==0?ee:G.id-Y.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],u=[],d=1,p=null,m=3,y=!1,b=!1,w=!1,E=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,k=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function T(G){for(var Y=n(u);Y!==null;){if(Y.callback===null)r(u);else if(Y.startTime<=G)r(u),Y.sortIndex=Y.expirationTime,t(l,Y);else break;Y=n(u)}}function L(G){if(w=!1,T(G),!b)if(n(l)!==null)b=!0,X(O);else{var Y=n(u);Y!==null&&Q(L,Y.startTime-G)}}function O(G,Y){b=!1,w&&(w=!1,_(N),N=-1),y=!0;var ee=m;try{for(T(Y),p=n(l);p!==null&&(!(p.expirationTime>Y)||G&&!K());){var fe=p.callback;if(typeof fe=="function"){p.callback=null,m=p.priorityLevel;var _e=fe(p.expirationTime<=Y);Y=e.unstable_now(),typeof _e=="function"?p.callback=_e:p===n(l)&&r(l),T(Y)}else r(l);p=n(l)}if(p!==null)var we=!0;else{var xe=n(u);xe!==null&&Q(L,xe.startTime-Y),we=!1}return we}finally{p=null,m=ee,y=!1}}var D=!1,I=null,N=-1,W=5,B=-1;function K(){return!(e.unstable_now()-BG||125fe?(G.sortIndex=ee,t(u,G),n(l)===null&&G===n(u)&&(w?(_(N),N=-1):w=!0,Q(L,ee-fe))):(G.sortIndex=_e,t(l,G),b||y||(b=!0,X(O))),G},e.unstable_shouldYield=K,e.unstable_wrapCallback=function(G){var Y=m;return function(){var ee=m;m=Y;try{return G.apply(this,arguments)}finally{m=ee}}}})(Qj);(function(e){e.exports=Qj})(wee);/** - * @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 Jj=S,La=Th;function ze(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"),y6=Object.prototype.hasOwnProperty,Cee=/^[: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]*$/,OT={},RT={};function _ee(e){return y6.call(RT,e)?!0:y6.call(OT,e)?!1:Cee.test(e)?RT[e]=!0:(OT[e]=!0,!1)}function kee(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 Eee(e,t,n,r){if(t===null||typeof t>"u"||kee(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 Mo(e,t,n,r,i,o,a){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=a}var Ki={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Ki[e]=new Mo(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Ki[t]=new Mo(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ki[e]=new Mo(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ki[e]=new Mo(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){Ki[e]=new Mo(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Ki[e]=new Mo(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Ki[e]=new Mo(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Ki[e]=new Mo(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Ki[e]=new Mo(e,5,!1,e.toLowerCase(),null,!1,!1)});var R7=/[\-:]([a-z])/g;function I7(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(R7,I7);Ki[t]=new Mo(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(R7,I7);Ki[t]=new Mo(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(R7,I7);Ki[t]=new Mo(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Ki[e]=new Mo(e,1,!1,e.toLowerCase(),null,!1,!1)});Ki.xlinkHref=new Mo("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Ki[e]=new Mo(e,1,!1,e.toLowerCase(),null,!0,!0)});function D7(e,t,n,r){var i=Ki.hasOwnProperty(t)?Ki[t]:null;(i!==null?i.type!==0:r||!(2s||i[a]!==o[s]){var l=` -`+i[a].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{u5=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?i1(e):""}function Pee(e){switch(e.tag){case 5:return i1(e.type);case 16:return i1("Lazy");case 13:return i1("Suspense");case 19:return i1("SuspenseList");case 0:case 2:case 15:return e=c5(e.type,!1),e;case 11:return e=c5(e.type.render,!1),e;case 1:return e=c5(e.type,!0),e;default:return""}}function w6(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 zg:return"Fragment";case Bg:return"Portal";case b6:return"Profiler";case j7:return"StrictMode";case x6:return"Suspense";case S6:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case nN:return(e.displayName||"Context")+".Consumer";case tN:return(e._context.displayName||"Context")+".Provider";case N7:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case $7:return t=e.displayName||null,t!==null?t:w6(e.type)||"Memo";case hd:t=e._payload,e=e._init;try{return w6(e(t))}catch{}}return null}function Tee(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 w6(t);case 8:return t===j7?"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 Ud(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function iN(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Mee(e){var t=iN(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(a){r=""+a,o.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function vb(e){e._valueTracker||(e._valueTracker=Mee(e))}function oN(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=iN(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function bS(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 C6(e,t){var n=t.checked;return Pr({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function DT(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ud(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 aN(e,t){t=t.checked,t!=null&&D7(e,"checked",t,!1)}function _6(e,t){aN(e,t);var n=Ud(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")?k6(e,t.type,n):t.hasOwnProperty("defaultValue")&&k6(e,t.type,Ud(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function jT(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 k6(e,t,n){(t!=="number"||bS(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var o1=Array.isArray;function fm(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=yb.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function iy(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var C1={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},Lee=["Webkit","ms","Moz","O"];Object.keys(C1).forEach(function(e){Lee.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),C1[t]=C1[e]})});function cN(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||C1.hasOwnProperty(e)&&C1[e]?(""+t).trim():t+"px"}function dN(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=cN(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var Aee=Pr({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 T6(e,t){if(t){if(Aee[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ze(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ze(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ze(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ze(62))}}function M6(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 L6=null;function F7(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var A6=null,hm=null,pm=null;function FT(e){if(e=Yy(e)){if(typeof A6!="function")throw Error(ze(280));var t=e.stateNode;t&&(t=cw(t),A6(e.stateNode,e.type,t))}}function fN(e){hm?pm?pm.push(e):pm=[e]:hm=e}function hN(){if(hm){var e=hm,t=pm;if(pm=hm=null,FT(e),t)for(e=0;e>>=0,e===0?32:31-(Hee(e)/Wee|0)|0}var bb=64,xb=4194304;function a1(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 CS(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~i;s!==0?r=a1(s):(o&=a,o!==0&&(r=a1(o)))}else a=n&~i,a!==0?r=a1(a):o!==0&&(r=a1(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 qy(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Gs(t),e[t]=n}function qee(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=k1),KT=String.fromCharCode(32),YT=!1;function RN(e,t){switch(e){case"keyup":return Ste.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function IN(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Hg=!1;function Cte(e,t){switch(e){case"compositionend":return IN(t);case"keypress":return t.which!==32?null:(YT=!0,KT);case"textInput":return e=t.data,e===KT&&YT?null:e;default:return null}}function _te(e,t){if(Hg)return e==="compositionend"||!q7&&RN(e,t)?(e=AN(),Dx=U7=Sd=null,Hg=!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=JT(n)}}function $N(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?$N(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function FN(){for(var e=window,t=bS();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=bS(e.document)}return t}function K7(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 Rte(e){var t=FN(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&$N(n.ownerDocument.documentElement,n)){if(r!==null&&K7(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=eM(n,o);var a=eM(n,r);i&&a&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.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,Wg=null,N6=null,P1=null,$6=!1;function tM(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;$6||Wg==null||Wg!==bS(r)||(r=Wg,"selectionStart"in r&&K7(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}),P1&&cy(P1,r)||(P1=r,r=ES(N6,"onSelect"),0Gg||(e.current=U6[Gg],U6[Gg]=null,Gg--)}function nr(e,t){Gg++,U6[Gg]=e.current,e.current=t}var Vd={},lo=of(Vd),Ko=of(!1),Hh=Vd;function $m(e,t){var n=e.type.contextTypes;if(!n)return Vd;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 Yo(e){return e=e.childContextTypes,e!=null}function TS(){cr(Ko),cr(lo)}function lM(e,t,n){if(lo.current!==Vd)throw Error(ze(168));nr(lo,t),nr(Ko,n)}function KN(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(ze(108,Tee(e)||"Unknown",i));return Pr({},n,r)}function MS(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Vd,Hh=lo.current,nr(lo,e),nr(Ko,Ko.current),!0}function uM(e,t,n){var r=e.stateNode;if(!r)throw Error(ze(169));n?(e=KN(e,t,Hh),r.__reactInternalMemoizedMergedChildContext=e,cr(Ko),cr(lo),nr(lo,e)):cr(Ko),nr(Ko,n)}var ju=null,dw=!1,_5=!1;function YN(e){ju===null?ju=[e]:ju.push(e)}function Vte(e){dw=!0,YN(e)}function af(){if(!_5&&ju!==null){_5=!0;var e=0,t=In;try{var n=ju;for(In=1;e>=a,i-=a,Fu=1<<32-Gs(t)+i|n<N?(W=I,I=null):W=I.sibling;var B=m(_,I,T[N],L);if(B===null){I===null&&(I=W);break}e&&I&&B.alternate===null&&t(_,I),k=o(B,k,N),D===null?O=B:D.sibling=B,D=B,I=W}if(N===T.length)return n(_,I),yr&&uh(_,N),O;if(I===null){for(;NN?(W=I,I=null):W=I.sibling;var K=m(_,I,B.value,L);if(K===null){I===null&&(I=W);break}e&&I&&K.alternate===null&&t(_,I),k=o(K,k,N),D===null?O=K:D.sibling=K,D=K,I=W}if(B.done)return n(_,I),yr&&uh(_,N),O;if(I===null){for(;!B.done;N++,B=T.next())B=p(_,B.value,L),B!==null&&(k=o(B,k,N),D===null?O=B:D.sibling=B,D=B);return yr&&uh(_,N),O}for(I=r(_,I);!B.done;N++,B=T.next())B=y(I,_,N,B.value,L),B!==null&&(e&&B.alternate!==null&&I.delete(B.key===null?N:B.key),k=o(B,k,N),D===null?O=B:D.sibling=B,D=B);return e&&I.forEach(function(ne){return t(_,ne)}),yr&&uh(_,N),O}function E(_,k,T,L){if(typeof T=="object"&&T!==null&&T.type===zg&&T.key===null&&(T=T.props.children),typeof T=="object"&&T!==null){switch(T.$$typeof){case mb:e:{for(var O=T.key,D=k;D!==null;){if(D.key===O){if(O=T.type,O===zg){if(D.tag===7){n(_,D.sibling),k=i(D,T.props.children),k.return=_,_=k;break e}}else if(D.elementType===O||typeof O=="object"&&O!==null&&O.$$typeof===hd&&mM(O)===D.type){n(_,D.sibling),k=i(D,T.props),k.ref=Nv(_,D,T),k.return=_,_=k;break e}n(_,D);break}else t(_,D);D=D.sibling}T.type===zg?(k=Lh(T.props.children,_.mode,L,T.key),k.return=_,_=k):(L=Wx(T.type,T.key,T.props,null,_.mode,L),L.ref=Nv(_,k,T),L.return=_,_=L)}return a(_);case Bg:e:{for(D=T.key;k!==null;){if(k.key===D)if(k.tag===4&&k.stateNode.containerInfo===T.containerInfo&&k.stateNode.implementation===T.implementation){n(_,k.sibling),k=i(k,T.children||[]),k.return=_,_=k;break e}else{n(_,k);break}else t(_,k);k=k.sibling}k=O5(T,_.mode,L),k.return=_,_=k}return a(_);case hd:return D=T._init,E(_,k,D(T._payload),L)}if(o1(T))return b(_,k,T,L);if(Ov(T))return w(_,k,T,L);Pb(_,T)}return typeof T=="string"&&T!==""||typeof T=="number"?(T=""+T,k!==null&&k.tag===6?(n(_,k.sibling),k=i(k,T),k.return=_,_=k):(n(_,k),k=A5(T,_.mode,L),k.return=_,_=k),a(_)):n(_,k)}return E}var Bm=r$(!0),i$=r$(!1),Xy={},ql=of(Xy),py=of(Xy),gy=of(Xy);function _h(e){if(e===Xy)throw Error(ze(174));return e}function r9(e,t){switch(nr(gy,t),nr(py,e),nr(ql,Xy),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:P6(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=P6(t,e)}cr(ql),nr(ql,t)}function zm(){cr(ql),cr(py),cr(gy)}function o$(e){_h(gy.current);var t=_h(ql.current),n=P6(t,e.type);t!==n&&(nr(py,e),nr(ql,n))}function i9(e){py.current===e&&(cr(ql),cr(py))}var kr=of(0);function DS(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 k5=[];function o9(){for(var e=0;en?n:4,e(!0);var r=E5.transition;E5.transition={};try{e(!1),t()}finally{In=n,E5.transition=r}}function S$(){return as().memoizedState}function Yte(e,t,n){var r=Dd(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},w$(e))C$(t,n);else if(n=JN(e,t,n,r),n!==null){var i=ko();qs(n,e,r,i),_$(n,t,r)}}function Xte(e,t,n){var r=Dd(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(w$(e))C$(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var a=t.lastRenderedState,s=o(a,n);if(i.hasEagerState=!0,i.eagerState=s,Zs(s,a)){var l=t.interleaved;l===null?(i.next=i,t9(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=JN(e,t,i,r),n!==null&&(i=ko(),qs(n,e,r,i),_$(n,t,r))}}function w$(e){var t=e.alternate;return e===Er||t!==null&&t===Er}function C$(e,t){T1=jS=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function _$(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,z7(e,n)}}var NS={readContext:os,useCallback:eo,useContext:eo,useEffect:eo,useImperativeHandle:eo,useInsertionEffect:eo,useLayoutEffect:eo,useMemo:eo,useReducer:eo,useRef:eo,useState:eo,useDebugValue:eo,useDeferredValue:eo,useTransition:eo,useMutableSource:eo,useSyncExternalStore:eo,useId:eo,unstable_isNewReconciler:!1},Zte={readContext:os,useCallback:function(e,t){return Ll().memoizedState=[e,t===void 0?null:t],e},useContext:os,useEffect:yM,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Fx(4194308,4,m$.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Fx(4194308,4,e,t)},useInsertionEffect:function(e,t){return Fx(4,2,e,t)},useMemo:function(e,t){var n=Ll();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ll();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=Yte.bind(null,Er,e),[r.memoizedState,e]},useRef:function(e){var t=Ll();return e={current:e},t.memoizedState=e},useState:vM,useDebugValue:c9,useDeferredValue:function(e){return Ll().memoizedState=e},useTransition:function(){var e=vM(!1),t=e[0];return e=Kte.bind(null,e[1]),Ll().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Er,i=Ll();if(yr){if(n===void 0)throw Error(ze(407));n=n()}else{if(n=t(),Ai===null)throw Error(ze(349));Uh&30||l$(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,yM(c$.bind(null,r,o,e),[e]),r.flags|=2048,yy(9,u$.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Ll(),t=Ai.identifierPrefix;if(yr){var n=Bu,r=Fu;n=(r&~(1<<32-Gs(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=my++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[jl]=t,e[hy]=r,R$(e,t,!1,!1),t.stateNode=e;e:{switch(a=M6(n,r),n){case"dialog":ir("cancel",e),ir("close",e),i=r;break;case"iframe":case"object":case"embed":ir("load",e),i=r;break;case"video":case"audio":for(i=0;iWm&&(t.flags|=128,r=!0,$v(o,!1),t.lanes=4194304)}else{if(!r)if(e=DS(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),$v(o,!0),o.tail===null&&o.tailMode==="hidden"&&!a.alternate&&!yr)return to(t),null}else 2*Zr()-o.renderingStartTime>Wm&&n!==1073741824&&(t.flags|=128,r=!0,$v(o,!1),t.lanes=4194304);o.isBackwards?(a.sibling=t.child,t.child=a):(n=o.last,n!==null?n.sibling=a:t.child=a,o.last=a)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Zr(),t.sibling=null,n=kr.current,nr(kr,r?n&1|2:n&1),t):(to(t),null);case 22:case 23:return m9(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Sa&1073741824&&(to(t),t.subtreeFlags&6&&(t.flags|=8192)):to(t),null;case 24:return null;case 25:return null}throw Error(ze(156,t.tag))}function one(e,t){switch(X7(t),t.tag){case 1:return Yo(t.type)&&TS(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return zm(),cr(Ko),cr(lo),o9(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return i9(t),null;case 13:if(cr(kr),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ze(340));Fm()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return cr(kr),null;case 4:return zm(),null;case 10:return e9(t.type._context),null;case 22:case 23:return m9(),null;case 24:return null;default:return null}}var Mb=!1,io=!1,ane=typeof WeakSet=="function"?WeakSet:Set,dt=null;function Xg(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){$r(e,t,r)}else n.current=null}function n_(e,t,n){try{n()}catch(r){$r(e,t,r)}}var PM=!1;function sne(e,t){if(F6=_S,e=FN(),K7(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 a=0,s=-1,l=-1,u=0,d=0,p=e,m=null;t:for(;;){for(var y;p!==n||i!==0&&p.nodeType!==3||(s=a+i),p!==o||r!==0&&p.nodeType!==3||(l=a+r),p.nodeType===3&&(a+=p.nodeValue.length),(y=p.firstChild)!==null;)m=p,p=y;for(;;){if(p===e)break t;if(m===n&&++u===i&&(s=a),m===o&&++d===r&&(l=a),(y=p.nextSibling)!==null)break;p=m,m=p.parentNode}p=y}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(B6={focusedElem:e,selectionRange:n},_S=!1,dt=t;dt!==null;)if(t=dt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,dt=e;else for(;dt!==null;){t=dt;try{var b=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(b!==null){var w=b.memoizedProps,E=b.memoizedState,_=t.stateNode,k=_.getSnapshotBeforeUpdate(t.elementType===t.type?w:Bs(t.type,w),E);_.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var T=t.stateNode.containerInfo;T.nodeType===1?T.textContent="":T.nodeType===9&&T.documentElement&&T.removeChild(T.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ze(163))}}catch(L){$r(t,t.return,L)}if(e=t.sibling,e!==null){e.return=t.return,dt=e;break}dt=t.return}return b=PM,PM=!1,b}function M1(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&&n_(t,n,o)}i=i.next}while(i!==r)}}function pw(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 r_(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 j$(e){var t=e.alternate;t!==null&&(e.alternate=null,j$(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[jl],delete t[hy],delete t[W6],delete t[Wte],delete t[Ute])),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 N$(e){return e.tag===5||e.tag===3||e.tag===4}function TM(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||N$(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 i_(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=PS));else if(r!==4&&(e=e.child,e!==null))for(i_(e,t,n),e=e.sibling;e!==null;)i_(e,t,n),e=e.sibling}function o_(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(o_(e,t,n),e=e.sibling;e!==null;)o_(e,t,n),e=e.sibling}var Wi=null,zs=!1;function od(e,t,n){for(n=n.child;n!==null;)$$(e,t,n),n=n.sibling}function $$(e,t,n){if(Gl&&typeof Gl.onCommitFiberUnmount=="function")try{Gl.onCommitFiberUnmount(aw,n)}catch{}switch(n.tag){case 5:io||Xg(n,t);case 6:var r=Wi,i=zs;Wi=null,od(e,t,n),Wi=r,zs=i,Wi!==null&&(zs?(e=Wi,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Wi.removeChild(n.stateNode));break;case 18:Wi!==null&&(zs?(e=Wi,n=n.stateNode,e.nodeType===8?C5(e.parentNode,n):e.nodeType===1&&C5(e,n),ly(e)):C5(Wi,n.stateNode));break;case 4:r=Wi,i=zs,Wi=n.stateNode.containerInfo,zs=!0,od(e,t,n),Wi=r,zs=i;break;case 0:case 11:case 14:case 15:if(!io&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,a=o.destroy;o=o.tag,a!==void 0&&(o&2||o&4)&&n_(n,t,a),i=i.next}while(i!==r)}od(e,t,n);break;case 1:if(!io&&(Xg(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){$r(n,t,s)}od(e,t,n);break;case 21:od(e,t,n);break;case 22:n.mode&1?(io=(r=io)||n.memoizedState!==null,od(e,t,n),io=r):od(e,t,n);break;default:od(e,t,n)}}function MM(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new ane),t.forEach(function(r){var i=mne.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Is(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=a),r&=~o}if(r=i,r=Zr()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*une(r/1960))-r,10e?16:e,wd===null)var r=!1;else{if(e=wd,wd=null,BS=0,un&6)throw Error(ze(331));var i=un;for(un|=4,dt=e.current;dt!==null;){var o=dt,a=o.child;if(dt.flags&16){var s=o.deletions;if(s!==null){for(var l=0;lZr()-p9?Mh(e,0):h9|=n),Xo(e,t)}function G$(e,t){t===0&&(e.mode&1?(t=xb,xb<<=1,!(xb&130023424)&&(xb=4194304)):t=1);var n=ko();e=ec(e,t),e!==null&&(qy(e,t,n),Xo(e,n))}function gne(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),G$(e,n)}function mne(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(ze(314))}r!==null&&r.delete(t),G$(e,n)}var q$;q$=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ko.current)qo=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return qo=!1,rne(e,t,n);qo=!!(e.flags&131072)}else qo=!1,yr&&t.flags&1048576&&XN(t,AS,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Bx(e,t),e=t.pendingProps;var i=$m(t,lo.current);mm(t,n),i=s9(null,t,r,e,i,n);var o=l9();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,Yo(r)?(o=!0,MS(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,n9(t),i.updater=fw,t.stateNode=i,i._reactInternals=t,Y6(t,r,e,n),t=Q6(null,t,r,!0,o,n)):(t.tag=0,yr&&o&&Y7(t),xo(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Bx(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=yne(r),e=Bs(r,e),i){case 0:t=Z6(null,t,r,e,n);break e;case 1:t=_M(null,t,r,e,n);break e;case 11:t=wM(null,t,r,e,n);break e;case 14:t=CM(null,t,r,Bs(r.type,e),n);break e}throw Error(ze(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),Z6(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),_M(e,t,r,i,n);case 3:e:{if(L$(t),e===null)throw Error(ze(387));r=t.pendingProps,o=t.memoizedState,i=o.element,e$(e,t),IS(t,r,null,n);var a=t.memoizedState;if(r=a.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=Hm(Error(ze(423)),t),t=kM(e,t,r,n,i);break e}else if(r!==i){i=Hm(Error(ze(424)),t),t=kM(e,t,r,n,i);break e}else for(ka=Od(t.stateNode.containerInfo.firstChild),Pa=t,yr=!0,Ws=null,n=i$(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Fm(),r===i){t=tc(e,t,n);break e}xo(e,t,r,n)}t=t.child}return t;case 5:return o$(t),e===null&&G6(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,a=i.children,z6(r,i)?a=null:o!==null&&z6(r,o)&&(t.flags|=32),M$(e,t),xo(e,t,a,n),t.child;case 6:return e===null&&G6(t),null;case 13:return A$(e,t,n);case 4:return r9(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Bm(t,null,r,n):xo(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),wM(e,t,r,i,n);case 7:return xo(e,t,t.pendingProps,n),t.child;case 8:return xo(e,t,t.pendingProps.children,n),t.child;case 12:return xo(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,a=i.value,nr(OS,r._currentValue),r._currentValue=a,o!==null)if(Zs(o.value,a)){if(o.children===i.children&&!Ko.current){t=tc(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var s=o.dependencies;if(s!==null){a=o.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=Wu(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),q6(o.return,n,t),s.lanes|=n;break}l=l.next}}else if(o.tag===10)a=o.type===t.type?null:o.child;else if(o.tag===18){if(a=o.return,a===null)throw Error(ze(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),q6(a,n,t),a=o.sibling}else a=o.child;if(a!==null)a.return=o;else for(a=o;a!==null;){if(a===t){a=null;break}if(o=a.sibling,o!==null){o.return=a.return,a=o;break}a=a.return}o=a}xo(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,mm(t,n),i=os(i),r=r(i),t.flags|=1,xo(e,t,r,n),t.child;case 14:return r=t.type,i=Bs(r,t.pendingProps),i=Bs(r.type,i),CM(e,t,r,i,n);case 15:return P$(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),Bx(e,t),t.tag=1,Yo(r)?(e=!0,MS(t)):e=!1,mm(t,n),n$(t,r,i),Y6(t,r,i,n),Q6(null,t,r,!0,e,n);case 19:return O$(e,t,n);case 22:return T$(e,t,n)}throw Error(ze(156,t.tag))};function K$(e,t){return xN(e,t)}function vne(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 es(e,t,n,r){return new vne(e,t,n,r)}function y9(e){return e=e.prototype,!(!e||!e.isReactComponent)}function yne(e){if(typeof e=="function")return y9(e)?1:0;if(e!=null){if(e=e.$$typeof,e===N7)return 11;if(e===$7)return 14}return 2}function jd(e,t){var n=e.alternate;return n===null?(n=es(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 Wx(e,t,n,r,i,o){var a=2;if(r=e,typeof e=="function")y9(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case zg:return Lh(n.children,i,o,t);case j7:a=8,i|=8;break;case b6:return e=es(12,n,t,i|2),e.elementType=b6,e.lanes=o,e;case x6:return e=es(13,n,t,i),e.elementType=x6,e.lanes=o,e;case S6:return e=es(19,n,t,i),e.elementType=S6,e.lanes=o,e;case rN:return mw(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case tN:a=10;break e;case nN:a=9;break e;case N7:a=11;break e;case $7:a=14;break e;case hd:a=16,r=null;break e}throw Error(ze(130,e==null?e:typeof e,""))}return t=es(a,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Lh(e,t,n,r){return e=es(7,e,r,t),e.lanes=n,e}function mw(e,t,n,r){return e=es(22,e,r,t),e.elementType=rN,e.lanes=n,e.stateNode={isHidden:!1},e}function A5(e,t,n){return e=es(6,e,null,t),e.lanes=n,e}function O5(e,t,n){return t=es(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function bne(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=f5(0),this.expirationTimes=f5(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=f5(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function b9(e,t,n,r,i,o,a,s,l){return e=new bne(e,t,n,s,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=es(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},n9(o),e}function xne(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(n){console.error(n)}}t(),e.exports=Ia})(See);const Ob=S7(Xs);var[Q$,kne]=Pn({strict:!1,name:"PortalContext"}),C9="chakra-portal",Ene=".chakra-portal",Pne=e=>g.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),Tne=e=>{const{appendToParentPortal:t,children:n}=e,[r,i]=S.useState(null),o=S.useRef(null),[,a]=S.useState({});S.useEffect(()=>a({}),[]);const s=kne(),l=xee();Vl(()=>{if(!r)return;const d=r.ownerDocument,p=t?s??d.body:d.body;if(!p)return;o.current=d.createElement("div"),o.current.className=C9,p.appendChild(o.current),a({});const m=o.current;return()=>{p.contains(m)&&p.removeChild(m)}},[r]);const u=l!=null&&l.zIndex?g.jsx(Pne,{zIndex:l==null?void 0:l.zIndex,children:n}):n;return o.current?Xs.createPortal(g.jsx(Q$,{value:o.current,children:u}),o.current):g.jsx("span",{ref:d=>{d&&i(d)}})},Mne=e=>{const{children:t,containerRef:n,appendToParentPortal:r}=e,i=n.current,o=i??(typeof window<"u"?document.body:void 0),a=S.useMemo(()=>{const l=i==null?void 0:i.ownerDocument.createElement("div");return l&&(l.className=C9),l},[i]),[,s]=S.useState({});return Vl(()=>s({}),[]),Vl(()=>{if(!(!a||!o))return o.appendChild(a),()=>{o.removeChild(a)}},[a,o]),o&&a?Xs.createPortal(g.jsx(Q$,{value:r?a:null,children:t}),a):null};function c0(e){const t={appendToParentPortal:!0,...e},{containerRef:n,...r}=t;return n?g.jsx(Mne,{containerRef:n,...r}):g.jsx(Tne,{...r})}c0.className=C9;c0.selector=Ene;c0.displayName="Portal";function Zy(){const e=S.useContext(ny);if(!e)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `` or ``");return e}var _9=S.createContext({});_9.displayName="ColorModeContext";function Qy(){const e=S.useContext(_9);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}var Rb={light:"chakra-ui-light",dark:"chakra-ui-dark"};function Lne(e={}){const{preventTransition:t=!0}=e,n={setDataset:r=>{const i=t?n.preventTransition():void 0;document.documentElement.dataset.theme=r,document.documentElement.style.colorScheme=r,i==null||i()},setClassName(r){document.body.classList.add(r?Rb.dark:Rb.light),document.body.classList.remove(r?Rb.light:Rb.dark)},query(){return window.matchMedia("(prefers-color-scheme: dark)")},getSystemTheme(r){var i;return((i=n.query().matches)!=null?i:r==="dark")?"dark":"light"},addListener(r){const i=n.query(),o=a=>{r(a.matches?"dark":"light")};return typeof i.addListener=="function"?i.addListener(o):i.addEventListener("change",o),()=>{typeof i.removeListener=="function"?i.removeListener(o):i.removeEventListener("change",o)}},preventTransition(){const r=document.createElement("style");return r.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(r),()=>{window.getComputedStyle(document.body),requestAnimationFrame(()=>{requestAnimationFrame(()=>{document.head.removeChild(r)})})}}};return n}var Ane="chakra-ui-color-mode";function One(e){return{ssr:!1,type:"localStorage",get(t){if(!(globalThis!=null&&globalThis.document))return t;let n;try{n=localStorage.getItem(e)||t}catch{}return n||t},set(t){try{localStorage.setItem(e,t)}catch{}}}}var Rne=One(Ane),NM=()=>{};function $M(e,t){return e.type==="cookie"&&e.ssr?e.get(t):t}function J$(e){const{value:t,children:n,options:{useSystemColorMode:r,initialColorMode:i,disableTransitionOnChange:o}={},colorModeManager:a=Rne}=e,s=i==="dark"?"dark":"light",[l,u]=S.useState(()=>$M(a,s)),[d,p]=S.useState(()=>$M(a)),{getSystemTheme:m,setClassName:y,setDataset:b,addListener:w}=S.useMemo(()=>Lne({preventTransition:o}),[o]),E=i==="system"&&!l?d:l,_=S.useCallback(L=>{const O=L==="system"?m():L;u(O),y(O==="dark"),b(O),a.set(O)},[a,m,y,b]);Vl(()=>{i==="system"&&p(m())},[]),S.useEffect(()=>{const L=a.get();if(L){_(L);return}if(i==="system"){_("system");return}_(s)},[a,s,i,_]);const k=S.useCallback(()=>{_(E==="dark"?"light":"dark")},[E,_]);S.useEffect(()=>{if(r)return w(_)},[r,w,_]);const T=S.useMemo(()=>({colorMode:t??E,toggleColorMode:t?NM:k,setColorMode:t?NM:_,forced:t!==void 0}),[E,k,_,t]);return g.jsx(_9.Provider,{value:T,children:n})}J$.displayName="ColorModeProvider";function eF(){const e=Qy(),t=Zy();return{...e,theme:t}}var xt=(...e)=>e.filter(Boolean).join(" ");function Ine(){return!1}function Eo(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var Jy=e=>{const{condition:t,message:n}=e;t&&Ine()&&console.warn(n)};function ts(e,...t){return Dne(e)?e(...t):e}var Dne=e=>typeof e=="function",Bt=e=>e?"":void 0,Uu=e=>e?!0:void 0;function ht(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function Sw(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var WS={},jne={get exports(){return WS},set exports(e){WS=e}};(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,a=9007199254740991,s="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",d="[object Boolean]",p="[object Date]",m="[object Error]",y="[object Function]",b="[object GeneratorFunction]",w="[object Map]",E="[object Number]",_="[object Null]",k="[object Object]",T="[object Proxy]",L="[object RegExp]",O="[object Set]",D="[object String]",I="[object Undefined]",N="[object WeakMap]",W="[object ArrayBuffer]",B="[object DataView]",K="[object Float32Array]",ne="[object Float64Array]",z="[object Int8Array]",$="[object Int16Array]",V="[object Int32Array]",X="[object Uint8Array]",Q="[object Uint8ClampedArray]",G="[object Uint16Array]",Y="[object Uint32Array]",ee=/[\\^$.*+?()[\]{}|]/g,fe=/^\[object .+?Constructor\]$/,_e=/^(?:0|[1-9]\d*)$/,we={};we[K]=we[ne]=we[z]=we[$]=we[V]=we[X]=we[Q]=we[G]=we[Y]=!0,we[s]=we[l]=we[W]=we[d]=we[B]=we[p]=we[m]=we[y]=we[w]=we[E]=we[k]=we[L]=we[O]=we[D]=we[N]=!1;var xe=typeof wo=="object"&&wo&&wo.Object===Object&&wo,Le=typeof self=="object"&&self&&self.Object===Object&&self,Se=xe||Le||Function("return this")(),Je=t&&!t.nodeType&&t,Xe=Je&&!0&&e&&!e.nodeType&&e,tt=Xe&&Xe.exports===Je,yt=tt&&xe.process,Be=function(){try{var q=Xe&&Xe.require&&Xe.require("util").types;return q||yt&&yt.binding&&yt.binding("util")}catch{}}(),Ae=Be&&Be.isTypedArray;function bt(q,re,pe){switch(pe.length){case 0:return q.call(re);case 1:return q.call(re,pe[0]);case 2:return q.call(re,pe[0],pe[1]);case 3:return q.call(re,pe[0],pe[1],pe[2])}return q.apply(re,pe)}function Fe(q,re){for(var pe=-1,ot=Array(q);++pe-1}function P0(q,re){var pe=this.__data__,ot=xs(pe,q);return ot<0?(++this.size,pe.push([q,re])):pe[ot][1]=re,this}na.prototype.clear=mf,na.prototype.delete=E0,na.prototype.get=xc,na.prototype.has=vf,na.prototype.set=P0;function nl(q){var re=-1,pe=q==null?0:q.length;for(this.clear();++re1?pe[Ht-1]:void 0,St=Ht>2?pe[2]:void 0;for(mn=q.length>3&&typeof mn=="function"?(Ht--,mn):void 0,St&&Pp(pe[0],pe[1],St)&&(mn=Ht<3?void 0:mn,Ht=1),re=Object(re);++ot-1&&q%1==0&&q0){if(++re>=i)return arguments[0]}else re=0;return q.apply(void 0,arguments)}}function kc(q){if(q!=null){try{return He.call(q)}catch{}try{return q+""}catch{}}return""}function $a(q,re){return q===re||q!==q&&re!==re}var wf=pu(function(){return arguments}())?pu:function(q){return Xn(q)&&Ue.call(q,"callee")&&!zr.call(q,"callee")},vu=Array.isArray;function Gt(q){return q!=null&&Mp(q.length)&&!Pc(q)}function Tp(q){return Xn(q)&&Gt(q)}var Ec=vs||B0;function Pc(q){if(!aa(q))return!1;var re=il(q);return re==y||re==b||re==u||re==T}function Mp(q){return typeof q=="number"&&q>-1&&q%1==0&&q<=a}function aa(q){var re=typeof q;return q!=null&&(re=="object"||re=="function")}function Xn(q){return q!=null&&typeof q=="object"}function Cf(q){if(!Xn(q)||il(q)!=k)return!1;var re=qe(q);if(re===null)return!0;var pe=Ue.call(re,"constructor")&&re.constructor;return typeof pe=="function"&&pe instanceof pe&&He.call(pe)==vt}var Lp=Ae?at(Ae):wc;function _f(q){return ci(q,Ap(q))}function Ap(q){return Gt(q)?N0(q,!0):ol(q)}var cn=Ss(function(q,re,pe,ot){ra(q,re,pe,ot)});function qt(q){return function(){return q}}function Op(q){return q}function B0(){return!1}e.exports=cn})(jne,WS);const Bl=WS;var Nne=e=>/!(important)?$/.test(e),FM=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,$ne=(e,t)=>n=>{const r=String(t),i=Nne(r),o=FM(r),a=e?`${e}.${o}`:o;let s=Eo(n.__cssMap)&&a in n.__cssMap?n.__cssMap[a].varRef:t;return s=FM(s),i?`${s} !important`:s};function k9(e){const{scale:t,transform:n,compose:r}=e;return(o,a)=>{var s;const l=$ne(t,o)(a);let u=(s=n==null?void 0:n(l,a))!=null?s:l;return r&&(u=r(u,a)),u}}var Ib=(...e)=>t=>e.reduce((n,r)=>r(n),t);function Ds(e,t){return n=>{const r={property:n,scale:e};return r.transform=k9({scale:e,transform:t}),r}}var Fne=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function Bne(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:Fne(t),transform:n?k9({scale:n,compose:r}):r}}var tF=["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 zne(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...tF].join(" ")}function Hne(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...tF].join(" ")}var Wne={"--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(" ")},Une={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 Vne(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 Gne={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},c_={"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"},qne=new Set(Object.values(c_)),nF=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),Kne=e=>e.trim();function Yne(e,t){if(e==null||nF.has(e))return e;const r=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),i=r==null?void 0:r[1],o=r==null?void 0:r[2];if(!i||!o)return e;const a=i.includes("-gradient")?i:`${i}-gradient`,[s,...l]=o.split(",").map(Kne).filter(Boolean);if((l==null?void 0:l.length)===0)return e;const u=s in c_?c_[s]:s;l.unshift(u);const d=l.map(p=>{if(qne.has(p))return p;const m=p.indexOf(" "),[y,b]=m!==-1?[p.substr(0,m),p.substr(m+1)]:[p],w=rF(b)?b:b&&b.split(" "),E=`colors.${y}`,_=E in t.__cssMap?t.__cssMap[E].varRef:y;return w?[_,...Array.isArray(w)?w:[w]].join(" "):_});return`${a}(${d.join(", ")})`}var rF=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),Xne=(e,t)=>Yne(e,t??{});function Zne(e){return/^var\(--.+\)$/.test(e)}var Qne=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Pl=e=>t=>`${e}(${t})`,ln={filter(e){return e!=="auto"?e:Wne},backdropFilter(e){return e!=="auto"?e:Une},ring(e){return Vne(ln.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?zne():e==="auto-gpu"?Hne():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=Qne(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(Zne(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:Xne,blur:Pl("blur"),opacity:Pl("opacity"),brightness:Pl("brightness"),contrast:Pl("contrast"),dropShadow:Pl("drop-shadow"),grayscale:Pl("grayscale"),hueRotate:Pl("hue-rotate"),invert:Pl("invert"),saturate:Pl("saturate"),sepia:Pl("sepia"),bgImage(e){return e==null||rF(e)||nF.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=Gne[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},oe={borderWidths:Ds("borderWidths"),borderStyles:Ds("borderStyles"),colors:Ds("colors"),borders:Ds("borders"),radii:Ds("radii",ln.px),space:Ds("space",Ib(ln.vh,ln.px)),spaceT:Ds("space",Ib(ln.vh,ln.px)),degreeT(e){return{property:e,transform:ln.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:k9({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:Ds("sizes",Ib(ln.vh,ln.px)),sizesT:Ds("sizes",Ib(ln.vh,ln.fraction)),shadows:Ds("shadows"),logical:Bne,blur:Ds("blur",ln.blur)},Ux={background:oe.colors("background"),backgroundColor:oe.colors("backgroundColor"),backgroundImage:oe.propT("backgroundImage",ln.bgImage),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:ln.bgClip},bgSize:oe.prop("backgroundSize"),bgPosition:oe.prop("backgroundPosition"),bg:oe.colors("background"),bgColor:oe.colors("backgroundColor"),bgPos:oe.prop("backgroundPosition"),bgRepeat:oe.prop("backgroundRepeat"),bgAttachment:oe.prop("backgroundAttachment"),bgGradient:oe.propT("backgroundImage",ln.gradient),bgClip:{transform:ln.bgClip}};Object.assign(Ux,{bgImage:Ux.backgroundImage,bgImg:Ux.backgroundImage});var yn={border:oe.borders("border"),borderWidth:oe.borderWidths("borderWidth"),borderStyle:oe.borderStyles("borderStyle"),borderColor:oe.colors("borderColor"),borderRadius:oe.radii("borderRadius"),borderTop:oe.borders("borderTop"),borderBlockStart:oe.borders("borderBlockStart"),borderTopLeftRadius:oe.radii("borderTopLeftRadius"),borderStartStartRadius:oe.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:oe.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:oe.radii("borderTopRightRadius"),borderStartEndRadius:oe.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:oe.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:oe.borders("borderRight"),borderInlineEnd:oe.borders("borderInlineEnd"),borderBottom:oe.borders("borderBottom"),borderBlockEnd:oe.borders("borderBlockEnd"),borderBottomLeftRadius:oe.radii("borderBottomLeftRadius"),borderBottomRightRadius:oe.radii("borderBottomRightRadius"),borderLeft:oe.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:oe.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:oe.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:oe.borders(["borderLeft","borderRight"]),borderInline:oe.borders("borderInline"),borderY:oe.borders(["borderTop","borderBottom"]),borderBlock:oe.borders("borderBlock"),borderTopWidth:oe.borderWidths("borderTopWidth"),borderBlockStartWidth:oe.borderWidths("borderBlockStartWidth"),borderTopColor:oe.colors("borderTopColor"),borderBlockStartColor:oe.colors("borderBlockStartColor"),borderTopStyle:oe.borderStyles("borderTopStyle"),borderBlockStartStyle:oe.borderStyles("borderBlockStartStyle"),borderBottomWidth:oe.borderWidths("borderBottomWidth"),borderBlockEndWidth:oe.borderWidths("borderBlockEndWidth"),borderBottomColor:oe.colors("borderBottomColor"),borderBlockEndColor:oe.colors("borderBlockEndColor"),borderBottomStyle:oe.borderStyles("borderBottomStyle"),borderBlockEndStyle:oe.borderStyles("borderBlockEndStyle"),borderLeftWidth:oe.borderWidths("borderLeftWidth"),borderInlineStartWidth:oe.borderWidths("borderInlineStartWidth"),borderLeftColor:oe.colors("borderLeftColor"),borderInlineStartColor:oe.colors("borderInlineStartColor"),borderLeftStyle:oe.borderStyles("borderLeftStyle"),borderInlineStartStyle:oe.borderStyles("borderInlineStartStyle"),borderRightWidth:oe.borderWidths("borderRightWidth"),borderInlineEndWidth:oe.borderWidths("borderInlineEndWidth"),borderRightColor:oe.colors("borderRightColor"),borderInlineEndColor:oe.colors("borderInlineEndColor"),borderRightStyle:oe.borderStyles("borderRightStyle"),borderInlineEndStyle:oe.borderStyles("borderInlineEndStyle"),borderTopRadius:oe.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:oe.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:oe.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:oe.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(yn,{rounded:yn.borderRadius,roundedTop:yn.borderTopRadius,roundedTopLeft:yn.borderTopLeftRadius,roundedTopRight:yn.borderTopRightRadius,roundedTopStart:yn.borderStartStartRadius,roundedTopEnd:yn.borderStartEndRadius,roundedBottom:yn.borderBottomRadius,roundedBottomLeft:yn.borderBottomLeftRadius,roundedBottomRight:yn.borderBottomRightRadius,roundedBottomStart:yn.borderEndStartRadius,roundedBottomEnd:yn.borderEndEndRadius,roundedLeft:yn.borderLeftRadius,roundedRight:yn.borderRightRadius,roundedStart:yn.borderInlineStartRadius,roundedEnd:yn.borderInlineEndRadius,borderStart:yn.borderInlineStart,borderEnd:yn.borderInlineEnd,borderTopStartRadius:yn.borderStartStartRadius,borderTopEndRadius:yn.borderStartEndRadius,borderBottomStartRadius:yn.borderEndStartRadius,borderBottomEndRadius:yn.borderEndEndRadius,borderStartRadius:yn.borderInlineStartRadius,borderEndRadius:yn.borderInlineEndRadius,borderStartWidth:yn.borderInlineStartWidth,borderEndWidth:yn.borderInlineEndWidth,borderStartColor:yn.borderInlineStartColor,borderEndColor:yn.borderInlineEndColor,borderStartStyle:yn.borderInlineStartStyle,borderEndStyle:yn.borderInlineEndStyle});var Jne={color:oe.colors("color"),textColor:oe.colors("color"),fill:oe.colors("fill"),stroke:oe.colors("stroke")},d_={boxShadow:oe.shadows("boxShadow"),mixBlendMode:!0,blendMode:oe.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:oe.prop("backgroundBlendMode"),opacity:!0};Object.assign(d_,{shadow:d_.boxShadow});var ere={filter:{transform:ln.filter},blur:oe.blur("--chakra-blur"),brightness:oe.propT("--chakra-brightness",ln.brightness),contrast:oe.propT("--chakra-contrast",ln.contrast),hueRotate:oe.degreeT("--chakra-hue-rotate"),invert:oe.propT("--chakra-invert",ln.invert),saturate:oe.propT("--chakra-saturate",ln.saturate),dropShadow:oe.propT("--chakra-drop-shadow",ln.dropShadow),backdropFilter:{transform:ln.backdropFilter},backdropBlur:oe.blur("--chakra-backdrop-blur"),backdropBrightness:oe.propT("--chakra-backdrop-brightness",ln.brightness),backdropContrast:oe.propT("--chakra-backdrop-contrast",ln.contrast),backdropHueRotate:oe.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:oe.propT("--chakra-backdrop-invert",ln.invert),backdropSaturate:oe.propT("--chakra-backdrop-saturate",ln.saturate)},US={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:ln.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:oe.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:oe.space("gap"),rowGap:oe.space("rowGap"),columnGap:oe.space("columnGap")};Object.assign(US,{flexDir:US.flexDirection});var iF={gridGap:oe.space("gridGap"),gridColumnGap:oe.space("gridColumnGap"),gridRowGap:oe.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},tre={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:ln.outline},outlineOffset:!0,outlineColor:oe.colors("outlineColor")},Ka={width:oe.sizesT("width"),inlineSize:oe.sizesT("inlineSize"),height:oe.sizes("height"),blockSize:oe.sizes("blockSize"),boxSize:oe.sizes(["width","height"]),minWidth:oe.sizes("minWidth"),minInlineSize:oe.sizes("minInlineSize"),minHeight:oe.sizes("minHeight"),minBlockSize:oe.sizes("minBlockSize"),maxWidth:oe.sizes("maxWidth"),maxInlineSize:oe.sizes("maxInlineSize"),maxHeight:oe.sizes("maxHeight"),maxBlockSize:oe.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minWQuery)!=null?i:`@media screen and (min-width: ${e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.maxWQuery)!=null?i:`@media screen and (max-width: ${e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:oe.propT("float",ln.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(Ka,{w:Ka.width,h:Ka.height,minW:Ka.minWidth,maxW:Ka.maxWidth,minH:Ka.minHeight,maxH:Ka.maxHeight,overscroll:Ka.overscrollBehavior,overscrollX:Ka.overscrollBehaviorX,overscrollY:Ka.overscrollBehaviorY});var nre={listStyleType:!0,listStylePosition:!0,listStylePos:oe.prop("listStylePosition"),listStyleImage:!0,listStyleImg:oe.prop("listStyleImage")};function rre(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,a)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const s=t.get(r);if(s.has(i))return s.get(i);const l=e(r,i,o,a);return s.set(i,l),l}},ore=ire(rre),are={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},sre={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},R5=(e,t,n)=>{const r={},i=ore(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},lre={srOnly:{transform(e){return e===!0?are:e==="focusable"?sre:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>R5(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>R5(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>R5(t,e,n)}},O1={position:!0,pos:oe.prop("position"),zIndex:oe.prop("zIndex","zIndices"),inset:oe.spaceT("inset"),insetX:oe.spaceT(["left","right"]),insetInline:oe.spaceT("insetInline"),insetY:oe.spaceT(["top","bottom"]),insetBlock:oe.spaceT("insetBlock"),top:oe.spaceT("top"),insetBlockStart:oe.spaceT("insetBlockStart"),bottom:oe.spaceT("bottom"),insetBlockEnd:oe.spaceT("insetBlockEnd"),left:oe.spaceT("left"),insetInlineStart:oe.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:oe.spaceT("right"),insetInlineEnd:oe.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(O1,{insetStart:O1.insetInlineStart,insetEnd:O1.insetInlineEnd});var ure={ring:{transform:ln.ring},ringColor:oe.colors("--chakra-ring-color"),ringOffset:oe.prop("--chakra-ring-offset-width"),ringOffsetColor:oe.colors("--chakra-ring-offset-color"),ringInset:oe.prop("--chakra-ring-inset")},or={margin:oe.spaceT("margin"),marginTop:oe.spaceT("marginTop"),marginBlockStart:oe.spaceT("marginBlockStart"),marginRight:oe.spaceT("marginRight"),marginInlineEnd:oe.spaceT("marginInlineEnd"),marginBottom:oe.spaceT("marginBottom"),marginBlockEnd:oe.spaceT("marginBlockEnd"),marginLeft:oe.spaceT("marginLeft"),marginInlineStart:oe.spaceT("marginInlineStart"),marginX:oe.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:oe.spaceT("marginInline"),marginY:oe.spaceT(["marginTop","marginBottom"]),marginBlock:oe.spaceT("marginBlock"),padding:oe.space("padding"),paddingTop:oe.space("paddingTop"),paddingBlockStart:oe.space("paddingBlockStart"),paddingRight:oe.space("paddingRight"),paddingBottom:oe.space("paddingBottom"),paddingBlockEnd:oe.space("paddingBlockEnd"),paddingLeft:oe.space("paddingLeft"),paddingInlineStart:oe.space("paddingInlineStart"),paddingInlineEnd:oe.space("paddingInlineEnd"),paddingX:oe.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:oe.space("paddingInline"),paddingY:oe.space(["paddingTop","paddingBottom"]),paddingBlock:oe.space("paddingBlock")};Object.assign(or,{m:or.margin,mt:or.marginTop,mr:or.marginRight,me:or.marginInlineEnd,marginEnd:or.marginInlineEnd,mb:or.marginBottom,ml:or.marginLeft,ms:or.marginInlineStart,marginStart:or.marginInlineStart,mx:or.marginX,my:or.marginY,p:or.padding,pt:or.paddingTop,py:or.paddingY,px:or.paddingX,pb:or.paddingBottom,pl:or.paddingLeft,ps:or.paddingInlineStart,paddingStart:or.paddingInlineStart,pr:or.paddingRight,pe:or.paddingInlineEnd,paddingEnd:or.paddingInlineEnd});var cre={textDecorationColor:oe.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:oe.shadows("textShadow")},dre={clipPath:!0,transform:oe.propT("transform",ln.transform),transformOrigin:!0,translateX:oe.spaceT("--chakra-translate-x"),translateY:oe.spaceT("--chakra-translate-y"),skewX:oe.degreeT("--chakra-skew-x"),skewY:oe.degreeT("--chakra-skew-y"),scaleX:oe.prop("--chakra-scale-x"),scaleY:oe.prop("--chakra-scale-y"),scale:oe.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:oe.degreeT("--chakra-rotate")},fre={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:oe.prop("transitionDuration","transition.duration"),transitionProperty:oe.prop("transitionProperty","transition.property"),transitionTimingFunction:oe.prop("transitionTimingFunction","transition.easing")},hre={fontFamily:oe.prop("fontFamily","fonts"),fontSize:oe.prop("fontSize","fontSizes",ln.px),fontWeight:oe.prop("fontWeight","fontWeights"),lineHeight:oe.prop("lineHeight","lineHeights"),letterSpacing:oe.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"}},pre={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:oe.spaceT("scrollMargin"),scrollMarginTop:oe.spaceT("scrollMarginTop"),scrollMarginBottom:oe.spaceT("scrollMarginBottom"),scrollMarginLeft:oe.spaceT("scrollMarginLeft"),scrollMarginRight:oe.spaceT("scrollMarginRight"),scrollMarginX:oe.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:oe.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:oe.spaceT("scrollPadding"),scrollPaddingTop:oe.spaceT("scrollPaddingTop"),scrollPaddingBottom:oe.spaceT("scrollPaddingBottom"),scrollPaddingLeft:oe.spaceT("scrollPaddingLeft"),scrollPaddingRight:oe.spaceT("scrollPaddingRight"),scrollPaddingX:oe.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:oe.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function oF(e){return Eo(e)&&e.reference?e.reference:String(e)}var ww=(e,...t)=>t.map(oF).join(` ${e} `).replace(/calc/g,""),BM=(...e)=>`calc(${ww("+",...e)})`,zM=(...e)=>`calc(${ww("-",...e)})`,f_=(...e)=>`calc(${ww("*",...e)})`,HM=(...e)=>`calc(${ww("/",...e)})`,WM=e=>{const t=oF(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:f_(t,-1)},bh=Object.assign(e=>({add:(...t)=>bh(BM(e,...t)),subtract:(...t)=>bh(zM(e,...t)),multiply:(...t)=>bh(f_(e,...t)),divide:(...t)=>bh(HM(e,...t)),negate:()=>bh(WM(e)),toString:()=>e.toString()}),{add:BM,subtract:zM,multiply:f_,divide:HM,negate:WM});function gre(e,t="-"){return e.replace(/\s+/g,t)}function mre(e){const t=gre(e.toString());return yre(vre(t))}function vre(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function yre(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function bre(e,t=""){return[t,e].filter(Boolean).join("-")}function xre(e,t){return`var(${e}${t?`, ${t}`:""})`}function Sre(e,t=""){return mre(`--${bre(e,t)}`)}function gn(e,t,n){const r=Sre(e,n);return{variable:r,reference:xre(r,t)}}function wre(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function Cre(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function h_(e){if(e==null)return e;const{unitless:t}=Cre(e);return t||typeof e=="number"?`${e}px`:e}var aF=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,E9=e=>Object.fromEntries(Object.entries(e).sort(aF));function UM(e){const t=E9(e);return Object.assign(Object.values(t),t)}function _re(e){const t=Object.keys(E9(e));return new Set(t)}function VM(e){var t;if(!e)return e;e=(t=h_(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function l1(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${h_(e)})`),t&&n.push("and",`(max-width: ${h_(t)})`),n.join(" ")}function kre(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=UM(e),r=Object.entries(e).sort(aF).map(([a,s],l,u)=>{var d;let[,p]=(d=u[l+1])!=null?d:[];return p=parseFloat(p)>0?VM(p):void 0,{_minW:VM(s),breakpoint:a,minW:s,maxW:p,maxWQuery:l1(null,p),minWQuery:l1(s),minMaxQuery:l1(s,p)}}),i=_re(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(a){const s=Object.keys(a);return s.length>0&&s.every(l=>i.has(l))},asObject:E9(e),asArray:UM(e),details:r,get(a){return r.find(s=>s.breakpoint===a)},media:[null,...n.map(a=>l1(a)).slice(1)],toArrayValue(a){if(!Eo(a))throw new Error("toArrayValue: value must be an object");const s=o.map(l=>{var u;return(u=a[l])!=null?u:null});for(;wre(s)===null;)s.pop();return s},toObjectValue(a){if(!Array.isArray(a))throw new Error("toObjectValue: value must be an array");return a.reduce((s,l,u)=>{const d=o[u];return d!=null&&l!=null&&(s[d]=l),s},{})}}}var zi={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}`},ad=e=>sF(t=>e(t,"&"),"[role=group]","[data-group]",".group"),Au=e=>sF(t=>e(t,"~ &"),"[data-peer]",".peer"),sF=(e,...t)=>t.map(e).join(", "),Cw={_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",_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:ad(zi.hover),_peerHover:Au(zi.hover),_groupFocus:ad(zi.focus),_peerFocus:Au(zi.focus),_groupFocusVisible:ad(zi.focusVisible),_peerFocusVisible:Au(zi.focusVisible),_groupActive:ad(zi.active),_peerActive:Au(zi.active),_groupDisabled:ad(zi.disabled),_peerDisabled:Au(zi.disabled),_groupInvalid:ad(zi.invalid),_peerInvalid:Au(zi.invalid),_groupChecked:ad(zi.checked),_peerChecked:Au(zi.checked),_groupFocusWithin:ad(zi.focusWithin),_peerFocusWithin:Au(zi.focusWithin),_peerPlaceholderShown:Au(zi.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]"},Ere=Object.keys(Cw);function GM(e,t){return gn(String(e).replace(/\./g,"-"),void 0,t)}function Pre(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:a,value:s}=o,{variable:l,reference:u}=GM(i,t==null?void 0:t.cssVarPrefix);if(!a){if(i.startsWith("space")){const m=i.split("."),[y,...b]=m,w=`${y}.-${b.join(".")}`,E=bh.negate(s),_=bh.negate(u);r[w]={value:E,var:l,varRef:_}}n[l]=s,r[i]={value:s,var:l,varRef:u};continue}const d=m=>{const b=[String(i).split(".")[0],m].join(".");if(!e[b])return m;const{reference:E}=GM(b,t==null?void 0:t.cssVarPrefix);return E},p=Eo(s)?s:{default:s};n=Bl(n,Object.entries(p).reduce((m,[y,b])=>{var w,E;const _=d(b);if(y==="default")return m[l]=_,m;const k=(E=(w=Cw)==null?void 0:w[y])!=null?E:y;return m[k]={[l]:_},m},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function Tre(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Mre(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var Lre=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function Are(e){return Mre(e,Lre)}function Ore(e){return e.semanticTokens}function Rre(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}function Ire({tokens:e,semanticTokens:t}){var n,r;const i=Object.entries((n=p_(e))!=null?n:{}).map(([a,s])=>[a,{isSemantic:!1,value:s}]),o=Object.entries((r=p_(t,1))!=null?r:{}).map(([a,s])=>[a,{isSemantic:!0,value:s}]);return Object.fromEntries([...i,...o])}function p_(e,t=1/0){return!Eo(e)&&!Array.isArray(e)||!t?e:Object.entries(e).reduce((n,[r,i])=>(Eo(i)||Array.isArray(i)?Object.entries(p_(i,t-1)).forEach(([o,a])=>{n[`${r}.${o}`]=a}):n[r]=i,n),{})}function Dre(e){var t;const n=Rre(e),r=Are(n),i=Ore(n),o=Ire({tokens:r,semanticTokens:i}),a=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:s,cssVars:l}=Pre(o,{cssVarPrefix:a});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:s,__breakpoints:kre(n.breakpoints)}),n}var P9=Bl({},Ux,yn,Jne,US,Ka,ere,ure,tre,iF,lre,O1,d_,or,pre,hre,cre,dre,nre,fre),jre=Object.assign({},or,Ka,US,iF,O1),lF=Object.keys(jre),Nre=[...Object.keys(P9),...Ere],$re={...P9,...Cw},Fre=e=>e in $re,Bre=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const a in e){let s=ts(e[a],t);if(s==null)continue;if(s=Eo(s)&&n(s)?r(s):s,!Array.isArray(s)){o[a]=s;continue}const l=s.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!Hre(t),Ure=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,d;return(d=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:d.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[a,s]=zre(t);return t=(r=(n=i(a))!=null?n:o(s))!=null?r:o(t),t};function Vre(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,a=!1)=>{var s,l,u;const d=ts(o,r),p=Bre(d)(r);let m={};for(let y in p){const b=p[y];let w=ts(b,r);y in n&&(y=n[y]),Wre(y,w)&&(w=Ure(r,w));let E=t[y];if(E===!0&&(E={property:y}),Eo(w)){m[y]=(s=m[y])!=null?s:{},m[y]=Bl({},m[y],i(w,!0));continue}let _=(u=(l=E==null?void 0:E.transform)==null?void 0:l.call(E,w,r,d))!=null?u:w;_=E!=null&&E.processResult?i(_,!0):_;const k=ts(E==null?void 0:E.property,r);if(!a&&(E!=null&&E.static)){const T=ts(E.static,r);m=Bl({},m,T)}if(k&&Array.isArray(k)){for(const T of k)m[T]=_;continue}if(k){k==="&"&&Eo(_)?m=Bl({},m,_):m[k]=_;continue}if(Eo(_)){m=Bl({},m,_);continue}m[y]=_}return m};return i}var uF=e=>t=>Vre({theme:t,pseudos:Cw,configs:P9})(e);function dr(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function Gre(e,t){if(Array.isArray(e))return e;if(Eo(e))return t(e);if(e!=null)return[e]}function qre(e,t){for(let n=t+1;n{Bl(u,{[T]:m?k[T]:{[_]:k[T]}})});continue}if(!y){m?Bl(u,k):u[_]=k;continue}u[_]=k}}return u}}function Yre(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,a=Kre(o);return Bl({},ts((n=e.baseStyle)!=null?n:{},t),a(e,"sizes",i,t),a(e,"variants",r,t))}}function Xre(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 fr(e){return Tre(e,["styleConfig","size","variant","colorScheme"])}var Zre={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},Qre=Zre,Jre={base:"0em",sm:"30em",md:"48em",lg:"62em",xl:"80em","2xl":"96em"},eie=Jre,tie={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"}},nie=tie,rie={none:"0",sm:"0.125rem",base:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},iie=rie,oie={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"},aie=oie,sie={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"},lie={"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)"},uie={"ultra-fast":"50ms",faster:"100ms",fast:"150ms",normal:"200ms",slow:"300ms",slower:"400ms","ultra-slow":"500ms"},cie={property:sie,easing:lie,duration:uie},die=cie,fie={none:0,sm:"4px",base:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},hie=fie,pie={none:0,"1px":"1px solid","2px":"2px solid","4px":"4px solid","8px":"8px solid"},gie=pie,mie={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"}},cF=mie,dF={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"},vie={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"},yie={sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},bie={...dF,...vie,container:yie},fF=bie,xie={breakpoints:eie,zIndices:Qre,radii:iie,blur:hie,colors:nie,...cF,sizes:fF,shadows:aie,space:dF,borders:gie,transition:die};function En(e,t={}){let n=!1;function r(){if(!n){n=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function i(...d){r();for(const p of d)t[p]=l(p);return En(e,t)}function o(...d){for(const p of d)p in t||(t[p]=l(p));return En(e,t)}function a(){return Object.fromEntries(Object.entries(t).map(([p,m])=>[p,m.selector]))}function s(){return Object.fromEntries(Object.entries(t).map(([p,m])=>[p,m.className]))}function l(d){const y=`chakra-${(["container","root"].includes(d??"")?[e]:[e,d]).filter(Boolean).join("__")}`;return{className:y,selector:`.${y}`,toString:()=>d}}return{parts:i,toPart:l,extend:o,selectors:a,classnames:s,get keys(){return Object.keys(t)},__type:{}}}var Sie=En("accordion").parts("root","container","button","panel").extend("icon"),wie=En("alert").parts("title","description","container").extend("icon","spinner"),Cie=En("avatar").parts("label","badge","container").extend("excessLabel","group"),_ie=En("breadcrumb").parts("link","item","container").extend("separator");En("button").parts();var kie=En("checkbox").parts("control","icon","container").extend("label");En("progress").parts("track","filledTrack").extend("label");var Eie=En("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Pie=En("editable").parts("preview","input","textarea"),Tie=En("form").parts("container","requiredIndicator","helperText"),Mie=En("formError").parts("text","icon"),Lie=En("input").parts("addon","field","element"),Aie=En("list").parts("container","item","icon"),Oie=En("menu").parts("button","list","item").extend("groupTitle","command","divider"),Rie=En("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Iie=En("numberinput").parts("root","field","stepperGroup","stepper");En("pininput").parts("field");var Die=En("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),jie=En("progress").parts("label","filledTrack","track"),Nie=En("radio").parts("container","control","label"),$ie=En("select").parts("field","icon"),Fie=En("slider").parts("container","track","thumb","filledTrack","mark"),Bie=En("stat").parts("container","label","helpText","number","icon"),zie=En("switch").parts("container","track","thumb"),Hie=En("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),Wie=En("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),Uie=En("tag").parts("container","label","closeButton"),Vie=En("card").parts("container","header","body","footer");function kh(e,t,n){return Math.min(Math.max(e,n),t)}class Gie extends Error{constructor(t){super(`Failed to parse color: "${t}"`)}}var u1=Gie;function T9(e){if(typeof e!="string")throw new u1(e);if(e.trim().toLowerCase()==="transparent")return[0,0,0,0];let t=e.trim();t=eoe.test(e)?Yie(e):e;const n=Xie.exec(t);if(n){const a=Array.from(n).slice(1);return[...a.slice(0,3).map(s=>parseInt(xy(s,2),16)),parseInt(xy(a[3]||"f",2),16)/255]}const r=Zie.exec(t);if(r){const a=Array.from(r).slice(1);return[...a.slice(0,3).map(s=>parseInt(s,16)),parseInt(a[3]||"ff",16)/255]}const i=Qie.exec(t);if(i){const a=Array.from(i).slice(1);return[...a.slice(0,3).map(s=>parseInt(s,10)),parseFloat(a[3]||"1")]}const o=Jie.exec(t);if(o){const[a,s,l,u]=Array.from(o).slice(1).map(parseFloat);if(kh(0,100,s)!==s)throw new u1(e);if(kh(0,100,l)!==l)throw new u1(e);return[...toe(a,s,l),Number.isNaN(u)?1:u]}throw new u1(e)}function qie(e){let t=5381,n=e.length;for(;n;)t=t*33^e.charCodeAt(--n);return(t>>>0)%2341}const qM=e=>parseInt(e.replace(/_/g,""),36),Kie="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,t)=>{const n=qM(t.substring(0,3)),r=qM(t.substring(3)).toString(16);let i="";for(let o=0;o<6-r.length;o++)i+="0";return e[n]=`${i}${r}`,e},{});function Yie(e){const t=e.toLowerCase().trim(),n=Kie[qie(t)];if(!n)throw new u1(e);return`#${n}`}const xy=(e,t)=>Array.from(Array(t)).map(()=>e).join(""),Xie=new RegExp(`^#${xy("([a-f0-9])",3)}([a-f0-9])?$`,"i"),Zie=new RegExp(`^#${xy("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),Qie=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${xy(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),Jie=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,eoe=/^[a-z]+$/i,KM=e=>Math.round(e*255),toe=(e,t,n)=>{let r=n/100;if(t===0)return[r,r,r].map(KM);const i=(e%360+360)%360/60,o=(1-Math.abs(2*r-1))*(t/100),a=o*(1-Math.abs(i%2-1));let s=0,l=0,u=0;i>=0&&i<1?(s=o,l=a):i>=1&&i<2?(s=a,l=o):i>=2&&i<3?(l=o,u=a):i>=3&&i<4?(l=a,u=o):i>=4&&i<5?(s=a,u=o):i>=5&&i<6&&(s=o,u=a);const d=r-o/2,p=s+d,m=l+d,y=u+d;return[p,m,y].map(KM)};function noe(e,t,n,r){return`rgba(${kh(0,255,e).toFixed()}, ${kh(0,255,t).toFixed()}, ${kh(0,255,n).toFixed()}, ${parseFloat(kh(0,1,r).toFixed(3))})`}function roe(e,t){const[n,r,i,o]=T9(e);return noe(n,r,i,o-t)}function ioe(e){const[t,n,r,i]=T9(e);let o=a=>{const s=kh(0,255,a).toString(16);return s.length===1?`0${s}`:s};return`#${o(t)}${o(n)}${o(r)}${i<1?o(Math.round(i*255)):""}`}function ooe(e,t,n,r,i){for(t=t.split?t.split("."):t,r=0;rObject.keys(e).length===0,Co=(e,t,n)=>{const r=ooe(e,`colors.${t}`,t);try{return ioe(r),r}catch{return n??"#000000"}},soe=e=>{const[t,n,r]=T9(e);return(t*299+n*587+r*114)/1e3},loe=e=>t=>{const n=Co(t,e);return soe(n)<128?"dark":"light"},uoe=e=>t=>loe(e)(t)==="dark",Um=(e,t)=>n=>{const r=Co(n,e);return roe(r,1-t)};function YM(e="1rem",t="rgba(255, 255, 255, 0.15)"){return{backgroundImage:`linear-gradient( - 45deg, - ${t} 25%, - transparent 25%, - transparent 50%, - ${t} 50%, - ${t} 75%, - transparent 75%, - transparent - )`,backgroundSize:`${e} ${e}`}}var coe=()=>`#${Math.floor(Math.random()*16777215).toString(16).padEnd(6,"0")}`;function doe(e){const t=coe();return!e||aoe(e)?t:e.string&&e.colors?hoe(e.string,e.colors):e.string&&!e.colors?foe(e.string):e.colors&&!e.string?poe(e.colors):t}function foe(e){let t=0;if(e.length===0)return t.toString();for(let r=0;r>r*8&255;n+=`00${i.toString(16)}`.substr(-2)}return n}function hoe(e,t){let n=0;if(e.length===0)return t[0];for(let r=0;rn.colorMode==="dark"?t:e}function M9(e){const{orientation:t,vertical:n,horizontal:r}=e;return t?t==="vertical"?n:r:{}}function hF(e){return Eo(e)&&e.reference?e.reference:String(e)}var _w=(e,...t)=>t.map(hF).join(` ${e} `).replace(/calc/g,""),XM=(...e)=>`calc(${_w("+",...e)})`,ZM=(...e)=>`calc(${_w("-",...e)})`,g_=(...e)=>`calc(${_w("*",...e)})`,QM=(...e)=>`calc(${_w("/",...e)})`,JM=e=>{const t=hF(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:g_(t,-1)},Nu=Object.assign(e=>({add:(...t)=>Nu(XM(e,...t)),subtract:(...t)=>Nu(ZM(e,...t)),multiply:(...t)=>Nu(g_(e,...t)),divide:(...t)=>Nu(QM(e,...t)),negate:()=>Nu(JM(e)),toString:()=>e.toString()}),{add:XM,subtract:ZM,multiply:g_,divide:QM,negate:JM});function goe(e){return!Number.isInteger(parseFloat(e.toString()))}function moe(e,t="-"){return e.replace(/\s+/g,t)}function pF(e){const t=moe(e.toString());return t.includes("\\.")?e:goe(e)?t.replace(".","\\."):e}function voe(e,t=""){return[t,pF(e)].filter(Boolean).join("-")}function yoe(e,t){return`var(${pF(e)}${t?`, ${t}`:""})`}function boe(e,t=""){return`--${voe(e,t)}`}function yi(e,t){const n=boe(e,t==null?void 0:t.prefix);return{variable:n,reference:yoe(n,xoe(t==null?void 0:t.fallback))}}function xoe(e){return typeof e=="string"?e:e==null?void 0:e.reference}var{defineMultiStyleConfig:Soe,definePartsStyle:Vx}=dr(zie.keys),R1=yi("switch-track-width"),Ah=yi("switch-track-height"),I5=yi("switch-track-diff"),woe=Nu.subtract(R1,Ah),m_=yi("switch-thumb-x"),Bv=yi("switch-bg"),Coe=e=>{const{colorScheme:t}=e;return{borderRadius:"full",p:"0.5",width:[R1.reference],height:[Ah.reference],transitionProperty:"common",transitionDuration:"fast",[Bv.variable]:"colors.gray.300",_dark:{[Bv.variable]:"colors.whiteAlpha.400"},_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed"},_checked:{[Bv.variable]:`colors.${t}.500`,_dark:{[Bv.variable]:`colors.${t}.200`}},bg:Bv.reference}},_oe={bg:"white",transitionProperty:"transform",transitionDuration:"normal",borderRadius:"inherit",width:[Ah.reference],height:[Ah.reference],_checked:{transform:`translateX(${m_.reference})`}},koe=Vx(e=>({container:{[I5.variable]:woe,[m_.variable]:I5.reference,_rtl:{[m_.variable]:Nu(I5).negate().toString()}},track:Coe(e),thumb:_oe})),Eoe={sm:Vx({container:{[R1.variable]:"1.375rem",[Ah.variable]:"sizes.3"}}),md:Vx({container:{[R1.variable]:"1.875rem",[Ah.variable]:"sizes.4"}}),lg:Vx({container:{[R1.variable]:"2.875rem",[Ah.variable]:"sizes.6"}})},Poe=Soe({baseStyle:koe,sizes:Eoe,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Toe,definePartsStyle:ym}=dr(Hie.keys),Moe=ym({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"}}),VS={"&[data-is-numeric=true]":{textAlign:"end"}},Loe=ym(e=>{const{colorScheme:t}=e;return{th:{color:wt("gray.600","gray.400")(e),borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},td:{borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},caption:{color:wt("gray.600","gray.100")(e)},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Aoe=ym(e=>{const{colorScheme:t}=e;return{th:{color:wt("gray.600","gray.400")(e),borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},td:{borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},caption:{color:wt("gray.600","gray.100")(e)},tbody:{tr:{"&:nth-of-type(odd)":{"th, td":{borderBottomWidth:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e)},td:{background:wt(`${t}.100`,`${t}.700`)(e)}}}},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Ooe={simple:Loe,striped:Aoe,unstyled:{}},Roe={sm:ym({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:ym({th:{px:"6",py:"3",lineHeight:"4",fontSize:"xs"},td:{px:"6",py:"4",lineHeight:"5"},caption:{px:"6",py:"2",fontSize:"sm"}}),lg:ym({th:{px:"8",py:"4",lineHeight:"5",fontSize:"sm"},td:{px:"8",py:"5",lineHeight:"6"},caption:{px:"6",py:"2",fontSize:"md"}})},Ioe=Toe({baseStyle:Moe,variants:Ooe,sizes:Roe,defaultProps:{variant:"simple",size:"md",colorScheme:"gray"}}),Go=gn("tabs-color"),Us=gn("tabs-bg"),Db=gn("tabs-border-color"),{defineMultiStyleConfig:Doe,definePartsStyle:Kl}=dr(Wie.keys),joe=e=>{const{orientation:t}=e;return{display:t==="vertical"?"flex":"block"}},Noe=e=>{const{isFitted:t}=e;return{flex:t?1:void 0,transitionProperty:"common",transitionDuration:"normal",_focusVisible:{zIndex:1,boxShadow:"outline"},_disabled:{cursor:"not-allowed",opacity:.4}}},$oe=e=>{const{align:t="start",orientation:n}=e;return{justifyContent:{end:"flex-end",center:"center",start:"flex-start"}[t],flexDirection:n==="vertical"?"column":"row"}},Foe={p:4},Boe=Kl(e=>({root:joe(e),tab:Noe(e),tablist:$oe(e),tabpanel:Foe})),zoe={sm:Kl({tab:{py:1,px:4,fontSize:"sm"}}),md:Kl({tab:{fontSize:"md",py:2,px:4}}),lg:Kl({tab:{fontSize:"lg",py:3,px:4}})},Hoe=Kl(e=>{const{colorScheme:t,orientation:n}=e,r=n==="vertical",i=n==="vertical"?"borderStart":"borderBottom",o=r?"marginStart":"marginBottom";return{tablist:{[i]:"2px solid",borderColor:"inherit"},tab:{[i]:"2px solid",borderColor:"transparent",[o]:"-2px",_selected:{[Go.variable]:`colors.${t}.600`,_dark:{[Go.variable]:`colors.${t}.300`},borderColor:"currentColor"},_active:{[Us.variable]:"colors.gray.200",_dark:{[Us.variable]:"colors.whiteAlpha.300"}},_disabled:{_active:{bg:"none"}},color:Go.reference,bg:Us.reference}}}),Woe=Kl(e=>{const{colorScheme:t}=e;return{tab:{borderTopRadius:"md",border:"1px solid",borderColor:"transparent",mb:"-1px",[Db.variable]:"transparent",_selected:{[Go.variable]:`colors.${t}.600`,[Db.variable]:"colors.white",_dark:{[Go.variable]:`colors.${t}.300`,[Db.variable]:"colors.gray.800"},borderColor:"inherit",borderBottomColor:Db.reference},color:Go.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),Uoe=Kl(e=>{const{colorScheme:t}=e;return{tab:{border:"1px solid",borderColor:"inherit",[Us.variable]:"colors.gray.50",_dark:{[Us.variable]:"colors.whiteAlpha.50"},mb:"-1px",_notLast:{marginEnd:"-1px"},_selected:{[Us.variable]:"colors.white",[Go.variable]:`colors.${t}.600`,_dark:{[Us.variable]:"colors.gray.800",[Go.variable]:`colors.${t}.300`},borderColor:"inherit",borderTopColor:"currentColor",borderBottomColor:"transparent"},color:Go.reference,bg:Us.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),Voe=Kl(e=>{const{colorScheme:t,theme:n}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",color:"gray.600",_selected:{color:Co(n,`${t}.700`),bg:Co(n,`${t}.100`)}}}}),Goe=Kl(e=>{const{colorScheme:t}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",[Go.variable]:"colors.gray.600",_dark:{[Go.variable]:"inherit"},_selected:{[Go.variable]:"colors.white",[Us.variable]:`colors.${t}.600`,_dark:{[Go.variable]:"colors.gray.800",[Us.variable]:`colors.${t}.300`}},color:Go.reference,bg:Us.reference}}}),qoe=Kl({}),Koe={line:Hoe,enclosed:Woe,"enclosed-colored":Uoe,"soft-rounded":Voe,"solid-rounded":Goe,unstyled:qoe},Yoe=Doe({baseStyle:Boe,sizes:zoe,variants:Koe,defaultProps:{size:"md",variant:"line",colorScheme:"blue"}}),Xoe={px:1,textTransform:"uppercase",fontSize:"xs",borderRadius:"sm",fontWeight:"bold"},bm=gn("badge-bg"),zl=gn("badge-color"),Zoe=e=>{const{colorScheme:t,theme:n}=e,r=Um(`${t}.500`,.6)(n);return{[bm.variable]:`colors.${t}.500`,[zl.variable]:"colors.white",_dark:{[bm.variable]:r,[zl.variable]:"colors.whiteAlpha.800"},bg:bm.reference,color:zl.reference}},Qoe=e=>{const{colorScheme:t,theme:n}=e,r=Um(`${t}.200`,.16)(n);return{[bm.variable]:`colors.${t}.100`,[zl.variable]:`colors.${t}.800`,_dark:{[bm.variable]:r,[zl.variable]:`colors.${t}.200`},bg:bm.reference,color:zl.reference}},Joe=e=>{const{colorScheme:t,theme:n}=e,r=Um(`${t}.200`,.8)(n);return{[zl.variable]:`colors.${t}.500`,_dark:{[zl.variable]:r},color:zl.reference,boxShadow:`inset 0 0 0px 1px ${zl.reference}`}},eae={solid:Zoe,subtle:Qoe,outline:Joe},I1={baseStyle:Xoe,variants:eae,defaultProps:{variant:"subtle",colorScheme:"gray"}},{defineMultiStyleConfig:tae,definePartsStyle:Oh}=dr(Uie.keys),nae={fontWeight:"medium",lineHeight:1.2,outline:0,borderRadius:"md",_focusVisible:{boxShadow:"outline"}},rae={lineHeight:1.2,overflow:"visible"},iae={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}},oae=Oh({container:nae,label:rae,closeButton:iae}),aae={sm:Oh({container:{minH:"5",minW:"5",fontSize:"xs",px:"2"},closeButton:{marginEnd:"-2px",marginStart:"0.35rem"}}),md:Oh({container:{minH:"6",minW:"6",fontSize:"sm",px:"2"}}),lg:Oh({container:{minH:"8",minW:"8",fontSize:"md",px:"3"}})},sae={subtle:Oh(e=>{var t;return{container:(t=I1.variants)==null?void 0:t.subtle(e)}}),solid:Oh(e=>{var t;return{container:(t=I1.variants)==null?void 0:t.solid(e)}}),outline:Oh(e=>{var t;return{container:(t=I1.variants)==null?void 0:t.outline(e)}})},lae=tae({variants:sae,baseStyle:oae,sizes:aae,defaultProps:{size:"md",variant:"subtle",colorScheme:"gray"}}),{definePartsStyle:zu,defineMultiStyleConfig:uae}=dr(Lie.keys),cae=zu({field:{width:"100%",minWidth:0,outline:0,position:"relative",appearance:"none",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed"}}}),sd={lg:{fontSize:"lg",px:"4",h:"12",borderRadius:"md"},md:{fontSize:"md",px:"4",h:"10",borderRadius:"md"},sm:{fontSize:"sm",px:"3",h:"8",borderRadius:"sm"},xs:{fontSize:"xs",px:"2",h:"6",borderRadius:"sm"}},dae={lg:zu({field:sd.lg,addon:sd.lg}),md:zu({field:sd.md,addon:sd.md}),sm:zu({field:sd.sm,addon:sd.sm}),xs:zu({field:sd.xs,addon:sd.xs})};function L9(e){const{focusBorderColor:t,errorBorderColor:n}=e;return{focusBorderColor:t||wt("blue.500","blue.300")(e),errorBorderColor:n||wt("red.500","red.300")(e)}}var fae=zu(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=L9(e);return{field:{border:"1px solid",borderColor:"inherit",bg:"inherit",_hover:{borderColor:wt("gray.300","whiteAlpha.400")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:Co(t,r),boxShadow:`0 0 0 1px ${Co(t,r)}`},_focusVisible:{zIndex:1,borderColor:Co(t,n),boxShadow:`0 0 0 1px ${Co(t,n)}`}},addon:{border:"1px solid",borderColor:wt("inherit","whiteAlpha.50")(e),bg:wt("gray.100","whiteAlpha.300")(e)}}}),hae=zu(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=L9(e);return{field:{border:"2px solid",borderColor:"transparent",bg:wt("gray.100","whiteAlpha.50")(e),_hover:{bg:wt("gray.200","whiteAlpha.100")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:Co(t,r)},_focusVisible:{bg:"transparent",borderColor:Co(t,n)}},addon:{border:"2px solid",borderColor:"transparent",bg:wt("gray.100","whiteAlpha.50")(e)}}}),pae=zu(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=L9(e);return{field:{borderBottom:"1px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent",_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:Co(t,r),boxShadow:`0px 1px 0px 0px ${Co(t,r)}`},_focusVisible:{borderColor:Co(t,n),boxShadow:`0px 1px 0px 0px ${Co(t,n)}`}},addon:{borderBottom:"2px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent"}}}),gae=zu({field:{bg:"transparent",px:"0",height:"auto"},addon:{bg:"transparent",px:"0",height:"auto"}}),mae={outline:fae,filled:hae,flushed:pae,unstyled:gae},xn=uae({baseStyle:cae,sizes:dae,variants:mae,defaultProps:{size:"md",variant:"outline"}}),eL,vae={...(eL=xn.baseStyle)==null?void 0:eL.field,paddingY:"2",minHeight:"20",lineHeight:"short",verticalAlign:"top"},tL,nL,yae={outline:e=>{var t,n;return(n=(t=xn.variants)==null?void 0:t.outline(e).field)!=null?n:{}},flushed:e=>{var t,n;return(n=(t=xn.variants)==null?void 0:t.flushed(e).field)!=null?n:{}},filled:e=>{var t,n;return(n=(t=xn.variants)==null?void 0:t.filled(e).field)!=null?n:{}},unstyled:(nL=(tL=xn.variants)==null?void 0:tL.unstyled.field)!=null?nL:{}},rL,iL,oL,aL,sL,lL,uL,cL,bae={xs:(iL=(rL=xn.sizes)==null?void 0:rL.xs.field)!=null?iL:{},sm:(aL=(oL=xn.sizes)==null?void 0:oL.sm.field)!=null?aL:{},md:(lL=(sL=xn.sizes)==null?void 0:sL.md.field)!=null?lL:{},lg:(cL=(uL=xn.sizes)==null?void 0:uL.lg.field)!=null?cL:{}},xae={baseStyle:vae,sizes:bae,variants:yae,defaultProps:{size:"md",variant:"outline"}},jb=yi("tooltip-bg"),D5=yi("tooltip-fg"),Sae=yi("popper-arrow-bg"),wae={bg:jb.reference,color:D5.reference,[jb.variable]:"colors.gray.700",[D5.variable]:"colors.whiteAlpha.900",_dark:{[jb.variable]:"colors.gray.300",[D5.variable]:"colors.gray.900"},[Sae.variable]:jb.reference,px:"2",py:"0.5",borderRadius:"sm",fontWeight:"medium",fontSize:"sm",boxShadow:"md",maxW:"xs",zIndex:"tooltip"},Cae={baseStyle:wae},{defineMultiStyleConfig:_ae,definePartsStyle:c1}=dr(jie.keys),kae=e=>{const{colorScheme:t,theme:n,isIndeterminate:r,hasStripe:i}=e,o=wt(YM(),YM("1rem","rgba(0,0,0,0.1)"))(e),a=wt(`${t}.500`,`${t}.200`)(e),s=`linear-gradient( - to right, - transparent 0%, - ${Co(n,a)} 50%, - transparent 100% - )`;return{...!r&&i&&o,...r?{bgImage:s}:{bgColor:a}}},Eae={lineHeight:"1",fontSize:"0.25em",fontWeight:"bold",color:"white"},Pae=e=>({bg:wt("gray.100","whiteAlpha.300")(e)}),Tae=e=>({transitionProperty:"common",transitionDuration:"slow",...kae(e)}),Mae=c1(e=>({label:Eae,filledTrack:Tae(e),track:Pae(e)})),Lae={xs:c1({track:{h:"1"}}),sm:c1({track:{h:"2"}}),md:c1({track:{h:"3"}}),lg:c1({track:{h:"4"}})},Aae=_ae({sizes:Lae,baseStyle:Mae,defaultProps:{size:"md",colorScheme:"blue"}}),Oae=e=>typeof e=="function";function Po(e,...t){return Oae(e)?e(...t):e}var{definePartsStyle:Gx,defineMultiStyleConfig:Rae}=dr(kie.keys),D1=gn("checkbox-size"),Iae=e=>{const{colorScheme:t}=e;return{w:D1.reference,h:D1.reference,transitionProperty:"box-shadow",transitionDuration:"normal",border:"2px solid",borderRadius:"sm",borderColor:"inherit",color:"white",_checked:{bg:wt(`${t}.500`,`${t}.200`)(e),borderColor:wt(`${t}.500`,`${t}.200`)(e),color:wt("white","gray.900")(e),_hover:{bg:wt(`${t}.600`,`${t}.300`)(e),borderColor:wt(`${t}.600`,`${t}.300`)(e)},_disabled:{borderColor:wt("gray.200","transparent")(e),bg:wt("gray.200","whiteAlpha.300")(e),color:wt("gray.500","whiteAlpha.500")(e)}},_indeterminate:{bg:wt(`${t}.500`,`${t}.200`)(e),borderColor:wt(`${t}.500`,`${t}.200`)(e),color:wt("white","gray.900")(e)},_disabled:{bg:wt("gray.100","whiteAlpha.100")(e),borderColor:wt("gray.100","transparent")(e)},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:wt("red.500","red.300")(e)}}},Dae={_disabled:{cursor:"not-allowed"}},jae={userSelect:"none",_disabled:{opacity:.4}},Nae={transitionProperty:"transform",transitionDuration:"normal"},$ae=Gx(e=>({icon:Nae,container:Dae,control:Po(Iae,e),label:jae})),Fae={sm:Gx({control:{[D1.variable]:"sizes.3"},label:{fontSize:"sm"},icon:{fontSize:"3xs"}}),md:Gx({control:{[D1.variable]:"sizes.4"},label:{fontSize:"md"},icon:{fontSize:"2xs"}}),lg:Gx({control:{[D1.variable]:"sizes.5"},label:{fontSize:"lg"},icon:{fontSize:"2xs"}})},GS=Rae({baseStyle:$ae,sizes:Fae,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Bae,definePartsStyle:qx}=dr(Nie.keys),zae=e=>{var t;const n=(t=Po(GS.baseStyle,e))==null?void 0:t.control;return{...n,borderRadius:"full",_checked:{...n==null?void 0:n._checked,_before:{content:'""',display:"inline-block",pos:"relative",w:"50%",h:"50%",borderRadius:"50%",bg:"currentColor"}}}},Hae=qx(e=>{var t,n,r,i;return{label:(n=(t=GS).baseStyle)==null?void 0:n.call(t,e).label,container:(i=(r=GS).baseStyle)==null?void 0:i.call(r,e).container,control:zae(e)}}),Wae={md:qx({control:{w:"4",h:"4"},label:{fontSize:"md"}}),lg:qx({control:{w:"5",h:"5"},label:{fontSize:"lg"}}),sm:qx({control:{width:"3",height:"3"},label:{fontSize:"sm"}})},Uae=Bae({baseStyle:Hae,sizes:Wae,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Vae,definePartsStyle:Gae}=dr($ie.keys),Nb=gn("select-bg"),dL,qae={...(dL=xn.baseStyle)==null?void 0:dL.field,appearance:"none",paddingBottom:"1px",lineHeight:"normal",bg:Nb.reference,[Nb.variable]:"colors.white",_dark:{[Nb.variable]:"colors.gray.700"},"> option, > optgroup":{bg:Nb.reference}},Kae={width:"6",height:"100%",insetEnd:"2",position:"relative",color:"currentColor",fontSize:"xl",_disabled:{opacity:.5}},Yae=Gae({field:qae,icon:Kae}),$b={paddingInlineEnd:"8"},fL,hL,pL,gL,mL,vL,yL,bL,Xae={lg:{...(fL=xn.sizes)==null?void 0:fL.lg,field:{...(hL=xn.sizes)==null?void 0:hL.lg.field,...$b}},md:{...(pL=xn.sizes)==null?void 0:pL.md,field:{...(gL=xn.sizes)==null?void 0:gL.md.field,...$b}},sm:{...(mL=xn.sizes)==null?void 0:mL.sm,field:{...(vL=xn.sizes)==null?void 0:vL.sm.field,...$b}},xs:{...(yL=xn.sizes)==null?void 0:yL.xs,field:{...(bL=xn.sizes)==null?void 0:bL.xs.field,...$b},icon:{insetEnd:"1"}}},Zae=Vae({baseStyle:Yae,sizes:Xae,variants:xn.variants,defaultProps:xn.defaultProps}),j5=gn("skeleton-start-color"),N5=gn("skeleton-end-color"),Qae={[j5.variable]:"colors.gray.100",[N5.variable]:"colors.gray.400",_dark:{[j5.variable]:"colors.gray.800",[N5.variable]:"colors.gray.600"},background:j5.reference,borderColor:N5.reference,opacity:.7,borderRadius:"sm"},Jae={baseStyle:Qae},$5=gn("skip-link-bg"),ese={borderRadius:"md",fontWeight:"semibold",_focusVisible:{boxShadow:"outline",padding:"4",position:"fixed",top:"6",insetStart:"6",[$5.variable]:"colors.white",_dark:{[$5.variable]:"colors.gray.700"},bg:$5.reference}},tse={baseStyle:ese},{defineMultiStyleConfig:nse,definePartsStyle:kw}=dr(Fie.keys),Sy=gn("slider-thumb-size"),wy=gn("slider-track-size"),bd=gn("slider-bg"),rse=e=>{const{orientation:t}=e;return{display:"inline-block",position:"relative",cursor:"pointer",_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"},...M9({orientation:t,vertical:{h:"100%"},horizontal:{w:"100%"}})}},ise=e=>({...M9({orientation:e.orientation,horizontal:{h:wy.reference},vertical:{w:wy.reference}}),overflow:"hidden",borderRadius:"sm",[bd.variable]:"colors.gray.200",_dark:{[bd.variable]:"colors.whiteAlpha.200"},_disabled:{[bd.variable]:"colors.gray.300",_dark:{[bd.variable]:"colors.whiteAlpha.300"}},bg:bd.reference}),ose=e=>{const{orientation:t}=e;return{...M9({orientation:t,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:Sy.reference,h:Sy.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"}}},ase=e=>{const{colorScheme:t}=e;return{width:"inherit",height:"inherit",[bd.variable]:`colors.${t}.500`,_dark:{[bd.variable]:`colors.${t}.200`},bg:bd.reference}},sse=kw(e=>({container:rse(e),track:ise(e),thumb:ose(e),filledTrack:ase(e)})),lse=kw({container:{[Sy.variable]:"sizes.4",[wy.variable]:"sizes.1"}}),use=kw({container:{[Sy.variable]:"sizes.3.5",[wy.variable]:"sizes.1"}}),cse=kw({container:{[Sy.variable]:"sizes.2.5",[wy.variable]:"sizes.0.5"}}),dse={lg:lse,md:use,sm:cse},fse=nse({baseStyle:sse,sizes:dse,defaultProps:{size:"md",colorScheme:"blue"}}),xh=yi("spinner-size"),hse={width:[xh.reference],height:[xh.reference]},pse={xs:{[xh.variable]:"sizes.3"},sm:{[xh.variable]:"sizes.4"},md:{[xh.variable]:"sizes.6"},lg:{[xh.variable]:"sizes.8"},xl:{[xh.variable]:"sizes.12"}},gse={baseStyle:hse,sizes:pse,defaultProps:{size:"md"}},{defineMultiStyleConfig:mse,definePartsStyle:gF}=dr(Bie.keys),vse={fontWeight:"medium"},yse={opacity:.8,marginBottom:"2"},bse={verticalAlign:"baseline",fontWeight:"semibold"},xse={marginEnd:1,w:"3.5",h:"3.5",verticalAlign:"middle"},Sse=gF({container:{},label:vse,helpText:yse,number:bse,icon:xse}),wse={md:gF({label:{fontSize:"sm"},helpText:{fontSize:"sm"},number:{fontSize:"2xl"}})},Cse=mse({baseStyle:Sse,sizes:wse,defaultProps:{size:"md"}}),F5=gn("kbd-bg"),_se={[F5.variable]:"colors.gray.100",_dark:{[F5.variable]:"colors.whiteAlpha.100"},bg:F5.reference,borderRadius:"md",borderWidth:"1px",borderBottomWidth:"3px",fontSize:"0.8em",fontWeight:"bold",lineHeight:"normal",px:"0.4em",whiteSpace:"nowrap"},kse={baseStyle:_se},Ese={transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}},Pse={baseStyle:Ese},{defineMultiStyleConfig:Tse,definePartsStyle:Mse}=dr(Aie.keys),Lse={marginEnd:"2",display:"inline",verticalAlign:"text-bottom"},Ase=Mse({icon:Lse}),Ose=Tse({baseStyle:Ase}),{defineMultiStyleConfig:Rse,definePartsStyle:Ise}=dr(Oie.keys),Rl=gn("menu-bg"),B5=gn("menu-shadow"),Dse={[Rl.variable]:"#fff",[B5.variable]:"shadows.sm",_dark:{[Rl.variable]:"colors.gray.700",[B5.variable]:"shadows.dark-lg"},color:"inherit",minW:"3xs",py:"2",zIndex:1,borderRadius:"md",borderWidth:"1px",bg:Rl.reference,boxShadow:B5.reference},jse={py:"1.5",px:"3",transitionProperty:"background",transitionDuration:"ultra-fast",transitionTimingFunction:"ease-in",_focus:{[Rl.variable]:"colors.gray.100",_dark:{[Rl.variable]:"colors.whiteAlpha.100"}},_active:{[Rl.variable]:"colors.gray.200",_dark:{[Rl.variable]:"colors.whiteAlpha.200"}},_expanded:{[Rl.variable]:"colors.gray.100",_dark:{[Rl.variable]:"colors.whiteAlpha.100"}},_disabled:{opacity:.4,cursor:"not-allowed"},bg:Rl.reference},Nse={mx:4,my:2,fontWeight:"semibold",fontSize:"sm"},$se={opacity:.6},Fse={border:0,borderBottom:"1px solid",borderColor:"inherit",my:"2",opacity:.6},Bse={transitionProperty:"common",transitionDuration:"normal"},zse=Ise({button:Bse,list:Dse,item:jse,groupTitle:Nse,command:$se,divider:Fse}),Hse=Rse({baseStyle:zse}),{defineMultiStyleConfig:Wse,definePartsStyle:v_}=dr(Rie.keys),Use={bg:"blackAlpha.600",zIndex:"modal"},Vse=e=>{const{isCentered:t,scrollBehavior:n}=e;return{display:"flex",zIndex:"modal",justifyContent:"center",alignItems:t?"center":"flex-start",overflow:n==="inside"?"hidden":"auto",overscrollBehaviorY:"none"}},Gse=e=>{const{scrollBehavior:t}=e;return{borderRadius:"md",bg:wt("white","gray.700")(e),color:"inherit",my:"16",zIndex:"modal",maxH:t==="inside"?"calc(100% - 7.5rem)":void 0,boxShadow:wt("lg","dark-lg")(e)}},qse={px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"},Kse={position:"absolute",top:"2",insetEnd:"3"},Yse=e=>{const{scrollBehavior:t}=e;return{px:"6",py:"2",flex:"1",overflow:t==="inside"?"auto":void 0}},Xse={px:"6",py:"4"},Zse=v_(e=>({overlay:Use,dialogContainer:Po(Vse,e),dialog:Po(Gse,e),header:qse,closeButton:Kse,body:Po(Yse,e),footer:Xse}));function js(e){return v_(e==="full"?{dialog:{maxW:"100vw",minH:"$100vh",my:"0",borderRadius:"0"}}:{dialog:{maxW:e}})}var Qse={xs:js("xs"),sm:js("sm"),md:js("md"),lg:js("lg"),xl:js("xl"),"2xl":js("2xl"),"3xl":js("3xl"),"4xl":js("4xl"),"5xl":js("5xl"),"6xl":js("6xl"),full:js("full")},Jse=Wse({baseStyle:Zse,sizes:Qse,defaultProps:{size:"md"}}),{defineMultiStyleConfig:ele,definePartsStyle:mF}=dr(Iie.keys),A9=yi("number-input-stepper-width"),vF=yi("number-input-input-padding"),tle=Nu(A9).add("0.5rem").toString(),z5=yi("number-input-bg"),H5=yi("number-input-color"),W5=yi("number-input-border-color"),nle={[A9.variable]:"sizes.6",[vF.variable]:tle},rle=e=>{var t,n;return(n=(t=Po(xn.baseStyle,e))==null?void 0:t.field)!=null?n:{}},ile={width:A9.reference},ole={borderStart:"1px solid",borderStartColor:W5.reference,color:H5.reference,bg:z5.reference,[H5.variable]:"colors.chakra-body-text",[W5.variable]:"colors.chakra-border-color",_dark:{[H5.variable]:"colors.whiteAlpha.800",[W5.variable]:"colors.whiteAlpha.300"},_active:{[z5.variable]:"colors.gray.200",_dark:{[z5.variable]:"colors.whiteAlpha.300"}},_disabled:{opacity:.4,cursor:"not-allowed"}},ale=mF(e=>{var t;return{root:nle,field:(t=Po(rle,e))!=null?t:{},stepperGroup:ile,stepper:ole}});function Fb(e){var t,n,r;const i=(t=xn.sizes)==null?void 0:t[e],o={lg:"md",md:"md",sm:"sm",xs:"sm"},a=(r=(n=i.field)==null?void 0:n.fontSize)!=null?r:"md",s=cF.fontSizes[a];return mF({field:{...i.field,paddingInlineEnd:vF.reference,verticalAlign:"top"},stepper:{fontSize:Nu(s).multiply(.75).toString(),_first:{borderTopEndRadius:o[e]},_last:{borderBottomEndRadius:o[e],mt:"-1px",borderTopWidth:1}}})}var sle={xs:Fb("xs"),sm:Fb("sm"),md:Fb("md"),lg:Fb("lg")},lle=ele({baseStyle:ale,sizes:sle,variants:xn.variants,defaultProps:xn.defaultProps}),xL,ule={...(xL=xn.baseStyle)==null?void 0:xL.field,textAlign:"center"},cle={lg:{fontSize:"lg",w:12,h:12,borderRadius:"md"},md:{fontSize:"md",w:10,h:10,borderRadius:"md"},sm:{fontSize:"sm",w:8,h:8,borderRadius:"sm"},xs:{fontSize:"xs",w:6,h:6,borderRadius:"sm"}},SL,wL,dle={outline:e=>{var t,n,r;return(r=(n=Po((t=xn.variants)==null?void 0:t.outline,e))==null?void 0:n.field)!=null?r:{}},flushed:e=>{var t,n,r;return(r=(n=Po((t=xn.variants)==null?void 0:t.flushed,e))==null?void 0:n.field)!=null?r:{}},filled:e=>{var t,n,r;return(r=(n=Po((t=xn.variants)==null?void 0:t.filled,e))==null?void 0:n.field)!=null?r:{}},unstyled:(wL=(SL=xn.variants)==null?void 0:SL.unstyled.field)!=null?wL:{}},fle={baseStyle:ule,sizes:cle,variants:dle,defaultProps:xn.defaultProps},{defineMultiStyleConfig:hle,definePartsStyle:ple}=dr(Die.keys),Bb=yi("popper-bg"),gle=yi("popper-arrow-bg"),CL=yi("popper-arrow-shadow-color"),mle={zIndex:10},vle={[Bb.variable]:"colors.white",bg:Bb.reference,[gle.variable]:Bb.reference,[CL.variable]:"colors.gray.200",_dark:{[Bb.variable]:"colors.gray.700",[CL.variable]:"colors.whiteAlpha.300"},width:"xs",border:"1px solid",borderColor:"inherit",borderRadius:"md",boxShadow:"sm",zIndex:"inherit",_focusVisible:{outline:0,boxShadow:"outline"}},yle={px:3,py:2,borderBottomWidth:"1px"},ble={px:3,py:2},xle={px:3,py:2,borderTopWidth:"1px"},Sle={position:"absolute",borderRadius:"md",top:1,insetEnd:2,padding:2},wle=ple({popper:mle,content:vle,header:yle,body:ble,footer:xle,closeButton:Sle}),Cle=hle({baseStyle:wle}),{definePartsStyle:y_,defineMultiStyleConfig:_le}=dr(Eie.keys),U5=gn("drawer-bg"),V5=gn("drawer-box-shadow");function bg(e){return y_(e==="full"?{dialog:{maxW:"100vw",h:"100vh"}}:{dialog:{maxW:e}})}var kle={bg:"blackAlpha.600",zIndex:"overlay"},Ele={display:"flex",zIndex:"modal",justifyContent:"center"},Ple=e=>{const{isFullHeight:t}=e;return{...t&&{height:"100vh"},zIndex:"modal",maxH:"100vh",color:"inherit",[U5.variable]:"colors.white",[V5.variable]:"shadows.lg",_dark:{[U5.variable]:"colors.gray.700",[V5.variable]:"shadows.dark-lg"},bg:U5.reference,boxShadow:V5.reference}},Tle={px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"},Mle={position:"absolute",top:"2",insetEnd:"3"},Lle={px:"6",py:"2",flex:"1",overflow:"auto"},Ale={px:"6",py:"4"},Ole=y_(e=>({overlay:kle,dialogContainer:Ele,dialog:Po(Ple,e),header:Tle,closeButton:Mle,body:Lle,footer:Ale})),Rle={xs:bg("xs"),sm:bg("md"),md:bg("lg"),lg:bg("2xl"),xl:bg("4xl"),full:bg("full")},Ile=_le({baseStyle:Ole,sizes:Rle,defaultProps:{size:"xs"}}),{definePartsStyle:Dle,defineMultiStyleConfig:jle}=dr(Pie.keys),Nle={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"},$le={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}},Fle={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}},Ble=Dle({preview:Nle,input:$le,textarea:Fle}),zle=jle({baseStyle:Ble}),{definePartsStyle:Hle,defineMultiStyleConfig:Wle}=dr(Tie.keys),xm=gn("form-control-color"),Ule={marginStart:"1",[xm.variable]:"colors.red.500",_dark:{[xm.variable]:"colors.red.300"},color:xm.reference},Vle={mt:"2",[xm.variable]:"colors.gray.600",_dark:{[xm.variable]:"colors.whiteAlpha.600"},color:xm.reference,lineHeight:"normal",fontSize:"sm"},Gle=Hle({container:{width:"100%",position:"relative"},requiredIndicator:Ule,helperText:Vle}),qle=Wle({baseStyle:Gle}),{definePartsStyle:Kle,defineMultiStyleConfig:Yle}=dr(Mie.keys),Sm=gn("form-error-color"),Xle={[Sm.variable]:"colors.red.500",_dark:{[Sm.variable]:"colors.red.300"},color:Sm.reference,mt:"2",fontSize:"sm",lineHeight:"normal"},Zle={marginEnd:"0.5em",[Sm.variable]:"colors.red.500",_dark:{[Sm.variable]:"colors.red.300"},color:Sm.reference},Qle=Kle({text:Xle,icon:Zle}),Jle=Yle({baseStyle:Qle}),eue={fontSize:"md",marginEnd:"3",mb:"2",fontWeight:"medium",transitionProperty:"common",transitionDuration:"normal",opacity:1,_disabled:{opacity:.4}},tue={baseStyle:eue},nue={fontFamily:"heading",fontWeight:"bold"},rue={"4xl":{fontSize:["6xl",null,"7xl"],lineHeight:1},"3xl":{fontSize:["5xl",null,"6xl"],lineHeight:1},"2xl":{fontSize:["4xl",null,"5xl"],lineHeight:[1.2,null,1]},xl:{fontSize:["3xl",null,"4xl"],lineHeight:[1.33,null,1.2]},lg:{fontSize:["2xl",null,"3xl"],lineHeight:[1.33,null,1.2]},md:{fontSize:"xl",lineHeight:1.2},sm:{fontSize:"md",lineHeight:1.2},xs:{fontSize:"sm",lineHeight:1.2}},iue={baseStyle:nue,sizes:rue,defaultProps:{size:"xl"}},{defineMultiStyleConfig:oue,definePartsStyle:aue}=dr(_ie.keys),sue={transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}},lue=aue({link:sue}),uue=oue({baseStyle:lue}),cue={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"}}},yF=e=>{const{colorScheme:t,theme:n}=e;if(t==="gray")return{color:wt("inherit","whiteAlpha.900")(e),_hover:{bg:wt("gray.100","whiteAlpha.200")(e)},_active:{bg:wt("gray.200","whiteAlpha.300")(e)}};const r=Um(`${t}.200`,.12)(n),i=Um(`${t}.200`,.24)(n);return{color:wt(`${t}.600`,`${t}.200`)(e),bg:"transparent",_hover:{bg:wt(`${t}.50`,r)(e)},_active:{bg:wt(`${t}.100`,i)(e)}}},due=e=>{const{colorScheme:t}=e,n=wt("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:t==="gray"?n:"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"},...Po(yF,e)}},fue={yellow:{bg:"yellow.400",color:"black",hoverBg:"yellow.500",activeBg:"yellow.600"},cyan:{bg:"cyan.400",color:"black",hoverBg:"cyan.500",activeBg:"cyan.600"}},hue=e=>{var t;const{colorScheme:n}=e;if(n==="gray"){const l=wt("gray.100","whiteAlpha.200")(e);return{bg:l,_hover:{bg:wt("gray.200","whiteAlpha.300")(e),_disabled:{bg:l}},_active:{bg:wt("gray.300","whiteAlpha.400")(e)}}}const{bg:r=`${n}.500`,color:i="white",hoverBg:o=`${n}.600`,activeBg:a=`${n}.700`}=(t=fue[n])!=null?t:{},s=wt(r,`${n}.200`)(e);return{bg:s,color:wt(i,"gray.800")(e),_hover:{bg:wt(o,`${n}.300`)(e),_disabled:{bg:s}},_active:{bg:wt(a,`${n}.400`)(e)}}},pue=e=>{const{colorScheme:t}=e;return{padding:0,height:"auto",lineHeight:"normal",verticalAlign:"baseline",color:wt(`${t}.500`,`${t}.200`)(e),_hover:{textDecoration:"underline",_disabled:{textDecoration:"none"}},_active:{color:wt(`${t}.700`,`${t}.500`)(e)}}},gue={bg:"none",color:"inherit",display:"inline",lineHeight:"inherit",m:"0",p:"0"},mue={ghost:yF,outline:due,solid:hue,link:pue,unstyled:gue},vue={lg:{h:"12",minW:"12",fontSize:"lg",px:"6"},md:{h:"10",minW:"10",fontSize:"md",px:"4"},sm:{h:"8",minW:"8",fontSize:"sm",px:"3"},xs:{h:"6",minW:"6",fontSize:"xs",px:"2"}},yue={baseStyle:cue,variants:mue,sizes:vue,defaultProps:{variant:"solid",size:"md",colorScheme:"gray"}},{definePartsStyle:Rh,defineMultiStyleConfig:bue}=dr(Vie.keys),qS=gn("card-bg"),Vu=gn("card-padding"),bF=gn("card-shadow"),Kx=gn("card-radius"),xF=gn("card-border-width","0"),SF=gn("card-border-color"),xue=Rh({container:{[qS.variable]:"colors.chakra-body-bg",backgroundColor:qS.reference,boxShadow:bF.reference,borderRadius:Kx.reference,color:"chakra-body-text",borderWidth:xF.reference,borderColor:SF.reference},body:{padding:Vu.reference,flex:"1 1 0%"},header:{padding:Vu.reference},footer:{padding:Vu.reference}}),Sue={sm:Rh({container:{[Kx.variable]:"radii.base",[Vu.variable]:"space.3"}}),md:Rh({container:{[Kx.variable]:"radii.md",[Vu.variable]:"space.5"}}),lg:Rh({container:{[Kx.variable]:"radii.xl",[Vu.variable]:"space.7"}})},wue={elevated:Rh({container:{[bF.variable]:"shadows.base",_dark:{[qS.variable]:"colors.gray.700"}}}),outline:Rh({container:{[xF.variable]:"1px",[SF.variable]:"colors.chakra-border-color"}}),filled:Rh({container:{[qS.variable]:"colors.chakra-subtle-bg"}}),unstyled:{body:{[Vu.variable]:0},header:{[Vu.variable]:0},footer:{[Vu.variable]:0}}},Cue=bue({baseStyle:xue,variants:wue,sizes:Sue,defaultProps:{variant:"elevated",size:"md"}}),j1=yi("close-button-size"),zv=yi("close-button-bg"),_ue={w:[j1.reference],h:[j1.reference],borderRadius:"md",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{[zv.variable]:"colors.blackAlpha.100",_dark:{[zv.variable]:"colors.whiteAlpha.100"}},_active:{[zv.variable]:"colors.blackAlpha.200",_dark:{[zv.variable]:"colors.whiteAlpha.200"}},_focusVisible:{boxShadow:"outline"},bg:zv.reference},kue={lg:{[j1.variable]:"sizes.10",fontSize:"md"},md:{[j1.variable]:"sizes.8",fontSize:"xs"},sm:{[j1.variable]:"sizes.6",fontSize:"2xs"}},Eue={baseStyle:_ue,sizes:kue,defaultProps:{size:"md"}},{variants:Pue,defaultProps:Tue}=I1,Mue={fontFamily:"mono",fontSize:"sm",px:"0.2em",borderRadius:"sm"},Lue={baseStyle:Mue,variants:Pue,defaultProps:Tue},Aue={w:"100%",mx:"auto",maxW:"prose",px:"4"},Oue={baseStyle:Aue},Rue={opacity:.6,borderColor:"inherit"},Iue={borderStyle:"solid"},Due={borderStyle:"dashed"},jue={solid:Iue,dashed:Due},Nue={baseStyle:Rue,variants:jue,defaultProps:{variant:"solid"}},{definePartsStyle:$ue,defineMultiStyleConfig:Fue}=dr(Sie.keys),Bue={borderTopWidth:"1px",borderColor:"inherit",_last:{borderBottomWidth:"1px"}},zue={transitionProperty:"common",transitionDuration:"normal",fontSize:"md",_focusVisible:{boxShadow:"outline"},_hover:{bg:"blackAlpha.50"},_disabled:{opacity:.4,cursor:"not-allowed"},px:"4",py:"2"},Hue={pt:"2",px:"4",pb:"5"},Wue={fontSize:"1.25em"},Uue=$ue({container:Bue,button:zue,panel:Hue,icon:Wue}),Vue=Fue({baseStyle:Uue}),{definePartsStyle:e2,defineMultiStyleConfig:Gue}=dr(wie.keys),Ta=gn("alert-fg"),nc=gn("alert-bg"),que=e2({container:{bg:nc.reference,px:"4",py:"3"},title:{fontWeight:"bold",lineHeight:"6",marginEnd:"2"},description:{lineHeight:"6"},icon:{color:Ta.reference,flexShrink:0,marginEnd:"3",w:"5",h:"6"},spinner:{color:Ta.reference,flexShrink:0,marginEnd:"3",w:"5",h:"5"}});function O9(e){const{theme:t,colorScheme:n}=e,r=Um(`${n}.200`,.16)(t);return{light:`colors.${n}.100`,dark:r}}var Kue=e2(e=>{const{colorScheme:t}=e,n=O9(e);return{container:{[Ta.variable]:`colors.${t}.500`,[nc.variable]:n.light,_dark:{[Ta.variable]:`colors.${t}.200`,[nc.variable]:n.dark}}}}),Yue=e2(e=>{const{colorScheme:t}=e,n=O9(e);return{container:{[Ta.variable]:`colors.${t}.500`,[nc.variable]:n.light,_dark:{[Ta.variable]:`colors.${t}.200`,[nc.variable]:n.dark},paddingStart:"3",borderStartWidth:"4px",borderStartColor:Ta.reference}}}),Xue=e2(e=>{const{colorScheme:t}=e,n=O9(e);return{container:{[Ta.variable]:`colors.${t}.500`,[nc.variable]:n.light,_dark:{[Ta.variable]:`colors.${t}.200`,[nc.variable]:n.dark},pt:"2",borderTopWidth:"4px",borderTopColor:Ta.reference}}}),Zue=e2(e=>{const{colorScheme:t}=e;return{container:{[Ta.variable]:"colors.white",[nc.variable]:`colors.${t}.500`,_dark:{[Ta.variable]:"colors.gray.900",[nc.variable]:`colors.${t}.200`},color:Ta.reference}}}),Que={subtle:Kue,"left-accent":Yue,"top-accent":Xue,solid:Zue},Jue=Gue({baseStyle:que,variants:Que,defaultProps:{variant:"subtle",colorScheme:"blue"}}),{definePartsStyle:wF,defineMultiStyleConfig:ece}=dr(Cie.keys),wm=gn("avatar-border-color"),G5=gn("avatar-bg"),tce={borderRadius:"full",border:"0.2em solid",[wm.variable]:"white",_dark:{[wm.variable]:"colors.gray.800"},borderColor:wm.reference},nce={[G5.variable]:"colors.gray.200",_dark:{[G5.variable]:"colors.whiteAlpha.400"},bgColor:G5.reference},_L=gn("avatar-background"),rce=e=>{const{name:t,theme:n}=e,r=t?doe({string:t}):"colors.gray.400",i=uoe(r)(n);let o="white";return i||(o="gray.800"),{bg:_L.reference,"&:not([data-loaded])":{[_L.variable]:r},color:o,[wm.variable]:"colors.white",_dark:{[wm.variable]:"colors.gray.800"},borderColor:wm.reference,verticalAlign:"top"}},ice=wF(e=>({badge:Po(tce,e),excessLabel:Po(nce,e),container:Po(rce,e)}));function ld(e){const t=e!=="100%"?fF[e]:void 0;return wF({container:{width:e,height:e,fontSize:`calc(${t??e} / 2.5)`},excessLabel:{width:e,height:e},label:{fontSize:`calc(${t??e} / 2.5)`,lineHeight:e!=="100%"?t??e:void 0}})}var oce={"2xs":ld(4),xs:ld(6),sm:ld(8),md:ld(12),lg:ld(16),xl:ld(24),"2xl":ld(32),full:ld("100%")},ace=ece({baseStyle:ice,sizes:oce,defaultProps:{size:"md"}}),sce={Accordion:Vue,Alert:Jue,Avatar:ace,Badge:I1,Breadcrumb:uue,Button:yue,Checkbox:GS,CloseButton:Eue,Code:Lue,Container:Oue,Divider:Nue,Drawer:Ile,Editable:zle,Form:qle,FormError:Jle,FormLabel:tue,Heading:iue,Input:xn,Kbd:kse,Link:Pse,List:Ose,Menu:Hse,Modal:Jse,NumberInput:lle,PinInput:fle,Popover:Cle,Progress:Aae,Radio:Uae,Select:Zae,Skeleton:Jae,SkipLink:tse,Slider:fse,Spinner:gse,Stat:Cse,Switch:Poe,Table:Ioe,Tabs:Yoe,Tag:lae,Textarea:xae,Tooltip:Cae,Card:Cue},lce={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-subtle-bg":{_light:"gray.100",_dark:"gray.700"},"chakra-placeholder-color":{_light:"gray.500",_dark:"whiteAlpha.400"}}},uce={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",wordWrap:"break-word"}}},cce="ltr",dce={useSystemColorMode:!1,initialColorMode:"light",cssVarPrefix:"chakra"},fce={semanticTokens:lce,direction:cce,...xie,components:sce,styles:uce,config:dce};function hce(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var pce=hce();function gce(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function mce(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,a)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const s=t.get(r);if(s.has(i))return s.get(i);const l=e(r,i,o,a);return s.set(i,l),l}},CF=vce(mce);function _F(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var kF=e=>_F(e,t=>t!=null);function yce(e){return typeof e=="function"}function EF(e,...t){return yce(e)?e(...t):e}function bce(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}const PF=1/60*1e3,xce=typeof performance<"u"?()=>performance.now():()=>Date.now(),TF=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(xce()),PF);function Sce(e){let t=[],n=[],r=0,i=!1,o=!1;const a=new WeakSet,s={schedule:(l,u=!1,d=!1)=>{const p=d&&i,m=p?t:n;return u&&a.add(l),m.indexOf(l)===-1&&(m.push(l),p&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),a.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]=Sce(()=>Cy=!0),e),{}),Cce=t2.reduce((e,t)=>{const n=Ew[t];return e[t]=(r,i=!1,o=!1)=>(Cy||Ece(),n.schedule(r,i,o)),e},{}),_ce=t2.reduce((e,t)=>(e[t]=Ew[t].cancel,e),{});t2.reduce((e,t)=>(e[t]=()=>Ew[t].process(Cm),e),{});const kce=e=>Ew[e].process(Cm),MF=e=>{Cy=!1,Cm.delta=b_?PF:Math.max(Math.min(e-Cm.timestamp,wce),1),Cm.timestamp=e,x_=!0,t2.forEach(kce),x_=!1,Cy&&(b_=!1,TF(MF))},Ece=()=>{Cy=!0,b_=!0,x_||TF(MF)},kL=()=>Cm;var Pce=typeof Element<"u",Tce=typeof Map=="function",Mce=typeof Set=="function",Lce=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Yx(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(!Yx(e[r],t[r]))return!1;return!0}var o;if(Tce&&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(!Yx(r.value[1],t.get(r.value[0])))return!1;return!0}if(Mce&&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(Lce&&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)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)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(Pce&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Yx(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var Ace=function(t,n){try{return Yx(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};function LF(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:a}=eF(),s=e?CF(o,`components.${e}`):void 0,l=r||s,u=Bl({theme:o,colorMode:a},(n=l==null?void 0:l.defaultProps)!=null?n:{},kF(gce(i,["children"]))),d=S.useRef({});if(l){const m=Yre(l)(u);Ace(d.current,m)||(d.current=m)}return d.current}function au(e,t={}){return LF(e,t)}function Yi(e,t={}){return LF(e,t)}var Oce=new Set([...Nre,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),Rce=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function Ice(e){return Rce.has(e)||!Oce.has(e)}function Dce(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function jce(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 Nce=/^((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)-.*))$/,$ce=$j(function(e){return Nce.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),Fce=$ce,Bce=function(t){return t!=="theme"},EL=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?Fce:Bce},PL=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(a){return t.__emotion_forwardProp(a)&&o(a)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},zce=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return Uj(n,r,i),cee(function(){return Vj(n,r,i)}),null},Hce=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,a;n!==void 0&&(o=n.label,a=n.target);var s=PL(t,n,r),l=s||EL(i),u=!l("as");return function(){var d=arguments,p=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&p.push("label:"+o+";"),d[0]==null||d[0].raw===void 0)p.push.apply(p,d);else{p.push(d[0][0]);for(var m=d.length,y=1;yt=>{const{theme:n,css:r,__css:i,sx:o,...a}=t,s=_F(a,(p,m)=>Fre(m)),l=EF(e,t),u=jce({},i,l,kF(s),o),d=uF(u)(t.theme);return r?[d,r]:d};function q5(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=Ice);const i=Vce({baseStyle:n}),o=Uce(e,r)(i);return Ke.forwardRef(function(l,u){const{colorMode:d,forced:p}=Qy();return Ke.createElement(o,{ref:u,"data-theme":p?d:void 0,...l})})}function Gce(){const e=new Map;return new Proxy(q5,{apply(t,n,r){return q5(...r)},get(t,n){return e.has(n)||e.set(n,q5(n)),e.get(n)}})}var Ne=Gce();function Ze(e){return S.forwardRef(e)}function qce(e={}){const{strict:t=!0,errorMessage:n="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:r}=e,i=S.createContext(void 0);i.displayName=r;function o(){var a;const s=S.useContext(i);if(!s&&t){const l=new Error(n);throw l.name="ContextError",(a=Error.captureStackTrace)==null||a.call(Error,l,o),l}return s}return[i.Provider,o,i]}function Kce(e){const{cssVarsRoot:t,theme:n,children:r}=e,i=S.useMemo(()=>Dre(n),[n]);return g.jsxs(pee,{theme:i,children:[g.jsx(Yce,{root:t}),r]})}function Yce({root:e=":host, :root"}){const t=[e,"[data-theme]"].join(",");return g.jsx(ow,{styles:n=>({[t]:n.__cssVars})})}qce({name:"StylesContext",errorMessage:"useStyles: `styles` is undefined. Seems you forgot to wrap the components in `` "});function Xce(){const{colorMode:e}=Qy();return g.jsx(ow,{styles:t=>{const n=CF(t,"styles.global"),r=EF(n,{theme:t,colorMode:e});return r?uF(r)(t):void 0}})}var AF=S.createContext({getDocument(){return document},getWindow(){return window}});AF.displayName="EnvironmentContext";function OF(e){const{children:t,environment:n,disabled:r}=e,i=S.useRef(null),o=S.useMemo(()=>n||{getDocument:()=>{var s,l;return(l=(s=i.current)==null?void 0:s.ownerDocument)!=null?l:document},getWindow:()=>{var s,l;return(l=(s=i.current)==null?void 0:s.ownerDocument.defaultView)!=null?l:window}},[n]),a=!r||!n;return g.jsxs(AF.Provider,{value:o,children:[t,a&&g.jsx("span",{id:"__chakra_env",hidden:!0,ref:i})]})}OF.displayName="EnvironmentProvider";var Zce=e=>{const{children:t,colorModeManager:n,portalZIndex:r,resetCSS:i=!0,theme:o={},environment:a,cssVarsRoot:s,disableEnvironment:l}=e,u=g.jsx(OF,{environment:a,disabled:l,children:t});return g.jsx(Kce,{theme:o,cssVarsRoot:s,children:g.jsxs(J$,{colorModeManager:n,options:o.config,children:[i?g.jsx(vee,{}):g.jsx(mee,{}),g.jsx(Xce,{}),r?g.jsx(Zj,{zIndex:r,children:u}):u]})})},Qce=(e,t)=>e.find(n=>n.id===t);function ML(e,t){const n=RF(e,t),r=n?e[n].findIndex(i=>i.id===t):-1;return{position:n,index:r}}function RF(e,t){for(const[n,r]of Object.entries(e))if(Qce(r,t))return n}function Jce(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 ede(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)",a=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:5500,pointerEvents:"none",display:"flex",flexDirection:"column",margin:n,top:r,bottom:i,right:o,left:a}}function Qr(e,t=[]){const n=S.useRef(e);return S.useEffect(()=>{n.current=e}),S.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function tde(e,t){const n=Qr(e);S.useEffect(()=>{if(t==null)return;let r=null;return r=window.setTimeout(()=>{n()},t),()=>{r&&window.clearTimeout(r)}},[t,n])}function rc(e,t){const n=S.useRef(!1),r=S.useRef(!1);S.useEffect(()=>{if(n.current&&r.current)return e();r.current=!0},t),S.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[])}const IF=S.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),Pw=S.createContext({});function nde(){return S.useContext(Pw).visualElement}const n2=S.createContext(null),Tw=typeof document<"u",YS=Tw?S.useLayoutEffect:S.useEffect,DF=S.createContext({strict:!1});function rde(e,t,n,r){const i=nde(),o=S.useContext(DF),a=S.useContext(n2),s=S.useContext(IF).reducedMotion,l=S.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:a,blockInitialAnimation:a?a.initial===!1:!1,reducedMotionConfig:s}));const u=l.current;return S.useInsertionEffect(()=>{u&&u.update(n,a)}),YS(()=>{u&&u.render()}),S.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?YS:S.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function Qg(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function ide(e,t,n){return S.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):Qg(n)&&(n.current=r))},[t])}function _y(e){return typeof e=="string"||Array.isArray(e)}function Mw(e){return typeof e=="object"&&typeof e.start=="function"}const ode=["initial","animate","exit","whileHover","whileDrag","whileTap","whileFocus","whileInView"];function Lw(e){return Mw(e.animate)||ode.some(t=>_y(e[t]))}function jF(e){return Boolean(Lw(e)||e.variants)}function ade(e,t){if(Lw(e)){const{initial:n,animate:r}=e;return{initial:n===!1||_y(n)?n:void 0,animate:_y(r)?r:void 0}}return e.inherit!==!1?t:{}}function sde(e){const{initial:t,animate:n}=ade(e,S.useContext(Pw));return S.useMemo(()=>({initial:t,animate:n}),[LL(t),LL(n)])}function LL(e){return Array.isArray(e)?e.join(" "):e}const AL={animation:["animate","exit","variants","whileHover","whileTap","whileFocus","whileDrag","whileInView"],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"]},ky={};for(const e in AL)ky[e]={isEnabled:t=>AL[e].some(n=>!!t[n])};function lde(e){for(const t in e)ky[t]={...ky[t],...e[t]}}function R9(e){const t=S.useRef(null);return t.current===null&&(t.current=e()),t.current}const N1={hasAnimatedSinceResize:!0,hasEverUpdated:!1};let ude=1;function cde(){return R9(()=>{if(N1.hasEverUpdated)return ude++})}const I9=S.createContext({}),NF=S.createContext({}),dde=Symbol.for("motionComponentSymbol");function fde({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&lde(e);function o(s,l){let u;const d={...S.useContext(IF),...s,layoutId:hde(s)},{isStatic:p}=d,m=sde(s),y=p?void 0:cde(),b=r(s,p);if(!p&&Tw){m.visualElement=rde(i,b,d,t);const w=S.useContext(NF),E=S.useContext(DF).strict;m.visualElement&&(u=m.visualElement.loadFeatures(d,E,e,y,w))}return S.createElement(Pw.Provider,{value:m},u&&m.visualElement?S.createElement(u,{visualElement:m.visualElement,...d}):null,n(i,s,y,ide(b,m.visualElement,l),b,p,m.visualElement))}const a=S.forwardRef(o);return a[dde]=i,a}function hde({layoutId:e}){const t=S.useContext(I9).id;return t&&e!==void 0?t+"-"+e:e}function pde(e){function t(r,i={}){return fde(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 gde=["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 D9(e){return typeof e!="string"||e.includes("-")?!1:!!(gde.indexOf(e)>-1||/[A-Z]/.test(e))}const XS={};function mde(e){Object.assign(XS,e)}const Aw=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],d0=new Set(Aw);function $F(e,{layout:t,layoutId:n}){return d0.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!XS[e]||e==="opacity")}const ta=e=>Boolean(e&&e.getVelocity),vde={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},yde=Aw.length;function bde(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let a=0;at&&typeof e=="number"?t.transform(e):e,Vm=(e,t,n)=>Math.min(Math.max(n,e),t),np={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},$1={...np,transform:e=>Vm(0,1,e)},zb={...np,default:1},F1=e=>Math.round(e*1e5)/1e5,Ey=/(-)?([\d]*\.?[\d])+/g,S_=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,Sde=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function r2(e){return typeof e=="string"}const i2=e=>({test:t=>r2(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),cd=i2("deg"),Yl=i2("%"),Pt=i2("px"),wde=i2("vh"),Cde=i2("vw"),OL={...Yl,parse:e=>Yl.parse(e)/100,transform:e=>Yl.transform(e*100)},RL={...np,transform:Math.round},BF={borderWidth:Pt,borderTopWidth:Pt,borderRightWidth:Pt,borderBottomWidth:Pt,borderLeftWidth:Pt,borderRadius:Pt,radius:Pt,borderTopLeftRadius:Pt,borderTopRightRadius:Pt,borderBottomRightRadius:Pt,borderBottomLeftRadius:Pt,width:Pt,maxWidth:Pt,height:Pt,maxHeight:Pt,size:Pt,top:Pt,right:Pt,bottom:Pt,left:Pt,padding:Pt,paddingTop:Pt,paddingRight:Pt,paddingBottom:Pt,paddingLeft:Pt,margin:Pt,marginTop:Pt,marginRight:Pt,marginBottom:Pt,marginLeft:Pt,rotate:cd,rotateX:cd,rotateY:cd,rotateZ:cd,scale:zb,scaleX:zb,scaleY:zb,scaleZ:zb,skew:cd,skewX:cd,skewY:cd,distance:Pt,translateX:Pt,translateY:Pt,translateZ:Pt,x:Pt,y:Pt,z:Pt,perspective:Pt,transformPerspective:Pt,opacity:$1,originX:OL,originY:OL,originZ:Pt,zIndex:RL,fillOpacity:$1,strokeOpacity:$1,numOctaves:RL};function j9(e,t,n,r){const{style:i,vars:o,transform:a,transformOrigin:s}=e;let l=!1,u=!1,d=!0;for(const p in t){const m=t[p];if(FF(p)){o[p]=m;continue}const y=BF[p],b=xde(m,y);if(d0.has(p)){if(l=!0,a[p]=b,!d)continue;m!==(y.default||0)&&(d=!1)}else p.startsWith("origin")?(u=!0,s[p]=b):i[p]=b}if(t.transform||(l||r?i.transform=bde(e.transform,n,d,r):i.transform&&(i.transform="none")),u){const{originX:p="50%",originY:m="50%",originZ:y=0}=s;i.transformOrigin=`${p} ${m} ${y}`}}const N9=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function zF(e,t,n){for(const r in t)!ta(t[r])&&!$F(r,n)&&(e[r]=t[r])}function _de({transformTemplate:e},t,n){return S.useMemo(()=>{const r=N9();return j9(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function kde(e,t,n){const r=e.style||{},i={};return zF(i,r,e),Object.assign(i,_de(e,t,n)),e.transformValues?e.transformValues(i):i}function Ede(e,t,n){const r={},i=kde(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 Pde=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 ZS(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||Pde.has(e)}let HF=e=>!ZS(e);function Tde(e){e&&(HF=t=>t.startsWith("on")?!ZS(t):e(t))}try{Tde(require("@emotion/is-prop-valid").default)}catch{}function Mde(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(HF(i)||n===!0&&ZS(i)||!t&&!ZS(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function IL(e,t,n){return typeof e=="string"?e:Pt.transform(t+n*e)}function Lde(e,t,n){const r=IL(t,e.x,e.width),i=IL(n,e.y,e.height);return`${r} ${i}`}const Ade={offset:"stroke-dashoffset",array:"stroke-dasharray"},Ode={offset:"strokeDashoffset",array:"strokeDasharray"};function Rde(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?Ade:Ode;e[o.offset]=Pt.transform(-r);const a=Pt.transform(t),s=Pt.transform(n);e[o.array]=`${a} ${s}`}function $9(e,{attrX:t,attrY:n,originX:r,originY:i,pathLength:o,pathSpacing:a=1,pathOffset:s=0,...l},u,d,p){if(j9(e,l,u,p),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:m,style:y,dimensions:b}=e;m.transform&&(b&&(y.transform=m.transform),delete m.transform),b&&(r!==void 0||i!==void 0||y.transform)&&(y.transformOrigin=Lde(b,r!==void 0?r:.5,i!==void 0?i:.5)),t!==void 0&&(m.x=t),n!==void 0&&(m.y=n),o!==void 0&&Rde(m,o,a,s,!1)}const WF=()=>({...N9(),attrs:{}}),F9=e=>typeof e=="string"&&e.toLowerCase()==="svg";function Ide(e,t,n,r){const i=S.useMemo(()=>{const o=WF();return $9(o,t,{enableHardwareAcceleration:!1},F9(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};zF(o,e.style,e),i.style={...o,...i.style}}return i}function Dde(e=!1){return(n,r,i,o,{latestValues:a},s)=>{const u=(D9(n)?Ide:Ede)(r,a,s,n),p={...Mde(r,typeof n=="string",e),...u,ref:o},{children:m}=r,y=S.useMemo(()=>ta(m)?m.get():m,[m]);return i&&(p["data-projection-id"]=i),S.createElement(n,{...p,children:y})}}const B9=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function UF(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 VF=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 GF(e,t,n,r){UF(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(VF.has(i)?i:B9(i),t.attrs[i])}function z9(e,t){const{style:n}=e,r={};for(const i in n)(ta(n[i])||t.style&&ta(t.style[i])||$F(i,e))&&(r[i]=n[i]);return r}function qF(e,t){const n=z9(e,t);for(const r in e)if(ta(e[r])||ta(t[r])){const i=r==="x"||r==="y"?"attr"+r.toUpperCase():r;n[i]=e[r]}return n}function H9(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}const QS=e=>Array.isArray(e),jde=e=>Boolean(e&&typeof e=="object"&&e.mix&&e.toValue),Nde=e=>QS(e)?e[e.length-1]||0:e;function Xx(e){const t=ta(e)?e.get():e;return jde(t)?t.toValue():t}function $de({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const a={latestValues:Fde(r,i,o,e),renderState:t()};return n&&(a.mount=s=>n(r,s,a)),a}const KF=e=>(t,n)=>{const r=S.useContext(Pw),i=S.useContext(n2),o=()=>$de(e,t,r,i);return n?o():R9(o)};function Fde(e,t,n,r){const i={},o=r(e,{});for(const m in o)i[m]=Xx(o[m]);let{initial:a,animate:s}=e;const l=Lw(e),u=jF(e);t&&u&&!l&&e.inherit!==!1&&(a===void 0&&(a=t.initial),s===void 0&&(s=t.animate));let d=n?n.initial===!1:!1;d=d||a===!1;const p=d?s:a;return p&&typeof p!="boolean"&&!Mw(p)&&(Array.isArray(p)?p:[p]).forEach(y=>{const b=H9(e,y);if(!b)return;const{transitionEnd:w,transition:E,..._}=b;for(const k in _){let T=_[k];if(Array.isArray(T)){const L=d?T.length-1:0;T=T[L]}T!==null&&(i[k]=T)}for(const k in w)i[k]=w[k]}),i}const Bde={useVisualState:KF({scrapeMotionValuesFromProps:qF,createRenderState:WF,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}}$9(n,r,{enableHardwareAcceleration:!1},F9(t.tagName),e.transformTemplate),GF(t,n)}})},zde={useVisualState:KF({scrapeMotionValuesFromProps:z9,createRenderState:N9})};function Hde(e,{forwardMotionProps:t=!1},n,r){return{...D9(e)?Bde:zde,preloadedFeatures:n,useRender:Dde(t),createVisualElement:r,Component:e}}function Hu(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const YF=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function Ow(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const Wde=e=>t=>YF(t)&&e(t,Ow(t));function Gu(e,t,n,r){return Hu(e,t,Wde(n),r)}var tr;(function(e){e.Animate="animate",e.Hover="whileHover",e.Tap="whileTap",e.Drag="whileDrag",e.Focus="whileFocus",e.InView="whileInView",e.Exit="exit"})(tr||(tr={}));const Ude=(e,t)=>n=>t(e(n)),Nd=(...e)=>e.reduce(Ude);function XF(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const DL=XF("dragHorizontal"),jL=XF("dragVertical");function ZF(e){let t=!1;if(e==="y")t=jL();else if(e==="x")t=DL();else{const n=DL(),r=jL();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function QF(){const e=ZF(!0);return e?(e(),!1):!0}let sf=class{constructor(t){this.isMounted=!1,this.node=t}update(){}};function NL(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,a)=>{if(o.type==="touch"||QF())return;const s=e.getProps();e.animationState&&s.whileHover&&e.animationState.setActive(tr.Hover,t),s[r]&&s[r](o,a)};return Gu(e.current,n,i,{passive:!e.getProps()[r]})}class Vde extends sf{mount(){this.unmount=Nd(NL(this.node,!0),NL(this.node,!1))}unmount(){}}class Gde extends sf{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(tr.Focus,!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive(tr.Focus,!1),this.isActive=!1)}mount(){this.unmount=Nd(Hu(this.node.current,"focus",()=>this.onFocus()),Hu(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const JF=(e,t)=>t?e===t?!0:JF(e,t.parentElement):!1,Xl=e=>e;function K5(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,Ow(n))}class qde extends sf{constructor(){super(...arguments),this.removeStartListeners=Xl,this.removeEndListeners=Xl,this.removeAccessibleListeners=Xl,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=Gu(window,"pointerup",(s,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:d}=this.node.getProps();JF(this.node.current,s.target)?u&&u(s,l):d&&d(s,l)},{passive:!(r.onTap||r.onPointerUp)}),a=Gu(window,"pointercancel",(s,l)=>this.cancelPress(s,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Nd(o,a),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const a=s=>{s.key!=="Enter"||!this.checkPressEnd()||K5("up",this.node.getProps().onTap)};this.removeEndListeners(),this.removeEndListeners=Hu(this.node.current,"keyup",a),K5("down",(s,l)=>{this.startPress(s,l)})},n=Hu(this.node.current,"keydown",t),r=()=>{this.isPressing&&K5("cancel",(o,a)=>this.cancelPress(o,a))},i=Hu(this.node.current,"blur",r);this.removeAccessibleListeners=Nd(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive(tr.Tap,!0),r&&r(t,n)}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive(tr.Tap,!1),!QF()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&r(t,n)}mount(){const t=this.node.getProps(),n=Gu(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=Hu(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Nd(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const w_=new WeakMap,Y5=new WeakMap,Kde=e=>{const t=w_.get(e.target);t&&t(e)},Yde=e=>{e.forEach(Kde)};function Xde({root:e,...t}){const n=e||document;Y5.has(n)||Y5.set(n,{});const r=Y5.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(Yde,{root:e,...t})),r[i]}function Zde(e,t,n){const r=Xde(t);return w_.set(e,n),r.observe(e),()=>{w_.delete(e),r.unobserve(e)}}const Qde={some:0,all:1};class Jde extends sf{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}viewportFallback(){requestAnimationFrame(()=>{this.hasEnteredView=!0;const{onViewportEnter:t}=this.node.getProps();t&&t(null),this.node.animationState&&this.node.animationState.setActive(tr.InView,!0)})}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o,fallback:a=!0}=t;if(typeof IntersectionObserver>"u"){a&&this.viewportFallback();return}const s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:Qde[i]},l=u=>{const{isIntersecting:d}=u;if(this.isInView===d||(this.isInView=d,o&&!d&&this.hasEnteredView))return;d&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive(tr.InView,d);const{onViewportEnter:p,onViewportLeave:m}=this.node.getProps(),y=d?p:m;y&&y(u)};return Zde(this.node.current,s,l)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(efe(t,n))&&this.startObserver()}unmount(){}}function efe({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const tfe={inView:{Feature:Jde},tap:{Feature:qde},focus:{Feature:Gde},hover:{Feature:Vde}};function eB(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;r/^\-?\d*\.?\d+$/.test(e),rfe=e=>/^0[^.\s]+$/.test(e),qu={delta:0,timestamp:0},tB=1/60*1e3,ife=typeof performance<"u"?()=>performance.now():()=>Date.now(),nB=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(ife()),tB);function ofe(e){let t=[],n=[],r=0,i=!1,o=!1;const a=new WeakSet,s={schedule:(l,u=!1,d=!1)=>{const p=d&&i,m=p?t:n;return u&&a.add(l),m.indexOf(l)===-1&&(m.push(l),p&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),a.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]=ofe(()=>Py=!0),e),{}),so=o2.reduce((e,t)=>{const n=Rw[t];return e[t]=(r,i=!1,o=!1)=>(Py||lfe(),n.schedule(r,i,o)),e},{}),Gd=o2.reduce((e,t)=>(e[t]=Rw[t].cancel,e),{}),X5=o2.reduce((e,t)=>(e[t]=()=>Rw[t].process(qu),e),{}),sfe=e=>Rw[e].process(qu),rB=e=>{Py=!1,qu.delta=C_?tB:Math.max(Math.min(e-qu.timestamp,afe),1),qu.timestamp=e,__=!0,o2.forEach(sfe),__=!1,Py&&(C_=!1,nB(rB))},lfe=()=>{Py=!0,C_=!0,__||nB(rB)};function W9(e,t){e.indexOf(t)===-1&&e.push(t)}function U9(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class V9{constructor(){this.subscriptions=[]}add(t){return W9(this.subscriptions,t),()=>U9(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 cfe{constructor(t,n={}){this.version="9.0.4",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:a}=qu;this.lastUpdated!==a&&(this.timeDelta=o,this.lastUpdated=a,so.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=()=>so.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=ufe(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new V9);const r=this.events[t].add(n);return t==="change"?()=>{r(),so.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?G9(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n)||null,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(){this.animation=null}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Gm(e,t){return new cfe(e,t)}const q9=(e,t)=>n=>Boolean(r2(n)&&Sde.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),iB=(e,t,n)=>r=>{if(!r2(r))return r;const[i,o,a,s]=r.match(Ey);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(a),alpha:s!==void 0?parseFloat(s):1}},dfe=e=>Vm(0,255,e),Z5={...np,transform:e=>Math.round(dfe(e))},Eh={test:q9("rgb","red"),parse:iB("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+Z5.transform(e)+", "+Z5.transform(t)+", "+Z5.transform(n)+", "+F1($1.transform(r))+")"};function ffe(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 k_={test:q9("#"),parse:ffe,transform:Eh.transform},Jg={test:q9("hsl","hue"),parse:iB("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Yl.transform(F1(t))+", "+Yl.transform(F1(n))+", "+F1($1.transform(r))+")"},bo={test:e=>Eh.test(e)||k_.test(e)||Jg.test(e),parse:e=>Eh.test(e)?Eh.parse(e):Jg.test(e)?Jg.parse(e):k_.parse(e),transform:e=>r2(e)?e:e.hasOwnProperty("red")?Eh.transform(e):Jg.transform(e)},oB="${c}",aB="${n}";function hfe(e){var t,n;return isNaN(e)&&r2(e)&&(((t=e.match(Ey))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(S_))===null||n===void 0?void 0:n.length)||0)>0}function JS(e){typeof e=="number"&&(e=`${e}`);const t=[];let n=0,r=0;const i=e.match(S_);i&&(n=i.length,e=e.replace(S_,oB),t.push(...i.map(bo.parse)));const o=e.match(Ey);return o&&(r=o.length,e=e.replace(Ey,aB),t.push(...o.map(np.parse))),{values:t,numColors:n,numNumbers:r,tokenised:e}}function sB(e){return JS(e).values}function lB(e){const{values:t,numColors:n,tokenised:r}=JS(e),i=t.length;return o=>{let a=r;for(let s=0;stypeof e=="number"?0:e;function gfe(e){const t=sB(e);return lB(e)(t.map(pfe))}const qd={test:hfe,parse:sB,createTransformer:lB,getAnimatableNone:gfe},mfe=new Set(["brightness","contrast","saturate","opacity"]);function vfe(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(Ey)||[];if(!r)return e;const i=n.replace(r,"");let o=mfe.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const yfe=/([a-z-]*)\(.*?\)/g,E_={...qd,getAnimatableNone:e=>{const t=e.match(yfe);return t?t.map(vfe).join(" "):e}},bfe={...BF,color:bo,backgroundColor:bo,outlineColor:bo,fill:bo,stroke:bo,borderColor:bo,borderTopColor:bo,borderRightColor:bo,borderBottomColor:bo,borderLeftColor:bo,filter:E_,WebkitFilter:E_},K9=e=>bfe[e];function Y9(e,t){let n=K9(e);return n!==E_&&(n=qd),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const uB=e=>t=>t.test(e),xfe={test:e=>e==="auto",parse:e=>e},cB=[np,Pt,Yl,cd,Cde,wde,xfe],Hv=e=>cB.find(uB(e)),Sfe=[...cB,bo,qd],wfe=e=>Sfe.find(uB(e));function Cfe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.get()),t}function _fe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function Iw(e,t,n){const r=e.getProps();return H9(r,t,n!==void 0?n:r.custom,Cfe(e),_fe(e))}function kfe(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Gm(n))}function Efe(e,t){const n=Iw(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const a in o){const s=Nde(o[a]);kfe(e,a,s)}}function Pfe(e,t,n){var r,i;const o=Object.keys(t).filter(s=>!e.hasValue(s)),a=o.length;if(a)for(let s=0;se*1e3,Rfe={current:!1},X9=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Z9=e=>t=>1-e(1-t),Q9=e=>e*e,Ife=Z9(Q9),J9=X9(Q9),Fr=(e,t,n)=>-n*e+n*t+e;function Q5(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 Dfe({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,a=0;if(!t)i=o=a=n;else{const s=n<.5?n*(1+t):n+t-n*t,l=2*n-s;i=Q5(l,s,e+1/3),o=Q5(l,s,e),a=Q5(l,s,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(a*255),alpha:r}}const J5=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},jfe=[k_,Eh,Jg],Nfe=e=>jfe.find(t=>t.test(e));function $L(e){const t=Nfe(e);let n=t.parse(e);return t===Jg&&(n=Dfe(n)),n}const dB=(e,t)=>{const n=$L(e),r=$L(t),i={...n};return o=>(i.red=J5(n.red,r.red,o),i.green=J5(n.green,r.green,o),i.blue=J5(n.blue,r.blue,o),i.alpha=Fr(n.alpha,r.alpha,o),Eh.transform(i))};function fB(e,t){return typeof e=="number"?n=>Fr(e,t,n):bo.test(e)?dB(e,t):pB(e,t)}const hB=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,a)=>fB(o,t[a]));return o=>{for(let a=0;a{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=fB(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},pB=(e,t)=>{const n=qd.createTransformer(t),r=JS(e),i=JS(t);return r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Nd(hB(r.values,i.values),n):a=>`${a>0?t:e}`},n3=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},FL=(e,t)=>n=>Fr(e,t,n);function Ffe(e){return typeof e=="number"?FL:typeof e=="string"?bo.test(e)?dB:pB:Array.isArray(e)?hB:typeof e=="object"?$fe:FL}function Bfe(e,t,n){const r=[],i=n||Ffe(e[0]),o=e.length-1;for(let a=0;ae[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const a=Bfe(t,r,i),s=a.length,l=u=>{let d=0;if(s>1)for(;dl(Vm(e[0],e[o-1],u)):l}const mB=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,zfe=1e-7,Hfe=12;function Wfe(e,t,n,r,i){let o,a,s=0;do a=t+(n-t)/2,o=mB(a,r,i)-e,o>0?n=a:t=a;while(Math.abs(o)>zfe&&++sWfe(o,0,1,e,n);return o=>o===0||o===1?o:mB(i(o),t,r)}const yB=e=>1-Math.sin(Math.acos(e)),e8=Z9(yB),Ufe=X9(e8),bB=vB(.33,1.53,.69,.99),t8=Z9(bB),Vfe=X9(t8),Gfe=e=>(e*=2)<1?.5*t8(e):.5*(2-Math.pow(2,-10*(e-1))),qfe={linear:Xl,easeIn:Q9,easeInOut:J9,easeOut:Ife,circIn:yB,circInOut:Ufe,circOut:e8,backIn:t8,backInOut:Vfe,backOut:bB,anticipate:Gfe},BL=e=>{if(Array.isArray(e)){t3(e.length===4);const[t,n,r,i]=e;return vB(t,n,r,i)}else if(typeof e=="string")return qfe[e];return e},Kfe=e=>Array.isArray(e)&&typeof e[0]!="number";function Yfe(e,t){return e.map(()=>t||J9).splice(0,e.length-1)}function Xfe(e){const t=e.length;return e.map((n,r)=>r!==0?r/(t-1):0)}function Zfe(e,t){return e.map(n=>n*t)}function P_({keyframes:e,ease:t=J9,times:n,duration:r=300}){e=[...e];const i=Kfe(t)?t.map(BL):BL(t),o={done:!1,value:e[0]},a=Zfe(n&&n.length===e.length?n:Xfe(e),r);function s(){return gB(a,e,{ease:Array.isArray(i)?i:Yfe(e,i)})}let l=s();return{next:u=>(o.value=l(u),o.done=u>=r,o),flipTarget:()=>{e.reverse(),l=s()}}}const eC=.001,Qfe=.01,zL=10,Jfe=.05,ehe=1;function the({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;Ofe(e<=zL*1e3);let a=1-t;a=Vm(Jfe,ehe,a),e=Vm(Qfe,zL,e/1e3),a<1?(i=u=>{const d=u*a,p=d*e,m=d-n,y=T_(u,a),b=Math.exp(-p);return eC-m/y*b},o=u=>{const p=u*a*e,m=p*n+n,y=Math.pow(a,2)*Math.pow(u,2)*e,b=Math.exp(-p),w=T_(Math.pow(u,2),a);return(-i(u)+eC>0?-1:1)*((m-y)*b)/w}):(i=u=>{const d=Math.exp(-u*e),p=(u-n)*e+1;return-eC+d*p},o=u=>{const d=Math.exp(-u*e),p=(n-u)*(e*e);return d*p});const s=5/e,l=rhe(i,o,s);if(e=e*1e3,isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:a*2*Math.sqrt(r*u),duration:e}}}const nhe=12;function rhe(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function ahe(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!HL(e,ohe)&&HL(e,ihe)){const n=the(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}const she=5;function xB({keyframes:e,restDelta:t,restSpeed:n,...r}){let i=e[0],o=e[e.length-1];const a={done:!1,value:i},{stiffness:s,damping:l,mass:u,velocity:d,duration:p,isResolvedFromDuration:m}=ahe(r);let y=lhe,b=d?-(d/1e3):0;const w=l/(2*Math.sqrt(s*u));function E(){const _=o-i,k=Math.sqrt(s/u)/1e3,T=Math.abs(_)<5;if(n||(n=T?.01:2),t||(t=T?.005:.5),w<1){const L=T_(k,w);y=O=>{const D=Math.exp(-w*k*O);return o-D*((b+w*k*_)/L*Math.sin(L*O)+_*Math.cos(L*O))}}else if(w===1)y=L=>o-Math.exp(-k*L)*(_+(b+k*_)*L);else{const L=k*Math.sqrt(w*w-1);y=O=>{const D=Math.exp(-w*k*O),I=Math.min(L*O,300);return o-D*((b+w*k*_)*Math.sinh(I)+L*_*Math.cosh(I))/L}}}return E(),{next:_=>{const k=y(_);if(m)a.done=_>=p;else{let T=b;if(_!==0)if(w<1){const D=Math.max(0,_-she);T=G9(k-y(D),_-D)}else T=0;const L=Math.abs(T)<=n,O=Math.abs(o-k)<=t;a.done=L&&O}return a.value=a.done?o:k,a},flipTarget:()=>{b=-b,[i,o]=[o,i],E()}}}xB.needsInterpolation=(e,t)=>typeof e=="string"||typeof t=="string";const lhe=e=>0;function uhe({keyframes:e=[0],velocity:t=0,power:n=.8,timeConstant:r=350,restDelta:i=.5,modifyTarget:o}){const a=e[0],s={done:!1,value:a};let l=n*t;const u=a+l,d=o===void 0?u:o(u);return d!==u&&(l=d-a),{next:p=>{const m=-l*Math.exp(-p/r);return s.done=!(m>i||m<-i),s.value=s.done?d:d+m,s},flipTarget:()=>{}}}const che={decay:uhe,keyframes:P_,tween:P_,spring:xB};function SB(e,t,n=0){return e-t-n}function dhe(e,t=0,n=0,r=!0){return r?SB(t+-e,t,n):t-(e-t)+n}function fhe(e,t,n,r){return r?e>=t+n:e<=-n}const hhe=e=>{const t=({delta:n})=>e(n);return{start:()=>so.update(t,!0),stop:()=>Gd.update(t)}};function r3({duration:e,driver:t=hhe,elapsed:n=0,repeat:r=0,repeatType:i="loop",repeatDelay:o=0,keyframes:a,autoplay:s=!0,onPlay:l,onStop:u,onComplete:d,onRepeat:p,onUpdate:m,type:y="keyframes",...b}){const w=n;let E,_=0,k=e,T=!1,L=!0,O;const D=che[a.length>2?"keyframes":y]||P_,I=a[0],N=a[a.length-1];let W={done:!1,value:I};const{needsInterpolation:B}=D;B&&B(I,N)&&(O=gB([0,100],[I,N],{clamp:!1}),a=[0,100]);const K=D({...b,duration:e,keyframes:a});function ne(){_++,i==="reverse"?(L=_%2===0,n=dhe(n,k,o,L)):(n=SB(n,k,o),i==="mirror"&&K.flipTarget()),T=!1,p&&p()}function z(){E&&E.stop(),d&&d()}function $(X){L||(X=-X),n+=X,T||(W=K.next(Math.max(0,n)),O&&(W.value=O(W.value)),T=L?W.done:n<=0),m&&m(W.value),T&&(_===0&&(k=k!==void 0?k:n),_{u&&u(),E&&E.stop()},set currentTime(X){n=w,$(X)},sample:X=>{n=w;const Q=e&&typeof e=="number"?Math.max(e*.5,50):50;let G=0;for($(0);G<=X;){const Y=X-G;$(Math.min(Y,Q)),G+=Q}return W}}}function phe(e){return!e||Array.isArray(e)||typeof e=="string"&&wB[e]}const d1=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,wB={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:d1([0,.65,.55,1]),circOut:d1([.55,0,1,.45]),backIn:d1([.31,.01,.66,-.59]),backOut:d1([.33,1.53,.69,.99])};function ghe(e){if(e)return Array.isArray(e)?d1(e):wB[e]}function mhe(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:a="loop",ease:s,times:l}={}){return e.animate({[t]:n,offset:l},{delay:r,duration:i,easing:ghe(s),fill:"both",iterations:o+1,direction:a==="reverse"?"alternate":"normal"})}const WL={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},tC={},CB={};for(const e in WL)CB[e]=()=>(tC[e]===void 0&&(tC[e]=WL[e]()),tC[e]);function vhe(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const yhe=new Set(["opacity"]),Hb=10;function bhe(e,t,{onUpdate:n,onComplete:r,...i}){if(!(CB.waapi()&&yhe.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0))return!1;let{keyframes:a,duration:s=300,elapsed:l=0,ease:u}=i;if(i.type==="spring"||!phe(i.ease)){if(i.repeat===1/0)return;const p=r3({...i,elapsed:0});let m={done:!1,value:a[0]};const y=[];let b=0;for(;!m.done&&b<2e4;)m=p.sample(b),y.push(m.value),b+=Hb;a=y,s=b-Hb,u="linear"}const d=mhe(e.owner.current,t,a,{...i,delay:-l,duration:s,ease:u});return d.onfinish=()=>{e.set(vhe(a,i)),so.update(()=>d.cancel()),r&&r()},{get currentTime(){return d.currentTime||0},set currentTime(p){d.currentTime=p},stop:()=>{const{currentTime:p}=d;if(p){const m=r3({...i,autoplay:!1});e.setWithVelocity(m.sample(p-Hb).value,m.sample(p).value,Hb)}so.update(()=>d.cancel())}}}function _B(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Gd.read(r),e(o-t))};return so.read(r,!0),()=>Gd.read(r)}function xhe({keyframes:e,elapsed:t,onUpdate:n,onComplete:r}){const i=()=>{n&&n(e[e.length-1]),r&&r()};return t?{stop:_B(i,-t)}:i()}function She({keyframes:e,velocity:t=0,min:n,max:r,power:i=.8,timeConstant:o=750,bounceStiffness:a=500,bounceDamping:s=10,restDelta:l=1,modifyTarget:u,driver:d,onUpdate:p,onComplete:m,onStop:y}){const b=e[0];let w;function E(L){return n!==void 0&&Lr}function _(L){return n===void 0?r:r===void 0||Math.abs(n-L){p&&p(O),L.onUpdate&&L.onUpdate(O)},onComplete:m,onStop:y})}function T(L){k({type:"spring",stiffness:a,damping:s,restDelta:l,...L})}if(E(b))T({velocity:t,keyframes:[b,_(b)]});else{let L=i*t+b;typeof u<"u"&&(L=u(L));const O=_(L),D=O===n?-1:1;let I,N;const W=B=>{I=N,N=B,t=G9(B-I,qu.delta),(D===1&&B>O||D===-1&&Bw&&w.stop()}}const nh=()=>({type:"spring",stiffness:500,damping:25,restSpeed:10}),Wb=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),nC=()=>({type:"keyframes",ease:"linear",duration:.3}),whe={type:"keyframes",duration:.8},UL={x:nh,y:nh,z:nh,rotate:nh,rotateX:nh,rotateY:nh,rotateZ:nh,scaleX:Wb,scaleY:Wb,scale:Wb,opacity:nC,backgroundColor:nC,color:nC,default:Wb},Che=(e,{keyframes:t})=>t.length>2?whe:(UL[e]||UL.default)(t[1]),M_=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&qd.test(t)&&!t.startsWith("url("));function _he({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:i,repeat:o,repeatType:a,repeatDelay:s,from:l,elapsed:u,...d}){return!!Object.keys(d).length}function VL(e){return e===0||typeof e=="string"&&parseFloat(e)===0&&e.indexOf(" ")===-1}function GL(e){return typeof e=="number"?0:Y9("",e)}function kB(e,t){return e[t]||e.default||e}function khe(e,t,n,r){const i=M_(t,n);let o=r.from!==void 0?r.from:e.get();return o==="none"&&i&&typeof n=="string"?o=Y9(t,n):VL(o)&&typeof n=="string"?o=GL(n):!Array.isArray(n)&&VL(n)&&typeof o=="string"&&(n=GL(o)),Array.isArray(n)?(n[0]===null&&(n[0]=o),n):[o,n]}const n8=(e,t,n,r={})=>i=>{const o=kB(r,e)||{},a=o.delay||r.delay||0;let{elapsed:s=0}=r;s=s-Zx(a);const l=khe(t,e,n,o),u=l[0],d=l[l.length-1],p=M_(e,u),m=M_(e,d);let y={keyframes:l,velocity:t.getVelocity(),...o,elapsed:s,onUpdate:b=>{t.set(b),o.onUpdate&&o.onUpdate(b)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(!p||!m||Rfe.current||o.type===!1)return xhe(y);if(o.type==="inertia")return She(y);if(_he(o)||(y={...y,...Che(e,y)}),y.duration&&(y.duration=Zx(y.duration)),y.repeatDelay&&(y.repeatDelay=Zx(y.repeatDelay)),t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const b=bhe(t,e,y);if(b)return b}return r3(y)};function Ehe(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>L_(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=L_(e,t,n);else{const i=typeof t=="function"?Iw(e,t,n.custom):t;r=EB(e,i,n)}return r.then(()=>e.notify("AnimationComplete",t))}function L_(e,t,n={}){const r=Iw(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>EB(e,r,n):()=>Promise.resolve(),a=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:p}=i;return Phe(e,t,u+l,d,p,n)}:()=>Promise.resolve(),{when:s}=i;if(s){const[l,u]=s==="beforeChildren"?[o,a]:[a,o];return l().then(u)}else return Promise.all([o(),a(n.delay)])}function EB(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:o=e.getDefaultTransition(),transitionEnd:a,...s}=e.makeTargetAnimatable(t);const l=e.getValue("willChange");r&&(o=r);const u=[],d=i&&e.animationState&&e.animationState.getState()[i];for(const p in s){const m=e.getValue(p),y=s[p];if(!m||y===void 0||d&&Mhe(d,p))continue;const b={delay:n,elapsed:0,...o};if(window.HandoffAppearAnimations&&!m.hasAnimated){const E=e.getProps()[Afe];E&&(b.elapsed=window.HandoffAppearAnimations(E,p,m,so))}let w=m.start(n8(p,m,y,e.shouldReduceMotion&&d0.has(p)?{type:!1}:b));e3(l)&&(l.add(p),w=w.then(()=>l.remove(p))),u.push(w)}return Promise.all(u).then(()=>{a&&Efe(e,a)})}function Phe(e,t,n=0,r=0,i=1,o){const a=[],s=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>s-u*r;return Array.from(e.variantChildren).sort(The).forEach((u,d)=>{u.notify("AnimationStart",t),a.push(L_(u,t,{...o,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(a)}function The(e,t){return e.sortNodePosition(t)}function Mhe({protectedKeys:e,needsAnimating:t},n){const r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}const r8=[tr.Animate,tr.InView,tr.Focus,tr.Hover,tr.Tap,tr.Drag,tr.Exit],Lhe=[...r8].reverse(),Ahe=r8.length;function Ohe(e){return t=>Promise.all(t.map(({animation:n,options:r})=>Ehe(e,n,r)))}function Rhe(e){let t=Ohe(e);const n=Dhe();let r=!0;const i=(l,u)=>{const d=Iw(e,u);if(d){const{transition:p,transitionEnd:m,...y}=d;l={...l,...y,...m}}return l};function o(l){t=l(e)}function a(l,u){const d=e.getProps(),p=e.getVariantContext(!0)||{},m=[],y=new Set;let b={},w=1/0;for(let _=0;_w&&O;const B=Array.isArray(L)?L:[L];let K=B.reduce(i,{});D===!1&&(K={});const{prevResolvedValues:ne={}}=T,z={...ne,...K},$=V=>{W=!0,y.delete(V),T.needsAnimating[V]=!0};for(const V in z){const X=K[V],Q=ne[V];b.hasOwnProperty(V)||(X!==Q?QS(X)&&QS(Q)?!eB(X,Q)||N?$(V):T.protectedKeys[V]=!0:X!==void 0?$(V):y.add(V):X!==void 0&&y.has(V)?$(V):T.protectedKeys[V]=!0)}T.prevProp=L,T.prevResolvedValues=K,T.isActive&&(b={...b,...K}),r&&e.blockInitialAnimation&&(W=!1),W&&!I&&m.push(...B.map(V=>({animation:V,options:{type:k,...l}})))}if(y.size){const _={};y.forEach(k=>{const T=e.getBaseTarget(k);T!==void 0&&(_[k]=T)}),m.push({animation:_})}let E=Boolean(m.length);return r&&d.initial===!1&&!e.manuallyAnimateOnMount&&(E=!1),r=!1,E?t(m):Promise.resolve()}function s(l,u,d){if(n[l].isActive===u)return Promise.resolve();e.variantChildren&&e.variantChildren.forEach(m=>{m.animationState&&m.animationState.setActive(l,u)}),n[l].isActive=u;const p=a(d,l);for(const m in n)n[m].protectedKeys={};return p}return{animateChanges:a,setActive:s,setAnimateFunction:o,getState:()=>n}}function Ihe(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!eB(t,e):!1}function rh(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Dhe(){return{[tr.Animate]:rh(!0),[tr.InView]:rh(),[tr.Hover]:rh(),[tr.Tap]:rh(),[tr.Drag]:rh(),[tr.Focus]:rh(),[tr.Exit]:rh()}}class jhe extends sf{constructor(t){super(t),t.animationState||(t.animationState=Rhe(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),Mw(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 Nhe=0;class $he extends sf{constructor(){super(...arguments),this.id=Nhe++}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(tr.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 Fhe={animation:{Feature:jhe},exit:{Feature:$he}},qL=(e,t)=>Math.abs(e-t);function Bhe(e,t){const n=qL(e.x,t.x),r=qL(e.y,t.y);return Math.sqrt(n**2+r**2)}class PB{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=iC(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,p=Bhe(u.offset,{x:0,y:0})>=3;if(!d&&!p)return;const{point:m}=u,{timestamp:y}=qu;this.history.push({...m,timestamp:y});const{onStart:b,onMove:w}=this.handlers;d||(b&&b(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),w&&w(this.lastMoveEvent,u)},this.handlePointerMove=(u,d)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=rC(d,this.transformPagePoint),so.update(this.updatePoint,!0)},this.handlePointerUp=(u,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:p,onSessionEnd:m}=this.handlers,y=iC(u.type==="pointercancel"?this.lastMoveEventInfo:rC(d,this.transformPagePoint),this.history);this.startEvent&&p&&p(u,y),m&&m(u,y)},!YF(t))return;this.handlers=n,this.transformPagePoint=r;const i=Ow(t),o=rC(i,this.transformPagePoint),{point:a}=o,{timestamp:s}=qu;this.history=[{...a,timestamp:s}];const{onSessionStart:l}=n;l&&l(t,iC(o,this.history)),this.removeListeners=Nd(Gu(window,"pointermove",this.handlePointerMove),Gu(window,"pointerup",this.handlePointerUp),Gu(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Gd.update(this.updatePoint)}}function rC(e,t){return t?{point:t(e.point)}:e}function KL(e,t){return{x:e.x-t.x,y:e.y-t.y}}function iC({point:e},t){return{point:e,delta:KL(e,TB(t)),offset:KL(e,zhe(t)),velocity:Hhe(t,.1)}}function zhe(e){return e[0]}function TB(e){return e[e.length-1]}function Hhe(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=TB(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Zx(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 a={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function Aa(e){return e.max-e.min}function A_(e,t=0,n=.01){return Math.abs(e-t)<=n}function YL(e,t,n,r=.5){e.origin=r,e.originPoint=Fr(t.min,t.max,e.origin),e.scale=Aa(n)/Aa(t),(A_(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=Fr(n.min,n.max,e.origin)-e.originPoint,(A_(e.translate)||isNaN(e.translate))&&(e.translate=0)}function B1(e,t,n,r){YL(e.x,t.x,n.x,r?r.originX:void 0),YL(e.y,t.y,n.y,r?r.originY:void 0)}function XL(e,t,n){e.min=n.min+t.min,e.max=e.min+Aa(t)}function Whe(e,t,n){XL(e.x,t.x,n.x),XL(e.y,t.y,n.y)}function ZL(e,t,n){e.min=t.min-n.min,e.max=e.min+Aa(t)}function z1(e,t,n){ZL(e.x,t.x,n.x),ZL(e.y,t.y,n.y)}function Uhe(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?Fr(n,e,r.max):Math.min(e,n)),e}function QL(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 Vhe(e,{top:t,left:n,bottom:r,right:i}){return{x:QL(e.x,n,i),y:QL(e.y,t,r)}}function JL(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=n3(t.min,t.max-r,e.min):r>i&&(n=n3(e.min,e.max-i,t.min)),Vm(0,1,n)}function Khe(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 O_=.35;function Yhe(e=O_){return e===!1?e=0:e===!0&&(e=O_),{x:eA(e,"left","right"),y:eA(e,"top","bottom")}}function eA(e,t,n){return{min:tA(e,t),max:tA(e,n)}}function tA(e,t){return typeof e=="number"?e:e[t]||0}const nA=()=>({translate:0,scale:1,origin:0,originPoint:0}),H1=()=>({x:nA(),y:nA()}),rA=()=>({min:0,max:0}),gi=()=>({x:rA(),y:rA()});function Al(e){return[e("x"),e("y")]}function MB({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function Xhe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Zhe(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 oC(e){return e===void 0||e===1}function R_({scale:e,scaleX:t,scaleY:n}){return!oC(e)||!oC(t)||!oC(n)}function dh(e){return R_(e)||LB(e)||e.z||e.rotate||e.rotateX||e.rotateY}function LB(e){return iA(e.x)||iA(e.y)}function iA(e){return e&&e!=="0%"}function i3(e,t,n){const r=e-n,i=t*r;return n+i}function oA(e,t,n,r,i){return i!==void 0&&(e=i3(e,i,r)),i3(e,n,r)+t}function I_(e,t=0,n=1,r,i){e.min=oA(e.min,t,n,r,i),e.max=oA(e.max,t,n,r,i)}function AB(e,{x:t,y:n}){I_(e.x,t.translate,t.scale,t.originPoint),I_(e.y,n.translate,n.scale,n.originPoint)}function Qhe(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,a;for(let s=0;s1.0000000000001||e<.999999999999?e:1}function gd(e,t){e.min=e.min+t,e.max=e.max+t}function sA(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,a=Fr(e.min,e.max,o);I_(e,t[n],t[r],a,t.scale)}const Jhe=["x","scaleX","originX"],epe=["y","scaleY","originY"];function em(e,t){sA(e.x,t,Jhe),sA(e.y,t,epe)}function OB(e,t){return MB(Zhe(e.getBoundingClientRect(),t))}function tpe(e,t,n){const r=OB(e,n),{scroll:i}=t;return i&&(gd(r.x,i.offset.x),gd(r.y,i.offset.y)),r}const npe=new WeakMap;class rpe{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=gi(),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(Ow(l,"page").point)},o=(l,u)=>{const{drag:d,dragPropagation:p,onDragStart:m}=this.getProps();if(d&&!p&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=ZF(d),!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),Al(b=>{let w=this.getAxisMotionValue(b).get()||0;if(Yl.test(w)){const{projection:E}=this.visualElement;if(E&&E.layout){const _=E.layout.layoutBox[b];_&&(w=Aa(_)*(parseFloat(w)/100))}}this.originPoint[b]=w}),m&&m(l,u);const{animationState:y}=this.visualElement;y&&y.setActive(tr.Drag,!0)},a=(l,u)=>{const{dragPropagation:d,dragDirectionLock:p,onDirectionLock:m,onDrag:y}=this.getProps();if(!d&&!this.openGlobalLock)return;const{offset:b}=u;if(p&&this.currentDirection===null){this.currentDirection=ipe(b),this.currentDirection!==null&&m&&m(this.currentDirection);return}this.updateAxis("x",u.point,b),this.updateAxis("y",u.point,b),this.visualElement.render(),y&&y(l,u)},s=(l,u)=>this.stop(l,u);this.panSession=new PB(t,{onSessionStart:i,onStart:o,onMove:a,onSessionEnd:s},{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&&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(tr.Drag,!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!Ub(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let a=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(a=Uhe(a,this.constraints[t],this.elastic[t])),o.set(a)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&Qg(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=Vhe(r.layoutBox,t):this.constraints=!1,this.elastic=Yhe(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Al(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=Khe(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Qg(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=tpe(r,i.root,this.visualElement.getTransformPagePoint());let a=Ghe(i.layout.layoutBox,o);if(n){const s=n(Xhe(a));this.hasMutatedConstraints=!!s,s&&(a=MB(s))}return a}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:a,onDragTransitionEnd:s}=this.getProps(),l=this.constraints||{},u=Al(d=>{if(!Ub(d,n,this.currentDirection))return;let p=l&&l[d]||{};a&&(p={min:0,max:0});const m=i?200:1e6,y=i?40:1e7,b={type:"inertia",velocity:r?t[d]:0,bounceStiffness:m,bounceDamping:y,timeConstant:750,restDelta:1,restSpeed:10,...o,...p};return this.startAxisValueAnimation(d,b)});return Promise.all(u).then(s)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(n8(t,r,0,n))}stopAnimation(){Al(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){Al(n=>{const{drag:r}=this.getProps();if(!Ub(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:a,max:s}=i.layout.layoutBox[n];o.set(t[n]-Fr(a,s,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!Qg(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Al(a=>{const s=this.getAxisMotionValue(a);if(s){const l=s.get();i[a]=qhe({min:l,max:l},this.constraints[a])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Al(a=>{if(!Ub(a,t,null))return;const s=this.getAxisMotionValue(a),{min:l,max:u}=this.constraints[a];s.set(Fr(l,u,i[a]))})}addListeners(){if(!this.visualElement.current)return;npe.set(this.visualElement,this);const t=this.visualElement.current,n=Gu(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();Qg(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 a=Hu(window,"resize",()=>this.scalePositionWithinConstraints()),s=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Al(d=>{const p=this.getAxisMotionValue(d);p&&(this.originPoint[d]+=l[d].translate,p.set(p.get()+l[d].translate))}),this.visualElement.render())});return()=>{a(),n(),o(),s&&s()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:a=O_,dragMomentum:s=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:a,dragMomentum:s}}}function Ub(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function ipe(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class ope extends sf{constructor(t){super(t),this.removeGroupControls=Xl,this.removeListeners=Xl,this.controls=new rpe(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Xl}unmount(){this.removeGroupControls(),this.removeListeners()}}class ape extends sf{constructor(){super(...arguments),this.removePointerDownListener=Xl}onPointerDown(t){this.session=new PB(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:t,onStart:n,onMove:r,onEnd:(o,a)=>{delete this.session,i&&i(o,a)}}}mount(){this.removePointerDownListener=Gu(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 RB(){const e=S.useContext(n2);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=S.useId();return S.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function spe(){return lpe(S.useContext(n2))}function lpe(e){return e===null?!0:e.isPresent}function lA(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const Wv={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Pt.test(e))e=parseFloat(e);else return e;const n=lA(e,t.target.x),r=lA(e,t.target.y);return`${n}% ${r}%`}};function D_(e){return typeof e=="string"&&e.startsWith("var(--")}const IB=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function upe(e){const t=IB.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function j_(e,t,n=1){const[r,i]=upe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():D_(i)?j_(i,t,n+1):i}function cpe(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(!D_(o))return;const a=j_(o,r);a&&i.set(a)});for(const i in t){const o=t[i];if(!D_(o))continue;const a=j_(o,r);a&&(t[i]=a,n&&n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const uA="_$css",dpe={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=e.includes("var("),o=[];i&&(e=e.replace(IB,y=>(o.push(y),uA)));const a=qd.parse(e);if(a.length>5)return r;const s=qd.createTransformer(e),l=typeof a[0]!="number"?1:0,u=n.x.scale*t.x,d=n.y.scale*t.y;a[0+l]/=u,a[1+l]/=d;const p=Fr(u,d,.5);typeof a[2+l]=="number"&&(a[2+l]/=p),typeof a[3+l]=="number"&&(a[3+l]/=p);let m=s(a);if(i){let y=0;m=m.replace(uA,()=>{const b=o[y];return y++,b})}return m}};class fpe extends Ke.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;mde(hpe),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()})),N1.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,a=r.projection;return a&&(a.isPresent=o,i||t.layoutDependency!==n||n===void 0?a.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?a.promote():a.relegate()||so.postRender(()=>{const s=a.getStack();(!s||!s.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),!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 DB(e){const[t,n]=RB(),r=S.useContext(I9);return Ke.createElement(fpe,{...e,layoutGroup:r,switchLayoutGroup:S.useContext(NF),isPresent:t,safeToRemove:n})}const hpe={borderRadius:{...Wv,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Wv,borderTopRightRadius:Wv,borderBottomLeftRadius:Wv,borderBottomRightRadius:Wv,boxShadow:dpe};function ppe(e,t,n={}){const r=ta(e)?e:Gm(e);return r.start(n8("",r,t,n)),{stop:()=>r.stop(),isAnimating:()=>r.isAnimating()}}const jB=["TopLeft","TopRight","BottomLeft","BottomRight"],gpe=jB.length,cA=e=>typeof e=="string"?parseFloat(e):e,dA=e=>typeof e=="number"||Pt.test(e);function mpe(e,t,n,r,i,o){i?(e.opacity=Fr(0,n.opacity!==void 0?n.opacity:1,vpe(r)),e.opacityExit=Fr(t.opacity!==void 0?t.opacity:1,0,ype(r))):o&&(e.opacity=Fr(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let a=0;art?1:n(n3(e,t,r))}function hA(e,t){e.min=t.min,e.max=t.max}function Ns(e,t){hA(e.x,t.x),hA(e.y,t.y)}function pA(e,t,n,r,i){return e-=t,e=i3(e,1/n,r),i!==void 0&&(e=i3(e,1/i,r)),e}function bpe(e,t=0,n=1,r=.5,i,o=e,a=e){if(Yl.test(t)&&(t=parseFloat(t),t=Fr(a.min,a.max,t/100)-a.min),typeof t!="number")return;let s=Fr(o.min,o.max,r);e===o&&(s-=t),e.min=pA(e.min,t,n,s,i),e.max=pA(e.max,t,n,s,i)}function gA(e,t,[n,r,i],o,a){bpe(e,t[n],t[r],t[i],t.scale,o,a)}const xpe=["x","scaleX","originX"],Spe=["y","scaleY","originY"];function mA(e,t,n,r){gA(e.x,t,xpe,n?n.x:void 0,r?r.x:void 0),gA(e.y,t,Spe,n?n.y:void 0,r?r.y:void 0)}function vA(e){return e.translate===0&&e.scale===1}function $B(e){return vA(e.x)&&vA(e.y)}function FB(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 yA(e){return Aa(e.x)/Aa(e.y)}class wpe{constructor(){this.members=[]}add(t){W9(this.members,t),t.scheduleRender()}remove(t){if(U9(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 bA(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:d}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),d&&(r+=`rotateY(${d}deg) `)}const a=e.x.scale*t.x,s=e.y.scale*t.y;return(a!==1||s!==1)&&(r+=`scale(${a}, ${s})`),r||"none"}const Cpe=(e,t)=>e.depth-t.depth;class _pe{constructor(){this.children=[],this.isDirty=!1}add(t){W9(this.children,t),this.isDirty=!0}remove(t){U9(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Cpe),this.isDirty=!1,this.children.forEach(t)}}const xA=["","X","Y","Z"],SA=1e3;let kpe=0;function BB({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(a,s={},l=t==null?void 0:t()){this.id=kpe++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isTransformDirty=!1,this.isProjectionDirty=!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.potentialNodes=new Map,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.nodes.forEach(Tpe),this.nodes.forEach(Ape),this.nodes.forEach(Ope)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.elementId=a,this.latestValues=s,this.root=l?l.root||l:this,this.path=l?[...l.path,l]:[],this.parent=l,this.depth=l?l.depth+1:0,a&&this.root.registerPotentialNode(a,this);for(let u=0;uthis.root.updateBlockedByResize=!1;e(a,()=>{this.root.updateBlockedByResize=!0,p&&p(),p=_B(m,250),N1.hasAnimatedSinceResize&&(N1.hasAnimatedSinceResize=!1,this.nodes.forEach(CA))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:p,hasLayoutChanged:m,hasRelativeTargetChanged:y,layout:b})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const w=this.options.transition||d.getDefaultTransition()||Npe,{onLayoutAnimationStart:E,onLayoutAnimationComplete:_}=d.getProps(),k=!this.targetLayout||!FB(this.targetLayout,b)||y,T=!m&&y;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||T||m&&(k||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(p,T);const L={...kB(w,"layout"),onPlay:E,onComplete:_};(d.shouldReduceMotion||this.options.layoutRoot)&&(L.delay=0,L.type=!1),this.startAnimation(L)}else!m&&this.animationProgress===0&&CA(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=b})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const a=this.getStack();a&&a.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Gd.preRender(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(Rpe),this.animationId++)}getTransformTemplate(){const{visualElement:a}=this.options;return a&&a.getProps().transformTemplate}willUpdate(a=!0){if(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 d=0;d{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 L=T/1e3;_A(p.x,a.x,L),_A(p.y,a.y,L),this.setTargetDelta(p),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(z1(m,this.layout.layoutBox,this.relativeParent.layout.layoutBox),Dpe(this.relativeTarget,this.relativeTargetOrigin,m,L)),w&&(this.animationValues=d,mpe(d,u,this.latestValues,L,k,_)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=L},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(a){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Gd.update(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=so.update(()=>{N1.hasAnimatedSinceResize=!0,this.currentAnimation=ppe(0,SA,{...a,onUpdate:s=>{this.mixTargetDelta(s),a.onUpdate&&a.onUpdate(s)},onComplete:()=>{a.onComplete&&a.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const a=this.getStack();a&&a.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(SA),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const a=this.getLead();let{targetWithTransforms:s,target:l,layout:u,latestValues:d}=a;if(!(!s||!l||!u)){if(this!==a&&this.layout&&u&&zB(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||gi();const p=Aa(this.layout.layoutBox.x);l.x.min=a.target.x.min,l.x.max=l.x.min+p;const m=Aa(this.layout.layoutBox.y);l.y.min=a.target.y.min,l.y.max=l.y.min+m}Ns(s,l),em(s,d),B1(this.projectionDeltaWithTransform,this.layoutCorrected,s,d)}}registerSharedNode(a,s){this.sharedNodes.has(a)||this.sharedNodes.set(a,new wpe),this.sharedNodes.get(a).add(s);const u=s.options.initialPromotionConfig;s.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(s):void 0})}isLead(){const a=this.getStack();return a?a.lead===this:!0}getLead(){var a;const{layoutId:s}=this.options;return s?((a=this.getStack())===null||a===void 0?void 0:a.lead)||this:this}getPrevLead(){var a;const{layoutId:s}=this.options;return s?(a=this.getStack())===null||a===void 0?void 0:a.prevLead:void 0}getStack(){const{layoutId:a}=this.options;if(a)return this.root.sharedNodes.get(a)}promote({needsReset:a,transition:s,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),a&&(this.projectionDelta=void 0,this.needsReset=!0),s&&this.setOptions({transition:s})}relegate(){const a=this.getStack();return a?a.relegate(this):!1}resetRotation(){const{visualElement:a}=this.options;if(!a)return;let s=!1;const{latestValues:l}=a;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(s=!0),!s)return;const u={};for(let d=0;d{var s;return(s=a.currentAnimation)===null||s===void 0?void 0:s.stop()}),this.root.nodes.forEach(wA),this.root.sharedNodes.clear()}}}function Epe(e){e.updateLayout()}function Ppe(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,a=n.source!==e.layout.source;o==="size"?Al(p=>{const m=a?n.measuredBox[p]:n.layoutBox[p],y=Aa(m);m.min=r[p].min,m.max=m.min+y}):zB(o,n.layoutBox,r)&&Al(p=>{const m=a?n.measuredBox[p]:n.layoutBox[p],y=Aa(r[p]);m.max=m.min+y});const s=H1();B1(s,r,n.layoutBox);const l=H1();a?B1(l,e.applyTransform(i,!0),n.measuredBox):B1(l,r,n.layoutBox);const u=!$B(s);let d=!1;if(!e.resumeFrom){const p=e.getClosestProjectingParent();if(p&&!p.resumeFrom){const{snapshot:m,layout:y}=p;if(m&&y){const b=gi();z1(b,n.layoutBox,m.layoutBox);const w=gi();z1(w,r,y.layoutBox),FB(b,w)||(d=!0),p.options.layoutRoot&&(e.relativeTarget=w,e.relativeTargetOrigin=b,e.relativeParent=p)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:s,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function Tpe(e){e.isProjectionDirty||(e.isProjectionDirty=Boolean(e.parent&&e.parent.isProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=Boolean(e.parent&&e.parent.isTransformDirty))}function Mpe(e){e.clearSnapshot()}function wA(e){e.clearMeasurements()}function Lpe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function CA(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0}function Ape(e){e.resolveTargetDelta()}function Ope(e){e.calcProjection()}function Rpe(e){e.resetRotation()}function Ipe(e){e.removeLeadSnapshot()}function _A(e,t,n){e.translate=Fr(t.translate,0,n),e.scale=Fr(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function kA(e,t,n,r){e.min=Fr(t.min,n.min,r),e.max=Fr(t.max,n.max,r)}function Dpe(e,t,n,r){kA(e.x,t.x,n.x,r),kA(e.y,t.y,n.y,r)}function jpe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const Npe={duration:.45,ease:[.4,0,.1,1]};function $pe(e,t){let n=e.root;for(let o=e.path.length-1;o>=0;o--)if(Boolean(e.path[o].instance)){n=e.path[o];break}const i=(n&&n!==e.root?n.instance:document).querySelector(`[data-projection-id="${t}"]`);i&&e.mount(i,!0)}function EA(e){e.min=Math.round(e.min),e.max=Math.round(e.max)}function Fpe(e){EA(e.x),EA(e.y)}function zB(e,t,n){return e==="position"||e==="preserve-aspect"&&!A_(yA(t),yA(n),.2)}const Bpe=BB({attachResizeListener:(e,t)=>Hu(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),aC={current:void 0},HB=BB({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!aC.current){const e=new Bpe(0,{});e.mount(window),e.setOptions({layoutScroll:!0}),aC.current=e}return aC.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>Boolean(window.getComputedStyle(e).position==="fixed")}),zpe={pan:{Feature:ape},drag:{Feature:ope,ProjectionNode:HB,MeasureLayout:DB}},Hpe=new Set(["width","height","top","left","right","bottom","x","y"]),WB=e=>Hpe.has(e),Wpe=e=>Object.keys(e).some(WB),PA=e=>e===np||e===Pt;var TA;(function(e){e.width="width",e.height="height",e.left="left",e.right="right",e.top="top",e.bottom="bottom"})(TA||(TA={}));const MA=(e,t)=>parseFloat(e.split(", ")[t]),LA=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return MA(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?MA(o[1],e):0}},Upe=new Set(["x","y","z"]),Vpe=Aw.filter(e=>!Upe.has(e));function Gpe(e){const t=[];return Vpe.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 AA={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:LA(4,13),y:LA(5,14)},qpe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:a}=o,s={};a==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{s[u]=AA[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const d=t.getValue(u);d&&d.jump(s[u]),e[u]=AA[u](l,o)}),e},Kpe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(WB);let o=[],a=!1;const s=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let d=n[l],p=Hv(d);const m=t[l];let y;if(QS(m)){const b=m.length,w=m[0]===null?1:0;d=m[w],p=Hv(d);for(let E=w;E=0?window.pageYOffset:null,u=qpe(t,e,s);return o.length&&o.forEach(([d,p])=>{e.getValue(d).set(p)}),e.render(),Tw&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function Ype(e,t,n,r){return Wpe(t)?Kpe(e,t,n,r):{target:t,transitionEnd:r}}const Xpe=(e,t,n,r)=>{const i=cpe(e,t,r);return t=i.target,r=i.transitionEnd,Ype(e,t,n,r)},N_={current:null},UB={current:!1};function Zpe(){if(UB.current=!0,!!Tw)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>N_.current=e.matches;e.addListener(t),t()}else N_.current=!1}function Qpe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],a=n[i];if(ta(o))e.addValue(i,o),e3(r)&&r.add(i);else if(ta(a))e.addValue(i,Gm(o,{owner:e})),e3(r)&&r.remove(i);else if(a!==o)if(e.hasValue(i)){const s=e.getValue(i);!s.hasAnimated&&s.set(o)}else{const s=e.getStaticValue(i);e.addValue(i,Gm(s!==void 0?s:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const VB=Object.keys(ky),Jpe=VB.length,OA=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class ege{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},a={}){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=()=>so.render(this.render,!1,!0);const{latestValues:s,renderState:l}=o;this.latestValues=s,this.baseTarget={...s},this.initialValues=n.initial?{...s}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=a,this.isControllingVariants=Lw(n),this.isVariantNode=jF(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=Boolean(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{});for(const p in d){const m=d[p];s[p]!==void 0&&ta(m)&&(m.set(s[p],!1),e3(u)&&u.add(p))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,this.projection&&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)),UB.current||Zpe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:N_.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),Gd.update(this.notifyUpdate),Gd.render(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=d0.has(t),i=n.on("change",a=>{this.latestValues[t]=a,this.props.onUpdate&&so.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,a){let s,l;for(let u=0;uthis.scheduleRender(),animationType:typeof d=="string"?d:"both",initialPromotionConfig:a,layoutScroll:y,layoutRoot:b})}return l}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update(this.props,this.prevProps):(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):gi()}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=Gm(n,{owner:this}),this.addValue(t,r)),r}readValue(t){return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]: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=H9(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&&!ta(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 V9),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}const GB=["initial",...r8],tge=GB.length;class qB extends ege{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 a=Mfe(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),a&&(a=i(a))),o){Pfe(this,r,a);const s=Xpe(this,r,a,n);n=s.transitionEnd,r=s.target}return{transition:t,transitionEnd:n,...r}}}function nge(e){return window.getComputedStyle(e)}class rge extends qB{readValueFromInstance(t,n){if(d0.has(n)){const r=K9(n);return r&&r.default||0}else{const r=nge(t),i=(FF(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return OB(t,n)}build(t,n,r,i){j9(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return z9(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ta(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){UF(t,n,r,i)}}class ige extends qB{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(d0.has(n)){const r=K9(n);return r&&r.default||0}return n=VF.has(n)?n:B9(n),t.getAttribute(n)}measureInstanceViewportBox(){return gi()}scrapeMotionValuesFromProps(t,n){return qF(t,n)}build(t,n,r,i){$9(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){GF(t,n,r,i)}mount(t){this.isSVGTag=F9(t.tagName),super.mount(t)}}const oge=(e,t)=>D9(e)?new ige(t,{enableHardwareAcceleration:!1}):new rge(t,{enableHardwareAcceleration:!0}),age={layout:{ProjectionNode:HB,MeasureLayout:DB}},sge={...Fhe,...tfe,...zpe,...age},su=pde((e,t)=>Hde(e,t,sge,oge));function KB(){const e=S.useRef(!1);return YS(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function lge(){const e=KB(),[t,n]=S.useState(0),r=S.useCallback(()=>{e.current&&n(t+1)},[t]);return[S.useCallback(()=>so.postRender(r),[r]),t]}class uge extends S.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 cge({children:e,isPresent:t}){const n=S.useId(),r=S.useRef(null),i=S.useRef({width:0,height:0,top:0,left:0});return S.useInsertionEffect(()=>{const{width:o,height:a,top:s,left:l}=i.current;if(t||!r.current||!o||!a)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: ${a}px !important; - top: ${s}px !important; - left: ${l}px !important; - } - `),()=>{document.head.removeChild(u)}},[t]),S.createElement(uge,{isPresent:t,childRef:r,sizeRef:i},S.cloneElement(e,{ref:r}))}const sC=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:a})=>{const s=R9(dge),l=S.useId(),u=S.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:d=>{s.set(d,!0);for(const p of s.values())if(!p)return;r&&r()},register:d=>(s.set(d,!1),()=>s.delete(d))}),o?void 0:[n]);return S.useMemo(()=>{s.forEach((d,p)=>s.set(p,!1))},[n]),S.useEffect(()=>{!n&&!s.size&&r&&r()},[n]),a==="popLayout"&&(e=S.createElement(cge,{isPresent:n},e)),S.createElement(n2.Provider,{value:u},e)};function dge(){return new Map}function fge(e){return S.useEffect(()=>()=>e(),[])}const jg=e=>e.key||"";function hge(e,t){e.forEach(n=>{const r=jg(n);t.set(r,n)})}function pge(e){const t=[];return S.Children.forEach(e,n=>{S.isValidElement(n)&&t.push(n)}),t}const rp=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:a="sync"})=>{i&&(a="wait");let[s]=lge();const l=S.useContext(I9).forceRender;l&&(s=l);const u=KB(),d=pge(e);let p=d;const m=new Set,y=S.useRef(p),b=S.useRef(new Map).current,w=S.useRef(!0);if(YS(()=>{w.current=!1,hge(d,b),y.current=p}),fge(()=>{w.current=!0,b.clear(),m.clear()}),w.current)return S.createElement(S.Fragment,null,p.map(T=>S.createElement(sC,{key:jg(T),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:a},T)));p=[...p];const E=y.current.map(jg),_=d.map(jg),k=E.length;for(let T=0;T{if(_.indexOf(T)!==-1)return;const L=b.get(T);if(!L)return;const O=E.indexOf(T),D=()=>{b.delete(T),m.delete(T);const I=y.current.findIndex(N=>N.key===T);if(y.current.splice(I,1),!m.size){if(y.current=d,u.current===!1)return;s(),r&&r()}};p.splice(O,0,S.createElement(sC,{key:jg(L),isPresent:!1,onExitComplete:D,custom:t,presenceAffectsLayout:o,mode:a},L))}),p=p.map(T=>{const L=T.key;return m.has(L)?T:S.createElement(sC,{key:jg(T),isPresent:!0,presenceAffectsLayout:o,mode:a},T)}),S.createElement(S.Fragment,null,m.size?p:p.map(T=>S.cloneElement(T)))};var Nl=function(){return Nl=Object.assign||function(t){for(var n,r=1,i=arguments.length;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]0)&&!(i=r.next()).done;)o.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return o}function $_(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,o;r{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]}}},XB=S.memo(e=>{const{id:t,message:n,onCloseComplete:r,onRequestRemove:i,requestClose:o=!1,position:a="bottom",duration:s=5e3,containerStyle:l,motionVariants:u=gge,toastSpacing:d="0.5rem"}=e,[p,m]=S.useState(s),y=spe();rc(()=>{y||r==null||r()},[y]),rc(()=>{m(s)},[s]);const b=()=>m(null),w=()=>m(s),E=()=>{y&&i()};S.useEffect(()=>{y&&o&&i()},[y,o,i]),tde(E,p);const _=S.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:d,...l}),[l,d]),k=S.useMemo(()=>Jce(a),[a]);return g.jsx(su.li,{layout:!0,className:"chakra-toast",variants:u,initial:"initial",animate:"animate",exit:"exit",onHoverStart:b,onHoverEnd:w,custom:{position:a},style:k,children:g.jsx(Ne.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:_,children:ts(n,{id:t,onClose:E})})})});XB.displayName="ToastComponent";function mge(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 IA={path:g.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[g.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"}),g.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"}),g.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},ja=Ze((e,t)=>{const{as:n,viewBox:r,color:i="currentColor",focusable:o=!1,children:a,className:s,__css:l,...u}=e,d=xt("chakra-icon",s),p=au("Icon",e),m={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:i,...l,...p},y={ref:t,focusable:o,className:d,__css:m},b=r??IA.viewBox;if(n&&typeof n!="string")return g.jsx(Ne.svg,{as:n,...y,...u});const w=a??IA.path;return g.jsx(Ne.svg,{verticalAlign:"middle",viewBox:b,...y,...u,children:w})});ja.displayName="Icon";function fc(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:i={}}=e,o=S.Children.toArray(e.path),a=Ze((s,l)=>g.jsx(ja,{ref:l,viewBox:t,...i,...s,children:o.length?o:g.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}function vge(e){return g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.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 yge(e){return g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.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 DA(e){return g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.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 bge=nf({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),p0=Ze((e,t)=>{const n=au("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:a="transparent",className:s,...l}=fr(e),u=xt("chakra-spinner",s),d={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:a,borderLeftColor:a,animation:`${bge} ${o} linear infinite`,...n};return g.jsx(Ne.div,{ref:t,__css:d,className:u,...l,children:r&&g.jsx(Ne.span,{srOnly:!0,children:r})})});p0.displayName="Spinner";var[xge,Sge]=Pn({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[wge,i8]=Pn({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),ZB={info:{icon:yge,colorScheme:"blue"},warning:{icon:DA,colorScheme:"orange"},success:{icon:vge,colorScheme:"green"},error:{icon:DA,colorScheme:"red"},loading:{icon:p0,colorScheme:"blue"}};function Cge(e){return ZB[e].colorScheme}function _ge(e){return ZB[e].icon}var QB=Ze(function(t,n){const i={display:"inline",...i8().description};return g.jsx(Ne.div,{ref:n,...t,className:xt("chakra-alert__desc",t.className),__css:i})});QB.displayName="AlertDescription";function JB(e){const{status:t}=Sge(),n=_ge(t),r=i8(),i=t==="loading"?r.spinner:r.icon;return g.jsx(Ne.span,{display:"inherit",...e,className:xt("chakra-alert__icon",e.className),__css:i,children:e.children||g.jsx(n,{h:"100%",w:"100%"})})}JB.displayName="AlertIcon";var ez=Ze(function(t,n){const r=i8();return g.jsx(Ne.div,{ref:n,...t,className:xt("chakra-alert__title",t.className),__css:r.title})});ez.displayName="AlertTitle";var tz=Ze(function(t,n){var r;const{status:i="info",addRole:o=!0,...a}=fr(t),s=(r=t.colorScheme)!=null?r:Cge(i),l=Yi("Alert",{...t,colorScheme:s}),u={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return g.jsx(xge,{value:{status:i},children:g.jsx(wge,{value:l,children:g.jsx(Ne.div,{role:o?"alert":void 0,ref:n,...a,className:xt("chakra-alert",t.className),__css:u})})})});tz.displayName="Alert";function kge(e){return g.jsx(ja,{focusable:"false","aria-hidden":!0,...e,children:g.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 o8=Ze(function(t,n){const r=au("CloseButton",t),{children:i,isDisabled:o,__css:a,...s}=fr(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return g.jsx(Ne.button,{type:"button","aria-label":"Close",ref:n,disabled:o,__css:{...l,...r,...a},...s,children:i||g.jsx(kge,{width:"1em",height:"1em"})})});o8.displayName="CloseButton";var Ege={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},$l=Pge(Ege);function Pge(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(a=>({...a,[o]:a[o].filter(s=>s.id!=i)}))},notify:(i,o)=>{const a=Tge(i,o),{position:s,id:l}=a;return r(u=>{var d,p;const y=s.includes("top")?[a,...(d=u[s])!=null?d:[]]:[...(p=u[s])!=null?p:[],a];return{...u,[s]:y}}),l},update:(i,o)=>{i&&r(a=>{const s={...a},{position:l,index:u}=ML(s,i);return l&&u!==-1&&(s[l][u]={...s[l][u],...o,message:nz(o)}),s})},closeAll:({positions:i}={})=>{r(o=>(i??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,u)=>(l[u]=o[u].map(d=>({...d,requestClose:!0})),l),{...o}))},close:i=>{r(o=>{const a=RF(o,i);return a?{...o,[a]:o[a].map(s=>s.id==i?{...s,requestClose:!0}:s)}:o})},isActive:i=>Boolean(ML($l.getState(),i).position)}}var jA=0;function Tge(e,t={}){var n,r;jA+=1;const i=(n=t.id)!=null?n:jA,o=(r=t.position)!=null?r:"bottom";return{id:i,message:e,position:o,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>$l.removeToast(String(i),o),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var Mge=e=>{const{status:t,variant:n="solid",id:r,title:i,isClosable:o,onClose:a,description:s,icon:l}=e,u=r?{root:`toast-${r}`,title:`toast-${r}-title`,description:`toast-${r}-description`}:void 0;return g.jsxs(tz,{addRole:!1,status:t,variant:n,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",children:[g.jsx(JB,{children:l}),g.jsxs(Ne.div,{flex:"1",maxWidth:"100%",children:[i&&g.jsx(ez,{id:u==null?void 0:u.title,children:i}),s&&g.jsx(QB,{id:u==null?void 0:u.description,display:"block",children:s})]}),o&&g.jsx(o8,{size:"sm",onClick:a,position:"absolute",insetEnd:1,top:1})]})};function nz(e={}){const{render:t,toastComponent:n=Mge}=e;return i=>typeof t=="function"?t({...i,...e}):g.jsx(n,{...i,...e})}function Lge(e,t){const n=i=>{var o;return{...t,...i,position:mge((o=i==null?void 0:i.position)!=null?o:t==null?void 0:t.position,e)}},r=i=>{const o=n(i),a=nz(o);return $l.notify(a,o)};return r.update=(i,o)=>{$l.update(i,n(o))},r.promise=(i,o)=>{const a=r({...o.loading,status:"loading",duration:null});i.then(s=>r.update(a,{status:"success",duration:5e3,...ts(o.success,s)})).catch(s=>r.update(a,{status:"error",duration:5e3,...ts(o.error,s)}))},r.closeAll=$l.closeAll,r.close=$l.close,r.isActive=$l.isActive,r}var[Age,Oge]=Pn({name:"ToastOptionsContext",strict:!1}),Rge=e=>{const t=S.useSyncExternalStore($l.subscribe,$l.getState,$l.getState),{motionVariants:n,component:r=XB,portalProps:i}=e,a=Object.keys(t).map(s=>{const l=t[s];return g.jsx("ul",{role:"region","aria-live":"polite",id:`chakra-toast-manager-${s}`,style:ede(s),children:g.jsx(rp,{initial:!1,children:l.map(u=>g.jsx(r,{motionVariants:n,...u},u.id))})},s)});return g.jsx(c0,{...i,children:a})};function a2(e){const{theme:t}=eF(),n=Oge();return S.useMemo(()=>Lge(t.direction,{...n,...e}),[e,t.direction,n])}var Ige=e=>function({children:n,theme:r=e,toastOptions:i,...o}){return g.jsxs(Zce,{theme:r,...o,children:[g.jsx(Age,{value:i==null?void 0:i.defaultOptions,children:n}),g.jsx(Rge,{...i})]})},Dge=Ige(fce),jge=Object.defineProperty,Nge=(e,t,n)=>t in e?jge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Nr=(e,t,n)=>(Nge(e,typeof t!="symbol"?t+"":t,n),n);function NA(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 $ge=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function $A(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function FA(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var F_=typeof window<"u"?S.useLayoutEffect:S.useEffect,o3=e=>e,Fge=class{constructor(){Nr(this,"descendants",new Map),Nr(this,"register",e=>{if(e!=null)return $ge(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),Nr(this,"unregister",e=>{this.descendants.delete(e);const t=NA(Array.from(this.descendants.keys()));this.assignIndex(t)}),Nr(this,"destroy",()=>{this.descendants.clear()}),Nr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),Nr(this,"count",()=>this.descendants.size),Nr(this,"enabledCount",()=>this.enabledValues().length),Nr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),Nr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),Nr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),Nr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),Nr(this,"first",()=>this.item(0)),Nr(this,"firstEnabled",()=>this.enabledItem(0)),Nr(this,"last",()=>this.item(this.descendants.size-1)),Nr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),Nr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),Nr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),Nr(this,"next",(e,t=!0)=>{const n=$A(e,this.count(),t);return this.item(n)}),Nr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),i=$A(r,this.enabledCount(),t);return this.enabledItem(i)}),Nr(this,"prev",(e,t=!0)=>{const n=FA(e,this.count()-1,t);return this.item(n)}),Nr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),i=FA(r,this.enabledCount()-1,t);return this.enabledItem(i)}),Nr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=NA(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const i={node:e,index:-1,...t};this.descendants.set(e,i),this.assignIndex(r)})}};function Bge(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 Rn(...e){return t=>{e.forEach(n=>{Bge(n,t)})}}function zge(...e){return S.useMemo(()=>Rn(...e),e)}function Hge(){const e=S.useRef(new Fge);return F_(()=>()=>e.current.destroy()),e.current}var[Wge,rz]=Pn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function Uge(e){const t=rz(),[n,r]=S.useState(-1),i=S.useRef(null);F_(()=>()=>{i.current&&t.unregister(i.current)},[]),F_(()=>{if(!i.current)return;const a=Number(i.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const o=o3(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(i.current),register:Rn(o,i)}}function a8(){return[o3(Wge),()=>o3(rz()),()=>Hge(),i=>Uge(i)]}var[Vge,Dw]=Pn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[Gge,s8]=Pn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[qge,mNe,Kge,Yge]=a8(),tm=Ze(function(t,n){const{getButtonProps:r}=s8(),i=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...Dw().button};return g.jsx(Ne.button,{...i,className:xt("chakra-accordion__button",t.className),__css:a})});tm.displayName="AccordionButton";function l8(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:i=(m,y)=>m!==y}=e,o=Qr(r),a=Qr(i),[s,l]=S.useState(n),u=t!==void 0,d=u?t:s,p=Qr(m=>{const b=typeof m=="function"?m(d):m;a(d,b)&&(u||l(b),o(b))},[u,o,d,a]);return[d,p]}function Xge(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:i,allowToggle:o,...a}=e;Jge(e),eme(e);const s=Kge(),[l,u]=S.useState(-1);S.useEffect(()=>()=>{u(-1)},[]);const[d,p]=l8({value:r,defaultValue(){return i?n??[]:n??-1},onChange:t});return{index:d,setIndex:p,htmlProps:a,getAccordionItemProps:y=>{let b=!1;return y!==null&&(b=Array.isArray(d)?d.includes(y):d===y),{isOpen:b,onChange:E=>{if(y!==null)if(i&&Array.isArray(d)){const _=E?d.concat(y):d.filter(k=>k!==y);p(_)}else E?p(y):o&&p(-1)}}},focusedIndex:l,setFocusedIndex:u,descendants:s}}var[Zge,u8]=Pn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function Qge(e){const{isDisabled:t,isFocusable:n,id:r,...i}=e,{getAccordionItemProps:o,setFocusedIndex:a}=u8(),s=S.useRef(null),l=S.useId(),u=r??l,d=`accordion-button-${u}`,p=`accordion-panel-${u}`;tme(e);const{register:m,index:y,descendants:b}=Yge({disabled:t&&!n}),{isOpen:w,onChange:E}=o(y===-1?null:y);nme({isOpen:w,isDisabled:t});const _=()=>{E==null||E(!0)},k=()=>{E==null||E(!1)},T=S.useCallback(()=>{E==null||E(!w),a(y)},[y,a,w,E]),L=S.useCallback(N=>{const B={ArrowDown:()=>{const K=b.nextEnabled(y);K==null||K.node.focus()},ArrowUp:()=>{const K=b.prevEnabled(y);K==null||K.node.focus()},Home:()=>{const K=b.firstEnabled();K==null||K.node.focus()},End:()=>{const K=b.lastEnabled();K==null||K.node.focus()}}[N.key];B&&(N.preventDefault(),B(N))},[b,y]),O=S.useCallback(()=>{a(y)},[a,y]),D=S.useCallback(function(W={},B=null){return{...W,type:"button",ref:Rn(m,s,B),id:d,disabled:!!t,"aria-expanded":!!w,"aria-controls":p,onClick:ht(W.onClick,T),onFocus:ht(W.onFocus,O),onKeyDown:ht(W.onKeyDown,L)}},[d,t,w,T,O,L,p,m]),I=S.useCallback(function(W={},B=null){return{...W,ref:B,role:"region",id:p,"aria-labelledby":d,hidden:!w}},[d,w,p]);return{isOpen:w,isDisabled:t,isFocusable:n,onOpen:_,onClose:k,getButtonProps:D,getPanelProps:I,htmlProps:i}}function Jge(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;Jy({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function eme(e){Jy({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 tme(e){Jy({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 nme(e){Jy({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function nm(e){const{isOpen:t,isDisabled:n}=s8(),{reduceMotion:r}=u8(),i=xt("chakra-accordion__icon",e.className),o=Dw(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...o.icon};return g.jsx(ja,{viewBox:"0 0 24 24","aria-hidden":!0,className:i,__css:a,...e,children:g.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}nm.displayName="AccordionIcon";var rm=Ze(function(t,n){const{children:r,className:i}=t,{htmlProps:o,...a}=Qge(t),l={...Dw().container,overflowAnchor:"none"},u=S.useMemo(()=>a,[a]);return g.jsx(Gge,{value:u,children:g.jsx(Ne.div,{ref:n,...o,className:xt("chakra-accordion__item",i),__css:l,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});rm.displayName="AccordionItem";var im={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},Ih={enter:{duration:.2,ease:im.easeOut},exit:{duration:.1,ease:im.easeIn}},Ku={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})},rme=e=>e!=null&&parseInt(e.toString(),10)>0,BA={exit:{height:{duration:.2,ease:im.ease},opacity:{duration:.3,ease:im.ease}},enter:{height:{duration:.3,ease:im.ease},opacity:{duration:.4,ease:im.ease}}},ime={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{...e&&{opacity:rme(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(o=n==null?void 0:n.exit)!=null?o:Ku.exit(BA.exit,i)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(o=n==null?void 0:n.enter)!=null?o:Ku.enter(BA.enter,i)}}},iz=S.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:i=!0,startingHeight:o=0,endingHeight:a="auto",style:s,className:l,transition:u,transitionEnd:d,...p}=e,[m,y]=S.useState(!1);S.useEffect(()=>{const k=setTimeout(()=>{y(!0)});return()=>clearTimeout(k)},[]),Jy({condition:Boolean(o>0&&r),message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const b=parseFloat(o.toString())>0,w={startingHeight:o,endingHeight:a,animateOpacity:i,transition:m?u:{enter:{duration:0}},transitionEnd:{enter:d==null?void 0:d.enter,exit:r?d==null?void 0:d.exit:{...d==null?void 0:d.exit,display:b?"block":"none"}}},E=r?n:!0,_=n||r?"enter":"exit";return g.jsx(rp,{initial:!1,custom:w,children:E&&g.jsx(su.div,{ref:t,...p,className:xt("chakra-collapse",l),style:{overflow:"hidden",display:"block",...s},custom:w,variants:ime,initial:r?"exit":!1,animate:_,exit:"exit"})})});iz.displayName="Collapse";var ome={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:Ku.enter(Ih.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:Ku.exit(Ih.exit,n),transitionEnd:t==null?void 0:t.exit}}},oz={initial:"exit",animate:"enter",exit:"exit",variants:ome},ame=S.forwardRef(function(t,n){const{unmountOnExit:r,in:i,className:o,transition:a,transitionEnd:s,delay:l,...u}=t,d=i||r?"enter":"exit",p=r?i&&r:!0,m={transition:a,transitionEnd:s,delay:l};return g.jsx(rp,{custom:m,children:p&&g.jsx(su.div,{ref:n,className:xt("chakra-fade",o),custom:m,...oz,animate:d,...u})})});ame.displayName="Fade";var sme={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(o=n==null?void 0:n.exit)!=null?o:Ku.exit(Ih.exit,i)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:Ku.enter(Ih.enter,n),transitionEnd:e==null?void 0:e.enter}}},az={initial:"exit",animate:"enter",exit:"exit",variants:sme},lme=S.forwardRef(function(t,n){const{unmountOnExit:r,in:i,reverse:o=!0,initialScale:a=.95,className:s,transition:l,transitionEnd:u,delay:d,...p}=t,m=r?i&&r:!0,y=i||r?"enter":"exit",b={initialScale:a,reverse:o,transition:l,transitionEnd:u,delay:d};return g.jsx(rp,{custom:b,children:m&&g.jsx(su.div,{ref:n,className:xt("chakra-offset-slide",s),...az,animate:y,custom:b,...p})})});lme.displayName="ScaleFade";var ume={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{opacity:0,x:e,y:t,transition:(o=n==null?void 0:n.exit)!=null?o:Ku.exit(Ih.exit,i),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:Ku.enter(Ih.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:i,delay:o})=>{var a;const s={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:Ku.exit(Ih.exit,o),...i?{...s,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...s,...r==null?void 0:r.exit}}}}},B_={initial:"initial",animate:"enter",exit:"exit",variants:ume},cme=S.forwardRef(function(t,n){const{unmountOnExit:r,in:i,reverse:o=!0,className:a,offsetX:s=0,offsetY:l=8,transition:u,transitionEnd:d,delay:p,...m}=t,y=r?i&&r:!0,b=i||r?"enter":"exit",w={offsetX:s,offsetY:l,reverse:o,transition:u,transitionEnd:d,delay:p};return g.jsx(rp,{custom:w,children:y&&g.jsx(su.div,{ref:n,className:xt("chakra-offset-slide",a),custom:w,...B_,animate:b,...m})})});cme.displayName="SlideFade";var om=Ze(function(t,n){const{className:r,motionProps:i,...o}=t,{reduceMotion:a}=u8(),{getPanelProps:s,isOpen:l}=s8(),u=s(o,n),d=xt("chakra-accordion__panel",r),p=Dw();a||delete u.hidden;const m=g.jsx(Ne.div,{...u,__css:p.panel,className:d});return a?m:g.jsx(iz,{in:l,...i,children:m})});om.displayName="AccordionPanel";var c8=Ze(function({children:t,reduceMotion:n,...r},i){const o=Yi("Accordion",r),a=fr(r),{htmlProps:s,descendants:l,...u}=Xge(a),d=S.useMemo(()=>({...u,reduceMotion:!!n}),[u,n]);return g.jsx(qge,{value:l,children:g.jsx(Zge,{value:d,children:g.jsx(Vge,{value:o,children:g.jsx(Ne.div,{ref:i,...s,className:xt("chakra-accordion",r.className),__css:o.root,children:t})})})})});c8.displayName="Accordion";var z_=Ze(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...a}=t;return g.jsx("img",{width:r,height:i,ref:n,alt:o,...a})});z_.displayName="NativeImage";function dme(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:a,sizes:s,ignoreFallback:l}=e,[u,d]=S.useState("pending");S.useEffect(()=>{d(n?"loading":"pending")},[n]);const p=S.useRef(),m=S.useCallback(()=>{if(!n)return;y();const b=new Image;b.src=n,a&&(b.crossOrigin=a),r&&(b.srcset=r),s&&(b.sizes=s),t&&(b.loading=t),b.onload=w=>{y(),d("loaded"),i==null||i(w)},b.onerror=w=>{y(),d("failed"),o==null||o(w)},p.current=b},[n,a,r,s,i,o,t]),y=()=>{p.current&&(p.current.onload=null,p.current.onerror=null,p.current=null)};return Vl(()=>{if(!l)return u==="loading"&&m(),()=>{y()}},[u,m,l]),l?"loaded":u}var fme=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function hme(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var jw=Ze(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:a,align:s,fit:l,loading:u,ignoreFallback:d,crossOrigin:p,fallbackStrategy:m="beforeLoadOrError",referrerPolicy:y,...b}=t,w=r!==void 0||i!==void 0,E=u!=null||d||!w,_=dme({...t,ignoreFallback:E}),k=fme(_,m),T={ref:n,objectFit:l,objectPosition:s,...E?b:hme(b,["onError","onLoad"])};return k?i||g.jsx(Ne.img,{as:z_,className:"chakra-image__placeholder",src:r,...T}):g.jsx(Ne.img,{as:z_,src:o,srcSet:a,crossOrigin:p,loading:u,referrerPolicy:y,className:"chakra-image",...T})});jw.displayName="Image";function d8(e){return S.Children.toArray(e).filter(t=>S.isValidElement(t))}var[pme,gme]=Pn({strict:!1,name:"ButtonGroupContext"}),mme={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}}},vme={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},Gi=Ze(function(t,n){const{size:r,colorScheme:i,variant:o,className:a,spacing:s="0.5rem",isAttached:l,isDisabled:u,orientation:d="horizontal",...p}=t,m=xt("chakra-button__group",a),y=S.useMemo(()=>({size:r,colorScheme:i,variant:o,isDisabled:u}),[r,i,o,u]);let b={display:"inline-flex",...l?mme[d]:vme[d](s)};const w=d==="vertical";return g.jsx(pme,{value:y,children:g.jsx(Ne.div,{ref:n,role:"group",__css:b,className:m,"data-attached":l?"":void 0,"data-orientation":d,flexDir:w?"column":void 0,...p})})});Gi.displayName="ButtonGroup";function yme(e){const[t,n]=S.useState(!e);return{ref:S.useCallback(o=>{o&&n(o.tagName==="BUTTON")},[]),type:t?"button":void 0}}function H_(e){const{children:t,className:n,...r}=e,i=S.isValidElement(t)?S.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,o=xt("chakra-button__icon",n);return g.jsx(Ne.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:o,children:i})}H_.displayName="ButtonIcon";function a3(e){const{label:t,placement:n,spacing:r="0.5rem",children:i=g.jsx(p0,{color:"currentColor",width:"1em",height:"1em"}),className:o,__css:a,...s}=e,l=xt("chakra-button__spinner",o),u=n==="start"?"marginEnd":"marginStart",d=S.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[u]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,u,r]);return g.jsx(Ne.div,{className:l,...s,__css:d,children:i})}a3.displayName="ButtonSpinner";var ss=Ze((e,t)=>{const n=gme(),r=au("Button",{...n,...e}),{isDisabled:i=n==null?void 0:n.isDisabled,isLoading:o,isActive:a,children:s,leftIcon:l,rightIcon:u,loadingText:d,iconSpacing:p="0.5rem",type:m,spinner:y,spinnerPlacement:b="start",className:w,as:E,..._}=fr(e),k=S.useMemo(()=>{const D={...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:D}}},[r,n]),{ref:T,type:L}=yme(E),O={rightIcon:u,leftIcon:l,iconSpacing:p,children:s};return g.jsxs(Ne.button,{ref:zge(t,T),as:E,type:m??L,"data-active":Bt(a),"data-loading":Bt(o),__css:k,className:xt("chakra-button",w),..._,disabled:i||o,children:[o&&b==="start"&&g.jsx(a3,{className:"chakra-button__spinner--start",label:d,placement:"start",spacing:p,children:y}),o?d||g.jsx(Ne.span,{opacity:0,children:g.jsx(zA,{...O})}):g.jsx(zA,{...O}),o&&b==="end"&&g.jsx(a3,{className:"chakra-button__spinner--end",label:d,placement:"end",spacing:p,children:y})]})});ss.displayName="Button";function zA(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:i}=e;return g.jsxs(g.Fragment,{children:[t&&g.jsx(H_,{marginEnd:i,children:t}),r,n&&g.jsx(H_,{marginStart:i,children:n})]})}var ls=Ze((e,t)=>{const{icon:n,children:r,isRound:i,"aria-label":o,...a}=e,s=n||r,l=S.isValidElement(s)?S.cloneElement(s,{"aria-hidden":!0,focusable:!1}):null;return g.jsx(ss,{padding:"0",borderRadius:i?"full":void 0,ref:t,"aria-label":o,...a,children:l})});ls.displayName="IconButton";var[vNe,bme]=Pn({name:"CheckboxGroupContext",strict:!1});function xme(e){return g.jsx(Ne.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:g.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function Sme(e){return g.jsx(Ne.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:g.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function wme(e){const{isIndeterminate:t,isChecked:n,...r}=e,i=t?Sme:xme;return n||t?g.jsx(Ne.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:g.jsx(i,{...r})}):null}var[Cme,sz]=Pn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[_me,ip]=Pn({strict:!1,name:"FormControlContext"});function kme(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:i,isReadOnly:o,...a}=e,s=S.useId(),l=t||`field-${s}`,u=`${l}-label`,d=`${l}-feedback`,p=`${l}-helptext`,[m,y]=S.useState(!1),[b,w]=S.useState(!1),[E,_]=S.useState(!1),k=S.useCallback((I={},N=null)=>({id:p,...I,ref:Rn(N,W=>{W&&w(!0)})}),[p]),T=S.useCallback((I={},N=null)=>{var W,B;return{...I,ref:N,"data-focus":Bt(E),"data-disabled":Bt(i),"data-invalid":Bt(r),"data-readonly":Bt(o),id:(W=I.id)!=null?W:u,htmlFor:(B=I.htmlFor)!=null?B:l}},[l,i,E,r,o,u]),L=S.useCallback((I={},N=null)=>({id:d,...I,ref:Rn(N,W=>{W&&y(!0)}),"aria-live":"polite"}),[d]),O=S.useCallback((I={},N=null)=>({...I,...a,ref:N,role:"group"}),[a]),D=S.useCallback((I={},N=null)=>({...I,ref:N,role:"presentation","aria-hidden":!0,children:I.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!o,isDisabled:!!i,isFocused:!!E,onFocus:()=>_(!0),onBlur:()=>_(!1),hasFeedbackText:m,setHasFeedbackText:y,hasHelpText:b,setHasHelpText:w,id:l,labelId:u,feedbackId:d,helpTextId:p,htmlProps:a,getHelpTextProps:k,getErrorMessageProps:L,getRootProps:O,getLabelProps:T,getRequiredIndicatorProps:D}}var sn=Ze(function(t,n){const r=Yi("Form",t),i=fr(t),{getRootProps:o,htmlProps:a,...s}=kme(i),l=xt("chakra-form-control",t.className);return g.jsx(_me,{value:s,children:g.jsx(Cme,{value:r,children:g.jsx(Ne.div,{...o({},n),className:l,__css:r.container})})})});sn.displayName="FormControl";var sr=Ze(function(t,n){const r=ip(),i=sz(),o=xt("chakra-form__helper-text",t.className);return g.jsx(Ne.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:i.helperText,className:o})});sr.displayName="FormHelperText";var[Eme,Pme]=Pn({name:"FormErrorStylesContext",errorMessage:`useFormErrorStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),lr=Ze((e,t)=>{const n=Yi("FormError",e),r=fr(e),i=ip();return i!=null&&i.isInvalid?g.jsx(Eme,{value:n,children:g.jsx(Ne.div,{...i==null?void 0:i.getErrorMessageProps(r,t),className:xt("chakra-form__error-message",e.className),__css:{display:"flex",alignItems:"center",...n.text}})}):null});lr.displayName="FormErrorMessage";var Tme=Ze((e,t)=>{const n=Pme(),r=ip();if(!(r!=null&&r.isInvalid))return null;const i=xt("chakra-form__error-icon",e.className);return g.jsx(ja,{ref:t,"aria-hidden":!0,...e,__css:n.icon,className:i,children:g.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"})})});Tme.displayName="FormErrorIcon";var Sn=Ze(function(t,n){var r;const i=au("FormLabel",t),o=fr(t),{className:a,children:s,requiredIndicator:l=g.jsx(lz,{}),optionalIndicator:u=null,...d}=o,p=ip(),m=(r=p==null?void 0:p.getLabelProps(d,n))!=null?r:{ref:n,...d};return g.jsxs(Ne.label,{...m,className:xt("chakra-form__label",o.className),__css:{display:"block",textAlign:"start",...i},children:[s,p!=null&&p.isRequired?l:u]})});Sn.displayName="FormLabel";var lz=Ze(function(t,n){const r=ip(),i=sz();if(!(r!=null&&r.isRequired))return null;const o=xt("chakra-form__required-indicator",t.className);return g.jsx(Ne.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:i.requiredIndicator,className:o})});lz.displayName="RequiredIndicator";function f8(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:i,...o}=h8(e);return{...o,disabled:t,readOnly:r,required:i,"aria-invalid":Uu(n),"aria-required":Uu(i),"aria-readonly":Uu(r)}}function h8(e){var t,n,r;const i=ip(),{id:o,disabled:a,readOnly:s,required:l,isRequired:u,isInvalid:d,isReadOnly:p,isDisabled:m,onFocus:y,onBlur:b,...w}=e,E=e["aria-describedby"]?[e["aria-describedby"]]:[];return i!=null&&i.hasFeedbackText&&(i!=null&&i.isInvalid)&&E.push(i.feedbackId),i!=null&&i.hasHelpText&&E.push(i.helpTextId),{...w,"aria-describedby":E.join(" ")||void 0,id:o??(i==null?void 0:i.id),isDisabled:(t=a??m)!=null?t:i==null?void 0:i.isDisabled,isReadOnly:(n=s??p)!=null?n:i==null?void 0:i.isReadOnly,isRequired:(r=l??u)!=null?r:i==null?void 0:i.isRequired,isInvalid:d??(i==null?void 0:i.isInvalid),onFocus:ht(i==null?void 0:i.onFocus,y),onBlur:ht(i==null?void 0:i.onBlur,b)}}var Mme={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},HA=!1,s2=null,qh=!1,W_=!1,U_=new Set;function p8(e,t){U_.forEach(n=>n(e,t))}var Lme=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function Ame(e){return!(e.metaKey||!Lme&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function WA(e){qh=!0,Ame(e)&&(s2="keyboard",p8("keyboard",e))}function xg(e){if(s2="pointer",e.type==="mousedown"||e.type==="pointerdown"){qh=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;p8("pointer",e)}}function Ome(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function Rme(e){Ome(e)&&(qh=!0,s2="virtual")}function Ime(e){e.target===window||e.target===document||(!qh&&!W_&&(s2="virtual",p8("virtual",e)),qh=!1,W_=!1)}function Dme(){qh=!1,W_=!0}function UA(){return s2!=="pointer"}function jme(){if(typeof window>"u"||HA)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){qh=!0,e.apply(this,n)},document.addEventListener("keydown",WA,!0),document.addEventListener("keyup",WA,!0),document.addEventListener("click",Rme,!0),window.addEventListener("focus",Ime,!0),window.addEventListener("blur",Dme,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",xg,!0),document.addEventListener("pointermove",xg,!0),document.addEventListener("pointerup",xg,!0)):(document.addEventListener("mousedown",xg,!0),document.addEventListener("mousemove",xg,!0),document.addEventListener("mouseup",xg,!0)),HA=!0}function uz(e){jme(),e(UA());const t=()=>e(UA());return U_.add(t),()=>{U_.delete(t)}}function Nme(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function cz(e={}){const t=h8(e),{isDisabled:n,isReadOnly:r,isRequired:i,isInvalid:o,id:a,onBlur:s,onFocus:l,"aria-describedby":u}=t,{defaultChecked:d,isChecked:p,isFocusable:m,onChange:y,isIndeterminate:b,name:w,value:E,tabIndex:_=void 0,"aria-label":k,"aria-labelledby":T,"aria-invalid":L,...O}=e,D=Nme(O,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),I=Qr(y),N=Qr(s),W=Qr(l),[B,K]=S.useState(!1),[ne,z]=S.useState(!1),[$,V]=S.useState(!1),[X,Q]=S.useState(!1);S.useEffect(()=>uz(K),[]);const G=S.useRef(null),[Y,ee]=S.useState(!0),[fe,_e]=S.useState(!!d),we=p!==void 0,xe=we?p:fe,Le=S.useCallback(Fe=>{if(r||n){Fe.preventDefault();return}we||_e(xe?Fe.target.checked:b?!0:Fe.target.checked),I==null||I(Fe)},[r,n,xe,we,b,I]);Vl(()=>{G.current&&(G.current.indeterminate=Boolean(b))},[b]),rc(()=>{n&&z(!1)},[n,z]),Vl(()=>{const Fe=G.current;Fe!=null&&Fe.form&&(Fe.form.onreset=()=>{_e(!!d)})},[]);const Se=n&&!m,Je=S.useCallback(Fe=>{Fe.key===" "&&Q(!0)},[Q]),Xe=S.useCallback(Fe=>{Fe.key===" "&&Q(!1)},[Q]);Vl(()=>{if(!G.current)return;G.current.checked!==xe&&_e(G.current.checked)},[G.current]);const tt=S.useCallback((Fe={},at=null)=>{const jt=mt=>{ne&&mt.preventDefault(),Q(!0)};return{...Fe,ref:at,"data-active":Bt(X),"data-hover":Bt($),"data-checked":Bt(xe),"data-focus":Bt(ne),"data-focus-visible":Bt(ne&&B),"data-indeterminate":Bt(b),"data-disabled":Bt(n),"data-invalid":Bt(o),"data-readonly":Bt(r),"aria-hidden":!0,onMouseDown:ht(Fe.onMouseDown,jt),onMouseUp:ht(Fe.onMouseUp,()=>Q(!1)),onMouseEnter:ht(Fe.onMouseEnter,()=>V(!0)),onMouseLeave:ht(Fe.onMouseLeave,()=>V(!1))}},[X,xe,n,ne,B,$,b,o,r]),yt=S.useCallback((Fe={},at=null)=>({...D,...Fe,ref:Rn(at,jt=>{jt&&ee(jt.tagName==="LABEL")}),onClick:ht(Fe.onClick,()=>{var jt;Y||((jt=G.current)==null||jt.click(),requestAnimationFrame(()=>{var mt;(mt=G.current)==null||mt.focus()}))}),"data-disabled":Bt(n),"data-checked":Bt(xe),"data-invalid":Bt(o)}),[D,n,xe,o,Y]),Be=S.useCallback((Fe={},at=null)=>({...Fe,ref:Rn(G,at),type:"checkbox",name:w,value:E,id:a,tabIndex:_,onChange:ht(Fe.onChange,Le),onBlur:ht(Fe.onBlur,N,()=>z(!1)),onFocus:ht(Fe.onFocus,W,()=>z(!0)),onKeyDown:ht(Fe.onKeyDown,Je),onKeyUp:ht(Fe.onKeyUp,Xe),required:i,checked:xe,disabled:Se,readOnly:r,"aria-label":k,"aria-labelledby":T,"aria-invalid":L?Boolean(L):o,"aria-describedby":u,"aria-disabled":n,style:Mme}),[w,E,a,Le,N,W,Je,Xe,i,xe,Se,r,k,T,L,o,u,n,_]),Ae=S.useCallback((Fe={},at=null)=>({...Fe,ref:at,onMouseDown:ht(Fe.onMouseDown,VA),onTouchStart:ht(Fe.onTouchStart,VA),"data-disabled":Bt(n),"data-checked":Bt(xe),"data-invalid":Bt(o)}),[xe,n,o]);return{state:{isInvalid:o,isFocused:ne,isChecked:xe,isActive:X,isHovered:$,isIndeterminate:b,isDisabled:n,isReadOnly:r,isRequired:i},getRootProps:yt,getCheckboxProps:tt,getInputProps:Be,getLabelProps:Ae,htmlProps:D}}function VA(e){e.preventDefault(),e.stopPropagation()}var $me={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},Fme={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},Bme=nf({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),zme=nf({from:{opacity:0},to:{opacity:1}}),Hme=nf({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),dz=Ze(function(t,n){const r=bme(),i={...r,...t},o=Yi("Checkbox",i),a=fr(t),{spacing:s="0.5rem",className:l,children:u,iconColor:d,iconSize:p,icon:m=g.jsx(wme,{}),isChecked:y,isDisabled:b=r==null?void 0:r.isDisabled,onChange:w,inputProps:E,..._}=a;let k=y;r!=null&&r.value&&a.value&&(k=r.value.includes(a.value));let T=w;r!=null&&r.onChange&&a.value&&(T=Sw(r.onChange,w));const{state:L,getInputProps:O,getCheckboxProps:D,getLabelProps:I,getRootProps:N}=cz({..._,isDisabled:b,isChecked:k,onChange:T}),W=S.useMemo(()=>({animation:L.isIndeterminate?`${zme} 20ms linear, ${Hme} 200ms linear`:`${Bme} 200ms linear`,fontSize:p,color:d,...o.icon}),[d,p,,L.isIndeterminate,o.icon]),B=S.cloneElement(m,{__css:W,isIndeterminate:L.isIndeterminate,isChecked:L.isChecked});return g.jsxs(Ne.label,{__css:{...Fme,...o.container},className:xt("chakra-checkbox",l),...N(),children:[g.jsx("input",{className:"chakra-checkbox__input",...O(E,n)}),g.jsx(Ne.span,{__css:{...$me,...o.control},className:"chakra-checkbox__control",...D(),children:B}),u&&g.jsx(Ne.span,{className:"chakra-checkbox__label",...I(),__css:{marginStart:s,...o.label},children:u})]})});dz.displayName="Checkbox";function Wme(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function g8(e,t){let n=Wme(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function V_(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 GA(e,t,n){return(e-t)*100/(n-t)}function Ume(e,t,n){return(n-t)*e+t}function qA(e,t,n){const r=Math.round((e-t)/n)*n+t,i=V_(n);return g8(r,i)}function Qx(e,t,n){return e==null?e:(n{var B;return r==null?"":(B=lC(r,o,n))!=null?B:""}),m=typeof i<"u",y=m?i:d,b=fz(dd(y),o),w=n??b,E=S.useCallback(B=>{B!==y&&(m||p(B.toString()),u==null||u(B.toString(),dd(B)))},[u,m,y]),_=S.useCallback(B=>{let K=B;return l&&(K=Qx(K,a,s)),g8(K,w)},[w,l,s,a]),k=S.useCallback((B=o)=>{let K;y===""?K=dd(B):K=dd(y)+B,K=_(K),E(K)},[_,o,E,y]),T=S.useCallback((B=o)=>{let K;y===""?K=dd(-B):K=dd(y)-B,K=_(K),E(K)},[_,o,E,y]),L=S.useCallback(()=>{var B;let K;r==null?K="":K=(B=lC(r,o,n))!=null?B:a,E(K)},[r,n,o,E,a]),O=S.useCallback(B=>{var K;const ne=(K=lC(B,o,w))!=null?K:a;E(ne)},[w,o,E,a]),D=dd(y);return{isOutOfRange:D>s||D{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 Gme(e){return"current"in e}var hz=()=>typeof window<"u";function qme(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var Kme=e=>hz()&&e.test(navigator.vendor),Yme=e=>hz()&&e.test(qme()),Xme=()=>Yme(/mac|iphone|ipad|ipod/i),Zme=()=>Xme()&&Kme(/apple/i);function Qme(e){const{ref:t,elements:n,enabled:r}=e,i=()=>{var o,a;return(a=(o=t.current)==null?void 0:o.ownerDocument)!=null?a:document};Dh(i,"pointerdown",o=>{if(!Zme()||!r)return;const a=o.target,l=(n??[t]).some(u=>{const d=Gme(u)?u.current:u;return(d==null?void 0:d.contains(a))||d===a});i().activeElement!==a&&l&&(o.preventDefault(),a.focus())})}function m8(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var An={},Jme={get exports(){return An},set exports(e){An=e}},e0e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",t0e=e0e,n0e=t0e;function pz(){}function gz(){}gz.resetWarningCache=pz;var r0e=function(){function e(r,i,o,a,s,l){if(l!==n0e){var u=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 u.name="Invariant Violation",u}}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:gz,resetWarningCache:pz};return n.PropTypes=n,n};Jme.exports=r0e();var G_="data-focus-lock",mz="data-focus-lock-disabled",i0e="data-no-focus-lock",o0e="data-autofocus-inside",a0e="data-no-autofocus";function s0e(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function l0e(e,t){var n=S.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var i=n.value;i!==r&&(n.value=r,n.callback(r,i))}}}})[0];return n.callback=t,n.facade}function vz(e,t){return l0e(t||null,function(n){return e.forEach(function(r){return s0e(r,n)})})}var uC={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"};function yz(e){return e}function bz(e,t){t===void 0&&(t=yz);var n=[],r=!1,i={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(o){var a=t(o,r);return n.push(a),function(){n=n.filter(function(s){return s!==a})}},assignSyncMedium:function(o){for(r=!0;n.length;){var a=n;n=[],a.forEach(o)}n={push:function(s){return o(s)},filter:function(){return n}}},assignMedium:function(o){r=!0;var a=[];if(n.length){var s=n;n=[],s.forEach(o),a=n}var l=function(){var d=a;a=[],d.forEach(o)},u=function(){return Promise.resolve().then(l)};u(),n={push:function(d){a.push(d),u()},filter:function(d){return a=a.filter(d),n}}}};return i}function v8(e,t){return t===void 0&&(t=yz),bz(e,t)}function xz(e){e===void 0&&(e={});var t=bz(null);return t.options=Nl({async:!0,ssr:!1},e),t}var Sz=function(e){var t=e.sideCar,n=YB(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return S.createElement(r,Nl({},n))};Sz.isSideCarExport=!0;function u0e(e,t){return e.useMedium(t),Sz}var wz=v8({},function(e){var t=e.target,n=e.currentTarget;return{target:t,currentTarget:n}}),Cz=v8(),c0e=v8(),d0e=xz({async:!0}),f0e=[],y8=S.forwardRef(function(t,n){var r,i=S.useState(),o=i[0],a=i[1],s=S.useRef(),l=S.useRef(!1),u=S.useRef(null),d=t.children,p=t.disabled,m=t.noFocusGuards,y=t.persistentFocus,b=t.crossFrame,w=t.autoFocus;t.allowTextSelection;var E=t.group,_=t.className,k=t.whiteList,T=t.hasPositiveIndices,L=t.shards,O=L===void 0?f0e:L,D=t.as,I=D===void 0?"div":D,N=t.lockProps,W=N===void 0?{}:N,B=t.sideCar,K=t.returnFocus,ne=t.focusOptions,z=t.onActivation,$=t.onDeactivation,V=S.useState({}),X=V[0],Q=S.useCallback(function(){u.current=u.current||document&&document.activeElement,s.current&&z&&z(s.current),l.current=!0},[z]),G=S.useCallback(function(){l.current=!1,$&&$(s.current)},[$]);S.useEffect(function(){p||(u.current=null)},[]);var Y=S.useCallback(function(Je){var Xe=u.current;if(Xe&&Xe.focus){var tt=typeof K=="function"?K(Xe):K;if(tt){var yt=typeof tt=="object"?tt:void 0;u.current=null,Je?Promise.resolve().then(function(){return Xe.focus(yt)}):Xe.focus(yt)}}},[K]),ee=S.useCallback(function(Je){l.current&&wz.useMedium(Je)},[]),fe=Cz.useMedium,_e=S.useCallback(function(Je){s.current!==Je&&(s.current=Je,a(Je))},[]),we=pn((r={},r[mz]=p&&"disabled",r[G_]=E,r),W),xe=m!==!0,Le=xe&&m!=="tail",Se=vz([n,_e]);return S.createElement(S.Fragment,null,xe&&[S.createElement("div",{key:"guard-first","data-focus-guard":!0,tabIndex:p?-1:0,style:uC}),T?S.createElement("div",{key:"guard-nearest","data-focus-guard":!0,tabIndex:p?-1:1,style:uC}):null],!p&&S.createElement(B,{id:X,sideCar:d0e,observed:o,disabled:p,persistentFocus:y,crossFrame:b,autoFocus:w,whiteList:k,shards:O,onActivation:Q,onDeactivation:G,returnFocus:Y,focusOptions:ne}),S.createElement(I,pn({ref:Se},we,{className:_,onBlur:fe,onFocus:ee}),d),Le&&S.createElement("div",{"data-focus-guard":!0,tabIndex:p?-1:0,style:uC}))});y8.propTypes={};y8.defaultProps={children:void 0,disabled:!1,returnFocus:!1,focusOptions:void 0,noFocusGuards:!1,autoFocus:!0,persistentFocus:!1,crossFrame:!0,hasPositiveIndices:void 0,allowTextSelection:void 0,group:void 0,className:void 0,whiteList:void 0,shards:void 0,as:"div",lockProps:{},onActivation:void 0,onDeactivation:void 0};const _z=y8;function s3(e,t){return s3=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},s3(e,t)}function b8(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,s3(e,t)}function Ks(e){return Ks=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},Ks(e)}function h0e(e,t){if(Ks(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(Ks(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function kz(e){var t=h0e(e,"string");return Ks(t)==="symbol"?t:String(t)}function fs(e,t,n){return t=kz(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p0e(e,t){function n(r){return r.displayName||r.name||"Component"}return function(i){var o=[],a;function s(){a=e(o.map(function(u){return u.props})),t(a)}var l=function(u){b8(d,u);function d(){return u.apply(this,arguments)||this}d.peek=function(){return a};var p=d.prototype;return p.componentDidMount=function(){o.push(this),s()},p.componentDidUpdate=function(){s()},p.componentWillUnmount=function(){var y=o.indexOf(this);o.splice(y,1),s()},p.render=function(){return Ke.createElement(i,this.props)},d}(S.PureComponent);return fs(l,"displayName","SideEffect("+n(i)+")"),l}}var lu=function(e){for(var t=Array(e.length),n=0;n=0}).sort(w0e)},C0e=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],S8=C0e.join(","),_0e="".concat(S8,", [data-focus-guard]"),Dz=function(e,t){return lu((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?_0e:S8)?[r]:[],Dz(r))},[])},k0e=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?Nw([e.contentDocument.body],t):[e]},Nw=function(e,t){return e.reduce(function(n,r){var i,o=Dz(r,t),a=(i=[]).concat.apply(i,o.map(function(s){return k0e(s,t)}));return n.concat(a,r.parentNode?lu(r.parentNode.querySelectorAll(S8)).filter(function(s){return s===r}):[])},[])},E0e=function(e){var t=e.querySelectorAll("[".concat(o0e,"]"));return lu(t).map(function(n){return Nw([n])}).reduce(function(n,r){return n.concat(r)},[])},w8=function(e,t){return lu(e).filter(function(n){return Mz(t,n)}).filter(function(n){return b0e(n)})},KA=function(e,t){return t===void 0&&(t=new Map),lu(e).filter(function(n){return Lz(t,n)})},q_=function(e,t,n){return Iz(w8(Nw(e,n),t),!0,n)},YA=function(e,t){return Iz(w8(Nw(e),t),!1)},P0e=function(e,t){return w8(E0e(e),t)},_m=function(e,t){return e.shadowRoot?_m(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:lu(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var i=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return i?_m(i,t):!1}return _m(n,t)})},T0e=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(i),(o&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,s){return!t.has(s)})},jz=function(e){return e.parentNode?jz(e.parentNode):e},C8=function(e){var t=l3(e);return t.filter(Boolean).reduce(function(n,r){var i=r.getAttribute(G_);return n.push.apply(n,i?T0e(lu(jz(r).querySelectorAll("[".concat(G_,'="').concat(i,'"]:not([').concat(mz,'="disabled"])')))):[r]),n},[])},M0e=function(e){try{return e()}catch{return}},Ty=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?Ty(t.shadowRoot):t instanceof HTMLIFrameElement&&M0e(function(){return t.contentWindow.document})?Ty(t.contentWindow.document):t}},L0e=function(e,t){return e===t},A0e=function(e,t){return Boolean(lu(e.querySelectorAll("iframe")).some(function(n){return L0e(n,t)}))},Nz=function(e,t){return t===void 0&&(t=Ty(Ez(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:C8(e).some(function(n){return _m(n,t)||A0e(n,t)})},O0e=function(e){e===void 0&&(e=document);var t=Ty(e);return t?lu(e.querySelectorAll("[".concat(i0e,"]"))).some(function(n){return _m(n,t)}):!1},R0e=function(e,t){return t.filter(Rz).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},_8=function(e,t){return Rz(e)&&e.name?R0e(e,t):e},I0e=function(e){var t=new Set;return e.forEach(function(n){return t.add(_8(n,e))}),e.filter(function(n){return t.has(n)})},XA=function(e){return e[0]&&e.length>1?_8(e[0],e):e[0]},ZA=function(e,t){return e.length>1?e.indexOf(_8(e[t],e)):t},$z="NEW_FOCUS",D0e=function(e,t,n,r){var i=e.length,o=e[0],a=e[i-1],s=x8(n);if(!(n&&e.indexOf(n)>=0)){var l=n!==void 0?t.indexOf(n):-1,u=r?t.indexOf(r):l,d=r?e.indexOf(r):-1,p=l-u,m=t.indexOf(o),y=t.indexOf(a),b=I0e(t),w=n!==void 0?b.indexOf(n):-1,E=w-(r?b.indexOf(r):l),_=ZA(e,0),k=ZA(e,i-1);if(l===-1||d===-1)return $z;if(!p&&d>=0)return d;if(l<=m&&s&&Math.abs(p)>1)return k;if(l>=y&&s&&Math.abs(p)>1)return _;if(p&&Math.abs(E)>1)return d;if(l<=m)return k;if(l>y)return _;if(p)return Math.abs(p)>1?d:(i+d+p)%i}},j0e=function(e){return function(t){var n,r=(n=Az(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},N0e=function(e,t,n){var r=e.map(function(o){var a=o.node;return a}),i=KA(r.filter(j0e(n)));return i&&i.length?XA(i):XA(KA(t))},K_=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&K_(e.parentNode.host||e.parentNode,t),t},cC=function(e,t){for(var n=K_(e),r=K_(t),i=0;i=0)return o}return!1},Fz=function(e,t,n){var r=l3(e),i=l3(t),o=r[0],a=!1;return i.filter(Boolean).forEach(function(s){a=cC(a||s,s)||a,n.filter(Boolean).forEach(function(l){var u=cC(o,l);u&&(!a||_m(u,a)?a=u:a=cC(u,a))})}),a},$0e=function(e,t){return e.reduce(function(n,r){return n.concat(P0e(r,t))},[])},F0e=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(S0e)},B0e=function(e,t){var n=Ty(l3(e).length>0?document:Ez(e).ownerDocument),r=C8(e).filter(u3),i=Fz(n||e,e,r),o=new Map,a=YA(r,o),s=q_(r,o).filter(function(y){var b=y.node;return u3(b)});if(!(!s[0]&&(s=a,!s[0]))){var l=YA([i],o).map(function(y){var b=y.node;return b}),u=F0e(l,s),d=u.map(function(y){var b=y.node;return b}),p=D0e(d,l,n,t);if(p===$z){var m=N0e(a,d,$0e(r,o));if(m)return{node:m};console.warn("focus-lock: cannot find any node to move focus into");return}return p===void 0?p:u[p]}},z0e=function(e){var t=C8(e).filter(u3),n=Fz(e,e,t),r=new Map,i=q_([n],r,!0),o=q_(t,r).filter(function(a){var s=a.node;return u3(s)}).map(function(a){var s=a.node;return s});return i.map(function(a){var s=a.node,l=a.index;return{node:s,index:l,lockItem:o.indexOf(s)>=0,guard:x8(s)}})},H0e=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},dC=0,fC=!1,Bz=function(e,t,n){n===void 0&&(n={});var r=B0e(e,t);if(!fC&&r){if(dC>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),fC=!0,setTimeout(function(){fC=!1},1);return}dC++,H0e(r.node,n.focusOptions),dC--}};function zz(e){var t=window,n=t.setImmediate;typeof n<"u"?n(e):setTimeout(e,1)}var W0e=function(){return document&&document.activeElement===document.body},U0e=function(){return W0e()||O0e()},km=null,am=null,Em=null,My=!1,V0e=function(){return!0},G0e=function(t){return(km.whiteList||V0e)(t)},q0e=function(t,n){Em={observerNode:t,portaledElement:n}},K0e=function(t){return Em&&Em.portaledElement===t};function QA(e,t,n,r){var i=null,o=e;do{var a=r[o];if(a.guard)a.node.dataset.focusAutoGuard&&(i=a);else if(a.lockItem){if(o!==e)return;i=null}else break}while((o+=n)!==t);i&&(i.node.tabIndex=0)}var Y0e=function(t){return t&&"current"in t?t.current:t},X0e=function(t){return t?Boolean(My):My==="meanwhile"},Z0e=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},Q0e=function(t,n){return n.some(function(r){return Z0e(t,r,r)})},c3=function(){var t=!1;if(km){var n=km,r=n.observed,i=n.persistentFocus,o=n.autoFocus,a=n.shards,s=n.crossFrame,l=n.focusOptions,u=r||Em&&Em.portaledElement,d=document&&document.activeElement;if(u){var p=[u].concat(a.map(Y0e).filter(Boolean));if((!d||G0e(d))&&(i||X0e(s)||!U0e()||!am&&o)&&(u&&!(Nz(p)||d&&Q0e(d,p)||K0e(d))&&(document&&!am&&d&&!o?(d.blur&&d.blur(),document.body.focus()):(t=Bz(p,am,{focusOptions:l}),Em={})),My=!1,am=document&&document.activeElement),document){var m=document&&document.activeElement,y=z0e(p),b=y.map(function(w){var E=w.node;return E}).indexOf(m);b>-1&&(y.filter(function(w){var E=w.guard,_=w.node;return E&&_.dataset.focusAutoGuard}).forEach(function(w){var E=w.node;return E.removeAttribute("tabIndex")}),QA(b,y.length,1,y),QA(b,-1,-1,y))}}}return t},Hz=function(t){c3()&&t&&(t.stopPropagation(),t.preventDefault())},k8=function(){return zz(c3)},J0e=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||q0e(r,n)},eve=function(){return null},Wz=function(){My="just",setTimeout(function(){My="meanwhile"},0)},tve=function(){document.addEventListener("focusin",Hz),document.addEventListener("focusout",k8),window.addEventListener("blur",Wz)},nve=function(){document.removeEventListener("focusin",Hz),document.removeEventListener("focusout",k8),window.removeEventListener("blur",Wz)};function rve(e){return e.filter(function(t){var n=t.disabled;return!n})}function ive(e){var t=e.slice(-1)[0];t&&!km&&tve();var n=km,r=n&&t&&t.id===n.id;km=t,n&&!r&&(n.onDeactivation(),e.filter(function(i){var o=i.id;return o===n.id}).length||n.returnFocus(!t)),t?(am=null,(!r||n.observed!==t.observed)&&t.onActivation(),c3(),zz(c3)):(nve(),am=null)}wz.assignSyncMedium(J0e);Cz.assignMedium(k8);c0e.assignMedium(function(e){return e({moveFocusInside:Bz,focusInside:Nz})});const ove=p0e(rve,ive)(eve);var Uz=S.forwardRef(function(t,n){return S.createElement(_z,pn({sideCar:ove,ref:n},t))}),Vz=_z.propTypes||{};Vz.sideCar;m8(Vz,["sideCar"]);Uz.propTypes={};const JA=Uz;function Gz(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function qz(e){var t;if(!Gz(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function ave(e){var t,n;return(n=(t=Kz(e))==null?void 0:t.defaultView)!=null?n:window}function Kz(e){return Gz(e)?e.ownerDocument:document}function sve(e){return Kz(e).activeElement}var Yz=e=>e.hasAttribute("tabindex"),lve=e=>Yz(e)&&e.tabIndex===-1;function uve(e){return Boolean(e.getAttribute("disabled"))===!0||Boolean(e.getAttribute("aria-disabled"))===!0}function Xz(e){return e.parentElement&&Xz(e.parentElement)?!0:e.hidden}function cve(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function Zz(e){if(!qz(e)||Xz(e)||uve(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]():cve(e)?!0:Yz(e)}function dve(e){return e?qz(e)&&Zz(e)&&!lve(e):!1}var fve=["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]"],hve=fve.join(),pve=e=>e.offsetWidth>0&&e.offsetHeight>0;function Qz(e){const t=Array.from(e.querySelectorAll(hve));return t.unshift(e),t.filter(n=>Zz(n)&&pve(n))}var eO,gve=(eO=JA.default)!=null?eO:JA,Jz=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:i,children:o,isDisabled:a,autoFocus:s,persistentFocus:l,lockFocusAcrossFrames:u}=e,d=S.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&Qz(r.current).length===0&&requestAnimationFrame(()=>{var b;(b=r.current)==null||b.focus()})},[t,r]),p=S.useCallback(()=>{var y;(y=n==null?void 0:n.current)==null||y.focus()},[n]),m=i&&!n;return g.jsx(gve,{crossFrame:u,persistentFocus:l,autoFocus:s,disabled:a,onActivation:d,onDeactivation:p,returnFocus:m,children:o})};Jz.displayName="FocusLock";var mve=pce?S.useLayoutEffect:S.useEffect;function tO(e,t=[]){const n=S.useRef(e);return mve(()=>{n.current=e}),S.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function vve(e,t){const n=S.useId();return S.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function yve(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function Kd(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=tO(n),a=tO(t),[s,l]=S.useState(e.defaultIsOpen||!1),[u,d]=yve(r,s),p=vve(i,"disclosure"),m=S.useCallback(()=>{u||l(!1),a==null||a()},[u,a]),y=S.useCallback(()=>{u||l(!0),o==null||o()},[u,o]),b=S.useCallback(()=>{(d?m:y)()},[d,y,m]);return{isOpen:!!d,onOpen:y,onClose:m,onToggle:b,isControlled:u,getButtonProps:(w={})=>({...w,"aria-expanded":d,"aria-controls":p,onClick:bce(w.onClick,b)}),getDisclosureProps:(w={})=>({...w,hidden:!d,id:p})}}var E8=Ze(function(t,n){const{htmlSize:r,...i}=t,o=Yi("Input",i),a=fr(i),s=f8(a),l=xt("chakra-input",t.className);return g.jsx(Ne.input,{size:r,...s,__css:o.field,ref:n,className:l})});E8.displayName="Input";E8.id="Input";var[bve,eH]=Pn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),P8=Ze(function(t,n){const r=Yi("List",t),{children:i,styleType:o="none",stylePosition:a,spacing:s,...l}=fr(t),u=d8(i),p=s?{["& > *:not(style) ~ *:not(style)"]:{mt:s}}:{};return g.jsx(bve,{value:r,children:g.jsx(Ne.ul,{ref:n,listStyleType:o,listStylePosition:a,role:"list",__css:{...r.container,...p},...l,children:u})})});P8.displayName="List";var xve=Ze((e,t)=>{const{as:n,...r}=e;return g.jsx(P8,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});xve.displayName="OrderedList";var tH=Ze(function(t,n){const{as:r,...i}=t;return g.jsx(P8,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...i})});tH.displayName="UnorderedList";var f1=Ze(function(t,n){const r=eH();return g.jsx(Ne.li,{ref:n,...t,__css:r.item})});f1.displayName="ListItem";var Sve=Ze(function(t,n){const r=eH();return g.jsx(ja,{ref:n,role:"presentation",...t,__css:r.icon})});Sve.displayName="ListIcon";function nH(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):Eo(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var rH=Ne("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});rH.displayName="Spacer";var Dt=Ze(function(t,n){const r=au("Text",t),{className:i,align:o,decoration:a,casing:s,...l}=fr(t),u=Dce({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return g.jsx(Ne.p,{ref:n,className:xt("chakra-text",t.className),...u,...l,__css:r})});Dt.displayName="Text";var iH=e=>g.jsx(Ne.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});iH.displayName="StackItem";var Y_="& > *:not(style) ~ *:not(style)";function wve(e){const{spacing:t,direction:n}=e,r={column:{marginTop:t,marginEnd:0,marginBottom:0,marginStart:0},row:{marginTop:0,marginEnd:0,marginBottom:0,marginStart:t},"column-reverse":{marginTop:0,marginEnd:0,marginBottom:t,marginStart:0},"row-reverse":{marginTop:0,marginEnd:t,marginBottom:0,marginStart:0}};return{flexDirection:n,[Y_]:nH(n,i=>r[i])}}function Cve(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{"&":nH(n,i=>r[i])}}var T8=Ze((e,t)=>{const{isInline:n,direction:r,align:i,justify:o,spacing:a="0.5rem",wrap:s,children:l,divider:u,className:d,shouldWrapChildren:p,...m}=e,y=n?"row":r??"column",b=S.useMemo(()=>wve({direction:y,spacing:a}),[y,a]),w=S.useMemo(()=>Cve({spacing:a,direction:y}),[a,y]),E=!!u,_=!p&&!E,k=S.useMemo(()=>{const L=d8(l);return _?L:L.map((O,D)=>{const I=typeof O.key<"u"?O.key:D,N=D+1===L.length,B=p?g.jsx(iH,{children:O},I):O;if(!E)return B;const K=S.cloneElement(u,{__css:w}),ne=N?null:K;return g.jsxs(S.Fragment,{children:[B,ne]},I)})},[u,w,E,_,p,l]),T=xt("chakra-stack",d);return g.jsx(Ne.div,{ref:t,display:"flex",alignItems:i,justifyContent:o,flexDirection:b.flexDirection,flexWrap:s,className:T,__css:E?{}:{[Y_]:b[Y_]},...m,children:k})});T8.displayName="Stack";var hn=Ze((e,t)=>g.jsx(T8,{align:"center",...e,direction:"column",ref:t}));hn.displayName="VStack";var l2=Ze((e,t)=>g.jsx(T8,{align:"center",...e,direction:"row",ref:t}));l2.displayName="HStack";var jh=Ze(function(t,n){const r=au("Heading",t),{className:i,...o}=fr(t);return g.jsx(Ne.h2,{ref:n,className:xt("chakra-heading",t.className),...o,__css:r})});jh.displayName="Heading";var ao=Ne("div");ao.displayName="Box";var oH=Ze(function(t,n){const{size:r,centerContent:i=!0,...o}=t,a=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return g.jsx(ao,{ref:n,boxSize:r,__css:{...a,flexShrink:0,flexGrow:0},...o})});oH.displayName="Square";var _ve=Ze(function(t,n){const{size:r,...i}=t;return g.jsx(oH,{size:r,ref:n,borderRadius:"9999px",...i})});_ve.displayName="Circle";var Nh=Ze(function(t,n){const r=au("Link",t),{className:i,isExternal:o,...a}=fr(t);return g.jsx(Ne.a,{target:o?"_blank":void 0,rel:o?"noopener":void 0,ref:n,className:xt("chakra-link",i),...a,__css:r})});Nh.displayName="Link";var aH=Ne("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center"}});aH.displayName="Center";var kve={horizontal:{insetStart:"50%",transform:"translateX(-50%)"},vertical:{top:"50%",transform:"translateY(-50%)"},both:{insetStart:"50%",top:"50%",transform:"translate(-50%, -50%)"}};Ze(function(t,n){const{axis:r="both",...i}=t;return g.jsx(Ne.div,{ref:n,__css:kve[r],...i,position:"absolute"})});var Ee=Ze(function(t,n){const{direction:r,align:i,justify:o,wrap:a,basis:s,grow:l,shrink:u,...d}=t,p={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:a,flexBasis:s,flexGrow:l,flexShrink:u};return g.jsx(Ne.div,{ref:n,__css:p,...d})});Ee.displayName="Flex";function Eve(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function Pve(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,i]=S.useState([]),o=S.useRef(),a=()=>{o.current&&(clearTimeout(o.current),o.current=null)},s=()=>{a(),o.current=setTimeout(()=>{i([]),o.current=null},t)};S.useEffect(()=>a,[]);function l(u){return d=>{if(d.key==="Backspace"){const p=[...r];p.pop(),i(p);return}if(Eve(d)){const p=r.concat(d.key);n(d)&&(d.preventDefault(),d.stopPropagation()),i(p),u(p.join("")),s()}}}return l}function Tve(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const i=e.filter(o=>n(o).toLowerCase().startsWith(t.toLowerCase()));if(i.length>0){let o;return i.includes(r)?(o=i.indexOf(r)+1,o===i.length&&(o=0),i[o]):(o=e.indexOf(i[0]),e[o])}return r}function Mve(){const e=S.useRef(new Map),t=e.current,n=S.useCallback((i,o,a,s)=>{e.current.set(a,{type:o,el:i,options:s}),i.addEventListener(o,a,s)},[]),r=S.useCallback((i,o,a,s)=>{i.removeEventListener(o,a,s),e.current.delete(a)},[]);return S.useEffect(()=>()=>{t.forEach((i,o)=>{r(i.el,i.type,o,i.options)})},[r,t]),{add:n,remove:r}}function hC(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function sH(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:i=!0,clickOnSpace:o=!0,onMouseDown:a,onMouseUp:s,onClick:l,onKeyDown:u,onKeyUp:d,tabIndex:p,onMouseOver:m,onMouseLeave:y,...b}=e,[w,E]=S.useState(!0),[_,k]=S.useState(!1),T=Mve(),L=Q=>{Q&&Q.tagName!=="BUTTON"&&E(!1)},O=w?p:p||0,D=n&&!r,I=S.useCallback(Q=>{if(n){Q.stopPropagation(),Q.preventDefault();return}Q.currentTarget.focus(),l==null||l(Q)},[n,l]),N=S.useCallback(Q=>{_&&hC(Q)&&(Q.preventDefault(),Q.stopPropagation(),k(!1),T.remove(document,"keyup",N,!1))},[_,T]),W=S.useCallback(Q=>{if(u==null||u(Q),n||Q.defaultPrevented||Q.metaKey||!hC(Q.nativeEvent)||w)return;const G=i&&Q.key==="Enter";o&&Q.key===" "&&(Q.preventDefault(),k(!0)),G&&(Q.preventDefault(),Q.currentTarget.click()),T.add(document,"keyup",N,!1)},[n,w,u,i,o,T,N]),B=S.useCallback(Q=>{if(d==null||d(Q),n||Q.defaultPrevented||Q.metaKey||!hC(Q.nativeEvent)||w)return;o&&Q.key===" "&&(Q.preventDefault(),k(!1),Q.currentTarget.click())},[o,w,n,d]),K=S.useCallback(Q=>{Q.button===0&&(k(!1),T.remove(document,"mouseup",K,!1))},[T]),ne=S.useCallback(Q=>{if(Q.button!==0)return;if(n){Q.stopPropagation(),Q.preventDefault();return}w||k(!0),Q.currentTarget.focus({preventScroll:!0}),T.add(document,"mouseup",K,!1),a==null||a(Q)},[n,w,a,T,K]),z=S.useCallback(Q=>{Q.button===0&&(w||k(!1),s==null||s(Q))},[s,w]),$=S.useCallback(Q=>{if(n){Q.preventDefault();return}m==null||m(Q)},[n,m]),V=S.useCallback(Q=>{_&&(Q.preventDefault(),k(!1)),y==null||y(Q)},[_,y]),X=Rn(t,L);return w?{...b,ref:X,type:"button","aria-disabled":D?void 0:n,disabled:D,onClick:I,onMouseDown:a,onMouseUp:s,onKeyUp:d,onKeyDown:u,onMouseOver:m,onMouseLeave:y}:{...b,ref:X,role:"button","data-active":Bt(_),"aria-disabled":n?"true":void 0,tabIndex:D?void 0:O,onClick:I,onMouseDown:ne,onMouseUp:z,onKeyUp:B,onKeyDown:W,onMouseOver:$,onMouseLeave:V}}function Lve(e){const t=e.current;if(!t)return!1;const n=sve(t);return!n||t.contains(n)?!1:!!dve(n)}function lH(e,t){const{shouldFocus:n,visible:r,focusRef:i}=t,o=n&&!r;rc(()=>{if(!o||Lve(e))return;const a=(i==null?void 0:i.current)||e.current;a&&requestAnimationFrame(()=>{a.focus()})},[o,e,i])}var Ave={preventScroll:!0,shouldFocus:!1};function Ove(e,t=Ave){const{focusRef:n,preventScroll:r,shouldFocus:i,visible:o}=t,a=Rve(e)?e.current:e,s=i&&o,l=S.useRef(s),u=S.useRef(o);Vl(()=>{!u.current&&o&&(l.current=s),u.current=o},[o,s]);const d=S.useCallback(()=>{if(!(!o||!a||!l.current)&&(l.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var p;(p=n.current)==null||p.focus({preventScroll:r})});else{const p=Qz(a);p.length>0&&requestAnimationFrame(()=>{p[0].focus({preventScroll:r})})}},[o,r,a,n]);rc(()=>{d()},[d]),Dh(a,"transitionend",d)}function Rve(e){return"current"in e}var Sg=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),ii={arrowShadowColor:Sg("--popper-arrow-shadow-color"),arrowSize:Sg("--popper-arrow-size","8px"),arrowSizeHalf:Sg("--popper-arrow-size-half"),arrowBg:Sg("--popper-arrow-bg"),transformOrigin:Sg("--popper-transform-origin"),arrowOffset:Sg("--popper-arrow-offset")};function Ive(e){if(e.includes("top"))return"1px 1px 1px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 1px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 1px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 1px 0 var(--popper-arrow-shadow-color)"}var Dve={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"},jve=e=>Dve[e],nO={scroll:!0,resize:!0};function Nve(e){let t;return typeof e=="object"?t={enabled:!0,options:{...nO,...e}}:t={enabled:e,options:nO},t}var $ve={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`}},Fve={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{rO(e)},effect:({state:e})=>()=>{rO(e)}},rO=e=>{e.elements.popper.style.setProperty(ii.transformOrigin.var,jve(e.placement))},Bve={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{zve(e)}},zve=e=>{var t;if(!e.placement)return;const n=Hve(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:ii.arrowSize.varRef,height:ii.arrowSize.varRef,zIndex:-1});const r={[ii.arrowSizeHalf.var]:`calc(${ii.arrowSize.varRef} / 2)`,[ii.arrowOffset.var]:`calc(${ii.arrowSizeHalf.varRef} * -1)`};for(const i in r)e.elements.arrow.style.setProperty(i,r[i])}},Hve=e=>{if(e.startsWith("top"))return{property:"bottom",value:ii.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:ii.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:ii.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:ii.arrowOffset.varRef}},Wve={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{iO(e)},effect:({state:e})=>()=>{iO(e)}},iO=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=Ive(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:ii.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},Uve={"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"}},Vve={"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 Gve(e,t="ltr"){var n,r;const i=((n=Uve[e])==null?void 0:n[t])||e;return t==="ltr"?i:(r=Vve[e])!=null?r:i}var Zo="top",us="bottom",cs="right",Qo="left",M8="auto",u2=[Zo,us,cs,Qo],qm="start",Ly="end",qve="clippingParents",uH="viewport",Uv="popper",Kve="reference",oO=u2.reduce(function(e,t){return e.concat([t+"-"+qm,t+"-"+Ly])},[]),cH=[].concat(u2,[M8]).reduce(function(e,t){return e.concat([t,t+"-"+qm,t+"-"+Ly])},[]),Yve="beforeRead",Xve="read",Zve="afterRead",Qve="beforeMain",Jve="main",e1e="afterMain",t1e="beforeWrite",n1e="write",r1e="afterWrite",i1e=[Yve,Xve,Zve,Qve,Jve,e1e,t1e,n1e,r1e];function nu(e){return e?(e.nodeName||"").toLowerCase():null}function hs(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Kh(e){var t=hs(e).Element;return e instanceof t||e instanceof Element}function is(e){var t=hs(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function L8(e){if(typeof ShadowRoot>"u")return!1;var t=hs(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function o1e(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];!is(o)||!nu(o)||(Object.assign(o.style,r),Object.keys(i).forEach(function(a){var s=i[a];s===!1?o.removeAttribute(a):o.setAttribute(a,s===!0?"":s)}))})}function a1e(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]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),s=a.reduce(function(l,u){return l[u]="",l},{});!is(i)||!nu(i)||(Object.assign(i.style,s),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const s1e={name:"applyStyles",enabled:!0,phase:"write",fn:o1e,effect:a1e,requires:["computeStyles"]};function Zl(e){return e.split("-")[0]}var $h=Math.max,d3=Math.min,Km=Math.round;function X_(){var e=navigator.userAgentData;return e!=null&&e.brands?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function dH(){return!/^((?!chrome|android).)*safari/i.test(X_())}function Ym(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,o=1;t&&is(e)&&(i=e.offsetWidth>0&&Km(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Km(r.height)/e.offsetHeight||1);var a=Kh(e)?hs(e):window,s=a.visualViewport,l=!dH()&&n,u=(r.left+(l&&s?s.offsetLeft:0))/i,d=(r.top+(l&&s?s.offsetTop:0))/o,p=r.width/i,m=r.height/o;return{width:p,height:m,top:d,right:u+p,bottom:d+m,left:u,x:u,y:d}}function A8(e){var t=Ym(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 fH(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&L8(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function ic(e){return hs(e).getComputedStyle(e)}function l1e(e){return["table","td","th"].indexOf(nu(e))>=0}function lf(e){return((Kh(e)?e.ownerDocument:e.document)||window.document).documentElement}function $w(e){return nu(e)==="html"?e:e.assignedSlot||e.parentNode||(L8(e)?e.host:null)||lf(e)}function aO(e){return!is(e)||ic(e).position==="fixed"?null:e.offsetParent}function u1e(e){var t=/firefox/i.test(X_()),n=/Trident/i.test(X_());if(n&&is(e)){var r=ic(e);if(r.position==="fixed")return null}var i=$w(e);for(L8(i)&&(i=i.host);is(i)&&["html","body"].indexOf(nu(i))<0;){var o=ic(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 c2(e){for(var t=hs(e),n=aO(e);n&&l1e(n)&&ic(n).position==="static";)n=aO(n);return n&&(nu(n)==="html"||nu(n)==="body"&&ic(n).position==="static")?t:n||u1e(e)||t}function O8(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function W1(e,t,n){return $h(e,d3(t,n))}function c1e(e,t,n){var r=W1(e,t,n);return r>n?n:r}function hH(){return{top:0,right:0,bottom:0,left:0}}function pH(e){return Object.assign({},hH(),e)}function gH(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var d1e=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,pH(typeof t!="number"?t:gH(t,u2))};function f1e(e){var t,n=e.state,r=e.name,i=e.options,o=n.elements.arrow,a=n.modifiersData.popperOffsets,s=Zl(n.placement),l=O8(s),u=[Qo,cs].indexOf(s)>=0,d=u?"height":"width";if(!(!o||!a)){var p=d1e(i.padding,n),m=A8(o),y=l==="y"?Zo:Qo,b=l==="y"?us:cs,w=n.rects.reference[d]+n.rects.reference[l]-a[l]-n.rects.popper[d],E=a[l]-n.rects.reference[l],_=c2(o),k=_?l==="y"?_.clientHeight||0:_.clientWidth||0:0,T=w/2-E/2,L=p[y],O=k-m[d]-p[b],D=k/2-m[d]/2+T,I=W1(L,D,O),N=l;n.modifiersData[r]=(t={},t[N]=I,t.centerOffset=I-D,t)}}function h1e(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)||fH(t.elements.popper,i)&&(t.elements.arrow=i))}const p1e={name:"arrow",enabled:!0,phase:"main",fn:f1e,effect:h1e,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Xm(e){return e.split("-")[1]}var g1e={top:"auto",right:"auto",bottom:"auto",left:"auto"};function m1e(e){var t=e.x,n=e.y,r=window,i=r.devicePixelRatio||1;return{x:Km(t*i)/i||0,y:Km(n*i)/i||0}}function sO(e){var t,n=e.popper,r=e.popperRect,i=e.placement,o=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,u=e.adaptive,d=e.roundOffsets,p=e.isFixed,m=a.x,y=m===void 0?0:m,b=a.y,w=b===void 0?0:b,E=typeof d=="function"?d({x:y,y:w}):{x:y,y:w};y=E.x,w=E.y;var _=a.hasOwnProperty("x"),k=a.hasOwnProperty("y"),T=Qo,L=Zo,O=window;if(u){var D=c2(n),I="clientHeight",N="clientWidth";if(D===hs(n)&&(D=lf(n),ic(D).position!=="static"&&s==="absolute"&&(I="scrollHeight",N="scrollWidth")),D=D,i===Zo||(i===Qo||i===cs)&&o===Ly){L=us;var W=p&&D===O&&O.visualViewport?O.visualViewport.height:D[I];w-=W-r.height,w*=l?1:-1}if(i===Qo||(i===Zo||i===us)&&o===Ly){T=cs;var B=p&&D===O&&O.visualViewport?O.visualViewport.width:D[N];y-=B-r.width,y*=l?1:-1}}var K=Object.assign({position:s},u&&g1e),ne=d===!0?m1e({x:y,y:w}):{x:y,y:w};if(y=ne.x,w=ne.y,l){var z;return Object.assign({},K,(z={},z[L]=k?"0":"",z[T]=_?"0":"",z.transform=(O.devicePixelRatio||1)<=1?"translate("+y+"px, "+w+"px)":"translate3d("+y+"px, "+w+"px, 0)",z))}return Object.assign({},K,(t={},t[L]=k?w+"px":"",t[T]=_?y+"px":"",t.transform="",t))}function v1e(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,o=n.adaptive,a=o===void 0?!0:o,s=n.roundOffsets,l=s===void 0?!0:s,u={placement:Zl(t.placement),variation:Xm(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,sO(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,sO(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 y1e={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:v1e,data:{}};var Vb={passive:!0};function b1e(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,o=i===void 0?!0:i,a=r.resize,s=a===void 0?!0:a,l=hs(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&u.forEach(function(d){d.addEventListener("scroll",n.update,Vb)}),s&&l.addEventListener("resize",n.update,Vb),function(){o&&u.forEach(function(d){d.removeEventListener("scroll",n.update,Vb)}),s&&l.removeEventListener("resize",n.update,Vb)}}const x1e={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:b1e,data:{}};var S1e={left:"right",right:"left",bottom:"top",top:"bottom"};function Jx(e){return e.replace(/left|right|bottom|top/g,function(t){return S1e[t]})}var w1e={start:"end",end:"start"};function lO(e){return e.replace(/start|end/g,function(t){return w1e[t]})}function R8(e){var t=hs(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function I8(e){return Ym(lf(e)).left+R8(e).scrollLeft}function C1e(e,t){var n=hs(e),r=lf(e),i=n.visualViewport,o=r.clientWidth,a=r.clientHeight,s=0,l=0;if(i){o=i.width,a=i.height;var u=dH();(u||!u&&t==="fixed")&&(s=i.offsetLeft,l=i.offsetTop)}return{width:o,height:a,x:s+I8(e),y:l}}function _1e(e){var t,n=lf(e),r=R8(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=$h(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=$h(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),s=-r.scrollLeft+I8(e),l=-r.scrollTop;return ic(i||n).direction==="rtl"&&(s+=$h(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:a,x:s,y:l}}function D8(e){var t=ic(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function mH(e){return["html","body","#document"].indexOf(nu(e))>=0?e.ownerDocument.body:is(e)&&D8(e)?e:mH($w(e))}function U1(e,t){var n;t===void 0&&(t=[]);var r=mH(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=hs(r),a=i?[o].concat(o.visualViewport||[],D8(r)?r:[]):r,s=t.concat(a);return i?s:s.concat(U1($w(a)))}function Z_(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function k1e(e,t){var n=Ym(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 uO(e,t,n){return t===uH?Z_(C1e(e,n)):Kh(t)?k1e(t,n):Z_(_1e(lf(e)))}function E1e(e){var t=U1($w(e)),n=["absolute","fixed"].indexOf(ic(e).position)>=0,r=n&&is(e)?c2(e):e;return Kh(r)?t.filter(function(i){return Kh(i)&&fH(i,r)&&nu(i)!=="body"}):[]}function P1e(e,t,n,r){var i=t==="clippingParents"?E1e(e):[].concat(t),o=[].concat(i,[n]),a=o[0],s=o.reduce(function(l,u){var d=uO(e,u,r);return l.top=$h(d.top,l.top),l.right=d3(d.right,l.right),l.bottom=d3(d.bottom,l.bottom),l.left=$h(d.left,l.left),l},uO(e,a,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function vH(e){var t=e.reference,n=e.element,r=e.placement,i=r?Zl(r):null,o=r?Xm(r):null,a=t.x+t.width/2-n.width/2,s=t.y+t.height/2-n.height/2,l;switch(i){case Zo:l={x:a,y:t.y-n.height};break;case us:l={x:a,y:t.y+t.height};break;case cs:l={x:t.x+t.width,y:s};break;case Qo:l={x:t.x-n.width,y:s};break;default:l={x:t.x,y:t.y}}var u=i?O8(i):null;if(u!=null){var d=u==="y"?"height":"width";switch(o){case qm:l[u]=l[u]-(t[d]/2-n[d]/2);break;case Ly:l[u]=l[u]+(t[d]/2-n[d]/2);break}}return l}function Ay(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,o=n.strategy,a=o===void 0?e.strategy:o,s=n.boundary,l=s===void 0?qve:s,u=n.rootBoundary,d=u===void 0?uH:u,p=n.elementContext,m=p===void 0?Uv:p,y=n.altBoundary,b=y===void 0?!1:y,w=n.padding,E=w===void 0?0:w,_=pH(typeof E!="number"?E:gH(E,u2)),k=m===Uv?Kve:Uv,T=e.rects.popper,L=e.elements[b?k:m],O=P1e(Kh(L)?L:L.contextElement||lf(e.elements.popper),l,d,a),D=Ym(e.elements.reference),I=vH({reference:D,element:T,strategy:"absolute",placement:i}),N=Z_(Object.assign({},T,I)),W=m===Uv?N:D,B={top:O.top-W.top+_.top,bottom:W.bottom-O.bottom+_.bottom,left:O.left-W.left+_.left,right:W.right-O.right+_.right},K=e.modifiersData.offset;if(m===Uv&&K){var ne=K[i];Object.keys(B).forEach(function(z){var $=[cs,us].indexOf(z)>=0?1:-1,V=[Zo,us].indexOf(z)>=0?"y":"x";B[z]+=ne[V]*$})}return B}function T1e(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,o=n.rootBoundary,a=n.padding,s=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?cH:l,d=Xm(r),p=d?s?oO:oO.filter(function(b){return Xm(b)===d}):u2,m=p.filter(function(b){return u.indexOf(b)>=0});m.length===0&&(m=p);var y=m.reduce(function(b,w){return b[w]=Ay(e,{placement:w,boundary:i,rootBoundary:o,padding:a})[Zl(w)],b},{});return Object.keys(y).sort(function(b,w){return y[b]-y[w]})}function M1e(e){if(Zl(e)===M8)return[];var t=Jx(e);return[lO(e),t,lO(t)]}function L1e(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,a=n.altAxis,s=a===void 0?!0:a,l=n.fallbackPlacements,u=n.padding,d=n.boundary,p=n.rootBoundary,m=n.altBoundary,y=n.flipVariations,b=y===void 0?!0:y,w=n.allowedAutoPlacements,E=t.options.placement,_=Zl(E),k=_===E,T=l||(k||!b?[Jx(E)]:M1e(E)),L=[E].concat(T).reduce(function(xe,Le){return xe.concat(Zl(Le)===M8?T1e(t,{placement:Le,boundary:d,rootBoundary:p,padding:u,flipVariations:b,allowedAutoPlacements:w}):Le)},[]),O=t.rects.reference,D=t.rects.popper,I=new Map,N=!0,W=L[0],B=0;B=0,V=$?"width":"height",X=Ay(t,{placement:K,boundary:d,rootBoundary:p,altBoundary:m,padding:u}),Q=$?z?cs:Qo:z?us:Zo;O[V]>D[V]&&(Q=Jx(Q));var G=Jx(Q),Y=[];if(o&&Y.push(X[ne]<=0),s&&Y.push(X[Q]<=0,X[G]<=0),Y.every(function(xe){return xe})){W=K,N=!1;break}I.set(K,Y)}if(N)for(var ee=b?3:1,fe=function(Le){var Se=L.find(function(Je){var Xe=I.get(Je);if(Xe)return Xe.slice(0,Le).every(function(tt){return tt})});if(Se)return W=Se,"break"},_e=ee;_e>0;_e--){var we=fe(_e);if(we==="break")break}t.placement!==W&&(t.modifiersData[r]._skip=!0,t.placement=W,t.reset=!0)}}const A1e={name:"flip",enabled:!0,phase:"main",fn:L1e,requiresIfExists:["offset"],data:{_skip:!1}};function cO(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 dO(e){return[Zo,cs,us,Qo].some(function(t){return e[t]>=0})}function O1e(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,a=Ay(t,{elementContext:"reference"}),s=Ay(t,{altBoundary:!0}),l=cO(a,r),u=cO(s,i,o),d=dO(l),p=dO(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:d,hasPopperEscaped:p},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":p})}const R1e={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:O1e};function I1e(e,t,n){var r=Zl(e),i=[Qo,Zo].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=o[0],s=o[1];return a=a||0,s=(s||0)*i,[Qo,cs].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}function D1e(e){var t=e.state,n=e.options,r=e.name,i=n.offset,o=i===void 0?[0,0]:i,a=cH.reduce(function(d,p){return d[p]=I1e(p,t.rects,o),d},{}),s=a[t.placement],l=s.x,u=s.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=a}const j1e={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:D1e};function N1e(e){var t=e.state,n=e.name;t.modifiersData[n]=vH({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const $1e={name:"popperOffsets",enabled:!0,phase:"read",fn:N1e,data:{}};function F1e(e){return e==="x"?"y":"x"}function B1e(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,o=i===void 0?!0:i,a=n.altAxis,s=a===void 0?!1:a,l=n.boundary,u=n.rootBoundary,d=n.altBoundary,p=n.padding,m=n.tether,y=m===void 0?!0:m,b=n.tetherOffset,w=b===void 0?0:b,E=Ay(t,{boundary:l,rootBoundary:u,padding:p,altBoundary:d}),_=Zl(t.placement),k=Xm(t.placement),T=!k,L=O8(_),O=F1e(L),D=t.modifiersData.popperOffsets,I=t.rects.reference,N=t.rects.popper,W=typeof w=="function"?w(Object.assign({},t.rects,{placement:t.placement})):w,B=typeof W=="number"?{mainAxis:W,altAxis:W}:Object.assign({mainAxis:0,altAxis:0},W),K=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,ne={x:0,y:0};if(D){if(o){var z,$=L==="y"?Zo:Qo,V=L==="y"?us:cs,X=L==="y"?"height":"width",Q=D[L],G=Q+E[$],Y=Q-E[V],ee=y?-N[X]/2:0,fe=k===qm?I[X]:N[X],_e=k===qm?-N[X]:-I[X],we=t.elements.arrow,xe=y&&we?A8(we):{width:0,height:0},Le=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:hH(),Se=Le[$],Je=Le[V],Xe=W1(0,I[X],xe[X]),tt=T?I[X]/2-ee-Xe-Se-B.mainAxis:fe-Xe-Se-B.mainAxis,yt=T?-I[X]/2+ee+Xe+Je+B.mainAxis:_e+Xe+Je+B.mainAxis,Be=t.elements.arrow&&c2(t.elements.arrow),Ae=Be?L==="y"?Be.clientTop||0:Be.clientLeft||0:0,bt=(z=K==null?void 0:K[L])!=null?z:0,Fe=Q+tt-bt-Ae,at=Q+yt-bt,jt=W1(y?d3(G,Fe):G,Q,y?$h(Y,at):Y);D[L]=jt,ne[L]=jt-Q}if(s){var mt,Zt=L==="x"?Zo:Qo,on=L==="x"?us:cs,se=D[O],Ie=O==="y"?"height":"width",He=se+E[Zt],Ue=se-E[on],ye=[Zo,Qo].indexOf(_)!==-1,je=(mt=K==null?void 0:K[O])!=null?mt:0,vt=ye?He:se-I[Ie]-N[Ie]-je+B.altAxis,Mt=ye?se+I[Ie]+N[Ie]-je-B.altAxis:Ue,Me=y&&ye?c1e(vt,se,Mt):W1(y?vt:He,se,y?Mt:Ue);D[O]=Me,ne[O]=Me-se}t.modifiersData[r]=ne}}const z1e={name:"preventOverflow",enabled:!0,phase:"main",fn:B1e,requiresIfExists:["offset"]};function H1e(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function W1e(e){return e===hs(e)||!is(e)?R8(e):H1e(e)}function U1e(e){var t=e.getBoundingClientRect(),n=Km(t.width)/e.offsetWidth||1,r=Km(t.height)/e.offsetHeight||1;return n!==1||r!==1}function V1e(e,t,n){n===void 0&&(n=!1);var r=is(t),i=is(t)&&U1e(t),o=lf(t),a=Ym(e,i,n),s={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((nu(t)!=="body"||D8(o))&&(s=W1e(t)),is(t)?(l=Ym(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=I8(o))),{x:a.left+s.scrollLeft-l.x,y:a.top+s.scrollTop-l.y,width:a.width,height:a.height}}function G1e(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 a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(s){if(!n.has(s)){var l=t.get(s);l&&i(l)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||i(o)}),r}function q1e(e){var t=G1e(e);return i1e.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function K1e(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Y1e(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 fO={placement:"bottom",modifiers:[],strategy:"absolute"};function hO(){for(var e=arguments.length,t=new Array(e),n=0;n{}),T=S.useCallback(()=>{var B;!t||!b.current||!w.current||((B=k.current)==null||B.call(k),E.current=Q1e(b.current,w.current,{placement:_,modifiers:[Wve,Bve,Fve,{...$ve,enabled:!!m},{name:"eventListeners",...Nve(a)},{name:"arrow",options:{padding:o}},{name:"offset",options:{offset:s??[0,l]}},{name:"flip",enabled:!!u,options:{padding:8}},{name:"preventOverflow",enabled:!!p,options:{boundary:d}},...n??[]],strategy:i}),E.current.forceUpdate(),k.current=E.current.destroy)},[_,t,n,m,a,o,s,l,u,p,d,i]);S.useEffect(()=>()=>{var B;!b.current&&!w.current&&((B=E.current)==null||B.destroy(),E.current=null)},[]);const L=S.useCallback(B=>{b.current=B,T()},[T]),O=S.useCallback((B={},K=null)=>({...B,ref:Rn(L,K)}),[L]),D=S.useCallback(B=>{w.current=B,T()},[T]),I=S.useCallback((B={},K=null)=>({...B,ref:Rn(D,K),style:{...B.style,position:i,minWidth:m?void 0:"max-content",inset:"0 auto auto 0"}}),[i,D,m]),N=S.useCallback((B={},K=null)=>{const{size:ne,shadowColor:z,bg:$,style:V,...X}=B;return{...X,ref:K,"data-popper-arrow":"",style:J1e(B)}},[]),W=S.useCallback((B={},K=null)=>({...B,ref:K,"data-popper-arrow-inner":""}),[]);return{update(){var B;(B=E.current)==null||B.update()},forceUpdate(){var B;(B=E.current)==null||B.forceUpdate()},transformOrigin:ii.transformOrigin.varRef,referenceRef:L,popperRef:D,getPopperProps:I,getArrowProps:N,getArrowInnerProps:W,getReferenceProps:O}}function J1e(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 N8(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=Qr(n),a=Qr(t),[s,l]=S.useState(e.defaultIsOpen||!1),u=r!==void 0?r:s,d=r!==void 0,p=S.useId(),m=i??`disclosure-${p}`,y=S.useCallback(()=>{d||l(!1),a==null||a()},[d,a]),b=S.useCallback(()=>{d||l(!0),o==null||o()},[d,o]),w=S.useCallback(()=>{u?y():b()},[u,b,y]);function E(k={}){return{...k,"aria-expanded":u,"aria-controls":m,onClick(T){var L;(L=k.onClick)==null||L.call(k,T),w()}}}function _(k={}){return{...k,hidden:!u,id:m}}return{isOpen:u,onOpen:b,onClose:y,onToggle:w,isControlled:d,getButtonProps:E,getDisclosureProps:_}}function eye(e){const{ref:t,handler:n,enabled:r=!0}=e,i=Qr(n),a=S.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;S.useEffect(()=>{if(!r)return;const s=p=>{pC(p,t)&&(a.isPointerDown=!0)},l=p=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&pC(p,t)&&(a.isPointerDown=!1,i(p))},u=p=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&pC(p,t)&&(a.isPointerDown=!1,i(p))},d=yH(t.current);return d.addEventListener("mousedown",s,!0),d.addEventListener("mouseup",l,!0),d.addEventListener("touchstart",s,!0),d.addEventListener("touchend",u,!0),()=>{d.removeEventListener("mousedown",s,!0),d.removeEventListener("mouseup",l,!0),d.removeEventListener("touchstart",s,!0),d.removeEventListener("touchend",u,!0)}},[n,t,i,a,r])}function pC(e,t){var n;const r=e.target;return e.button>0||r&&!yH(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function yH(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function bH(e){const{isOpen:t,ref:n}=e,[r,i]=S.useState(t),[o,a]=S.useState(!1);return S.useEffect(()=>{o||(i(t),a(!0))},[t,o,r]),Dh(()=>n.current,"animationend",()=>{i(t)}),{present:!(t?!1:!r),onComplete(){var l;const u=ave(n.current),d=new u.CustomEvent("animationend",{bubbles:!0});(l=n.current)==null||l.dispatchEvent(d)}}}function $8(e){const{wasSelected:t,enabled:n,isSelected:r,mode:i="unmount"}=e;return!!(!n||r||i==="keepMounted"&&t)}var[tye,nye,rye,iye]=a8(),[oye,d2]=Pn({strict:!1,name:"MenuContext"});function aye(e,...t){const n=S.useId(),r=e||n;return S.useMemo(()=>t.map(i=>`${i}-${r}`),[r,t])}function xH(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function pO(e){return xH(e).activeElement===e}function sye(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:i,autoSelect:o=!0,isLazy:a,isOpen:s,defaultIsOpen:l,onClose:u,onOpen:d,placement:p="bottom-start",lazyBehavior:m="unmount",direction:y,computePositionOnMount:b=!1,...w}=e,E=S.useRef(null),_=S.useRef(null),k=rye(),T=S.useCallback(()=>{requestAnimationFrame(()=>{var we;(we=E.current)==null||we.focus({preventScroll:!1})})},[]),L=S.useCallback(()=>{const we=setTimeout(()=>{var xe;if(i)(xe=i.current)==null||xe.focus();else{const Le=k.firstEnabled();Le&&z(Le.index)}});G.current.add(we)},[k,i]),O=S.useCallback(()=>{const we=setTimeout(()=>{const xe=k.lastEnabled();xe&&z(xe.index)});G.current.add(we)},[k]),D=S.useCallback(()=>{d==null||d(),o?L():T()},[o,L,T,d]),{isOpen:I,onOpen:N,onClose:W,onToggle:B}=N8({isOpen:s,defaultIsOpen:l,onClose:u,onOpen:D});eye({enabled:I&&r,ref:E,handler:we=>{var xe;(xe=_.current)!=null&&xe.contains(we.target)||W()}});const K=j8({...w,enabled:I||b,placement:p,direction:y}),[ne,z]=S.useState(-1);rc(()=>{I||z(-1)},[I]),lH(E,{focusRef:_,visible:I,shouldFocus:!0});const $=bH({isOpen:I,ref:E}),[V,X]=aye(t,"menu-button","menu-list"),Q=S.useCallback(()=>{N(),T()},[N,T]),G=S.useRef(new Set([]));pye(()=>{G.current.forEach(we=>clearTimeout(we)),G.current.clear()});const Y=S.useCallback(()=>{N(),L()},[L,N]),ee=S.useCallback(()=>{N(),O()},[N,O]),fe=S.useCallback(()=>{var we,xe;const Le=xH(E.current),Se=(we=E.current)==null?void 0:we.contains(Le.activeElement);if(!(I&&!Se))return;const Xe=(xe=k.item(ne))==null?void 0:xe.node;Xe==null||Xe.focus()},[I,ne,k]),_e=S.useRef(null);return{openAndFocusMenu:Q,openAndFocusFirstItem:Y,openAndFocusLastItem:ee,onTransitionEnd:fe,unstable__animationState:$,descendants:k,popper:K,buttonId:V,menuId:X,forceUpdate:K.forceUpdate,orientation:"vertical",isOpen:I,onToggle:B,onOpen:N,onClose:W,menuRef:E,buttonRef:_,focusedIndex:ne,closeOnSelect:n,closeOnBlur:r,autoSelect:o,setFocusedIndex:z,isLazy:a,lazyBehavior:m,initialFocusRef:i,rafId:_e}}function lye(e={},t=null){const n=d2(),{onToggle:r,popper:i,openAndFocusFirstItem:o,openAndFocusLastItem:a}=n,s=S.useCallback(l=>{const u=l.key,p={Enter:o,ArrowDown:o,ArrowUp:a}[u];p&&(l.preventDefault(),l.stopPropagation(),p(l))},[o,a]);return{...e,ref:Rn(n.buttonRef,t,i.referenceRef),id:n.buttonId,"data-active":Bt(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:ht(e.onClick,r),onKeyDown:ht(e.onKeyDown,s)}}function Q_(e){var t;return fye(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function uye(e={},t=null){const n=d2();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:i,menuRef:o,isOpen:a,onClose:s,menuId:l,isLazy:u,lazyBehavior:d,unstable__animationState:p}=n,m=nye(),y=Pve({preventDefault:_=>_.key!==" "&&Q_(_.target)}),b=S.useCallback(_=>{const k=_.key,L={Tab:D=>D.preventDefault(),Escape:s,ArrowDown:()=>{const D=m.nextEnabled(r);D&&i(D.index)},ArrowUp:()=>{const D=m.prevEnabled(r);D&&i(D.index)}}[k];if(L){_.preventDefault(),L(_);return}const O=y(D=>{const I=Tve(m.values(),D,N=>{var W,B;return(B=(W=N==null?void 0:N.node)==null?void 0:W.textContent)!=null?B:""},m.item(r));if(I){const N=m.indexOf(I.node);i(N)}});Q_(_.target)&&O(_)},[m,r,y,s,i]),w=S.useRef(!1);a&&(w.current=!0);const E=$8({wasSelected:w.current,enabled:u,mode:d,isSelected:p.present});return{...e,ref:Rn(o,t),children:E?e.children:null,tabIndex:-1,role:"menu",id:l,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:ht(e.onKeyDown,b)}}function cye(e={}){const{popper:t,isOpen:n}=d2();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function dye(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:i,onClick:o,onFocus:a,isDisabled:s,isFocusable:l,closeOnSelect:u,type:d,...p}=e,m=d2(),{setFocusedIndex:y,focusedIndex:b,closeOnSelect:w,onClose:E,menuRef:_,isOpen:k,menuId:T,rafId:L}=m,O=S.useRef(null),D=`${T}-menuitem-${S.useId()}`,{index:I,register:N}=iye({disabled:s&&!l}),W=S.useCallback(Q=>{n==null||n(Q),!s&&y(I)},[y,I,s,n]),B=S.useCallback(Q=>{r==null||r(Q),O.current&&!pO(O.current)&&W(Q)},[W,r]),K=S.useCallback(Q=>{i==null||i(Q),!s&&y(-1)},[y,s,i]),ne=S.useCallback(Q=>{o==null||o(Q),Q_(Q.currentTarget)&&(u??w)&&E()},[E,o,w,u]),z=S.useCallback(Q=>{a==null||a(Q),y(I)},[y,a,I]),$=I===b,V=s&&!l;rc(()=>{k&&($&&!V&&O.current?(L.current&&cancelAnimationFrame(L.current),L.current=requestAnimationFrame(()=>{var Q;(Q=O.current)==null||Q.focus(),L.current=null})):_.current&&!pO(_.current)&&_.current.focus())},[$,V,_,k]);const X=sH({onClick:ne,onFocus:z,onMouseEnter:W,onMouseMove:B,onMouseLeave:K,ref:Rn(N,O,t),isDisabled:s,isFocusable:l});return{...p,...X,type:d??X.type,id:D,role:"menuitem",tabIndex:$?0:-1}}function fye(e){var t;if(!hye(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function hye(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function pye(e,t=[]){return S.useEffect(()=>()=>e(),t)}var[gye,Fw]=Pn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),SH=e=>{const{children:t}=e,n=Yi("Menu",e),r=fr(e),{direction:i}=Zy(),{descendants:o,...a}=sye({...r,direction:i}),s=S.useMemo(()=>a,[a]),{isOpen:l,onClose:u,forceUpdate:d}=s;return g.jsx(tye,{value:o,children:g.jsx(oye,{value:s,children:g.jsx(gye,{value:n,children:ts(t,{isOpen:l,onClose:u,forceUpdate:d})})})})};SH.displayName="Menu";var wH=Ze((e,t)=>{const n=Fw();return g.jsx(Ne.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});wH.displayName="MenuCommand";var mye=Ze((e,t)=>{const{type:n,...r}=e,i=Fw(),o=r.as||n?n??void 0:"button",a=S.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...i.item}),[i.item]);return g.jsx(Ne.button,{ref:t,type:o,...r,__css:a})}),CH=e=>{const{className:t,children:n,...r}=e,i=S.Children.only(n),o=S.isValidElement(i)?S.cloneElement(i,{focusable:"false","aria-hidden":!0,className:xt("chakra-menu__icon",i.props.className)}):null,a=xt("chakra-menu__icon-wrapper",t);return g.jsx(Ne.span,{className:a,...r,__css:{flexShrink:0},children:o})};CH.displayName="MenuIcon";var _H=Ze((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:i,commandSpacing:o="0.75rem",children:a,...s}=e,l=dye(s,t),d=n||i?g.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return g.jsxs(mye,{...l,className:xt("chakra-menu__menuitem",l.className),children:[n&&g.jsx(CH,{fontSize:"0.8em",marginEnd:r,children:n}),d,i&&g.jsx(wH,{marginStart:o,children:i})]})});_H.displayName="MenuItem";var vye={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"}}},yye=Ne(su.div),kH=Ze(function(t,n){var r,i;const{rootProps:o,motionProps:a,...s}=t,{isOpen:l,onTransitionEnd:u,unstable__animationState:d}=d2(),p=uye(s,n),m=cye(o),y=Fw();return g.jsx(Ne.div,{...m,__css:{zIndex:(i=t.zIndex)!=null?i:(r=y.list)==null?void 0:r.zIndex},children:g.jsx(yye,{variants:vye,initial:!1,animate:l?"enter":"exit",__css:{outline:0,...y.list},...a,className:xt("chakra-menu__menu-list",p.className),...p,onUpdate:u,onAnimationComplete:Sw(d.onComplete,p.onAnimationComplete)})})});kH.displayName="MenuList";var bye=Ze((e,t)=>{const n=Fw();return g.jsx(Ne.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),EH=Ze((e,t)=>{const{children:n,as:r,...i}=e,o=lye(i,t),a=r||bye;return g.jsx(a,{...o,className:xt("chakra-menu__menu-button",e.className),children:g.jsx(Ne.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});EH.displayName="MenuButton";var xye={slideInBottom:{...B_,custom:{offsetY:16,reverse:!0}},slideInRight:{...B_,custom:{offsetX:16,reverse:!0}},scale:{...az,custom:{initialScale:.95,reverse:!0}},none:{}},Sye=Ne(su.section),wye=e=>xye[e||"none"],PH=S.forwardRef((e,t)=>{const{preset:n,motionProps:r=wye(n),...i}=e;return g.jsx(Sye,{ref:t,...r,...i})});PH.displayName="ModalTransition";var Cye=Object.defineProperty,_ye=(e,t,n)=>t in e?Cye(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kye=(e,t,n)=>(_ye(e,typeof t!="symbol"?t+"":t,n),n),Eye=class{constructor(){kye(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}},J_=new Eye;function TH(e,t){const[n,r]=S.useState(0);return S.useEffect(()=>{const i=e.current;if(i){if(t){const o=J_.add(i);r(o)}return()=>{J_.remove(i),r(0)}}},[t,e]),n}var Pye=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},wg=new WeakMap,Gb=new WeakMap,qb={},gC=0,MH=function(e){return e&&(e.host||MH(e.parentNode))},Tye=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=MH(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return Boolean(n)})},Mye=function(e,t,n,r){var i=Tye(t,Array.isArray(e)?e:[e]);qb[n]||(qb[n]=new WeakMap);var o=qb[n],a=[],s=new Set,l=new Set(i),u=function(p){!p||s.has(p)||(s.add(p),u(p.parentNode))};i.forEach(u);var d=function(p){!p||l.has(p)||Array.prototype.forEach.call(p.children,function(m){if(s.has(m))d(m);else{var y=m.getAttribute(r),b=y!==null&&y!=="false",w=(wg.get(m)||0)+1,E=(o.get(m)||0)+1;wg.set(m,w),o.set(m,E),a.push(m),w===1&&b&&Gb.set(m,!0),E===1&&m.setAttribute(n,"true"),b||m.setAttribute(r,"true")}})};return d(t),s.clear(),gC++,function(){a.forEach(function(p){var m=wg.get(p)-1,y=o.get(p)-1;wg.set(p,m),o.set(p,y),m||(Gb.has(p)||p.removeAttribute(r),Gb.delete(p)),y||p.removeAttribute(n)}),gC--,gC||(wg=new WeakMap,wg=new WeakMap,Gb=new WeakMap,qb={})}},LH=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),i=t||Pye(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live]"))),Mye(r,i,n,"aria-hidden")):function(){return null}};function Lye(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:i=!0,closeOnEsc:o=!0,useInert:a=!0,onOverlayClick:s,onEsc:l}=e,u=S.useRef(null),d=S.useRef(null),[p,m,y]=Oye(r,"chakra-modal","chakra-modal--header","chakra-modal--body");Aye(u,t&&a),TH(u,t);const b=S.useRef(null),w=S.useCallback(N=>{b.current=N.target},[]),E=S.useCallback(N=>{N.key==="Escape"&&(N.stopPropagation(),o&&(n==null||n()),l==null||l())},[o,n,l]),[_,k]=S.useState(!1),[T,L]=S.useState(!1),O=S.useCallback((N={},W=null)=>({role:"dialog",...N,ref:Rn(W,u),id:p,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?m:void 0,"aria-describedby":T?y:void 0,onClick:ht(N.onClick,B=>B.stopPropagation())}),[y,T,p,m,_]),D=S.useCallback(N=>{N.stopPropagation(),b.current===N.target&&J_.isTopModal(u.current)&&(i&&(n==null||n()),s==null||s())},[n,i,s]),I=S.useCallback((N={},W=null)=>({...N,ref:Rn(W,d),onClick:ht(N.onClick,D),onKeyDown:ht(N.onKeyDown,E),onMouseDown:ht(N.onMouseDown,w)}),[E,w,D]);return{isOpen:t,onClose:n,headerId:m,bodyId:y,setBodyMounted:L,setHeaderMounted:k,dialogRef:u,overlayRef:d,getDialogProps:O,getDialogContainerProps:I}}function Aye(e,t){const n=e.current;S.useEffect(()=>{if(!(!e.current||!t))return LH(e.current)},[t,e,n])}function Oye(e,...t){const n=S.useId(),r=e||n;return S.useMemo(()=>t.map(i=>`${i}-${r}`),[r,t])}var[Rye,g0]=Pn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[Iye,Yh]=Pn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),Yd=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:i,trapFocus:o,initialFocusRef:a,finalFocusRef:s,returnFocusOnClose:l,blockScrollOnMount:u,allowPinchZoom:d,preserveScrollBarGap:p,motionPreset:m,lockFocusAcrossFrames:y,onCloseComplete:b}=t,w=Yi("Modal",t),_={...Lye(t),autoFocus:i,trapFocus:o,initialFocusRef:a,finalFocusRef:s,returnFocusOnClose:l,blockScrollOnMount:u,allowPinchZoom:d,preserveScrollBarGap:p,motionPreset:m,lockFocusAcrossFrames:y};return g.jsx(Iye,{value:_,children:g.jsx(Rye,{value:w,children:g.jsx(rp,{onExitComplete:b,children:_.isOpen&&g.jsx(c0,{...n,children:r})})})})};Yd.displayName="Modal";var eS="right-scroll-bar-position",tS="width-before-scroll-bar",Dye="with-scroll-bars-hidden",jye="--removed-body-scroll-bar-size",AH=xz(),mC=function(){},Bw=S.forwardRef(function(e,t){var n=S.useRef(null),r=S.useState({onScrollCapture:mC,onWheelCapture:mC,onTouchMoveCapture:mC}),i=r[0],o=r[1],a=e.forwardProps,s=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,p=e.shards,m=e.sideCar,y=e.noIsolation,b=e.inert,w=e.allowPinchZoom,E=e.as,_=E===void 0?"div":E,k=YB(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as"]),T=m,L=vz([n,t]),O=Nl(Nl({},k),i);return S.createElement(S.Fragment,null,d&&S.createElement(T,{sideCar:AH,removeScrollBar:u,shards:p,noIsolation:y,inert:b,setCallbacks:o,allowPinchZoom:!!w,lockRef:n}),a?S.cloneElement(S.Children.only(s),Nl(Nl({},O),{ref:L})):S.createElement(_,Nl({},O,{className:l,ref:L}),s))});Bw.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Bw.classNames={fullWidth:tS,zeroRight:eS};var gO,Nye=function(){if(gO)return gO;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function $ye(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Nye();return t&&e.setAttribute("nonce",t),e}function Fye(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Bye(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var zye=function(){var e=0,t=null;return{add:function(n){e==0&&(t=$ye())&&(Fye(t,n),Bye(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Hye=function(){var e=zye();return function(t,n){S.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},OH=function(){var e=Hye(),t=function(n){var r=n.styles,i=n.dynamic;return e(r,i),null};return t},Wye={left:0,top:0,right:0,gap:0},vC=function(e){return parseInt(e||"",10)||0},Uye=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],i=t[e==="padding"?"paddingRight":"marginRight"];return[vC(n),vC(r),vC(i)]},Vye=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Wye;var t=Uye(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])}},Gye=OH(),qye=function(e,t,n,r){var i=e.left,o=e.top,a=e.right,s=e.gap;return n===void 0&&(n="margin"),` - .`.concat(Dye,` { - overflow: hidden `).concat(r,`; - padding-right: `).concat(s,"px ").concat(r,`; - } - body { - overflow: hidden `).concat(r,`; - overscroll-behavior: contain; - `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` - padding-left: `.concat(i,`px; - padding-top: `).concat(o,`px; - padding-right: `).concat(a,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(s,"px ").concat(r,`; - `),n==="padding"&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),` - } - - .`).concat(eS,` { - right: `).concat(s,"px ").concat(r,`; - } - - .`).concat(tS,` { - margin-right: `).concat(s,"px ").concat(r,`; - } - - .`).concat(eS," .").concat(eS,` { - right: 0 `).concat(r,`; - } - - .`).concat(tS," .").concat(tS,` { - margin-right: 0 `).concat(r,`; - } - - body { - `).concat(jye,": ").concat(s,`px; - } -`)},Kye=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?"margin":r,o=S.useMemo(function(){return Vye(i)},[i]);return S.createElement(Gye,{styles:qye(o,!t,i,n?"":"!important")})},ek=!1;if(typeof window<"u")try{var Kb=Object.defineProperty({},"passive",{get:function(){return ek=!0,!0}});window.addEventListener("test",Kb,Kb),window.removeEventListener("test",Kb,Kb)}catch{ek=!1}var Cg=ek?{passive:!1}:!1,Yye=function(e){return e.tagName==="TEXTAREA"},RH=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Yye(e)&&n[t]==="visible")},Xye=function(e){return RH(e,"overflowY")},Zye=function(e){return RH(e,"overflowX")},mO=function(e,t){var n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var r=IH(e,n);if(r){var i=DH(e,n),o=i[1],a=i[2];if(o>a)return!0}n=n.parentNode}while(n&&n!==document.body);return!1},Qye=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Jye=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},IH=function(e,t){return e==="v"?Xye(t):Zye(t)},DH=function(e,t){return e==="v"?Qye(t):Jye(t)},e2e=function(e,t){return e==="h"&&t==="rtl"?-1:1},t2e=function(e,t,n,r,i){var o=e2e(e,window.getComputedStyle(t).direction),a=o*r,s=n.target,l=t.contains(s),u=!1,d=a>0,p=0,m=0;do{var y=DH(e,s),b=y[0],w=y[1],E=y[2],_=w-E-o*b;(b||_)&&IH(e,s)&&(p+=_,m+=b),s=s.parentNode}while(!l&&s!==document.body||l&&(t.contains(s)||t===s));return(d&&(i&&p===0||!i&&a>p)||!d&&(i&&m===0||!i&&-a>m))&&(u=!0),u},Yb=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},vO=function(e){return[e.deltaX,e.deltaY]},yO=function(e){return e&&"current"in e?e.current:e},n2e=function(e,t){return e[0]===t[0]&&e[1]===t[1]},r2e=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},i2e=0,_g=[];function o2e(e){var t=S.useRef([]),n=S.useRef([0,0]),r=S.useRef(),i=S.useState(i2e++)[0],o=S.useState(function(){return OH()})[0],a=S.useRef(e);S.useEffect(function(){a.current=e},[e]),S.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var w=$_([e.lockRef.current],(e.shards||[]).map(yO),!0).filter(Boolean);return w.forEach(function(E){return E.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),w.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var s=S.useCallback(function(w,E){if("touches"in w&&w.touches.length===2)return!a.current.allowPinchZoom;var _=Yb(w),k=n.current,T="deltaX"in w?w.deltaX:k[0]-_[0],L="deltaY"in w?w.deltaY:k[1]-_[1],O,D=w.target,I=Math.abs(T)>Math.abs(L)?"h":"v";if("touches"in w&&I==="h"&&D.type==="range")return!1;var N=mO(I,D);if(!N)return!0;if(N?O=I:(O=I==="v"?"h":"v",N=mO(I,D)),!N)return!1;if(!r.current&&"changedTouches"in w&&(T||L)&&(r.current=O),!O)return!0;var W=r.current||O;return t2e(W,E,w,W==="h"?T:L,!0)},[]),l=S.useCallback(function(w){var E=w;if(!(!_g.length||_g[_g.length-1]!==o)){var _="deltaY"in E?vO(E):Yb(E),k=t.current.filter(function(O){return O.name===E.type&&O.target===E.target&&n2e(O.delta,_)})[0];if(k&&k.should){E.cancelable&&E.preventDefault();return}if(!k){var T=(a.current.shards||[]).map(yO).filter(Boolean).filter(function(O){return O.contains(E.target)}),L=T.length>0?s(E,T[0]):!a.current.noIsolation;L&&E.cancelable&&E.preventDefault()}}},[]),u=S.useCallback(function(w,E,_,k){var T={name:w,delta:E,target:_,should:k};t.current.push(T),setTimeout(function(){t.current=t.current.filter(function(L){return L!==T})},1)},[]),d=S.useCallback(function(w){n.current=Yb(w),r.current=void 0},[]),p=S.useCallback(function(w){u(w.type,vO(w),w.target,s(w,e.lockRef.current))},[]),m=S.useCallback(function(w){u(w.type,Yb(w),w.target,s(w,e.lockRef.current))},[]);S.useEffect(function(){return _g.push(o),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:m}),document.addEventListener("wheel",l,Cg),document.addEventListener("touchmove",l,Cg),document.addEventListener("touchstart",d,Cg),function(){_g=_g.filter(function(w){return w!==o}),document.removeEventListener("wheel",l,Cg),document.removeEventListener("touchmove",l,Cg),document.removeEventListener("touchstart",d,Cg)}},[]);var y=e.removeScrollBar,b=e.inert;return S.createElement(S.Fragment,null,b?S.createElement(o,{styles:r2e(i)}):null,y?S.createElement(Kye,{gapMode:"margin"}):null)}const a2e=u0e(AH,o2e);var jH=S.forwardRef(function(e,t){return S.createElement(Bw,Nl({},e,{ref:t,sideCar:a2e}))});jH.classNames=Bw.classNames;const NH=jH;function s2e(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:i,blockScrollOnMount:o,allowPinchZoom:a,finalFocusRef:s,returnFocusOnClose:l,preserveScrollBarGap:u,lockFocusAcrossFrames:d,isOpen:p}=Yh(),[m,y]=RB();S.useEffect(()=>{!m&&y&&setTimeout(y)},[m,y]);const b=TH(r,p);return g.jsx(Jz,{autoFocus:t,isDisabled:!n,initialFocusRef:i,finalFocusRef:s,restoreFocus:l,contentRef:r,lockFocusAcrossFrames:d,children:g.jsx(NH,{removeScrollBar:!u,allowPinchZoom:a,enabled:b===1&&o,forwardProps:!0,children:e.children})})}var Xd=Ze((e,t)=>{const{className:n,children:r,containerProps:i,motionProps:o,...a}=e,{getDialogProps:s,getDialogContainerProps:l}=Yh(),u=s(a,t),d=l(i),p=xt("chakra-modal__content",n),m=g0(),y={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...m.dialog},b={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...m.dialogContainer},{motionPreset:w}=Yh();return g.jsx(s2e,{children:g.jsx(Ne.div,{...d,className:"chakra-modal__content-container",tabIndex:-1,__css:b,children:g.jsx(PH,{preset:w,motionProps:o,className:p,...u,__css:y,children:r})})})});Xd.displayName="ModalContent";function $H(e){const{leastDestructiveRef:t,...n}=e;return g.jsx(Yd,{...n,initialFocusRef:t})}var FH=Ze((e,t)=>g.jsx(Xd,{ref:t,role:"alertdialog",...e})),zw=Ze((e,t)=>{const{className:n,...r}=e,i=xt("chakra-modal__footer",n),a={display:"flex",alignItems:"center",justifyContent:"flex-end",...g0().footer};return g.jsx(Ne.footer,{ref:t,...r,__css:a,className:i})});zw.displayName="ModalFooter";var op=Ze((e,t)=>{const{className:n,...r}=e,{headerId:i,setHeaderMounted:o}=Yh();S.useEffect(()=>(o(!0),()=>o(!1)),[o]);const a=xt("chakra-modal__header",n),l={flex:0,...g0().header};return g.jsx(Ne.header,{ref:t,className:a,id:i,...r,__css:l})});op.displayName="ModalHeader";var l2e=Ne(su.div),oc=Ze((e,t)=>{const{className:n,transition:r,motionProps:i,...o}=e,a=xt("chakra-modal__overlay",n),l={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...g0().overlay},{motionPreset:u}=Yh(),p=i||(u==="none"?{}:oz);return g.jsx(l2e,{...p,__css:l,ref:t,className:a,...o})});oc.displayName="ModalOverlay";var Zm=Ze((e,t)=>{const{className:n,...r}=e,{bodyId:i,setBodyMounted:o}=Yh();S.useEffect(()=>(o(!0),()=>o(!1)),[o]);const a=xt("chakra-modal__body",n),s=g0();return g.jsx(Ne.div,{ref:t,className:a,id:i,...r,__css:s.body})});Zm.displayName="ModalBody";var m0=Ze((e,t)=>{const{onClick:n,className:r,...i}=e,{onClose:o}=Yh(),a=xt("chakra-modal__close-btn",r),s=g0();return g.jsx(o8,{ref:t,__css:s.closeButton,className:a,onClick:ht(n,l=>{l.stopPropagation(),o()}),...i})});m0.displayName="ModalCloseButton";var u2e=e=>g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.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"})}),c2e=e=>g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.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 bO(e,t,n,r){S.useEffect(()=>{var i;if(!e.current||!r)return;const o=(i=e.current.ownerDocument.defaultView)!=null?i:window,a=Array.isArray(t)?t:[t],s=new o.MutationObserver(l=>{for(const u of l)u.type==="attributes"&&u.attributeName&&a.includes(u.attributeName)&&n(u)});return s.observe(e.current,{attributes:!0,attributeFilter:a}),()=>s.disconnect()})}function d2e(e,t){const n=Qr(e);S.useEffect(()=>{let r=null;const i=()=>n();return t!==null&&(r=window.setInterval(i,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var f2e=50,xO=300;function h2e(e,t){const[n,r]=S.useState(!1),[i,o]=S.useState(null),[a,s]=S.useState(!0),l=S.useRef(null),u=()=>clearTimeout(l.current);d2e(()=>{i==="increment"&&e(),i==="decrement"&&t()},n?f2e:null);const d=S.useCallback(()=>{a&&e(),l.current=setTimeout(()=>{s(!1),r(!0),o("increment")},xO)},[e,a]),p=S.useCallback(()=>{a&&t(),l.current=setTimeout(()=>{s(!1),r(!0),o("decrement")},xO)},[t,a]),m=S.useCallback(()=>{s(!0),r(!1),u()},[]);return S.useEffect(()=>()=>u(),[]),{up:d,down:p,stop:m,isSpinning:n}}var p2e=/^[Ee0-9+\-.]$/;function g2e(e){return p2e.test(e)}function m2e(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 v2e(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:i=Number.MIN_SAFE_INTEGER,max:o=Number.MAX_SAFE_INTEGER,step:a=1,isReadOnly:s,isDisabled:l,isRequired:u,isInvalid:d,pattern:p="[0-9]*(.[0-9]+)?",inputMode:m="decimal",allowMouseWheel:y,id:b,onChange:w,precision:E,name:_,"aria-describedby":k,"aria-label":T,"aria-labelledby":L,onFocus:O,onBlur:D,onInvalid:I,getAriaValueText:N,isValidCharacter:W,format:B,parse:K,...ne}=e,z=Qr(O),$=Qr(D),V=Qr(I),X=Qr(W??g2e),Q=Qr(N),G=Vme(e),{update:Y,increment:ee,decrement:fe}=G,[_e,we]=S.useState(!1),xe=!(s||l),Le=S.useRef(null),Se=S.useRef(null),Je=S.useRef(null),Xe=S.useRef(null),tt=S.useCallback(Me=>Me.split("").filter(X).join(""),[X]),yt=S.useCallback(Me=>{var Ct;return(Ct=K==null?void 0:K(Me))!=null?Ct:Me},[K]),Be=S.useCallback(Me=>{var Ct;return((Ct=B==null?void 0:B(Me))!=null?Ct:Me).toString()},[B]);rc(()=>{(G.valueAsNumber>o||G.valueAsNumber{if(!Le.current)return;if(Le.current.value!=G.value){const Ct=yt(Le.current.value);G.setValue(tt(Ct))}},[yt,tt]);const Ae=S.useCallback((Me=a)=>{xe&&ee(Me)},[ee,xe,a]),bt=S.useCallback((Me=a)=>{xe&&fe(Me)},[fe,xe,a]),Fe=h2e(Ae,bt);bO(Je,"disabled",Fe.stop,Fe.isSpinning),bO(Xe,"disabled",Fe.stop,Fe.isSpinning);const at=S.useCallback(Me=>{if(Me.nativeEvent.isComposing)return;const zt=yt(Me.currentTarget.value);Y(tt(zt)),Se.current={start:Me.currentTarget.selectionStart,end:Me.currentTarget.selectionEnd}},[Y,tt,yt]),jt=S.useCallback(Me=>{var Ct,zt,$n;z==null||z(Me),Se.current&&(Me.target.selectionStart=(zt=Se.current.start)!=null?zt:(Ct=Me.currentTarget.value)==null?void 0:Ct.length,Me.currentTarget.selectionEnd=($n=Se.current.end)!=null?$n:Me.currentTarget.selectionStart)},[z]),mt=S.useCallback(Me=>{if(Me.nativeEvent.isComposing)return;m2e(Me,X)||Me.preventDefault();const Ct=Zt(Me)*a,zt=Me.key,qe={ArrowUp:()=>Ae(Ct),ArrowDown:()=>bt(Ct),Home:()=>Y(i),End:()=>Y(o)}[zt];qe&&(Me.preventDefault(),qe(Me))},[X,a,Ae,bt,Y,i,o]),Zt=Me=>{let Ct=1;return(Me.metaKey||Me.ctrlKey)&&(Ct=.1),Me.shiftKey&&(Ct=10),Ct},on=S.useMemo(()=>{const Me=Q==null?void 0:Q(G.value);if(Me!=null)return Me;const Ct=G.value.toString();return Ct||void 0},[G.value,Q]),se=S.useCallback(()=>{let Me=G.value;if(G.value==="")return;/^[eE]/.test(G.value.toString())?G.setValue(""):(G.valueAsNumbero&&(Me=o),G.cast(Me))},[G,o,i]),Ie=S.useCallback(()=>{we(!1),n&&se()},[n,we,se]),He=S.useCallback(()=>{t&&requestAnimationFrame(()=>{var Me;(Me=Le.current)==null||Me.focus()})},[t]),Ue=S.useCallback(Me=>{Me.preventDefault(),Fe.up(),He()},[He,Fe]),ye=S.useCallback(Me=>{Me.preventDefault(),Fe.down(),He()},[He,Fe]);Dh(()=>Le.current,"wheel",Me=>{var Ct,zt;const qe=((zt=(Ct=Le.current)==null?void 0:Ct.ownerDocument)!=null?zt:document).activeElement===Le.current;if(!y||!qe)return;Me.preventDefault();const pt=Zt(Me)*a,zr=Math.sign(Me.deltaY);zr===-1?Ae(pt):zr===1&&bt(pt)},{passive:!1});const je=S.useCallback((Me={},Ct=null)=>{const zt=l||r&&G.isAtMax;return{...Me,ref:Rn(Ct,Je),role:"button",tabIndex:-1,onPointerDown:ht(Me.onPointerDown,$n=>{$n.button!==0||zt||Ue($n)}),onPointerLeave:ht(Me.onPointerLeave,Fe.stop),onPointerUp:ht(Me.onPointerUp,Fe.stop),disabled:zt,"aria-disabled":Uu(zt)}},[G.isAtMax,r,Ue,Fe.stop,l]),vt=S.useCallback((Me={},Ct=null)=>{const zt=l||r&&G.isAtMin;return{...Me,ref:Rn(Ct,Xe),role:"button",tabIndex:-1,onPointerDown:ht(Me.onPointerDown,$n=>{$n.button!==0||zt||ye($n)}),onPointerLeave:ht(Me.onPointerLeave,Fe.stop),onPointerUp:ht(Me.onPointerUp,Fe.stop),disabled:zt,"aria-disabled":Uu(zt)}},[G.isAtMin,r,ye,Fe.stop,l]),Mt=S.useCallback((Me={},Ct=null)=>{var zt,$n,qe,pt;return{name:_,inputMode:m,type:"text",pattern:p,"aria-labelledby":L,"aria-label":T,"aria-describedby":k,id:b,disabled:l,...Me,readOnly:(zt=Me.readOnly)!=null?zt:s,"aria-readonly":($n=Me.readOnly)!=null?$n:s,"aria-required":(qe=Me.required)!=null?qe:u,required:(pt=Me.required)!=null?pt:u,ref:Rn(Le,Ct),value:Be(G.value),role:"spinbutton","aria-valuemin":i,"aria-valuemax":o,"aria-valuenow":Number.isNaN(G.valueAsNumber)?void 0:G.valueAsNumber,"aria-invalid":Uu(d??G.isOutOfRange),"aria-valuetext":on,autoComplete:"off",autoCorrect:"off",onChange:ht(Me.onChange,at),onKeyDown:ht(Me.onKeyDown,mt),onFocus:ht(Me.onFocus,jt,()=>we(!0)),onBlur:ht(Me.onBlur,$,Ie)}},[_,m,p,L,T,Be,k,b,l,u,s,d,G.value,G.valueAsNumber,G.isOutOfRange,i,o,on,at,mt,jt,$,Ie]);return{value:Be(G.value),valueAsNumber:G.valueAsNumber,isFocused:_e,isDisabled:l,isReadOnly:s,getIncrementButtonProps:je,getDecrementButtonProps:vt,getInputProps:Mt,htmlProps:ne}}var[y2e,Hw]=Pn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[b2e,F8]=Pn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),B8=Ze(function(t,n){const r=Yi("NumberInput",t),i=fr(t),o=h8(i),{htmlProps:a,...s}=v2e(o),l=S.useMemo(()=>s,[s]);return g.jsx(b2e,{value:l,children:g.jsx(y2e,{value:r,children:g.jsx(Ne.div,{...a,ref:n,className:xt("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});B8.displayName="NumberInput";var BH=Ze(function(t,n){const r=Hw();return g.jsx(Ne.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}})});BH.displayName="NumberInputStepper";var z8=Ze(function(t,n){const{getInputProps:r}=F8(),i=r(t,n),o=Hw();return g.jsx(Ne.input,{...i,className:xt("chakra-numberinput__field",t.className),__css:{width:"100%",...o.field}})});z8.displayName="NumberInputField";var zH=Ne("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),H8=Ze(function(t,n){var r;const i=Hw(),{getDecrementButtonProps:o}=F8(),a=o(t,n);return g.jsx(zH,{...a,__css:i.stepper,children:(r=t.children)!=null?r:g.jsx(u2e,{})})});H8.displayName="NumberDecrementStepper";var W8=Ze(function(t,n){var r;const{getIncrementButtonProps:i}=F8(),o=i(t,n),a=Hw();return g.jsx(zH,{...o,__css:a.stepper,children:(r=t.children)!=null?r:g.jsx(c2e,{})})});W8.displayName="NumberIncrementStepper";var[x2e,Ww]=Pn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[S2e,HH]=Pn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function U8(e){const t=S.Children.only(e.children),{getTriggerProps:n}=Ww();return S.cloneElement(t,n(t.props,t.ref))}U8.displayName="PopoverTrigger";var kg={click:"click",hover:"hover"};function w2e(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:i,returnFocusOnClose:o=!0,autoFocus:a=!0,arrowSize:s,arrowShadowColor:l,trigger:u=kg.click,openDelay:d=200,closeDelay:p=200,isLazy:m,lazyBehavior:y="unmount",computePositionOnMount:b,...w}=e,{isOpen:E,onClose:_,onOpen:k,onToggle:T}=N8(e),L=S.useRef(null),O=S.useRef(null),D=S.useRef(null),I=S.useRef(!1),N=S.useRef(!1);E&&(N.current=!0);const[W,B]=S.useState(!1),[K,ne]=S.useState(!1),z=S.useId(),$=i??z,[V,X,Q,G]=["popover-trigger","popover-content","popover-header","popover-body"].map(at=>`${at}-${$}`),{referenceRef:Y,getArrowProps:ee,getPopperProps:fe,getArrowInnerProps:_e,forceUpdate:we}=j8({...w,enabled:E||!!b}),xe=bH({isOpen:E,ref:D});Qme({enabled:E,ref:O}),lH(D,{focusRef:O,visible:E,shouldFocus:o&&u===kg.click}),Ove(D,{focusRef:r,visible:E,shouldFocus:a&&u===kg.click});const Le=$8({wasSelected:N.current,enabled:m,mode:y,isSelected:xe.present}),Se=S.useCallback((at={},jt=null)=>{const mt={...at,style:{...at.style,transformOrigin:ii.transformOrigin.varRef,[ii.arrowSize.var]:s?`${s}px`:void 0,[ii.arrowShadowColor.var]:l},ref:Rn(D,jt),children:Le?at.children:null,id:X,tabIndex:-1,role:"dialog",onKeyDown:ht(at.onKeyDown,Zt=>{n&&Zt.key==="Escape"&&_()}),onBlur:ht(at.onBlur,Zt=>{const on=SO(Zt),se=yC(D.current,on),Ie=yC(O.current,on);E&&t&&(!se&&!Ie)&&_()}),"aria-labelledby":W?Q:void 0,"aria-describedby":K?G:void 0};return u===kg.hover&&(mt.role="tooltip",mt.onMouseEnter=ht(at.onMouseEnter,()=>{I.current=!0}),mt.onMouseLeave=ht(at.onMouseLeave,Zt=>{Zt.nativeEvent.relatedTarget!==null&&(I.current=!1,setTimeout(()=>_(),p))})),mt},[Le,X,W,Q,K,G,u,n,_,E,t,p,l,s]),Je=S.useCallback((at={},jt=null)=>fe({...at,style:{visibility:E?"visible":"hidden",...at.style}},jt),[E,fe]),Xe=S.useCallback((at,jt=null)=>({...at,ref:Rn(jt,L,Y)}),[L,Y]),tt=S.useRef(),yt=S.useRef(),Be=S.useCallback(at=>{L.current==null&&Y(at)},[Y]),Ae=S.useCallback((at={},jt=null)=>{const mt={...at,ref:Rn(O,jt,Be),id:V,"aria-haspopup":"dialog","aria-expanded":E,"aria-controls":X};return u===kg.click&&(mt.onClick=ht(at.onClick,T)),u===kg.hover&&(mt.onFocus=ht(at.onFocus,()=>{tt.current===void 0&&k()}),mt.onBlur=ht(at.onBlur,Zt=>{const on=SO(Zt),se=!yC(D.current,on);E&&t&&se&&_()}),mt.onKeyDown=ht(at.onKeyDown,Zt=>{Zt.key==="Escape"&&_()}),mt.onMouseEnter=ht(at.onMouseEnter,()=>{I.current=!0,tt.current=window.setTimeout(()=>k(),d)}),mt.onMouseLeave=ht(at.onMouseLeave,()=>{I.current=!1,tt.current&&(clearTimeout(tt.current),tt.current=void 0),yt.current=window.setTimeout(()=>{I.current===!1&&_()},p)})),mt},[V,E,X,u,Be,T,k,t,_,d,p]);S.useEffect(()=>()=>{tt.current&&clearTimeout(tt.current),yt.current&&clearTimeout(yt.current)},[]);const bt=S.useCallback((at={},jt=null)=>({...at,id:Q,ref:Rn(jt,mt=>{B(!!mt)})}),[Q]),Fe=S.useCallback((at={},jt=null)=>({...at,id:G,ref:Rn(jt,mt=>{ne(!!mt)})}),[G]);return{forceUpdate:we,isOpen:E,onAnimationComplete:xe.onComplete,onClose:_,getAnchorProps:Xe,getArrowProps:ee,getArrowInnerProps:_e,getPopoverPositionerProps:Je,getPopoverProps:Se,getTriggerProps:Ae,getHeaderProps:bt,getBodyProps:Fe}}function yC(e,t){return e===t||(e==null?void 0:e.contains(t))}function SO(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function V8(e){const t=Yi("Popover",e),{children:n,...r}=fr(e),i=Zy(),o=w2e({...r,direction:i.direction});return g.jsx(x2e,{value:o,children:g.jsx(S2e,{value:t,children:ts(n,{isOpen:o.isOpen,onClose:o.onClose,forceUpdate:o.forceUpdate})})})}V8.displayName="Popover";function G8(e){var t;const{bg:n,bgColor:r,backgroundColor:i,shadow:o,boxShadow:a}=e,{getArrowProps:s,getArrowInnerProps:l}=Ww(),u=HH(),d=(t=n??r)!=null?t:i,p=o??a;return g.jsx(Ne.div,{...s(),className:"chakra-popover__arrow-positioner",children:g.jsx(Ne.div,{className:xt("chakra-popover__arrow",e.className),...l(e),__css:{"--popper-arrow-bg":d?`colors.${d}, ${d}`:void 0,"--popper-arrow-shadow":p?`shadows.${p}, ${p}`:void 0,...u.arrow}})})}G8.displayName="PopoverArrow";function C2e(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var _2e={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]}}},k2e=Ne(su.section),WH=Ze(function(t,n){const{variants:r=_2e,...i}=t,{isOpen:o}=Ww();return g.jsx(k2e,{ref:n,variants:C2e(r),initial:!1,animate:o?"enter":"exit",...i})});WH.displayName="PopoverTransition";var q8=Ze(function(t,n){const{rootProps:r,motionProps:i,...o}=t,{getPopoverProps:a,getPopoverPositionerProps:s,onAnimationComplete:l}=Ww(),u=HH(),d={position:"relative",display:"flex",flexDirection:"column",...u.content};return g.jsx(Ne.div,{...s(r),__css:u.popper,className:"chakra-popover__popper",children:g.jsx(WH,{...i,...a(o,n),onAnimationComplete:Sw(l,o.onAnimationComplete),className:xt("chakra-popover__content",t.className),__css:d})})});q8.displayName="PopoverContent";function E2e(e,t,n){return(e-t)*100/(n-t)}nf({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});nf({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var P2e=nf({"0%":{left:"-40%"},"100%":{left:"100%"}}),T2e=nf({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function M2e(e){const{value:t=0,min:n,max:r,valueText:i,getValueText:o,isIndeterminate:a,role:s="progressbar"}=e,l=E2e(t,n,r);return{bind:{"data-indeterminate":a?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":a?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof o=="function"?o(t,l):i})(),role:s},percent:l,value:t}}var[L2e,A2e]=Pn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),O2e=Ze((e,t)=>{const{min:n,max:r,value:i,isIndeterminate:o,role:a,...s}=e,l=M2e({value:i,min:n,max:r,isIndeterminate:o,role:a}),d={height:"100%",...A2e().filledTrack};return g.jsx(Ne.div,{ref:t,style:{width:`${l.percent}%`,...s.style},...l.bind,...s,__css:d})}),UH=Ze((e,t)=>{var n;const{value:r,min:i=0,max:o=100,hasStripe:a,isAnimated:s,children:l,borderRadius:u,isIndeterminate:d,"aria-label":p,"aria-labelledby":m,"aria-valuetext":y,title:b,role:w,...E}=fr(e),_=Yi("Progress",e),k=u??((n=_.track)==null?void 0:n.borderRadius),T={animation:`${T2e} 1s linear infinite`},D={...!d&&a&&s&&T,...d&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${P2e} 1s ease infinite normal none running`}},I={overflow:"hidden",position:"relative",..._.track};return g.jsx(Ne.div,{ref:t,borderRadius:k,__css:I,...E,children:g.jsxs(L2e,{value:_,children:[g.jsx(O2e,{"aria-label":p,"aria-labelledby":m,"aria-valuetext":y,min:i,max:o,value:r,isIndeterminate:d,css:D,borderRadius:k,title:b,role:w}),l]})})});UH.displayName="Progress";function R2e(e){return e&&Eo(e)&&Eo(e.target)}function I2e(e={}){const{onChange:t,value:n,defaultValue:r,name:i,isDisabled:o,isFocusable:a,isNative:s,...l}=e,[u,d]=S.useState(r||""),p=typeof n<"u",m=p?n:u,y=S.useRef(null),b=S.useCallback(()=>{const O=y.current;if(!O)return;let D="input:not(:disabled):checked";const I=O.querySelector(D);if(I){I.focus();return}D="input:not(:disabled)";const N=O.querySelector(D);N==null||N.focus()},[]),E=`radio-${S.useId()}`,_=i||E,k=S.useCallback(O=>{const D=R2e(O)?O.target.value:O;p||d(D),t==null||t(String(D))},[t,p]),T=S.useCallback((O={},D=null)=>({...O,ref:Rn(D,y),role:"radiogroup"}),[]),L=S.useCallback((O={},D=null)=>({...O,ref:D,name:_,[s?"checked":"isChecked"]:m!=null?O.value===m:void 0,onChange(N){k(N)},"data-radiogroup":!0}),[s,_,k,m]);return{getRootProps:T,getRadioProps:L,name:_,ref:y,focus:b,setValue:d,value:m,onChange:k,isDisabled:o,isFocusable:a,htmlProps:l}}var[D2e,VH]=Pn({name:"RadioGroupContext",strict:!1}),Oy=Ze((e,t)=>{const{colorScheme:n,size:r,variant:i,children:o,className:a,isDisabled:s,isFocusable:l,...u}=e,{value:d,onChange:p,getRootProps:m,name:y,htmlProps:b}=I2e(u),w=S.useMemo(()=>({name:y,size:r,onChange:p,colorScheme:n,value:d,variant:i,isDisabled:s,isFocusable:l}),[y,r,p,n,d,i,s,l]);return g.jsx(D2e,{value:w,children:g.jsx(Ne.div,{...m(b,t),className:xt("chakra-radio-group",a),children:o})})});Oy.displayName="RadioGroup";var j2e={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function N2e(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:i,isReadOnly:o,isRequired:a,onChange:s,isInvalid:l,name:u,value:d,id:p,"data-radiogroup":m,"aria-describedby":y,...b}=e,w=`radio-${S.useId()}`,E=ip(),k=!!VH()||!!m;let L=!!E&&!k?E.id:w;L=p??L;const O=i??(E==null?void 0:E.isDisabled),D=o??(E==null?void 0:E.isReadOnly),I=a??(E==null?void 0:E.isRequired),N=l??(E==null?void 0:E.isInvalid),[W,B]=S.useState(!1),[K,ne]=S.useState(!1),[z,$]=S.useState(!1),[V,X]=S.useState(!1),[Q,G]=S.useState(Boolean(t)),Y=typeof n<"u",ee=Y?n:Q;S.useEffect(()=>uz(B),[]);const fe=S.useCallback(Be=>{if(D||O){Be.preventDefault();return}Y||G(Be.target.checked),s==null||s(Be)},[Y,O,D,s]),_e=S.useCallback(Be=>{Be.key===" "&&X(!0)},[X]),we=S.useCallback(Be=>{Be.key===" "&&X(!1)},[X]),xe=S.useCallback((Be={},Ae=null)=>({...Be,ref:Ae,"data-active":Bt(V),"data-hover":Bt(z),"data-disabled":Bt(O),"data-invalid":Bt(N),"data-checked":Bt(ee),"data-focus":Bt(K),"data-focus-visible":Bt(K&&W),"data-readonly":Bt(D),"aria-hidden":!0,onMouseDown:ht(Be.onMouseDown,()=>X(!0)),onMouseUp:ht(Be.onMouseUp,()=>X(!1)),onMouseEnter:ht(Be.onMouseEnter,()=>$(!0)),onMouseLeave:ht(Be.onMouseLeave,()=>$(!1))}),[V,z,O,N,ee,K,D,W]),{onFocus:Le,onBlur:Se}=E??{},Je=S.useCallback((Be={},Ae=null)=>{const bt=O&&!r;return{...Be,id:L,ref:Ae,type:"radio",name:u,value:d,onChange:ht(Be.onChange,fe),onBlur:ht(Se,Be.onBlur,()=>ne(!1)),onFocus:ht(Le,Be.onFocus,()=>ne(!0)),onKeyDown:ht(Be.onKeyDown,_e),onKeyUp:ht(Be.onKeyUp,we),checked:ee,disabled:bt,readOnly:D,required:I,"aria-invalid":Uu(N),"aria-disabled":Uu(bt),"aria-required":Uu(I),"data-readonly":Bt(D),"aria-describedby":y,style:j2e}},[O,r,L,u,d,fe,Se,Le,_e,we,ee,D,I,N,y]);return{state:{isInvalid:N,isFocused:K,isChecked:ee,isActive:V,isHovered:z,isDisabled:O,isReadOnly:D,isRequired:I},getCheckboxProps:xe,getInputProps:Je,getLabelProps:(Be={},Ae=null)=>({...Be,ref:Ae,onMouseDown:ht(Be.onMouseDown,wO),onTouchStart:ht(Be.onTouchStart,wO),"data-disabled":Bt(O),"data-checked":Bt(ee),"data-invalid":Bt(N)}),getRootProps:(Be,Ae=null)=>({...Be,ref:Ae,"data-disabled":Bt(O),"data-checked":Bt(ee),"data-invalid":Bt(N)}),htmlProps:b}}function wO(e){e.preventDefault(),e.stopPropagation()}function $2e(e,t){const n={},r={};for(const[i,o]of Object.entries(e))t.includes(i)?n[i]=o:r[i]=o;return[n,r]}var So=Ze((e,t)=>{var n;const r=VH(),{onChange:i,value:o}=e,a=Yi("Radio",{...r,...e}),s=fr(e),{spacing:l="0.5rem",children:u,isDisabled:d=r==null?void 0:r.isDisabled,isFocusable:p=r==null?void 0:r.isFocusable,inputProps:m,...y}=s;let b=e.isChecked;(r==null?void 0:r.value)!=null&&o!=null&&(b=r.value===o);let w=i;r!=null&&r.onChange&&o!=null&&(w=Sw(r.onChange,i));const E=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:_,getCheckboxProps:k,getLabelProps:T,getRootProps:L,htmlProps:O}=N2e({...y,isChecked:b,isFocusable:p,isDisabled:d,onChange:w,name:E}),[D,I]=$2e(O,lF),N=k(I),W=_(m,t),B=T(),K=Object.assign({},D,L()),ne={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...a.container},z={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...a.control},$={userSelect:"none",marginStart:l,...a.label};return g.jsxs(Ne.label,{className:"chakra-radio",...K,__css:ne,children:[g.jsx("input",{className:"chakra-radio__input",...W}),g.jsx(Ne.span,{className:"chakra-radio__control",...N,__css:z}),u&&g.jsx(Ne.span,{className:"chakra-radio__label",...B,__css:$,children:u})]})});So.displayName="Radio";var GH=Ze(function(t,n){const{children:r,placeholder:i,className:o,...a}=t;return g.jsxs(Ne.select,{...a,ref:n,className:xt("chakra-select",o),children:[i&&g.jsx("option",{value:"",children:i}),r]})});GH.displayName="SelectField";function F2e(e,t){const n={},r={};for(const[i,o]of Object.entries(e))t.includes(i)?n[i]=o:r[i]=o;return[n,r]}var qH=Ze((e,t)=>{var n;const r=Yi("Select",e),{rootProps:i,placeholder:o,icon:a,color:s,height:l,h:u,minH:d,minHeight:p,iconColor:m,iconSize:y,...b}=fr(e),[w,E]=F2e(b,lF),_=f8(E),k={width:"100%",height:"fit-content",position:"relative",color:s},T={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return g.jsxs(Ne.div,{className:"chakra-select__wrapper",__css:k,...w,...i,children:[g.jsx(GH,{ref:t,height:u??l,minH:d??p,placeholder:o,..._,__css:T,children:e.children}),g.jsx(KH,{"data-disabled":Bt(_.disabled),...(m||s)&&{color:m||s},__css:r.icon,...y&&{fontSize:y},children:a})]})});qH.displayName="Select";var B2e=e=>g.jsx("svg",{viewBox:"0 0 24 24",...e,children:g.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),z2e=Ne("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),KH=e=>{const{children:t=g.jsx(B2e,{}),...n}=e,r=S.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return g.jsx(z2e,{...n,className:"chakra-select__icon-wrapper",children:S.isValidElement(t)?r:null})};KH.displayName="SelectIcon";var Eg=e=>e?"":void 0,bC=e=>e?!0:void 0,f2=(...e)=>e.filter(Boolean).join(" ");function xC(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function Xb(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var nS={width:0,height:0},Zb=e=>e||nS;function H2e(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:i}=e,o=w=>{var E;const _=(E=r[w])!=null?E:nS;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...Xb({orientation:t,vertical:{bottom:`calc(${n[w]}% - ${_.height/2}px)`},horizontal:{left:`calc(${n[w]}% - ${_.width/2}px)`}})}},a=t==="vertical"?r.reduce((w,E)=>Zb(w).height>Zb(E).height?w:E,nS):r.reduce((w,E)=>Zb(w).width>Zb(E).width?w:E,nS),s={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...Xb({orientation:t,vertical:a?{paddingLeft:a.width/2,paddingRight:a.width/2}:{},horizontal:a?{paddingTop:a.height/2,paddingBottom:a.height/2}:{}})},l={position:"absolute",...Xb({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},u=n.length===1,d=[0,i?100-n[0]:n[0]],p=u?d:n;let m=p[0];!u&&i&&(m=100-m);const y=Math.abs(p[p.length-1]-p[0]),b={...l,...Xb({orientation:t,vertical:i?{height:`${y}%`,top:`${m}%`}:{height:`${y}%`,bottom:`${m}%`},horizontal:i?{width:`${y}%`,right:`${m}%`}:{width:`${y}%`,left:`${m}%`}})};return{trackStyle:l,innerTrackStyle:b,rootStyle:s,getThumbStyle:o}}function W2e(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function U2e(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function V2e(e){const t=q2e(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function YH(e){return!!e.touches}function G2e(e){return YH(e)&&e.touches.length>1}function q2e(e){var t;return(t=e.view)!=null?t:window}function K2e(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function Y2e(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function XH(e,t="page"){return YH(e)?K2e(e,t):Y2e(e,t)}function X2e(e){return t=>{const n=V2e(t);(!n||n&&t.button===0)&&e(t)}}function Z2e(e,t=!1){function n(i){e(i,{point:XH(i)})}return t?X2e(n):n}function rS(e,t,n,r){return U2e(e,t,Z2e(n,t==="pointerdown"),r)}var Q2e=Object.defineProperty,J2e=(e,t,n)=>t in e?Q2e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$s=(e,t,n)=>(J2e(e,typeof t!="symbol"?t+"":t,n),n),ebe=class{constructor(e,t,n){$s(this,"history",[]),$s(this,"startEvent",null),$s(this,"lastEvent",null),$s(this,"lastEventInfo",null),$s(this,"handlers",{}),$s(this,"removeListeners",()=>{}),$s(this,"threshold",3),$s(this,"win"),$s(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const s=SC(this.lastEventInfo,this.history),l=this.startEvent!==null,u=ibe(s.offset,{x:0,y:0})>=this.threshold;if(!l&&!u)return;const{timestamp:d}=kL();this.history.push({...s.point,timestamp:d});const{onStart:p,onMove:m}=this.handlers;l||(p==null||p(this.lastEvent,s),this.startEvent=this.lastEvent),m==null||m(this.lastEvent,s)}),$s(this,"onPointerMove",(s,l)=>{this.lastEvent=s,this.lastEventInfo=l,Cce.update(this.updatePoint,!0)}),$s(this,"onPointerUp",(s,l)=>{const u=SC(l,this.history),{onEnd:d,onSessionEnd:p}=this.handlers;p==null||p(s,u),this.end(),!(!d||!this.startEvent)&&(d==null||d(s,u))});var r;if(this.win=(r=e.view)!=null?r:window,G2e(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const i={point:XH(e)},{timestamp:o}=kL();this.history=[{...i.point,timestamp:o}];const{onSessionStart:a}=t;a==null||a(e,SC(i,this.history)),this.removeListeners=rbe(rS(this.win,"pointermove",this.onPointerMove),rS(this.win,"pointerup",this.onPointerUp),rS(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),_ce.update(this.updatePoint)}};function CO(e,t){return{x:e.x-t.x,y:e.y-t.y}}function SC(e,t){return{point:e.point,delta:CO(e.point,t[t.length-1]),offset:CO(e.point,t[0]),velocity:nbe(t,.1)}}var tbe=e=>e*1e3;function nbe(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>tbe(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 a={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function rbe(...e){return t=>e.reduce((n,r)=>r(n),t)}function wC(e,t){return Math.abs(e-t)}function _O(e){return"x"in e&&"y"in e}function ibe(e,t){if(typeof e=="number"&&typeof t=="number")return wC(e,t);if(_O(e)&&_O(t)){const n=wC(e.x,t.x),r=wC(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function ZH(e){const t=S.useRef(null);return t.current=e,t}function obe(e,t){const{onPan:n,onPanStart:r,onPanEnd:i,onPanSessionStart:o,onPanSessionEnd:a,threshold:s}=t,l=Boolean(n||r||i||o||a),u=S.useRef(null),d=ZH({onSessionStart:o,onSessionEnd:a,onStart:r,onMove:n,onEnd(p,m){u.current=null,i==null||i(p,m)}});S.useEffect(()=>{var p;(p=u.current)==null||p.updateHandlers(d.current)}),S.useEffect(()=>{const p=e.current;if(!p||!l)return;function m(y){u.current=new ebe(y,d.current,s)}return rS(p,"pointerdown",m)},[e,l,d,s]),S.useEffect(()=>()=>{var p;(p=u.current)==null||p.end(),u.current=null},[])}function abe(e,t){var n;if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const r=(n=e.ownerDocument.defaultView)!=null?n:window,i=new r.ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const[a]=o;let s,l;if("borderBoxSize"in a){const u=a.borderBoxSize,d=Array.isArray(u)?u[0]:u;s=d.inlineSize,l=d.blockSize}else s=e.offsetWidth,l=e.offsetHeight;t({width:s,height:l})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}var sbe=Boolean(globalThis==null?void 0:globalThis.document)?S.useLayoutEffect:S.useEffect;function lbe(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 ube({getNodes:e,observeMutation:t=!0}){const[n,r]=S.useState([]),[i,o]=S.useState(0);return sbe(()=>{const a=e(),s=a.map((l,u)=>abe(l,d=>{r(p=>[...p.slice(0,u),d,...p.slice(u+1)])}));if(t){const l=a[0];s.push(lbe(l,()=>{o(u=>u+1)}))}return()=>{s.forEach(l=>{l==null||l()})}},[i]),n}function cbe(e){return typeof e=="object"&&e!==null&&"current"in e}function dbe(e){const[t]=ube({observeMutation:!1,getNodes(){return[cbe(e)?e.current:e]}});return t}function fbe(e){var t;const{min:n=0,max:r=100,onChange:i,value:o,defaultValue:a,isReversed:s,direction:l="ltr",orientation:u="horizontal",id:d,isDisabled:p,isReadOnly:m,onChangeStart:y,onChangeEnd:b,step:w=1,getAriaValueText:E,"aria-valuetext":_,"aria-label":k,"aria-labelledby":T,name:L,focusThumbOnChange:O=!0,...D}=e,I=Qr(y),N=Qr(b),W=Qr(E),B=W2e({isReversed:s,direction:l,orientation:u}),[K,ne]=l8({value:o,defaultValue:a??pbe(n,r),onChange:i}),[z,$]=S.useState(!1),[V,X]=S.useState(!1),Q=!(p||m),G=(r-n)/10,Y=w||(r-n)/100,ee=Qx(K,n,r),fe=r-ee+n,we=GA(B?fe:ee,n,r),xe=u==="vertical",Le=ZH({min:n,max:r,step:w,isDisabled:p,value:ee,isInteractive:Q,isReversed:B,isVertical:xe,eventSource:null,focusThumbOnChange:O,orientation:u}),Se=S.useRef(null),Je=S.useRef(null),Xe=S.useRef(null),tt=S.useId(),yt=d??tt,[Be,Ae]=[`slider-thumb-${yt}`,`slider-track-${yt}`],bt=S.useCallback(qe=>{var pt,zr;if(!Se.current)return;const rr=Le.current;rr.eventSource="pointer";const Bn=Se.current.getBoundingClientRect(),{clientX:li,clientY:vs}=(zr=(pt=qe.touches)==null?void 0:pt[0])!=null?zr:qe,tl=xe?Bn.bottom-vs:li-Bn.left,gf=xe?Bn.height:Bn.width;let ys=tl/gf;B&&(ys=1-ys);let Xi=Ume(ys,rr.min,rr.max);return rr.step&&(Xi=parseFloat(qA(Xi,rr.min,rr.step))),Xi=Qx(Xi,rr.min,rr.max),Xi},[xe,B,Le]),Fe=S.useCallback(qe=>{const pt=Le.current;pt.isInteractive&&(qe=parseFloat(qA(qe,pt.min,Y)),qe=Qx(qe,pt.min,pt.max),ne(qe))},[Y,ne,Le]),at=S.useMemo(()=>({stepUp(qe=Y){const pt=B?ee-qe:ee+qe;Fe(pt)},stepDown(qe=Y){const pt=B?ee+qe:ee-qe;Fe(pt)},reset(){Fe(a||0)},stepTo(qe){Fe(qe)}}),[Fe,B,ee,Y,a]),jt=S.useCallback(qe=>{const pt=Le.current,rr={ArrowRight:()=>at.stepUp(),ArrowUp:()=>at.stepUp(),ArrowLeft:()=>at.stepDown(),ArrowDown:()=>at.stepDown(),PageUp:()=>at.stepUp(G),PageDown:()=>at.stepDown(G),Home:()=>Fe(pt.min),End:()=>Fe(pt.max)}[qe.key];rr&&(qe.preventDefault(),qe.stopPropagation(),rr(qe),pt.eventSource="keyboard")},[at,Fe,G,Le]),mt=(t=W==null?void 0:W(ee))!=null?t:_,Zt=dbe(Je),{getThumbStyle:on,rootStyle:se,trackStyle:Ie,innerTrackStyle:He}=S.useMemo(()=>{const qe=Le.current,pt=Zt??{width:0,height:0};return H2e({isReversed:B,orientation:qe.orientation,thumbRects:[pt],thumbPercents:[we]})},[B,Zt,we,Le]),Ue=S.useCallback(()=>{Le.current.focusThumbOnChange&&setTimeout(()=>{var pt;return(pt=Je.current)==null?void 0:pt.focus()})},[Le]);rc(()=>{const qe=Le.current;Ue(),qe.eventSource==="keyboard"&&(N==null||N(qe.value))},[ee,N]);function ye(qe){const pt=bt(qe);pt!=null&&pt!==Le.current.value&&ne(pt)}obe(Xe,{onPanSessionStart(qe){const pt=Le.current;pt.isInteractive&&($(!0),Ue(),ye(qe),I==null||I(pt.value))},onPanSessionEnd(){const qe=Le.current;qe.isInteractive&&($(!1),N==null||N(qe.value))},onPan(qe){Le.current.isInteractive&&ye(qe)}});const je=S.useCallback((qe={},pt=null)=>({...qe,...D,ref:Rn(pt,Xe),tabIndex:-1,"aria-disabled":bC(p),"data-focused":Eg(V),style:{...qe.style,...se}}),[D,p,V,se]),vt=S.useCallback((qe={},pt=null)=>({...qe,ref:Rn(pt,Se),id:Ae,"data-disabled":Eg(p),style:{...qe.style,...Ie}}),[p,Ae,Ie]),Mt=S.useCallback((qe={},pt=null)=>({...qe,ref:pt,style:{...qe.style,...He}}),[He]),Me=S.useCallback((qe={},pt=null)=>({...qe,ref:Rn(pt,Je),role:"slider",tabIndex:Q?0:void 0,id:Be,"data-active":Eg(z),"aria-valuetext":mt,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":ee,"aria-orientation":u,"aria-disabled":bC(p),"aria-readonly":bC(m),"aria-label":k,"aria-labelledby":k?void 0:T,style:{...qe.style,...on(0)},onKeyDown:xC(qe.onKeyDown,jt),onFocus:xC(qe.onFocus,()=>X(!0)),onBlur:xC(qe.onBlur,()=>X(!1))}),[Q,Be,z,mt,n,r,ee,u,p,m,k,T,on,jt]),Ct=S.useCallback((qe,pt=null)=>{const zr=!(qe.valuer),rr=ee>=qe.value,Bn=GA(qe.value,n,r),li={position:"absolute",pointerEvents:"none",...hbe({orientation:u,vertical:{bottom:B?`${100-Bn}%`:`${Bn}%`},horizontal:{left:B?`${100-Bn}%`:`${Bn}%`}})};return{...qe,ref:pt,role:"presentation","aria-hidden":!0,"data-disabled":Eg(p),"data-invalid":Eg(!zr),"data-highlighted":Eg(rr),style:{...qe.style,...li}}},[p,B,r,n,u,ee]),zt=S.useCallback((qe={},pt=null)=>({...qe,ref:pt,type:"hidden",value:ee,name:L}),[L,ee]);return{state:{value:ee,isFocused:V,isDragging:z},actions:at,getRootProps:je,getTrackProps:vt,getInnerTrackProps:Mt,getThumbProps:Me,getMarkerProps:Ct,getInputProps:zt}}function hbe(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function pbe(e,t){return t"}),[mbe,Vw]=Pn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),QH=Ze((e,t)=>{const n={orientation:"horizontal",...e},r=Yi("Slider",n),i=fr(n),{direction:o}=Zy();i.direction=o;const{getInputProps:a,getRootProps:s,...l}=fbe(i),u=s(),d=a({},t);return g.jsx(gbe,{value:l,children:g.jsx(mbe,{value:r,children:g.jsxs(Ne.div,{...u,className:f2("chakra-slider",n.className),__css:r.container,children:[n.children,g.jsx("input",{...d})]})})})});QH.displayName="Slider";var JH=Ze((e,t)=>{const{getThumbProps:n}=Uw(),r=Vw(),i=n(e,t);return g.jsx(Ne.div,{...i,className:f2("chakra-slider__thumb",e.className),__css:r.thumb})});JH.displayName="SliderThumb";var eW=Ze((e,t)=>{const{getTrackProps:n}=Uw(),r=Vw(),i=n(e,t);return g.jsx(Ne.div,{...i,className:f2("chakra-slider__track",e.className),__css:r.track})});eW.displayName="SliderTrack";var tW=Ze((e,t)=>{const{getInnerTrackProps:n}=Uw(),r=Vw(),i=n(e,t);return g.jsx(Ne.div,{...i,className:f2("chakra-slider__filled-track",e.className),__css:r.filledTrack})});tW.displayName="SliderFilledTrack";var tk=Ze((e,t)=>{const{getMarkerProps:n}=Uw(),r=Vw(),i=n(e,t);return g.jsx(Ne.div,{...i,className:f2("chakra-slider__marker",e.className),__css:r.mark})});tk.displayName="SliderMark";var K8=Ze(function(t,n){const r=Yi("Switch",t),{spacing:i="0.5rem",children:o,...a}=fr(t),{state:s,getInputProps:l,getCheckboxProps:u,getRootProps:d,getLabelProps:p}=cz(a),m=S.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),y=S.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),b=S.useMemo(()=>({userSelect:"none",marginStart:i,...r.label}),[i,r.label]);return g.jsxs(Ne.label,{...d(),className:xt("chakra-switch",t.className),__css:m,children:[g.jsx("input",{className:"chakra-switch__input",...l({},n)}),g.jsx(Ne.span,{...u(),className:"chakra-switch__track",__css:y,children:g.jsx(Ne.span,{__css:r.thumb,className:"chakra-switch__thumb","data-checked":Bt(s.isChecked),"data-hover":Bt(s.isHovered)})}),o&&g.jsx(Ne.span,{className:"chakra-switch__label",...p(),__css:b,children:o})]})});K8.displayName="Switch";var[vbe,yNe,ybe,bbe]=a8();function xbe(e){var t;const{defaultIndex:n,onChange:r,index:i,isManual:o,isLazy:a,lazyBehavior:s="unmount",orientation:l="horizontal",direction:u="ltr",...d}=e,[p,m]=S.useState(n??0),[y,b]=l8({defaultValue:n??0,value:i,onChange:r});S.useEffect(()=>{i!=null&&m(i)},[i]);const w=ybe(),E=S.useId();return{id:`tabs-${(t=e.id)!=null?t:E}`,selectedIndex:y,focusedIndex:p,setSelectedIndex:b,setFocusedIndex:m,isManual:o,isLazy:a,lazyBehavior:s,orientation:l,descendants:w,direction:u,htmlProps:d}}var[Sbe,Y8]=Pn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function wbe(e){const{isDisabled:t,isFocusable:n,...r}=e,{setSelectedIndex:i,isManual:o,id:a,setFocusedIndex:s,selectedIndex:l}=Y8(),{index:u,register:d}=bbe({disabled:t&&!n}),p=u===l,m=()=>{i(u)},y=()=>{s(u),!o&&!(t&&n)&&i(u)},b=sH({...r,ref:Rn(d,e.ref),isDisabled:t,isFocusable:n,onClick:ht(e.onClick,m)}),w="button";return{...b,id:nW(a,u),role:"tab",tabIndex:p?0:-1,type:w,"aria-selected":p,"aria-controls":rW(a,u),onFocus:t?void 0:ht(e.onFocus,y)}}var[Cbe,_be]=Pn({});function kbe(e){const t=Y8(),{id:n,selectedIndex:r}=t,o=d8(e.children).map((a,s)=>S.createElement(Cbe,{key:s,value:{isSelected:s===r,id:rW(n,s),tabId:nW(n,s),selectedIndex:r}},a));return{...e,children:o}}function Ebe(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:i}=Y8(),{isSelected:o,id:a,tabId:s}=_be(),l=S.useRef(!1);o&&(l.current=!0);const u=$8({wasSelected:l.current,isSelected:o,enabled:r,mode:i});return{tabIndex:0,...n,children:u?t:null,role:"tabpanel","aria-labelledby":s,hidden:!o,id:a}}function nW(e,t){return`${e}--tab-${t}`}function rW(e,t){return`${e}--tabpanel-${t}`}var[Pbe,X8]=Pn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),iW=Ze(function(t,n){const r=Yi("Tabs",t),{children:i,className:o,...a}=fr(t),{htmlProps:s,descendants:l,...u}=xbe(a),d=S.useMemo(()=>u,[u]),{isFitted:p,...m}=s;return g.jsx(vbe,{value:l,children:g.jsx(Sbe,{value:d,children:g.jsx(Pbe,{value:r,children:g.jsx(Ne.div,{className:xt("chakra-tabs",o),ref:n,...m,__css:r.root,children:i})})})})});iW.displayName="Tabs";var oW=Ze(function(t,n){const r=Ebe({...t,ref:n}),i=X8();return g.jsx(Ne.div,{outline:"0",...r,className:xt("chakra-tabs__tab-panel",t.className),__css:i.tabpanel})});oW.displayName="TabPanel";var aW=Ze(function(t,n){const r=kbe(t),i=X8();return g.jsx(Ne.div,{...r,width:"100%",ref:n,className:xt("chakra-tabs__tab-panels",t.className),__css:i.tabpanels})});aW.displayName="TabPanels";var sW=Ze(function(t,n){const r=X8(),i=wbe({...t,ref:n}),o={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return g.jsx(Ne.button,{...i,className:xt("chakra-tabs__tab",t.className),__css:o})});sW.displayName="Tab";function Tbe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var Mbe=["h","minH","height","minHeight"],Z8=Ze((e,t)=>{const n=au("Textarea",e),{className:r,rows:i,...o}=fr(e),a=f8(o),s=i?Tbe(n,Mbe):n;return g.jsx(Ne.textarea,{ref:t,rows:i,...a,className:xt("chakra-textarea",r),__css:s})});Z8.displayName="Textarea";var Lbe={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]}}}},f3=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},nk=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function Abe(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:i,closeOnScroll:o,closeOnPointerDown:a=i,closeOnEsc:s=!0,onOpen:l,onClose:u,placement:d,id:p,isOpen:m,defaultIsOpen:y,arrowSize:b=10,arrowShadowColor:w,arrowPadding:E,modifiers:_,isDisabled:k,gutter:T,offset:L,direction:O,...D}=e,{isOpen:I,onOpen:N,onClose:W}=N8({isOpen:m,defaultIsOpen:y,onOpen:l,onClose:u}),{referenceRef:B,getPopperProps:K,getArrowInnerProps:ne,getArrowProps:z}=j8({enabled:I,placement:d,arrowPadding:E,modifiers:_,gutter:T,offset:L,direction:O}),$=S.useId(),X=`tooltip-${p??$}`,Q=S.useRef(null),G=S.useRef(),Y=S.useCallback(()=>{G.current&&(clearTimeout(G.current),G.current=void 0)},[]),ee=S.useRef(),fe=S.useCallback(()=>{ee.current&&(clearTimeout(ee.current),ee.current=void 0)},[]),_e=S.useCallback(()=>{fe(),W()},[W,fe]),we=Obe(Q,_e),xe=S.useCallback(()=>{if(!k&&!G.current){we();const Ae=nk(Q);G.current=Ae.setTimeout(N,t)}},[we,k,N,t]),Le=S.useCallback(()=>{Y();const Ae=nk(Q);ee.current=Ae.setTimeout(_e,n)},[n,_e,Y]),Se=S.useCallback(()=>{I&&r&&Le()},[r,Le,I]),Je=S.useCallback(()=>{I&&a&&Le()},[a,Le,I]),Xe=S.useCallback(Ae=>{I&&Ae.key==="Escape"&&Le()},[I,Le]);Dh(()=>f3(Q),"keydown",s?Xe:void 0),Dh(()=>f3(Q),"scroll",()=>{I&&o&&_e()}),S.useEffect(()=>{k&&(Y(),I&&W())},[k,I,W,Y]),S.useEffect(()=>()=>{Y(),fe()},[Y,fe]),Dh(()=>Q.current,"pointerleave",Le);const tt=S.useCallback((Ae={},bt=null)=>({...Ae,ref:Rn(Q,bt,B),onPointerEnter:ht(Ae.onPointerEnter,at=>{at.pointerType!=="touch"&&xe()}),onClick:ht(Ae.onClick,Se),onPointerDown:ht(Ae.onPointerDown,Je),onFocus:ht(Ae.onFocus,xe),onBlur:ht(Ae.onBlur,Le),"aria-describedby":I?X:void 0}),[xe,Le,Je,I,X,Se,B]),yt=S.useCallback((Ae={},bt=null)=>K({...Ae,style:{...Ae.style,[ii.arrowSize.var]:b?`${b}px`:void 0,[ii.arrowShadowColor.var]:w}},bt),[K,b,w]),Be=S.useCallback((Ae={},bt=null)=>{const Fe={...Ae.style,position:"relative",transformOrigin:ii.transformOrigin.varRef};return{ref:bt,...D,...Ae,id:X,role:"tooltip",style:Fe}},[D,X]);return{isOpen:I,show:xe,hide:Le,getTriggerProps:tt,getTooltipProps:Be,getTooltipPositionerProps:yt,getArrowProps:z,getArrowInnerProps:ne}}var CC="chakra-ui:close-tooltip";function Obe(e,t){return S.useEffect(()=>{const n=f3(e);return n.addEventListener(CC,t),()=>n.removeEventListener(CC,t)},[t,e]),()=>{const n=f3(e),r=nk(e);n.dispatchEvent(new r.CustomEvent(CC))}}function Rbe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Ibe(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var Dbe=Ne(su.div),si=Ze((e,t)=>{var n,r;const i=au("Tooltip",e),o=fr(e),a=Zy(),{children:s,label:l,shouldWrapChildren:u,"aria-label":d,hasArrow:p,bg:m,portalProps:y,background:b,backgroundColor:w,bgColor:E,motionProps:_,...k}=o,T=(r=(n=b??w)!=null?n:m)!=null?r:E;if(T){i.bg=T;const K=Xre(a,"colors",T);i[ii.arrowBg.var]=K}const L=Abe({...k,direction:a.direction}),O=typeof s=="string"||u;let D;if(O)D=g.jsx(Ne.span,{display:"inline-block",tabIndex:0,...L.getTriggerProps(),children:s});else{const K=S.Children.only(s);D=S.cloneElement(K,L.getTriggerProps(K.props,K.ref))}const I=!!d,N=L.getTooltipProps({},t),W=I?Rbe(N,["role","id"]):N,B=Ibe(N,["role","id"]);return l?g.jsxs(g.Fragment,{children:[D,g.jsx(rp,{children:L.isOpen&&g.jsx(c0,{...y,children:g.jsx(Ne.div,{...L.getTooltipPositionerProps(),__css:{zIndex:i.zIndex,pointerEvents:"none"},children:g.jsxs(Dbe,{variants:Lbe,initial:"exit",animate:"enter",exit:"exit",..._,...W,__css:i,children:[l,I&&g.jsx(Ne.span,{srOnly:!0,...B,children:d}),p&&g.jsx(Ne.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:g.jsx(Ne.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:i.bg}})})]})})})})]}):g.jsx(g.Fragment,{children:s})});si.displayName="Tooltip";var rk={},kO=Xs;rk.createRoot=kO.createRoot,rk.hydrateRoot=kO.hydrateRoot;var ik={},jbe={get exports(){return ik},set exports(e){ik=e}},lW={};/** - * @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 Qm=S;function Nbe(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var $be=typeof Object.is=="function"?Object.is:Nbe,Fbe=Qm.useState,Bbe=Qm.useEffect,zbe=Qm.useLayoutEffect,Hbe=Qm.useDebugValue;function Wbe(e,t){var n=t(),r=Fbe({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return zbe(function(){i.value=n,i.getSnapshot=t,_C(i)&&o({inst:i})},[e,n,t]),Bbe(function(){return _C(i)&&o({inst:i}),e(function(){_C(i)&&o({inst:i})})},[e]),Hbe(n),n}function _C(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!$be(e,n)}catch{return!0}}function Ube(e,t){return t()}var Vbe=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Ube:Wbe;lW.useSyncExternalStore=Qm.useSyncExternalStore!==void 0?Qm.useSyncExternalStore:Vbe;(function(e){e.exports=lW})(jbe);var ok={},Gbe={get exports(){return ok},set exports(e){ok=e}},uW={};/** - * @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 Gw=S,qbe=ik;function Kbe(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Ybe=typeof Object.is=="function"?Object.is:Kbe,Xbe=qbe.useSyncExternalStore,Zbe=Gw.useRef,Qbe=Gw.useEffect,Jbe=Gw.useMemo,exe=Gw.useDebugValue;uW.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=Zbe(null);if(o.current===null){var a={hasValue:!1,value:null};o.current=a}else a=o.current;o=Jbe(function(){function l(y){if(!u){if(u=!0,d=y,y=r(y),i!==void 0&&a.hasValue){var b=a.value;if(i(b,y))return p=b}return p=y}if(b=p,Ybe(d,y))return b;var w=r(y);return i!==void 0&&i(b,w)?b:(d=y,p=w)}var u=!1,d,p,m=n===void 0?null:n;return[function(){return l(t())},m===null?void 0:function(){return l(m())}]},[t,n,r,i]);var s=Xbe(e,o[0],o[1]);return Qbe(function(){a.hasValue=!0,a.value=s},[s]),exe(s),s};(function(e){e.exports=uW})(Gbe);function txe(e){e()}let cW=txe;const nxe=e=>cW=e,rxe=()=>cW,Zd=S.createContext(null);function dW(){return S.useContext(Zd)}const ixe=()=>{throw new Error("uSES not initialized!")};let fW=ixe;const oxe=e=>{fW=e},axe=(e,t)=>e===t;function sxe(e=Zd){const t=e===Zd?dW:()=>S.useContext(e);return function(r,i=axe){const{store:o,subscription:a,getServerState:s}=t(),l=fW(a.addNestedSub,o.getState,s||o.getState,r,i);return S.useDebugValue(l),l}}const lxe=sxe();var EO={},uxe={get exports(){return EO},set exports(e){EO=e}},Nn={};/** - * @license React - * react-is.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 Q8=Symbol.for("react.element"),J8=Symbol.for("react.portal"),qw=Symbol.for("react.fragment"),Kw=Symbol.for("react.strict_mode"),Yw=Symbol.for("react.profiler"),Xw=Symbol.for("react.provider"),Zw=Symbol.for("react.context"),cxe=Symbol.for("react.server_context"),Qw=Symbol.for("react.forward_ref"),Jw=Symbol.for("react.suspense"),e4=Symbol.for("react.suspense_list"),t4=Symbol.for("react.memo"),n4=Symbol.for("react.lazy"),dxe=Symbol.for("react.offscreen"),hW;hW=Symbol.for("react.module.reference");function ps(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case Q8:switch(e=e.type,e){case qw:case Yw:case Kw:case Jw:case e4:return e;default:switch(e=e&&e.$$typeof,e){case cxe:case Zw:case Qw:case n4:case t4:case Xw:return e;default:return t}}case J8:return t}}}Nn.ContextConsumer=Zw;Nn.ContextProvider=Xw;Nn.Element=Q8;Nn.ForwardRef=Qw;Nn.Fragment=qw;Nn.Lazy=n4;Nn.Memo=t4;Nn.Portal=J8;Nn.Profiler=Yw;Nn.StrictMode=Kw;Nn.Suspense=Jw;Nn.SuspenseList=e4;Nn.isAsyncMode=function(){return!1};Nn.isConcurrentMode=function(){return!1};Nn.isContextConsumer=function(e){return ps(e)===Zw};Nn.isContextProvider=function(e){return ps(e)===Xw};Nn.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===Q8};Nn.isForwardRef=function(e){return ps(e)===Qw};Nn.isFragment=function(e){return ps(e)===qw};Nn.isLazy=function(e){return ps(e)===n4};Nn.isMemo=function(e){return ps(e)===t4};Nn.isPortal=function(e){return ps(e)===J8};Nn.isProfiler=function(e){return ps(e)===Yw};Nn.isStrictMode=function(e){return ps(e)===Kw};Nn.isSuspense=function(e){return ps(e)===Jw};Nn.isSuspenseList=function(e){return ps(e)===e4};Nn.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===qw||e===Yw||e===Kw||e===Jw||e===e4||e===dxe||typeof e=="object"&&e!==null&&(e.$$typeof===n4||e.$$typeof===t4||e.$$typeof===Xw||e.$$typeof===Zw||e.$$typeof===Qw||e.$$typeof===hW||e.getModuleId!==void 0)};Nn.typeOf=ps;(function(e){e.exports=Nn})(uxe);function fxe(){const e=rxe();let t=null,n=null;return{clear(){t=null,n=null},notify(){e(()=>{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 PO={notify(){},get:()=>[]};function hxe(e,t){let n,r=PO;function i(p){return l(),r.subscribe(p)}function o(){r.notify()}function a(){d.onStateChange&&d.onStateChange()}function s(){return Boolean(n)}function l(){n||(n=t?t.addNestedSub(a):e.subscribe(a),r=fxe())}function u(){n&&(n(),n=void 0,r.clear(),r=PO)}const d={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:a,isSubscribed:s,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return d}const pxe=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",gxe=pxe?S.useLayoutEffect:S.useEffect;function mxe({store:e,context:t,children:n,serverState:r}){const i=S.useMemo(()=>{const s=hxe(e);return{store:e,subscription:s,getServerState:r?()=>r:void 0}},[e,r]),o=S.useMemo(()=>e.getState(),[e]);gxe(()=>{const{subscription:s}=i;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),o!==e.getState()&&s.notifyNestedSubs(),()=>{s.tryUnsubscribe(),s.onStateChange=void 0}},[i,o]);const a=t||Zd;return Ke.createElement(a.Provider,{value:i},n)}function pW(e=Zd){const t=e===Zd?dW:()=>S.useContext(e);return function(){const{store:r}=t();return r}}const vxe=pW();function yxe(e=Zd){const t=e===Zd?vxe:pW(e);return function(){return t().dispatch}}const bxe=yxe();oxe(ok.useSyncExternalStoreWithSelector);nxe(Xs.unstable_batchedUpdates);function iS(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?iS=function(n){return typeof n}:iS=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},iS(e)}function xxe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function TO(e,t){for(var n=0;n1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:eE(e)?2:tE(e)?3:0}function Pm(e,t){return v0(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function _xe(e,t){return v0(e)===2?e.get(t):e[t]}function mW(e,t,n){var r=v0(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function vW(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function eE(e){return Lxe&&e instanceof Map}function tE(e){return Axe&&e instanceof Set}function fh(e){return e.o||e.t}function nE(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=bW(e);delete t[vr];for(var n=Tm(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=kxe),Object.freeze(e),t&&Xh(e,function(n,r){return rE(r,!0)},!0)),e}function kxe(){Vs(2)}function iE(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Ql(e){var t=dk[e];return t||Vs(18,e),t}function Exe(e,t){dk[e]||(dk[e]=t)}function lk(){return Ry}function kC(e,t){t&&(Ql("Patches"),e.u=[],e.s=[],e.v=t)}function h3(e){uk(e),e.p.forEach(Pxe),e.p=null}function uk(e){e===Ry&&(Ry=e.l)}function MO(e){return Ry={p:[],l:Ry,h:e,m:!0,_:0}}function Pxe(e){var t=e[vr];t.i===0||t.i===1?t.j():t.O=!0}function EC(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.g||Ql("ES5").S(t,e,r),r?(n[vr].P&&(h3(t),Vs(4)),ac(e)&&(e=p3(t,e),t.l||g3(t,e)),t.u&&Ql("Patches").M(n[vr].t,e,t.u,t.s)):e=p3(t,n,[]),h3(t),t.u&&t.v(t.u,t.s),e!==yW?e:void 0}function p3(e,t,n){if(iE(t))return t;var r=t[vr];if(!r)return Xh(t,function(s,l){return LO(e,r,t,s,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return g3(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=nE(r.k):r.o,o=i,a=!1;r.i===3&&(o=new Set(i),i.clear(),a=!0),Xh(o,function(s,l){return LO(e,r,i,s,l,n,a)}),g3(e,i,!1),n&&e.u&&Ql("Patches").N(r,n,e.u,e.s)}return r.o}function LO(e,t,n,r,i,o,a){if(Qd(i)){var s=p3(e,i,o&&t&&t.i!==3&&!Pm(t.R,r)?o.concat(r):void 0);if(mW(n,r,s),!Qd(s))return;e.m=!1}else a&&n.add(i);if(ac(i)&&!iE(i)){if(!e.h.D&&e._<1)return;p3(e,i),t&&t.A.l||g3(e,i)}}function g3(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&rE(t,n)}function PC(e,t){var n=e[vr];return(n?fh(n):e)[t]}function AO(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 xd(e){e.P||(e.P=!0,e.l&&xd(e.l))}function TC(e){e.o||(e.o=nE(e.t))}function ck(e,t,n){var r=eE(t)?Ql("MapSet").F(t,n):tE(t)?Ql("MapSet").T(t,n):e.g?function(i,o){var a=Array.isArray(i),s={i:a?1:0,A:o?o.A:lk(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=s,u=Iy;a&&(l=[s],u=h1);var d=Proxy.revocable(l,u),p=d.revoke,m=d.proxy;return s.k=m,s.j=p,m}(t,n):Ql("ES5").J(t,n);return(n?n.A:lk()).p.push(r),r}function Txe(e){return Qd(e)||Vs(22,e),function t(n){if(!ac(n))return n;var r,i=n[vr],o=v0(n);if(i){if(!i.P&&(i.i<4||!Ql("ES5").K(i)))return i.t;i.I=!0,r=OO(n,o),i.I=!1}else r=OO(n,o);return Xh(r,function(a,s){i&&_xe(i.t,a)===s||mW(r,a,t(s))}),o===3?new Set(r):r}(e)}function OO(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return nE(e)}function Mxe(){function e(o,a){var s=i[o];return s?s.enumerable=a:i[o]=s={configurable:!0,enumerable:a,get:function(){var l=this[vr];return Iy.get(l,o)},set:function(l){var u=this[vr];Iy.set(u,o,l)}},s}function t(o){for(var a=o.length-1;a>=0;a--){var s=o[a][vr];if(!s.P)switch(s.i){case 5:r(s)&&xd(s);break;case 4:n(s)&&xd(s)}}}function n(o){for(var a=o.t,s=o.k,l=Tm(s),u=l.length-1;u>=0;u--){var d=l[u];if(d!==vr){var p=a[d];if(p===void 0&&!Pm(a,d))return!0;var m=s[d],y=m&&m[vr];if(y?y.t!==p:!vW(m,p))return!0}}var b=!!a[vr];return l.length!==Tm(a).length+(b?0:1)}function r(o){var a=o.k;if(a.length!==o.t.length)return!0;var s=Object.getOwnPropertyDescriptor(a,a.length-1);if(s&&!s.get)return!0;for(var l=0;l1?_-1:0),T=1;T<_;T++)k[T-1]=arguments[T];return l.produce(w,function(L){var O;return(O=o).call.apply(O,[E,L].concat(k))})}}var u;if(typeof o!="function"&&Vs(6),a!==void 0&&typeof a!="function"&&Vs(7),ac(i)){var d=MO(r),p=ck(r,i,void 0),m=!0;try{u=o(p),m=!1}finally{m?h3(d):uk(d)}return typeof Promise<"u"&&u instanceof Promise?u.then(function(w){return kC(d,a),EC(w,d)},function(w){throw h3(d),w}):(kC(d,a),EC(u,d))}if(!i||typeof i!="object"){if((u=o(i))===void 0&&(u=i),u===yW&&(u=void 0),r.D&&rE(u,!0),a){var y=[],b=[];Ql("Patches").M(i,u,y,b),a(y,b)}return u}Vs(21,i)},this.produceWithPatches=function(i,o){if(typeof i=="function")return function(u){for(var d=arguments.length,p=Array(d>1?d-1:0),m=1;m=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 a=Ql("Patches").$;return Qd(n)?a(n,r):this.produce(n,function(s){return a(s,r)})},e}(),Oa=new Rxe,xW=Oa.produce;Oa.produceWithPatches.bind(Oa);Oa.setAutoFreeze.bind(Oa);Oa.setUseProxies.bind(Oa);Oa.applyPatches.bind(Oa);Oa.createDraft.bind(Oa);Oa.finishDraft.bind(Oa);function jO(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 NO(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(ro(1));return n(aE)(e,t)}if(typeof e!="function")throw new Error(ro(2));var i=e,o=t,a=[],s=a,l=!1;function u(){s===a&&(s=a.slice())}function d(){if(l)throw new Error(ro(3));return o}function p(w){if(typeof w!="function")throw new Error(ro(4));if(l)throw new Error(ro(5));var E=!0;return u(),s.push(w),function(){if(E){if(l)throw new Error(ro(6));E=!1,u();var k=s.indexOf(w);s.splice(k,1),a=null}}}function m(w){if(!Ixe(w))throw new Error(ro(7));if(typeof w.type>"u")throw new Error(ro(8));if(l)throw new Error(ro(9));try{l=!0,o=i(o,w)}finally{l=!1}for(var E=a=s,_=0;_"u")throw new Error(ro(12));if(typeof n(void 0,{type:m3.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(ro(13))})}function SW(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(ro(14));p[y]=E,d=d||E!==w}return d=d||o.length!==Object.keys(l).length,d?p:l}}function v3(){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 y3}function i(s,l){r(s)===y3&&(n.unshift({key:s,value:l}),n.length>e&&n.pop())}function o(){return n}function a(){n=[]}return{get:r,put:i,getEntries:o,clear:a}}var Fxe=function(t,n){return t===n};function Bxe(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]{Object.keys(D).forEach(function(I){T(I)&&d[I]!==D[I]&&m.indexOf(I)===-1&&m.push(I)}),Object.keys(d).forEach(function(I){D[I]===void 0&&T(I)&&m.indexOf(I)===-1&&d[I]!==void 0&&m.push(I)}),y===null&&(y=setInterval(_,i)),d=D},o)}function _(){if(m.length===0){y&&clearInterval(y),y=null;return}var D=m.shift(),I=r.reduce(function(N,W){return W.in(N,D,d)},d[D]);if(I!==void 0)try{p[D]=l(I)}catch(N){console.error("redux-persist/createPersistoid: error serializing state",N)}else delete p[D];m.length===0&&k()}function k(){Object.keys(p).forEach(function(D){d[D]===void 0&&delete p[D]}),b=s.setItem(a,l(p)).catch(L)}function T(D){return!(n&&n.indexOf(D)===-1&&D!=="_persist"||t&&t.indexOf(D)!==-1)}function L(D){u&&u(D)}var O=function(){for(;m.length!==0;)_();return b||Promise.resolve()};return{update:E,flush:O}}function xSe(e){return JSON.stringify(e)}function SSe(e){var t=e.transforms||[],n="".concat(e.keyPrefix!==void 0?e.keyPrefix:lE).concat(e.key),r=e.storage;e.debug;var i;return e.deserialize===!1?i=function(a){return a}:typeof e.deserialize=="function"?i=e.deserialize:i=wSe,r.getItem(n).then(function(o){if(o)try{var a={},s=i(o);return Object.keys(s).forEach(function(l){a[l]=t.reduceRight(function(u,d){return d.out(u,l,s)},i(s[l]))}),a}catch(l){throw l}else return})}function wSe(e){return JSON.parse(e)}function CSe(e){var t=e.storage,n="".concat(e.keyPrefix!==void 0?e.keyPrefix:lE).concat(e.key);return t.removeItem(n,_Se)}function _Se(e){}function VO(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 Ou(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function PSe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var TSe=5e3;function MSe(e,t){var n=e.version!==void 0?e.version:gSe;e.debug;var r=e.stateReconciler===void 0?ySe:e.stateReconciler,i=e.getStoredState||SSe,o=e.timeout!==void 0?e.timeout:TSe,a=null,s=!1,l=!0,u=function(p){return p._persist.rehydrated&&a&&!l&&a.update(p),p};return function(d,p){var m=d||{},y=m._persist,b=ESe(m,["_persist"]),w=b;if(p.type===PW){var E=!1,_=function(N,W){E||(p.rehydrate(e.key,N,W),E=!0)};if(o&&setTimeout(function(){!E&&_(void 0,new Error('redux-persist: persist timed out for persist key "'.concat(e.key,'"')))},o),l=!1,a||(a=bSe(e)),y)return Ou({},t(w,p),{_persist:y});if(typeof p.rehydrate!="function"||typeof p.register!="function")throw new Error("redux-persist: either rehydrate or register is not a function on the PERSIST action. This can happen if the action is being replayed. This is an unexplored use case, please open an issue and we will figure out a resolution.");return p.register(e.key),i(e).then(function(I){var N=e.migrate||function(W,B){return Promise.resolve(W)};N(I,n).then(function(W){_(W)},function(W){_(void 0,W)})},function(I){_(void 0,I)}),Ou({},t(w,p),{_persist:{version:n,rehydrated:!1}})}else{if(p.type===TW)return s=!0,p.result(CSe(e)),Ou({},t(w,p),{_persist:y});if(p.type===kW)return p.result(a&&a.flush()),Ou({},t(w,p),{_persist:y});if(p.type===EW)l=!0;else if(p.type===uE){if(s)return Ou({},w,{_persist:Ou({},y,{rehydrated:!0})});if(p.key===e.key){var k=t(w,p),T=p.payload,L=r!==!1&&T!==void 0?r(T,d,k,e):k,O=Ou({},L,{_persist:Ou({},y,{rehydrated:!0})});return u(O)}}}if(!y)return t(d,p);var D=t(w,p);return D===w?d:u(Ou({},D,{_persist:y}))}}function GO(e){return OSe(e)||ASe(e)||LSe()}function LSe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function ASe(e){if(Symbol.iterator in Object(e)||Object.prototype.toString.call(e)==="[object Arguments]")return Array.from(e)}function OSe(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0&&arguments[0]!==void 0?arguments[0]:LW,n=arguments.length>1?arguments[1]:void 0;switch(n.type){case MW:return hk({},t,{registry:[].concat(GO(t.registry),[n.key])});case uE:var r=t.registry.indexOf(n.key),i=GO(t.registry);return i.splice(r,1),hk({},t,{registry:i,bootstrapped:i.length===0});default:return t}};function DSe(e,t,n){var r=n||!1,i=aE(ISe,LW,t&&t.enhancer?t.enhancer:void 0),o=function(u){i.dispatch({type:MW,key:u})},a=function(u,d,p){var m={type:uE,payload:d,err:p,key:u};e.dispatch(m),i.dispatch(m),r&&s.getState().bootstrapped&&(r(),r=!1)},s=hk({},i,{purge:function(){var u=[];return e.dispatch({type:TW,result:function(p){u.push(p)}}),Promise.all(u)},flush:function(){var u=[];return e.dispatch({type:kW,result:function(p){u.push(p)}}),Promise.all(u)},pause:function(){e.dispatch({type:EW})},persist:function(){e.dispatch({type:PW,register:o,rehydrate:a})}});return t&&t.manualPersist||s.persist(),s}var cE={},dE={};dE.__esModule=!0;dE.default=$Se;function lS(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?lS=function(n){return typeof n}:lS=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},lS(e)}function OC(){}var jSe={getItem:OC,setItem:OC,removeItem:OC};function NSe(e){if((typeof self>"u"?"undefined":lS(self))!=="object"||!(e in self))return!1;try{var t=self[e],n="redux-persist ".concat(e," test");t.setItem(n,"test"),t.getItem(n),t.removeItem(n)}catch{return!1}return!0}function $Se(e){var t="".concat(e,"Storage");return NSe(t)?self[t]:jSe}cE.__esModule=!0;cE.default=zSe;var FSe=BSe(dE);function BSe(e){return e&&e.__esModule?e:{default:e}}function zSe(e){var t=(0,FSe.default)(e);return{getItem:function(r){return new Promise(function(i,o){i(t.getItem(r))})},setItem:function(r,i){return new Promise(function(o,a){o(t.setItem(r,i))})},removeItem:function(r){return new Promise(function(i,o){i(t.removeItem(r))})}}}var AW=void 0,HSe=WSe(cE);function WSe(e){return e&&e.__esModule?e:{default:e}}var USe=(0,HSe.default)("local");AW=USe;var OW={},RW={},Zh={};Object.defineProperty(Zh,"__esModule",{value:!0});Zh.PLACEHOLDER_UNDEFINED=Zh.PACKAGE_NAME=void 0;Zh.PACKAGE_NAME="redux-deep-persist";Zh.PLACEHOLDER_UNDEFINED="@@placeholder/undefined";var fE={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigType=void 0,function(t){t[t.WHITELIST=0]="WHITELIST",t[t.BLACKLIST=1]="BLACKLIST"}(e.ConfigType||(e.ConfigType={}))})(fE);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.getRootKeysGroup=e.throwError=e.configValidator=e.transformsValidator=e.singleTransformValidator=e.findDuplicatesAndSubsets=e.unique=e.preserveUndefined=e.mergeDeep=e.dissocPath=e.assocPath=e.path=e.difference=e.cloneDeep=e._cloneDeep=e.getCircularPath=e.isEmpty=e.isDate=e.isString=e.isIntegerString=e.isPlainObject=e.isArray=e.isLength=e.isObjectLike=void 0;const t=Zh,n=fE,r=function(z){return typeof z=="object"&&z!==null};e.isObjectLike=r;const i=function(z){return typeof z=="number"&&z>-1&&z%1==0&&z<=Number.MAX_SAFE_INTEGER};e.isLength=i,e.isArray=Array.isArray||function(z){return(0,e.isLength)(z&&z.length)&&Object.prototype.toString.call(z)==="[object Array]"};const o=function(z){return!!z&&typeof z=="object"&&!(0,e.isArray)(z)};e.isPlainObject=o;const a=function(z){return String(~~z)===z&&Number(z)>=0};e.isIntegerString=a;const s=function(z){return Object.prototype.toString.call(z)==="[object String]"};e.isString=s;const l=function(z){return Object.prototype.toString.call(z)==="[object Date]"};e.isDate=l;const u=function(z){return Object.keys(z).length===0};e.isEmpty=u;const d=Object.prototype.hasOwnProperty,p=function(z,$,V){V||(V=new Set([z])),$||($="");for(const X in z){const Q=$?`${$}.${X}`:X,G=z[X];if((0,e.isObjectLike)(G))return V.has(G)?`${$}.${X}:`:(V.add(G),(0,e.getCircularPath)(G,Q,V))}return null};e.getCircularPath=p;const m=function(z){if(!(0,e.isObjectLike)(z))return z;if((0,e.isDate)(z))return new Date(+z);const $=(0,e.isArray)(z)?[]:{};for(const V in z){const X=z[V];$[V]=(0,e._cloneDeep)(X)}return $};e._cloneDeep=m;const y=function(z){const $=(0,e.getCircularPath)(z);if($)throw new Error(`${t.PACKAGE_NAME}: circular dependency detected under the path '${$}' of object you're trying to persist: ${z}`);return(0,e._cloneDeep)(z)};e.cloneDeep=y;const b=function(z,$){if(z===$)return{};if(!(0,e.isObjectLike)(z)||!(0,e.isObjectLike)($))return $;const V=(0,e.cloneDeep)(z),X=(0,e.cloneDeep)($),Q=Object.keys(V).reduce((Y,ee)=>(d.call(X,ee)||(Y[ee]=void 0),Y),{});if((0,e.isDate)(V)||(0,e.isDate)(X))return V.valueOf()===X.valueOf()?{}:X;const G=Object.keys(X).reduce((Y,ee)=>{if(!d.call(V,ee))return Y[ee]=X[ee],Y;const fe=(0,e.difference)(V[ee],X[ee]);return(0,e.isObjectLike)(fe)&&(0,e.isEmpty)(fe)&&!(0,e.isDate)(fe)?(0,e.isArray)(V)&&!(0,e.isArray)(X)||!(0,e.isArray)(V)&&(0,e.isArray)(X)?X:Y:(Y[ee]=fe,Y)},Q);return delete G._persist,G};e.difference=b;const w=function(z,$){return $.reduce((V,X)=>{if(V){const Q=parseInt(X,10),G=(0,e.isIntegerString)(X)&&Q<0?V.length+Q:X;return(0,e.isString)(V)?V.charAt(G):V[G]}},z)};e.path=w;const E=function(z,$){return[...z].reverse().reduce((Q,G,Y)=>{const ee=(0,e.isIntegerString)(G)?[]:{};return ee[G]=Y===0?$:Q,ee},{})};e.assocPath=E;const _=function(z,$){const V=(0,e.cloneDeep)(z);return $.reduce((X,Q,G)=>(G===$.length-1&&X&&(0,e.isObjectLike)(X)&&delete X[Q],X&&X[Q]),V),V};e.dissocPath=_;const k=function(z,$,...V){if(!V||!V.length)return $;const X=V.shift(),{preservePlaceholder:Q,preserveUndefined:G}=z;if((0,e.isObjectLike)($)&&(0,e.isObjectLike)(X))for(const Y in X)if((0,e.isObjectLike)(X[Y])&&(0,e.isObjectLike)($[Y]))$[Y]||($[Y]={}),k(z,$[Y],X[Y]);else if((0,e.isArray)($)){let ee=X[Y];const fe=Q?t.PLACEHOLDER_UNDEFINED:void 0;G||(ee=typeof ee<"u"?ee:$[parseInt(Y,10)]),ee=ee!==t.PLACEHOLDER_UNDEFINED?ee:fe,$[parseInt(Y,10)]=ee}else{const ee=X[Y]!==t.PLACEHOLDER_UNDEFINED?X[Y]:void 0;$[Y]=ee}return k(z,$,...V)},T=function(z,$,V){return k({preservePlaceholder:V==null?void 0:V.preservePlaceholder,preserveUndefined:V==null?void 0:V.preserveUndefined},(0,e.cloneDeep)(z),(0,e.cloneDeep)($))};e.mergeDeep=T;const L=function(z,$=[],V,X,Q){if(!(0,e.isObjectLike)(z))return z;for(const G in z){const Y=z[G],ee=(0,e.isArray)(z),fe=X?X+"."+G:G;Y===null&&(V===n.ConfigType.WHITELIST&&$.indexOf(fe)===-1||V===n.ConfigType.BLACKLIST&&$.indexOf(fe)!==-1)&&ee&&(z[parseInt(G,10)]=void 0),Y===void 0&&Q&&V===n.ConfigType.BLACKLIST&&$.indexOf(fe)===-1&&ee&&(z[parseInt(G,10)]=t.PLACEHOLDER_UNDEFINED),L(Y,$,V,fe,Q)}},O=function(z,$,V,X){const Q=(0,e.cloneDeep)(z);return L(Q,$,V,"",X),Q};e.preserveUndefined=O;const D=function(z,$,V){return V.indexOf(z)===$};e.unique=D;const I=function(z){return z.reduce(($,V)=>{const X=z.filter(_e=>_e===V),Q=z.filter(_e=>(V+".").indexOf(_e+".")===0),{duplicates:G,subsets:Y}=$,ee=X.length>1&&G.indexOf(V)===-1,fe=Q.length>1;return{duplicates:[...G,...ee?X:[]],subsets:[...Y,...fe?Q:[]].filter(e.unique).sort()}},{duplicates:[],subsets:[]})};e.findDuplicatesAndSubsets=I;const N=function(z,$,V){const X=V===n.ConfigType.WHITELIST?"whitelist":"blacklist",Q=`${t.PACKAGE_NAME}: incorrect ${X} configuration.`,G=`Check your create${V===n.ConfigType.WHITELIST?"White":"Black"}list arguments. - -`;if(!(0,e.isString)($)||$.length<1)throw new Error(`${Q} Name (key) of reducer is required. ${G}`);if(!z||!z.length)return;const{duplicates:Y,subsets:ee}=(0,e.findDuplicatesAndSubsets)(z);if(Y.length>1)throw new Error(`${Q} Duplicated paths. - - ${JSON.stringify(Y)} - - ${G}`);if(ee.length>1)throw new Error(`${Q} You are trying to persist an entire property and also some of its subset. - -${JSON.stringify(ee)} - - ${G}`)};e.singleTransformValidator=N;const W=function(z){if(!(0,e.isArray)(z))return;const $=(z==null?void 0:z.map(V=>V.deepPersistKey).filter(V=>V))||[];if($.length){const V=$.filter((X,Q)=>$.indexOf(X)!==Q);if(V.length)throw new Error(`${t.PACKAGE_NAME}: found duplicated keys in transforms creators. You can createWhitelist or createBlacklist for a specific root reducer key only once. Duplicated keys among createWhitelist and createBlacklist transforms are not allowed. - - Duplicates: ${JSON.stringify(V)}`)}};e.transformsValidator=W;const B=function({whitelist:z,blacklist:$}){if(z&&z.length&&$&&$.length)throw new Error(`${t.PACKAGE_NAME}: you should not define a whitelist and blacklist in parallel. It is allowed to use only one of these lists per config.`);if(z){const{duplicates:V,subsets:X}=(0,e.findDuplicatesAndSubsets)(z);(0,e.throwError)({duplicates:V,subsets:X},"whitelist")}if($){const{duplicates:V,subsets:X}=(0,e.findDuplicatesAndSubsets)($);(0,e.throwError)({duplicates:V,subsets:X},"blacklist")}};e.configValidator=B;const K=function({duplicates:z,subsets:$},V){if(z.length)throw new Error(`${t.PACKAGE_NAME}: duplicates of paths found in your ${V}. - - ${JSON.stringify(z)}`);if($.length)throw new Error(`${t.PACKAGE_NAME}: subsets of some parent keys found in your ${V}. You must decide if you want to persist an entire path or its specific subset. - - ${JSON.stringify($)}`)};e.throwError=K;const ne=function(z){return(0,e.isArray)(z)?z.filter(e.unique).reduce(($,V)=>{const X=V.split("."),Q=X[0],G=X.slice(1).join(".")||void 0,Y=$.filter(fe=>Object.keys(fe)[0]===Q)[0],ee=Y?Object.values(Y)[0]:void 0;return Y||$.push({[Q]:G?[G]:void 0}),Y&&!ee&&G&&(Y[Q]=[G]),Y&&ee&&G&&ee.push(G),$},[]):[]};e.getRootKeysGroup=ne})(RW);(function(e){var t=wo&&wo.__rest||function(p,m){var y={};for(var b in p)Object.prototype.hasOwnProperty.call(p,b)&&m.indexOf(b)<0&&(y[b]=p[b]);if(p!=null&&typeof Object.getOwnPropertySymbols=="function")for(var w=0,b=Object.getOwnPropertySymbols(p);w!E(k)&&p?p(_,k,T):_,out:(_,k,T)=>!E(k)&&m?m(_,k,T):_,deepPersistKey:b&&b[0]}},a=(p,m,y,{debug:b,whitelist:w,blacklist:E,transforms:_})=>{if(w||E)throw new Error("State reconciler autoMergeDeep uses custom transforms instead of old whitelist or blacklist config properties. Please use createWhitelist or createBlacklist transforms.");(0,n.transformsValidator)(_);const k=(0,n.cloneDeep)(y);let T=p;if(T&&(0,n.isObjectLike)(T)){const L=(0,n.difference)(m,y);(0,n.isEmpty)(L)||(T=(0,n.mergeDeep)(p,L,{preserveUndefined:!0}),b&&console.log(`${r.PACKAGE_NAME}/autoMergeDeep: sub state of your state was modified by reducer during rehydration. Values from reducer will be kept: ${JSON.stringify(L)}`)),Object.keys(T).forEach(O=>{if(O!=="_persist"){if((0,n.isObjectLike)(k[O])){k[O]=(0,n.mergeDeep)(k[O],T[O]);return}k[O]=T[O]}})}return b&&T&&(0,n.isObjectLike)(T)&&console.log(`${r.PACKAGE_NAME}/autoMergeDeep: rehydrated keys ${JSON.stringify(T)}`),k};e.autoMergeDeep=a;const s=(p,m)=>((0,n.singleTransformValidator)(m,p,i.ConfigType.WHITELIST),o(y=>{if(!m||!m.length)return y;let b=null,w;return m.forEach(E=>{const _=E.split(".");w=(0,n.path)(y,_),typeof w>"u"&&(0,n.isIntegerString)(_[_.length-1])&&(w=r.PLACEHOLDER_UNDEFINED);const k=(0,n.assocPath)(_,w),T=(0,n.isArray)(k)?[]:{};b=(0,n.mergeDeep)(b||T,k,{preservePlaceholder:!0})}),b||y},y=>(0,n.preserveUndefined)(y,m,i.ConfigType.WHITELIST),{whitelist:[p]}));e.createWhitelist=s;const l=(p,m)=>((0,n.singleTransformValidator)(m,p,i.ConfigType.BLACKLIST),o(y=>{if(!m||!m.length)return;const b=(0,n.preserveUndefined)(y,m,i.ConfigType.BLACKLIST,!0);return m.map(E=>E.split(".")).reduce((E,_)=>(0,n.dissocPath)(E,_),b)},y=>(0,n.preserveUndefined)(y,m,i.ConfigType.BLACKLIST),{whitelist:[p]}));e.createBlacklist=l;const u=function(p,m){return m.map(y=>{const b=Object.keys(y)[0],w=y[b];return p===i.ConfigType.WHITELIST?(0,e.createWhitelist)(b,w):(0,e.createBlacklist)(b,w)})};e.getTransforms=u;const d=p=>{var{key:m,whitelist:y,blacklist:b,storage:w,transforms:E,rootReducer:_}=p,k=t(p,["key","whitelist","blacklist","storage","transforms","rootReducer"]);(0,n.configValidator)({whitelist:y,blacklist:b});const T=(0,n.getRootKeysGroup)(y),L=(0,n.getRootKeysGroup)(b),O=Object.keys(_(void 0,{type:""})),D=T.map(ne=>Object.keys(ne)[0]),I=L.map(ne=>Object.keys(ne)[0]),N=O.filter(ne=>D.indexOf(ne)===-1&&I.indexOf(ne)===-1),W=(0,e.getTransforms)(i.ConfigType.WHITELIST,T),B=(0,e.getTransforms)(i.ConfigType.BLACKLIST,L),K=(0,n.isArray)(y)?N.map(ne=>(0,e.createBlacklist)(ne)):[];return Object.assign(Object.assign({},k),{key:m,storage:w,transforms:[...W,...B,...K,...E||[]],stateReconciler:e.autoMergeDeep})};e.getPersistConfig=d})(OW);const Cd=(e,t)=>Math.floor(e/t)*t,Hl=(e,t)=>Math.round(e/t)*t;var Ce={},VSe={get exports(){return Ce},set exports(e){Ce=e}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",s="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,d="__lodash_placeholder__",p=1,m=2,y=4,b=1,w=2,E=1,_=2,k=4,T=8,L=16,O=32,D=64,I=128,N=256,W=512,B=30,K="...",ne=800,z=16,$=1,V=2,X=3,Q=1/0,G=9007199254740991,Y=17976931348623157e292,ee=0/0,fe=4294967295,_e=fe-1,we=fe>>>1,xe=[["ary",I],["bind",E],["bindKey",_],["curry",T],["curryRight",L],["flip",W],["partial",O],["partialRight",D],["rearg",N]],Le="[object Arguments]",Se="[object Array]",Je="[object AsyncFunction]",Xe="[object Boolean]",tt="[object Date]",yt="[object DOMException]",Be="[object Error]",Ae="[object Function]",bt="[object GeneratorFunction]",Fe="[object Map]",at="[object Number]",jt="[object Null]",mt="[object Object]",Zt="[object Promise]",on="[object Proxy]",se="[object RegExp]",Ie="[object Set]",He="[object String]",Ue="[object Symbol]",ye="[object Undefined]",je="[object WeakMap]",vt="[object WeakSet]",Mt="[object ArrayBuffer]",Me="[object DataView]",Ct="[object Float32Array]",zt="[object Float64Array]",$n="[object Int8Array]",qe="[object Int16Array]",pt="[object Int32Array]",zr="[object Uint8Array]",rr="[object Uint8ClampedArray]",Bn="[object Uint16Array]",li="[object Uint32Array]",vs=/\b__p \+= '';/g,tl=/\b(__p \+=) '' \+/g,gf=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ys=/&(?:amp|lt|gt|quot|#39);/g,Xi=/[&<>"']/g,_0=RegExp(ys.source),Na=RegExp(Xi.source),wp=/<%-([\s\S]+?)%>/g,k0=/<%([\s\S]+?)%>/g,bc=/<%=([\s\S]+?)%>/g,Cp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,_p=/^\w*$/,na=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mf=/[\\^$.*+?()[\]{}|]/g,E0=RegExp(mf.source),xc=/^\s+/,vf=/\s/,P0=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,nl=/\{\n\/\* \[wrapped with (.+)\] \*/,Sc=/,? & /,T0=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,M0=/[()=,{}\[\]\/\s]/,L0=/\\(\\)?/g,A0=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,bs=/\w*$/,O0=/^[-+]0x[0-9a-f]+$/i,R0=/^0b[01]+$/i,I0=/^\[object .+?Constructor\]$/,D0=/^0o[0-7]+$/i,j0=/^(?:0|[1-9]\d*)$/,N0=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,rl=/($^)/,$0=/['\n\r\u2028\u2029\\]/g,xs="\\ud800-\\udfff",fu="\\u0300-\\u036f",hu="\\ufe20-\\ufe2f",il="\\u20d0-\\u20ff",pu=fu+hu+il,kp="\\u2700-\\u27bf",wc="a-z\\xdf-\\xf6\\xf8-\\xff",ol="\\xac\\xb1\\xd7\\xf7",ra="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Mn="\\u2000-\\u206f",wn=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ia="A-Z\\xc0-\\xd6\\xd8-\\xde",Hr="\\ufe0e\\ufe0f",ui=ol+ra+Mn+wn,oa="['’]",al="["+xs+"]",ci="["+ui+"]",Ss="["+pu+"]",yf="\\d+",gu="["+kp+"]",ws="["+wc+"]",bf="[^"+xs+ui+yf+kp+wc+ia+"]",Ri="\\ud83c[\\udffb-\\udfff]",Ep="(?:"+Ss+"|"+Ri+")",Pp="[^"+xs+"]",xf="(?:\\ud83c[\\udde6-\\uddff]){2}",sl="[\\ud800-\\udbff][\\udc00-\\udfff]",Lo="["+ia+"]",ll="\\u200d",mu="(?:"+ws+"|"+bf+")",F0="(?:"+Lo+"|"+bf+")",Cc="(?:"+oa+"(?:d|ll|m|re|s|t|ve))?",_c="(?:"+oa+"(?:D|LL|M|RE|S|T|VE))?",Sf=Ep+"?",kc="["+Hr+"]?",$a="(?:"+ll+"(?:"+[Pp,xf,sl].join("|")+")"+kc+Sf+")*",wf="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",vu="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Gt=kc+Sf+$a,Tp="(?:"+[gu,xf,sl].join("|")+")"+Gt,Ec="(?:"+[Pp+Ss+"?",Ss,xf,sl,al].join("|")+")",Pc=RegExp(oa,"g"),Mp=RegExp(Ss,"g"),aa=RegExp(Ri+"(?="+Ri+")|"+Ec+Gt,"g"),Xn=RegExp([Lo+"?"+ws+"+"+Cc+"(?="+[ci,Lo,"$"].join("|")+")",F0+"+"+_c+"(?="+[ci,Lo+mu,"$"].join("|")+")",Lo+"?"+mu+"+"+Cc,Lo+"+"+_c,vu,wf,yf,Tp].join("|"),"g"),Cf=RegExp("["+ll+xs+pu+Hr+"]"),Lp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,_f=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ap=-1,cn={};cn[Ct]=cn[zt]=cn[$n]=cn[qe]=cn[pt]=cn[zr]=cn[rr]=cn[Bn]=cn[li]=!0,cn[Le]=cn[Se]=cn[Mt]=cn[Xe]=cn[Me]=cn[tt]=cn[Be]=cn[Ae]=cn[Fe]=cn[at]=cn[mt]=cn[se]=cn[Ie]=cn[He]=cn[je]=!1;var qt={};qt[Le]=qt[Se]=qt[Mt]=qt[Me]=qt[Xe]=qt[tt]=qt[Ct]=qt[zt]=qt[$n]=qt[qe]=qt[pt]=qt[Fe]=qt[at]=qt[mt]=qt[se]=qt[Ie]=qt[He]=qt[Ue]=qt[zr]=qt[rr]=qt[Bn]=qt[li]=!0,qt[Be]=qt[Ae]=qt[je]=!1;var Op={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},B0={"&":"&","<":"<",">":">",'"':""","'":"'"},q={"&":"&","<":"<",">":">",""":'"',"'":"'"},re={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},pe=parseFloat,ot=parseInt,Ht=typeof wo=="object"&&wo&&wo.Object===Object&&wo,mn=typeof self=="object"&&self&&self.Object===Object&&self,St=Ht||mn||Function("return this")(),Ot=t&&!t.nodeType&&t,Kt=Ot&&!0&&e&&!e.nodeType&&e,Jr=Kt&&Kt.exports===Ot,Ar=Jr&&Ht.process,vn=function(){try{var ie=Kt&&Kt.require&&Kt.require("util").types;return ie||Ar&&Ar.binding&&Ar.binding("util")}catch{}}(),di=vn&&vn.isArrayBuffer,Ao=vn&&vn.isDate,uo=vn&&vn.isMap,Fa=vn&&vn.isRegExp,ul=vn&&vn.isSet,z0=vn&&vn.isTypedArray;function Ii(ie,be,me){switch(me.length){case 0:return ie.call(be);case 1:return ie.call(be,me[0]);case 2:return ie.call(be,me[0],me[1]);case 3:return ie.call(be,me[0],me[1],me[2])}return ie.apply(be,me)}function H0(ie,be,me,rt){for(var Lt=-1,en=ie==null?0:ie.length;++Lt-1}function Rp(ie,be,me){for(var rt=-1,Lt=ie==null?0:ie.length;++rt-1;);return me}function Cs(ie,be){for(var me=ie.length;me--&&Lc(be,ie[me],0)>-1;);return me}function U0(ie,be){for(var me=ie.length,rt=0;me--;)ie[me]===be&&++rt;return rt}var A2=Tf(Op),_s=Tf(B0);function dl(ie){return"\\"+re[ie]}function Dp(ie,be){return ie==null?n:ie[be]}function bu(ie){return Cf.test(ie)}function jp(ie){return Lp.test(ie)}function O2(ie){for(var be,me=[];!(be=ie.next()).done;)me.push(be.value);return me}function Np(ie){var be=-1,me=Array(ie.size);return ie.forEach(function(rt,Lt){me[++be]=[Lt,rt]}),me}function $p(ie,be){return function(me){return ie(be(me))}}function ua(ie,be){for(var me=-1,rt=ie.length,Lt=0,en=[];++me-1}function Z2(c,v){var C=this.__data__,A=Ur(C,c);return A<0?(++this.size,C.push([c,v])):C[A][1]=v,this}ca.prototype.clear=Y2,ca.prototype.delete=X2,ca.prototype.get=ov,ca.prototype.has=av,ca.prototype.set=Z2;function da(c){var v=-1,C=c==null?0:c.length;for(this.clear();++v=v?c:v)),c}function wi(c,v,C,A,j,H){var Z,te=v&p,ce=v&m,ke=v&y;if(C&&(Z=j?C(c,A,j,H):C(c)),Z!==n)return Z;if(!Cr(c))return c;var Pe=$t(c);if(Pe){if(Z=PK(c),!te)return Bi(c,Z)}else{var Re=ki(c),nt=Re==Ae||Re==bt;if(id(c))return wl(c,te);if(Re==mt||Re==Le||nt&&!j){if(Z=ce||nt?{}:AP(c),!te)return ce?_v(c,Kc(Z,c)):$o(c,st(Z,c))}else{if(!qt[Re])return j?c:{};Z=TK(c,Re,te)}}H||(H=new Rr);var gt=H.get(c);if(gt)return gt;H.set(c,Z),aT(c)?c.forEach(function(kt){Z.add(wi(kt,v,C,kt,c,H))}):iT(c)&&c.forEach(function(kt,Xt){Z.set(Xt,wi(kt,v,C,Xt,c,H))});var _t=ke?ce?ge:ma:ce?Bo:Ei,Vt=Pe?n:_t(c);return Zn(Vt||c,function(kt,Xt){Vt&&(Xt=kt,kt=c[Xt]),pl(Z,Xt,wi(kt,v,C,Xt,c,H))}),Z}function Gp(c){var v=Ei(c);return function(C){return qp(C,c,v)}}function qp(c,v,C){var A=C.length;if(c==null)return!A;for(c=dn(c);A--;){var j=C[A],H=v[j],Z=c[j];if(Z===n&&!(j in c)||!H(Z))return!1}return!0}function cv(c,v,C){if(typeof c!="function")throw new Di(a);return Mv(function(){c.apply(n,C)},v)}function Yc(c,v,C,A){var j=-1,H=Zi,Z=!0,te=c.length,ce=[],ke=v.length;if(!te)return ce;C&&(v=Hn(v,Wr(C))),A?(H=Rp,Z=!1):v.length>=i&&(H=Oc,Z=!1,v=new Wa(v));e:for(;++jj?0:j+C),A=A===n||A>j?j:Ft(A),A<0&&(A+=j),A=C>A?0:lT(A);C0&&C(te)?v>1?Vr(te,v-1,C,A,j):Ba(j,te):A||(j[j.length]=te)}return j}var Yp=Cl(),Do=Cl(!0);function ga(c,v){return c&&Yp(c,v,Ei)}function jo(c,v){return c&&Do(c,v,Ei)}function Xp(c,v){return Ro(v,function(C){return Tu(c[C])})}function gl(c,v){v=Sl(v,c);for(var C=0,A=v.length;c!=null&&Cv}function Qp(c,v){return c!=null&&an.call(c,v)}function Jp(c,v){return c!=null&&v in dn(c)}function eg(c,v,C){return c>=hi(v,C)&&c=120&&Pe.length>=120)?new Wa(Z&&Pe):n}Pe=c[0];var Re=-1,nt=te[0];e:for(;++Re-1;)te!==c&&jf.call(te,ce,1),jf.call(c,ce,1);return c}function Vf(c,v){for(var C=c?v.length:0,A=C-1;C--;){var j=v[C];if(C==A||j!==H){var H=j;Pu(j)?jf.call(c,j,1):cg(c,j)}}return c}function Gf(c,v){return c+Su(J0()*(v-c+1))}function bl(c,v,C,A){for(var j=-1,H=Or(Ff((v-c)/(C||1)),0),Z=me(H);H--;)Z[A?H:++j]=c,c+=C;return Z}function td(c,v){var C="";if(!c||v<1||v>G)return C;do v%2&&(C+=c),v=Su(v/2),v&&(c+=c);while(v);return C}function Tt(c,v){return U4(IP(c,v,zo),c+"")}function og(c){return qc(vg(c))}function qf(c,v){var C=vg(c);return ob(C,Cu(v,0,C.length))}function ku(c,v,C,A){if(!Cr(c))return c;v=Sl(v,c);for(var j=-1,H=v.length,Z=H-1,te=c;te!=null&&++jj?0:j+v),C=C>j?j:C,C<0&&(C+=j),j=v>C?0:C-v>>>0,v>>>=0;for(var H=me(j);++A>>1,Z=c[H];Z!==null&&!va(Z)&&(C?Z<=v:Z=i){var ke=v?null:U(c);if(ke)return Of(ke);Z=!1,j=Oc,ce=new Wa}else ce=v?[]:te;e:for(;++A=A?c:qr(c,v,C)}var xv=N2||function(c){return St.clearTimeout(c)};function wl(c,v){if(v)return c.slice();var C=c.length,A=Nc?Nc(C):new c.constructor(C);return c.copy(A),A}function Sv(c){var v=new c.constructor(c.byteLength);return new ji(v).set(new ji(c)),v}function Eu(c,v){var C=v?Sv(c.buffer):c.buffer;return new c.constructor(C,c.byteOffset,c.byteLength)}function tb(c){var v=new c.constructor(c.source,bs.exec(c));return v.lastIndex=c.lastIndex,v}function Qn(c){return zf?dn(zf.call(c)):{}}function nb(c,v){var C=v?Sv(c.buffer):c.buffer;return new c.constructor(C,c.byteOffset,c.length)}function wv(c,v){if(c!==v){var C=c!==n,A=c===null,j=c===c,H=va(c),Z=v!==n,te=v===null,ce=v===v,ke=va(v);if(!te&&!ke&&!H&&c>v||H&&Z&&ce&&!te&&!ke||A&&Z&&ce||!C&&ce||!j)return 1;if(!A&&!H&&!ke&&c=te)return ce;var ke=C[A];return ce*(ke=="desc"?-1:1)}}return c.index-v.index}function rb(c,v,C,A){for(var j=-1,H=c.length,Z=C.length,te=-1,ce=v.length,ke=Or(H-Z,0),Pe=me(ce+ke),Re=!A;++te1?C[j-1]:n,Z=j>2?C[2]:n;for(H=c.length>3&&typeof H=="function"?(j--,H):n,Z&&mo(C[0],C[1],Z)&&(H=j<3?n:H,j=1),v=dn(v);++A-1?j[H?v[Z]:Z]:n}}function Ev(c){return gr(function(v){var C=v.length,A=C,j=fo.prototype.thru;for(c&&v.reverse();A--;){var H=v[A];if(typeof H!="function")throw new Di(a);if(j&&!Z&&ve(H)=="wrapper")var Z=new fo([],!0)}for(A=Z?A:C;++A1&&tn.reverse(),Pe&&cete))return!1;var ke=H.get(c),Pe=H.get(v);if(ke&&Pe)return ke==v&&Pe==c;var Re=-1,nt=!0,gt=C&w?new Wa:n;for(H.set(c,v),H.set(v,c);++Re1?"& ":"")+v[A],v=v.join(C>2?", ":" "),c.replace(P0,`{ -/* [wrapped with `+v+`] */ -`)}function LK(c){return $t(c)||th(c)||!!(Z0&&c&&c[Z0])}function Pu(c,v){var C=typeof c;return v=v??G,!!v&&(C=="number"||C!="symbol"&&j0.test(c))&&c>-1&&c%1==0&&c0){if(++v>=ne)return arguments[0]}else v=0;return c.apply(n,arguments)}}function ob(c,v){var C=-1,A=c.length,j=A-1;for(v=v===n?A:v;++C1?c[v-1]:n;return C=typeof C=="function"?(c.pop(),C):n,GP(c,C)});function qP(c){var v=F(c);return v.__chain__=!0,v}function zY(c,v){return v(c),c}function ab(c,v){return v(c)}var HY=gr(function(c){var v=c.length,C=v?c[0]:0,A=this.__wrapped__,j=function(H){return Vp(H,c)};return v>1||this.__actions__.length||!(A instanceof Yt)||!Pu(C)?this.thru(j):(A=A.slice(C,+C+(v?1:0)),A.__actions__.push({func:ab,args:[j],thisArg:n}),new fo(A,this.__chain__).thru(function(H){return v&&!H.length&&H.push(n),H}))});function WY(){return qP(this)}function UY(){return new fo(this.value(),this.__chain__)}function VY(){this.__values__===n&&(this.__values__=sT(this.value()));var c=this.__index__>=this.__values__.length,v=c?n:this.__values__[this.__index__++];return{done:c,value:v}}function GY(){return this}function qY(c){for(var v,C=this;C instanceof Hf;){var A=BP(C);A.__index__=0,A.__values__=n,v?j.__wrapped__=A:v=A;var j=A;C=C.__wrapped__}return j.__wrapped__=c,v}function KY(){var c=this.__wrapped__;if(c instanceof Yt){var v=c;return this.__actions__.length&&(v=new Yt(this)),v=v.reverse(),v.__actions__.push({func:ab,args:[V4],thisArg:n}),new fo(v,this.__chain__)}return this.thru(V4)}function YY(){return xl(this.__wrapped__,this.__actions__)}var XY=fg(function(c,v,C){an.call(c,C)?++c[C]:fa(c,C,1)});function ZY(c,v,C){var A=$t(c)?zn:dv;return C&&mo(c,v,C)&&(v=n),A(c,Oe(v,3))}function QY(c,v){var C=$t(c)?Ro:pa;return C(c,Oe(v,3))}var JY=kv(zP),eX=kv(HP);function tX(c,v){return Vr(sb(c,v),1)}function nX(c,v){return Vr(sb(c,v),Q)}function rX(c,v,C){return C=C===n?1:Ft(C),Vr(sb(c,v),C)}function KP(c,v){var C=$t(c)?Zn:Ps;return C(c,Oe(v,3))}function YP(c,v){var C=$t(c)?Oo:Kp;return C(c,Oe(v,3))}var iX=fg(function(c,v,C){an.call(c,C)?c[C].push(v):fa(c,C,[v])});function oX(c,v,C,A){c=Fo(c)?c:vg(c),C=C&&!A?Ft(C):0;var j=c.length;return C<0&&(C=Or(j+C,0)),fb(c)?C<=j&&c.indexOf(v,C)>-1:!!j&&Lc(c,v,C)>-1}var aX=Tt(function(c,v,C){var A=-1,j=typeof v=="function",H=Fo(c)?me(c.length):[];return Ps(c,function(Z){H[++A]=j?Ii(v,Z,C):Ts(Z,v,C)}),H}),sX=fg(function(c,v,C){fa(c,C,v)});function sb(c,v){var C=$t(c)?Hn:Dr;return C(c,Oe(v,3))}function lX(c,v,C,A){return c==null?[]:($t(v)||(v=v==null?[]:[v]),C=A?n:C,$t(C)||(C=C==null?[]:[C]),$i(c,v,C))}var uX=fg(function(c,v,C){c[C?0:1].push(v)},function(){return[[],[]]});function cX(c,v,C){var A=$t(c)?kf:Ip,j=arguments.length<3;return A(c,Oe(v,4),C,j,Ps)}function dX(c,v,C){var A=$t(c)?P2:Ip,j=arguments.length<3;return A(c,Oe(v,4),C,j,Kp)}function fX(c,v){var C=$t(c)?Ro:pa;return C(c,cb(Oe(v,3)))}function hX(c){var v=$t(c)?qc:og;return v(c)}function pX(c,v,C){(C?mo(c,v,C):v===n)?v=1:v=Ft(v);var A=$t(c)?Si:qf;return A(c,v)}function gX(c){var v=$t(c)?j4:_i;return v(c)}function mX(c){if(c==null)return 0;if(Fo(c))return fb(c)?za(c):c.length;var v=ki(c);return v==Fe||v==Ie?c.size:Gr(c).length}function vX(c,v,C){var A=$t(c)?Tc:No;return C&&mo(c,v,C)&&(v=n),A(c,Oe(v,3))}var yX=Tt(function(c,v){if(c==null)return[];var C=v.length;return C>1&&mo(c,v[0],v[1])?v=[]:C>2&&mo(v[0],v[1],v[2])&&(v=[v[0]]),$i(c,Vr(v,1),[])}),lb=$2||function(){return St.Date.now()};function bX(c,v){if(typeof v!="function")throw new Di(a);return c=Ft(c),function(){if(--c<1)return v.apply(this,arguments)}}function XP(c,v,C){return v=C?n:v,v=c&&v==null?c.length:v,he(c,I,n,n,n,n,v)}function ZP(c,v){var C;if(typeof v!="function")throw new Di(a);return c=Ft(c),function(){return--c>0&&(C=v.apply(this,arguments)),c<=1&&(v=n),C}}var q4=Tt(function(c,v,C){var A=E;if(C.length){var j=ua(C,et(q4));A|=O}return he(c,A,v,C,j)}),QP=Tt(function(c,v,C){var A=E|_;if(C.length){var j=ua(C,et(QP));A|=O}return he(v,A,c,C,j)});function JP(c,v,C){v=C?n:v;var A=he(c,T,n,n,n,n,n,v);return A.placeholder=JP.placeholder,A}function eT(c,v,C){v=C?n:v;var A=he(c,L,n,n,n,n,n,v);return A.placeholder=eT.placeholder,A}function tT(c,v,C){var A,j,H,Z,te,ce,ke=0,Pe=!1,Re=!1,nt=!0;if(typeof c!="function")throw new Di(a);v=Ga(v)||0,Cr(C)&&(Pe=!!C.leading,Re="maxWait"in C,H=Re?Or(Ga(C.maxWait)||0,v):H,nt="trailing"in C?!!C.trailing:nt);function gt(Yr){var Rs=A,Lu=j;return A=j=n,ke=Yr,Z=c.apply(Lu,Rs),Z}function _t(Yr){return ke=Yr,te=Mv(Xt,v),Pe?gt(Yr):Z}function Vt(Yr){var Rs=Yr-ce,Lu=Yr-ke,xT=v-Rs;return Re?hi(xT,H-Lu):xT}function kt(Yr){var Rs=Yr-ce,Lu=Yr-ke;return ce===n||Rs>=v||Rs<0||Re&&Lu>=H}function Xt(){var Yr=lb();if(kt(Yr))return tn(Yr);te=Mv(Xt,Vt(Yr))}function tn(Yr){return te=n,nt&&A?gt(Yr):(A=j=n,Z)}function ya(){te!==n&&xv(te),ke=0,A=ce=j=te=n}function vo(){return te===n?Z:tn(lb())}function ba(){var Yr=lb(),Rs=kt(Yr);if(A=arguments,j=this,ce=Yr,Rs){if(te===n)return _t(ce);if(Re)return xv(te),te=Mv(Xt,v),gt(ce)}return te===n&&(te=Mv(Xt,v)),Z}return ba.cancel=ya,ba.flush=vo,ba}var xX=Tt(function(c,v){return cv(c,1,v)}),SX=Tt(function(c,v,C){return cv(c,Ga(v)||0,C)});function wX(c){return he(c,W)}function ub(c,v){if(typeof c!="function"||v!=null&&typeof v!="function")throw new Di(a);var C=function(){var A=arguments,j=v?v.apply(this,A):A[0],H=C.cache;if(H.has(j))return H.get(j);var Z=c.apply(this,A);return C.cache=H.set(j,Z)||H,Z};return C.cache=new(ub.Cache||da),C}ub.Cache=da;function cb(c){if(typeof c!="function")throw new Di(a);return function(){var v=arguments;switch(v.length){case 0:return!c.call(this);case 1:return!c.call(this,v[0]);case 2:return!c.call(this,v[0],v[1]);case 3:return!c.call(this,v[0],v[1],v[2])}return!c.apply(this,v)}}function CX(c){return ZP(2,c)}var _X=F4(function(c,v){v=v.length==1&&$t(v[0])?Hn(v[0],Wr(Oe())):Hn(Vr(v,1),Wr(Oe()));var C=v.length;return Tt(function(A){for(var j=-1,H=hi(A.length,C);++j=v}),th=ng(function(){return arguments}())?ng:function(c){return jr(c)&&an.call(c,"callee")&&!X0.call(c,"callee")},$t=me.isArray,FX=di?Wr(di):hv;function Fo(c){return c!=null&&db(c.length)&&!Tu(c)}function Kr(c){return jr(c)&&Fo(c)}function BX(c){return c===!0||c===!1||jr(c)&&Ci(c)==Xe}var id=F2||o5,zX=Ao?Wr(Ao):pv;function HX(c){return jr(c)&&c.nodeType===1&&!Lv(c)}function WX(c){if(c==null)return!0;if(Fo(c)&&($t(c)||typeof c=="string"||typeof c.splice=="function"||id(c)||mg(c)||th(c)))return!c.length;var v=ki(c);if(v==Fe||v==Ie)return!c.size;if(Tv(c))return!Gr(c).length;for(var C in c)if(an.call(c,C))return!1;return!0}function UX(c,v){return Zc(c,v)}function VX(c,v,C){C=typeof C=="function"?C:n;var A=C?C(c,v):n;return A===n?Zc(c,v,n,C):!!A}function Y4(c){if(!jr(c))return!1;var v=Ci(c);return v==Be||v==yt||typeof c.message=="string"&&typeof c.name=="string"&&!Lv(c)}function GX(c){return typeof c=="number"&&zp(c)}function Tu(c){if(!Cr(c))return!1;var v=Ci(c);return v==Ae||v==bt||v==Je||v==on}function rT(c){return typeof c=="number"&&c==Ft(c)}function db(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=G}function Cr(c){var v=typeof c;return c!=null&&(v=="object"||v=="function")}function jr(c){return c!=null&&typeof c=="object"}var iT=uo?Wr(uo):$4;function qX(c,v){return c===v||Qc(c,v,At(v))}function KX(c,v,C){return C=typeof C=="function"?C:n,Qc(c,v,At(v),C)}function YX(c){return oT(c)&&c!=+c}function XX(c){if(RK(c))throw new Lt(o);return rg(c)}function ZX(c){return c===null}function QX(c){return c==null}function oT(c){return typeof c=="number"||jr(c)&&Ci(c)==at}function Lv(c){if(!jr(c)||Ci(c)!=mt)return!1;var v=$c(c);if(v===null)return!0;var C=an.call(v,"constructor")&&v.constructor;return typeof C=="function"&&C instanceof C&&xr.call(C)==xi}var X4=Fa?Wr(Fa):Sr;function JX(c){return rT(c)&&c>=-G&&c<=G}var aT=ul?Wr(ul):Wt;function fb(c){return typeof c=="string"||!$t(c)&&jr(c)&&Ci(c)==He}function va(c){return typeof c=="symbol"||jr(c)&&Ci(c)==Ue}var mg=z0?Wr(z0):ei;function eZ(c){return c===n}function tZ(c){return jr(c)&&ki(c)==je}function nZ(c){return jr(c)&&Ci(c)==vt}var rZ=P(ml),iZ=P(function(c,v){return c<=v});function sT(c){if(!c)return[];if(Fo(c))return fb(c)?Qi(c):Bi(c);if(Fc&&c[Fc])return O2(c[Fc]());var v=ki(c),C=v==Fe?Np:v==Ie?Of:vg;return C(c)}function Mu(c){if(!c)return c===0?c:0;if(c=Ga(c),c===Q||c===-Q){var v=c<0?-1:1;return v*Y}return c===c?c:0}function Ft(c){var v=Mu(c),C=v%1;return v===v?C?v-C:v:0}function lT(c){return c?Cu(Ft(c),0,fe):0}function Ga(c){if(typeof c=="number")return c;if(va(c))return ee;if(Cr(c)){var v=typeof c.valueOf=="function"?c.valueOf():c;c=Cr(v)?v+"":v}if(typeof c!="string")return c===0?c:+c;c=co(c);var C=R0.test(c);return C||D0.test(c)?ot(c.slice(2),C?2:8):O0.test(c)?ee:+c}function uT(c){return Ua(c,Bo(c))}function oZ(c){return c?Cu(Ft(c),-G,G):c===0?c:0}function _n(c){return c==null?"":po(c)}var aZ=go(function(c,v){if(Tv(v)||Fo(v)){Ua(v,Ei(v),c);return}for(var C in v)an.call(v,C)&&pl(c,C,v[C])}),cT=go(function(c,v){Ua(v,Bo(v),c)}),hb=go(function(c,v,C,A){Ua(v,Bo(v),c,A)}),sZ=go(function(c,v,C,A){Ua(v,Ei(v),c,A)}),lZ=gr(Vp);function uZ(c,v){var C=wu(c);return v==null?C:st(C,v)}var cZ=Tt(function(c,v){c=dn(c);var C=-1,A=v.length,j=A>2?v[2]:n;for(j&&mo(v[0],v[1],j)&&(A=1);++C1),H}),Ua(c,ge(c),C),A&&(C=wi(C,p|m|y,Rt));for(var j=v.length;j--;)cg(C,v[j]);return C});function TZ(c,v){return fT(c,cb(Oe(v)))}var MZ=gr(function(c,v){return c==null?{}:vv(c,v)});function fT(c,v){if(c==null)return{};var C=Hn(ge(c),function(A){return[A]});return v=Oe(v),ig(c,C,function(A,j){return v(A,j[0])})}function LZ(c,v,C){v=Sl(v,c);var A=-1,j=v.length;for(j||(j=1,c=n);++Av){var A=c;c=v,v=A}if(C||c%1||v%1){var j=J0();return hi(c+j*(v-c+pe("1e-"+((j+"").length-1))),v)}return Gf(c,v)}var zZ=_l(function(c,v,C){return v=v.toLowerCase(),c+(C?gT(v):v)});function gT(c){return J4(_n(c).toLowerCase())}function mT(c){return c=_n(c),c&&c.replace(N0,A2).replace(Mp,"")}function HZ(c,v,C){c=_n(c),v=po(v);var A=c.length;C=C===n?A:Cu(Ft(C),0,A);var j=C;return C-=v.length,C>=0&&c.slice(C,j)==v}function WZ(c){return c=_n(c),c&&Na.test(c)?c.replace(Xi,_s):c}function UZ(c){return c=_n(c),c&&E0.test(c)?c.replace(mf,"\\$&"):c}var VZ=_l(function(c,v,C){return c+(C?"-":"")+v.toLowerCase()}),GZ=_l(function(c,v,C){return c+(C?" ":"")+v.toLowerCase()}),qZ=pg("toLowerCase");function KZ(c,v,C){c=_n(c),v=Ft(v);var A=v?za(c):0;if(!v||A>=v)return c;var j=(v-A)/2;return f(Su(j),C)+c+f(Ff(j),C)}function YZ(c,v,C){c=_n(c),v=Ft(v);var A=v?za(c):0;return v&&A>>0,C?(c=_n(c),c&&(typeof v=="string"||v!=null&&!X4(v))&&(v=po(v),!v&&bu(c))?Ls(Qi(c),0,C):c.split(v,C)):[]}var nQ=_l(function(c,v,C){return c+(C?" ":"")+J4(v)});function rQ(c,v,C){return c=_n(c),C=C==null?0:Cu(Ft(C),0,c.length),v=po(v),c.slice(C,C+v.length)==v}function iQ(c,v,C){var A=F.templateSettings;C&&mo(c,v,C)&&(v=n),c=_n(c),v=hb({},v,A,We);var j=hb({},v.imports,A.imports,We),H=Ei(j),Z=Af(j,H),te,ce,ke=0,Pe=v.interpolate||rl,Re="__p += '",nt=If((v.escape||rl).source+"|"+Pe.source+"|"+(Pe===bc?A0:rl).source+"|"+(v.evaluate||rl).source+"|$","g"),gt="//# sourceURL="+(an.call(v,"sourceURL")?(v.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Ap+"]")+` -`;c.replace(nt,function(kt,Xt,tn,ya,vo,ba){return tn||(tn=ya),Re+=c.slice(ke,ba).replace($0,dl),Xt&&(te=!0,Re+=`' + -__e(`+Xt+`) + -'`),vo&&(ce=!0,Re+=`'; -`+vo+`; -__p += '`),tn&&(Re+=`' + -((__t = (`+tn+`)) == null ? '' : __t) + -'`),ke=ba+kt.length,kt}),Re+=`'; -`;var _t=an.call(v,"variable")&&v.variable;if(!_t)Re=`with (obj) { -`+Re+` -} -`;else if(M0.test(_t))throw new Lt(s);Re=(ce?Re.replace(vs,""):Re).replace(tl,"$1").replace(gf,"$1;"),Re="function("+(_t||"obj")+`) { -`+(_t?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(te?", __e = _.escape":"")+(ce?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+Re+`return __p -}`;var Vt=yT(function(){return en(H,gt+"return "+Re).apply(n,Z)});if(Vt.source=Re,Y4(Vt))throw Vt;return Vt}function oQ(c){return _n(c).toLowerCase()}function aQ(c){return _n(c).toUpperCase()}function sQ(c,v,C){if(c=_n(c),c&&(C||v===n))return co(c);if(!c||!(v=po(v)))return c;var A=Qi(c),j=Qi(v),H=la(A,j),Z=Cs(A,j)+1;return Ls(A,H,Z).join("")}function lQ(c,v,C){if(c=_n(c),c&&(C||v===n))return c.slice(0,G0(c)+1);if(!c||!(v=po(v)))return c;var A=Qi(c),j=Cs(A,Qi(v))+1;return Ls(A,0,j).join("")}function uQ(c,v,C){if(c=_n(c),c&&(C||v===n))return c.replace(xc,"");if(!c||!(v=po(v)))return c;var A=Qi(c),j=la(A,Qi(v));return Ls(A,j).join("")}function cQ(c,v){var C=B,A=K;if(Cr(v)){var j="separator"in v?v.separator:j;C="length"in v?Ft(v.length):C,A="omission"in v?po(v.omission):A}c=_n(c);var H=c.length;if(bu(c)){var Z=Qi(c);H=Z.length}if(C>=H)return c;var te=C-za(A);if(te<1)return A;var ce=Z?Ls(Z,0,te).join(""):c.slice(0,te);if(j===n)return ce+A;if(Z&&(te+=ce.length-te),X4(j)){if(c.slice(te).search(j)){var ke,Pe=ce;for(j.global||(j=If(j.source,_n(bs.exec(j))+"g")),j.lastIndex=0;ke=j.exec(Pe);)var Re=ke.index;ce=ce.slice(0,Re===n?te:Re)}}else if(c.indexOf(po(j),te)!=te){var nt=ce.lastIndexOf(j);nt>-1&&(ce=ce.slice(0,nt))}return ce+A}function dQ(c){return c=_n(c),c&&_0.test(c)?c.replace(ys,D2):c}var fQ=_l(function(c,v,C){return c+(C?" ":"")+v.toUpperCase()}),J4=pg("toUpperCase");function vT(c,v,C){return c=_n(c),v=C?n:v,v===n?jp(c)?Rf(c):W0(c):c.match(v)||[]}var yT=Tt(function(c,v){try{return Ii(c,n,v)}catch(C){return Y4(C)?C:new Lt(C)}}),hQ=gr(function(c,v){return Zn(v,function(C){C=kl(C),fa(c,C,q4(c[C],c))}),c});function pQ(c){var v=c==null?0:c.length,C=Oe();return c=v?Hn(c,function(A){if(typeof A[1]!="function")throw new Di(a);return[C(A[0]),A[1]]}):[],Tt(function(A){for(var j=-1;++jG)return[];var C=fe,A=hi(c,fe);v=Oe(v),c-=fe;for(var j=Lf(A,v);++C0||v<0)?new Yt(C):(c<0?C=C.takeRight(-c):c&&(C=C.drop(c)),v!==n&&(v=Ft(v),C=v<0?C.dropRight(-v):C.take(v-c)),C)},Yt.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},Yt.prototype.toArray=function(){return this.take(fe)},ga(Yt.prototype,function(c,v){var C=/^(?:filter|find|map|reject)|While$/.test(v),A=/^(?:head|last)$/.test(v),j=F[A?"take"+(v=="last"?"Right":""):v],H=A||/^find/.test(v);j&&(F.prototype[v]=function(){var Z=this.__wrapped__,te=A?[1]:arguments,ce=Z instanceof Yt,ke=te[0],Pe=ce||$t(Z),Re=function(Xt){var tn=j.apply(F,Ba([Xt],te));return A&&nt?tn[0]:tn};Pe&&C&&typeof ke=="function"&&ke.length!=1&&(ce=Pe=!1);var nt=this.__chain__,gt=!!this.__actions__.length,_t=H&&!nt,Vt=ce&&!gt;if(!H&&Pe){Z=Vt?Z:new Yt(this);var kt=c.apply(Z,te);return kt.__actions__.push({func:ab,args:[Re],thisArg:n}),new fo(kt,nt)}return _t&&Vt?c.apply(this,te):(kt=this.thru(Re),_t?A?kt.value()[0]:kt.value():kt)})}),Zn(["pop","push","shift","sort","splice","unshift"],function(c){var v=Ic[c],C=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",A=/^(?:pop|shift)$/.test(c);F.prototype[c]=function(){var j=arguments;if(A&&!this.__chain__){var H=this.value();return v.apply($t(H)?H:[],j)}return this[C](function(Z){return v.apply($t(Z)?Z:[],j)})}}),ga(Yt.prototype,function(c,v){var C=F[v];if(C){var A=C.name+"";an.call(ks,A)||(ks[A]=[]),ks[A].push({name:v,func:C})}}),ks[Qf(n,_).name]=[{name:"wrapper",func:n}],Yt.prototype.clone=Ji,Yt.prototype.reverse=Ni,Yt.prototype.value=U2,F.prototype.at=HY,F.prototype.chain=WY,F.prototype.commit=UY,F.prototype.next=VY,F.prototype.plant=qY,F.prototype.reverse=KY,F.prototype.toJSON=F.prototype.valueOf=F.prototype.value=YY,F.prototype.first=F.prototype.head,Fc&&(F.prototype[Fc]=GY),F},Ha=Io();Kt?((Kt.exports=Ha)._=Ha,Ot._=Ha):St._=Ha}).call(wo)})(VSe,Ce);const Pg=(e,t,n,r,i,o,a)=>{const s=e/2-(n+i/2)*a,l=t/2-(r+o/2)*a;return{x:s,y:l}},Tg=(e,t,n,r,i=.95)=>{const o=e*i/n,a=t*i/r;return Math.min(1,Math.min(o,a))},GSe=.999,qSe=.1,KSe=20,Vv=.95,KO=30,pk=10,YO=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),ih=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let a=t*n,s=448;for(;a1?(r.width=s,r.height=Hl(s/o,64)):o<1&&(r.height=s,r.width=Hl(s*o,64)),a=r.width*r.height;return r},YSe=e=>({width:Hl(e.width,64),height:Hl(e.height,64)}),IW=[{key:"Base",value:"base"},{key:"Mask",value:"mask"}],XSe=[{key:"Auto",value:"auto"},{key:"Manual",value:"manual"},{key:"None",value:"none"}],hE=e=>e.kind==="line"&&e.layer==="mask",ZSe=e=>e.kind==="line"&&e.layer==="base",x3=e=>e.kind==="image"&&e.layer==="base",QSe=e=>e.kind==="fillRect"&&e.layer==="base",JSe=e=>e.kind==="eraseRect"&&e.layer==="base",e3e=e=>e.kind==="line",p1={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},t3e={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:p1,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},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"},DW=ap({name:"canvas",initialState:t3e,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(Ce.cloneDeep(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!hE(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,{stageDimensions:r}=e,i={width:Cd(Ce.clamp(n.width,64,512),64),height:Cd(Ce.clamp(n.height,64,512),64)},o={x:Hl(n.width/2-i.width/2,64),y:Hl(n.height/2-i.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const l=ih(i);e.scaledBoundingBoxDimensions=l}e.boundingBoxDimensions=i,e.boundingBoxCoordinates=o,e.pastLayerStates.push(Ce.cloneDeep(e.layerState)),e.layerState={...p1,objects:[{kind:"image",layer:"base",x:0,y:0,width:n.width,height:n.height,image:n}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const a=Tg(r.width,r.height,n.width,n.height,Vv),s=Pg(r.width,r.height,0,0,n.width,n.height,a);e.stageScale=a,e.stageCoordinates=s,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=YSe(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=ih(n);e.scaledBoundingBoxDimensions=r}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=YO(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},addImageToStagingArea:(e,t)=>{const{boundingBox:n,image:r}=t.payload;!n||!r||(e.pastLayerStates.push(Ce.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...n,image:r}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Ce.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...p1.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Ce.cloneDeep(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(Ce.cloneDeep(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:a}=e;if(n==="move"||n==="colorPicker")return;const s=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Ce.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:s,points:t.payload,...l};a&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(e3e);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Ce.cloneDeep(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Ce.cloneDeep(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(Ce.cloneDeep(e.layerState)),e.layerState=p1,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(x3),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const d=Tg(i.width,i.height,512,512,Vv),p=Pg(i.width,i.height,0,0,512,512,d),m={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=p,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=m,e.boundingBoxScaleMethod==="auto"){const y=ih(m);e.scaledBoundingBoxDimensions=y}return}const{width:o,height:a}=r,l=Tg(t,n,o,a,.95),u=Pg(i.width,i.height,0,0,o,a,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=YO(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(x3)){const i=Tg(r.width,r.height,512,512,Vv),o=Pg(r.width,r.height,0,0,512,512,i),a={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=a,e.boundingBoxScaleMethod==="auto"){const s=ih(a);e.scaledBoundingBoxDimensions=s}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:a,y:s,width:l,height:u}=n;if(l!==0&&u!==0){const d=r?1:Tg(i,o,l,u,Vv),p=Pg(i,o,a,s,l,u,d);e.stageScale=d,e.stageCoordinates=p}else{const d=Tg(i,o,512,512,Vv),p=Pg(i,o,0,0,512,512,d),m={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=p,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=m,e.boundingBoxScaleMethod==="auto"){const y=ih(m);e.scaledBoundingBoxDimensions=y}}},nextStagingAreaImage:e=>{const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:e=>{const{images:t,selectedImageIndex:n}=e.layerState.stagingArea;e.pastLayerStates.push(Ce.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({...t[n]}),e.layerState.stagingArea={...p1.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,a=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>a){const s={width:Cd(Ce.clamp(o,64,512),64),height:Cd(Ce.clamp(a,64,512),64)},l={x:Hl(o/2-s.width/2,64),y:Hl(a/2-s.height/2,64)};if(e.boundingBoxDimensions=s,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=ih(s);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=ih(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},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(Ce.cloneDeep(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}}}),{addEraseRect:jW,addFillRect:NW,addImageToStagingArea:n3e,addLine:r3e,addPointToCurrentLine:$W,clearCanvasHistory:FW,clearMask:pE,commitColorPickerColor:i3e,commitStagingAreaImage:o3e,discardStagedImages:a3e,fitBoundingBoxToStage:bNe,mouseLeftCanvas:s3e,nextStagingAreaImage:l3e,prevStagingAreaImage:u3e,redo:c3e,resetCanvas:gE,resetCanvasInteractionState:d3e,resetCanvasView:BW,resizeAndScaleCanvas:r4,resizeCanvas:f3e,setBoundingBoxCoordinates:RC,setBoundingBoxDimensions:g1,setBoundingBoxPreviewFill:xNe,setBoundingBoxScaleMethod:h3e,setBrushColor:Mm,setBrushSize:Lm,setCanvasContainerDimensions:p3e,setColorPickerColor:g3e,setCursorPosition:m3e,setDoesCanvasNeedScaling:Li,setInitialCanvasImage:i4,setIsDrawing:zW,setIsMaskEnabled:h2,setIsMouseOverBoundingBox:Qb,setIsMoveBoundingBoxKeyHeld:SNe,setIsMoveStageKeyHeld:wNe,setIsMovingBoundingBox:IC,setIsMovingStage:S3,setIsTransformingBoundingBox:DC,setLayer:w3,setMaskColor:HW,setMergedCanvas:v3e,setShouldAutoSave:WW,setShouldCropToBoundingBoxOnSave:UW,setShouldDarkenOutsideBoundingBox:VW,setShouldLockBoundingBox:CNe,setShouldPreserveMaskedArea:GW,setShouldShowBoundingBox:y3e,setShouldShowBrush:_Ne,setShouldShowBrushPreview:kNe,setShouldShowCanvasDebugInfo:qW,setShouldShowCheckboardTransparency:ENe,setShouldShowGrid:KW,setShouldShowIntermediates:YW,setShouldShowStagingImage:b3e,setShouldShowStagingOutline:XO,setShouldSnapToGrid:C3,setStageCoordinates:XW,setStageScale:x3e,setTool:Jl,toggleShouldLockBoundingBox:PNe,toggleTool:TNe,undo:S3e,setScaledBoundingBoxDimensions:Jb,setShouldRestrictStrokesToBox:ZW}=DW.actions,w3e=DW.reducer,C3e={currentImageUuid:"",shouldPinGallery:!0,shouldShowGallery:!0,galleryScrollPosition:0,galleryImageMinimumWidth:64,galleryImageObjectFit:"cover",shouldHoldGalleryOpen:!1,shouldAutoSwitchToNewImages:!0,currentCategory:"result",categories:{user:{images:[],latest_mtime:void 0,earliest_mtime:void 0,areMoreImagesAvailable:!0},result:{images:[],latest_mtime:void 0,earliest_mtime:void 0,areMoreImagesAvailable:!0}},galleryWidth:300,shouldUseSingleGalleryColumn:!1},QW=ap({name:"gallery",initialState:C3e,reducers:{setCurrentImage:(e,t)=>{e.currentImage=t.payload,e.currentImageUuid=t.payload.uuid},removeImage:(e,t)=>{const{uuid:n,category:r}=t.payload,i=e.categories[r].images,o=i.filter(a=>a.uuid!==n);if(n===e.currentImageUuid){const a=i.findIndex(l=>l.uuid===n),s=Ce.clamp(a,0,o.length-1);e.currentImage=o.length?o[s]:void 0,e.currentImageUuid=o.length?o[s].uuid:""}e.categories[r].images=o},addImage:(e,t)=>{const{image:n,category:r}=t.payload,{uuid:i,url:o,mtime:a}=n,s=e.categories[r];s.images.find(l=>l.url===o&&l.mtime===a)||(s.images.unshift(n),e.shouldAutoSwitchToNewImages&&(e.currentImageUuid=i,e.currentImage=n,e.currentCategory=r),e.intermediateImage=void 0,s.latest_mtime=a)},setIntermediateImage:(e,t)=>{e.intermediateImage=t.payload},clearIntermediateImage:e=>{e.intermediateImage=void 0},selectNextImage:e=>{const{currentImage:t}=e;if(!t)return;const n=e.categories[t.category].images;if(t){const r=n.findIndex(i=>i.uuid===t.uuid);if(r{const{currentImage:t}=e;if(!t)return;const n=e.categories[t.category].images;if(t){const r=n.findIndex(i=>i.uuid===t.uuid);if(r>0){const i=n[r-1];e.currentImage=i,e.currentImageUuid=i.uuid}}},addGalleryImages:(e,t)=>{const{images:n,areMoreImagesAvailable:r,category:i}=t.payload,o=e.categories[i].images;if(n.length>0){const a=n.filter(s=>!o.find(l=>l.url===s.url&&l.mtime===s.mtime));if(e.categories[i].images=o.concat(a).sort((s,l)=>l.mtime-s.mtime),!e.currentImage){const s=n[0];e.currentImage=s,e.currentImageUuid=s.uuid}e.categories[i].latest_mtime=n[0].mtime,e.categories[i].earliest_mtime=n[n.length-1].mtime}r!==void 0&&(e.categories[i].areMoreImagesAvailable=r)},setShouldPinGallery:(e,t)=>{e.shouldPinGallery=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},setGalleryScrollPosition:(e,t)=>{e.galleryScrollPosition=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},setGalleryImageObjectFit:(e,t)=>{e.galleryImageObjectFit=t.payload},setShouldHoldGalleryOpen:(e,t)=>{e.shouldHoldGalleryOpen=t.payload},setShouldAutoSwitchToNewImages:(e,t)=>{e.shouldAutoSwitchToNewImages=t.payload},setCurrentCategory:(e,t)=>{e.currentCategory=t.payload},setGalleryWidth:(e,t)=>{e.galleryWidth=t.payload},setShouldUseSingleGalleryColumn:(e,t)=>{e.shouldUseSingleGalleryColumn=t.payload}}}),{addImage:sm,clearIntermediateImage:jC,removeImage:JW,setCurrentImage:ZO,addGalleryImages:_3e,setIntermediateImage:k3e,selectNextImage:mE,selectPrevImage:vE,setShouldPinGallery:E3e,setShouldShowGallery:Am,setGalleryScrollPosition:P3e,setGalleryImageMinimumWidth:Gv,setGalleryImageObjectFit:T3e,setShouldHoldGalleryOpen:eU,setShouldAutoSwitchToNewImages:M3e,setCurrentCategory:ex,setGalleryWidth:L3e,setShouldUseSingleGalleryColumn:A3e}=QW.actions,O3e=QW.reducer,R3e={isLightboxOpen:!1},I3e=R3e,tU=ap({name:"lightbox",initialState:I3e,reducers:{setIsLightboxOpen:(e,t)=>{e.isLightboxOpen=t.payload}}}),{setIsLightboxOpen:Om}=tU.actions,D3e=tU.reducer,Rm=e=>typeof e=="string"?e:e.length===1?e[0].prompt:e.map(t=>`${t.prompt}:${t.weight}`).join(" ");function nU(e){let t=typeof e=="string"?e:Rm(e),n="";const r=new RegExp(/\[([^\][]*)]/,"gi"),i=[...t.matchAll(r)].map(o=>o[1]);return i.length&&(n=i.join(" "),i.forEach(o=>{t=t.replace(`[${o}]`,"").replaceAll("[]","").trim()})),[t,n]}const j3e=e=>{const r=e.split(",").map(i=>i.split(":")).map(i=>({seed:Number(i[0]),weight:Number(i[1])}));return yE(r)?r:!1},yE=e=>Boolean(typeof e=="string"?j3e(e):e.length&&!e.some(t=>{const{seed:n,weight:r}=t,i=!isNaN(parseInt(n.toString(),10)),o=!isNaN(parseInt(r.toString(),10))&&r>=0&&r<=1;return!(i&&o)})),_3=e=>e.reduce((t,n,r,i)=>{const{seed:o,weight:a}=n;return t+=`${o}:${a}`,r!==i.length-1&&(t+=","),t},""),N3e=e=>e.split(",").map(r=>r.split(":")).map(r=>[parseInt(r[0],10),parseFloat(r[1])]),rU={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,maskPath:"",perlin:0,prompt:"",negativePrompt:"",sampler:"k_lms",seamBlur:16,seamless:!1,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0},$3e=rU,iU=ap({name:"generation",initialState:$3e,reducers:{setPrompt:(e,t)=>{const n=t.payload;typeof n=="string"?e.prompt=n:e.prompt=Rm(n)},setNegativePrompt:(e,t)=>{const n=t.payload;typeof n=="string"?e.negativePrompt=n:e.negativePrompt=Rm(n)},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=Ce.clamp(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=Ce.clamp(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},setSampler:(e,t)=>{e.sampler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setMaskPath:(e,t)=>{e.maskPath=t.payload},setSeamless:(e,t)=>{e.seamless=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setParameter:(e,t)=>{const{key:n,value:r}=t.payload,i={...e,[n]:r};return n==="seed"&&(i.shouldRandomizeSeed=!1),i},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},setAllTextToImageParameters:(e,t)=>{const{sampler:n,prompt:r,seed:i,variations:o,steps:a,cfg_scale:s,threshold:l,perlin:u,seamless:d,hires_fix:p,width:m,height:y}=t.payload.image;o&&o.length>0?(e.seedWeights=_3(o),e.shouldGenerateVariations=!0,e.variationAmount=0):e.shouldGenerateVariations=!1,i&&(e.seed=i,e.shouldRandomizeSeed=!1),r&&(e.prompt=Rm(r)),n&&(e.sampler=n),a&&(e.steps=a),s&&(e.cfgScale=s),typeof l>"u"?e.threshold=0:e.threshold=l,typeof u>"u"?e.perlin=0:e.perlin=u,typeof d=="boolean"&&(e.seamless=d),m&&(e.width=m),y&&(e.height=y)},setAllImageToImageParameters:(e,t)=>{const{type:n,strength:r,fit:i,init_image_path:o,mask_image_path:a}=t.payload.image;n==="img2img"&&(o&&(e.initialImage=o),a&&(e.maskPath=a),r&&(e.img2imgStrength=r),typeof i=="boolean"&&(e.shouldFitToWidthHeight=i))},setAllParameters:(e,t)=>{const{type:n,sampler:r,prompt:i,seed:o,variations:a,steps:s,cfg_scale:l,threshold:u,perlin:d,seamless:p,hires_fix:m,width:y,height:b,strength:w,fit:E,init_image_path:_,mask_image_path:k}=t.payload.image;if(n==="img2img"&&(_&&(e.initialImage=_),k&&(e.maskPath=k),w&&(e.img2imgStrength=w),typeof E=="boolean"&&(e.shouldFitToWidthHeight=E)),a&&a.length>0?(e.seedWeights=_3(a),e.shouldGenerateVariations=!0,e.variationAmount=0):e.shouldGenerateVariations=!1,o&&(e.seed=o,e.shouldRandomizeSeed=!1),i){const[T,L]=nU(i);T&&(e.prompt=T),L?e.negativePrompt=L:e.negativePrompt=""}r&&(e.sampler=r),s&&(e.steps=s),l&&(e.cfgScale=l),typeof u>"u"?e.threshold=0:e.threshold=u,typeof d>"u"?e.perlin=0:e.perlin=d,typeof p=="boolean"&&(e.seamless=p),y&&(e.width=y),b&&(e.height=b)},resetParametersState:e=>({...e,...rU}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},setInitialImage:(e,t)=>{e.initialImage=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}}}),{clampSymmetrySteps:oU,clearInitialImage:aU,resetParametersState:MNe,resetSeed:LNe,setAllImageToImageParameters:F3e,setAllParameters:sU,setAllTextToImageParameters:ANe,setCfgScale:gk,setHeight:uS,setImg2imgStrength:mk,setInfillMethod:lU,setInitialImage:y0,setIterations:QO,setMaskPath:uU,setParameter:ONe,setPerlin:vk,setPrompt:cU,setNegativePrompt:dU,setSampler:fU,setSeamBlur:JO,setSeamless:hU,setSeamSize:eR,setSeamSteps:tR,setSeamStrength:nR,setSeed:p2,setSeedWeights:pU,setShouldFitToWidthHeight:gU,setShouldGenerateVariations:B3e,setShouldRandomizeSeed:z3e,setSteps:yk,setThreshold:bk,setTileSize:rR,setVariationAmount:iR,setWidth:cS,setShouldUseSymmetry:H3e,setHorizontalSymmetrySteps:oR,setVerticalSymmetrySteps:aR}=iU.actions,W3e=iU.reducer,mU={codeformerFidelity:.75,facetoolStrength:.75,facetoolType:"gfpgan",hiresFix:!1,hiresStrength:.75,shouldLoopback:!1,shouldRunESRGAN:!1,shouldRunFacetool:!1,upscalingLevel:4,upscalingDenoising:.75,upscalingStrength:.75},U3e=mU,vU=ap({name:"postprocessing",initialState:U3e,reducers:{setAllPostProcessingParameters:(e,t)=>{const{type:n,hires_fix:r}=t.payload.image;n==="txt2img"&&(e.hiresFix=Boolean(r))},setFacetoolStrength:(e,t)=>{e.facetoolStrength=t.payload},setCodeformerFidelity:(e,t)=>{e.codeformerFidelity=t.payload},setUpscalingLevel:(e,t)=>{e.upscalingLevel=t.payload},setUpscalingDenoising:(e,t)=>{e.upscalingDenoising=t.payload},setUpscalingStrength:(e,t)=>{e.upscalingStrength=t.payload},setHiresFix:(e,t)=>{e.hiresFix=t.payload},setHiresStrength:(e,t)=>{e.hiresStrength=t.payload},resetPostprocessingState:e=>({...e,...mU}),setShouldRunFacetool:(e,t)=>{e.shouldRunFacetool=t.payload},setFacetoolType:(e,t)=>{e.facetoolType=t.payload},setShouldRunESRGAN:(e,t)=>{e.shouldRunESRGAN=t.payload},setShouldLoopback:(e,t)=>{e.shouldLoopback=t.payload}}}),{setAllPostProcessingParameters:yU,resetPostprocessingState:RNe,setCodeformerFidelity:xk,setFacetoolStrength:k3,setFacetoolType:dS,setHiresFix:bU,setHiresStrength:sR,setShouldLoopback:V3e,setShouldRunESRGAN:G3e,setShouldRunFacetool:q3e,setUpscalingLevel:xU,setUpscalingDenoising:Sk,setUpscalingStrength:wk}=vU.actions,K3e=vU.reducer;function gs(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function lR(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:{};gs(this,e),this.init(t,n)}return ms(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=r.prefix||"i18next:",this.logger=n||Z3e,this.options=r,this.debug=r.debug}},{key:"setDebug",value:function(n){this.debug=n}},{key:"log",value:function(){for(var n=arguments.length,r=new Array(n),i=0;i1?r-1:0),o=1;o-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}for(var o=typeof t!="string"?[].concat(t):t.split(".");o.length>1;){if(i())return{};var a=r(o.shift());!e[a]&&n&&(e[a]=new n),Object.prototype.hasOwnProperty.call(e,a)?e=e[a]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function hR(e,t,n){var r=bE(e,t,Object),i=r.obj,o=r.k;i[o]=n}function ewe(e,t,n,r){var i=bE(e,t,Object),o=i.obj,a=i.k;o[a]=o[a]||[],r&&(o[a]=o[a].concat(n)),r||o[a].push(n)}function E3(e,t){var n=bE(e,t),r=n.obj,i=n.k;if(r)return r[i]}function pR(e,t,n){var r=E3(e,n);return r!==void 0?r:E3(t,n)}function _U(e,t,n){for(var 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]):_U(e[r],t[r],n):e[r]=t[r]);return e}function Mg(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var twe={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function nwe(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,function(t){return twe[t]}):e}var a4=typeof window<"u"&&window.navigator&&typeof window.navigator.userAgentData>"u"&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,rwe=[" ",",","?","!",";"];function iwe(e,t,n){t=t||"",n=n||"";var r=rwe.filter(function(s){return t.indexOf(s)<0&&n.indexOf(s)<0});if(r.length===0)return!0;var i=new RegExp("(".concat(r.map(function(s){return s==="?"?"\\?":s}).join("|"),")")),o=!i.test(e);if(!o){var a=e.indexOf(n);a>0&&!i.test(e.substring(0,a))&&(o=!0)}return o}function gR(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 tx(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function kU(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(e){if(e[t])return e[t];for(var r=t.split(n),i=e,o=0;oo+a;)a++,s=r.slice(o,o+a).join(n),l=i[s];if(l===void 0)return;if(l===null)return null;if(t.endsWith(s)){if(typeof l=="string")return l;if(s&&typeof l[s]=="string")return l[s]}var u=r.slice(o+a).join(n);return u?kU(l,u,n):void 0}i=i[r[o]]}return i}}var swe=function(e){o4(n,e);var t=owe(n);function n(r){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return gs(this,n),i=t.call(this),a4&&Jd.call(Fd(i)),i.data=r||{},i.options=o,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.options.ignoreJSONStructure===void 0&&(i.options.ignoreJSONStructure=!0),i}return ms(n,[{key:"addNamespaces",value:function(i){this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}},{key:"removeNamespaces",value:function(i){var o=this.options.ns.indexOf(i);o>-1&&this.options.ns.splice(o,1)}},{key:"getResource",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},l=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,u=s.ignoreJSONStructure!==void 0?s.ignoreJSONStructure:this.options.ignoreJSONStructure,d=[i,o];a&&typeof a!="string"&&(d=d.concat(a)),a&&typeof a=="string"&&(d=d.concat(l?a.split(l):a)),i.indexOf(".")>-1&&(d=i.split("."));var p=E3(this.data,d);return p||!u||typeof a!="string"?p:kU(this.data&&this.data[i]&&this.data[i][o],a,l)}},{key:"addResource",value:function(i,o,a,s){var l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},u=this.options.keySeparator;u===void 0&&(u=".");var d=[i,o];a&&(d=d.concat(u?a.split(u):a)),i.indexOf(".")>-1&&(d=i.split("."),s=o,o=d[1]),this.addNamespaces(o),hR(this.data,d,s),l.silent||this.emit("added",i,o,a,s)}},{key:"addResources",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var l in a)(typeof a[l]=="string"||Object.prototype.toString.apply(a[l])==="[object Array]")&&this.addResource(i,o,l,a[l],{silent:!0});s.silent||this.emit("added",i,o,a)}},{key:"addResourceBundle",value:function(i,o,a,s,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},d=[i,o];i.indexOf(".")>-1&&(d=i.split("."),s=a,a=o,o=d[1]),this.addNamespaces(o);var p=E3(this.data,d)||{};s?_U(p,a,l):p=tx(tx({},p),a),hR(this.data,d,p),u.silent||this.emit("added",i,o,a)}},{key:"removeResourceBundle",value:function(i,o){this.hasResourceBundle(i,o)&&delete this.data[i][o],this.removeNamespaces(o),this.emit("removed",i,o)}},{key:"hasResourceBundle",value:function(i,o){return this.getResource(i,o)!==void 0}},{key:"getResourceBundle",value:function(i,o){return o||(o=this.options.defaultNS),this.options.compatibilityAPI==="v1"?tx(tx({},{}),this.getResource(i,o)):this.getResource(i,o)}},{key:"getDataByLanguage",value:function(i){return this.data[i]}},{key:"hasLanguageSomeTranslations",value:function(i){var o=this.getDataByLanguage(i),a=o&&Object.keys(o)||[];return!!a.find(function(s){return o[s]&&Object.keys(o[s]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),n}(Jd),EU={processors:{},addPostProcessor:function(t){this.processors[t.name]=t},handle:function(t,n,r,i,o){var a=this;return t.forEach(function(s){a.processors[s]&&(n=a.processors[s].process(n,r,i,o))}),n}};function mR(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 yo(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var vR={},yR=function(e){o4(n,e);var t=lwe(n);function n(r){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return gs(this,n),i=t.call(this),a4&&Jd.call(Fd(i)),J3e(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r,Fd(i)),i.options=o,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.logger=Wl.create("translator"),i}return ms(n,[{key:"changeLanguage",value:function(i){i&&(this.language=i)}},{key:"exists",value:function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(i==null)return!1;var a=this.resolve(i,o);return a&&a.res!==void 0}},{key:"extractFromKey",value:function(i,o){var a=o.nsSeparator!==void 0?o.nsSeparator:this.options.nsSeparator;a===void 0&&(a=":");var s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,l=o.ns||this.options.defaultNS||[],u=a&&i.indexOf(a)>-1,d=!this.options.userDefinedKeySeparator&&!o.keySeparator&&!this.options.userDefinedNsSeparator&&!o.nsSeparator&&!iwe(i,a,s);if(u&&!d){var p=i.match(this.interpolator.nestingRegexp);if(p&&p.length>0)return{key:i,namespaces:l};var m=i.split(a);(a!==s||a===s&&this.options.ns.indexOf(m[0])>-1)&&(l=m.shift()),i=m.join(s)}return typeof l=="string"&&(l=[l]),{key:i,namespaces:l}}},{key:"translate",value:function(i,o,a){var s=this;if(Ks(o)!=="object"&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),o||(o={}),i==null)return"";Array.isArray(i)||(i=[String(i)]);var l=o.returnDetails!==void 0?o.returnDetails:this.options.returnDetails,u=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,d=this.extractFromKey(i[i.length-1],o),p=d.key,m=d.namespaces,y=m[m.length-1],b=o.lng||this.language,w=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(b&&b.toLowerCase()==="cimode"){if(w){var E=o.nsSeparator||this.options.nsSeparator;return l?{res:"".concat(y).concat(E).concat(p),usedKey:p,exactUsedKey:p,usedLng:b,usedNS:y}:"".concat(y).concat(E).concat(p)}return l?{res:p,usedKey:p,exactUsedKey:p,usedLng:b,usedNS:y}:p}var _=this.resolve(i,o),k=_&&_.res,T=_&&_.usedKey||p,L=_&&_.exactUsedKey||p,O=Object.prototype.toString.apply(k),D=["[object Number]","[object Function]","[object RegExp]"],I=o.joinArrays!==void 0?o.joinArrays:this.options.joinArrays,N=!this.i18nFormat||this.i18nFormat.handleAsObject,W=typeof k!="string"&&typeof k!="boolean"&&typeof k!="number";if(N&&k&&W&&D.indexOf(O)<0&&!(typeof I=="string"&&O==="[object Array]")){if(!o.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var B=this.options.returnedObjectHandler?this.options.returnedObjectHandler(T,k,yo(yo({},o),{},{ns:m})):"key '".concat(p," (").concat(this.language,")' returned an object instead of string.");return l?(_.res=B,_):B}if(u){var K=O==="[object Array]",ne=K?[]:{},z=K?L:T;for(var $ in k)if(Object.prototype.hasOwnProperty.call(k,$)){var V="".concat(z).concat(u).concat($);ne[$]=this.translate(V,yo(yo({},o),{joinArrays:!1,ns:m})),ne[$]===V&&(ne[$]=k[$])}k=ne}}else if(N&&typeof I=="string"&&O==="[object Array]")k=k.join(I),k&&(k=this.extendTranslation(k,i,o,a));else{var X=!1,Q=!1,G=o.count!==void 0&&typeof o.count!="string",Y=n.hasDefaultValue(o),ee=G?this.pluralResolver.getSuffix(b,o.count,o):"",fe=o["defaultValue".concat(ee)]||o.defaultValue;!this.isValidLookup(k)&&Y&&(X=!0,k=fe),this.isValidLookup(k)||(Q=!0,k=p);var _e=o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,we=_e&&Q?void 0:k,xe=Y&&fe!==k&&this.options.updateMissing;if(Q||X||xe){if(this.logger.log(xe?"updateKey":"missingKey",b,y,p,xe?fe:k),u){var Le=this.resolve(p,yo(yo({},o),{},{keySeparator:!1}));Le&&Le.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.")}var Se=[],Je=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Je&&Je[0])for(var Xe=0;Xe1&&arguments[1]!==void 0?arguments[1]:{},s,l,u,d,p;return typeof i=="string"&&(i=[i]),i.forEach(function(m){if(!o.isValidLookup(s)){var y=o.extractFromKey(m,a),b=y.key;l=b;var w=y.namespaces;o.options.fallbackNS&&(w=w.concat(o.options.fallbackNS));var E=a.count!==void 0&&typeof a.count!="string",_=E&&!a.ordinal&&a.count===0&&o.pluralResolver.shouldUseIntlApi(),k=a.context!==void 0&&(typeof a.context=="string"||typeof a.context=="number")&&a.context!=="",T=a.lngs?a.lngs:o.languageUtils.toResolveHierarchy(a.lng||o.language,a.fallbackLng);w.forEach(function(L){o.isValidLookup(s)||(p=L,!vR["".concat(T[0],"-").concat(L)]&&o.utils&&o.utils.hasLoadedNamespace&&!o.utils.hasLoadedNamespace(p)&&(vR["".concat(T[0],"-").concat(L)]=!0,o.logger.warn('key "'.concat(l,'" for languages "').concat(T.join(", "),`" won't get resolved as namespace "`).concat(p,'" 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!!!")),T.forEach(function(O){if(!o.isValidLookup(s)){d=O;var D=[b];if(o.i18nFormat&&o.i18nFormat.addLookupKeys)o.i18nFormat.addLookupKeys(D,b,O,L,a);else{var I;E&&(I=o.pluralResolver.getSuffix(O,a.count,a));var N="".concat(o.options.pluralSeparator,"zero");if(E&&(D.push(b+I),_&&D.push(b+N)),k){var W="".concat(b).concat(o.options.contextSeparator).concat(a.context);D.push(W),E&&(D.push(W+I),_&&D.push(W+N))}}for(var B;B=D.pop();)o.isValidLookup(s)||(u=B,s=o.getResource(O,L,B,a))}}))})}}),{res:s,usedKey:l,exactUsedKey:u,usedLng:d,usedNS:p}}},{key:"isValidLookup",value:function(i){return i!==void 0&&!(!this.options.returnNull&&i===null)&&!(!this.options.returnEmptyString&&i==="")}},{key:"getResource",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(i,o,a,s):this.resourceStore.getResource(i,o,a,s)}}],[{key:"hasDefaultValue",value:function(i){var o="defaultValue";for(var a in i)if(Object.prototype.hasOwnProperty.call(i,a)&&o===a.substring(0,o.length)&&i[a]!==void 0)return!0;return!1}}]),n}(Jd);function NC(e){return e.charAt(0).toUpperCase()+e.slice(1)}var bR=function(){function e(t){gs(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Wl.create("languageUtils")}return ms(e,[{key:"getScriptPartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return null;var r=n.split("-");return r.length===2||(r.pop(),r[r.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(r.join("-"))}},{key:"getLanguagePartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return n;var r=n.split("-");return this.formatLanguageCode(r[0])}},{key:"formatLanguageCode",value:function(n){if(typeof n=="string"&&n.indexOf("-")>-1){var r=["hans","hant","latn","cyrl","cans","mong","arab"],i=n.split("-");return this.options.lowerCaseLng?i=i.map(function(o){return o.toLowerCase()}):i.length===2?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),r.indexOf(i[1].toLowerCase())>-1&&(i[1]=NC(i[1].toLowerCase()))):i.length===3&&(i[0]=i[0].toLowerCase(),i[1].length===2&&(i[1]=i[1].toUpperCase()),i[0]!=="sgn"&&i[2].length===2&&(i[2]=i[2].toUpperCase()),r.indexOf(i[1].toLowerCase())>-1&&(i[1]=NC(i[1].toLowerCase())),r.indexOf(i[2].toLowerCase())>-1&&(i[2]=NC(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?n.toLowerCase():n}},{key:"isSupportedCode",value:function(n){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(n=this.getLanguagePartFromCode(n)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(n)>-1}},{key:"getBestMatchFromCodes",value:function(n){var r=this;if(!n)return null;var i;return n.forEach(function(o){if(!i){var a=r.formatLanguageCode(o);(!r.options.supportedLngs||r.isSupportedCode(a))&&(i=a)}}),!i&&this.options.supportedLngs&&n.forEach(function(o){if(!i){var a=r.getLanguagePartFromCode(o);if(r.isSupportedCode(a))return i=a;i=r.options.supportedLngs.find(function(s){if(s.indexOf(a)===0)return s})}}),i||(i=this.getFallbackCodes(this.options.fallbackLng)[0]),i}},{key:"getFallbackCodes",value:function(n,r){if(!n)return[];if(typeof n=="function"&&(n=n(r)),typeof n=="string"&&(n=[n]),Object.prototype.toString.apply(n)==="[object Array]")return n;if(!r)return n.default||[];var i=n[r];return i||(i=n[this.getScriptPartFromCode(r)]),i||(i=n[this.formatLanguageCode(r)]),i||(i=n[this.getLanguagePartFromCode(r)]),i||(i=n.default),i||[]}},{key:"toResolveHierarchy",value:function(n,r){var i=this,o=this.getFallbackCodes(r||this.options.fallbackLng||[],n),a=[],s=function(u){u&&(i.isSupportedCode(u)?a.push(u):i.logger.warn("rejecting language code not found in supportedLngs: ".concat(u)))};return typeof n=="string"&&n.indexOf("-")>-1?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(n)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(n)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(n))):typeof n=="string"&&s(this.formatLanguageCode(n)),o.forEach(function(l){a.indexOf(l)<0&&s(i.formatLanguageCode(l))}),a}}]),e}(),cwe=[{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}],dwe={1:function(t){return Number(t>1)},2:function(t){return Number(t!=1)},3:function(t){return 0},4:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},5:function(t){return Number(t==0?0:t==1?1:t==2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5)},6:function(t){return Number(t==1?0:t>=2&&t<=4?1:2)},7:function(t){return Number(t==1?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},8:function(t){return Number(t==1?0:t==2?1:t!=8&&t!=11?2:3)},9:function(t){return Number(t>=2)},10:function(t){return Number(t==1?0:t==2?1:t<7?2:t<11?3:4)},11:function(t){return Number(t==1||t==11?0:t==2||t==12?1:t>2&&t<20?2:3)},12:function(t){return Number(t%10!=1||t%100==11)},13:function(t){return Number(t!==0)},14:function(t){return Number(t==1?0:t==2?1:t==3?2:3)},15:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2)},16:function(t){return Number(t%10==1&&t%100!=11?0:t!==0?1:2)},17:function(t){return Number(t==1||t%10==1&&t%100!=11?0:1)},18:function(t){return Number(t==0?0:t==1?1:2)},19:function(t){return Number(t==1?0:t==0||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3)},20:function(t){return Number(t==1?0:t==0||t%100>0&&t%100<20?1:2)},21:function(t){return Number(t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0)},22:function(t){return Number(t==1?0:t==2?1:(t<0||t>10)&&t%10==0?2:3)}},fwe=["v1","v2","v3"],xR={zero:0,one:1,two:2,few:3,many:4,other:5};function hwe(){var e={};return cwe.forEach(function(t){t.lngs.forEach(function(n){e[n]={numbers:t.nr,plurals:dwe[t.fc]}})}),e}var pwe=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};gs(this,e),this.languageUtils=t,this.options=n,this.logger=Wl.create("pluralResolver"),(!this.options.compatibilityJSON||this.options.compatibilityJSON==="v4")&&(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=hwe()}return ms(e,[{key:"addRule",value:function(n,r){this.rules[n]=r}},{key:"getRule",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(n,{type:r.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[n]||this.rules[this.languageUtils.getLanguagePartFromCode(n)]}},{key:"needsPlural",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(n,r);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(n,i).map(function(o){return"".concat(r).concat(o)})}},{key:"getSuffixes",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=this.getRule(n,i);return o?this.shouldUseIntlApi()?o.resolvedOptions().pluralCategories.sort(function(a,s){return xR[a]-xR[s]}).map(function(a){return"".concat(r.options.prepend).concat(a)}):o.numbers.map(function(a){return r.getSuffix(n,a,i)}):[]}},{key:"getSuffix",value:function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=this.getRule(n,i);return o?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(o.select(r)):this.getSuffixRetroCompatible(o,r):(this.logger.warn("no plural rule found for: ".concat(n)),"")}},{key:"getSuffixRetroCompatible",value:function(n,r){var i=this,o=n.noAbs?n.plurals(r):n.plurals(Math.abs(r)),a=n.numbers[o];this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1&&(a===2?a="plural":a===1&&(a=""));var s=function(){return i.options.prepend&&a.toString()?i.options.prepend+a.toString():a.toString()};return this.options.compatibilityJSON==="v1"?a===1?"":typeof a=="number"?"_plural_".concat(a.toString()):s():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1?s():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}},{key:"shouldUseIntlApi",value:function(){return!fwe.includes(this.options.compatibilityJSON)}}]),e}();function SR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Fs(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:{};gs(this,e),this.logger=Wl.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(n){return n},this.init(t)}return ms(e,[{key:"init",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};n.interpolation||(n.interpolation={escapeValue:!0});var r=n.interpolation;this.escape=r.escape!==void 0?r.escape:nwe,this.escapeValue=r.escapeValue!==void 0?r.escapeValue:!0,this.useRawValueToEscape=r.useRawValueToEscape!==void 0?r.useRawValueToEscape:!1,this.prefix=r.prefix?Mg(r.prefix):r.prefixEscaped||"{{",this.suffix=r.suffix?Mg(r.suffix):r.suffixEscaped||"}}",this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||",",this.unescapePrefix=r.unescapeSuffix?"":r.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":r.unescapeSuffix||"",this.nestingPrefix=r.nestingPrefix?Mg(r.nestingPrefix):r.nestingPrefixEscaped||Mg("$t("),this.nestingSuffix=r.nestingSuffix?Mg(r.nestingSuffix):r.nestingSuffixEscaped||Mg(")"),this.nestingOptionsSeparator=r.nestingOptionsSeparator?r.nestingOptionsSeparator:r.nestingOptionsSeparator||",",this.maxReplaces=r.maxReplaces?r.maxReplaces:1e3,this.alwaysFormat=r.alwaysFormat!==void 0?r.alwaysFormat:!1,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var n="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(n,"g");var r="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(r,"g");var i="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(i,"g")}},{key:"interpolate",value:function(n,r,i,o){var a=this,s,l,u,d=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function p(E){return E.replace(/\$/g,"$$$$")}var m=function(_){if(_.indexOf(a.formatSeparator)<0){var k=pR(r,d,_);return a.alwaysFormat?a.format(k,void 0,i,Fs(Fs(Fs({},o),r),{},{interpolationkey:_})):k}var T=_.split(a.formatSeparator),L=T.shift().trim(),O=T.join(a.formatSeparator).trim();return a.format(pR(r,d,L),O,i,Fs(Fs(Fs({},o),r),{},{interpolationkey:L}))};this.resetRegExp();var y=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,b=o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables,w=[{regex:this.regexpUnescape,safeValue:function(_){return p(_)}},{regex:this.regexp,safeValue:function(_){return a.escapeValue?p(a.escape(_)):p(_)}}];return w.forEach(function(E){for(u=0;s=E.regex.exec(n);){var _=s[1].trim();if(l=m(_),l===void 0)if(typeof y=="function"){var k=y(n,s,o);l=typeof k=="string"?k:""}else if(o&&Object.prototype.hasOwnProperty.call(o,_))l="";else if(b){l=s[0];continue}else a.logger.warn("missed to pass in variable ".concat(_," for interpolating ").concat(n)),l="";else typeof l!="string"&&!a.useRawValueToEscape&&(l=fR(l));var T=E.safeValue(l);if(n=n.replace(s[0],T),b?(E.regex.lastIndex+=l.length,E.regex.lastIndex-=s[0].length):E.regex.lastIndex=0,u++,u>=a.maxReplaces)break}}),n}},{key:"nest",value:function(n,r){var i=this,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a,s,l;function u(y,b){var w=this.nestingOptionsSeparator;if(y.indexOf(w)<0)return y;var E=y.split(new RegExp("".concat(w,"[ ]*{"))),_="{".concat(E[1]);y=E[0],_=this.interpolate(_,l);var k=_.match(/'/g),T=_.match(/"/g);(k&&k.length%2===0&&!T||T.length%2!==0)&&(_=_.replace(/'/g,'"'));try{l=JSON.parse(_),b&&(l=Fs(Fs({},b),l))}catch(L){return this.logger.warn("failed parsing options string in nesting for key ".concat(y),L),"".concat(y).concat(w).concat(_)}return delete l.defaultValue,y}for(;a=this.nestingRegexp.exec(n);){var d=[];l=Fs({},o),l=l.replace&&typeof l.replace!="string"?l.replace:l,l.applyPostProcessor=!1,delete l.defaultValue;var p=!1;if(a[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(a[1])){var m=a[1].split(this.formatSeparator).map(function(y){return y.trim()});a[1]=m.shift(),d=m,p=!0}if(s=r(u.call(this,a[1].trim(),l),l),s&&a[0]===n&&typeof s!="string")return s;typeof s!="string"&&(s=fR(s)),s||(this.logger.warn("missed to resolve ".concat(a[1]," for nesting ").concat(n)),s=""),p&&(s=d.reduce(function(y,b){return i.format(y,b,o.lng,Fs(Fs({},o),{},{interpolationkey:a[1].trim()}))},s.trim())),n=n.replace(a[0],s),this.regexp.lastIndex=0}return n}}]),e}();function wR(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 Ru(e){for(var t=1;t-1){var r=e.split("(");t=r[0].toLowerCase().trim();var i=r[1].substring(0,r[1].length-1);if(t==="currency"&&i.indexOf(":")<0)n.currency||(n.currency=i.trim());else if(t==="relativetime"&&i.indexOf(":")<0)n.range||(n.range=i.trim());else{var o=i.split(";");o.forEach(function(a){if(a){var s=a.split(":"),l=X3e(s),u=l[0],d=l.slice(1),p=d.join(":").trim().replace(/^'+|'+$/g,"");n[u.trim()]||(n[u.trim()]=p),p==="false"&&(n[u.trim()]=!1),p==="true"&&(n[u.trim()]=!0),isNaN(p)||(n[u.trim()]=parseInt(p,10))}})}}return{formatName:t,formatOptions:n}}function Lg(e){var t={};return function(r,i,o){var a=i+JSON.stringify(o),s=t[a];return s||(s=e(i,o),t[a]=s),s(r)}}var vwe=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};gs(this,e),this.logger=Wl.create("formatter"),this.options=t,this.formats={number:Lg(function(n,r){var i=new Intl.NumberFormat(n,Ru({},r));return function(o){return i.format(o)}}),currency:Lg(function(n,r){var i=new Intl.NumberFormat(n,Ru(Ru({},r),{},{style:"currency"}));return function(o){return i.format(o)}}),datetime:Lg(function(n,r){var i=new Intl.DateTimeFormat(n,Ru({},r));return function(o){return i.format(o)}}),relativetime:Lg(function(n,r){var i=new Intl.RelativeTimeFormat(n,Ru({},r));return function(o){return i.format(o,r.range||"day")}}),list:Lg(function(n,r){var i=new Intl.ListFormat(n,Ru({},r));return function(o){return i.format(o)}})},this.init(t)}return ms(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}},i=r.interpolation;this.formatSeparator=i.formatSeparator?i.formatSeparator:i.formatSeparator||","}},{key:"add",value:function(n,r){this.formats[n.toLowerCase().trim()]=r}},{key:"addCached",value:function(n,r){this.formats[n.toLowerCase().trim()]=Lg(r)}},{key:"format",value:function(n,r,i){var o=this,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=r.split(this.formatSeparator),l=s.reduce(function(u,d){var p=mwe(d),m=p.formatName,y=p.formatOptions;if(o.formats[m]){var b=u;try{var w=a&&a.formatParams&&a.formatParams[a.interpolationkey]||{},E=w.locale||w.lng||a.locale||a.lng||i;b=o.formats[m](u,E,Ru(Ru(Ru({},y),a),w))}catch(_){o.logger.warn(_)}return b}else o.logger.warn("there was no format function for ".concat(m));return u},n);return l}}]),e}();function CR(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 _R(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function xwe(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}var Swe=function(e){o4(n,e);var t=ywe(n);function n(r,i,o){var a,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return gs(this,n),a=t.call(this),a4&&Jd.call(Fd(a)),a.backend=r,a.store=i,a.services=o,a.languageUtils=o.languageUtils,a.options=s,a.logger=Wl.create("backendConnector"),a.waitingReads=[],a.maxParallelReads=s.maxParallelReads||10,a.readingCalls=0,a.maxRetries=s.maxRetries>=0?s.maxRetries:5,a.retryTimeout=s.retryTimeout>=1?s.retryTimeout:350,a.state={},a.queue=[],a.backend&&a.backend.init&&a.backend.init(o,s.backend,s),a}return ms(n,[{key:"queueLoad",value:function(i,o,a,s){var l=this,u={},d={},p={},m={};return i.forEach(function(y){var b=!0;o.forEach(function(w){var E="".concat(y,"|").concat(w);!a.reload&&l.store.hasResourceBundle(y,w)?l.state[E]=2:l.state[E]<0||(l.state[E]===1?d[E]===void 0&&(d[E]=!0):(l.state[E]=1,b=!1,d[E]===void 0&&(d[E]=!0),u[E]===void 0&&(u[E]=!0),m[w]===void 0&&(m[w]=!0)))}),b||(p[y]=!0)}),(Object.keys(u).length||Object.keys(d).length)&&this.queue.push({pending:d,pendingCount:Object.keys(d).length,loaded:{},errors:[],callback:s}),{toLoad:Object.keys(u),pending:Object.keys(d),toLoadLanguages:Object.keys(p),toLoadNamespaces:Object.keys(m)}}},{key:"loaded",value:function(i,o,a){var s=i.split("|"),l=s[0],u=s[1];o&&this.emit("failedLoading",l,u,o),a&&this.store.addResourceBundle(l,u,a),this.state[i]=o?-1:2;var d={};this.queue.forEach(function(p){ewe(p.loaded,[l],u),xwe(p,i),o&&p.errors.push(o),p.pendingCount===0&&!p.done&&(Object.keys(p.loaded).forEach(function(m){d[m]||(d[m]={});var y=p.loaded[m];y.length&&y.forEach(function(b){d[m][b]===void 0&&(d[m][b]=!0)})}),p.done=!0,p.errors.length?p.callback(p.errors):p.callback())}),this.emit("loaded",d),this.queue=this.queue.filter(function(p){return!p.done})}},{key:"read",value:function(i,o,a){var s=this,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,u=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,d=arguments.length>5?arguments[5]:void 0;if(!i.length)return d(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:i,ns:o,fcName:a,tried:l,wait:u,callback:d});return}this.readingCalls++;var p=function(w,E){if(s.readingCalls--,s.waitingReads.length>0){var _=s.waitingReads.shift();s.read(_.lng,_.ns,_.fcName,_.tried,_.wait,_.callback)}if(w&&E&&l2&&arguments[2]!==void 0?arguments[2]:{},l=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."),l&&l();typeof i=="string"&&(i=this.languageUtils.toResolveHierarchy(i)),typeof o=="string"&&(o=[o]);var u=this.queueLoad(i,o,s,l);if(!u.toLoad.length)return u.pending.length||l(),null;u.toLoad.forEach(function(d){a.loadOne(d)})}},{key:"load",value:function(i,o,a){this.prepareLoading(i,o,{},a)}},{key:"reload",value:function(i,o,a){this.prepareLoading(i,o,{reload:!0},a)}},{key:"loadOne",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",s=i.split("|"),l=s[0],u=s[1];this.read(l,u,"read",void 0,void 0,function(d,p){d&&o.logger.warn("".concat(a,"loading namespace ").concat(u," for language ").concat(l," failed"),d),!d&&p&&o.logger.log("".concat(a,"loaded namespace ").concat(u," for language ").concat(l),p),o.loaded(i,d,p)})}},{key:"saveMissing",value:function(i,o,a,s,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},d=arguments.length>6&&arguments[6]!==void 0?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(o)){this.logger.warn('did not save key "'.concat(a,'" as the namespace "').concat(o,'" 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(!(a==null||a==="")){if(this.backend&&this.backend.create){var p=_R(_R({},u),{},{isUpdate:l}),m=this.backend.create.bind(this.backend);if(m.length<6)try{var y;m.length===5?y=m(i,o,a,s,p):y=m(i,o,a,s),y&&typeof y.then=="function"?y.then(function(b){return d(null,b)}).catch(d):d(null,y)}catch(b){d(b)}else m(i,o,a,s,d,p)}!i||!i[0]||this.store.addResource(i[0],o,a,s)}}}]),n}(Jd);function kR(){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:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){var n={};if(Ks(t[1])==="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),Ks(t[2])==="object"||Ks(t[3])==="object"){var r=t[3]||t[2];Object.keys(r).forEach(function(i){n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:function(t,n,r,i){return t},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function ER(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 PR(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 Tl(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function nx(){}function _we(e){var t=Object.getOwnPropertyNames(Object.getPrototypeOf(e));t.forEach(function(n){typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}var P3=function(e){o4(n,e);var t=wwe(n);function n(){var r,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(gs(this,n),r=t.call(this),a4&&Jd.call(Fd(r)),r.options=ER(i),r.services={},r.logger=Wl,r.modules={external:[]},_we(Fd(r)),o&&!r.isInitialized&&!i.isClone){if(!r.options.initImmediate)return r.init(i,o),g2(r,Fd(r));setTimeout(function(){r.init(i,o)},0)}return r}return ms(n,[{key:"init",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;typeof o=="function"&&(a=o,o={}),!o.defaultNS&&o.defaultNS!==!1&&o.ns&&(typeof o.ns=="string"?o.defaultNS=o.ns:o.ns.indexOf("translation")<0&&(o.defaultNS=o.ns[0]));var s=kR();this.options=Tl(Tl(Tl({},s),this.options),ER(o)),this.options.compatibilityAPI!=="v1"&&(this.options.interpolation=Tl(Tl({},s.interpolation),this.options.interpolation)),o.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=o.keySeparator),o.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=o.nsSeparator);function l(_){return _?typeof _=="function"?new _:_:null}if(!this.options.isClone){this.modules.logger?Wl.init(l(this.modules.logger),this.options):Wl.init(null,this.options);var u;this.modules.formatter?u=this.modules.formatter:typeof Intl<"u"&&(u=vwe);var d=new bR(this.options);this.store=new swe(this.options.resources,this.options);var p=this.services;p.logger=Wl,p.resourceStore=this.store,p.languageUtils=d,p.pluralResolver=new pwe(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),u&&(!this.options.interpolation.format||this.options.interpolation.format===s.interpolation.format)&&(p.formatter=l(u),p.formatter.init(p,this.options),this.options.interpolation.format=p.formatter.format.bind(p.formatter)),p.interpolator=new gwe(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new Swe(l(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",function(_){for(var k=arguments.length,T=new Array(k>1?k-1:0),L=1;L1?k-1:0),L=1;L0&&m[0]!=="dev"&&(this.options.lng=m[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined");var y=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];y.forEach(function(_){i[_]=function(){var k;return(k=i.store)[_].apply(k,arguments)}});var b=["addResource","addResources","addResourceBundle","removeResourceBundle"];b.forEach(function(_){i[_]=function(){var k;return(k=i.store)[_].apply(k,arguments),i}});var w=qv(),E=function(){var k=function(L,O){i.isInitialized&&!i.initializedStoreOnce&&i.logger.warn("init: i18next is already initialized. You should call init just once!"),i.isInitialized=!0,i.options.isClone||i.logger.log("initialized",i.options),i.emit("initialized",i.options),w.resolve(O),a(L,O)};if(i.languages&&i.options.compatibilityAPI!=="v1"&&!i.isInitialized)return k(null,i.t.bind(i));i.changeLanguage(i.options.lng,k)};return this.options.resources||!this.options.initImmediate?E():setTimeout(E,0),w}},{key:"loadResources",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nx,s=a,l=typeof i=="string"?i:this.language;if(typeof i=="function"&&(s=i),!this.options.resources||this.options.partialBundledLanguages){if(l&&l.toLowerCase()==="cimode")return s();var u=[],d=function(y){if(y){var b=o.services.languageUtils.toResolveHierarchy(y);b.forEach(function(w){u.indexOf(w)<0&&u.push(w)})}};if(l)d(l);else{var p=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);p.forEach(function(m){return d(m)})}this.options.preload&&this.options.preload.forEach(function(m){return d(m)}),this.services.backendConnector.load(u,this.options.ns,function(m){!m&&!o.resolvedLanguage&&o.language&&o.setResolvedLanguage(o.language),s(m)})}else s(null)}},{key:"reloadResources",value:function(i,o,a){var s=qv();return i||(i=this.languages),o||(o=this.options.ns),a||(a=nx),this.services.backendConnector.reload(i,o,function(l){s.resolve(),a(l)}),s}},{key:"use",value:function(i){if(!i)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!i.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return i.type==="backend"&&(this.modules.backend=i),(i.type==="logger"||i.log&&i.warn&&i.error)&&(this.modules.logger=i),i.type==="languageDetector"&&(this.modules.languageDetector=i),i.type==="i18nFormat"&&(this.modules.i18nFormat=i),i.type==="postProcessor"&&EU.addPostProcessor(i),i.type==="formatter"&&(this.modules.formatter=i),i.type==="3rdParty"&&this.modules.external.push(i),this}},{key:"setResolvedLanguage",value:function(i){if(!(!i||!this.languages)&&!(["cimode","dev"].indexOf(i)>-1))for(var o=0;o-1)&&this.store.hasLanguageSomeTranslations(a)){this.resolvedLanguage=a;break}}}},{key:"changeLanguage",value:function(i,o){var a=this;this.isLanguageChangingTo=i;var s=qv();this.emit("languageChanging",i);var l=function(m){a.language=m,a.languages=a.services.languageUtils.toResolveHierarchy(m),a.resolvedLanguage=void 0,a.setResolvedLanguage(m)},u=function(m,y){y?(l(y),a.translator.changeLanguage(y),a.isLanguageChangingTo=void 0,a.emit("languageChanged",y),a.logger.log("languageChanged",y)):a.isLanguageChangingTo=void 0,s.resolve(function(){return a.t.apply(a,arguments)}),o&&o(m,function(){return a.t.apply(a,arguments)})},d=function(m){!i&&!m&&a.services.languageDetector&&(m=[]);var y=typeof m=="string"?m:a.services.languageUtils.getBestMatchFromCodes(m);y&&(a.language||l(y),a.translator.language||a.translator.changeLanguage(y),a.services.languageDetector&&a.services.languageDetector.cacheUserLanguage&&a.services.languageDetector.cacheUserLanguage(y)),a.loadResources(y,function(b){u(b,y)})};return!i&&this.services.languageDetector&&!this.services.languageDetector.async?d(this.services.languageDetector.detect()):!i&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(d):this.services.languageDetector.detect(d):d(i),s}},{key:"getFixedT",value:function(i,o,a){var s=this,l=function u(d,p){var m;if(Ks(p)!=="object"){for(var y=arguments.length,b=new Array(y>2?y-2:0),w=2;w1&&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;var s=this.resolvedLanguage||this.languages[0],l=this.options?this.options.fallbackLng:!1,u=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;var d=function(y,b){var w=o.services.backendConnector.state["".concat(y,"|").concat(b)];return w===-1||w===2};if(a.precheck){var p=a.precheck(this,d);if(p!==void 0)return p}return!!(this.hasResourceBundle(s,i)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||d(s,i)&&(!l||d(u,i)))}},{key:"loadNamespaces",value:function(i,o){var a=this,s=qv();return this.options.ns?(typeof i=="string"&&(i=[i]),i.forEach(function(l){a.options.ns.indexOf(l)<0&&a.options.ns.push(l)}),this.loadResources(function(l){s.resolve(),o&&o(l)}),s):(o&&o(),Promise.resolve())}},{key:"loadLanguages",value:function(i,o){var a=qv();typeof i=="string"&&(i=[i]);var s=this.options.preload||[],l=i.filter(function(u){return s.indexOf(u)<0});return l.length?(this.options.preload=s.concat(l),this.loadResources(function(u){a.resolve(),o&&o(u)}),a):(o&&o(),Promise.resolve())}},{key:"dir",value:function(i){if(i||(i=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!i)return"rtl";var o=["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"],a=this.services&&this.services.languageUtils||new bR(kR());return o.indexOf(a.getLanguagePartFromCode(i))>-1||i.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nx,s=Tl(Tl(Tl({},this.options),o),{isClone:!0}),l=new n(s);(o.debug!==void 0||o.prefix!==void 0)&&(l.logger=l.logger.clone(o));var u=["store","services","language"];return u.forEach(function(d){l[d]=i[d]}),l.services=Tl({},this.services),l.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l.translator=new yR(l.services,l.options),l.translator.on("*",function(d){for(var p=arguments.length,m=new Array(p>1?p-1:0),y=1;y0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new P3(e,t)});var Et=P3.createInstance();Et.createInstance=P3.createInstance;Et.createInstance;Et.dir;Et.init;Et.loadResources;Et.reloadResources;Et.use;Et.changeLanguage;Et.getFixedT;Et.t;Et.exists;Et.setDefaultNamespace;Et.hasLoadedNamespace;Et.loadNamespaces;Et.loadLanguages;var PU=[],kwe=PU.forEach,Ewe=PU.slice;function Pwe(e){return kwe.call(Ewe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}var TR=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Twe=function(t,n,r){var i=r||{};i.path=i.path||"/";var o=encodeURIComponent(n),a="".concat(t,"=").concat(o);if(i.maxAge>0){var s=i.maxAge-0;if(Number.isNaN(s))throw new Error("maxAge should be a Number");a+="; Max-Age=".concat(Math.floor(s))}if(i.domain){if(!TR.test(i.domain))throw new TypeError("option domain is invalid");a+="; Domain=".concat(i.domain)}if(i.path){if(!TR.test(i.path))throw new TypeError("option path is invalid");a+="; Path=".concat(i.path)}if(i.expires){if(typeof i.expires.toUTCString!="function")throw new TypeError("option expires is invalid");a+="; Expires=".concat(i.expires.toUTCString())}if(i.httpOnly&&(a+="; HttpOnly"),i.secure&&(a+="; Secure"),i.sameSite){var l=typeof i.sameSite=="string"?i.sameSite.toLowerCase():i.sameSite;switch(l){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a},MR={create:function(t,n,r,i){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};r&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+r*60*1e3)),i&&(o.domain=i),document.cookie=Twe(t,encodeURIComponent(n),o)},read:function(t){for(var n="".concat(t,"="),r=document.cookie.split(";"),i=0;i-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));for(var i=r.substring(1),o=i.split("&"),a=0;a0){var l=o[a].substring(0,s);l===t.lookupQuerystring&&(n=o[a].substring(s+1))}}}return n}},Kv=null,LR=function(){if(Kv!==null)return Kv;try{Kv=window!=="undefined"&&window.localStorage!==null;var t="i18next.translate.boo";window.localStorage.setItem(t,"foo"),window.localStorage.removeItem(t)}catch{Kv=!1}return Kv},Awe={name:"localStorage",lookup:function(t){var n;if(t.lookupLocalStorage&&LR()){var r=window.localStorage.getItem(t.lookupLocalStorage);r&&(n=r)}return n},cacheUserLanguage:function(t,n){n.lookupLocalStorage&&LR()&&window.localStorage.setItem(n.lookupLocalStorage,t)}},Yv=null,AR=function(){if(Yv!==null)return Yv;try{Yv=window!=="undefined"&&window.sessionStorage!==null;var t="i18next.translate.boo";window.sessionStorage.setItem(t,"foo"),window.sessionStorage.removeItem(t)}catch{Yv=!1}return Yv},Owe={name:"sessionStorage",lookup:function(t){var n;if(t.lookupSessionStorage&&AR()){var r=window.sessionStorage.getItem(t.lookupSessionStorage);r&&(n=r)}return n},cacheUserLanguage:function(t,n){n.lookupSessionStorage&&AR()&&window.sessionStorage.setItem(n.lookupSessionStorage,t)}},Rwe={name:"navigator",lookup:function(t){var n=[];if(typeof navigator<"u"){if(navigator.languages)for(var r=0;r0?n:void 0}},Iwe={name:"htmlTag",lookup:function(t){var n,r=t.htmlTag||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},Dwe={name:"path",lookup:function(t){var n;if(typeof window<"u"){var r=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(r instanceof Array)if(typeof t.lookupFromPathIndex=="number"){if(typeof r[t.lookupFromPathIndex]!="string")return;n=r[t.lookupFromPathIndex].replace("/","")}else n=r[0].replace("/","")}return n}},jwe={name:"subdomain",lookup:function(t){var n=typeof t.lookupFromSubdomainIndex=="number"?t.lookupFromSubdomainIndex+1:1,r=typeof window<"u"&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[n]}};function Nwe(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"]}}var TU=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};gs(this,e),this.type="languageDetector",this.detectors={},this.init(t,n)}return ms(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=Pwe(r,this.options||{},Nwe()),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=i,this.addDetector(Mwe),this.addDetector(Lwe),this.addDetector(Awe),this.addDetector(Owe),this.addDetector(Rwe),this.addDetector(Iwe),this.addDetector(Dwe),this.addDetector(jwe)}},{key:"addDetector",value:function(n){this.detectors[n.name]=n}},{key:"detect",value:function(n){var r=this;n||(n=this.options.order);var i=[];return n.forEach(function(o){if(r.detectors[o]){var a=r.detectors[o].lookup(r.options);a&&typeof a=="string"&&(a=[a]),a&&(i=i.concat(a))}}),this.services.languageUtils.getBestMatchFromCodes?i:i.length>0?i[0]:null}},{key:"cacheUserLanguage",value:function(n,r){var i=this;r||(r=this.options.caches),r&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(n)>-1||r.forEach(function(o){i.detectors[o]&&i.detectors[o].cacheUserLanguage(n,i.options)}))}}]),e}();TU.type="languageDetector";function Ck(e){return Ck=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},Ck(e)}var MU=[],$we=MU.forEach,Fwe=MU.slice;function _k(e){return $we.call(Fwe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function LU(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":Ck(XMLHttpRequest))==="object"}function Bwe(e){return!!e&&typeof e.then=="function"}function zwe(e){return Bwe(e)?e:Promise.resolve(e)}function Hwe(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 Dy={},Wwe={get exports(){return Dy},set exports(e){Dy=e}},V1={},Uwe={get exports(){return V1},set exports(e){V1=e}},OR;function Vwe(){return OR||(OR=1,function(e,t){var n=typeof self<"u"?self:wo,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(a){var s={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($){return $&&DataView.prototype.isPrototypeOf($)}if(s.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function($){return $&&u.indexOf(Object.prototype.toString.call($))>-1};function p($){if(typeof $!="string"&&($=String($)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test($))throw new TypeError("Invalid character in header field name");return $.toLowerCase()}function m($){return typeof $!="string"&&($=String($)),$}function y($){var V={next:function(){var X=$.shift();return{done:X===void 0,value:X}}};return s.iterable&&(V[Symbol.iterator]=function(){return V}),V}function b($){this.map={},$ instanceof b?$.forEach(function(V,X){this.append(X,V)},this):Array.isArray($)?$.forEach(function(V){this.append(V[0],V[1])},this):$&&Object.getOwnPropertyNames($).forEach(function(V){this.append(V,$[V])},this)}b.prototype.append=function($,V){$=p($),V=m(V);var X=this.map[$];this.map[$]=X?X+", "+V:V},b.prototype.delete=function($){delete this.map[p($)]},b.prototype.get=function($){return $=p($),this.has($)?this.map[$]:null},b.prototype.has=function($){return this.map.hasOwnProperty(p($))},b.prototype.set=function($,V){this.map[p($)]=m(V)},b.prototype.forEach=function($,V){for(var X in this.map)this.map.hasOwnProperty(X)&&$.call(V,this.map[X],X,this)},b.prototype.keys=function(){var $=[];return this.forEach(function(V,X){$.push(X)}),y($)},b.prototype.values=function(){var $=[];return this.forEach(function(V){$.push(V)}),y($)},b.prototype.entries=function(){var $=[];return this.forEach(function(V,X){$.push([X,V])}),y($)},s.iterable&&(b.prototype[Symbol.iterator]=b.prototype.entries);function w($){if($.bodyUsed)return Promise.reject(new TypeError("Already read"));$.bodyUsed=!0}function E($){return new Promise(function(V,X){$.onload=function(){V($.result)},$.onerror=function(){X($.error)}})}function _($){var V=new FileReader,X=E(V);return V.readAsArrayBuffer($),X}function k($){var V=new FileReader,X=E(V);return V.readAsText($),X}function T($){for(var V=new Uint8Array($),X=new Array(V.length),Q=0;Q-1?V:$}function N($,V){V=V||{};var X=V.body;if($ instanceof N){if($.bodyUsed)throw new TypeError("Already read");this.url=$.url,this.credentials=$.credentials,V.headers||(this.headers=new b($.headers)),this.method=$.method,this.mode=$.mode,this.signal=$.signal,!X&&$._bodyInit!=null&&(X=$._bodyInit,$.bodyUsed=!0)}else this.url=String($);if(this.credentials=V.credentials||this.credentials||"same-origin",(V.headers||!this.headers)&&(this.headers=new b(V.headers)),this.method=I(V.method||this.method||"GET"),this.mode=V.mode||this.mode||null,this.signal=V.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&X)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(X)}N.prototype.clone=function(){return new N(this,{body:this._bodyInit})};function W($){var V=new FormData;return $.trim().split("&").forEach(function(X){if(X){var Q=X.split("="),G=Q.shift().replace(/\+/g," "),Y=Q.join("=").replace(/\+/g," ");V.append(decodeURIComponent(G),decodeURIComponent(Y))}}),V}function B($){var V=new b,X=$.replace(/\r?\n[\t ]+/g," ");return X.split(/\r?\n/).forEach(function(Q){var G=Q.split(":"),Y=G.shift().trim();if(Y){var ee=G.join(":").trim();V.append(Y,ee)}}),V}O.call(N.prototype);function K($,V){V||(V={}),this.type="default",this.status=V.status===void 0?200:V.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in V?V.statusText:"OK",this.headers=new b(V.headers),this.url=V.url||"",this._initBody($)}O.call(K.prototype),K.prototype.clone=function(){return new K(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new b(this.headers),url:this.url})},K.error=function(){var $=new K(null,{status:0,statusText:""});return $.type="error",$};var ne=[301,302,303,307,308];K.redirect=function($,V){if(ne.indexOf(V)===-1)throw new RangeError("Invalid status code");return new K(null,{status:V,headers:{location:$}})},a.DOMException=o.DOMException;try{new a.DOMException}catch{a.DOMException=function(V,X){this.message=V,this.name=X;var Q=Error(V);this.stack=Q.stack},a.DOMException.prototype=Object.create(Error.prototype),a.DOMException.prototype.constructor=a.DOMException}function z($,V){return new Promise(function(X,Q){var G=new N($,V);if(G.signal&&G.signal.aborted)return Q(new a.DOMException("Aborted","AbortError"));var Y=new XMLHttpRequest;function ee(){Y.abort()}Y.onload=function(){var fe={status:Y.status,statusText:Y.statusText,headers:B(Y.getAllResponseHeaders()||"")};fe.url="responseURL"in Y?Y.responseURL:fe.headers.get("X-Request-URL");var _e="response"in Y?Y.response:Y.responseText;X(new K(_e,fe))},Y.onerror=function(){Q(new TypeError("Network request failed"))},Y.ontimeout=function(){Q(new TypeError("Network request failed"))},Y.onabort=function(){Q(new a.DOMException("Aborted","AbortError"))},Y.open(G.method,G.url,!0),G.credentials==="include"?Y.withCredentials=!0:G.credentials==="omit"&&(Y.withCredentials=!1),"responseType"in Y&&s.blob&&(Y.responseType="blob"),G.headers.forEach(function(fe,_e){Y.setRequestHeader(_e,fe)}),G.signal&&(G.signal.addEventListener("abort",ee),Y.onreadystatechange=function(){Y.readyState===4&&G.signal.removeEventListener("abort",ee)}),Y.send(typeof G._bodyInit>"u"?null:G._bodyInit)})}return z.polyfill=!0,o.fetch||(o.fetch=z,o.Headers=b,o.Request=N,o.Response=K),a.Headers=b,a.Request=N,a.Response=K,a.fetch=z,Object.defineProperty(a,"__esModule",{value:!0}),a})({})})(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}(Uwe,V1)),V1}(function(e,t){var n;if(typeof fetch=="function"&&(typeof wo<"u"&&wo.fetch?n=wo.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof Hwe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||Vwe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(Wwe,Dy);const AU=Dy,RR=Cj({__proto__:null,default:AU},[Dy]);function T3(e){return T3=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},T3(e)}var Yu;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Yu=global.fetch:typeof window<"u"&&window.fetch?Yu=window.fetch:Yu=fetch);var jy;LU()&&(typeof global<"u"&&global.XMLHttpRequest?jy=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(jy=window.XMLHttpRequest));var M3;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?M3=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(M3=window.ActiveXObject));!Yu&&RR&&!jy&&!M3&&(Yu=AU||RR);typeof Yu!="function"&&(Yu=void 0);var kk=function(t,n){if(n&&T3(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},IR=function(t,n,r){Yu(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)},DR=!1,Gwe=function(t,n,r,i){t.queryStringParams&&(n=kk(n,t.queryStringParams));var o=_k({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var a=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,s=_k({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},DR?{}:a);try{IR(n,s,i)}catch(l){if(!a||Object.keys(a).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(a).forEach(function(u){delete s[u]}),IR(n,s,i),DR=!0}catch(u){i(u)}}},qwe=function(t,n,r,i){r&&T3(r)==="object"&&(r=kk("",r).slice(1)),t.queryStringParams&&(n=kk(n,t.queryStringParams));try{var o;jy?o=new jy:o=new M3("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 a=t.customHeaders;if(a=typeof a=="function"?a():a,a)for(var s in a)o.setRequestHeader(s,a[s]);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)}},Kwe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Yu&&n.indexOf("file:")!==0)return Gwe(t,n,r,i);if(LU()||typeof ActiveXObject=="function")return qwe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Ny(e){return Ny=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},Ny(e)}function Ywe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jR(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Ywe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return Xwe(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=_k(i,this.options||{},Jwe()),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,a){var s=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=zwe(l),l.then(function(u){if(!u)return a(null,{});var d=s.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});s.loadUrl(d,a,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var a=this;this.options.request(this.options,n,void 0,function(s,l){if(l&&(l.status>=500&&l.status<600||!l.status))return r("failed loading "+n+"; status code: "+l.status,!0);if(l&&l.status>=400&&l.status<500)return r("failed loading "+n+"; status code: "+l.status,!1);if(!l&&s&&s.message&&s.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+s.message,!0);if(s)return r(s,!1);var u,d;try{typeof l.data=="string"?u=a.options.parse(l.data,i,o):u=l.data}catch{d="failed parsing "+n+" to json"}if(d)return r(d,!1);r(null,u)})}},{key:"create",value:function(n,r,i,o,a){var s=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,d=[],p=[];n.forEach(function(m){var y=s.options.addPath;typeof s.options.addPath=="function"&&(y=s.options.addPath(m,r));var b=s.services.interpolator.interpolate(y,{lng:m,ns:r});s.options.request(s.options,b,l,function(w,E){u+=1,d.push(w),p.push(E),u===n.length&&typeof a=="function"&&a(d,p)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,a=r.logger,s=i.language;if(!(s&&s.toLowerCase()==="cimode")){var l=[],u=function(p){var m=o.toResolveHierarchy(p);m.forEach(function(y){l.indexOf(y)<0&&l.push(y)})};u(s),this.allOptions.preload&&this.allOptions.preload.forEach(function(d){return u(d)}),l.forEach(function(d){n.allOptions.ns.forEach(function(p){i.read(d,p,"read",null,null,function(m,y){m&&a.warn("loading namespace ".concat(p," for language ").concat(d," failed"),m),!m&&y&&a.log("loaded namespace ".concat(p," for language ").concat(d),y),i.loaded("".concat(d,"|").concat(p),m,y)})})})}}}]),e}();RU.type="backend";function e4e(){if(console&&console.warn){for(var e,t=arguments.length,n=new Array(t),r=0;r2&&arguments[2]!==void 0?arguments[2]:{},r=t.languages[0],i=t.options?t.options.fallbackLng:!1,o=t.languages[t.languages.length-1];if(r.toLowerCase()==="cimode")return!0;var a=function(l,u){var d=t.services.backendConnector.state["".concat(l,"|").concat(u)];return d===-1||d===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!a(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||a(r,e)&&(!i||a(o,e)))}function n4e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!t.languages||!t.languages.length)return Ek("i18n.languages were undefined or empty",t.languages),!0;var r=t.options.ignoreJSONStructure!==void 0;return r?t.hasLoadedNamespace(e,{precheck:function(o,a){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&o.services.backendConnector.backend&&o.isLanguageChangingTo&&!a(o.isLanguageChangingTo,e))return!1}}):t4e(e,t,n)}var r4e=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,i4e={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},o4e=function(t){return i4e[t]},a4e=function(t){return t.replace(r4e,o4e)};function FR(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 BR(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:{};Pk=BR(BR({},Pk),e)}function l4e(){return Pk}var IU;function u4e(e){IU=e}function c4e(){return IU}var d4e={type:"3rdParty",init:function(t){s4e(t.options.react),u4e(t)}},f4e=S.createContext(),h4e=function(){function e(){gs(this,e),this.usedNamespaces={}}return ms(e,[{key:"addUsedNamespaces",value:function(n){var r=this;n.forEach(function(i){r.usedNamespaces[i]||(r.usedNamespaces[i]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),e}();function p4e(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,i,o,a,s=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(d){u=!0,i=d}finally{try{if(!l&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}function g4e(e,t){return SU(e)||p4e(e,t)||wU(e,t)||CU()}function zR(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 $C(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},n=t.i18n,r=S.useContext(f4e)||{},i=r.i18n,o=r.defaultNS,a=n||i||c4e();if(a&&!a.reportNamespaces&&(a.reportNamespaces=new h4e),!a){Ek("You will need to pass in an i18next instance by using initReactI18next");var s=function(W){return Array.isArray(W)?W[W.length-1]:W},l=[s,{},!1];return l.t=s,l.i18n={},l.ready=!1,l}a.options.react&&a.options.react.wait!==void 0&&Ek("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var u=$C($C($C({},l4e()),a.options.react),t),d=u.useSuspense,p=u.keyPrefix,m=e||o||a.options&&a.options.defaultNS;m=typeof m=="string"?[m]:m||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(m);var y=(a.isInitialized||a.initializedStoreOnce)&&m.every(function(N){return n4e(N,a,u)});function b(){return a.getFixedT(null,u.nsMode==="fallback"?m:m[0],p)}var w=S.useState(b),E=g4e(w,2),_=E[0],k=E[1],T=m.join(),L=m4e(T),O=S.useRef(!0);S.useEffect(function(){var N=u.bindI18n,W=u.bindI18nStore;O.current=!0,!y&&!d&&$R(a,m,function(){O.current&&k(b)}),y&&L&&L!==T&&O.current&&k(b);function B(){O.current&&k(b)}return N&&a&&a.on(N,B),W&&a&&a.store.on(W,B),function(){O.current=!1,N&&a&&N.split(" ").forEach(function(K){return a.off(K,B)}),W&&a&&W.split(" ").forEach(function(K){return a.store.off(K,B)})}},[a,T]);var D=S.useRef(!0);S.useEffect(function(){O.current&&!D.current&&k(b),D.current=!1},[a,p]);var I=[_,a,y];if(I.t=_,I.i18n=a,I.ready=y,y||!y&&!d)return I;throw new Promise(function(N){$R(a,m,function(){N()})})}Et.use(RU).use(TU).use(d4e).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const v4e={isConnected:!1,isProcessing:!1,log:[],shouldShowLogViewer:!1,shouldDisplayInProgressType:"latents",shouldDisplayGuides:!0,isGFPGANAvailable:!0,isESRGANAvailable:!0,socketId:"",shouldConfirmOnDelete:!0,openAccordions:[0],currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatus:Et.isInitialized?Et.t("common.statusDisconnected"):"Disconnected",currentStatusHasSteps:!1,model:"",model_id:"",model_hash:"",app_id:"",app_version:"",model_list:{},infill_methods:[],hasError:!1,wasErrorSeen:!0,isCancelable:!0,saveIntermediatesInterval:5,enableImageDebugging:!1,toastQueue:[],searchFolder:null,foundModels:null,openModel:null,cancelOptions:{cancelType:"immediate",cancelAfter:null}},DU=ap({name:"system",initialState:v4e,reducers:{setShouldDisplayInProgressType:(e,t)=>{e.shouldDisplayInProgressType=t.payload},setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.currentStatus=t.payload},setSystemStatus:(e,t)=>({...e,...t.payload}),errorOccurred:e=>{e.hasError=!0,e.isProcessing=!1,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.currentStatus=Et.t("common.statusError"),e.wasErrorSeen=!1},errorSeen:e=>{e.hasError=!1,e.wasErrorSeen=!0,e.currentStatus=e.isConnected?Et.t("common.statusConnected"):Et.t("common.statusDisconnected")},addLogEntry:(e,t)=>{const{timestamp:n,message:r,level:i}=t.payload,a={timestamp:n,message:r,level:i||"info"};e.log.push(a)},setShouldShowLogViewer:(e,t)=>{e.shouldShowLogViewer=t.payload},setIsConnected:(e,t)=>{e.isConnected=t.payload,e.isProcessing=!1,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.hasError=!1},setSocketId:(e,t)=>{e.socketId=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setOpenAccordions:(e,t)=>{e.openAccordions=t.payload},setSystemConfig:(e,t)=>({...e,...t.payload}),setShouldDisplayGuides:(e,t)=>{e.shouldDisplayGuides=t.payload},processingCanceled:e=>{e.isProcessing=!1,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.currentStatus=Et.t("common.statusProcessingCanceled")},generationRequested:e=>{e.isProcessing=!0,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.currentStatus=Et.t("common.statusPreparing")},setModelList:(e,t)=>{e.model_list=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},modelChangeRequested:e=>{e.currentStatus=Et.t("common.statusLoadingModel"),e.isCancelable=!1,e.isProcessing=!0,e.currentStatusHasSteps=!1},modelConvertRequested:e=>{e.currentStatus=Et.t("common.statusConvertingModel"),e.isCancelable=!1,e.isProcessing=!0,e.currentStatusHasSteps=!1},modelMergingRequested:e=>{e.currentStatus=Et.t("common.statusMergingModels"),e.isCancelable=!1,e.isProcessing=!0,e.currentStatusHasSteps=!1},setSaveIntermediatesInterval:(e,t)=>{e.saveIntermediatesInterval=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},setProcessingIndeterminateTask:(e,t)=>{e.isProcessing=!0,e.currentStatus=t.payload,e.currentStatusHasSteps=!1},setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setFoundModels:(e,t)=>{e.foundModels=t.payload},setOpenModel:(e,t)=>{e.openModel=t.payload},setCancelType:(e,t)=>{e.cancelOptions.cancelType=t.payload},setCancelAfter:(e,t)=>{e.cancelOptions.cancelAfter=t.payload}}}),{setShouldDisplayInProgressType:y4e,setIsProcessing:wa,addLogEntry:Pi,setShouldShowLogViewer:FC,setIsConnected:HR,setSocketId:INe,setShouldConfirmOnDelete:jU,setOpenAccordions:b4e,setSystemStatus:x4e,setCurrentStatus:hh,setSystemConfig:S4e,setShouldDisplayGuides:w4e,processingCanceled:C4e,errorOccurred:WR,errorSeen:NU,setModelList:Ag,setIsCancelable:_d,modelChangeRequested:_4e,modelConvertRequested:k4e,modelMergingRequested:E4e,setSaveIntermediatesInterval:P4e,setEnableImageDebugging:T4e,generationRequested:M4e,addToast:$u,clearToastQueue:L4e,setProcessingIndeterminateTask:A4e,setSearchFolder:$U,setFoundModels:FU,setOpenModel:UR,setCancelType:VR,setCancelAfter:BC}=DU.actions,O4e=DU.reducer,xE=["txt2img","img2img","unifiedCanvas","nodes","postprocess","training"],R4e={activeTab:0,currentTheme:"dark",parametersPanelScrollPosition:0,shouldHoldParametersPanelOpen:!1,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowDualDisplay:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,addNewModelUIOption:null},I4e=R4e,BU=ap({name:"ui",initialState:I4e,reducers:{setActiveTab:(e,t)=>{typeof t.payload=="number"?e.activeTab=t.payload:e.activeTab=xE.indexOf(t.payload)},setCurrentTheme:(e,t)=>{e.currentTheme=t.payload},setParametersPanelScrollPosition:(e,t)=>{e.parametersPanelScrollPosition=t.payload},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldHoldParametersPanelOpen:(e,t)=>{e.shouldHoldParametersPanelOpen=t.payload},setShouldShowDualDisplay:(e,t)=>{e.shouldShowDualDisplay=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setAddNewModelUIOption:(e,t)=>{e.addNewModelUIOption=t.payload}}}),{setActiveTab:Uo,setCurrentTheme:D4e,setParametersPanelScrollPosition:j4e,setShouldHoldParametersPanelOpen:N4e,setShouldPinParametersPanel:$4e,setShouldShowParametersPanel:Fh,setShouldShowDualDisplay:F4e,setShouldShowImageDetails:zU,setShouldUseCanvasBetaLayout:B4e,setShouldShowExistingModelsInSearch:z4e,setShouldUseSliders:H4e,setAddNewModelUIOption:Bh}=BU.actions,W4e=BU.reducer,iu=Object.create(null);iu.open="0";iu.close="1";iu.ping="2";iu.pong="3";iu.message="4";iu.upgrade="5";iu.noop="6";const fS=Object.create(null);Object.keys(iu).forEach(e=>{fS[iu[e]]=e});const U4e={type:"error",data:"parser error"},V4e=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",G4e=typeof ArrayBuffer=="function",q4e=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,HU=({type:e,data:t},n,r)=>V4e&&t instanceof Blob?n?r(t):GR(t,r):G4e&&(t instanceof ArrayBuffer||q4e(t))?n?r(t):GR(new Blob([t]),r):r(iu[e]+(t||"")),GR=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)},qR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",m1=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,a,s,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),d=new Uint8Array(u);for(r=0;r>4,d[i++]=(a&15)<<4|s>>2,d[i++]=(s&3)<<6|l&63;return u},Y4e=typeof ArrayBuffer=="function",WU=(e,t)=>{if(typeof e!="string")return{type:"message",data:UU(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:X4e(e.substring(1),t)}:fS[n]?e.length>1?{type:fS[n],data:e.substring(1)}:{type:fS[n]}:U4e},X4e=(e,t)=>{if(Y4e){const n=K4e(e);return UU(n,t)}else return{base64:!0,data:e}},UU=(e,t)=>{switch(t){case"blob":return e instanceof ArrayBuffer?new Blob([e]):e;case"arraybuffer":default:return e}},VU=String.fromCharCode(30),Z4e=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,a)=>{HU(o,!1,s=>{r[a]=s,++i===n&&t(r.join(VU))})})},Q4e=(e,t)=>{const n=e.split(VU),r=[];for(let i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function qU(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const e5e=Za.setTimeout,t5e=Za.clearTimeout;function s4(e,t){t.useNativeTimers?(e.setTimeoutFn=e5e.bind(Za),e.clearTimeoutFn=t5e.bind(Za)):(e.setTimeoutFn=Za.setTimeout.bind(Za),e.clearTimeoutFn=Za.clearTimeout.bind(Za))}const n5e=1.33;function r5e(e){return typeof e=="string"?i5e(e):Math.ceil((e.byteLength||e.size)*n5e)}function i5e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}class o5e extends Error{constructor(t,n,r){super(t),this.description=n,this.context=r,this.type="TransportError"}}class KU extends ai{constructor(t){super(),this.writable=!1,s4(this,t),this.opts=t,this.query=t.query,this.socket=t.socket}onError(t,n,r){return super.emitReserved("error",new o5e(t,n,r)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(t){this.readyState==="open"&&this.write(t)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(t){const n=WU(t,this.socket.binaryType);this.onPacket(n)}onPacket(t){super.emitReserved("packet",t)}onClose(t){this.readyState="closed",super.emitReserved("close",t)}pause(t){}}const YU="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Tk=64,a5e={};let KR=0,rx=0,YR;function XR(e){let t="";do t=YU[e%Tk]+t,e=Math.floor(e/Tk);while(e>0);return t}function XU(){const e=XR(+new Date);return e!==YR?(KR=0,YR=e):e+"."+XR(KR++)}for(;rx{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)};Q4e(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,Z4e(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let t=this.query||{};const n=this.opts.secure?"https":"http";let r="";this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=XU()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.opts.port&&(n==="https"&&Number(this.opts.port)!==443||n==="http"&&Number(this.opts.port)!==80)&&(r=":"+this.opts.port);const i=ZU(t),o=this.opts.hostname.indexOf(":")!==-1;return n+"://"+(o?"["+this.opts.hostname+"]":this.opts.hostname)+r+this.opts.path+(i.length?"?"+i:"")}request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts),new eu(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}}class eu extends ai{constructor(t,n){super(),s4(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.async=n.async!==!1,this.data=n.data!==void 0?n.data:null,this.create()}create(){const t=qU(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd,t.xscheme=!!this.opts.xs;const n=this.xhr=new JU(t);try{n.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let r in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(r)&&n.setRequestHeader(r,this.opts.extraHeaders[r])}}catch{}if(this.method==="POST")try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{n.setRequestHeader("Accept","*/*")}catch{}"withCredentials"in n&&(n.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(n.timeout=this.opts.requestTimeout),n.onreadystatechange=()=>{n.readyState===4&&(n.status===200||n.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof n.status=="number"?n.status:0)},0))},n.send(this.data)}catch(r){this.setTimeoutFn(()=>{this.onError(r)},0);return}typeof document<"u"&&(this.index=eu.requestsCount++,eu.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=u5e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete eu.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()}}eu.requestsCount=0;eu.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",ZR);else if(typeof addEventListener=="function"){const e="onpagehide"in Za?"pagehide":"unload";addEventListener(e,ZR,!1)}}function ZR(){for(let e in eu.requests)eu.requests.hasOwnProperty(e)&&eu.requests[e].abort()}const eV=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),ix=Za.WebSocket||Za.MozWebSocket,QR=!0,f5e="arraybuffer",JR=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class h5e extends KU{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=JR?{}:qU(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=QR&&!JR?n?new ix(t,n):new ix(t):new ix(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||f5e,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 a={};try{QR&&this.ws.send(o)}catch{}i&&eV(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){let t=this.query||{};const n=this.opts.secure?"wss":"ws";let r="";this.opts.port&&(n==="wss"&&Number(this.opts.port)!==443||n==="ws"&&Number(this.opts.port)!==80)&&(r=":"+this.opts.port),this.opts.timestampRequests&&(t[this.opts.timestampParam]=XU()),this.supportsBinary||(t.b64=1);const i=ZU(t),o=this.opts.hostname.indexOf(":")!==-1;return n+"://"+(o?"["+this.opts.hostname+"]":this.opts.hostname)+r+this.opts.path+(i.length?"?"+i:"")}check(){return!!ix}}const p5e={websocket:h5e,polling:d5e},g5e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,m5e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Mk(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=g5e.exec(e||""),o={},a=14;for(;a--;)o[m5e[a]]=i[a]||"";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=v5e(o,o.path),o.queryKey=y5e(o,o.query),o}function v5e(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 y5e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let tV=class Ng extends ai{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=Mk(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=Mk(n.host).host),s4(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"],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:!0},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=s5e(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=GU,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts.transportOptions[t],this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new p5e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Ng.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;Ng.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",p=>{if(!r)if(p.type==="pong"&&p.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Ng.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(d(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const m=new Error("probe error");m.transport=n.name,this.emitReserved("upgradeError",m)}}))};function o(){r||(r=!0,d(),n.close(),n=null)}const a=p=>{const m=new Error("probe error: "+p);m.transport=n.name,o(),this.emitReserved("upgradeError",m)};function s(){a("transport closed")}function l(){a("socket closed")}function u(p){n&&p.name!==n.name&&o()}const d=()=>{n.removeListener("open",i),n.removeListener("error",a),n.removeListener("close",s),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",a),n.once("close",s),this.once("close",l),this.once("upgrading",u),n.open()}onOpen(){if(this.readyState="open",Ng.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){Ng.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,nV=Object.prototype.toString,w5e=typeof Blob=="function"||typeof Blob<"u"&&nV.call(Blob)==="[object BlobConstructor]",C5e=typeof File=="function"||typeof File<"u"&&nV.call(File)==="[object FileConstructor]";function SE(e){return x5e&&(e instanceof ArrayBuffer||S5e(e))||w5e&&e instanceof Blob||C5e&&e instanceof File}function hS(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n=0&&e.num0;case nn.ACK:case nn.BINARY_ACK:return Array.isArray(n)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class T5e{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){const n=k5e(this.reconPack,this.buffers);return this.finishedReconstruction(),n}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const M5e=Object.freeze(Object.defineProperty({__proto__:null,Decoder:wE,Encoder:P5e,get PacketType(){return nn},protocol:E5e},Symbol.toStringTag,{value:"Module"}));function Hs(e,t,n){return e.on(t,n),function(){e.off(t,n)}}const L5e=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class rV extends ai{constructor(t,n,r){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this.ids=0,this.acks={},this.flags={},this.io=t,this.nsp=n,r&&r.auth&&(this.auth=r.auth),this._opts=Object.assign({},r),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const t=this.io;this.subs=[Hs(t,"open",this.onopen.bind(this)),Hs(t,"packet",this.onpacket.bind(this)),Hs(t,"error",this.onerror.bind(this)),Hs(t,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...t){return t.unshift("message"),this.emit.apply(this,t),this}emit(t,...n){if(L5e.hasOwnProperty(t))throw new Error('"'+t.toString()+'" is a reserved event name');if(n.unshift(t),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(n),this;const r={type:nn.EVENT,data:n};if(r.options={},r.options.compress=this.flags.compress!==!1,typeof n[n.length-1]=="function"){const a=this.ids++,s=n.pop();this._registerAckCallback(a,s),r.id=a}const i=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!i||!this.connected)||(this.connected?(this.notifyOutgoingListeners(r),this.packet(r)):this.sendBuffer.push(r)),this.flags={},this}_registerAckCallback(t,n){var r;const i=(r=this.flags.timeout)!==null&&r!==void 0?r:this._opts.ackTimeout;if(i===void 0){this.acks[t]=n;return}const o=this.io.setTimeoutFn(()=>{delete this.acks[t];for(let a=0;a{this.io.clearTimeoutFn(o),n.apply(this,[null,...a])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((a,s)=>r?a?o(a):i(s):i(a)),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this.ids++,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(){if(this._queue.length===0)return;const t=this._queue[0];if(t.pending)return;t.pending=!0,t.tryCount++;const n=this.ids;this.ids=t.id,this.flags=t.flags,this.emit.apply(this,t.args),this.ids=n}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:nn.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 nn.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 nn.EVENT:case nn.BINARY_EVENT:this.onevent(t);break;case nn.ACK:case nn.BINARY_ACK:this.onack(t);break;case nn.DISCONNECT:this.ondisconnect();break;case nn.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:nn.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")}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:nn.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}b0.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};b0.prototype.reset=function(){this.attempts=0};b0.prototype.setMin=function(e){this.ms=e};b0.prototype.setMax=function(e){this.max=e};b0.prototype.setJitter=function(e){this.jitter=e};class Ok extends ai{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,s4(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 b0({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||M5e;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 tV(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=Hs(n,"open",function(){r.onopen(),t&&t()}),o=Hs(n,"error",a=>{r.cleanup(),r._readyState="closed",this.emitReserved("error",a),t?t(a):r.maybeReconnectOnOpen()});if(this._timeout!==!1){const a=this._timeout;a===0&&i();const s=this.setTimeoutFn(()=>{i(),n.close(),n.emit("error",new Error("timeout"))},a);this.opts.autoUnref&&s.unref(),this.subs.push(function(){clearTimeout(s)})}return this.subs.push(i),this.subs.push(o),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Hs(t,"ping",this.onping.bind(this)),Hs(t,"data",this.ondata.bind(this)),Hs(t,"error",this.onerror.bind(this)),Hs(t,"close",this.onclose.bind(this)),Hs(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){eV(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r||(r=new rV(this,t,n),this.nsps[t]=r),this._autoConnect&&r.connect(),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(function(){clearTimeout(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const Xv={};function pS(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=b5e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,a=Xv[i]&&o in Xv[i].nsps,s=t.forceNew||t["force new connection"]||t.multiplex===!1||a;let l;return s?l=new Ok(r,t):(Xv[i]||(Xv[i]=new Ok(r,t)),l=Xv[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(pS,{Manager:Ok,Socket:rV,io:pS,connect:pS});const A5e=["ddim","plms","k_lms","k_dpm_2","k_dpm_2_a","k_dpmpp_2","k_dpmpp_2_a","k_euler","k_euler_a","k_heun"],O5e=["ddim","plms","k_lms","dpmpp_2","k_dpm_2","k_dpm_2_a","k_dpmpp_2","k_euler","k_euler_a","k_heun"],R5e=[64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024,1088,1152,1216,1280,1344,1408,1472,1536,1600,1664,1728,1792,1856,1920,1984,2048],I5e=[64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024,1088,1152,1216,1280,1344,1408,1472,1536,1600,1664,1728,1792,1856,1920,1984,2048],D5e=[{key:"2x",value:2},{key:"4x",value:4}],CE=0,_E=4294967295,j5e=["gfpgan","codeformer"],N5e=[{key:"None",value:"none"},{key:"Fast",value:"latents"},{key:"Accurate",value:"full-res"}];var $5e=Math.PI/180;function F5e(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}const Im=typeof global<"u"?global:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},ft={_global:Im,version:"8.4.2",isBrowser:F5e(),isUnminified:/param/.test(function(e){}.toString()),dblClickWindow:400,getAngle(e){return ft.angleDeg?e*$5e:e},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 ft.DD.isDragging},isDragReady(){return!!ft.DD.node},releaseCanvasOnDestroy:!0,document:Im.document,_injectGlobal(e){Im.Konva=e}},Mr=e=>{ft[e.prototype.getClassName()]=e};ft._injectGlobal(ft);class Ca{constructor(t=[1,0,0,1,0,0]){this.dirty=!1,this.m=t&&t.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 Ca(this.m)}copyInto(t){t.m[0]=this.m[0],t.m[1]=this.m[1],t.m[2]=this.m[2],t.m[3]=this.m[3],t.m[4]=this.m[4],t.m[5]=this.m[5]}point(t){var n=this.m;return{x:n[0]*t.x+n[2]*t.y+n[4],y:n[1]*t.x+n[3]*t.y+n[5]}}translate(t,n){return this.m[4]+=this.m[0]*t+this.m[2]*n,this.m[5]+=this.m[1]*t+this.m[3]*n,this}scale(t,n){return this.m[0]*=t,this.m[1]*=t,this.m[2]*=n,this.m[3]*=n,this}rotate(t){var n=Math.cos(t),r=Math.sin(t),i=this.m[0]*n+this.m[2]*r,o=this.m[1]*n+this.m[3]*r,a=this.m[0]*-r+this.m[2]*n,s=this.m[1]*-r+this.m[3]*n;return this.m[0]=i,this.m[1]=o,this.m[2]=a,this.m[3]=s,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(t,n){var r=this.m[0]+this.m[2]*n,i=this.m[1]+this.m[3]*n,o=this.m[2]+this.m[0]*t,a=this.m[3]+this.m[1]*t;return this.m[0]=r,this.m[1]=i,this.m[2]=o,this.m[3]=a,this}multiply(t){var n=this.m[0]*t.m[0]+this.m[2]*t.m[1],r=this.m[1]*t.m[0]+this.m[3]*t.m[1],i=this.m[0]*t.m[2]+this.m[2]*t.m[3],o=this.m[1]*t.m[2]+this.m[3]*t.m[3],a=this.m[0]*t.m[4]+this.m[2]*t.m[5]+this.m[4],s=this.m[1]*t.m[4]+this.m[3]*t.m[5]+this.m[5];return this.m[0]=n,this.m[1]=r,this.m[2]=i,this.m[3]=o,this.m[4]=a,this.m[5]=s,this}invert(){var t=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),n=this.m[3]*t,r=-this.m[1]*t,i=-this.m[2]*t,o=this.m[0]*t,a=t*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),s=t*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=n,this.m[1]=r,this.m[2]=i,this.m[3]=o,this.m[4]=a,this.m[5]=s,this}getMatrix(){return this.m}decompose(){var t=this.m[0],n=this.m[1],r=this.m[2],i=this.m[3],o=this.m[4],a=this.m[5],s=t*i-n*r;let l={x:o,y:a,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(t!=0||n!=0){var u=Math.sqrt(t*t+n*n);l.rotation=n>0?Math.acos(t/u):-Math.acos(t/u),l.scaleX=u,l.scaleY=s/u,l.skewX=(t*r+n*i)/s,l.skewY=0}else if(r!=0||i!=0){var d=Math.sqrt(r*r+i*i);l.rotation=Math.PI/2-(i>0?Math.acos(-r/d):-Math.acos(r/d)),l.scaleX=s/d,l.scaleY=d,l.skewX=0,l.skewY=(t*r+n*i)/s}return l.rotation=de._getRotation(l.rotation),l}}var B5e="[object Array]",z5e="[object Number]",H5e="[object String]",W5e="[object Boolean]",U5e=Math.PI/180,V5e=180/Math.PI,zC="#",G5e="",q5e="0",K5e="Konva warning: ",eI="Konva error: ",Y5e="rgb(",HC={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]},X5e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,ox=[];const Z5e=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(e){setTimeout(e,60)},de={_isElement(e){return!!(e&&e.nodeType==1)},_isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)},_isPlainObject(e){return!!e&&e.constructor===Object},_isArray(e){return Object.prototype.toString.call(e)===B5e},_isNumber(e){return Object.prototype.toString.call(e)===z5e&&!isNaN(e)&&isFinite(e)},_isString(e){return Object.prototype.toString.call(e)===H5e},_isBoolean(e){return Object.prototype.toString.call(e)===W5e},isObject(e){return e instanceof Object},isValidSelector(e){if(typeof e!="string")return!1;var t=e[0];return t==="#"||t==="."||t===t.toUpperCase()},_sign(e){return e===0||e>0?1:-1},requestAnimFrame(e){ox.push(e),ox.length===1&&Z5e(function(){const t=ox;ox=[],t.forEach(function(n){n()})})},createCanvasElement(){var e=document.createElement("canvas");try{e.style=e.style||{}}catch{}return e},createImageElement(){return document.createElement("img")},_isInDocument(e){for(;e=e.parentNode;)if(e==document)return!0;return!1},_urlToImage(e,t){var n=de.createImageElement();n.onload=function(){t(n)},n.src=e},_rgbToHex(e,t,n){return((1<<24)+(e<<16)+(t<<8)+n).toString(16).slice(1)},_hexToRgb(e){e=e.replace(zC,G5e);var t=parseInt(e,16);return{r:t>>16&255,g:t>>8&255,b:t&255}},getRandomColor(){for(var e=(Math.random()*16777215<<0).toString(16);e.length<6;)e=q5e+e;return zC+e},getRGB(e){var t;return e in HC?(t=HC[e],{r:t[0],g:t[1],b:t[2]}):e[0]===zC?this._hexToRgb(e.substring(1)):e.substr(0,4)===Y5e?(t=X5e.exec(e.replace(/ /g,"")),{r:parseInt(t[1],10),g:parseInt(t[2],10),b:parseInt(t[3],10)}):{r:0,g:0,b:0}},colorToRGBA(e){return e=e||"black",de._namedColorToRBA(e)||de._hex3ColorToRGBA(e)||de._hex4ColorToRGBA(e)||de._hex6ColorToRGBA(e)||de._hex8ColorToRGBA(e)||de._rgbColorToRGBA(e)||de._rgbaColorToRGBA(e)||de._hslColorToRGBA(e)},_namedColorToRBA(e){var t=HC[e.toLowerCase()];return t?{r:t[0],g:t[1],b:t[2],a:1}:null},_rgbColorToRGBA(e){if(e.indexOf("rgb(")===0){e=e.match(/rgb\(([^)]+)\)/)[1];var t=e.split(/ *, */).map(Number);return{r:t[0],g:t[1],b:t[2],a:1}}},_rgbaColorToRGBA(e){if(e.indexOf("rgba(")===0){e=e.match(/rgba\(([^)]+)\)/)[1];var t=e.split(/ *, */).map((n,r)=>n.slice(-1)==="%"?r===3?parseInt(n)/100:parseInt(n)/100*255:Number(n));return{r:t[0],g:t[1],b:t[2],a:t[3]}}},_hex8ColorToRGBA(e){if(e[0]==="#"&&e.length===9)return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:parseInt(e.slice(7,9),16)/255}},_hex6ColorToRGBA(e){if(e[0]==="#"&&e.length===7)return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:1}},_hex4ColorToRGBA(e){if(e[0]==="#"&&e.length===5)return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:parseInt(e[4]+e[4],16)/255}},_hex3ColorToRGBA(e){if(e[0]==="#"&&e.length===4)return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:1}},_hslColorToRGBA(e){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(e)){const[t,...n]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e),r=Number(n[0])/360,i=Number(n[1])/100,o=Number(n[2])/100;let a,s,l;if(i===0)return l=o*255,{r:Math.round(l),g:Math.round(l),b:Math.round(l),a:1};o<.5?a=o*(1+i):a=o+i-o*i;const u=2*o-a,d=[0,0,0];for(let p=0;p<3;p++)s=r+1/3*-(p-1),s<0&&s++,s>1&&s--,6*s<1?l=u+(a-u)*6*s:2*s<1?l=a:3*s<2?l=u+(a-u)*(2/3-s)*6:l=u,d[p]=l*255;return{r:Math.round(d[0]),g:Math.round(d[1]),b:Math.round(d[2]),a:1}}},haveIntersection(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height1?(a=n,s=r,l=(n-i)*(n-i)+(r-o)*(r-o)):(a=e+d*(n-e),s=t+d*(r-t),l=(a-i)*(a-i)+(s-o)*(s-o))}return[a,s,l]},_getProjectionToLine(e,t,n){var r=de.cloneObject(e),i=Number.MAX_VALUE;return t.forEach(function(o,a){if(!(!n&&a===t.length-1)){var s=t[(a+1)%t.length],l=de._getProjectionToSegment(o.x,o.y,s.x,s.y,e.x,e.y),u=l[0],d=l[1],p=l[2];pt.length){var a=t;t=e,e=a}for(r=0;r{t.width=0,t.height=0})},drawRoundedRectPath(e,t,n,r){let i=0,o=0,a=0,s=0;typeof r=="number"?i=o=a=s=Math.min(r,t/2,n/2):(i=Math.min(r[0]||0,t/2,n/2),o=Math.min(r[1]||0,t/2,n/2),s=Math.min(r[2]||0,t/2,n/2),a=Math.min(r[3]||0,t/2,n/2)),e.moveTo(i,0),e.lineTo(t-o,0),e.arc(t-o,o,o,Math.PI*3/2,0,!1),e.lineTo(t,n-s),e.arc(t-s,n-s,s,0,Math.PI/2,!1),e.lineTo(a,n),e.arc(a,n-a,a,Math.PI/2,Math.PI,!1),e.lineTo(0,i),e.arc(i,i,i,Math.PI,Math.PI*3/2,!1)}};function uf(e){return de._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||de._isBoolean(e)?e:Object.prototype.toString.call(e)}function iV(e){return e>255?255:e<0?0:Math.round(e)}function Ve(){if(ft.isUnminified)return function(e,t){return de._isNumber(e)||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}function kE(e){if(ft.isUnminified)return function(t,n){let r=de._isNumber(t),i=de._isArray(t)&&t.length==e;return!r&&!i&&de.warn(uf(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}function EE(){if(ft.isUnminified)return function(e,t){var n=de._isNumber(e),r=e==="auto";return n||r||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}function x0(){if(ft.isUnminified)return function(e,t){return de._isString(e)||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}function oV(){if(ft.isUnminified)return function(e,t){const n=de._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}function Q5e(){if(ft.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(de._isArray(e)?e.forEach(function(r){de._isNumber(r)||de.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}function el(){if(ft.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}function J5e(e){if(ft.isUnminified)return function(t,n){return t==null||de.isObject(t)||de.warn(uf(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}var Zv="get",Qv="set";const J={addGetterSetter(e,t,n,r,i){J.addGetter(e,t,n),J.addSetter(e,t,r,i),J.addOverloadedGetterSetter(e,t)},addGetter(e,t,n){var r=Zv+de._capitalize(t);e.prototype[r]=e.prototype[r]||function(){var i=this.attrs[t];return i===void 0?n:i}},addSetter(e,t,n,r){var i=Qv+de._capitalize(t);e.prototype[i]||J.overWriteSetter(e,t,n,r)},overWriteSetter(e,t,n,r){var i=Qv+de._capitalize(t);e.prototype[i]=function(o){return n&&o!==void 0&&o!==null&&(o=n.call(this,o,t)),this._setAttr(t,o),r&&r.call(this),this}},addComponentsGetterSetter(e,t,n,r,i){var o=n.length,a=de._capitalize,s=Zv+a(t),l=Qv+a(t),u,d;e.prototype[s]=function(){var m={};for(u=0;u{this._setAttr(t+a(w),void 0)}),this._fireChangeEvent(t,y,m),i&&i.call(this),this},J.addOverloadedGetterSetter(e,t)},addOverloadedGetterSetter(e,t){var n=de._capitalize(t),r=Qv+n,i=Zv+n;e.prototype[t]=function(){return arguments.length?(this[r](arguments[0]),this):this[i]()}},addDeprecatedGetterSetter(e,t,n,r){de.error("Adding deprecated "+t);var i=Zv+de._capitalize(t),o=t+" property is deprecated and will be removed soon. Look at Konva change log for more information.";e.prototype[i]=function(){de.error(o);var a=this.attrs[t];return a===void 0?n:a},J.addSetter(e,t,r,function(){de.error(o)}),J.addOverloadedGetterSetter(e,t)},backCompat(e,t){de.each(t,function(n,r){var i=e.prototype[r],o=Zv+de._capitalize(n),a=Qv+de._capitalize(n);function s(){i.apply(this,arguments),de.error('"'+n+'" method is deprecated and will be removed soon. Use ""'+r+'" instead.')}e.prototype[n]=s,e.prototype[o]=s,e.prototype[a]=s})},afterSetFilter(){this._filterUpToDate=!1}};function eCe(e){var t=[],n=e.length,r=de,i,o;for(i=0;itypeof d=="number"?Math.floor(d):d)),o+=tCe+u.join(tI)+nCe)):(o+=s.property,t||(o+=sCe+s.val)),o+=oCe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=uCe&&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){var n=t.getLineCap();n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){var n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,a){this._context.arc(t,n,r,i,o,a)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,a){this._context.bezierCurveTo(t,n,r,i,o,a)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(){this._context.clip()}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,a){return this._context.createRadialGradient(t,n,r,i,o,a)}drawImage(t,n,r,i,o,a,s,l,u){var d=arguments,p=this._context;d.length===3?p.drawImage(t,n,r):d.length===5?p.drawImage(t,n,r,i,o):d.length===9&&p.drawImage(t,n,r,i,o,a,s,l,u)}ellipse(t,n,r,i,o,a,s,l){this._context.ellipse(t,n,r,i,o,a,s,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(t){t?this._context.fill(t):this._context.fill()}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,a){this._context.setTransform(t,n,r,i,o,a)}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,a){this._context.transform(t,n,r,i,o,a)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=nI.length,r=this.setAttr,i,o,a=function(s){var l=t[s],u;t[s]=function(){return o=eCe(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:s,args:o}),u}};for(i=0;i{t.dragStatus==="dragging"&&(e=!0)}),e},justDragged:!1,get node(){var e;return fn._dragElements.forEach(t=>{e=t.node}),e},_dragElements:new Map,_drag(e){const t=[];fn._dragElements.forEach((n,r)=>{const{node:i}=n,o=i.getStage();o.setPointersPositions(e),n.pointerId===void 0&&(n.pointerId=de._getFirstPointerId(e));const a=o._changedPointerPositions.find(u=>u.id===n.pointerId);if(a){if(n.dragStatus!=="dragging"){var s=i.dragDistance(),l=Math.max(Math.abs(a.x-n.startPointerPos.x),Math.abs(a.y-n.startPointerPos.y));if(l{n.fire("dragmove",{type:"dragmove",target:n,evt:e},!0)})},_endDragBefore(e){const t=[];fn._dragElements.forEach(n=>{const{node:r}=n,i=r.getStage();if(e&&i.setPointersPositions(e),!i._changedPointerPositions.find(s=>s.id===n.pointerId))return;(n.dragStatus==="dragging"||n.dragStatus==="stopped")&&(fn.justDragged=!0,ft._mouseListenClick=!1,ft._touchListenClick=!1,ft._pointerListenClick=!1,n.dragStatus="stopped");const a=n.node.getLayer()||n.node instanceof ft.Stage&&n.node;a&&t.indexOf(a)===-1&&t.push(a)}),t.forEach(n=>{n.draw()})},_endDragAfter(e){fn._dragElements.forEach((t,n)=>{t.dragStatus==="stopped"&&t.node.fire("dragend",{type:"dragend",target:t.node,evt:e},!0),t.dragStatus!=="dragging"&&fn._dragElements.delete(n)})}};ft.isBrowser&&(window.addEventListener("mouseup",fn._endDragBefore,!0),window.addEventListener("touchend",fn._endDragBefore,!0),window.addEventListener("mousemove",fn._drag),window.addEventListener("touchmove",fn._drag),window.addEventListener("mouseup",fn._endDragAfter,!1),window.addEventListener("touchend",fn._endDragAfter,!1));var gS="absoluteOpacity",sx="allEventListeners",Iu="absoluteTransform",rI="absoluteScale",oh="canvas",hCe="Change",pCe="children",gCe="konva",Rk="listening",iI="mouseenter",oI="mouseleave",aI="set",sI="Shape",mS=" ",lI="stage",fd="transform",mCe="Stage",Ik="visible",vCe=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(mS);let yCe=1,Ge=class Dk{constructor(t){this._id=yCe++,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===fd||t===Iu)&&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===fd||t===Iu,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(mS);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(oh)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===Iu&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(oh)){const{scene:t,filter:n,hit:r}=this._cache.get(oh);de.releaseCanvas(t,n,r),this._cache.delete(oh)}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),a=n.pixelRatio,s=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,d=n.drawBorder||!1,p=n.hitCanvasPixelRatio||1;if(!i||!o){de.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,s-=u,l-=u;var m=new Dm({pixelRatio:a,width:i,height:o}),y=new Dm({pixelRatio:a,width:0,height:0}),b=new PE({pixelRatio:p,width:i,height:o}),w=m.getContext(),E=b.getContext();return b.isCache=!0,m.isCache=!0,this._cache.delete(oh),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(m.getContext()._context.imageSmoothingEnabled=!1,y.getContext()._context.imageSmoothingEnabled=!1),w.save(),E.save(),w.translate(-s,-l),E.translate(-s,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(gS),this._clearSelfAndDescendantCache(rI),this.drawScene(m,this),this.drawHit(b,this),this._isUnderCache=!1,w.restore(),E.restore(),d&&(w.save(),w.beginPath(),w.rect(0,0,i,o),w.closePath(),w.setAttr("strokeStyle","red"),w.setAttr("lineWidth",5),w.stroke(),w.restore()),this._cache.set(oh,{scene:m,filter:y,hit:b,x:s,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(oh)}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,a,s,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var d=l.point(u);i===void 0&&(i=a=d.x,o=s=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),a=Math.max(a,d.x),s=Math.max(s,d.y)}),{x:i,y:o,width:a-i,height:s-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(),a,s,l,u;if(t){if(!this._filterUpToDate){var d=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(a=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/d,r.getHeight()/d),s=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==pCe&&(r=aI+de._capitalize(n),de._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(Rk,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(Ik,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;fn._dragElements.forEach(a=>{a.dragStatus==="dragging"&&(a.node.nodeType==="Stage"||a.node.getLayer()===r)&&(i=!0)});var o=!n&&!ft.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,a,s;function l(u){for(i=[],o=u.length,a=0;a0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==mCe&&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(fd),this._clearSelfAndDescendantCache(Iu)),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 Ca,a=this.offset();return o.m=i.slice(),o.translate(a.x,a.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(fd);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(fd),this._clearSelfAndDescendantCache(Iu),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,a;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,a=0;a0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return de.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 de.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&de.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(gS,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,a,s;t.attrs={};for(r in n)i=n[r],s=de.isObject(i)&&!de._isPlainObject(i)&&!de._isArray(i),!s&&(o=typeof this[r]=="function"&&this[r],delete n[r],a=o?o.call(this):null,n[r]=i,a!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),de._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,de._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():ft.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,a,s;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;fn._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=fn._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&fn._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 de.haveIntersection(r,this.getClientRect())}static create(t,n){return de._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=Dk.prototype.getClassName.call(t),i=t.children,o,a,s;n&&(t.attrs.container=n),ft[r]||(de.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=ft[r];if(o=new l(t.attrs),i)for(a=i.length,s=0;s0}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=Ge.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=Ge.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(),a=this._getCanvasCache(),s=a&&a.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(s){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(),a=this._getCanvasCache(),s=a&&a.hit;if(s){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(),a=this.clipWidth(),s=this.clipHeight(),l=this.clipFunc(),u=a&&s||l;const d=r===this;if(u){o.save();var p=this.getAbsoluteTransform(r),m=p.getMatrix();if(o.transform(m[0],m[1],m[2],m[3],m[4],m[5]),o.beginPath(),l)l.call(this,o,this);else{var y=this.clipX(),b=this.clipY();o.rect(y,b,a,s)}o.clip(),m=p.copy().invert().getMatrix(),o.transform(m[0],m[1],m[2],m[3],m[4],m[5])}var w=!d&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";w&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(E){E[t](n,r)}),w&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,a,s,l,u={x:1/0,y:1/0,width:0,height:0},d=this;(n=this.children)===null||n===void 0||n.forEach(function(w){if(w.visible()){var E=w.getClientRect({relativeTo:d,skipShadow:t.skipShadow,skipStroke:t.skipStroke});E.width===0&&E.height===0||(o===void 0?(o=E.x,a=E.y,s=E.x+E.width,l=E.y+E.height):(o=Math.min(o,E.x),a=Math.min(a,E.y),s=Math.max(s,E.x+E.width),l=Math.max(l,E.y+E.height)))}});for(var p=this.find("Shape"),m=!1,y=0;ye.indexOf("pointer")>=0?"pointer":e.indexOf("touch")>=0?"touch":"mouse",Og=e=>{const t=x1(e);if(t==="pointer")return ft.pointerEventsEnabled&&UC.pointer;if(t==="touch")return UC.touch;if(t==="mouse")return UC.mouse};function cI(e={}){return(e.clipFunc||e.clipWidth||e.clipHeight)&&de.warn("Stage does not support clipping. Please use clip for Layers or Groups."),e}const kCe="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);",vS=[];let c4=class extends Ma{constructor(t){super(cI(t)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),vS.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{cI(this.attrs)}),this._checkVisibility()}_validateAdd(t){const n=t.getType()==="Layer",r=t.getType()==="FastLayer";n||r||de.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const t=this.visible()?"":"none";this.content.style.display=t}setContainer(t){if(typeof t===xCe){if(t.charAt(0)==="."){var n=t.slice(1);t=document.getElementsByClassName(n)[0]}else{var r;t.charAt(0)!=="#"?r=t:r=t.slice(1),t=document.getElementById(r)}if(!t)throw"Can not find container in document with id "+r}return this._setAttr("container",t),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),t.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var t=this.children,n=t.length,r;for(r=0;r-1&&vS.splice(n,1),de.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const t=this._pointerPositions[0]||this._changedPointerPositions[0];return t?{x:t.x,y:t.y}:(de.warn(kCe),null)}_getPointerById(t){return this._pointerPositions.find(n=>n.id===t)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(t){t=t||{},t.x=t.x||0,t.y=t.y||0,t.width=t.width||this.width(),t.height=t.height||this.height();var n=new Dm({width:t.width,height:t.height,pixelRatio:t.pixelRatio||1}),r=n.getContext()._context,i=this.children;return(t.x||t.y)&&r.translate(-1*t.x,-1*t.y),i.forEach(function(o){if(o.isVisible()){var a=o._toKonvaCanvas(t);r.drawImage(a._canvas,t.x,t.y,a.getWidth()/a.getPixelRatio(),a.getHeight()/a.getPixelRatio())}}),n}getIntersection(t){if(!t)return null;var n=this.children,r=n.length,i=r-1,o;for(o=i;o>=0;o--){const a=n[o].getIntersection(t);if(a)return a}return null}_resizeDOM(){var t=this.width(),n=this.height();this.content&&(this.content.style.width=t+uI,this.content.style.height=n+uI),this.bufferCanvas.setSize(t,n),this.bufferHitCanvas.setSize(t,n),this.children.forEach(r=>{r.setSize({width:t,height:n}),r.draw()})}add(t,...n){if(arguments.length>1){for(var r=0;rCCe&&de.warn("The stage has "+i+" 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."),t.setSize({width:this.width(),height:this.height()}),t.draw(),ft.isBrowser&&this.content.appendChild(t.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(t){return sV(t,this)}setPointerCapture(t){lV(t,this)}releaseCapture(t){G1(t)}getLayers(){return this.children}_bindContentEvents(){ft.isBrowser&&_Ce.forEach(([t,n])=>{this.content.addEventListener(t,r=>{this[n](r)},{passive:!1})})}_pointerenter(t){this.setPointersPositions(t);const n=Og(t.type);this._fire(n.pointerenter,{evt:t,target:this,currentTarget:this})}_pointerover(t){this.setPointersPositions(t);const n=Og(t.type);this._fire(n.pointerover,{evt:t,target:this,currentTarget:this})}_getTargetShape(t){let n=this[t+"targetShape"];return n&&!n.getStage()&&(n=null),n}_pointerleave(t){const n=Og(t.type),r=x1(t.type);if(n){this.setPointersPositions(t);var i=this._getTargetShape(r),o=!fn.isDragging||ft.hitOnDragEnabled;i&&o?(i._fireAndBubble(n.pointerout,{evt:t}),i._fireAndBubble(n.pointerleave,{evt:t}),this._fire(n.pointerleave,{evt:t,target:this,currentTarget:this}),this[r+"targetShape"]=null):o&&(this._fire(n.pointerleave,{evt:t,target:this,currentTarget:this}),this._fire(n.pointerout,{evt:t,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(t){const n=Og(t.type),r=x1(t.type);if(n){this.setPointersPositions(t);var i=!1;this._changedPointerPositions.forEach(o=>{var a=this.getIntersection(o);if(fn.justDragged=!1,ft["_"+r+"ListenClick"]=!0,!(a&&a.isListening()))return;ft.capturePointerEventsEnabled&&a.setPointerCapture(o.id),this[r+"ClickStartShape"]=a,a._fireAndBubble(n.pointerdown,{evt:t,pointerId:o.id}),i=!0;const l=t.type.indexOf("touch")>=0;a.preventDefault()&&t.cancelable&&l&&t.preventDefault()}),i||this._fire(n.pointerdown,{evt:t,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(t){const n=Og(t.type),r=x1(t.type);if(!n)return;fn.isDragging&&fn.node.preventDefault()&&t.cancelable&&t.preventDefault(),this.setPointersPositions(t);var i=!fn.isDragging||ft.hitOnDragEnabled;if(!i)return;var o={};let a=!1;var s=this._getTargetShape(r);this._changedPointerPositions.forEach(l=>{const u=WC(l.id)||this.getIntersection(l),d=l.id,p={evt:t,pointerId:d};var m=s!==u;if(m&&s&&(s._fireAndBubble(n.pointerout,Object.assign({},p),u),s._fireAndBubble(n.pointerleave,Object.assign({},p),u)),u){if(o[u._id])return;o[u._id]=!0}u&&u.isListening()?(a=!0,m&&(u._fireAndBubble(n.pointerover,Object.assign({},p),s),u._fireAndBubble(n.pointerenter,Object.assign({},p),s),this[r+"targetShape"]=u),u._fireAndBubble(n.pointermove,Object.assign({},p))):s&&(this._fire(n.pointerover,{evt:t,target:this,currentTarget:this,pointerId:d}),this[r+"targetShape"]=null)}),a||this._fire(n.pointermove,{evt:t,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(t){const n=Og(t.type),r=x1(t.type);if(!n)return;this.setPointersPositions(t);const i=this[r+"ClickStartShape"],o=this[r+"ClickEndShape"];var a={};let s=!1;this._changedPointerPositions.forEach(l=>{const u=WC(l.id)||this.getIntersection(l);if(u){if(u.releaseCapture(l.id),a[u._id])return;a[u._id]=!0}const d=l.id,p={evt:t,pointerId:d};let m=!1;ft["_"+r+"InDblClickWindow"]?(m=!0,clearTimeout(this[r+"DblTimeout"])):fn.justDragged||(ft["_"+r+"InDblClickWindow"]=!0,clearTimeout(this[r+"DblTimeout"])),this[r+"DblTimeout"]=setTimeout(function(){ft["_"+r+"InDblClickWindow"]=!1},ft.dblClickWindow),u&&u.isListening()?(s=!0,this[r+"ClickEndShape"]=u,u._fireAndBubble(n.pointerup,Object.assign({},p)),ft["_"+r+"ListenClick"]&&i&&i===u&&(u._fireAndBubble(n.pointerclick,Object.assign({},p)),m&&o&&o===u&&u._fireAndBubble(n.pointerdblclick,Object.assign({},p)))):(this[r+"ClickEndShape"]=null,ft["_"+r+"ListenClick"]&&this._fire(n.pointerclick,{evt:t,target:this,currentTarget:this,pointerId:d}),m&&this._fire(n.pointerdblclick,{evt:t,target:this,currentTarget:this,pointerId:d}))}),s||this._fire(n.pointerup,{evt:t,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),ft["_"+r+"ListenClick"]=!1,t.cancelable&&r!=="touch"&&t.preventDefault()}_contextmenu(t){this.setPointersPositions(t);var n=this.getIntersection(this.getPointerPosition());n&&n.isListening()?n._fireAndBubble(jk,{evt:t}):this._fire(jk,{evt:t,target:this,currentTarget:this})}_wheel(t){this.setPointersPositions(t);var n=this.getIntersection(this.getPointerPosition());n&&n.isListening()?n._fireAndBubble(Nk,{evt:t}):this._fire(Nk,{evt:t,target:this,currentTarget:this})}_pointercancel(t){this.setPointersPositions(t);const n=WC(t.pointerId)||this.getIntersection(this.getPointerPosition());n&&n._fireAndBubble(lm,TE(t)),G1(t.pointerId)}_lostpointercapture(t){G1(t.pointerId)}setPointersPositions(t){var n=this._getContentPosition(),r=null,i=null;t=t||window.event,t.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(t.touches,o=>{this._pointerPositions.push({id:o.identifier,x:(o.clientX-n.left)/n.scaleX,y:(o.clientY-n.top)/n.scaleY})}),Array.prototype.forEach.call(t.changedTouches||t.touches,o=>{this._changedPointerPositions.push({id:o.identifier,x:(o.clientX-n.left)/n.scaleX,y:(o.clientY-n.top)/n.scaleY})})):(r=(t.clientX-n.left)/n.scaleX,i=(t.clientY-n.top)/n.scaleY,this.pointerPos={x:r,y:i},this._pointerPositions=[{x:r,y:i,id:de._getFirstPointerId(t)}],this._changedPointerPositions=[{x:r,y:i,id:de._getFirstPointerId(t)}])}_setPointerPosition(t){de.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(t)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var t=this.content.getBoundingClientRect();return{top:t.top,left:t.left,scaleX:t.width/this.content.clientWidth||1,scaleY:t.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new Dm({width:this.width(),height:this.height()}),this.bufferHitCanvas=new PE({pixelRatio:1,width:this.width(),height:this.height()}),!!ft.isBrowser){var t=this.container();if(!t)throw"Stage has no container. A container is required.";t.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"),t.appendChild(this.content),this._resizeDOM()}}cache(){return de.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(t){t.batchDraw()}),this}};c4.prototype.nodeType=bCe;Mr(c4);J.addGetterSetter(c4,"container");var bV="hasShadow",xV="shadowRGBA",SV="patternImage",wV="linearGradient",CV="radialGradient";let fx;function VC(){return fx||(fx=de.createCanvasElement().getContext("2d"),fx)}const q1={};function ECe(e){e.fill()}function PCe(e){e.stroke()}function TCe(e){e.fill()}function MCe(e){e.stroke()}function LCe(){this._clearCache(bV)}function ACe(){this._clearCache(xV)}function OCe(){this._clearCache(SV)}function RCe(){this._clearCache(wV)}function ICe(){this._clearCache(CV)}class $e extends Ge{constructor(t){super(t);let n;for(;n=de.getRandomColor(),!(n&&!(n in q1)););this.colorKey=n,q1[n]=this}getContext(){return de.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return de.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(bV,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(SV,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var t=VC();const n=t.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(n&&n.setTransform){const r=new Ca;r.translate(this.fillPatternX(),this.fillPatternY()),r.rotate(ft.getAngle(this.fillPatternRotation())),r.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),r.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const i=r.getMatrix(),o=typeof DOMMatrix>"u"?{a:i[0],b:i[1],c:i[2],d:i[3],e:i[4],f:i[5]}:new DOMMatrix(i);n.setTransform(o)}return n}}_getLinearGradient(){return this._getCache(wV,this.__getLinearGradient)}__getLinearGradient(){var t=this.fillLinearGradientColorStops();if(t){for(var n=VC(),r=this.fillLinearGradientStartPoint(),i=this.fillLinearGradientEndPoint(),o=n.createLinearGradient(r.x,r.y,i.x,i.y),a=0;athis.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 t=this.hitStrokeWidth();return t==="auto"?this.hasStroke():this.strokeEnabled()&&!!t}intersects(t){var n=this.getStage(),r=n.bufferHitCanvas,i;return r.getContext().clear(),this.drawHit(r,null,!0),i=r.context.getImageData(Math.round(t.x),Math.round(t.y),1,1).data,i[3]>0}destroy(){return Ge.prototype.destroy.call(this),delete q1[this.colorKey],delete this.colorKey,this}_useBufferCanvas(t){var n;if(!this.getStage()||!((n=this.attrs.perfectDrawEnabled)!==null&&n!==void 0?n:!0))return!1;const i=t||this.hasFill(),o=this.hasStroke(),a=this.getAbsoluteOpacity()!==1;if(i&&o&&a)return!0;const s=this.hasShadow(),l=this.shadowForStrokeEnabled();return!!(i&&o&&s&&l)}setStrokeHitEnabled(t){de.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),t?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var t=this.size();return{x:this._centroid?-t.width/2:0,y:this._centroid?-t.height/2:0,width:t.width,height:t.height}}getClientRect(t={}){const n=t.skipTransform,r=t.relativeTo,i=this.getSelfRect(),a=!t.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,s=i.width+a,l=i.height+a,u=!t.skipShadow&&this.hasShadow(),d=u?this.shadowOffsetX():0,p=u?this.shadowOffsetY():0,m=s+Math.abs(d),y=l+Math.abs(p),b=u&&this.shadowBlur()||0,w=m+b*2,E=y+b*2,_={width:w,height:E,x:-(a/2+b)+Math.min(d,0)+i.x,y:-(a/2+b)+Math.min(p,0)+i.y};return n?_:this._transformedRect(_,r)}drawScene(t,n){var r=this.getLayer(),i=t||r.getCanvas(),o=i.getContext(),a=this._getCanvasCache(),s=this.getSceneFunc(),l=this.hasShadow(),u,d,p,m=i.isCache,y=n===this;if(!this.isVisible()&&!y)return this;if(a){o.save();var b=this.getAbsoluteTransform(n).getMatrix();return o.transform(b[0],b[1],b[2],b[3],b[4],b[5]),this._drawCachedSceneCanvas(o),o.restore(),this}if(!s)return this;if(o.save(),this._useBufferCanvas()&&!m){u=this.getStage(),d=u.bufferCanvas,p=d.getContext(),p.clear(),p.save(),p._applyLineJoin(this);var w=this.getAbsoluteTransform(n).getMatrix();p.transform(w[0],w[1],w[2],w[3],w[4],w[5]),s.call(this,p,this),p.restore();var E=d.pixelRatio;l&&o._applyShadow(this),o._applyOpacity(this),o._applyGlobalCompositeOperation(this),o.drawImage(d._canvas,0,0,d.width/E,d.height/E)}else{if(o._applyLineJoin(this),!y){var w=this.getAbsoluteTransform(n).getMatrix();o.transform(w[0],w[1],w[2],w[3],w[4],w[5]),o._applyOpacity(this),o._applyGlobalCompositeOperation(this)}l&&o._applyShadow(this),s.call(this,o,this)}return o.restore(),this}drawHit(t,n,r=!1){if(!this.shouldDrawHit(n,r))return this;var i=this.getLayer(),o=t||i.hitCanvas,a=o&&o.getContext(),s=this.hitFunc()||this.sceneFunc(),l=this._getCanvasCache(),u=l&&l.hit;if(this.colorKey||de.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()"),u){a.save();var d=this.getAbsoluteTransform(n).getMatrix();return a.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedHitCanvas(a),a.restore(),this}if(!s)return this;if(a.save(),a._applyLineJoin(this),!(this===n)){var m=this.getAbsoluteTransform(n).getMatrix();a.transform(m[0],m[1],m[2],m[3],m[4],m[5])}return s.call(this,a,this),a.restore(),this}drawHitFromCache(t=0){var n=this._getCanvasCache(),r=this._getCachedSceneCanvas(),i=n.hit,o=i.getContext(),a=i.getWidth(),s=i.getHeight(),l,u,d,p,m,y;o.clear(),o.drawImage(r._canvas,0,0,a,s);try{for(l=o.getImageData(0,0,a,s),u=l.data,d=u.length,p=de._hexToRgb(this.colorKey),m=0;mt?(u[m]=p.r,u[m+1]=p.g,u[m+2]=p.b,u[m+3]=255):u[m+3]=0;o.putImageData(l,0,0)}catch(b){de.error("Unable to draw hit graph from cached scene canvas. "+b.message)}return this}hasPointerCapture(t){return sV(t,this)}setPointerCapture(t){lV(t,this)}releaseCapture(t){G1(t)}}$e.prototype._fillFunc=ECe;$e.prototype._strokeFunc=PCe;$e.prototype._fillFuncHit=TCe;$e.prototype._strokeFuncHit=MCe;$e.prototype._centroid=!1;$e.prototype.nodeType="Shape";Mr($e);$e.prototype.eventListeners={};$e.prototype.on.call($e.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",LCe);$e.prototype.on.call($e.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",ACe);$e.prototype.on.call($e.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",OCe);$e.prototype.on.call($e.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",RCe);$e.prototype.on.call($e.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",ICe);J.addGetterSetter($e,"stroke",void 0,oV());J.addGetterSetter($e,"strokeWidth",2,Ve());J.addGetterSetter($e,"fillAfterStrokeEnabled",!1);J.addGetterSetter($e,"hitStrokeWidth","auto",EE());J.addGetterSetter($e,"strokeHitEnabled",!0,el());J.addGetterSetter($e,"perfectDrawEnabled",!0,el());J.addGetterSetter($e,"shadowForStrokeEnabled",!0,el());J.addGetterSetter($e,"lineJoin");J.addGetterSetter($e,"lineCap");J.addGetterSetter($e,"sceneFunc");J.addGetterSetter($e,"hitFunc");J.addGetterSetter($e,"dash");J.addGetterSetter($e,"dashOffset",0,Ve());J.addGetterSetter($e,"shadowColor",void 0,x0());J.addGetterSetter($e,"shadowBlur",0,Ve());J.addGetterSetter($e,"shadowOpacity",1,Ve());J.addComponentsGetterSetter($e,"shadowOffset",["x","y"]);J.addGetterSetter($e,"shadowOffsetX",0,Ve());J.addGetterSetter($e,"shadowOffsetY",0,Ve());J.addGetterSetter($e,"fillPatternImage");J.addGetterSetter($e,"fill",void 0,oV());J.addGetterSetter($e,"fillPatternX",0,Ve());J.addGetterSetter($e,"fillPatternY",0,Ve());J.addGetterSetter($e,"fillLinearGradientColorStops");J.addGetterSetter($e,"strokeLinearGradientColorStops");J.addGetterSetter($e,"fillRadialGradientStartRadius",0);J.addGetterSetter($e,"fillRadialGradientEndRadius",0);J.addGetterSetter($e,"fillRadialGradientColorStops");J.addGetterSetter($e,"fillPatternRepeat","repeat");J.addGetterSetter($e,"fillEnabled",!0);J.addGetterSetter($e,"strokeEnabled",!0);J.addGetterSetter($e,"shadowEnabled",!0);J.addGetterSetter($e,"dashEnabled",!0);J.addGetterSetter($e,"strokeScaleEnabled",!0);J.addGetterSetter($e,"fillPriority","color");J.addComponentsGetterSetter($e,"fillPatternOffset",["x","y"]);J.addGetterSetter($e,"fillPatternOffsetX",0,Ve());J.addGetterSetter($e,"fillPatternOffsetY",0,Ve());J.addComponentsGetterSetter($e,"fillPatternScale",["x","y"]);J.addGetterSetter($e,"fillPatternScaleX",1,Ve());J.addGetterSetter($e,"fillPatternScaleY",1,Ve());J.addComponentsGetterSetter($e,"fillLinearGradientStartPoint",["x","y"]);J.addComponentsGetterSetter($e,"strokeLinearGradientStartPoint",["x","y"]);J.addGetterSetter($e,"fillLinearGradientStartPointX",0);J.addGetterSetter($e,"strokeLinearGradientStartPointX",0);J.addGetterSetter($e,"fillLinearGradientStartPointY",0);J.addGetterSetter($e,"strokeLinearGradientStartPointY",0);J.addComponentsGetterSetter($e,"fillLinearGradientEndPoint",["x","y"]);J.addComponentsGetterSetter($e,"strokeLinearGradientEndPoint",["x","y"]);J.addGetterSetter($e,"fillLinearGradientEndPointX",0);J.addGetterSetter($e,"strokeLinearGradientEndPointX",0);J.addGetterSetter($e,"fillLinearGradientEndPointY",0);J.addGetterSetter($e,"strokeLinearGradientEndPointY",0);J.addComponentsGetterSetter($e,"fillRadialGradientStartPoint",["x","y"]);J.addGetterSetter($e,"fillRadialGradientStartPointX",0);J.addGetterSetter($e,"fillRadialGradientStartPointY",0);J.addComponentsGetterSetter($e,"fillRadialGradientEndPoint",["x","y"]);J.addGetterSetter($e,"fillRadialGradientEndPointX",0);J.addGetterSetter($e,"fillRadialGradientEndPointY",0);J.addGetterSetter($e,"fillPatternRotation",0);J.backCompat($e,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"});var DCe="#",jCe="beforeDraw",NCe="draw",_V=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],$Ce=_V.length;let sp=class extends Ma{constructor(t){super(t),this.canvas=new Dm,this.hitCanvas=new PE({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<$Ce;i++){const o=_V[i],a=this._getIntersection({x:t.x+o.x*n,y:t.y+o.y*n}),s=a.shape;if(s)return s;if(r=!!a.antialiased,!a.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=de._rgbToHex(r[0],r[1],r[2]),a=q1[DCe+o];return a?{shape:a}:{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(jCe,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Ma.prototype.drawScene.call(this,i,n),this._fire(NCe,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Ma.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){de.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return de.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 de.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}};sp.prototype.nodeType="Layer";Mr(sp);J.addGetterSetter(sp,"imageSmoothingEnabled",!0);J.addGetterSetter(sp,"clearBeforeDraw",!0);J.addGetterSetter(sp,"hitGraphEnabled",!0,el());class ME extends sp{constructor(t){super(t),this.listening(!1),de.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}ME.prototype.nodeType="FastLayer";Mr(ME);let Jm=class extends Ma{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&de.throw("You may only add groups and shapes to groups.")}};Jm.prototype.nodeType="Group";Mr(Jm);var GC=function(){return Im.performance&&Im.performance.now?function(){return Im.performance.now()}:function(){return new Date().getTime()}}();class Ja{constructor(t,n){this.id=Ja.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:GC(),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():t<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=t,this.update())}getTime(){return this._time}setPosition(t){this.prevPos=this._pos,this.propFunc(t),this._pos=t}getPosition(t){return t===void 0&&(t=this._time),this.func(t,this.begin,this._change,this.duration)}play(){this.state=dI,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=fI,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(t){this.pause(),this._time=t,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 t=this.getTimer()-this._startTime;this.state===dI?this.setTime(t):this.state===fI&&this.setTime(this.duration-t)}pause(){this.state=BCe,this.fire("onPause")}getTimer(){return new Date().getTime()}}class Xr{constructor(t){var n=this,r=t.node,i=r._id,o,a=t.easing||K1.Linear,s=!!t.yoyo,l;typeof t.duration>"u"?o=.3:t.duration===0?o=.001:o=t.duration,this.node=r,this._id=zCe++;var u=r.getLayer()||(r instanceof ft.Stage?r.getLayers():null);u||de.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new Ja(function(){n.tween.onEnterFrame()},u),this.tween=new HCe(l,function(d){n._tweenFunc(d)},a,0,1,o*1e3,s),this._addListeners(),Xr.attrs[i]||(Xr.attrs[i]={}),Xr.attrs[i][this._id]||(Xr.attrs[i][this._id]={}),Xr.tweens[i]||(Xr.tweens[i]={});for(l in t)FCe[l]===void 0&&this._addAttr(l,t[l]);this.reset(),this.onFinish=t.onFinish,this.onReset=t.onReset,this.onUpdate=t.onUpdate}_addAttr(t,n){var r=this.node,i=r._id,o,a,s,l,u,d,p,m;if(s=Xr.tweens[i][t],s&&delete Xr.attrs[i][s][t],o=r.getAttr(t),de._isArray(n))if(a=[],u=Math.max(n.length,o.length),t==="points"&&n.length!==o.length&&(n.length>o.length?(p=o,o=de._prepareArrayForTween(o,n,r.closed())):(d=n,n=de._prepareArrayForTween(n,o,r.closed()))),t.indexOf("fill")===0)for(l=0;l{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var t=this.node,n=Xr.attrs[t._id][this._id];n.points&&n.points.trueEnd&&t.setAttr("points",n.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var t=this.node,n=Xr.attrs[t._id][this._id];n.points&&n.points.trueStart&&t.points(n.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(t){return this.tween.seek(t*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var t=this.node._id,n=this._id,r=Xr.tweens[t],i;this.pause();for(i in r)delete Xr.tweens[t][i];delete Xr.attrs[t][n]}}Xr.attrs={};Xr.tweens={};Ge.prototype.to=function(e){var t=e.onFinish;e.node=this,e.onFinish=function(){this.destroy(),t&&t()};var n=new Xr(e);n.play()};const K1={BackEaseIn(e,t,n,r){var i=1.70158;return n*(e/=r)*e*((i+1)*e-i)+t},BackEaseOut(e,t,n,r){var i=1.70158;return n*((e=e/r-1)*e*((i+1)*e+i)+1)+t},BackEaseInOut(e,t,n,r){var i=1.70158;return(e/=r/2)<1?n/2*(e*e*(((i*=1.525)+1)*e-i))+t:n/2*((e-=2)*e*(((i*=1.525)+1)*e+i)+2)+t},ElasticEaseIn(e,t,n,r,i,o){var a=0;return e===0?t:(e/=r)===1?t+n:(o||(o=r*.3),!i||i0?t:n),d=a*n,p=s*(s>0?t:n),m=l*(l>0?n:t);return{x:u,y:r?-1*m:p,width:d-u,height:m-p}}}hc.prototype._centroid=!0;hc.prototype.className="Arc";hc.prototype._attrsAffectingSize=["innerRadius","outerRadius"];Mr(hc);J.addGetterSetter(hc,"innerRadius",0,Ve());J.addGetterSetter(hc,"outerRadius",0,Ve());J.addGetterSetter(hc,"angle",0,Ve());J.addGetterSetter(hc,"clockwise",!1,el());function $k(e,t,n,r,i,o,a){var s=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=a*s/(s+l),d=a*l/(s+l),p=n-u*(i-e),m=r-u*(o-t),y=n+d*(i-e),b=r+d*(o-t);return[p,m,y,b]}function pI(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(s=this.getTensionPoints(),l=s.length,u=o?0:4,o||t.quadraticCurveTo(s[0],s[1],s[2],s[3]);ud?u:d,E=u>d?1:u/d,_=u>d?d/u:1;t.translate(s,l),t.rotate(y),t.scale(E,_),t.arc(0,0,w,p,p+m,1-b),t.scale(1/E,1/_),t.rotate(-y),t.translate(-s,-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 d=u.points[4],p=u.points[5],m=u.points[4]+p,y=Math.PI/180;if(Math.abs(d-m)m;b-=y){const w=Fn.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],b,0);t.push(w.x,w.y)}else for(let b=d+y;bthis.dataArray[r].pathLength;)t-=this.dataArray[r].pathLength,++r;if(r===i)return n=this.dataArray[r-1].points.slice(-2),{x:n[0],y:n[1]};if(t<.01)return n=this.dataArray[r].points.slice(0,2),{x:n[0],y:n[1]};var o=this.dataArray[r],a=o.points;switch(o.command){case"L":return Fn.getPointOnLine(t,o.start.x,o.start.y,a[0],a[1]);case"C":return Fn.getPointOnCubicBezier(t/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Fn.getPointOnQuadraticBezier(t/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3]);case"A":var s=a[0],l=a[1],u=a[2],d=a[3],p=a[4],m=a[5],y=a[6];return p+=m*t/o.pathLength,Fn.getPointOnEllipticalArc(s,l,u,d,p,y)}return null}static getLineLength(t,n,r,i){return Math.sqrt((r-t)*(r-t)+(i-n)*(i-n))}static getPointOnLine(t,n,r,i,o,a,s){a===void 0&&(a=n),s===void 0&&(s=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(b[0]);){var k=null,T=[],L=l,O=u,D,I,N,W,B,K,ne,z,$,V;switch(y){case"l":l+=b.shift(),u+=b.shift(),k="L",T.push(l,u);break;case"L":l=b.shift(),u=b.shift(),T.push(l,u);break;case"m":var X=b.shift(),Q=b.shift();if(l+=X,u+=Q,k="M",a.length>2&&a[a.length-1].command==="z"){for(var G=a.length-2;G>=0;G--)if(a[G].command==="M"){l=a[G].points[0]+X,u=a[G].points[1]+Q;break}}T.push(l,u),y="l";break;case"M":l=b.shift(),u=b.shift(),k="M",T.push(l,u),y="L";break;case"h":l+=b.shift(),k="L",T.push(l,u);break;case"H":l=b.shift(),k="L",T.push(l,u);break;case"v":u+=b.shift(),k="L",T.push(l,u);break;case"V":u=b.shift(),k="L",T.push(l,u);break;case"C":T.push(b.shift(),b.shift(),b.shift(),b.shift()),l=b.shift(),u=b.shift(),T.push(l,u);break;case"c":T.push(l+b.shift(),u+b.shift(),l+b.shift(),u+b.shift()),l+=b.shift(),u+=b.shift(),k="C",T.push(l,u);break;case"S":I=l,N=u,D=a[a.length-1],D.command==="C"&&(I=l+(l-D.points[2]),N=u+(u-D.points[3])),T.push(I,N,b.shift(),b.shift()),l=b.shift(),u=b.shift(),k="C",T.push(l,u);break;case"s":I=l,N=u,D=a[a.length-1],D.command==="C"&&(I=l+(l-D.points[2]),N=u+(u-D.points[3])),T.push(I,N,l+b.shift(),u+b.shift()),l+=b.shift(),u+=b.shift(),k="C",T.push(l,u);break;case"Q":T.push(b.shift(),b.shift()),l=b.shift(),u=b.shift(),T.push(l,u);break;case"q":T.push(l+b.shift(),u+b.shift()),l+=b.shift(),u+=b.shift(),k="Q",T.push(l,u);break;case"T":I=l,N=u,D=a[a.length-1],D.command==="Q"&&(I=l+(l-D.points[0]),N=u+(u-D.points[1])),l=b.shift(),u=b.shift(),k="Q",T.push(I,N,l,u);break;case"t":I=l,N=u,D=a[a.length-1],D.command==="Q"&&(I=l+(l-D.points[0]),N=u+(u-D.points[1])),l+=b.shift(),u+=b.shift(),k="Q",T.push(I,N,l,u);break;case"A":W=b.shift(),B=b.shift(),K=b.shift(),ne=b.shift(),z=b.shift(),$=l,V=u,l=b.shift(),u=b.shift(),k="A",T=this.convertEndpointToCenterParameterization($,V,l,u,ne,z,W,B,K);break;case"a":W=b.shift(),B=b.shift(),K=b.shift(),ne=b.shift(),z=b.shift(),$=l,V=u,l+=b.shift(),u+=b.shift(),k="A",T=this.convertEndpointToCenterParameterization($,V,l,u,ne,z,W,B,K);break}a.push({command:k||y,points:T,start:{x:L,y:O},pathLength:this.calcLength(L,O,k||y,T)})}(y==="z"||y==="Z")&&a.push({command:"z",points:[],start:void 0,pathLength:0})}return a}static calcLength(t,n,r,i){var o,a,s,l,u=Fn;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":for(o=0,a=u.getPointOnCubicBezier(0,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),l=.01;l<=1;l+=.01)s=u.getPointOnCubicBezier(l,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),o+=u.getLineLength(a.x,a.y,s.x,s.y),a=s;return o;case"Q":for(o=0,a=u.getPointOnQuadraticBezier(0,t,n,i[0],i[1],i[2],i[3]),l=.01;l<=1;l+=.01)s=u.getPointOnQuadraticBezier(l,t,n,i[0],i[1],i[2],i[3]),o+=u.getLineLength(a.x,a.y,s.x,s.y),a=s;return o;case"A":o=0;var d=i[4],p=i[5],m=i[4]+p,y=Math.PI/180;if(Math.abs(d-m)m;l-=y)s=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(a.x,a.y,s.x,s.y),a=s;else for(l=d+y;l1&&(s*=Math.sqrt(y),l*=Math.sqrt(y));var b=Math.sqrt((s*s*(l*l)-s*s*(m*m)-l*l*(p*p))/(s*s*(m*m)+l*l*(p*p)));o===a&&(b*=-1),isNaN(b)&&(b=0);var w=b*s*m/l,E=b*-l*p/s,_=(t+r)/2+Math.cos(d)*w-Math.sin(d)*E,k=(n+i)/2+Math.sin(d)*w+Math.cos(d)*E,T=function(B){return Math.sqrt(B[0]*B[0]+B[1]*B[1])},L=function(B,K){return(B[0]*K[0]+B[1]*K[1])/(T(B)*T(K))},O=function(B,K){return(B[0]*K[1]=1&&(W=0),a===0&&W>0&&(W=W-2*Math.PI),a===1&&W<0&&(W=W+2*Math.PI),[_,k,s,l,D,W,d,a]}}Fn.prototype.className="Path";Fn.prototype._attrsAffectingSize=["data"];Mr(Fn);J.addGetterSetter(Fn,"data");class lp extends pc{_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 a=this.pointerLength(),s=r.length,l,u;if(o){const m=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[s-2],r[s-1]],y=Fn.calcLength(i[i.length-4],i[i.length-3],"C",m),b=Fn.getPointOnQuadraticBezier(Math.min(1,1-a/y),m[0],m[1],m[2],m[3],m[4],m[5]);l=r[s-2]-b.x,u=r[s-1]-b.y}else l=r[s-2]-r[s-4],u=r[s-1]-r[s-3];var d=(Math.atan2(u,l)+n)%n,p=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[s-2],r[s-1]),t.rotate(d),t.moveTo(0,0),t.lineTo(-a,p/2),t.lineTo(-a,-p/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(-a,p/2),t.lineTo(-a,-p/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}}}lp.prototype.className="Arrow";Mr(lp);J.addGetterSetter(lp,"pointerLength",10,Ve());J.addGetterSetter(lp,"pointerWidth",10,Ve());J.addGetterSetter(lp,"pointerAtBeginning",!1);J.addGetterSetter(lp,"pointerAtEnding",!0);let S0=class extends $e{_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)}};S0.prototype._centroid=!0;S0.prototype.className="Circle";S0.prototype._attrsAffectingSize=["radius"];Mr(S0);J.addGetterSetter(S0,"radius",0,Ve());class cf extends $e{_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)}}cf.prototype.className="Ellipse";cf.prototype._centroid=!0;cf.prototype._attrsAffectingSize=["radiusX","radiusY"];Mr(cf);J.addComponentsGetterSetter(cf,"radius",["x","y"]);J.addGetterSetter(cf,"radiusX",0,Ve());J.addGetterSetter(cf,"radiusY",0,Ve());let uu=class kV extends $e{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 a;if(o){const s=this.attrs.cropWidth,l=this.attrs.cropHeight;s&&l?a=[o,this.cropX(),this.cropY(),s,l,0,0,n,r]:a=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?de.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,a))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?de.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=de.createImageElement();i.onload=function(){var o=new kV({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};uu.prototype.className="Image";Mr(uu);J.addGetterSetter(uu,"cornerRadius",0,kE(4));J.addGetterSetter(uu,"image");J.addComponentsGetterSetter(uu,"crop",["x","y","width","height"]);J.addGetterSetter(uu,"cropX",0,Ve());J.addGetterSetter(uu,"cropY",0,Ve());J.addGetterSetter(uu,"cropWidth",0,Ve());J.addGetterSetter(uu,"cropHeight",0,Ve());var EV=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],WCe="Change.konva",UCe="none",Fk="up",Bk="right",zk="down",Hk="left",VCe=EV.length;class LE extends Jm{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,a.x),r=Math.max(r,a.x),i=Math.min(i,a.y),o=Math.max(o,a.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)}}cp.prototype.className="RegularPolygon";cp.prototype._centroid=!0;cp.prototype._attrsAffectingSize=["radius"];Mr(cp);J.addGetterSetter(cp,"radius",0,Ve());J.addGetterSetter(cp,"sides",0,Ve());var gI=Math.PI*2;class dp extends $e{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,gI,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),gI,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)}}dp.prototype.className="Ring";dp.prototype._centroid=!0;dp.prototype._attrsAffectingSize=["innerRadius","outerRadius"];Mr(dp);J.addGetterSetter(dp,"innerRadius",0,Ve());J.addGetterSetter(dp,"outerRadius",0,Ve());class cu extends $e{constructor(t){super(t),this._updated=!0,this.anim=new Ja(()=>{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],a=this.frameOffsets(),s=o[i+0],l=o[i+1],u=o[i+2],d=o[i+3],p=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,d),t.closePath(),t.fillStrokeShape(this)),p)if(a){var m=a[n],y=r*2;t.drawImage(p,s,l,u,d,m[y+0],m[y+1],u,d)}else t.drawImage(p,s,l,u,d,0,0,u,d)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],a=this.frameOffsets(),s=o[i+2],l=o[i+3];if(t.beginPath(),a){var u=a[n],d=r*2;t.rect(u[d+0],u[d+1],s,l)}else t.rect(0,0,s,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 px;function KC(){return px||(px=de.createCanvasElement().getContext(KCe),px)}function o6e(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function a6e(e){e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function s6e(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Tr extends $e{constructor(t){super(s6e(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(_+=a)}}}_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=de._isString(t)?t:t==null?"":t+"";return this._setAttr(YCe,n),this}getWidth(){var t=this.attrs.width===Rg||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===Rg||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 de.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=KC(),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()+hx+this.fontVariant()+hx+(this.fontSize()+JCe)+i6e(this.fontFamily())}_addTextLine(t){this.align()===Jv&&(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 KC().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,a=this.attrs.height,s=o!==Rg&&o!==void 0,l=a!==Rg&&a!==void 0,u=this.padding(),d=o-u*2,p=a-u*2,m=0,y=this.wrap(),b=y!==yI,w=y!==n6e&&b,E=this.ellipsis();this.textArr=[],KC().font=this._getContextFont();for(var _=E?this._getTextWidth(qC):0,k=0,T=t.length;kd)for(;L.length>0;){for(var D=0,I=L.length,N="",W=0;D>>1,K=L.slice(0,B+1),ne=this._getTextWidth(K)+_;ne<=d?(D=B+1,N=K,W=ne):I=B}if(N){if(w){var z,$=L[N.length],V=$===hx||$===mI;V&&W<=d?z=N.length:z=Math.max(N.lastIndexOf(hx),N.lastIndexOf(mI))+1,z>0&&(D=z,N=N.slice(0,D),W=this._getTextWidth(N))}N=N.trimRight(),this._addTextLine(N),r=Math.max(r,W),m+=i;var X=this._shouldHandleEllipsis(m);if(X){this._tryToAddEllipsisToLastLine();break}if(L=L.slice(D),L=L.trimLeft(),L.length>0&&(O=this._getTextWidth(L),O<=d)){this._addTextLine(L),m+=i,r=Math.max(r,O);break}}else break}else this._addTextLine(L),m+=i,r=Math.max(r,O),this._shouldHandleEllipsis(m)&&kp)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==Rg&&i!==void 0,a=this.padding(),s=i-a*2,l=this.wrap(),u=l!==yI;return!u||o&&t+r>s}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==Rg&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),a=this.textArr[this.textArr.length-1];if(!(!a||!o)){if(n){var s=this._getTextWidth(a.text+qC)=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;i0&&(s+=t.dataArray[l].pathLength);var u=0;i==="center"&&(u=Math.max(0,s/2-a/2)),i==="right"&&(u=Math.max(0,s-a));for(var d=PV(this.text()),p=this.text().split(" ").length-1,m,y,b,w=-1,E=0,_=function(){E=0;for(var ne=t.dataArray,z=w+1;z0)return w=z,ne[z];ne[z].command==="M"&&(m={x:ne[z].points[0],y:ne[z].points[1]})}return{}},k=function(ne){var z=t._getTextSize(ne).width+r;ne===" "&&i==="justify"&&(z+=(s-a)/p);var $=0,V=0;for(y=void 0;Math.abs(z-$)/z>.01&&V<20;){V++;for(var X=$;b===void 0;)b=_(),b&&X+b.pathLengthz?y=Fn.getPointOnLine(z,m.x,m.y,b.points[0],b.points[1],m.x,m.y):b=void 0;break;case"A":var G=b.points[4],Y=b.points[5],ee=b.points[4]+Y;E===0?E=G+1e-8:z>$?E+=Math.PI/180*Y/Math.abs(Y):E-=Math.PI/360*Y/Math.abs(Y),(Y<0&&E=0&&E>ee)&&(E=ee,Q=!0),y=Fn.getPointOnEllipticalArc(b.points[0],b.points[1],b.points[2],b.points[3],E,b.points[6]);break;case"C":E===0?z>b.pathLength?E=1e-8:E=z/b.pathLength:z>$?E+=(z-$)/b.pathLength/2:E=Math.max(E-($-z)/b.pathLength/2,0),E>1&&(E=1,Q=!0),y=Fn.getPointOnCubicBezier(E,b.start.x,b.start.y,b.points[0],b.points[1],b.points[2],b.points[3],b.points[4],b.points[5]);break;case"Q":E===0?E=z/b.pathLength:z>$?E+=(z-$)/b.pathLength:E-=($-z)/b.pathLength,E>1&&(E=1,Q=!0),y=Fn.getPointOnQuadraticBezier(E,b.start.x,b.start.y,b.points[0],b.points[1],b.points[2],b.points[3]);break}y!==void 0&&($=Fn.getLineLength(m.x,m.y,y.x,y.y)),Q&&(Q=!1,b=void 0)}},T="C",L=t._getTextSize(T).width+r,O=u/L-1,D=0;De+`.${IV}`).join(" "),bI="nodesRect",c6e=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],d6e={"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 f6e="ontouchstart"in ft._global;function h6e(e,t){if(e==="rotater")return"crosshair";t+=de.degToRad(d6e[e]||0);var n=(de.radToDeg(t)%360+360)%360;return de._inRange(n,315+22.5,360)||de._inRange(n,0,22.5)?"ns-resize":de._inRange(n,45-22.5,45+22.5)?"nesw-resize":de._inRange(n,90-22.5,90+22.5)?"ew-resize":de._inRange(n,135-22.5,135+22.5)?"nwse-resize":de._inRange(n,180-22.5,180+22.5)?"ns-resize":de._inRange(n,225-22.5,225+22.5)?"nesw-resize":de._inRange(n,270-22.5,270+22.5)?"ew-resize":de._inRange(n,315-22.5,315+22.5)?"nwse-resize":(de.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var L3=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],xI=1e8;function p6e(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 DV(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 g6e(e,t){const n=p6e(e);return DV(e,t,n)}function m6e(e,t,n){let r=t;for(let i=0;i{const i=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},o=r._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");r.on(o,i),r.on(c6e.map(a=>a+`.${this._getEventNamespace()}`).join(" "),i),r.on(`absoluteTransformChange.${this._getEventNamespace()}`,i),this._proxyDrag(r)}),this._resetTransformCache();var n=!!this.findOne(".top-left");return n&&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,a=i.y-n.y;this.nodes().forEach(s=>{if(s===t||s.isDragging())return;const l=s.getAbsolutePosition();s.setAbsolutePosition({x:l.x+o,y:l.y+a}),s.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(bI),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(bI,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),a=t.getAbsolutePosition(r),s=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(ft.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:a.x+s*Math.cos(u)+l*Math.sin(-u),y:a.y+l*Math.cos(u)+s*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return DV(d,-ft.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-xI,y:-xI,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var p=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],m=u.getAbsoluteTransform();p.forEach(function(y){var b=m.point(y);n.push(b)})});const r=new Ca;r.rotate(-ft.getAngle(this.rotation()));var i,o,a,s;n.forEach(function(u){var d=r.point(u);i===void 0&&(i=a=d.x,o=s=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),a=Math.max(a,d.x),s=Math.max(s,d.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:a-i,height:s-o,rotation:ft.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(),L3.forEach(function(t){this._createAnchor(t)}.bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new m2({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:f6e?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=ft.getAngle(this.rotation()),o=h6e(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 $e({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()*de._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 a=t.target.getAbsolutePosition(),s=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:s.x-a.x,y:s.y-a.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),a=o.getStage();a.setPointersPositions(t);const s=a.getPointerPosition();let l={x:s.x-this._anchorDragOffset.x,y:s.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const d=o.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var p=this._getNodeRect();n=o.x()-p.width/2,r=-o.y()+p.height/2;let ne=Math.atan2(-r,n)+Math.PI/2;p.height<0&&(ne-=Math.PI);var m=ft.getAngle(this.rotation());const z=m+ne,$=ft.getAngle(this.rotationSnapTolerance()),X=m6e(this.rotationSnaps(),z,$)-p.rotation,Q=g6e(p,X);this._fitNodesInto(Q,t);return}var y=this.keepRatio()||t.shiftKey,k=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(y){var b=k?{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(b.x-o.x(),2)+Math.pow(b.y-o.y(),2));var w=this.findOne(".top-left").x()>b.x?-1:1,E=this.findOne(".top-left").y()>b.y?-1:1;n=i*this.cos*w,r=i*this.sin*E,this.findOne(".top-left").x(b.x-n),this.findOne(".top-left").y(b.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(y){var b=k?{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()-b.x,2)+Math.pow(b.y-o.y(),2));var w=this.findOne(".top-right").x()b.y?-1:1;n=i*this.cos*w,r=i*this.sin*E,this.findOne(".top-right").x(b.x+n),this.findOne(".top-right").y(b.y-r)}var _=o.position();this.findOne(".top-left").y(_.y),this.findOne(".bottom-right").x(_.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(y){var b=k?{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(b.x-o.x(),2)+Math.pow(o.y()-b.y,2));var w=b.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(de._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(de._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var a=new Ca;if(a.rotate(ft.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const p=a.point({x:-this.padding()*2,y:0});if(t.x+=p.x,t.y+=p.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=p.x,this._anchorDragOffset.y-=p.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const p=a.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=p.x,this._anchorDragOffset.y-=p.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const p=a.point({x:0,y:-this.padding()*2});if(t.x+=p.x,t.y+=p.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=p.x,this._anchorDragOffset.y-=p.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const p=a.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=p.x,this._anchorDragOffset.y-=p.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const p=this.boundBoxFunc()(r,t);p?t=p:de.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const s=1e7,l=new Ca;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/s,r.height/s);const u=new Ca;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/s,t.height/s);const d=u.multiply(l.invert());this._nodes.forEach(p=>{var m;const y=p.getParent().getAbsoluteTransform(),b=p.getTransform().copy();b.translate(p.offsetX(),p.offsetY());const w=new Ca;w.multiply(y.copy().invert()).multiply(d).multiply(y).multiply(b);const E=w.decompose();p.setAttrs(E),this._fire("transform",{evt:n,target:p}),p._fire("transform",{evt:n,target:p}),(m=p.getLayer())===null||m===void 0||m.batchDraw()}),this.rotation(de._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(de._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),a=this.resizeEnabled(),s=this.padding(),l=this.anchorSize();this.find("._anchor").forEach(u=>{u.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+s,offsetY:l/2+s,visible:a&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+s,visible:a&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-s,offsetY:l/2+s,visible:a&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+s,visible:a&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-s,visible:a&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+s,offsetY:l/2-s,visible:a&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-s,visible:a&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-s,offsetY:l/2-s,visible:a&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*de._sign(i)-s,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}),(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=""),Jm.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return Ge.prototype.toObject.call(this)}clone(t){var n=Ge.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}};function v6e(e){return e instanceof Array||de.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){L3.indexOf(t)===-1&&de.warn("Unknown anchor name: "+t+". Available names are: "+L3.join(", "))}),e||[]}Tn.prototype.className="Transformer";Mr(Tn);J.addGetterSetter(Tn,"enabledAnchors",L3,v6e);J.addGetterSetter(Tn,"flipEnabled",!0,el());J.addGetterSetter(Tn,"resizeEnabled",!0);J.addGetterSetter(Tn,"anchorSize",10,Ve());J.addGetterSetter(Tn,"rotateEnabled",!0);J.addGetterSetter(Tn,"rotationSnaps",[]);J.addGetterSetter(Tn,"rotateAnchorOffset",50,Ve());J.addGetterSetter(Tn,"rotationSnapTolerance",5,Ve());J.addGetterSetter(Tn,"borderEnabled",!0);J.addGetterSetter(Tn,"anchorStroke","rgb(0, 161, 255)");J.addGetterSetter(Tn,"anchorStrokeWidth",1,Ve());J.addGetterSetter(Tn,"anchorFill","white");J.addGetterSetter(Tn,"anchorCornerRadius",0,Ve());J.addGetterSetter(Tn,"borderStroke","rgb(0, 161, 255)");J.addGetterSetter(Tn,"borderStrokeWidth",1,Ve());J.addGetterSetter(Tn,"borderDash");J.addGetterSetter(Tn,"keepRatio",!0);J.addGetterSetter(Tn,"centeredScaling",!1);J.addGetterSetter(Tn,"ignoreStroke",!1);J.addGetterSetter(Tn,"padding",0,Ve());J.addGetterSetter(Tn,"node");J.addGetterSetter(Tn,"nodes");J.addGetterSetter(Tn,"boundBoxFunc");J.addGetterSetter(Tn,"anchorDragBoundFunc");J.addGetterSetter(Tn,"shouldOverdrawWholeArea",!1);J.addGetterSetter(Tn,"useSingleNodeRotation",!0);J.backCompat(Tn,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});class gc extends $e{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,ft.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)}}gc.prototype.className="Wedge";gc.prototype._centroid=!0;gc.prototype._attrsAffectingSize=["radius"];Mr(gc);J.addGetterSetter(gc,"radius",0,Ve());J.addGetterSetter(gc,"angle",0,Ve());J.addGetterSetter(gc,"clockwise",!1);J.backCompat(gc,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});function SI(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var y6e=[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],b6e=[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 x6e(e,t){var n=e.data,r=e.width,i=e.height,o,a,s,l,u,d,p,m,y,b,w,E,_,k,T,L,O,D,I,N,W,B,K,ne,z=t+t+1,$=r-1,V=i-1,X=t+1,Q=X*(X+1)/2,G=new SI,Y=null,ee=G,fe=null,_e=null,we=y6e[t],xe=b6e[t];for(s=1;s>xe,K!==0?(K=255/K,n[d]=(m*we>>xe)*K,n[d+1]=(y*we>>xe)*K,n[d+2]=(b*we>>xe)*K):n[d]=n[d+1]=n[d+2]=0,m-=E,y-=_,b-=k,w-=T,E-=fe.r,_-=fe.g,k-=fe.b,T-=fe.a,l=p+((l=o+t+1)<$?l:$)<<2,L+=fe.r=n[l],O+=fe.g=n[l+1],D+=fe.b=n[l+2],I+=fe.a=n[l+3],m+=L,y+=O,b+=D,w+=I,fe=fe.next,E+=N=_e.r,_+=W=_e.g,k+=B=_e.b,T+=K=_e.a,L-=N,O-=W,D-=B,I-=K,_e=_e.next,d+=4;p+=r}for(o=0;o>xe,K>0?(K=255/K,n[l]=(m*we>>xe)*K,n[l+1]=(y*we>>xe)*K,n[l+2]=(b*we>>xe)*K):n[l]=n[l+1]=n[l+2]=0,m-=E,y-=_,b-=k,w-=T,E-=fe.r,_-=fe.g,k-=fe.b,T-=fe.a,l=o+((l=a+X)0&&x6e(t,n)};J.addGetterSetter(Ge,"blurRadius",0,Ve(),J.afterSetFilter);const w6e=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,a=a<0?0:a>255?255:a,n[s]=i,n[s+1]=o,n[s+2]=a};J.addGetterSetter(Ge,"contrast",0,Ve(),J.afterSetFilter);const _6e=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,a=0,s=e.data,l=e.width,u=e.height,d=l*4,p=u;switch(r){case"top-left":o=-1,a=-1;break;case"top":o=-1,a=0;break;case"top-right":o=-1,a=1;break;case"right":o=0,a=1;break;case"bottom-right":o=1,a=1;break;case"bottom":o=1,a=0;break;case"bottom-left":o=1,a=-1;break;case"left":o=0,a=-1;break;default:de.error("Unknown emboss direction: "+r)}do{var m=(p-1)*d,y=o;p+y<1&&(y=0),p+y>u&&(y=0);var b=(p-1+y)*l*4,w=l;do{var E=m+(w-1)*4,_=a;w+_<1&&(_=0),w+_>l&&(_=0);var k=b+(w-1+_)*4,T=s[E]-s[k],L=s[E+1]-s[k+1],O=s[E+2]-s[k+2],D=T,I=D>0?D:-D,N=L>0?L:-L,W=O>0?O:-O;if(N>I&&(D=L),W>I&&(D=O),D*=t,i){var B=s[E]+D,K=s[E+1]+D,ne=s[E+2]+D;s[E]=B>255?255:B<0?0:B,s[E+1]=K>255?255:K<0?0:K,s[E+2]=ne>255?255:ne<0?0:ne}else{var z=n-D;z<0?z=0:z>255&&(z=255),s[E]=s[E+1]=s[E+2]=z}}while(--w)}while(--p)};J.addGetterSetter(Ge,"embossStrength",.5,Ve(),J.afterSetFilter);J.addGetterSetter(Ge,"embossWhiteLevel",.5,Ve(),J.afterSetFilter);J.addGetterSetter(Ge,"embossDirection","top-left",null,J.afterSetFilter);J.addGetterSetter(Ge,"embossBlend",!1,null,J.afterSetFilter);function YC(e,t,n,r,i){var o=n-t,a=i-r,s;return o===0?r+a/2:a===0?r:(s=(e-t)/o,s=a*s+r,s)}const k6e=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,a=t[1],s=a,l,u=t[2],d=u,p,m,y=this.enhance();if(y!==0){for(m=0;mi&&(i=o),l=t[m+1],ls&&(s=l),p=t[m+2],pd&&(d=p);i===r&&(i=255,r=0),s===a&&(s=255,a=0),d===u&&(d=255,u=0);var b,w,E,_,k,T,L,O,D;for(y>0?(w=i+y*(255-i),E=r-y*(r-0),k=s+y*(255-s),T=a-y*(a-0),O=d+y*(255-d),D=u-y*(u-0)):(b=(i+r)*.5,w=i+y*(i-b),E=r+y*(r-b),_=(s+a)*.5,k=s+y*(s-_),T=a+y*(a-_),L=(d+u)*.5,O=d+y*(d-L),D=u+y*(u-L)),m=0;m_?E:_;var k=a,T=o,L,O,D=360/T*Math.PI/180,I,N;for(O=0;OT?k:T;var L=a,O=o,D,I,N=n.polarRotation||0,W,B;for(d=0;dt&&(L=T,O=0,D=-1),i=0;i=0&&y=0&&b=0&&y=0&&b=255*4?255:0}return a}function $6e(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),a=[],s=0;s=0&&y=0&&b=n))for(o=w;o=r||(a=(n*o+i)*4,s+=L[a+0],l+=L[a+1],u+=L[a+2],d+=L[a+3],T+=1);for(s=s/T,l=l/T,u=u/T,d=d/T,i=y;i=n))for(o=w;o=r||(a=(n*o+i)*4,L[a+0]=s,L[a+1]=l,L[a+2]=u,L[a+3]=d)}};J.addGetterSetter(Ge,"pixelSize",8,Ve(),J.afterSetFilter);const H6e=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)});J.addGetterSetter(Ge,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});J.addGetterSetter(Ge,"blue",0,iV,J.afterSetFilter);const U6e=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),a=this.alpha(),s,l;for(s=0;s255?255:e<0?0:Math.round(e)});J.addGetterSetter(Ge,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});J.addGetterSetter(Ge,"blue",0,iV,J.afterSetFilter);J.addGetterSetter(Ge,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});const V6e=function(e){var t=e.data,n=t.length,r,i,o,a;for(r=0;r127&&(u=255-u),d>127&&(d=255-d),p>127&&(p=255-p),t[l]=u,t[l+1]=d,t[l+2]=p}while(--s)}while(--o)},q6e=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:n,height:r}=t,i=document.createElement("div"),o=new $g.Stage({container:i,width:n,height:r}),a=new $g.Layer,s=new $g.Layer;a.add(new $g.Rect({...t,fill:"white"})),e.forEach(u=>s.add(new $g.Line({points:u.points,stroke:"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),o.add(a),o.add(s);const l=o.toDataURL({...t});return i.remove(),l};let jV=null,NV=null;const Y6e=e=>{jV=e},Qs=()=>jV,X6e=e=>{NV=e},$V=()=>NV,Z6e=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("

")})},FV=(e,t)=>Math.floor(Math.random()*(t-e+1)+e),Q6e=e=>{const t=Qs(),{generationMode:n,generationState:r,postprocessingState:i,canvasState:o,systemState:a}=e,{codeformerFidelity:s,facetoolStrength:l,facetoolType:u,hiresFix:d,hiresStrength:p,shouldRunESRGAN:m,shouldRunFacetool:y,upscalingLevel:b,upscalingStrength:w,upscalingDenoising:E}=i,{cfgScale:_,height:k,img2imgStrength:T,infillMethod:L,initialImage:O,iterations:D,perlin:I,prompt:N,negativePrompt:W,sampler:B,seamBlur:K,seamless:ne,seamSize:z,seamSteps:$,seamStrength:V,seed:X,seedWeights:Q,shouldFitToWidthHeight:G,shouldGenerateVariations:Y,shouldRandomizeSeed:ee,steps:fe,threshold:_e,tileSize:we,variationAmount:xe,width:Le,shouldUseSymmetry:Se,horizontalSymmetrySteps:Je,verticalSymmetrySteps:Xe}=r,{shouldDisplayInProgressType:tt,saveIntermediatesInterval:yt,enableImageDebugging:Be}=a,Ae={prompt:N,iterations:D,steps:fe,cfg_scale:_,threshold:_e,perlin:I,height:k,width:Le,sampler_name:B,seed:X,progress_images:tt==="full-res",progress_latents:tt==="latents",save_intermediates:yt,generation_mode:n,init_mask:""};let bt=!1,Fe=!1;if(W!==""&&(Ae.prompt=`${N} [${W}]`),Ae.seed=ee?FV(CE,_E):X,Se&&(Je>0&&(Ae.h_symmetry_time_pct=Math.max(0,Math.min(1,Je/fe))),Xe>0&&(Ae.v_symmetry_time_pct=Math.max(0,Math.min(1,Xe/fe)))),n==="txt2img"&&(Ae.hires_fix=d,d&&(Ae.strength=p)),["txt2img","img2img"].includes(n)&&(Ae.seamless=ne,m&&(bt={level:b,denoise_str:E,strength:w}),y&&(Fe={type:u,strength:l},u==="codeformer"&&(Fe.codeformer_fidelity=s))),n==="img2img"&&O&&(Ae.init_img=typeof O=="string"?O:O.url,Ae.strength=T,Ae.fit=G),n==="unifiedCanvas"&&t){const{layerState:{objects:at},boundingBoxCoordinates:jt,boundingBoxDimensions:mt,stageScale:Zt,isMaskEnabled:on,shouldPreserveMaskedArea:se,boundingBoxScaleMethod:Ie,scaledBoundingBoxDimensions:He}=o,Ue={...jt,...mt},ye=K6e(on?at.filter(hE):[],Ue);Ae.init_mask=ye,Ae.fit=!1,Ae.strength=T,Ae.invert_mask=se,Ae.bounding_box=Ue;const je=t.scale();t.scale({x:1/Zt,y:1/Zt});const vt=t.getAbsolutePosition(),Mt=t.toDataURL({x:Ue.x+vt.x,y:Ue.y+vt.y,width:Ue.width,height:Ue.height});Be&&Z6e([{base64:ye,caption:"mask sent as init_mask"},{base64:Mt,caption:"image sent as init_img"}]),t.scale(je),Ae.init_img=Mt,Ae.progress_images=!1,Ie!=="none"&&(Ae.inpaint_width=He.width,Ae.inpaint_height=He.height),Ae.seam_size=z,Ae.seam_blur=K,Ae.seam_strength=V,Ae.seam_steps=$,Ae.tile_size=we,Ae.infill_method=L,Ae.force_outpaint=!1}return Y?(Ae.variation_amount=xe,Q&&(Ae.with_variations=N3e(Q))):Ae.variation_amount=0,Be&&(Ae.enable_image_debugging=Be),{generationParameters:Ae,esrganParameters:bt,facetoolParameters:Fe}};var J6e=/d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g,e_e=/\b(?:[A-Z]{1,3}[A-Z][TC])(?:[-+]\d{4})?|((?:Australian )?(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time)\b/g,t_e=/[^-+\dA-Z]/g;function Ti(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(wI[t]||t||wI.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"},a=function(){return e[o()+"Date"]()},s=function(){return e[o()+"Day"]()},l=function(){return e[o()+"Month"]()},u=function(){return e[o()+"FullYear"]()},d=function(){return e[o()+"Hours"]()},p=function(){return e[o()+"Minutes"]()},m=function(){return e[o()+"Seconds"]()},y=function(){return e[o()+"Milliseconds"]()},b=function(){return n?0:e.getTimezoneOffset()},w=function(){return n_e(e)},E=function(){return r_e(e)},_={d:function(){return a()},dd:function(){return xa(a())},ddd:function(){return Ho.dayNames[s()]},DDD:function(){return CI({y:u(),m:l(),d:a(),_:o(),dayName:Ho.dayNames[s()],short:!0})},dddd:function(){return Ho.dayNames[s()+7]},DDDD:function(){return CI({y:u(),m:l(),d:a(),_:o(),dayName:Ho.dayNames[s()+7]})},m:function(){return l()+1},mm:function(){return xa(l()+1)},mmm:function(){return Ho.monthNames[l()]},mmmm:function(){return Ho.monthNames[l()+12]},yy:function(){return String(u()).slice(2)},yyyy:function(){return xa(u(),4)},h:function(){return d()%12||12},hh:function(){return xa(d()%12||12)},H:function(){return d()},HH:function(){return xa(d())},M:function(){return p()},MM:function(){return xa(p())},s:function(){return m()},ss:function(){return xa(m())},l:function(){return xa(y(),3)},L:function(){return xa(Math.floor(y()/10))},t:function(){return d()<12?Ho.timeNames[0]:Ho.timeNames[1]},tt:function(){return d()<12?Ho.timeNames[2]:Ho.timeNames[3]},T:function(){return d()<12?Ho.timeNames[4]:Ho.timeNames[5]},TT:function(){return d()<12?Ho.timeNames[6]:Ho.timeNames[7]},Z:function(){return r?"GMT":n?"UTC":i_e(e)},o:function(){return(b()>0?"-":"+")+xa(Math.floor(Math.abs(b())/60)*100+Math.abs(b())%60,4)},p:function(){return(b()>0?"-":"+")+xa(Math.floor(Math.abs(b())/60),2)+":"+xa(Math.floor(Math.abs(b())%60),2)},S:function(){return["th","st","nd","rd"][a()%10>3?0:(a()%100-a()%10!=10)*a()%10]},W:function(){return w()},WW:function(){return xa(w())},N:function(){return E()}};return t.replace(J6e,function(k){return k in _?_[k]():k.slice(1,k.length-1)})}var wI={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"},Ho={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"]},xa=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(t).padStart(n,"0")},CI=function(t){var n=t.y,r=t.m,i=t.d,o=t._,a=t.dayName,s=t.short,l=s===void 0?!1:s,u=new Date,d=new Date;d.setDate(d[o+"Date"]()-1);var p=new Date;p.setDate(p[o+"Date"]()+1);var m=function(){return u[o+"Date"]()},y=function(){return u[o+"Month"]()},b=function(){return u[o+"FullYear"]()},w=function(){return d[o+"Date"]()},E=function(){return d[o+"Month"]()},_=function(){return d[o+"FullYear"]()},k=function(){return p[o+"Date"]()},T=function(){return p[o+"Month"]()},L=function(){return p[o+"FullYear"]()};return b()===n&&y()===r&&m()===i?l?"Tdy":"Today":_()===n&&E()===r&&w()===i?l?"Ysd":"Yesterday":L()===n&&T()===r&&k()===i?l?"Tmw":"Tomorrow":a},n_e=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)},r_e=function(t){var n=t.getDay();return n===0&&(n=7),n},i_e=function(t){return(String(t).match(e_e)||[""]).pop().replace(t_e,"").replace(/GMT\+0000/g,"UTC")};const o_e=(e,t)=>{const{dispatch:n,getState:r}=e;return{emitGenerateImage:i=>{n(wa(!0));const o=r(),{generation:a,postprocessing:s,system:l,canvas:u}=o,d={generationMode:i,generationState:a,postprocessingState:s,canvasState:u,systemState:l};n(M4e());const{generationParameters:p,esrganParameters:m,facetoolParameters:y}=Q6e(d);t.emit("generateImage",p,m,y),p.init_mask&&(p.init_mask=p.init_mask.substr(0,64).concat("...")),p.init_img&&(p.init_img=p.init_img.substr(0,64).concat("...")),n(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Image generation requested: ${JSON.stringify({...p,...m,...y})}`}))},emitRunESRGAN:i=>{n(wa(!0));const{postprocessing:{upscalingLevel:o,upscalingDenoising:a,upscalingStrength:s}}=r(),l={upscale:[o,a,s]};t.emit("runPostprocessing",i,{type:"esrgan",...l}),n(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`ESRGAN upscale requested: ${JSON.stringify({file:i.url,...l})}`}))},emitRunFacetool:i=>{n(wa(!0));const{postprocessing:{facetoolType:o,facetoolStrength:a,codeformerFidelity:s}}=r(),l={facetool_strength:a};o==="codeformer"&&(l.codeformer_fidelity=s),t.emit("runPostprocessing",i,{type:o,...l}),n(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Face restoration (${o}) requested: ${JSON.stringify({file:i.url,...l})}`}))},emitDeleteImage:i=>{const{url:o,uuid:a,category:s,thumbnail:l}=i;n(JW(i)),t.emit("deleteImage",o,l,a,s)},emitRequestImages:i=>{const o=r().gallery,{earliest_mtime:a}=o.categories[i];t.emit("requestImages",i,a)},emitRequestNewImages:i=>{const o=r().gallery,{latest_mtime:a}=o.categories[i];t.emit("requestLatestImages",i,a)},emitCancelProcessing:()=>{t.emit("cancel")},emitRequestSystemConfig:()=>{t.emit("requestSystemConfig")},emitSearchForModels:i=>{t.emit("searchForModels",i)},emitAddNewModel:i=>{t.emit("addNewModel",i)},emitDeleteModel:i=>{t.emit("deleteModel",i)},emitConvertToDiffusers:i=>{n(k4e()),t.emit("convertToDiffusers",i)},emitMergeDiffusersModels:i=>{n(E4e()),t.emit("mergeDiffusersModels",i)},emitRequestModelChange:i=>{n(_4e()),t.emit("requestModelChange",i)},emitSaveStagingAreaImageToGallery:i=>{t.emit("requestSaveStagingAreaImageToGallery",i)},emitRequestEmptyTempFolder:()=>{t.emit("requestEmptyTempFolder")}}};let mx;const a_e=new Uint8Array(16);function s_e(){if(!mx&&(mx=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!mx))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return mx(a_e)}const Hi=[];for(let e=0;e<256;++e)Hi.push((e+256).toString(16).slice(1));function l_e(e,t=0){return(Hi[e[t+0]]+Hi[e[t+1]]+Hi[e[t+2]]+Hi[e[t+3]]+"-"+Hi[e[t+4]]+Hi[e[t+5]]+"-"+Hi[e[t+6]]+Hi[e[t+7]]+"-"+Hi[e[t+8]]+Hi[e[t+9]]+"-"+Hi[e[t+10]]+Hi[e[t+11]]+Hi[e[t+12]]+Hi[e[t+13]]+Hi[e[t+14]]+Hi[e[t+15]]).toLowerCase()}const u_e=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),_I={randomUUID:u_e};function um(e,t,n){if(_I.randomUUID&&!t&&!e)return _I.randomUUID();e=e||{};const r=e.random||(e.rng||s_e)();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 l_e(r)}const Wk=br("socketio/generateImage"),c_e=br("socketio/runESRGAN"),d_e=br("socketio/runFacetool"),f_e=br("socketio/deleteImage"),Uk=br("socketio/requestImages"),kI=br("socketio/requestNewImages"),h_e=br("socketio/cancelProcessing"),p_e=br("socketio/requestSystemConfig"),EI=br("socketio/searchForModels"),v2=br("socketio/addNewModel"),g_e=br("socketio/deleteModel"),m_e=br("socketio/convertToDiffusers"),v_e=br("socketio/mergeDiffusersModels"),BV=br("socketio/requestModelChange"),y_e=br("socketio/saveStagingAreaImageToGallery"),b_e=br("socketio/requestEmptyTempFolder"),x_e=e=>{const{dispatch:t,getState:n}=e;return{onConnect:()=>{try{t(HR(!0)),t(hh(Et.t("common.statusConnected"))),t(p_e());const r=n().gallery;r.categories.result.latest_mtime?t(kI("result")):t(Uk("result")),r.categories.user.latest_mtime?t(kI("user")):t(Uk("user"))}catch(r){console.error(r)}},onDisconnect:()=>{try{t(HR(!1)),t(hh(Et.t("common.statusDisconnected"))),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:"Disconnected from server",level:"warning"}))}catch(r){console.error(r)}},onGenerationResult:r=>{try{const i=n(),{activeTab:o}=i.ui,{shouldLoopback:a}=i.postprocessing,{boundingBox:s,generationMode:l,...u}=r,d={uuid:um(),...u};if(["txt2img","img2img"].includes(l)&&t(sm({category:"result",image:{...d,category:"result"}})),l==="unifiedCanvas"&&r.boundingBox){const{boundingBox:p}=r;t(n3e({image:{...d,category:"temp"},boundingBox:p})),i.canvas.shouldAutoSave&&t(sm({image:{...d,category:"result"},category:"result"}))}if(a)switch(xE[o]){case"img2img":{t(y0(d));break}}t(jC()),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Image generated: ${r.url}`}))}catch(i){console.error(i)}},onIntermediateResult:r=>{try{t(k3e({uuid:um(),...r,category:"result"})),r.isBase64||t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Intermediate image generated: ${r.url}`}))}catch(i){console.error(i)}},onPostprocessingResult:r=>{try{t(sm({category:"result",image:{uuid:um(),...r,category:"result"}})),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Postprocessed: ${r.url}`}))}catch(i){console.error(i)}},onProgressUpdate:r=>{try{t(wa(!0)),t(x4e(r))}catch(i){console.error(i)}},onError:r=>{const{message:i,additionalData:o}=r;try{t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Server error: ${i}`,level:"error"})),t(WR()),t(jC())}catch(a){console.error(a)}},onGalleryImages:r=>{const{images:i,areMoreImagesAvailable:o,category:a}=r,s=i.map(l=>({uuid:um(),...l}));t(_3e({images:s,areMoreImagesAvailable:o,category:a})),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Loaded ${i.length} images`}))},onProcessingCanceled:()=>{t(C4e());const{intermediateImage:r}=n().gallery;r&&(r.isBase64||(t(sm({category:"result",image:r})),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Intermediate image saved: ${r.url}`}))),t(jC())),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:"Processing canceled",level:"warning"}))},onImageDeleted:r=>{const{url:i}=r;t(JW(r));const{generation:{initialImage:o,maskPath:a}}=n();(o===i||(o==null?void 0:o.url)===i)&&t(aU()),a===i&&t(uU("")),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Image deleted: ${i}`}))},onSystemConfig:r=>{t(S4e(r)),r.infill_methods.includes("patchmatch")||t(lU(r.infill_methods[0]))},onFoundModels:r=>{const{search_folder:i,found_models:o}=r;t($U(i)),t(FU(o))},onNewModelAdded:r=>{const{new_model_name:i,model_list:o,update:a}=r;t(Ag(o)),t(wa(!1)),t(hh(Et.t("modelManager.modelAdded"))),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model Added: ${i}`,level:"info"})),t($u({title:a?`${Et.t("modelManager.modelUpdated")}: ${i}`:`${Et.t("modelManager.modelAdded")}: ${i}`,status:"success",duration:2500,isClosable:!0}))},onModelDeleted:r=>{const{deleted_model_name:i,model_list:o}=r;t(Ag(o)),t(wa(!1)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`${Et.t("modelManager.modelAdded")}: ${i}`,level:"info"})),t($u({title:`${Et.t("modelManager.modelEntryDeleted")}: ${i}`,status:"success",duration:2500,isClosable:!0}))},onModelConverted:r=>{const{converted_model_name:i,model_list:o}=r;t(Ag(o)),t(hh(Et.t("common.statusModelConverted"))),t(wa(!1)),t(_d(!0)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model converted: ${i}`,level:"info"})),t($u({title:`${Et.t("modelManager.modelConverted")}: ${i}`,status:"success",duration:2500,isClosable:!0}))},onModelsMerged:r=>{const{merged_models:i,merged_model_name:o,model_list:a}=r;t(Ag(a)),t(hh(Et.t("common.statusMergedModels"))),t(wa(!1)),t(_d(!0)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Models merged: ${i}`,level:"info"})),t($u({title:`${Et.t("modelManager.modelsMerged")}: ${o}`,status:"success",duration:2500,isClosable:!0}))},onModelChanged:r=>{const{model_name:i,model_list:o}=r;t(Ag(o)),t(hh(Et.t("common.statusModelChanged"))),t(wa(!1)),t(_d(!0)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model changed: ${i}`,level:"info"}))},onModelChangeFailed:r=>{const{model_name:i,model_list:o}=r;t(Ag(o)),t(wa(!1)),t(_d(!0)),t(WR()),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model change failed: ${i}`,level:"error"}))},onTempFolderEmptied:()=>{t($u({title:Et.t("toast.tempFoldersEmptied"),status:"success",duration:2500,isClosable:!0}))}}},S_e=()=>{const{origin:e}=new URL(window.location.href),t=pS(e,{timeout:6e4,path:`${window.location.pathname}socket.io`});let n=!1;return i=>o=>a=>{const{onConnect:s,onDisconnect:l,onError:u,onPostprocessingResult:d,onGenerationResult:p,onIntermediateResult:m,onProgressUpdate:y,onGalleryImages:b,onProcessingCanceled:w,onImageDeleted:E,onSystemConfig:_,onModelChanged:k,onFoundModels:T,onNewModelAdded:L,onModelDeleted:O,onModelConverted:D,onModelsMerged:I,onModelChangeFailed:N,onTempFolderEmptied:W}=x_e(i),{emitGenerateImage:B,emitRunESRGAN:K,emitRunFacetool:ne,emitDeleteImage:z,emitRequestImages:$,emitRequestNewImages:V,emitCancelProcessing:X,emitRequestSystemConfig:Q,emitSearchForModels:G,emitAddNewModel:Y,emitDeleteModel:ee,emitConvertToDiffusers:fe,emitMergeDiffusersModels:_e,emitRequestModelChange:we,emitSaveStagingAreaImageToGallery:xe,emitRequestEmptyTempFolder:Le}=o_e(i,t);switch(n||(t.on("connect",()=>s()),t.on("disconnect",()=>l()),t.on("error",Se=>u(Se)),t.on("generationResult",Se=>p(Se)),t.on("postprocessingResult",Se=>d(Se)),t.on("intermediateResult",Se=>m(Se)),t.on("progressUpdate",Se=>y(Se)),t.on("galleryImages",Se=>b(Se)),t.on("processingCanceled",()=>{w()}),t.on("imageDeleted",Se=>{E(Se)}),t.on("systemConfig",Se=>{_(Se)}),t.on("foundModels",Se=>{T(Se)}),t.on("newModelAdded",Se=>{L(Se)}),t.on("modelDeleted",Se=>{O(Se)}),t.on("modelConverted",Se=>{D(Se)}),t.on("modelsMerged",Se=>{I(Se)}),t.on("modelChanged",Se=>{k(Se)}),t.on("modelChangeFailed",Se=>{N(Se)}),t.on("tempFolderEmptied",()=>{W()}),n=!0),a.type){case"socketio/generateImage":{B(a.payload);break}case"socketio/runESRGAN":{K(a.payload);break}case"socketio/runFacetool":{ne(a.payload);break}case"socketio/deleteImage":{z(a.payload);break}case"socketio/requestImages":{$(a.payload);break}case"socketio/requestNewImages":{V(a.payload);break}case"socketio/cancelProcessing":{X();break}case"socketio/requestSystemConfig":{Q();break}case"socketio/searchForModels":{G(a.payload);break}case"socketio/addNewModel":{Y(a.payload);break}case"socketio/deleteModel":{ee(a.payload);break}case"socketio/convertToDiffusers":{fe(a.payload);break}case"socketio/mergeDiffusersModels":{_e(a.payload);break}case"socketio/requestModelChange":{we(a.payload);break}case"socketio/saveStagingAreaImageToGallery":{xe(a.payload);break}case"socketio/requestEmptyTempFolder":{Le();break}}o(a)}},w_e=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"].map(e=>`canvas.${e}`),C_e=["currentIteration","currentStatus","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","socketId","totalIterations","totalSteps","openModel","cancelOptions.cancelAfter"].map(e=>`system.${e}`),__e=["categories","currentCategory","currentImage","currentImageUuid","shouldAutoSwitchToNewImages","shouldHoldGalleryOpen","intermediateImage"].map(e=>`gallery.${e}`),zV=SW({generation:W3e,postprocessing:K3e,gallery:O3e,system:O4e,canvas:w3e,ui:W4e,lightbox:D3e}),k_e=OW.getPersistConfig({key:"root",storage:AW,rootReducer:zV,blacklist:[...w_e,...C_e,...__e],debounce:300}),E_e=MSe(k_e,zV),HV=oSe({reducer:E_e,middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(S_e()),devTools:{actionsDenylist:["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine"]}}),WV=DSe(HV),AE=S.createContext(null),Te=bxe,le=lxe;let PI;const OE=()=>({setOpenUploader:e=>{e&&(PI=e)},openUploader:PI}),Br=lt(e=>e.ui,e=>xE[e.activeTab],{memoizeOptions:{equalityCheck:Ce.isEqual}}),P_e=lt(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:Ce.isEqual}}),fp=lt(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:Ce.isEqual}}),TI=e=>async(t,n)=>{const{imageFile:r}=e,i=n(),o=Br(i),a=new FormData;a.append("file",r,r.name),a.append("data",JSON.stringify({kind:"init"}));const l=await(await fetch(`${window.location.origin}/upload`,{method:"POST",body:a})).json(),u={uuid:um(),category:"user",...l};t(sm({image:u,category:"user"})),o==="unifiedCanvas"?t(i4(u)):o==="img2img"&&t(y0(u))};function T_e(){const{t:e}=De();return g.jsxs("div",{className:"work-in-progress nodes-work-in-progress",children:[g.jsx("h1",{children:e("common.nodes")}),g.jsx("p",{children:e("common.nodesDesc")})]})}const M_e=()=>{const{t:e}=De();return g.jsxs("div",{className:"work-in-progress post-processing-work-in-progress",children:[g.jsx("h1",{children:e("common.postProcessing")}),g.jsx("p",{children:e("common.postProcessDesc1")}),g.jsx("p",{children:e("common.postProcessDesc2")}),g.jsx("p",{children:e("common.postProcessDesc3")})]})};function L_e(){const{t:e}=De();return g.jsxs("div",{className:"work-in-progress nodes-work-in-progress",children:[g.jsx("h1",{children:e("common.training")}),g.jsxs("p",{children:[e("common.trainingDesc1"),g.jsx("br",{}),g.jsx("br",{}),e("common.trainingDesc2")]})]})}function A_e(e){const{i18n:t}=De(),n=localStorage.getItem("i18nextLng");Ke.useEffect(()=>{e()},[e]),Ke.useEffect(()=>{t.on("languageChanged",()=>{e()})},[e,t,n])}const O_e=fc({displayName:"ImageToImageIcon",viewBox:"0 0 3543 3543",path:g.jsx("g",{transform:"matrix(1.10943,0,0,1.10943,-206.981,-213.533)",children:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M688.533,2405.95L542.987,2405.95C349.532,2405.95 192.47,2248.89 192.47,2055.44L192.47,542.987C192.47,349.532 349.532,192.47 542.987,192.47L2527.88,192.47C2721.33,192.47 2878.4,349.532 2878.4,542.987L2878.4,1172.79L3023.94,1172.79C3217.4,1172.79 3374.46,1329.85 3374.46,1523.3C3374.46,1523.3 3374.46,3035.75 3374.46,3035.75C3374.46,3229.21 3217.4,3386.27 3023.94,3386.27L1039.05,3386.27C845.595,3386.27 688.533,3229.21 688.533,3035.75L688.533,2405.95ZM3286.96,2634.37L3286.96,1523.3C3286.96,1378.14 3169.11,1260.29 3023.94,1260.29C3023.94,1260.29 1039.05,1260.29 1039.05,1260.29C893.887,1260.29 776.033,1378.14 776.033,1523.3L776.033,2489.79L1440.94,1736.22L2385.83,2775.59L2880.71,2200.41L3286.96,2634.37ZM2622.05,1405.51C2778.5,1405.51 2905.51,1532.53 2905.51,1688.98C2905.51,1845.42 2778.5,1972.44 2622.05,1972.44C2465.6,1972.44 2338.58,1845.42 2338.58,1688.98C2338.58,1532.53 2465.6,1405.51 2622.05,1405.51ZM2790.9,1172.79L1323.86,1172.79L944.882,755.906L279.97,1509.47L279.97,542.987C279.97,397.824 397.824,279.97 542.987,279.97C542.987,279.97 2527.88,279.97 2527.88,279.97C2673.04,279.97 2790.9,397.824 2790.9,542.987L2790.9,1172.79ZM2125.98,425.197C2282.43,425.197 2409.45,552.213 2409.45,708.661C2409.45,865.11 2282.43,992.126 2125.98,992.126C1969.54,992.126 1842.52,865.11 1842.52,708.661C1842.52,552.213 1969.54,425.197 2125.98,425.197Z"})})}),R_e=fc({displayName:"NodesIcon",viewBox:"0 0 3543 3543",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M3543.31,770.787C3543.31,515.578 3336.11,308.38 3080.9,308.38L462.407,308.38C207.197,308.38 0,515.578 0,770.787L0,2766.03C0,3021.24 207.197,3228.44 462.407,3228.44L3080.9,3228.44C3336.11,3228.44 3543.31,3021.24 3543.31,2766.03C3543.31,2766.03 3543.31,770.787 3543.31,770.787ZM3427.88,770.787L3427.88,2766.03C3427.88,2957.53 3272.4,3113.01 3080.9,3113.01C3080.9,3113.01 462.407,3113.01 462.407,3113.01C270.906,3113.01 115.431,2957.53 115.431,2766.03L115.431,770.787C115.431,579.286 270.906,423.812 462.407,423.812L3080.9,423.812C3272.4,423.812 3427.88,579.286 3427.88,770.787ZM1214.23,1130.69L1321.47,1130.69C1324.01,1130.69 1326.54,1130.53 1329.05,1130.2C1329.05,1130.2 1367.3,1125.33 1397.94,1149.8C1421.63,1168.72 1437.33,1204.3 1437.33,1265.48L1437.33,2078.74L1220.99,2078.74C1146.83,2078.74 1086.61,2138.95 1086.61,2213.12L1086.61,2762.46C1086.61,2836.63 1146.83,2896.84 1220.99,2896.84L1770.34,2896.84C1844.5,2896.84 1904.71,2836.63 1904.71,2762.46L1904.71,2213.12C1904.71,2138.95 1844.5,2078.74 1770.34,2078.74L1554,2078.74L1554,1604.84C1625.84,1658.19 1703.39,1658.1 1703.39,1658.1C1703.54,1658.1 1703.69,1658.11 1703.84,1658.11L2362.2,1658.11L2362.2,1874.44C2362.2,1948.61 2422.42,2008.82 2496.58,2008.82L3045.93,2008.82C3120.09,2008.82 3180.3,1948.61 3180.3,1874.44L3180.3,1325.1C3180.3,1250.93 3120.09,1190.72 3045.93,1190.72L2496.58,1190.72C2422.42,1190.72 2362.2,1250.93 2362.2,1325.1L2362.2,1558.97L2362.2,1541.44L1704.23,1541.44C1702.2,1541.37 1650.96,1539.37 1609.51,1499.26C1577.72,1468.49 1554,1416.47 1554,1331.69L1554,1265.48C1554,1153.86 1513.98,1093.17 1470.76,1058.64C1411.24,1011.1 1338.98,1012.58 1319.15,1014.03L1214.23,1014.03L1214.23,796.992C1214.23,722.828 1154.02,662.617 1079.85,662.617L530.507,662.617C456.343,662.617 396.131,722.828 396.131,796.992L396.131,1346.34C396.131,1420.5 456.343,1480.71 530.507,1480.71L1079.85,1480.71C1154.02,1480.71 1214.23,1420.5 1214.23,1346.34L1214.23,1130.69Z"})}),I_e=fc({displayName:"PostprocessingIcon",viewBox:"0 0 3543 3543",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M709.477,1596.53L992.591,1275.66L2239.09,2646.81L2891.95,1888.03L3427.88,2460.51L3427.88,994.78C3427.88,954.66 3421.05,916.122 3408.5,880.254L3521.9,855.419C3535.8,899.386 3543.31,946.214 3543.31,994.78L3543.31,2990.02C3543.31,3245.23 3336.11,3452.43 3080.9,3452.43C3080.9,3452.43 462.407,3452.43 462.407,3452.43C207.197,3452.43 -0,3245.23 -0,2990.02L-0,994.78C-0,739.571 207.197,532.373 462.407,532.373L505.419,532.373L504.644,532.546L807.104,600.085C820.223,601.729 832.422,607.722 841.77,617.116C850.131,625.517 855.784,636.21 858.055,647.804L462.407,647.804C270.906,647.804 115.431,803.279 115.431,994.78L115.431,2075.73L-0,2101.5L115.431,2127.28L115.431,2269.78L220.47,2150.73L482.345,2209.21C503.267,2211.83 522.722,2221.39 537.63,2236.37C552.538,2251.35 562.049,2270.9 564.657,2291.93L671.84,2776.17L779.022,2291.93C781.631,2270.9 791.141,2251.35 806.05,2236.37C820.958,2221.39 840.413,2211.83 861.334,2209.21L1353.15,2101.5L861.334,1993.8C840.413,1991.18 820.958,1981.62 806.05,1966.64C791.141,1951.66 781.631,1932.11 779.022,1911.08L709.477,1596.53ZM671.84,1573.09L725.556,2006.07C726.863,2016.61 731.63,2026.4 739.101,2033.91C746.573,2041.42 756.323,2046.21 766.808,2047.53L1197.68,2101.5L766.808,2155.48C756.323,2156.8 746.573,2161.59 739.101,2169.09C731.63,2176.6 726.863,2186.4 725.556,2196.94L671.84,2629.92L618.124,2196.94C616.817,2186.4 612.05,2176.6 604.579,2169.09C597.107,2161.59 587.357,2156.8 576.872,2155.48L146.001,2101.5L576.872,2047.53C587.357,2046.21 597.107,2041.42 604.579,2033.91C612.05,2026.4 616.817,2016.61 618.124,2006.07L671.84,1573.09ZM609.035,1710.36L564.657,1911.08C562.049,1932.11 552.538,1951.66 537.63,1966.64C522.722,1981.62 503.267,1991.18 482.345,1993.8L328.665,2028.11L609.035,1710.36ZM2297.12,938.615L2451.12,973.003C2480.59,976.695 2507.99,990.158 2528.99,1011.26C2549.99,1032.37 2563.39,1059.9 2567.07,1089.52L2672.73,1566.9C2634.5,1580.11 2593.44,1587.29 2550.72,1587.29C2344.33,1587.29 2176.77,1419.73 2176.77,1213.34C2176.77,1104.78 2223.13,1006.96 2297.12,938.615ZM2718.05,76.925L2793.72,686.847C2795.56,701.69 2802.27,715.491 2812.8,726.068C2823.32,736.644 2837.06,743.391 2851.83,745.242L3458.78,821.28L2851.83,897.318C2837.06,899.168 2823.32,905.916 2812.8,916.492C2802.27,927.068 2795.56,940.87 2793.72,955.712L2718.05,1565.63L2642.38,955.712C2640.54,940.87 2633.83,927.068 2623.3,916.492C2612.78,905.916 2599.04,899.168 2584.27,897.318L1977.32,821.28L2584.27,745.242C2599.04,743.391 2612.78,736.644 2623.3,726.068C2633.83,715.491 2640.54,701.69 2642.38,686.847L2718.05,76.925ZM2883.68,1043.06C2909.88,1094.13 2924.67,1152.02 2924.67,1213.34C2924.67,1335.4 2866.06,1443.88 2775.49,1512.14L2869.03,1089.52C2871.07,1073.15 2876.07,1057.42 2883.68,1043.06ZM925.928,201.2L959.611,472.704C960.431,479.311 963.42,485.455 968.105,490.163C972.79,494.871 978.904,497.875 985.479,498.698L1255.66,532.546L985.479,566.395C978.904,567.218 972.79,570.222 968.105,574.93C963.42,579.638 960.431,585.781 959.611,592.388L925.928,863.893L892.245,592.388C891.425,585.781 888.436,579.638 883.751,574.93C879.066,570.222 872.952,567.218 866.378,566.395L596.195,532.546L866.378,498.698C872.952,497.875 879.066,494.871 883.751,490.163C888.436,485.455 891.425,479.311 892.245,472.704L925.928,201.2ZM2864.47,532.373L3080.9,532.373C3258.7,532.373 3413.2,632.945 3490.58,780.281L3319.31,742.773C3257.14,683.925 3173.2,647.804 3080.9,647.804L2927.07,647.804C2919.95,642.994 2913.25,637.473 2907.11,631.298C2886.11,610.194 2872.71,582.655 2869.03,553.04L2864.47,532.373ZM1352.36,532.373L2571.64,532.373L2567.07,553.04C2563.39,582.655 2549.99,610.194 2528.99,631.298C2522.85,637.473 2516.16,642.994 2509.03,647.804L993.801,647.804C996.072,636.21 1001.73,625.517 1010.09,617.116C1019.43,607.722 1031.63,601.729 1044.75,600.085L1353.15,532.546L1352.36,532.373Z"})}),D_e=fc({displayName:"TextToImageIcon",viewBox:"0 0 3543 3543",path:g.jsx("g",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",transform:"matrix(1.11667,0,0,1.1066,-231.131,-213.062)",children:g.jsx("path",{d:"M2209.59,1137.35L2209.59,1098.17C2177.13,1108.99 2125.74,1121.91 2055.41,1136.94C2054.77,1137.08 2054.14,1137.21 2053.49,1137.35L1662.79,1137.35C1687.75,1101.98 1720.8,1074.35 1761.93,1054.44C1808.52,1031.9 1875.69,1012.22 1963.45,995.386C2081.86,973.146 2163.91,952.409 2209.59,933.174L2209.59,907.929C2209.59,859.241 2197.57,824.529 2173.53,803.792C2149.48,783.054 2104.1,772.686 2037.38,772.686C1992.3,772.686 1957.14,781.552 1931.89,799.284C1906.64,817.015 1886.21,848.121 1870.58,892.601L1640.67,851.127C1666.51,758.56 1710.99,690.037 1774.11,645.557C1837.22,601.077 1930.99,578.837 2055.41,578.837C2168.42,578.837 2252.57,592.211 2307.87,618.959C2363.17,645.707 2402.09,679.668 2424.63,720.842C2447.17,762.016 2458.44,837.602 2458.44,947.6L2456.7,1137.35L3021.34,1137.35C3214.79,1137.35 3371.86,1294.41 3371.86,1487.87C3371.86,1487.87 3371.86,3000.32 3371.86,3000.32C3371.86,3193.78 3214.79,3350.84 3021.34,3350.84C3021.34,3350.84 1036.45,3350.84 1036.45,3350.84C842.991,3350.84 685.93,3193.78 685.93,3000.32L685.93,1487.87C685.93,1400.21 718.174,1320.03 771.448,1258.54L772.123,1257.76L607.408,1257.76L498.311,1558L215.202,1558L730.028,236.22L1012.24,236.22L1373.06,1137.35L2209.59,1137.35ZM3284.36,2598.93L3284.36,1487.87C3284.36,1342.71 3166.5,1224.85 3021.34,1224.85C3021.34,1224.85 1036.45,1224.85 1036.45,1224.85C891.284,1224.85 773.43,1342.71 773.43,1487.87L773.43,2454.35L1438.34,1700.79L2383.22,2740.16L2878.11,2164.98L3284.36,2598.93ZM2619.44,1370.08C2775.89,1370.08 2902.91,1497.1 2902.91,1653.54C2902.91,1809.99 2775.89,1937.01 2619.44,1937.01C2462.99,1937.01 2335.98,1809.99 2335.98,1653.54C2335.98,1497.1 2462.99,1370.08 2619.44,1370.08ZM772.877,1256.89L772.849,1256.93L773.167,1256.57L772.877,1256.89ZM773.634,1256.04L773.563,1256.12L773.985,1255.64L773.634,1256.04ZM774.394,1255.18L774.276,1255.31L774.746,1254.78L774.394,1255.18ZM775.157,1254.32L774.988,1254.51L775.493,1253.95L775.157,1254.32ZM775.923,1253.47L775.698,1253.72L776.237,1253.12L775.923,1253.47ZM776.691,1252.62L776.403,1252.94L776.979,1252.3L776.691,1252.62ZM777.462,1251.77L777.098,1252.17L777.723,1251.49L777.462,1251.77ZM925.081,1155.44C868.026,1174.57 817.508,1207.99 777.775,1251.43C817.511,1207.99 868.031,1174.57 925.081,1155.44ZM925.646,1155.25L925.108,1155.43L926.103,1155.1L925.646,1155.25ZM935.286,1152.2C932.214,1153.12 929.159,1154.09 926.13,1155.09C929.165,1154.09 932.219,1153.12 935.286,1152.2ZM935.716,1152.07L935.384,1152.17L936.292,1151.89L935.716,1152.07ZM936.843,1151.73L936.451,1151.85L937.327,1151.59L936.843,1151.73ZM937.972,1151.4L937.514,1151.53L938.377,1151.28L937.972,1151.4ZM939.102,1151.07L938.57,1151.22L939.438,1150.97L939.102,1151.07ZM940.233,1150.74L939.613,1150.92L940.505,1150.67L940.233,1150.74ZM946.659,1148.98C944.639,1149.51 942.626,1150.07 940.626,1150.63C942.631,1150.06 944.642,1149.51 946.659,1148.98ZM947.056,1148.87L946.829,1148.93L947.659,1148.71L947.056,1148.87ZM948.198,1148.57L947.919,1148.65L948.705,1148.44L948.198,1148.57ZM949.342,1148.28L949.008,1148.37L949.771,1148.17L949.342,1148.28ZM950.488,1147.99L950.096,1148.09L950.848,1147.9L950.488,1147.99ZM951.635,1147.7L951.182,1147.81L951.932,1147.63L951.635,1147.7ZM952.783,1147.42L952.262,1147.55L953.022,1147.36L952.783,1147.42ZM953.933,1147.14L953.327,1147.28L954.115,1147.09L953.933,1147.14ZM958.213,1146.13C956.927,1146.42 955.644,1146.73 954.354,1147.04C955.637,1146.73 956.923,1146.43 958.213,1146.13ZM958.547,1146.06L958.409,1146.09L959.174,1145.91L958.547,1146.06ZM959.704,1145.79L959.517,1145.84L960.229,1145.68L959.704,1145.79ZM960.863,1145.54L960.626,1145.59L961.311,1145.44L960.863,1145.54ZM962.023,1145.28L961.736,1145.35L962.406,1145.2L962.023,1145.28ZM963.184,1145.03L962.846,1145.11L963.508,1144.97L963.184,1145.03ZM964.347,1144.79L963.956,1144.87L964.615,1144.73L964.347,1144.79ZM965.511,1144.55L965.066,1144.64L965.725,1144.5L965.511,1144.55ZM966.677,1144.31L966.172,1144.41L966.838,1144.28L966.677,1144.31ZM967.844,1144.08L967.269,1144.19L967.953,1144.05L967.844,1144.08ZM970.183,1143.62C969.793,1143.69 969.403,1143.77 969.013,1143.85L969.055,1143.84C969.413,1143.77 969.771,1143.7 970.129,1143.63L970.183,1143.62ZM971.354,1143.4L971.245,1143.42L971.882,1143.3L971.354,1143.4ZM972.526,1143.18L972.37,1143.21L972.987,1143.09L972.526,1143.18ZM973.7,1142.96L973.496,1143L974.103,1142.89L973.7,1142.96ZM974.876,1142.75L974.624,1142.8L975.225,1142.69L974.876,1142.75ZM976.052,1142.55L975.754,1142.6L976.349,1142.49L976.052,1142.55ZM977.23,1142.34L976.885,1142.4L977.476,1142.3L977.23,1142.34ZM978.41,1142.14L978.019,1142.21L978.605,1142.11L978.41,1142.14ZM979.59,1141.95L979.156,1142.02L979.736,1141.92L979.59,1141.95ZM980.772,1141.76L980.299,1141.83L980.868,1141.74L980.772,1141.76ZM981.955,1141.57L981.464,1141.65L982.002,1141.56L981.955,1141.57ZM983.14,1141.39L983.1,1141.39L983.605,1141.32L983.14,1141.39ZM984.326,1141.21L984.239,1141.22L984.778,1141.14L984.326,1141.21ZM985.513,1141.03L985.379,1141.05L985.928,1140.97L985.513,1141.03ZM986.702,1140.86L986.521,1140.89L987.073,1140.81L986.702,1140.86ZM987.891,1140.69L987.665,1140.73L988.218,1140.65L987.891,1140.69ZM989.082,1140.53L988.811,1140.57L989.363,1140.49L989.082,1140.53ZM990.275,1140.37L989.96,1140.41L990.508,1140.34L990.275,1140.37ZM991.468,1140.22L991.113,1140.26L991.654,1140.19L991.468,1140.22ZM992.663,1140.07L992.273,1140.12L992.8,1140.05L992.663,1140.07ZM993.859,1139.92L993.447,1139.97L993.948,1139.91L993.859,1139.92ZM995.056,1139.78L994.671,1139.82L995.097,1139.77L995.056,1139.78ZM996.255,1139.64L996.23,1139.64L996.578,1139.6L996.255,1139.64ZM997.454,1139.5L997.383,1139.51L997.852,1139.46L997.454,1139.5ZM998.655,1139.37L998.537,1139.38L999.041,1139.33L998.655,1139.37ZM999.857,1139.24L999.693,1139.26L1000.21,1139.21L999.857,1139.24ZM1001.06,1139.12L1000.85,1139.14L1001.38,1139.09L1001.06,1139.12ZM1002.26,1139L1002.01,1139.03L1002.54,1138.98L1002.26,1139ZM1003.47,1138.89L1003.18,1138.91L1003.7,1138.87L1003.47,1138.89ZM1004.68,1138.78L1004.34,1138.81L1004.86,1138.76L1004.68,1138.78ZM1005.89,1138.67L1005.52,1138.7L1006.02,1138.66L1005.89,1138.67ZM1007.1,1138.57L1006.71,1138.6L1007.18,1138.56L1007.1,1138.57ZM1008.31,1138.47L1007.96,1138.5L1008.35,1138.46L1008.31,1138.47ZM1009.52,1138.37L1009.5,1138.38L1009.72,1138.36L1009.52,1138.37ZM1010.73,1138.28L1010.67,1138.29L1011.1,1138.26L1010.73,1138.28ZM1011.94,1138.2L1011.84,1138.2L1012.32,1138.17L1011.94,1138.2ZM1013.16,1138.12L1013,1138.13L1013.51,1138.09L1013.16,1138.12ZM1014.37,1138.04L1014.17,1138.05L1014.69,1138.02L1014.37,1138.04ZM1015.59,1137.96L1015.35,1137.98L1015.86,1137.95L1015.59,1137.96ZM1016.81,1137.89L1016.52,1137.91L1017.04,1137.88L1016.81,1137.89ZM1018.03,1137.83L1017.7,1137.85L1018.21,1137.82L1018.03,1137.83ZM1019.25,1137.77L1018.89,1137.79L1019.39,1137.76L1019.25,1137.77ZM1020.47,1137.71L1020.1,1137.73L1020.56,1137.71L1020.47,1137.71ZM1021.69,1137.66L1021.36,1137.67L1021.74,1137.66L1021.69,1137.66ZM1022.92,1137.61L1022.91,1137.61L1023.02,1137.61L1022.92,1137.61ZM1024.14,1137.57L1024.09,1137.57L1024.49,1137.55L1024.14,1137.57ZM1025.37,1137.52L1025.27,1137.53L1025.74,1137.51L1025.37,1137.52ZM1026.6,1137.49L1026.45,1137.49L1026.94,1137.48L1026.6,1137.49ZM1027.82,1137.46L1027.63,1137.46L1028.14,1137.45L1027.82,1137.46ZM1029.05,1137.43L1028.81,1137.43L1029.33,1137.42L1029.05,1137.43ZM1030.28,1137.41L1030,1137.41L1030.52,1137.4L1030.28,1137.41ZM1031.51,1137.39L1031.19,1137.39L1031.7,1137.38L1031.51,1137.39ZM1032.75,1137.37L1032.39,1137.38L1032.89,1137.37L1032.75,1137.37ZM1033.98,1137.36L1033.61,1137.36L1034.07,1137.36L1033.98,1137.36ZM1035.21,1137.35L1034.87,1137.36L1035.26,1137.35L1035.21,1137.35ZM1050.1,1035.06L867.977,544.575L689.455,1035.06L1050.1,1035.06Z"})})}),j_e=fc({displayName:"TrainingIcon",viewBox:"0 0 3544 3544",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M0,768.593L0,2774.71C0,2930.6 78.519,3068.3 198.135,3150.37C273.059,3202.68 364.177,3233.38 462.407,3233.38C462.407,3233.38 3080.9,3233.38 3080.9,3233.38C3179.13,3233.38 3270.25,3202.68 3345.17,3150.37C3464.79,3068.3 3543.31,2930.6 3543.31,2774.71L3543.31,768.593C3543.31,517.323 3339.31,313.324 3088.04,313.324L455.269,313.324C203.999,313.324 0,517.323 0,768.593ZM3427.88,775.73L3427.88,2770.97C3427.88,2962.47 3272.4,3117.95 3080.9,3117.95L462.407,3117.95C270.906,3117.95 115.431,2962.47 115.431,2770.97C115.431,2770.97 115.431,775.73 115.431,775.73C115.431,584.229 270.906,428.755 462.407,428.755C462.407,428.755 3080.9,428.755 3080.9,428.755C3272.4,428.755 3427.88,584.229 3427.88,775.73ZM796.24,1322.76L796.24,1250.45C796.24,1199.03 836.16,1157.27 885.331,1157.27C885.331,1157.27 946.847,1157.27 946.847,1157.27C996.017,1157.27 1035.94,1199.03 1035.94,1250.45L1035.94,1644.81L2507.37,1644.81L2507.37,1250.45C2507.37,1199.03 2547.29,1157.27 2596.46,1157.27C2596.46,1157.27 2657.98,1157.27 2657.98,1157.27C2707.15,1157.27 2747.07,1199.03 2747.07,1250.45L2747.07,1322.76C2756.66,1319.22 2767.02,1317.29 2777.83,1317.29C2777.83,1317.29 2839.34,1317.29 2839.34,1317.29C2888.51,1317.29 2928.43,1357.21 2928.43,1406.38L2928.43,1527.32C2933.51,1526.26 2938.77,1525.71 2944.16,1525.71L2995.3,1525.71C3036.18,1525.71 3069.37,1557.59 3069.37,1596.86C3069.37,1596.86 3069.37,1946.44 3069.37,1946.44C3069.37,1985.72 3036.18,2017.6 2995.3,2017.6C2995.3,2017.6 2944.16,2017.6 2944.16,2017.6C2938.77,2017.6 2933.51,2017.04 2928.43,2015.99L2928.43,2136.92C2928.43,2186.09 2888.51,2226.01 2839.34,2226.01L2777.83,2226.01C2767.02,2226.01 2756.66,2224.08 2747.07,2220.55L2747.07,2292.85C2747.07,2344.28 2707.15,2386.03 2657.98,2386.03C2657.98,2386.03 2596.46,2386.03 2596.46,2386.03C2547.29,2386.03 2507.37,2344.28 2507.37,2292.85L2507.37,1898.5L1035.94,1898.5L1035.94,2292.85C1035.94,2344.28 996.017,2386.03 946.847,2386.03C946.847,2386.03 885.331,2386.03 885.331,2386.03C836.16,2386.03 796.24,2344.28 796.24,2292.85L796.24,2220.55C786.651,2224.08 776.29,2226.01 765.482,2226.01L703.967,2226.01C654.796,2226.01 614.876,2186.09 614.876,2136.92L614.876,2015.99C609.801,2017.04 604.539,2017.6 599.144,2017.6C599.144,2017.6 548.003,2017.6 548.003,2017.6C507.125,2017.6 473.937,1985.72 473.937,1946.44C473.937,1946.44 473.937,1596.86 473.937,1596.86C473.937,1557.59 507.125,1525.71 548.003,1525.71L599.144,1525.71C604.539,1525.71 609.801,1526.26 614.876,1527.32L614.876,1406.38C614.876,1357.21 654.796,1317.29 703.967,1317.29C703.967,1317.29 765.482,1317.29 765.482,1317.29C776.29,1317.29 786.651,1319.22 796.24,1322.76ZM977.604,1250.45C977.604,1232.7 963.822,1218.29 946.847,1218.29L885.331,1218.29C868.355,1218.29 854.573,1232.7 854.573,1250.45L854.573,2292.85C854.573,2310.61 868.355,2325.02 885.331,2325.02L946.847,2325.02C963.822,2325.02 977.604,2310.61 977.604,2292.85L977.604,1250.45ZM2565.7,1250.45C2565.7,1232.7 2579.49,1218.29 2596.46,1218.29L2657.98,1218.29C2674.95,1218.29 2688.73,1232.7 2688.73,1250.45L2688.73,2292.85C2688.73,2310.61 2674.95,2325.02 2657.98,2325.02L2596.46,2325.02C2579.49,2325.02 2565.7,2310.61 2565.7,2292.85L2565.7,1250.45ZM673.209,1406.38L673.209,2136.92C673.209,2153.9 686.991,2167.68 703.967,2167.68L765.482,2167.68C782.458,2167.68 796.24,2153.9 796.24,2136.92L796.24,1406.38C796.24,1389.41 782.458,1375.63 765.482,1375.63L703.967,1375.63C686.991,1375.63 673.209,1389.41 673.209,1406.38ZM2870.1,1406.38L2870.1,2136.92C2870.1,2153.9 2856.32,2167.68 2839.34,2167.68L2777.83,2167.68C2760.85,2167.68 2747.07,2153.9 2747.07,2136.92L2747.07,1406.38C2747.07,1389.41 2760.85,1375.63 2777.83,1375.63L2839.34,1375.63C2856.32,1375.63 2870.1,1389.41 2870.1,1406.38ZM614.876,1577.5C610.535,1574.24 605.074,1572.3 599.144,1572.3L548.003,1572.3C533.89,1572.3 522.433,1583.3 522.433,1596.86L522.433,1946.44C522.433,1960 533.89,1971.01 548.003,1971.01L599.144,1971.01C605.074,1971.01 610.535,1969.07 614.876,1965.81L614.876,1577.5ZM2928.43,1965.81L2928.43,1577.5C2932.77,1574.24 2938.23,1572.3 2944.16,1572.3L2995.3,1572.3C3009.42,1572.3 3020.87,1583.3 3020.87,1596.86L3020.87,1946.44C3020.87,1960 3009.42,1971.01 2995.3,1971.01L2944.16,1971.01C2938.23,1971.01 2932.77,1969.07 2928.43,1965.81ZM2507.37,1703.14L1035.94,1703.14L1035.94,1840.16L2507.37,1840.16L2507.37,1898.38L2507.37,1659.46L2507.37,1703.14Z"})}),N_e=fc({displayName:"UnifiedCanvasIcon",viewBox:"0 0 3544 3544",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M3543.31,770.787C3543.31,515.578 3336.11,308.38 3080.9,308.38L462.407,308.38C207.197,308.38 -0,515.578 -0,770.787L-0,2766.03C-0,3021.24 207.197,3228.44 462.407,3228.44L3080.9,3228.44C3336.11,3228.44 3543.31,3021.24 3543.31,2766.03C3543.31,2766.03 3543.31,770.787 3543.31,770.787ZM922.933,3113.01L462.407,3113.01C437.741,3113.01 413.674,3110.43 390.453,3105.52L390.453,2899.11L922.933,2899.11L922.933,3113.01ZM947.933,2899.11L947.933,3113.01L1480.41,3113.01L1480.41,2899.11L947.933,2899.11ZM1505.41,2899.11L1505.41,3113.01L2037.89,3113.01L2037.89,2899.11L1505.41,2899.11ZM2062.89,2899.11L2062.89,3113.01L2595.37,3113.01L2595.37,2899.11L2062.89,2899.11ZM3152.85,3105.52C3129.63,3110.43 3105.57,3113.01 3080.9,3113.01L2620.37,3113.01L2620.37,2899.11L3152.85,2899.11L3152.85,3105.52ZM365.453,3099.26L365.408,3099.24C354.521,3096.07 343.79,3092.37 333.266,3088.14C315.377,3080.95 298.094,3072.26 281.651,3062.2C263.114,3050.85 245.648,3037.77 229.544,3023.17C213.34,3008.49 198.518,2992.28 185.34,2974.83C174.102,2959.94 164.06,2944.16 155.353,2927.66C150.517,2918.5 146.102,2909.13 142.102,2899.57L141.91,2899.11L365.453,2899.11L365.453,3099.26ZM3401.4,2899.11C3361.33,2995.39 3279.12,3069.8 3177.85,3099.26L3177.85,2899.11L3401.4,2899.11ZM132.624,2874.11C121.465,2840.08 115.431,2803.76 115.431,2766.03L115.431,2341.63L365.453,2341.63L365.453,2874.11L132.624,2874.11ZM922.933,918.103L922.933,669.193L390.453,669.193L390.453,1201.67L731.014,1201.67L731.014,1226.67L390.453,1226.67L390.453,1759.15L731.014,1759.15L731.014,1784.15L390.453,1784.15L390.453,2316.63L731.014,2316.63L731.014,2341.63L390.453,2341.63L390.453,2874.11L922.933,2874.11L922.933,2625.2C931.122,2627.1 939.463,2628.6 947.933,2629.66L947.933,2874.11L1480.41,2874.11L1480.41,2631.62L1505.41,2631.62L1505.41,2874.11L2037.89,2874.11L2037.89,2631.62L2062.89,2631.62L2062.89,2874.11L2595.37,2874.11L2595.37,2629.66C2603.85,2628.6 2612.18,2627.1 2620.37,2625.2L2620.37,2874.11L3152.85,2874.11L3152.85,2341.63L2812.29,2341.63L2812.29,2316.63L3152.85,2316.63L3152.85,1784.15L2812.29,1784.15L2812.29,1759.15L3152.85,1759.15L3152.85,1226.67L2812.29,1226.67L2812.29,1201.67L3152.85,1201.67L3152.85,669.193L2620.37,669.193L2620.37,918.103C2612.18,916.203 2603.84,914.708 2595.37,913.642L2595.37,669.193L2062.89,669.193L2062.89,911.688L2037.89,911.688L2037.89,669.193L1505.41,669.193L1505.41,911.688L1480.41,911.688L1480.41,669.193L947.933,669.193L947.933,913.642C939.462,914.708 931.123,916.203 922.933,918.103ZM3427.88,2341.63L3427.88,2766.03C3427.88,2803.76 3421.84,2840.08 3410.68,2874.11L3177.85,2874.11L3177.85,2341.63L3427.88,2341.63ZM2494.01,2603.04L2524.53,2603.04C2541.26,2603.04 2557.62,2601.44 2573.47,2598.39L2598.02,2593.66L2588.56,2544.56L2564.01,2549.29C2551.23,2551.75 2538.03,2553.04 2524.53,2553.04L2494.01,2553.04L2494.01,2603.04ZM1294.01,2603.04L1394.01,2603.04L1394.01,2553.04L1294.01,2553.04L1294.01,2603.04ZM1894.01,2603.04L1994.01,2603.04L1994.01,2553.04L1894.01,2553.04L1894.01,2603.04ZM2194.01,2603.04L2294.01,2603.04L2294.01,2553.04L2194.01,2553.04L2194.01,2603.04ZM1144.01,2603.04L1244.01,2603.04L1244.01,2553.04L1144.01,2553.04L1144.01,2603.04ZM1444.01,2603.04L1544.01,2603.04L1544.01,2553.04L1444.01,2553.04L1444.01,2603.04ZM1594.01,2603.04L1694.01,2603.04L1694.01,2553.04L1594.01,2553.04L1594.01,2603.04ZM2344.01,2603.04L2444.01,2603.04L2444.01,2553.04L2344.01,2553.04L2344.01,2603.04ZM2044.01,2603.04L2144.01,2603.04L2144.01,2553.04L2044.01,2553.04L2044.01,2603.04ZM994.01,2603.04L1094.01,2603.04L1094.01,2553.04L994.01,2553.04L994.01,2603.04ZM1744.01,2603.04L1844.01,2603.04L1844.01,2553.04L1744.01,2553.04L1744.01,2603.04ZM864.145,2551.46C878.835,2562.5 894.741,2572 911.624,2579.74L934.352,2590.15L955.18,2544.7L932.452,2534.28C918.844,2528.05 906.024,2520.39 894.185,2511.49L874.199,2496.47L844.16,2536.44L864.145,2551.46ZM2674.44,2554.92C2689.46,2544.16 2703.28,2531.82 2715.65,2518.14L2732.42,2499.61L2695.35,2466.06L2678.58,2484.6C2668.59,2495.63 2657.44,2505.59 2645.32,2514.28L2625,2528.84L2654.12,2569.48L2674.44,2554.92ZM865.632,1911.31L1339.59,1374.15L2030.89,2134.59L2392.97,1713.77L2677.68,2017.9L2677.68,2324.93C2677.68,2424.23 2597.06,2504.85 2497.76,2504.85C2497.76,2504.85 1045.55,2504.85 1045.55,2504.85C946.251,2504.85 865.632,2424.23 865.632,2324.93L865.632,1911.31ZM771.251,2417.22C776.455,2435.14 783.552,2452.26 792.313,2468.35L804.27,2490.3L848.18,2466.39L836.223,2444.43C829.171,2431.49 823.457,2417.7 819.268,2403.28L812.297,2379.27L764.28,2393.21L771.251,2417.22ZM2770.36,2422.83C2775.83,2405.47 2779.52,2387.33 2781.2,2368.61L2783.43,2343.71L2733.64,2339.24L2731.4,2364.14C2730.05,2379.21 2727.08,2393.82 2722.67,2407.79L2715.15,2431.63L2762.84,2446.67L2770.36,2422.83ZM761.068,2236.12L761.068,2336.12L811.068,2336.12L811.068,2236.12L761.068,2236.12ZM3177.85,1784.15L3177.85,2316.63L3427.88,2316.63L3427.88,1784.15L3177.85,1784.15ZM115.431,1784.15L115.431,2316.63L365.453,2316.63L365.453,1784.15L115.431,1784.15ZM2782.24,2291.41L2782.24,2191.41L2732.24,2191.41L2732.24,2291.41L2782.24,2291.41ZM761.068,2086.12L761.068,2186.12L811.068,2186.12L811.068,2086.12L761.068,2086.12ZM2782.24,2141.41L2782.24,2041.4L2732.24,2041.4L2732.24,2141.41L2782.24,2141.41ZM761.068,1936.12L761.068,2036.12L811.068,2036.12L811.068,1936.12L761.068,1936.12ZM2782.24,1991.4L2782.24,1891.4L2732.24,1891.4L2732.24,1991.4L2782.24,1991.4ZM761.068,1786.12L761.068,1886.12L811.068,1886.12L811.068,1786.12L761.068,1786.12ZM2782.24,1841.4L2782.24,1741.41L2732.24,1741.41L2732.24,1841.4L2782.24,1841.4ZM3177.85,1226.67L3177.85,1759.15L3427.88,1759.15L3427.88,1226.67L3177.85,1226.67ZM115.431,1226.67L115.431,1759.15L365.453,1759.15L365.453,1226.67L115.431,1226.67ZM761.068,1636.12L761.068,1736.12L811.068,1736.12L811.068,1636.12L761.068,1636.12ZM2782.24,1691.41L2782.24,1591.41L2732.24,1591.41L2732.24,1691.41L2782.24,1691.41ZM761.068,1486.12L761.068,1586.12L811.068,1586.12L811.068,1486.12L761.068,1486.12ZM2203.72,1132.2C2318.18,1132.2 2411.11,1225.13 2411.11,1339.59C2411.11,1454.05 2318.18,1546.98 2203.72,1546.98C2089.26,1546.98 1996.33,1454.05 1996.33,1339.59C1996.33,1225.13 2089.26,1132.2 2203.72,1132.2ZM2782.24,1541.41L2782.24,1441.41L2732.24,1441.41L2732.24,1541.41L2782.24,1541.41ZM761.068,1336.12L761.068,1436.12L811.068,1436.12L811.068,1336.12L761.068,1336.12ZM2782.24,1391.41L2782.24,1291.41L2732.24,1291.41L2732.24,1391.41L2782.24,1391.41ZM761.068,1186.12L761.068,1286.12L811.068,1286.12L811.068,1186.12L761.068,1186.12ZM2732.24,1197.98L2732.24,1241.41L2782.24,1241.41L2782.24,1172.98L2781.03,1172.98C2780.06,1162.82 2778.49,1152.83 2776.36,1143.04L2771.04,1118.62L2722.18,1129.24L2727.5,1153.67C2730.61,1167.95 2732.24,1182.78 2732.24,1197.98ZM3412.74,669.193L3412.89,669.694C3414.66,675.5 3416.28,681.348 3417.73,687.238C3420.46,698.265 3422.65,709.427 3424.28,720.67C3425.85,731.554 3426.91,742.513 3427.45,753.497C3427.74,759.256 3427.87,765.021 3427.88,770.787L3427.88,1201.67L3177.85,1201.67L3177.85,669.193L3412.74,669.193ZM115.431,1201.67L115.431,770.787C115.436,765.021 115.572,759.256 115.855,753.497C116.395,742.513 117.453,731.554 119.031,720.67C120.66,709.427 122.844,698.265 125.574,687.238C127.032,681.348 128.65,675.5 130.414,669.694L130.567,669.193L365.453,669.193L365.453,1201.67L115.431,1201.67ZM804.386,1055C794.186,1070.26 785.572,1086.67 778.777,1103.99L769.647,1127.26L816.194,1145.52L825.324,1122.25C830.797,1108.3 837.738,1095.08 845.955,1082.79L859.848,1062L818.279,1034.21L804.386,1055ZM2730.5,1043.14C2719.39,1028.39 2706.73,1014.86 2692.77,1002.81L2673.84,986.48L2641.17,1024.34L2660.1,1040.67C2671.37,1050.39 2681.59,1061.31 2690.56,1073.22L2705.6,1093.19L2745.54,1063.11L2730.5,1043.14ZM933.266,954.821C915.698,961.006 898.998,969.041 883.402,978.694L862.144,991.851L888.457,1034.37L909.715,1021.21C922.275,1013.44 935.723,1006.96 949.871,1001.98L973.452,993.681L956.848,946.518L933.266,954.821ZM2596.18,950.378C2578.71,945.327 2560.49,942.072 2541.72,940.832L2516.78,939.183L2513.48,989.074L2538.43,990.723C2553.54,991.722 2568.22,994.341 2582.28,998.409L2606.3,1005.36L2620.19,957.325L2596.18,950.378ZM2165.09,940.265L2065.09,940.265L2065.09,990.265L2165.09,990.265L2165.09,940.265ZM1865.08,940.265L1765.08,940.265L1765.08,990.265L1865.08,990.265L1865.08,940.265ZM1115.08,940.265L1015.08,940.265L1015.08,990.265L1115.08,990.265L1115.08,940.265ZM2015.09,940.265L1915.09,940.265L1915.09,990.265L2015.09,990.265L2015.09,940.265ZM2315.09,940.265L2215.09,940.265L2215.09,990.265L2315.09,990.265L2315.09,940.265ZM1265.08,940.265L1165.08,940.265L1165.08,990.265L1265.08,990.265L1265.08,940.265ZM1415.08,940.265L1315.08,940.265L1315.08,990.265L1415.08,990.265L1415.08,940.265ZM1565.08,940.265L1465.08,940.265L1465.08,990.265L1565.08,990.265L1565.08,940.265ZM1715.08,940.265L1615.08,940.265L1615.08,990.265L1715.08,990.265L1715.08,940.265ZM2465.09,940.265L2365.09,940.265L2365.09,990.265L2465.09,990.265L2465.09,940.265ZM365.453,437.562L365.453,644.193L139.286,644.193C178.303,544.782 261.917,467.677 365.453,437.562ZM922.933,423.812L922.933,644.193L390.453,644.193L390.453,431.295C413.674,426.391 437.741,423.812 462.407,423.812L922.933,423.812ZM947.933,423.812L947.933,644.193L1480.41,644.193L1480.41,423.812L947.933,423.812ZM1505.41,423.812L1505.41,644.193L2037.89,644.193L2037.89,423.812L1505.41,423.812ZM2062.89,423.812L2062.89,644.193L2595.37,644.193L2595.37,423.812L2062.89,423.812ZM2620.37,423.812L3080.9,423.812C3105.57,423.812 3129.63,426.391 3152.85,431.295L3152.85,644.193L2620.37,644.193L2620.37,423.812ZM3177.85,437.562C3281.38,467.669 3365,544.774 3404.02,644.193L3177.85,644.193L3177.85,437.562Z"})}),Ye=Ze((e,t)=>{const{tooltip:n="",styleClass:r,tooltipProps:i,asCheckbox:o,isChecked:a,...s}=e;return g.jsx(si,{label:n,hasArrow:!0,...i,...i!=null&&i.placement?{placement:i.placement}:{placement:"top"},children:g.jsx(ls,{ref:t,className:r?`invokeai__icon-button ${r}`:"invokeai__icon-button","data-as-checkbox":o,"data-selected":a!==void 0?a:void 0,...s})})}),On=Ze((e,t)=>{const{children:n,tooltip:r="",tooltipProps:i,styleClass:o,...a}=e;return g.jsx(si,{label:r,...i,children:g.jsx(ss,{ref:t,className:["invokeai__button",o].join(" "),...a,children:n})})}),Ys=e=>{const{triggerComponent:t,children:n,styleClass:r,hasArrow:i=!0,...o}=e;return g.jsxs(V8,{...o,children:[g.jsx(U8,{children:t}),g.jsxs(q8,{className:`invokeai__popover-content ${r}`,children:[i&&g.jsx(G8,{className:"invokeai__popover-arrow"}),n]})]})},d4=lt(e=>e.lightbox,e=>e,{memoizeOptions:{equalityCheck:Ce.isEqual}}),Jo=e=>{const{label:t,isDisabled:n,validValues:r,tooltip:i,tooltipProps:o,size:a="sm",fontSize:s="sm",styleClass:l,...u}=e;return g.jsxs(sn,{isDisabled:n,className:`invokeai__select ${l}`,onClick:d=>{d.stopPropagation(),d.nativeEvent.stopImmediatePropagation(),d.nativeEvent.stopPropagation(),d.nativeEvent.cancelBubble=!0},children:[t&&g.jsx(Sn,{className:"invokeai__select-label",fontSize:s,fontWeight:"bold",marginRight:0,marginBottom:0,whiteSpace:"nowrap",children:t}),g.jsx(si,{label:i,...o,children:g.jsx(qH,{className:"invokeai__select-picker",fontSize:s,size:a,...u,children:r.map(d=>typeof d=="string"||typeof d=="number"?g.jsx("option",{value:d,className:"invokeai__select-option",children:d},d):g.jsx("option",{value:d.value,className:"invokeai__select-option",children:d.key},d.value))})})]})};function $_e(){const e=le(i=>i.postprocessing.facetoolType),t=Te(),{t:n}=De(),r=i=>t(dS(i.target.value));return g.jsx(Jo,{label:n("parameters.type"),validValues:j5e.concat(),value:e,onChange:r})}var UV={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},MI=Ke.createContext&&Ke.createContext(UV),Bd=globalThis&&globalThis.__assign||function(){return Bd=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{_e(i)},[i]);const we=S.useMemo(()=>V!=null&&V.max?V.max:a,[a,V==null?void 0:V.max]),xe=Xe=>{l(Xe)},Le=Xe=>{Xe.target.value===""&&(Xe.target.value=String(o));const tt=Ce.clamp(w?Math.floor(Number(Xe.target.value)):Number(fe),o,we);l(tt)},Se=Xe=>{_e(Xe)},Je=()=>{O&&O()};return g.jsxs(sn,{className:W?`invokeai__slider-component ${W}`:"invokeai__slider-component","data-markers":p,style:L?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:"1rem",margin:0,padding:0}:{},...B,children:[g.jsx(Sn,{className:"invokeai__slider-component-label",fontSize:"sm",...K,children:r}),g.jsxs(l2,{w:"100%",gap:2,alignItems:"center",children:[g.jsxs(QH,{"aria-label":r,value:i,min:o,max:a,step:s,onChange:xe,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:I,width:u,...ee,children:[p&&g.jsxs(g.Fragment,{children:[g.jsx(tk,{value:o,className:"invokeai__slider-mark invokeai__slider-mark-start",ml:m,...ne,children:o}),g.jsx(tk,{value:a,className:"invokeai__slider-mark invokeai__slider-mark-end",ml:y,...ne,children:a})]}),g.jsx(eW,{className:"invokeai__slider_track",...z,children:g.jsx(tW,{className:"invokeai__slider_track-filled"})}),g.jsx(si,{hasArrow:!0,className:"invokeai__slider-component-tooltip",placement:"top",isOpen:t,label:`${i}${d}`,hidden:T,...G,children:g.jsx(JH,{className:"invokeai__slider-thumb",...$})})]}),b&&g.jsxs(B8,{min:o,max:we,step:s,value:fe,onChange:Se,onBlur:Le,className:"invokeai__slider-number-field",isDisabled:N,...V,children:[g.jsx(z8,{className:"invokeai__slider-number-input",width:E,readOnly:_,minWidth:E,...X}),g.jsxs(BH,{...Q,children:[g.jsx(W8,{onClick:()=>l(Number(fe)),className:"invokeai__slider-number-stepper"}),g.jsx(H8,{onClick:()=>l(Number(fe)),className:"invokeai__slider-number-stepper"})]})]}),k&&g.jsx(Ye,{size:"sm","aria-label":"Reset",tooltip:"Reset",icon:g.jsx(f4,{}),onClick:Je,isDisabled:D,...Y})]})]})}function G_e(){const e=le(i=>i.system.isGFPGANAvailable),t=le(i=>i.postprocessing.facetoolStrength),{t:n}=De(),r=Te();return g.jsx(Dn,{isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e,label:n("parameters.strength"),step:.05,min:0,max:1,onChange:i=>r(k3(i)),handleReset:()=>r(k3(.75)),value:t,withReset:!0,withSliderMarks:!0,withInput:!0})}function q_e(){const e=le(i=>i.system.isGFPGANAvailable),t=le(i=>i.postprocessing.codeformerFidelity),{t:n}=De(),r=Te();return g.jsx(Dn,{isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e,label:n("parameters.codeformerFidelity"),step:.05,min:0,max:1,onChange:i=>r(xk(i)),handleReset:()=>r(xk(1)),value:t,withReset:!0,withSliderMarks:!0,withInput:!0})}const RE=()=>{const e=le(t=>t.postprocessing.facetoolType);return g.jsxs(Ee,{direction:"column",gap:2,minWidth:"20rem",children:[g.jsx($_e,{}),g.jsx(G_e,{}),e==="codeformer"&&g.jsx(q_e,{})]})};function K_e(){const e=le(i=>i.system.isESRGANAvailable),t=le(i=>i.postprocessing.upscalingDenoising),{t:n}=De(),r=Te();return g.jsx(Dn,{label:n("parameters.denoisingStrength"),value:t,min:0,max:1,step:.01,onChange:i=>{r(Sk(i))},handleReset:()=>r(Sk(.75)),withSliderMarks:!0,withInput:!0,withReset:!0,isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e})}function Y_e(){const e=le(i=>i.system.isESRGANAvailable),t=le(i=>i.postprocessing.upscalingStrength),{t:n}=De(),r=Te();return g.jsx(Dn,{label:`${n("parameters.upscale")} ${n("parameters.strength")}`,value:t,min:0,max:1,step:.05,onChange:i=>r(wk(i)),handleReset:()=>r(wk(.75)),withSliderMarks:!0,withInput:!0,withReset:!0,isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e})}function X_e(){const e=le(o=>o.system.isESRGANAvailable),t=le(o=>o.postprocessing.upscalingLevel),{t:n}=De(),r=Te(),i=o=>r(xU(Number(o.target.value)));return g.jsx(Jo,{isDisabled:!e,label:n("parameters.scale"),value:t,onChange:i,validValues:D5e})}const IE=()=>g.jsxs(Ee,{flexDir:"column",rowGap:2,minWidth:"20rem",children:[g.jsx(X_e,{}),g.jsx(K_e,{}),g.jsx(Y_e,{})]}),DE=e=>e.postprocessing,hr=e=>e.system,Z_e=e=>e.system.toastQueue,qV=lt(hr,e=>{const{model_list:t}=e,n=Ce.reduce(t,(r,i,o)=>(i.status==="active"&&(r=o),r),"");return{...t[n],name:n}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),Q_e=lt(hr,e=>{const{model_list:t}=e;return Ce.pickBy(t,(r,i)=>{if(r.format==="diffusers")return{name:i,...r}})},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}});function Vk(){return Vk=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 ake=function(t,n,r){r===void 0&&(r=!1);var i=n.alt,o=n.meta,a=n.mod,s=n.shift,l=n.ctrl,u=n.keys,d=t.key,p=t.code,m=t.ctrlKey,y=t.metaKey,b=t.shiftKey,w=t.altKey,E=kd(p),_=d.toLowerCase();if(!r){if(i===!w&&_!=="alt"||s===!b&&_!=="shift")return!1;if(a){if(!y&&!m)return!1}else if(o===!y&&_!=="meta"||l===!m&&_!=="ctrl")return!1}return u&&u.length===1&&(u.includes(_)||u.includes(E))?!0:u?tke(u):!u},ske=S.createContext(void 0),lke=function(){return S.useContext(ske)};function QV(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&&QV(e[r],t[r])},!0):e===t}var uke=S.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),cke=function(){return S.useContext(uke)};function dke(e){var t=S.useRef(void 0);return QV(t.current,e)||(t.current=e),t.current}var LI=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},fke=typeof window<"u"?S.useLayoutEffect:S.useEffect;function Qe(e,t,n,r){var i=S.useRef(null),o=S.useRef(!1),a=n instanceof Array?r instanceof Array?void 0:r:n,s=n instanceof Array?n:r instanceof Array?r:void 0,l=S.useCallback(t,s??[]),u=S.useRef(l);s?u.current=l:u.current=t;var d=dke(a),p=cke(),m=p.enabledScopes,y=lke();return fke(function(){if(!((d==null?void 0:d.enabled)===!1||!oke(m,d==null?void 0:d.scopes))){var b=function(k,T){var L;if(T===void 0&&(T=!1),!(ike(k)&&!ZV(k,d==null?void 0:d.enableOnFormTags))){if(i.current!==null&&document.activeElement!==i.current&&!i.current.contains(document.activeElement)){LI(k);return}(L=k.target)!=null&&L.isContentEditable&&!(d!=null&&d.enableOnContentEditable)||XC(e,d==null?void 0:d.splitKey).forEach(function(O){var D,I=ZC(O,d==null?void 0:d.combinationKey);if(ake(k,I,d==null?void 0:d.ignoreModifiers)||(D=I.keys)!=null&&D.includes("*")){if(T&&o.current)return;if(nke(k,I,d==null?void 0:d.preventDefault),!rke(k,I,d==null?void 0:d.enabled)){LI(k);return}u.current(k,I),T||(o.current=!0)}})}},w=function(k){k.key!==void 0&&(YV(kd(k.code)),((d==null?void 0:d.keydown)===void 0&&(d==null?void 0:d.keyup)!==!0||d!=null&&d.keydown)&&b(k))},E=function(k){k.key!==void 0&&(XV(kd(k.code)),o.current=!1,d!=null&&d.keyup&&b(k,!0))};return(i.current||(a==null?void 0:a.document)||document).addEventListener("keyup",E),(i.current||(a==null?void 0:a.document)||document).addEventListener("keydown",w),y&&XC(e,d==null?void 0:d.splitKey).forEach(function(_){return y.addHotkey(ZC(_,d==null?void 0:d.combinationKey))}),function(){(i.current||(a==null?void 0:a.document)||document).removeEventListener("keyup",E),(i.current||(a==null?void 0:a.document)||document).removeEventListener("keydown",w),y&&XC(e,d==null?void 0:d.splitKey).forEach(function(_){return y.removeHotkey(ZC(_,d==null?void 0:d.combinationKey))})}}},[e,d,m]),i}function hke(e){return ut({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 pke(e){return ut({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 gke(e){return ut({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z"}}]})(e)}function JV(e){return ut({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 eG(e){return ut({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 mke(e){return ut({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 vke(e){return ut({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 tG(e){return ut({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 yke(e){return ut({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 bke(e){return ut({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 jE(e){return ut({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 nG(e){return ut({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 e0(e){return ut({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 rG(e){return ut({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 xke(e){return ut({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 NE(e){return ut({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 iG(e){return ut({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 Ske(e){return ut({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 wke(e){return ut({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 oG(e){return ut({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 Cke(e){return ut({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 _ke(e){return ut({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 aG(e){return ut({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 kke(e){return ut({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z"}}]})(e)}function Eke(e){return ut({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 Pke(e){return ut({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 Tke(e){return ut({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z"}}]})(e)}function sG(e){return ut({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 Mke(e){return ut({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 Lke(e){return ut({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 lG(e){return ut({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 Ake(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"}}]})(e)}function Oke(e){return ut({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 y2(e){return ut({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 Rke(e){return ut({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 Ike(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z"}}]})(e)}function Dke(e){return ut({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 $E(e){return ut({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 jke(e){return ut({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 Nke(e){return ut({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 AI(e){return ut({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 FE(e){return ut({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 $ke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 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-16z"}}]})(e)}function hp(e){return ut({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 Fke(e){return ut({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 h4(e){return ut({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 Bke(e){return ut({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 BE(e){return ut({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 rn=e=>e.canvas,Lr=lt([rn,Br,hr],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),uG=e=>e.canvas.layerState.objects.find(x3),pp=e=>e.gallery,zke=lt([pp,d4,Lr,Br],(e,t,n,r)=>{const{categories:i,currentCategory:o,currentImageUuid:a,shouldPinGallery:s,shouldShowGallery:l,galleryScrollPosition:u,galleryImageMinimumWidth:d,galleryImageObjectFit:p,shouldHoldGalleryOpen:m,shouldAutoSwitchToNewImages:y,galleryWidth:b,shouldUseSingleGalleryColumn:w}=e,{isLightboxOpen:E}=t;return{currentImageUuid:a,shouldPinGallery:s,shouldShowGallery:l,galleryScrollPosition:u,galleryImageMinimumWidth:d,galleryImageObjectFit:p,galleryGridTemplateColumns:w?"auto":`repeat(auto-fill, minmax(${d}px, auto))`,activeTabName:r,shouldHoldGalleryOpen:m,shouldAutoSwitchToNewImages:y,images:i[o].images,areMoreImagesAvailable:i[o].areMoreImagesAvailable,currentCategory:o,galleryWidth:b,isLightboxOpen:E,isStaging:n,shouldEnableResize:!(E||r==="unifiedCanvas"&&s),shouldUseSingleGalleryColumn:w}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),Hke=lt([pp,hr,d4,Br],(e,t,n,r)=>({mayDeleteImage:t.isConnected&&!t.isProcessing,galleryImageObjectFit:e.galleryImageObjectFit,galleryImageMinimumWidth:e.galleryImageMinimumWidth,shouldUseSingleGalleryColumn:e.shouldUseSingleGalleryColumn,activeTabName:r,isLightboxOpen:n.isLightboxOpen}),{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),Wke=lt(hr,e=>{const{shouldConfirmOnDelete:t,isConnected:n,isProcessing:r}=e;return{shouldConfirmOnDelete:t,isConnected:n,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),A3=S.forwardRef(({image:e,children:t},n)=>{const{isOpen:r,onOpen:i,onClose:o}=Kd(),a=Te(),{shouldConfirmOnDelete:s,isConnected:l,isProcessing:u}=le(Wke),d=S.useRef(null),p=b=>{b.stopPropagation(),s?i():m()},m=()=>{l&&!u&&e&&a(f_e(e)),o()};Qe("delete",()=>{s?i():m()},[e,s,l,u]);const y=b=>a(jU(!b.target.checked));return g.jsxs(g.Fragment,{children:[S.cloneElement(t,{onClick:e?p:void 0,ref:n}),g.jsx($H,{isOpen:r,leastDestructiveRef:d,onClose:o,children:g.jsx(oc,{children:g.jsxs(FH,{className:"modal",children:[g.jsx(op,{fontSize:"lg",fontWeight:"bold",children:"Delete image"}),g.jsx(Zm,{children:g.jsxs(Ee,{direction:"column",gap:5,children:[g.jsx(Dt,{children:"Are you sure? Deleted images will be sent to the Bin. You can restore from there if you wish to."}),g.jsx(sn,{children:g.jsxs(Ee,{alignItems:"center",children:[g.jsx(Sn,{mb:0,children:"Don't ask me again"}),g.jsx(K8,{checked:!s,onChange:y})]})})]})}),g.jsxs(zw,{children:[g.jsx(ss,{ref:d,onClick:o,className:"modal-close-btn",children:"Cancel"}),g.jsx(ss,{colorScheme:"red",onClick:m,ml:3,children:"Delete"})]})]})})})]})});A3.displayName="DeleteImageModal";const zE=()=>{const e=Te();return t=>{const n=typeof t=="string"?t:Rm(t),[r,i]=nU(n);e(cU(r)),e(dU(i))}},Uke=lt([hr,pp,DE,fp,d4,Br],(e,t,n,r,i,o)=>{const{isProcessing:a,isConnected:s,isGFPGANAvailable:l,isESRGANAvailable:u}=e,{upscalingLevel:d,facetoolStrength:p}=n,{isLightboxOpen:m}=i,{shouldShowImageDetails:y}=r,{intermediateImage:b,currentImage:w}=t;return{isProcessing:a,isConnected:s,isGFPGANAvailable:l,isESRGANAvailable:u,upscalingLevel:d,facetoolStrength:p,shouldDisableToolbarButtons:Boolean(b)||!w,currentImage:w,shouldShowImageDetails:y,activeTabName:o,isLightboxOpen:m}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),cG=()=>{var B,K,ne,z,$,V,X,Q;const e=Te(),{isProcessing:t,isConnected:n,isGFPGANAvailable:r,isESRGANAvailable:i,upscalingLevel:o,facetoolStrength:a,shouldDisableToolbarButtons:s,shouldShowImageDetails:l,currentImage:u,isLightboxOpen:d,activeTabName:p}=le(Uke),m=a2(),{t:y}=De(),b=zE(),w=()=>{u&&(d&&e(Om(!1)),e(y0(u)),e(Uo("img2img")))},E=async()=>{if(!u)return;const G=await fetch(u.url).then(ee=>ee.blob()),Y=[new ClipboardItem({[G.type]:G})];await navigator.clipboard.write(Y),m({title:y("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})},_=()=>{navigator.clipboard.writeText(u?window.location.toString()+u.url:"").then(()=>{m({title:y("toast.imageLinkCopied"),status:"success",duration:2500,isClosable:!0})})};Qe("shift+i",()=>{u?(w(),m({title:y("toast.sentToImageToImage"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.imageNotLoaded"),description:y("toast.imageNotLoadedDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const k=()=>{u!=null&&u.metadata&&(e(sU(u.metadata)),e(yU(u.metadata)),u.metadata.image.type==="img2img"?e(Uo("img2img")):u.metadata.image.type==="txt2img"&&e(Uo("txt2img")))};Qe("a",()=>{var G,Y;["txt2img","img2img"].includes((Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)==null?void 0:Y.type)?(k(),m({title:y("toast.parametersSet"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.parametersNotSet"),description:y("toast.parametersNotSetDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const T=()=>{u!=null&&u.metadata&&e(p2(u.metadata.image.seed))};Qe("s",()=>{var G,Y;(Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)!=null&&Y.seed?(T(),m({title:y("toast.seedSet"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.seedNotSet"),description:y("toast.seedNotSetDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const L=S.useCallback(()=>{var G,Y,ee,fe;(Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)!=null&&Y.prompt&&b((fe=(ee=u==null?void 0:u.metadata)==null?void 0:ee.image)==null?void 0:fe.prompt)},[(K=(B=u==null?void 0:u.metadata)==null?void 0:B.image)==null?void 0:K.prompt,b]);Qe("p",()=>{var G,Y;(Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)!=null&&Y.prompt?(L(),m({title:y("toast.promptSet"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.promptNotSet"),description:y("toast.promptNotSetDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const O=()=>{u&&e(c_e(u))};Qe("Shift+U",()=>{i&&!s&&n&&!t&&o?O():m({title:y("toast.upscalingFailed"),status:"error",duration:2500,isClosable:!0})},[u,i,s,n,t,o]);const D=()=>{u&&e(d_e(u))};Qe("Shift+R",()=>{r&&!s&&n&&!t&&a?D():m({title:y("toast.faceRestoreFailed"),status:"error",duration:2500,isClosable:!0})},[u,r,s,n,t,a]);const I=()=>e(zU(!l)),N=()=>{u&&(d&&e(Om(!1)),e(i4(u)),e(Li(!0)),p!=="unifiedCanvas"&&e(Uo("unifiedCanvas")),m({title:y("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0}))};Qe("i",()=>{u?I():m({title:y("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[u,l]);const W=()=>{e(Om(!d))};return g.jsxs("div",{className:"current-image-options",children:[g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{"aria-label":`${y("parameters.sendTo")}...`,icon:g.jsx(Nke,{})}),children:g.jsxs("div",{className:"current-image-send-to-popover",children:[g.jsx(On,{size:"sm",onClick:w,leftIcon:g.jsx(AI,{}),children:y("parameters.sendToImg2Img")}),g.jsx(On,{size:"sm",onClick:N,leftIcon:g.jsx(AI,{}),children:y("parameters.sendToUnifiedCanvas")}),g.jsx(On,{size:"sm",onClick:E,leftIcon:g.jsx(e0,{}),children:y("parameters.copyImage")}),g.jsx(On,{size:"sm",onClick:_,leftIcon:g.jsx(e0,{}),children:y("parameters.copyImageToLink")}),g.jsx(Nh,{download:!0,href:u==null?void 0:u.url,children:g.jsx(On,{leftIcon:g.jsx(NE,{}),size:"sm",w:"100%",children:y("parameters.downloadImage")})})]})}),g.jsx(Ye,{icon:g.jsx(wke,{}),tooltip:d?`${y("parameters.closeViewer")} (Z)`:`${y("parameters.openInViewer")} (Z)`,"aria-label":d?`${y("parameters.closeViewer")} (Z)`:`${y("parameters.openInViewer")} (Z)`,"data-selected":d,onClick:W})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{icon:g.jsx(Rke,{}),tooltip:`${y("parameters.usePrompt")} (P)`,"aria-label":`${y("parameters.usePrompt")} (P)`,isDisabled:!((z=(ne=u==null?void 0:u.metadata)==null?void 0:ne.image)!=null&&z.prompt),onClick:L}),g.jsx(Ye,{icon:g.jsx(jke,{}),tooltip:`${y("parameters.useSeed")} (S)`,"aria-label":`${y("parameters.useSeed")} (S)`,isDisabled:!((V=($=u==null?void 0:u.metadata)==null?void 0:$.image)!=null&&V.seed),onClick:T}),g.jsx(Ye,{icon:g.jsx(yke,{}),tooltip:`${y("parameters.useAll")} (A)`,"aria-label":`${y("parameters.useAll")} (A)`,isDisabled:!["txt2img","img2img"].includes((Q=(X=u==null?void 0:u.metadata)==null?void 0:X.image)==null?void 0:Q.type),onClick:k})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{icon:g.jsx(kke,{}),"aria-label":y("parameters.restoreFaces")}),children:g.jsxs("div",{className:"current-image-postprocessing-popover",children:[g.jsx(RE,{}),g.jsx(On,{isDisabled:!r||!u||!(n&&!t)||!a,onClick:D,children:y("parameters.restoreFaces")})]})}),g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{icon:g.jsx(Ske,{}),"aria-label":y("parameters.upscale")}),children:g.jsxs("div",{className:"current-image-postprocessing-popover",children:[g.jsx(IE,{}),g.jsx(On,{isDisabled:!i||!u||!(n&&!t)||!o,onClick:O,children:y("parameters.upscaleImage")})]})})]}),g.jsx(Gi,{isAttached:!0,children:g.jsx(Ye,{icon:g.jsx(nG,{}),tooltip:`${y("parameters.info")} (I)`,"aria-label":`${y("parameters.info")} (I)`,"data-selected":l,onClick:I})}),g.jsx(A3,{image:u,children:g.jsx(Ye,{icon:g.jsx(hp,{}),tooltip:`${y("parameters.deleteImage")} (Del)`,"aria-label":`${y("parameters.deleteImage")} (Del)`,isDisabled:!u||!n||t,style:{backgroundColor:"var(--btn-delete-image)"}})})]})};var Vke=fc({displayName:"EditIcon",path:g.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[g.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),g.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})}),dG=fc({displayName:"ExternalLinkIcon",path:g.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[g.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),g.jsx("path",{d:"M15 3h6v6"}),g.jsx("path",{d:"M10 14L21 3"})]})}),Gke=fc({displayName:"DeleteIcon",path:g.jsx("g",{fill:"currentColor",children:g.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"})})});function qke(e){return ut({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)}const Jn=({label:e,value:t,onClick:n,isLink:r,labelPosition:i,withCopy:o=!1})=>g.jsxs(Ee,{gap:2,children:[n&&g.jsx(si,{label:`Recall ${e}`,children:g.jsx(ls,{"aria-label":"Use this parameter",icon:g.jsx(qke,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),o&&g.jsx(si,{label:`Copy ${e}`,children:g.jsx(ls,{"aria-label":`Copy ${e}`,icon:g.jsx(e0,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),g.jsxs(Ee,{direction:i?"column":"row",children:[g.jsxs(Dt,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?g.jsxs(Nh,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",g.jsx(dG,{mx:"2px"})]}):g.jsx(Dt,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}),Kke=(e,t)=>e.image.uuid===t.image.uuid,HE=S.memo(({image:e,styleClass:t})=>{var B,K;const n=Te(),r=zE();Qe("esc",()=>{n(zU(!1))});const i=((B=e==null?void 0:e.metadata)==null?void 0:B.image)||{},o=e==null?void 0:e.dreamPrompt,{cfg_scale:a,fit:s,height:l,hires_fix:u,init_image_path:d,mask_image_path:p,orig_path:m,perlin:y,postprocessing:b,prompt:w,sampler:E,seamless:_,seed:k,steps:T,strength:L,threshold:O,type:D,variations:I,width:N}=i,W=JSON.stringify(e.metadata,null,2);return g.jsx("div",{className:`image-metadata-viewer ${t}`,children:g.jsxs(Ee,{gap:1,direction:"column",width:"100%",children:[g.jsxs(Ee,{gap:2,children:[g.jsx(Dt,{fontWeight:"semibold",children:"File:"}),g.jsxs(Nh,{href:e.url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.url.length>64?e.url.substring(0,64).concat("..."):e.url,g.jsx(dG,{mx:"2px"})]})]}),Object.keys(i).length>0?g.jsxs(g.Fragment,{children:[D&&g.jsx(Jn,{label:"Generation type",value:D}),((K=e.metadata)==null?void 0:K.model_weights)&&g.jsx(Jn,{label:"Model",value:e.metadata.model_weights}),["esrgan","gfpgan"].includes(D)&&g.jsx(Jn,{label:"Original image",value:m}),w&&g.jsx(Jn,{label:"Prompt",labelPosition:"top",value:typeof w=="string"?w:Rm(w),onClick:()=>r(w)}),k!==void 0&&g.jsx(Jn,{label:"Seed",value:k,onClick:()=>n(p2(k))}),O!==void 0&&g.jsx(Jn,{label:"Noise Threshold",value:O,onClick:()=>n(bk(O))}),y!==void 0&&g.jsx(Jn,{label:"Perlin Noise",value:y,onClick:()=>n(vk(y))}),E&&g.jsx(Jn,{label:"Sampler",value:E,onClick:()=>n(fU(E))}),T&&g.jsx(Jn,{label:"Steps",value:T,onClick:()=>n(yk(T))}),a!==void 0&&g.jsx(Jn,{label:"CFG scale",value:a,onClick:()=>n(gk(a))}),I&&I.length>0&&g.jsx(Jn,{label:"Seed-weight pairs",value:_3(I),onClick:()=>n(pU(_3(I)))}),_&&g.jsx(Jn,{label:"Seamless",value:_,onClick:()=>n(hU(_))}),u&&g.jsx(Jn,{label:"High Resolution Optimization",value:u,onClick:()=>n(bU(u))}),N&&g.jsx(Jn,{label:"Width",value:N,onClick:()=>n(cS(N))}),l&&g.jsx(Jn,{label:"Height",value:l,onClick:()=>n(uS(l))}),d&&g.jsx(Jn,{label:"Initial image",value:d,isLink:!0,onClick:()=>n(y0(d))}),p&&g.jsx(Jn,{label:"Mask image",value:p,isLink:!0,onClick:()=>n(uU(p))}),D==="img2img"&&L&&g.jsx(Jn,{label:"Image to image strength",value:L,onClick:()=>n(mk(L))}),s&&g.jsx(Jn,{label:"Image to image fit",value:s,onClick:()=>n(gU(s))}),b&&b.length>0&&g.jsxs(g.Fragment,{children:[g.jsx(jh,{size:"sm",children:"Postprocessing"}),b.map((ne,z)=>{if(ne.type==="esrgan"){const{scale:$,strength:V,denoise_str:X}=ne;return g.jsxs(Ee,{pl:"2rem",gap:1,direction:"column",children:[g.jsx(Dt,{size:"md",children:`${z+1}: Upscale (ESRGAN)`}),g.jsx(Jn,{label:"Scale",value:$,onClick:()=>n(xU($))}),g.jsx(Jn,{label:"Strength",value:V,onClick:()=>n(wk(V))}),X!==void 0&&g.jsx(Jn,{label:"Denoising strength",value:X,onClick:()=>n(Sk(X))})]},z)}else if(ne.type==="gfpgan"){const{strength:$}=ne;return g.jsxs(Ee,{pl:"2rem",gap:1,direction:"column",children:[g.jsx(Dt,{size:"md",children:`${z+1}: Face restoration (GFPGAN)`}),g.jsx(Jn,{label:"Strength",value:$,onClick:()=>{n(k3($)),n(dS("gfpgan"))}})]},z)}else if(ne.type==="codeformer"){const{strength:$,fidelity:V}=ne;return g.jsxs(Ee,{pl:"2rem",gap:1,direction:"column",children:[g.jsx(Dt,{size:"md",children:`${z+1}: Face restoration (Codeformer)`}),g.jsx(Jn,{label:"Strength",value:$,onClick:()=>{n(k3($)),n(dS("codeformer"))}}),V&&g.jsx(Jn,{label:"Fidelity",value:V,onClick:()=>{n(xk(V)),n(dS("codeformer"))}})]},z)}})]}),o&&g.jsx(Jn,{withCopy:!0,label:"Dream Prompt",value:o}),g.jsxs(Ee,{gap:2,direction:"column",children:[g.jsxs(Ee,{gap:2,children:[g.jsx(si,{label:"Copy metadata JSON",children:g.jsx(ls,{"aria-label":"Copy metadata JSON",icon:g.jsx(e0,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(W)})}),g.jsx(Dt,{fontWeight:"semibold",children:"Metadata JSON:"})]}),g.jsx("div",{className:"image-json-viewer",children:g.jsx("pre",{children:W})})]})]}):g.jsx(aH,{width:"100%",pt:10,children:g.jsx(Dt,{fontSize:"lg",fontWeight:"semibold",children:"No metadata available"})})]})})},Kke);HE.displayName="ImageMetadataViewer";const fG=lt([pp,fp],(e,t)=>{const{currentCategory:n,currentImage:r,intermediateImage:i}=e,{shouldShowImageDetails:o}=t,a=e.categories[r?r.category:"result"].images,s=a.findIndex(u=>{var d;return u.uuid===((d=e==null?void 0:e.currentImage)==null?void 0:d.uuid)}),l=a.length;return{imageToDisplay:i||r,isIntermediate:Boolean(i),viewerImageToDisplay:r,currentCategory:n,isOnFirstImage:s===0,isOnLastImage:!isNaN(s)&&s===l-1,shouldShowImageDetails:o,shouldShowPrevImageButton:s===0,shouldShowNextImageButton:!isNaN(s)&&s===l-1}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}});function Yke(){const e=Te(),{isOnFirstImage:t,isOnLastImage:n,shouldShowImageDetails:r,imageToDisplay:i,isIntermediate:o}=le(fG),[a,s]=S.useState(!1),l=()=>{s(!0)},u=()=>{s(!1)},d=()=>{e(vE())},p=()=>{e(mE())};return g.jsxs("div",{className:"current-image-preview",children:[i&&g.jsx(jw,{src:i.url,width:i.width,height:i.height,style:{imageRendering:o?"pixelated":"initial"}}),!r&&g.jsxs("div",{className:"current-image-next-prev-buttons",children:[g.jsx("div",{className:"next-prev-button-trigger-area prev-button-trigger-area",onMouseOver:l,onMouseOut:u,children:a&&!t&&g.jsx(ls,{"aria-label":"Previous image",icon:g.jsx(JV,{className:"next-prev-button"}),variant:"unstyled",onClick:d})}),g.jsx("div",{className:"next-prev-button-trigger-area next-button-trigger-area",onMouseOver:l,onMouseOut:u,children:a&&!n&&g.jsx(ls,{"aria-label":"Next image",icon:g.jsx(eG,{className:"next-prev-button"}),variant:"unstyled",onClick:p})})]}),r&&i&&g.jsx(HE,{image:i,styleClass:"current-image-metadata"})]})}var Xke=globalThis&&globalThis.__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){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),ni=globalThis&&globalThis.__assign||function(){return ni=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof i>"u"?void 0:Number(i),minWidth:typeof o>"u"?void 0:Number(o),minHeight:typeof a>"u"?void 0:Number(a)}},r7e=["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"],jI="__resizable_base__",hG=function(e){Jke(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 i=r.parentNode;if(!i)return null;var o=r.window.document.createElement("div");return o.style.width="100%",o.style.height="100%",o.style.position="absolute",o.style.transform="scale(0, 0)",o.style.left="0",o.style.flex="0 0 100%",o.classList?o.classList.add(jI):o.className+=jI,i.appendChild(o),o},r.removeBase=function(i){var o=r.parentNode;o&&o.removeChild(i)},r.ref=function(i){i&&(r.resizable=i)},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||e7e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var i=this.resizable.offsetWidth,o=this.resizable.offsetHeight,a=this.resizable.style.position;a!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:i,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:o,this.resizable.style.position=a}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,i=function(s){if(typeof n.state[s]>"u"||n.state[s]==="auto")return"auto";if(n.propsSize&&n.propsSize[s]&&n.propsSize[s].toString().endsWith("%")){if(n.state[s].toString().endsWith("%"))return n.state[s].toString();var l=n.getParentSize(),u=Number(n.state[s].toString().replace("px","")),d=u/l[s]*100;return d+"%"}return QC(n.state[s])},o=r&&typeof r.width<"u"&&!this.state.isResizing?QC(r.width):i("width"),a=r&&typeof r.height<"u"&&!this.state.isResizing?QC(r.height):i("height");return{width:o,height:a}},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,i=this.parentNode.style.flexWrap;i!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var o={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=i),this.removeBase(n),o},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 i=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof i>"u"||i==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var i=this.props.boundsByDirection,o=this.state.direction,a=i&&Ig("left",o),s=i&&Ig("top",o),l,u;if(this.props.bounds==="parent"){var d=this.parentNode;d&&(l=a?this.resizableRight-this.parentLeft:d.offsetWidth+(this.parentLeft-this.resizableLeft),u=s?this.resizableBottom-this.parentTop:d.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(l=a?this.resizableRight:this.window.innerWidth-this.resizableLeft,u=s?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(l=a?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),u=s?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return l&&Number.isFinite(l)&&(n=n&&n"u"?10:o.width,p=typeof i.width>"u"||i.width<0?n:i.width,m=typeof o.height>"u"?10:o.height,y=typeof i.height>"u"||i.height<0?r:i.height,b=l||0,w=u||0;if(s){var E=(m-b)*this.ratio+w,_=(y-b)*this.ratio+w,k=(d-w)/this.ratio+b,T=(p-w)/this.ratio+b,L=Math.max(d,E),O=Math.min(p,_),D=Math.max(m,k),I=Math.min(y,T);n=yx(n,L,O),r=yx(r,D,I)}else n=yx(n,d,p),r=yx(r,m,y);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 i=this.props.bounds.getBoundingClientRect();this.targetLeft=i.left,this.targetTop=i.top}if(this.resizable){var o=this.resizable.getBoundingClientRect(),a=o.left,s=o.top,l=o.right,u=o.bottom;this.resizableLeft=a,this.resizableRight=l,this.resizableTop=s,this.resizableBottom=u}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var i=0,o=0;if(n.nativeEvent&&t7e(n.nativeEvent)?(i=n.nativeEvent.clientX,o=n.nativeEvent.clientY):n.nativeEvent&&bx(n.nativeEvent)&&(i=n.nativeEvent.touches[0].clientX,o=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var a=this.props.onResizeStart(n,r,this.resizable);if(a===!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 s,l=this.window.getComputedStyle(this.resizable);if(l.flexBasis!=="auto"){var u=this.parentNode;if(u){var d=this.window.getComputedStyle(u).flexDirection;this.flexDir=d.startsWith("row")?"row":"column",s=l.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var p={original:{x:i,y:o,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:Ol(Ol({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:s};this.setState(p)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&bx(n))try{n.preventDefault(),n.stopPropagation()}catch{}var i=this.props,o=i.maxWidth,a=i.maxHeight,s=i.minWidth,l=i.minHeight,u=bx(n)?n.touches[0].clientX:n.clientX,d=bx(n)?n.touches[0].clientY:n.clientY,p=this.state,m=p.direction,y=p.original,b=p.width,w=p.height,E=this.getParentSize(),_=n7e(E,this.window.innerWidth,this.window.innerHeight,o,a,s,l);o=_.maxWidth,a=_.maxHeight,s=_.minWidth,l=_.minHeight;var k=this.calculateNewSizeFromDirection(u,d),T=k.newHeight,L=k.newWidth,O=this.calculateNewMaxFromBoundary(o,a);this.props.snap&&this.props.snap.x&&(L=DI(L,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(T=DI(T,this.props.snap.y,this.props.snapGap));var D=this.calculateNewSizeFromAspectRatio(L,T,{width:O.maxWidth,height:O.maxHeight},{width:s,height:l});if(L=D.newWidth,T=D.newHeight,this.props.grid){var I=II(L,this.props.grid[0]),N=II(T,this.props.grid[1]),W=this.props.snapGap||0;L=W===0||Math.abs(I-L)<=W?I:L,T=W===0||Math.abs(N-T)<=W?N:T}var B={width:L-y.width,height:T-y.height};if(b&&typeof b=="string"){if(b.endsWith("%")){var K=L/E.width*100;L=K+"%"}else if(b.endsWith("vw")){var ne=L/this.window.innerWidth*100;L=ne+"vw"}else if(b.endsWith("vh")){var z=L/this.window.innerHeight*100;L=z+"vh"}}if(w&&typeof w=="string"){if(w.endsWith("%")){var K=T/E.height*100;T=K+"%"}else if(w.endsWith("vw")){var ne=T/this.window.innerWidth*100;T=ne+"vw"}else if(w.endsWith("vh")){var z=T/this.window.innerHeight*100;T=z+"vh"}}var $={width:this.createSizeForCssProperty(L,"width"),height:this.createSizeForCssProperty(T,"height")};this.flexDir==="row"?$.flexBasis=$.width:this.flexDir==="column"&&($.flexBasis=$.height),Xs.flushSync(function(){r.setState($)}),this.props.onResize&&this.props.onResize(n,m,this.resizable,B)}},t.prototype.onMouseUp=function(n){var r=this.state,i=r.isResizing,o=r.direction,a=r.original;if(!(!i||!this.resizable)){var s={width:this.size.width-a.width,height:this.size.height-a.height};this.props.onResizeStop&&this.props.onResizeStop(n,o,this.resizable,s),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:Ol(Ol({},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,i=r.enable,o=r.handleStyles,a=r.handleClasses,s=r.handleWrapperStyle,l=r.handleWrapperClass,u=r.handleComponent;if(!i)return null;var d=Object.keys(i).map(function(p){return i[p]!==!1?S.createElement(Qke,{key:p,direction:p,onResizeStart:n.onResizeStart,replaceStyles:o&&o[p],className:a&&a[p]},u&&u[p]?u[p]:null):null});return S.createElement("div",{className:l,style:s},d)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(a,s){return r7e.indexOf(s)!==-1||(a[s]=n.props[s]),a},{}),i=Ol(Ol(Ol({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&&(i.flexBasis=this.state.flexBasis);var o=this.props.as||"div";return S.createElement(o,Ol({ref:this.ref,style:i,className:this.props.className},r),this.state.isResizing&&S.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}(S.PureComponent);const Gn=e=>{const{label:t,styleClass:n,...r}=e;return g.jsx(dz,{className:`invokeai__checkbox ${n}`,...r,children:t})};function pG(e){return ut({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 gG(e){return ut({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)}function i7e(e){return ut({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 o7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 19.59V8l-6-6H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.15 1.19-.4l-4.43-4.43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.02-.31 1.96-.83 2.75L20 19.59zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3z"}}]})(e)}function a7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"}}]})(e)}function s7e(e){return ut({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 l7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M15 21h2v-2h-2v2zm4-12h2V7h-2v2zM3 5v14c0 1.1.9 2 2 2h4v-2H5V5h4V3H5c-1.1 0-2 .9-2 2zm16-2v2h2c0-1.1-.9-2-2-2zm-8 20h2V1h-2v22zm8-6h2v-2h-2v2zM15 5h2V3h-2v2zm4 8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2z"}}]})(e)}function mG(e){return ut({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 u7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"}}]})(e)}function c7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M7 10l5 5 5-5z"}}]})(e)}function d7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M7 14l5-5 5 5z"}}]})(e)}function f7e(e){return ut({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 h7e(e,t){return e.classList?!!t&&e.classList.contains(t):(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")!==-1}function p7e(e,t){e.classList?e.classList.add(t):h7e(e,t)||(typeof e.className=="string"?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))}function NI(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function g7e(e,t){e.classList?e.classList.remove(t):typeof e.className=="string"?e.className=NI(e.className,t):e.setAttribute("class",NI(e.className&&e.className.baseVal||"",t))}const $I={disabled:!1},vG=Ke.createContext(null);var yG=function(t){return t.scrollTop},S1="unmounted",ph="exited",gh="entering",Fg="entered",Gk="exiting",mc=function(e){b8(t,e);function t(r,i){var o;o=e.call(this,r,i)||this;var a=i,s=a&&!a.isMounting?r.enter:r.appear,l;return o.appearStatus=null,r.in?s?(l=ph,o.appearStatus=gh):l=Fg:r.unmountOnExit||r.mountOnEnter?l=S1:l=ph,o.state={status:l},o.nextCallback=null,o}t.getDerivedStateFromProps=function(i,o){var a=i.in;return a&&o.status===S1?{status:ph}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(i){var o=null;if(i!==this.props){var a=this.state.status;this.props.in?a!==gh&&a!==Fg&&(o=gh):(a===gh||a===Fg)&&(o=Gk)}this.updateStatus(!1,o)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var i=this.props.timeout,o,a,s;return o=a=s=i,i!=null&&typeof i!="number"&&(o=i.exit,a=i.enter,s=i.appear!==void 0?i.appear:a),{exit:o,enter:a,appear:s}},n.updateStatus=function(i,o){if(i===void 0&&(i=!1),o!==null)if(this.cancelNextCallback(),o===gh){if(this.props.unmountOnExit||this.props.mountOnEnter){var a=this.props.nodeRef?this.props.nodeRef.current:Ob.findDOMNode(this);a&&yG(a)}this.performEnter(i)}else this.performExit();else this.props.unmountOnExit&&this.state.status===ph&&this.setState({status:S1})},n.performEnter=function(i){var o=this,a=this.props.enter,s=this.context?this.context.isMounting:i,l=this.props.nodeRef?[s]:[Ob.findDOMNode(this),s],u=l[0],d=l[1],p=this.getTimeouts(),m=s?p.appear:p.enter;if(!i&&!a||$I.disabled){this.safeSetState({status:Fg},function(){o.props.onEntered(u)});return}this.props.onEnter(u,d),this.safeSetState({status:gh},function(){o.props.onEntering(u,d),o.onTransitionEnd(m,function(){o.safeSetState({status:Fg},function(){o.props.onEntered(u,d)})})})},n.performExit=function(){var i=this,o=this.props.exit,a=this.getTimeouts(),s=this.props.nodeRef?void 0:Ob.findDOMNode(this);if(!o||$I.disabled){this.safeSetState({status:ph},function(){i.props.onExited(s)});return}this.props.onExit(s),this.safeSetState({status:Gk},function(){i.props.onExiting(s),i.onTransitionEnd(a.exit,function(){i.safeSetState({status:ph},function(){i.props.onExited(s)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(i,o){o=this.setNextCallback(o),this.setState(i,o)},n.setNextCallback=function(i){var o=this,a=!0;return this.nextCallback=function(s){a&&(a=!1,o.nextCallback=null,i(s))},this.nextCallback.cancel=function(){a=!1},this.nextCallback},n.onTransitionEnd=function(i,o){this.setNextCallback(o);var a=this.props.nodeRef?this.props.nodeRef.current:Ob.findDOMNode(this),s=i==null&&!this.props.addEndListener;if(!a||s){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[a,this.nextCallback],u=l[0],d=l[1];this.props.addEndListener(u,d)}i!=null&&setTimeout(this.nextCallback,i)},n.render=function(){var i=this.state.status;if(i===S1)return null;var o=this.props,a=o.children;o.in,o.mountOnEnter,o.unmountOnExit,o.appear,o.enter,o.exit,o.timeout,o.addEndListener,o.onEnter,o.onEntering,o.onEntered,o.onExit,o.onExiting,o.onExited,o.nodeRef;var s=m8(o,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return Ke.createElement(vG.Provider,{value:null},typeof a=="function"?a(i,s):Ke.cloneElement(Ke.Children.only(a),s))},t}(Ke.Component);mc.contextType=vG;mc.propTypes={};function Dg(){}mc.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Dg,onEntering:Dg,onEntered:Dg,onExit:Dg,onExiting:Dg,onExited:Dg};mc.UNMOUNTED=S1;mc.EXITED=ph;mc.ENTERING=gh;mc.ENTERED=Fg;mc.EXITING=Gk;const m7e=mc;var v7e=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return p7e(t,r)})},JC=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return g7e(t,r)})},WE=function(e){b8(t,e);function t(){for(var r,i=arguments.length,o=new Array(i),a=0;ab,Object.values(b));return S.createElement(w.Provider,{value:E},y)}function d(p,m){const y=(m==null?void 0:m[e][l])||s,b=S.useContext(y);if(b)return b;if(a!==void 0)return a;throw new Error(`\`${p}\` must be used within \`${o}\``)}return u.displayName=o+"Provider",[u,d]}const i=()=>{const o=n.map(a=>S.createContext(a));return function(s){const l=(s==null?void 0:s[e])||o;return S.useMemo(()=>({[`__scope${e}`]:{...s,[e]:l}}),[s,l])}};return i.scopeName=e,[r,y7e(i,...t)]}function y7e(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(o){const a=r.reduce((s,{useScope:l,scopeName:u})=>{const p=l(o)[`__scope${u}`];return{...s,...p}},{});return S.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function b7e(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function xG(...e){return t=>e.forEach(n=>b7e(n,t))}function ds(...e){return S.useCallback(xG(...e),e)}const Fy=S.forwardRef((e,t)=>{const{children:n,...r}=e,i=S.Children.toArray(n),o=i.find(S7e);if(o){const a=o.props.children,s=i.map(l=>l===o?S.Children.count(a)>1?S.Children.only(null):S.isValidElement(a)?a.props.children:null:l);return S.createElement(qk,pn({},r,{ref:t}),S.isValidElement(a)?S.cloneElement(a,void 0,s):null)}return S.createElement(qk,pn({},r,{ref:t}),n)});Fy.displayName="Slot";const qk=S.forwardRef((e,t)=>{const{children:n,...r}=e;return S.isValidElement(n)?S.cloneElement(n,{...w7e(r,n.props),ref:xG(t,n.ref)}):S.Children.count(n)>1?S.Children.only(null):null});qk.displayName="SlotClone";const x7e=({children:e})=>S.createElement(S.Fragment,null,e);function S7e(e){return S.isValidElement(e)&&e.type===x7e}function w7e(e,t){const n={...t};for(const r in t){const i=e[r],o=t[r];/^on[A-Z]/.test(r)?i&&o?n[r]=(...s)=>{o(...s),i(...s)}:i&&(n[r]=i):r==="style"?n[r]={...i,...o}:r==="className"&&(n[r]=[i,o].filter(Boolean).join(" "))}return{...e,...n}}const C7e=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],sc=C7e.reduce((e,t)=>{const n=S.forwardRef((r,i)=>{const{asChild:o,...a}=r,s=o?Fy:t;return S.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),S.createElement(s,pn({},a,{ref:i}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function SG(e,t){e&&Xs.flushSync(()=>e.dispatchEvent(t))}function wG(e){const t=e+"CollectionProvider",[n,r]=b2(t),[i,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=y=>{const{scope:b,children:w}=y,E=Ke.useRef(null),_=Ke.useRef(new Map).current;return Ke.createElement(i,{scope:b,itemMap:_,collectionRef:E},w)},s=e+"CollectionSlot",l=Ke.forwardRef((y,b)=>{const{scope:w,children:E}=y,_=o(s,w),k=ds(b,_.collectionRef);return Ke.createElement(Fy,{ref:k},E)}),u=e+"CollectionItemSlot",d="data-radix-collection-item",p=Ke.forwardRef((y,b)=>{const{scope:w,children:E,..._}=y,k=Ke.useRef(null),T=ds(b,k),L=o(u,w);return Ke.useEffect(()=>(L.itemMap.set(k,{ref:k,..._}),()=>void L.itemMap.delete(k))),Ke.createElement(Fy,{[d]:"",ref:T},E)});function m(y){const b=o(e+"CollectionConsumer",y);return Ke.useCallback(()=>{const E=b.collectionRef.current;if(!E)return[];const _=Array.from(E.querySelectorAll(`[${d}]`));return Array.from(b.itemMap.values()).sort((L,O)=>_.indexOf(L.ref.current)-_.indexOf(O.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:a,Slot:l,ItemSlot:p},m,r]}const _7e=S.createContext(void 0);function CG(e){const t=S.useContext(_7e);return e||t||"ltr"}function Js(e){const t=S.useRef(e);return S.useEffect(()=>{t.current=e}),S.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function k7e(e,t=globalThis==null?void 0:globalThis.document){const n=Js(e);S.useEffect(()=>{const r=i=>{i.key==="Escape"&&n(i)};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)},[n,t])}const Kk="dismissableLayer.update",E7e="dismissableLayer.pointerDownOutside",P7e="dismissableLayer.focusOutside";let FI;const T7e=S.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),M7e=S.forwardRef((e,t)=>{var n;const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:s,onDismiss:l,...u}=e,d=S.useContext(T7e),[p,m]=S.useState(null),y=(n=p==null?void 0:p.ownerDocument)!==null&&n!==void 0?n:globalThis==null?void 0:globalThis.document,[,b]=S.useState({}),w=ds(t,N=>m(N)),E=Array.from(d.layers),[_]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),k=E.indexOf(_),T=p?E.indexOf(p):-1,L=d.layersWithOutsidePointerEventsDisabled.size>0,O=T>=k,D=L7e(N=>{const W=N.target,B=[...d.branches].some(K=>K.contains(W));!O||B||(o==null||o(N),s==null||s(N),N.defaultPrevented||l==null||l())},y),I=A7e(N=>{const W=N.target;[...d.branches].some(K=>K.contains(W))||(a==null||a(N),s==null||s(N),N.defaultPrevented||l==null||l())},y);return k7e(N=>{T===d.layers.size-1&&(i==null||i(N),!N.defaultPrevented&&l&&(N.preventDefault(),l()))},y),S.useEffect(()=>{if(p)return r&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(FI=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(p)),d.layers.add(p),BI(),()=>{r&&d.layersWithOutsidePointerEventsDisabled.size===1&&(y.body.style.pointerEvents=FI)}},[p,y,r,d]),S.useEffect(()=>()=>{p&&(d.layers.delete(p),d.layersWithOutsidePointerEventsDisabled.delete(p),BI())},[p,d]),S.useEffect(()=>{const N=()=>b({});return document.addEventListener(Kk,N),()=>document.removeEventListener(Kk,N)},[]),S.createElement(sc.div,pn({},u,{ref:w,style:{pointerEvents:L?O?"auto":"none":void 0,...e.style},onFocusCapture:Kn(e.onFocusCapture,I.onFocusCapture),onBlurCapture:Kn(e.onBlurCapture,I.onBlurCapture),onPointerDownCapture:Kn(e.onPointerDownCapture,D.onPointerDownCapture)}))});function L7e(e,t=globalThis==null?void 0:globalThis.document){const n=Js(e),r=S.useRef(!1),i=S.useRef(()=>{});return S.useEffect(()=>{const o=s=>{if(s.target&&!r.current){let u=function(){_G(E7e,n,l,{discrete:!0})};const l={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",i.current),i.current=u,t.addEventListener("click",i.current,{once:!0})):u()}r.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",o)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",o),t.removeEventListener("click",i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function A7e(e,t=globalThis==null?void 0:globalThis.document){const n=Js(e),r=S.useRef(!1);return S.useEffect(()=>{const i=o=>{o.target&&!r.current&&_G(P7e,n,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function BI(){const e=new CustomEvent(Kk);document.dispatchEvent(e)}function _G(e,t,n,{discrete:r}){const i=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?SG(i,o):i.dispatchEvent(o)}let e6=0;function O7e(){S.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:zI()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:zI()),e6++,()=>{e6===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),e6--}},[])}function zI(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}const t6="focusScope.autoFocusOnMount",n6="focusScope.autoFocusOnUnmount",HI={bubbles:!1,cancelable:!0},R7e=S.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...a}=e,[s,l]=S.useState(null),u=Js(i),d=Js(o),p=S.useRef(null),m=ds(t,w=>l(w)),y=S.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;S.useEffect(()=>{if(r){let w=function(_){if(y.paused||!s)return;const k=_.target;s.contains(k)?p.current=k:mh(p.current,{select:!0})},E=function(_){y.paused||!s||s.contains(_.relatedTarget)||mh(p.current,{select:!0})};return document.addEventListener("focusin",w),document.addEventListener("focusout",E),()=>{document.removeEventListener("focusin",w),document.removeEventListener("focusout",E)}}},[r,s,y.paused]),S.useEffect(()=>{if(s){UI.add(y);const w=document.activeElement;if(!s.contains(w)){const _=new CustomEvent(t6,HI);s.addEventListener(t6,u),s.dispatchEvent(_),_.defaultPrevented||(I7e(F7e(kG(s)),{select:!0}),document.activeElement===w&&mh(s))}return()=>{s.removeEventListener(t6,u),setTimeout(()=>{const _=new CustomEvent(n6,HI);s.addEventListener(n6,d),s.dispatchEvent(_),_.defaultPrevented||mh(w??document.body,{select:!0}),s.removeEventListener(n6,d),UI.remove(y)},0)}}},[s,u,d,y]);const b=S.useCallback(w=>{if(!n&&!r||y.paused)return;const E=w.key==="Tab"&&!w.altKey&&!w.ctrlKey&&!w.metaKey,_=document.activeElement;if(E&&_){const k=w.currentTarget,[T,L]=D7e(k);T&&L?!w.shiftKey&&_===L?(w.preventDefault(),n&&mh(T,{select:!0})):w.shiftKey&&_===T&&(w.preventDefault(),n&&mh(L,{select:!0})):_===k&&w.preventDefault()}},[n,r,y.paused]);return S.createElement(sc.div,pn({tabIndex:-1},a,{ref:m,onKeyDown:b}))});function I7e(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(mh(r,{select:t}),document.activeElement!==n)return}function D7e(e){const t=kG(e),n=WI(t,e),r=WI(t.reverse(),e);return[n,r]}function kG(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function WI(e,t){for(const n of e)if(!j7e(n,{upTo:t}))return n}function j7e(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function N7e(e){return e instanceof HTMLInputElement&&"select"in e}function mh(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&N7e(e)&&t&&e.select()}}const UI=$7e();function $7e(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=VI(e,t),e.unshift(t)},remove(t){var n;e=VI(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function VI(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function F7e(e){return e.filter(t=>t.tagName!=="A")}const Pd=Boolean(globalThis==null?void 0:globalThis.document)?S.useLayoutEffect:()=>{},B7e=p6["useId".toString()]||(()=>{});let z7e=0;function H7e(e){const[t,n]=S.useState(B7e());return Pd(()=>{e||n(r=>r??String(z7e++))},[e]),e||(t?`radix-${t}`:"")}function gp(e){return e.split("-")[0]}function x2(e){return e.split("-")[1]}function w0(e){return["top","bottom"].includes(gp(e))?"x":"y"}function UE(e){return e==="y"?"height":"width"}function GI(e,t,n){let{reference:r,floating:i}=e;const o=r.x+r.width/2-i.width/2,a=r.y+r.height/2-i.height/2,s=w0(t),l=UE(s),u=r[l]/2-i[l]/2,d=s==="x";let p;switch(gp(t)){case"top":p={x:o,y:r.y-i.height};break;case"bottom":p={x:o,y:r.y+r.height};break;case"right":p={x:r.x+r.width,y:a};break;case"left":p={x:r.x-i.width,y:a};break;default:p={x:r.x,y:r.y}}switch(x2(t)){case"start":p[s]-=u*(n&&d?-1:1);break;case"end":p[s]+=u*(n&&d?-1:1)}return p}const W7e=async(e,t,n)=>{const{placement:r="bottom",strategy:i="absolute",middleware:o=[],platform:a}=n,s=await(a.isRTL==null?void 0:a.isRTL(t));let l=await a.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=GI(l,r,s),p=r,m={},y=0;for(let b=0;b({name:"arrow",options:e,async fn(t){const{element:n,padding:r=0}=e??{},{x:i,y:o,placement:a,rects:s,platform:l}=t;if(n==null)return{};const u=EG(r),d={x:i,y:o},p=w0(a),m=x2(a),y=UE(p),b=await l.getDimensions(n),w=p==="y"?"top":"left",E=p==="y"?"bottom":"right",_=s.reference[y]+s.reference[p]-d[p]-s.floating[y],k=d[p]-s.reference[p],T=await(l.getOffsetParent==null?void 0:l.getOffsetParent(n));let L=T?p==="y"?T.clientHeight||0:T.clientWidth||0:0;L===0&&(L=s.floating[y]);const O=_/2-k/2,D=u[w],I=L-b[y]-u[E],N=L/2-b[y]/2+O,W=Yk(D,N,I),B=(m==="start"?u[w]:u[E])>0&&N!==W&&s.reference[y]<=s.floating[y];return{[p]:d[p]-(B?NV7e[t])}function G7e(e,t,n){n===void 0&&(n=!1);const r=x2(e),i=w0(e),o=UE(i);let a=i==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=R3(a)),{main:a,cross:R3(a)}}const q7e={start:"end",end:"start"};function KI(e){return e.replace(/start|end/g,t=>q7e[t])}const PG=["top","right","bottom","left"];PG.reduce((e,t)=>e.concat(t,t+"-start",t+"-end"),[]);const K7e=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:i,rects:o,initialPlacement:a,platform:s,elements:l}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:p,fallbackStrategy:m="bestFit",flipAlignment:y=!0,...b}=e,w=gp(r),E=p||(w===a||!y?[R3(a)]:function(N){const W=R3(N);return[KI(N),W,KI(W)]}(a)),_=[a,...E],k=await By(t,b),T=[];let L=((n=i.flip)==null?void 0:n.overflows)||[];if(u&&T.push(k[w]),d){const{main:N,cross:W}=G7e(r,o,await(s.isRTL==null?void 0:s.isRTL(l.floating)));T.push(k[N],k[W])}if(L=[...L,{placement:r,overflows:T}],!T.every(N=>N<=0)){var O,D;const N=((O=(D=i.flip)==null?void 0:D.index)!=null?O:0)+1,W=_[N];if(W)return{data:{index:N,overflows:L},reset:{placement:W}};let B="bottom";switch(m){case"bestFit":{var I;const K=(I=L.map(ne=>[ne,ne.overflows.filter(z=>z>0).reduce((z,$)=>z+$,0)]).sort((ne,z)=>ne[1]-z[1])[0])==null?void 0:I[0].placement;K&&(B=K);break}case"initialPlacement":B=a}if(r!==B)return{reset:{placement:B}}}return{}}}};function YI(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function XI(e){return PG.some(t=>e[t]>=0)}const Y7e=function(e){let{strategy:t="referenceHidden",...n}=e===void 0?{}:e;return{name:"hide",async fn(r){const{rects:i}=r;switch(t){case"referenceHidden":{const o=YI(await By(r,{...n,elementContext:"reference"}),i.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:XI(o)}}}case"escaped":{const o=YI(await By(r,{...n,altBoundary:!0}),i.floating);return{data:{escapedOffsets:o,escaped:XI(o)}}}default:return{}}}}},X7e=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,i=await async function(o,a){const{placement:s,platform:l,elements:u}=o,d=await(l.isRTL==null?void 0:l.isRTL(u.floating)),p=gp(s),m=x2(s),y=w0(s)==="x",b=["left","top"].includes(p)?-1:1,w=d&&y?-1:1,E=typeof a=="function"?a(o):a;let{mainAxis:_,crossAxis:k,alignmentAxis:T}=typeof E=="number"?{mainAxis:E,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...E};return m&&typeof T=="number"&&(k=m==="end"?-1*T:T),y?{x:k*w,y:_*b}:{x:_*b,y:k*w}}(t,e);return{x:n+i.x,y:r+i.y,data:i}}}};function TG(e){return e==="x"?"y":"x"}const Z7e=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:i}=t,{mainAxis:o=!0,crossAxis:a=!1,limiter:s={fn:E=>{let{x:_,y:k}=E;return{x:_,y:k}}},...l}=e,u={x:n,y:r},d=await By(t,l),p=w0(gp(i)),m=TG(p);let y=u[p],b=u[m];if(o){const E=p==="y"?"bottom":"right";y=Yk(y+d[p==="y"?"top":"left"],y,y-d[E])}if(a){const E=m==="y"?"bottom":"right";b=Yk(b+d[m==="y"?"top":"left"],b,b-d[E])}const w=s.fn({...t,[p]:y,[m]:b});return{...w,data:{x:w.x-n,y:w.y-r}}}}},Q7e=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:i,rects:o,middlewareData:a}=t,{offset:s=0,mainAxis:l=!0,crossAxis:u=!0}=e,d={x:n,y:r},p=w0(i),m=TG(p);let y=d[p],b=d[m];const w=typeof s=="function"?s({...o,placement:i}):s,E=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(l){const O=p==="y"?"height":"width",D=o.reference[p]-o.floating[O]+E.mainAxis,I=o.reference[p]+o.reference[O]-E.mainAxis;yI&&(y=I)}if(u){var _,k,T,L;const O=p==="y"?"width":"height",D=["top","left"].includes(gp(i)),I=o.reference[m]-o.floating[O]+(D&&(_=(k=a.offset)==null?void 0:k[m])!=null?_:0)+(D?0:E.crossAxis),N=o.reference[m]+o.reference[O]+(D?0:(T=(L=a.offset)==null?void 0:L[m])!=null?T:0)-(D?E.crossAxis:0);bN&&(b=N)}return{[p]:y,[m]:b}}}},J7e=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:i,elements:o}=t,{apply:a,...s}=e,l=await By(t,s),u=gp(n),d=x2(n);let p,m;u==="top"||u==="bottom"?(p=u,m=d===(await(i.isRTL==null?void 0:i.isRTL(o.floating))?"start":"end")?"left":"right"):(m=u,p=d==="end"?"top":"bottom");const y=vh(l.left,0),b=vh(l.right,0),w=vh(l.top,0),E=vh(l.bottom,0),_={availableHeight:r.floating.height-(["left","right"].includes(n)?2*(w!==0||E!==0?w+E:vh(l.top,l.bottom)):l[p]),availableWidth:r.floating.width-(["top","bottom"].includes(n)?2*(y!==0||b!==0?y+b:vh(l.left,l.right)):l[m])},k=await i.getDimensions(o.floating);a==null||a({...t,..._});const T=await i.getDimensions(o.floating);return k.width!==T.width||k.height!==T.height?{reset:{rects:!0}}:{}}}};function MG(e){return e&&e.document&&e.location&&e.alert&&e.setInterval}function vc(e){if(e==null)return window;if(!MG(e)){const t=e.ownerDocument;return t&&t.defaultView||window}return e}function S2(e){return vc(e).getComputedStyle(e)}function Xu(e){return MG(e)?"":e?(e.nodeName||"").toLowerCase():""}function LG(){const e=navigator.userAgentData;return e!=null&&e.brands?e.brands.map(t=>t.brand+"/"+t.version).join(" "):navigator.userAgent}function ou(e){return e instanceof vc(e).HTMLElement}function ef(e){return e instanceof vc(e).Element}function VE(e){return typeof ShadowRoot>"u"?!1:e instanceof vc(e).ShadowRoot||e instanceof ShadowRoot}function p4(e){const{overflow:t,overflowX:n,overflowY:r}=S2(e);return/auto|scroll|overlay|hidden/.test(t+r+n)}function e9e(e){return["table","td","th"].includes(Xu(e))}function ZI(e){const t=/firefox/i.test(LG()),n=S2(e);return n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].includes(n.willChange)||t&&n.willChange==="filter"||t&&!!n.filter&&n.filter!=="none"}function AG(){return!/^((?!chrome|android).)*safari/i.test(LG())}const QI=Math.min,Y1=Math.max,I3=Math.round;function Zu(e,t,n){var r,i,o,a;t===void 0&&(t=!1),n===void 0&&(n=!1);const s=e.getBoundingClientRect();let l=1,u=1;t&&ou(e)&&(l=e.offsetWidth>0&&I3(s.width)/e.offsetWidth||1,u=e.offsetHeight>0&&I3(s.height)/e.offsetHeight||1);const d=ef(e)?vc(e):window,p=!AG()&&n,m=(s.left+(p&&(r=(i=d.visualViewport)==null?void 0:i.offsetLeft)!=null?r:0))/l,y=(s.top+(p&&(o=(a=d.visualViewport)==null?void 0:a.offsetTop)!=null?o:0))/u,b=s.width/l,w=s.height/u;return{width:b,height:w,top:y,right:m+b,bottom:y+w,left:m,x:m,y}}function zd(e){return(t=e,(t instanceof vc(t).Node?e.ownerDocument:e.document)||window.document).documentElement;var t}function g4(e){return ef(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function OG(e){return Zu(zd(e)).left+g4(e).scrollLeft}function t9e(e,t,n){const r=ou(t),i=zd(t),o=Zu(e,r&&function(l){const u=Zu(l);return I3(u.width)!==l.offsetWidth||I3(u.height)!==l.offsetHeight}(t),n==="fixed");let a={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if(r||!r&&n!=="fixed")if((Xu(t)!=="body"||p4(i))&&(a=g4(t)),ou(t)){const l=Zu(t,!0);s.x=l.x+t.clientLeft,s.y=l.y+t.clientTop}else i&&(s.x=OG(i));return{x:o.left+a.scrollLeft-s.x,y:o.top+a.scrollTop-s.y,width:o.width,height:o.height}}function RG(e){return Xu(e)==="html"?e:e.assignedSlot||e.parentNode||(VE(e)?e.host:null)||zd(e)}function JI(e){return ou(e)&&getComputedStyle(e).position!=="fixed"?e.offsetParent:null}function Xk(e){const t=vc(e);let n=JI(e);for(;n&&e9e(n)&&getComputedStyle(n).position==="static";)n=JI(n);return n&&(Xu(n)==="html"||Xu(n)==="body"&&getComputedStyle(n).position==="static"&&!ZI(n))?t:n||function(r){let i=RG(r);for(VE(i)&&(i=i.host);ou(i)&&!["html","body"].includes(Xu(i));){if(ZI(i))return i;i=i.parentNode}return null}(e)||t}function eD(e){if(ou(e))return{width:e.offsetWidth,height:e.offsetHeight};const t=Zu(e);return{width:t.width,height:t.height}}function IG(e){const t=RG(e);return["html","body","#document"].includes(Xu(t))?e.ownerDocument.body:ou(t)&&p4(t)?t:IG(t)}function D3(e,t){var n;t===void 0&&(t=[]);const r=IG(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=vc(r),a=i?[o].concat(o.visualViewport||[],p4(r)?r:[]):r,s=t.concat(a);return i?s:s.concat(D3(a))}function tD(e,t,n){return t==="viewport"?O3(function(r,i){const o=vc(r),a=zd(r),s=o.visualViewport;let l=a.clientWidth,u=a.clientHeight,d=0,p=0;if(s){l=s.width,u=s.height;const m=AG();(m||!m&&i==="fixed")&&(d=s.offsetLeft,p=s.offsetTop)}return{width:l,height:u,x:d,y:p}}(e,n)):ef(t)?function(r,i){const o=Zu(r,!1,i==="fixed"),a=o.top+r.clientTop,s=o.left+r.clientLeft;return{top:a,left:s,x:s,y:a,right:s+r.clientWidth,bottom:a+r.clientHeight,width:r.clientWidth,height:r.clientHeight}}(t,n):O3(function(r){var i;const o=zd(r),a=g4(r),s=(i=r.ownerDocument)==null?void 0:i.body,l=Y1(o.scrollWidth,o.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),u=Y1(o.scrollHeight,o.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0);let d=-a.scrollLeft+OG(r);const p=-a.scrollTop;return S2(s||o).direction==="rtl"&&(d+=Y1(o.clientWidth,s?s.clientWidth:0)-l),{width:l,height:u,x:d,y:p}}(zd(e)))}function n9e(e){const t=D3(e),n=["absolute","fixed"].includes(S2(e).position)&&ou(e)?Xk(e):e;return ef(n)?t.filter(r=>ef(r)&&function(i,o){const a=o.getRootNode==null?void 0:o.getRootNode();if(i.contains(o))return!0;if(a&&VE(a)){let s=o;do{if(s&&i===s)return!0;s=s.parentNode||s.host}while(s)}return!1}(r,n)&&Xu(r)!=="body"):[]}const r9e={getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e;const o=[...n==="clippingAncestors"?n9e(t):[].concat(n),r],a=o[0],s=o.reduce((l,u)=>{const d=tD(t,u,i);return l.top=Y1(d.top,l.top),l.right=QI(d.right,l.right),l.bottom=QI(d.bottom,l.bottom),l.left=Y1(d.left,l.left),l},tD(t,a,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const i=ou(n),o=zd(n);if(n===o)return t;let a={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if((i||!i&&r!=="fixed")&&((Xu(n)!=="body"||p4(o))&&(a=g4(n)),ou(n))){const l=Zu(n,!0);s.x=l.x+n.clientLeft,s.y=l.y+n.clientTop}return{...t,x:t.x-a.scrollLeft+s.x,y:t.y-a.scrollTop+s.y}},isElement:ef,getDimensions:eD,getOffsetParent:Xk,getDocumentElement:zd,getElementRects:e=>{let{reference:t,floating:n,strategy:r}=e;return{reference:t9e(t,Xk(n),r),floating:{...eD(n),x:0,y:0}}},getClientRects:e=>Array.from(e.getClientRects()),isRTL:e=>S2(e).direction==="rtl"};function i9e(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:a=!0,animationFrame:s=!1}=r,l=i&&!s,u=o&&!s,d=l||u?[...ef(e)?D3(e):[],...D3(t)]:[];d.forEach(b=>{l&&b.addEventListener("scroll",n,{passive:!0}),u&&b.addEventListener("resize",n)});let p,m=null;if(a){let b=!0;m=new ResizeObserver(()=>{b||n(),b=!1}),ef(e)&&!s&&m.observe(e),m.observe(t)}let y=s?Zu(e):null;return s&&function b(){const w=Zu(e);!y||w.x===y.x&&w.y===y.y&&w.width===y.width&&w.height===y.height||n(),y=w,p=requestAnimationFrame(b)}(),n(),()=>{var b;d.forEach(w=>{l&&w.removeEventListener("scroll",n),u&&w.removeEventListener("resize",n)}),(b=m)==null||b.disconnect(),m=null,s&&cancelAnimationFrame(p)}}const o9e=(e,t,n)=>W7e(e,t,{platform:r9e,...n});var Zk=typeof document<"u"?S.useLayoutEffect:S.useEffect;function Qk(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,i;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(!Qk(e[r],t[r]))return!1;return!0}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;for(r=n;r--!==0;){const o=i[r];if(!(o==="_owner"&&e.$$typeof)&&!Qk(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}function a9e(e){const t=S.useRef(e);return Zk(()=>{t.current=e}),t}function s9e(e){let{middleware:t,placement:n="bottom",strategy:r="absolute",whileElementsMounted:i}=e===void 0?{}:e;const o=S.useRef(null),a=S.useRef(null),s=a9e(i),l=S.useRef(null),[u,d]=S.useState({x:null,y:null,strategy:r,placement:n,middlewareData:{}}),[p,m]=S.useState(t);Qk(p==null?void 0:p.map(T=>{let{options:L}=T;return L}),t==null?void 0:t.map(T=>{let{options:L}=T;return L}))||m(t);const y=S.useCallback(()=>{!o.current||!a.current||o9e(o.current,a.current,{middleware:p,placement:n,strategy:r}).then(T=>{b.current&&Xs.flushSync(()=>{d(T)})})},[p,n,r]);Zk(()=>{b.current&&y()},[y]);const b=S.useRef(!1);Zk(()=>(b.current=!0,()=>{b.current=!1}),[]);const w=S.useCallback(()=>{if(typeof l.current=="function"&&(l.current(),l.current=null),o.current&&a.current)if(s.current){const T=s.current(o.current,a.current,y);l.current=T}else y()},[y,s]),E=S.useCallback(T=>{o.current=T,w()},[w]),_=S.useCallback(T=>{a.current=T,w()},[w]),k=S.useMemo(()=>({reference:o,floating:a}),[]);return S.useMemo(()=>({...u,update:y,refs:k,reference:E,floating:_}),[u,y,k,E,_])}const l9e=e=>{const{element:t,padding:n}=e;function r(i){return Object.prototype.hasOwnProperty.call(i,"current")}return{name:"arrow",options:e,fn(i){return r(t)?t.current!=null?qI({element:t.current,padding:n}).fn(i):{}:t?qI({element:t,padding:n}).fn(i):{}}}};function u9e(e){const[t,n]=S.useState(void 0);return Pd(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const o=i[0];let a,s;if("borderBoxSize"in o){const l=o.borderBoxSize,u=Array.isArray(l)?l[0]:l;a=u.inlineSize,s=u.blockSize}else a=e.offsetWidth,s=e.offsetHeight;n({width:a,height:s})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}const DG="Popper",[GE,jG]=b2(DG),[c9e,NG]=GE(DG),d9e=e=>{const{__scopePopper:t,children:n}=e,[r,i]=S.useState(null);return S.createElement(c9e,{scope:t,anchor:r,onAnchorChange:i},n)},f9e="PopperAnchor",h9e=S.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...i}=e,o=NG(f9e,n),a=S.useRef(null),s=ds(t,a);return S.useEffect(()=>{o.onAnchorChange((r==null?void 0:r.current)||a.current)}),r?null:S.createElement(sc.div,pn({},i,{ref:s}))}),j3="PopperContent",[p9e,WNe]=GE(j3),[g9e,m9e]=GE(j3,{hasParent:!1,positionUpdateFns:new Set}),v9e=S.forwardRef((e,t)=>{var n,r,i,o,a,s,l,u;const{__scopePopper:d,side:p="bottom",sideOffset:m=0,align:y="center",alignOffset:b=0,arrowPadding:w=0,collisionBoundary:E=[],collisionPadding:_=0,sticky:k="partial",hideWhenDetached:T=!1,avoidCollisions:L=!0,onPlaced:O,...D}=e,I=NG(j3,d),[N,W]=S.useState(null),B=ds(t,He=>W(He)),[K,ne]=S.useState(null),z=u9e(K),$=(n=z==null?void 0:z.width)!==null&&n!==void 0?n:0,V=(r=z==null?void 0:z.height)!==null&&r!==void 0?r:0,X=p+(y!=="center"?"-"+y:""),Q=typeof _=="number"?_:{top:0,right:0,bottom:0,left:0,..._},G=Array.isArray(E)?E:[E],Y=G.length>0,ee={padding:Q,boundary:G.filter(b9e),altBoundary:Y},{reference:fe,floating:_e,strategy:we,x:xe,y:Le,placement:Se,middlewareData:Je,update:Xe}=s9e({strategy:"fixed",placement:X,whileElementsMounted:i9e,middleware:[x9e(),X7e({mainAxis:m+V,alignmentAxis:b}),L?Z7e({mainAxis:!0,crossAxis:!1,limiter:k==="partial"?Q7e():void 0,...ee}):void 0,K?l9e({element:K,padding:w}):void 0,L?K7e({...ee}):void 0,J7e({...ee,apply:({elements:He,availableWidth:Ue,availableHeight:ye})=>{He.floating.style.setProperty("--radix-popper-available-width",`${Ue}px`),He.floating.style.setProperty("--radix-popper-available-height",`${ye}px`)}}),S9e({arrowWidth:$,arrowHeight:V}),T?Y7e({strategy:"referenceHidden"}):void 0].filter(y9e)});Pd(()=>{fe(I.anchor)},[fe,I.anchor]);const tt=xe!==null&&Le!==null,[yt,Be]=$G(Se),Ae=Js(O);Pd(()=>{tt&&(Ae==null||Ae())},[tt,Ae]);const bt=(i=Je.arrow)===null||i===void 0?void 0:i.x,Fe=(o=Je.arrow)===null||o===void 0?void 0:o.y,at=((a=Je.arrow)===null||a===void 0?void 0:a.centerOffset)!==0,[jt,mt]=S.useState();Pd(()=>{N&&mt(window.getComputedStyle(N).zIndex)},[N]);const{hasParent:Zt,positionUpdateFns:on}=m9e(j3,d),se=!Zt;S.useLayoutEffect(()=>{if(!se)return on.add(Xe),()=>{on.delete(Xe)}},[se,on,Xe]),Pd(()=>{se&&tt&&Array.from(on).reverse().forEach(He=>requestAnimationFrame(He))},[se,tt,on]);const Ie={"data-side":yt,"data-align":Be,...D,ref:B,style:{...D.style,animation:tt?void 0:"none",opacity:(s=Je.hide)!==null&&s!==void 0&&s.referenceHidden?0:void 0}};return S.createElement("div",{ref:_e,"data-radix-popper-content-wrapper":"",style:{position:we,left:0,top:0,transform:tt?`translate3d(${Math.round(xe)}px, ${Math.round(Le)}px, 0)`:"translate3d(0, -200%, 0)",minWidth:"max-content",zIndex:jt,["--radix-popper-transform-origin"]:[(l=Je.transformOrigin)===null||l===void 0?void 0:l.x,(u=Je.transformOrigin)===null||u===void 0?void 0:u.y].join(" ")},dir:e.dir},S.createElement(p9e,{scope:d,placedSide:yt,onArrowChange:ne,arrowX:bt,arrowY:Fe,shouldHideArrow:at},se?S.createElement(g9e,{scope:d,hasParent:!0,positionUpdateFns:on},S.createElement(sc.div,Ie)):S.createElement(sc.div,Ie)))});function y9e(e){return e!==void 0}function b9e(e){return e!==null}const x9e=()=>({name:"anchorCssProperties",fn(e){const{rects:t,elements:n}=e,{width:r,height:i}=t.reference;return n.floating.style.setProperty("--radix-popper-anchor-width",`${r}px`),n.floating.style.setProperty("--radix-popper-anchor-height",`${i}px`),{}}}),S9e=e=>({name:"transformOrigin",options:e,fn(t){var n,r,i,o,a;const{placement:s,rects:l,middlewareData:u}=t,p=((n=u.arrow)===null||n===void 0?void 0:n.centerOffset)!==0,m=p?0:e.arrowWidth,y=p?0:e.arrowHeight,[b,w]=$G(s),E={start:"0%",center:"50%",end:"100%"}[w],_=((r=(i=u.arrow)===null||i===void 0?void 0:i.x)!==null&&r!==void 0?r:0)+m/2,k=((o=(a=u.arrow)===null||a===void 0?void 0:a.y)!==null&&o!==void 0?o:0)+y/2;let T="",L="";return b==="bottom"?(T=p?E:`${_}px`,L=`${-y}px`):b==="top"?(T=p?E:`${_}px`,L=`${l.floating.height+y}px`):b==="right"?(T=`${-y}px`,L=p?E:`${k}px`):b==="left"&&(T=`${l.floating.width+y}px`,L=p?E:`${k}px`),{data:{x:T,y:L}}}});function $G(e){const[t,n="center"]=e.split("-");return[t,n]}const w9e=d9e,C9e=h9e,_9e=v9e;function k9e(e,t){return S.useReducer((n,r)=>{const i=t[n][r];return i??n},e)}const FG=e=>{const{present:t,children:n}=e,r=E9e(t),i=typeof n=="function"?n({present:r.isPresent}):S.Children.only(n),o=ds(r.ref,i.ref);return typeof n=="function"||r.isPresent?S.cloneElement(i,{ref:o}):null};FG.displayName="Presence";function E9e(e){const[t,n]=S.useState(),r=S.useRef({}),i=S.useRef(e),o=S.useRef("none"),a=e?"mounted":"unmounted",[s,l]=k9e(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return S.useEffect(()=>{const u=Sx(r.current);o.current=s==="mounted"?u:"none"},[s]),Pd(()=>{const u=r.current,d=i.current;if(d!==e){const m=o.current,y=Sx(u);e?l("MOUNT"):y==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==y?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,l]),Pd(()=>{if(t){const u=p=>{const y=Sx(r.current).includes(p.animationName);p.target===t&&y&&Xs.flushSync(()=>l("ANIMATION_END"))},d=p=>{p.target===t&&(o.current=Sx(r.current))};return t.addEventListener("animationstart",d),t.addEventListener("animationcancel",u),t.addEventListener("animationend",u),()=>{t.removeEventListener("animationstart",d),t.removeEventListener("animationcancel",u),t.removeEventListener("animationend",u)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:S.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function Sx(e){return(e==null?void 0:e.animationName)||"none"}function P9e({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,i]=T9e({defaultProp:t,onChange:n}),o=e!==void 0,a=o?e:r,s=Js(n),l=S.useCallback(u=>{if(o){const p=typeof u=="function"?u(e):u;p!==e&&s(p)}else i(u)},[o,e,i,s]);return[a,l]}function T9e({defaultProp:e,onChange:t}){const n=S.useState(e),[r]=n,i=S.useRef(r),o=Js(t);return S.useEffect(()=>{i.current!==r&&(o(r),i.current=r)},[r,i,o]),n}const r6="rovingFocusGroup.onEntryFocus",M9e={bubbles:!1,cancelable:!0},qE="RovingFocusGroup",[Jk,BG,L9e]=wG(qE),[A9e,zG]=b2(qE,[L9e]),[O9e,R9e]=A9e(qE),I9e=S.forwardRef((e,t)=>S.createElement(Jk.Provider,{scope:e.__scopeRovingFocusGroup},S.createElement(Jk.Slot,{scope:e.__scopeRovingFocusGroup},S.createElement(D9e,pn({},e,{ref:t}))))),D9e=S.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:o,currentTabStopId:a,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:l,onEntryFocus:u,...d}=e,p=S.useRef(null),m=ds(t,p),y=CG(o),[b=null,w]=P9e({prop:a,defaultProp:s,onChange:l}),[E,_]=S.useState(!1),k=Js(u),T=BG(n),L=S.useRef(!1),[O,D]=S.useState(0);return S.useEffect(()=>{const I=p.current;if(I)return I.addEventListener(r6,k),()=>I.removeEventListener(r6,k)},[k]),S.createElement(O9e,{scope:n,orientation:r,dir:y,loop:i,currentTabStopId:b,onItemFocus:S.useCallback(I=>w(I),[w]),onItemShiftTab:S.useCallback(()=>_(!0),[]),onFocusableItemAdd:S.useCallback(()=>D(I=>I+1),[]),onFocusableItemRemove:S.useCallback(()=>D(I=>I-1),[])},S.createElement(sc.div,pn({tabIndex:E||O===0?-1:0,"data-orientation":r},d,{ref:m,style:{outline:"none",...e.style},onMouseDown:Kn(e.onMouseDown,()=>{L.current=!0}),onFocus:Kn(e.onFocus,I=>{const N=!L.current;if(I.target===I.currentTarget&&N&&!E){const W=new CustomEvent(r6,M9e);if(I.currentTarget.dispatchEvent(W),!W.defaultPrevented){const B=T().filter(V=>V.focusable),K=B.find(V=>V.active),ne=B.find(V=>V.id===b),$=[K,ne,...B].filter(Boolean).map(V=>V.ref.current);HG($)}}L.current=!1}),onBlur:Kn(e.onBlur,()=>_(!1))})))}),j9e="RovingFocusGroupItem",N9e=S.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:o,...a}=e,s=H7e(),l=o||s,u=R9e(j9e,n),d=u.currentTabStopId===l,p=BG(n),{onFocusableItemAdd:m,onFocusableItemRemove:y}=u;return S.useEffect(()=>{if(r)return m(),()=>y()},[r,m,y]),S.createElement(Jk.ItemSlot,{scope:n,id:l,focusable:r,active:i},S.createElement(sc.span,pn({tabIndex:d?0:-1,"data-orientation":u.orientation},a,{ref:t,onMouseDown:Kn(e.onMouseDown,b=>{r?u.onItemFocus(l):b.preventDefault()}),onFocus:Kn(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:Kn(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){u.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const w=B9e(b,u.orientation,u.dir);if(w!==void 0){b.preventDefault();let _=p().filter(k=>k.focusable).map(k=>k.ref.current);if(w==="last")_.reverse();else if(w==="prev"||w==="next"){w==="prev"&&_.reverse();const k=_.indexOf(b.currentTarget);_=u.loop?z9e(_,k+1):_.slice(k+1)}setTimeout(()=>HG(_))}})})))}),$9e={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function F9e(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function B9e(e,t,n){const r=F9e(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return $9e[r]}function HG(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function z9e(e,t){return e.map((n,r)=>e[(t+r)%e.length])}const H9e=I9e,W9e=N9e,U9e=["Enter"," "],V9e=["ArrowDown","PageUp","Home"],WG=["ArrowUp","PageDown","End"],G9e=[...V9e,...WG],m4="Menu",[e7,q9e,K9e]=wG(m4),[mp,UG]=b2(m4,[K9e,jG,zG]),KE=jG(),VG=zG(),[Y9e,v4]=mp(m4),[X9e,YE]=mp(m4),Z9e=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:o,modal:a=!0}=e,s=KE(t),[l,u]=S.useState(null),d=S.useRef(!1),p=Js(o),m=CG(i);return S.useEffect(()=>{const y=()=>{d.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>d.current=!1;return document.addEventListener("keydown",y,{capture:!0}),()=>{document.removeEventListener("keydown",y,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),S.createElement(w9e,s,S.createElement(Y9e,{scope:t,open:n,onOpenChange:p,content:l,onContentChange:u},S.createElement(X9e,{scope:t,onClose:S.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:d,dir:m,modal:a},r)))},Q9e=S.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=KE(n);return S.createElement(C9e,pn({},i,r,{ref:t}))}),J9e="MenuPortal",[UNe,e8e]=mp(J9e,{forceMount:void 0}),Hd="MenuContent",[t8e,GG]=mp(Hd),n8e=S.forwardRef((e,t)=>{const n=e8e(Hd,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,o=v4(Hd,e.__scopeMenu),a=YE(Hd,e.__scopeMenu);return S.createElement(e7.Provider,{scope:e.__scopeMenu},S.createElement(FG,{present:r||o.open},S.createElement(e7.Slot,{scope:e.__scopeMenu},a.modal?S.createElement(r8e,pn({},i,{ref:t})):S.createElement(i8e,pn({},i,{ref:t})))))}),r8e=S.forwardRef((e,t)=>{const n=v4(Hd,e.__scopeMenu),r=S.useRef(null),i=ds(t,r);return S.useEffect(()=>{const o=r.current;if(o)return LH(o)},[]),S.createElement(qG,pn({},e,{ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Kn(e.onFocusOutside,o=>o.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)}))}),i8e=S.forwardRef((e,t)=>{const n=v4(Hd,e.__scopeMenu);return S.createElement(qG,pn({},e,{ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)}))}),qG=S.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:o,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:p,onInteractOutside:m,onDismiss:y,disableOutsideScroll:b,...w}=e,E=v4(Hd,n),_=YE(Hd,n),k=KE(n),T=VG(n),L=q9e(n),[O,D]=S.useState(null),I=S.useRef(null),N=ds(t,I,E.onContentChange),W=S.useRef(0),B=S.useRef(""),K=S.useRef(0),ne=S.useRef(null),z=S.useRef("right"),$=S.useRef(0),V=b?NH:S.Fragment,X=b?{as:Fy,allowPinchZoom:!0}:void 0,Q=Y=>{var ee,fe;const _e=B.current+Y,we=L().filter(tt=>!tt.disabled),xe=document.activeElement,Le=(ee=we.find(tt=>tt.ref.current===xe))===null||ee===void 0?void 0:ee.textValue,Se=we.map(tt=>tt.textValue),Je=h8e(Se,_e,Le),Xe=(fe=we.find(tt=>tt.textValue===Je))===null||fe===void 0?void 0:fe.ref.current;(function tt(yt){B.current=yt,window.clearTimeout(W.current),yt!==""&&(W.current=window.setTimeout(()=>tt(""),1e3))})(_e),Xe&&setTimeout(()=>Xe.focus())};S.useEffect(()=>()=>window.clearTimeout(W.current),[]),O7e();const G=S.useCallback(Y=>{var ee,fe;return z.current===((ee=ne.current)===null||ee===void 0?void 0:ee.side)&&g8e(Y,(fe=ne.current)===null||fe===void 0?void 0:fe.area)},[]);return S.createElement(t8e,{scope:n,searchRef:B,onItemEnter:S.useCallback(Y=>{G(Y)&&Y.preventDefault()},[G]),onItemLeave:S.useCallback(Y=>{var ee;G(Y)||((ee=I.current)===null||ee===void 0||ee.focus(),D(null))},[G]),onTriggerLeave:S.useCallback(Y=>{G(Y)&&Y.preventDefault()},[G]),pointerGraceTimerRef:K,onPointerGraceIntentChange:S.useCallback(Y=>{ne.current=Y},[])},S.createElement(V,X,S.createElement(R7e,{asChild:!0,trapped:i,onMountAutoFocus:Kn(o,Y=>{var ee;Y.preventDefault(),(ee=I.current)===null||ee===void 0||ee.focus()}),onUnmountAutoFocus:a},S.createElement(M7e,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:p,onInteractOutside:m,onDismiss:y},S.createElement(H9e,pn({asChild:!0},T,{dir:_.dir,orientation:"vertical",loop:r,currentTabStopId:O,onCurrentTabStopIdChange:D,onEntryFocus:Kn(l,Y=>{_.isUsingKeyboardRef.current||Y.preventDefault()})}),S.createElement(_9e,pn({role:"menu","aria-orientation":"vertical","data-state":c8e(E.open),"data-radix-menu-content":"",dir:_.dir},k,w,{ref:N,style:{outline:"none",...w.style},onKeyDown:Kn(w.onKeyDown,Y=>{const fe=Y.target.closest("[data-radix-menu-content]")===Y.currentTarget,_e=Y.ctrlKey||Y.altKey||Y.metaKey,we=Y.key.length===1;fe&&(Y.key==="Tab"&&Y.preventDefault(),!_e&&we&&Q(Y.key));const xe=I.current;if(Y.target!==xe||!G9e.includes(Y.key))return;Y.preventDefault();const Se=L().filter(Je=>!Je.disabled).map(Je=>Je.ref.current);WG.includes(Y.key)&&Se.reverse(),d8e(Se)}),onBlur:Kn(e.onBlur,Y=>{Y.currentTarget.contains(Y.target)||(window.clearTimeout(W.current),B.current="")}),onPointerMove:Kn(e.onPointerMove,n7(Y=>{const ee=Y.target,fe=$.current!==Y.clientX;if(Y.currentTarget.contains(ee)&&fe){const _e=Y.clientX>$.current?"right":"left";z.current=_e,$.current=Y.clientX}}))})))))))}),t7="MenuItem",nD="menu.itemSelect",o8e=S.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...i}=e,o=S.useRef(null),a=YE(t7,e.__scopeMenu),s=GG(t7,e.__scopeMenu),l=ds(t,o),u=S.useRef(!1),d=()=>{const p=o.current;if(!n&&p){const m=new CustomEvent(nD,{bubbles:!0,cancelable:!0});p.addEventListener(nD,y=>r==null?void 0:r(y),{once:!0}),SG(p,m),m.defaultPrevented?u.current=!1:a.onClose()}};return S.createElement(a8e,pn({},i,{ref:l,disabled:n,onClick:Kn(e.onClick,d),onPointerDown:p=>{var m;(m=e.onPointerDown)===null||m===void 0||m.call(e,p),u.current=!0},onPointerUp:Kn(e.onPointerUp,p=>{var m;u.current||(m=p.currentTarget)===null||m===void 0||m.click()}),onKeyDown:Kn(e.onKeyDown,p=>{const m=s.searchRef.current!=="";n||m&&p.key===" "||U9e.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})}))}),a8e=S.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:i,...o}=e,a=GG(t7,n),s=VG(n),l=S.useRef(null),u=ds(t,l),[d,p]=S.useState(!1),[m,y]=S.useState("");return S.useEffect(()=>{const b=l.current;if(b){var w;y(((w=b.textContent)!==null&&w!==void 0?w:"").trim())}},[o.children]),S.createElement(e7.ItemSlot,{scope:n,disabled:r,textValue:i??m},S.createElement(W9e,pn({asChild:!0},s,{focusable:!r}),S.createElement(sc.div,pn({role:"menuitem","data-highlighted":d?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0},o,{ref:u,onPointerMove:Kn(e.onPointerMove,n7(b=>{r?a.onItemLeave(b):(a.onItemEnter(b),b.defaultPrevented||b.currentTarget.focus())})),onPointerLeave:Kn(e.onPointerLeave,n7(b=>a.onItemLeave(b))),onFocus:Kn(e.onFocus,()=>p(!0)),onBlur:Kn(e.onBlur,()=>p(!1))}))))}),s8e="MenuRadioGroup";mp(s8e,{value:void 0,onValueChange:()=>{}});const l8e="MenuItemIndicator";mp(l8e,{checked:!1});const u8e="MenuSub";mp(u8e);function c8e(e){return e?"open":"closed"}function d8e(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function f8e(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function h8e(e,t,n){const i=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,o=n?e.indexOf(n):-1;let a=f8e(e,Math.max(o,0));i.length===1&&(a=a.filter(u=>u!==n));const l=a.find(u=>u.toLowerCase().startsWith(i.toLowerCase()));return l!==n?l:void 0}function p8e(e,t){const{x:n,y:r}=e;let i=!1;for(let o=0,a=t.length-1;or!=d>r&&n<(u-s)*(r-l)/(d-l)+s&&(i=!i)}return i}function g8e(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return p8e(n,t)}function n7(e){return t=>t.pointerType==="mouse"?e(t):void 0}const m8e=Z9e,v8e=Q9e,y8e=n8e,b8e=o8e,KG="ContextMenu",[x8e,VNe]=b2(KG,[UG]),y4=UG(),[S8e,YG]=x8e(KG),w8e=e=>{const{__scopeContextMenu:t,children:n,onOpenChange:r,dir:i,modal:o=!0}=e,[a,s]=S.useState(!1),l=y4(t),u=Js(r),d=S.useCallback(p=>{s(p),u(p)},[u]);return S.createElement(S8e,{scope:t,open:a,onOpenChange:d,modal:o},S.createElement(m8e,pn({},l,{dir:i,open:a,onOpenChange:d,modal:o}),n))},C8e="ContextMenuTrigger",_8e=S.forwardRef((e,t)=>{const{__scopeContextMenu:n,disabled:r=!1,...i}=e,o=YG(C8e,n),a=y4(n),s=S.useRef({x:0,y:0}),l=S.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...s.current})}),u=S.useRef(0),d=S.useCallback(()=>window.clearTimeout(u.current),[]),p=m=>{s.current={x:m.clientX,y:m.clientY},o.onOpenChange(!0)};return S.useEffect(()=>d,[d]),S.useEffect(()=>void(r&&d()),[r,d]),S.createElement(S.Fragment,null,S.createElement(v8e,pn({},a,{virtualRef:l})),S.createElement(sc.span,pn({"data-state":o.open?"open":"closed","data-disabled":r?"":void 0},i,{ref:t,style:{WebkitTouchCallout:"none",...e.style},onContextMenu:r?e.onContextMenu:Kn(e.onContextMenu,m=>{d(),p(m),m.preventDefault()}),onPointerDown:r?e.onPointerDown:Kn(e.onPointerDown,wx(m=>{d(),u.current=window.setTimeout(()=>p(m),700)})),onPointerMove:r?e.onPointerMove:Kn(e.onPointerMove,wx(d)),onPointerCancel:r?e.onPointerCancel:Kn(e.onPointerCancel,wx(d)),onPointerUp:r?e.onPointerUp:Kn(e.onPointerUp,wx(d))})))}),k8e="ContextMenuContent",E8e=S.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=YG(k8e,n),o=y4(n),a=S.useRef(!1);return S.createElement(y8e,pn({},o,r,{ref:t,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:s=>{var l;(l=e.onCloseAutoFocus)===null||l===void 0||l.call(e,s),!s.defaultPrevented&&a.current&&s.preventDefault(),a.current=!1},onInteractOutside:s=>{var l;(l=e.onInteractOutside)===null||l===void 0||l.call(e,s),!s.defaultPrevented&&!i.modal&&(a.current=!0)},style:{...e.style,["--radix-context-menu-content-transform-origin"]:"var(--radix-popper-transform-origin)"}}))}),P8e=S.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=y4(n);return S.createElement(b8e,pn({},i,r,{ref:t}))});function wx(e){return t=>t.pointerType!=="mouse"?e(t):void 0}const T8e=w8e,M8e=_8e,L8e=E8e,ud=P8e,A8e=(e,t)=>e.image.uuid===t.image.uuid&&e.isSelected===t.isSelected,XG=S.memo(e=>{var z,$,V,X,Q,G,Y,ee;const t=Te(),{activeTabName:n,galleryImageObjectFit:r,galleryImageMinimumWidth:i,mayDeleteImage:o,shouldUseSingleGalleryColumn:a}=le(Hke),{image:s,isSelected:l}=e,{url:u,thumbnail:d,uuid:p,metadata:m}=s,[y,b]=S.useState(!1),w=a2(),{t:E}=De(),_=zE(),k=()=>b(!0),T=()=>b(!1),L=()=>{var fe,_e,we,xe;(_e=(fe=s.metadata)==null?void 0:fe.image)!=null&&_e.prompt&&_((xe=(we=s.metadata)==null?void 0:we.image)==null?void 0:xe.prompt),w({title:E("toast.promptSet"),status:"success",duration:2500,isClosable:!0})},O=()=>{s.metadata&&t(p2(s.metadata.image.seed)),w({title:E("toast.seedSet"),status:"success",duration:2500,isClosable:!0})},D=()=>{t(y0(s)),n!=="img2img"&&t(Uo("img2img")),w({title:E("toast.sentToImageToImage"),status:"success",duration:2500,isClosable:!0})},I=()=>{t(i4(s)),t(r4()),n!=="unifiedCanvas"&&t(Uo("unifiedCanvas")),w({title:E("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},N=()=>{m&&(t(sU(m)),t(yU(m))),w({title:E("toast.parametersSet"),status:"success",duration:2500,isClosable:!0})},W=async()=>{var fe;if((fe=m==null?void 0:m.image)!=null&&fe.init_image_path&&(await fetch(m.image.init_image_path)).ok){t(Uo("img2img")),t(F3e(m)),w({title:E("toast.initialImageSet"),status:"success",duration:2500,isClosable:!0});return}w({title:E("toast.initialImageNotSet"),description:E("toast.initialImageNotSetDesc"),status:"error",duration:2500,isClosable:!0})},B=()=>t(ZO(s)),K=fe=>{fe.dataTransfer.setData("invokeai/imageUuid",p),fe.dataTransfer.effectAllowed="move"},ne=()=>{t(ZO(s))};return g.jsxs(T8e,{onOpenChange:fe=>{t(eU(fe))},children:[g.jsx(M8e,{children:g.jsxs(ao,{position:"relative",className:"hoverable-image",onMouseOver:k,onMouseOut:T,userSelect:"none",draggable:!0,onDragStart:K,children:[g.jsx(jw,{className:"hoverable-image-image",objectFit:a?"contain":r,rounded:"md",src:d||u,loading:"lazy"}),g.jsx("div",{className:"hoverable-image-content",onClick:B,children:l&&g.jsx(ja,{width:"50%",height:"50%",as:jE,className:"hoverable-image-check"})}),y&&i>=64&&g.jsx("div",{className:"hoverable-image-delete-button",children:g.jsx(A3,{image:s,children:g.jsx(ls,{"aria-label":E("parameters.deleteImage"),icon:g.jsx($ke,{}),size:"xs",variant:"imageHoverIconButton",fontSize:14,isDisabled:!o})})})]},p)}),g.jsxs(L8e,{className:"hoverable-image-context-menu",sticky:"always",onInteractOutside:fe=>{fe.detail.originalEvent.preventDefault()},children:[g.jsx(ud,{onClickCapture:ne,children:E("parameters.openInViewer")}),g.jsx(ud,{onClickCapture:L,disabled:(($=(z=s==null?void 0:s.metadata)==null?void 0:z.image)==null?void 0:$.prompt)===void 0,children:E("parameters.usePrompt")}),g.jsx(ud,{onClickCapture:O,disabled:((X=(V=s==null?void 0:s.metadata)==null?void 0:V.image)==null?void 0:X.seed)===void 0,children:E("parameters.useSeed")}),g.jsx(ud,{onClickCapture:N,disabled:!["txt2img","img2img"].includes((G=(Q=s==null?void 0:s.metadata)==null?void 0:Q.image)==null?void 0:G.type),children:E("parameters.useAll")}),g.jsx(ud,{onClickCapture:W,disabled:((ee=(Y=s==null?void 0:s.metadata)==null?void 0:Y.image)==null?void 0:ee.type)!=="img2img",children:E("parameters.useInitImg")}),g.jsx(ud,{onClickCapture:D,children:E("parameters.sendToImg2Img")}),g.jsx(ud,{onClickCapture:I,children:E("parameters.sendToUnifiedCanvas")}),g.jsx(ud,{"data-warning":!0,children:g.jsx(A3,{image:s,children:g.jsx("p",{children:E("parameters.deleteImage")})})})]})]})},A8e);XG.displayName="HoverableImage";const Cx=320,rD=40,O8e={txt2img:{galleryMinWidth:200,galleryMaxWidth:500},img2img:{galleryMinWidth:200,galleryMaxWidth:500},unifiedCanvas:{galleryMinWidth:200,galleryMaxWidth:200},nodes:{galleryMinWidth:200,galleryMaxWidth:500},postprocess:{galleryMinWidth:200,galleryMaxWidth:500},training:{galleryMinWidth:200,galleryMaxWidth:500}},iD=400;function ZG(){const e=Te(),{t}=De(),{images:n,currentCategory:r,currentImageUuid:i,shouldPinGallery:o,shouldShowGallery:a,galleryScrollPosition:s,galleryImageMinimumWidth:l,galleryGridTemplateColumns:u,activeTabName:d,galleryImageObjectFit:p,shouldHoldGalleryOpen:m,shouldAutoSwitchToNewImages:y,areMoreImagesAvailable:b,galleryWidth:w,isLightboxOpen:E,isStaging:_,shouldEnableResize:k,shouldUseSingleGalleryColumn:T}=le(zke),{galleryMinWidth:L,galleryMaxWidth:O}=E?{galleryMinWidth:iD,galleryMaxWidth:iD}:O8e[d],[D,I]=S.useState(w>=Cx),[N,W]=S.useState(!1),[B,K]=S.useState(0),ne=S.useRef(null),z=S.useRef(null),$=S.useRef(null);S.useEffect(()=>{w>=Cx&&I(!1)},[w]);const V=()=>{e(E3e(!o)),e(Li(!0))},X=()=>{a?G():Q()},Q=()=>{e(Am(!0)),o&&e(Li(!0))},G=S.useCallback(()=>{e(Am(!1)),e(eU(!1)),e(P3e(z.current?z.current.scrollTop:0)),setTimeout(()=>o&&e(Li(!0)),400)},[e,o]),Y=()=>{e(Uk(r))},ee=xe=>{e(Gv(xe))},fe=()=>{m||($.current=window.setTimeout(()=>G(),500))},_e=()=>{$.current&&window.clearTimeout($.current)};Qe("g",()=>{X()},[a,o]),Qe("left",()=>{e(vE())},{enabled:!_||d!=="unifiedCanvas"},[_]),Qe("right",()=>{e(mE())},{enabled:!_||d!=="unifiedCanvas"},[_]),Qe("shift+g",()=>{V()},[o]),Qe("esc",()=>{e(Am(!1))},{enabled:()=>!o,preventDefault:!0},[o]);const we=32;return Qe("shift+up",()=>{if(l<256){const xe=Ce.clamp(l+we,32,256);e(Gv(xe))}},[l]),Qe("shift+down",()=>{if(l>32){const xe=Ce.clamp(l-we,32,256);e(Gv(xe))}},[l]),S.useEffect(()=>{z.current&&(z.current.scrollTop=s)},[s,a]),S.useEffect(()=>{function xe(Le){!o&&ne.current&&!ne.current.contains(Le.target)&&G()}return document.addEventListener("mousedown",xe),()=>{document.removeEventListener("mousedown",xe)}},[G,o]),g.jsx(bG,{nodeRef:ne,in:a||m,unmountOnExit:!0,timeout:200,classNames:"image-gallery-wrapper",children:g.jsxs("div",{className:"image-gallery-wrapper",style:{zIndex:o?1:100},"data-pinned":o,ref:ne,onMouseLeave:o?void 0:fe,onMouseEnter:o?void 0:_e,onMouseOver:o?void 0:_e,children:[g.jsxs(hG,{minWidth:L,maxWidth:o?O:window.innerWidth,className:"image-gallery-popup",handleStyles:{left:{width:"15px"}},enable:{left:k},size:{width:w,height:o?"100%":"100vh"},onResizeStart:(xe,Le,Se)=>{K(Se.clientHeight),Se.style.height=`${Se.clientHeight}px`,o&&(Se.style.position="fixed",Se.style.right="1rem",W(!0))},onResizeStop:(xe,Le,Se,Je)=>{const Xe=o?Ce.clamp(Number(w)+Je.width,L,Number(O)):Number(w)+Je.width;e(L3e(Xe)),Se.removeAttribute("data-resize-alert"),o&&(Se.style.position="relative",Se.style.removeProperty("right"),Se.style.setProperty("height",o?"100%":"100vh"),W(!1),e(Li(!0)))},onResize:(xe,Le,Se,Je)=>{const Xe=Ce.clamp(Number(w)+Je.width,L,Number(o?O:.95*window.innerWidth));Xe>=Cx&&!D?I(!0):XeXe-rD&&e(Gv(Xe-rD)),o&&(Xe>=O?Se.setAttribute("data-resize-alert","true"):Se.removeAttribute("data-resize-alert")),Se.style.height=`${B}px`},children:[g.jsxs("div",{className:"image-gallery-header",children:[g.jsx(Gi,{size:"sm",isAttached:!0,variant:"solid",className:"image-gallery-category-btn-group",children:D?g.jsxs(g.Fragment,{children:[g.jsx(On,{size:"sm","data-selected":r==="result",onClick:()=>e(ex("result")),children:t("gallery.generations")}),g.jsx(On,{size:"sm","data-selected":r==="user",onClick:()=>e(ex("user")),children:t("gallery.uploads")})]}):g.jsxs(g.Fragment,{children:[g.jsx(Ye,{"aria-label":t("gallery.showGenerations"),tooltip:t("gallery.showGenerations"),"data-selected":r==="result",icon:g.jsx(Eke,{}),onClick:()=>e(ex("result"))}),g.jsx(Ye,{"aria-label":t("gallery.showUploads"),tooltip:t("gallery.showUploads"),"data-selected":r==="user",icon:g.jsx(Bke,{}),onClick:()=>e(ex("user"))})]})}),g.jsxs("div",{className:"image-gallery-header-right-icons",children:[g.jsx(Ys,{isLazy:!0,trigger:"hover",placement:"left",triggerComponent:g.jsx(Ye,{size:"sm","aria-label":t("gallery.gallerySettings"),icon:g.jsx(BE,{}),className:"image-gallery-icon-btn",cursor:"pointer"}),children:g.jsxs("div",{className:"image-gallery-settings-popover",children:[g.jsxs("div",{children:[g.jsx(Dn,{value:l,onChange:ee,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize")}),g.jsx(Ye,{size:"sm","aria-label":t("gallery.galleryImageResetSize"),tooltip:t("gallery.galleryImageResetSize"),onClick:()=>e(Gv(64)),icon:g.jsx(f4,{}),"data-selected":o,styleClass:"image-gallery-icon-btn"})]}),g.jsx("div",{children:g.jsx(Gn,{label:t("gallery.maintainAspectRatio"),isChecked:p==="contain",onChange:()=>e(T3e(p==="contain"?"cover":"contain"))})}),g.jsx("div",{children:g.jsx(Gn,{label:t("gallery.autoSwitchNewImages"),isChecked:y,onChange:xe=>e(M3e(xe.target.checked))})}),g.jsx("div",{children:g.jsx(Gn,{label:t("gallery.singleColumnLayout"),isChecked:T,onChange:xe=>e(A3e(xe.target.checked))})})]})}),g.jsx(Ye,{size:"sm",className:"image-gallery-icon-btn","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:V,icon:o?g.jsx(pG,{}):g.jsx(gG,{})})]})]}),g.jsx("div",{className:"image-gallery-container",ref:z,children:n.length||b?g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"image-gallery",style:{gridTemplateColumns:u},children:n.map(xe=>{const{uuid:Le}=xe,Se=i===Le;return g.jsx(XG,{image:xe,isSelected:Se},Le)})}),g.jsx(ss,{onClick:Y,isDisabled:!b,className:"image-gallery-load-more-btn",children:t(b?"gallery.loadMore":"gallery.allImagesLoaded")})]}):g.jsxs("div",{className:"image-gallery-container-placeholder",children:[g.jsx(mG,{}),g.jsx("p",{children:t("gallery.noImagesInGallery")})]})})]}),N&&g.jsx("div",{style:{width:`${w}px`,height:"100%"}})]})})}var ns=function(e,t){return Number(e.toFixed(t))},R8e=function(e,t){return typeof e=="number"?e:t},mr=function(e,t,n){n&&typeof n=="function"&&n(e,t)},I8e=function(e){return-Math.cos(e*Math.PI)/2+.5},D8e=function(e){return e},j8e=function(e){return e*e},N8e=function(e){return e*(2-e)},$8e=function(e){return e<.5?2*e*e:-1+(4-2*e)*e},F8e=function(e){return e*e*e},B8e=function(e){return--e*e*e+1},z8e=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1},H8e=function(e){return e*e*e*e},W8e=function(e){return 1- --e*e*e*e},U8e=function(e){return e<.5?8*e*e*e*e:1-8*--e*e*e*e},V8e=function(e){return e*e*e*e*e},G8e=function(e){return 1+--e*e*e*e*e},q8e=function(e){return e<.5?16*e*e*e*e*e:1+16*--e*e*e*e*e},QG={easeOut:I8e,linear:D8e,easeInQuad:j8e,easeOutQuad:N8e,easeInOutQuad:$8e,easeInCubic:F8e,easeOutCubic:B8e,easeInOutCubic:z8e,easeInQuart:H8e,easeOutQuart:W8e,easeInOutQuart:U8e,easeInQuint:V8e,easeOutQuint:G8e,easeInOutQuint:q8e},JG=function(e){typeof e=="number"&&cancelAnimationFrame(e)},Fl=function(e){e.mounted&&(JG(e.animation),e.animate=!1,e.animation=null,e.velocity=null)};function eq(e,t,n,r){if(e.mounted){var i=new Date().getTime(),o=1;Fl(e),e.animation=function(){if(!e.mounted)return JG(e.animation);var a=new Date().getTime()-i,s=a/n,l=QG[t],u=l(s);a>=n?(r(o),e.animation=null):e.animation&&(r(u),requestAnimationFrame(e.animation))},requestAnimationFrame(e.animation)}}function K8e(e){var t=e.scale,n=e.positionX,r=e.positionY;return!(Number.isNaN(t)||Number.isNaN(n)||Number.isNaN(r))}function ff(e,t,n,r){var i=K8e(t);if(!(!e.mounted||!i)){var o=e.setTransformState,a=e.transformState,s=a.scale,l=a.positionX,u=a.positionY,d=t.scale-s,p=t.positionX-l,m=t.positionY-u;n===0?o(t.scale,t.positionX,t.positionY):eq(e,r,n,function(y){var b=s+d*y,w=l+p*y,E=u+m*y;o(b,w,E)})}}function Y8e(e,t,n){var r=e.offsetWidth,i=e.offsetHeight,o=t.offsetWidth,a=t.offsetHeight,s=o*n,l=a*n,u=r-s,d=i-l;return{wrapperWidth:r,wrapperHeight:i,newContentWidth:s,newDiffWidth:u,newContentHeight:l,newDiffHeight:d}}var X8e=function(e,t,n,r,i,o,a){var s=e>t?n*(a?1:.5):0,l=r>i?o*(a?1:.5):0,u=e-t-s,d=s,p=r-i-l,m=l;return{minPositionX:u,maxPositionX:d,minPositionY:p,maxPositionY:m}},XE=function(e,t){var n=e.wrapperComponent,r=e.contentComponent,i=e.setup.centerZoomedOut;if(!n||!r)throw new Error("Components are not mounted");var o=Y8e(n,r,t),a=o.wrapperWidth,s=o.wrapperHeight,l=o.newContentWidth,u=o.newDiffWidth,d=o.newContentHeight,p=o.newDiffHeight,m=X8e(a,l,u,s,d,p,Boolean(i));return m},r7=function(e,t,n,r){return r?en?ns(n,2):ns(e,2):ns(e,2)},t0=function(e,t){var n=XE(e,t);return e.bounds=n,n};function b4(e,t,n,r,i,o,a){var s=n.minPositionX,l=n.minPositionY,u=n.maxPositionX,d=n.maxPositionY,p=0,m=0;a&&(p=i,m=o);var y=r7(e,s-p,u+p,r),b=r7(t,l-m,d+m,r);return{x:y,y:b}}function x4(e,t,n,r,i,o){var a=e.transformState,s=a.scale,l=a.positionX,u=a.positionY,d=r-s;if(typeof t!="number"||typeof n!="number")return console.error("Mouse X and Y position were not provided!"),{x:l,y:u};var p=l-t*d,m=u-n*d,y=b4(p,m,i,o,0,0,null);return y}function w2(e,t,n,r,i){var o=i?r:0,a=t-o;return!Number.isNaN(n)&&e>=n?n:!Number.isNaN(t)&&e<=a?a:e}var oD=function(e,t){var n=e.setup.panning.excluded,r=e.isInitialized,i=e.wrapperComponent,o=t.target,a=i==null?void 0:i.contains(o),s=r&&o&&a;if(!s)return!1;var l=S4(o,n);return!l},aD=function(e){var t=e.isInitialized,n=e.isPanning,r=e.setup,i=r.panning.disabled,o=t&&n&&!i;return!!o},Z8e=function(e,t){var n=e.transformState,r=n.positionX,i=n.positionY;e.isPanning=!0;var o=t.clientX,a=t.clientY;e.startCoords={x:o-r,y:a-i}},Q8e=function(e,t){var n=t.touches,r=e.transformState,i=r.positionX,o=r.positionY;e.isPanning=!0;var a=n.length===1;if(a){var s=n[0].clientX,l=n[0].clientY;e.startCoords={x:s-i,y:l-o}}};function J8e(e){var t=e.transformState,n=t.positionX,r=t.positionY,i=t.scale,o=e.setup,a=o.disabled,s=o.limitToBounds,l=o.centerZoomedOut,u=e.wrapperComponent;if(!(a||!u||!e.bounds)){var d=e.bounds,p=d.maxPositionX,m=d.minPositionX,y=d.maxPositionY,b=d.minPositionY,w=n>p||ny||rp?u.offsetWidth:e.setup.minPositionX||0,k=r>y?u.offsetHeight:e.setup.minPositionY||0,T=x4(e,_,k,i,e.bounds,s||l),L=T.x,O=T.y;return{scale:i,positionX:w?L:n,positionY:E?O:r}}}function eEe(e,t,n,r,i){var o=e.setup.limitToBounds,a=e.wrapperComponent,s=e.bounds,l=e.transformState,u=l.scale,d=l.positionX,p=l.positionY;if(!(a===null||s===null||t===d&&n===p)){var m=b4(t,n,s,o,r,i,a),y=m.x,b=m.y;e.setTransformState(u,y,b)}}var tEe=function(e,t,n){var r=e.startCoords,i=e.transformState,o=e.setup.panning,a=o.lockAxisX,s=o.lockAxisY,l=i.positionX,u=i.positionY;if(!r)return{x:l,y:u};var d=t-r.x,p=n-r.y,m=a?l:d,y=s?u:p;return{x:m,y}},N3=function(e,t){var n=e.setup,r=e.transformState,i=r.scale,o=n.minScale,a=n.disablePadding;return t>0&&i>=o&&!a?t:0},nEe=function(e){var t=e.mounted,n=e.setup,r=n.disabled,i=n.velocityAnimation,o=e.transformState.scale,a=i.disabled,s=!a||o>1||!r||t;return!!s},rEe=function(e){var t=e.mounted,n=e.velocity,r=e.bounds,i=e.setup,o=i.disabled,a=i.velocityAnimation,s=e.transformState.scale,l=a.disabled,u=!l||s>1||!o||t;return!(!u||!n||!r)};function iEe(e,t){var n=e.setup.velocityAnimation,r=n.equalToMove,i=n.animationTime,o=n.sensitivity;return r?i*t*o:i}function sD(e,t,n,r,i,o,a,s,l,u){if(i){if(t>a&&n>a){var d=a+(e-a)*u;return d>l?l:do?o:d}}return r?t:r7(e,o,a,i)}function oEe(e,t){var n=1;return t?Math.min(n,e.offsetWidth/window.innerWidth):n}function aEe(e,t){var n=nEe(e);if(n){var r=e.lastMousePosition,i=e.velocityTime,o=e.setup,a=e.wrapperComponent,s=o.velocityAnimation.equalToMove,l=Date.now();if(r&&i&&a){var u=oEe(a,s),d=t.x-r.x,p=t.y-r.y,m=d/u,y=p/u,b=l-i,w=d*d+p*p,E=Math.sqrt(w)/b;e.velocity={velocityX:m,velocityY:y,total:E}}e.lastMousePosition=t,e.velocityTime=l}}function sEe(e){var t=e.velocity,n=e.bounds,r=e.setup,i=e.wrapperComponent,o=rEe(e);if(!(!o||!t||!n||!i)){var a=t.velocityX,s=t.velocityY,l=t.total,u=n.maxPositionX,d=n.minPositionX,p=n.maxPositionY,m=n.minPositionY,y=r.limitToBounds,b=r.alignmentAnimation,w=r.zoomAnimation,E=r.panning,_=E.lockAxisY,k=E.lockAxisX,T=w.animationType,L=b.sizeX,O=b.sizeY,D=b.velocityAlignmentTime,I=D,N=iEe(e,l),W=Math.max(N,I),B=N3(e,L),K=N3(e,O),ne=B*i.offsetWidth/100,z=K*i.offsetHeight/100,$=u+ne,V=d-ne,X=p+z,Q=m-z,G=e.transformState,Y=new Date().getTime();eq(e,T,W,function(ee){var fe=e.transformState,_e=fe.scale,we=fe.positionX,xe=fe.positionY,Le=new Date().getTime()-Y,Se=Le/I,Je=QG[b.animationType],Xe=1-Je(Math.min(1,Se)),tt=1-ee,yt=we+a*tt,Be=xe+s*tt,Ae=sD(yt,G.positionX,we,k,y,d,u,V,$,Xe),bt=sD(Be,G.positionY,xe,_,y,m,p,Q,X,Xe);(we!==yt||xe!==Be)&&e.setTransformState(_e,Ae,bt)})}}function lD(e,t){var n=e.transformState.scale;Fl(e),t0(e,n),window.TouchEvent!==void 0&&t instanceof TouchEvent?Q8e(e,t):Z8e(e,t)}function tq(e){var t=e.transformState.scale,n=e.setup,r=n.minScale,i=n.alignmentAnimation,o=i.disabled,a=i.sizeX,s=i.sizeY,l=i.animationTime,u=i.animationType,d=o||t.1&&p;m?sEe(e):tq(e)}}function ZE(e,t,n,r){var i=e.setup,o=i.minScale,a=i.maxScale,s=i.limitToBounds,l=w2(ns(t,2),o,a,0,!1),u=t0(e,l),d=x4(e,n,r,l,u,s),p=d.x,m=d.y;return{scale:l,positionX:p,positionY:m}}function nq(e,t,n){var r=e.transformState.scale,i=e.wrapperComponent,o=e.setup,a=o.minScale,s=o.limitToBounds,l=o.zoomAnimation,u=l.disabled,d=l.animationTime,p=l.animationType,m=u||r>=a;if((r>=1||s)&&tq(e),!(m||!i||!e.mounted)){var y=t||i.offsetWidth/2,b=n||i.offsetHeight/2,w=ZE(e,a,y,b);w&&ff(e,w,d,p)}}var Wd=function(){return Wd=Object.assign||function(t){for(var n,r=1,i=arguments.length;ra||Math.sign(n.deltaY)!==Math.sign(t.deltaY)||n.deltaY>0&&n.deltaYt.deltaY||Math.sign(n.deltaY)!==Math.sign(t.deltaY):!1},_Ee=function(e,t){var n=e.setup.pinch,r=n.disabled,i=n.excluded,o=e.isInitialized,a=t.target,s=o&&!r&&a;if(!s)return!1;var l=S4(a,i);return!l},kEe=function(e){var t=e.setup.pinch.disabled,n=e.isInitialized,r=e.pinchStartDistance,i=n&&!t&&r;return!!i},EEe=function(e,t,n){var r=n.getBoundingClientRect(),i=e.touches,o=ns(i[0].clientX-r.left,5),a=ns(i[0].clientY-r.top,5),s=ns(i[1].clientX-r.left,5),l=ns(i[1].clientY-r.top,5);return{x:(o+s)/2/t,y:(a+l)/2/t}},uq=function(e){return Math.sqrt(Math.pow(e.touches[0].pageX-e.touches[1].pageX,2)+Math.pow(e.touches[0].pageY-e.touches[1].pageY,2))},PEe=function(e,t){var n=e.pinchStartScale,r=e.pinchStartDistance,i=e.setup,o=i.maxScale,a=i.minScale,s=i.zoomAnimation,l=i.disablePadding,u=s.size,d=s.disabled;if(!n||r===null||!t)throw new Error("Pinch touches distance was not provided");if(t<0)return e.transformState.scale;var p=t/r,m=p*n;return w2(ns(m,2),a,o,u,!d&&!l)},TEe=160,MEe=100,LEe=function(e,t){var n=e.props,r=n.onWheelStart,i=n.onZoomStart;e.wheelStopEventTimer||(Fl(e),mr(Un(e),t,r),mr(Un(e),t,i))},AEe=function(e,t){var n=e.props,r=n.onWheel,i=n.onZoom,o=e.contentComponent,a=e.setup,s=e.transformState,l=s.scale,u=a.limitToBounds,d=a.centerZoomedOut,p=a.zoomAnimation,m=a.wheel,y=a.disablePadding,b=p.size,w=p.disabled,E=m.step;if(!o)throw new Error("Component not mounted");t.preventDefault(),t.stopPropagation();var _=SEe(t,null),k=wEe(e,_,E,!t.ctrlKey);if(l!==k){var T=t0(e,k),L=lq(t,o,l),O=w||b===0||d||y,D=u&&O,I=x4(e,L.x,L.y,k,T,D),N=I.x,W=I.y;e.previousWheelEvent=t,e.setTransformState(k,N,W),mr(Un(e),t,r),mr(Un(e),t,i)}},OEe=function(e,t){var n=e.props,r=n.onWheelStop,i=n.onZoomStop;i7(e.wheelAnimationTimer),e.wheelAnimationTimer=setTimeout(function(){e.mounted&&(nq(e,t.x,t.y),e.wheelAnimationTimer=null)},MEe);var o=CEe(e,t);o&&(i7(e.wheelStopEventTimer),e.wheelStopEventTimer=setTimeout(function(){e.mounted&&(e.wheelStopEventTimer=null,mr(Un(e),t,r),mr(Un(e),t,i))},TEe))},REe=function(e,t){var n=uq(t);e.pinchStartDistance=n,e.lastDistance=n,e.pinchStartScale=e.transformState.scale,e.isPanning=!1,Fl(e)},IEe=function(e,t){var n=e.contentComponent,r=e.pinchStartDistance,i=e.transformState.scale,o=e.setup,a=o.limitToBounds,s=o.centerZoomedOut,l=o.zoomAnimation,u=l.disabled,d=l.size;if(!(r===null||!n)){var p=EEe(t,i,n);if(!(!Number.isFinite(p.x)||!Number.isFinite(p.y))){var m=uq(t),y=PEe(e,m);if(y!==i){var b=t0(e,y),w=u||d===0||s,E=a&&w,_=x4(e,p.x,p.y,y,b,E),k=_.x,T=_.y;e.pinchMidpoint=p,e.lastDistance=m,e.setTransformState(y,k,T)}}}},DEe=function(e){var t=e.pinchMidpoint;e.velocity=null,e.lastDistance=null,e.pinchMidpoint=null,e.pinchStartScale=null,e.pinchStartDistance=null,nq(e,t==null?void 0:t.x,t==null?void 0:t.y)},cq=function(e,t){var n=e.props.onZoomStop,r=e.setup.doubleClick.animationTime;i7(e.doubleClickStopEventTimer),e.doubleClickStopEventTimer=setTimeout(function(){e.doubleClickStopEventTimer=null,mr(Un(e),t,n)},r)},jEe=function(e,t){var n=e.props,r=n.onZoomStart,i=n.onZoom,o=e.setup.doubleClick,a=o.animationTime,s=o.animationType;mr(Un(e),t,r),aq(e,a,s,function(){return mr(Un(e),t,i)}),cq(e,t)};function NEe(e,t){var n=e.setup,r=e.doubleClickStopEventTimer,i=e.transformState,o=e.contentComponent,a=i.scale,s=e.props,l=s.onZoomStart,u=s.onZoom,d=n.doubleClick,p=d.disabled,m=d.mode,y=d.step,b=d.animationTime,w=d.animationType;if(!p&&!r){if(m==="reset")return jEe(e,t);if(!o)return console.error("No ContentComponent found");var E=m==="zoomOut"?-1:1,_=iq(e,E,y);if(a!==_){mr(Un(e),t,l);var k=lq(t,o,a),T=ZE(e,_,k.x,k.y);if(!T)return console.error("Error during zoom event. New transformation state was not calculated.");mr(Un(e),t,u),ff(e,T,b,w),cq(e,t)}}}var $Ee=function(e,t){var n=e.isInitialized,r=e.setup,i=e.wrapperComponent,o=r.doubleClick,a=o.disabled,s=o.excluded,l=t.target,u=i==null?void 0:i.contains(l),d=n&&l&&u&&!a;if(!d)return!1;var p=S4(l,s);return!p},FEe=function(){function e(t){var n=this;this.mounted=!0,this.onChangeCallbacks=new Set,this.wrapperComponent=null,this.contentComponent=null,this.isInitialized=!1,this.bounds=null,this.previousWheelEvent=null,this.wheelStopEventTimer=null,this.wheelAnimationTimer=null,this.isPanning=!1,this.startCoords=null,this.lastTouch=null,this.distance=null,this.lastDistance=null,this.pinchStartDistance=null,this.pinchStartScale=null,this.pinchMidpoint=null,this.doubleClickStopEventTimer=null,this.velocity=null,this.velocityTime=null,this.lastMousePosition=null,this.animate=!1,this.animation=null,this.maxBounds=null,this.pressedKeys={},this.mount=function(){n.initializeWindowEvents()},this.unmount=function(){n.cleanupWindowEvents()},this.update=function(r){t0(n,n.transformState.scale),n.setup=dD(r)},this.initializeWindowEvents=function(){var r,i=o6(),o=(r=n.wrapperComponent)===null||r===void 0?void 0:r.ownerDocument,a=o==null?void 0:o.defaultView;a==null||a.addEventListener("mousedown",n.onPanningStart,i),a==null||a.addEventListener("mousemove",n.onPanning,i),a==null||a.addEventListener("mouseup",n.onPanningStop,i),o==null||o.addEventListener("mouseleave",n.clearPanning,i),a==null||a.addEventListener("keyup",n.setKeyUnPressed,i),a==null||a.addEventListener("keydown",n.setKeyPressed,i)},this.cleanupWindowEvents=function(){var r,i,o=o6(),a=(r=n.wrapperComponent)===null||r===void 0?void 0:r.ownerDocument,s=a==null?void 0:a.defaultView;s==null||s.removeEventListener("mousedown",n.onPanningStart,o),s==null||s.removeEventListener("mousemove",n.onPanning,o),s==null||s.removeEventListener("mouseup",n.onPanningStop,o),a==null||a.removeEventListener("mouseleave",n.clearPanning,o),s==null||s.removeEventListener("keyup",n.setKeyUnPressed,o),s==null||s.removeEventListener("keydown",n.setKeyPressed,o),document.removeEventListener("mouseleave",n.clearPanning,o),Fl(n),(i=n.observer)===null||i===void 0||i.disconnect()},this.handleInitializeWrapperEvents=function(r){var i=o6();r.addEventListener("wheel",n.onWheelZoom,i),r.addEventListener("dblclick",n.onDoubleClick,i),r.addEventListener("touchstart",n.onTouchPanningStart,i),r.addEventListener("touchmove",n.onTouchPanning,i),r.addEventListener("touchend",n.onTouchPanningStop,i)},this.handleInitialize=function(r){var i=n.setup.centerOnInit;n.applyTransformation(),i&&(n.setCenter(),n.observer=new ResizeObserver(function(){var o;n.setCenter(),(o=n.observer)===null||o===void 0||o.disconnect()}),n.observer.observe(r))},this.onWheelZoom=function(r){var i=n.setup.disabled;if(!i){var o=bEe(n,r);if(o){var a=n.isPressingKeys(n.setup.wheel.activationKeys);a&&(LEe(n,r),AEe(n,r),OEe(n,r))}}},this.onPanningStart=function(r){var i=n.setup.disabled,o=n.props.onPanningStart;if(!i){var a=oD(n,r);if(a){var s=n.isPressingKeys(n.setup.panning.activationKeys);s&&(r.preventDefault(),r.stopPropagation(),Fl(n),lD(n,r),mr(Un(n),r,o))}}},this.onPanning=function(r){var i=n.setup.disabled,o=n.props.onPanning;if(!i){var a=aD(n);if(a){var s=n.isPressingKeys(n.setup.panning.activationKeys);s&&(r.preventDefault(),r.stopPropagation(),uD(n,r.clientX,r.clientY),mr(Un(n),r,o))}}},this.onPanningStop=function(r){var i=n.props.onPanningStop;n.isPanning&&(lEe(n),mr(Un(n),r,i))},this.onPinchStart=function(r){var i=n.setup.disabled,o=n.props,a=o.onPinchingStart,s=o.onZoomStart;if(!i){var l=_Ee(n,r);l&&(REe(n,r),Fl(n),mr(Un(n),r,a),mr(Un(n),r,s))}},this.onPinch=function(r){var i=n.setup.disabled,o=n.props,a=o.onPinching,s=o.onZoom;if(!i){var l=kEe(n);l&&(r.preventDefault(),r.stopPropagation(),IEe(n,r),mr(Un(n),r,a),mr(Un(n),r,s))}},this.onPinchStop=function(r){var i=n.props,o=i.onPinchingStop,a=i.onZoomStop;n.pinchStartScale&&(DEe(n),mr(Un(n),r,o),mr(Un(n),r,a))},this.onTouchPanningStart=function(r){var i=n.setup.disabled,o=n.props.onPanningStart;if(!i){var a=oD(n,r);if(a){var s=n.lastTouch&&+new Date-n.lastTouch<200;if(s&&r.touches.length===1)n.onDoubleClick(r);else{n.lastTouch=+new Date,Fl(n);var l=r.touches,u=l.length===1,d=l.length===2;u&&(Fl(n),lD(n,r),mr(Un(n),r,o)),d&&n.onPinchStart(r)}}}},this.onTouchPanning=function(r){var i=n.setup.disabled,o=n.props.onPanning;if(n.isPanning&&r.touches.length===1){if(i)return;var a=aD(n);if(!a)return;r.preventDefault(),r.stopPropagation();var s=r.touches[0];uD(n,s.clientX,s.clientY),mr(Un(n),r,o)}else r.touches.length>1&&n.onPinch(r)},this.onTouchPanningStop=function(r){n.onPanningStop(r),n.onPinchStop(r)},this.onDoubleClick=function(r){var i=n.setup.disabled;if(!i){var o=$Ee(n,r);o&&NEe(n,r)}},this.clearPanning=function(r){n.isPanning&&n.onPanningStop(r)},this.setKeyPressed=function(r){n.pressedKeys[r.key]=!0},this.setKeyUnPressed=function(r){n.pressedKeys[r.key]=!1},this.isPressingKeys=function(r){return r.length?Boolean(r.find(function(i){return n.pressedKeys[i]})):!0},this.setTransformState=function(r,i,o){var a=n.props.onTransformed;if(!Number.isNaN(r)&&!Number.isNaN(i)&&!Number.isNaN(o)){r!==n.transformState.scale&&(n.transformState.previousScale=n.transformState.scale,n.transformState.scale=r),n.transformState.positionX=i,n.transformState.positionY=o;var s=Un(n);n.onChangeCallbacks.forEach(function(l){return l(s)}),mr(s,{scale:r,positionX:i,positionY:o},a),n.applyTransformation()}else console.error("Detected NaN set state values")},this.setCenter=function(){if(n.wrapperComponent&&n.contentComponent){var r=sq(n.transformState.scale,n.wrapperComponent,n.contentComponent);n.setTransformState(r.scale,r.positionX,r.positionY)}},this.handleTransformStyles=function(r,i,o){return n.props.customTransform?n.props.customTransform(r,i,o):vEe(r,i,o)},this.applyTransformation=function(){if(!(!n.mounted||!n.contentComponent)){var r=n.transformState,i=r.scale,o=r.positionX,a=r.positionY,s=n.handleTransformStyles(o,a,i);n.contentComponent.style.transform=s}},this.getContext=function(){return Un(n)},this.onChange=function(r){return n.onChangeCallbacks.has(r)||n.onChangeCallbacks.add(r),function(){n.onChangeCallbacks.delete(r)}},this.init=function(r,i){n.cleanupWindowEvents(),n.wrapperComponent=r,n.contentComponent=i,t0(n,n.transformState.scale),n.handleInitializeWrapperEvents(r),n.handleInitialize(i),n.initializeWindowEvents(),n.isInitialized=!0,mr(Un(n),void 0,n.props.onInit)},this.props=t,this.setup=dD(this.props),this.transformState=rq(this.props)}return e}(),QE=Ke.createContext(null),BEe=function(e,t){return typeof e=="function"?e(t):e},zEe=Ke.forwardRef(function(e,t){var n=S.useState(0),r=n[1],i=e.children,o=S.useRef(new FEe(e)).current,a=BEe(e.children,Un(o)),s=S.useCallback(function(){typeof i=="function"&&r(function(l){return l+1})},[i]);return S.useImperativeHandle(t,function(){return Un(o)},[o]),S.useEffect(function(){o.update(e)},[o,e]),S.useEffect(function(){return o.onChange(s)},[o,e,s]),Ke.createElement(QE.Provider,{value:o},a)});function HEe(e,t){t===void 0&&(t={});var n=t.insertAt;if(!(!e||typeof document>"u")){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",n==="top"&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var WEe=`.transform-component-module_wrapper__7HFJe { - position: relative; - width: -moz-fit-content; - width: fit-content; - height: -moz-fit-content; - height: fit-content; - overflow: hidden; - -webkit-touch-callout: none; /* iOS Safari */ - -webkit-user-select: none; /* Safari */ - -khtml-user-select: none; /* Konqueror HTML */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* Internet Explorer/Edge */ - user-select: none; - margin: 0; - padding: 0; -} -.transform-component-module_content__uCDPE { - display: flex; - flex-wrap: wrap; - width: -moz-fit-content; - width: fit-content; - height: -moz-fit-content; - height: fit-content; - margin: 0; - padding: 0; - transform-origin: 0% 0%; -} -.transform-component-module_content__uCDPE img { - pointer-events: none; -} -`,fD={wrapper:"transform-component-module_wrapper__7HFJe",content:"transform-component-module_content__uCDPE"};HEe(WEe);var UEe=function(e){var t=e.children,n=e.wrapperClass,r=n===void 0?"":n,i=e.contentClass,o=i===void 0?"":i,a=e.wrapperStyle,s=e.contentStyle,l=e.wrapperProps,u=l===void 0?{}:l,d=e.contentProps,p=d===void 0?{}:d,m=S.useContext(QE).init,y=S.useRef(null),b=S.useRef(null);return S.useEffect(function(){var w=y.current,E=b.current;w!==null&&E!==null&&m&&m(w,E)},[]),Ke.createElement("div",Wd({},u,{ref:y,className:"react-transform-wrapper ".concat(fD.wrapper," ").concat(r),style:a}),Ke.createElement("div",Wd({},p,{ref:b,className:"react-transform-component ".concat(fD.content," ").concat(o),style:s}),t))};Ke.forwardRef(function(e,t){var n=S.useRef(null),r=S.useContext(QE);return S.useEffect(function(){return r.onChange(function(i){if(n.current){var o=0,a=0;n.current.style.transform=r.handleTransformStyles(o,a,1/i.state.scale)}})},[r]),Ke.createElement("div",Wd({},e,{ref:yEe([n,t])}))});function VEe({image:e,alt:t,ref:n,styleClass:r}){const[i,o]=S.useState(0),[a,s]=S.useState(!1),l=()=>{o(i===-3?0:i-1)},u=()=>{o(i===3?0:i+1)},d=()=>{s(!a)};return g.jsx(zEe,{centerOnInit:!0,minScale:.1,initialPositionX:50,initialPositionY:50,children:({zoomIn:p,zoomOut:m,resetTransform:y,centerView:b})=>g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"lightbox-image-options",children:[g.jsx(Ye,{icon:g.jsx(U_e,{}),"aria-label":"Zoom In",tooltip:"Zoom In",onClick:()=>p(),fontSize:20}),g.jsx(Ye,{icon:g.jsx(V_e,{}),"aria-label":"Zoom Out",tooltip:"Zoom Out",onClick:()=>m(),fontSize:20}),g.jsx(Ye,{icon:g.jsx(H_e,{}),"aria-label":"Rotate Left",tooltip:"Rotate Left",onClick:l,fontSize:20}),g.jsx(Ye,{icon:g.jsx(W_e,{}),"aria-label":"Rotate Right",tooltip:"Rotate Right",onClick:u,fontSize:20}),g.jsx(Ye,{icon:g.jsx(l7e,{}),"aria-label":"Flip Image",tooltip:"Flip Image",onClick:d,fontSize:20}),g.jsx(Ye,{icon:g.jsx(f4,{}),"aria-label":"Reset",tooltip:"Reset",onClick:()=>{y(),o(0),s(!1)},fontSize:20})]}),g.jsx(UEe,{wrapperStyle:{width:"100%",height:"100%"},children:g.jsx("img",{style:{transform:`rotate(${i*90}deg) scaleX(${a?-1:1})`,width:"100%"},src:e,alt:t,ref:n,className:r||"",onLoad:()=>b(1,0,"easeOut")})})]})})}function GEe(){const e=Te(),t=le(m=>m.lightbox.isLightboxOpen),{viewerImageToDisplay:n,shouldShowImageDetails:r,isOnFirstImage:i,isOnLastImage:o}=le(fG),[a,s]=S.useState(!1),l=()=>{s(!0)},u=()=>{s(!1)},d=()=>{e(vE())},p=()=>{e(mE())};return Qe("Esc",()=>{t&&e(Om(!1))},[t]),g.jsxs("div",{className:"lightbox-container",children:[g.jsx(Ye,{icon:g.jsx(z_e,{}),"aria-label":"Exit Viewer",className:"lightbox-close-btn",onClick:()=>{e(Om(!1))},fontSize:20}),g.jsxs("div",{className:"lightbox-display-container",children:[g.jsxs("div",{className:"lightbox-preview-wrapper",children:[g.jsx(cG,{}),!r&&g.jsxs("div",{className:"current-image-next-prev-buttons",children:[g.jsx("div",{className:"next-prev-button-trigger-area prev-button-trigger-area",onMouseOver:l,onMouseOut:u,children:a&&!i&&g.jsx(ls,{"aria-label":"Previous image",icon:g.jsx(JV,{className:"next-prev-button"}),variant:"unstyled",onClick:d})}),g.jsx("div",{className:"next-prev-button-trigger-area next-button-trigger-area",onMouseOver:l,onMouseOut:u,children:a&&!o&&g.jsx(ls,{"aria-label":"Next image",icon:g.jsx(eG,{className:"next-prev-button"}),variant:"unstyled",onClick:p})})]}),n&&g.jsxs(g.Fragment,{children:[g.jsx(VEe,{image:n.url,styleClass:"lightbox-image"}),r&&g.jsx(HE,{image:n})]})]}),g.jsx(ZG,{})]})]})}function qEe(e){const{menuType:t="icon",iconTooltip:n,buttonText:r,menuItems:i,menuProps:o,menuButtonProps:a,menuListProps:s,menuItemProps:l}=e,u=()=>{const d=[];return i.forEach((p,m)=>{d.push(g.jsx(_H,{onClick:p.onClick,fontSize:"0.9rem",color:"var(--text-color-secondary)",backgroundColor:"var(--background-color-secondary)",_focus:{color:"var(--text-color)",backgroundColor:"var(--border-color)"},...l,children:p.item},m))}),d};return g.jsx(SH,{...o,children:({isOpen:d})=>g.jsxs(g.Fragment,{children:[g.jsx(EH,{as:t==="icon"?Ye:On,tooltip:n,icon:d?g.jsx(d7e,{}):g.jsx(c7e,{}),padding:t==="regular"?"0 0.5rem":0,backgroundColor:"var(--btn-base-color)",_hover:{backgroundColor:"var(--btn-base-color-hover)"},minWidth:"1rem",minHeight:"1rem",fontSize:"1.5rem",...a,children:t==="regular"&&r}),g.jsx(kH,{zIndex:15,padding:0,borderRadius:"0.5rem",backgroundColor:"var(--background-color-secondary)",color:"var(--text-color-secondary)",borderColor:"var(--border-color)",...s,children:u()})]})})}const KEe=lt(hr,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,cancelType:e.cancelOptions.cancelType,cancelAfter:e.cancelOptions.cancelAfter}),{memoizeOptions:{resultEqualityCheck:Ce.isEqual}});function JE(e){const t=Te(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:i,isConnected:o,isCancelable:a,currentIteration:s,totalIterations:l,cancelType:u,cancelAfter:d}=le(KEe),p=S.useCallback(()=>{t(h_e()),t(BC(null))},[t]),{t:m}=De(),y=d!==null;Qe("shift+x",()=>{(o||i)&&a&&p()},[o,i,a]),S.useEffect(()=>{d!==null&&dt(VR("immediate"))},{item:m("parameters.cancel.schedule"),onClick:()=>t(VR("scheduled"))}];return g.jsxs(Gi,{isAttached:!0,variant:"link",minHeight:"2.5rem",width:n,children:[u==="immediate"?g.jsx(Ye,{icon:g.jsx(f7e,{}),tooltip:m("parameters.cancel.immediate"),"aria-label":m("parameters.cancel.immediate"),isDisabled:!o||!i||!a,onClick:p,className:"cancel-btn",...r}):g.jsx(Ye,{icon:y?g.jsx(a3,{color:"var(--text-color)"}):g.jsx(i7e,{}),tooltip:m(y?"parameters.cancel.isScheduled":"parameters.cancel.schedule"),"aria-label":m(y?"parameters.cancel.isScheduled":"parameters.cancel.schedule"),isDisabled:!o||!i||!a||s===l,onClick:()=>{t(BC(y?null:s))},className:"cancel-btn",...r}),g.jsx(qEe,{menuItems:b,iconTooltip:m("parameters.cancel.setType"),menuButtonProps:{backgroundColor:"var(--destructive-color)",color:"var(--text-color)",minWidth:"1.5rem",minHeight:"1.5rem",_hover:{backgroundColor:"var(--destructive-color-hover)"}}})]})}const eP=e=>e.generation;lt(eP,({shouldRandomizeSeed:e,shouldGenerateVariations:t})=>e||t,{memoizeOptions:{resultEqualityCheck:Ce.isEqual}});const dq=lt([eP,hr,uG,Br],(e,t,n,r)=>{const{prompt:i,shouldGenerateVariations:o,seedWeights:a,initialImage:s,seed:l}=e,{isProcessing:u,isConnected:d}=t;let p=!0;const m=[];return(!i||Boolean(i.match(/^[\s\r\n]+$/)))&&(p=!1,m.push("Missing prompt")),r==="img2img"&&!s&&(p=!1,m.push("No initial image selected")),u&&(p=!1,m.push("System Busy")),d||(p=!1,m.push("System Disconnected")),o&&(!(yE(a)||a==="")||l===-1)&&(p=!1,m.push("Seed-Weights badly formatted.")),{isReady:p,reasonsWhyNotReady:m}},{memoizeOptions:{equalityCheck:Ce.isEqual,resultEqualityCheck:Ce.isEqual}});function tP(e){const{iconButton:t=!1,...n}=e,r=Te(),{isReady:i}=le(dq),o=le(Br),a=()=>{r(Wk(o))},{t:s}=De();return Qe(["ctrl+enter","meta+enter"],()=>{r(oU()),r(Wk(o))},{enabled:()=>i,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[i,o]),g.jsx("div",{style:{flexGrow:4},children:t?g.jsx(Ye,{"aria-label":s("parameters.invoke"),type:"submit",icon:g.jsx(Oke,{}),isDisabled:!i,onClick:a,className:"invoke-btn",tooltip:s("parameters.invoke"),tooltipProps:{placement:"bottom"},...n}):g.jsx(On,{"aria-label":s("parameters.invoke"),type:"submit",isDisabled:!i,onClick:a,className:"invoke-btn",...n,children:"Invoke"})})}const nP=lt([pp,fp,Br],(e,t,n)=>{const{shouldPinParametersPanel:r,shouldShowParametersPanel:i,shouldHoldParametersPanelOpen:o,shouldUseCanvasBetaLayout:a}=t,{shouldShowGallery:s,shouldPinGallery:l,shouldHoldGalleryOpen:u}=e,d=a&&n==="unifiedCanvas",p=!d&&!(i||o&&!r)&&["txt2img","img2img","unifiedCanvas"].includes(n),m=!(s||u&&!l)&&["txt2img","img2img","unifiedCanvas"].includes(n);return{shouldPinParametersPanel:r,shouldShowProcessButtons:!d&&(!r||!i),shouldShowParametersPanelButton:p,shouldShowParametersPanel:i,shouldShowGallery:s,shouldPinGallery:l,shouldShowGalleryButton:m}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),YEe=()=>{const e=Te(),{shouldShowParametersPanelButton:t,shouldShowProcessButtons:n,shouldPinParametersPanel:r}=le(nP),i=()=>{e(Fh(!0)),r&&setTimeout(()=>e(Li(!0)),400)};return t?g.jsxs("div",{className:"show-hide-button-options",children:[g.jsx(Ye,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":"Show Options Panel",onClick:i,children:g.jsx(FE,{})}),n&&g.jsxs(g.Fragment,{children:[g.jsx(tP,{iconButton:!0}),g.jsx(JE,{})]})]}):null};function XEe(e){return ut({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{d:"M14 1H3L2 2v11l1 1h11l1-1V2l-1-1zM8 13H3V2h5v11zm6 0H9V2h5v11z"}}]})(e)}const ZEe=lt(pp,e=>({resultImages:e.categories.result.images,userImages:e.categories.user.images})),QEe=()=>{const{resultImages:e,userImages:t}=le(ZEe);return n=>{const r=e.find(o=>o.uuid===n);if(r)return r;const i=t.find(o=>o.uuid===n);if(i)return i}},JEe=lt([fp,d4,Br],(e,t,n)=>{const{shouldShowDualDisplay:r,shouldPinParametersPanel:i}=e,{isLightboxOpen:o}=t;return{shouldShowDualDisplay:r,shouldPinParametersPanel:i,isLightboxOpen:o,shouldShowDualDisplayButton:["inpainting"].includes(n),activeTabName:n}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),rP=e=>{const t=Te(),{optionsPanel:n,children:r,styleClass:i}=e,{activeTabName:o,shouldShowDualDisplay:a,isLightboxOpen:s,shouldShowDualDisplayButton:l}=le(JEe),u=QEe(),d=()=>{t(F4e(!a)),t(Li(!0))},p=m=>{const y=m.dataTransfer.getData("invokeai/imageUuid"),b=u(y);b&&(o==="img2img"?t(y0(b)):o==="unifiedCanvas"&&t(i4(b)))};return g.jsx("div",{className:i?`workarea-wrapper ${i}`:"workarea-wrapper",children:g.jsxs("div",{className:"workarea-main",children:[n,g.jsxs("div",{className:"workarea-children-wrapper",onDrop:p,children:[r,l&&g.jsx(si,{label:"Toggle Split View",children:g.jsx("div",{className:"workarea-split-button","data-selected":a,onClick:d,children:g.jsx(XEe,{})})})]}),!s&&g.jsx(ZG,{})]})})},ePe=e=>{const{styleClass:t}=e,n=S.useContext(AE),r=()=>{n&&n()};return g.jsx("div",{className:`image-uploader-button-outer ${t}`,onClick:r,children:g.jsxs("div",{className:"image-upload-button",children:[g.jsx(h4,{}),g.jsx(jh,{size:"lg",children:"Click or Drag and Drop"})]})})},tPe=lt([pp,fp,Br],(e,t,n)=>{const{currentImage:r,intermediateImage:i}=e,{shouldShowImageDetails:o}=t;return{activeTabName:n,shouldShowImageDetails:o,hasAnImageToDisplay:r||i}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),fq=()=>{const{hasAnImageToDisplay:e,activeTabName:t}=le(tPe);return g.jsx("div",{className:"current-image-area","data-tab-name":t,children:e?g.jsxs(g.Fragment,{children:[g.jsx(cG,{}),g.jsx(Yke,{})]}):g.jsx("div",{className:"current-image-display-placeholder",children:g.jsx(u7e,{})})})},nPe=()=>{const e=S.useContext(AE);return g.jsx(Ye,{"aria-label":"Upload Image",tooltip:"Upload Image",icon:g.jsx(h4,{}),onClick:e||void 0})};function rPe(){const e=le(o=>o.generation.initialImage),{t}=De(),n=Te(),r=a2(),i=()=>{r({title:t("toast.parametersFailed"),description:t("toast.parametersFailedDesc"),status:"error",isClosable:!0}),n(aU())};return g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"init-image-preview-header",children:[g.jsx("h2",{children:t("parameters.initialImage")}),g.jsx(nPe,{})]}),e&&g.jsx("div",{className:"init-image-preview",children:g.jsx(jw,{fit:"contain",maxWidth:"100%",maxHeight:"100%",src:typeof e=="string"?e:e.url,onError:i})})]})}const iPe=()=>{const e=le(r=>r.generation.initialImage),{currentImage:t}=le(r=>r.gallery),n=e?g.jsx("div",{className:"image-to-image-area",children:g.jsx(rPe,{})}):g.jsx(ePe,{});return g.jsxs("div",{className:"workarea-split-view",children:[g.jsx("div",{className:"workarea-split-view-left",children:n}),t&&g.jsx("div",{className:"workarea-split-view-right",children:g.jsx(fq,{})})]})};var oo=(e=>(e[e.PROMPT=0]="PROMPT",e[e.GALLERY=1]="GALLERY",e[e.OTHER=2]="OTHER",e[e.SEED=3]="SEED",e[e.VARIATIONS=4]="VARIATIONS",e[e.UPSCALE=5]="UPSCALE",e[e.FACE_CORRECTION=6]="FACE_CORRECTION",e[e.IMAGE_TO_IMAGE=7]="IMAGE_TO_IMAGE",e[e.BOUNDING_BOX=8]="BOUNDING_BOX",e[e.SEAM_CORRECTION=9]="SEAM_CORRECTION",e[e.INFILL_AND_SCALING=10]="INFILL_AND_SCALING",e))(oo||{});const oPe=()=>{const{t:e}=De();return S.useMemo(()=>({[0]:{text:e("tooltip.feature.prompt"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[1]:{text:e("tooltip.feature.gallery"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[2]:{text:e("tooltip.feature.other"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[3]:{text:e("tooltip.feature.seed"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[4]:{text:e("tooltip.feature.variations"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[5]:{text:e("tooltip.feature.upscale"),href:"link/to/docs/feature1.html",guideImage:"asset/path.gif"},[6]:{text:e("tooltip.feature.faceCorrection"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[7]:{text:e("tooltip.feature.imageToImage"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[8]:{text:e("tooltip.feature.boundingBox"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[9]:{text:e("tooltip.feature.seamCorrection"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[10]:{text:e("tooltip.feature.infillAndScaling"),href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"}}),[e])},aPe=e=>oPe()[e],_a=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:i,formLabelProps:o,styleClass:a,...s}=e;return g.jsxs(sn,{isDisabled:n,width:r,className:`invokeai__switch-form-control ${a}`,display:"flex",columnGap:"1rem",alignItems:"center",justifyContent:"space-between",...i,children:[g.jsx(Sn,{className:"invokeai__switch-form-label",whiteSpace:"nowrap",marginRight:0,marginTop:.5,marginBottom:.5,fontSize:"sm",fontWeight:"bold",width:"auto",...o,children:t}),g.jsx(K8,{className:"invokeai__switch-root",...s})]})};function hq(){const e=le(i=>i.system.isGFPGANAvailable),t=le(i=>i.postprocessing.shouldRunFacetool),n=Te(),r=i=>n(q3e(i.target.checked));return g.jsx(_a,{isDisabled:!e,isChecked:t,onChange:r})}const pq=()=>{const e=Te(),t=le(i=>i.generation.seamless),n=i=>e(hU(i.target.checked)),{t:r}=De();return g.jsx(Ee,{gap:2,direction:"column",children:g.jsx(_a,{label:r("parameters.seamlessTiling"),fontSize:"md",isChecked:t,onChange:n})})},sPe=()=>g.jsx(Ee,{gap:2,direction:"column",children:g.jsx(pq,{})});function iP(){const e=le(o=>o.generation.horizontalSymmetrySteps),t=le(o=>o.generation.verticalSymmetrySteps),n=le(o=>o.generation.steps),r=Te(),{t:i}=De();return g.jsxs(g.Fragment,{children:[g.jsx(Dn,{label:i("parameters.hSymmetryStep"),value:e,onChange:o=>r(oR(o)),min:0,max:n,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>r(oR(0)),sliderMarkRightOffset:-6}),g.jsx(Dn,{label:i("parameters.vSymmetryStep"),value:t,onChange:o=>r(aR(o)),min:0,max:n,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>r(aR(0)),sliderMarkRightOffset:-6})]})}function oP(){const e=le(n=>n.generation.shouldUseSymmetry),t=Te();return g.jsx(_a,{isChecked:e,onChange:n=>t(H3e(n.target.checked))})}function lPe(){const e=Te(),t=le(r=>r.generation.perlin),{t:n}=De();return g.jsx(Dn,{label:n("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:r=>e(vk(r)),handleReset:()=>e(vk(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}function uPe(){const e=Te(),{t}=De(),n=le(i=>i.generation.shouldRandomizeSeed),r=i=>e(z3e(i.target.checked));return g.jsx(_a,{label:t("parameters.randomizeSeed"),isChecked:n,onChange:r})}const hD=/^-?(0\.)?\.?$/,lc=e=>{const{label:t,labelFontSize:n="sm",styleClass:r,isDisabled:i=!1,showStepper:o=!0,width:a,textAlign:s,isInvalid:l,value:u,onChange:d,min:p,max:m,isInteger:y=!0,formControlProps:b,formLabelProps:w,numberInputFieldProps:E,numberInputStepperProps:_,tooltipProps:k,...T}=e,[L,O]=S.useState(String(u));S.useEffect(()=>{!L.match(hD)&&u!==Number(L)&&O(String(u))},[u,L]);const D=N=>{O(N),N.match(hD)||d(y?Math.floor(Number(N)):Number(N))},I=N=>{const W=Ce.clamp(y?Math.floor(Number(N.target.value)):Number(N.target.value),p,m);O(String(W)),d(W)};return g.jsx(si,{...k,children:g.jsxs(sn,{isDisabled:i,isInvalid:l,className:r?`invokeai__number-input-form-control ${r}`:"invokeai__number-input-form-control",...b,children:[t&&g.jsx(Sn,{className:"invokeai__number-input-form-label",style:{display:t?"block":"none"},fontSize:n,fontWeight:"bold",marginRight:0,marginBottom:0,whiteSpace:"nowrap",...w,children:t}),g.jsxs(B8,{className:"invokeai__number-input-root",value:L,min:p,max:m,keepWithinRange:!0,clampValueOnBlur:!1,onChange:D,onBlur:I,width:a,...T,children:[g.jsx(z8,{className:"invokeai__number-input-field",textAlign:s,...E}),o&&g.jsxs("div",{className:"invokeai__number-input-stepper",children:[g.jsx(W8,{..._,className:"invokeai__number-input-stepper-button"}),g.jsx(H8,{..._,className:"invokeai__number-input-stepper-button"})]})]})]})})};function cPe(){const e=le(a=>a.generation.seed),t=le(a=>a.generation.shouldRandomizeSeed),n=le(a=>a.generation.shouldGenerateVariations),{t:r}=De(),i=Te(),o=a=>i(p2(a));return g.jsx(lc,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:CE,max:_E,isDisabled:t,isInvalid:e<0&&n,onChange:o,value:e,width:"auto"})}function dPe(){const e=Te(),t=le(i=>i.generation.shouldRandomizeSeed),{t:n}=De(),r=()=>e(p2(FV(CE,_E)));return g.jsx(ss,{size:"sm",isDisabled:t,onClick:r,padding:"0 1.5rem",children:g.jsx("p",{children:n("parameters.shuffle")})})}function fPe(){const e=Te(),t=le(r=>r.generation.threshold),{t:n}=De();return g.jsx(Dn,{label:n("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:r=>e(bk(r)),handleReset:()=>e(bk(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0,sliderMarkRightOffset:-4})}const aP=()=>g.jsxs(Ee,{gap:2,direction:"column",children:[g.jsx(uPe,{}),g.jsxs(Ee,{gap:2,children:[g.jsx(cPe,{}),g.jsx(dPe,{})]}),g.jsx(Ee,{gap:2,children:g.jsx(fPe,{})}),g.jsx(Ee,{gap:2,children:g.jsx(lPe,{})})]});function gq(){const e=le(i=>i.system.isESRGANAvailable),t=le(i=>i.postprocessing.shouldRunESRGAN),n=Te(),r=i=>n(G3e(i.target.checked));return g.jsx(_a,{isDisabled:!e,isChecked:t,onChange:r})}function sP(){const e=le(r=>r.generation.shouldGenerateVariations),t=Te(),n=r=>t(B3e(r.target.checked));return g.jsx(_a,{isChecked:e,width:"auto",onChange:n})}function qn(e){const{label:t="",styleClass:n,isDisabled:r=!1,fontSize:i="sm",width:o,size:a="sm",isInvalid:s,...l}=e;return g.jsxs(sn,{className:`input ${n}`,isInvalid:s,isDisabled:r,children:[t!==""&&g.jsx(Sn,{fontSize:i,fontWeight:"bold",alignItems:"center",whiteSpace:"nowrap",marginBottom:0,marginRight:0,className:"input-label",children:t}),g.jsx(E8,{...l,className:"input-entry",size:a,width:o})]})}function hPe(){const e=le(o=>o.generation.seedWeights),t=le(o=>o.generation.shouldGenerateVariations),{t:n}=De(),r=Te(),i=o=>r(pU(o.target.value));return g.jsx(qn,{label:n("parameters.seedWeights"),value:e,isInvalid:t&&!(yE(e)||e===""),isDisabled:!t,onChange:i})}function pPe(){const e=le(i=>i.generation.variationAmount),t=le(i=>i.generation.shouldGenerateVariations),{t:n}=De(),r=Te();return g.jsx(Dn,{label:n("parameters.variationAmount"),value:e,step:.01,min:0,max:1,isSliderDisabled:!t,isInputDisabled:!t,isResetDisabled:!t,onChange:i=>r(iR(i)),handleReset:()=>r(iR(.1)),withInput:!0,withReset:!0,withSliderMarks:!0})}const lP=()=>g.jsxs(Ee,{gap:2,direction:"column",children:[g.jsx(pPe,{}),g.jsx(hPe,{})]}),gPe=lt(hr,e=>e.shouldDisplayGuides),mPe=({children:e,feature:t})=>{const n=le(gPe),{text:r}=aPe(t);return n?g.jsxs(V8,{trigger:"hover",children:[g.jsx(U8,{children:g.jsx(ao,{children:e})}),g.jsxs(q8,{className:"guide-popover-content",maxWidth:"400px",onClick:i=>i.preventDefault(),cursor:"initial",children:[g.jsx(G8,{className:"guide-popover-arrow"}),g.jsx("div",{className:"guide-popover-guide-content",children:r})]})]}):null},vPe=Ze(({feature:e,icon:t=a7e},n)=>g.jsx(mPe,{feature:e,children:g.jsx(ao,{ref:n,children:g.jsx(ja,{marginBottom:"-.15rem",as:t})})}));function yPe(e){const{header:t,feature:n,content:r,additionalHeaderComponents:i}=e;return g.jsxs(rm,{className:"advanced-parameters-item",children:[g.jsx(tm,{className:"advanced-parameters-header",children:g.jsxs(Ee,{width:"100%",gap:"0.5rem",align:"center",children:[g.jsx(ao,{flexGrow:1,textAlign:"left",children:t}),i,n&&g.jsx(vPe,{feature:n}),g.jsx(nm,{})]})}),g.jsx(om,{className:"advanced-parameters-panel",children:r})]})}const n0=e=>{const{accordionInfo:t}=e,n=le(a=>a.system.openAccordions),r=Te(),i=a=>r(b4e(a)),o=()=>{const a=[];return t&&Object.keys(t).forEach(s=>{const{header:l,feature:u,content:d,additionalHeaderComponents:p}=t[s];a.push(g.jsx(yPe,{header:l,feature:u,content:d,additionalHeaderComponents:p},s))}),a};return g.jsx(c8,{defaultIndex:n,allowMultiple:!0,reduceMotion:!0,onChange:i,className:"advanced-parameters",children:o()})};function pD(){const e=Te(),t=le(o=>o.generation.cfgScale),n=le(o=>o.ui.shouldUseSliders),{t:r}=De(),i=o=>e(gk(o));return n?g.jsx(Dn,{label:r("parameters.cfgScale"),step:.5,min:1.01,max:30,onChange:i,handleReset:()=>e(gk(7.5)),value:t,sliderMarkRightOffset:-5,sliderNumberInputProps:{max:200},withInput:!0,withReset:!0,withSliderMarks:!0}):g.jsx(lc,{label:r("parameters.cfgScale"),step:.5,min:1.01,max:200,onChange:i,value:t,width:"auto",styleClass:"main-settings-block",textAlign:"center",isInteger:!1})}function gD(){const e=le(o=>o.generation.height),t=le(o=>o.ui.shouldUseSliders),n=le(Br),r=Te(),{t:i}=De();return t?g.jsx(Dn,{isSliderDisabled:n==="unifiedCanvas",isInputDisabled:n==="unifiedCanvas",isResetDisabled:n==="unifiedCanvas",label:i("parameters.height"),value:e,min:64,step:64,max:2048,onChange:o=>r(uS(o)),handleReset:()=>r(uS(512)),withInput:!0,withReset:!0,withSliderMarks:!0,sliderMarkRightOffset:-8,inputWidth:"6.2rem",sliderNumberInputProps:{max:15360}}):g.jsx(Jo,{isDisabled:n==="unifiedCanvas",label:i("parameters.height"),value:e,flexGrow:1,onChange:o=>r(uS(Number(o.target.value))),validValues:I5e,styleClass:"main-settings-block",width:"5.5rem"})}function mD(){const e=le(o=>o.generation.iterations),t=le(o=>o.ui.shouldUseSliders),n=Te(),{t:r}=De(),i=o=>n(QO(o));return t?g.jsx(Dn,{label:r("parameters.images"),step:1,min:1,max:16,onChange:i,handleReset:()=>n(QO(1)),value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderMarkRightOffset:-5,sliderNumberInputProps:{max:9999}}):g.jsx(lc,{label:r("parameters.images"),step:1,min:1,max:9999,onChange:i,value:e,width:"auto",labelFontSize:.5,styleClass:"main-settings-block",textAlign:"center"})}function vD(){const e=le(o=>o.generation.sampler),t=le(qV),n=Te(),{t:r}=De(),i=o=>n(fU(o.target.value));return g.jsx(Jo,{label:r("parameters.sampler"),value:e,onChange:i,validValues:t.format==="diffusers"?O5e:A5e,styleClass:"main-settings-block",minWidth:"9rem"})}function yD(){const e=Te(),t=le(a=>a.generation.steps),n=le(a=>a.ui.shouldUseSliders),{t:r}=De(),i=a=>{e(yk(a))},o=()=>{e(oU())};return n?g.jsx(Dn,{label:r("parameters.steps"),min:1,step:1,onChange:i,handleReset:()=>e(yk(20)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0,sliderMarkRightOffset:-6,sliderNumberInputProps:{max:9999}}):g.jsx(lc,{label:r("parameters.steps"),min:1,max:9999,step:1,onChange:i,value:t,width:"auto",styleClass:"main-settings-block",textAlign:"center",onBlur:o})}function bD(){const e=le(o=>o.generation.width),t=le(o=>o.ui.shouldUseSliders),n=le(Br),{t:r}=De(),i=Te();return t?g.jsx(Dn,{isSliderDisabled:n==="unifiedCanvas",isInputDisabled:n==="unifiedCanvas",isResetDisabled:n==="unifiedCanvas",label:r("parameters.width"),value:e,min:64,step:64,max:2048,onChange:o=>i(cS(o)),handleReset:()=>i(cS(512)),withInput:!0,withReset:!0,withSliderMarks:!0,sliderMarkRightOffset:-8,inputWidth:"6.2rem",inputReadOnly:!0,sliderNumberInputProps:{max:15360}}):g.jsx(Jo,{isDisabled:n==="unifiedCanvas",label:r("parameters.width"),value:e,flexGrow:1,onChange:o=>i(cS(Number(o.target.value))),validValues:R5e,styleClass:"main-settings-block",width:"5.5rem"})}function uP(){const{t:e}=De(),t=le(r=>r.ui.shouldUseSliders),n={main:{header:`${e("parameters.general")}`,feature:void 0,content:t?g.jsxs(Ee,{flexDir:"column",rowGap:2,children:[g.jsx(mD,{}),g.jsx(yD,{}),g.jsx(pD,{}),g.jsx(bD,{}),g.jsx(gD,{}),g.jsx(vD,{})]}):g.jsxs(Ee,{flexDirection:"column",rowGap:2,children:[g.jsxs(Ee,{gap:2,children:[g.jsx(mD,{}),g.jsx(yD,{}),g.jsx(pD,{})]}),g.jsxs(Ee,{children:[g.jsx(bD,{}),g.jsx(gD,{}),g.jsx(vD,{})]})]})}};return g.jsx(n0,{accordionInfo:n})}const bPe=lt(DE,({shouldLoopback:e})=>e),xPe=()=>{const e=Te(),t=le(bPe),{t:n}=De();return g.jsx(Ye,{"aria-label":n("parameters.toggleLoopback"),tooltip:n("parameters.toggleLoopback"),styleClass:"loopback-btn",asCheckbox:!0,isChecked:t,icon:g.jsx(Ike,{}),onClick:()=>{e(V3e(!t))}})},cP=()=>{const e=le(Br);return g.jsxs("div",{className:"process-buttons",children:[g.jsx(tP,{}),e==="img2img"&&g.jsx(xPe,{}),g.jsx(JE,{})]})},dP=()=>{const e=le(r=>r.generation.negativePrompt),t=Te(),{t:n}=De();return g.jsx(sn,{children:g.jsx(Z8,{id:"negativePrompt",name:"negativePrompt",value:e,onChange:r=>t(dU(r.target.value)),background:"var(--prompt-bg-color)",placeholder:n("parameters.negativePrompts"),_placeholder:{fontSize:"0.8rem"},borderColor:"var(--border-color)",_hover:{borderColor:"var(--border-color-light)"},_focusVisible:{borderColor:"var(--border-color-invalid)",boxShadow:"0 0 10px var(--box-shadow-color-invalid)"},fontSize:"0.9rem",color:"var(--text-color-secondary)"})})},SPe=lt([e=>e.generation,Br],(e,t)=>({prompt:e.prompt,activeTabName:t}),{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),fP=()=>{const e=Te(),{prompt:t,activeTabName:n}=le(SPe),{isReady:r}=le(dq),i=S.useRef(null),{t:o}=De(),a=l=>{e(cU(l.target.value))};Qe("alt+a",()=>{var l;(l=i.current)==null||l.focus()},[]);const s=l=>{l.key==="Enter"&&l.shiftKey===!1&&r&&(l.preventDefault(),e(Wk(n)))};return g.jsx("div",{className:"prompt-bar",children:g.jsx(sn,{isInvalid:t.length===0||Boolean(t.match(/^[\s\r\n]+$/)),children:g.jsx(Z8,{id:"prompt",name:"prompt",placeholder:o("parameters.promptPlaceholder"),size:"lg",value:t,onChange:a,onKeyDown:s,resize:"vertical",height:30,ref:i,_placeholder:{color:"var(--text-color-secondary)"}})})})},mq=""+new URL("logo-13003d72.png",import.meta.url).href,wPe=lt(fp,e=>{const{shouldShowParametersPanel:t,shouldHoldParametersPanelOpen:n,shouldPinParametersPanel:r,parametersPanelScrollPosition:i}=e;return{shouldShowParametersPanel:t,shouldHoldParametersPanelOpen:n,shouldPinParametersPanel:r,parametersPanelScrollPosition:i}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),hP=e=>{const t=Te(),{shouldShowParametersPanel:n,shouldHoldParametersPanelOpen:r,shouldPinParametersPanel:i}=le(wPe),o=S.useRef(null),a=S.useRef(null),s=S.useRef(null),{children:l}=e,{t:u}=De();Qe("o",()=>{t(Fh(!n)),i&&setTimeout(()=>t(Li(!0)),400)},[n,i]),Qe("esc",()=>{t(Fh(!1))},{enabled:()=>!i,preventDefault:!0},[i]),Qe("shift+o",()=>{y(),t(Li(!0))},[i]);const d=S.useCallback(()=>{i||(t(j4e(a.current?a.current.scrollTop:0)),t(Fh(!1)),t(N4e(!1)))},[t,i]),p=()=>{s.current=window.setTimeout(()=>d(),500)},m=()=>{s.current&&window.clearTimeout(s.current)},y=()=>{t($4e(!i)),t(Li(!0))};return S.useEffect(()=>{function b(w){o.current&&!o.current.contains(w.target)&&d()}return document.addEventListener("mousedown",b),()=>{document.removeEventListener("mousedown",b)}},[d]),g.jsx(bG,{nodeRef:o,in:n||r&&!i,unmountOnExit:!0,timeout:200,classNames:"parameters-panel-wrapper",children:g.jsx("div",{className:"parameters-panel-wrapper","data-pinned":i,tabIndex:1,ref:o,onMouseEnter:i?void 0:m,onMouseOver:i?void 0:m,style:{borderRight:i?"":"0.3rem solid var(--tab-list-text-inactive)"},children:g.jsx("div",{className:"parameters-panel-margin",children:g.jsxs("div",{className:"parameters-panel",ref:a,onMouseLeave:b=>{b.target!==a.current?m():!i&&p()},children:[g.jsx(si,{label:u("common.pinOptionsPanel"),children:g.jsx("div",{className:"parameters-panel-pin-button","data-selected":i,onClick:y,children:i?g.jsx(pG,{}):g.jsx(gG,{})})}),!i&&g.jsxs("div",{className:"invoke-ai-logo-wrapper",children:[g.jsx("img",{src:mq,alt:"invoke-ai-logo"}),g.jsxs("h1",{children:["invoke ",g.jsx("strong",{children:"ai"})]})]}),l]})})})})};function CPe(){const e=Te(),t=le(i=>i.generation.shouldFitToWidthHeight),n=i=>e(gU(i.target.checked)),{t:r}=De();return g.jsx(_a,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}function vq(e){const{t}=De(),{label:n=`${t("parameters.strength")}`,styleClass:r}=e,i=le(l=>l.generation.img2imgStrength),o=Te(),a=l=>o(mk(l)),s=()=>{o(mk(.75))};return g.jsx(Dn,{label:n,step:.01,min:.01,max:1,onChange:a,value:i,isInteger:!1,styleClass:r,withInput:!0,withSliderMarks:!0,inputWidth:"5.5rem",withReset:!0,handleReset:s})}function _Pe(){const{t:e}=De(),t={imageToImage:{header:`${e("parameters.imageToImage")}`,feature:void 0,content:g.jsxs(Ee,{gap:2,flexDir:"column",children:[g.jsx(vq,{label:e("parameters.img2imgStrength"),styleClass:"main-settings-block image-to-image-strength-main-option"}),g.jsx(CPe,{})]})}};return g.jsx(n0,{accordionInfo:t})}function kPe(){const{t:e}=De(),t={seed:{header:`${e("parameters.seed")}`,feature:oo.SEED,content:g.jsx(aP,{})},variations:{header:`${e("parameters.variations")}`,feature:oo.VARIATIONS,content:g.jsx(lP,{}),additionalHeaderComponents:g.jsx(sP,{})},face_restore:{header:`${e("parameters.faceRestoration")}`,feature:oo.FACE_CORRECTION,content:g.jsx(RE,{}),additionalHeaderComponents:g.jsx(hq,{})},upscale:{header:`${e("parameters.upscaling")}`,feature:oo.UPSCALE,content:g.jsx(IE,{}),additionalHeaderComponents:g.jsx(gq,{})},symmetry:{header:`${e("parameters.symmetry")}`,content:g.jsx(iP,{}),additionalHeaderComponents:g.jsx(oP,{})},other:{header:`${e("parameters.otherOptions")}`,feature:oo.OTHER,content:g.jsx(sPe,{})}};return g.jsxs(hP,{children:[g.jsxs(Ee,{flexDir:"column",rowGap:"0.5rem",children:[g.jsx(fP,{}),g.jsx(dP,{})]}),g.jsx(cP,{}),g.jsx(uP,{}),g.jsx(_Pe,{}),g.jsx(n0,{accordionInfo:t})]})}function EPe(){return g.jsx(rP,{optionsPanel:g.jsx(kPe,{}),children:g.jsx(iPe,{})})}const PPe=()=>g.jsx("div",{className:"workarea-single-view",children:g.jsx("div",{className:"text-to-image-area",children:g.jsx(fq,{})})});function TPe(e){const{active:t=!0,width:n="1rem",height:r="1.3rem",side:i="right"}=e;return g.jsxs(g.Fragment,{children:[i==="right"&&g.jsx(ao,{width:n,height:r,margin:"-0.5rem 0.5rem 0 0.5rem",borderLeft:t?"3px solid var(--subhook-color)":"3px solid var(--tab-hover-color)",borderBottom:t?"3px solid var(--subhook-color)":"3px solid var(--tab-hover-color)"}),i==="left"&&g.jsx(ao,{width:n,height:r,margin:"-0.5rem 0.5rem 0 0.5rem",borderRight:t?"3px solid var(--subhook-color)":"3px solid var(--tab-hover-color)",borderBottom:t?"3px solid var(--subhook-color)":"3px solid var(--tab-hover-color)"})]})}const MPe=lt([DE],({hiresFix:e,hiresStrength:t})=>({hiresFix:e,hiresStrength:t}),{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),LPe=()=>{const{hiresFix:e,hiresStrength:t}=le(MPe),n=Te(),{t:r}=De(),i=a=>{n(sR(a))},o=()=>{n(sR(.75))};return g.jsxs(Ee,{children:[g.jsx(TPe,{active:e}),g.jsx(Dn,{label:r("parameters.hiresStrength"),step:.01,min:.01,max:.99,onChange:i,value:t,isInteger:!1,withInput:!0,withSliderMarks:!0,inputWidth:"5.5rem",withReset:!0,handleReset:o,isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e,sliderMarkRightOffset:-7})]})},APe=()=>{const e=Te(),t=le(i=>i.postprocessing.hiresFix),{t:n}=De(),r=i=>e(bU(i.target.checked));return g.jsxs(Ee,{rowGap:"0.8rem",direction:"column",children:[g.jsx(_a,{label:n("parameters.hiresOptim"),fontSize:"md",isChecked:t,onChange:r}),g.jsx(LPe,{})]})},OPe=()=>g.jsxs(Ee,{gap:2,direction:"column",children:[g.jsx(pq,{}),g.jsx(APe,{})]});function RPe(){const{t:e}=De(),t={seed:{header:`${e("parameters.seed")}`,feature:oo.SEED,content:g.jsx(aP,{})},variations:{header:`${e("parameters.variations")}`,feature:oo.VARIATIONS,content:g.jsx(lP,{}),additionalHeaderComponents:g.jsx(sP,{})},face_restore:{header:`${e("parameters.faceRestoration")}`,feature:oo.FACE_CORRECTION,content:g.jsx(RE,{}),additionalHeaderComponents:g.jsx(hq,{})},upscale:{header:`${e("parameters.upscaling")}`,feature:oo.UPSCALE,content:g.jsx(IE,{}),additionalHeaderComponents:g.jsx(gq,{})},symmetry:{header:`${e("parameters.symmetry")}`,content:g.jsx(iP,{}),additionalHeaderComponents:g.jsx(oP,{})},other:{header:`${e("parameters.otherOptions")}`,feature:oo.OTHER,content:g.jsx(OPe,{})}};return g.jsxs(hP,{children:[g.jsxs(Ee,{flexDir:"column",rowGap:"0.5rem",children:[g.jsx(fP,{}),g.jsx(dP,{})]}),g.jsx(cP,{}),g.jsx(uP,{}),g.jsx(n0,{accordionInfo:t})]})}function IPe(){return g.jsx(rP,{optionsPanel:g.jsx(RPe,{}),children:g.jsx(PPe,{})})}var o7={},DPe={get exports(){return o7},set exports(e){o7=e}};/** - * @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 jPe=function(t){var n={},r=S,i=Th,o=Object.assign;function a(f){for(var h="https://reactjs.org/docs/error-decoder.html?invariant="+f,x=1;xae||M[U]!==R[ae]){var he=` -`+M[U].replace(" at new "," at ");return f.displayName&&he.includes("")&&(he=he.replace("",f.displayName)),he}while(1<=U&&0<=ae);break}}}finally{il=!1,Error.prepareStackTrace=x}return(f=f?f.displayName||f.name:"")?hu(f):""}var kp=Object.prototype.hasOwnProperty,wc=[],ol=-1;function ra(f){return{current:f}}function Mn(f){0>ol||(f.current=wc[ol],wc[ol]=null,ol--)}function wn(f,h){ol++,wc[ol]=f.current,f.current=h}var ia={},Hr=ra(ia),ui=ra(!1),oa=ia;function al(f,h){var x=f.type.contextTypes;if(!x)return ia;var P=f.stateNode;if(P&&P.__reactInternalMemoizedUnmaskedChildContext===h)return P.__reactInternalMemoizedMaskedChildContext;var M={},R;for(R in x)M[R]=h[R];return P&&(f=f.stateNode,f.__reactInternalMemoizedUnmaskedChildContext=h,f.__reactInternalMemoizedMaskedChildContext=M),M}function ci(f){return f=f.childContextTypes,f!=null}function Ss(){Mn(ui),Mn(Hr)}function yf(f,h,x){if(Hr.current!==ia)throw Error(a(168));wn(Hr,h),wn(ui,x)}function gu(f,h,x){var P=f.stateNode;if(h=h.childContextTypes,typeof P.getChildContext!="function")return x;P=P.getChildContext();for(var M in P)if(!(M in h))throw Error(a(108,N(f)||"Unknown",M));return o({},x,P)}function ws(f){return f=(f=f.stateNode)&&f.__reactInternalMemoizedMergedChildContext||ia,oa=Hr.current,wn(Hr,f),wn(ui,ui.current),!0}function bf(f,h,x){var P=f.stateNode;if(!P)throw Error(a(169));x?(f=gu(f,h,oa),P.__reactInternalMemoizedMergedChildContext=f,Mn(ui),Mn(Hr),wn(Hr,f)):Mn(ui),wn(ui,x)}var Ri=Math.clz32?Math.clz32:xf,Ep=Math.log,Pp=Math.LN2;function xf(f){return f>>>=0,f===0?32:31-(Ep(f)/Pp|0)|0}var sl=64,Lo=4194304;function ll(f){switch(f&-f){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 f&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return f&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return f}}function mu(f,h){var x=f.pendingLanes;if(x===0)return 0;var P=0,M=f.suspendedLanes,R=f.pingedLanes,U=x&268435455;if(U!==0){var ae=U&~M;ae!==0?P=ll(ae):(R&=U,R!==0&&(P=ll(R)))}else U=x&~M,U!==0?P=ll(U):R!==0&&(P=ll(R));if(P===0)return 0;if(h!==0&&h!==P&&!(h&M)&&(M=P&-P,R=h&-h,M>=R||M===16&&(R&4194240)!==0))return h;if(P&4&&(P|=x&16),h=f.entangledLanes,h!==0)for(f=f.entanglements,h&=P;0x;x++)h.push(f);return h}function $a(f,h,x){f.pendingLanes|=h,h!==536870912&&(f.suspendedLanes=0,f.pingedLanes=0),f=f.eventTimes,h=31-Ri(h),f[h]=x}function wf(f,h){var x=f.pendingLanes&~h;f.pendingLanes=h,f.suspendedLanes=0,f.pingedLanes=0,f.expiredLanes&=h,f.mutableReadLanes&=h,f.entangledLanes&=h,h=f.entanglements;var P=f.eventTimes;for(f=f.expirationTimes;0>=U,M-=U,uo=1<<32-Ri(h)+M|x<Ut?(ti=At,At=null):ti=At.sibling;var Qt=it(ge,At,ve[Ut],et);if(Qt===null){At===null&&(At=ti);break}f&&At&&Qt.alternate===null&&h(ge,At),ue=R(Qt,ue,Ut),It===null?Oe=Qt:It.sibling=Qt,It=Qt,At=ti}if(Ut===ve.length)return x(ge,At),zn&&ul(ge,Ut),Oe;if(At===null){for(;UtUt?(ti=At,At=null):ti=At.sibling;var As=it(ge,At,Qt.value,et);if(As===null){At===null&&(At=ti);break}f&&At&&As.alternate===null&&h(ge,At),ue=R(As,ue,Ut),It===null?Oe=As:It.sibling=As,It=As,At=ti}if(Qt.done)return x(ge,At),zn&&ul(ge,Ut),Oe;if(At===null){for(;!Qt.done;Ut++,Qt=ve.next())Qt=Rt(ge,Qt.value,et),Qt!==null&&(ue=R(Qt,ue,Ut),It===null?Oe=Qt:It.sibling=Qt,It=Qt);return zn&&ul(ge,Ut),Oe}for(At=P(ge,At);!Qt.done;Ut++,Qt=ve.next())Qt=Wn(At,ge,Ut,Qt.value,et),Qt!==null&&(f&&Qt.alternate!==null&&At.delete(Qt.key===null?Ut:Qt.key),ue=R(Qt,ue,Ut),It===null?Oe=Qt:It.sibling=Qt,It=Qt);return f&&At.forEach(function(ki){return h(ge,ki)}),zn&&ul(ge,Ut),Oe}function ma(ge,ue,ve,et){if(typeof ve=="object"&&ve!==null&&ve.type===d&&ve.key===null&&(ve=ve.props.children),typeof ve=="object"&&ve!==null){switch(ve.$$typeof){case l:e:{for(var Oe=ve.key,It=ue;It!==null;){if(It.key===Oe){if(Oe=ve.type,Oe===d){if(It.tag===7){x(ge,It.sibling),ue=M(It,ve.props.children),ue.return=ge,ge=ue;break e}}else if(It.elementType===Oe||typeof Oe=="object"&&Oe!==null&&Oe.$$typeof===T&&G0(Oe)===It.type){x(ge,It.sibling),ue=M(It,ve.props),ue.ref=za(ge,It,ve),ue.return=ge,ge=ue;break e}x(ge,It);break}else h(ge,It);It=It.sibling}ve.type===d?(ue=Cl(ve.props.children,ge.mode,et,ve.key),ue.return=ge,ge=ue):(et=Xf(ve.type,ve.key,ve.props,null,ge.mode,et),et.ref=za(ge,ue,ve),et.return=ge,ge=et)}return U(ge);case u:e:{for(It=ve.key;ue!==null;){if(ue.key===It)if(ue.tag===4&&ue.stateNode.containerInfo===ve.containerInfo&&ue.stateNode.implementation===ve.implementation){x(ge,ue.sibling),ue=M(ue,ve.children||[]),ue.return=ge,ge=ue;break e}else{x(ge,ue);break}else h(ge,ue);ue=ue.sibling}ue=_l(ve,ge.mode,et),ue.return=ge,ge=ue}return U(ge);case T:return It=ve._init,ma(ge,ue,It(ve._payload),et)}if(V(ve))return Ln(ge,ue,ve,et);if(D(ve))return gr(ge,ue,ve,et);Qi(ge,ve)}return typeof ve=="string"&&ve!==""||typeof ve=="number"?(ve=""+ve,ue!==null&&ue.tag===6?(x(ge,ue.sibling),ue=M(ue,ve),ue.return=ge,ge=ue):(x(ge,ue),ue=pg(ve,ge.mode,et),ue.return=ge,ge=ue),U(ge)):x(ge,ue)}return ma}var Rc=D2(!0),j2=D2(!1),Rf={},Io=ra(Rf),Ha=ra(Rf),ie=ra(Rf);function be(f){if(f===Rf)throw Error(a(174));return f}function me(f,h){wn(ie,h),wn(Ha,f),wn(Io,Rf),f=Q(h),Mn(Io),wn(Io,f)}function rt(){Mn(Io),Mn(Ha),Mn(ie)}function Lt(f){var h=be(ie.current),x=be(Io.current);h=G(x,f.type,h),x!==h&&(wn(Ha,f),wn(Io,h))}function en(f){Ha.current===f&&(Mn(Io),Mn(Ha))}var Nt=ra(0);function dn(f){for(var h=f;h!==null;){if(h.tag===13){var x=h.memoizedState;if(x!==null&&(x=x.dehydrated,x===null||xc(x)||vf(x)))return h}else if(h.tag===19&&h.memoizedProps.revealOrder!==void 0){if(h.flags&128)return h}else if(h.child!==null){h.child.return=h,h=h.child;continue}if(h===f)break;for(;h.sibling===null;){if(h.return===null||h.return===f)return null;h=h.return}h.sibling.return=h.return,h=h.sibling}return null}var If=[];function q0(){for(var f=0;fx?x:4,f(!0);var P=Ic.transition;Ic.transition={};try{f(!1),h()}finally{Gt=x,Ic.transition=P}}function zc(){return ji().memoizedState}function tv(f,h,x){var P=qr(f);if(x={lane:P,action:x,hasEagerState:!1,eagerState:null,next:null},Wc(f))Uc(h,x);else if(x=Oc(f,h,x,P),x!==null){var M=_i();No(x,f,P,M),Bf(x,h,P)}}function Hc(f,h,x){var P=qr(f),M={lane:P,action:x,hasEagerState:!1,eagerState:null,next:null};if(Wc(f))Uc(h,M);else{var R=f.alternate;if(f.lanes===0&&(R===null||R.lanes===0)&&(R=h.lastRenderedReducer,R!==null))try{var U=h.lastRenderedState,ae=R(U,x);if(M.hasEagerState=!0,M.eagerState=ae,q(ae,U)){var he=h.interleaved;he===null?(M.next=M,Af(h)):(M.next=he.next,he.next=M),h.interleaved=M;return}}catch{}finally{}x=Oc(f,h,M,P),x!==null&&(M=_i(),No(x,f,P,M),Bf(x,h,P))}}function Wc(f){var h=f.alternate;return f===Cn||h!==null&&h===Cn}function Uc(f,h){Df=an=!0;var x=f.pending;x===null?h.next=h:(h.next=x.next,x.next=h),f.pending=h}function Bf(f,h,x){if(x&4194240){var P=h.lanes;P&=f.pendingLanes,x|=P,h.lanes=x,vu(f,x)}}var ks={readContext:co,useCallback:xi,useContext:xi,useEffect:xi,useImperativeHandle:xi,useInsertionEffect:xi,useLayoutEffect:xi,useMemo:xi,useReducer:xi,useRef:xi,useState:xi,useDebugValue:xi,useDeferredValue:xi,useTransition:xi,useMutableSource:xi,useSyncExternalStore:xi,useId:xi,unstable_isNewReconciler:!1},A4={readContext:co,useCallback:function(f,h){return fi().memoizedState=[f,h===void 0?null:h],f},useContext:co,useEffect:F2,useImperativeHandle:function(f,h,x){return x=x!=null?x.concat([f]):null,Su(4194308,4,Or.bind(null,h,f),x)},useLayoutEffect:function(f,h){return Su(4194308,4,f,h)},useInsertionEffect:function(f,h){return Su(4,2,f,h)},useMemo:function(f,h){var x=fi();return h=h===void 0?null:h,f=f(),x.memoizedState=[f,h],f},useReducer:function(f,h,x){var P=fi();return h=x!==void 0?x(h):h,P.memoizedState=P.baseState=h,f={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:f,lastRenderedState:h},P.queue=f,f=f.dispatch=tv.bind(null,Cn,f),[P.memoizedState,f]},useRef:function(f){var h=fi();return f={current:f},h.memoizedState=f},useState:$2,useDebugValue:Q0,useDeferredValue:function(f){return fi().memoizedState=f},useTransition:function(){var f=$2(!1),h=f[0];return f=ev.bind(null,f[1]),fi().memoizedState=f,[h,f]},useMutableSource:function(){},useSyncExternalStore:function(f,h,x){var P=Cn,M=fi();if(zn){if(x===void 0)throw Error(a(407));x=x()}else{if(x=h(),ei===null)throw Error(a(349));xu&30||Z0(P,h,x)}M.memoizedState=x;var R={value:x,getSnapshot:h};return M.queue=R,F2(fl.bind(null,P,R,f),[f]),P.flags|=2048,$f(9,Fc.bind(null,P,R,x,h),void 0,null),x},useId:function(){var f=fi(),h=ei.identifierPrefix;if(zn){var x=Fa,P=uo;x=(P&~(1<<32-Ri(P)-1)).toString(32)+x,h=":"+h+"R"+x,x=Dc++,0ig&&(h.flags|=128,P=!0,qc(M,!1),h.lanes=4194304)}else{if(!P)if(f=dn(R),f!==null){if(h.flags|=128,P=!0,f=f.updateQueue,f!==null&&(h.updateQueue=f,h.flags|=4),qc(M,!0),M.tail===null&&M.tailMode==="hidden"&&!R.alternate&&!zn)return Si(h),null}else 2*Xn()-M.renderingStartTime>ig&&x!==1073741824&&(h.flags|=128,P=!0,qc(M,!1),h.lanes=4194304);M.isBackwards?(R.sibling=h.child,h.child=R):(f=M.last,f!==null?f.sibling=R:h.child=R,M.last=R)}return M.tail!==null?(h=M.tail,M.rendering=h,M.tail=h.sibling,M.renderingStartTime=Xn(),h.sibling=null,f=Nt.current,wn(Nt,P?f&1|2:f&1),h):(Si(h),null);case 22:case 23:return nd(),x=h.memoizedState!==null,f!==null&&f.memoizedState!==null!==x&&(h.flags|=8192),x&&h.mode&1?ho&1073741824&&(Si(h),Be&&h.subtreeFlags&6&&(h.flags|=8192)):Si(h),null;case 24:return null;case 25:return null}throw Error(a(156,h.tag))}function uv(f,h){switch(H0(h),h.tag){case 1:return ci(h.type)&&Ss(),f=h.flags,f&65536?(h.flags=f&-65537|128,h):null;case 3:return rt(),Mn(ui),Mn(Hr),q0(),f=h.flags,f&65536&&!(f&128)?(h.flags=f&-65537|128,h):null;case 5:return en(h),null;case 13:if(Mn(Nt),f=h.memoizedState,f!==null&&f.dehydrated!==null){if(h.alternate===null)throw Error(a(340));Mc()}return f=h.flags,f&65536?(h.flags=f&-65537|128,h):null;case 19:return Mn(Nt),null;case 4:return rt(),null;case 10:return Mf(h.type._context),null;case 22:case 23:return nd(),null;case 24:return null;default:return null}}var pl=!1,Ur=!1,N4=typeof WeakSet=="function"?WeakSet:Set,st=null;function Kc(f,h){var x=f.ref;if(x!==null)if(typeof x=="function")try{x(null)}catch(P){Qn(f,h,P)}else x.current=null}function fa(f,h,x){try{x()}catch(P){Qn(f,h,P)}}var Vp=!1;function Cu(f,h){for(Y(f.containerInfo),st=h;st!==null;)if(f=st,h=f.child,(f.subtreeFlags&1028)!==0&&h!==null)h.return=f,st=h;else for(;st!==null;){f=st;try{var x=f.alternate;if(f.flags&1024)switch(f.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var P=x.memoizedProps,M=x.memoizedState,R=f.stateNode,U=R.getSnapshotBeforeUpdate(f.elementType===f.type?P:sa(f.type,P),M);R.__reactInternalSnapshotBeforeUpdate=U}break;case 3:Be&&Xi(f.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(ae){Qn(f,f.return,ae)}if(h=f.sibling,h!==null){h.return=f.return,st=h;break}st=f.return}return x=Vp,Vp=!1,x}function wi(f,h,x){var P=h.updateQueue;if(P=P!==null?P.lastEffect:null,P!==null){var M=P=P.next;do{if((M.tag&f)===f){var R=M.destroy;M.destroy=void 0,R!==void 0&&fa(h,x,R)}M=M.next}while(M!==P)}}function Gp(f,h){if(h=h.updateQueue,h=h!==null?h.lastEffect:null,h!==null){var x=h=h.next;do{if((x.tag&f)===f){var P=x.create;x.destroy=P()}x=x.next}while(x!==h)}}function qp(f){var h=f.ref;if(h!==null){var x=f.stateNode;switch(f.tag){case 5:f=X(x);break;default:f=x}typeof h=="function"?h(f):h.current=f}}function cv(f){var h=f.alternate;h!==null&&(f.alternate=null,cv(h)),f.child=null,f.deletions=null,f.sibling=null,f.tag===5&&(h=f.stateNode,h!==null&&mt(h)),f.stateNode=null,f.return=null,f.dependencies=null,f.memoizedProps=null,f.memoizedState=null,f.pendingProps=null,f.stateNode=null,f.updateQueue=null}function Yc(f){return f.tag===5||f.tag===3||f.tag===4}function Ps(f){e:for(;;){for(;f.sibling===null;){if(f.return===null||Yc(f.return))return null;f=f.return}for(f.sibling.return=f.return,f=f.sibling;f.tag!==5&&f.tag!==6&&f.tag!==18;){if(f.flags&2||f.child===null||f.tag===4)continue e;f.child.return=f,f=f.child}if(!(f.flags&2))return f.stateNode}}function Kp(f,h,x){var P=f.tag;if(P===5||P===6)f=f.stateNode,h?zr(x,f,h):Ct(x,f);else if(P!==4&&(f=f.child,f!==null))for(Kp(f,h,x),f=f.sibling;f!==null;)Kp(f,h,x),f=f.sibling}function dv(f,h,x){var P=f.tag;if(P===5||P===6)f=f.stateNode,h?pt(x,f,h):Me(x,f);else if(P!==4&&(f=f.child,f!==null))for(dv(f,h,x),f=f.sibling;f!==null;)dv(f,h,x),f=f.sibling}var Ir=null,ha=!1;function pa(f,h,x){for(x=x.child;x!==null;)Vr(f,h,x),x=x.sibling}function Vr(f,h,x){if(qt&&typeof qt.onCommitFiberUnmount=="function")try{qt.onCommitFiberUnmount(cn,x)}catch{}switch(x.tag){case 5:Ur||Kc(x,h);case 6:if(Be){var P=Ir,M=ha;Ir=null,pa(f,h,x),Ir=P,ha=M,Ir!==null&&(ha?Bn(Ir,x.stateNode):rr(Ir,x.stateNode))}else pa(f,h,x);break;case 18:Be&&Ir!==null&&(ha?N0(Ir,x.stateNode):j0(Ir,x.stateNode));break;case 4:Be?(P=Ir,M=ha,Ir=x.stateNode.containerInfo,ha=!0,pa(f,h,x),Ir=P,ha=M):(Ae&&(P=x.stateNode.containerInfo,M=Na(P),bc(P,M)),pa(f,h,x));break;case 0:case 11:case 14:case 15:if(!Ur&&(P=x.updateQueue,P!==null&&(P=P.lastEffect,P!==null))){M=P=P.next;do{var R=M,U=R.destroy;R=R.tag,U!==void 0&&(R&2||R&4)&&fa(x,h,U),M=M.next}while(M!==P)}pa(f,h,x);break;case 1:if(!Ur&&(Kc(x,h),P=x.stateNode,typeof P.componentWillUnmount=="function"))try{P.props=x.memoizedProps,P.state=x.memoizedState,P.componentWillUnmount()}catch(ae){Qn(x,h,ae)}pa(f,h,x);break;case 21:pa(f,h,x);break;case 22:x.mode&1?(Ur=(P=Ur)||x.memoizedState!==null,pa(f,h,x),Ur=P):pa(f,h,x);break;default:pa(f,h,x)}}function Yp(f){var h=f.updateQueue;if(h!==null){f.updateQueue=null;var x=f.stateNode;x===null&&(x=f.stateNode=new N4),h.forEach(function(P){var M=rb.bind(null,f,P);x.has(P)||(x.add(P),P.then(M,M))})}}function Do(f,h){var x=h.deletions;if(x!==null)for(var P=0;P";case Jp:return":has("+(pv(f)||"")+")";case eg:return'[role="'+f.value+'"]';case tg:return'"'+f.value+'"';case Xc:return'[data-testname="'+f.value+'"]';default:throw Error(a(365))}}function Zc(f,h){var x=[];f=[f,0];for(var P=0;PM&&(M=U),P&=~R}if(P=M,P=Xn()-P,P=(120>P?120:480>P?480:1080>P?1080:1920>P?1920:3e3>P?3e3:4320>P?4320:1960*$4(P/1960))-P,10f?16:f,Tt===null)var P=!1;else{if(f=Tt,Tt=null,og=0,Wt&6)throw Error(a(331));var M=Wt;for(Wt|=4,st=f.current;st!==null;){var R=st,U=R.child;if(st.flags&16){var ae=R.deletions;if(ae!==null){for(var he=0;heXn()-vv?xl(f,0):mv|=x),pi(f,h)}function wv(f,h){h===0&&(f.mode&1?(h=Lo,Lo<<=1,!(Lo&130023424)&&(Lo=4194304)):h=1);var x=_i();f=la(f,h),f!==null&&($a(f,h,x),pi(f,x))}function B4(f){var h=f.memoizedState,x=0;h!==null&&(x=h.retryLane),wv(f,x)}function rb(f,h){var x=0;switch(f.tag){case 13:var P=f.stateNode,M=f.memoizedState;M!==null&&(x=M.retryLane);break;case 19:P=f.stateNode;break;default:throw Error(a(314))}P!==null&&P.delete(h),wv(f,x)}var Cv;Cv=function(f,h,x){if(f!==null)if(f.memoizedProps!==h.pendingProps||ui.current)Ji=!0;else{if(!(f.lanes&x)&&!(h.flags&128))return Ji=!1,D4(f,h,x);Ji=!!(f.flags&131072)}else Ji=!1,zn&&h.flags&1048576&&z0(h,Ar,h.index);switch(h.lanes=0,h.tag){case 2:var P=h.type;Wa(f,h),f=h.pendingProps;var M=al(h,Hr.current);Ac(h,x),M=Y0(null,h,P,f,M,x);var R=jc();return h.flags|=1,typeof M=="object"&&M!==null&&typeof M.render=="function"&&M.$$typeof===void 0?(h.tag=1,h.memoizedState=null,h.updateQueue=null,ci(P)?(R=!0,ws(h)):R=!1,h.memoizedState=M.state!==null&&M.state!==void 0?M.state:null,U0(h),M.updater=ua,h.stateNode=M,M._reactInternals=h,V0(h,P,f,x),h=ca(null,h,P,!0,R,x)):(h.tag=0,zn&&R&&Ii(h),Ni(null,h,M,x),h=h.child),h;case 16:P=h.elementType;e:{switch(Wa(f,h),f=h.pendingProps,M=P._init,P=M(P._payload),h.type=P,M=h.tag=fg(P),f=sa(P,f),M){case 0:h=iv(null,h,P,f,x);break e;case 1:h=K2(null,h,P,f,x);break e;case 11:h=U2(null,h,P,f,x);break e;case 14:h=hl(null,h,P,sa(P.type,f),x);break e}throw Error(a(306,P,""))}return h;case 0:return P=h.type,M=h.pendingProps,M=h.elementType===P?M:sa(P,M),iv(f,h,P,M,x);case 1:return P=h.type,M=h.pendingProps,M=h.elementType===P?M:sa(P,M),K2(f,h,P,M,x);case 3:e:{if(Y2(h),f===null)throw Error(a(387));P=h.pendingProps,R=h.memoizedState,M=R.element,A2(f,h),jp(h,P,null,x);var U=h.memoizedState;if(P=U.element,bt&&R.isDehydrated)if(R={element:P,isDehydrated:!1,cache:U.cache,pendingSuspenseBoundaries:U.pendingSuspenseBoundaries,transitions:U.transitions},h.updateQueue.baseState=R,h.memoizedState=R,h.flags&256){M=Vc(Error(a(423)),h),h=X2(f,h,P,x,M);break e}else if(P!==M){M=Vc(Error(a(424)),h),h=X2(f,h,P,x,M);break e}else for(bt&&(Oo=M0(h.stateNode.containerInfo),Zn=h,zn=!0,Zi=null,Ro=!1),x=j2(h,null,P,x),h.child=x;x;)x.flags=x.flags&-3|4096,x=x.sibling;else{if(Mc(),P===M){h=Es(f,h,x);break e}Ni(f,h,P,x)}h=h.child}return h;case 5:return Lt(h),f===null&&kf(h),P=h.type,M=h.pendingProps,R=f!==null?f.memoizedProps:null,U=M.children,Le(P,M)?U=null:R!==null&&Le(P,R)&&(h.flags|=32),q2(f,h),Ni(f,h,U,x),h.child;case 6:return f===null&&kf(h),null;case 13:return Z2(f,h,x);case 4:return me(h,h.stateNode.containerInfo),P=h.pendingProps,f===null?h.child=Rc(h,null,P,x):Ni(f,h,P,x),h.child;case 11:return P=h.type,M=h.pendingProps,M=h.elementType===P?M:sa(P,M),U2(f,h,P,M,x);case 7:return Ni(f,h,h.pendingProps,x),h.child;case 8:return Ni(f,h,h.pendingProps.children,x),h.child;case 12:return Ni(f,h,h.pendingProps.children,x),h.child;case 10:e:{if(P=h.type._context,M=h.pendingProps,R=h.memoizedProps,U=M.value,L2(h,P,U),R!==null)if(q(R.value,U)){if(R.children===M.children&&!ui.current){h=Es(f,h,x);break e}}else for(R=h.child,R!==null&&(R.return=h);R!==null;){var ae=R.dependencies;if(ae!==null){U=R.child;for(var he=ae.firstContext;he!==null;){if(he.context===P){if(R.tag===1){he=_s(-1,x&-x),he.tag=2;var We=R.updateQueue;if(We!==null){We=We.shared;var ct=We.pending;ct===null?he.next=he:(he.next=ct.next,ct.next=he),We.pending=he}}R.lanes|=x,he=R.alternate,he!==null&&(he.lanes|=x),Lf(R.return,x,h),ae.lanes|=x;break}he=he.next}}else if(R.tag===10)U=R.type===h.type?null:R.child;else if(R.tag===18){if(U=R.return,U===null)throw Error(a(341));U.lanes|=x,ae=U.alternate,ae!==null&&(ae.lanes|=x),Lf(U,x,h),U=R.sibling}else U=R.child;if(U!==null)U.return=R;else for(U=R;U!==null;){if(U===h){U=null;break}if(R=U.sibling,R!==null){R.return=U.return,U=R;break}U=U.return}R=U}Ni(f,h,M.children,x),h=h.child}return h;case 9:return M=h.type,P=h.pendingProps.children,Ac(h,x),M=co(M),P=P(M),h.flags|=1,Ni(f,h,P,x),h.child;case 14:return P=h.type,M=sa(P,h.pendingProps),M=sa(P.type,M),hl(f,h,P,M,x);case 15:return V2(f,h,h.type,h.pendingProps,x);case 17:return P=h.type,M=h.pendingProps,M=h.elementType===P?M:sa(P,M),Wa(f,h),h.tag=1,ci(P)?(f=!0,ws(h)):f=!1,Ac(h,x),R2(h,P,M),V0(h,P,M,x),ca(null,h,P,!0,f,x);case 19:return J2(f,h,x);case 22:return G2(f,h,x)}throw Error(a(156,h.tag))};function Bi(f,h){return Ec(f,h)}function Ua(f,h,x,P){this.tag=f,this.key=x,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=h,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=P,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function $o(f,h,x,P){return new Ua(f,h,x,P)}function _v(f){return f=f.prototype,!(!f||!f.isReactComponent)}function fg(f){if(typeof f=="function")return _v(f)?1:0;if(f!=null){if(f=f.$$typeof,f===w)return 11;if(f===k)return 14}return 2}function go(f,h){var x=f.alternate;return x===null?(x=$o(f.tag,h,f.key,f.mode),x.elementType=f.elementType,x.type=f.type,x.stateNode=f.stateNode,x.alternate=f,f.alternate=x):(x.pendingProps=h,x.type=f.type,x.flags=0,x.subtreeFlags=0,x.deletions=null),x.flags=f.flags&14680064,x.childLanes=f.childLanes,x.lanes=f.lanes,x.child=f.child,x.memoizedProps=f.memoizedProps,x.memoizedState=f.memoizedState,x.updateQueue=f.updateQueue,h=f.dependencies,x.dependencies=h===null?null:{lanes:h.lanes,firstContext:h.firstContext},x.sibling=f.sibling,x.index=f.index,x.ref=f.ref,x}function Xf(f,h,x,P,M,R){var U=2;if(P=f,typeof f=="function")_v(f)&&(U=1);else if(typeof f=="string")U=5;else e:switch(f){case d:return Cl(x.children,M,R,h);case p:U=8,M|=8;break;case m:return f=$o(12,x,h,M|2),f.elementType=m,f.lanes=R,f;case E:return f=$o(13,x,h,M),f.elementType=E,f.lanes=R,f;case _:return f=$o(19,x,h,M),f.elementType=_,f.lanes=R,f;case L:return hg(x,M,R,h);default:if(typeof f=="object"&&f!==null)switch(f.$$typeof){case y:U=10;break e;case b:U=9;break e;case w:U=11;break e;case k:U=14;break e;case T:U=16,P=null;break e}throw Error(a(130,f==null?f:typeof f,""))}return h=$o(U,x,h,M),h.elementType=f,h.type=P,h.lanes=R,h}function Cl(f,h,x,P){return f=$o(7,f,P,h),f.lanes=x,f}function hg(f,h,x,P){return f=$o(22,f,P,h),f.elementType=L,f.lanes=x,f.stateNode={isHidden:!1},f}function pg(f,h,x){return f=$o(6,f,null,h),f.lanes=x,f}function _l(f,h,x){return h=$o(4,f.children!==null?f.children:[],f.key,h),h.lanes=x,h.stateNode={containerInfo:f.containerInfo,pendingChildren:null,implementation:f.implementation},h}function Zf(f,h,x,P,M){this.tag=h,this.containerInfo=f,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=tt,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=kc(0),this.expirationTimes=kc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=kc(0),this.identifierPrefix=P,this.onRecoverableError=M,bt&&(this.mutableSourceEagerHydrationData=null)}function ib(f,h,x,P,M,R,U,ae,he){return f=new Zf(f,h,x,ae,he),h===1?(h=1,R===!0&&(h|=8)):h=0,R=$o(3,null,null,h),f.current=R,R.stateNode=f,R.memoizedState={element:P,isDehydrated:x,cache:null,transitions:null,pendingSuspenseBoundaries:null},U0(R),f}function kv(f){if(!f)return ia;f=f._reactInternals;e:{if(W(f)!==f||f.tag!==1)throw Error(a(170));var h=f;do{switch(h.tag){case 3:h=h.stateNode.context;break e;case 1:if(ci(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break e}}h=h.return}while(h!==null);throw Error(a(171))}if(f.tag===1){var x=f.type;if(ci(x))return gu(f,x,h)}return h}function Ev(f){var h=f._reactInternals;if(h===void 0)throw typeof f.render=="function"?Error(a(188)):(f=Object.keys(f).join(","),Error(a(268,f)));return f=ne(h),f===null?null:f.stateNode}function Qf(f,h){if(f=f.memoizedState,f!==null&&f.dehydrated!==null){var x=f.retryLane;f.retryLane=x!==0&&x=We&&R>=Rt&&M<=ct&&U<=it){f.splice(h,1);break}else if(P!==We||x.width!==he.width||itU){if(!(R!==Rt||x.height!==he.height||ctM)){We>P&&(he.width+=We-P,he.x=P),ctR&&(he.height+=Rt-R,he.y=R),itx&&(x=U)),U ")+` - -No matching component was found for: - `)+f.join(" > ")}return null},n.getPublicRootInstance=function(f){if(f=f.current,!f.child)return null;switch(f.child.tag){case 5:return X(f.child.stateNode);default:return f.child.stateNode}},n.injectIntoDevTools=function(f){if(f={bundleType:f.bundleType,version:f.version,rendererPackageName:f.rendererPackageName,rendererConfig:f.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:s.ReactCurrentDispatcher,findHostInstanceByFiber:gg,findFiberByHostInstance:f.findFiberByHostInstance||Pv,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")f=!1;else{var h=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(h.isDisabled||!h.supportsFiber)f=!0;else{try{cn=h.inject(f),qt=h}catch{}f=!!h.checkDCE}}return f},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(f,h,x,P){if(!se)throw Error(a(363));f=gv(f,h);var M=Mt(f,x,P).disconnect;return{disconnect:function(){M()}}},n.registerMutableSourceForHydration=function(f,h){var x=h._getVersion;x=x(h._source),f.mutableSourceEagerHydrationData==null?f.mutableSourceEagerHydrationData=[h,x]:f.mutableSourceEagerHydrationData.push(h,x)},n.runWithPriority=function(f,h){var x=Gt;try{return Gt=f,h()}finally{Gt=x}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(f,h,x,P){var M=h.current,R=_i(),U=qr(M);return x=kv(x),h.context===null?h.context=x:h.pendingContext=x,h=_s(R,U),h.payload={element:f},P=P===void 0?null:P,P!==null&&(h.callback=P),f=dl(M,h,U),f!==null&&(No(f,M,U,R),Dp(f,M,U)),U},n};(function(e){e.exports=jPe})(DPe);const NPe=S7(o7);var $3={},$Pe={get exports(){return $3},set exports(e){$3=e}},vp={};/** - * @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. - */vp.ConcurrentRoot=1;vp.ContinuousEventPriority=4;vp.DefaultEventPriority=16;vp.DiscreteEventPriority=1;vp.IdleEventPriority=536870912;vp.LegacyRoot=0;(function(e){e.exports=vp})($Pe);const xD={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let SD=!1,wD=!1;const pP=".react-konva-event",FPe=`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 -`,BPe=`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 -`,zPe={};function w4(e,t,n=zPe){if(!SD&&"zIndex"in t&&(console.warn(BPe),SD=!0),!wD&&t.draggable){var r=t.x!==void 0||t.y!==void 0,i=t.onDragEnd||t.onDragMove;r&&!i&&(console.warn(FPe),wD=!0)}for(var o in n)if(!xD[o]){var a=o.slice(0,2)==="on",s=n[o]!==t[o];if(a&&s){var l=o.substr(2).toLowerCase();l.substr(0,7)==="content"&&(l="content"+l.substr(7,1).toUpperCase()+l.substr(8)),e.off(l,n[o])}var u=!t.hasOwnProperty(o);u&&e.setAttr(o,void 0)}var d=t._useStrictMode,p={},m=!1;const y={};for(var o in t)if(!xD[o]){var a=o.slice(0,2)==="on",b=n[o]!==t[o];if(a&&b){var l=o.substr(2).toLowerCase();l.substr(0,7)==="content"&&(l="content"+l.substr(7,1).toUpperCase()+l.substr(8)),t[o]&&(y[l]=t[o])}!a&&(t[o]!==n[o]||d&&t[o]!==e.getAttr(o))&&(m=!0,p[o]=t[o])}m&&(e.setAttrs(p),hf(e));for(var l in y)e.on(l+pP,y[l])}function hf(e){if(!ft.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const yq={},HPe={};Qh.Node.prototype._applyProps=w4;function WPe(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),hf(e)}function UPe(e,t,n){let r=Qh[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=Qh.Group);const i={},o={};for(var a in t){var s=a.slice(0,2)==="on";s?o[a]=t[a]:i[a]=t[a]}const l=new r(i);return w4(l,o),l}function VPe(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function GPe(e,t,n){return!1}function qPe(e){return e}function KPe(){return null}function YPe(){return null}function XPe(e,t,n,r){return HPe}function ZPe(){}function QPe(e){}function JPe(e,t){return!1}function eTe(){return yq}function tTe(){return yq}const nTe=setTimeout,rTe=clearTimeout,iTe=-1;function oTe(e,t){return!1}const aTe=!1,sTe=!0,lTe=!0;function uTe(e,t){t.parent===e?t.moveToTop():e.add(t),hf(e)}function cTe(e,t){t.parent===e?t.moveToTop():e.add(t),hf(e)}function bq(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),hf(e)}function dTe(e,t,n){bq(e,t,n)}function fTe(e,t){t.destroy(),t.off(pP),hf(e)}function hTe(e,t){t.destroy(),t.off(pP),hf(e)}function pTe(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function gTe(e,t,n){}function mTe(e,t,n,r,i){w4(e,i,r)}function vTe(e){e.hide(),hf(e)}function yTe(e){}function bTe(e,t){(t.visible==null||t.visible)&&e.show()}function xTe(e,t){}function STe(e){}function wTe(){}const CTe=()=>$3.DefaultEventPriority,_Te=Object.freeze(Object.defineProperty({__proto__:null,appendChild:uTe,appendChildToContainer:cTe,appendInitialChild:WPe,cancelTimeout:rTe,clearContainer:STe,commitMount:gTe,commitTextUpdate:pTe,commitUpdate:mTe,createInstance:UPe,createTextInstance:VPe,detachDeletedInstance:wTe,finalizeInitialChildren:GPe,getChildHostContext:tTe,getCurrentEventPriority:CTe,getPublicInstance:qPe,getRootHostContext:eTe,hideInstance:vTe,hideTextInstance:yTe,idlePriority:Th.unstable_IdlePriority,insertBefore:bq,insertInContainerBefore:dTe,isPrimaryRenderer:aTe,noTimeout:iTe,now:Th.unstable_now,prepareForCommit:KPe,preparePortalMount:YPe,prepareUpdate:XPe,removeChild:fTe,removeChildFromContainer:hTe,resetAfterCommit:ZPe,resetTextContent:QPe,run:Th.unstable_runWithPriority,scheduleTimeout:nTe,shouldDeprioritizeSubtree:JPe,shouldSetTextContent:oTe,supportsMutation:lTe,unhideInstance:bTe,unhideTextInstance:xTe,warnsIfNotActing:sTe},Symbol.toStringTag,{value:"Module"}));var kTe=Object.defineProperty,ETe=Object.defineProperties,PTe=Object.getOwnPropertyDescriptors,CD=Object.getOwnPropertySymbols,TTe=Object.prototype.hasOwnProperty,MTe=Object.prototype.propertyIsEnumerable,_D=(e,t,n)=>t in e?kTe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kD=(e,t)=>{for(var n in t||(t={}))TTe.call(t,n)&&_D(e,n,t[n]);if(CD)for(var n of CD(t))MTe.call(t,n)&&_D(e,n,t[n]);return e},LTe=(e,t)=>ETe(e,PTe(t));function xq(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const i=xq(r,t,n);if(i)return i;r=t?null:r.sibling}}function Sq(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const gP=Sq(S.createContext(null));class wq extends S.Component{render(){return S.createElement(gP.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:ATe,ReactCurrentDispatcher:OTe}=S.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function RTe(){const e=S.useContext(gP);if(!e)throw new Error("its-fine: useFiber must be called within a !");const t=S.useId();return S.useMemo(()=>{var r;return(r=ATe.current)!=null?r:xq(e,!1,i=>{let o=i.memoizedState;for(;o;){if(o.memoizedState===t)return!0;o=o.next}})},[e,t])}function ITe(){var e,t;const n=RTe(),[r]=S.useState(()=>new Map);r.clear();let i=n;for(;i;){const o=(e=i.type)==null?void 0:e._context;o&&o!==gP&&!r.has(o)&&r.set(o,(t=OTe.current)==null?void 0:t.readContext(Sq(o))),i=i.return}return S.useMemo(()=>Array.from(r.keys()).reduce((o,a)=>s=>S.createElement(o,null,S.createElement(a.Provider,LTe(kD({},s),{value:r.get(a)}))),o=>S.createElement(wq,kD({},o))),[r])}function DTe(e){const t=Ke.useRef();return Ke.useLayoutEffect(()=>{t.current=e}),t.current}const jTe=e=>{const t=Ke.useRef(),n=Ke.useRef(),r=Ke.useRef(),i=DTe(e),o=ITe(),a=s=>{const{forwardedRef:l}=e;l&&(typeof l=="function"?l(s):l.current=s)};return Ke.useLayoutEffect(()=>(n.current=new Qh.Stage({width:e.width,height:e.height,container:t.current}),a(n.current),r.current=w1.createContainer(n.current,$3.LegacyRoot,!1,null),w1.updateContainer(Ke.createElement(o,{},e.children),r.current),()=>{Qh.isBrowser&&(a(null),w1.updateContainer(null,r.current,null),n.current.destroy())}),[]),Ke.useLayoutEffect(()=>{a(n.current),w4(n.current,e,i),w1.updateContainer(Ke.createElement(o,{},e.children),r.current,null)}),Ke.createElement("div",{ref:t,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},n1="Layer",uc="Group",cc="Rect",ah="Circle",F3="Line",Cq="Image",NTe="Transformer",w1=NPe(_Te);w1.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:Ke.version,rendererPackageName:"react-konva"});const $Te=Ke.forwardRef((e,t)=>Ke.createElement(wq,{},Ke.createElement(jTe,{...e,forwardedRef:t}))),FTe=lt([rn,Lr],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),BTe=()=>{const e=Te(),{tool:t,isStaging:n,isMovingBoundingBox:r}=le(FTe);return{handleDragStart:S.useCallback(()=>{(t==="move"||n)&&!r&&e(S3(!0))},[e,r,n,t]),handleDragMove:S.useCallback(i=>{if(!((t==="move"||n)&&!r))return;const o={x:i.target.x(),y:i.target.y()};e(XW(o))},[e,r,n,t]),handleDragEnd:S.useCallback(()=>{(t==="move"||n)&&!r&&e(S3(!1))},[e,r,n,t])}},zTe=lt([rn,Br,Lr],(e,t,n)=>{const{cursorPosition:r,shouldLockBoundingBox:i,shouldShowBoundingBox:o,tool:a,isMaskEnabled:s,shouldSnapToGrid:l}=e;return{activeTabName:t,isCursorOnCanvas:Boolean(r),shouldLockBoundingBox:i,shouldShowBoundingBox:o,tool:a,isStaging:n,isMaskEnabled:s,shouldSnapToGrid:l}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),HTe=()=>{const e=Te(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:i,isMaskEnabled:o,shouldSnapToGrid:a}=le(zTe),s=S.useRef(null),l=$V(),u=()=>e(pE());Qe(["shift+c"],()=>{u()},{enabled:()=>!i,preventDefault:!0},[]);const d=()=>e(h2(!o));Qe(["h"],()=>{d()},{enabled:()=>!i,preventDefault:!0},[o]),Qe(["n"],()=>{e(C3(!a))},{enabled:!0,preventDefault:!0},[a]),Qe("esc",()=>{e(d3e())},{enabled:()=>!0,preventDefault:!0}),Qe("shift+h",()=>{e(y3e(!n))},{enabled:()=>!i,preventDefault:!0},[t,n]),Qe(["space"],p=>{p.repeat||(l==null||l.container().focus(),r!=="move"&&(s.current=r,e(Jl("move"))),r==="move"&&s.current&&s.current!=="move"&&(e(Jl(s.current)),s.current="move"))},{keyup:!0,keydown:!0,preventDefault:!0},[r,s])},mP=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}},_q=()=>{const e=Te(),t=Qs(),n=$V();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const i=$g.pixelRatio,[o,a,s,l]=t.getContext().getImageData(r.x*i,r.y*i,1,1).data;e(g3e({r:o,g:a,b:s,a:l}))},commitColorUnderCursor:()=>{e(i3e())}}},WTe=lt([Br,rn,Lr],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),UTe=e=>{const t=Te(),{tool:n,isStaging:r}=le(WTe),{commitColorUnderCursor:i}=_q();return S.useCallback(o=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(S3(!0));return}if(n==="colorPicker"){i();return}const a=mP(e.current);a&&(o.evt.preventDefault(),t(zW(!0)),t(r3e([a.x,a.y])))},[e,n,r,t,i])},VTe=lt([Br,rn,Lr],(e,t,n)=>{const{tool:r,isDrawing:i}=t;return{tool:r,isDrawing:i,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),GTe=(e,t,n)=>{const r=Te(),{isDrawing:i,tool:o,isStaging:a}=le(VTe),{updateColorUnderCursor:s}=_q();return S.useCallback(()=>{if(!e.current)return;const l=mP(e.current);if(l){if(r(m3e(l)),n.current=l,o==="colorPicker"){s();return}!i||o==="move"||a||(t.current=!0,r($W([l.x,l.y])))}},[t,r,i,a,n,e,o,s])},qTe=()=>{const e=Te();return S.useCallback(()=>{e(s3e())},[e])},KTe=lt([Br,rn,Lr],(e,t,n)=>{const{tool:r,isDrawing:i}=t;return{tool:r,isDrawing:i,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),YTe=(e,t)=>{const n=Te(),{tool:r,isDrawing:i,isStaging:o}=le(KTe);return S.useCallback(()=>{if(r==="move"||o){n(S3(!1));return}if(!t.current&&i&&e.current){const a=mP(e.current);if(!a)return;n($W([a.x,a.y]))}else t.current=!1;n(zW(!1))},[t,n,i,o,e,r])},XTe=lt([rn],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),ZTe=e=>{const t=Te(),{isMoveStageKeyHeld:n,stageScale:r}=le(XTe);return S.useCallback(i=>{if(!e.current||n)return;i.evt.preventDefault();const o=e.current.getPointerPosition();if(!o)return;const a={x:(o.x-e.current.x())/r,y:(o.y-e.current.y())/r};let s=i.evt.deltaY;i.evt.ctrlKey&&(s=-s);const l=Ce.clamp(r*GSe**s,qSe,KSe),u={x:o.x-a.x*l,y:o.y-a.y*l};t(x3e(l)),t(XW(u))},[e,n,r,t])},QTe=lt(rn,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageDimensions:r,stageScale:i,shouldDarkenOutsideBoundingBox:o,stageCoordinates:a}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,shouldDarkenOutsideBoundingBox:o,stageCoordinates:a,stageDimensions:r,stageScale:i}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),JTe=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:i,stageScale:o}=le(QTe);return g.jsxs(uc,{children:[g.jsx(cc,{offsetX:r.x/o,offsetY:r.y/o,height:i.height/o,width:i.width/o,fill:"rgba(0,0,0,0.4)",listening:!1,visible:n}),g.jsx(cc,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,visible:n,globalCompositeOperation:"destination-out"})]})},eMe=lt([rn],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),tMe={dark:"rgba(255, 255, 255, 0.2)",green:"rgba(255, 255, 255, 0.2)",light:"rgba(0, 0, 0, 0.2)"},nMe=()=>{const{colorMode:e}=Qy(),{stageScale:t,stageCoordinates:n,stageDimensions:r}=le(eMe),[i,o]=S.useState([]),a=S.useCallback(s=>s/t,[t]);return S.useLayoutEffect(()=>{const s=tMe[e],{width:l,height:u}=r,{x:d,y:p}=n,m={x1:0,y1:0,x2:l,y2:u,offset:{x:a(d),y:a(p)}},y={x:Math.ceil(a(d)/64)*64,y:Math.ceil(a(p)/64)*64},b={x1:-y.x,y1:-y.y,x2:a(l)-y.x+64,y2:a(u)-y.y+64},E={x1:Math.min(m.x1,b.x1),y1:Math.min(m.y1,b.y1),x2:Math.max(m.x2,b.x2),y2:Math.max(m.y2,b.y2)},_=E.x2-E.x1,k=E.y2-E.y1,T=Math.round(_/64)+1,L=Math.round(k/64)+1,O=Ce.range(0,T).map(I=>g.jsx(F3,{x:E.x1+I*64,y:E.y1,points:[0,0,0,k],stroke:s,strokeWidth:1},`x_${I}`)),D=Ce.range(0,L).map(I=>g.jsx(F3,{x:E.x1,y:E.y1+I*64,points:[0,0,_,0],stroke:s,strokeWidth:1},`y_${I}`));o(O.concat(D))},[t,n,r,e,a]),g.jsx(uc,{children:i})},rMe=lt([e=>e.gallery],e=>e.intermediateImage?e.intermediateImage:null,{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),iMe=e=>{const{...t}=e,n=le(rMe),[r,i]=S.useState(null);if(S.useEffect(()=>{if(!n)return;const u=new Image;u.onload=()=>{i(u)},u.src=n.url},[n]),!(n!=null&&n.boundingBox))return null;const{boundingBox:{x:o,y:a,width:s,height:l}}=n;return r?g.jsx(Cq,{x:o,y:a,width:s,height:l,image:r,listening:!1,...t}):null},zh=e=>{const{r:t,g:n,b:r,a:i}=e;return`rgba(${t}, ${n}, ${r}, ${i})`},oMe=lt(rn,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:i}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:i,maskColorString:zh(t)}}),ED=e=>`data:image/svg+xml;utf8, - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`.replaceAll("black",e),aMe=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:i,stageScale:o}=le(oMe),[a,s]=S.useState(null),[l,u]=S.useState(0),d=S.useRef(null),p=S.useCallback(()=>{u(l+1),setTimeout(p,500)},[l]);return S.useEffect(()=>{if(a)return;const m=new Image;m.onload=()=>{s(m)},m.src=ED(n)},[a,n]),S.useEffect(()=>{a&&(a.src=ED(n))},[a,n]),S.useEffect(()=>{const m=setInterval(()=>u(y=>(y+1)%5),50);return()=>clearInterval(m)},[]),!a||!Ce.isNumber(r.x)||!Ce.isNumber(r.y)||!Ce.isNumber(o)||!Ce.isNumber(i.width)||!Ce.isNumber(i.height)?null:g.jsx(cc,{ref:d,offsetX:r.x/o,offsetY:r.y/o,height:i.height/o,width:i.width/o,fillPatternImage:a,fillPatternOffsetY:Ce.isNumber(l)?l:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/o,y:1/o},listening:!0,globalCompositeOperation:"source-in",...t})},sMe=lt([rn],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),lMe=e=>{const{...t}=e,{objects:n}=le(sMe);return g.jsx(uc,{listening:!1,...t,children:n.filter(hE).map((r,i)=>g.jsx(F3,{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"},i))})};var sh=S,uMe=function(t,n,r){const i=sh.useRef("loading"),o=sh.useRef(),[a,s]=sh.useState(0),l=sh.useRef(),u=sh.useRef(),d=sh.useRef();return(l.current!==t||u.current!==n||d.current!==r)&&(i.current="loading",o.current=void 0,l.current=t,u.current=n,d.current=r),sh.useLayoutEffect(function(){if(!t)return;var p=document.createElement("img");function m(){i.current="loaded",o.current=p,s(Math.random())}function y(){i.current="failed",o.current=void 0,s(Math.random())}return p.addEventListener("load",m),p.addEventListener("error",y),n&&(p.crossOrigin=n),r&&(p.referrerpolicy=r),p.src=t,function(){p.removeEventListener("load",m),p.removeEventListener("error",y)}},[t,n,r]),[o.current,i.current]};const kq=e=>{const{url:t,x:n,y:r}=e,[i]=uMe(t);return g.jsx(Cq,{x:n,y:r,image:i,listening:!1})},cMe=lt([rn],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),dMe=()=>{const{objects:e}=le(cMe);return e?g.jsx(uc,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(x3(t))return g.jsx(kq,{x:t.x,y:t.y,url:t.image.url},n);if(ZSe(t)){const r=g.jsx(F3,{points:t.points,stroke:t.color?zh(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?g.jsx(uc,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(QSe(t))return g.jsx(cc,{x:t.x,y:t.y,width:t.width,height:t.height,fill:zh(t.color)},n);if(JSe(t))return g.jsx(cc,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},fMe=lt([rn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n}},shouldShowStagingImage:r,shouldShowStagingOutline:i,boundingBoxCoordinates:{x:o,y:a},boundingBoxDimensions:{width:s,height:l}}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:r,shouldShowStagingOutline:i,x:o,y:a,width:s,height:l}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),hMe=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:i,x:o,y:a,width:s,height:l}=le(fMe);return g.jsxs(uc,{...t,children:[r&&n&&g.jsx(kq,{url:n.image.url,x:o,y:a}),i&&g.jsxs(uc,{children:[g.jsx(cc,{x:o,y:a,width:s,height:l,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),g.jsx(cc,{x:o,y:a,width:s,height:l,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},pMe=lt([rn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n}},shouldShowStagingOutline:r,shouldShowStagingImage:i}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:i,shouldShowStagingOutline:r}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),gMe=()=>{const e=Te(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:i}=le(pMe),{t:o}=De(),a=S.useCallback(()=>{e(XO(!0))},[e]),s=S.useCallback(()=>{e(XO(!1))},[e]);Qe(["left"],()=>{l()},{enabled:()=>!0,preventDefault:!0}),Qe(["right"],()=>{u()},{enabled:()=>!0,preventDefault:!0}),Qe(["enter"],()=>{d()},{enabled:()=>!0,preventDefault:!0});const l=()=>e(u3e()),u=()=>e(l3e()),d=()=>e(o3e());return r?g.jsx(Ee,{pos:"absolute",bottom:"1rem",w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:a,onMouseOut:s,children:g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{tooltip:`${o("unifiedCanvas.previous")} (Left)`,"aria-label":`${o("unifiedCanvas.previous")} (Left)`,icon:g.jsx(mke,{}),onClick:l,"data-selected":!0,isDisabled:t}),g.jsx(Ye,{tooltip:`${o("unifiedCanvas.next")} (Right)`,"aria-label":`${o("unifiedCanvas.next")} (Right)`,icon:g.jsx(vke,{}),onClick:u,"data-selected":!0,isDisabled:n}),g.jsx(Ye,{tooltip:`${o("unifiedCanvas.accept")} (Enter)`,"aria-label":`${o("unifiedCanvas.accept")} (Enter)`,icon:g.jsx(jE,{}),onClick:d,"data-selected":!0}),g.jsx(Ye,{tooltip:o("unifiedCanvas.showHide"),"aria-label":o("unifiedCanvas.showHide"),"data-alert":!i,icon:i?g.jsx(_ke,{}):g.jsx(Cke,{}),onClick:()=>e(b3e(!i)),"data-selected":!0}),g.jsx(Ye,{tooltip:o("unifiedCanvas.saveToGallery"),"aria-label":o("unifiedCanvas.saveToGallery"),icon:g.jsx($E,{}),onClick:()=>e(y_e(r.image.url)),"data-selected":!0}),g.jsx(Ye,{tooltip:o("unifiedCanvas.discardAll"),"aria-label":o("unifiedCanvas.discardAll"),icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(a3e()),"data-selected":!0,style:{backgroundColor:"var(--btn-delete-image)"},fontSize:20})]})}):null},cm=e=>Math.round(e*100)/100,mMe=lt([rn],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${cm(n)}, ${cm(r)})`}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}});function vMe(){const{cursorCoordinatesString:e}=le(mMe),{t}=De();return g.jsx("div",{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const yMe=lt([rn],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:i},boundingBoxDimensions:{width:o,height:a},scaledBoundingBoxDimensions:{width:s,height:l},boundingBoxCoordinates:{x:u,y:d},stageScale:p,shouldShowCanvasDebugInfo:m,layer:y,boundingBoxScaleMethod:b,shouldPreserveMaskedArea:w}=e;let E="inherit";return(b==="none"&&(o<512||a<512)||b==="manual"&&s*l<512*512)&&(E="var(--status-working-color)"),{activeLayerColor:y==="mask"?"var(--status-working-color)":"inherit",activeLayerString:y.charAt(0).toUpperCase()+y.slice(1),boundingBoxColor:E,boundingBoxCoordinatesString:`(${cm(u)}, ${cm(d)})`,boundingBoxDimensionsString:`${o}×${a}`,scaledBoundingBoxDimensionsString:`${s}×${l}`,canvasCoordinatesString:`${cm(r)}×${cm(i)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(p*100),shouldShowCanvasDebugInfo:m,shouldShowBoundingBox:b!=="auto",shouldShowScaledBoundingBox:b!=="none",shouldPreserveMaskedArea:w}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),bMe=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:i,scaledBoundingBoxDimensionsString:o,shouldShowScaledBoundingBox:a,canvasCoordinatesString:s,canvasDimensionsString:l,canvasScaleString:u,shouldShowCanvasDebugInfo:d,shouldShowBoundingBox:p,shouldPreserveMaskedArea:m}=le(yMe),{t:y}=De();return g.jsxs("div",{className:"canvas-status-text",children:[g.jsx("div",{style:{color:e},children:`${y("unifiedCanvas.activeLayer")}: ${t}`}),g.jsx("div",{children:`${y("unifiedCanvas.canvasScale")}: ${u}%`}),m&&g.jsx("div",{style:{color:"var(--status-working-color)"},children:"Preserve Masked Area: On"}),p&&g.jsx("div",{style:{color:n},children:`${y("unifiedCanvas.boundingBox")}: ${i}`}),a&&g.jsx("div",{style:{color:n},children:`${y("unifiedCanvas.scaledBoundingBox")}: ${o}`}),d&&g.jsxs(g.Fragment,{children:[g.jsx("div",{children:`${y("unifiedCanvas.boundingBoxPosition")}: ${r}`}),g.jsx("div",{children:`${y("unifiedCanvas.canvasDimensions")}: ${l}`}),g.jsx("div",{children:`${y("unifiedCanvas.canvasPosition")}: ${s}`}),g.jsx(vMe,{})]})]})},xMe=lt(rn,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageScale:r,isDrawing:i,isTransformingBoundingBox:o,isMovingBoundingBox:a,tool:s,shouldSnapToGrid:l}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,isDrawing:i,isMovingBoundingBox:a,isTransformingBoundingBox:o,stageScale:r,shouldSnapToGrid:l,tool:s,hitStrokeWidth:20/r}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),SMe=e=>{const{...t}=e,n=Te(),{boundingBoxCoordinates:r,boundingBoxDimensions:i,isDrawing:o,isMovingBoundingBox:a,isTransformingBoundingBox:s,stageScale:l,shouldSnapToGrid:u,tool:d,hitStrokeWidth:p}=le(xMe),m=S.useRef(null),y=S.useRef(null),[b,w]=S.useState(!1);S.useEffect(()=>{var ne;!m.current||!y.current||(m.current.nodes([y.current]),(ne=m.current.getLayer())==null||ne.batchDraw())},[]);const E=64*l,_=S.useCallback(ne=>{if(!u){n(RC({x:Math.floor(ne.target.x()),y:Math.floor(ne.target.y())}));return}const z=ne.target.x(),$=ne.target.y(),V=Hl(z,64),X=Hl($,64);ne.target.x(V),ne.target.y(X),n(RC({x:V,y:X}))},[n,u]),k=S.useCallback(()=>{if(!y.current)return;const ne=y.current,z=ne.scaleX(),$=ne.scaleY(),V=Math.round(ne.width()*z),X=Math.round(ne.height()*$),Q=Math.round(ne.x()),G=Math.round(ne.y());n(g1({width:V,height:X})),n(RC({x:u?Cd(Q,64):Q,y:u?Cd(G,64):G})),ne.scaleX(1),ne.scaleY(1)},[n,u]),T=S.useCallback((ne,z,$)=>{const V=ne.x%E,X=ne.y%E;return{x:Cd(z.x,E)+V,y:Cd(z.y,E)+X}},[E]),L=()=>{n(DC(!0))},O=()=>{n(DC(!1)),n(IC(!1)),n(Qb(!1)),w(!1)},D=()=>{n(IC(!0))},I=()=>{n(DC(!1)),n(IC(!1)),n(Qb(!1)),w(!1)},N=()=>{w(!0)},W=()=>{!s&&!a&&w(!1)},B=()=>{n(Qb(!0))},K=()=>{n(Qb(!1))};return g.jsxs(uc,{...t,children:[g.jsx(cc,{height:i.height,width:i.width,x:r.x,y:r.y,onMouseEnter:B,onMouseOver:B,onMouseLeave:K,onMouseOut:K}),g.jsx(cc,{draggable:!0,fillEnabled:!1,height:i.height,hitStrokeWidth:p,listening:!o&&d==="move",onDragStart:D,onDragEnd:I,onDragMove:_,onMouseDown:D,onMouseOut:W,onMouseOver:N,onMouseEnter:N,onMouseUp:I,onTransform:k,onTransformEnd:O,ref:y,stroke:b?"rgba(255,255,255,0.7)":"white",strokeWidth:(b?8:1)/l,width:i.width,x:r.x,y:r.y}),g.jsx(NTe,{anchorCornerRadius:3,anchorDragBoundFunc:T,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:d==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!o&&d==="move",onDragStart:D,onDragEnd:I,onMouseDown:L,onMouseUp:O,onTransformEnd:O,ref:m,rotateEnabled:!1})]})},wMe=lt(rn,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:i,brushColor:o,tool:a,layer:s,shouldShowBrush:l,isMovingBoundingBox:u,isTransformingBoundingBox:d,stageScale:p,stageDimensions:m,boundingBoxCoordinates:y,boundingBoxDimensions:b,shouldRestrictStrokesToBox:w}=e,E=w?{clipX:y.x,clipY:y.y,clipWidth:b.width,clipHeight:b.height}:{};return{cursorPosition:t,brushX:t?t.x:m.width/2,brushY:t?t.y:m.height/2,radius:n/2,colorPickerOuterRadius:KO/p,colorPickerInnerRadius:(KO-pk+1)/p,maskColorString:zh({...i,a:.5}),brushColorString:zh(o),colorPickerColorString:zh(r),tool:a,layer:s,shouldShowBrush:l,shouldDrawBrushPreview:!(u||d||!t)&&l,strokeWidth:1.5/p,dotRadius:1.5/p,clip:E}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),CMe=e=>{const{...t}=e,{brushX:n,brushY:r,radius:i,maskColorString:o,tool:a,layer:s,shouldDrawBrushPreview:l,dotRadius:u,strokeWidth:d,brushColorString:p,colorPickerColorString:m,colorPickerInnerRadius:y,colorPickerOuterRadius:b,clip:w}=le(wMe);return l?g.jsxs(uc,{listening:!1,...w,...t,children:[a==="colorPicker"?g.jsxs(g.Fragment,{children:[g.jsx(ah,{x:n,y:r,radius:b,stroke:p,strokeWidth:pk,strokeScaleEnabled:!1}),g.jsx(ah,{x:n,y:r,radius:y,stroke:m,strokeWidth:pk,strokeScaleEnabled:!1})]}):g.jsxs(g.Fragment,{children:[g.jsx(ah,{x:n,y:r,radius:i,fill:s==="mask"?o:p,globalCompositeOperation:a==="eraser"?"destination-out":"source-out"}),g.jsx(ah,{x:n,y:r,radius:i,stroke:"rgba(255,255,255,0.4)",strokeWidth:d*2,strokeEnabled:!0,listening:!1}),g.jsx(ah,{x:n,y:r,radius:i,stroke:"rgba(0,0,0,1)",strokeWidth:d,strokeEnabled:!0,listening:!1})]}),g.jsx(ah,{x:n,y:r,radius:u*2,fill:"rgba(255,255,255,0.4)",listening:!1}),g.jsx(ah,{x:n,y:r,radius:u,fill:"rgba(0,0,0,1)",listening:!1})]}):null},_Me=lt([rn,Lr],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:i,isTransformingBoundingBox:o,isMouseOverBoundingBox:a,isMovingBoundingBox:s,stageDimensions:l,stageCoordinates:u,tool:d,isMovingStage:p,shouldShowIntermediates:m,shouldShowGrid:y,shouldRestrictStrokesToBox:b}=e;let w="none";return d==="move"||t?p?w="grabbing":w="grab":o?w=void 0:b&&!a&&(w="default"),{isMaskEnabled:n,isModifyingBoundingBox:o||s,shouldShowBoundingBox:i,shouldShowGrid:y,stageCoordinates:u,stageCursor:w,stageDimensions:l,stageScale:r,tool:d,isStaging:t,shouldShowIntermediates:m}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),Eq=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:i,stageCursor:o,stageDimensions:a,stageScale:s,tool:l,isStaging:u,shouldShowIntermediates:d}=le(_Me);HTe();const p=S.useRef(null),m=S.useRef(null),y=S.useCallback(W=>{X6e(W),p.current=W},[]),b=S.useCallback(W=>{Y6e(W),m.current=W},[]),w=S.useRef({x:0,y:0}),E=S.useRef(!1),_=ZTe(p),k=UTe(p),T=YTe(p,E),L=GTe(p,E,w),O=qTe(),{handleDragStart:D,handleDragMove:I,handleDragEnd:N}=BTe();return g.jsx("div",{className:"inpainting-canvas-container",children:g.jsxs("div",{className:"inpainting-canvas-wrapper",children:[g.jsxs($Te,{tabIndex:-1,ref:y,className:"inpainting-canvas-stage",style:{...o?{cursor:o}:{}},x:i.x,y:i.y,width:a.width,height:a.height,scale:{x:s,y:s},onTouchStart:k,onTouchMove:L,onTouchEnd:T,onMouseDown:k,onMouseLeave:O,onMouseMove:L,onMouseUp:T,onDragStart:D,onDragMove:I,onDragEnd:N,onContextMenu:W=>W.evt.preventDefault(),onWheel:_,draggable:(l==="move"||u)&&!t,children:[g.jsx(n1,{id:"grid",visible:r,children:g.jsx(nMe,{})}),g.jsx(n1,{id:"base",ref:b,listening:!1,imageSmoothingEnabled:!1,children:g.jsx(dMe,{})}),g.jsxs(n1,{id:"mask",visible:e,listening:!1,children:[g.jsx(lMe,{visible:!0,listening:!1}),g.jsx(aMe,{listening:!1})]}),g.jsx(n1,{children:g.jsx(JTe,{})}),g.jsxs(n1,{id:"preview",imageSmoothingEnabled:!1,children:[!u&&g.jsx(CMe,{visible:l!=="move",listening:!1}),g.jsx(hMe,{visible:u}),d&&g.jsx(iMe,{}),g.jsx(SMe,{visible:n&&!u})]})]}),g.jsx(bMe,{}),g.jsx(gMe,{})]})})},kMe=lt(rn,uG,Br,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:i}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:i}}),Pq=()=>{const e=Te(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:i}=le(kMe),o=S.useRef(null);return S.useLayoutEffect(()=>{window.setTimeout(()=>{if(!o.current)return;const{clientWidth:a,clientHeight:s}=o.current;e(p3e({width:a,height:s})),e(i?f3e():r4()),e(Li(!1))},0)},[e,r,t,n,i]),g.jsx("div",{ref:o,className:"inpainting-canvas-area",children:g.jsx(p0,{thickness:"2px",speed:"1s",size:"xl"})})},EMe=lt([rn,Br,hr],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}});function Tq(){const e=Te(),{canRedo:t,activeTabName:n}=le(EMe),{t:r}=De(),i=()=>{e(c3e())};return Qe(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{i()},{enabled:()=>t,preventDefault:!0},[n,t]),g.jsx(Ye,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:g.jsx(Dke,{}),onClick:i,isDisabled:!t})}const PMe=lt([rn,Br,hr],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}});function Mq(){const e=Te(),{t}=De(),{canUndo:n,activeTabName:r}=le(PMe),i=()=>{e(S3e())};return Qe(["meta+z","ctrl+z"],()=>{i()},{enabled:()=>n,preventDefault:!0},[r,n]),g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:g.jsx(Fke,{}),onClick:i,isDisabled:!n})}const TMe=(e,t,n)=>{const r=document.createElement("img");r.addEventListener("load",()=>{const i=document.createElement("canvas");i.width=t,i.height=n;const o=i.getContext("2d");o&&(o.drawImage(r,0,0),i.toBlob(a=>{a&&navigator.clipboard.write([new ClipboardItem({[a.type]:a})])}),i.remove(),r.remove())}),r.src=e},MMe=e=>{const t=document.createElement("a");t.href=e,t.download="",document.body.appendChild(t),t.click(),document.body.removeChild(t),t.remove()},LMe=(e,t,n,r)=>{const i=e.scale(),o=e.getClientRect({relativeTo:e.getParent()});e.scale({x:1/t,y:1/t});const{x:a,y:s,width:l,height:u}=e.getClientRect(),d=r?{x:r.x+n.x,y:r.y+n.y,width:r.width,height:r.height}:{x:a,y:s,width:l,height:u},p=e.toDataURL(d);return e.scale(i),{dataURL:p,boundingBox:{x:o.x,y:o.y,width:l,height:u}}},AMe={cropVisible:!1,cropToBoundingBox:!1,shouldSaveToGallery:!1,shouldDownload:!1,shouldCopy:!1,shouldSetAsInitialImage:!0},Td=(e=AMe)=>async(t,n)=>{const{cropVisible:r,cropToBoundingBox:i,shouldSaveToGallery:o,shouldDownload:a,shouldCopy:s,shouldSetAsInitialImage:l}=e;t(A4e("Exporting Image")),t(_d(!1));const u=n(),{stageScale:d,boundingBoxCoordinates:p,boundingBoxDimensions:m,stageCoordinates:y}=u.canvas,b=Qs();if(!b){t(wa(!1)),t(_d(!0));return}const{dataURL:w,boundingBox:E}=LMe(b,d,y,i?{...p,...m}:void 0);if(!w){t(wa(!1)),t(_d(!0));return}const _=new FormData;_.append("data",JSON.stringify({dataURL:w,filename:"merged_canvas.png",kind:o?"result":"temp",cropVisible:r}));const T=await(await fetch(`${window.location.origin}/upload`,{method:"POST",body:_})).json(),{url:L,width:O,height:D}=T,I={uuid:um(),category:o?"result":"user",...T};a&&(MMe(L),t($u({title:Et.t("toast.downloadImageStarted"),status:"success",duration:2500,isClosable:!0}))),s&&(TMe(L,O,D),t($u({title:Et.t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0}))),o&&(t(sm({image:I,category:"result"})),t($u({title:Et.t("toast.imageSavedToGallery"),status:"success",duration:2500,isClosable:!0}))),l&&(t(v3e({kind:"image",layer:"base",...E,image:I})),t($u({title:Et.t("toast.canvasMerged"),status:"success",duration:2500,isClosable:!0}))),t(wa(!1)),t(hh(Et.t("common.statusConnected"))),t(_d(!0))};function OMe(){const e=le(Lr),t=Qs(),n=le(s=>s.system.isProcessing),r=le(s=>s.canvas.shouldCropToBoundingBoxOnSave),i=Te(),{t:o}=De();Qe(["meta+c","ctrl+c"],()=>{a()},{enabled:()=>!e,preventDefault:!0},[t,n]);const a=()=>{i(Td({cropVisible:!r,cropToBoundingBox:r,shouldCopy:!0}))};return g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${o("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:g.jsx(e0,{}),onClick:a,isDisabled:e})}function RMe(){const e=Te(),{t}=De(),n=Qs(),r=le(Lr),i=le(s=>s.system.isProcessing),o=le(s=>s.canvas.shouldCropToBoundingBoxOnSave);Qe(["shift+d"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n,i]);const a=()=>{e(Td({cropVisible:!o,cropToBoundingBox:o,shouldDownload:!0}))};return g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:g.jsx(NE,{}),onClick:a,isDisabled:r})}function IMe(){const e=le(Lr),{openUploader:t}=OE(),{t:n}=De();return g.jsx(Ye,{"aria-label":n("common.upload"),tooltip:n("common.upload"),icon:g.jsx(h4,{}),onClick:t,isDisabled:e})}const DMe=lt([rn,Lr],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}});function jMe(){const e=Te(),{t}=De(),{layer:n,isMaskEnabled:r,isStaging:i}=le(DMe),o=()=>{e(w3(n==="mask"?"base":"mask"))};Qe(["q"],()=>{o()},{enabled:()=>!i,preventDefault:!0},[n]);const a=s=>{const l=s.target.value;e(w3(l)),l==="mask"&&!r&&e(h2(!0))};return g.jsx(Jo,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,tooltipProps:{hasArrow:!0,placement:"top"},value:n,validValues:IW,onChange:a,isDisabled:i})}function NMe(){const e=Te(),{t}=De(),n=Qs(),r=le(Lr),i=le(a=>a.system.isProcessing);Qe(["shift+m"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n,i]);const o=()=>{e(Td({cropVisible:!1,shouldSetAsInitialImage:!0}))};return g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:g.jsx(sG,{}),onClick:o,isDisabled:r})}function $Me(){const e=le(o=>o.canvas.tool),t=le(Lr),n=Te(),{t:r}=De();Qe(["v"],()=>{i()},{enabled:()=>!t,preventDefault:!0},[]);const i=()=>n(Jl("move"));return g.jsx(Ye,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:g.jsx(tG,{}),"data-selected":e==="move"||t,onClick:i})}function FMe(){const e=le(i=>i.ui.shouldPinParametersPanel),t=Te(),{t:n}=De(),r=()=>{t(Fh(!0)),e&&setTimeout(()=>t(Li(!0)),400)};return g.jsxs(Ee,{flexDirection:"column",gap:"0.5rem",children:[g.jsx(Ye,{tooltip:`${n("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":n("parameters.showOptionsPanel"),onClick:r,children:g.jsx(FE,{})}),g.jsx(Ee,{children:g.jsx(tP,{iconButton:!0})}),g.jsx(Ee,{children:g.jsx(JE,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]})}function BMe(){const e=Te(),{t}=De(),n=le(Lr),r=()=>{e(gE()),e(r4())};return g.jsx(Ye,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:g.jsx(hp,{}),onClick:r,style:{backgroundColor:"var(--btn-delete-image)"},isDisabled:n})}function Lq(e,t,n=250){const[r,i]=S.useState(0);return S.useEffect(()=>{const o=setTimeout(()=>{r===1&&e(),i(0)},n);return r===2&&t(),()=>clearTimeout(o)},[r,e,t,n]),()=>i(o=>o+1)}function zMe(){const e=Qs(),t=Te(),{t:n}=De();Qe(["r"],()=>{i()},{enabled:()=>!0,preventDefault:!0},[e]);const r=Lq(()=>i(!1),()=>i(!0)),i=(o=!1)=>{const a=Qs();if(!a)return;const s=a.getClientRect({skipTransform:!0});t(BW({contentRect:s,shouldScaleTo1:o}))};return g.jsx(Ye,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:g.jsx(rG,{}),onClick:r})}function HMe(){const e=le(Lr),t=Qs(),n=le(s=>s.system.isProcessing),r=le(s=>s.canvas.shouldCropToBoundingBoxOnSave),i=Te(),{t:o}=De();Qe(["shift+s"],()=>{a()},{enabled:()=>!e,preventDefault:!0},[t,n]);const a=()=>{i(Td({cropVisible:!r,cropToBoundingBox:r,shouldSaveToGallery:!0}))};return g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:g.jsx($E,{}),onClick:a,isDisabled:e})}const WMe=lt([rn,Lr,hr],(e,t,n)=>{const{isProcessing:r}=n,{tool:i}=e;return{tool:i,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),UMe=()=>{const e=Te(),{t}=De(),{tool:n,isStaging:r}=le(WMe);Qe(["b"],()=>{i()},{enabled:()=>!r,preventDefault:!0},[]),Qe(["e"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]),Qe(["c"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n]),Qe(["shift+f"],()=>{s()},{enabled:()=>!r,preventDefault:!0}),Qe(["delete","backspace"],()=>{l()},{enabled:()=>!r,preventDefault:!0});const i=()=>e(Jl("brush")),o=()=>e(Jl("eraser")),a=()=>e(Jl("colorPicker")),s=()=>e(NW()),l=()=>e(jW());return g.jsxs(Ee,{flexDirection:"column",gap:"0.5rem",children:[g.jsxs(Gi,{children:[g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:g.jsx(lG,{}),"data-selected":n==="brush"&&!r,onClick:i,isDisabled:r}),g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:g.jsx(iG,{}),"data-selected":n==="eraser"&&!r,isDisabled:r,onClick:o})]}),g.jsxs(Gi,{children:[g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:g.jsx(aG,{}),isDisabled:r,onClick:s}),g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:l})]}),g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:g.jsx(oG,{}),"data-selected":n==="colorPicker"&&!r,isDisabled:r,onClick:a,width:"max-content"})]})},C4=Ze((e,t)=>{const{acceptButtonText:n="Accept",acceptCallback:r,cancelButtonText:i="Cancel",cancelCallback:o,children:a,title:s,triggerComponent:l}=e,{isOpen:u,onOpen:d,onClose:p}=Kd(),m=S.useRef(null),y=()=>{r(),p()},b=()=>{o&&o(),p()};return g.jsxs(g.Fragment,{children:[S.cloneElement(l,{onClick:d,ref:t}),g.jsx($H,{isOpen:u,leastDestructiveRef:m,onClose:p,children:g.jsx(oc,{children:g.jsxs(FH,{className:"modal",children:[g.jsx(op,{fontSize:"lg",fontWeight:"bold",children:s}),g.jsx(Zm,{children:a}),g.jsxs(zw,{children:[g.jsx(ss,{ref:m,onClick:b,className:"modal-close-btn",children:i}),g.jsx(ss,{colorScheme:"red",onClick:y,ml:3,children:n})]})]})})})]})}),Aq=()=>{const e=le(Lr),t=Te(),{t:n}=De(),r=()=>{t(b_e()),t(gE()),t(FW())};return g.jsxs(C4,{title:n("unifiedCanvas.emptyTempImageFolder"),acceptCallback:r,acceptButtonText:n("unifiedCanvas.emptyFolder"),triggerComponent:g.jsx(On,{leftIcon:g.jsx(hp,{}),size:"sm",isDisabled:e,children:n("unifiedCanvas.emptyTempImageFolder")}),children:[g.jsx("p",{children:n("unifiedCanvas.emptyTempImagesFolderMessage")}),g.jsx("br",{}),g.jsx("p",{children:n("unifiedCanvas.emptyTempImagesFolderConfirm")})]})},Oq=()=>{const e=le(Lr),t=Te(),{t:n}=De();return g.jsxs(C4,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(FW()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:g.jsx(On,{size:"sm",leftIcon:g.jsx(hp,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[g.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),g.jsx("br",{}),g.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},VMe=lt([rn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:i}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:i}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),GMe=()=>{const e=Te(),{t}=De(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:i,shouldShowIntermediates:o}=le(VMe);return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:g.jsx(BE,{})}),children:g.jsxs(Ee,{direction:"column",gap:"0.5rem",children:[g.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:o,onChange:a=>e(YW(a.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:a=>e(WW(a.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:a=>e(UW(a.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:i,onChange:a=>e(qW(a.target.checked))}),g.jsx(Oq,{}),g.jsx(Aq,{})]})})},qMe=()=>{const e=le(t=>t.ui.shouldShowParametersPanel);return g.jsxs(Ee,{flexDirection:"column",rowGap:"0.5rem",width:"6rem",children:[g.jsx(jMe,{}),g.jsx(UMe,{}),g.jsxs(Ee,{gap:"0.5rem",children:[g.jsx($Me,{}),g.jsx(zMe,{})]}),g.jsxs(Ee,{columnGap:"0.5rem",children:[g.jsx(NMe,{}),g.jsx(HMe,{})]}),g.jsxs(Ee,{columnGap:"0.5rem",children:[g.jsx(OMe,{}),g.jsx(RMe,{})]}),g.jsxs(Ee,{gap:"0.5rem",children:[g.jsx(Mq,{}),g.jsx(Tq,{})]}),g.jsxs(Ee,{gap:"0.5rem",children:[g.jsx(IMe,{}),g.jsx(BMe,{})]}),g.jsx(GMe,{}),!e&&g.jsx(FMe,{})]})};function KMe(){const e=Te(),t=le(i=>i.canvas.brushSize),{t:n}=De(),r=le(Lr);return Qe(["BracketLeft"],()=>{e(Lm(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),Qe(["BracketRight"],()=>{e(Lm(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),g.jsx(Dn,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:i=>e(Lm(i)),sliderNumberInputProps:{max:500},inputReadOnly:!1,width:"100px",isCompact:!0})}function _4(){return(_4=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}function a7(e){var t=S.useRef(e),n=S.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var r0=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:E.buttons>0)&&i.current?o(PD(i.current,E,s.current)):w(!1)},b=function(){return w(!1)};function w(E){var _=l.current,k=s7(i.current),T=E?k.addEventListener:k.removeEventListener;T(_?"touchmove":"mousemove",y),T(_?"touchend":"mouseup",b)}return[function(E){var _=E.nativeEvent,k=i.current;if(k&&(TD(_),!function(L,O){return O&&!X1(L)}(_,l.current)&&k)){if(X1(_)){l.current=!0;var T=_.changedTouches||[];T.length&&(s.current=T[0].identifier)}k.focus(),o(PD(k,_,s.current)),w(!0)}},function(E){var _=E.which||E.keyCode;_<37||_>40||(E.preventDefault(),a({left:_===39?.05:_===37?-.05:0,top:_===40?.05:_===38?-.05:0}))},w]},[a,o]),d=u[0],p=u[1],m=u[2];return S.useEffect(function(){return m},[m]),Ke.createElement("div",_4({},r,{onTouchStart:d,onMouseDown:d,className:"react-colorful__interactive",ref:i,onKeyDown:p,tabIndex:0,role:"slider"}))}),k4=function(e){return e.filter(Boolean).join(" ")},yP=function(e){var t=e.color,n=e.left,r=e.top,i=r===void 0?.5:r,o=k4(["react-colorful__pointer",e.className]);return Ke.createElement("div",{className:o,style:{top:100*i+"%",left:100*n+"%"}},Ke.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},_o=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},Iq=function(e){var t=e.s,n=e.v,r=e.a,i=(200-t)*n/100;return{h:_o(e.h),s:_o(i>0&&i<200?t*n/100/(i<=100?i:200-i)*100:0),l:_o(i/2),a:_o(r,2)}},l7=function(e){var t=Iq(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},a6=function(e){var t=Iq(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},YMe=function(e){var t=e.h,n=e.s,r=e.v,i=e.a;t=t/360*6,n/=100,r/=100;var o=Math.floor(t),a=r*(1-n),s=r*(1-(t-o)*n),l=r*(1-(1-t+o)*n),u=o%6;return{r:_o(255*[r,s,a,a,l,r][u]),g:_o(255*[l,r,r,s,a,a][u]),b:_o(255*[a,a,l,r,r,s][u]),a:_o(i,2)}},XMe=function(e){var t=e.r,n=e.g,r=e.b,i=e.a,o=Math.max(t,n,r),a=o-Math.min(t,n,r),s=a?o===t?(n-r)/a:o===n?2+(r-t)/a:4+(t-n)/a:0;return{h:_o(60*(s<0?s+6:s)),s:_o(o?a/o*100:0),v:_o(o/255*100),a:i}},ZMe=Ke.memo(function(e){var t=e.hue,n=e.onChange,r=k4(["react-colorful__hue",e.className]);return Ke.createElement("div",{className:r},Ke.createElement(vP,{onMove:function(i){n({h:360*i.left})},onKey:function(i){n({h:r0(t+360*i.left,0,360)})},"aria-label":"Hue","aria-valuenow":_o(t),"aria-valuemax":"360","aria-valuemin":"0"},Ke.createElement(yP,{className:"react-colorful__hue-pointer",left:t/360,color:l7({h:t,s:100,v:100,a:1})})))}),QMe=Ke.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:l7({h:t.h,s:100,v:100,a:1})};return Ke.createElement("div",{className:"react-colorful__saturation",style:r},Ke.createElement(vP,{onMove:function(i){n({s:100*i.left,v:100-100*i.top})},onKey:function(i){n({s:r0(t.s+100*i.left,0,100),v:r0(t.v-100*i.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+_o(t.s)+"%, Brightness "+_o(t.v)+"%"},Ke.createElement(yP,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:l7(t)})))}),Dq=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function JMe(e,t,n){var r=a7(n),i=S.useState(function(){return e.toHsva(t)}),o=i[0],a=i[1],s=S.useRef({color:t,hsva:o});S.useEffect(function(){if(!e.equal(t,s.current.color)){var u=e.toHsva(t);s.current={hsva:u,color:t},a(u)}},[t,e]),S.useEffect(function(){var u;Dq(o,s.current.hsva)||e.equal(u=e.fromHsva(o),s.current.color)||(s.current={hsva:o,color:u},r(u))},[o,e,r]);var l=S.useCallback(function(u){a(function(d){return Object.assign({},d,u)})},[]);return[o,l]}var eLe=typeof window<"u"?S.useLayoutEffect:S.useEffect,tLe=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},MD=new Map,nLe=function(e){eLe(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!MD.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}`,MD.set(t,n);var r=tLe();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},rLe=function(e){var t=e.className,n=e.hsva,r=e.onChange,i={backgroundImage:"linear-gradient(90deg, "+a6(Object.assign({},n,{a:0}))+", "+a6(Object.assign({},n,{a:1}))+")"},o=k4(["react-colorful__alpha",t]),a=_o(100*n.a);return Ke.createElement("div",{className:o},Ke.createElement("div",{className:"react-colorful__alpha-gradient",style:i}),Ke.createElement(vP,{onMove:function(s){r({a:s.left})},onKey:function(s){r({a:r0(n.a+s.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},Ke.createElement(yP,{className:"react-colorful__alpha-pointer",left:n.a,color:a6(n)})))},iLe=function(e){var t=e.className,n=e.colorModel,r=e.color,i=r===void 0?n.defaultColor:r,o=e.onChange,a=Rq(e,["className","colorModel","color","onChange"]),s=S.useRef(null);nLe(s);var l=JMe(n,i,o),u=l[0],d=l[1],p=k4(["react-colorful",t]);return Ke.createElement("div",_4({},a,{ref:s,className:p}),Ke.createElement(QMe,{hsva:u,onChange:d}),Ke.createElement(ZMe,{hue:u.h,onChange:d}),Ke.createElement(rLe,{hsva:u,onChange:d,className:"react-colorful__last-control"}))},oLe={defaultColor:{r:0,g:0,b:0,a:1},toHsva:XMe,fromHsva:YMe,equal:Dq},aLe=function(e){return Ke.createElement(iLe,_4({},e,{colorModel:oLe}))};const B3=e=>{const{styleClass:t,...n}=e;return g.jsx(aLe,{className:`invokeai__color-picker ${t}`,...n})},sLe=lt([rn,Lr],(e,t)=>{const{brushColor:n,maskColor:r,layer:i}=e;return{brushColor:n,maskColor:r,layer:i,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}});function lLe(){const e=Te(),{brushColor:t,maskColor:n,layer:r,isStaging:i}=le(sLe),o=()=>{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 Qe(["shift+BracketLeft"],()=>{e(Mm({...t,a:Ce.clamp(t.a-.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[t]),Qe(["shift+BracketRight"],()=>{e(Mm({...t,a:Ce.clamp(t.a+.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[t]),g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(ao,{style:{width:"30px",height:"30px",minWidth:"30px",minHeight:"30px",borderRadius:"99999999px",backgroundColor:o(),cursor:"pointer"}}),children:g.jsxs(Ee,{minWidth:"15rem",direction:"column",gap:"1rem",width:"100%",children:[r==="base"&&g.jsx(B3,{style:{width:"100%",paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:t,onChange:a=>e(Mm(a))}),r==="mask"&&g.jsx(B3,{style:{width:"100%",paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:n,onChange:a=>e(HW(a))})]})})}function jq(){return g.jsxs(Ee,{columnGap:"1rem",alignItems:"center",children:[g.jsx(KMe,{}),g.jsx(lLe,{})]})}function uLe(){const e=Te(),t=le(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=De();return g.jsx(Gn,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(ZW(r.target.checked))})}function cLe(){return g.jsxs(Ee,{gap:"1rem",alignItems:"center",children:[g.jsx(jq,{}),g.jsx(uLe,{})]})}function dLe(){const e=Te(),{t}=De(),n=()=>e(pE());return g.jsx(On,{size:"sm",leftIcon:g.jsx(hp,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function fLe(){const e=le(i=>i.canvas.isMaskEnabled),t=Te(),{t:n}=De(),r=()=>t(h2(!e));return g.jsx(Gn,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function hLe(){const e=Te(),{t}=De(),n=le(r=>r.canvas.shouldPreserveMaskedArea);return g.jsx(Gn,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(GW(r.target.checked))})}function pLe(){return g.jsxs(Ee,{gap:"1rem",alignItems:"center",children:[g.jsx(jq,{}),g.jsx(fLe,{}),g.jsx(hLe,{}),g.jsx(dLe,{})]})}function gLe(){const e=le(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=Te(),{t:n}=De();return g.jsx(Gn,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(VW(r.target.checked))})}function mLe(){const e=le(r=>r.canvas.shouldShowGrid),t=Te(),{t:n}=De();return g.jsx(Gn,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(KW(r.target.checked))})}function vLe(){const e=le(i=>i.canvas.shouldSnapToGrid),t=Te(),{t:n}=De(),r=i=>t(C3(i.target.checked));return g.jsx(Gn,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function yLe(){return g.jsxs(Ee,{alignItems:"center",gap:"1rem",children:[g.jsx(mLe,{}),g.jsx(vLe,{}),g.jsx(gLe,{})]})}const bLe=lt([rn],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}});function xLe(){const{tool:e,layer:t}=le(bLe);return g.jsxs(Ee,{height:"2rem",minHeight:"2rem",maxHeight:"2rem",alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&g.jsx(cLe,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&g.jsx(pLe,{}),e=="move"&&g.jsx(yLe,{})]})}const SLe=lt([rn],e=>{const{doesCanvasNeedScaling:t}=e;return{doesCanvasNeedScaling:t}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),wLe=()=>{const e=Te(),{doesCanvasNeedScaling:t}=le(SLe);return S.useLayoutEffect(()=>{e(Li(!0));const n=Ce.debounce(()=>{e(Li(!0))},250);return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[e]),g.jsx("div",{className:"workarea-single-view",children:g.jsxs(Ee,{flexDirection:"row",width:"100%",height:"100%",columnGap:"1rem",padding:"1rem",children:[g.jsx(qMe,{}),g.jsxs(Ee,{width:"100%",height:"100%",flexDirection:"column",rowGap:"1rem",children:[g.jsx(xLe,{}),t?g.jsx(Pq,{}):g.jsx(Eq,{})]})]})})},CLe=lt([rn,Lr],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:i,shouldPreserveMaskedArea:o}=e;return{layer:r,maskColor:n,maskColorString:zh(n),isMaskEnabled:i,shouldPreserveMaskedArea:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),_Le=()=>{const e=Te(),{t}=De(),{layer:n,maskColor:r,isMaskEnabled:i,shouldPreserveMaskedArea:o,isStaging:a}=le(CLe);Qe(["q"],()=>{s()},{enabled:()=>!a,preventDefault:!0},[n]),Qe(["shift+c"],()=>{l()},{enabled:()=>!a,preventDefault:!0},[]),Qe(["h"],()=>{u()},{enabled:()=>!a,preventDefault:!0},[i]);const s=()=>{e(w3(n==="mask"?"base":"mask"))},l=()=>e(pE()),u=()=>e(h2(!i));return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Gi,{children:g.jsx(Ye,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:g.jsx(Mke,{}),style:n==="mask"?{backgroundColor:"var(--accent-color)"}:{backgroundColor:"var(--btn-base-color)"},isDisabled:a})}),children:g.jsxs(Ee,{direction:"column",gap:"0.5rem",children:[g.jsx(Gn,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:i,onChange:u}),g.jsx(Gn,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:o,onChange:d=>e(GW(d.target.checked))}),g.jsx(B3,{style:{paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:r,onChange:d=>e(HW(d))}),g.jsxs(On,{size:"sm",leftIcon:g.jsx(hp,{}),onClick:l,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},kLe=lt([rn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:i,shouldShowGrid:o,shouldShowIntermediates:a,shouldSnapToGrid:s,shouldRestrictStrokesToBox:l}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:i,shouldShowGrid:o,shouldShowIntermediates:a,shouldSnapToGrid:s,shouldRestrictStrokesToBox:l}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),ELe=()=>{const e=Te(),{t}=De(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:i,shouldShowCanvasDebugInfo:o,shouldShowGrid:a,shouldShowIntermediates:s,shouldSnapToGrid:l,shouldRestrictStrokesToBox:u}=le(kLe);Qe(["n"],()=>{e(C3(!l))},{enabled:!0,preventDefault:!0},[l]);const d=p=>e(C3(p.target.checked));return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:g.jsx(BE,{})}),children:g.jsxs(Ee,{direction:"column",gap:"0.5rem",children:[g.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:p=>e(YW(p.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.showGrid"),isChecked:a,onChange:p=>e(KW(p.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.snapToGrid"),isChecked:l,onChange:d}),g.jsx(Gn,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:i,onChange:p=>e(VW(p.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:p=>e(WW(p.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:p=>e(UW(p.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:u,onChange:p=>e(ZW(p.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:p=>e(qW(p.target.checked))}),g.jsx(Oq,{}),g.jsx(Aq,{})]})})},PLe=lt([rn,Lr,hr],(e,t,n)=>{const{isProcessing:r}=n,{tool:i,brushColor:o,brushSize:a}=e;return{tool:i,isStaging:t,isProcessing:r,brushColor:o,brushSize:a}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),TLe=()=>{const e=Te(),{tool:t,brushColor:n,brushSize:r,isStaging:i}=le(PLe),{t:o}=De();Qe(["b"],()=>{a()},{enabled:()=>!i,preventDefault:!0},[]),Qe(["e"],()=>{s()},{enabled:()=>!i,preventDefault:!0},[t]),Qe(["c"],()=>{l()},{enabled:()=>!i,preventDefault:!0},[t]),Qe(["shift+f"],()=>{u()},{enabled:()=>!i,preventDefault:!0}),Qe(["delete","backspace"],()=>{d()},{enabled:()=>!i,preventDefault:!0}),Qe(["BracketLeft"],()=>{e(Lm(Math.max(r-5,5)))},{enabled:()=>!i,preventDefault:!0},[r]),Qe(["BracketRight"],()=>{e(Lm(Math.min(r+5,500)))},{enabled:()=>!i,preventDefault:!0},[r]),Qe(["shift+BracketLeft"],()=>{e(Mm({...n,a:Ce.clamp(n.a-.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[n]),Qe(["shift+BracketRight"],()=>{e(Mm({...n,a:Ce.clamp(n.a+.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[n]);const a=()=>e(Jl("brush")),s=()=>e(Jl("eraser")),l=()=>e(Jl("colorPicker")),u=()=>e(NW()),d=()=>e(jW());return g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.brush")} (B)`,tooltip:`${o("unifiedCanvas.brush")} (B)`,icon:g.jsx(lG,{}),"data-selected":t==="brush"&&!i,onClick:a,isDisabled:i}),g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.eraser")} (E)`,tooltip:`${o("unifiedCanvas.eraser")} (E)`,icon:g.jsx(iG,{}),"data-selected":t==="eraser"&&!i,isDisabled:i,onClick:s}),g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${o("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:g.jsx(aG,{}),isDisabled:i,onClick:u}),g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${o("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),isDisabled:i,onClick:d}),g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.colorPicker")} (C)`,tooltip:`${o("unifiedCanvas.colorPicker")} (C)`,icon:g.jsx(oG,{}),"data-selected":t==="colorPicker"&&!i,isDisabled:i,onClick:l}),g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{"aria-label":o("unifiedCanvas.brushOptions"),tooltip:o("unifiedCanvas.brushOptions"),icon:g.jsx(FE,{})}),children:g.jsxs(Ee,{minWidth:"15rem",direction:"column",gap:"1rem",width:"100%",children:[g.jsx(Ee,{gap:"1rem",justifyContent:"space-between",children:g.jsx(Dn,{label:o("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:p=>e(Lm(p)),sliderNumberInputProps:{max:500},inputReadOnly:!1})}),g.jsx(B3,{style:{width:"100%",paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:n,onChange:p=>e(Mm(p))})]})})]})},MLe=lt([hr,rn,Lr],(e,t,n)=>{const{isProcessing:r}=e,{tool:i,shouldCropToBoundingBoxOnSave:o,layer:a,isMaskEnabled:s}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:s,tool:i,layer:a,shouldCropToBoundingBoxOnSave:o}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),LLe=()=>{const e=Te(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:i,tool:o,shouldCropToBoundingBoxOnSave:a}=le(MLe),s=Qs(),{t:l}=De(),{openUploader:u}=OE();Qe(["v"],()=>{d()},{enabled:()=>!n,preventDefault:!0},[]),Qe(["r"],()=>{m()},{enabled:()=>!0,preventDefault:!0},[s]),Qe(["shift+m"],()=>{b()},{enabled:()=>!n,preventDefault:!0},[s,t]),Qe(["shift+s"],()=>{w()},{enabled:()=>!n,preventDefault:!0},[s,t]),Qe(["meta+c","ctrl+c"],()=>{E()},{enabled:()=>!n,preventDefault:!0},[s,t]),Qe(["shift+d"],()=>{_()},{enabled:()=>!n,preventDefault:!0},[s,t]);const d=()=>e(Jl("move")),p=Lq(()=>m(!1),()=>m(!0)),m=(T=!1)=>{const L=Qs();if(!L)return;const O=L.getClientRect({skipTransform:!0});e(BW({contentRect:O,shouldScaleTo1:T}))},y=()=>{e(gE()),e(r4())},b=()=>{e(Td({cropVisible:!1,shouldSetAsInitialImage:!0}))},w=()=>{e(Td({cropVisible:!a,cropToBoundingBox:a,shouldSaveToGallery:!0}))},E=()=>{e(Td({cropVisible:!a,cropToBoundingBox:a,shouldCopy:!0}))},_=()=>{e(Td({cropVisible:!a,cropToBoundingBox:a,shouldDownload:!0}))},k=T=>{const L=T.target.value;e(w3(L)),L==="mask"&&!r&&e(h2(!0))};return g.jsxs("div",{className:"inpainting-settings",children:[g.jsx(Jo,{tooltip:`${l("unifiedCanvas.layer")} (Q)`,tooltipProps:{hasArrow:!0,placement:"top"},value:i,validValues:IW,onChange:k,isDisabled:n}),g.jsx(_Le,{}),g.jsx(TLe,{}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.move")} (V)`,tooltip:`${l("unifiedCanvas.move")} (V)`,icon:g.jsx(tG,{}),"data-selected":o==="move"||n,onClick:d}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.resetView")} (R)`,tooltip:`${l("unifiedCanvas.resetView")} (R)`,icon:g.jsx(rG,{}),onClick:p})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${l("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:g.jsx(sG,{}),onClick:b,isDisabled:n}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${l("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:g.jsx($E,{}),onClick:w,isDisabled:n}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${l("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:g.jsx(e0,{}),onClick:E,isDisabled:n}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${l("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:g.jsx(NE,{}),onClick:_,isDisabled:n})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Mq,{}),g.jsx(Tq,{})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{"aria-label":`${l("common.upload")}`,tooltip:`${l("common.upload")}`,icon:g.jsx(h4,{}),onClick:u,isDisabled:n}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.clearCanvas")}`,tooltip:`${l("unifiedCanvas.clearCanvas")}`,icon:g.jsx(hp,{}),onClick:y,style:{backgroundColor:"var(--btn-delete-image)"},isDisabled:n})]}),g.jsx(Gi,{isAttached:!0,children:g.jsx(ELe,{})})]})},ALe=lt([rn],e=>{const{doesCanvasNeedScaling:t}=e;return{doesCanvasNeedScaling:t}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),OLe=()=>{const e=Te(),{doesCanvasNeedScaling:t}=le(ALe);return S.useLayoutEffect(()=>{e(Li(!0));const n=Ce.debounce(()=>{e(Li(!0))},250);return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[e]),g.jsx("div",{className:"workarea-single-view",children:g.jsx("div",{className:"workarea-split-view-left",children:g.jsxs("div",{className:"inpainting-main-area",children:[g.jsx(LLe,{}),g.jsx("div",{className:"inpainting-canvas-area",children:t?g.jsx(Pq,{}):g.jsx(Eq,{})})]})})})},RLe=lt(rn,e=>{const{boundingBoxDimensions:t,boundingBoxScaleMethod:n}=e;return{boundingBoxDimensions:t,boundingBoxScale:n}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),ILe=()=>{const e=Te(),{boundingBoxDimensions:t}=le(RLe),{t:n}=De(),r=s=>{e(g1({...t,width:Math.floor(s)}))},i=s=>{e(g1({...t,height:Math.floor(s)}))},o=()=>{e(g1({...t,width:Math.floor(512)}))},a=()=>{e(g1({...t,height:Math.floor(512)}))};return g.jsxs(Ee,{direction:"column",gap:2,children:[g.jsx(Dn,{label:n("parameters.width"),min:64,max:1024,step:64,value:t.width,onChange:r,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:o,sliderMarkRightOffset:-7}),g.jsx(Dn,{label:n("parameters.height"),min:64,max:1024,step:64,value:t.height,onChange:i,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:a,sliderMarkRightOffset:-7})]})},DLe=lt([eP,hr,rn],(e,t,n)=>{const{tileSize:r,infillMethod:i}=e,{infill_methods:o}=t,{boundingBoxScaleMethod:a,scaledBoundingBoxDimensions:s}=n;return{boundingBoxScale:a,scaledBoundingBoxDimensions:s,tileSize:r,infillMethod:i,availableInfillMethods:o,isManual:a==="manual"}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),jLe=()=>{const e=Te(),{tileSize:t,infillMethod:n,availableInfillMethods:r,boundingBoxScale:i,isManual:o,scaledBoundingBoxDimensions:a}=le(DLe),{t:s}=De(),l=y=>{e(Jb({...a,width:Math.floor(y)}))},u=y=>{e(Jb({...a,height:Math.floor(y)}))},d=()=>{e(Jb({...a,width:Math.floor(512)}))},p=()=>{e(Jb({...a,height:Math.floor(512)}))},m=y=>{e(h3e(y.target.value))};return g.jsxs(Ee,{direction:"column",gap:4,children:[g.jsx(Jo,{label:s("parameters.scaleBeforeProcessing"),validValues:XSe,value:i,onChange:m}),g.jsx(Dn,{isInputDisabled:!o,isResetDisabled:!o,isSliderDisabled:!o,label:s("parameters.scaledWidth"),min:64,max:1024,step:64,value:a.width,onChange:l,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:d,sliderMarkRightOffset:-7}),g.jsx(Dn,{isInputDisabled:!o,isResetDisabled:!o,isSliderDisabled:!o,label:s("parameters.scaledHeight"),min:64,max:1024,step:64,value:a.height,onChange:u,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:p,sliderMarkRightOffset:-7}),g.jsx(Jo,{label:s("parameters.infillMethod"),value:n,validValues:r,onChange:y=>e(lU(y.target.value))}),g.jsx(Dn,{isInputDisabled:n!=="tile",isResetDisabled:n!=="tile",isSliderDisabled:n!=="tile",sliderMarkRightOffset:-4,label:s("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:y=>{e(rR(y))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(rR(32))}})]})};function NLe(){const e=Te(),t=le(r=>r.generation.seamBlur),{t:n}=De();return g.jsx(Dn,{sliderMarkRightOffset:-4,label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(JO(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(JO(16))}})}function $Le(){const e=Te(),{t}=De(),n=le(r=>r.generation.seamSize);return g.jsx(Dn,{sliderMarkRightOffset:-6,label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(eR(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(eR(96))})}function FLe(){const{t:e}=De(),t=le(r=>r.generation.seamSteps),n=Te();return g.jsx(Dn,{sliderMarkRightOffset:-4,label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(tR(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(tR(30))}})}function BLe(){const e=Te(),{t}=De(),n=le(r=>r.generation.seamStrength);return g.jsx(Dn,{sliderMarkRightOffset:-7,label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(nR(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(nR(.7))}})}const zLe=()=>g.jsxs(Ee,{direction:"column",gap:2,children:[g.jsx($Le,{}),g.jsx(NLe,{}),g.jsx(BLe,{}),g.jsx(FLe,{})]});function HLe(){const{t:e}=De(),t={seed:{header:`${e("parameters.seed")}`,feature:oo.SEED,content:g.jsx(aP,{})},boundingBox:{header:`${e("parameters.boundingBoxHeader")}`,feature:oo.BOUNDING_BOX,content:g.jsx(ILe,{})},seamCorrection:{header:`${e("parameters.seamCorrectionHeader")}`,feature:oo.SEAM_CORRECTION,content:g.jsx(zLe,{})},infillAndScaling:{header:`${e("parameters.infillScalingHeader")}`,feature:oo.INFILL_AND_SCALING,content:g.jsx(jLe,{})},variations:{header:`${e("parameters.variations")}`,feature:oo.VARIATIONS,content:g.jsx(lP,{}),additionalHeaderComponents:g.jsx(sP,{})},symmetry:{header:`${e("parameters.symmetry")}`,content:g.jsx(iP,{}),additionalHeaderComponents:g.jsx(oP,{})}},n={unifiedCanvasImg2Img:{header:`${e("parameters.imageToImage")}`,feature:void 0,content:g.jsx(vq,{label:e("parameters.img2imgStrength"),styleClass:"main-settings-block image-to-image-strength-main-option"})}};return g.jsxs(hP,{children:[g.jsxs(Ee,{flexDir:"column",rowGap:"0.5rem",children:[g.jsx(fP,{}),g.jsx(dP,{})]}),g.jsx(cP,{}),g.jsx(uP,{}),g.jsx(n0,{accordionInfo:n}),g.jsx(n0,{accordionInfo:t})]})}function WLe(){const e=le(t=>t.ui.shouldUseCanvasBetaLayout);return g.jsx(rP,{optionsPanel:g.jsx(HLe,{}),styleClass:"inpainting-workarea-overrides",children:e?g.jsx(wLe,{}):g.jsx(OLe,{})})}const Qa={txt2img:{title:g.jsx(D_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(IPe,{}),tooltip:"Text To Image"},img2img:{title:g.jsx(O_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(EPe,{}),tooltip:"Image To Image"},unifiedCanvas:{title:g.jsx(N_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(WLe,{}),tooltip:"Unified Canvas"},nodes:{title:g.jsx(R_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(T_e,{}),tooltip:"Nodes"},postprocess:{title:g.jsx(I_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(M_e,{}),tooltip:"Post Processing"},training:{title:g.jsx(j_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(L_e,{}),tooltip:"Training"}};function ULe(){Qa.txt2img.tooltip=Et.t("common.text2img"),Qa.img2img.tooltip=Et.t("common.img2img"),Qa.unifiedCanvas.tooltip=Et.t("common.unifiedCanvas"),Qa.nodes.tooltip=Et.t("common.nodes"),Qa.postprocess.tooltip=Et.t("common.postProcessing"),Qa.training.tooltip=Et.t("common.training")}function VLe(){const e=le(P_e),t=le(u=>u.lightbox.isLightboxOpen),{shouldShowGallery:n,shouldShowParametersPanel:r,shouldPinGallery:i,shouldPinParametersPanel:o}=le(nP);A_e(ULe);const a=Te();Qe("1",()=>{a(Uo(0))}),Qe("2",()=>{a(Uo(1))}),Qe("3",()=>{a(Uo(2))}),Qe("4",()=>{a(Uo(3))}),Qe("5",()=>{a(Uo(4))}),Qe("6",()=>{a(Uo(5))}),Qe("z",()=>{a(Om(!t))},[t]),Qe("f",()=>{n||r?(a(Fh(!1)),a(Am(!1))):(a(Fh(!0)),a(Am(!0))),(i||o)&&setTimeout(()=>a(Li(!0)),400)},[n,r]);const s=()=>{const u=[];return Object.keys(Qa).forEach(d=>{u.push(g.jsx(si,{hasArrow:!0,label:Qa[d].tooltip,placement:"right",children:g.jsx(sW,{children:Qa[d].title})},d))}),u},l=()=>{const u=[];return Object.keys(Qa).forEach(d=>{u.push(g.jsx(oW,{className:"app-tabs-panel",children:Qa[d].workarea},d))}),u};return g.jsxs(iW,{isLazy:!0,className:"app-tabs",variant:"unstyled",defaultIndex:e,index:e,onChange:u=>{a(Uo(u))},children:[g.jsx("div",{className:"app-tabs-list",children:s()}),g.jsx(aW,{className:"app-tabs-panels",children:t?g.jsx(GEe,{}):l()})]})}var GLe=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 C2(e,t){var n=qLe(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 qLe(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),i=GLe.get(r);i&&Object.defineProperty(e,"type",{value:i,writable:!1,configurable:!1,enumerable:!0})}return e}var KLe=[".DS_Store","Thumbs.db"];function YLe(e){return f0(this,void 0,void 0,function(){return h0(this,function(t){return z3(e)&&XLe(e.dataTransfer)?[2,eAe(e.dataTransfer,e.type)]:ZLe(e)?[2,QLe(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,JLe(e)]:[2,[]]})})}function XLe(e){return z3(e)}function ZLe(e){return z3(e)&&z3(e.target)}function z3(e){return typeof e=="object"&&e!==null}function QLe(e){return u7(e.target.files).map(function(t){return C2(t)})}function JLe(e){return f0(this,void 0,void 0,function(){var t;return h0(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 C2(r)})]}})})}function eAe(e,t){return f0(this,void 0,void 0,function(){var n,r;return h0(this,function(i){switch(i.label){case 0:return e.items?(n=u7(e.items).filter(function(o){return o.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(tAe))]):[3,2];case 1:return r=i.sent(),[2,LD(Nq(r))];case 2:return[2,LD(u7(e.files).map(function(o){return C2(o)}))]}})})}function LD(e){return e.filter(function(t){return KLe.indexOf(t.name)===-1})}function u7(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,DD(n)];if(e.sizen)return[!1,DD(n)]}return[!0,null]}function Sh(e){return e!=null}function vAe(e){var t=e.files,n=e.accept,r=e.minSize,i=e.maxSize,o=e.multiple,a=e.maxFiles,s=e.validator;return!o&&t.length>1||o&&a>=1&&t.length>a?!1:t.every(function(l){var u=zq(l,n),d=zy(u,1),p=d[0],m=Hq(l,r,i),y=zy(m,1),b=y[0],w=s?s(l):null;return p&&b&&!w})}function H3(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function kx(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 ND(e){e.preventDefault()}function yAe(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function bAe(e){return e.indexOf("Edge/")!==-1}function xAe(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return yAe(e)||bAe(e)}function Ml(){for(var e=arguments.length,t=new Array(e),n=0;n1?i-1:0),a=1;ae.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 NAe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var bP=S.forwardRef(function(e,t){var n=e.children,r=W3(e,EAe),i=qq(r),o=i.open,a=W3(i,PAe);return S.useImperativeHandle(t,function(){return{open:o}},[o]),Ke.createElement(S.Fragment,null,n(_r(_r({},a),{},{open:o})))});bP.displayName="Dropzone";var Gq={disabled:!1,getFilesFromEvent:YLe,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};bP.defaultProps=Gq;bP.propTypes={children:An.func,accept:An.objectOf(An.arrayOf(An.string)),multiple:An.bool,preventDropOnDocument:An.bool,noClick:An.bool,noKeyboard:An.bool,noDrag:An.bool,noDragEventsBubbling:An.bool,minSize:An.number,maxSize:An.number,maxFiles:An.number,disabled:An.bool,getFilesFromEvent:An.func,onFileDialogCancel:An.func,onFileDialogOpen:An.func,useFsAccessApi:An.bool,autoFocus:An.bool,onDragEnter:An.func,onDragLeave:An.func,onDragOver:An.func,onDrop:An.func,onDropAccepted:An.func,onDropRejected:An.func,onError:An.func,validator:An.func};var h7={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function qq(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=_r(_r({},Gq),e),n=t.accept,r=t.disabled,i=t.getFilesFromEvent,o=t.maxSize,a=t.minSize,s=t.multiple,l=t.maxFiles,u=t.onDragEnter,d=t.onDragLeave,p=t.onDragOver,m=t.onDrop,y=t.onDropAccepted,b=t.onDropRejected,w=t.onFileDialogCancel,E=t.onFileDialogOpen,_=t.useFsAccessApi,k=t.autoFocus,T=t.preventDropOnDocument,L=t.noClick,O=t.noKeyboard,D=t.noDrag,I=t.noDragEventsBubbling,N=t.onError,W=t.validator,B=S.useMemo(function(){return CAe(n)},[n]),K=S.useMemo(function(){return wAe(n)},[n]),ne=S.useMemo(function(){return typeof E=="function"?E:FD},[E]),z=S.useMemo(function(){return typeof w=="function"?w:FD},[w]),$=S.useRef(null),V=S.useRef(null),X=S.useReducer($Ae,h7),Q=s6(X,2),G=Q[0],Y=Q[1],ee=G.isFocused,fe=G.isFileDialogActive,_e=S.useRef(typeof window<"u"&&window.isSecureContext&&_&&SAe()),we=function(){!_e.current&&fe&&setTimeout(function(){if(V.current){var je=V.current.files;je.length||(Y({type:"closeDialog"}),z())}},300)};S.useEffect(function(){return window.addEventListener("focus",we,!1),function(){window.removeEventListener("focus",we,!1)}},[V,fe,z,_e]);var xe=S.useRef([]),Le=function(je){$.current&&$.current.contains(je.target)||(je.preventDefault(),xe.current=[])};S.useEffect(function(){return T&&(document.addEventListener("dragover",ND,!1),document.addEventListener("drop",Le,!1)),function(){T&&(document.removeEventListener("dragover",ND),document.removeEventListener("drop",Le))}},[$,T]),S.useEffect(function(){return!r&&k&&$.current&&$.current.focus(),function(){}},[$,k,r]);var Se=S.useCallback(function(ye){N?N(ye):console.error(ye)},[N]),Je=S.useCallback(function(ye){ye.preventDefault(),ye.persist(),se(ye),xe.current=[].concat(LAe(xe.current),[ye.target]),kx(ye)&&Promise.resolve(i(ye)).then(function(je){if(!(H3(ye)&&!I)){var vt=je.length,Mt=vt>0&&vAe({files:je,accept:B,minSize:a,maxSize:o,multiple:s,maxFiles:l,validator:W}),Me=vt>0&&!Mt;Y({isDragAccept:Mt,isDragReject:Me,isDragActive:!0,type:"setDraggedFiles"}),u&&u(ye)}}).catch(function(je){return Se(je)})},[i,u,Se,I,B,a,o,s,l,W]),Xe=S.useCallback(function(ye){ye.preventDefault(),ye.persist(),se(ye);var je=kx(ye);if(je&&ye.dataTransfer)try{ye.dataTransfer.dropEffect="copy"}catch{}return je&&p&&p(ye),!1},[p,I]),tt=S.useCallback(function(ye){ye.preventDefault(),ye.persist(),se(ye);var je=xe.current.filter(function(Mt){return $.current&&$.current.contains(Mt)}),vt=je.indexOf(ye.target);vt!==-1&&je.splice(vt,1),xe.current=je,!(je.length>0)&&(Y({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),kx(ye)&&d&&d(ye))},[$,d,I]),yt=S.useCallback(function(ye,je){var vt=[],Mt=[];ye.forEach(function(Me){var Ct=zq(Me,B),zt=s6(Ct,2),$n=zt[0],qe=zt[1],pt=Hq(Me,a,o),zr=s6(pt,2),rr=zr[0],Bn=zr[1],li=W?W(Me):null;if($n&&rr&&!li)vt.push(Me);else{var vs=[qe,Bn];li&&(vs=vs.concat(li)),Mt.push({file:Me,errors:vs.filter(function(tl){return tl})})}}),(!s&&vt.length>1||s&&l>=1&&vt.length>l)&&(vt.forEach(function(Me){Mt.push({file:Me,errors:[mAe]})}),vt.splice(0)),Y({acceptedFiles:vt,fileRejections:Mt,type:"setFiles"}),m&&m(vt,Mt,je),Mt.length>0&&b&&b(Mt,je),vt.length>0&&y&&y(vt,je)},[Y,s,B,a,o,l,m,y,b,W]),Be=S.useCallback(function(ye){ye.preventDefault(),ye.persist(),se(ye),xe.current=[],kx(ye)&&Promise.resolve(i(ye)).then(function(je){H3(ye)&&!I||yt(je,ye)}).catch(function(je){return Se(je)}),Y({type:"reset"})},[i,yt,Se,I]),Ae=S.useCallback(function(){if(_e.current){Y({type:"openDialog"}),ne();var ye={multiple:s,types:K};window.showOpenFilePicker(ye).then(function(je){return i(je)}).then(function(je){yt(je,null),Y({type:"closeDialog"})}).catch(function(je){_Ae(je)?(z(je),Y({type:"closeDialog"})):kAe(je)?(_e.current=!1,V.current?(V.current.value=null,V.current.click()):Se(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."))):Se(je)});return}V.current&&(Y({type:"openDialog"}),ne(),V.current.value=null,V.current.click())},[Y,ne,z,_,yt,Se,K,s]),bt=S.useCallback(function(ye){!$.current||!$.current.isEqualNode(ye.target)||(ye.key===" "||ye.key==="Enter"||ye.keyCode===32||ye.keyCode===13)&&(ye.preventDefault(),Ae())},[$,Ae]),Fe=S.useCallback(function(){Y({type:"focus"})},[]),at=S.useCallback(function(){Y({type:"blur"})},[]),jt=S.useCallback(function(){L||(xAe()?setTimeout(Ae,0):Ae())},[L,Ae]),mt=function(je){return r?null:je},Zt=function(je){return O?null:mt(je)},on=function(je){return D?null:mt(je)},se=function(je){I&&je.stopPropagation()},Ie=S.useMemo(function(){return function(){var ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},je=ye.refKey,vt=je===void 0?"ref":je,Mt=ye.role,Me=ye.onKeyDown,Ct=ye.onFocus,zt=ye.onBlur,$n=ye.onClick,qe=ye.onDragEnter,pt=ye.onDragOver,zr=ye.onDragLeave,rr=ye.onDrop,Bn=W3(ye,TAe);return _r(_r(f7({onKeyDown:Zt(Ml(Me,bt)),onFocus:Zt(Ml(Ct,Fe)),onBlur:Zt(Ml(zt,at)),onClick:mt(Ml($n,jt)),onDragEnter:on(Ml(qe,Je)),onDragOver:on(Ml(pt,Xe)),onDragLeave:on(Ml(zr,tt)),onDrop:on(Ml(rr,Be)),role:typeof Mt=="string"&&Mt!==""?Mt:"presentation"},vt,$),!r&&!O?{tabIndex:0}:{}),Bn)}},[$,bt,Fe,at,jt,Je,Xe,tt,Be,O,D,r]),He=S.useCallback(function(ye){ye.stopPropagation()},[]),Ue=S.useMemo(function(){return function(){var ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},je=ye.refKey,vt=je===void 0?"ref":je,Mt=ye.onChange,Me=ye.onClick,Ct=W3(ye,MAe),zt=f7({accept:B,multiple:s,type:"file",style:{display:"none"},onChange:mt(Ml(Mt,Be)),onClick:mt(Ml(Me,He)),tabIndex:-1},vt,V);return _r(_r({},zt),Ct)}},[V,n,s,Be,r]);return _r(_r({},G),{},{isFocused:ee&&!r,getRootProps:Ie,getInputProps:Ue,rootRef:$,inputRef:V,open:mt(Ae)})}function $Ae(e,t){switch(t.type){case"focus":return _r(_r({},e),{},{isFocused:!0});case"blur":return _r(_r({},e),{},{isFocused:!1});case"openDialog":return _r(_r({},h7),{},{isFileDialogActive:!0});case"closeDialog":return _r(_r({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return _r(_r({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return _r(_r({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return _r({},h7);default:return e}}function FD(){}const FAe=e=>{const{isDragAccept:t,isDragReject:n,overlaySecondaryText:r,setIsHandlingUpload:i}=e;return Qe("esc",()=>{i(!1)}),g.jsxs("div",{className:"dropzone-container",children:[t&&g.jsx("div",{className:"dropzone-overlay is-drag-accept",children:g.jsxs(jh,{size:"lg",children:["Upload Image",r]})}),n&&g.jsxs("div",{className:"dropzone-overlay is-drag-reject",children:[g.jsx(jh,{size:"lg",children:"Invalid Upload"}),g.jsx(jh,{size:"md",children:"Must be single JPEG or PNG image"})]})]})},BAe=e=>{const{children:t}=e,n=Te(),r=le(Br),i=a2({}),{t:o}=De(),[a,s]=S.useState(!1),{setOpenUploader:l}=OE(),u=S.useCallback(T=>{s(!0);const L=T.errors.reduce((O,D)=>`${O} -${D.message}`,"");i({title:o("toast.uploadFailed"),description:L,status:"error",isClosable:!0})},[o,i]),d=S.useCallback(async T=>{n(TI({imageFile:T}))},[n]),p=S.useCallback((T,L)=>{L.forEach(O=>{u(O)}),T.forEach(O=>{d(O)})},[d,u]),{getRootProps:m,getInputProps:y,isDragAccept:b,isDragReject:w,isDragActive:E,open:_}=qq({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:p,onDragOver:()=>s(!0),maxFiles:1});l(_),S.useEffect(()=>{const T=L=>{var N;const O=(N=L.clipboardData)==null?void 0:N.items;if(!O)return;const D=[];for(const W of O)W.kind==="file"&&["image/png","image/jpg"].includes(W.type)&&D.push(W);if(!D.length)return;if(L.stopImmediatePropagation(),D.length>1){i({description:o("toast.uploadFailedMultipleImagesDesc"),status:"error",isClosable:!0});return}const I=D[0].getAsFile();if(!I){i({description:o("toast.uploadFailedUnableToLoadDesc"),status:"error",isClosable:!0});return}n(TI({imageFile:I}))};return document.addEventListener("paste",T),()=>{document.removeEventListener("paste",T)}},[o,n,i,r]);const k=["img2img","unifiedCanvas"].includes(r)?` to ${Qa[r].tooltip}`:"";return g.jsx(AE.Provider,{value:_,children:g.jsxs("div",{...m({style:{}}),onKeyDown:T=>{T.key},children:[g.jsx("input",{...y()}),t,E&&a&&g.jsx(FAe,{isDragAccept:b,isDragReject:w,overlaySecondaryText:k,setIsHandlingUpload:s})]})})},zAe=lt(hr,e=>e.log,{memoizeOptions:{resultEqualityCheck:(e,t)=>e.length===t.length}}),HAe=lt(hr,e=>({shouldShowLogViewer:e.shouldShowLogViewer,hasError:e.hasError,wasErrorSeen:e.wasErrorSeen}),{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),WAe=()=>{const e=Te(),t=le(zAe),{shouldShowLogViewer:n,hasError:r,wasErrorSeen:i}=le(HAe),[o,a]=S.useState(!0),s=S.useRef(null);S.useLayoutEffect(()=>{s.current!==null&&o&&(s.current.scrollTop=s.current.scrollHeight)},[o,t,n]);const l=()=>{e(NU()),e(FC(!n))};Qe("`",()=>{e(FC(!n))},[n]),Qe("esc",()=>{e(FC(!1))});const u=()=>{s.current&&o&&s.current.scrollTop{const{timestamp:m,message:y,level:b}=d;return g.jsxs("div",{className:`console-entry console-${b}-color`,children:[g.jsxs("p",{className:"console-timestamp",children:[m,":"]}),g.jsx("p",{className:"console-message",children:y})]},p)})})}),n&&g.jsx(si,{hasArrow:!0,label:o?"Autoscroll On":"Autoscroll Off",children:g.jsx(ls,{className:"console-autoscroll-icon-button","data-autoscroll-enabled":o,size:"sm","aria-label":"Toggle autoscroll",variant:"solid",icon:g.jsx(gke,{}),onClick:()=>a(!o)})}),g.jsx(si,{hasArrow:!0,label:n?"Hide Console":"Show Console",children:g.jsx(ls,{className:"console-toggle-icon-button","data-error-seen":r||!i,size:"sm",position:"fixed",variant:"solid","aria-label":"Toggle Log Viewer",icon:n?g.jsx(Lke,{}):g.jsx(nG,{}),onClick:l})})]})},UAe=lt(hr,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),VAe=()=>{const{isProcessing:e,currentStep:t,totalSteps:n,currentStatusHasSteps:r}=le(UAe),i=t?Math.round(t*100/n):0;return g.jsx(UH,{value:i,isIndeterminate:e&&!r,className:"progress-bar"})};function GAe(e){const{title:t,hotkey:n,description:r}=e;return g.jsxs("div",{className:"hotkey-modal-item",children:[g.jsxs("div",{className:"hotkey-info",children:[g.jsx("p",{className:"hotkey-title",children:t}),r&&g.jsx("p",{className:"hotkey-description",children:r})]}),g.jsx("div",{className:"hotkey-key",children:n})]})}function qAe({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Kd(),{t:i}=De(),o=[{title:i("hotkeys.invoke.title"),desc:i("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:i("hotkeys.cancel.title"),desc:i("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:i("hotkeys.focusPrompt.title"),desc:i("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:i("hotkeys.toggleOptions.title"),desc:i("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:i("hotkeys.pinOptions.title"),desc:i("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:i("hotkeys.toggleViewer.title"),desc:i("hotkeys.toggleViewer.desc"),hotkey:"Z"},{title:i("hotkeys.toggleGallery.title"),desc:i("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:i("hotkeys.maximizeWorkSpace.title"),desc:i("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:i("hotkeys.changeTabs.title"),desc:i("hotkeys.changeTabs.desc"),hotkey:"1-5"},{title:i("hotkeys.consoleToggle.title"),desc:i("hotkeys.consoleToggle.desc"),hotkey:"`"}],a=[{title:i("hotkeys.setPrompt.title"),desc:i("hotkeys.setPrompt.desc"),hotkey:"P"},{title:i("hotkeys.setSeed.title"),desc:i("hotkeys.setSeed.desc"),hotkey:"S"},{title:i("hotkeys.setParameters.title"),desc:i("hotkeys.setParameters.desc"),hotkey:"A"},{title:i("hotkeys.restoreFaces.title"),desc:i("hotkeys.restoreFaces.desc"),hotkey:"Shift+R"},{title:i("hotkeys.upscale.title"),desc:i("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:i("hotkeys.showInfo.title"),desc:i("hotkeys.showInfo.desc"),hotkey:"I"},{title:i("hotkeys.sendToImageToImage.title"),desc:i("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:i("hotkeys.deleteImage.title"),desc:i("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:i("hotkeys.closePanels.title"),desc:i("hotkeys.closePanels.desc"),hotkey:"Esc"}],s=[{title:i("hotkeys.previousImage.title"),desc:i("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:i("hotkeys.nextImage.title"),desc:i("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:i("hotkeys.toggleGalleryPin.title"),desc:i("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:i("hotkeys.increaseGalleryThumbSize.title"),desc:i("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:i("hotkeys.decreaseGalleryThumbSize.title"),desc:i("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],l=[{title:i("hotkeys.selectBrush.title"),desc:i("hotkeys.selectBrush.desc"),hotkey:"B"},{title:i("hotkeys.selectEraser.title"),desc:i("hotkeys.selectEraser.desc"),hotkey:"E"},{title:i("hotkeys.decreaseBrushSize.title"),desc:i("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:i("hotkeys.increaseBrushSize.title"),desc:i("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:i("hotkeys.decreaseBrushOpacity.title"),desc:i("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:i("hotkeys.increaseBrushOpacity.title"),desc:i("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:i("hotkeys.moveTool.title"),desc:i("hotkeys.moveTool.desc"),hotkey:"V"},{title:i("hotkeys.fillBoundingBox.title"),desc:i("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:i("hotkeys.eraseBoundingBox.title"),desc:i("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:i("hotkeys.colorPicker.title"),desc:i("hotkeys.colorPicker.desc"),hotkey:"C"},{title:i("hotkeys.toggleSnap.title"),desc:i("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:i("hotkeys.quickToggleMove.title"),desc:i("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:i("hotkeys.toggleLayer.title"),desc:i("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:i("hotkeys.clearMask.title"),desc:i("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:i("hotkeys.hideMask.title"),desc:i("hotkeys.hideMask.desc"),hotkey:"H"},{title:i("hotkeys.showHideBoundingBox.title"),desc:i("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:i("hotkeys.mergeVisible.title"),desc:i("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:i("hotkeys.saveToGallery.title"),desc:i("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:i("hotkeys.copyToClipboard.title"),desc:i("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:i("hotkeys.downloadImage.title"),desc:i("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:i("hotkeys.undoStroke.title"),desc:i("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:i("hotkeys.redoStroke.title"),desc:i("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:i("hotkeys.resetView.title"),desc:i("hotkeys.resetView.desc"),hotkey:"R"},{title:i("hotkeys.previousStagingImage.title"),desc:i("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:i("hotkeys.nextStagingImage.title"),desc:i("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:i("hotkeys.acceptStagingImage.title"),desc:i("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],u=d=>{const p=[];return d.forEach((m,y)=>{p.push(g.jsx(GAe,{title:m.title,description:m.desc,hotkey:m.hotkey},y))}),g.jsx("div",{className:"hotkey-modal-category",children:p})};return g.jsxs(g.Fragment,{children:[S.cloneElement(e,{onClick:n}),g.jsxs(Yd,{isOpen:t,onClose:r,children:[g.jsx(oc,{}),g.jsxs(Xd,{className:" modal hotkeys-modal",children:[g.jsx(m0,{className:"modal-close-btn"}),g.jsx("h1",{children:"Keyboard Shorcuts"}),g.jsx("div",{className:"hotkeys-modal-items",children:g.jsxs(c8,{allowMultiple:!0,children:[g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.appHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(o)})]}),g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.generalHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(a)})]}),g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.galleryHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(s)})]}),g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.unifiedCanvasHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(l)})]})]})})]})]})]})}var BD=Array.isArray,zD=Object.keys,KAe=Object.prototype.hasOwnProperty,YAe=typeof Element<"u";function p7(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var n=BD(e),r=BD(t),i,o,a;if(n&&r){if(o=e.length,o!=t.length)return!1;for(i=o;i--!==0;)if(!p7(e[i],t[i]))return!1;return!0}if(n!=r)return!1;var s=e instanceof Date,l=t instanceof Date;if(s!=l)return!1;if(s&&l)return e.getTime()==t.getTime();var u=e instanceof RegExp,d=t instanceof RegExp;if(u!=d)return!1;if(u&&d)return e.toString()==t.toString();var p=zD(e);if(o=p.length,o!==zD(t).length)return!1;for(i=o;i--!==0;)if(!KAe.call(t,p[i]))return!1;if(YAe&&e instanceof Element&&t instanceof Element)return e===t;for(i=o;i--!==0;)if(a=p[i],!(a==="_owner"&&e.$$typeof)&&!p7(e[a],t[a]))return!1;return!0}return e!==e&&t!==t}var md=function(t,n){try{return p7(t,n)}catch(r){if(r.message&&r.message.match(/stack|recursion/i)||r.number===-2146828260)return console.warn("Warning: react-fast-compare does not handle circular references.",r.name,r.message),!1;throw r}},XAe=function(t){return ZAe(t)&&!QAe(t)};function ZAe(e){return!!e&&typeof e=="object"}function QAe(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||tOe(e)}var JAe=typeof Symbol=="function"&&Symbol.for,eOe=JAe?Symbol.for("react.element"):60103;function tOe(e){return e.$$typeof===eOe}function nOe(e){return Array.isArray(e)?[]:{}}function U3(e,t){return t.clone!==!1&&t.isMergeableObject(e)?Hy(nOe(e),e,t):e}function rOe(e,t,n){return e.concat(t).map(function(r){return U3(r,n)})}function iOe(e,t,n){var r={};return n.isMergeableObject(e)&&Object.keys(e).forEach(function(i){r[i]=U3(e[i],n)}),Object.keys(t).forEach(function(i){!n.isMergeableObject(t[i])||!e[i]?r[i]=U3(t[i],n):r[i]=Hy(e[i],t[i],n)}),r}function Hy(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||rOe,n.isMergeableObject=n.isMergeableObject||XAe;var r=Array.isArray(t),i=Array.isArray(e),o=r===i;return o?r?n.arrayMerge(e,t,n):iOe(e,t,n):U3(t,n)}Hy.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,i){return Hy(r,i,n)},{})};var g7=Hy,oOe=typeof global=="object"&&global&&global.Object===Object&&global;const Kq=oOe;var aOe=typeof self=="object"&&self&&self.Object===Object&&self,sOe=Kq||aOe||Function("return this")();const du=sOe;var lOe=du.Symbol;const tf=lOe;var Yq=Object.prototype,uOe=Yq.hasOwnProperty,cOe=Yq.toString,r1=tf?tf.toStringTag:void 0;function dOe(e){var t=uOe.call(e,r1),n=e[r1];try{e[r1]=void 0;var r=!0}catch{}var i=cOe.call(e);return r&&(t?e[r1]=n:delete e[r1]),i}var fOe=Object.prototype,hOe=fOe.toString;function pOe(e){return hOe.call(e)}var gOe="[object Null]",mOe="[object Undefined]",HD=tf?tf.toStringTag:void 0;function yp(e){return e==null?e===void 0?mOe:gOe:HD&&HD in Object(e)?dOe(e):pOe(e)}function Xq(e,t){return function(n){return e(t(n))}}var vOe=Xq(Object.getPrototypeOf,Object);const xP=vOe;function bp(e){return e!=null&&typeof e=="object"}var yOe="[object Object]",bOe=Function.prototype,xOe=Object.prototype,Zq=bOe.toString,SOe=xOe.hasOwnProperty,wOe=Zq.call(Object);function WD(e){if(!bp(e)||yp(e)!=yOe)return!1;var t=xP(e);if(t===null)return!0;var n=SOe.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&Zq.call(n)==wOe}function COe(){this.__data__=[],this.size=0}function Qq(e,t){return e===t||e!==e&&t!==t}function E4(e,t){for(var n=e.length;n--;)if(Qq(e[n][0],t))return n;return-1}var _Oe=Array.prototype,kOe=_Oe.splice;function EOe(e){var t=this.__data__,n=E4(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():kOe.call(t,n,1),--this.size,!0}function POe(e){var t=this.__data__,n=E4(t,e);return n<0?void 0:t[n][1]}function TOe(e){return E4(this.__data__,e)>-1}function MOe(e,t){var n=this.__data__,r=E4(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function yc(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=jRe}var NRe="[object Arguments]",$Re="[object Array]",FRe="[object Boolean]",BRe="[object Date]",zRe="[object Error]",HRe="[object Function]",WRe="[object Map]",URe="[object Number]",VRe="[object Object]",GRe="[object RegExp]",qRe="[object Set]",KRe="[object String]",YRe="[object WeakMap]",XRe="[object ArrayBuffer]",ZRe="[object DataView]",QRe="[object Float32Array]",JRe="[object Float64Array]",eIe="[object Int8Array]",tIe="[object Int16Array]",nIe="[object Int32Array]",rIe="[object Uint8Array]",iIe="[object Uint8ClampedArray]",oIe="[object Uint16Array]",aIe="[object Uint32Array]",ar={};ar[QRe]=ar[JRe]=ar[eIe]=ar[tIe]=ar[nIe]=ar[rIe]=ar[iIe]=ar[oIe]=ar[aIe]=!0;ar[NRe]=ar[$Re]=ar[XRe]=ar[FRe]=ar[ZRe]=ar[BRe]=ar[zRe]=ar[HRe]=ar[WRe]=ar[URe]=ar[VRe]=ar[GRe]=ar[qRe]=ar[KRe]=ar[YRe]=!1;function sIe(e){return bp(e)&&oK(e.length)&&!!ar[yp(e)]}function SP(e){return function(t){return e(t)}}var aK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Z1=aK&&typeof module=="object"&&module&&!module.nodeType&&module,lIe=Z1&&Z1.exports===aK,u6=lIe&&Kq.process,uIe=function(){try{var e=Z1&&Z1.require&&Z1.require("util").types;return e||u6&&u6.binding&&u6.binding("util")}catch{}}();const i0=uIe;var YD=i0&&i0.isTypedArray,cIe=YD?SP(YD):sIe;const dIe=cIe;var fIe=Object.prototype,hIe=fIe.hasOwnProperty;function sK(e,t){var n=k2(e),r=!n&&PRe(e),i=!n&&!r&&iK(e),o=!n&&!r&&!i&&dIe(e),a=n||r||i||o,s=a?wRe(e.length,String):[],l=s.length;for(var u in e)(t||hIe.call(e,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||o&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||DRe(u,l)))&&s.push(u);return s}var pIe=Object.prototype;function wP(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||pIe;return e===n}var gIe=Xq(Object.keys,Object);const mIe=gIe;var vIe=Object.prototype,yIe=vIe.hasOwnProperty;function bIe(e){if(!wP(e))return mIe(e);var t=[];for(var n in Object(e))yIe.call(e,n)&&n!="constructor"&&t.push(n);return t}function lK(e){return e!=null&&oK(e.length)&&!Jq(e)}function CP(e){return lK(e)?sK(e):bIe(e)}function xIe(e,t){return e&&T4(t,CP(t),e)}function SIe(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var wIe=Object.prototype,CIe=wIe.hasOwnProperty;function _Ie(e){if(!_2(e))return SIe(e);var t=wP(e),n=[];for(var r in e)r=="constructor"&&(t||!CIe.call(e,r))||n.push(r);return n}function _P(e){return lK(e)?sK(e,!0):_Ie(e)}function kIe(e,t){return e&&T4(t,_P(t),e)}var uK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,XD=uK&&typeof module=="object"&&module&&!module.nodeType&&module,EIe=XD&&XD.exports===uK,ZD=EIe?du.Buffer:void 0,QD=ZD?ZD.allocUnsafe:void 0;function PIe(e,t){if(t)return e.slice();var n=e.length,r=QD?QD(n):new e.constructor(n);return e.copy(r),r}function cK(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n=0)&&(n[i]=e[i]);return n}function pj(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var gj=function(t){return Array.isArray(t)&&t.length===0},Wo=function(t){return typeof t=="function"},M4=function(t){return t!==null&&typeof t=="object"},kje=function(t){return String(Math.floor(Number(t)))===t},c6=function(t){return Object.prototype.toString.call(t)==="[object String]"},SK=function(t){return S.Children.count(t)===0},d6=function(t){return M4(t)&&Wo(t.then)};function Ui(e,t,n,r){r===void 0&&(r=0);for(var i=xK(t);e&&r=0?[]:{}}}return(o===0?e:i)[a[o]]===n?e:(n===void 0?delete i[a[o]]:i[a[o]]=n,o===0&&n===void 0&&delete r[a[o]],r)}function wK(e,t,n,r){n===void 0&&(n=new WeakMap),r===void 0&&(r={});for(var i=0,o=Object.keys(e);i0?Ie.map(function(Ue){return N(Ue,Ui(se,Ue))}):[Promise.resolve("DO_NOT_DELETE_YOU_WILL_BE_FIRED")];return Promise.all(He).then(function(Ue){return Ue.reduce(function(ye,je,vt){return je==="DO_NOT_DELETE_YOU_WILL_BE_FIRED"||je&&(ye=tu(ye,Ie[vt],je)),ye},{})})},[N]),B=S.useCallback(function(se){return Promise.all([W(se),m.validationSchema?I(se):{},m.validate?D(se):{}]).then(function(Ie){var He=Ie[0],Ue=Ie[1],ye=Ie[2],je=g7.all([He,Ue,ye],{arrayMerge:Aje});return je})},[m.validate,m.validationSchema,W,D,I]),K=qa(function(se){return se===void 0&&(se=L.values),O({type:"SET_ISVALIDATING",payload:!0}),B(se).then(function(Ie){return _.current&&(O({type:"SET_ISVALIDATING",payload:!1}),O({type:"SET_ERRORS",payload:Ie})),Ie})});S.useEffect(function(){a&&_.current===!0&&md(y.current,m.initialValues)&&K(y.current)},[a,K]);var ne=S.useCallback(function(se){var Ie=se&&se.values?se.values:y.current,He=se&&se.errors?se.errors:b.current?b.current:m.initialErrors||{},Ue=se&&se.touched?se.touched:w.current?w.current:m.initialTouched||{},ye=se&&se.status?se.status:E.current?E.current:m.initialStatus;y.current=Ie,b.current=He,w.current=Ue,E.current=ye;var je=function(){O({type:"RESET_FORM",payload:{isSubmitting:!!se&&!!se.isSubmitting,errors:He,touched:Ue,status:ye,values:Ie,isValidating:!!se&&!!se.isValidating,submitCount:se&&se.submitCount&&typeof se.submitCount=="number"?se.submitCount:0}})};if(m.onReset){var vt=m.onReset(L.values,Be);d6(vt)?vt.then(je):je()}else je()},[m.initialErrors,m.initialStatus,m.initialTouched]);S.useEffect(function(){_.current===!0&&!md(y.current,m.initialValues)&&(u&&(y.current=m.initialValues,ne()),a&&K(y.current))},[u,m.initialValues,ne,a,K]),S.useEffect(function(){u&&_.current===!0&&!md(b.current,m.initialErrors)&&(b.current=m.initialErrors||lh,O({type:"SET_ERRORS",payload:m.initialErrors||lh}))},[u,m.initialErrors]),S.useEffect(function(){u&&_.current===!0&&!md(w.current,m.initialTouched)&&(w.current=m.initialTouched||Ex,O({type:"SET_TOUCHED",payload:m.initialTouched||Ex}))},[u,m.initialTouched]),S.useEffect(function(){u&&_.current===!0&&!md(E.current,m.initialStatus)&&(E.current=m.initialStatus,O({type:"SET_STATUS",payload:m.initialStatus}))},[u,m.initialStatus,m.initialTouched]);var z=qa(function(se){if(k.current[se]&&Wo(k.current[se].validate)){var Ie=Ui(L.values,se),He=k.current[se].validate(Ie);return d6(He)?(O({type:"SET_ISVALIDATING",payload:!0}),He.then(function(Ue){return Ue}).then(function(Ue){O({type:"SET_FIELD_ERROR",payload:{field:se,value:Ue}}),O({type:"SET_ISVALIDATING",payload:!1})})):(O({type:"SET_FIELD_ERROR",payload:{field:se,value:He}}),Promise.resolve(He))}else if(m.validationSchema)return O({type:"SET_ISVALIDATING",payload:!0}),I(L.values,se).then(function(Ue){return Ue}).then(function(Ue){O({type:"SET_FIELD_ERROR",payload:{field:se,value:Ue[se]}}),O({type:"SET_ISVALIDATING",payload:!1})});return Promise.resolve()}),$=S.useCallback(function(se,Ie){var He=Ie.validate;k.current[se]={validate:He}},[]),V=S.useCallback(function(se){delete k.current[se]},[]),X=qa(function(se,Ie){O({type:"SET_TOUCHED",payload:se});var He=Ie===void 0?i:Ie;return He?K(L.values):Promise.resolve()}),Q=S.useCallback(function(se){O({type:"SET_ERRORS",payload:se})},[]),G=qa(function(se,Ie){var He=Wo(se)?se(L.values):se;O({type:"SET_VALUES",payload:He});var Ue=Ie===void 0?n:Ie;return Ue?K(He):Promise.resolve()}),Y=S.useCallback(function(se,Ie){O({type:"SET_FIELD_ERROR",payload:{field:se,value:Ie}})},[]),ee=qa(function(se,Ie,He){O({type:"SET_FIELD_VALUE",payload:{field:se,value:Ie}});var Ue=He===void 0?n:He;return Ue?K(tu(L.values,se,Ie)):Promise.resolve()}),fe=S.useCallback(function(se,Ie){var He=Ie,Ue=se,ye;if(!c6(se)){se.persist&&se.persist();var je=se.target?se.target:se.currentTarget,vt=je.type,Mt=je.name,Me=je.id,Ct=je.value,zt=je.checked,$n=je.outerHTML,qe=je.options,pt=je.multiple;He=Ie||Mt||Me,Ue=/number|range/.test(vt)?(ye=parseFloat(Ct),isNaN(ye)?"":ye):/checkbox/.test(vt)?Rje(Ui(L.values,He),zt,Ct):qe&&pt?Oje(qe):Ct}He&&ee(He,Ue)},[ee,L.values]),_e=qa(function(se){if(c6(se))return function(Ie){return fe(Ie,se)};fe(se)}),we=qa(function(se,Ie,He){Ie===void 0&&(Ie=!0),O({type:"SET_FIELD_TOUCHED",payload:{field:se,value:Ie}});var Ue=He===void 0?i:He;return Ue?K(L.values):Promise.resolve()}),xe=S.useCallback(function(se,Ie){se.persist&&se.persist();var He=se.target,Ue=He.name,ye=He.id,je=He.outerHTML,vt=Ie||Ue||ye;we(vt,!0)},[we]),Le=qa(function(se){if(c6(se))return function(Ie){return xe(Ie,se)};xe(se)}),Se=S.useCallback(function(se){Wo(se)?O({type:"SET_FORMIK_STATE",payload:se}):O({type:"SET_FORMIK_STATE",payload:function(){return se}})},[]),Je=S.useCallback(function(se){O({type:"SET_STATUS",payload:se})},[]),Xe=S.useCallback(function(se){O({type:"SET_ISSUBMITTING",payload:se})},[]),tt=qa(function(){return O({type:"SUBMIT_ATTEMPT"}),K().then(function(se){var Ie=se instanceof Error,He=!Ie&&Object.keys(se).length===0;if(He){var Ue;try{if(Ue=Ae(),Ue===void 0)return}catch(ye){throw ye}return Promise.resolve(Ue).then(function(ye){return _.current&&O({type:"SUBMIT_SUCCESS"}),ye}).catch(function(ye){if(_.current)throw O({type:"SUBMIT_FAILURE"}),ye})}else if(_.current&&(O({type:"SUBMIT_FAILURE"}),Ie))throw se})}),yt=qa(function(se){se&&se.preventDefault&&Wo(se.preventDefault)&&se.preventDefault(),se&&se.stopPropagation&&Wo(se.stopPropagation)&&se.stopPropagation(),tt().catch(function(Ie){console.warn("Warning: An unhandled error was caught from submitForm()",Ie)})}),Be={resetForm:ne,validateForm:K,validateField:z,setErrors:Q,setFieldError:Y,setFieldTouched:we,setFieldValue:ee,setStatus:Je,setSubmitting:Xe,setTouched:X,setValues:G,setFormikState:Se,submitForm:tt},Ae=qa(function(){return d(L.values,Be)}),bt=qa(function(se){se&&se.preventDefault&&Wo(se.preventDefault)&&se.preventDefault(),se&&se.stopPropagation&&Wo(se.stopPropagation)&&se.stopPropagation(),ne()}),Fe=S.useCallback(function(se){return{value:Ui(L.values,se),error:Ui(L.errors,se),touched:!!Ui(L.touched,se),initialValue:Ui(y.current,se),initialTouched:!!Ui(w.current,se),initialError:Ui(b.current,se)}},[L.errors,L.touched,L.values]),at=S.useCallback(function(se){return{setValue:function(He,Ue){return ee(se,He,Ue)},setTouched:function(He,Ue){return we(se,He,Ue)},setError:function(He){return Y(se,He)}}},[ee,we,Y]),jt=S.useCallback(function(se){var Ie=M4(se),He=Ie?se.name:se,Ue=Ui(L.values,He),ye={name:He,value:Ue,onChange:_e,onBlur:Le};if(Ie){var je=se.type,vt=se.value,Mt=se.as,Me=se.multiple;je==="checkbox"?vt===void 0?ye.checked=!!Ue:(ye.checked=!!(Array.isArray(Ue)&&~Ue.indexOf(vt)),ye.value=vt):je==="radio"?(ye.checked=Ue===vt,ye.value=vt):Mt==="select"&&Me&&(ye.value=ye.value||[],ye.multiple=!0)}return ye},[Le,_e,L.values]),mt=S.useMemo(function(){return!md(y.current,L.values)},[y.current,L.values]),Zt=S.useMemo(function(){return typeof s<"u"?mt?L.errors&&Object.keys(L.errors).length===0:s!==!1&&Wo(s)?s(m):s:L.errors&&Object.keys(L.errors).length===0},[s,mt,L.errors,m]),on=Vn({},L,{initialValues:y.current,initialErrors:b.current,initialTouched:w.current,initialStatus:E.current,handleBlur:Le,handleChange:_e,handleReset:bt,handleSubmit:yt,resetForm:ne,setErrors:Q,setFormikState:Se,setFieldTouched:we,setFieldValue:ee,setFieldError:Y,setStatus:Je,setSubmitting:Xe,setTouched:X,setValues:G,submitForm:tt,validateForm:K,validateField:z,isValid:Zt,dirty:mt,unregisterField:V,registerField:$,getFieldProps:jt,getFieldMeta:Fe,getFieldHelpers:at,validateOnBlur:i,validateOnChange:n,validateOnMount:a});return on}function E2(e){var t=Tje(e),n=e.component,r=e.children,i=e.render,o=e.innerRef;return S.useImperativeHandle(o,function(){return t}),S.createElement(Eje,{value:t},n?S.createElement(n,t):i?i(t):r?Wo(r)?r(t):SK(r)?null:S.Children.only(r):null)}function Mje(e){var t={};if(e.inner){if(e.inner.length===0)return tu(t,e.path,e.message);for(var i=e.inner,n=Array.isArray(i),r=0,i=n?i:i[Symbol.iterator]();;){var o;if(n){if(r>=i.length)break;o=i[r++]}else{if(r=i.next(),r.done)break;o=r.value}var a=o;Ui(t,a.path)||(t=tu(t,a.path,a.message))}}return t}function Lje(e,t,n,r){n===void 0&&(n=!1),r===void 0&&(r={});var i=x7(e);return t[n?"validateSync":"validate"](i,{abortEarly:!1,context:r})}function x7(e){var t=Array.isArray(e)?[]:{};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=String(n);Array.isArray(e[r])===!0?t[r]=e[r].map(function(i){return Array.isArray(i)===!0||WD(i)?x7(i):i!==""?i:void 0}):WD(e[r])?t[r]=x7(e[r]):t[r]=e[r]!==""?e[r]:void 0}return t}function Aje(e,t,n){var r=e.slice();return t.forEach(function(o,a){if(typeof r[a]>"u"){var s=n.clone!==!1,l=s&&n.isMergeableObject(o);r[a]=l?g7(Array.isArray(o)?[]:{},o,n):o}else n.isMergeableObject(o)?r[a]=g7(e[a],o,n):e.indexOf(o)===-1&&r.push(o)}),r}function Oje(e){return Array.from(e).filter(function(t){return t.selected}).map(function(t){return t.value})}function Rje(e,t,n){if(typeof e=="boolean")return Boolean(t);var r=[],i=!1,o=-1;if(Array.isArray(e))r=e,o=e.indexOf(n),i=o>=0;else if(!n||n=="true"||n=="false")return Boolean(t);return t&&n&&!i?r.concat(n):i?r.slice(0,o).concat(r.slice(o+1)):r}var Ije=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?S.useLayoutEffect:S.useEffect;function qa(e){var t=S.useRef(e);return Ije(function(){t.current=e}),S.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;ir?i:r},0);return Array.from(Vn({},t,{length:n+1}))}else return[]},Fje=function(e){_je(t,e);function t(r){var i;return i=e.call(this,r)||this,i.updateArrayField=function(o,a,s){var l=i.props,u=l.name,d=l.formik.setFormikState;d(function(p){var m=typeof s=="function"?s:o,y=typeof a=="function"?a:o,b=tu(p.values,u,o(Ui(p.values,u))),w=s?m(Ui(p.errors,u)):void 0,E=a?y(Ui(p.touched,u)):void 0;return gj(w)&&(w=void 0),gj(E)&&(E=void 0),Vn({},p,{values:b,errors:s?tu(p.errors,u,w):p.errors,touched:a?tu(p.touched,u,E):p.touched})})},i.push=function(o){return i.updateArrayField(function(a){return[].concat(o0(a),[Cje(o)])},!1,!1)},i.handlePush=function(o){return function(){return i.push(o)}},i.swap=function(o,a){return i.updateArrayField(function(s){return Nje(s,o,a)},!0,!0)},i.handleSwap=function(o,a){return function(){return i.swap(o,a)}},i.move=function(o,a){return i.updateArrayField(function(s){return jje(s,o,a)},!0,!0)},i.handleMove=function(o,a){return function(){return i.move(o,a)}},i.insert=function(o,a){return i.updateArrayField(function(s){return f6(s,o,a)},function(s){return f6(s,o,null)},function(s){return f6(s,o,null)})},i.handleInsert=function(o,a){return function(){return i.insert(o,a)}},i.replace=function(o,a){return i.updateArrayField(function(s){return $je(s,o,a)},!1,!1)},i.handleReplace=function(o,a){return function(){return i.replace(o,a)}},i.unshift=function(o){var a=-1;return i.updateArrayField(function(s){var l=s?[o].concat(s):[o];return a<0&&(a=l.length),l},function(s){var l=s?[null].concat(s):[null];return a<0&&(a=l.length),l},function(s){var l=s?[null].concat(s):[null];return a<0&&(a=l.length),l}),a},i.handleUnshift=function(o){return function(){return i.unshift(o)}},i.handleRemove=function(o){return function(){return i.remove(o)}},i.handlePop=function(){return function(){return i.pop()}},i.remove=i.remove.bind(pj(i)),i.pop=i.pop.bind(pj(i)),i}var n=t.prototype;return n.componentDidUpdate=function(i){this.props.validateOnChange&&this.props.formik.validateOnChange&&!md(Ui(i.formik.values,i.name),Ui(this.props.formik.values,this.props.name))&&this.props.formik.validateForm(this.props.formik.values)},n.remove=function(i){var o;return this.updateArrayField(function(a){var s=a?o0(a):[];return o||(o=s[i]),Wo(s.splice)&&s.splice(i,1),s},!0,!0),o},n.pop=function(){var i;return this.updateArrayField(function(o){var a=o;return i||(i=a&&a.pop&&a.pop()),a},!0,!0),i},n.render=function(){var i={push:this.push,pop:this.pop,swap:this.swap,move:this.move,insert:this.insert,replace:this.replace,unshift:this.unshift,remove:this.remove,handlePush:this.handlePush,handlePop:this.handlePop,handleSwap:this.handleSwap,handleMove:this.handleMove,handleInsert:this.handleInsert,handleReplace:this.handleReplace,handleUnshift:this.handleUnshift,handleRemove:this.handleRemove},o=this.props,a=o.component,s=o.render,l=o.children,u=o.name,d=o.formik,p=Ph(d,["validate","validationSchema"]),m=Vn({},i,{form:p,name:u});return a?S.createElement(a,m):s?s(m):l?typeof l=="function"?l(m):SK(l)?null:S.Children.only(l):null},t}(S.Component);Fje.defaultProps={validateOnChange:!0};function Bje(e){const{model:t}=e,r=le(b=>b.system.model_list)[t],i=Te(),{t:o}=De(),a=le(b=>b.system.isProcessing),s=le(b=>b.system.isConnected),[l,u]=S.useState("same"),[d,p]=S.useState("");S.useEffect(()=>{u("same")},[t]);const m=()=>{u("same")},y=()=>{i(m_e({model_name:t,save_location:l,custom_location:l==="custom"&&d!==""?d:null}))};return g.jsxs(C4,{title:`${o("modelManager.convert")} ${t}`,acceptCallback:y,cancelCallback:m,acceptButtonText:`${o("modelManager.convert")}`,triggerComponent:g.jsxs(On,{size:"sm","aria-label":o("modelManager.convertToDiffusers"),isDisabled:r.status==="active"||a||!s,className:" modal-close-btn",marginRight:"2rem",children:["🧨 ",o("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[g.jsxs(Ee,{flexDirection:"column",rowGap:4,children:[g.jsx(Dt,{children:o("modelManager.convertToDiffusersHelpText1")}),g.jsxs(tH,{children:[g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText2")}),g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText3")}),g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText4")}),g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText5")})]}),g.jsx(Dt,{children:o("modelManager.convertToDiffusersHelpText6")})]}),g.jsxs(Ee,{flexDir:"column",gap:4,children:[g.jsxs(Ee,{marginTop:"1rem",flexDir:"column",gap:2,children:[g.jsx(Dt,{fontWeight:"bold",children:o("modelManager.convertToDiffusersSaveLocation")}),g.jsx(Oy,{value:l,onChange:b=>u(b),children:g.jsxs(Ee,{gap:4,children:[g.jsx(So,{value:"same",children:g.jsx(si,{label:"Save converted model in the same folder",children:o("modelManager.sameFolder")})}),g.jsx(So,{value:"root",children:g.jsx(si,{label:"Save converted model in the InvokeAI root folder",children:o("modelManager.invokeRoot")})}),g.jsx(So,{value:"custom",children:g.jsx(si,{label:"Save converted model in a custom folder",children:o("modelManager.custom")})})]})})]}),l==="custom"&&g.jsxs(Ee,{flexDirection:"column",rowGap:2,children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"sm",color:"var(--text-color-secondary)",children:o("modelManager.customSaveLocation")}),g.jsx(qn,{value:d,onChange:b=>{b.target.value!==""&&p(b.target.value)},width:"25rem"})]})]})]})}const zje=lt([hr],e=>{const{openModel:t,model_list:n}=e;return{model_list:n,openModel:t}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),mj=64,vj=2048;function Hje(){const{openModel:e,model_list:t}=le(zje),n=le(l=>l.system.isProcessing),r=Te(),{t:i}=De(),[o,a]=S.useState({name:"",description:"",config:"configs/stable-diffusion/v1-inference.yaml",weights:"",vae:"",width:512,height:512,default:!1,format:"ckpt"});S.useEffect(()=>{var l,u,d,p,m,y,b;if(e){const w=Ce.pickBy(t,(E,_)=>Ce.isEqual(_,e));a({name:e,description:(l=w[e])==null?void 0:l.description,config:(u=w[e])==null?void 0:u.config,weights:(d=w[e])==null?void 0:d.weights,vae:(p=w[e])==null?void 0:p.vae,width:(m=w[e])==null?void 0:m.width,height:(y=w[e])==null?void 0:y.height,default:(b=w[e])==null?void 0:b.default,format:"ckpt"})}},[t,e]);const s=l=>{r(v2({...l,width:Number(l.width),height:Number(l.height)}))};return e?g.jsxs(Ee,{flexDirection:"column",rowGap:"1rem",width:"100%",children:[g.jsxs(Ee,{alignItems:"center",gap:4,justifyContent:"space-between",children:[g.jsx(Dt,{fontSize:"lg",fontWeight:"bold",children:e}),g.jsx(Bje,{model:e})]}),g.jsx(Ee,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",paddingRight:"2rem",children:g.jsx(E2,{enableReinitialize:!0,initialValues:o,onSubmit:s,children:({handleSubmit:l,errors:u,touched:d})=>g.jsx("form",{onSubmit:l,children:g.jsxs(hn,{rowGap:"0.5rem",alignItems:"start",children:[g.jsxs(sn,{isInvalid:!!u.description&&d.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:i("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"lg"}),u.description&&d.description?g.jsx(lr,{children:u.description}):g.jsx(sr,{margin:0,children:i("modelManager.descriptionValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.config&&d.config,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:i("modelManager.config")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"config",name:"config",type:"text",width:"lg"}),u.config&&d.config?g.jsx(lr,{children:u.config}):g.jsx(sr,{margin:0,children:i("modelManager.configValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.weights&&d.weights,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:i("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"weights",name:"weights",type:"text",width:"lg"}),u.weights&&d.weights?g.jsx(lr,{children:u.weights}):g.jsx(sr,{margin:0,children:i("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.vae&&d.vae,children:[g.jsx(Sn,{htmlFor:"vae",fontSize:"sm",children:i("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae",name:"vae",type:"text",width:"lg"}),u.vae&&d.vae?g.jsx(lr,{children:u.vae}):g.jsx(sr,{margin:0,children:i("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(l2,{width:"100%",children:[g.jsxs(sn,{isInvalid:!!u.width&&d.width,children:[g.jsx(Sn,{htmlFor:"width",fontSize:"sm",children:i("modelManager.width")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"width",name:"width",children:({field:p,form:m})=>g.jsx(lc,{id:"width",name:"width",min:mj,max:vj,step:64,value:m.values.width,onChange:y=>m.setFieldValue(p.name,Number(y))})}),u.width&&d.width?g.jsx(lr,{children:u.width}):g.jsx(sr,{margin:0,children:i("modelManager.widthValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.height&&d.height,children:[g.jsx(Sn,{htmlFor:"height",fontSize:"sm",children:i("modelManager.height")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"height",name:"height",children:({field:p,form:m})=>g.jsx(lc,{id:"height",name:"height",min:mj,max:vj,step:64,value:m.values.height,onChange:y=>m.setFieldValue(p.name,Number(y))})}),u.height&&d.height?g.jsx(lr,{children:u.height}):g.jsx(sr,{margin:0,children:i("modelManager.heightValidationMsg")})]})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:i("modelManager.updateModel")})]})})})})]}):g.jsx(Ee,{width:"100%",justifyContent:"center",alignItems:"center",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",children:g.jsx(Dt,{fontWeight:"bold",color:"var(--subtext-color-bright)",children:"Pick A Model To Edit"})})}const Wje=lt([hr],e=>{const{openModel:t,model_list:n}=e;return{model_list:n,openModel:t}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}});function Uje(){const{openModel:e,model_list:t}=le(Wje),n=le(l=>l.system.isProcessing),r=Te(),{t:i}=De(),[o,a]=S.useState({name:"",description:"",repo_id:"",path:"",vae:{repo_id:"",path:""},default:!1,format:"diffusers"});S.useEffect(()=>{var l,u,d,p,m,y,b,w,E,_,k,T,L,O,D,I;if(e){const N=Ce.pickBy(t,(W,B)=>Ce.isEqual(B,e));a({name:e,description:(l=N[e])==null?void 0:l.description,path:(u=N[e])!=null&&u.path&&((d=N[e])==null?void 0:d.path)!=="None"?(p=N[e])==null?void 0:p.path:"",repo_id:(m=N[e])!=null&&m.repo_id&&((y=N[e])==null?void 0:y.repo_id)!=="None"?(b=N[e])==null?void 0:b.repo_id:"",vae:{repo_id:(E=(w=N[e])==null?void 0:w.vae)!=null&&E.repo_id?(k=(_=N[e])==null?void 0:_.vae)==null?void 0:k.repo_id:"",path:(L=(T=N[e])==null?void 0:T.vae)!=null&&L.path?(D=(O=N[e])==null?void 0:O.vae)==null?void 0:D.path:""},default:(I=N[e])==null?void 0:I.default,format:"diffusers"})}},[t,e]);const s=l=>{const u=l;l.path===""&&delete u.path,l.repo_id===""&&delete u.repo_id,l.vae.path===""&&delete u.vae.path,l.vae.repo_id===""&&delete u.vae.repo_id,r(v2(l))};return e?g.jsxs(Ee,{flexDirection:"column",rowGap:"1rem",width:"100%",children:[g.jsx(Ee,{alignItems:"center",children:g.jsx(Dt,{fontSize:"lg",fontWeight:"bold",children:e})}),g.jsx(Ee,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",paddingRight:"2rem",children:g.jsx(E2,{enableReinitialize:!0,initialValues:o,onSubmit:s,children:({handleSubmit:l,errors:u,touched:d})=>{var p,m,y,b,w,E,_,k,T,L;return g.jsx("form",{onSubmit:l,children:g.jsxs(hn,{rowGap:"0.5rem",alignItems:"start",children:[g.jsxs(sn,{isInvalid:!!u.description&&d.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:i("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"lg"}),u.description&&d.description?g.jsx(lr,{children:u.description}):g.jsx(sr,{margin:0,children:i("modelManager.descriptionValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.path&&d.path,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"path",fontSize:"sm",children:i("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"path",name:"path",type:"text",width:"lg"}),u.path&&d.path?g.jsx(lr,{children:u.path}):g.jsx(sr,{margin:0,children:i("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.repo_id&&d.repo_id,children:[g.jsx(Sn,{htmlFor:"repo_id",fontSize:"sm",children:i("modelManager.repo_id")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"repo_id",name:"repo_id",type:"text",width:"lg"}),u.repo_id&&d.repo_id?g.jsx(lr,{children:u.repo_id}):g.jsx(sr,{margin:0,children:i("modelManager.repoIDValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!((p=u.vae)!=null&&p.path)&&((m=d.vae)==null?void 0:m.path),children:[g.jsx(Sn,{htmlFor:"vae.path",fontSize:"sm",children:i("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.path",name:"vae.path",type:"text",width:"lg"}),(y=u.vae)!=null&&y.path&&((b=d.vae)!=null&&b.path)?g.jsx(lr,{children:(w=u.vae)==null?void 0:w.path}):g.jsx(sr,{margin:0,children:i("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!((E=u.vae)!=null&&E.repo_id)&&((_=d.vae)==null?void 0:_.repo_id),children:[g.jsx(Sn,{htmlFor:"vae.repo_id",fontSize:"sm",children:i("modelManager.vaeRepoID")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.repo_id",name:"vae.repo_id",type:"text",width:"lg"}),(k=u.vae)!=null&&k.repo_id&&((T=d.vae)!=null&&T.repo_id)?g.jsx(lr,{children:(L=u.vae)==null?void 0:L.repo_id}):g.jsx(sr,{margin:0,children:i("modelManager.vaeRepoIDValidationMsg")})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:i("modelManager.updateModel")})]})})}})})]}):g.jsx(Ee,{width:"100%",justifyContent:"center",alignItems:"center",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",children:g.jsx(Dt,{fontWeight:"bold",color:"var(--subtext-color-bright)",children:"Pick A Model To Edit"})})}const _K=lt([hr],e=>{const{model_list:t}=e,n=[];return Ce.forEach(t,r=>{n.push(r.weights)}),n});function Vje(){const{t:e}=De();return g.jsx(ao,{position:"absolute",zIndex:2,right:4,top:4,fontSize:"0.7rem",fontWeight:"bold",backgroundColor:"var(--accent-color)",padding:"0.2rem 0.5rem",borderRadius:"0.2rem",alignItems:"center",children:e("modelManager.modelExists")})}function yj({model:e,modelsToAdd:t,setModelsToAdd:n}){const r=le(_K),i=o=>{t.includes(o.target.value)?n(Ce.remove(t,a=>a!==o.target.value)):n([...t,o.target.value])};return g.jsxs(ao,{position:"relative",children:[r.includes(e.location)?g.jsx(Vje,{}):null,g.jsx(Gn,{value:e.name,label:g.jsx(g.Fragment,{children:g.jsxs(hn,{alignItems:"start",children:[g.jsx("p",{style:{fontWeight:"bold"},children:e.name}),g.jsx("p",{style:{fontStyle:"italic"},children:e.location})]})}),isChecked:t.includes(e.name),isDisabled:r.includes(e.location),onChange:i,padding:"1rem",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",_checked:{backgroundColor:"var(--accent-color)",color:"var(--text-color)"},_disabled:{backgroundColor:"var(--background-color-secondary)"}})]})}function Gje(){const e=Te(),{t}=De(),n=le(T=>T.system.searchFolder),r=le(T=>T.system.foundModels),i=le(_K),o=le(T=>T.ui.shouldShowExistingModelsInSearch),a=le(T=>T.system.isProcessing),[s,l]=Ke.useState([]),[u,d]=Ke.useState("v1"),[p,m]=Ke.useState(""),y=()=>{e($U(null)),e(FU(null)),l([])},b=T=>{e(EI(T.checkpointFolder))},w=()=>{l([]),r&&r.forEach(T=>{i.includes(T.location)||l(L=>[...L,T.name])})},E=()=>{l([])},_=()=>{const T=r==null?void 0:r.filter(O=>s.includes(O.name)),L={v1:"configs/stable-diffusion/v1-inference.yaml",v2_base:"configs/stable-diffusion/v2-inference-v.yaml",v2_768:"configs/stable-diffusion/v2-inference-v.yaml",inpainting:"configs/stable-diffusion/v1-inpainting-inference.yaml",custom:p};T==null||T.forEach(O=>{const D={name:O.name,description:"",config:L[u],weights:O.location,vae:"",width:512,height:512,default:!1,format:"ckpt"};e(v2(D))}),l([])},k=()=>{const T=[],L=[];return r&&r.forEach((O,D)=>{i.includes(O.location)?L.push(g.jsx(yj,{model:O,modelsToAdd:s,setModelsToAdd:l},D)):T.push(g.jsx(yj,{model:O,modelsToAdd:s,setModelsToAdd:l},D))}),g.jsxs(g.Fragment,{children:[T,o&&L]})};return g.jsxs(g.Fragment,{children:[n?g.jsxs(Ee,{flexDirection:"column",padding:"1rem",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",rowGap:"0.5rem",position:"relative",children:[g.jsx("p",{style:{fontWeight:"bold",fontSize:"0.8rem",backgroundColor:"var(--background-color-secondary)",padding:"0.2rem 1rem",width:"max-content",borderRadius:"0.2rem"},children:t("modelManager.checkpointFolder")}),g.jsx("p",{style:{fontWeight:"bold",fontSize:"0.8rem",maxWidth:"80%"},children:n}),g.jsx(Ye,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:g.jsx(f4,{}),position:"absolute",right:16,fontSize:18,disabled:a,onClick:()=>e(EI(n))}),g.jsx(Ye,{"aria-label":t("modelManager.clearCheckpointFolder"),icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),position:"absolute",right:5,onClick:y})]}):g.jsx(E2,{initialValues:{checkpointFolder:""},onSubmit:T=>{b(T)},children:({handleSubmit:T})=>g.jsx("form",{onSubmit:T,children:g.jsxs(l2,{columnGap:"0.5rem",children:[g.jsx(sn,{isRequired:!0,width:"max-content",children:g.jsx(ur,{as:qn,id:"checkpointFolder",name:"checkpointFolder",type:"text",width:"lg",size:"md",label:t("modelManager.checkpointFolder")})}),g.jsx(Ye,{icon:g.jsx(o7e,{}),"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),type:"submit",disabled:a})]})})}),r&&g.jsxs(Ee,{flexDirection:"column",rowGap:"1rem",children:[g.jsxs(Ee,{justifyContent:"space-between",alignItems:"center",children:[g.jsxs("p",{children:[t("modelManager.modelsFound"),": ",r.length]}),g.jsxs("p",{children:[t("modelManager.selected"),": ",s.length]})]}),g.jsxs(Ee,{columnGap:"0.5rem",justifyContent:"space-between",children:[g.jsxs(Ee,{columnGap:"0.5rem",children:[g.jsx(On,{isDisabled:s.length===r.length,onClick:w,children:t("modelManager.selectAll")}),g.jsx(On,{isDisabled:s.length===0,onClick:E,children:t("modelManager.deselectAll")}),g.jsx(Gn,{label:t("modelManager.showExisting"),isChecked:o,onChange:()=>e(z4e(!o))})]}),g.jsx(On,{isDisabled:s.length===0,onClick:_,backgroundColor:s.length>0?"var(--accent-color) !important":"",children:t("modelManager.addSelected")})]}),g.jsxs(Ee,{gap:4,backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",flexDirection:"column",children:[g.jsxs(Ee,{gap:4,children:[g.jsx(Dt,{fontWeight:"bold",color:"var(--text-color-secondary)",children:"Pick Model Type:"}),g.jsx(Oy,{value:u,onChange:T=>d(T),defaultValue:"v1",name:"model_type",children:g.jsxs(Ee,{gap:4,children:[g.jsx(So,{value:"v1",children:t("modelManager.v1")}),g.jsx(So,{value:"v2_base",children:t("modelManager.v2_base")}),g.jsx(So,{value:"v2_768",children:t("modelManager.v2_768")}),g.jsx(So,{value:"inpainting",children:t("modelManager.inpainting")}),g.jsx(So,{value:"custom",children:t("modelManager.customConfig")})]})})]}),u==="custom"&&g.jsxs(Ee,{flexDirection:"column",rowGap:2,children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"sm",color:"var(--text-color-secondary)",children:t("modelManager.pathToCustomConfig")}),g.jsx(qn,{value:p,onChange:T=>{T.target.value!==""&&m(T.target.value)},width:"42.5rem"})]})]}),g.jsxs(Ee,{rowGap:"1rem",flexDirection:"column",maxHeight:"18rem",overflowY:"scroll",paddingRight:"1rem",paddingLeft:"0.2rem",borderRadius:"0.2rem",children:[r.length>0?s.length===0&&g.jsx(Dt,{fontWeight:"bold",fontSize:14,padding:"0.5rem",borderRadius:"0.2rem",margin:"0 0.5rem 0 1rem",textAlign:"center",backgroundColor:"var(--notice-color)",boxShadow:"0 0 200px 6px var(--notice-color)",marginTop:"1rem",width:"max-content",children:t("modelManager.selectAndAdd")}):g.jsx(Dt,{fontWeight:"bold",fontSize:14,padding:"0.5rem",borderRadius:"0.2rem",textAlign:"center",backgroundColor:"var(--status-bad-color)",children:t("modelManager.noModelsFound")}),k()]})]})]})}const bj=64,xj=2048;function qje(){const e=Te(),{t}=De(),n=le(u=>u.system.isProcessing);function r(u){return/\s/.test(u)}function i(u){let d;return r(u)&&(d=t("modelManager.cannotUseSpaces")),d}const o={name:"",description:"",config:"configs/stable-diffusion/v1-inference.yaml",weights:"",vae:"",width:512,height:512,format:"ckpt",default:!1},a=u=>{e(v2(u)),e(Bh(null))},[s,l]=Ke.useState(!1);return g.jsxs(g.Fragment,{children:[g.jsx(Ye,{"aria-label":t("common.back"),tooltip:t("common.back"),onClick:()=>e(Bh(null)),width:"max-content",position:"absolute",zIndex:1,size:"sm",right:12,top:3,icon:g.jsx(GV,{})}),g.jsx(Gje,{}),g.jsx(Gn,{label:t("modelManager.addManually"),isChecked:s,onChange:()=>l(!s)}),s&&g.jsx(E2,{initialValues:o,onSubmit:a,children:({handleSubmit:u,errors:d,touched:p})=>g.jsx("form",{onSubmit:u,children:g.jsxs(hn,{rowGap:"0.5rem",children:[g.jsx(Dt,{fontSize:20,fontWeight:"bold",alignSelf:"start",children:t("modelManager.manual")}),g.jsxs(sn,{isInvalid:!!d.name&&p.name,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"name",fontSize:"sm",children:t("modelManager.name")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"name",name:"name",type:"text",validate:i,width:"2xl"}),d.name&&p.name?g.jsx(lr,{children:d.name}):g.jsx(sr,{margin:0,children:t("modelManager.nameValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.description&&p.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:t("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"2xl"}),d.description&&p.description?g.jsx(lr,{children:d.description}):g.jsx(sr,{margin:0,children:t("modelManager.descriptionValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.config&&p.config,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:t("modelManager.config")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"config",name:"config",type:"text",width:"2xl"}),d.config&&p.config?g.jsx(lr,{children:d.config}):g.jsx(sr,{margin:0,children:t("modelManager.configValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.weights&&p.weights,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:t("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"weights",name:"weights",type:"text",width:"2xl"}),d.weights&&p.weights?g.jsx(lr,{children:d.weights}):g.jsx(sr,{margin:0,children:t("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.vae&&p.vae,children:[g.jsx(Sn,{htmlFor:"vae",fontSize:"sm",children:t("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae",name:"vae",type:"text",width:"2xl"}),d.vae&&p.vae?g.jsx(lr,{children:d.vae}):g.jsx(sr,{margin:0,children:t("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(l2,{width:"100%",children:[g.jsxs(sn,{isInvalid:!!d.width&&p.width,children:[g.jsx(Sn,{htmlFor:"width",fontSize:"sm",children:t("modelManager.width")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"width",name:"width",children:({field:m,form:y})=>g.jsx(lc,{id:"width",name:"width",min:bj,max:xj,step:64,width:"90%",value:y.values.width,onChange:b=>y.setFieldValue(m.name,Number(b))})}),d.width&&p.width?g.jsx(lr,{children:d.width}):g.jsx(sr,{margin:0,children:t("modelManager.widthValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.height&&p.height,children:[g.jsx(Sn,{htmlFor:"height",fontSize:"sm",children:t("modelManager.height")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"height",name:"height",children:({field:m,form:y})=>g.jsx(lc,{id:"height",name:"height",min:bj,max:xj,width:"90%",step:64,value:y.values.height,onChange:b=>y.setFieldValue(m.name,Number(b))})}),d.height&&p.height?g.jsx(lr,{children:d.height}):g.jsx(sr,{margin:0,children:t("modelManager.heightValidationMsg")})]})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:t("modelManager.addModel")})]})})})]})}function Px({children:e}){return g.jsx(Ee,{flexDirection:"column",backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.5rem",rowGap:"1rem",width:"100%",children:e})}function Kje(){const e=Te(),{t}=De(),n=le(s=>s.system.isProcessing);function r(s){return/\s/.test(s)}function i(s){let l;return r(s)&&(l=t("modelManager.cannotUseSpaces")),l}const o={name:"",description:"",repo_id:"",path:"",format:"diffusers",default:!1,vae:{repo_id:"",path:""}},a=s=>{const l=s;s.path===""&&delete l.path,s.repo_id===""&&delete l.repo_id,s.vae.path===""&&delete l.vae.path,s.vae.repo_id===""&&delete l.vae.repo_id,e(v2(l)),e(Bh(null))};return g.jsxs(Ee,{children:[g.jsx(Ye,{"aria-label":t("common.back"),tooltip:t("common.back"),onClick:()=>e(Bh(null)),width:"max-content",position:"absolute",zIndex:1,size:"sm",right:12,top:3,icon:g.jsx(GV,{})}),g.jsx(E2,{initialValues:o,onSubmit:a,children:({handleSubmit:s,errors:l,touched:u})=>{var d,p,m,y,b,w,E,_,k,T;return g.jsx("form",{onSubmit:s,children:g.jsxs(hn,{rowGap:"0.5rem",children:[g.jsx(Px,{children:g.jsxs(sn,{isInvalid:!!l.name&&u.name,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"name",fontSize:"sm",children:t("modelManager.name")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"name",name:"name",type:"text",validate:i,width:"2xl",isRequired:!0}),l.name&&u.name?g.jsx(lr,{children:l.name}):g.jsx(sr,{margin:0,children:t("modelManager.nameValidationMsg")})]})]})}),g.jsx(Px,{children:g.jsxs(sn,{isInvalid:!!l.description&&u.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:t("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"2xl",isRequired:!0}),l.description&&u.description?g.jsx(lr,{children:l.description}):g.jsx(sr,{margin:0,children:t("modelManager.descriptionValidationMsg")})]})]})}),g.jsxs(Px,{children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"sm",children:t("modelManager.formMessageDiffusersModelLocation")}),g.jsx(Dt,{fontSize:"sm",fontStyle:"italic",color:"var(--text-color-secondary)",children:t("modelManager.formMessageDiffusersModelLocationDesc")}),g.jsxs(sn,{isInvalid:!!l.path&&u.path,children:[g.jsx(Sn,{htmlFor:"path",fontSize:"sm",children:t("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"path",name:"path",type:"text",width:"2xl"}),l.path&&u.path?g.jsx(lr,{children:l.path}):g.jsx(sr,{margin:0,children:t("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!l.repo_id&&u.repo_id,children:[g.jsx(Sn,{htmlFor:"repo_id",fontSize:"sm",children:t("modelManager.repo_id")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"repo_id",name:"repo_id",type:"text",width:"2xl"}),l.repo_id&&u.repo_id?g.jsx(lr,{children:l.repo_id}):g.jsx(sr,{margin:0,children:t("modelManager.repoIDValidationMsg")})]})]})]}),g.jsxs(Px,{children:[g.jsx(Dt,{fontWeight:"bold",children:t("modelManager.formMessageDiffusersVAELocation")}),g.jsx(Dt,{fontSize:"sm",fontStyle:"italic",color:"var(--text-color-secondary)",children:t("modelManager.formMessageDiffusersVAELocationDesc")}),g.jsxs(sn,{isInvalid:!!((d=l.vae)!=null&&d.path)&&((p=u.vae)==null?void 0:p.path),children:[g.jsx(Sn,{htmlFor:"vae.path",fontSize:"sm",children:t("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.path",name:"vae.path",type:"text",width:"2xl"}),(m=l.vae)!=null&&m.path&&((y=u.vae)!=null&&y.path)?g.jsx(lr,{children:(b=l.vae)==null?void 0:b.path}):g.jsx(sr,{margin:0,children:t("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!((w=l.vae)!=null&&w.repo_id)&&((E=u.vae)==null?void 0:E.repo_id),children:[g.jsx(Sn,{htmlFor:"vae.repo_id",fontSize:"sm",children:t("modelManager.vaeRepoID")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.repo_id",name:"vae.repo_id",type:"text",width:"2xl"}),(_=l.vae)!=null&&_.repo_id&&((k=u.vae)!=null&&k.repo_id)?g.jsx(lr,{children:(T=l.vae)==null?void 0:T.repo_id}):g.jsx(sr,{margin:0,children:t("modelManager.vaeRepoIDValidationMsg")})]})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:t("modelManager.addModel")})]})})}})]})}function Sj({text:e,onClick:t}){return g.jsx(Ee,{position:"relative",width:"50%",height:"200px",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",justifyContent:"center",alignItems:"center",_hover:{cursor:"pointer",backgroundColor:"var(--accent-color)"},onClick:t,children:g.jsx(Dt,{fontWeight:"bold",children:e})})}function Yje(){const{isOpen:e,onOpen:t,onClose:n}=Kd(),r=le(s=>s.ui.addNewModelUIOption),i=Te(),{t:o}=De(),a=()=>{n(),i(Bh(null))};return g.jsxs(g.Fragment,{children:[g.jsx(On,{"aria-label":o("modelManager.addNewModel"),tooltip:o("modelManager.addNewModel"),onClick:t,className:"modal-close-btn",size:"sm",children:g.jsxs(Ee,{columnGap:"0.5rem",alignItems:"center",children:[g.jsx(y2,{}),o("modelManager.addNew")]})}),g.jsxs(Yd,{isOpen:e,onClose:a,size:"3xl",closeOnOverlayClick:!1,children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal add-model-modal",fontFamily:"Inter",margin:"auto",children:[g.jsx(op,{children:o("modelManager.addNewModel")}),g.jsx(m0,{marginTop:"0.3rem"}),g.jsxs(Zm,{className:"add-model-modal-body",children:[r==null&&g.jsxs(Ee,{columnGap:"1rem",children:[g.jsx(Sj,{text:o("modelManager.addCheckpointModel"),onClick:()=>i(Bh("ckpt"))}),g.jsx(Sj,{text:o("modelManager.addDiffuserModel"),onClick:()=>i(Bh("diffusers"))})]}),r=="ckpt"&&g.jsx(qje,{}),r=="diffusers"&&g.jsx(Kje,{})]})]})]})]})}function Tx(e){const{isProcessing:t,isConnected:n}=le(y=>y.system),r=le(y=>y.system.openModel),{t:i}=De(),o=Te(),{name:a,status:s,description:l}=e,u=()=>{o(BV(a))},d=()=>{o(UR(a))},p=()=>{o(g_e(a)),o(UR(null))},m=()=>{switch(s){case"active":return"var(--status-good-color)";case"cached":return"var(--status-working-color)";case"not loaded":return"var(--text-color-secondary)"}};return g.jsxs(Ee,{alignItems:"center",padding:"0.5rem 0.5rem",borderRadius:"0.2rem",backgroundColor:a===r?"var(--accent-color)":"",_hover:{backgroundColor:a===r?"var(--accent-color)":"var(--background-color)"},children:[g.jsx(ao,{onClick:d,cursor:"pointer",children:g.jsx(si,{label:l,hasArrow:!0,placement:"bottom",children:g.jsx(Dt,{fontWeight:"bold",children:a})})}),g.jsx(rH,{onClick:d,cursor:"pointer"}),g.jsxs(Ee,{gap:2,alignItems:"center",children:[g.jsx(Dt,{color:m(),children:s}),g.jsx(ss,{size:"sm",onClick:u,isDisabled:s==="active"||t||!n,className:"modal-close-btn",children:i("modelManager.load")}),g.jsx(Ye,{icon:g.jsx(Vke,{}),size:"sm",onClick:d,"aria-label":"Modify Config",isDisabled:s==="active"||t||!n,className:" modal-close-btn"}),g.jsx(C4,{title:i("modelManager.deleteModel"),acceptCallback:p,acceptButtonText:i("modelManager.delete"),triggerComponent:g.jsx(Ye,{icon:g.jsx(Gke,{}),size:"sm","aria-label":i("modelManager.deleteConfig"),isDisabled:s==="active"||t||!n,className:" modal-close-btn",style:{backgroundColor:"var(--btn-delete-image)"}}),children:g.jsxs(Ee,{rowGap:"1rem",flexDirection:"column",children:[g.jsx("p",{style:{fontWeight:"bold"},children:i("modelManager.deleteMsg1")}),g.jsx("p",{style:{color:"var(--text-color-secondary"},children:i("modelManager.deleteMsg2")})]})})]})]})}function Xje(){const e=Te(),{isOpen:t,onOpen:n,onClose:r}=Kd(),i=le(Q_e),{t:o}=De(),[a,s]=S.useState(Object.keys(i)[0]),[l,u]=S.useState(Object.keys(i)[1]),[d,p]=S.useState("none"),[m,y]=S.useState(""),[b,w]=S.useState(.5),[E,_]=S.useState("weighted_sum"),[k,T]=S.useState("root"),[L,O]=S.useState(""),[D,I]=S.useState(!1),N=Object.keys(i).filter(z=>z!==l&&z!==d),W=Object.keys(i).filter(z=>z!==a&&z!==d),B=[{key:o("modelManager.none"),value:"none"},...Object.keys(i).filter(z=>z!==a&&z!==l).map(z=>({key:z,value:z}))],K=le(z=>z.system.isProcessing),ne=()=>{let z=[a,l,d];z=z.filter(V=>V!=="none");const $={models_to_merge:z,merged_model_name:m!==""?m:z.join("-"),alpha:b,interp:E,model_merge_save_path:k==="root"?null:L,force:D};e(v_e($))};return g.jsxs(g.Fragment,{children:[g.jsx(On,{onClick:n,className:"modal-close-btn",size:"sm",children:g.jsx(Ee,{columnGap:"0.5rem",alignItems:"center",children:o("modelManager.mergeModels")})}),g.jsxs(Yd,{isOpen:t,onClose:r,size:"4xl",closeOnOverlayClick:!1,children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal",fontFamily:"Inter",margin:"auto",children:[g.jsx(op,{children:o("modelManager.mergeModels")}),g.jsx(m0,{}),g.jsxs(Ee,{flexDirection:"column",padding:"1rem",rowGap:4,children:[g.jsxs(Ee,{flexDirection:"column",marginBottom:"1rem",padding:"1rem",borderRadius:"0.3rem",backgroundColor:"var(--background-color)",rowGap:1,children:[g.jsx(Dt,{children:o("modelManager.modelMergeHeaderHelp1")}),g.jsx(Dt,{fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.modelMergeHeaderHelp2")})]}),g.jsxs(Ee,{columnGap:4,children:[g.jsx(Jo,{label:o("modelManager.modelOne"),validValues:N,onChange:z=>s(z.target.value)}),g.jsx(Jo,{label:o("modelManager.modelTwo"),validValues:W,onChange:z=>u(z.target.value)}),g.jsx(Jo,{label:o("modelManager.modelThree"),validValues:B,onChange:z=>{z.target.value!=="none"?(p(z.target.value),_("add_difference")):(p("none"),_("weighted_sum"))}})]}),g.jsx(qn,{label:o("modelManager.mergedModelName"),value:m,onChange:z=>y(z.target.value)}),g.jsxs(Ee,{flexDir:"column",backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",rowGap:2,children:[g.jsx(Dn,{label:o("modelManager.alpha"),min:.01,max:.99,step:.01,value:b,onChange:z=>w(z),withInput:!0,withReset:!0,handleReset:()=>w(.5),withSliderMarks:!0,sliderMarkRightOffset:-7}),g.jsx(Dt,{fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.modelMergeAlphaHelp")})]}),g.jsxs(Ee,{columnGap:4,backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.interpolationType")}),g.jsx(Oy,{value:E,onChange:z=>_(z),children:g.jsx(Ee,{columnGap:4,children:d==="none"?g.jsxs(g.Fragment,{children:[g.jsx(So,{value:"weighted_sum",children:o("modelManager.weightedSum")}),g.jsx(So,{value:"sigmoid",children:o("modelManager.sigmoid")}),g.jsx(So,{value:"inv_sigmoid",children:o("modelManager.inverseSigmoid")})]}):g.jsx(So,{value:"add_difference",children:g.jsx(si,{label:o("modelManager.modelMergeInterpAddDifferenceHelp"),children:o("modelManager.addDifference")})})})})]}),g.jsxs(Ee,{gap:4,flexDirection:"column",backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",children:[g.jsxs(Ee,{columnGap:4,children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.mergedModelSaveLocation")}),g.jsx(Oy,{value:k,onChange:z=>T(z),children:g.jsxs(Ee,{columnGap:4,children:[g.jsx(So,{value:"root",children:o("modelManager.invokeAIFolder")}),g.jsx(So,{value:"custom",children:o("modelManager.custom")})]})})]}),k==="custom"&&g.jsx(qn,{label:o("modelManager.mergedModelCustomSaveLocation"),value:L,onChange:z=>O(z.target.value)})]}),g.jsx(Gn,{label:o("modelManager.ignoreMismatch"),isChecked:D,onChange:z=>I(z.target.checked),fontWeight:"bold"}),g.jsx(On,{onClick:ne,isLoading:K,isDisabled:k==="custom"&&L==="",className:"modal modal-close-btn",children:o("modelManager.merge")})]})]})]})]})}const Zje=lt(hr,e=>Ce.map(e.model_list,(n,r)=>({name:r,...n})),{memoizeOptions:{resultEqualityCheck:Ce.isEqual}});function h6({label:e,isActive:t,onClick:n}){return g.jsx(On,{onClick:n,isActive:t,_active:{backgroundColor:"var(--accent-color)",_hover:{backgroundColor:"var(--accent-color)"}},size:"sm",children:e})}const Qje=()=>{const e=le(Zje),[t,n]=Ke.useState(!1);Ke.useEffect(()=>{const m=setTimeout(()=>{n(!0)},200);return()=>clearTimeout(m)},[]);const[r,i]=S.useState(""),[o,a]=S.useState("all"),[s,l]=S.useTransition(),{t:u}=De(),d=m=>{l(()=>{i(m.target.value)})},p=S.useMemo(()=>{const m=[],y=[],b=[],w=[];return e.forEach((E,_)=>{E.name.toLowerCase().includes(r.toLowerCase())&&(b.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_)),E.format===o&&w.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_))),E.format!=="diffusers"?m.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_)):y.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_))}),r!==""?o==="all"?g.jsx(ao,{marginTop:"1rem",children:b}):g.jsx(ao,{marginTop:"1rem",children:w}):g.jsxs(Ee,{flexDirection:"column",rowGap:"1.5rem",children:[o==="all"&&g.jsxs(g.Fragment,{children:[g.jsxs(ao,{children:[g.jsx(Dt,{fontWeight:"bold",backgroundColor:"var(--background-color)",padding:"0.5rem 1rem",borderRadius:"0.5rem",margin:"1rem 0",width:"max-content",fontSize:"14",children:u("modelManager.checkpointModels")}),m]}),g.jsxs(ao,{children:[g.jsx(Dt,{fontWeight:"bold",backgroundColor:"var(--background-color)",padding:"0.5rem 1rem",borderRadius:"0.5rem",marginBottom:"0.5rem",width:"max-content",fontSize:"14",children:u("modelManager.diffusersModels")}),y]})]}),o==="ckpt"&&g.jsx(Ee,{flexDirection:"column",marginTop:"1rem",children:m}),o==="diffusers"&&g.jsx(Ee,{flexDirection:"column",marginTop:"1rem",children:y})]})},[e,r,u,o]);return g.jsxs(Ee,{flexDirection:"column",rowGap:"2rem",width:"50%",minWidth:"50%",children:[g.jsxs(Ee,{justifyContent:"space-between",children:[g.jsx(Dt,{fontSize:"1.4rem",fontWeight:"bold",children:u("modelManager.availableModels")}),g.jsxs(Ee,{gap:2,children:[g.jsx(Yje,{}),g.jsx(Xje,{})]})]}),g.jsx(qn,{onChange:d,label:u("modelManager.search")}),g.jsxs(Ee,{flexDirection:"column",gap:1,maxHeight:window.innerHeight-360,overflow:"scroll",paddingRight:"1rem",children:[g.jsxs(Ee,{columnGap:"0.5rem",children:[g.jsx(h6,{label:u("modelManager.allModels"),onClick:()=>a("all"),isActive:o==="all"}),g.jsx(h6,{label:u("modelManager.checkpointModels"),onClick:()=>a("ckpt"),isActive:o==="ckpt"}),g.jsx(h6,{label:u("modelManager.diffusersModels"),onClick:()=>a("diffusers"),isActive:o==="diffusers"})]}),t?p:g.jsx(Ee,{width:"100%",minHeight:"30rem",justifyContent:"center",alignItems:"center",children:g.jsx(p0,{})})]})]})};function Jje({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Kd(),i=le(s=>s.system.model_list),o=le(s=>s.system.openModel),{t:a}=De();return g.jsxs(g.Fragment,{children:[S.cloneElement(e,{onClick:n}),g.jsxs(Yd,{isOpen:t,onClose:r,size:"6xl",children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal",fontFamily:"Inter",children:[g.jsx(m0,{className:"modal-close-btn"}),g.jsx(op,{fontWeight:"bold",children:a("modelManager.modelManager")}),g.jsxs(Ee,{padding:"0 1.5rem 1.5rem 1.5rem",width:"100%",columnGap:"2rem",children:[g.jsx(Qje,{}),o&&i[o].format==="diffusers"?g.jsx(Uje,{}):g.jsx(Hje,{})]})]})]})]})}const eNe=lt([hr],e=>{const{isProcessing:t,model_list:n}=e;return{models:Ce.map(n,(i,o)=>o),isProcessing:t}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),tNe=()=>{const e=Te(),{models:t,isProcessing:n}=le(eNe),r=le(qV),i=o=>{e(BV(o.target.value))};return g.jsx(Ee,{style:{paddingLeft:"0.3rem"},children:g.jsx(Jo,{style:{fontSize:"0.8rem"},tooltip:r.description,isDisabled:n,value:r.name,validValues:t,onChange:i})})},nNe=lt([hr,fp],(e,t)=>{const{shouldDisplayInProgressType:n,shouldConfirmOnDelete:r,shouldDisplayGuides:i,model_list:o,saveIntermediatesInterval:a,enableImageDebugging:s}=e,{shouldUseCanvasBetaLayout:l,shouldUseSliders:u}=t;return{shouldDisplayInProgressType:n,shouldConfirmOnDelete:r,shouldDisplayGuides:i,models:Ce.map(o,(d,p)=>p),saveIntermediatesInterval:a,enableImageDebugging:s,shouldUseCanvasBetaLayout:l,shouldUseSliders:u}},{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),rNe=({children:e})=>{const t=Te(),{t:n}=De(),r=le(T=>T.generation.steps),{isOpen:i,onOpen:o,onClose:a}=Kd(),{isOpen:s,onOpen:l,onClose:u}=Kd(),{shouldDisplayInProgressType:d,shouldConfirmOnDelete:p,shouldDisplayGuides:m,saveIntermediatesInterval:y,enableImageDebugging:b,shouldUseCanvasBetaLayout:w,shouldUseSliders:E}=le(nNe),_=()=>{WV.purge().then(()=>{a(),l()})},k=T=>{T>r&&(T=r),T<1&&(T=1),t(P4e(T))};return g.jsxs(g.Fragment,{children:[S.cloneElement(e,{onClick:o}),g.jsxs(Yd,{isOpen:i,onClose:a,size:"lg",children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal settings-modal",children:[g.jsx(op,{className:"settings-modal-header",children:n("common.settingsLabel")}),g.jsx(m0,{className:"modal-close-btn"}),g.jsxs(Zm,{className:"settings-modal-content",children:[g.jsxs("div",{className:"settings-modal-items",children:[g.jsxs("div",{className:"settings-modal-item",style:{gridAutoFlow:"row",rowGap:"0.5rem"},children:[g.jsx(Jo,{label:n("settings.displayInProgress"),validValues:N5e,value:d,onChange:T=>t(y4e(T.target.value))}),d==="full-res"&&g.jsx(lc,{label:n("settings.saveSteps"),min:1,max:r,step:1,onChange:k,value:y,width:"auto",textAlign:"center"})]}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.confirmOnDelete"),isChecked:p,onChange:T=>t(jU(T.target.checked))}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.displayHelpIcons"),isChecked:m,onChange:T=>t(w4e(T.target.checked))}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.useCanvasBeta"),isChecked:w,onChange:T=>t(B4e(T.target.checked))}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.useSlidersForAll"),isChecked:E,onChange:T=>t(H4e(T.target.checked))})]}),g.jsxs("div",{className:"settings-modal-items",children:[g.jsx("h2",{style:{fontWeight:"bold"},children:"Developer"}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.enableImageDebugging"),isChecked:b,onChange:T=>t(T4e(T.target.checked))})]}),g.jsxs("div",{className:"settings-modal-reset",children:[g.jsx(jh,{size:"md",children:n("settings.resetWebUI")}),g.jsx(ss,{colorScheme:"red",onClick:_,children:n("settings.resetWebUI")}),g.jsx(Dt,{children:n("settings.resetWebUIDesc1")}),g.jsx(Dt,{children:n("settings.resetWebUIDesc2")})]})]}),g.jsx(zw,{children:g.jsx(ss,{onClick:a,className:"modal-close-btn",children:n("common.close")})})]})]}),g.jsxs(Yd,{closeOnOverlayClick:!1,isOpen:s,onClose:u,isCentered:!0,children:[g.jsx(oc,{bg:"blackAlpha.300",backdropFilter:"blur(40px)"}),g.jsx(Xd,{children:g.jsx(Zm,{pb:6,pt:6,children:g.jsx(Ee,{justifyContent:"center",children:g.jsx(Dt,{fontSize:"lg",children:g.jsx(Dt,{children:n("settings.resetComplete")})})})})})]})]})},iNe=lt(hr,e=>({isConnected:e.isConnected,isProcessing:e.isProcessing,currentIteration:e.currentIteration,totalIterations:e.totalIterations,currentStatus:e.currentStatus,hasError:e.hasError,wasErrorSeen:e.wasErrorSeen}),{memoizeOptions:{resultEqualityCheck:Ce.isEqual}}),oNe=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,currentStatus:i,hasError:o,wasErrorSeen:a}=le(iNe),s=Te(),{t:l}=De();let u;e&&!o?u="status-good":u="status-bad";let d=i;[l("common.statusGenerating"),l("common.statusPreparing"),l("common.statusSavingImage"),l("common.statusRestoringFaces"),l("common.statusUpscaling")].includes(d)&&(u="status-working"),d&&t&&r>1&&(d=`${l(d)} (${n}/${r})`);const m=o&&!a?"Click to clear, check logs for details":void 0,y=o&&!a?"pointer":"initial",b=()=>{(o||!a)&&s(NU())};return g.jsx(si,{label:m,children:g.jsx(Dt,{cursor:y,onClick:b,className:`status ${u}`,children:l(d)})})};function aNe(){const{t:e}=De(),{setColorMode:t,colorMode:n}=Qy(),r=Te(),i=le(l=>l.ui.currentTheme),o={dark:e("common.darkTheme"),light:e("common.lightTheme"),green:e("common.greenTheme")};S.useEffect(()=>{n!==i&&t(i)},[t,n,i]);const a=l=>{r(D4e(l))},s=()=>{const l=[];return Object.keys(o).forEach(u=>{l.push(g.jsx(On,{style:{width:"6rem"},leftIcon:i===u?g.jsx(jE,{}):void 0,size:"sm",onClick:()=>a(u),children:o[u]},u))}),l};return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{"aria-label":e("common.themeLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:g.jsx(Ake,{})}),children:g.jsx(hn,{align:"stretch",children:s()})})}function sNe(){const{t:e,i18n:t}=De(),n={ar:e("common.langArabic",{lng:"ar"}),nl:e("common.langDutch",{lng:"nl"}),en:e("common.langEnglish",{lng:"en"}),fr:e("common.langFrench",{lng:"fr"}),de:e("common.langGerman",{lng:"de"}),it:e("common.langItalian",{lng:"it"}),ja:e("common.langJapanese",{lng:"ja"}),pl:e("common.langPolish",{lng:"pl"}),pt_Br:e("common.langBrPortuguese",{lng:"pt_Br"}),ru:e("common.langRussian",{lng:"ru"}),zh_Cn:e("common.langSimplifiedChinese",{lng:"zh_Cn"}),es:e("common.langSpanish",{lng:"es"}),uk:e("common.langUkranian",{lng:"ua"})},r=()=>{const i=[];return Object.keys(n).forEach(o=>{i.push(g.jsx(On,{"data-selected":localStorage.getItem("i18nextLng")===o,onClick:()=>t.changeLanguage(o),className:"modal-close-btn lang-select-btn","aria-label":n[o],size:"sm",minWidth:"200px",children:n[o]},o))}),i};return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{"aria-label":e("common.languagePickerLabel"),tooltip:e("common.languagePickerLabel"),icon:g.jsx(Tke,{}),size:"sm",variant:"link","data-variant":"link",fontSize:26}),children:g.jsx(hn,{children:r()})})}const lNe=()=>{const{t:e}=De(),t=le(n=>n.system.app_version);return g.jsxs("div",{className:"site-header",children:[g.jsxs("div",{className:"site-header-left-side",children:[g.jsx("img",{src:mq,alt:"invoke-ai-logo"}),g.jsxs(Ee,{alignItems:"center",columnGap:"0.6rem",children:[g.jsxs(Dt,{fontSize:"1.4rem",children:["invoke ",g.jsx("strong",{children:"ai"})]}),g.jsx(Dt,{fontWeight:"bold",color:"var(--text-color-secondary)",marginTop:"0.2rem",children:t})]})]}),g.jsxs("div",{className:"site-header-right-side",children:[g.jsx(oNe,{}),g.jsx(tNe,{}),g.jsx(Jje,{children:g.jsx(Ye,{"aria-label":e("modelManager.modelManager"),tooltip:e("modelManager.modelManager"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:g.jsx(xke,{})})}),g.jsx(qAe,{children:g.jsx(Ye,{"aria-label":e("common.hotkeysLabel"),tooltip:e("common.hotkeysLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:g.jsx(Pke,{})})}),g.jsx(aNe,{}),g.jsx(sNe,{}),g.jsx(Ye,{"aria-label":e("common.reportBugLabel"),tooltip:e("common.reportBugLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:g.jsx(Nh,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI/issues",children:g.jsx(bke,{})})}),g.jsx(Ye,{"aria-label":e("common.githubLabel"),tooltip:e("common.githubLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:g.jsx(Nh,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI",children:g.jsx(pke,{})})}),g.jsx(Ye,{"aria-label":e("common.discordLabel"),tooltip:e("common.discordLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:g.jsx(Nh,{isExternal:!0,href:"https://discord.gg/ZmtBAhwWhy",children:g.jsx(hke,{})})}),g.jsx(rNe,{children:g.jsx(Ye,{"aria-label":e("common.settingsLabel"),tooltip:e("common.settingsLabel"),variant:"link","data-variant":"link",fontSize:22,size:"sm",icon:g.jsx(s7e,{})})})]})]})};function uNe(){async function e(n=""){return await fetch(n,{method:"GET",cache:"no-cache"})}const t=()=>{const n=document.location;e(n+"/flaskwebgui-keep-server-alive").then(i=>i)};(!{}.NODE_ENV||{}.NODE_ENV==="production")&&document.addEventListener("DOMContentLoaded",()=>{t(),setInterval(t,3e3)})}const cNe=()=>{const e=Te(),t=le(Z_e),n=a2();S.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(L4e())},[e,n,t])},dNe=()=>{const e=Te(),{shouldShowGalleryButton:t,shouldPinGallery:n}=le(nP),r=()=>{e(Am(!0)),n&&e(Li(!0))};return t?g.jsx(Ye,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":"Show Gallery",styleClass:"floating-show-hide-button right show-hide-button-gallery",onClick:r,children:g.jsx(mG,{})}):null};uNe();const fNe=()=>(cNe(),g.jsxs("div",{className:"App",children:[g.jsxs(BAe,{children:[g.jsx(VAe,{}),g.jsxs("div",{className:"app-content",children:[g.jsx(lNe,{}),g.jsx(VLe,{})]}),g.jsx("div",{className:"app-console",children:g.jsx(WAe,{})})]}),g.jsx(YEe,{}),g.jsx(dNe,{})]})),wj=()=>g.jsx(Ee,{width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",children:g.jsx(p0,{thickness:"2px",speed:"1s",emptyColor:"gray.200",color:"gray.400",size:"xl"})});const hNe=Bj({key:"invokeai-style-cache",prepend:!0});rk.createRoot(document.getElementById("root")).render(g.jsx(Ke.StrictMode,{children:g.jsx(mxe,{store:HV,children:g.jsx(gW,{loading:g.jsx(wj,{}),persistor:WV,children:g.jsx(dee,{value:hNe,children:g.jsx(Dge,{children:g.jsx(Ke.Suspense,{fallback:g.jsx(wj,{}),children:g.jsx(fNe,{})})})})})})})); diff --git a/invokeai/frontend/dist/index.html b/invokeai/frontend/dist/index.html index 80d44450b64..5a21cc16e63 100644 --- a/invokeai/frontend/dist/index.html +++ b/invokeai/frontend/dist/index.html @@ -5,8 +5,8 @@ InvokeAI - A Stable Diffusion Toolkit - - + + diff --git a/invokeai/frontend/dist/locales/en.json b/invokeai/frontend/dist/locales/en.json index 0e8b37ebf4f..2cfb11bb572 100644 --- a/invokeai/frontend/dist/locales/en.json +++ b/invokeai/frontend/dist/locales/en.json @@ -327,6 +327,7 @@ "addModel": "Add Model", "updateModel": "Update Model", "availableModels": "Available Models", + "addLora": "Add Lora", "search": "Search", "load": "Load", "active": "active", diff --git a/invokeai/frontend/stats.html b/invokeai/frontend/stats.html index 7bfff6000b4..fe0ed2ebb9f 100644 --- a/invokeai/frontend/stats.html +++ b/invokeai/frontend/stats.html @@ -6157,7 +6157,7 @@