diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 8d93c26b19..7957684466 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2,3 +2,4 @@ ldm/invoke/pngwriter.py @CapableWeb ldm/invoke/server_legacy.py @CapableWeb scripts/legacy_api.py @CapableWeb tests/legacy_tests.sh @CapableWeb +installer/ @tildebyte diff --git a/.github/workflows/build-container.yml b/.github/workflows/build-container.yml index 2aa9433d01..ec4a105a9e 100644 --- a/.github/workflows/build-container.yml +++ b/.github/workflows/build-container.yml @@ -6,14 +6,22 @@ on: branches: - 'main' - 'development' - pull_request: - branches: - - 'main' - - 'development' jobs: docker: + strategy: + fail-fast: false + matrix: + arch: + - x86_64 + - aarch64 + include: + - arch: x86_64 + conda-env-file: environment-lin-cuda.yml + - arch: aarch64 + conda-env-file: environment-lin-aarch64.yml runs-on: ubuntu-latest + name: ${{ matrix.arch }} steps: - name: prepare docker-tag env: @@ -25,18 +33,16 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache - key: buildx-${{ hashFiles('docker-build/Dockerfile') }} - name: Build container uses: docker/build-push-action@v3 with: context: . file: docker-build/Dockerfile - platforms: linux/amd64 + platforms: Linux/${{ matrix.arch }} push: false - tags: ${{ env.dockertag }}:latest - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache + tags: ${{ env.dockertag }}:${{ matrix.arch }} + build-args: | + conda_env_file=${{ matrix.conda-env-file }} + conda_version=py39_4.12.0-Linux-${{ matrix.arch }} + invokeai_git=${{ github.repository }} + invokeai_branch=${{ github.ref_name }} diff --git a/.github/workflows/create-caches.yml b/.github/workflows/create-caches.yml deleted file mode 100644 index 946025d78b..0000000000 --- a/.github/workflows/create-caches.yml +++ /dev/null @@ -1,80 +0,0 @@ -name: Create Caches - -on: workflow_dispatch - -jobs: - os_matrix: - strategy: - matrix: - os: [ubuntu-latest, macos-latest] - include: - - os: ubuntu-latest - environment-file: environment.yml - default-shell: bash -l {0} - - os: macos-latest - environment-file: environment-mac.yml - default-shell: bash -l {0} - name: Test invoke.py on ${{ matrix.os }} with conda - runs-on: ${{ matrix.os }} - defaults: - run: - shell: ${{ matrix.default-shell }} - steps: - - name: Checkout sources - uses: actions/checkout@v3 - - - name: setup miniconda - uses: conda-incubator/setup-miniconda@v2 - with: - auto-activate-base: false - auto-update-conda: false - miniconda-version: latest - - - name: set environment - run: | - [[ "$GITHUB_REF" == 'refs/heads/main' ]] \ - && echo "TEST_PROMPTS=tests/preflight_prompts.txt" >> $GITHUB_ENV \ - || echo "TEST_PROMPTS=tests/dev_prompts.txt" >> $GITHUB_ENV - echo "CONDA_ROOT=$CONDA" >> $GITHUB_ENV - echo "CONDA_ENV_NAME=invokeai" >> $GITHUB_ENV - - - name: Use Cached Stable Diffusion v1.4 Model - id: cache-sd-v1-4 - uses: actions/cache@v3 - env: - cache-name: cache-sd-v1-4 - with: - path: models/ldm/stable-diffusion-v1/model.ckpt - key: ${{ env.cache-name }} - restore-keys: ${{ env.cache-name }} - - - name: Download Stable Diffusion v1.4 Model - if: ${{ steps.cache-sd-v1-4.outputs.cache-hit != 'true' }} - run: | - [[ -d models/ldm/stable-diffusion-v1 ]] \ - || mkdir -p models/ldm/stable-diffusion-v1 - [[ -r models/ldm/stable-diffusion-v1/model.ckpt ]] \ - || curl \ - -H "Authorization: Bearer ${{ secrets.HUGGINGFACE_TOKEN }}" \ - -o models/ldm/stable-diffusion-v1/model.ckpt \ - -L https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt - - - name: Activate Conda Env - uses: conda-incubator/setup-miniconda@v2 - with: - activate-environment: ${{ env.CONDA_ENV_NAME }} - environment-file: ${{ matrix.environment-file }} - - - name: Use Cached Huggingface and Torch models - id: cache-hugginface-torch - uses: actions/cache@v3 - env: - cache-name: cache-hugginface-torch - with: - path: ~/.cache - key: ${{ env.cache-name }} - restore-keys: | - ${{ env.cache-name }}-${{ hashFiles('scripts/preload_models.py') }} - - - name: run preload_models.py - run: python scripts/preload_models.py diff --git a/.github/workflows/test-invoke-conda.yml b/.github/workflows/test-invoke-conda.yml index 76c061e3a1..8fc3b10fef 100644 --- a/.github/workflows/test-invoke-conda.yml +++ b/.github/workflows/test-invoke-conda.yml @@ -23,7 +23,7 @@ jobs: - macOS-12 include: - os: ubuntu-latest - environment-file: environment.yml + environment-file: environment-lin-cuda.yml default-shell: bash -l {0} - os: macOS-12 environment-file: environment-mac.yml @@ -49,6 +49,9 @@ jobs: - name: create models.yaml from example run: cp configs/models.yaml.example configs/models.yaml + - name: create environment.yml + run: cp environments-and-requirements/${{ matrix.environment-file }} environment.yml + - name: Use cached conda packages id: use-cached-conda-packages uses: actions/cache@v3 @@ -61,7 +64,7 @@ jobs: uses: conda-incubator/setup-miniconda@v2 with: activate-environment: ${{ env.CONDA_ENV_NAME }} - environment-file: ${{ matrix.environment-file }} + environment-file: environment.yml miniconda-version: latest - name: set test prompt to main branch validation @@ -76,8 +79,18 @@ jobs: if: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/development' }} run: echo "TEST_PROMPTS=tests/validate_pr_prompt.txt" >> $GITHUB_ENV + - name: Use Cached Stable Diffusion Model + id: cache-sd-model + uses: actions/cache@v3 + env: + cache-name: cache-${{ matrix.stable-diffusion-model-switch }} + with: + path: ${{ matrix.stable-diffusion-model-dl-path }} + key: ${{ env.cache-name }} + - name: Download ${{ matrix.stable-diffusion-model-switch }} id: download-stable-diffusion-model + if: ${{ steps.cache-sd-model.outputs.cache-hit != 'true' }} run: | [[ -d models/ldm/stable-diffusion-v1 ]] \ || mkdir -p models/ldm/stable-diffusion-v1 diff --git a/.gitignore b/.gitignore index 54433c86dc..02cebdb4f6 100644 --- a/.gitignore +++ b/.gitignore @@ -194,6 +194,10 @@ checkpoints # Let the frontend manage its own gitignore !frontend/* +frontend/apt-get +frontend/dist +frontend/sudo +frontend/update # Scratch folder .scratch/ @@ -201,6 +205,7 @@ checkpoints gfpgan/ models/ldm/stable-diffusion-v1/*.sha256 + # GFPGAN model files gfpgan/ @@ -208,4 +213,25 @@ gfpgan/ configs/models.yaml # weights (will be created by installer) -models/ldm/stable-diffusion-v1/*.ckpt \ No newline at end of file +models/ldm/stable-diffusion-v1/*.ckpt +models/clipseg +models/gfpgan + +# ignore initfile +invokeai.init + +# ignore environment.yml and requirements.txt +# these are links to the real files in environments-and-requirements +environment.yml +requirements.txt + +# source installer files +source_installer/*zip +source_installer/invokeAI +install.bat +install.sh +update.bat +update.sh + +# this may be present if the user created a venv +invokeai diff --git a/data/DejaVuSans.ttf b/assets/data/DejaVuSans.ttf similarity index 100% rename from data/DejaVuSans.ttf rename to assets/data/DejaVuSans.ttf diff --git a/data/example_conditioning/superresolution/sample_0.jpg b/assets/data/example_conditioning/superresolution/sample_0.jpg similarity index 100% rename from data/example_conditioning/superresolution/sample_0.jpg rename to assets/data/example_conditioning/superresolution/sample_0.jpg diff --git a/data/example_conditioning/text_conditional/sample_0.txt b/assets/data/example_conditioning/text_conditional/sample_0.txt similarity index 100% rename from data/example_conditioning/text_conditional/sample_0.txt rename to assets/data/example_conditioning/text_conditional/sample_0.txt diff --git a/data/imagenet_clsidx_to_label.txt b/assets/data/imagenet_clsidx_to_label.txt similarity index 100% rename from data/imagenet_clsidx_to_label.txt rename to assets/data/imagenet_clsidx_to_label.txt diff --git a/data/imagenet_train_hr_indices.p b/assets/data/imagenet_train_hr_indices.p similarity index 100% rename from data/imagenet_train_hr_indices.p rename to assets/data/imagenet_train_hr_indices.p diff --git a/data/imagenet_val_hr_indices.p b/assets/data/imagenet_val_hr_indices.p similarity index 100% rename from data/imagenet_val_hr_indices.p rename to assets/data/imagenet_val_hr_indices.p diff --git a/data/index_synset.yaml b/assets/data/index_synset.yaml similarity index 100% rename from data/index_synset.yaml rename to assets/data/index_synset.yaml diff --git a/data/inpainting_examples/6458524847_2f4c361183_k.png b/assets/data/inpainting_examples/6458524847_2f4c361183_k.png similarity index 100% rename from data/inpainting_examples/6458524847_2f4c361183_k.png rename to assets/data/inpainting_examples/6458524847_2f4c361183_k.png diff --git a/data/inpainting_examples/6458524847_2f4c361183_k_mask.png b/assets/data/inpainting_examples/6458524847_2f4c361183_k_mask.png similarity index 100% rename from data/inpainting_examples/6458524847_2f4c361183_k_mask.png rename to assets/data/inpainting_examples/6458524847_2f4c361183_k_mask.png diff --git a/data/inpainting_examples/8399166846_f6fb4e4b8e_k.png b/assets/data/inpainting_examples/8399166846_f6fb4e4b8e_k.png similarity index 100% rename from data/inpainting_examples/8399166846_f6fb4e4b8e_k.png rename to assets/data/inpainting_examples/8399166846_f6fb4e4b8e_k.png diff --git a/data/inpainting_examples/8399166846_f6fb4e4b8e_k_mask.png b/assets/data/inpainting_examples/8399166846_f6fb4e4b8e_k_mask.png similarity index 100% rename from data/inpainting_examples/8399166846_f6fb4e4b8e_k_mask.png rename to assets/data/inpainting_examples/8399166846_f6fb4e4b8e_k_mask.png diff --git a/data/inpainting_examples/alex-iby-G_Pk4D9rMLs.png b/assets/data/inpainting_examples/alex-iby-G_Pk4D9rMLs.png similarity index 100% rename from data/inpainting_examples/alex-iby-G_Pk4D9rMLs.png rename to assets/data/inpainting_examples/alex-iby-G_Pk4D9rMLs.png diff --git a/data/inpainting_examples/alex-iby-G_Pk4D9rMLs_mask.png b/assets/data/inpainting_examples/alex-iby-G_Pk4D9rMLs_mask.png similarity index 100% rename from data/inpainting_examples/alex-iby-G_Pk4D9rMLs_mask.png rename to assets/data/inpainting_examples/alex-iby-G_Pk4D9rMLs_mask.png diff --git a/data/inpainting_examples/bench2.png b/assets/data/inpainting_examples/bench2.png similarity index 100% rename from data/inpainting_examples/bench2.png rename to assets/data/inpainting_examples/bench2.png diff --git a/data/inpainting_examples/bench2_mask.png b/assets/data/inpainting_examples/bench2_mask.png similarity index 100% rename from data/inpainting_examples/bench2_mask.png rename to assets/data/inpainting_examples/bench2_mask.png diff --git a/data/inpainting_examples/bertrand-gabioud-CpuFzIsHYJ0.png b/assets/data/inpainting_examples/bertrand-gabioud-CpuFzIsHYJ0.png similarity index 100% rename from data/inpainting_examples/bertrand-gabioud-CpuFzIsHYJ0.png rename to assets/data/inpainting_examples/bertrand-gabioud-CpuFzIsHYJ0.png diff --git a/data/inpainting_examples/bertrand-gabioud-CpuFzIsHYJ0_mask.png b/assets/data/inpainting_examples/bertrand-gabioud-CpuFzIsHYJ0_mask.png similarity index 100% rename from data/inpainting_examples/bertrand-gabioud-CpuFzIsHYJ0_mask.png rename to assets/data/inpainting_examples/bertrand-gabioud-CpuFzIsHYJ0_mask.png diff --git a/data/inpainting_examples/billow926-12-Wc-Zgx6Y.png b/assets/data/inpainting_examples/billow926-12-Wc-Zgx6Y.png similarity index 100% rename from data/inpainting_examples/billow926-12-Wc-Zgx6Y.png rename to assets/data/inpainting_examples/billow926-12-Wc-Zgx6Y.png diff --git a/data/inpainting_examples/billow926-12-Wc-Zgx6Y_mask.png b/assets/data/inpainting_examples/billow926-12-Wc-Zgx6Y_mask.png similarity index 100% rename from data/inpainting_examples/billow926-12-Wc-Zgx6Y_mask.png rename to assets/data/inpainting_examples/billow926-12-Wc-Zgx6Y_mask.png diff --git a/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png b/assets/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png similarity index 100% rename from data/inpainting_examples/overture-creations-5sI6fQgYIuo.png rename to assets/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png diff --git a/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png b/assets/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png similarity index 100% rename from data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png rename to assets/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png diff --git a/data/inpainting_examples/photo-1583445095369-9c651e7e5d34.png b/assets/data/inpainting_examples/photo-1583445095369-9c651e7e5d34.png similarity index 100% rename from data/inpainting_examples/photo-1583445095369-9c651e7e5d34.png rename to assets/data/inpainting_examples/photo-1583445095369-9c651e7e5d34.png diff --git a/data/inpainting_examples/photo-1583445095369-9c651e7e5d34_mask.png b/assets/data/inpainting_examples/photo-1583445095369-9c651e7e5d34_mask.png similarity index 100% rename from data/inpainting_examples/photo-1583445095369-9c651e7e5d34_mask.png rename to assets/data/inpainting_examples/photo-1583445095369-9c651e7e5d34_mask.png diff --git a/docker-build/Dockerfile b/docker-build/Dockerfile index 2f0c892730..3f20e4b6f0 100644 --- a/docker-build/Dockerfile +++ b/docker-build/Dockerfile @@ -39,36 +39,46 @@ RUN apt-get update \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* -# clone repository and create symlinks -ARG invokeai_git=https://github.com/invoke-ai/InvokeAI.git +# clone repository, create models.yaml and create symlinks +ARG invokeai_git=invoke-ai/InvokeAI +ARG invokeai_branch=main ARG project_name=invokeai -RUN git clone ${invokeai_git} /${project_name} \ - && mkdir /${project_name}/models/ldm/stable-diffusion-v1 \ - && ln -s /data/models/sd-v1-4.ckpt /${project_name}/models/ldm/stable-diffusion-v1/model.ckpt \ - && ln -s /data/outputs/ /${project_name}/outputs +ARG conda_env_file=environment-lin-cuda.yml +RUN git clone -b ${invokeai_branch} https://github.com/${invokeai_git}.git "/${project_name}" \ + && cp \ + "/${project_name}/configs/models.yaml.example" \ + "/${project_name}/configs/models.yaml" \ + && ln -sf \ + "/${project_name}/environments-and-requirements/${conda_env_file}" \ + "/${project_name}/environment.yml" \ + && ln -sf \ + /data/models/v1-5-pruned-emaonly.ckpt \ + "/${project_name}/models/ldm/stable-diffusion-v1/v1-5-pruned-emaonly.ckpt" \ + && ln -sf \ + /data/outputs/ \ + "/${project_name}/outputs" # set workdir -WORKDIR /${project_name} +WORKDIR "/${project_name}" # install conda env and preload models ARG conda_prefix=/opt/conda -ARG conda_env_file=environment.yml -COPY --from=get_miniconda ${conda_prefix} ${conda_prefix} -RUN source ${conda_prefix}/etc/profile.d/conda.sh \ +COPY --from=get_miniconda "${conda_prefix}" "${conda_prefix}" +RUN source "${conda_prefix}/etc/profile.d/conda.sh" \ && conda init bash \ && source ~/.bashrc \ && conda env create \ - --name ${project_name} \ - --file ${conda_env_file} \ + --name "${project_name}" \ && rm -Rf ~/.cache \ && conda clean -afy \ - && echo "conda activate ${project_name}" >> ~/.bashrc \ - && ln -s /data/models/GFPGANv1.4.pth ./src/gfpgan/experiments/pretrained_models/GFPGANv1.4.pth \ - && conda activate ${project_name} \ - && python scripts/preload_models.py + && echo "conda activate ${project_name}" >> ~/.bashrc + +RUN source ~/.bashrc \ + && python scripts/preload_models.py \ + --no-interactive # Copy entrypoint and set env -ENV CONDA_PREFIX=${conda_prefix} -ENV PROJECT_NAME=${project_name} +ENV CONDA_PREFIX="${conda_prefix}" +ENV PROJECT_NAME="${project_name}" COPY docker-build/entrypoint.sh / ENTRYPOINT [ "/entrypoint.sh" ] diff --git a/docker-build/build.sh b/docker-build/build.sh index fea311ae82..c7b94d7c0e 100755 --- a/docker-build/build.sh +++ b/docker-build/build.sh @@ -8,8 +8,9 @@ source ./docker-build/env.sh || echo "please run from repository root" || exit 1 invokeai_conda_version=${INVOKEAI_CONDA_VERSION:-py39_4.12.0-${platform/\//-}} invokeai_conda_prefix=${INVOKEAI_CONDA_PREFIX:-\/opt\/conda} -invokeai_conda_env_file=${INVOKEAI_CONDA_ENV_FILE:-environment.yml} -invokeai_git=${INVOKEAI_GIT:-https://github.com/invoke-ai/InvokeAI.git} +invokeai_conda_env_file=${INVOKEAI_CONDA_ENV_FILE:-environment-lin-cuda.yml} +invokeai_git=${INVOKEAI_GIT:-invoke-ai/InvokeAI} +invokeai_branch=${INVOKEAI_BRANCH:-main} huggingface_token=${HUGGINGFACE_TOKEN?} # print the settings @@ -38,11 +39,12 @@ _copyCheckpoints() { echo "creating subfolders for models and outputs" _runAlpine mkdir models _runAlpine mkdir outputs - echo -n "downloading sd-v1-4.ckpt" - _runAlpine wget --header="Authorization: Bearer ${huggingface_token}" -O models/sd-v1-4.ckpt https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt + echo "downloading v1-5-pruned-emaonly.ckpt" + _runAlpine wget \ + --header="Authorization: Bearer ${huggingface_token}" \ + -O models/v1-5-pruned-emaonly.ckpt \ + https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt echo "done" - echo "downloading GFPGANv1.4.pth" - _runAlpine wget -O models/GFPGANv1.4.pth https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.4.pth } _checkVolumeContent() { @@ -51,7 +53,7 @@ _checkVolumeContent() { _getModelMd5s() { _runAlpine \ - alpine sh -c "md5sum /data/models/*" + alpine sh -c "md5sum /data/models/*.ckpt" } if [[ -n "$(docker volume ls -f name="${volumename}" -q)" ]]; then @@ -77,5 +79,6 @@ docker build \ --build-arg conda_prefix="${invokeai_conda_prefix}" \ --build-arg conda_env_file="${invokeai_conda_env_file}" \ --build-arg invokeai_git="${invokeai_git}" \ + --build-arg invokeai_branch="${invokeai_branch}" \ --file ./docker-build/Dockerfile \ . diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 9b4dfe1cfc..a4fce8d5ef 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -4,45 +4,228 @@ title: Changelog # :octicons-log-16: **Changelog** -## v2.0.1 (13 October 2022) +## v2.1.0 (2 November 2022) -- fix noisy images at high step count when using k* samplers -- dream.py script now calls invoke.py module directly rather than - via a new python process (which could break the environment) +- update mac instructions to use invokeai for env name by @willwillems in + https://github.com/invoke-ai/InvokeAI/pull/1030 +- Update .gitignore by @blessedcoolant in + https://github.com/invoke-ai/InvokeAI/pull/1040 +- reintroduce fix for m1 from https://github.com/invoke-ai/InvokeAI/pull/579 + missing after merge by @skurovec in + https://github.com/invoke-ai/InvokeAI/pull/1056 +- Update Stable_Diffusion_AI_Notebook.ipynb (Take 2) by @ChloeL19 in + https://github.com/invoke-ai/InvokeAI/pull/1060 +- Print out the device type which is used by @manzke in + https://github.com/invoke-ai/InvokeAI/pull/1073 +- Hires Addition by @hipsterusername in + https://github.com/invoke-ai/InvokeAI/pull/1063 +- fix for "1 leaked semaphore objects to clean up at shutdown" on M1 by + @skurovec in https://github.com/invoke-ai/InvokeAI/pull/1081 +- Forward dream.py to invoke.py using the same interpreter, add deprecation + warning by @db3000 in https://github.com/invoke-ai/InvokeAI/pull/1077 +- fix noisy images at high step counts by @lstein in + https://github.com/invoke-ai/InvokeAI/pull/1086 +- Generalize facetool strength argument by @db3000 in + https://github.com/invoke-ai/InvokeAI/pull/1078 +- Enable fast switching among models at the invoke> command line by @lstein in + https://github.com/invoke-ai/InvokeAI/pull/1066 +- Fix Typo, committed changing ldm environment to invokeai by @jdries3 in + https://github.com/invoke-ai/InvokeAI/pull/1095 +- Update generate.py by @unreleased in + https://github.com/invoke-ai/InvokeAI/pull/1109 +- Update 'ldm' env to 'invokeai' in troubleshooting steps by @19wolf in + https://github.com/invoke-ai/InvokeAI/pull/1125 +- Fixed documentation typos and resolved merge conflicts by @rupeshs in + https://github.com/invoke-ai/InvokeAI/pull/1123 +- Fix broken doc links, fix malaprop in the project subtitle by @majick in + https://github.com/invoke-ai/InvokeAI/pull/1131 +- Only output facetool parameters if enhancing faces by @db3000 in + https://github.com/invoke-ai/InvokeAI/pull/1119 +- Update gitignore to ignore codeformer weights at new location by + @spezialspezial in https://github.com/invoke-ai/InvokeAI/pull/1136 +- fix links to point to invoke-ai.github.io #1117 by @mauwii in + https://github.com/invoke-ai/InvokeAI/pull/1143 +- Rework-mkdocs by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/1144 +- add option to CLI and pngwriter that allows user to set PNG compression level + by @lstein in https://github.com/invoke-ai/InvokeAI/pull/1127 +- Fix img2img DDIM index out of bound by @wfng92 in + https://github.com/invoke-ai/InvokeAI/pull/1137 +- Fix gh actions by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/1128 +- update mac instructions to use invokeai for env name by @willwillems in + https://github.com/invoke-ai/InvokeAI/pull/1030 +- Update .gitignore by @blessedcoolant in + https://github.com/invoke-ai/InvokeAI/pull/1040 +- reintroduce fix for m1 from https://github.com/invoke-ai/InvokeAI/pull/579 + missing after merge by @skurovec in + https://github.com/invoke-ai/InvokeAI/pull/1056 +- Update Stable_Diffusion_AI_Notebook.ipynb (Take 2) by @ChloeL19 in + https://github.com/invoke-ai/InvokeAI/pull/1060 +- Print out the device type which is used by @manzke in + https://github.com/invoke-ai/InvokeAI/pull/1073 +- Hires Addition by @hipsterusername in + https://github.com/invoke-ai/InvokeAI/pull/1063 +- fix for "1 leaked semaphore objects to clean up at shutdown" on M1 by + @skurovec in https://github.com/invoke-ai/InvokeAI/pull/1081 +- Forward dream.py to invoke.py using the same interpreter, add deprecation + warning by @db3000 in https://github.com/invoke-ai/InvokeAI/pull/1077 +- fix noisy images at high step counts by @lstein in + https://github.com/invoke-ai/InvokeAI/pull/1086 +- Generalize facetool strength argument by @db3000 in + https://github.com/invoke-ai/InvokeAI/pull/1078 +- Enable fast switching among models at the invoke> command line by @lstein in + https://github.com/invoke-ai/InvokeAI/pull/1066 +- Fix Typo, committed changing ldm environment to invokeai by @jdries3 in + https://github.com/invoke-ai/InvokeAI/pull/1095 +- Fixed documentation typos and resolved merge conflicts by @rupeshs in + https://github.com/invoke-ai/InvokeAI/pull/1123 +- Only output facetool parameters if enhancing faces by @db3000 in + https://github.com/invoke-ai/InvokeAI/pull/1119 +- add option to CLI and pngwriter that allows user to set PNG compression level + by @lstein in https://github.com/invoke-ai/InvokeAI/pull/1127 +- Fix img2img DDIM index out of bound by @wfng92 in + https://github.com/invoke-ai/InvokeAI/pull/1137 +- Add text prompt to inpaint mask support by @lstein in + https://github.com/invoke-ai/InvokeAI/pull/1133 +- Respect http[s] protocol when making socket.io middleware by @damian0815 in + https://github.com/invoke-ai/InvokeAI/pull/976 +- WebUI: Adds Codeformer support by @psychedelicious in + https://github.com/invoke-ai/InvokeAI/pull/1151 +- Skips normalizing prompts for web UI metadata by @psychedelicious in + https://github.com/invoke-ai/InvokeAI/pull/1165 +- Add Asymmetric Tiling by @carson-katri in + https://github.com/invoke-ai/InvokeAI/pull/1132 +- Web UI: Increases max CFG Scale to 200 by @psychedelicious in + https://github.com/invoke-ai/InvokeAI/pull/1172 +- Corrects color channels in face restoration; Fixes #1167 by @psychedelicious + in https://github.com/invoke-ai/InvokeAI/pull/1175 +- Flips channels using array slicing instead of using OpenCV by @psychedelicious + in https://github.com/invoke-ai/InvokeAI/pull/1178 +- Fix typo in docs: s/Formally/Formerly by @noodlebox in + https://github.com/invoke-ai/InvokeAI/pull/1176 +- fix clipseg loading problems by @lstein in + https://github.com/invoke-ai/InvokeAI/pull/1177 +- Correct color channels in upscale using array slicing by @wfng92 in + https://github.com/invoke-ai/InvokeAI/pull/1181 +- Web UI: Filters existing images when adding new images; Fixes #1085 by + @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/1171 +- fix a number of bugs in textual inversion by @lstein in + https://github.com/invoke-ai/InvokeAI/pull/1190 +- Improve !fetch, add !replay command by @ArDiouscuros in + https://github.com/invoke-ai/InvokeAI/pull/882 +- Fix generation of image with s>1000 by @holstvoogd in + https://github.com/invoke-ai/InvokeAI/pull/951 +- Web UI: Gallery improvements by @psychedelicious in + https://github.com/invoke-ai/InvokeAI/pull/1198 +- Update CLI.md by @krummrey in https://github.com/invoke-ai/InvokeAI/pull/1211 +- outcropping improvements by @lstein in + https://github.com/invoke-ai/InvokeAI/pull/1207 +- add support for loading VAE autoencoders by @lstein in + https://github.com/invoke-ai/InvokeAI/pull/1216 +- remove duplicate fix_func for MPS by @wfng92 in + https://github.com/invoke-ai/InvokeAI/pull/1210 +- Metadata storage and retrieval fixes by @lstein in + https://github.com/invoke-ai/InvokeAI/pull/1204 +- nix: add shell.nix file by @Cloudef in + https://github.com/invoke-ai/InvokeAI/pull/1170 +- Web UI: Changes vite dist asset paths to relative by @psychedelicious in + https://github.com/invoke-ai/InvokeAI/pull/1185 +- Web UI: Removes isDisabled from PromptInput by @psychedelicious in + https://github.com/invoke-ai/InvokeAI/pull/1187 +- Allow user to generate images with initial noise as on M1 / mps system by + @ArDiouscuros in https://github.com/invoke-ai/InvokeAI/pull/981 +- feat: adding filename format template by @plucked in + https://github.com/invoke-ai/InvokeAI/pull/968 +- Web UI: Fixes broken bundle by @psychedelicious in + https://github.com/invoke-ai/InvokeAI/pull/1242 +- Support runwayML custom inpainting model by @lstein in + https://github.com/invoke-ai/InvokeAI/pull/1243 +- Update IMG2IMG.md by @talitore in + https://github.com/invoke-ai/InvokeAI/pull/1262 +- New dockerfile - including a build- and a run- script as well as a GH-Action + by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/1233 +- cut over from karras to model noise schedule for higher steps by @lstein in + https://github.com/invoke-ai/InvokeAI/pull/1222 +- Prompt tweaks by @lstein in https://github.com/invoke-ai/InvokeAI/pull/1268 +- Outpainting implementation by @Kyle0654 in + https://github.com/invoke-ai/InvokeAI/pull/1251 +- fixing aspect ratio on hires by @tjennings in + https://github.com/invoke-ai/InvokeAI/pull/1249 +- Fix-build-container-action by @mauwii in + https://github.com/invoke-ai/InvokeAI/pull/1274 +- handle all unicode characters by @damian0815 in + https://github.com/invoke-ai/InvokeAI/pull/1276 +- adds models.user.yml to .gitignore by @JakeHL in + https://github.com/invoke-ai/InvokeAI/pull/1281 +- remove debug branch, set fail-fast to false by @mauwii in + https://github.com/invoke-ai/InvokeAI/pull/1284 +- Protect-secrets-on-pr by @mauwii in + https://github.com/invoke-ai/InvokeAI/pull/1285 +- Web UI: Adds initial inpainting implementation by @psychedelicious in + https://github.com/invoke-ai/InvokeAI/pull/1225 +- fix environment-mac.yml - tested on x64 and arm64 by @mauwii in + https://github.com/invoke-ai/InvokeAI/pull/1289 +- Use proper authentication to download model by @mauwii in + https://github.com/invoke-ai/InvokeAI/pull/1287 +- Prevent indexing error for mode RGB by @spezialspezial in + https://github.com/invoke-ai/InvokeAI/pull/1294 +- Integrate sd-v1-5 model into test matrix (easily expandable), remove + unecesarry caches by @mauwii in + https://github.com/invoke-ai/InvokeAI/pull/1293 +- add --no-interactive to preload_models step by @mauwii in + https://github.com/invoke-ai/InvokeAI/pull/1302 +- 1-click installer and updater. Uses micromamba to install git and conda into a + contained environment (if necessary) before running the normal installation + script by @cmdr2 in https://github.com/invoke-ai/InvokeAI/pull/1253 +- preload_models.py script downloads the weight files by @lstein in + https://github.com/invoke-ai/InvokeAI/pull/1290 + +## v2.0.1 (13 October 2022) + +- fix noisy images at high step count when using k\* samplers +- dream.py script now calls invoke.py module directly rather than via a new + python process (which could break the environment) ## v2.0.0 (9 October 2022) -- `dream.py` script renamed `invoke.py`. A `dream.py` script wrapper remains - for backward compatibility. +- `dream.py` script renamed `invoke.py`. A `dream.py` script wrapper remains for + backward compatibility. - Completely new WebGUI - launch with `python3 scripts/invoke.py --web` -- Support for [inpainting](features/INPAINTING.md) and [outpainting](features/OUTPAINTING.md) -- img2img runs on all k* samplers -- Support for [negative prompts](features/PROMPTS.md#negative-and-unconditioned-prompts) +- Support for [inpainting](features/INPAINTING.md) and + [outpainting](features/OUTPAINTING.md) +- img2img runs on all k\* samplers +- Support for + [negative prompts](features/PROMPTS.md#negative-and-unconditioned-prompts) - Support for CodeFormer face reconstruction - Support for Textual Inversion on Macintoshes -- Support in both WebGUI and CLI for [post-processing of previously-generated images](features/POSTPROCESS.md) - using facial reconstruction, ESRGAN upscaling, outcropping (similar to DALL-E infinite canvas), - and "embiggen" upscaling. See the `!fix` command. -- New `--hires` option on `invoke>` line allows [larger images to be created without duplicating elements](features/CLI.md#this-is-an-example-of-txt2img), at the cost of some performance. -- New `--perlin` and `--threshold` options allow you to add and control variation - during image generation (see [Thresholding and Perlin Noise Initialization](features/OTHER.md#thresholding-and-perlin-noise-initialization-options)) -- Extensive metadata now written into PNG files, allowing reliable regeneration of images - and tweaking of previous settings. -- Command-line completion in `invoke.py` now works on Windows, Linux and Mac platforms. -- Improved [command-line completion behavior](features/CLI.md) - New commands added: +- Support in both WebGUI and CLI for + [post-processing of previously-generated images](features/POSTPROCESS.md) + using facial reconstruction, ESRGAN upscaling, outcropping (similar to DALL-E + infinite canvas), and "embiggen" upscaling. See the `!fix` command. +- New `--hires` option on `invoke>` line allows + [larger images to be created without duplicating elements](features/CLI.md#this-is-an-example-of-txt2img), + at the cost of some performance. +- New `--perlin` and `--threshold` options allow you to add and control + variation during image generation (see + [Thresholding and Perlin Noise Initialization](features/OTHER.md#thresholding-and-perlin-noise-initialization-options)) +- Extensive metadata now written into PNG files, allowing reliable regeneration + of images and tweaking of previous settings. +- Command-line completion in `invoke.py` now works on Windows, Linux and Mac + platforms. +- Improved [command-line completion behavior](features/CLI.md) New commands + added: - List command-line history with `!history` - Search command-line history with `!search` - Clear history with `!clear` - Deprecated `--full_precision` / `-F`. Simply omit it and `invoke.py` will auto - configure. To switch away from auto use the new flag like `--precision=float32`. + configure. To switch away from auto use the new flag like + `--precision=float32`. ## v1.14 (11 September 2022) - Memory optimizations for small-RAM cards. 512x512 now possible on 4 GB GPUs. - Full support for Apple hardware with M1 or M2 chips. - Add "seamless mode" for circular tiling of image. Generates beautiful effects. - ([prixt](https://github.com/prixt)). + ([prixt](https://github.com/prixt)). - Inpainting support. - Improved web server GUI. - Lots of code and documentation cleanups. @@ -50,16 +233,17 @@ title: Changelog ## v1.13 (3 September 2022) - Support image variations (see [VARIATIONS](features/VARIATIONS.md) - ([Kevin Gibbons](https://github.com/bakkot) and many contributors and reviewers) -- Supports a Google Colab notebook for a standalone server running on Google hardware - [Arturo Mendivil](https://github.com/artmen1516) + ([Kevin Gibbons](https://github.com/bakkot) and many contributors and + reviewers) +- Supports a Google Colab notebook for a standalone server running on Google + hardware [Arturo Mendivil](https://github.com/artmen1516) - WebUI supports GFPGAN/ESRGAN facial reconstruction and upscaling - [Kevin Gibbons](https://github.com/bakkot) + [Kevin Gibbons](https://github.com/bakkot) - WebUI supports incremental display of in-progress images during generation - [Kevin Gibbons](https://github.com/bakkot) + [Kevin Gibbons](https://github.com/bakkot) - A new configuration file scheme that allows new models (including upcoming - stable-diffusion-v1.5) to be added without altering the code. - ([David Wager](https://github.com/maddavid12)) + stable-diffusion-v1.5) to be added without altering the code. + ([David Wager](https://github.com/maddavid12)) - Can specify --grid on invoke.py command line as the default. - Miscellaneous internal bug and stability fixes. - Works on M1 Apple hardware. @@ -71,49 +255,59 @@ title: Changelog - Improved file handling, including ability to read prompts from standard input. (kudos to [Yunsaki](https://github.com/yunsaki) -- The web server is now integrated with the invoke.py script. Invoke by adding --web to - the invoke.py command arguments. +- The web server is now integrated with the invoke.py script. Invoke by adding + --web to the invoke.py command arguments. - Face restoration and upscaling via GFPGAN and Real-ESGAN are now automatically enabled if the GFPGAN directory is located as a sibling to Stable Diffusion. - VRAM requirements are modestly reduced. Thanks to both [Blessedcoolant](https://github.com/blessedcoolant) and + VRAM requirements are modestly reduced. Thanks to both + [Blessedcoolant](https://github.com/blessedcoolant) and [Oceanswave](https://github.com/oceanswave) for their work on this. -- You can now swap samplers on the invoke> command line. [Blessedcoolant](https://github.com/blessedcoolant) +- You can now swap samplers on the invoke> command line. + [Blessedcoolant](https://github.com/blessedcoolant) --- ## v1.11 (26 August 2022) -- NEW FEATURE: Support upscaling and face enhancement using the GFPGAN module. (kudos to [Oceanswave](https://github.com/Oceanswave) -- You now can specify a seed of -1 to use the previous image's seed, -2 to use the seed for the image generated before that, etc. - Seed memory only extends back to the previous command, but will work on all images generated with the -n# switch. +- NEW FEATURE: Support upscaling and face enhancement using the GFPGAN module. + (kudos to [Oceanswave](https://github.com/Oceanswave) +- You now can specify a seed of -1 to use the previous image's seed, -2 to use + the seed for the image generated before that, etc. Seed memory only extends + back to the previous command, but will work on all images generated with the + -n# switch. - Variant generation support temporarily disabled pending more general solution. -- Created a feature branch named **yunsaki-morphing-invoke** which adds experimental support for - iteratively modifying the prompt and its parameters. Please see[Pull Request #86](https://github.com/lstein/stable-diffusion/pull/86) - for a synopsis of how this works. Note that when this feature is eventually added to the main branch, it will may be modified - significantly. +- Created a feature branch named **yunsaki-morphing-invoke** which adds + experimental support for iteratively modifying the prompt and its parameters. + Please + see[Pull Request #86](https://github.com/lstein/stable-diffusion/pull/86) for + a synopsis of how this works. Note that when this feature is eventually added + to the main branch, it will may be modified significantly. --- ## v1.10 (25 August 2022) -- A barebones but fully functional interactive web server for online generation of txt2img and img2img. +- A barebones but fully functional interactive web server for online generation + of txt2img and img2img. --- ## v1.09 (24 August 2022) - A new -v option allows you to generate multiple variants of an initial image - in img2img mode. (kudos to [Oceanswave](https://github.com/Oceanswave). [ - See this discussion in the PR for examples and details on use](https://github.com/lstein/stable-diffusion/pull/71#issuecomment-1226700810)) -- Added ability to personalize text to image generation (kudos to [Oceanswave](https://github.com/Oceanswave) and [nicolai256](https://github.com/nicolai256)) + in img2img mode. (kudos to [Oceanswave](https://github.com/Oceanswave). + [ See this discussion in the PR for examples and details on use](https://github.com/lstein/stable-diffusion/pull/71#issuecomment-1226700810)) +- Added ability to personalize text to image generation (kudos to + [Oceanswave](https://github.com/Oceanswave) and + [nicolai256](https://github.com/nicolai256)) - Enabled all of the samplers from k_diffusion --- ## v1.08 (24 August 2022) -- Escape single quotes on the invoke> command before trying to parse. This avoids - parse errors. +- Escape single quotes on the invoke> command before trying to parse. This + avoids parse errors. - Removed instruction to get Python3.8 as first step in Windows install. Anaconda3 does it for you. - Added bounds checks for numeric arguments that could cause crashes. @@ -123,34 +317,36 @@ title: Changelog ## v1.07 (23 August 2022) -- Image filenames will now never fill gaps in the sequence, but will be assigned the - next higher name in the chosen directory. This ensures that the alphabetic and chronological - sort orders are the same. +- Image filenames will now never fill gaps in the sequence, but will be assigned + the next higher name in the chosen directory. This ensures that the alphabetic + and chronological sort orders are the same. --- ## v1.06 (23 August 2022) -- Added weighted prompt support contributed by [xraxra](https://github.com/xraxra) -- Example of using weighted prompts to tweak a demonic figure contributed by [bmaltais](https://github.com/bmaltais) +- Added weighted prompt support contributed by + [xraxra](https://github.com/xraxra) +- Example of using weighted prompts to tweak a demonic figure contributed by + [bmaltais](https://github.com/bmaltais) --- ## v1.05 (22 August 2022 - after the drop) -- Filenames now use the following formats: - 000010.95183149.png -- Two files produced by the same command (e.g. -n2), - 000010.26742632.png -- distinguished by a different seed. +- Filenames now use the following formats: 000010.95183149.png -- Two files + produced by the same command (e.g. -n2), 000010.26742632.png -- distinguished + by a different seed. 000011.455191342.01.png -- Two files produced by the same command using 000011.455191342.02.png -- a batch size>1 (e.g. -b2). They have the same seed. - 000011.4160627868.grid#1-4.png -- a grid of four images (-g); the whole grid can - be regenerated with the indicated key + 000011.4160627868.grid#1-4.png -- a grid of four images (-g); the whole grid + can be regenerated with the indicated key - It should no longer be possible for one image to overwrite another -- You can use the "cd" and "pwd" commands at the invoke> prompt to set and retrieve - the path of the output directory. +- You can use the "cd" and "pwd" commands at the invoke> prompt to set and + retrieve the path of the output directory. --- @@ -164,26 +360,28 @@ title: Changelog ## v1.03 (22 August 2022) -- The original txt2img and img2img scripts from the CompViz repository have been moved into - a subfolder named "orig_scripts", to reduce confusion. +- The original txt2img and img2img scripts from the CompViz repository have been + moved into a subfolder named "orig_scripts", to reduce confusion. --- ## v1.02 (21 August 2022) -- A copy of the prompt and all of its switches and options is now stored in the corresponding - image in a tEXt metadata field named "Dream". You can read the prompt using scripts/images2prompt.py, - or an image editor that allows you to explore the full metadata. - **Please run "conda env update" to load the k_lms dependencies!!** +- A copy of the prompt and all of its switches and options is now stored in the + corresponding image in a tEXt metadata field named "Dream". You can read the + prompt using scripts/images2prompt.py, or an image editor that allows you to + explore the full metadata. **Please run "conda env update" to load the k_lms + dependencies!!** --- ## v1.01 (21 August 2022) -- added k_lms sampling. - **Please run "conda env update" to load the k_lms dependencies!!** -- use half precision arithmetic by default, resulting in faster execution and lower memory requirements - Pass argument --full_precision to invoke.py to get slower but more accurate image generation +- added k_lms sampling. **Please run "conda env update" to load the k_lms + dependencies!!** +- use half precision arithmetic by default, resulting in faster execution and + lower memory requirements Pass argument --full_precision to invoke.py to get + slower but more accurate image generation --- diff --git a/docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512-transparent.png b/docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512-transparent.png deleted file mode 100644 index 363f3cced3..0000000000 Binary files a/docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512-transparent.png and /dev/null differ diff --git a/docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512.png b/docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512.png deleted file mode 100644 index acabe0f27c..0000000000 Binary files a/docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512.png and /dev/null differ diff --git a/docs/assets/preflight-checks/inputs/curly.png b/docs/assets/preflight-checks/inputs/curly.png deleted file mode 100644 index d9a4cb257e..0000000000 Binary files a/docs/assets/preflight-checks/inputs/curly.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000001.1863159593.png b/docs/assets/preflight-checks/outputs/000001.1863159593.png deleted file mode 100644 index 510533ad37..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000001.1863159593.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000002.1151955949.png b/docs/assets/preflight-checks/outputs/000002.1151955949.png deleted file mode 100644 index 22bc883ba4..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000002.1151955949.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000003.2736230502.png b/docs/assets/preflight-checks/outputs/000003.2736230502.png deleted file mode 100644 index 43c734864d..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000003.2736230502.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000004.42.png b/docs/assets/preflight-checks/outputs/000004.42.png deleted file mode 100644 index a46b4306de..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000004.42.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000005.42.png b/docs/assets/preflight-checks/outputs/000005.42.png deleted file mode 100644 index a46b4306de..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000005.42.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000006.478163327.png b/docs/assets/preflight-checks/outputs/000006.478163327.png deleted file mode 100644 index c1852903c8..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000006.478163327.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000007.2407640369.png b/docs/assets/preflight-checks/outputs/000007.2407640369.png deleted file mode 100644 index 27f46bb79c..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000007.2407640369.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000008.2772421987.png b/docs/assets/preflight-checks/outputs/000008.2772421987.png deleted file mode 100644 index 73122b6082..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000008.2772421987.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000009.3532317557.png b/docs/assets/preflight-checks/outputs/000009.3532317557.png deleted file mode 100644 index 29e47c1319..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000009.3532317557.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000010.2028635318.png b/docs/assets/preflight-checks/outputs/000010.2028635318.png deleted file mode 100644 index 82370d6f6d..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000010.2028635318.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000011.1111168647.png b/docs/assets/preflight-checks/outputs/000011.1111168647.png deleted file mode 100644 index 3aaa9a7b5f..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000011.1111168647.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000012.1476370516.png b/docs/assets/preflight-checks/outputs/000012.1476370516.png deleted file mode 100644 index db12e814a5..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000012.1476370516.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000013.4281108706.png b/docs/assets/preflight-checks/outputs/000013.4281108706.png deleted file mode 100644 index 5d798249ed..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000013.4281108706.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000014.2396987386.png b/docs/assets/preflight-checks/outputs/000014.2396987386.png deleted file mode 100644 index 031cecb9f3..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000014.2396987386.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000015.1252923272.png b/docs/assets/preflight-checks/outputs/000015.1252923272.png deleted file mode 100644 index 7d9bbd93a5..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000015.1252923272.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000016.2633891320.png b/docs/assets/preflight-checks/outputs/000016.2633891320.png deleted file mode 100644 index 46b60566d9..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000016.2633891320.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000017.1134411920.png b/docs/assets/preflight-checks/outputs/000017.1134411920.png deleted file mode 100644 index 7dbb581b29..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000017.1134411920.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000018.47.png b/docs/assets/preflight-checks/outputs/000018.47.png deleted file mode 100644 index 546c382fef..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000018.47.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000019.47.png b/docs/assets/preflight-checks/outputs/000019.47.png deleted file mode 100644 index 58f3042add..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000019.47.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000020.47.png b/docs/assets/preflight-checks/outputs/000020.47.png deleted file mode 100644 index f9419e0a2e..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000020.47.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000021.47.png b/docs/assets/preflight-checks/outputs/000021.47.png deleted file mode 100644 index 4f651424c6..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000021.47.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000022.47.png b/docs/assets/preflight-checks/outputs/000022.47.png deleted file mode 100644 index 94c2201a6d..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000022.47.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000023.47.png b/docs/assets/preflight-checks/outputs/000023.47.png deleted file mode 100644 index 88fb064bef..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000023.47.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000024.1029061431.png b/docs/assets/preflight-checks/outputs/000024.1029061431.png deleted file mode 100644 index 13afde0f13..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000024.1029061431.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/000025.1284519352.png b/docs/assets/preflight-checks/outputs/000025.1284519352.png deleted file mode 100644 index ed77106d4a..0000000000 Binary files a/docs/assets/preflight-checks/outputs/000025.1284519352.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/curly.942491079.gfpgan.png b/docs/assets/preflight-checks/outputs/curly.942491079.gfpgan.png deleted file mode 100644 index fa39975e74..0000000000 Binary files a/docs/assets/preflight-checks/outputs/curly.942491079.gfpgan.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/curly.942491079.outcrop-01.png b/docs/assets/preflight-checks/outputs/curly.942491079.outcrop-01.png deleted file mode 100644 index 42778777c0..0000000000 Binary files a/docs/assets/preflight-checks/outputs/curly.942491079.outcrop-01.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/curly.942491079.outcrop.png b/docs/assets/preflight-checks/outputs/curly.942491079.outcrop.png deleted file mode 100644 index 55a0d1f63b..0000000000 Binary files a/docs/assets/preflight-checks/outputs/curly.942491079.outcrop.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/curly.942491079.outpaint.png b/docs/assets/preflight-checks/outputs/curly.942491079.outpaint.png deleted file mode 100644 index c1db6c4bb9..0000000000 Binary files a/docs/assets/preflight-checks/outputs/curly.942491079.outpaint.png and /dev/null differ diff --git a/docs/assets/preflight-checks/outputs/invoke_log.md b/docs/assets/preflight-checks/outputs/invoke_log.md deleted file mode 100644 index 75ab95e49c..0000000000 --- a/docs/assets/preflight-checks/outputs/invoke_log.md +++ /dev/null @@ -1,116 +0,0 @@ -## 000001.1863159593.png -![](000001.1863159593.png) - -banana sushi -s 50 -S 1863159593 -W 512 -H 512 -C 7.5 -A k_lms -## 000002.1151955949.png -![](000002.1151955949.png) - -banana sushi -s 50 -S 1151955949 -W 512 -H 512 -C 7.5 -A plms -## 000003.2736230502.png -![](000003.2736230502.png) - -banana sushi -s 50 -S 2736230502 -W 512 -H 512 -C 7.5 -A ddim -## 000004.42.png -![](000004.42.png) - -banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -## 000005.42.png -![](000005.42.png) - -banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -## 000006.478163327.png -![](000006.478163327.png) - -banana sushi -s 50 -S 478163327 -W 640 -H 448 -C 7.5 -A k_lms -## 000007.2407640369.png -![](000007.2407640369.png) - -banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -V 2407640369:0.1 -## 000008.2772421987.png -![](000008.2772421987.png) - -banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -V 2772421987:0.1 -## 000009.3532317557.png -![](000009.3532317557.png) - -banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -V 3532317557:0.1 -## 000010.2028635318.png -![](000010.2028635318.png) - -banana sushi -s 50 -S 2028635318 -W 512 -H 512 -C 7.5 -A k_lms -## 000011.1111168647.png -![](000011.1111168647.png) - -pond with waterlillies -s 50 -S 1111168647 -W 512 -H 512 -C 7.5 -A k_lms -## 000012.1476370516.png -![](000012.1476370516.png) - -pond with waterlillies -s 50 -S 1476370516 -W 512 -H 512 -C 7.5 -A k_lms -## 000013.4281108706.png -![](000013.4281108706.png) - -banana sushi -s 50 -S 4281108706 -W 960 -H 960 -C 7.5 -A k_lms -## 000014.2396987386.png -![](000014.2396987386.png) - -old sea captain with crow on shoulder -s 50 -S 2396987386 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512.png -A k_lms -f 0.75 -## 000015.1252923272.png -![](000015.1252923272.png) - -old sea captain with crow on shoulder -s 50 -S 1252923272 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512-transparent.png -A k_lms -f 0.75 -## 000016.2633891320.png -![](000016.2633891320.png) - -old sea captain with crow on shoulder -s 50 -S 2633891320 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512.png -A plms -f 0.75 -## 000017.1134411920.png -![](000017.1134411920.png) - -old sea captain with crow on shoulder -s 50 -S 1134411920 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512.png -A k_euler_a -f 0.75 -## 000018.47.png -![](000018.47.png) - -big red dog playing with cat -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -## 000019.47.png -![](000019.47.png) - -big red++++ dog playing with cat -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -## 000020.47.png -![](000020.47.png) - -big red dog playing with cat+++ -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -## 000021.47.png -![](000021.47.png) - -big (red dog).swap(tiger) playing with cat -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -## 000022.47.png -![](000022.47.png) - -dog:1,cat:2 -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -## 000023.47.png -![](000023.47.png) - -dog:2,cat:1 -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -## 000024.1029061431.png -![](000024.1029061431.png) - -medusa with cobras -s 50 -S 1029061431 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/curly.png -A k_lms -f 0.75 -tm hair -## 000025.1284519352.png -![](000025.1284519352.png) - -bearded man -s 50 -S 1284519352 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/curly.png -A k_lms -f 0.75 -tm face -## curly.942491079.gfpgan.png -![](curly.942491079.gfpgan.png) - -!fix ./docs/assets/preflight-checks/inputs/curly.png -s 50 -S 942491079 -W 512 -H 512 -C 7.5 -A k_lms -G 0.8 -ft gfpgan -U 2.0 0.75 -## curly.942491079.outcrop.png -![](curly.942491079.outcrop.png) - -!fix ./docs/assets/preflight-checks/inputs/curly.png -s 50 -S 942491079 -W 512 -H 512 -C 7.5 -A k_lms -c top 64 -## curly.942491079.outpaint.png -![](curly.942491079.outpaint.png) - -!fix ./docs/assets/preflight-checks/inputs/curly.png -s 50 -S 942491079 -W 512 -H 512 -C 7.5 -A k_lms -D top 64 -## curly.942491079.outcrop-01.png -![](curly.942491079.outcrop-01.png) - -!fix ./docs/assets/preflight-checks/inputs/curly.png -s 50 -S 942491079 -W 512 -H 512 -C 7.5 -A k_lms -c top 64 diff --git a/docs/assets/preflight-checks/outputs/invoke_log.txt b/docs/assets/preflight-checks/outputs/invoke_log.txt deleted file mode 100644 index 081afe2822..0000000000 --- a/docs/assets/preflight-checks/outputs/invoke_log.txt +++ /dev/null @@ -1,29 +0,0 @@ -outputs/preflight/000001.1863159593.png: banana sushi -s 50 -S 1863159593 -W 512 -H 512 -C 7.5 -A k_lms -outputs/preflight/000002.1151955949.png: banana sushi -s 50 -S 1151955949 -W 512 -H 512 -C 7.5 -A plms -outputs/preflight/000003.2736230502.png: banana sushi -s 50 -S 2736230502 -W 512 -H 512 -C 7.5 -A ddim -outputs/preflight/000004.42.png: banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -outputs/preflight/000005.42.png: banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -outputs/preflight/000006.478163327.png: banana sushi -s 50 -S 478163327 -W 640 -H 448 -C 7.5 -A k_lms -outputs/preflight/000007.2407640369.png: banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -V 2407640369:0.1 -outputs/preflight/000008.2772421987.png: banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -V 2772421987:0.1 -outputs/preflight/000009.3532317557.png: banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -V 3532317557:0.1 -outputs/preflight/000010.2028635318.png: banana sushi -s 50 -S 2028635318 -W 512 -H 512 -C 7.5 -A k_lms -outputs/preflight/000011.1111168647.png: pond with waterlillies -s 50 -S 1111168647 -W 512 -H 512 -C 7.5 -A k_lms -outputs/preflight/000012.1476370516.png: pond with waterlillies -s 50 -S 1476370516 -W 512 -H 512 -C 7.5 -A k_lms -outputs/preflight/000013.4281108706.png: banana sushi -s 50 -S 4281108706 -W 960 -H 960 -C 7.5 -A k_lms -outputs/preflight/000014.2396987386.png: old sea captain with crow on shoulder -s 50 -S 2396987386 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512.png -A k_lms -f 0.75 -outputs/preflight/000015.1252923272.png: old sea captain with crow on shoulder -s 50 -S 1252923272 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512-transparent.png -A k_lms -f 0.75 -outputs/preflight/000016.2633891320.png: old sea captain with crow on shoulder -s 50 -S 2633891320 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512.png -A plms -f 0.75 -outputs/preflight/000017.1134411920.png: old sea captain with crow on shoulder -s 50 -S 1134411920 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512.png -A k_euler_a -f 0.75 -outputs/preflight/000018.47.png: big red dog playing with cat -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -outputs/preflight/000019.47.png: big red++++ dog playing with cat -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -outputs/preflight/000020.47.png: big red dog playing with cat+++ -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -outputs/preflight/000021.47.png: big (red dog).swap(tiger) playing with cat -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -outputs/preflight/000022.47.png: dog:1,cat:2 -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -outputs/preflight/000023.47.png: dog:2,cat:1 -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -outputs/preflight/000024.1029061431.png: medusa with cobras -s 50 -S 1029061431 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/curly.png -A k_lms -f 0.75 -tm hair -outputs/preflight/000025.1284519352.png: bearded man -s 50 -S 1284519352 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/curly.png -A k_lms -f 0.75 -tm face -outputs/preflight/curly.942491079.gfpgan.png: !fix ./docs/assets/preflight-checks/inputs/curly.png -s 50 -S 942491079 -W 512 -H 512 -C 7.5 -A k_lms -G 0.8 -ft gfpgan -U 2.0 0.75 -outputs/preflight/curly.942491079.outcrop.png: !fix ./docs/assets/preflight-checks/inputs/curly.png -s 50 -S 942491079 -W 512 -H 512 -C 7.5 -A k_lms -c top 64 -outputs/preflight/curly.942491079.outpaint.png: !fix ./docs/assets/preflight-checks/inputs/curly.png -s 50 -S 942491079 -W 512 -H 512 -C 7.5 -A k_lms -D top 64 -outputs/preflight/curly.942491079.outcrop-01.png: !fix ./docs/assets/preflight-checks/inputs/curly.png -s 50 -S 942491079 -W 512 -H 512 -C 7.5 -A k_lms -c top 64 diff --git a/docs/assets/preflight-checks/preflight_prompts.txt b/docs/assets/preflight-checks/preflight_prompts.txt deleted file mode 100644 index 3ec421e9e9..0000000000 --- a/docs/assets/preflight-checks/preflight_prompts.txt +++ /dev/null @@ -1,61 +0,0 @@ -# outputs/preflight/000001.1863159593.png -banana sushi -s 50 -S 1863159593 -W 512 -H 512 -C 7.5 -A k_lms -# outputs/preflight/000002.1151955949.png -banana sushi -s 50 -S 1151955949 -W 512 -H 512 -C 7.5 -A plms -# outputs/preflight/000003.2736230502.png -banana sushi -s 50 -S 2736230502 -W 512 -H 512 -C 7.5 -A ddim -# outputs/preflight/000004.42.png -banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -# outputs/preflight/000005.42.png -banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -# outputs/preflight/000006.478163327.png -banana sushi -s 50 -S 478163327 -W 640 -H 448 -C 7.5 -A k_lms -# outputs/preflight/000007.2407640369.png -banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -V 2407640369:0.1 -# outputs/preflight/000007.2772421987.png -banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -V 2772421987:0.1 -# outputs/preflight/000007.3532317557.png -banana sushi -s 50 -S 42 -W 512 -H 512 -C 7.5 -A k_lms -V 3532317557:0.1 -# outputs/preflight/000008.2028635318.png -banana sushi -s 50 -S 2028635318 -W 512 -H 512 -C 7.5 -A k_lms -# outputs/preflight/000009.1111168647.png -pond with waterlillies -s 50 -S 1111168647 -W 512 -H 512 -C 7.5 -A k_lms -# outputs/preflight/000010.1476370516.png -pond with waterlillies -s 50 -S 1476370516 -W 512 -H 512 -C 7.5 -A k_lms --seamless -# outputs/preflight/000011.4281108706.png -banana sushi -s 50 -S 4281108706 -W 960 -H 960 -C 7.5 -A k_lms -# outputs/preflight/000012.2396987386.png -old sea captain with crow on shoulder -s 50 -S 2396987386 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512.png -A k_lms -f 0.75 -# outputs/preflight/000013.1252923272.png -old sea captain with crow on shoulder -s 50 -S 1252923272 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512-transparent.png -A k_lms -f 0.75 -# outputs/preflight/000014.2633891320.png -old sea captain with crow on shoulder -s 50 -S 2633891320 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512.png -A plms -f 0.75 -# outputs/preflight/000015.1134411920.png -old sea captain with crow on shoulder -s 50 -S 1134411920 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/Lincoln-and-Parrot-512.png -A k_euler_a -f 0.75 -# outputs/preflight/000016.42.png -big red dog playing with cat -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -# outputs/preflight/000017.42.png -big red++++ dog playing with cat -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -# outputs/preflight/000018.42.png -big red dog playing with cat+++ -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -# outputs/preflight/000019.42.png -big (red dog).swap(tiger) playing with cat -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -# outputs/preflight/000020.42.png -dog:1,cat:2 -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -# outputs/preflight/000021.42.png -dog:2,cat:1 -s 50 -S 47 -W 512 -H 512 -C 7.5 -A k_lms -# outputs/preflight/000022.1029061431.png -medusa with cobras -s 50 -S 1029061431 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/curly.png -A k_lms -f 0.75 -tm hair -# outputs/preflight/000023.1284519352.png -bearded man -s 50 -S 1284519352 -W 512 -H 512 -C 7.5 -I docs/assets/preflight-checks/inputs/curly.png -A k_lms -f 0.75 -tm face -# outputs/preflight/000024.curly.hair.deselected.png -!mask -I docs/assets/preflight-checks/inputs/curly.png -tm hair -# outputs/preflight/curly.942491079.gfpgan.png -!fix ./docs/assets/preflight-checks/inputs/curly.png -U2 -G0.8 -# outputs/preflight/curly.942491079.outcrop.png -!fix ./docs/assets/preflight-checks/inputs/curly.png -c top 64 -# outputs/preflight/curly.942491079.outpaint.png -!fix ./docs/assets/preflight-checks/inputs/curly.png -D top 64 -# outputs/preflight/curly.942491079.outcrop-01.png -!switch inpainting-1.5 -!fix ./docs/assets/preflight-checks/inputs/curly.png -c top 64 diff --git a/docs/features/CLI.md b/docs/features/CLI.md index 26d0ecc8d5..b8de156412 100644 --- a/docs/features/CLI.md +++ b/docs/features/CLI.md @@ -1,7 +1,5 @@ --- title: CLI -hide: - - toc --- # :material-bash: CLI @@ -93,6 +91,10 @@ overridden on a per-prompt basis (see | `--port ` | | `9090` | Which port web server should listen for requests on. | | `--config ` | | `configs/models.yaml` | Configuration file for models and their weights. | | `--iterations ` | `-n` | `1` | How many images to generate per prompt. | +| `--width ` | `-W` | `512` | Width of generated image | +| `--height ` | `-H` | `512` | Height of generated image | `--steps ` | `-s` | `50` | How many steps of refinement to apply | +| `--strength ` | `-s` | `0.75` | For img2img: how hard to try to match the prompt to the initial image. Ranges from 0.0-0.99, with higher values replacing the initial image completely. | +| `--fit` | `-F` | `False` | For img2img: scale the init image to fit into the specified -H and -W dimensions | | `--grid` | `-g` | `False` | Save all image series as a grid rather than individually. | | `--sampler ` | `-A` | `k_lms` | Sampler to use. Use `-h` to get list of available samplers. | | `--seamless` | | `False` | Create interesting effects by tiling elements of the image. | @@ -108,7 +110,7 @@ overridden on a per-prompt basis (see | Argument | Shortcut | Default | Description | |--------------------|------------|---------------------|--------------| - | `--weights ` | | `None` | Pth to weights file; use `--model stable-diffusion-1.4` instead | + | `--weights ` | | `None` | Path to weights file; use `--model stable-diffusion-1.4` instead | | `--laion400m` | `-l` | `False` | Use older LAION400m weights; use `--model=laion400m` instead | @@ -121,6 +123,29 @@ overridden on a per-prompt basis (see You can either double your slashes (ick): `C:\\path\\to\\my\\file`, or use Linux/Mac style forward slashes (better): `C:/path/to/my/file`. +## The .invokeai initialization file + +To start up invoke.py with your preferred settings, place your desired +startup options in a file in your home directory named `.invokeai` The +file should contain the startup options as you would type them on the +command line (`--steps=10 --grid`), one argument per line, or a +mixture of both using any of the accepted command switch formats: + +!!! example "" + + ```bash + --web + --steps=28 + --grid + -f 0.6 -C 11.0 -A k_euler_a + ``` + +Note that the initialization file only accepts the command line arguments. +There are additional arguments that you can provide on the `invoke>` command +line (such as `-n` or `--iterations`) that cannot be entered into this file. +Also be alert for empty blank lines at the end of the file, which will cause +an arguments error at startup time. + ## List of prompt arguments After the invoke.py script initializes, it will present you with a `invoke>` diff --git a/docs/features/IMG2IMG.md b/docs/features/IMG2IMG.md index a390a836c5..6589027761 100644 --- a/docs/features/IMG2IMG.md +++ b/docs/features/IMG2IMG.md @@ -6,10 +6,11 @@ title: Image-to-Image ## `img2img` -This script also provides an `img2img` feature that lets you seed your creations with an initial -drawing or photo. This is a really cool feature that tells stable diffusion to build the prompt on -top of the image you provide, preserving the original's basic shape and layout. To use it, provide -the `--init_img` option as shown here: +This script also provides an `img2img` feature that lets you seed your creations +with an initial drawing or photo. This is a really cool feature that tells +stable diffusion to build the prompt on top of the image you provide, preserving +the original's basic shape and layout. To use it, provide the `--init_img` +option as shown here: ```commandline tree on a hill with a river, nature photograph, national geographic -I./test-pictures/tree-and-river-sketch.png -f 0.85 @@ -18,63 +19,76 @@ tree on a hill with a river, nature photograph, national geographic -I./test-pic This will take the original image shown here:
- +![original-image](https://user-images.githubusercontent.com/50542132/193946000-c42a96d8-5a74-4f8a-b4c3-5213e6cadcce.png){ width=320 }
and generate a new image based on it as shown here:
- +![generated-image](https://user-images.githubusercontent.com/111189/194135515-53d4c060-e994-4016-8121-7c685e281ac9.png){ width=320 }
-The `--init_img` (`-I`) option gives the path to the seed picture. `--strength` (`-f`) controls how much -the original will be modified, ranging from `0.0` (keep the original intact), to `1.0` (ignore the -original completely). The default is `0.75`, and ranges from `0.25-0.90` give interesting results. -Other relevant options include `-C` (classification free guidance scale), and `-s` (steps). Unlike `txt2img`, -adding steps will continuously change the resulting image and it will not converge. +The `--init_img` (`-I`) option gives the path to the seed picture. `--strength` +(`-f`) controls how much the original will be modified, ranging from `0.0` (keep +the original intact), to `1.0` (ignore the original completely). The default is +`0.75`, and ranges from `0.25-0.90` give interesting results. Other relevant +options include `-C` (classification free guidance scale), and `-s` (steps). +Unlike `txt2img`, adding steps will continuously change the resulting image and +it will not converge. -You may also pass a `-v` option to generate `-n` count variants on -the original image. This is done by passing the first generated image -back into img2img the requested number of times. It generates +You may also pass a `-v` option to generate `-n` +count variants on the original image. This is done by passing the first +generated image back into img2img the requested number of times. It generates interesting variants. -Note that the prompt makes a big difference. For example, this slight variation on the prompt produces -a very different image: +Note that the prompt makes a big difference. For example, this slight variation +on the prompt produces a very different image:
- +![](https://user-images.githubusercontent.com/111189/194135220-16b62181-b60c-4248-8989-4834a8fd7fbd.png){ width=320 } photograph of a tree on a hill with a river
!!! tip - When designing prompts, think about how the images scraped from the internet were captioned. Very few photographs will - be labeled "photograph" or "photorealistic." They will, however, be captioned with the publication, photographer, camera - model, or film settings. + When designing prompts, think about how the images scraped from the internet were + captioned. Very few photographs will be labeled "photograph" or "photorealistic." + They will, however, be captioned with the publication, photographer, camera model, + or film settings. -If the initial image contains transparent regions, then Stable Diffusion will only draw within the -transparent regions, a process called [`inpainting`](./INPAINTING.md#creating-transparent-regions-for-inpainting). However, for this to work correctly, the color -information underneath the transparent needs to be preserved, not erased. +If the initial image contains transparent regions, then Stable Diffusion will +only draw within the transparent regions, a process called +[`inpainting`](./INPAINTING.md#creating-transparent-regions-for-inpainting). +However, for this to work correctly, the color information underneath the +transparent needs to be preserved, not erased. -!!! warning +!!! warning "**IMPORTANT ISSUE** " -**IMPORTANT ISSUE** `img2img` does not work properly on initial images smaller than 512x512. Please scale your -image to at least 512x512 before using it. Larger images are not a problem, but may run out of VRAM on your -GPU card. To fix this, use the --fit option, which downscales the initial image to fit within the box specified -by width x height: -~~~ -tree on a hill with a river, national geographic -I./test-pictures/big-sketch.png -H512 -W512 --fit -~~~ + `img2img` does not work properly on initial images smaller + than 512x512. Please scale your image to at least 512x512 before using it. + Larger images are not a problem, but may run out of VRAM on your GPU card. To + fix this, use the --fit option, which downscales the initial image to fit within + the box specified by width x height: + + ``` + tree on a hill with a river, national geographic -I./test-pictures/big-sketch.png -H512 -W512 --fit + ``` ## How does it actually work, though? -The main difference between `img2img` and `prompt2img` is the starting point. While `prompt2img` always starts with pure -gaussian noise and progressively refines it over the requested number of steps, `img2img` skips some of these earlier steps -(how many it skips is indirectly controlled by the `--strength` parameter), and uses instead your initial image mixed with gaussian noise as the starting image. +The main difference between `img2img` and `prompt2img` is the starting point. +While `prompt2img` always starts with pure gaussian noise and progressively +refines it over the requested number of steps, `img2img` skips some of these +earlier steps (how many it skips is indirectly controlled by the `--strength` +parameter), and uses instead your initial image mixed with gaussian noise as the +starting image. -**Let's start** by thinking about vanilla `prompt2img`, just generating an image from a prompt. If the step count is 10, then the "latent space" (Stable Diffusion's internal representation of the image) for the prompt "fire" with seed `1592514025` develops something like this: +**Let's start** by thinking about vanilla `prompt2img`, just generating an image +from a prompt. If the step count is 10, then the "latent space" (Stable +Diffusion's internal representation of the image) for the prompt "fire" with +seed `1592514025` develops something like this: -```commandline +```bash invoke> "fire" -s10 -W384 -H384 -S1592514025 ``` @@ -82,9 +96,16 @@ invoke> "fire" -s10 -W384 -H384 -S1592514025 ![latent steps](../assets/img2img/000019.steps.png) -Put simply: starting from a frame of fuzz/static, SD finds details in each frame that it thinks look like "fire" and brings them a little bit more into focus, gradually scrubbing out the fuzz until a clear image remains. +Put simply: starting from a frame of fuzz/static, SD finds details in each frame +that it thinks look like "fire" and brings them a little bit more into focus, +gradually scrubbing out the fuzz until a clear image remains. -**When you use `img2img`** some of the earlier steps are cut, and instead an initial image of your choice is used. But because of how the maths behind Stable Diffusion works, this image needs to be mixed with just the right amount of noise (fuzz/static) for where it is being inserted. This is where the strength parameter comes in. Depending on the set strength, your image will be inserted into the sequence at the appropriate point, with just the right amount of noise. +**When you use `img2img`** some of the earlier steps are cut, and instead an +initial image of your choice is used. But because of how the maths behind Stable +Diffusion works, this image needs to be mixed with just the right amount of +noise (fuzz/static) for where it is being inserted. This is where the strength +parameter comes in. Depending on the set strength, your image will be inserted +into the sequence at the appropriate point, with just the right amount of noise. ### A concrete example @@ -94,7 +115,9 @@ I want SD to draw a fire based on this hand-drawn image: ![drawing of a fireplace](../assets/img2img/fire-drawing.png) -Let's only do 10 steps, to make it easier to see what's happening. If strength is `0.7`, this is what the internal steps the algorithm has to take will look like: +Let's only do 10 steps, to make it easier to see what's happening. If strength +is `0.7`, this is what the internal steps the algorithm has to take will look +like:
![gravity32](../assets/img2img/000032.steps.gravity.png) @@ -106,33 +129,49 @@ With strength `0.4`, the steps look more like this: ![gravity30](../assets/img2img/000030.steps.gravity.png)
-Notice how much more fuzzy the starting image is for strength `0.7` compared to `0.4`, and notice also how much longer the sequence is with `0.7`: +Notice how much more fuzzy the starting image is for strength `0.7` compared to +`0.4`, and notice also how much longer the sequence is with `0.7`: -| | strength = 0.7 | strength = 0.4 | -| -- | -- | -- | -| initial image that SD sees | ![](../assets/img2img/000032.step-0.png) | ![](../assets/img2img/000030.step-0.png) | -| steps argument to `invoke>` | `-S10` | `-S10` | -| steps actually taken | 7 | 4 | -| latent space at each step | ![gravity32](../assets/img2img/000032.steps.gravity.png) | ![gravity30](../assets/img2img/000030.steps.gravity.png) | -| output | ![000032.1592514025](../assets/img2img/000032.1592514025.png) | ![000030.1592514025](../assets/img2img/000030.1592514025.png) | +| | strength = 0.7 | strength = 0.4 | +| --------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| initial image that SD sees | ![step-0](../assets/img2img/000032.step-0.png) | ![step-0](../assets/img2img/000030.step-0.png) | +| steps argument to `invoke>` | `-S10` | `-S10` | +| steps actually taken | `7` | `4` | +| latent space at each step | ![gravity32](../assets/img2img/000032.steps.gravity.png) | ![gravity30](../assets/img2img/000030.steps.gravity.png) | +| output | ![000032.1592514025](../assets/img2img/000032.1592514025.png) | ![000030.1592514025](../assets/img2img/000030.1592514025.png) | -Both of the outputs look kind of like what I was thinking of. With the strength higher, my input becomes more vague, *and* Stable Diffusion has more steps to refine its output. But it's not really making what I want, which is a picture of cheery open fire. With the strength lower, my input is more clear, *but* Stable Diffusion has less chance to refine itself, so the result ends up inheriting all the problems of my bad drawing. +Both of the outputs look kind of like what I was thinking of. With the strength +higher, my input becomes more vague, _and_ Stable Diffusion has more steps to +refine its output. But it's not really making what I want, which is a picture of +cheery open fire. With the strength lower, my input is more clear, _but_ Stable +Diffusion has less chance to refine itself, so the result ends up inheriting all +the problems of my bad drawing. -If you want to try this out yourself, all of these are using a seed of `1592514025` with a width/height of `384`, step count `10`, the default sampler (`k_lms`), and the single-word prompt `"fire"`: +If you want to try this out yourself, all of these are using a seed of +`1592514025` with a width/height of `384`, step count `10`, the default sampler +(`k_lms`), and the single-word prompt `"fire"`: -```commandline +```bash invoke> "fire" -s10 -W384 -H384 -S1592514025 -I /tmp/fire-drawing.png --strength 0.7 ``` -The code for rendering intermediates is on my (damian0815's) branch [document-img2img](https://github.com/damian0815/InvokeAI/tree/document-img2img) - run `invoke.py` and check your `outputs/img-samples/intermediates` folder while generating an image. +The code for rendering intermediates is on my (damian0815's) branch +[document-img2img](https://github.com/damian0815/InvokeAI/tree/document-img2img) - +run `invoke.py` and check your `outputs/img-samples/intermediates` folder while +generating an image. ### Compensating for the reduced step count -After putting this guide together I was curious to see how the difference would be if I increased the step count to compensate, so that SD could have the same amount of steps to develop the image regardless of the strength. So I ran the generation again using the same seed, but this time adapting the step count to give each generation 20 steps. +After putting this guide together I was curious to see how the difference would +be if I increased the step count to compensate, so that SD could have the same +amount of steps to develop the image regardless of the strength. So I ran the +generation again using the same seed, but this time adapting the step count to +give each generation 20 steps. -Here's strength `0.4` (note step count `50`, which is `20 ÷ 0.4` to make sure SD does `20` steps from my image): +Here's strength `0.4` (note step count `50`, which is `20 ÷ 0.4` to make sure SD +does `20` steps from my image): -```commandline +```bash invoke> "fire" -s50 -W384 -H384 -S1592514025 -I /tmp/fire-drawing.png -f 0.4 ``` @@ -140,7 +179,8 @@ invoke> "fire" -s50 -W384 -H384 -S1592514025 -I /tmp/fire-drawing.png -f 0.4 ![000035.1592514025](../assets/img2img/000035.1592514025.png) -and here is strength `0.7` (note step count `30`, which is roughly `20 ÷ 0.7` to make sure SD does `20` steps from my image): +and here is strength `0.7` (note step count `30`, which is roughly `20 ÷ 0.7` to +make sure SD does `20` steps from my image): ```commandline invoke> "fire" -s30 -W384 -H384 -S1592514025 -I /tmp/fire-drawing.png -f 0.7 @@ -150,7 +190,11 @@ invoke> "fire" -s30 -W384 -H384 -S1592514025 -I /tmp/fire-drawing.png -f 0.7 ![000046.1592514025](../assets/img2img/000046.1592514025.png) -In both cases the image is nice and clean and "finished", but because at strength `0.7` Stable Diffusion has been give so much more freedom to improve on my badly-drawn flames, they've come out looking much better. You can really see the difference when looking at the latent steps. There's more noise on the first image with strength `0.7`: +In both cases the image is nice and clean and "finished", but because at +strength `0.7` Stable Diffusion has been give so much more freedom to improve on +my badly-drawn flames, they've come out looking much better. You can really see +the difference when looking at the latent steps. There's more noise on the first +image with strength `0.7`:
![gravity46](../assets/img2img/000046.steps.gravity.png) @@ -162,15 +206,19 @@ than there is for strength `0.4`: ![gravity35](../assets/img2img/000035.steps.gravity.png)
-and that extra noise gives the algorithm more choices when it is evaluating how to denoise any particular pixel in the image. +and that extra noise gives the algorithm more choices when it is evaluating how +to denoise any particular pixel in the image. -Unfortunately, it seems that `img2img` is very sensitive to the step count. Here's strength `0.7` with a step count of `29` (SD did 19 steps from my image): +Unfortunately, it seems that `img2img` is very sensitive to the step count. +Here's strength `0.7` with a step count of `29` (SD did 19 steps from my image):
![gravity45](../assets/img2img/000045.1592514025.png)
-By comparing the latents we can sort of see that something got interpreted differently enough on the third or fourth step to lead to a rather different interpretation of the flames. +By comparing the latents we can sort of see that something got interpreted +differently enough on the third or fourth step to lead to a rather different +interpretation of the flames.
![gravity46](../assets/img2img/000046.steps.gravity.png) @@ -180,4 +228,9 @@ By comparing the latents we can sort of see that something got interpreted diffe ![gravity45](../assets/img2img/000045.steps.gravity.png)
-This is the result of a difference in the de-noising "schedule" - basically the noise has to be cleaned by a certain degree each step or the model won't "converge" on the image properly (see [stable diffusion blog](https://huggingface.co/blog/stable_diffusion) for more about that). A different step count means a different schedule, which means things get interpreted slightly differently at every step. +This is the result of a difference in the de-noising "schedule" - basically the +noise has to be cleaned by a certain degree each step or the model won't +"converge" on the image properly (see +[stable diffusion blog](https://huggingface.co/blog/stable_diffusion) for more +about that). A different step count means a different schedule, which means +things get interpreted slightly differently at every step. diff --git a/docs/features/OUTPAINTING.md b/docs/features/OUTPAINTING.md index 58cbc0aa43..b53ff545f3 100644 --- a/docs/features/OUTPAINTING.md +++ b/docs/features/OUTPAINTING.md @@ -6,61 +6,63 @@ title: Outpainting ## Outpainting and outcropping -Outpainting is a process by which the AI generates parts of the image -that are outside its original frame. It can be used to fix up images -in which the subject is off center, or when some detail (often the top -of someone's head!) is cut off. +Outpainting is a process by which the AI generates parts of the image that are +outside its original frame. It can be used to fix up images in which the subject +is off center, or when some detail (often the top of someone's head!) is cut +off. -InvokeAI supports two versions of outpainting, one called "outpaint" -and the other "outcrop." They work slightly differently and each has -its advantages and drawbacks. +InvokeAI supports two versions of outpainting, one called "outpaint" and the +other "outcrop." They work slightly differently and each has its advantages and +drawbacks. ### Outpainting -Outpainting is the same as inpainting, except that the painting occurs -in the regions outside of the original image. To outpaint using the -`invoke.py` command line script, prepare an image in which the borders -to be extended are pure black. Add an alpha channel (if there isn't one -already), and make the borders completely transparent and the interior -completely opaque. If you wish to modify the interior as well, you may -create transparent holes in the transparency layer, which `img2img` will -paint into as usual. +Outpainting is the same as inpainting, except that the painting occurs in the +regions outside of the original image. To outpaint using the `invoke.py` command +line script, prepare an image in which the borders to be extended are pure +black. Add an alpha channel (if there isn't one already), and make the borders +completely transparent and the interior completely opaque. If you wish to modify +the interior as well, you may create transparent holes in the transparency +layer, which `img2img` will paint into as usual. -Pass the image as the argument to the `-I` switch as you would for -regular inpainting: +Pass the image as the argument to the `-I` switch as you would for regular +inpainting: - invoke> a stream by a river -I /path/to/transparent_img.png +```bash +invoke> a stream by a river -I /path/to/transparent_img.png +``` You'll likely be delighted by the results. ### Tips -1. Do not try to expand the image too much at once. Generally it is best - to expand the margins in 64-pixel increments. 128 pixels often works, - but your mileage may vary depending on the nature of the image you are - trying to outpaint into. +1. Do not try to expand the image too much at once. Generally it is best to + expand the margins in 64-pixel increments. 128 pixels often works, but your + mileage may vary depending on the nature of the image you are trying to + outpaint into. -2. There are a series of switches that can be used to adjust how the - inpainting algorithm operates. In particular, you can use these to - minimize the seam that sometimes appears between the original image - and the extended part. These switches are: +2. There are a series of switches that can be used to adjust how the inpainting + algorithm operates. In particular, you can use these to minimize the seam + that sometimes appears between the original image and the extended part. + These switches are: - --seam_size SEAM_SIZE Size of the mask around the seam between original and outpainted image (0) - --seam_blur SEAM_BLUR The amount to blur the seam inwards (0) - --seam_strength STRENGTH The img2img strength to use when filling the seam (0.7) - --seam_steps SEAM_STEPS The number of steps to use to fill the seam. (10) - --tile_size TILE_SIZE The tile size to use for filling outpaint areas (32) +| switch | default | description | +| -------------------------- | ------- | ---------------------------------------------------------------------- | +| `--seam_size SEAM_SIZE ` | `0` | Size of the mask around the seam between original and outpainted image | +| `--seam_blur SEAM_BLUR` | `0` | The amount to blur the seam inwards | +| `--seam_strength STRENGTH` | `0.7` | The img2img strength to use when filling the seam | +| `--seam_steps SEAM_STEPS` | `10` | The number of steps to use to fill the seam. | +| `--tile_size TILE_SIZE` | `32` | The tile size to use for filling outpaint areas | ### Outcrop -The `outcrop` extension gives you a convenient `!fix` postprocessing -command that allows you to extend a previously-generated image in 64 -pixel increments in any direction. You can apply the module to any -image previously-generated by InvokeAI. Note that it works with -arbitrary PNG photographs, but not currently with JPG or other -formats. Outcropping is particularly effective when combined with the -[runwayML custom inpainting -model](INPAINTING.md#using-the-runwayml-inpainting-model). +The `outcrop` extension gives you a convenient `!fix` postprocessing command +that allows you to extend a previously-generated image in 64 pixel increments in +any direction. You can apply the module to any image previously-generated by +InvokeAI. Note that it works with arbitrary PNG photographs, but not currently +with JPG or other formats. Outcropping is particularly effective when combined +with the +[runwayML custom inpainting model](INPAINTING.md#using-the-runwayml-inpainting-model). Consider this image: @@ -68,18 +70,17 @@ Consider this image: ![curly_woman](../assets/outpainting/curly.png) -Pretty nice, but it's annoying that the top of her head is cut -off. She's also a bit off center. Let's fix that! +Pretty nice, but it's annoying that the top of her head is cut off. She's also a +bit off center. Let's fix that! ```bash invoke> !fix images/curly.png --outcrop top 128 right 64 bottom 64 ``` -This is saying to apply the `outcrop` extension by extending the top -of the image by 128 pixels, and the right and bottom of the image by -64 pixels. You can use any combination of top|left|right|bottom, and -specify any number of pixels to extend. You can also abbreviate -`--outcrop` to `-c`. +This is saying to apply the `outcrop` extension by extending the top of the +image by 128 pixels, and the right and bottom of the image by 64 pixels. You can +use any combination of top|left|right|bottom, and specify any number of pixels +to extend. You can also abbreviate `--outcrop` to `-c`. The result looks like this: @@ -87,39 +88,53 @@ The result looks like this: ![curly_woman_outcrop](../assets/outpainting/curly-outcrop-2.png) -The new image is larger than the original (576x704) -because 64 pixels were added to the top and right sides. You will -need enough VRAM to process an image of this size. +The new image is larger than the original (576x704) because 64 pixels were added +to the top and right sides. You will need enough VRAM to process an image of +this size. + +#### Outcropping non-InvokeAI images + +You can outcrop an arbitrary image that was not generated by InvokeAI, +but your results will vary. The `inpainting-1.5` model is highly +recommended, but if not feasible, then you may be able to improve the +output by conditioning the outcropping with a text prompt that +describes the scene using the `--new_prompt` argument: + +```bash +invoke> !fix images/vacation.png --outcrop top 128 --new_prompt "family vacation" +``` + +You may also provide a different seed for outcropping to use by passing +`-S`. A negative seed will generate a new random seed. A number of caveats: -1. Although you can specify any pixel values, they will be rounded up -to the nearest multiple of 64. Smaller values are better. Larger -extensions are more likely to generate artefacts. However, if you wish -you can run the !fix command repeatedly to cautiously expand the -image. +1. Although you can specify any pixel values, they will be rounded up to the + nearest multiple of 64. Smaller values are better. Larger extensions are more + likely to generate artefacts. However, if you wish you can run the !fix + command repeatedly to cautiously expand the image. -2. The extension is stochastic, meaning that each time you run it -you'll get a slightly different result. You can run it repeatedly -until you get an image you like. Unfortunately `!fix` does not -currently respect the `-n` (`--iterations`) argument. +2. The extension is stochastic, meaning that each time you run it you'll get a + slightly different result. You can run it repeatedly until you get an image + you like. Unfortunately `!fix` does not currently respect the `-n` + (`--iterations`) argument. -3. Your results will be _much_ better if you use the `inpaint-1.5` -model released by runwayML and installed by default by -`scripts/preload_models.py`. This model was trained specifically to -harmoniously fill in image gaps. The standard model will work as well, -but you may notice color discontinuities at the border. +3. Your results will be _much_ better if you use the `inpaint-1.5` model + released by runwayML and installed by default by `scripts/preload_models.py`. + This model was trained specifically to harmoniously fill in image gaps. The + standard model will work as well, but you may notice color discontinuities at + the border. -4. When using the `inpaint-1.5` model, you may notice subtle changes -to the area within the original image. This is because the model -performs an encoding/decoding on the image as a whole. This does not -occur with the standard model. +4. When using the `inpaint-1.5` model, you may notice subtle changes to the area + outside the masked region. This is because the model performs an + encoding/decoding on the image as a whole. This does not occur with the + standard model. ## Outpaint -The `outpaint` extension does the same thing, but with subtle -differences. Starting with the same image, here is how we would add an -additional 64 pixels to the top of the image: +The `outpaint` extension does the same thing, but with subtle differences. +Starting with the same image, here is how we would add an additional 64 pixels +to the top of the image: ```bash invoke> !fix images/curly.png --out_direction top 64 @@ -138,15 +153,15 @@ outcropping: - You can only specify one direction to extend at a time. - The image is **not** resized. Instead, the image is shifted by the specified -number of pixels. If you look carefully, you'll see that less of the lady's -torso is visible in the image. -- Because the image dimensions remain the same, there's no rounding -to multiples of 64. -- Attempting to outpaint larger areas will frequently give rise to ugly - ghosting effects. + number of pixels. If you look carefully, you'll see that less of the lady's + torso is visible in the image. +- Because the image dimensions remain the same, there's no rounding to multiples + of 64. +- Attempting to outpaint larger areas will frequently give rise to ugly ghosting + effects. - For best results, try increasing the step number. -- If you don't specify a pixel value in `-D`, it will default to half - of the whole image, which is likely not what you want. +- If you don't specify a pixel value in `-D`, it will default to half of the + whole image, which is likely not what you want. !!! tip diff --git a/docs/features/POSTPROCESS.md b/docs/features/POSTPROCESS.md index 29c63ffd14..74a48c4d8f 100644 --- a/docs/features/POSTPROCESS.md +++ b/docs/features/POSTPROCESS.md @@ -19,14 +19,14 @@ applied after the fact. The default face restoration module is GFPGAN. The default upscale is Real-ESRGAN. For an alternative face restoration module, see [CodeFormer -Support] below. +Support](#codeformer-support) below. As of version 1.14, environment.yaml will install the Real-ESRGAN package into the standard install location for python packages, and will put GFPGAN into a subdirectory of "src" in the InvokeAI directory. Upscaling with Real-ESRGAN should "just work" without -further intervention. Simply pass the --upscale (-U) option on the -invoke> command line, or indicate the desired scale on the popup in +further intervention. Simply pass the `--upscale` (`-U`) option on the +`invoke>` command line, or indicate the desired scale on the popup in the Web GUI. **GFPGAN** requires a series of downloadable model files to diff --git a/docs/features/PROMPTS.md b/docs/features/PROMPTS.md index a6eb310e77..d18a5c8b75 100644 --- a/docs/features/PROMPTS.md +++ b/docs/features/PROMPTS.md @@ -6,14 +6,15 @@ title: Prompting-Features ## **Reading Prompts from a File** -You can automate `invoke.py` by providing a text file with the prompts you want to run, one line per -prompt. The text file must be composed with a text editor (e.g. Notepad) and not a word processor. -Each line should look like what you would type at the invoke> prompt: +You can automate `invoke.py` by providing a text file with the prompts you want +to run, one line per prompt. The text file must be composed with a text editor +(e.g. Notepad) and not a word processor. Each line should look like what you +would type at the invoke> prompt: ```bash -a beautiful sunny day in the park, children playing -n4 -C10 -stormy weather on a mountain top, goats grazing -s100 -innovative packaging for a squid's dinner -S137038382 +"a beautiful sunny day in the park, children playing" -n4 -C10 +"stormy weather on a mountain top, goats grazing" -s100 +"innovative packaging for a squid's dinner" -S137038382 ``` Then pass this file's name to `invoke.py` when you invoke it: @@ -22,7 +23,8 @@ Then pass this file's name to `invoke.py` when you invoke it: (invokeai) ~/stable-diffusion$ python3 scripts/invoke.py --from_file "path/to/prompts.txt" ``` -You may read a series of prompts from standard input by providing a filename of `-`: +You may read a series of prompts from standard input by providing a filename of +`-`: ```bash (invokeai) ~/stable-diffusion$ echo "a beautiful day" | python3 scripts/invoke.py --from_file - @@ -32,14 +34,15 @@ You may read a series of prompts from standard input by providing a filename of ## **Negative and Unconditioned Prompts** -Any words between a pair of square brackets will instruct Stable -Diffusion to attempt to ban the concept from the generated image. +Any words between a pair of square brackets will instruct Stable Diffusion to +attempt to ban the concept from the generated image. ```text this is a test prompt [not really] to make you understand [cool] how this works. ``` -In the above statement, the words 'not really cool` will be ignored by Stable Diffusion. +In the above statement, the words 'not really cool` will be ignored by Stable +Diffusion. Here's a prompt that depicts what it does. @@ -51,7 +54,9 @@ original prompt: ![step1](../assets/negative_prompt_walkthru/step1.png) -That image has a woman, so if we want the horse without a rider, we can influence the image not to have a woman by putting [woman] in the prompt, like this: +That image has a woman, so if we want the horse without a rider, we can +influence the image not to have a woman by putting [woman] in the prompt, like +this: `#!bash "A fantastical translucent poney made of water and foam, ethereal, radiant, hyperalism, scottish folklore, digital painting, artstation, concept art, smooth, 8 k frostbite 3 engine, ultra detailed, art by artgerm and greg rutkowski and magali villeneuve [woman]" -s 20 -W 512 -H 768 -C 7.5 -A k_euler_a -S 1654590180` @@ -59,7 +64,8 @@ That image has a woman, so if we want the horse without a rider, we can influenc ![step2](../assets/negative_prompt_walkthru/step2.png) -That's nice - but say we also don't want the image to be quite so blue. We can add "blue" to the list of negative prompts, so it's now [woman blue]: +That's nice - but say we also don't want the image to be quite so blue. We can +add "blue" to the list of negative prompts, so it's now [woman blue]: `#!bash "A fantastical translucent poney made of water and foam, ethereal, radiant, hyperalism, scottish folklore, digital painting, artstation, concept art, smooth, 8 k frostbite 3 engine, ultra detailed, art by artgerm and greg rutkowski and magali villeneuve [woman blue]" -s 20 -W 512 -H 768 -C 7.5 -A k_euler_a -S 1654590180` @@ -67,7 +73,8 @@ That's nice - but say we also don't want the image to be quite so blue. We can a ![step3](../assets/negative_prompt_walkthru/step3.png) -Getting close - but there's no sense in having a saddle when our horse doesn't have a rider, so we'll add one more negative prompt: [woman blue saddle]. +Getting close - but there's no sense in having a saddle when our horse doesn't +have a rider, so we'll add one more negative prompt: [woman blue saddle]. `#!bash "A fantastical translucent poney made of water and foam, ethereal, radiant, hyperalism, scottish folklore, digital painting, artstation, concept art, smooth, 8 k frostbite 3 engine, ultra detailed, art by artgerm and greg rutkowski and magali villeneuve [woman blue saddle]" -s 20 -W 512 -H 768 -C 7.5 -A k_euler_a -S 1654590180` @@ -88,91 +95,128 @@ Getting close - but there's no sense in having a saddle when our horse doesn't h The InvokeAI prompting language has the following features: -### Attention weighting -Append a word or phrase with `-` or `+`, or a weight between `0` and `2` (`1`=default), to decrease or increase "attention" (= a mix of per-token CFG weighting multiplier and, for `-`, a weighted blend with the prompt without the term). +### Attention weighting + +Append a word or phrase with `-` or `+`, or a weight between `0` and `2` +(`1`=default), to decrease or increase "attention" (= a mix of per-token CFG +weighting multiplier and, for `-`, a weighted blend with the prompt without the +term). The following syntax is recognised: - * single words without parentheses: `a tall thin man picking apricots+` - * single or multiple words with parentheses: `a tall thin man picking (apricots)+` `a tall thin man picking (apricots)-` `a tall thin man (picking apricots)+` `a tall thin man (picking apricots)-` - * more effect with more symbols `a tall thin man (picking apricots)++` - * nesting `a tall thin man (picking apricots+)++` (`apricots` effectively gets `+++`) - * all of the above with explicit numbers `a tall thin man picking (apricots)1.1` `a tall thin man (picking (apricots)1.3)1.1`. (`+` is equivalent to 1.1, `++` is pow(1.1,2), `+++` is pow(1.1,3), etc; `-` means 0.9, `--` means pow(0.9,2), etc.) - * attention also applies to `[unconditioning]` so `a tall thin man picking apricots [(ladder)0.01]` will *very gently* nudge SD away from trying to draw the man on a ladder -You can use this to increase or decrease the amount of something. Starting from this prompt of `a man picking apricots from a tree`, let's see what happens if we increase and decrease how much attention we want Stable Diffusion to pay to the word `apricots`: +- single words without parentheses: `a tall thin man picking apricots+` +- single or multiple words with parentheses: + `a tall thin man picking (apricots)+` `a tall thin man picking (apricots)-` + `a tall thin man (picking apricots)+` `a tall thin man (picking apricots)-` +- more effect with more symbols `a tall thin man (picking apricots)++` +- nesting `a tall thin man (picking apricots+)++` (`apricots` effectively gets + `+++`) +- all of the above with explicit numbers `a tall thin man picking (apricots)1.1` + `a tall thin man (picking (apricots)1.3)1.1`. (`+` is equivalent to 1.1, `++` + is pow(1.1,2), `+++` is pow(1.1,3), etc; `-` means 0.9, `--` means pow(0.9,2), + etc.) +- attention also applies to `[unconditioning]` so + `a tall thin man picking apricots [(ladder)0.01]` will _very gently_ nudge SD + away from trying to draw the man on a ladder + +You can use this to increase or decrease the amount of something. Starting from +this prompt of `a man picking apricots from a tree`, let's see what happens if +we increase and decrease how much attention we want Stable Diffusion to pay to +the word `apricots`: ![an AI generated image of a man picking apricots from a tree](../assets/prompt_syntax/apricots-0.png) Using `-` to reduce apricot-ness: -| `a man picking apricots- from a tree` | `a man picking apricots-- from a tree` | `a man picking apricots--- from a tree` | -| -- | -- | -- | +| `a man picking apricots- from a tree` | `a man picking apricots-- from a tree` | `a man picking apricots--- from a tree` | +| ------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | | ![an AI generated image of a man picking apricots from a tree, with smaller apricots](../assets/prompt_syntax/apricots--1.png) | ![an AI generated image of a man picking apricots from a tree, with even smaller and fewer apricots](../assets/prompt_syntax/apricots--2.png) | ![an AI generated image of a man picking apricots from a tree, with very few very small apricots](../assets/prompt_syntax/apricots--3.png) | Using `+` to increase apricot-ness: -| `a man picking apricots+ from a tree` | `a man picking apricots++ from a tree` | `a man picking apricots+++ from a tree` | `a man picking apricots++++ from a tree` | `a man picking apricots+++++ from a tree` | -| -- | -- | -- | -- | -- | +| `a man picking apricots+ from a tree` | `a man picking apricots++ from a tree` | `a man picking apricots+++ from a tree` | `a man picking apricots++++ from a tree` | `a man picking apricots+++++ from a tree` | +| ------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![an AI generated image of a man picking apricots from a tree, with larger, more vibrant apricots](../assets/prompt_syntax/apricots-1.png) | ![an AI generated image of a man picking apricots from a tree with even larger, even more vibrant apricots](../assets/prompt_syntax/apricots-2.png) | ![an AI generated image of a man picking apricots from a tree, but the man has been replaced by a pile of apricots](../assets/prompt_syntax/apricots-3.png) | ![an AI generated image of a man picking apricots from a tree, but the man has been replaced by a mound of giant melting-looking apricots](../assets/prompt_syntax/apricots-4.png) | ![an AI generated image of a man picking apricots from a tree, but the man and the leaves and parts of the ground have all been replaced by giant melting-looking apricots](../assets/prompt_syntax/apricots-5.png) | -You can also change the balance between different parts of a prompt. For example, below is a `mountain man`: +You can also change the balance between different parts of a prompt. For +example, below is a `mountain man`: ![an AI generated image of a mountain man](../assets/prompt_syntax/mountain-man.png) And here he is with more mountain: -| `mountain+ man` | `mountain++ man` | `mountain+++ man` | -| -- | -- | -- | +| `mountain+ man` | `mountain++ man` | `mountain+++ man` | +| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | | ![](../assets/prompt_syntax/mountain1-man.png) | ![](../assets/prompt_syntax/mountain2-man.png) | ![](../assets/prompt_syntax/mountain3-man.png) | Or, alternatively, with more man: -| `mountain man+` | `mountain man++` | `mountain man+++` | `mountain man++++` | -| -- | -- | -- | -- | +| `mountain man+` | `mountain man++` | `mountain man+++` | `mountain man++++` | +| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | | ![](../assets/prompt_syntax/mountain-man1.png) | ![](../assets/prompt_syntax/mountain-man2.png) | ![](../assets/prompt_syntax/mountain-man3.png) | ![](../assets/prompt_syntax/mountain-man4.png) | ### Blending between prompts -* `("a tall thin man picking apricots", "a tall thin man picking pears").blend(1,1)` -* The existing prompt blending using `:` will continue to be supported - `("a tall thin man picking apricots", "a tall thin man picking pears").blend(1,1)` is equivalent to `a tall thin man picking apricots:1 a tall thin man picking pears:1` in the old syntax. -* Attention weights can be nested inside blends. -* Non-normalized blends are supported by passing `no_normalize` as an additional argument to the blend weights, eg `("a tall thin man picking apricots", "a tall thin man picking pears").blend(1,-1,no_normalize)`. very fun to explore local maxima in the feature space, but also easy to produce garbage output. +- `("a tall thin man picking apricots", "a tall thin man picking pears").blend(1,1)` +- The existing prompt blending using `:` will continue to be supported - + `("a tall thin man picking apricots", "a tall thin man picking pears").blend(1,1)` + is equivalent to + `a tall thin man picking apricots:1 a tall thin man picking pears:1` in the + old syntax. +- Attention weights can be nested inside blends. +- Non-normalized blends are supported by passing `no_normalize` as an additional + argument to the blend weights, eg + `("a tall thin man picking apricots", "a tall thin man picking pears").blend(1,-1,no_normalize)`. + very fun to explore local maxima in the feature space, but also easy to + produce garbage output. -See the section below on "Prompt Blending" for more information about how this works. +See the section below on "Prompt Blending" for more information about how this +works. ### Cross-Attention Control ('prompt2prompt') -Sometimes an image you generate is almost right, and you just want to -change one detail without affecting the rest. You could use a photo editor and inpainting -to overpaint the area, but that's a pain. Here's where `prompt2prompt` -comes in handy. +Sometimes an image you generate is almost right, and you just want to change one +detail without affecting the rest. You could use a photo editor and inpainting +to overpaint the area, but that's a pain. Here's where `prompt2prompt` comes in +handy. -Generate an image with a given prompt, record the seed of the image, -and then use the `prompt2prompt` syntax to substitute words in the -original prompt for words in a new prompt. This works for `img2img` as well. +Generate an image with a given prompt, record the seed of the image, and then +use the `prompt2prompt` syntax to substitute words in the original prompt for +words in a new prompt. This works for `img2img` as well. -* `a ("fluffy cat").swap("smiling dog") eating a hotdog`. - * quotes optional: `a (fluffy cat).swap(smiling dog) eating a hotdog`. - * for single word substitutions parentheses are also optional: `a cat.swap(dog) eating a hotdog`. -* Supports options `s_start`, `s_end`, `t_start`, `t_end` (each 0-1) loosely corresponding to bloc97's `prompt_edit_spatial_start/_end` and `prompt_edit_tokens_start/_end` but with the math swapped to make it easier to intuitively understand. - * Example usage:`a (cat).swap(dog, s_end=0.3) eating a hotdog` - the `s_end` argument means that the "spatial" (self-attention) edit will stop having any effect after 30% (=0.3) of the steps have been done, leaving Stable Diffusion with 70% of the steps where it is free to decide for itself how to reshape the cat-form into a dog form. - * The numbers represent a percentage through the step sequence where the edits should happen. 0 means the start (noisy starting image), 1 is the end (final image). - * For img2img, the step sequence does not start at 0 but instead at (1-strength) - so if strength is 0.7, s_start and s_end must both be greater than 0.3 (1-0.7) to have any effect. -* Convenience option `shape_freedom` (0-1) to specify how much "freedom" Stable Diffusion should have to change the shape of the subject being swapped. - * `a (cat).swap(dog, shape_freedom=0.5) eating a hotdog`. +- `a ("fluffy cat").swap("smiling dog") eating a hotdog`. + - quotes optional: `a (fluffy cat).swap(smiling dog) eating a hotdog`. + - for single word substitutions parentheses are also optional: + `a cat.swap(dog) eating a hotdog`. +- Supports options `s_start`, `s_end`, `t_start`, `t_end` (each 0-1) loosely + corresponding to bloc97's `prompt_edit_spatial_start/_end` and + `prompt_edit_tokens_start/_end` but with the math swapped to make it easier to + intuitively understand. + - Example usage:`a (cat).swap(dog, s_end=0.3) eating a hotdog` - the `s_end` + argument means that the "spatial" (self-attention) edit will stop having any + effect after 30% (=0.3) of the steps have been done, leaving Stable + Diffusion with 70% of the steps where it is free to decide for itself how to + reshape the cat-form into a dog form. + - The numbers represent a percentage through the step sequence where the edits + should happen. 0 means the start (noisy starting image), 1 is the end (final + image). + - For img2img, the step sequence does not start at 0 but instead at + (1-strength) - so if strength is 0.7, s_start and s_end must both be + greater than 0.3 (1-0.7) to have any effect. +- Convenience option `shape_freedom` (0-1) to specify how much "freedom" Stable + Diffusion should have to change the shape of the subject being swapped. + - `a (cat).swap(dog, shape_freedom=0.5) eating a hotdog`. +The `prompt2prompt` code is based off +[bloc97's colab](https://github.com/bloc97/CrossAttentionControl). +Note that `prompt2prompt` is not currently working with the runwayML inpainting +model, and may never work due to the way this model is set up. If you attempt to +use `prompt2prompt` you will get the original image back. However, since this +model is so good at inpainting, a good substitute is to use the `clipseg` text +masking option: -The `prompt2prompt` code is based off [bloc97's -colab](https://github.com/bloc97/CrossAttentionControl). - -Note that `prompt2prompt` is not currently working with the runwayML -inpainting model, and may never work due to the way this model is set -up. If you attempt to use `prompt2prompt` you will get the original -image back. However, since this model is so good at inpainting, a -good substitute is to use the `clipseg` text masking option: - -``` +```bash invoke> a fluffy cat eating a hotdot Outputs: [1010] outputs/000025.2182095108.png: a fluffy cat eating a hotdog @@ -181,94 +225,96 @@ invoke> a smiling dog eating a hotdog -I 000025.2182095108.png -tm cat ### Escaping parantheses () and speech marks "" -If the model you are using has parentheses () or speech marks "" as -part of its syntax, you will need to "escape" these using a backslash, -so that`(my_keyword)` becomes `\(my_keyword\)`. Otherwise, the prompt -parser will attempt to interpret the parentheses as part of the prompt -syntax and it will get confused. +If the model you are using has parentheses () or speech marks "" as part of its +syntax, you will need to "escape" these using a backslash, so that`(my_keyword)` +becomes `\(my_keyword\)`. Otherwise, the prompt parser will attempt to interpret +the parentheses as part of the prompt syntax and it will get confused. + +--- ## **Prompt Blending** -You may blend together different sections of the prompt to explore the -AI's latent semantic space and generate interesting (and often -surprising!) variations. The syntax is: +You may blend together different sections of the prompt to explore the AI's +latent semantic space and generate interesting (and often surprising!) +variations. The syntax is: ```bash blue sphere:0.25 red cube:0.75 hybrid ``` -This will tell the sampler to blend 25% of the concept of a blue -sphere with 75% of the concept of a red cube. The blend weights can -use any combination of integers and floating point numbers, and they -do not need to add up to 1. Everything to the left of the `:XX` up to -the previous `:XX` is used for merging, so the overall effect is: +This will tell the sampler to blend 25% of the concept of a blue sphere with 75% +of the concept of a red cube. The blend weights can use any combination of +integers and floating point numbers, and they do not need to add up to 1. +Everything to the left of the `:XX` up to the previous `:XX` is used for +merging, so the overall effect is: ```bash 0.25 * "blue sphere" + 0.75 * "white duck" + hybrid ``` -Because you are exploring the "mind" of the AI, the AI's way of mixing -two concepts may not match yours, leading to surprising effects. To -illustrate, here are three images generated using various combinations -of blend weights. As usual, unless you fix the seed, the prompts will give you -different results each time you run them. - ---- +Because you are exploring the "mind" of the AI, the AI's way of mixing two +concepts may not match yours, leading to surprising effects. To illustrate, here +are three images generated using various combinations of blend weights. As +usual, unless you fix the seed, the prompts will give you different results each +time you run them.
### "blue sphere, red cube, hybrid"
-This example doesn't use melding at all and represents the default way -of mixing concepts. +This example doesn't use melding at all and represents the default way of mixing +concepts.
![blue-sphere-red-cube-hyprid](../assets/prompt-blending/blue-sphere-red-cube-hybrid.png)
-It's interesting to see how the AI expressed the concept of "cube" as -the four quadrants of the enclosing frame. If you look closely, there -is depth there, so the enclosing frame is actually a cube. +It's interesting to see how the AI expressed the concept of "cube" as the four +quadrants of the enclosing frame. If you look closely, there is depth there, so +the enclosing frame is actually a cube.
### "blue sphere:0.25 red cube:0.75 hybrid" ![blue-sphere-25-red-cube-75](../assets/prompt-blending/blue-sphere-0.25-red-cube-0.75-hybrid.png) +
-Now that's interesting. We get neither a blue sphere nor a red cube, -but a red sphere embedded in a brick wall, which represents a melding -of concepts within the AI's "latent space" of semantic -representations. Where is Ludwig Wittgenstein when you need him? +Now that's interesting. We get neither a blue sphere nor a red cube, but a red +sphere embedded in a brick wall, which represents a melding of concepts within +the AI's "latent space" of semantic representations. Where is Ludwig +Wittgenstein when you need him?
### "blue sphere:0.75 red cube:0.25 hybrid" ![blue-sphere-75-red-cube-25](../assets/prompt-blending/blue-sphere-0.75-red-cube-0.25-hybrid.png) +
-Definitely more blue-spherey. The cube is gone entirely, but it's -really cool abstract art. +Definitely more blue-spherey. The cube is gone entirely, but it's really cool +abstract art.
### "blue sphere:0.5 red cube:0.5 hybrid" ![blue-sphere-5-red-cube-5-hybrid](../assets/prompt-blending/blue-sphere-0.5-red-cube-0.5-hybrid.png) +
-Whoa...! I see blue and red, but no spheres or cubes. Is the word -"hybrid" summoning up the concept of some sort of scifi creature? -Let's find out. +Whoa...! I see blue and red, but no spheres or cubes. Is the word "hybrid" +summoning up the concept of some sort of scifi creature? Let's find out.
### "blue sphere:0.5 red cube:0.5" ![blue-sphere-5-red-cube-5](../assets/prompt-blending/blue-sphere-0.5-red-cube-0.5.png) +
-Indeed, removing the word "hybrid" produces an image that is more like -what we'd expect. +Indeed, removing the word "hybrid" produces an image that is more like what we'd +expect. -In conclusion, prompt blending is great for exploring creative space, -but can be difficult to direct. A forthcoming release of InvokeAI will -feature more deterministic prompt weighting. +In conclusion, prompt blending is great for exploring creative space, but can be +difficult to direct. A forthcoming release of InvokeAI will feature more +deterministic prompt weighting. diff --git a/docs/features/VARIATIONS.md b/docs/features/VARIATIONS.md index 70ba84429b..aeeb57d52c 100644 --- a/docs/features/VARIATIONS.md +++ b/docs/features/VARIATIONS.md @@ -16,12 +16,10 @@ You are able to do the following: 2. Given two or more variations that you like, you can combine them in a weighted fashion. ---- +!!! Information "" -This cheat sheet provides a quick guide for how this works in practice, using -variations to create the desired image of Xena, Warrior Princess. - ---- + This cheat sheet provides a quick guide for how this works in practice, using + variations to create the desired image of Xena, Warrior Princess. ## Step 1 -- Find a base image that you like diff --git a/docs/features/WEB.md b/docs/features/WEB.md index 9250e32541..795d9cf962 100644 --- a/docs/features/WEB.md +++ b/docs/features/WEB.md @@ -4,56 +4,55 @@ title: InvokeAI Web Server # :material-web: InvokeAI Web Server -As of version 2.0.0, this distribution comes with a full-featured web -server (see screenshot). To use it, run the `invoke.py` script by -adding the `--web` option: +As of version 2.0.0, this distribution comes with a full-featured web server +(see screenshot). To use it, run the `invoke.py` script by adding the `--web` +option: ```bash (invokeai) ~/InvokeAI$ python3 scripts/invoke.py --web ``` You can then connect to the server by pointing your web browser at -http://localhost:9090. To reach the server from a different machine on -your LAN, you may launch the web server with the `--host` argument and -either the IP address of the host you are running it on, or the -wildcard `0.0.0.0`. For example: +http://localhost:9090. To reach the server from a different machine on your LAN, +you may launch the web server with the `--host` argument and either the IP +address of the host you are running it on, or the wildcard `0.0.0.0`. For +example: ```bash (invokeai) ~/InvokeAI$ python3 scripts/invoke.py --web --host 0.0.0.0 ``` -# Quick guided walkthrough of the WebGUI's features +## Quick guided walkthrough of the WebGUI's features -While most of the WebGUI's features are intuitive, here is a guided -walkthrough through its various components. +While most of the WebGUI's features are intuitive, here is a guided walkthrough +through its various components. ![Invoke Web Server - Major Components](../assets/invoke-web-server-1.png){:width="640px"} -The screenshot above shows the Text to Image tab of the WebGUI. There -are three main sections: +The screenshot above shows the Text to Image tab of the WebGUI. There are three +main sections: -1. A **control panel** on the left, which contains various settings -for text to image generation. The most important part is the text -field (currently showing `strawberry sushi`) for entering the text -prompt, and the camera icon directly underneath that will render the -image. We'll call this the *Invoke* button from now on. +1. A **control panel** on the left, which contains various settings for text to + image generation. The most important part is the text field (currently + showing `strawberry sushi`) for entering the text prompt, and the camera icon + directly underneath that will render the image. We'll call this the _Invoke_ + button from now on. -2. The **current image** section in the middle, which shows a large -format version of the image you are currently working on. A series of -buttons at the top ("image to image", "Use All", "Use Seed", etc) lets -you modify the image in various ways. +2. The **current image** section in the middle, which shows a large format + version of the image you are currently working on. A series of buttons at the + top ("image to image", "Use All", "Use Seed", etc) lets you modify the image + in various ways. -3. A **gallery* section on the left that contains a history of the -images you have generated. These images are read and written to the -directory specified at launch time in `--outdir`. +3. A \*_gallery_ section on the left that contains a history of the images you + have generated. These images are read and written to the directory specified + at launch time in `--outdir`. -In addition to these three elements, there are a series of icons for -changing global settings, reporting bugs, and changing the theme on -the upper right. +In addition to these three elements, there are a series of icons for changing +global settings, reporting bugs, and changing the theme on the upper right. There are also a series of icons to the left of the control panel (see -highlighted area in the screenshot below) which select among a series -of tabs for performing different types of operations. +highlighted area in the screenshot below) which select among a series of tabs +for performing different types of operations.
![Invoke Web Server - Control Panel](../assets/invoke-web-server-2.png){:width="512px"} @@ -61,174 +60,167 @@ of tabs for performing different types of operations. From top to bottom, these are: -1. Text to Image - generate images from text -2. Image to Image - from an uploaded starting image (drawing or photograph) generate a new one, modified by the text prompt -3. Inpainting (pending) - Interactively erase portions of a starting image and have the AI fill in the erased region from a text prompt. -4. Outpainting (pending) - Interactively add blank space to the borders of a starting image and fill in the background from a text prompt. -5. Postprocessing (pending) - Interactively postprocess generated images using a variety of filters. +1. Text to Image - generate images from text +2. Image to Image - from an uploaded starting image (drawing or photograph) + generate a new one, modified by the text prompt +3. Inpainting (pending) - Interactively erase portions of a starting image and + have the AI fill in the erased region from a text prompt. +4. Outpainting (pending) - Interactively add blank space to the borders of a + starting image and fill in the background from a text prompt. +5. Postprocessing (pending) - Interactively postprocess generated images using a + variety of filters. The inpainting, outpainting and postprocessing tabs are currently in -development. However, limited versions of their features can already -be accessed through the Text to Image and Image to Image tabs. +development. However, limited versions of their features can already be accessed +through the Text to Image and Image to Image tabs. ## Walkthrough -The following walkthrough will exercise most (but not all) of the -WebGUI's feature set. +The following walkthrough will exercise most (but not all) of the WebGUI's +feature set. ### Text to Image -1. Launch the WebGUI using `python scripts/invoke.py --web` and -connect to it with your browser by accessing -`http://localhost:9090`. If the browser and server are running on -different machines on your LAN, add the option `--host 0.0.0.0` to the -launch command line and connect to the machine hosting the web server -using its IP address or domain name. +1. Launch the WebGUI using `python scripts/invoke.py --web` and connect to it + with your browser by accessing `http://localhost:9090`. If the browser and + server are running on different machines on your LAN, add the option + `--host 0.0.0.0` to the launch command line and connect to the machine + hosting the web server using its IP address or domain name. 2. If all goes well, the WebGUI should come up and you'll see a green -`connected` message on the upper right. + `connected` message on the upper right. #### Basics -1. Generate an image by typing *strawberry sushi* into the large -prompt field on the upper left and then clicking on the Invoke button -(the one with the Camera icon). After a short wait, you'll see a large -image of sushi in the image panel, and a new thumbnail in the gallery -on the right. +1. Generate an image by typing _strawberry sushi_ into the large prompt field + on the upper left and then clicking on the Invoke button (the one with the + Camera icon). After a short wait, you'll see a large image of sushi in the + image panel, and a new thumbnail in the gallery on the right. - If you need more room on the screen, you can turn the gallery off - by clicking on the **x** to the right of "Your Invocations". You can - turn it back on later by clicking the image icon that appears in the - gallery's place. + If you need more room on the screen, you can turn the gallery off by + clicking on the **x** to the right of "Your Invocations". You can turn it + back on later by clicking the image icon that appears in the gallery's + place. - The images are written into the directory indicated by the `--outdir` - option provided at script launch time. By default, this is - `outputs/img-samples` under the InvokeAI directory. + The images are written into the directory indicated by the `--outdir` option + provided at script launch time. By default, this is `outputs/img-samples` + under the InvokeAI directory. -2. Generate a bunch of strawberry sushi images by increasing the -number of requested images by adjusting the Images counter just below -the Camera button. As each is generated, it will be added to the -gallery. You can switch the active image by clicking on the gallery -thumbnails. +2. Generate a bunch of strawberry sushi images by increasing the number of + requested images by adjusting the Images counter just below the Camera + button. As each is generated, it will be added to the gallery. You can + switch the active image by clicking on the gallery thumbnails. -3. Try playing with different settings, including image width and -height, the Sampler, the Steps and the CFG scale. +3. Try playing with different settings, including image width and height, the + Sampler, the Steps and the CFG scale. - Image *Width* and *Height* do what you'd expect. However, be aware that + Image _Width_ and _Height_ do what you'd expect. However, be aware that larger images consume more VRAM memory and take longer to generate. - The *Sampler* controls how the AI selects the image to display. Some - samplers are more "creative" than others and will produce a wider - range of variations (see next section). Some samplers run faster than - others. + The _Sampler_ controls how the AI selects the image to display. Some + samplers are more "creative" than others and will produce a wider range of + variations (see next section). Some samplers run faster than others. - *Steps* controls how many noising/denoising/sampling steps the AI will - take. The higher this value, the more refined the image will be, but - the longer the image will take to generate. A typical strategy is to - generate images with a low number of steps in order to select one to - work on further, and then regenerate it using a higher number of - steps. + _Steps_ controls how many noising/denoising/sampling steps the AI will take. + The higher this value, the more refined the image will be, but the longer + the image will take to generate. A typical strategy is to generate images + with a low number of steps in order to select one to work on further, and + then regenerate it using a higher number of steps. - The *CFG Scale* controls how hard the AI tries to match the generated - image to the input prompt. You can go as high or low as you like, but - generally values greater than 20 won't improve things much, and values - lower than 5 will produce unexpected images. There are complex - interactions between *Steps*, *CFG Scale* and the *Sampler*, so - experiment to find out what works for you. + The _CFG Scale_ controls how hard the AI tries to match the generated image + to the input prompt. You can go as high or low as you like, but generally + values greater than 20 won't improve things much, and values lower than 5 + will produce unexpected images. There are complex interactions between + _Steps_, _CFG Scale_ and the _Sampler_, so experiment to find out what works + for you. -6. To regenerate a previously-generated image, select the image you -want and click *Use All*. This loads the text prompt and other -original settings into the control panel. If you then press *Invoke* -it will regenerate the image exactly. You can also selectively modify -the prompt or other settings to tweak the image. +4. To regenerate a previously-generated image, select the image you want and + click _Use All_. This loads the text prompt and other original settings into + the control panel. If you then press _Invoke_ it will regenerate the image + exactly. You can also selectively modify the prompt or other settings to + tweak the image. - Alternatively, you may click on *Use Seed* to load just the image's - seed, and leave other settings unchanged. + Alternatively, you may click on _Use Seed_ to load just the image's seed, + and leave other settings unchanged. -7. To regenerate a Stable Diffusion image that was generated by -another SD package, you need to know its text prompt and its -*Seed*. Copy-paste the prompt into the prompt box, unset the -*Randomize Seed* control in the control panel, and copy-paste the -desired *Seed* into its text field. When you Invoke, you will get -something similar to the original image. It will not be exact unless -you also set the correct values for the original sampler, CFG, -steps and dimensions, but it will (usually) be close. +5. To regenerate a Stable Diffusion image that was generated by another SD + package, you need to know its text prompt and its _Seed_. Copy-paste the + prompt into the prompt box, unset the _Randomize Seed_ control in the + control panel, and copy-paste the desired _Seed_ into its text field. When + you Invoke, you will get something similar to the original image. It will + not be exact unless you also set the correct values for the original + sampler, CFG, steps and dimensions, but it will (usually) be close. #### Variations on a theme -1. Let's try generating some variations. Select your favorite sushi -image from the gallery to load it. Then select "Use All" from the list -of buttons above. This will load up all the settings used to generate -this image, including its unique seed. +1. Let's try generating some variations. Select your favorite sushi image from + the gallery to load it. Then select "Use All" from the list of buttons + above. This will load up all the settings used to generate this image, + including its unique seed. - Go down to the Variations section of the Control Panel and set the - button to On. Set Variation Amount to 0.2 to generate a modest - number of variations on the image, and also set the Image counter to - `4`. Press the `invoke` button. This will generate a series of related - images. To obtain smaller variations, just lower the Variation - Amount. You may also experiment with changing the Sampler. Some - samplers generate more variability than others. *k_euler_a* is - particularly creative, while *ddim* is pretty conservative. + Go down to the Variations section of the Control Panel and set the button to + On. Set Variation Amount to 0.2 to generate a modest number of variations on + the image, and also set the Image counter to `4`. Press the `invoke` button. + This will generate a series of related images. To obtain smaller variations, + just lower the Variation Amount. You may also experiment with changing the + Sampler. Some samplers generate more variability than others. _k_euler_a_ is + particularly creative, while _ddim_ is pretty conservative. -2. For even more variations, experiment with increasing the setting -for *Perlin*. This adds a bit of noise to the image generation -process. Note that values of Perlin noise greater than 0.15 produce -poor images for several of the samplers. +2. For even more variations, experiment with increasing the setting for + _Perlin_. This adds a bit of noise to the image generation process. Note + that values of Perlin noise greater than 0.15 produce poor images for + several of the samplers. #### Facial reconstruction and upscaling -Stable Diffusion frequently produces mangled faces, particularly when -there are multiple figures in the same scene. Stable Diffusion has -particular issues with generating reallistic eyes. InvokeAI provides -the ability to reconstruct faces using either the GFPGAN or CodeFormer -libraries. For more information see [POSTPROCESS](POSTPROCESS.md). - -1. Invoke a prompt that generates a mangled face. A prompt that often -gives this is "portrait of a lawyer, 3/4 shot" (this is not intended -as a slur against lawyers!) Once you have an image that needs some -touching up, load it into the Image panel, and press the button with -the face icon (highlighted in the first screenshot below). A dialog -box will appear. Leave *Strength* at 0.8 and press *Restore Faces". If -all goes well, the eyes and other aspects of the face will be improved -(see the second screenshot) +Stable Diffusion frequently produces mangled faces, particularly when there are +multiple figures in the same scene. Stable Diffusion has particular issues with +generating reallistic eyes. InvokeAI provides the ability to reconstruct faces +using either the GFPGAN or CodeFormer libraries. For more information see +[POSTPROCESS](POSTPROCESS.md). + +1. Invoke a prompt that generates a mangled face. A prompt that often gives + this is "portrait of a lawyer, 3/4 shot" (this is not intended as a slur + against lawyers!) Once you have an image that needs some touching up, load + it into the Image panel, and press the button with the face icon + (highlighted in the first screenshot below). A dialog box will appear. Leave + _Strength_ at 0.8 and press \*Restore Faces". If all goes well, the eyes and + other aspects of the face will be improved (see the second screenshot) ![Invoke Web Server - Original Image](../assets/invoke-web-server-3.png) ![Invoke Web Server - Retouched Image](../assets/invoke-web-server-4.png) - The facial reconstruction *Strength* field adjusts how aggressively - the face library will try to alter the face. It can be as high as 1.0, - but be aware that this often softens the face airbrush style, losing - some details. The default 0.8 is usually sufficient. + The facial reconstruction _Strength_ field adjusts how aggressively the face + library will try to alter the face. It can be as high as 1.0, but be aware + that this often softens the face airbrush style, losing some details. The + default 0.8 is usually sufficient. -2. "Upscaling" is the process of increasing the size of an image while -retaining the sharpness. InvokeAI uses an external library called -"ESRGAN" to do this. To invoke upscaling, simply select an image and -press the *HD* button above it. You can select between 2X and 4X -upscaling, and adjust the upscaling strength, which has much the same -meaning as in facial reconstruction. Try running this on one of your -previously-generated images. +2. "Upscaling" is the process of increasing the size of an image while + retaining the sharpness. InvokeAI uses an external library called "ESRGAN" + to do this. To invoke upscaling, simply select an image and press the _HD_ + button above it. You can select between 2X and 4X upscaling, and adjust the + upscaling strength, which has much the same meaning as in facial + reconstruction. Try running this on one of your previously-generated images. -3. Finally, you can run facial reconstruction and/or upscaling -automatically after each Invocation. Go to the Advanced Options -section of the Control Panel and turn on *Restore Face* and/or -*Upscale*. +3. Finally, you can run facial reconstruction and/or upscaling automatically + after each Invocation. Go to the Advanced Options section of the Control + Panel and turn on _Restore Face_ and/or _Upscale_. ### Image to Image -InvokeAI lets you take an existing image and use it as the basis for a -new creation. You can use any sort of image, including a photograph, a -scanned sketch, or a digital drawing, as long as it is in PNG or JPEG -format. +InvokeAI lets you take an existing image and use it as the basis for a new +creation. You can use any sort of image, including a photograph, a scanned +sketch, or a digital drawing, as long as it is in PNG or JPEG format. For this tutorial, we'll use files named -[Lincoln-and-Parrot-512.png](../assets/Lincoln-and-Parrot-512.png), -and +[Lincoln-and-Parrot-512.png](../assets/Lincoln-and-Parrot-512.png), and [Lincoln-and-Parrot-512-transparent.png](../assets/Lincoln-and-Parrot-512-transparent.png). -Download these images to your local machine now to continue with the walkthrough. +Download these images to your local machine now to continue with the +walkthrough. -1. Click on the *Image to Image* tab icon, which is the second icon -from the top on the left-hand side of the screen: +1. Click on the _Image to Image_ tab icon, which is the second icon from the + top on the left-hand side of the screen:
![Invoke Web Server - Image to Image Icon](../assets/invoke-web-server-5.png) @@ -240,93 +232,92 @@ from the top on the left-hand side of the screen: ![Invoke Web Server - Image to Image Tab](../assets/invoke-web-server-6.png){:width="640px"}
-2. Drag-and-drop the Lincoln-and-Parrot image into the Image panel, or -click the blank area to get an upload dialog. The image will load into -an area marked *Initial Image*. (The WebGUI will also load the most -recently-generated image from the gallery into a section on the left, -but this image will be replaced in the next step.) +2. Drag-and-drop the Lincoln-and-Parrot image into the Image panel, or click + the blank area to get an upload dialog. The image will load into an area + marked _Initial Image_. (The WebGUI will also load the most + recently-generated image from the gallery into a section on the left, but + this image will be replaced in the next step.) -3. Go to the prompt box and type *old sea captain with raven on -shoulder* and press Invoke. A derived image will appear to the right -of the original one: +3. Go to the prompt box and type _old sea captain with raven on shoulder_ and + press Invoke. A derived image will appear to the right of the original one: ![Invoke Web Server - Image to Image example](../assets/invoke-web-server-7.png){:width="640px"} -4. Experiment with the different settings. The most influential one -in Image to Image is *Image to Image Strength* located about midway -down the control panel. By default it is set to 0.75, but can range -from 0.0 to 0.99. The higher the value, the more of the original image -the AI will replace. A value of 0 will leave the initial image -completely unchanged, while 0.99 will replace it completely. However, -the Sampler and CFG Scale also influence the final result. You can -also generate variations in the same way as described in Text to -Image. +4. Experiment with the different settings. The most influential one in Image to + Image is _Image to Image Strength_ located about midway down the control + panel. By default it is set to 0.75, but can range from 0.0 to 0.99. The + higher the value, the more of the original image the AI will replace. A + value of 0 will leave the initial image completely unchanged, while 0.99 + will replace it completely. However, the Sampler and CFG Scale also + influence the final result. You can also generate variations in the same way + as described in Text to Image. -5. What if we only want to change certain part(s) of the image and -leave the rest intact? This is called Inpainting, and a future version -of the InvokeAI web server will provide an interactive painting canvas -on which you can directly draw the areas you wish to Inpaint into. For -now, you can achieve this effect by using an external photoeditor tool -to make one or more regions of the image transparent as described in -[INPAINTING.md] and uploading that. +5. What if we only want to change certain part(s) of the image and leave the + rest intact? This is called Inpainting, and a future version of the InvokeAI + web server will provide an interactive painting canvas on which you can + directly draw the areas you wish to Inpaint into. For now, you can achieve + this effect by using an external photoeditor tool to make one or more + regions of the image transparent as described in [INPAINTING.md] and + uploading that. The file [Lincoln-and-Parrot-512-transparent.png](../assets/Lincoln-and-Parrot-512-transparent.png) - is a version of the earlier image in which the area around the parrot - has been replaced with transparency. Click on the "x" in the upper - right of the Initial Image and upload the transparent version. Using - the same prompt "old sea captain with raven on shoulder" try Invoking - an image. This time, only the parrot will be replaced, leaving the - rest of the original image intact: + is a version of the earlier image in which the area around the parrot has + been replaced with transparency. Click on the "x" in the upper right of the + Initial Image and upload the transparent version. Using the same prompt "old + sea captain with raven on shoulder" try Invoking an image. This time, only + the parrot will be replaced, leaving the rest of the original image intact: -
-![Invoke Web Server - Inpainting](../assets/invoke-web-server-8.png){:width="640px"} -
+
+ ![Invoke Web Server - Inpainting](../assets/invoke-web-server-8.png){:width="640px"} +
-6. Would you like to modify a previously-generated image using the -Image to Image facility? Easy! While in the Image to Image panel, -hover over any of the gallery images to see a little menu of icons pop -up. Click the picture icon to instantly send the selected image to -Image to Image as the initial image. +6. Would you like to modify a previously-generated image using the Image to + Image facility? Easy! While in the Image to Image panel, hover over any of + the gallery images to see a little menu of icons pop up. Click the picture + icon to instantly send the selected image to Image to Image as the initial + image. -You can do the same from the Text to Image tab by clicking on the -picture icon above the central image panel. The screenshot below -shows where the "use as initial image" icons are located. +You can do the same from the Text to Image tab by clicking on the picture icon +above the central image panel. The screenshot below shows where the "use as +initial image" icons are located. ![Invoke Web Server - Use as Image Links](../assets/invoke-web-server-9.png){:width="640px"} ## Parting remarks -This concludes the walkthrough, but there are several more features that you -can explore. Please check out the [Command Line Interface](CLI.md) -documentation for further explanation of the advanced features that -were not covered here. +This concludes the walkthrough, but there are several more features that you can +explore. Please check out the [Command Line Interface](CLI.md) documentation for +further explanation of the advanced features that were not covered here. -The WebGUI is only rapid development. Check back regularly for -updates! +The WebGUI is only rapid development. Check back regularly for updates! ## Reference ### Additional Options - parameter | effect --- | -- -`--web_develop` | Starts the web server in development mode. -`--web_verbose` | Enables verbose logging -`--cors [CORS ...]` | Additional allowed origins, comma-separated -`--host HOST` | Web server: Host or IP to listen on. Set to 0.0.0.0 to accept traffic from other devices on your network. -`--port PORT` | Web server: Port to listen on -`--gui` | Start InvokeAI GUI - This is the "desktop mode" version of the web app. It uses Flask to create a desktop app experience of the webserver. +| parameter | effect | +| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | +| `--web_develop` | Starts the web server in development mode. | +| `--web_verbose` | Enables verbose logging | +| `--cors [CORS ...]` | Additional allowed origins, comma-separated | +| `--host HOST` | Web server: Host or IP to listen on. Set to 0.0.0.0 to accept traffic from other devices on your network. | +| `--port PORT` | Web server: Port to listen on | +| `--gui` | Start InvokeAI GUI - This is the "desktop mode" version of the web app. It uses Flask to create a desktop app experience of the webserver. | ### Web Specific Features -The web experience offers an incredibly easy-to-use experience for interacting with the InvokeAI toolkit. -For detailed guidance on individual features, see the Feature-specific help documents available in this directory. -Note that the latest functionality available in the CLI may not always be available in the Web interface. +The web experience offers an incredibly easy-to-use experience for interacting +with the InvokeAI toolkit. For detailed guidance on individual features, see the +Feature-specific help documents available in this directory. Note that the +latest functionality available in the CLI may not always be available in the Web +interface. #### Dark Mode & Light Mode -The InvokeAI interface is available in a nano-carbon black & purple Dark Mode, and a "burn your eyes out Nosferatu" Light Mode. These can be toggled by clicking the Sun/Moon icons at the top right of the interface. +The InvokeAI interface is available in a nano-carbon black & purple Dark Mode, +and a "burn your eyes out Nosferatu" Light Mode. These can be toggled by +clicking the Sun/Moon icons at the top right of the interface. ![InvokeAI Web Server - Dark Mode](../assets/invoke_web_dark.png) @@ -334,7 +325,10 @@ The InvokeAI interface is available in a nano-carbon black & purple Dark Mode, a #### Invocation Toolbar -The left side of the InvokeAI interface is available for customizing the prompt and the settings used for invoking your new image. Typing your prompt into the open text field and clicking the Invoke button will produce the image based on the settings configured in the toolbar. +The left side of the InvokeAI interface is available for customizing the prompt +and the settings used for invoking your new image. Typing your prompt into the +open text field and clicking the Invoke button will produce the image based on +the settings configured in the toolbar. See below for additional documentation related to each feature: @@ -347,11 +341,17 @@ See below for additional documentation related to each feature: #### Invocation Gallery -The currently selected --outdir (or the default outputs folder) will display all previously generated files on load. As new invocations are generated, these will be dynamically added to the gallery, and can be previewed by selecting them. Each image also has a simple set of actions (e.g., Delete, Use Seed, Use All Parameters, etc.) that can be accessed by hovering over the image. +The currently selected --outdir (or the default outputs folder) will display all +previously generated files on load. As new invocations are generated, these will +be dynamically added to the gallery, and can be previewed by selecting them. +Each image also has a simple set of actions (e.g., Delete, Use Seed, Use All +Parameters, etc.) that can be accessed by hovering over the image. #### Image Workspace -When an image from the Invocation Gallery is selected, or is generated, the image will be displayed within the center of the interface. A quickbar of common image interactions are displayed along the top of the image, including: +When an image from the Invocation Gallery is selected, or is generated, the +image will be displayed within the center of the interface. A quickbar of common +image interactions are displayed along the top of the image, including: - Use image in the `Image to Image` workflow - Initialize Face Restoration on the selected file @@ -361,9 +361,9 @@ When an image from the Invocation Gallery is selected, or is generated, the imag ## Acknowledgements -A huge shout-out to the core team working to make this vision a -reality, including -[psychedelicious](https://github.com/psychedelicious), +A huge shout-out to the core team working to make this vision a reality, +including [psychedelicious](https://github.com/psychedelicious), [Kyle0654](https://github.com/Kyle0654) and -[blessedcoolant](https://github.com/blessedcoolant). [hipsterusername](https://github.com/hipsterusername) -was the team's unofficial cheerleader and added tooltips/docs. +[blessedcoolant](https://github.com/blessedcoolant). +[hipsterusername](https://github.com/hipsterusername) was the team's unofficial +cheerleader and added tooltips/docs. diff --git a/docs/features/WEBUIHOTKEYS.md b/docs/features/WEBUIHOTKEYS.md index 020449e0b9..1f0af08dd6 100644 --- a/docs/features/WEBUIHOTKEYS.md +++ b/docs/features/WEBUIHOTKEYS.md @@ -1,58 +1,62 @@ -# **WebUI Hotkey List** +--- +title: WebUI Hotkey List +--- + +# :material-keyboard: **WebUI Hotkey List** ## General -| Setting | Hotkey | -| ------------ | ---------------------- | -| a | Set All Parameters | -| s | Set Seed | -| u | Upscale | -| r | Restoration | -| i | Show Metadata | -| Ddl | Delete Image | -| alt + a | Focus prompt input | -| shift + i | Send To Image to Image | -| ctrl + enter | Start processing | -| shift + x | cancel Processing | -| shift + d | Toggle Dark Mode | -| ` | Toggle console | +| Setting | Hotkey | +| ----------------- | ---------------------- | +| ++a++ | Set All Parameters | +| ++s++ | Set Seed | +| ++u++ | Upscale | +| ++r++ | Restoration | +| ++i++ | Show Metadata | +| ++d++ ++d++ ++l++ | Delete Image | +| ++alt+a++ | Focus prompt input | +| ++shift+i++ | Send To Image to Image | +| ++ctrl+enter++ | Start processing | +| ++shift+x++ | cancel Processing | +| ++shift+d++ | Toggle Dark Mode | +| ++"`"++ | Toggle console | ## Tabs | Setting | Hotkey | | ------- | ------------------------- | -| 1 | Go to Text To Image Tab | -| 2 | Go to Image to Image Tab | -| 3 | Go to Inpainting Tab | -| 4 | Go to Outpainting Tab | -| 5 | Go to Nodes Tab | -| 6 | Go to Post Processing Tab | +| ++1++ | Go to Text To Image Tab | +| ++2++ | Go to Image to Image Tab | +| ++3++ | Go to Inpainting Tab | +| ++4++ | Go to Outpainting Tab | +| ++5++ | Go to Nodes Tab | +| ++6++ | Go to Post Processing Tab | ## Gallery -| Setting | Hotkey | -| ------------ | ------------------------------- | -| g | Toggle Gallery | -| left arrow | Go to previous image in gallery | -| right arrow | Go to next image in gallery | -| shift + p | Pin gallery | -| shift + up | Increase gallery image size | -| shift + down | Decrease gallery image size | -| shift + r | Reset image gallery size | +| Setting | Hotkey | +| -------------- | ------------------------------- | +| ++g++ | Toggle Gallery | +| ++left++ | Go to previous image in gallery | +| ++right++ | Go to next image in gallery | +| ++shift+p++ | Pin gallery | +| ++shift+up++ | Increase gallery image size | +| ++shift+down++ | Decrease gallery image size | +| ++shift+r++ | Reset image gallery size | ## Inpainting -| Setting | Hotkey | -| -------------------------- | --------------------- | -| [ | Decrease brush size | -| ] | Increase brush size | -| alt + [ | Decrease mask opacity | -| alt + ] | Increase mask opacity | -| b | Select brush | -| e | Select eraser | -| ctrl + z | Undo brush stroke | -| ctrl + shift + z, ctrl + y | Redo brush stroke | -| h | Hide mask | -| shift + m | Invert mask | -| shift + c | Clear mask | -| shift + j | Expand canvas | +| Setting | Hotkey | +| ---------------------------- | --------------------- | +| ++"["++ | Decrease brush size | +| ++"]"++ | Increase brush size | +| ++alt+"["++ | Decrease mask opacity | +| ++alt+"]"++ | Increase mask opacity | +| ++b++ | Select brush | +| ++e++ | Select eraser | +| ++ctrl+z++ | Undo brush stroke | +| ++ctrl+shift+z++, ++ctrl+y++ | Redo brush stroke | +| ++h++ | Hide mask | +| ++shift+m++ | Invert mask | +| ++shift+c++ | Clear mask | +| ++shift+j++ | Expand canvas | diff --git a/docs/help/TROUBLESHOOT.md b/docs/help/TROUBLESHOOT.md index dc2a9a8e41..adea24e4e8 100644 --- a/docs/help/TROUBLESHOOT.md +++ b/docs/help/TROUBLESHOOT.md @@ -1,27 +1,25 @@ --- title: F.A.Q. -hide: - - toc --- # :material-frequently-asked-questions: F.A.Q. ## **Frequently-Asked-Questions** -Here are a few common installation problems and their solutions. Often these are caused by -incomplete installations or crashes during the install process. +Here are a few common installation problems and their solutions. Often these are +caused by incomplete installations or crashes during the install process. --- -### **QUESTION** +### During `conda env create`, conda hangs indefinitely -During `conda env create`, conda hangs indefinitely. +If it is because of the last PIP step (usually stuck in the Git Clone step, you +can check the detailed log by this method): -If it is because of the last PIP step (usually stuck in the Git Clone step, you can check the detailed log by this method): ```bash export PIP_LOG="/tmp/pip_log.txt" touch ${PIP_LOG} -tail -f ${PIP_LOG} & +tail -f ${PIP_LOG} & conda env create -f environment-mac.yaml --debug --verbose killall tail rm ${PIP_LOG} @@ -29,21 +27,20 @@ rm ${PIP_LOG} **SOLUTION** -Conda sometimes gets stuck at the last PIP step, in which several git repositories are -cloned and built. +Conda sometimes gets stuck at the last PIP step, in which several git +repositories are cloned and built. -Enter the stable-diffusion directory and completely remove the `src` -directory and all its contents. The safest way to do this is to enter -the stable-diffusion directory and give the command `git clean -f`. If -this still doesn't fix the problem, try "conda clean -all" and then -restart at the `conda env create` step. +Enter the stable-diffusion directory and completely remove the `src` directory +and all its contents. The safest way to do this is to enter the stable-diffusion +directory and give the command `git clean -f`. If this still doesn't fix the +problem, try "conda clean -all" and then restart at the `conda env create` step. To further understand the problem to checking the install lot using this method: ```bash export PIP_LOG="/tmp/pip_log.txt" touch ${PIP_LOG} -tail -f ${PIP_LOG} & +tail -f ${PIP_LOG} & conda env create -f environment-mac.yaml --debug --verbose killall tail rm ${PIP_LOG} @@ -51,43 +48,44 @@ rm ${PIP_LOG} --- -### **QUESTION** +### `invoke.py` crashes with the complaint that it can't find `ldm.simplet2i.py` -`invoke.py` crashes with the complaint that it can't find `ldm.simplet2i.py`. Or it complains that -function is being passed incorrect parameters. +Or it complains that function is being passed incorrect parameters. -### **SOLUTION** +**SOLUTION** -Reinstall the stable diffusion modules. Enter the `stable-diffusion` directory and give the command -`pip install -e .` +Reinstall the stable diffusion modules. Enter the `stable-diffusion` directory +and give the command `pip install -e .` --- -### **QUESTION** +### Missing modules -`invoke.py` dies, complaining of various missing modules, none of which starts with `ldm`. +`invoke.py` dies, complaining of various missing modules, none of which starts +with `ldm`. -### **SOLUTION** +**SOLUTION** -From within the `InvokeAI` directory, run `conda env update` This is also frequently the solution to -complaints about an unknown function in a module. +From within the `InvokeAI` directory, run `conda env update` This is also +frequently the solution to complaints about an unknown function in a module. --- -### **QUESTION** +### How can I try new features -There's a feature or bugfix in the Stable Diffusion GitHub that you want to try out. +There's a feature or bugfix in the Stable Diffusion GitHub that you want to try +out. -### **SOLUTION** +**SOLUTIONS** #### **Main Branch** -If the fix/feature is on the `main` branch, enter the stable-diffusion directory and do a -`git pull`. +If the fix/feature is on the `main` branch, enter the stable-diffusion directory +and do a `git pull`. -Usually this will be sufficient, but if you start to see errors about -missing or incorrect modules, use the command `pip install -e .` -and/or `conda env update` (These commands won't break anything.) +Usually this will be sufficient, but if you start to see errors about missing or +incorrect modules, use the command `pip install -e .` and/or `conda env update` +(These commands won't break anything.) `pip install -e .` and/or `conda env update -f environment.yaml` @@ -95,33 +93,36 @@ and/or `conda env update` (These commands won't break anything.) #### **Sub Branch** -If the feature/fix is on a branch (e.g. "_foo-bugfix_"), the recipe is similar, but do a -`git pull `. +If the feature/fix is on a branch (e.g. "_foo-bugfix_"), the recipe is similar, +but do a `git pull `. #### **Not Committed** -If the feature/fix is in a pull request that has not yet been made part of the main branch or a -feature/bugfix branch, then from the page for the desired pull request, look for the line at the top -that reads "_xxxx wants to merge xx commits into lstein:main from YYYYYY_". Copy the URL in YYYY. It -should have the format +If the feature/fix is in a pull request that has not yet been made part of the +main branch or a feature/bugfix branch, then from the page for the desired pull +request, look for the line at the top that reads "_xxxx wants to merge xx +commits into lstein:main from YYYYYY_". Copy the URL in YYYY. It should have the +format `https://github.com//stable-diffusion/tree/` Then **go to the directory above stable-diffusion** and rename the directory to -"_stable-diffusion.lstein_", "_stable-diffusion.old_", or anything else. You can then git clone the -branch that contains the pull request: +"_stable-diffusion.lstein_", "_stable-diffusion.old_", or anything else. You can +then git clone the branch that contains the pull request: `git clone https://github.com//stable-diffusion/tree/` -You will need to go through the install procedure again, but it should be fast because all the -dependencies are already loaded. +You will need to go through the install procedure again, but it should be fast +because all the dependencies are already loaded. --- -### **QUESTION** +### CUDA out of memory -Image generation crashed with CUDA out of memory error after successful sampling. +Image generation crashed with CUDA out of memory error after successful +sampling. -### **SOLUTION** +**SOLUTION** -Try to run script with option `--free_gpu_mem` This will free memory before image decoding step. +Try to run script with option `--free_gpu_mem` This will free memory before +image decoding step. diff --git a/docs/index.md b/docs/index.md index 88266ab399..d9dee0c30d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -14,43 +14,61 @@ title: Home # ^^**InvokeAI: A Stable Diffusion Toolkit**^^ :tools:
Formerly known as lstein/stable-diffusion -![project logo](assets/logo.png) +[![project logo](assets/logo.png)](https://github.com/invoke-ai/InvokeAI) [![discord badge]][discord link] -[![latest release badge]][latest release link] [![github stars badge]][github stars link] [![github forks badge]][github forks link] +[![latest release badge]][latest release link] +[![github stars badge]][github stars link] +[![github forks badge]][github forks link] -[![CI checks on main badge]][CI checks on main link] [![CI checks on dev badge]][CI checks on dev link] [![latest commit to dev badge]][latest commit to dev link] +[![CI checks on main badge]][ci checks on main link] +[![CI checks on dev badge]][ci checks on dev link] +[![latest commit to dev badge]][latest commit to dev link] -[![github open issues badge]][github open issues link] [![github open prs badge]][github open prs link] +[![github open issues badge]][github open issues link] +[![github open prs badge]][github open prs link] -[CI checks on dev badge]: https://flat.badgen.net/github/checks/invoke-ai/InvokeAI/development?label=CI%20status%20on%20dev&cache=900&icon=github -[CI checks on dev link]: https://github.com/invoke-ai/InvokeAI/actions?query=branch%3Adevelopment -[CI checks on main badge]: https://flat.badgen.net/github/checks/invoke-ai/InvokeAI/main?label=CI%20status%20on%20main&cache=900&icon=github -[CI checks on main link]: https://github.com/invoke-ai/InvokeAI/actions/workflows/test-invoke-conda.yml +[ci checks on dev badge]: + https://flat.badgen.net/github/checks/invoke-ai/InvokeAI/development?label=CI%20status%20on%20dev&cache=900&icon=github +[ci checks on dev link]: + https://github.com/invoke-ai/InvokeAI/actions?query=branch%3Adevelopment +[ci checks on main badge]: + https://flat.badgen.net/github/checks/invoke-ai/InvokeAI/main?label=CI%20status%20on%20main&cache=900&icon=github +[ci checks on main link]: + https://github.com/invoke-ai/InvokeAI/actions/workflows/test-invoke-conda.yml [discord badge]: https://flat.badgen.net/discord/members/ZmtBAhwWhy?icon=discord [discord link]: https://discord.gg/ZmtBAhwWhy -[github forks badge]: https://flat.badgen.net/github/forks/invoke-ai/InvokeAI?icon=github -[github forks link]: https://useful-forks.github.io/?repo=lstein%2Fstable-diffusion -[github open issues badge]: https://flat.badgen.net/github/open-issues/invoke-ai/InvokeAI?icon=github -[github open issues link]: https://github.com/invoke-ai/InvokeAI/issues?q=is%3Aissue+is%3Aopen -[github open prs badge]: https://flat.badgen.net/github/open-prs/invoke-ai/InvokeAI?icon=github -[github open prs link]: https://github.com/invoke-ai/InvokeAI/pulls?q=is%3Apr+is%3Aopen -[github stars badge]: https://flat.badgen.net/github/stars/invoke-ai/InvokeAI?icon=github +[github forks badge]: + https://flat.badgen.net/github/forks/invoke-ai/InvokeAI?icon=github +[github forks link]: + https://useful-forks.github.io/?repo=lstein%2Fstable-diffusion +[github open issues badge]: + https://flat.badgen.net/github/open-issues/invoke-ai/InvokeAI?icon=github +[github open issues link]: + https://github.com/invoke-ai/InvokeAI/issues?q=is%3Aissue+is%3Aopen +[github open prs badge]: + https://flat.badgen.net/github/open-prs/invoke-ai/InvokeAI?icon=github +[github open prs link]: + https://github.com/invoke-ai/InvokeAI/pulls?q=is%3Apr+is%3Aopen +[github stars badge]: + https://flat.badgen.net/github/stars/invoke-ai/InvokeAI?icon=github [github stars link]: https://github.com/invoke-ai/InvokeAI/stargazers -[latest commit to dev badge]: https://flat.badgen.net/github/last-commit/invoke-ai/InvokeAI/development?icon=github&color=yellow&label=last%20dev%20commit&cache=900 -[latest commit to dev link]: https://github.com/invoke-ai/InvokeAI/commits/development -[latest release badge]: https://flat.badgen.net/github/release/invoke-ai/InvokeAI/development?icon=github +[latest commit to dev badge]: + https://flat.badgen.net/github/last-commit/invoke-ai/InvokeAI/development?icon=github&color=yellow&label=last%20dev%20commit&cache=900 +[latest commit to dev link]: + https://github.com/invoke-ai/InvokeAI/commits/development +[latest release badge]: + https://flat.badgen.net/github/release/invoke-ai/InvokeAI/development?icon=github [latest release link]: https://github.com/invoke-ai/InvokeAI/releases InvokeAI is an implementation of Stable Diffusion, the open source text-to-image and -image-to-image generator. It provides a streamlined process with -various new features and options to aid the image generation -process. It runs on Windows, Mac and Linux machines, and runs on GPU -cards with as little as 4 GB or RAM. +image-to-image generator. It provides a streamlined process with various new +features and options to aid the image generation process. It runs on Windows, +Mac and Linux machines, and runs on GPU cards with as little as 4 GB or RAM. **Quick links**: [Discord Server] [Code and Downloads] [Bug Reports] [Discussion, Ideas & Q&A] @@ -62,8 +80,8 @@ cards with as little as 4 GB or RAM. ## :octicons-package-dependencies-24: Installation -This fork is supported across multiple platforms. You can find individual installation instructions -below. +This fork is supported across multiple platforms. You can find individual +installation instructions below. - :fontawesome-brands-linux: [Linux](installation/INSTALL_LINUX.md) - :fontawesome-brands-windows: [Windows](installation/INSTALL_WINDOWS.md) @@ -76,6 +94,7 @@ below. You wil need one of the following: - :simple-nvidia: An NVIDIA-based graphics card with 4 GB or more VRAM memory. +- :simple-amd: An AMD-based graphics card with 4 GB or more VRAM memory (Linux only) - :fontawesome-brands-apple: An Apple computer with an M1 chip. ### :fontawesome-solid-memory: Memory @@ -84,7 +103,8 @@ You wil need one of the following: ### :fontawesome-regular-hard-drive: Disk -- At least 12 GB of free disk space for the machine learning model, Python, and all its dependencies. +- At least 12 GB of free disk space for the machine learning model, Python, and + all its dependencies. !!! info @@ -93,8 +113,8 @@ You wil need one of the following: Similarly, specify full-precision mode on Apple M1 hardware. - Precision is auto configured based on the device. If however you encounter errors like - `expected type Float but found Half` or `not implemented for Half` you can try starting + Precision is auto configured based on the device. If however you encounter errors like + `expected type Float but found Half` or `not implemented for Half` you can try starting `invoke.py` with the `--precision=float32` flag: ```bash @@ -103,73 +123,127 @@ You wil need one of the following: ## :octicons-log-16: Latest Changes +### v2.1.0 (2 November 2022) + +- [Inpainting](https://invoke-ai.github.io/InvokeAI/features/INPAINTING/) + support in the WebGUI +- Greatly improved navigation and user experience in the + [WebGUI](https://invoke-ai.github.io/InvokeAI/features/WEB/) +- The prompt syntax has been enhanced with + [prompt weighting, cross-attention and prompt merging](https://invoke-ai.github.io/InvokeAI/features/PROMPTS/). +- You can now load + [multiple models and switch among them quickly](https://docs.google.com/presentation/d/1WywGA1rny7bpFh7CLSdTr4nNpVKdlUeT0Bj0jCsILyU/edit?usp=sharing) + without leaving the CLI. +- The installation process (via `scripts/preload_models.py`) now lets you select + among several popular + [Stable Diffusion models](https://invoke-ai.github.io/InvokeAI/installation/INSTALLING_MODELS/) + and downloads and installs them on your behalf. Among other models, this + script will install the current Stable Diffusion 1.5 model as well as a + StabilityAI variable autoencoder (VAE) which improves face generation. +- Tired of struggling with photoeditors to get the masked region of for + inpainting just right? Let the AI make the mask for you using + [text masking](https://docs.google.com/presentation/d/1pWoY510hCVjz0M6X9CBbTznZgW2W5BYNKrmZm7B45q8/edit#slide=id.p). + This feature allows you to specify the part of the image to paint over using + just English-language phrases. +- Tired of seeing the head of your subjects cropped off? Uncrop them in the CLI + with the + [outcrop feature](https://invoke-ai.github.io/InvokeAI/features/OUTPAINTING/#outcrop). +- Tired of seeing your subject's bodies duplicated or mangled when generating + larger-dimension images? Check out the `--hires` option in the CLI, or select + the corresponding toggle in the WebGUI. +- We now support textual inversion and fine-tune .bin styles and subjects from + the Hugging Face archive of + [SD Concepts](https://huggingface.co/sd-concepts-library). Load the .bin file + using the `--embedding_path` option. (The next version will support merging + and loading of multiple simultaneous models). +- ... + ### v2.0.1 (13 October 2022) -- fix noisy images at high step count when using k* samplers -- dream.py script now calls invoke.py module directly rather than - via a new python process (which could break the environment) +- fix noisy images at high step count when using k\* samplers +- dream.py script now calls invoke.py module directly rather than via a new + python process (which could break the environment) ### v2.0.0 (9 October 2022) -- `dream.py` script renamed `invoke.py`. A `dream.py` script wrapper remains - for backward compatibility. +- `dream.py` script renamed `invoke.py`. A `dream.py` script wrapper remains for + backward compatibility. - Completely new WebGUI - launch with `python3 scripts/invoke.py --web` -- Support for inpainting and outpainting -- img2img runs on all k* samplers -- Support for negative prompts +- Support for + inpainting + and + outpainting +- img2img runs on all k\* samplers +- Support for + negative + prompts - Support for CodeFormer face reconstruction - Support for Textual Inversion on Macintoshes -- Support in both WebGUI and CLI for post-processing of previously-generated images - using facial reconstruction, ESRGAN upscaling, outcropping (similar to DALL-E infinite canvas), - and "embiggen" upscaling. See the `!fix` command. -- New `--hires` option on `invoke>` line allows larger images to be created without duplicating elements, at the cost of some performance. -- New `--perlin` and `--threshold` options allow you to add and control variation - during image generation (see Thresholding and Perlin Noise Initialization -- Extensive metadata now written into PNG files, allowing reliable regeneration of images - and tweaking of previous settings. -- Command-line completion in `invoke.py` now works on Windows, Linux and Mac platforms. -- Improved command-line completion behavior. - New commands added: +- Support in both WebGUI and CLI for + post-processing + of previously-generated images using facial reconstruction, ESRGAN + upscaling, outcropping (similar to DALL-E infinite canvas), and "embiggen" + upscaling. See the `!fix` command. +- New `--hires` option on `invoke>` line allows + larger + images to be created without duplicating elements, at the cost of some + performance. +- New `--perlin` and `--threshold` options allow you to add and control + variation during image generation (see + Thresholding + and Perlin Noise Initialization +- Extensive metadata now written into PNG files, allowing reliable regeneration + of images and tweaking of previous settings. +- Command-line completion in `invoke.py` now works on Windows, Linux and Mac + platforms. +- Improved + command-line + completion behavior. New commands added: - List command-line history with `!history` - Search command-line history with `!search` - Clear history with `!clear` - Deprecated `--full_precision` / `-F`. Simply omit it and `invoke.py` will auto - configure. To switch away from auto use the new flag like `--precision=float32`. + configure. To switch away from auto use the new flag like + `--precision=float32`. -For older changelogs, please visit the **[CHANGELOG](CHANGELOG.md#v114-11-september-2022)**. +For older changelogs, please visit the +**[CHANGELOG](CHANGELOG/#v114-11-september-2022)**. ## :material-target: Troubleshooting -Please check out our **[:material-frequently-asked-questions: Q&A](help/TROUBLESHOOT.md)** to get solutions for common installation -problems and other issues. +Please check out our +**[:material-frequently-asked-questions: Q&A](help/TROUBLESHOOT.md)** to get +solutions for common installation problems and other issues. ## :octicons-repo-push-24: Contributing -Anyone who wishes to contribute to this project, whether documentation, features, bug fixes, code -cleanup, testing, or code reviews, is very much encouraged to do so. If you are unfamiliar with how -to contribute to GitHub projects, here is a +Anyone who wishes to contribute to this project, whether documentation, +features, bug fixes, code cleanup, testing, or code reviews, is very much +encouraged to do so. If you are unfamiliar with how to contribute to GitHub +projects, here is a [Getting Started Guide](https://opensource.com/article/19/7/create-pull-request-github). -A full set of contribution guidelines, along with templates, are in progress, but for now the most -important thing is to **make your pull request against the "development" branch**, and not against -"main". This will help keep public breakage to a minimum and will allow you to propose more radical -changes. +A full set of contribution guidelines, along with templates, are in progress, +but for now the most important thing is to **make your pull request against the +"development" branch**, and not against "main". This will help keep public +breakage to a minimum and will allow you to propose more radical changes. ## :octicons-person-24: Contributors This fork is a combined effort of various people from across the world. -[Check out the list of all these amazing people](other/CONTRIBUTORS.md). We thank them for their -time, hard work and effort. +[Check out the list of all these amazing people](other/CONTRIBUTORS.md). We +thank them for their time, hard work and effort. ## :octicons-question-24: Support -For support, please use this repository's GitHub Issues tracking service. Feel free to send me an -email if you use and like the script. +For support, please use this repository's GitHub Issues tracking service. Feel +free to send me an email if you use and like the script. Original portions of the software are Copyright (c) 2020 [Lincoln D. Stein](https://github.com/lstein) ## :octicons-book-24: Further Reading -Please see the original README for more information on this software and underlying algorithm, -located in the file [README-CompViz.md](other/README-CompViz.md). +Please see the original README for more information on this software and +underlying algorithm, located in the file +[README-CompViz.md](other/README-CompViz.md). diff --git a/docs/installation/INSTALLING_MODELS.md b/docs/installation/INSTALLING_MODELS.md index b5d659b0d1..c3b30eb25f 100644 --- a/docs/installation/INSTALLING_MODELS.md +++ b/docs/installation/INSTALLING_MODELS.md @@ -6,224 +6,223 @@ title: Installing Models ## Model Weight Files -The model weight files ('*.ckpt') are the Stable Diffusion "secret -sauce". They are the product of training the AI on millions of -captioned images gathered from multiple sources. +The model weight files ('\*.ckpt') are the Stable Diffusion "secret sauce". They +are the product of training the AI on millions of captioned images gathered from +multiple sources. -Originally there was only a single Stable Diffusion weights file, -which many people named `model.ckpt`. Now there are dozens or more -that have been "fine tuned" to provide particulary styles, genres, or -other features. InvokeAI allows you to install and run multiple model -weight files and switch between them quickly in the command-line and -web interfaces. +Originally there was only a single Stable Diffusion weights file, which many +people named `model.ckpt`. Now there are dozens or more that have been "fine +tuned" to provide particulary styles, genres, or other features. InvokeAI allows +you to install and run multiple model weight files and switch between them +quickly in the command-line and web interfaces. -This manual will guide you through installing and configuring model -weight files. +This manual will guide you through installing and configuring model weight +files. ## Base Models -InvokeAI comes with support for a good initial set of models listed in -the model configuration file `configs/models.yaml`. They are: +InvokeAI comes with support for a good initial set of models listed in the model +configuration file `configs/models.yaml`. They are: -| Model | Weight File | Description | DOWNLOAD FROM | -| ---------------------- | ----------------------------- |--------------------------------- | ----------------| -| stable-diffusion-1.5 | v1-5-pruned-emaonly.ckpt | Most recent version of base Stable Diffusion model| https://huggingface.co/runwayml/stable-diffusion-v1-5 | -| stable-diffusion-1.4 | sd-v1-4.ckpt | Previous version of base Stable Diffusion model | https://huggingface.co/CompVis/stable-diffusion-v-1-4-original | -| inpainting-1.5 | sd-v1-5-inpainting.ckpt | Stable Diffusion 1.5 model specialized for inpainting | https://huggingface.co/runwayml/stable-diffusion-inpainting | -| waifu-diffusion-1.3 | model-epoch09-float32.ckpt | Stable Diffusion 1.4 trained to produce anime images | https://huggingface.co/hakurei/waifu-diffusion-v1-3 | -| | vae-ft-mse-840000-ema-pruned.ckpt | A fine-tune file add-on file that improves face generation | https://huggingface.co/stabilityai/sd-vae-ft-mse-original/ | +| Model | Weight File | Description | DOWNLOAD FROM | +| -------------------- | --------------------------------- | ---------------------------------------------------------- | -------------------------------------------------------------- | +| stable-diffusion-1.5 | v1-5-pruned-emaonly.ckpt | Most recent version of base Stable Diffusion model | https://huggingface.co/runwayml/stable-diffusion-v1-5 | +| stable-diffusion-1.4 | sd-v1-4.ckpt | Previous version of base Stable Diffusion model | https://huggingface.co/CompVis/stable-diffusion-v-1-4-original | +| inpainting-1.5 | sd-v1-5-inpainting.ckpt | Stable Diffusion 1.5 model specialized for inpainting | https://huggingface.co/runwayml/stable-diffusion-inpainting | +| waifu-diffusion-1.3 | model-epoch09-float32.ckpt | Stable Diffusion 1.4 trained to produce anime images | https://huggingface.co/hakurei/waifu-diffusion-v1-3 | +| `` | vae-ft-mse-840000-ema-pruned.ckpt | A fine-tune file add-on file that improves face generation | https://huggingface.co/stabilityai/sd-vae-ft-mse-original/ | - -Note that these files are covered by an "Ethical AI" license which -forbids certain uses. You will need to create an account on the -Hugging Face website and accept the license terms before you can -access the files. +Note that these files are covered by an "Ethical AI" license which forbids +certain uses. You will need to create an account on the Hugging Face website and +accept the license terms before you can access the files. The predefined configuration file for InvokeAI (located at -`configs/models.yaml`) provides entries for each of these weights -files. `stable-diffusion-1.5` is the default model used, and we -strongly recommend that you install this weights file if nothing else. +`configs/models.yaml`) provides entries for each of these weights files. +`stable-diffusion-1.5` is the default model used, and we strongly recommend that +you install this weights file if nothing else. ## Community-Contributed Models -There are too many to list here and more are being contributed every -day. Hugging Face maintains a [fast-growing -repository](https://huggingface.co/sd-concepts-library) of fine-tune -(".bin") models that can be imported into InvokeAI by passing the +There are too many to list here and more are being contributed every day. +Hugging Face maintains a +[fast-growing repository](https://huggingface.co/sd-concepts-library) of +fine-tune (".bin") models that can be imported into InvokeAI by passing the `--embedding_path` option to the `invoke.py` command. -[This page](https://rentry.org/sdmodels) hosts a large list of -official and unofficial Stable Diffusion models and where they can be -obtained. +[This page](https://rentry.org/sdmodels) hosts a large list of official and +unofficial Stable Diffusion models and where they can be obtained. ## Installation There are three ways to install weights files: -1. During InvokeAI installation, the `preload_models.py` script can -download them for you. +1. During InvokeAI installation, the `preload_models.py` script can download + them for you. -2. You can use the command-line interface (CLI) to import, configure -and modify new models files. +2. You can use the command-line interface (CLI) to import, configure and modify + new models files. -3. You can download the files manually and add the appropriate entries -to `models.yaml`. +3. You can download the files manually and add the appropriate entries to + `models.yaml`. ### Installation via `preload_models.py` -This is the most automatic way. Run `scripts/preload_models.py` from -the console. It will ask you to select which models to download and -lead you through the steps of setting up a Hugging Face account if you -haven't done so already. +This is the most automatic way. Run `scripts/preload_models.py` from the +console. It will ask you to select which models to download and lead you through +the steps of setting up a Hugging Face account if you haven't done so already. -To start, from within the InvokeAI directory run the command `python -scripts/preload_models.py` (Linux/MacOS) or `python -scripts\preload_models.py` (Windows): +To start, run `python scripts/preload_models.py` from within the InvokeAI: +directory -``` -Loading Python libraries... +!!! example "" -** INTRODUCTION ** -Welcome to InvokeAI. This script will help download the Stable Diffusion weight files -and other large models that are needed for text to image generation. At any point you may interrupt -this program and resume later. + ```text + Loading Python libraries... -** WEIGHT SELECTION ** -Would you like to download the Stable Diffusion model weights now? [y] + ** INTRODUCTION ** + Welcome to InvokeAI. This script will help download the Stable Diffusion weight files + and other large models that are needed for text to image generation. At any point you may interrupt + this program and resume later. -Choose the weight file(s) you wish to download. Before downloading you -will be given the option to view and change your selections. + ** WEIGHT SELECTION ** + Would you like to download the Stable Diffusion model weights now? [y] -[1] stable-diffusion-1.5: - The newest Stable Diffusion version 1.5 weight file (4.27 GB) (recommended) - Download? [y] -[2] inpainting-1.5: - RunwayML SD 1.5 model optimized for inpainting (4.27 GB) (recommended) - Download? [y] -[3] stable-diffusion-1.4: - The original Stable Diffusion version 1.4 weight file (4.27 GB) - Download? [n] n -[4] waifu-diffusion-1.3: - Stable Diffusion 1.4 fine tuned on anime-styled images (4.27) - Download? [n] y -[5] ft-mse-improved-autoencoder-840000: - StabilityAI improved autoencoder fine-tuned for human faces (recommended; 335 MB) (recommended) - Download? [y] y -The following weight files will be downloaded: - [1] stable-diffusion-1.5* - [2] inpainting-1.5 - [4] waifu-diffusion-1.3 - [5] ft-mse-improved-autoencoder-840000 -*default -Ok to download? [y] -** LICENSE AGREEMENT FOR WEIGHT FILES ** + Choose the weight file(s) you wish to download. Before downloading you + will be given the option to view and change your selections. -1. To download the Stable Diffusion weight files you need to read and accept the - CreativeML Responsible AI license. If you have not already done so, please - create an account using the "Sign Up" button: + [1] stable-diffusion-1.5: + The newest Stable Diffusion version 1.5 weight file (4.27 GB) (recommended) + Download? [y] + [2] inpainting-1.5: + RunwayML SD 1.5 model optimized for inpainting (4.27 GB) (recommended) + Download? [y] + [3] stable-diffusion-1.4: + The original Stable Diffusion version 1.4 weight file (4.27 GB) + Download? [n] n + [4] waifu-diffusion-1.3: + Stable Diffusion 1.4 fine tuned on anime-styled images (4.27) + Download? [n] y + [5] ft-mse-improved-autoencoder-840000: + StabilityAI improved autoencoder fine-tuned for human faces (recommended; 335 MB) (recommended) + Download? [y] y + The following weight files will be downloaded: + [1] stable-diffusion-1.5* + [2] inpainting-1.5 + [4] waifu-diffusion-1.3 + [5] ft-mse-improved-autoencoder-840000 + *default + Ok to download? [y] + ** LICENSE AGREEMENT FOR WEIGHT FILES ** - https://huggingface.co + 1. To download the Stable Diffusion weight files you need to read and accept the + CreativeML Responsible AI license. If you have not already done so, please + create an account using the "Sign Up" button: - You will need to verify your email address as part of the HuggingFace - registration process. + https://huggingface.co -2. After creating the account, login under your account and accept - the license terms located here: + You will need to verify your email address as part of the HuggingFace + registration process. - https://huggingface.co/CompVis/stable-diffusion-v-1-4-original + 2. After creating the account, login under your account and accept + the license terms located here: -Press when you are ready to continue: -... -``` + https://huggingface.co/CompVis/stable-diffusion-v-1-4-original -When the script is complete, you will find the downloaded weights -files in `models/ldm/stable-diffusion-v1` and a matching configuration -file in `configs/models.yaml`. + Press when you are ready to continue: + ... + ``` -You can run the script again to add any models you didn't select the -first time. Note that as a safety measure the script will _never_ -remove a previously-installed weights file. You will have to do this -manually. +When the script is complete, you will find the downloaded weights files in +`models/ldm/stable-diffusion-v1` and a matching configuration file in +`configs/models.yaml`. + +You can run the script again to add any models you didn't select the first time. +Note that as a safety measure the script will _never_ remove a +previously-installed weights file. You will have to do this manually. ### Installation via the CLI -You can install a new model, including any of the community-supported -ones, via the command-line client's `!import_model` command. +You can install a new model, including any of the community-supported ones, via +the command-line client's `!import_model` command. -1. First download the desired model weights file and place it under `models/ldm/stable-diffusion-v1/`. - You may rename the weights file to something more memorable if you wish. Record the path of the - weights file (e.g. `models/ldm/stable-diffusion-v1/arabian-nights-1.0.ckpt`) +1. First download the desired model weights file and place it under + `models/ldm/stable-diffusion-v1/`. You may rename the weights file to + something more memorable if you wish. Record the path of the weights file + (e.g. `models/ldm/stable-diffusion-v1/arabian-nights-1.0.ckpt`) -2. Launch the `invoke.py` CLI with `python scripts/invoke.py`. +2. Launch the `invoke.py` CLI with `python scripts/invoke.py`. -3. At the `invoke>` command-line, enter the command `!import_model `. - For example: +3. At the `invoke>` command-line, enter the command + `!import_model `. For example: - `invoke> !import_model models/ldm/stable-diffusion-v1/arabian-nights-1.0.ckpt` + `invoke> !import_model models/ldm/stable-diffusion-v1/arabian-nights-1.0.ckpt` - (Hint - the CLI supports file path autocompletion. Type a bit of the path - name and hit in order to get a choice of possible completions.) + !!! tip "the CLI supports file path autocompletion" -4. Follow the wizard's instructions to complete installation as shown in the example - here: + Type a bit of the path name and hit ++tab++ in order to get a choice of + possible completions. -``` -invoke> !import_model models/ldm/stable-diffusion-v1/arabian-nights-1.0.ckpt ->> Model import in process. Please enter the values needed to configure this model: +4. Follow the wizard's instructions to complete installation as shown in the + example here: -Name for this model: arabian-nights -Description of this model: Arabian Nights Fine Tune v1.0 -Configuration file for this model: configs/stable-diffusion/v1-inference.yaml -Default image width: 512 -Default image height: 512 ->> New configuration: -arabian-nights: - config: configs/stable-diffusion/v1-inference.yaml - description: Arabian Nights Fine Tune v1.0 - height: 512 - weights: models/ldm/stable-diffusion-v1/arabian-nights-1.0.ckpt - width: 512 -OK to import [n]? y ->> Caching model stable-diffusion-1.4 in system RAM ->> Loading waifu-diffusion from models/ldm/stable-diffusion-v1/arabian-nights-1.0.ckpt - | LatentDiffusion: Running in eps-prediction mode - | DiffusionWrapper has 859.52 M params. - | Making attention of type 'vanilla' with 512 in_channels - | Working with z of shape (1, 4, 32, 32) = 4096 dimensions. - | Making attention of type 'vanilla' with 512 in_channels - | Using faster float16 precision + !!! example "" -``` + ```text + invoke> !import_model models/ldm/stable-diffusion-v1/arabian-nights-1.0.ckpt + >> Model import in process. Please enter the values needed to configure this model: -If you've previously installed the fine-tune VAE file `vae-ft-mse-840000-ema-pruned.ckpt`, -the wizard will also ask you if you want to add this VAE to the model. + Name for this model: arabian-nights + Description of this model: Arabian Nights Fine Tune v1.0 + Configuration file for this model: configs/stable-diffusion/v1-inference.yaml + Default image width: 512 + Default image height: 512 + >> New configuration: + arabian-nights: + config: configs/stable-diffusion/v1-inference.yaml + description: Arabian Nights Fine Tune v1.0 + height: 512 + weights: models/ldm/stable-diffusion-v1/arabian-nights-1.0.ckpt + width: 512 + OK to import [n]? y + >> Caching model stable-diffusion-1.4 in system RAM + >> Loading waifu-diffusion from models/ldm/stable-diffusion-v1/arabian-nights-1.0.ckpt + | LatentDiffusion: Running in eps-prediction mode + | DiffusionWrapper has 859.52 M params. + | Making attention of type 'vanilla' with 512 in_channels + | Working with z of shape (1, 4, 32, 32) = 4096 dimensions. + | Making attention of type 'vanilla' with 512 in_channels + | Using faster float16 precision + ``` -The appropriate entry for this model will be added to `configs/models.yaml` and it will -be available to use in the CLI immediately. +If you've previously installed the fine-tune VAE file +`vae-ft-mse-840000-ema-pruned.ckpt`, the wizard will also ask you if you want to +add this VAE to the model. -The CLI has additional commands for switching among, viewing, editing, -deleting the available models. These are described in [Command Line -Client](../features/CLI.md#model-selection-and-importation), but the two most -frequently-used are `!models` and `!switch `. The first -prints a table of models that InvokeAI knows about and their load -status. The second will load the requested model and lets you switch -back and forth quickly among loaded models. +The appropriate entry for this model will be added to `configs/models.yaml` and +it will be available to use in the CLI immediately. + +The CLI has additional commands for switching among, viewing, editing, deleting +the available models. These are described in +[Command Line Client](../features/CLI.md#model-selection-and-importation), but +the two most frequently-used are `!models` and `!switch `. The +first prints a table of models that InvokeAI knows about and their load status. +The second will load the requested model and lets you switch back and forth +quickly among loaded models. ### Manually editing of `configs/models.yaml` -If you are comfortable with a text editor then you may simply edit -`models.yaml` directly. +If you are comfortable with a text editor then you may simply edit `models.yaml` +directly. First you need to download the desired .ckpt file and place it in -`models/ldm/stable-diffusion-v1` as descirbed in step #1 in the -previous section. Record the path to the weights file, -e.g. `models/ldm/stable-diffusion-v1/arabian-nights-1.0.ckpt` +`models/ldm/stable-diffusion-v1` as descirbed in step #1 in the previous +section. Record the path to the weights file, e.g. +`models/ldm/stable-diffusion-v1/arabian-nights-1.0.ckpt` -Then using a **text** editor (e.g. the Windows Notepad application), -open the file `configs/models.yaml`, and add a new stanza that follows -this model: +Then using a **text** editor (e.g. the Windows Notepad application), open the +file `configs/models.yaml`, and add a new stanza that follows this model: -``` +```yaml arabian-nights-1.0: description: A great fine-tune in Arabian Nights style weights: ./models/ldm/stable-diffusion-v1/arabian-nights-1.0.ckpt @@ -234,34 +233,14 @@ arabian-nights-1.0: default: false ``` -* arabian-nights-1.0 - - This is the name of the model that you will refer to from within the - CLI and the WebGUI when you need to load and use the model. - -* description - - Any description that you want to add to the model to remind you what - it is. - -* weights - - Relative path to the .ckpt weights file for this model. - -* config - - This is the confusingly-named configuration file for the model itself. - Use `./configs/stable-diffusion/v1-inference.yaml` unless the model happens - to need a custom configuration, in which case the place you downloaded it - from will tell you what to use instead. For example, the runwayML custom - inpainting model requires the file `configs/stable-diffusion/v1-inpainting-inference.yaml`. - This is already inclued in the InvokeAI distribution and is configured automatically - for you by the `preload_models.py` script. - -* vae - - If you want to add a VAE file to the model, then enter its path here. - -* width, height - - This is the width and height of the images used to train the model. - Currently they are always 512 and 512. +| name | description | +| :----------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| arabian-nights-1.0 | This is the name of the model that you will refer to from within the CLI and the WebGUI when you need to load and use the model. | +| description | Any description that you want to add to the model to remind you what it is. | +| weights | Relative path to the .ckpt weights file for this model. | +| config | This is the confusingly-named configuration file for the model itself. Use `./configs/stable-diffusion/v1-inference.yaml` unless the model happens to need a custom configuration, in which case the place you downloaded it from will tell you what to use instead. For example, the runwayML custom inpainting model requires the file `configs/stable-diffusion/v1-inpainting-inference.yaml`. This is already inclued in the InvokeAI distribution and is configured automatically for you by the `preload_models.py` script. | +| vae | If you want to add a VAE file to the model, then enter its path here. | +| width, height | This is the width and height of the images used to train the model. Currently they are always 512 and 512. | Save the `models.yaml` and relaunch InvokeAI. The new model should now be available for your use. - - diff --git a/docs/installation/INSTALL_DOCKER.md b/docs/installation/INSTALL_DOCKER.md index 50c3d89c81..9f168ac2a1 100644 --- a/docs/installation/INSTALL_DOCKER.md +++ b/docs/installation/INSTALL_DOCKER.md @@ -4,26 +4,30 @@ title: Docker # :fontawesome-brands-docker: Docker -## Before you begin +!!! warning "For end users" -- For end users: Install Stable Diffusion locally using the instructions for - your OS. -- For developers: For container-related development tasks or for enabling easy - deployment to other environments (on-premises or cloud), follow these - instructions. For general use, install locally to leverage your machine's GPU. + We highly recommend to Install InvokeAI locally using [these instructions](index.md)" + +!!! tip "For developers" + + For container-related development tasks or for enabling easy + deployment to other environments (on-premises or cloud), follow these + instructions. + + For general use, install locally to leverage your machine's GPU. ## Why containers? -They provide a flexible, reliable way to build and deploy Stable Diffusion. -You'll also use a Docker volume to store the largest model files and image -outputs as a first step in decoupling storage and compute. Future enhancements -can do this for other assets. See [Processes](https://12factor.net/processes) -under the Twelve-Factor App methodology for details on why running applications -in such a stateless fashion is important. +They provide a flexible, reliable way to build and deploy InvokeAI. You'll also +use a Docker volume to store the largest model files and image outputs as a +first step in decoupling storage and compute. Future enhancements can do this +for other assets. See [Processes](https://12factor.net/processes) under the +Twelve-Factor App methodology for details on why running applications in such a +stateless fashion is important. You can specify the target platform when building the image and running the -container. You'll also need to specify the Stable Diffusion requirements file -that matches the container's OS and the architecture it will run on. +container. You'll also need to specify the InvokeAI requirements file that +matches the container's OS and the architecture it will run on. Developers on Apple silicon (M1/M2): You [can't access your GPU cores from Docker containers](https://github.com/pytorch/pytorch/issues/81224) @@ -38,16 +42,19 @@ another environment with NVIDIA GPUs on-premises or in the cloud. #### Install [Docker](https://github.com/santisbon/guides#docker) -On the Docker Desktop app, go to Preferences, Resources, Advanced. Increase the -CPUs and Memory to avoid this +On the [Docker Desktop app](https://docs.docker.com/get-docker/), go to +Preferences, Resources, Advanced. Increase the CPUs and Memory to avoid this [Issue](https://github.com/invoke-ai/InvokeAI/issues/342). You may need to increase Swap and Disk image size too. #### Get a Huggingface-Token -Go to [Hugging Face](https://huggingface.co/settings/tokens), create a token and -temporary place it somewhere like a open texteditor window (but dont save it!, -only keep it open, we need it in the next step) +Besides the Docker Agent you will need an Account on +[huggingface.co](https://huggingface.co/join). + +After you succesfully registered your account, go to +[huggingface.co/settings/tokens](https://huggingface.co/settings/tokens), create +a token and copy it, since you will need in for the next step. ### Setup @@ -65,13 +72,14 @@ created in the last step. Some Suggestions of variables you may want to change besides the Token: -| Environment-Variable | Description | -| ------------------------------------------------------------------- | ------------------------------------------------------------------------ | -| `HUGGINGFACE_TOKEN="hg_aewirhghlawrgkjbarug2"` | This is the only required variable, without you can't get the checkpoint | -| `ARCH=aarch64` | if you are using a ARM based CPU | -| `INVOKEAI_TAG=yourname/invokeai:latest` | the Container Repository / Tag which will be used | -| `INVOKEAI_CONDA_ENV_FILE=environment-linux-aarch64.yml` | since environment.yml wouldn't work with aarch | -| `INVOKEAI_GIT="-b branchname https://github.com/username/reponame"` | if you want to use your own fork | +| Environment-Variable | Default value | Description | +| ------------------------- | ----------------------------- | ---------------------------------------------------------------------------- | +| `HUGGINGFACE_TOKEN` | No default, but **required**! | This is the only **required** variable, without you can't get the checkpoint | +| `ARCH` | x86_64 | if you are using a ARM based CPU | +| `INVOKEAI_TAG` | invokeai-x86_64 | the Container Repository / Tag which will be used | +| `INVOKEAI_CONDA_ENV_FILE` | environment-lin-cuda.yml | since environment.yml wouldn't work with aarch | +| `INVOKEAI_GIT` | invoke-ai/InvokeAI | the repository to use | +| `INVOKEAI_BRANCH` | main | the branch to checkout | #### Build the Image @@ -79,25 +87,41 @@ I provided a build script, which is located in `docker-build/build.sh` but still needs to be executed from the Repository root. ```bash -docker-build/build.sh +./docker-build/build.sh ``` The build Script not only builds the container, but also creates the docker -volume if not existing yet, or if empty it will just download the models. When -it is done you can run the container via the run script +volume if not existing yet, or if empty it will just download the models. + +#### Run the Container + +After the build process is done, you can run the container via the provided +`docker-build/run.sh` script ```bash -docker-build/run.sh +./docker-build/run.sh ``` -When used without arguments, the container will start the website and provide +When used without arguments, the container will start the webserver and provide you the link to open it. But if you want to use some other parameters you can also do so. +!!! example "" + + ```bash + ./docker-build/run.sh --from_file tests/validate_pr_prompt.txt + ``` + + The output folder is located on the volume which is also used to store the model. + + Find out more about available CLI-Parameters at [features/CLI.md](../features/CLI.md/#arguments) + +--- + !!! warning "Deprecated" - From here on it is the rest of the previous Docker-Docs, which will still - provide usefull informations for one or the other. + From here on you will find the the previous Docker-Docs, which will still + provide some usefull informations. ## Usage (time to have fun) diff --git a/docs/installation/INSTALL_INVOKE.md b/docs/installation/INSTALL_INVOKE.md new file mode 100644 index 0000000000..37a35fbe1c --- /dev/null +++ b/docs/installation/INSTALL_INVOKE.md @@ -0,0 +1,55 @@ +--- +title: InvokeAI Installer +--- + +The InvokeAI installer is a shell script that will install InvokeAI onto a stock +computer running recent versions of Linux, MacOSX or Windows. It will leave you +with a version that runs a stable version of InvokeAI. When a new version of +InvokeAI is released, you will download and reinstall the new version. + +If you wish to tinker with unreleased versions of InvokeAI that introduce +potentially unstable new features, you should consider using the +[source installer](INSTALL_SOURCE.md) or one of the +[manual install](INSTALL_MANUAL.md) methods. + +!!! todo + + Before you begin, make sure that you meet + the[hardware requirements](/#hardware-requirements) and has the + appropriate GPU drivers installed. In particular, if you are a Linux user with + an AMD GPU installed, you may need to install the + [ROCm-driver](https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html). + +Installation requires roughly 18G of free disk space to load the libraries and +recommended model weights files. + +## Steps to Install + +1. Download the + [latest release](https://github.com/invoke-ai/InvokeAI/releases/latest) of + InvokeAI's installer for your platform + +2. Place the downloaded package someplace where you have plenty of HDD space, + and have full permissions (i.e. `~/` on Lin/Mac; your home folder on Windows) + +3. Extract the 'InvokeAI' folder from the downloaded package + +4. Open the extracted 'InvokeAI' folder + +5. Double-click 'install.bat' (Windows), or 'install.sh' (Lin/Mac) (or run from + a terminal) + +6. Follow the prompts + +7. After installation, please run the 'invoke.bat' file (on Windows) or + 'invoke.sh' file (on Linux/Mac) to start InvokeAI. + +## Troubleshooting + +If you run into problems during or after installation, the InvokeAI team is +available to help you. Either create an +[Issue](https://github.com/invoke-ai/InvokeAI/issues) at our GitHub site, or +make a request for help on the "bugs-and-support" channel of our +[Discord server](https://discord.gg/ZmtBAhwWhy). We are a 100% volunteer +organization, but typically somebody will be available to help you within 24 +hours, and often much sooner. diff --git a/docs/installation/INSTALL_JUPYTER.md b/docs/installation/INSTALL_JUPYTER.md new file mode 100644 index 0000000000..8807423be5 --- /dev/null +++ b/docs/installation/INSTALL_JUPYTER.md @@ -0,0 +1,27 @@ +--- +title: Running InvokeAI on Google Colab using a Jupyter Notebook +--- + +# THIS NEEDS TO BE FLESHED OUT + +## Introduction + +We have a [Jupyter +notebook](https://github.com/invoke-ai/InvokeAI/blob/main/notebooks/Stable-Diffusion-local-Windows.ipynb) +with cell-by-cell installation steps. It will download the code in +this repo as one of the steps, so instead of cloning this repo, simply +download the notebook from the link above and load it up in VSCode +(with the appropriate extensions installed)/Jupyter/JupyterLab and +start running the cells one-by-one. + +!!! Note "you will need NVIDIA drivers, Python 3.10, and Git installed beforehand" + +## Walkthrough + +## Updating to newer versions + +### Updating the stable version + +### Updating to the development version + +## Troubleshooting diff --git a/docs/installation/INSTALL_MANUAL.md b/docs/installation/INSTALL_MANUAL.md new file mode 100644 index 0000000000..fd53d32131 --- /dev/null +++ b/docs/installation/INSTALL_MANUAL.md @@ -0,0 +1,416 @@ +--- +title: Manual Installation +--- + +
+# :fontawesome-brands-linux: Linux | :fontawesome-brands-apple: macOS | :fontawesome-brands-windows: Windows +
+ +!!! warning "This is for advanced Users" + + who are already expirienced with using conda or pip + +## Introduction + +You have two choices for manual installation, the [first one](#Conda_method) +based on the Anaconda3 package manager (`conda`), and +[a second one](#PIP_method) which uses basic Python virtual environment (`venv`) +commands and the PIP package manager. Both methods require you to enter commands +on the terminal, also known as the "console". + +On Windows systems you are encouraged to install and use the +[Powershell](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.3), +which provides compatibility with Linux and Mac shells and nice features such as +command-line completion. + +### Conda method + +1. Check that your system meets the + [hardware requirements](index.md#Hardware_Requirements) and has the + appropriate GPU drivers installed. In particular, if you are a Linux user + with an AMD GPU installed, you may need to install the + [ROCm driver](https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html). + + InvokeAI does not yet support Windows machines with AMD GPUs due to the lack + of ROCm driver support on this platform. + + To confirm that the appropriate drivers are installed, run `nvidia-smi` on + NVIDIA/CUDA systems, and `rocm-smi` on AMD systems. These should return + information about the installed video card. + + Macintosh users with MPS acceleration, or anybody with a CPU-only system, + can skip this step. + +2. You will need to install Anaconda3 and Git if they are not already + available. Use your operating system's preferred package manager, or + download the installers manually. You can find them here: + + - [Anaconda3](https://www.anaconda.com/) + - [git](https://git-scm.com/downloads) + +3. Clone the [InvokeAI](https://github.com/invoke-ai/InvokeAI) source code from + GitHub: + + ```bash + git clone https://github.com/invoke-ai/InvokeAI.git + ``` + + This will create InvokeAI folder where you will follow the rest of the + steps. + +4. Enter the newly-created InvokeAI folder: + + ```bash + cd InvokeAI + ``` + + From this step forward make sure that you are working in the InvokeAI + directory! + +5. Select the appropriate environment file: + + We have created a series of environment files suited for different operating + systems and GPU hardware. They are located in the + `environments-and-requirements` directory: + +
+ + | filename | OS | + | :----------------------: | :----------------------------: | + | environment-lin-amd.yml | Linux with an AMD (ROCm) GPU | + | environment-lin-cuda.yml | Linux with an NVIDIA CUDA GPU | + | environment-mac.yml | Macintosh | + | environment-win-cuda.yml | Windows with an NVIDA CUDA GPU | + +
+ + Choose the appropriate environment file for your system and link or copy it + to `environment.yml` in InvokeAI's top-level directory. To do so, run + following command from the repository-root: + + !!! Example "" + + === "Macintosh and Linux" + + !!! todo "Replace `xxx` and `yyy` with the appropriate OS and GPU codes as seen in the table above" + + ```bash + ln -sf environments-and-requirements/environment-xxx-yyy.yml environment.yml + ``` + + When this is done, confirm that a file `environment.yml` has been linked in + the InvokeAI root directory and that it points to the correct file in the + `environments-and-requirements`. + + ```bash + ls -la + ``` + + === "Windows" + + !!! todo " Since it requires admin privileges to create links, we will use the copy command to create your `environment.yml`" + + ```cmd + copy environments-and-requirements\environment-win-cuda.yml environment.yml + ``` + + Afterwards verify that the file `environment.yml` has been created, either via the + explorer or by using the command `dir` from the terminal + + ```cmd + dir + ``` + + !!! warning "Do not try to run conda on directly on the subdirectory environments file. This won't work. Instead, copy or link it to the top-level directory as shown." + +6. Create the conda environment: + + ```bash + conda env update + ``` + + This will create a new environment named `invokeai` and install all InvokeAI + dependencies into it. If something goes wrong you should take a look at + [troubleshooting](#troubleshooting). + +7. Activate the `invokeai` environment: + + In order to use the newly created environment you will first need to + activate it + + ```bash + conda activate invokeai + ``` + + Your command-line prompt should change to indicate that `invokeai` is active + by prepending `(invokeai)`. + +8. Pre-Load the model weights files: + + !!! tip + + If you have already downloaded the weights file(s) for another Stable + Diffusion distribution, you may skip this step (by selecting "skip" when + prompted) and configure InvokeAI to use the previously-downloaded files. The + process for this is described in [here](INSTALLING_MODELS.md). + + ```bash + python scripts/preload_models.py + ``` + + The script `preload_models.py` will interactively guide you through the + process of downloading and installing the weights files needed for InvokeAI. + Note that the main Stable Diffusion weights file is protected by a license + agreement that you have to agree to. The script will list the steps you need + to take to create an account on the site that hosts the weights files, + accept the agreement, and provide an access token that allows InvokeAI to + legally download and install the weights files. + + If you get an error message about a module not being installed, check that + the `invokeai` environment is active and if not, repeat step 5. + +9. Run the command-line- or the web- interface: + + !!! example "" + + !!! warning "Make sure that the conda environment is activated, which should create `(invokeai)` in front of your prompt!" + + === "CLI" + + ```bash + python scripts/invoke.py + ``` + + === "local Webserver" + + ```bash + python scripts/invoke.py --web + ``` + + === "Public Webserver" + + ```bash + python scripts/invoke.py --web --host 0.0.0.0 + ``` + + If you choose the run the web interface, point your browser at + http://localhost:9090 in order to load the GUI. + +10. Render away! + + Browse the [features](../features/CLI.md) section to learn about all the things you + can do with InvokeAI. + + Note that some GPUs are slow to warm up. In particular, when using an AMD + card with the ROCm driver, you may have to wait for over a minute the first + time you try to generate an image. Fortunately, after the warm up period + rendering will be fast. + +11. Subsequently, to relaunch the script, be sure to run "conda activate + invokeai", enter the `InvokeAI` directory, and then launch the invoke + script. If you forget to activate the 'invokeai' environment, the script + will fail with multiple `ModuleNotFound` errors. + +## Updating to newer versions of the script + +This distribution is changing rapidly. If you used the `git clone` method +(step 5) to download the InvokeAI directory, then to update to the latest and +greatest version, launch the Anaconda window, enter `InvokeAI` and type: + +```bash +git pull +conda env update +python scripts/preload_models.py --no-interactive #optional +``` + +This will bring your local copy into sync with the remote one. The last step may +be needed to take advantage of new features or released models. The +`--no-interactive` flag will prevent the script from prompting you to download +the big Stable Diffusion weights files. + +## pip Install + +To install InvokeAI with only the PIP package manager, please follow these +steps: + +1. Make sure you are using Python 3.9 or higher. The rest of the install + procedure depends on this: + + ```bash + python -V + ``` + +2. Install the `virtualenv` tool if you don't have it already: + + ```bash + pip install virtualenv + ``` + +3. From within the InvokeAI top-level directory, create and activate a virtual + environment named `invokeai`: + + ```bash + virtualenv invokeai + source invokeai/bin/activate + ``` + +4. Pick the correct `requirements*.txt` file for your hardware and operating + system. + + We have created a series of environment files suited for different operating + systems and GPU hardware. They are located in the + `environments-and-requirements` directory: + +
+ + | filename | OS | + | :---------------------------------: | :-------------------------------------------------------------: | + | requirements-lin-amd.txt | Linux with an AMD (ROCm) GPU | + | requirements-lin-arm64.txt | Linux running on arm64 systems | + | requirements-lin-cuda.txt | Linux with an NVIDIA (CUDA) GPU | + | requirements-mac-mps-cpu.txt | Macintoshes with MPS acceleration | + | requirements-lin-win-colab-cuda.txt | Windows with an NVIDA (CUDA) GPU
(supports Google Colab too) | + +
+ + Select the appropriate requirements file, and make a link to it from + `requirements.txt` in the top-level InvokeAI directory. The command to do + this from the top-level directory is: + + !!! example "" + + === "Macintosh and Linux" + + !!! info "Replace `xxx` and `yyy` with the appropriate OS and GPU codes." + + ```bash + ln -sf environments-and-requirements/requirements-xxx-yyy.txt requirements.txt + ``` + + === "Windows" + + !!! info "on Windows, admin privileges are required to make links, so we use the copy command instead" + + ```cmd + copy environments-and-requirements\requirements-lin-win-colab-cuda.txt requirements.txt + ``` + + !!! warning + + Please do not link or copy `environments-and-requirements/requirements-base.txt`. + This is a base requirements file that does not have the platform-specific + libraries. Also, be sure to link or copy the platform-specific file to + a top-level file named `requirements.txt` as shown here. Running pip on + a requirements file in a subdirectory will not work as expected. + + When this is done, confirm that a file named `requirements.txt` has been + created in the InvokeAI root directory and that it points to the correct + file in `environments-and-requirements`. + +5. Run PIP + + Be sure that the `invokeai` environment is active before doing this: + + ```bash + pip install --prefer-binary -r requirements.txt + ``` + +--- + +## Troubleshooting + +Here are some common issues and their suggested solutions. + +### Conda + +#### Conda fails before completing `conda update` + +The usual source of these errors is a package incompatibility. While we have +tried to minimize these, over time packages get updated and sometimes introduce +incompatibilities. + +We suggest that you search +[Issues](https://github.com/invoke-ai/InvokeAI/issues) or the "bugs-and-support" +channel of the [InvokeAI Discord](https://discord.gg/ZmtBAhwWhy). + +You may also try to install the broken packages manually using PIP. To do this, +activate the `invokeai` environment, and run `pip install` with the name and +version of the package that is causing the incompatibility. For example: + +```bash +pip install test-tube==0.7.5 +``` + +You can keep doing this until all requirements are satisfied and the `invoke.py` +script runs without errors. Please report to +[Issues](https://github.com/invoke-ai/InvokeAI/issues) what you were able to do +to work around the problem so that others can benefit from your investigation. + +#### `preload_models.py` or `invoke.py` crashes at an early stage + +This is usually due to an incomplete or corrupted Conda install. Make sure you +have linked to the correct environment file and run `conda update` again. + +If the problem persists, a more extreme measure is to clear Conda's caches and +remove the `invokeai` environment: + +```bash +conda deactivate +conda env remove -n invokeai +conda clean -a +conda update +``` + +This removes all cached library files, including ones that may have been +corrupted somehow. (This is not supposed to happen, but does anyway). + +#### `invoke.py` crashes at a later stage + +If the CLI or web site had been working ok, but something unexpected happens +later on during the session, you've encountered a code bug that is probably +unrelated to an install issue. Please search +[Issues](https://github.com/invoke-ai/InvokeAI/issues), file a bug report, or +ask for help on [Discord](https://discord.gg/ZmtBAhwWhy) + +#### My renders are running very slowly + +You may have installed the wrong torch (machine learning) package, and the +system is running on CPU rather than the GPU. To check, look at the log messages +that appear when `invoke.py` is first starting up. One of the earlier lines +should say `Using device type cuda`. On AMD systems, it will also say "cuda", +and on Macintoshes, it should say "mps". If instead the message says it is +running on "cpu", then you may need to install the correct torch library. + +You may be able to fix this by installing a different torch library. Here are +the magic incantations for Conda and PIP. + +!!! todo "For CUDA systems" + + - conda + + ```bash + conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia + ``` + + - pip + + ```bash + pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116 + ``` + +!!! todo "For AMD systems" + + - conda + + ```bash + conda activate invokeai + pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/rocm5.2/ + ``` + + - pip + + ```bash + pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/rocm5.2/ + ``` + +More information and troubleshooting tips can be found at https://pytorch.org. diff --git a/docs/installation/INSTALL_PCP.md b/docs/installation/INSTALL_PCP.md new file mode 100644 index 0000000000..e321237e1c --- /dev/null +++ b/docs/installation/INSTALL_PCP.md @@ -0,0 +1,17 @@ +--- +title: Installing InvokeAI with the Pre-Compiled PIP Installer +--- + +# THIS NEEDS TO BE FLESHED OUT + +## Introduction + +## Walkthrough + +## Updating to newer versions + +### Updating the stable version + +### Updating to the development version + +## Troubleshooting \ No newline at end of file diff --git a/docs/installation/INSTALL_SOURCE.md b/docs/installation/INSTALL_SOURCE.md new file mode 100644 index 0000000000..e86fccde8b --- /dev/null +++ b/docs/installation/INSTALL_SOURCE.md @@ -0,0 +1,156 @@ +--- +title: Source Installer +--- + +# The InvokeAI Source Installer + +## Introduction + +The source installer is a shell script that attempts to automate every step +needed to install and run InvokeAI on a stock computer running recent versions +of Linux, MacOS or Windows. It will leave you with a version that runs a stable +version of InvokeAI with the option to upgrade to experimental versions later. +It is not as foolproof as the [InvokeAI installer](INSTALL_INVOKE.md) + +Before you begin, make sure that you meet the +[hardware requirements](index.md#Hardware_Requirements) and has the appropriate +GPU drivers installed. In particular, if you are a Linux user with an AMD GPU +installed, you may need to install the +[ROCm driver](https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html). + +Installation requires roughly 18G of free disk space to load the libraries and +recommended model weights files. + +## Walk through + +Though there are multiple steps, there really is only one click involved to kick +off the process. + +1. The source installer is distributed in ZIP files. Go to the + [latest release](https://github.com/invoke-ai/InvokeAI/releases/latest), and + look for a series of files named: + + - invokeAI-src-installer-mac.zip + - invokeAI-src-installer-windows.zip + - invokeAI-src-installer-linux.zip + + Download the one that is appropriate for your operating system. + +2. Unpack the zip file into a directory that has at least 18G of free space. Do + _not_ unpack into a directory that has an earlier version of InvokeAI. + + This will create a new directory named "InvokeAI". This example shows how + this would look using the `unzip` command-line tool, but you may use any + graphical or command-line Zip extractor: + + ```cmd + C:\Documents\Linco> unzip invokeAI-windows.zip + Archive: C: \Linco\Downloads\invokeAI-linux.zip + creating: invokeAI\ + inflating: invokeAI\install.bat + inflating: invokeAI\readme.txt + ``` + +3. If you are using a desktop GUI, double-click the installer file. It will be + named `install.bat` on Windows systems and `install.sh` on Linux and + Macintosh systems. + +4. Alternatively, form the command line, run the shell script or .bat file: + + ```cmd + C:\Documents\Linco> cd invokeAI + C:\Documents\Linco\invokeAI> install.bat + ``` + +5. Sit back and let the install script work. It will install various binary + requirements including Conda, Git and Python, then download the current + InvokeAI code and install it along with its dependencies. + +6. After installation completes, the installer will launch a script called + `preload_models.py`, which will guide you through the first-time process of + selecting one or more Stable Diffusion model weights files, downloading and + configuring them. + + Note that the main Stable Diffusion weights file is protected by a license + agreement that you must agree to in order to use. The script will list the + steps you need to take to create an account on the official site that hosts + the weights files, accept the agreement, and provide an access token that + allows InvokeAI to legally download and install the weights files. + + If you have already downloaded the weights file(s) for another Stable + Diffusion distribution, you may skip this step (by selecting "skip" when + prompted) and configure InvokeAI to use the previously-downloaded files. The + process for this is described in [Installing Models](INSTALLING_MODELS.md). + +7. The script will now exit and you'll be ready to generate some images. The + invokeAI directory will contain numerous files. Look for a shell script + named `invoke.sh` (Linux/Mac) or `invoke.bat` (Windows). Launch the script + by double-clicking it or typing its name at the command-line: + + ```cmd + C:\Documents\Linco> cd invokeAI + C:\Documents\Linco\invokeAI> invoke.bat + ``` + +The `invoke.bat` (`invoke.sh`) script will give you the choice of starting (1) +the command-line interface, or (2) the web GUI. If you start the latter, you can +load the user interface by pointing your browser at http://localhost:9090. + +The `invoke` script also offers you a third option labeled "open the developer +console". If you choose this option, you will be dropped into a command-line +interface in which you can run python commands directly, access developer tools, +and launch InvokeAI with customized options. To do the latter, you would launch +the script `scripts/invoke.py` as shown in this example: + +```cmd +python scripts/invoke.py --web --max_load_models=3 \ + --model=waifu-1.3 --steps=30 --outdir=C:/Documents/AIPhotos +``` + +These options are described in detail in the +[Command-Line Interface](../features/CLI.md) documentation. + +## Updating to newer versions + +This section describes how to update InvokeAI to new versions of the software. + +### Updating the stable version + +This distribution is changing rapidly, and we add new features on a daily basis. +To update to the latest released version (recommended), run the `update.sh` +(Linux/Mac) or `update.bat` (Windows) scripts. This will fetch the latest +release and re-run the `preload_models` script to download any updated models +files that may be needed. You can also use this to add additional models that +you did not select at installation time. + +### Updating to the development version + +There may be times that there is a feature in the `development` branch of +InvokeAI that you'd like to take advantage of. Or perhaps there is a branch that +corrects an annoying bug. To do this, you will use the developer's console. + +From within the invokeAI directory, run the command `invoke.sh` (Linux/Mac) or +`invoke.bat` (Windows) and selection option (3) to open the developers console. +Then run the following command to get the `development branch`: + +```bash +git checkout development +git pull +conda env update +``` + +You can now close the developer console and run `invoke` as before. If you get +complaints about missing models, then you may need to do the additional step of +running `preload_models.py`. This happens relatively infrequently. To do this, +simply open up the developer's console again and type +`python scripts/preload_models.py`. + +## Troubleshooting + +If you run into problems during or after installation, the InvokeAI team is +available to help you. Either create an +[Issue](https://github.com/invoke-ai/InvokeAI/issues) at our GitHub site, or +make a request for help on the "bugs-and-support" channel of our +[Discord server](https://discord.gg/ZmtBAhwWhy). We are a 100% volunteer +organization, but typically somebody will be available to help you within 24 +hours, and often much sooner. diff --git a/docs/installation/index.md b/docs/installation/index.md new file mode 100644 index 0000000000..2ede7061de --- /dev/null +++ b/docs/installation/index.md @@ -0,0 +1,59 @@ +--- +title: Overview +--- + +We offer several ways to install InvokeAI, each one suited to your +experience and preferences. + +1. [InvokeAI installer](INSTALL_INVOKE.md) + + This is a installer script that installs InvokeAI and all the + third party libraries it depends on. When a new version of + InvokeAI is released, you will download and reinstall the new + version. + + This installer is designed for people who want the system to "just + work", don't have an interest in tinkering with it, and do not + care about upgrading to unreleased experimental features. + + *Note that this script has difficulty on some Macintosh machines + that have previously been used for Python development due to + conflicting development tools versions. Mac developers may wish + to try method (2) or one of the manual methods instead. + +2. [Source code installer](INSTALL_SOURCE.md) + + This is a script that will install InvokeAI and all its essential + third party libraries. In contrast to the previous installer, it + includes access to a "developer console" which will allow you to + access experimental features on the development branch. + + This method is recommended for individuals who are wish to stay + on the cutting edge of InvokeAI development and are not afraid + of occasional breakage. + +3. [Manual Installation](INSTALL_MANUAL.md) + + In this method you will manually run the commands needed to install + InvokeAI and its dependencies. We offer two recipes: one suited to + those who prefer the `conda` tool, and one suited to those who prefer + `pip` and Python virtual environments. + + This method is recommended for users who have previously used `conda` + or `pip` in the past, developers, and anyone who wishes to remain on + the cutting edge of future InvokeAI development and is willing to put + up with occasional glitches and breakage. + +4. [Docker Installation](INSTALL_DOCKER.md) + + We also offer a method for creating Docker containers containing + InvokeAI and its dependencies. This method is recommended for + individuals with experience with Docker containers and understand + the pluses and minuses of a container-based install. + +5. [Jupyter Notebooks Installation](INSTALL_JUPYTER.md) + + This method is suitable for running InvokeAI on a Google Colab + account. It is recommended for individuals who have previously + worked on the Colab and are comfortable with the Jupyter notebook + environment. diff --git a/docs/installation/INSTALL_LINUX.md b/docs/installation/older_docs_to_be_removed/INSTALL_LINUX.md similarity index 83% rename from docs/installation/INSTALL_LINUX.md rename to docs/installation/older_docs_to_be_removed/INSTALL_LINUX.md index 0bbfd8cda0..684bccb153 100644 --- a/docs/installation/INSTALL_LINUX.md +++ b/docs/installation/older_docs_to_be_removed/INSTALL_LINUX.md @@ -42,14 +42,25 @@ title: Manual Installation, Linux ``` 5. Use anaconda to copy necessary python packages, create a new python - environment named `invokeai` and activate the environment. + environment named `invokeai` and then activate the environment. - ```bash - (base) rm -rf src # (this is a precaution in case there is already a src directory) - (base) ~/InvokeAI$ conda env create - (base) ~/InvokeAI$ conda activate invokeai - (invokeai) ~/InvokeAI$ - ``` + !!! todo "For systems with a CUDA (Nvidia) card:" + + ```bash + (base) rm -rf src # (this is a precaution in case there is already a src directory) + (base) ~/InvokeAI$ conda env create -f environment-cuda.yml + (base) ~/InvokeAI$ conda activate invokeai + (invokeai) ~/InvokeAI$ + ``` + + !!! todo "For systems with an AMD card (using ROCm driver):" + + ```bash + (base) rm -rf src # (this is a precaution in case there is already a src directory) + (base) ~/InvokeAI$ conda env create -f environment-AMD.yml + (base) ~/InvokeAI$ conda activate invokeai + (invokeai) ~/InvokeAI$ + ``` After these steps, your command prompt will be prefixed by `(invokeai)` as shown above. diff --git a/docs/installation/INSTALL_MAC.md b/docs/installation/older_docs_to_be_removed/INSTALL_MAC.md similarity index 100% rename from docs/installation/INSTALL_MAC.md rename to docs/installation/older_docs_to_be_removed/INSTALL_MAC.md diff --git a/docs/installation/INSTALL_WINDOWS.md b/docs/installation/older_docs_to_be_removed/INSTALL_WINDOWS.md similarity index 82% rename from docs/installation/INSTALL_WINDOWS.md rename to docs/installation/older_docs_to_be_removed/INSTALL_WINDOWS.md index bab02cd261..22d7a5dee2 100644 --- a/docs/installation/INSTALL_WINDOWS.md +++ b/docs/installation/older_docs_to_be_removed/INSTALL_WINDOWS.md @@ -13,22 +13,9 @@ one of the steps, so instead of cloning this repo, simply download the notebook from the link above and load it up in VSCode (with the appropriate extensions installed)/Jupyter/JupyterLab and start running the cells one-by-one. -Note that you will need NVIDIA drivers, Python 3.10, and Git installed -beforehand - simplified -[step-by-step instructions](https://github.com/invoke-ai/InvokeAI/wiki/Easy-peasy-Windows-install) -are available in the wiki (you'll only need steps 1, 2, & 3 ). +Note that you will need NVIDIA drivers, Python 3.10, and Git installed beforehand. -## **Manual Install** - -### **pip** - -See -[Easy-peasy Windows install](https://github.com/invoke-ai/InvokeAI/wiki/Easy-peasy-Windows-install) -in the wiki - ---- - -### **Conda** +## **Manual Install with Conda** 1. Install Anaconda3 (miniconda3 version) from [here](https://docs.anaconda.com/anaconda/install/windows/) @@ -52,23 +39,29 @@ in the wiki cd InvokeAI ``` -6. Run the following two commands: +6. Run the following commands: - ```batch title="step 6a" - conda env create - ``` + !!! todo "For systems with a CUDA (Nvidia) card:" - ```batch title="step 6b" - conda activate invokeai - ``` + ```bash + rmdir src # (this is a precaution in case there is already a src directory) + conda env create -f environment-cuda.yml + conda activate invokeai + (invokeai)> + ``` + + !!! todo "For systems with an AMD card (using ROCm driver):" + + ```bash + rmdir src # (this is a precaution in case there is already a src directory) + conda env create -f environment-AMD.yml + conda activate invokeai + (invokeai)> + ``` This will install all python requirements and activate the "invokeai" environment which sets PATH and other environment variables properly. - Note that the long form of the first command is `conda env create -f environment.yml`. If the - environment file isn't specified, conda will default to `environment.yml`. You will need - to provide the `-f` option if you wish to load a different environment file at any point. - 7. Load the big stable diffusion weights files and a couple of smaller machine-learning models: ```bash diff --git a/docs/other/CONTRIBUTORS.md b/docs/other/CONTRIBUTORS.md index e016685405..247c1c70a0 100644 --- a/docs/other/CONTRIBUTORS.md +++ b/docs/other/CONTRIBUTORS.md @@ -9,11 +9,11 @@ experience in this fork. We thank them for all of their time and hard work. -## **Original Author:** +## **Original Author** - [Lincoln D. Stein](mailto:lincoln.stein@gmail.com) -## **Contributions by:** +## **Contributions by** - [Sean McLellan](https://github.com/Oceanswave) - [Kevin Gibbons](https://github.com/bakkot) @@ -62,7 +62,7 @@ We thank them for all of their time and hard work. - [psychedelicious](https://github.com/psychedelicious) - [damian0815](https://github.com/damian0815) -## **Original CompVis Authors:** +## **Original CompVis Authors** - [Robin Rombach](https://github.com/rromb) - [Patrick von Platen](https://github.com/patrickvonplaten) diff --git a/environment-mac.yml b/environment-mac.yml deleted file mode 100644 index e0db02c3b9..0000000000 --- a/environment-mac.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: invokeai -channels: - - pytorch - - conda-forge -dependencies: - - python=3.9.13 - - pip=22.2.2 - - - pytorch=1.12.1 - - torchvision=0.13.1 - - # I suggest to keep the other deps sorted for convenience. - # To determine what the latest versions should be, run: - # - # ```shell - # sed -E 's/invokeai/invokeai-updated/;20,99s/- ([^=]+)==.+/- \1/' environment-mac.yml > environment-mac-updated.yml - # CONDA_SUBDIR=osx-arm64 conda env create -f environment-mac-updated.yml && conda list -n invokeai-updated | awk ' {print " - " $1 "==" $2;} ' - # ``` - - - albumentations=1.2.1 - - coloredlogs=15.0.1 - - diffusers=0.6.0 - - einops=0.4.1 - - grpcio=1.46.4 - - humanfriendly=10.0 - - imageio=2.21.2 - - imageio-ffmpeg=0.4.7 - - imgaug=0.4.0 - - kornia=0.6.7 - - mpmath=1.2.1 - - nomkl # arm64 has only 1.0 while x64 needs 3.0 - - numpy=1.23.4 - - omegaconf=2.1.1 - - openh264=2.3.0 - - onnx=1.12.0 - - onnxruntime=1.12.1 - - pudb=2022.1 - - pytorch-lightning=1.7.7 - - scipy=1.9.3 - - streamlit=1.12.2 - - sympy=1.10.1 - - tensorboard=2.10.0 - - torchmetrics=0.10.1 - - py-opencv=4.6.0 - - flask=2.1.3 - - flask-socketio=5.3.0 - - flask-cors=3.0.10 - - eventlet=0.33.1 - - protobuf=3.20.1 - - send2trash=1.8.0 - - transformers=4.23.1 - - torch-fidelity=0.3.0 - - pip: - - getpass_asterisk - - dependency_injector==4.40.0 - - realesrgan==0.2.5.0 - - test-tube==0.7.5 - - -e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers - - -e git+https://github.com/openai/CLIP.git@main#egg=clip - - -e git+https://github.com/Birch-san/k-diffusion.git@mps#egg=k_diffusion - - -e git+https://github.com/TencentARC/GFPGAN.git#egg=gfpgan - - -e git+https://github.com/invoke-ai/clipseg.git@models-rename#egg=clipseg - - -e . -variables: - PYTORCH_ENABLE_MPS_FALLBACK: 1 diff --git a/environment-linux-aarch64.yml b/environments-and-requirements/environment-lin-aarch64.yml similarity index 59% rename from environment-linux-aarch64.yml rename to environments-and-requirements/environment-lin-aarch64.yml index 6e9d2cbf06..6ec83b1b0a 100644 --- a/environment-linux-aarch64.yml +++ b/environments-and-requirements/environment-lin-aarch64.yml @@ -3,43 +3,43 @@ channels: - pytorch - conda-forge dependencies: - - python>=3.9 - - pip>=20.3 + - albumentations=0.4.3 - cudatoolkit - - pytorch - - torchvision - - numpy=1.19 - - imageio=2.9.0 - - opencv=4.6.0 - - getpass_asterisk - - pillow=8.* + - einops=0.3.0 + - eventlet + - flask-socketio=5.3.0 - flask=2.1.* - flask_cors=3.0.10 - - flask-socketio=5.3.0 - - send2trash=1.8.0 - - eventlet - - albumentations=0.4.3 - - pudb=2019.2 - imageio-ffmpeg=0.4.2 - - pytorch-lightning=1.7.7 - - streamlit - - einops=0.3.0 + - imageio=2.9.0 - kornia=0.6 - - torchmetrics=0.7.0 - - transformers=4.21.3 - - torch-fidelity=0.3.0 + - numpy=1.19 + - opencv=4.6.0 + - pillow=8.* + - pip>=22.2.2 + - pudb=2019.2 + - python=3.9.* + - pytorch + - pytorch-lightning=1.7.7 + - send2trash=1.8.0 + - streamlit - tokenizers>=0.11.1,!=0.11.3,<0.13 + - torch-fidelity=0.3.0 + - torchmetrics=0.7.0 + - torchvision + - transformers=4.21.3 - pip: - - omegaconf==2.1.1 - - realesrgan==0.2.5.0 - - test-tube>=0.7.5 - - pyreadline3 - dependency_injector==4.40.0 - - -e git+https://github.com/openai/CLIP.git@main#egg=clip - - -e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers - - -e git+https://github.com/Birch-san/k-diffusion.git@mps#egg=k_diffusion - - -e git+https://github.com/TencentARC/GFPGAN.git#egg=gfpgan - - -e git+https://github.com/invoke-ai/clipseg.git@models-rename#egg=clipseg + - getpass_asterisk + - gfpgan + - omegaconf==2.1.1 + - pyreadline3 + - realesrgan + - taming-transformers-rom1504 + - test-tube>=0.7.5 + - git+https://github.com/openai/CLIP.git@main#egg=clip + - git+https://github.com/Birch-san/k-diffusion.git@mps#egg=k_diffusion + - git+https://github.com/invoke-ai/clipseg.git@relaxed-python-requirement#egg=clipseg - -e . variables: PYTORCH_ENABLE_MPS_FALLBACK: 1 diff --git a/environments-and-requirements/environment-lin-amd.yml b/environments-and-requirements/environment-lin-amd.yml new file mode 100644 index 0000000000..53118330ec --- /dev/null +++ b/environments-and-requirements/environment-lin-amd.yml @@ -0,0 +1,45 @@ +name: invokeai +channels: + - pytorch + - conda-forge + - defaults +dependencies: + - python>=3.9 + - pip=22.2.2 + - numpy=1.23.3 + - pip: + - --extra-index-url https://download.pytorch.org/whl/rocm5.2/ + - albumentations==0.4.3 + - dependency_injector==4.40.0 + - diffusers==0.6.0 + - einops==0.3.0 + - eventlet + - flask==2.1.3 + - flask_cors==3.0.10 + - flask_socketio==5.3.0 + - getpass_asterisk + - gfpgan + - imageio-ffmpeg==0.4.2 + - imageio==2.9.0 + - kornia==0.6.0 + - omegaconf==2.2.3 + - opencv-python==4.5.5.64 + - pillow==9.2.0 + - pudb==2019.2 + - pyreadline3 + - pytorch-lightning==1.7.7 + - realesrgan + - send2trash==1.8.0 + - streamlit==1.12.0 + - taming-transformers-rom1504 + - test-tube>=0.7.5 + - torch + - torch-fidelity==0.3.0 + - torchaudio + - torchmetrics==0.7.0 + - torchvision + - transformers==4.21.3 + - git+https://github.com/openai/CLIP.git@main#egg=clip + - git+https://github.com/Birch-san/k-diffusion.git@mps#egg=k_diffusion + - git+https://github.com/invoke-ai/clipseg.git@relaxed-python-requirement#egg=clipseg + - -e . diff --git a/environment.yml b/environments-and-requirements/environment-lin-cuda.yml similarity index 64% rename from environment.yml rename to environments-and-requirements/environment-lin-cuda.yml index fc648e8262..a75711cfe8 100644 --- a/environment.yml +++ b/environments-and-requirements/environment-lin-cuda.yml @@ -13,33 +13,33 @@ dependencies: - cudatoolkit=11.6 - pip: - albumentations==0.4.3 - - opencv-python==4.5.5.64 - - pudb==2019.2 - - imageio==2.9.0 - - imageio-ffmpeg==0.4.2 - - pytorch-lightning==1.7.7 - - omegaconf==2.2.3 - - test-tube>=0.7.5 - - streamlit==1.12.0 - - send2trash==1.8.0 - - pillow==9.2.0 - - einops==0.3.0 - - pyreadline3 - - torch-fidelity==0.3.0 - - transformers==4.21.3 - - diffusers==0.6.0 - - torchmetrics==0.7.0 - - flask==2.1.3 - - flask_socketio==5.3.0 - - flask_cors==3.0.10 - dependency_injector==4.40.0 + - diffusers==0.6.0 + - einops==0.3.0 - eventlet + - flask==2.1.3 + - flask_cors==3.0.10 + - flask_socketio==5.3.0 - getpass_asterisk + - gfpgan + - imageio-ffmpeg==0.4.2 + - imageio==2.9.0 - kornia==0.6.0 - - -e git+https://github.com/openai/CLIP.git@main#egg=clip - - -e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers - - -e git+https://github.com/Birch-san/k-diffusion.git@mps#egg=k_diffusion - - -e git+https://github.com/invoke-ai/Real-ESRGAN.git#egg=realesrgan - - -e git+https://github.com/invoke-ai/GFPGAN.git#egg=gfpgan - - -e git+https://github.com/invoke-ai/clipseg.git@models-rename#egg=clipseg + - omegaconf==2.2.3 + - opencv-python==4.5.5.64 + - pillow==9.2.0 + - pudb==2019.2 + - pyreadline3 + - pytorch-lightning==1.7.7 + - realesrgan + - send2trash==1.8.0 + - streamlit==1.12.0 + - taming-transformers-rom1504 + - test-tube>=0.7.5 + - torch-fidelity==0.3.0 + - torchmetrics==0.7.0 + - transformers==4.21.3 + - git+https://github.com/openai/CLIP.git@main#egg=clip + - git+https://github.com/Birch-san/k-diffusion.git@mps#egg=k_diffusion + - git+https://github.com/invoke-ai/clipseg.git@relaxed-python-requirement#egg=clipseg - -e . diff --git a/environments-and-requirements/environment-mac.yml b/environments-and-requirements/environment-mac.yml new file mode 100644 index 0000000000..1ff49ec585 --- /dev/null +++ b/environments-and-requirements/environment-mac.yml @@ -0,0 +1,64 @@ +name: invokeai +channels: + - pytorch + - conda-forge + - defaults +dependencies: + - python=3.10 + - pip>=22.2 + - pytorch=1.12 + - pytorch-lightning=1.7 + - torchvision=0.13 + - torchmetrics=0.10 + - torch-fidelity=0.3 + + # I suggest to keep the other deps sorted for convenience. + # To determine what the latest versions should be, run: + # + # ```shell + # sed -E 's/invokeai/invokeai-updated/;20,99s/- ([^=]+)==.+/- \1/' environment-mac.yml > environment-mac-updated.yml + # CONDA_SUBDIR=osx-arm64 conda env create -f environment-mac-updated.yml && conda list -n invokeai-updated | awk ' {print " - " $1 "==" $2;} ' + # ``` + + - albumentations=1.2 + - coloredlogs=15.0 + - diffusers=0.6 + - einops=0.3 + - eventlet + - grpcio=1.46 + - flask=2.1 + - flask-socketio=5.3 + - flask-cors=3.0 + - humanfriendly=10.0 + - imageio=2.21 + - imageio-ffmpeg=0.4 + - imgaug=0.4 + - kornia=0.6 + - mpmath=1.2 + - nomkl=3 + - numpy=1.23 + - omegaconf=2.1 + - openh264=2.3 + - onnx=1.12 + - onnxruntime=1.12 + - pudb=2019.2 + - protobuf=3.20 + - py-opencv=4.6 + - scipy=1.9 + - streamlit=1.12 + - sympy=1.10 + - send2trash=1.8 + - tensorboard=2.10 + - transformers=4.23 + - pip: + - getpass_asterisk + - taming-transformers-rom1504 + - test-tube==0.7.5 + - git+https://github.com/openai/CLIP.git@main#egg=clip + - git+https://github.com/invoke-ai/k-diffusion.git@mps#egg=k_diffusion + - git+https://github.com/invoke-ai/Real-ESRGAN.git#egg=realesrgan + - git+https://github.com/invoke-ai/GFPGAN.git#egg=gfpgan + - git+https://github.com/invoke-ai/clipseg.git@relaxed-python-requirement#egg=clipseg + - -e . +variables: + PYTORCH_ENABLE_MPS_FALLBACK: 1 diff --git a/environments-and-requirements/environment-win-cuda.yml b/environments-and-requirements/environment-win-cuda.yml new file mode 100644 index 0000000000..b2a919882b --- /dev/null +++ b/environments-and-requirements/environment-win-cuda.yml @@ -0,0 +1,46 @@ +name: invokeai +channels: + - pytorch + - conda-forge + - defaults +dependencies: + - python>=3.9 + - pip=22.2.2 + - numpy=1.23.3 + - torchvision=0.13.1 + - torchaudio=0.12.1 + - pytorch=1.12.1 + - cudatoolkit=11.6 + - pip: + - albumentations==0.4.3 + - basicsr==1.4.1 + - dependency_injector==4.40.0 + - diffusers==0.6.0 + - einops==0.3.0 + - eventlet + - flask==2.1.3 + - flask_cors==3.0.10 + - flask_socketio==5.3.0 + - getpass_asterisk + - gfpgan + - imageio-ffmpeg==0.4.2 + - imageio==2.9.0 + - kornia==0.6.0 + - omegaconf==2.2.3 + - opencv-python==4.5.5.64 + - pillow==9.2.0 + - pudb==2019.2 + - pyreadline3 + - pytorch-lightning==1.7.7 + - realesrgan + - send2trash==1.8.0 + - streamlit==1.12.0 + - taming-transformers-rom1504 + - test-tube>=0.7.5 + - torch-fidelity==0.3.0 + - torchmetrics==0.7.0 + - transformers==4.21.3 + - git+https://github.com/openai/CLIP.git@main#egg=clip + - git+https://github.com/Birch-san/k-diffusion.git@mps#egg=k_diffusion + - git+https://github.com/invoke-ai/clipseg.git@relaxed-python-requirement#egg=clipseg + - -e . diff --git a/requirements.txt b/environments-and-requirements/requirements-base.txt similarity index 67% rename from requirements.txt rename to environments-and-requirements/requirements-base.txt index 939463e36e..5ae2c75f0b 100644 --- a/requirements.txt +++ b/environments-and-requirements/requirements-base.txt @@ -1,41 +1,36 @@ ---prefer-binary - -albumentations -einops -getpass_asterisk -huggingface-hub -imageio-ffmpeg -imageio -kornia # pip will resolve the version which matches torch +albumentations +dependency_injector==4.40.0 +diffusers +einops +eventlet +flask==2.1.3 +flask_cors==3.0.10 +flask_socketio==5.3.0 +flaskwebgui==0.3.7 +getpass_asterisk +gfpgan +huggingface-hub +imageio +imageio-ffmpeg +kornia numpy omegaconf opencv-python pillow pip>=22 pudb -pytorch-lightning==1.7.7 -scikit-image>=0.19 -streamlit pyreadline3 -# "CompVis/taming-transformers" IS NOT INSTALLABLE -# This is a drop-in replacement +pytorch-lightning==1.7.7 +realesrgan +scikit-image>=0.19 +send2trash +streamlit taming-transformers-rom1504 test-tube torch-fidelity torchmetrics transformers==4.21.* -flask==2.1.3 -flask_socketio==5.3.0 -flask_cors==3.0.10 -flaskwebgui==0.3.7 -send2trash -dependency_injector==4.40.0 -eventlet -realesrgan -diffusers git+https://github.com/openai/CLIP.git@main#egg=clip git+https://github.com/Birch-san/k-diffusion.git@mps#egg=k-diffusion -git+https://github.com/invoke-ai/Real-ESRGAN.git#egg=realesrgan -git+https://github.com/invoke-ai/GFPGAN.git#egg=gfpgan --e git+https://github.com/invoke-ai/clipseg.git@models-rename#egg=clipseg +git+https://github.com/invoke-ai/clipseg.git@relaxed-python-requirement#egg=clipseg diff --git a/requirements-lin-AMD.txt b/environments-and-requirements/requirements-lin-amd.txt similarity index 76% rename from requirements-lin-AMD.txt rename to environments-and-requirements/requirements-lin-amd.txt index d12996b45a..8ca0ead88c 100644 --- a/requirements-lin-AMD.txt +++ b/environments-and-requirements/requirements-lin-amd.txt @@ -1,4 +1,4 @@ --r requirements.txt +-r environments-and-requirements/requirements-base.txt # Get hardware-appropriate torch/torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.1.1 --trusted-host https://download.pytorch.org diff --git a/environments-and-requirements/requirements-lin-arm64.txt b/environments-and-requirements/requirements-lin-arm64.txt new file mode 100644 index 0000000000..304432e4c7 --- /dev/null +++ b/environments-and-requirements/requirements-lin-arm64.txt @@ -0,0 +1,3 @@ +--pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu +-r environments-and-requirements/requirements-base.txt +-e . diff --git a/environments-and-requirements/requirements-lin-cuda.txt b/environments-and-requirements/requirements-lin-cuda.txt new file mode 100644 index 0000000000..1578c60334 --- /dev/null +++ b/environments-and-requirements/requirements-lin-cuda.txt @@ -0,0 +1,2 @@ +-r environments-and-requirements/requirements-base.txt +-e . diff --git a/requirements-mac-MPS-CPU.txt b/environments-and-requirements/requirements-mac-mps-cpu.txt similarity index 50% rename from requirements-mac-MPS-CPU.txt rename to environments-and-requirements/requirements-mac-mps-cpu.txt index 190417aaa0..05c7d9a77c 100644 --- a/requirements-mac-MPS-CPU.txt +++ b/environments-and-requirements/requirements-mac-mps-cpu.txt @@ -1,4 +1,4 @@ --r requirements.txt +-r environments-and-requirements/requirements-base.txt protobuf==3.19.6 torch<1.13.0 diff --git a/requirements-lin-win-colab-CUDA.txt b/environments-and-requirements/requirements-win-colab-cuda.txt similarity index 72% rename from requirements-lin-win-colab-CUDA.txt rename to environments-and-requirements/requirements-win-colab-cuda.txt index bb6a9ae9c8..b00f1487fb 100644 --- a/requirements-lin-win-colab-CUDA.txt +++ b/environments-and-requirements/requirements-win-colab-cuda.txt @@ -1,7 +1,8 @@ --r requirements.txt +-r environments-and-requirements/requirements-base.txt # Get hardware-appropriate torch/torchvision --extra-index-url https://download.pytorch.org/whl/cu116 --trusted-host https://download.pytorch.org +basicsr==1.4.1 torch==1.12.1 torchvision==0.13.1 -e . diff --git a/frontend/README.md b/frontend/README.md index f597cc6f23..4becbb221f 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -5,7 +5,7 @@ - `python scripts/dream.py --web` serves both frontend and backend at http://localhost:9090 -## Evironment +## Environment Install [node](https://nodejs.org/en/download/) (includes npm) and optionally [yarn](https://yarnpkg.com/getting-started/install). @@ -15,7 +15,7 @@ packages. ## Dev -1. From `frontend/`, run `npm dev` / `yarn dev` to start the dev server. +1. From `frontend/`, run `npm run dev` / `yarn dev` to start the dev server. 2. Run `python scripts/dream.py --web`. 3. Navigate to the dev server address e.g. `http://localhost:5173/`. diff --git a/frontend/dist/assets/index.8eb7dfe4.js b/frontend/dist/assets/index.8eb7dfe4.js new file mode 100644 index 0000000000..028ad32993 --- /dev/null +++ b/frontend/dist/assets/index.8eb7dfe4.js @@ -0,0 +1,501 @@ +function Sj(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 nu=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function GC(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var C={exports:{}},Gt={};/** + * @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 iv=Symbol.for("react.element"),wj=Symbol.for("react.portal"),Cj=Symbol.for("react.fragment"),_j=Symbol.for("react.strict_mode"),kj=Symbol.for("react.profiler"),Ej=Symbol.for("react.provider"),Pj=Symbol.for("react.context"),Tj=Symbol.for("react.forward_ref"),Lj=Symbol.for("react.suspense"),Aj=Symbol.for("react.memo"),Ij=Symbol.for("react.lazy"),ak=Symbol.iterator;function Mj(e){return e===null||typeof e!="object"?null:(e=ak&&e[ak]||e["@@iterator"],typeof e=="function"?e:null)}var mI={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},vI=Object.assign,yI={};function w0(e,t,n){this.props=e,this.context=t,this.refs=yI,this.updater=n||mI}w0.prototype.isReactComponent={};w0.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")};w0.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function xI(){}xI.prototype=w0.prototype;function jC(e,t,n){this.props=e,this.context=t,this.refs=yI,this.updater=n||mI}var qC=jC.prototype=new xI;qC.constructor=jC;vI(qC,w0.prototype);qC.isPureReactComponent=!0;var sk=Array.isArray,bI=Object.prototype.hasOwnProperty,KC={current:null},SI={key:!0,ref:!0,__self:!0,__source:!0};function wI(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)bI.call(t,r)&&!SI.hasOwnProperty(r)&&(i[r]=t[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(1>>1,me=V[X];if(0>>1;Xi(He,oe))jei(ut,He)?(V[X]=ut,V[je]=oe,X=je):(V[X]=He,V[Se]=oe,X=Se);else if(jei(ut,oe))V[X]=ut,V[je]=oe,X=je;else break e}}return ae}function i(V,ae){var oe=V.sortIndex-ae.sortIndex;return oe!==0?oe:V.id-ae.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=[],d=[],p=1,g=null,m=3,y=!1,b=!1,S=!1,E=typeof setTimeout=="function"?setTimeout:null,P=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 L(V){for(var ae=n(d);ae!==null;){if(ae.callback===null)r(d);else if(ae.startTime<=V)r(d),ae.sortIndex=ae.expirationTime,t(l,ae);else break;ae=n(d)}}function I(V){if(S=!1,L(V),!b)if(n(l)!==null)b=!0,xe(O);else{var ae=n(d);ae!==null&&Y(I,ae.startTime-V)}}function O(V,ae){b=!1,S&&(S=!1,P(F),F=-1),y=!0;var oe=m;try{for(L(ae),g=n(l);g!==null&&(!(g.expirationTime>ae)||V&&!q());){var X=g.callback;if(typeof X=="function"){g.callback=null,m=g.priorityLevel;var me=X(g.expirationTime<=ae);ae=e.unstable_now(),typeof me=="function"?g.callback=me:g===n(l)&&r(l),L(ae)}else r(l);g=n(l)}if(g!==null)var ve=!0;else{var Se=n(d);Se!==null&&Y(I,Se.startTime-ae),ve=!1}return ve}finally{g=null,m=oe,y=!1}}var N=!1,D=null,F=-1,U=5,W=-1;function q(){return!(e.unstable_now()-WV||125X?(V.sortIndex=oe,t(d,V),n(l)===null&&V===n(d)&&(S?(P(F),F=-1):S=!0,Y(I,oe-X))):(V.sortIndex=me,t(l,V),b||y||(b=!0,xe(O))),V},e.unstable_shouldYield=q,e.unstable_wrapCallback=function(V){var ae=m;return function(){var oe=m;m=ae;try{return V.apply(this,arguments)}finally{m=oe}}}})(CI);(function(e){e.exports=CI})(Ip);/** + * @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 _I=C.exports,oa=Ip.exports;function Re(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"),jS=Object.prototype.hasOwnProperty,zj=/^[: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]*$/,uk={},ck={};function Fj(e){return jS.call(ck,e)?!0:jS.call(uk,e)?!1:zj.test(e)?ck[e]=!0:(uk[e]=!0,!1)}function Bj(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 $j(e,t,n,r){if(t===null||typeof t>"u"||Bj(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 io(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 Li={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Li[e]=new io(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Li[t]=new io(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Li[e]=new io(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Li[e]=new io(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){Li[e]=new io(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Li[e]=new io(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Li[e]=new io(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Li[e]=new io(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Li[e]=new io(e,5,!1,e.toLowerCase(),null,!1,!1)});var YC=/[\-:]([a-z])/g;function XC(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(YC,XC);Li[t]=new io(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(YC,XC);Li[t]=new io(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(YC,XC);Li[t]=new io(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Li[e]=new io(e,1,!1,e.toLowerCase(),null,!1,!1)});Li.xlinkHref=new io("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Li[e]=new io(e,1,!1,e.toLowerCase(),null,!0,!0)});function QC(e,t,n,r){var i=Li.hasOwnProperty(t)?Li[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{ib=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?vg(e):""}function Hj(e){switch(e.tag){case 5:return vg(e.type);case 16:return vg("Lazy");case 13:return vg("Suspense");case 19:return vg("SuspenseList");case 0:case 2:case 15:return e=ob(e.type,!1),e;case 11:return e=ob(e.type.render,!1),e;case 1:return e=ob(e.type,!0),e;default:return""}}function YS(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 mp:return"Fragment";case gp:return"Portal";case qS:return"Profiler";case JC:return"StrictMode";case KS:return"Suspense";case ZS:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case PI:return(e.displayName||"Context")+".Consumer";case EI:return(e._context.displayName||"Context")+".Provider";case e9:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case t9:return t=e.displayName||null,t!==null?t:YS(e.type)||"Memo";case bc:t=e._payload,e=e._init;try{return YS(e(t))}catch{}}return null}function Wj(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 YS(t);case 8:return t===JC?"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 Vc(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function LI(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Vj(e){var t=LI(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 w2(e){e._valueTracker||(e._valueTracker=Vj(e))}function AI(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=LI(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function S3(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 XS(e,t){var n=t.checked;return dr({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function fk(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Vc(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 II(e,t){t=t.checked,t!=null&&QC(e,"checked",t,!1)}function QS(e,t){II(e,t);var n=Vc(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")?JS(e,t.type,n):t.hasOwnProperty("defaultValue")&&JS(e,t.type,Vc(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function hk(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 JS(e,t,n){(t!=="number"||S3(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var yg=Array.isArray;function Mp(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=C2.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function fm(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Dg={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},Uj=["Webkit","ms","Moz","O"];Object.keys(Dg).forEach(function(e){Uj.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Dg[t]=Dg[e]})});function NI(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Dg.hasOwnProperty(e)&&Dg[e]?(""+t).trim():t+"px"}function DI(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=NI(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var Gj=dr({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 nw(e,t){if(t){if(Gj[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Re(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Re(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Re(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Re(62))}}function rw(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 iw=null;function n9(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ow=null,Rp=null,Op=null;function mk(e){if(e=sv(e)){if(typeof ow!="function")throw Error(Re(280));var t=e.stateNode;t&&(t=V5(t),ow(e.stateNode,e.type,t))}}function zI(e){Rp?Op?Op.push(e):Op=[e]:Rp=e}function FI(){if(Rp){var e=Rp,t=Op;if(Op=Rp=null,mk(e),t)for(e=0;e>>=0,e===0?32:31-(nq(e)/rq|0)|0}var _2=64,k2=4194304;function xg(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 k3(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=xg(s):(o&=a,o!==0&&(r=xg(o)))}else a=n&~i,a!==0?r=xg(a):o!==0&&(r=xg(o));if(r===0)return 0;if(t!==0&&t!==r&&(t&i)===0&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if((r&4)!==0&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function ov(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-ys(t),e[t]=n}function sq(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=Fg),kk=String.fromCharCode(32),Ek=!1;function iM(e,t){switch(e){case"keyup":return Nq.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function oM(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var vp=!1;function zq(e,t){switch(e){case"compositionend":return oM(t);case"keypress":return t.which!==32?null:(Ek=!0,kk);case"textInput":return e=t.data,e===kk&&Ek?null:e;default:return null}}function Fq(e,t){if(vp)return e==="compositionend"||!c9&&iM(e,t)?(e=nM(),Ry=s9=Pc=null,vp=!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=Ak(n)}}function uM(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?uM(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function cM(){for(var e=window,t=S3();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=S3(e.document)}return t}function d9(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 qq(e){var t=cM(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&uM(n.ownerDocument.documentElement,n)){if(r!==null&&d9(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=Ik(n,o);var a=Ik(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,yp=null,dw=null,$g=null,fw=!1;function Mk(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;fw||yp==null||yp!==S3(r)||(r=yp,"selectionStart"in r&&d9(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}),$g&&ym($g,r)||($g=r,r=T3(dw,"onSelect"),0Sp||(e.current=yw[Sp],yw[Sp]=null,Sp--)}function Un(e,t){Sp++,yw[Sp]=e.current,e.current=t}var Uc={},$i=Jc(Uc),_o=Jc(!1),Mf=Uc;function r0(e,t){var n=e.type.contextTypes;if(!n)return Uc;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 ko(e){return e=e.childContextTypes,e!=null}function A3(){Kn(_o),Kn($i)}function Bk(e,t,n){if($i.current!==Uc)throw Error(Re(168));Un($i,t),Un(_o,n)}function xM(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(Re(108,Wj(e)||"Unknown",i));return dr({},n,r)}function I3(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Uc,Mf=$i.current,Un($i,e),Un(_o,_o.current),!0}function $k(e,t,n){var r=e.stateNode;if(!r)throw Error(Re(169));n?(e=xM(e,t,Mf),r.__reactInternalMemoizedMergedChildContext=e,Kn(_o),Kn($i),Un($i,e)):Kn(_o),Un(_o,n)}var tu=null,U5=!1,xb=!1;function bM(e){tu===null?tu=[e]:tu.push(e)}function oK(e){U5=!0,bM(e)}function ed(){if(!xb&&tu!==null){xb=!0;var e=0,t=kn;try{var n=tu;for(kn=1;e>=a,i-=a,iu=1<<32-ys(t)+i|n<F?(U=D,D=null):U=D.sibling;var W=m(P,D,L[F],I);if(W===null){D===null&&(D=U);break}e&&D&&W.alternate===null&&t(P,D),k=o(W,k,F),N===null?O=W:N.sibling=W,N=W,D=U}if(F===L.length)return n(P,D),tr&&tf(P,F),O;if(D===null){for(;FF?(U=D,D=null):U=D.sibling;var q=m(P,D,W.value,I);if(q===null){D===null&&(D=U);break}e&&D&&q.alternate===null&&t(P,D),k=o(q,k,F),N===null?O=q:N.sibling=q,N=q,D=U}if(W.done)return n(P,D),tr&&tf(P,F),O;if(D===null){for(;!W.done;F++,W=L.next())W=g(P,W.value,I),W!==null&&(k=o(W,k,F),N===null?O=W:N.sibling=W,N=W);return tr&&tf(P,F),O}for(D=r(P,D);!W.done;F++,W=L.next())W=y(D,P,F,W.value,I),W!==null&&(e&&W.alternate!==null&&D.delete(W.key===null?F:W.key),k=o(W,k,F),N===null?O=W:N.sibling=W,N=W);return e&&D.forEach(function(pe){return t(P,pe)}),tr&&tf(P,F),O}function E(P,k,L,I){if(typeof L=="object"&&L!==null&&L.type===mp&&L.key===null&&(L=L.props.children),typeof L=="object"&&L!==null){switch(L.$$typeof){case S2:e:{for(var O=L.key,N=k;N!==null;){if(N.key===O){if(O=L.type,O===mp){if(N.tag===7){n(P,N.sibling),k=i(N,L.props.children),k.return=P,P=k;break e}}else if(N.elementType===O||typeof O=="object"&&O!==null&&O.$$typeof===bc&&qk(O)===N.type){n(P,N.sibling),k=i(N,L.props),k.ref=eg(P,N,L),k.return=P,P=k;break e}n(P,N);break}else t(P,N);N=N.sibling}L.type===mp?(k=kf(L.props.children,P.mode,I,L.key),k.return=P,P=k):(I=Hy(L.type,L.key,L.props,null,P.mode,I),I.ref=eg(P,k,L),I.return=P,P=I)}return a(P);case gp:e:{for(N=L.key;k!==null;){if(k.key===N)if(k.tag===4&&k.stateNode.containerInfo===L.containerInfo&&k.stateNode.implementation===L.implementation){n(P,k.sibling),k=i(k,L.children||[]),k.return=P,P=k;break e}else{n(P,k);break}else t(P,k);k=k.sibling}k=Pb(L,P.mode,I),k.return=P,P=k}return a(P);case bc:return N=L._init,E(P,k,N(L._payload),I)}if(yg(L))return b(P,k,L,I);if(Z1(L))return S(P,k,L,I);M2(P,L)}return typeof L=="string"&&L!==""||typeof L=="number"?(L=""+L,k!==null&&k.tag===6?(n(P,k.sibling),k=i(k,L),k.return=P,P=k):(n(P,k),k=Eb(L,P.mode,I),k.return=P,P=k),a(P)):n(P,k)}return E}var o0=TM(!0),LM=TM(!1),lv={},pl=Jc(lv),wm=Jc(lv),Cm=Jc(lv);function pf(e){if(e===lv)throw Error(Re(174));return e}function b9(e,t){switch(Un(Cm,t),Un(wm,e),Un(pl,lv),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:tw(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=tw(t,e)}Kn(pl),Un(pl,t)}function a0(){Kn(pl),Kn(wm),Kn(Cm)}function AM(e){pf(Cm.current);var t=pf(pl.current),n=tw(t,e.type);t!==n&&(Un(wm,e),Un(pl,n))}function S9(e){wm.current===e&&(Kn(pl),Kn(wm))}var lr=Jc(0);function z3(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)!==0)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 bb=[];function w9(){for(var e=0;en?n:4,e(!0);var r=Sb.transition;Sb.transition={};try{e(!1),t()}finally{kn=n,Sb.transition=r}}function jM(){return Fa().memoizedState}function uK(e,t,n){var r=Bc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},qM(e))KM(t,n);else if(n=_M(e,t,n,r),n!==null){var i=to();xs(n,e,r,i),ZM(n,t,r)}}function cK(e,t,n){var r=Bc(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(qM(e))KM(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,_s(s,a)){var l=t.interleaved;l===null?(i.next=i,y9(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=_M(e,t,i,r),n!==null&&(i=to(),xs(n,e,r,i),ZM(n,t,r))}}function qM(e){var t=e.alternate;return e===cr||t!==null&&t===cr}function KM(e,t){Hg=F3=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ZM(e,t,n){if((n&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,i9(e,n)}}var B3={readContext:za,useCallback:Oi,useContext:Oi,useEffect:Oi,useImperativeHandle:Oi,useInsertionEffect:Oi,useLayoutEffect:Oi,useMemo:Oi,useReducer:Oi,useRef:Oi,useState:Oi,useDebugValue:Oi,useDeferredValue:Oi,useTransition:Oi,useMutableSource:Oi,useSyncExternalStore:Oi,useId:Oi,unstable_isNewReconciler:!1},dK={readContext:za,useCallback:function(e,t){return rl().memoizedState=[e,t===void 0?null:t],e},useContext:za,useEffect:Zk,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,zy(4194308,4,HM.bind(null,t,e),n)},useLayoutEffect:function(e,t){return zy(4194308,4,e,t)},useInsertionEffect:function(e,t){return zy(4,2,e,t)},useMemo:function(e,t){var n=rl();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=rl();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=uK.bind(null,cr,e),[r.memoizedState,e]},useRef:function(e){var t=rl();return e={current:e},t.memoizedState=e},useState:Kk,useDebugValue:P9,useDeferredValue:function(e){return rl().memoizedState=e},useTransition:function(){var e=Kk(!1),t=e[0];return e=lK.bind(null,e[1]),rl().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=cr,i=rl();if(tr){if(n===void 0)throw Error(Re(407));n=n()}else{if(n=t(),si===null)throw Error(Re(349));(Of&30)!==0||RM(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,Zk(NM.bind(null,r,o,e),[e]),r.flags|=2048,Em(9,OM.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=rl(),t=si.identifierPrefix;if(tr){var n=ou,r=iu;n=(r&~(1<<32-ys(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=_m++,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[ul]=t,e[Sm]=r,iR(e,t,!1,!1),t.stateNode=e;e:{switch(a=rw(n,r),n){case"dialog":jn("cancel",e),jn("close",e),i=r;break;case"iframe":case"object":case"embed":jn("load",e),i=r;break;case"video":case"audio":for(i=0;il0&&(t.flags|=128,r=!0,tg(o,!1),t.lanes=4194304)}else{if(!r)if(e=z3(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),tg(o,!0),o.tail===null&&o.tailMode==="hidden"&&!a.alternate&&!tr)return Ni(t),null}else 2*Mr()-o.renderingStartTime>l0&&n!==1073741824&&(t.flags|=128,r=!0,tg(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=Mr(),t.sibling=null,n=lr.current,Un(lr,r?n&1|2:n&1),t):(Ni(t),null);case 22:case 23:return R9(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(Xo&1073741824)!==0&&(Ni(t),t.subtreeFlags&6&&(t.flags|=8192)):Ni(t),null;case 24:return null;case 25:return null}throw Error(Re(156,t.tag))}function xK(e,t){switch(h9(t),t.tag){case 1:return ko(t.type)&&A3(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return a0(),Kn(_o),Kn($i),w9(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return S9(t),null;case 13:if(Kn(lr),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Re(340));i0()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Kn(lr),null;case 4:return a0(),null;case 10:return v9(t.type._context),null;case 22:case 23:return R9(),null;case 24:return null;default:return null}}var O2=!1,Fi=!1,bK=typeof WeakSet=="function"?WeakSet:Set,Qe=null;function kp(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){br(e,t,r)}else n.current=null}function Aw(e,t,n){try{n()}catch(r){br(e,t,r)}}var iE=!1;function SK(e,t){if(hw=E3,e=cM(),d9(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,d=0,p=0,g=e,m=null;t:for(;;){for(var y;g!==n||i!==0&&g.nodeType!==3||(s=a+i),g!==o||r!==0&&g.nodeType!==3||(l=a+r),g.nodeType===3&&(a+=g.nodeValue.length),(y=g.firstChild)!==null;)m=g,g=y;for(;;){if(g===e)break t;if(m===n&&++d===i&&(s=a),m===o&&++p===r&&(l=a),(y=g.nextSibling)!==null)break;g=m,m=g.parentNode}g=y}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(pw={focusedElem:e,selectionRange:n},E3=!1,Qe=t;Qe!==null;)if(t=Qe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Qe=e;else for(;Qe!==null;){t=Qe;try{var b=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(b!==null){var S=b.memoizedProps,E=b.memoizedState,P=t.stateNode,k=P.getSnapshotBeforeUpdate(t.elementType===t.type?S:hs(t.type,S),E);P.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var L=t.stateNode.containerInfo;L.nodeType===1?L.textContent="":L.nodeType===9&&L.documentElement&&L.removeChild(L.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Re(163))}}catch(I){br(t,t.return,I)}if(e=t.sibling,e!==null){e.return=t.return,Qe=e;break}Qe=t.return}return b=iE,iE=!1,b}function Wg(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&&Aw(t,n,o)}i=i.next}while(i!==r)}}function q5(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 Iw(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 sR(e){var t=e.alternate;t!==null&&(e.alternate=null,sR(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ul],delete t[Sm],delete t[vw],delete t[rK],delete t[iK])),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 lR(e){return e.tag===5||e.tag===3||e.tag===4}function oE(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||lR(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 Mw(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=L3));else if(r!==4&&(e=e.child,e!==null))for(Mw(e,t,n),e=e.sibling;e!==null;)Mw(e,t,n),e=e.sibling}function Rw(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(Rw(e,t,n),e=e.sibling;e!==null;)Rw(e,t,n),e=e.sibling}var Ci=null,ps=!1;function hc(e,t,n){for(n=n.child;n!==null;)uR(e,t,n),n=n.sibling}function uR(e,t,n){if(hl&&typeof hl.onCommitFiberUnmount=="function")try{hl.onCommitFiberUnmount(B5,n)}catch{}switch(n.tag){case 5:Fi||kp(n,t);case 6:var r=Ci,i=ps;Ci=null,hc(e,t,n),Ci=r,ps=i,Ci!==null&&(ps?(e=Ci,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Ci.removeChild(n.stateNode));break;case 18:Ci!==null&&(ps?(e=Ci,n=n.stateNode,e.nodeType===8?yb(e.parentNode,n):e.nodeType===1&&yb(e,n),mm(e)):yb(Ci,n.stateNode));break;case 4:r=Ci,i=ps,Ci=n.stateNode.containerInfo,ps=!0,hc(e,t,n),Ci=r,ps=i;break;case 0:case 11:case 14:case 15:if(!Fi&&(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)!==0||(o&4)!==0)&&Aw(n,t,a),i=i.next}while(i!==r)}hc(e,t,n);break;case 1:if(!Fi&&(kp(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){br(n,t,s)}hc(e,t,n);break;case 21:hc(e,t,n);break;case 22:n.mode&1?(Fi=(r=Fi)||n.memoizedState!==null,hc(e,t,n),Fi=r):hc(e,t,n);break;default:hc(e,t,n)}}function aE(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new bK),t.forEach(function(r){var i=AK.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function ss(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=a),r&=~o}if(r=i,r=Mr()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*CK(r/1960))-r,10e?16:e,Tc===null)var r=!1;else{if(e=Tc,Tc=null,W3=0,(tn&6)!==0)throw Error(Re(331));var i=tn;for(tn|=4,Qe=e.current;Qe!==null;){var o=Qe,a=o.child;if((Qe.flags&16)!==0){var s=o.deletions;if(s!==null){for(var l=0;lMr()-I9?_f(e,0):A9|=n),Eo(e,t)}function vR(e,t){t===0&&((e.mode&1)===0?t=1:(t=k2,k2<<=1,(k2&130023424)===0&&(k2=4194304)));var n=to();e=cu(e,t),e!==null&&(ov(e,t,n),Eo(e,n))}function LK(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),vR(e,n)}function AK(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(Re(314))}r!==null&&r.delete(t),vR(e,n)}var yR;yR=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||_o.current)Co=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return Co=!1,vK(e,t,n);Co=(e.flags&131072)!==0}else Co=!1,tr&&(t.flags&1048576)!==0&&SM(t,R3,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Fy(e,t),e=t.pendingProps;var i=r0(t,$i.current);Dp(t,n),i=_9(null,t,r,e,i,n);var o=k9();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,ko(r)?(o=!0,I3(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,x9(t),i.updater=G5,t.stateNode=i,i._reactInternals=t,Cw(t,r,e,n),t=Ew(null,t,r,!0,o,n)):(t.tag=0,tr&&o&&f9(t),Qi(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Fy(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=MK(r),e=hs(r,e),i){case 0:t=kw(null,t,r,e,n);break e;case 1:t=tE(null,t,r,e,n);break e;case 11:t=Jk(null,t,r,e,n);break e;case 14:t=eE(null,t,r,hs(r.type,e),n);break e}throw Error(Re(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:hs(r,i),kw(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:hs(r,i),tE(e,t,r,i,n);case 3:e:{if(tR(t),e===null)throw Error(Re(387));r=t.pendingProps,o=t.memoizedState,i=o.element,kM(e,t),D3(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=s0(Error(Re(423)),t),t=nE(e,t,r,n,i);break e}else if(r!==i){i=s0(Error(Re(424)),t),t=nE(e,t,r,n,i);break e}else for(Jo=Dc(t.stateNode.containerInfo.firstChild),ta=t,tr=!0,ms=null,n=LM(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(i0(),r===i){t=du(e,t,n);break e}Qi(e,t,r,n)}t=t.child}return t;case 5:return AM(t),e===null&&bw(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,a=i.children,gw(r,i)?a=null:o!==null&&gw(r,o)&&(t.flags|=32),eR(e,t),Qi(e,t,a,n),t.child;case 6:return e===null&&bw(t),null;case 13:return nR(e,t,n);case 4:return b9(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=o0(t,null,r,n):Qi(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:hs(r,i),Jk(e,t,r,i,n);case 7:return Qi(e,t,t.pendingProps,n),t.child;case 8:return Qi(e,t,t.pendingProps.children,n),t.child;case 12:return Qi(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,Un(O3,r._currentValue),r._currentValue=a,o!==null)if(_s(o.value,a)){if(o.children===i.children&&!_o.current){t=du(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=su(-1,n&-n),l.tag=2;var d=o.updateQueue;if(d!==null){d=d.shared;var p=d.pending;p===null?l.next=l:(l.next=p.next,p.next=l),d.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Sw(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(Re(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),Sw(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}Qi(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Dp(t,n),i=za(i),r=r(i),t.flags|=1,Qi(e,t,r,n),t.child;case 14:return r=t.type,i=hs(r,t.pendingProps),i=hs(r.type,i),eE(e,t,r,i,n);case 15:return QM(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:hs(r,i),Fy(e,t),t.tag=1,ko(r)?(e=!0,I3(t)):e=!1,Dp(t,n),PM(t,r,i),Cw(t,r,i,n),Ew(null,t,r,!0,e,n);case 19:return rR(e,t,n);case 22:return JM(e,t,n)}throw Error(Re(156,t.tag))};function xR(e,t){return GI(e,t)}function IK(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 Ma(e,t,n,r){return new IK(e,t,n,r)}function N9(e){return e=e.prototype,!(!e||!e.isReactComponent)}function MK(e){if(typeof e=="function")return N9(e)?1:0;if(e!=null){if(e=e.$$typeof,e===e9)return 11;if(e===t9)return 14}return 2}function $c(e,t){var n=e.alternate;return n===null?(n=Ma(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 Hy(e,t,n,r,i,o){var a=2;if(r=e,typeof e=="function")N9(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case mp:return kf(n.children,i,o,t);case JC:a=8,i|=8;break;case qS:return e=Ma(12,n,t,i|2),e.elementType=qS,e.lanes=o,e;case KS:return e=Ma(13,n,t,i),e.elementType=KS,e.lanes=o,e;case ZS:return e=Ma(19,n,t,i),e.elementType=ZS,e.lanes=o,e;case TI:return Z5(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case EI:a=10;break e;case PI:a=9;break e;case e9:a=11;break e;case t9:a=14;break e;case bc:a=16,r=null;break e}throw Error(Re(130,e==null?e:typeof e,""))}return t=Ma(a,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function kf(e,t,n,r){return e=Ma(7,e,r,t),e.lanes=n,e}function Z5(e,t,n,r){return e=Ma(22,e,r,t),e.elementType=TI,e.lanes=n,e.stateNode={isHidden:!1},e}function Eb(e,t,n){return e=Ma(6,e,null,t),e.lanes=n,e}function Pb(e,t,n){return t=Ma(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function RK(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=sb(0),this.expirationTimes=sb(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=sb(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function D9(e,t,n,r,i,o,a,s,l){return e=new RK(e,t,n,s,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Ma(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},x9(o),e}function OK(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=ua})(El);const z2=GC(El.exports);var pE=El.exports;GS.createRoot=pE.createRoot,GS.hydrateRoot=pE.hydrateRoot;var gl=Boolean(globalThis?.document)?C.exports.useLayoutEffect:C.exports.useEffect,e4={exports:{}},t4={};/** + * @license React + * react-jsx-runtime.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 BK=C.exports,$K=Symbol.for("react.element"),HK=Symbol.for("react.fragment"),WK=Object.prototype.hasOwnProperty,VK=BK.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,UK={key:!0,ref:!0,__self:!0,__source:!0};function CR(e,t,n){var r,i={},o=null,a=null;n!==void 0&&(o=""+n),t.key!==void 0&&(o=""+t.key),t.ref!==void 0&&(a=t.ref);for(r in t)WK.call(t,r)&&!UK.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)i[r]===void 0&&(i[r]=t[r]);return{$$typeof:$K,type:e,key:o,ref:a,props:i,_owner:VK.current}}t4.Fragment=HK;t4.jsx=CR;t4.jsxs=CR;(function(e){e.exports=t4})(e4);const Fn=e4.exports.Fragment,w=e4.exports.jsx,te=e4.exports.jsxs;var $9=C.exports.createContext({});$9.displayName="ColorModeContext";function n4(){const e=C.exports.useContext($9);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}var F2={light:"chakra-ui-light",dark:"chakra-ui-dark"};function GK(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?.()},setClassName(r){document.body.classList.add(r?F2.dark:F2.light),document.body.classList.remove(r?F2.light:F2.dark)},query(){return window.matchMedia("(prefers-color-scheme: dark)")},getSystemTheme(r){return n.query().matches??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 jK="chakra-ui-color-mode";function qK(e){return{ssr:!1,type:"localStorage",get(t){if(!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 KK=qK(jK),gE=()=>{};function mE(e,t){return e.type==="cookie"&&e.ssr?e.get(t):t}function _R(e){const{value:t,children:n,options:{useSystemColorMode:r,initialColorMode:i,disableTransitionOnChange:o}={},colorModeManager:a=KK}=e,s=i==="dark"?"dark":"light",[l,d]=C.exports.useState(()=>mE(a,s)),[p,g]=C.exports.useState(()=>mE(a)),{getSystemTheme:m,setClassName:y,setDataset:b,addListener:S}=C.exports.useMemo(()=>GK({preventTransition:o}),[o]),E=i==="system"&&!l?p:l,P=C.exports.useCallback(I=>{const O=I==="system"?m():I;d(O),y(O==="dark"),b(O),a.set(O)},[a,m,y,b]);gl(()=>{i==="system"&&g(m())},[]),C.exports.useEffect(()=>{const I=a.get();if(I){P(I);return}if(i==="system"){P("system");return}P(s)},[a,s,i,P]);const k=C.exports.useCallback(()=>{P(E==="dark"?"light":"dark")},[E,P]);C.exports.useEffect(()=>{if(!!r)return S(P)},[r,S,P]);const L=C.exports.useMemo(()=>({colorMode:t??E,toggleColorMode:t?gE:k,setColorMode:t?gE:P,forced:t!==void 0}),[E,k,P,t]);return w($9.Provider,{value:L,children:n})}_R.displayName="ColorModeProvider";var ZK=new Set(["dark","light","system"]);function YK(e){let t=e;return ZK.has(t)||(t="light"),t}function XK(e={}){const{initialColorMode:t="light",type:n="localStorage",storageKey:r="chakra-ui-color-mode"}=e,i=YK(t),o=n==="cookie",a=`(function(){try{var a=function(o){var l="(prefers-color-scheme: dark)",v=window.matchMedia(l).matches?"dark":"light",e=o==="system"?v:o,d=document.documentElement,m=document.body,i="chakra-ui-light",n="chakra-ui-dark",s=e==="dark";return m.classList.add(s?n:i),m.classList.remove(s?i:n),d.style.colorScheme=e,d.dataset.theme=e,e},u=a,h="${i}",r="${r}",t=document.cookie.match(new RegExp("(^| )".concat(r,"=([^;]+)"))),c=t?t[2]:null;c?a(c):document.cookie="".concat(r,"=").concat(a(h),"; max-age=31536000; path=/")}catch(a){}})(); + `,s=`(function(){try{var a=function(c){var v="(prefers-color-scheme: dark)",h=window.matchMedia(v).matches?"dark":"light",r=c==="system"?h:c,o=document.documentElement,s=document.body,l="chakra-ui-light",d="chakra-ui-dark",i=r==="dark";return s.classList.add(i?d:l),s.classList.remove(i?l:d),o.style.colorScheme=r,o.dataset.theme=r,r},n=a,m="${i}",e="${r}",t=localStorage.getItem(e);t?a(t):localStorage.setItem(e,a(m))}catch(a){}})(); + `;return`!${o?a:s}`.trim()}function QK(e={}){const{nonce:t}=e;return w("script",{id:"chakra-script",nonce:t,dangerouslySetInnerHTML:{__html:XK(e)}})}var Fw={exports:{}};(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,a=9007199254740991,s="[object Arguments]",l="[object Array]",d="[object AsyncFunction]",p="[object Boolean]",g="[object Date]",m="[object Error]",y="[object Function]",b="[object GeneratorFunction]",S="[object Map]",E="[object Number]",P="[object Null]",k="[object Object]",L="[object Proxy]",I="[object RegExp]",O="[object Set]",N="[object String]",D="[object Undefined]",F="[object WeakMap]",U="[object ArrayBuffer]",W="[object DataView]",q="[object Float32Array]",pe="[object Float64Array]",fe="[object Int8Array]",ye="[object Int16Array]",Pe="[object Int32Array]",xe="[object Uint8Array]",Y="[object Uint8ClampedArray]",V="[object Uint16Array]",ae="[object Uint32Array]",oe=/[\\^$.*+?()[\]{}|]/g,X=/^\[object .+?Constructor\]$/,me=/^(?:0|[1-9]\d*)$/,ve={};ve[q]=ve[pe]=ve[fe]=ve[ye]=ve[Pe]=ve[xe]=ve[Y]=ve[V]=ve[ae]=!0,ve[s]=ve[l]=ve[U]=ve[p]=ve[W]=ve[g]=ve[m]=ve[y]=ve[S]=ve[E]=ve[k]=ve[I]=ve[O]=ve[N]=ve[F]=!1;var Se=typeof nu=="object"&&nu&&nu.Object===Object&&nu,He=typeof self=="object"&&self&&self.Object===Object&&self,je=Se||He||Function("return this")(),ut=t&&!t.nodeType&&t,qe=ut&&!0&&e&&!e.nodeType&&e,at=qe&&qe.exports===ut,et=at&&Se.process,it=function(){try{var H=qe&&qe.require&&qe.require("util").types;return H||et&&et.binding&&et.binding("util")}catch{}}(),At=it&&it.isTypedArray;function wt(H,Z,ue){switch(ue.length){case 0:return H.call(Z);case 1:return H.call(Z,ue[0]);case 2:return H.call(Z,ue[0],ue[1]);case 3:return H.call(Z,ue[0],ue[1],ue[2])}return H.apply(Z,ue)}function Le(H,Z){for(var ue=-1,Ge=Array(H);++ue-1}function G0(H,Z){var ue=this.__data__,Ge=qa(ue,H);return Ge<0?(++this.size,ue.push([H,Z])):ue[Ge][1]=Z,this}Io.prototype.clear=dd,Io.prototype.delete=U0,Io.prototype.get=Tu,Io.prototype.has=fd,Io.prototype.set=G0;function Ts(H){var Z=-1,ue=H==null?0:H.length;for(this.clear();++Z1?ue[Mt-1]:void 0,dt=Mt>2?ue[2]:void 0;for(ln=H.length>3&&typeof ln=="function"?(Mt--,ln):void 0,dt&&lh(ue[0],ue[1],dt)&&(ln=Mt<3?void 0:ln,Mt=1),Z=Object(Z);++Ge-1&&H%1==0&&H0){if(++Z>=i)return arguments[0]}else Z=0;return H.apply(void 0,arguments)}}function Ru(H){if(H!=null){try{return wn.call(H)}catch{}try{return H+""}catch{}}return""}function ga(H,Z){return H===Z||H!==H&&Z!==Z}var vd=Ml(function(){return arguments}())?Ml:function(H){return $n(H)&&pn.call(H,"callee")&&!Fe.call(H,"callee")},Nl=Array.isArray;function zt(H){return H!=null&&ch(H.length)&&!Nu(H)}function uh(H){return $n(H)&&zt(H)}var Ou=Zt||i1;function Nu(H){if(!No(H))return!1;var Z=As(H);return Z==y||Z==b||Z==d||Z==L}function ch(H){return typeof H=="number"&&H>-1&&H%1==0&&H<=a}function No(H){var Z=typeof H;return H!=null&&(Z=="object"||Z=="function")}function $n(H){return H!=null&&typeof H=="object"}function yd(H){if(!$n(H)||As(H)!=k)return!1;var Z=nn(H);if(Z===null)return!0;var ue=pn.call(Z,"constructor")&&Z.constructor;return typeof ue=="function"&&ue instanceof ue&&wn.call(ue)==Kt}var dh=At?ot(At):Au;function xd(H){return Ur(H,fh(H))}function fh(H){return zt(H)?t1(H,!0):Is(H)}var rn=Ka(function(H,Z,ue,Ge){Mo(H,Z,ue,Ge)});function Ft(H){return function(){return H}}function hh(H){return H}function i1(){return!1}e.exports=rn})(Fw,Fw.exports);const Ra=Fw.exports;function bs(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}function gf(e,...t){return JK(e)?e(...t):e}var JK=e=>typeof e=="function",eZ=e=>/!(important)?$/.test(e),vE=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,Bw=(e,t)=>n=>{const r=String(t),i=eZ(r),o=vE(r),a=e?`${e}.${o}`:o;let s=bs(n.__cssMap)&&a in n.__cssMap?n.__cssMap[a].varRef:t;return s=vE(s),i?`${s} !important`:s};function Tm(e){const{scale:t,transform:n,compose:r}=e;return(o,a)=>{const s=Bw(t,o)(a);let l=n?.(s,a)??s;return r&&(l=r(l,a)),l}}var B2=(...e)=>t=>e.reduce((n,r)=>r(n),t);function ls(e,t){return n=>{const r={property:n,scale:e};return r.transform=Tm({scale:e,transform:t}),r}}var tZ=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function nZ(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:tZ(t),transform:n?Tm({scale:n,compose:r}):r}}var kR=["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 rZ(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...kR].join(" ")}function iZ(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...kR].join(" ")}var oZ={"--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(" ")},aZ={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 sZ(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 lZ={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},ER="& > :not(style) ~ :not(style)",uZ={[ER]:{marginInlineStart:"calc(var(--chakra-space-x) * calc(1 - var(--chakra-space-x-reverse)))",marginInlineEnd:"calc(var(--chakra-space-x) * var(--chakra-space-x-reverse))"}},cZ={[ER]:{marginTop:"calc(var(--chakra-space-y) * calc(1 - var(--chakra-space-y-reverse)))",marginBottom:"calc(var(--chakra-space-y) * var(--chakra-space-y-reverse))"}},$w={"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"},dZ=new Set(Object.values($w)),PR=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),fZ=e=>e.trim();function hZ(e,t){var n;if(e==null||PR.has(e))return e;const r=/(?^[a-z-A-Z]+)\((?(.*))\)/g,{type:i,values:o}=((n=r.exec(e))==null?void 0:n.groups)??{};if(!i||!o)return e;const a=i.includes("-gradient")?i:`${i}-gradient`,[s,...l]=o.split(",").map(fZ).filter(Boolean);if(l?.length===0)return e;const d=s in $w?$w[s]:s;l.unshift(d);const p=l.map(g=>{if(dZ.has(g))return g;const m=g.indexOf(" "),[y,b]=m!==-1?[g.substr(0,m),g.substr(m+1)]:[g],S=TR(b)?b:b&&b.split(" "),E=`colors.${y}`,P=E in t.__cssMap?t.__cssMap[E].varRef:y;return S?[P,...Array.isArray(S)?S:[S]].join(" "):P});return`${a}(${p.join(", ")})`}var TR=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),pZ=(e,t)=>hZ(e,t??{});function gZ(e){return/^var\(--.+\)$/.test(e)}var mZ=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Js=e=>t=>`${e}(${t})`,en={filter(e){return e!=="auto"?e:oZ},backdropFilter(e){return e!=="auto"?e:aZ},ring(e){return sZ(en.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?rZ():e==="auto-gpu"?iZ():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=mZ(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(gZ(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:pZ,blur:Js("blur"),opacity:Js("opacity"),brightness:Js("brightness"),contrast:Js("contrast"),dropShadow:Js("drop-shadow"),grayscale:Js("grayscale"),hueRotate:Js("hue-rotate"),invert:Js("invert"),saturate:Js("saturate"),sepia:Js("sepia"),bgImage(e){return e==null||TR(e)||PR.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){const{space:t,divide:n}=lZ[e]??{},r={flexDirection:e};return t&&(r[t]=1),n&&(r[n]=1),r}},J={borderWidths:ls("borderWidths"),borderStyles:ls("borderStyles"),colors:ls("colors"),borders:ls("borders"),radii:ls("radii",en.px),space:ls("space",B2(en.vh,en.px)),spaceT:ls("space",B2(en.vh,en.px)),degreeT(e){return{property:e,transform:en.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:Tm({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:ls("sizes",B2(en.vh,en.px)),sizesT:ls("sizes",B2(en.vh,en.fraction)),shadows:ls("shadows"),logical:nZ,blur:ls("blur",en.blur)},Wy={background:J.colors("background"),backgroundColor:J.colors("backgroundColor"),backgroundImage:J.propT("backgroundImage",en.bgImage),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:en.bgClip},bgSize:J.prop("backgroundSize"),bgPosition:J.prop("backgroundPosition"),bg:J.colors("background"),bgColor:J.colors("backgroundColor"),bgPos:J.prop("backgroundPosition"),bgRepeat:J.prop("backgroundRepeat"),bgAttachment:J.prop("backgroundAttachment"),bgGradient:J.propT("backgroundImage",en.gradient),bgClip:{transform:en.bgClip}};Object.assign(Wy,{bgImage:Wy.backgroundImage,bgImg:Wy.backgroundImage});var cn={border:J.borders("border"),borderWidth:J.borderWidths("borderWidth"),borderStyle:J.borderStyles("borderStyle"),borderColor:J.colors("borderColor"),borderRadius:J.radii("borderRadius"),borderTop:J.borders("borderTop"),borderBlockStart:J.borders("borderBlockStart"),borderTopLeftRadius:J.radii("borderTopLeftRadius"),borderStartStartRadius:J.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:J.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:J.radii("borderTopRightRadius"),borderStartEndRadius:J.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:J.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:J.borders("borderRight"),borderInlineEnd:J.borders("borderInlineEnd"),borderBottom:J.borders("borderBottom"),borderBlockEnd:J.borders("borderBlockEnd"),borderBottomLeftRadius:J.radii("borderBottomLeftRadius"),borderBottomRightRadius:J.radii("borderBottomRightRadius"),borderLeft:J.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:J.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:J.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:J.borders(["borderLeft","borderRight"]),borderInline:J.borders("borderInline"),borderY:J.borders(["borderTop","borderBottom"]),borderBlock:J.borders("borderBlock"),borderTopWidth:J.borderWidths("borderTopWidth"),borderBlockStartWidth:J.borderWidths("borderBlockStartWidth"),borderTopColor:J.colors("borderTopColor"),borderBlockStartColor:J.colors("borderBlockStartColor"),borderTopStyle:J.borderStyles("borderTopStyle"),borderBlockStartStyle:J.borderStyles("borderBlockStartStyle"),borderBottomWidth:J.borderWidths("borderBottomWidth"),borderBlockEndWidth:J.borderWidths("borderBlockEndWidth"),borderBottomColor:J.colors("borderBottomColor"),borderBlockEndColor:J.colors("borderBlockEndColor"),borderBottomStyle:J.borderStyles("borderBottomStyle"),borderBlockEndStyle:J.borderStyles("borderBlockEndStyle"),borderLeftWidth:J.borderWidths("borderLeftWidth"),borderInlineStartWidth:J.borderWidths("borderInlineStartWidth"),borderLeftColor:J.colors("borderLeftColor"),borderInlineStartColor:J.colors("borderInlineStartColor"),borderLeftStyle:J.borderStyles("borderLeftStyle"),borderInlineStartStyle:J.borderStyles("borderInlineStartStyle"),borderRightWidth:J.borderWidths("borderRightWidth"),borderInlineEndWidth:J.borderWidths("borderInlineEndWidth"),borderRightColor:J.colors("borderRightColor"),borderInlineEndColor:J.colors("borderInlineEndColor"),borderRightStyle:J.borderStyles("borderRightStyle"),borderInlineEndStyle:J.borderStyles("borderInlineEndStyle"),borderTopRadius:J.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:J.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:J.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:J.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(cn,{rounded:cn.borderRadius,roundedTop:cn.borderTopRadius,roundedTopLeft:cn.borderTopLeftRadius,roundedTopRight:cn.borderTopRightRadius,roundedTopStart:cn.borderStartStartRadius,roundedTopEnd:cn.borderStartEndRadius,roundedBottom:cn.borderBottomRadius,roundedBottomLeft:cn.borderBottomLeftRadius,roundedBottomRight:cn.borderBottomRightRadius,roundedBottomStart:cn.borderEndStartRadius,roundedBottomEnd:cn.borderEndEndRadius,roundedLeft:cn.borderLeftRadius,roundedRight:cn.borderRightRadius,roundedStart:cn.borderInlineStartRadius,roundedEnd:cn.borderInlineEndRadius,borderStart:cn.borderInlineStart,borderEnd:cn.borderInlineEnd,borderTopStartRadius:cn.borderStartStartRadius,borderTopEndRadius:cn.borderStartEndRadius,borderBottomStartRadius:cn.borderEndStartRadius,borderBottomEndRadius:cn.borderEndEndRadius,borderStartRadius:cn.borderInlineStartRadius,borderEndRadius:cn.borderInlineEndRadius,borderStartWidth:cn.borderInlineStartWidth,borderEndWidth:cn.borderInlineEndWidth,borderStartColor:cn.borderInlineStartColor,borderEndColor:cn.borderInlineEndColor,borderStartStyle:cn.borderInlineStartStyle,borderEndStyle:cn.borderInlineEndStyle});var vZ={color:J.colors("color"),textColor:J.colors("color"),fill:J.colors("fill"),stroke:J.colors("stroke")},Hw={boxShadow:J.shadows("boxShadow"),mixBlendMode:!0,blendMode:J.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:J.prop("backgroundBlendMode"),opacity:!0};Object.assign(Hw,{shadow:Hw.boxShadow});var yZ={filter:{transform:en.filter},blur:J.blur("--chakra-blur"),brightness:J.propT("--chakra-brightness",en.brightness),contrast:J.propT("--chakra-contrast",en.contrast),hueRotate:J.degreeT("--chakra-hue-rotate"),invert:J.propT("--chakra-invert",en.invert),saturate:J.propT("--chakra-saturate",en.saturate),dropShadow:J.propT("--chakra-drop-shadow",en.dropShadow),backdropFilter:{transform:en.backdropFilter},backdropBlur:J.blur("--chakra-backdrop-blur"),backdropBrightness:J.propT("--chakra-backdrop-brightness",en.brightness),backdropContrast:J.propT("--chakra-backdrop-contrast",en.contrast),backdropHueRotate:J.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:J.propT("--chakra-backdrop-invert",en.invert),backdropSaturate:J.propT("--chakra-backdrop-saturate",en.saturate)},G3={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:en.flexDirection},experimental_spaceX:{static:uZ,transform:Tm({scale:"space",transform:e=>e!==null?{"--chakra-space-x":e}:null})},experimental_spaceY:{static:cZ,transform:Tm({scale:"space",transform:e=>e!=null?{"--chakra-space-y":e}:null})},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:J.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:J.space("gap"),rowGap:J.space("rowGap"),columnGap:J.space("columnGap")};Object.assign(G3,{flexDir:G3.flexDirection});var LR={gridGap:J.space("gridGap"),gridColumnGap:J.space("gridColumnGap"),gridRowGap:J.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},xZ={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:en.outline},outlineOffset:!0,outlineColor:J.colors("outlineColor")},ka={width:J.sizesT("width"),inlineSize:J.sizesT("inlineSize"),height:J.sizes("height"),blockSize:J.sizes("blockSize"),boxSize:J.sizes(["width","height"]),minWidth:J.sizes("minWidth"),minInlineSize:J.sizes("minInlineSize"),minHeight:J.sizes("minHeight"),minBlockSize:J.sizes("minBlockSize"),maxWidth:J.sizes("maxWidth"),maxInlineSize:J.sizes("maxInlineSize"),maxHeight:J.sizes("maxHeight"),maxBlockSize:J.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:J.propT("float",en.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 bZ={listStyleType:!0,listStylePosition:!0,listStylePos:J.prop("listStylePosition"),listStyleImage:!0,listStyleImg:J.prop("listStyleImage")};function SZ(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}},CZ=wZ(SZ),_Z={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},kZ={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},Tb=(e,t,n)=>{const r={},i=CZ(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},EZ={srOnly:{transform(e){return e===!0?_Z:e==="focusable"?kZ:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>Tb(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>Tb(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>Tb(t,e,n)}},Gg={position:!0,pos:J.prop("position"),zIndex:J.prop("zIndex","zIndices"),inset:J.spaceT("inset"),insetX:J.spaceT(["left","right"]),insetInline:J.spaceT("insetInline"),insetY:J.spaceT(["top","bottom"]),insetBlock:J.spaceT("insetBlock"),top:J.spaceT("top"),insetBlockStart:J.spaceT("insetBlockStart"),bottom:J.spaceT("bottom"),insetBlockEnd:J.spaceT("insetBlockEnd"),left:J.spaceT("left"),insetInlineStart:J.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:J.spaceT("right"),insetInlineEnd:J.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Gg,{insetStart:Gg.insetInlineStart,insetEnd:Gg.insetInlineEnd});var PZ={ring:{transform:en.ring},ringColor:J.colors("--chakra-ring-color"),ringOffset:J.prop("--chakra-ring-offset-width"),ringOffsetColor:J.colors("--chakra-ring-offset-color"),ringInset:J.prop("--chakra-ring-inset")},qn={margin:J.spaceT("margin"),marginTop:J.spaceT("marginTop"),marginBlockStart:J.spaceT("marginBlockStart"),marginRight:J.spaceT("marginRight"),marginInlineEnd:J.spaceT("marginInlineEnd"),marginBottom:J.spaceT("marginBottom"),marginBlockEnd:J.spaceT("marginBlockEnd"),marginLeft:J.spaceT("marginLeft"),marginInlineStart:J.spaceT("marginInlineStart"),marginX:J.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:J.spaceT("marginInline"),marginY:J.spaceT(["marginTop","marginBottom"]),marginBlock:J.spaceT("marginBlock"),padding:J.space("padding"),paddingTop:J.space("paddingTop"),paddingBlockStart:J.space("paddingBlockStart"),paddingRight:J.space("paddingRight"),paddingBottom:J.space("paddingBottom"),paddingBlockEnd:J.space("paddingBlockEnd"),paddingLeft:J.space("paddingLeft"),paddingInlineStart:J.space("paddingInlineStart"),paddingInlineEnd:J.space("paddingInlineEnd"),paddingX:J.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:J.space("paddingInline"),paddingY:J.space(["paddingTop","paddingBottom"]),paddingBlock:J.space("paddingBlock")};Object.assign(qn,{m:qn.margin,mt:qn.marginTop,mr:qn.marginRight,me:qn.marginInlineEnd,marginEnd:qn.marginInlineEnd,mb:qn.marginBottom,ml:qn.marginLeft,ms:qn.marginInlineStart,marginStart:qn.marginInlineStart,mx:qn.marginX,my:qn.marginY,p:qn.padding,pt:qn.paddingTop,py:qn.paddingY,px:qn.paddingX,pb:qn.paddingBottom,pl:qn.paddingLeft,ps:qn.paddingInlineStart,paddingStart:qn.paddingInlineStart,pr:qn.paddingRight,pe:qn.paddingInlineEnd,paddingEnd:qn.paddingInlineEnd});var TZ={textDecorationColor:J.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:J.shadows("textShadow")},LZ={clipPath:!0,transform:J.propT("transform",en.transform),transformOrigin:!0,translateX:J.spaceT("--chakra-translate-x"),translateY:J.spaceT("--chakra-translate-y"),skewX:J.degreeT("--chakra-skew-x"),skewY:J.degreeT("--chakra-skew-y"),scaleX:J.prop("--chakra-scale-x"),scaleY:J.prop("--chakra-scale-y"),scale:J.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:J.degreeT("--chakra-rotate")},AZ={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:J.prop("transitionDuration","transition.duration"),transitionProperty:J.prop("transitionProperty","transition.property"),transitionTimingFunction:J.prop("transitionTimingFunction","transition.easing")},IZ={fontFamily:J.prop("fontFamily","fonts"),fontSize:J.prop("fontSize","fontSizes",en.px),fontWeight:J.prop("fontWeight","fontWeights"),lineHeight:J.prop("lineHeight","lineHeights"),letterSpacing:J.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},MZ={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:J.spaceT("scrollMargin"),scrollMarginTop:J.spaceT("scrollMarginTop"),scrollMarginBottom:J.spaceT("scrollMarginBottom"),scrollMarginLeft:J.spaceT("scrollMarginLeft"),scrollMarginRight:J.spaceT("scrollMarginRight"),scrollMarginX:J.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:J.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:J.spaceT("scrollPadding"),scrollPaddingTop:J.spaceT("scrollPaddingTop"),scrollPaddingBottom:J.spaceT("scrollPaddingBottom"),scrollPaddingLeft:J.spaceT("scrollPaddingLeft"),scrollPaddingRight:J.spaceT("scrollPaddingRight"),scrollPaddingX:J.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:J.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function AR(e){return bs(e)&&e.reference?e.reference:String(e)}var r4=(e,...t)=>t.map(AR).join(` ${e} `).replace(/calc/g,""),yE=(...e)=>`calc(${r4("+",...e)})`,xE=(...e)=>`calc(${r4("-",...e)})`,Ww=(...e)=>`calc(${r4("*",...e)})`,bE=(...e)=>`calc(${r4("/",...e)})`,SE=e=>{const t=AR(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:Ww(t,-1)},uf=Object.assign(e=>({add:(...t)=>uf(yE(e,...t)),subtract:(...t)=>uf(xE(e,...t)),multiply:(...t)=>uf(Ww(e,...t)),divide:(...t)=>uf(bE(e,...t)),negate:()=>uf(SE(e)),toString:()=>e.toString()}),{add:yE,subtract:xE,multiply:Ww,divide:bE,negate:SE});function RZ(e,t="-"){return e.replace(/\s+/g,t)}function OZ(e){const t=RZ(e.toString());return DZ(NZ(t))}function NZ(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function DZ(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function zZ(e,t=""){return[t,e].filter(Boolean).join("-")}function FZ(e,t){return`var(${e}${t?`, ${t}`:""})`}function BZ(e,t=""){return OZ(`--${zZ(e,t)}`)}function da(e,t,n){const r=BZ(e,n);return{variable:r,reference:FZ(r,t)}}function $Z(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function HZ(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function Vw(e){if(e==null)return e;const{unitless:t}=HZ(e);return t||typeof e=="number"?`${e}px`:e}var IR=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,H9=e=>Object.fromEntries(Object.entries(e).sort(IR));function wE(e){const t=H9(e);return Object.assign(Object.values(t),t)}function WZ(e){const t=Object.keys(H9(e));return new Set(t)}function CE(e){if(!e)return e;e=Vw(e)??e;const t=e.endsWith("px")?-1:-.0625;return typeof e=="number"?`${e+t}`:e.replace(/(\d+\.?\d*)/u,n=>`${parseFloat(n)+t}`)}function Sg(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${Vw(e)})`),t&&n.push("and",`(max-width: ${Vw(t)})`),n.join(" ")}function VZ(e){if(!e)return null;e.base=e.base??"0px";const t=wE(e),n=Object.entries(e).sort(IR).map(([o,a],s,l)=>{let[,d]=l[s+1]??[];return d=parseFloat(d)>0?CE(d):void 0,{_minW:CE(a),breakpoint:o,minW:a,maxW:d,maxWQuery:Sg(null,d),minWQuery:Sg(a),minMaxQuery:Sg(a,d)}}),r=WZ(e),i=Array.from(r.values());return{keys:r,normalized:t,isResponsive(o){const a=Object.keys(o);return a.length>0&&a.every(s=>r.has(s))},asObject:H9(e),asArray:wE(e),details:n,media:[null,...t.map(o=>Sg(o)).slice(1)],toArrayValue(o){if(!bs(o))throw new Error("toArrayValue: value must be an object");const a=i.map(s=>o[s]??null);for(;$Z(a)===null;)a.pop();return a},toObjectValue(o){if(!Array.isArray(o))throw new Error("toObjectValue: value must be an array");return o.reduce((a,s,l)=>{const d=i[l];return d!=null&&s!=null&&(a[d]=s),a},{})}}}var yi={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}`},pc=e=>MR(t=>e(t,"&"),"[role=group]","[data-group]",".group"),Zl=e=>MR(t=>e(t,"~ &"),"[data-peer]",".peer"),MR=(e,...t)=>t.map(e).join(", "),i4={_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:pc(yi.hover),_peerHover:Zl(yi.hover),_groupFocus:pc(yi.focus),_peerFocus:Zl(yi.focus),_groupFocusVisible:pc(yi.focusVisible),_peerFocusVisible:Zl(yi.focusVisible),_groupActive:pc(yi.active),_peerActive:Zl(yi.active),_groupDisabled:pc(yi.disabled),_peerDisabled:Zl(yi.disabled),_groupInvalid:pc(yi.invalid),_peerInvalid:Zl(yi.invalid),_groupChecked:pc(yi.checked),_peerChecked:Zl(yi.checked),_groupFocusWithin:pc(yi.focusWithin),_peerFocusWithin:Zl(yi.focusWithin),_peerPlaceholderShown:Zl(yi.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]"},UZ=Object.keys(i4);function _E(e,t){return da(String(e).replace(/\./g,"-"),void 0,t)}function GZ(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:a,value:s}=o,{variable:l,reference:d}=_E(i,t?.cssVarPrefix);if(!a){if(i.startsWith("space")){const m=i.split("."),[y,...b]=m,S=`${y}.-${b.join(".")}`,E=uf.negate(s),P=uf.negate(d);r[S]={value:E,var:l,varRef:P}}n[l]=s,r[i]={value:s,var:l,varRef:d};continue}const p=m=>{const b=[String(i).split(".")[0],m].join(".");if(!e[b])return m;const{reference:E}=_E(b,t?.cssVarPrefix);return E},g=bs(s)?s:{default:s};n=Ra(n,Object.entries(g).reduce((m,[y,b])=>{var S;const E=p(b);if(y==="default")return m[l]=E,m;const P=((S=i4)==null?void 0:S[y])??y;return m[P]={[l]:E},m},{})),r[i]={value:d,var:l,varRef:d}}return{cssVars:n,cssMap:r}}function jZ(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function qZ(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var KZ=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur"];function ZZ(e){return qZ(e,KZ)}function YZ(e){return e.semanticTokens}function XZ(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}function QZ({tokens:e,semanticTokens:t}){const n=Object.entries(Uw(e)??{}).map(([i,o])=>[i,{isSemantic:!1,value:o}]),r=Object.entries(Uw(t,1)??{}).map(([i,o])=>[i,{isSemantic:!0,value:o}]);return Object.fromEntries([...n,...r])}function Uw(e,t=1/0){return!bs(e)&&!Array.isArray(e)||!t?e:Object.entries(e).reduce((n,[r,i])=>(bs(i)||Array.isArray(i)?Object.entries(Uw(i,t-1)).forEach(([o,a])=>{n[`${r}.${o}`]=a}):n[r]=i,n),{})}function JZ(e){var t;const n=XZ(e),r=ZZ(n),i=YZ(n),o=QZ({tokens:r,semanticTokens:i}),a=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:s,cssVars:l}=GZ(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:VZ(n.breakpoints)}),n}var W9=Ra({},Wy,cn,vZ,G3,ka,yZ,PZ,xZ,LR,EZ,Gg,Hw,qn,MZ,IZ,TZ,LZ,bZ,AZ),eY=Object.assign({},qn,ka,G3,LR,Gg),tY=Object.keys(eY),nY=[...Object.keys(W9),...UZ],rY={...W9,...i4},iY=e=>e in rY,oY=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const a in e){let s=gf(e[a],t);if(s==null)continue;if(s=bs(s)&&n(s)?r(s):s,!Array.isArray(s)){o[a]=s;continue}const l=s.slice(0,i.length).length;for(let d=0;de.startsWith("--")&&typeof t=="string"&&!sY(t),uY=(e,t)=>{if(t==null)return t;const n=a=>{var s,l;return(l=(s=e.__cssMap)==null?void 0:s[a])==null?void 0:l.varRef},r=a=>n(a)??a,[i,o]=aY(t);return t=n(i)??r(o)??r(t),t};function cY(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,a=!1)=>{var s;const l=gf(o,r),d=oY(l)(r);let p={};for(let g in d){const m=d[g];let y=gf(m,r);g in n&&(g=n[g]),lY(g,y)&&(y=uY(r,y));let b=t[g];if(b===!0&&(b={property:g}),bs(y)){p[g]=p[g]??{},p[g]=Ra({},p[g],i(y,!0));continue}let S=((s=b?.transform)==null?void 0:s.call(b,y,r,l))??y;S=b?.processResult?i(S,!0):S;const E=gf(b?.property,r);if(!a&&b?.static){const P=gf(b.static,r);p=Ra({},p,P)}if(E&&Array.isArray(E)){for(const P of E)p[P]=S;continue}if(E){E==="&"&&bs(S)?p=Ra({},p,S):p[E]=S;continue}if(bs(S)){p=Ra({},p,S);continue}p[g]=S}return p};return i}var RR=e=>t=>cY({theme:t,pseudos:i4,configs:W9})(e);function nr(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function dY(e,t){if(Array.isArray(e))return e;if(bs(e))return t(e);if(e!=null)return[e]}function fY(e,t){for(let n=t+1;n{Ra(d,{[L]:m?k[L]:{[P]:k[L]}})});continue}if(!y){m?Ra(d,k):d[P]=k;continue}d[P]=k}}return d}}function pY(e){return t=>{const{variant:n,size:r,theme:i}=t,o=hY(i);return Ra({},gf(e.baseStyle??{},t),o(e,"sizes",r,t),o(e,"variants",n,t))}}function gY(e,t,n){var r,i;return((i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)??n}function hn(e){return jZ(e,["styleConfig","size","variant","colorScheme"])}function mY(e){if(e.sheet)return e.sheet;for(var t=0;t0?ki(k0,--Lo):0,u0--,Br===10&&(u0=1,a4--),Br}function na(){return Br=Lo2||Am(Br)>3?"":" "}function TY(e,t){for(;--t&&na()&&!(Br<48||Br>102||Br>57&&Br<65||Br>70&&Br<97););return uv(e,Vy()+(t<6&&ml()==32&&na()==32))}function jw(e){for(;na();)switch(Br){case e:return Lo;case 34:case 39:e!==34&&e!==39&&jw(Br);break;case 40:e===41&&jw(e);break;case 92:na();break}return Lo}function LY(e,t){for(;na()&&e+Br!==47+10;)if(e+Br===42+42&&ml()===47)break;return"/*"+uv(t,Lo-1)+"*"+o4(e===47?e:na())}function AY(e){for(;!Am(ml());)na();return uv(e,Lo)}function IY(e){return BR(Gy("",null,null,null,[""],e=FR(e),0,[0],e))}function Gy(e,t,n,r,i,o,a,s,l){for(var d=0,p=0,g=a,m=0,y=0,b=0,S=1,E=1,P=1,k=0,L="",I=i,O=o,N=r,D=L;E;)switch(b=k,k=na()){case 40:if(b!=108&&ki(D,g-1)==58){Gw(D+=yn(Uy(k),"&","&\f"),"&\f")!=-1&&(P=-1);break}case 34:case 39:case 91:D+=Uy(k);break;case 9:case 10:case 13:case 32:D+=PY(b);break;case 92:D+=TY(Vy()-1,7);continue;case 47:switch(ml()){case 42:case 47:$2(MY(LY(na(),Vy()),t,n),l);break;default:D+="/"}break;case 123*S:s[d++]=al(D)*P;case 125*S:case 59:case 0:switch(k){case 0:case 125:E=0;case 59+p:y>0&&al(D)-g&&$2(y>32?EE(D+";",r,n,g-1):EE(yn(D," ","")+";",r,n,g-2),l);break;case 59:D+=";";default:if($2(N=kE(D,t,n,d,p,i,s,L,I=[],O=[],g),o),k===123)if(p===0)Gy(D,t,N,N,I,o,g,s,O);else switch(m===99&&ki(D,3)===110?100:m){case 100:case 109:case 115:Gy(e,N,N,r&&$2(kE(e,N,N,0,0,i,s,L,i,I=[],g),O),i,O,g,s,r?I:O);break;default:Gy(D,N,N,N,[""],O,0,s,O)}}d=p=y=0,S=P=1,L=D="",g=a;break;case 58:g=1+al(D),y=b;default:if(S<1){if(k==123)--S;else if(k==125&&S++==0&&EY()==125)continue}switch(D+=o4(k),k*S){case 38:P=p>0?1:(D+="\f",-1);break;case 44:s[d++]=(al(D)-1)*P,P=1;break;case 64:ml()===45&&(D+=Uy(na())),m=ml(),p=g=al(L=D+=AY(Vy())),k++;break;case 45:b===45&&al(D)==2&&(S=0)}}return o}function kE(e,t,n,r,i,o,a,s,l,d,p){for(var g=i-1,m=i===0?o:[""],y=G9(m),b=0,S=0,E=0;b0?m[P]+" "+k:yn(k,/&\f/g,m[P])))&&(l[E++]=L);return s4(e,t,n,i===0?V9:s,l,d,p)}function MY(e,t,n){return s4(e,t,n,OR,o4(kY()),Lm(e,2,-2),0)}function EE(e,t,n,r){return s4(e,t,n,U9,Lm(e,0,r),Lm(e,r+1,-1),r)}function Fp(e,t){for(var n="",r=G9(e),i=0;i6)switch(ki(e,t+1)){case 109:if(ki(e,t+4)!==45)break;case 102:return yn(e,/(.+:)(.+)-([^]+)/,"$1"+dn+"$2-$3$1"+j3+(ki(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~Gw(e,"stretch")?HR(yn(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(ki(e,t+1)!==115)break;case 6444:switch(ki(e,al(e)-3-(~Gw(e,"!important")&&10))){case 107:return yn(e,":",":"+dn)+e;case 101:return yn(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+dn+(ki(e,14)===45?"inline-":"")+"box$3$1"+dn+"$2$3$1"+Di+"$2box$3")+e}break;case 5936:switch(ki(e,t+11)){case 114:return dn+e+Di+yn(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return dn+e+Di+yn(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return dn+e+Di+yn(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return dn+e+Di+e+e}return e}var HY=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case U9:t.return=HR(t.value,t.length);break;case NR:return Fp([rg(t,{value:yn(t.value,"@","@"+dn)})],i);case V9:if(t.length)return _Y(t.props,function(o){switch(CY(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Fp([rg(t,{props:[yn(o,/:(read-\w+)/,":"+j3+"$1")]})],i);case"::placeholder":return Fp([rg(t,{props:[yn(o,/:(plac\w+)/,":"+dn+"input-$1")]}),rg(t,{props:[yn(o,/:(plac\w+)/,":"+j3+"$1")]}),rg(t,{props:[yn(o,/:(plac\w+)/,Di+"input-$1")]})],i)}return""})}},WY=[HY],VY=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(S){var E=S.getAttribute("data-emotion");E.indexOf(" ")!==-1&&(document.head.appendChild(S),S.setAttribute("data-s",""))})}var i=t.stylisPlugins||WY,o={},a,s=[];a=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(S){for(var E=S.getAttribute("data-emotion").split(" "),P=1;P=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 eX={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},tX=/[A-Z]|^ms/g,nX=/_EMO_([^_]+?)_([^]*?)_EMO_/g,KR=function(t){return t.charCodeAt(1)===45},LE=function(t){return t!=null&&typeof t!="boolean"},Lb=$R(function(e){return KR(e)?e:e.replace(tX,"-$&").toLowerCase()}),AE=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(nX,function(r,i,o){return sl={name:i,styles:o,next:sl},i})}return eX[t]!==1&&!KR(t)&&typeof n=="number"&&n!==0?n+"px":n};function Im(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 sl={name:n.name,styles:n.styles,next:sl},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)sl={name:r.name,styles:r.styles,next:sl},r=r.next;var i=n.styles+";";return i}return rX(e,t,n)}case"function":{if(e!==void 0){var o=sl,a=n(e);return sl=o,Im(e,t,a)}break}}if(t==null)return n;var s=t[n];return s!==void 0?s:n}function rX(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i{t.includes(r)||(n[r]=e[r])}),n}function xX(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}},tO=bX(xX);function nO(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var rO=e=>nO(e,t=>t!=null);function SX(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var wX=SX();function iO(e,...t){return vX(e)?e(...t):e}function CX(...e){return function(n){e.some(r=>(r?.(n),n?.defaultPrevented))}}Object.freeze(["base","sm","md","lg","xl","2xl"]);function _X(e={}){const{strict:t=!0,errorMessage:n="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:r}=e,i=C.exports.createContext(void 0);i.displayName=r;function o(){var a;const s=C.exports.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]}var kX=/^((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)-.*))$/,EX=$R(function(e){return kX.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),PX=EX,TX=function(t){return t!=="theme"},OE=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?PX:TX},NE=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},LX=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return jR(n,r,i),oX(function(){return qR(n,r,i)}),null},AX=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=NE(t,n,r),l=s||OE(i),d=!l("as");return function(){var p=arguments,g=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&g.push("label:"+o+";"),p[0]==null||p[0].raw===void 0)g.push.apply(g,p);else{g.push(p[0][0]);for(var m=p.length,y=1;y[g,m.selector]))}function s(){return Object.fromEntries(Object.entries(t).map(([g,m])=>[g,m.className]))}function l(p){const y=`chakra-${(["container","root"].includes(p??"")?[e]:[e,p]).filter(Boolean).join("__")}`;return{className:y,selector:`.${y}`,toString:()=>p}}return{parts:i,toPart:l,extend:o,selectors:a,classnames:s,get keys(){return Object.keys(t)},__type:{}}}var MX=Pn("accordion").parts("root","container","button","panel").extend("icon"),RX=Pn("alert").parts("title","description","container").extend("icon","spinner"),OX=Pn("avatar").parts("label","badge","container").extend("excessLabel","group"),NX=Pn("breadcrumb").parts("link","item","container").extend("separator");Pn("button").parts();var DX=Pn("checkbox").parts("control","icon","container").extend("label");Pn("progress").parts("track","filledTrack").extend("label");var zX=Pn("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),FX=Pn("editable").parts("preview","input","textarea"),BX=Pn("form").parts("container","requiredIndicator","helperText"),$X=Pn("formError").parts("text","icon"),HX=Pn("input").parts("addon","field","element"),WX=Pn("list").parts("container","item","icon"),VX=Pn("menu").parts("button","list","item").extend("groupTitle","command","divider"),UX=Pn("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),GX=Pn("numberinput").parts("root","field","stepperGroup","stepper");Pn("pininput").parts("field");var jX=Pn("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),qX=Pn("progress").parts("label","filledTrack","track"),KX=Pn("radio").parts("container","control","label"),ZX=Pn("select").parts("field","icon"),YX=Pn("slider").parts("container","track","thumb","filledTrack","mark"),XX=Pn("stat").parts("container","label","helpText","number","icon"),QX=Pn("switch").parts("container","track","thumb"),JX=Pn("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),eQ=Pn("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),tQ=Pn("tag").parts("container","label","closeButton");function Ti(e,t){nQ(e)&&(e="100%");var n=rQ(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function H2(e){return Math.min(1,Math.max(0,e))}function nQ(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function rQ(e){return typeof e=="string"&&e.indexOf("%")!==-1}function oO(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function W2(e){return e<=1?"".concat(Number(e)*100,"%"):e}function mf(e){return e.length===1?"0"+e:String(e)}function iQ(e,t,n){return{r:Ti(e,255)*255,g:Ti(t,255)*255,b:Ti(n,255)*255}}function DE(e,t,n){e=Ti(e,255),t=Ti(t,255),n=Ti(n,255);var r=Math.max(e,t,n),i=Math.min(e,t,n),o=0,a=0,s=(r+i)/2;if(r===i)a=0,o=0;else{var l=r-i;switch(a=s>.5?l/(2-r-i):l/(r+i),r){case e:o=(t-n)/l+(t1&&(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 oQ(e,t,n){var r,i,o;if(e=Ti(e,360),t=Ti(t,100),n=Ti(n,100),t===0)i=n,o=n,r=n;else{var a=n<.5?n*(1+t):n+t-n*t,s=2*n-a;r=Ab(s,a,e+1/3),i=Ab(s,a,e),o=Ab(s,a,e-1/3)}return{r:r*255,g:i*255,b:o*255}}function zE(e,t,n){e=Ti(e,255),t=Ti(t,255),n=Ti(n,255);var r=Math.max(e,t,n),i=Math.min(e,t,n),o=0,a=r,s=r-i,l=r===0?0:s/r;if(r===i)o=0;else{switch(r){case e:o=(t-n)/s+(t>16,g:(e&65280)>>8,b:e&255}}var Yw={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function cQ(e){var t={r:0,g:0,b:0},n=1,r=null,i=null,o=null,a=!1,s=!1;return typeof e=="string"&&(e=hQ(e)),typeof e=="object"&&(Yl(e.r)&&Yl(e.g)&&Yl(e.b)?(t=iQ(e.r,e.g,e.b),a=!0,s=String(e.r).substr(-1)==="%"?"prgb":"rgb"):Yl(e.h)&&Yl(e.s)&&Yl(e.v)?(r=W2(e.s),i=W2(e.v),t=aQ(e.h,r,i),a=!0,s="hsv"):Yl(e.h)&&Yl(e.s)&&Yl(e.l)&&(r=W2(e.s),o=W2(e.l),t=oQ(e.h,r,o),a=!0,s="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(n=e.a)),n=oO(n),{ok:a,format:e.format||s,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}var dQ="[-\\+]?\\d+%?",fQ="[-\\+]?\\d*\\.\\d+%?",Lc="(?:".concat(fQ,")|(?:").concat(dQ,")"),Ib="[\\s|\\(]+(".concat(Lc,")[,|\\s]+(").concat(Lc,")[,|\\s]+(").concat(Lc,")\\s*\\)?"),Mb="[\\s|\\(]+(".concat(Lc,")[,|\\s]+(").concat(Lc,")[,|\\s]+(").concat(Lc,")[,|\\s]+(").concat(Lc,")\\s*\\)?"),ds={CSS_UNIT:new RegExp(Lc),rgb:new RegExp("rgb"+Ib),rgba:new RegExp("rgba"+Mb),hsl:new RegExp("hsl"+Ib),hsla:new RegExp("hsla"+Mb),hsv:new RegExp("hsv"+Ib),hsva:new RegExp("hsva"+Mb),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function hQ(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(Yw[e])e=Yw[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n=ds.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=ds.rgba.exec(e),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=ds.hsl.exec(e),n?{h:n[1],s:n[2],l:n[3]}:(n=ds.hsla.exec(e),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=ds.hsv.exec(e),n?{h:n[1],s:n[2],v:n[3]}:(n=ds.hsva.exec(e),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=ds.hex8.exec(e),n?{r:Yo(n[1]),g:Yo(n[2]),b:Yo(n[3]),a:BE(n[4]),format:t?"name":"hex8"}:(n=ds.hex6.exec(e),n?{r:Yo(n[1]),g:Yo(n[2]),b:Yo(n[3]),format:t?"name":"hex"}:(n=ds.hex4.exec(e),n?{r:Yo(n[1]+n[1]),g:Yo(n[2]+n[2]),b:Yo(n[3]+n[3]),a:BE(n[4]+n[4]),format:t?"name":"hex8"}:(n=ds.hex3.exec(e),n?{r:Yo(n[1]+n[1]),g:Yo(n[2]+n[2]),b:Yo(n[3]+n[3]),format:t?"name":"hex"}:!1)))))))))}function Yl(e){return Boolean(ds.CSS_UNIT.exec(String(e)))}var dv=function(){function e(t,n){t===void 0&&(t=""),n===void 0&&(n={});var r;if(t instanceof e)return t;typeof t=="number"&&(t=uQ(t)),this.originalInput=t;var i=cQ(t);this.originalInput=t,this.r=i.r,this.g=i.g,this.b=i.b,this.a=i.a,this.roundA=Math.round(100*this.a)/100,this.format=(r=n.format)!==null&&r!==void 0?r:i.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=i.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},e.prototype.getLuminance=function(){var t=this.toRgb(),n,r,i,o=t.r/255,a=t.g/255,s=t.b/255;return o<=.03928?n=o/12.92:n=Math.pow((o+.055)/1.055,2.4),a<=.03928?r=a/12.92:r=Math.pow((a+.055)/1.055,2.4),s<=.03928?i=s/12.92:i=Math.pow((s+.055)/1.055,2.4),.2126*n+.7152*r+.0722*i},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(t){return this.a=oO(t),this.roundA=Math.round(100*this.a)/100,this},e.prototype.toHsv=function(){var t=zE(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}},e.prototype.toHsvString=function(){var t=zE(this.r,this.g,this.b),n=Math.round(t.h*360),r=Math.round(t.s*100),i=Math.round(t.v*100);return this.a===1?"hsv(".concat(n,", ").concat(r,"%, ").concat(i,"%)"):"hsva(".concat(n,", ").concat(r,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var t=DE(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}},e.prototype.toHslString=function(){var t=DE(this.r,this.g,this.b),n=Math.round(t.h*360),r=Math.round(t.s*100),i=Math.round(t.l*100);return this.a===1?"hsl(".concat(n,", ").concat(r,"%, ").concat(i,"%)"):"hsla(".concat(n,", ").concat(r,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(t){return t===void 0&&(t=!1),FE(this.r,this.g,this.b,t)},e.prototype.toHexString=function(t){return t===void 0&&(t=!1),"#"+this.toHex(t)},e.prototype.toHex8=function(t){return t===void 0&&(t=!1),sQ(this.r,this.g,this.b,this.a,t)},e.prototype.toHex8String=function(t){return t===void 0&&(t=!1),"#"+this.toHex8(t)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var t=Math.round(this.r),n=Math.round(this.g),r=Math.round(this.b);return this.a===1?"rgb(".concat(t,", ").concat(n,", ").concat(r,")"):"rgba(".concat(t,", ").concat(n,", ").concat(r,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var t=function(n){return"".concat(Math.round(Ti(n,255)*100),"%")};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var t=function(n){return Math.round(Ti(n,255)*100)};return this.a===1?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var t="#"+FE(this.r,this.g,this.b,!1),n=0,r=Object.entries(Yw);n=0,o=!n&&i&&(t.startsWith("hex")||t==="name");return o?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(r=this.toRgbString()),t==="prgb"&&(r=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(r=this.toHexString()),t==="hex3"&&(r=this.toHexString(!0)),t==="hex4"&&(r=this.toHex8String(!0)),t==="hex8"&&(r=this.toHex8String()),t==="name"&&(r=this.toName()),t==="hsl"&&(r=this.toHslString()),t==="hsv"&&(r=this.toHsvString()),r||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=H2(n.l),new e(n)},e.prototype.brighten=function(t){t===void 0&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(t/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(t/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(t/100)))),new e(n)},e.prototype.darken=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=H2(n.l),new e(n)},e.prototype.tint=function(t){return t===void 0&&(t=10),this.mix("white",t)},e.prototype.shade=function(t){return t===void 0&&(t=10),this.mix("black",t)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=H2(n.s),new e(n)},e.prototype.saturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=H2(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),r=(n.h+t)%360;return n.h=r<0?360+r:r,new e(n)},e.prototype.mix=function(t,n){n===void 0&&(n=50);var r=this.toRgb(),i=new e(t).toRgb(),o=n/100,a={r:(i.r-r.r)*o+r.r,g:(i.g-r.g)*o+r.g,b:(i.b-r.b)*o+r.b,a:(i.a-r.a)*o+r.a};return new e(a)},e.prototype.analogous=function(t,n){t===void 0&&(t=6),n===void 0&&(n=30);var r=this.toHsl(),i=360/n,o=[this];for(r.h=(r.h-(i*t>>1)+720)%360;--t;)r.h=(r.h+i)%360,o.push(new e(r));return o},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var n=this.toHsv(),r=n.h,i=n.s,o=n.v,a=[],s=1/t;t--;)a.push(new e({h:r,s:i,v:o})),o=(o+s)%1;return a},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),r=new e(t).toRgb();return new e({r:r.r+(n.r-r.r)*n.a,g:r.g+(n.g-r.g)*n.a,b:r.b+(n.b-r.b)*n.a})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),r=n.h,i=[this],o=360/t,a=1;an.length;)e.count=null,e.seed&&(e.seed+=1),n.push(aO(e));return e.count=t,n}var r=pQ(e.hue,e.seed),i=gQ(r,e),o=mQ(r,i,e),a={h:r,s:i,v:o};return e.alpha!==void 0&&(a.a=e.alpha),new dv(a)}function pQ(e,t){var n=yQ(e),r=q3(n,t);return r<0&&(r=360+r),r}function gQ(e,t){if(t.hue==="monochrome")return 0;if(t.luminosity==="random")return q3([0,100],t.seed);var n=sO(e).saturationRange,r=n[0],i=n[1];switch(t.luminosity){case"bright":r=55;break;case"dark":r=i-10;break;case"light":i=55;break}return q3([r,i],t.seed)}function mQ(e,t,n){var r=vQ(e,t),i=100;switch(n.luminosity){case"dark":i=r+20;break;case"light":r=(i+r)/2;break;case"random":r=0,i=100;break}return q3([r,i],n.seed)}function vQ(e,t){for(var n=sO(e).lowerBounds,r=0;r=i&&t<=a){var l=(s-o)/(a-i),d=o-l*i;return l*t+d}}return 0}function yQ(e){var t=parseInt(e,10);if(!Number.isNaN(t)&&t<360&&t>0)return[t,t];if(typeof e=="string"){var n=uO.find(function(a){return a.name===e});if(n){var r=lO(n);if(r.hueRange)return r.hueRange}var i=new dv(e);if(i.isValid){var o=i.toHsv().h;return[o,o]}}return[0,360]}function sO(e){e>=334&&e<=360&&(e-=360);for(var t=0,n=uO;t=i.hueRange[0]&&e<=i.hueRange[1])return i}throw Error("Color not found")}function q3(e,t){if(t===void 0)return Math.floor(e[0]+Math.random()*(e[1]+1-e[0]));var n=e[1]||1,r=e[0]||0;t=(t*9301+49297)%233280;var i=t/233280;return Math.floor(r+i*(n-r))}function lO(e){var t=e.lowerBounds[0][0],n=e.lowerBounds[e.lowerBounds.length-1][0],r=e.lowerBounds[e.lowerBounds.length-1][1],i=e.lowerBounds[0][1];return{name:e.name,hueRange:e.hueRange,lowerBounds:e.lowerBounds,saturationRange:[t,n],brightnessRange:[r,i]}}var uO=[{name:"monochrome",hueRange:null,lowerBounds:[[0,0],[100,0]]},{name:"red",hueRange:[-26,18],lowerBounds:[[20,100],[30,92],[40,89],[50,85],[60,78],[70,70],[80,60],[90,55],[100,50]]},{name:"orange",hueRange:[19,46],lowerBounds:[[20,100],[30,93],[40,88],[50,86],[60,85],[70,70],[100,70]]},{name:"yellow",hueRange:[47,62],lowerBounds:[[25,100],[40,94],[50,89],[60,86],[70,84],[80,82],[90,80],[100,75]]},{name:"green",hueRange:[63,178],lowerBounds:[[30,100],[40,90],[50,85],[60,81],[70,74],[80,64],[90,50],[100,40]]},{name:"blue",hueRange:[179,257],lowerBounds:[[20,100],[30,86],[40,80],[50,74],[60,60],[70,52],[80,44],[90,39],[100,35]]},{name:"purple",hueRange:[258,282],lowerBounds:[[20,100],[30,87],[40,79],[50,70],[60,65],[70,59],[80,52],[90,45],[100,42]]},{name:"pink",hueRange:[283,334],lowerBounds:[[20,100],[30,90],[40,86],[60,84],[80,80],[90,75],[100,73]]}];function xQ(e,t,n,r,i){for(t=t.split?t.split("."):t,r=0;rObject.keys(e).length===0,Ei=(e,t,n)=>{const r=xQ(e,`colors.${t}`,t),{isValid:i}=new dv(r);return i?r:n},SQ=e=>t=>{const n=Ei(t,e);return new dv(n).isDark()?"dark":"light"},wQ=e=>t=>SQ(e)(t)==="dark",c0=(e,t)=>n=>{const r=Ei(n,e);return new dv(r).setAlpha(t).toRgbString()};function $E(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}`}}function CQ(e){const t=aO().toHexString();return!e||bQ(e)?t:e.string&&e.colors?kQ(e.string,e.colors):e.string&&!e.colors?_Q(e.string):e.colors&&!e.string?EQ(e.colors):t}function _Q(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 kQ(e,t){let n=0;if(e.length===0)return t[0];for(let r=0;rn.colorMode==="dark"?t:e}function X9(e){const{orientation:t,vertical:n,horizontal:r}=e;return t?t==="vertical"?n:r:{}}function PQ(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}function cO(e){return PQ(e)&&e.reference?e.reference:String(e)}var b4=(e,...t)=>t.map(cO).join(` ${e} `).replace(/calc/g,""),HE=(...e)=>`calc(${b4("+",...e)})`,WE=(...e)=>`calc(${b4("-",...e)})`,Xw=(...e)=>`calc(${b4("*",...e)})`,VE=(...e)=>`calc(${b4("/",...e)})`,UE=e=>{const t=cO(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:Xw(t,-1)},ru=Object.assign(e=>({add:(...t)=>ru(HE(e,...t)),subtract:(...t)=>ru(WE(e,...t)),multiply:(...t)=>ru(Xw(e,...t)),divide:(...t)=>ru(VE(e,...t)),negate:()=>ru(UE(e)),toString:()=>e.toString()}),{add:HE,subtract:WE,multiply:Xw,divide:VE,negate:UE});function TQ(e){return!Number.isInteger(parseFloat(e.toString()))}function LQ(e,t="-"){return e.replace(/\s+/g,t)}function dO(e){const t=LQ(e.toString());return t.includes("\\.")?e:TQ(e)?t.replace(".","\\."):e}function AQ(e,t=""){return[t,dO(e)].filter(Boolean).join("-")}function IQ(e,t){return`var(${dO(e)}${t?`, ${t}`:""})`}function MQ(e,t=""){return`--${AQ(e,t)}`}function Ao(e,t){const n=MQ(e,t?.prefix);return{variable:n,reference:IQ(n,RQ(t?.fallback))}}function RQ(e){return typeof e=="string"?e:e?.reference}var{definePartsStyle:OQ,defineMultiStyleConfig:NQ}=nr(MX.keys),DQ={borderTopWidth:"1px",borderColor:"inherit",_last:{borderBottomWidth:"1px"}},zQ={transitionProperty:"common",transitionDuration:"normal",fontSize:"md",_focusVisible:{boxShadow:"outline"},_hover:{bg:"blackAlpha.50"},_disabled:{opacity:.4,cursor:"not-allowed"},px:"4",py:"2"},FQ={pt:"2",px:"4",pb:"5"},BQ={fontSize:"1.25em"},$Q=OQ({container:DQ,button:zQ,panel:FQ,icon:BQ}),HQ=NQ({baseStyle:$Q}),{definePartsStyle:fv,defineMultiStyleConfig:WQ}=nr(RX.keys),ra=da("alert-fg"),fu=da("alert-bg"),VQ=fv({container:{bg:fu.reference,px:"4",py:"3"},title:{fontWeight:"bold",lineHeight:"6",marginEnd:"2"},description:{lineHeight:"6"},icon:{color:ra.reference,flexShrink:0,marginEnd:"3",w:"5",h:"6"},spinner:{color:ra.reference,flexShrink:0,marginEnd:"3",w:"5",h:"5"}});function Q9(e){const{theme:t,colorScheme:n}=e,r=c0(`${n}.200`,.16)(t);return{light:`colors.${n}.100`,dark:r}}var UQ=fv(e=>{const{colorScheme:t}=e,n=Q9(e);return{container:{[ra.variable]:`colors.${t}.500`,[fu.variable]:n.light,_dark:{[ra.variable]:`colors.${t}.200`,[fu.variable]:n.dark}}}}),GQ=fv(e=>{const{colorScheme:t}=e,n=Q9(e);return{container:{[ra.variable]:`colors.${t}.500`,[fu.variable]:n.light,_dark:{[ra.variable]:`colors.${t}.200`,[fu.variable]:n.dark},paddingStart:"3",borderStartWidth:"4px",borderStartColor:ra.reference}}}),jQ=fv(e=>{const{colorScheme:t}=e,n=Q9(e);return{container:{[ra.variable]:`colors.${t}.500`,[fu.variable]:n.light,_dark:{[ra.variable]:`colors.${t}.200`,[fu.variable]:n.dark},pt:"2",borderTopWidth:"4px",borderTopColor:ra.reference}}}),qQ=fv(e=>{const{colorScheme:t}=e;return{container:{[ra.variable]:"colors.white",[fu.variable]:`colors.${t}.500`,_dark:{[ra.variable]:"colors.gray.900",[fu.variable]:`colors.${t}.200`},color:ra.reference}}}),KQ={subtle:UQ,"left-accent":GQ,"top-accent":jQ,solid:qQ},ZQ=WQ({baseStyle:VQ,variants:KQ,defaultProps:{variant:"subtle",colorScheme:"blue"}}),fO={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"},YQ={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"},XQ={sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},QQ={...fO,...YQ,container:XQ},hO=QQ,JQ=e=>typeof e=="function";function wr(e,...t){return JQ(e)?e(...t):e}var{definePartsStyle:pO,defineMultiStyleConfig:eJ}=nr(OX.keys),Bp=da("avatar-border-color"),Rb=da("avatar-bg"),tJ={borderRadius:"full",border:"0.2em solid",[Bp.variable]:"white",_dark:{[Bp.variable]:"colors.gray.800"},borderColor:Bp.reference},nJ={[Rb.variable]:"colors.gray.200",_dark:{[Rb.variable]:"colors.whiteAlpha.400"},bgColor:Rb.reference},GE=da("avatar-background"),rJ=e=>{const{name:t,theme:n}=e,r=t?CQ({string:t}):"colors.gray.400",i=wQ(r)(n);let o="white";return i||(o="gray.800"),{bg:GE.reference,"&:not([data-loaded])":{[GE.variable]:r},color:o,[Bp.variable]:"colors.white",_dark:{[Bp.variable]:"colors.gray.800"},borderColor:Bp.reference,verticalAlign:"top"}},iJ=pO(e=>({badge:wr(tJ,e),excessLabel:wr(nJ,e),container:wr(rJ,e)}));function gc(e){const t=e!=="100%"?hO[e]:void 0;return pO({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 oJ={"2xs":gc(4),xs:gc(6),sm:gc(8),md:gc(12),lg:gc(16),xl:gc(24),"2xl":gc(32),full:gc("100%")},aJ=eJ({baseStyle:iJ,sizes:oJ,defaultProps:{size:"md"}}),sJ={px:1,textTransform:"uppercase",fontSize:"xs",borderRadius:"sm",fontWeight:"bold"},$p=da("badge-bg"),fl=da("badge-color"),lJ=e=>{const{colorScheme:t,theme:n}=e,r=c0(`${t}.500`,.6)(n);return{[$p.variable]:`colors.${t}.500`,[fl.variable]:"colors.white",_dark:{[$p.variable]:r,[fl.variable]:"colors.whiteAlpha.800"},bg:$p.reference,color:fl.reference}},uJ=e=>{const{colorScheme:t,theme:n}=e,r=c0(`${t}.200`,.16)(n);return{[$p.variable]:`colors.${t}.100`,[fl.variable]:`colors.${t}.800`,_dark:{[$p.variable]:r,[fl.variable]:`colors.${t}.200`},bg:$p.reference,color:fl.reference}},cJ=e=>{const{colorScheme:t,theme:n}=e,r=c0(`${t}.200`,.8)(n);return{[fl.variable]:`colors.${t}.500`,_dark:{[fl.variable]:r},color:fl.reference,boxShadow:`inset 0 0 0px 1px ${fl.reference}`}},dJ={solid:lJ,subtle:uJ,outline:cJ},qg={baseStyle:sJ,variants:dJ,defaultProps:{variant:"subtle",colorScheme:"gray"}},{defineMultiStyleConfig:fJ,definePartsStyle:hJ}=nr(NX.keys),pJ={transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}},gJ=hJ({link:pJ}),mJ=fJ({baseStyle:gJ}),vJ={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"}}},gO=e=>{const{colorScheme:t,theme:n}=e;if(t==="gray")return{color:Ie("inherit","whiteAlpha.900")(e),_hover:{bg:Ie("gray.100","whiteAlpha.200")(e)},_active:{bg:Ie("gray.200","whiteAlpha.300")(e)}};const r=c0(`${t}.200`,.12)(n),i=c0(`${t}.200`,.24)(n);return{color:Ie(`${t}.600`,`${t}.200`)(e),bg:"transparent",_hover:{bg:Ie(`${t}.50`,r)(e)},_active:{bg:Ie(`${t}.100`,i)(e)}}},yJ=e=>{const{colorScheme:t}=e,n=Ie("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:t==="gray"?n:"currentColor",".chakra-button__group[data-attached] > &:not(:last-of-type)":{marginEnd:"-1px"},...wr(gO,e)}},xJ={yellow:{bg:"yellow.400",color:"black",hoverBg:"yellow.500",activeBg:"yellow.600"},cyan:{bg:"cyan.400",color:"black",hoverBg:"cyan.500",activeBg:"cyan.600"}},bJ=e=>{const{colorScheme:t}=e;if(t==="gray"){const s=Ie("gray.100","whiteAlpha.200")(e);return{bg:s,_hover:{bg:Ie("gray.200","whiteAlpha.300")(e),_disabled:{bg:s}},_active:{bg:Ie("gray.300","whiteAlpha.400")(e)}}}const{bg:n=`${t}.500`,color:r="white",hoverBg:i=`${t}.600`,activeBg:o=`${t}.700`}=xJ[t]??{},a=Ie(n,`${t}.200`)(e);return{bg:a,color:Ie(r,"gray.800")(e),_hover:{bg:Ie(i,`${t}.300`)(e),_disabled:{bg:a}},_active:{bg:Ie(o,`${t}.400`)(e)}}},SJ=e=>{const{colorScheme:t}=e;return{padding:0,height:"auto",lineHeight:"normal",verticalAlign:"baseline",color:Ie(`${t}.500`,`${t}.200`)(e),_hover:{textDecoration:"underline",_disabled:{textDecoration:"none"}},_active:{color:Ie(`${t}.700`,`${t}.500`)(e)}}},wJ={bg:"none",color:"inherit",display:"inline",lineHeight:"inherit",m:"0",p:"0"},CJ={ghost:gO,outline:yJ,solid:bJ,link:SJ,unstyled:wJ},_J={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"}},kJ={baseStyle:vJ,variants:CJ,sizes:_J,defaultProps:{variant:"solid",size:"md",colorScheme:"gray"}},{definePartsStyle:jy,defineMultiStyleConfig:EJ}=nr(DX.keys),Kg=da("checkbox-size"),PJ=e=>{const{colorScheme:t}=e;return{w:Kg.reference,h:Kg.reference,transitionProperty:"box-shadow",transitionDuration:"normal",border:"2px solid",borderRadius:"sm",borderColor:"inherit",color:"white",_checked:{bg:Ie(`${t}.500`,`${t}.200`)(e),borderColor:Ie(`${t}.500`,`${t}.200`)(e),color:Ie("white","gray.900")(e),_hover:{bg:Ie(`${t}.600`,`${t}.300`)(e),borderColor:Ie(`${t}.600`,`${t}.300`)(e)},_disabled:{borderColor:Ie("gray.200","transparent")(e),bg:Ie("gray.200","whiteAlpha.300")(e),color:Ie("gray.500","whiteAlpha.500")(e)}},_indeterminate:{bg:Ie(`${t}.500`,`${t}.200`)(e),borderColor:Ie(`${t}.500`,`${t}.200`)(e),color:Ie("white","gray.900")(e)},_disabled:{bg:Ie("gray.100","whiteAlpha.100")(e),borderColor:Ie("gray.100","transparent")(e)},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:Ie("red.500","red.300")(e)}}},TJ={_disabled:{cursor:"not-allowed"}},LJ={userSelect:"none",_disabled:{opacity:.4}},AJ={transitionProperty:"transform",transitionDuration:"normal"},IJ=jy(e=>({icon:AJ,container:TJ,control:wr(PJ,e),label:LJ})),MJ={sm:jy({control:{[Kg.variable]:"sizes.3"},label:{fontSize:"sm"},icon:{fontSize:"3xs"}}),md:jy({control:{[Kg.variable]:"sizes.4"},label:{fontSize:"md"},icon:{fontSize:"2xs"}}),lg:jy({control:{[Kg.variable]:"sizes.5"},label:{fontSize:"lg"},icon:{fontSize:"2xs"}})},K3=EJ({baseStyle:IJ,sizes:MJ,defaultProps:{size:"md",colorScheme:"blue"}}),Zg=Ao("close-button-size"),RJ=e=>{const t=Ie("blackAlpha.100","whiteAlpha.100")(e),n=Ie("blackAlpha.200","whiteAlpha.200")(e);return{w:[Zg.reference],h:[Zg.reference],borderRadius:"md",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{bg:t},_active:{bg:n},_focusVisible:{boxShadow:"outline"}}},OJ={lg:{[Zg.variable]:"sizes.10",fontSize:"md"},md:{[Zg.variable]:"sizes.8",fontSize:"xs"},sm:{[Zg.variable]:"sizes.6",fontSize:"2xs"}},NJ={baseStyle:RJ,sizes:OJ,defaultProps:{size:"md"}},{variants:DJ,defaultProps:zJ}=qg,FJ={fontFamily:"mono",fontSize:"sm",px:"0.2em",borderRadius:"sm"},BJ={baseStyle:FJ,variants:DJ,defaultProps:zJ},$J={w:"100%",mx:"auto",maxW:"prose",px:"4"},HJ={baseStyle:$J},WJ={opacity:.6,borderColor:"inherit"},VJ={borderStyle:"solid"},UJ={borderStyle:"dashed"},GJ={solid:VJ,dashed:UJ},jJ={baseStyle:WJ,variants:GJ,defaultProps:{variant:"solid"}},{definePartsStyle:Qw,defineMultiStyleConfig:qJ}=nr(zX.keys);function ep(e){return Qw(e==="full"?{dialog:{maxW:"100vw",h:"100vh"}}:{dialog:{maxW:e}})}var KJ={bg:"blackAlpha.600",zIndex:"overlay"},ZJ={display:"flex",zIndex:"modal",justifyContent:"center"},YJ=e=>{const{isFullHeight:t}=e;return{...t&&{height:"100vh"},zIndex:"modal",maxH:"100vh",bg:Ie("white","gray.700")(e),color:"inherit",boxShadow:Ie("lg","dark-lg")(e)}},XJ={px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"},QJ={position:"absolute",top:"2",insetEnd:"3"},JJ={px:"6",py:"2",flex:"1",overflow:"auto"},eee={px:"6",py:"4"},tee=Qw(e=>({overlay:KJ,dialogContainer:ZJ,dialog:wr(YJ,e),header:XJ,closeButton:QJ,body:JJ,footer:eee})),nee={xs:ep("xs"),sm:ep("md"),md:ep("lg"),lg:ep("2xl"),xl:ep("4xl"),full:ep("full")},ree=qJ({baseStyle:tee,sizes:nee,defaultProps:{size:"xs"}}),{definePartsStyle:iee,defineMultiStyleConfig:oee}=nr(FX.keys),aee={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"},see={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}},lee={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}},uee=iee({preview:aee,input:see,textarea:lee}),cee=oee({baseStyle:uee}),{definePartsStyle:dee,defineMultiStyleConfig:fee}=nr(BX.keys),hee=e=>({marginStart:"1",color:Ie("red.500","red.300")(e)}),pee=e=>({mt:"2",color:Ie("gray.600","whiteAlpha.600")(e),lineHeight:"normal",fontSize:"sm"}),gee=dee(e=>({container:{width:"100%",position:"relative"},requiredIndicator:wr(hee,e),helperText:wr(pee,e)})),mee=fee({baseStyle:gee}),{definePartsStyle:vee,defineMultiStyleConfig:yee}=nr($X.keys),xee=e=>({color:Ie("red.500","red.300")(e),mt:"2",fontSize:"sm",lineHeight:"normal"}),bee=e=>({marginEnd:"0.5em",color:Ie("red.500","red.300")(e)}),See=vee(e=>({text:wr(xee,e),icon:wr(bee,e)})),wee=yee({baseStyle:See}),Cee={fontSize:"md",marginEnd:"3",mb:"2",fontWeight:"medium",transitionProperty:"common",transitionDuration:"normal",opacity:1,_disabled:{opacity:.4}},_ee={baseStyle:Cee},kee={fontFamily:"heading",fontWeight:"bold"},Eee={"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}},Pee={baseStyle:kee,sizes:Eee,defaultProps:{size:"xl"}},{definePartsStyle:au,defineMultiStyleConfig:Tee}=nr(HX.keys),Lee=au({field:{width:"100%",minWidth:0,outline:0,position:"relative",appearance:"none",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed"}}}),mc={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"}},Aee={lg:au({field:mc.lg,addon:mc.lg}),md:au({field:mc.md,addon:mc.md}),sm:au({field:mc.sm,addon:mc.sm}),xs:au({field:mc.xs,addon:mc.xs})};function J9(e){const{focusBorderColor:t,errorBorderColor:n}=e;return{focusBorderColor:t||Ie("blue.500","blue.300")(e),errorBorderColor:n||Ie("red.500","red.300")(e)}}var Iee=au(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=J9(e);return{field:{border:"1px solid",borderColor:"inherit",bg:"inherit",_hover:{borderColor:Ie("gray.300","whiteAlpha.400")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:Ei(t,r),boxShadow:`0 0 0 1px ${Ei(t,r)}`},_focusVisible:{zIndex:1,borderColor:Ei(t,n),boxShadow:`0 0 0 1px ${Ei(t,n)}`}},addon:{border:"1px solid",borderColor:Ie("inherit","whiteAlpha.50")(e),bg:Ie("gray.100","whiteAlpha.300")(e)}}}),Mee=au(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=J9(e);return{field:{border:"2px solid",borderColor:"transparent",bg:Ie("gray.100","whiteAlpha.50")(e),_hover:{bg:Ie("gray.200","whiteAlpha.100")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:Ei(t,r)},_focusVisible:{bg:"transparent",borderColor:Ei(t,n)}},addon:{border:"2px solid",borderColor:"transparent",bg:Ie("gray.100","whiteAlpha.50")(e)}}}),Ree=au(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=J9(e);return{field:{borderBottom:"1px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent",_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:Ei(t,r),boxShadow:`0px 1px 0px 0px ${Ei(t,r)}`},_focusVisible:{borderColor:Ei(t,n),boxShadow:`0px 1px 0px 0px ${Ei(t,n)}`}},addon:{borderBottom:"2px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent"}}}),Oee=au({field:{bg:"transparent",px:"0",height:"auto"},addon:{bg:"transparent",px:"0",height:"auto"}}),Nee={outline:Iee,filled:Mee,flushed:Ree,unstyled:Oee},fn=Tee({baseStyle:Lee,sizes:Aee,variants:Nee,defaultProps:{size:"md",variant:"outline"}}),Dee=e=>({bg:Ie("gray.100","whiteAlpha")(e),borderRadius:"md",borderWidth:"1px",borderBottomWidth:"3px",fontSize:"0.8em",fontWeight:"bold",lineHeight:"normal",px:"0.4em",whiteSpace:"nowrap"}),zee={baseStyle:Dee},Fee={transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}},Bee={baseStyle:Fee},{defineMultiStyleConfig:$ee,definePartsStyle:Hee}=nr(WX.keys),Wee={marginEnd:"2",display:"inline",verticalAlign:"text-bottom"},Vee=Hee({icon:Wee}),Uee=$ee({baseStyle:Vee}),{defineMultiStyleConfig:Gee,definePartsStyle:jee}=nr(VX.keys),qee=e=>({bg:Ie("#fff","gray.700")(e),boxShadow:Ie("sm","dark-lg")(e),color:"inherit",minW:"3xs",py:"2",zIndex:1,borderRadius:"md",borderWidth:"1px"}),Kee=e=>({py:"1.5",px:"3",transitionProperty:"background",transitionDuration:"ultra-fast",transitionTimingFunction:"ease-in",_focus:{bg:Ie("gray.100","whiteAlpha.100")(e)},_active:{bg:Ie("gray.200","whiteAlpha.200")(e)},_expanded:{bg:Ie("gray.100","whiteAlpha.100")(e)},_disabled:{opacity:.4,cursor:"not-allowed"}}),Zee={mx:4,my:2,fontWeight:"semibold",fontSize:"sm"},Yee={opacity:.6},Xee={border:0,borderBottom:"1px solid",borderColor:"inherit",my:"2",opacity:.6},Qee={transitionProperty:"common",transitionDuration:"normal"},Jee=jee(e=>({button:Qee,list:wr(qee,e),item:wr(Kee,e),groupTitle:Zee,command:Yee,divider:Xee})),ete=Gee({baseStyle:Jee}),{defineMultiStyleConfig:tte,definePartsStyle:Jw}=nr(UX.keys),nte={bg:"blackAlpha.600",zIndex:"modal"},rte=e=>{const{isCentered:t,scrollBehavior:n}=e;return{display:"flex",zIndex:"modal",justifyContent:"center",alignItems:t?"center":"flex-start",overflow:n==="inside"?"hidden":"auto"}},ite=e=>{const{scrollBehavior:t}=e;return{borderRadius:"md",bg:Ie("white","gray.700")(e),color:"inherit",my:"16",zIndex:"modal",maxH:t==="inside"?"calc(100% - 7.5rem)":void 0,boxShadow:Ie("lg","dark-lg")(e)}},ote={px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"},ate={position:"absolute",top:"2",insetEnd:"3"},ste=e=>{const{scrollBehavior:t}=e;return{px:"6",py:"2",flex:"1",overflow:t==="inside"?"auto":void 0}},lte={px:"6",py:"4"},ute=Jw(e=>({overlay:nte,dialogContainer:wr(rte,e),dialog:wr(ite,e),header:ote,closeButton:ate,body:wr(ste,e),footer:lte}));function us(e){return Jw(e==="full"?{dialog:{maxW:"100vw",minH:"$100vh",my:"0",borderRadius:"0"}}:{dialog:{maxW:e}})}var cte={xs:us("xs"),sm:us("sm"),md:us("md"),lg:us("lg"),xl:us("xl"),"2xl":us("2xl"),"3xl":us("3xl"),"4xl":us("4xl"),"5xl":us("5xl"),"6xl":us("6xl"),full:us("full")},dte=tte({baseStyle:ute,sizes:cte,defaultProps:{size:"md"}}),fte={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"}},mO=fte,{defineMultiStyleConfig:hte,definePartsStyle:vO}=nr(GX.keys),e8=Ao("number-input-stepper-width"),yO=Ao("number-input-input-padding"),pte=ru(e8).add("0.5rem").toString(),gte={[e8.variable]:"sizes.6",[yO.variable]:pte},mte=e=>{var t;return((t=wr(fn.baseStyle,e))==null?void 0:t.field)??{}},vte={width:[e8.reference]},yte=e=>({borderStart:"1px solid",borderStartColor:Ie("inherit","whiteAlpha.300")(e),color:Ie("inherit","whiteAlpha.800")(e),_active:{bg:Ie("gray.200","whiteAlpha.300")(e)},_disabled:{opacity:.4,cursor:"not-allowed"}}),xte=vO(e=>({root:gte,field:wr(mte,e)??{},stepperGroup:vte,stepper:wr(yte,e)??{}}));function V2(e){var t,n;const r=(t=fn.sizes)==null?void 0:t[e],i={lg:"md",md:"md",sm:"sm",xs:"sm"},o=((n=r.field)==null?void 0:n.fontSize)??"md",a=mO.fontSizes[o];return vO({field:{...r.field,paddingInlineEnd:yO.reference,verticalAlign:"top"},stepper:{fontSize:ru(a).multiply(.75).toString(),_first:{borderTopEndRadius:i[e]},_last:{borderBottomEndRadius:i[e],mt:"-1px",borderTopWidth:1}}})}var bte={xs:V2("xs"),sm:V2("sm"),md:V2("md"),lg:V2("lg")},Ste=hte({baseStyle:xte,sizes:bte,variants:fn.variants,defaultProps:fn.defaultProps}),jE,wte={...(jE=fn.baseStyle)==null?void 0:jE.field,textAlign:"center"},Cte={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"}},qE,_te={outline:e=>{var t,n;return((n=wr((t=fn.variants)==null?void 0:t.outline,e))==null?void 0:n.field)??{}},flushed:e=>{var t,n;return((n=wr((t=fn.variants)==null?void 0:t.flushed,e))==null?void 0:n.field)??{}},filled:e=>{var t,n;return((n=wr((t=fn.variants)==null?void 0:t.filled,e))==null?void 0:n.field)??{}},unstyled:((qE=fn.variants)==null?void 0:qE.unstyled.field)??{}},kte={baseStyle:wte,sizes:Cte,variants:_te,defaultProps:fn.defaultProps},{defineMultiStyleConfig:Ete,definePartsStyle:Pte}=nr(jX.keys),Ob=Ao("popper-bg"),Tte=Ao("popper-arrow-bg"),Lte=Ao("popper-arrow-shadow-color"),Ate={zIndex:10},Ite=e=>{const t=Ie("white","gray.700")(e),n=Ie("gray.200","whiteAlpha.300")(e);return{[Ob.variable]:`colors.${t}`,bg:Ob.reference,[Tte.variable]:Ob.reference,[Lte.variable]:`colors.${n}`,width:"xs",border:"1px solid",borderColor:"inherit",borderRadius:"md",boxShadow:"sm",zIndex:"inherit",_focusVisible:{outline:0,boxShadow:"outline"}}},Mte={px:3,py:2,borderBottomWidth:"1px"},Rte={px:3,py:2},Ote={px:3,py:2,borderTopWidth:"1px"},Nte={position:"absolute",borderRadius:"md",top:1,insetEnd:2,padding:2},Dte=Pte(e=>({popper:Ate,content:Ite(e),header:Mte,body:Rte,footer:Ote,closeButton:Nte})),zte=Ete({baseStyle:Dte}),{defineMultiStyleConfig:Fte,definePartsStyle:wg}=nr(qX.keys),Bte=e=>{const{colorScheme:t,theme:n,isIndeterminate:r,hasStripe:i}=e,o=Ie($E(),$E("1rem","rgba(0,0,0,0.1)"))(e),a=Ie(`${t}.500`,`${t}.200`)(e),s=`linear-gradient( + to right, + transparent 0%, + ${Ei(n,a)} 50%, + transparent 100% + )`;return{...!r&&i&&o,...r?{bgImage:s}:{bgColor:a}}},$te={lineHeight:"1",fontSize:"0.25em",fontWeight:"bold",color:"white"},Hte=e=>({bg:Ie("gray.100","whiteAlpha.300")(e)}),Wte=e=>({transitionProperty:"common",transitionDuration:"slow",...Bte(e)}),Vte=wg(e=>({label:$te,filledTrack:Wte(e),track:Hte(e)})),Ute={xs:wg({track:{h:"1"}}),sm:wg({track:{h:"2"}}),md:wg({track:{h:"3"}}),lg:wg({track:{h:"4"}})},Gte=Fte({sizes:Ute,baseStyle:Vte,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:jte,definePartsStyle:qy}=nr(KX.keys),qte=e=>{var t;const n=(t=wr(K3.baseStyle,e))==null?void 0:t.control;return{...n,borderRadius:"full",_checked:{...n?._checked,_before:{content:'""',display:"inline-block",pos:"relative",w:"50%",h:"50%",borderRadius:"50%",bg:"currentColor"}}}},Kte=qy(e=>{var t,n,r,i;return{label:(n=(t=K3).baseStyle)==null?void 0:n.call(t,e).label,container:(i=(r=K3).baseStyle)==null?void 0:i.call(r,e).container,control:qte(e)}}),Zte={md:qy({control:{w:"4",h:"4"},label:{fontSize:"md"}}),lg:qy({control:{w:"5",h:"5"},label:{fontSize:"lg"}}),sm:qy({control:{width:"3",height:"3"},label:{fontSize:"sm"}})},Yte=jte({baseStyle:Kte,sizes:Zte,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Xte,definePartsStyle:Qte}=nr(ZX.keys),Jte=e=>{var t;return{...(t=fn.baseStyle)==null?void 0:t.field,bg:Ie("white","gray.700")(e),appearance:"none",paddingBottom:"1px",lineHeight:"normal","> option, > optgroup":{bg:Ie("white","gray.700")(e)}}},ene={width:"6",height:"100%",insetEnd:"2",position:"relative",color:"currentColor",fontSize:"xl",_disabled:{opacity:.5}},tne=Qte(e=>({field:Jte(e),icon:ene})),U2={paddingInlineEnd:"8"},KE,ZE,YE,XE,QE,JE,eP,tP,nne={lg:{...(KE=fn.sizes)==null?void 0:KE.lg,field:{...(ZE=fn.sizes)==null?void 0:ZE.lg.field,...U2}},md:{...(YE=fn.sizes)==null?void 0:YE.md,field:{...(XE=fn.sizes)==null?void 0:XE.md.field,...U2}},sm:{...(QE=fn.sizes)==null?void 0:QE.sm,field:{...(JE=fn.sizes)==null?void 0:JE.sm.field,...U2}},xs:{...(eP=fn.sizes)==null?void 0:eP.xs,field:{...(tP=fn.sizes)==null?void 0:tP.xs.field,...U2},icon:{insetEnd:"1"}}},rne=Xte({baseStyle:tne,sizes:nne,variants:fn.variants,defaultProps:fn.defaultProps}),ine=da("skeleton-start-color"),one=da("skeleton-end-color"),ane=e=>{const t=Ie("gray.100","gray.800")(e),n=Ie("gray.400","gray.600")(e),{startColor:r=t,endColor:i=n,theme:o}=e,a=Ei(o,r),s=Ei(o,i);return{[ine.variable]:a,[one.variable]:s,opacity:.7,borderRadius:"2px",borderColor:a,background:s}},sne={baseStyle:ane},lne=e=>({borderRadius:"md",fontWeight:"semibold",_focusVisible:{boxShadow:"outline",padding:"4",position:"fixed",top:"6",insetStart:"6",bg:Ie("white","gray.700")(e)}}),une={baseStyle:lne},{defineMultiStyleConfig:cne,definePartsStyle:S4}=nr(YX.keys),Om=da("slider-thumb-size"),Nm=da("slider-track-size"),dne=e=>{const{orientation:t}=e;return{display:"inline-block",position:"relative",cursor:"pointer",_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"},...X9({orientation:t,vertical:{h:"100%"},horizontal:{w:"100%"}})}},fne=e=>({...X9({orientation:e.orientation,horizontal:{h:Nm.reference},vertical:{w:Nm.reference}}),overflow:"hidden",borderRadius:"sm",bg:Ie("gray.200","whiteAlpha.200")(e),_disabled:{bg:Ie("gray.300","whiteAlpha.300")(e)}}),hne=e=>{const{orientation:t}=e;return{...X9({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:Om.reference,h:Om.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"}}},pne=e=>{const{colorScheme:t}=e;return{width:"inherit",height:"inherit",bg:Ie(`${t}.500`,`${t}.200`)(e)}},gne=S4(e=>({container:dne(e),track:fne(e),thumb:hne(e),filledTrack:pne(e)})),mne=S4({container:{[Om.variable]:"sizes.4",[Nm.variable]:"sizes.1"}}),vne=S4({container:{[Om.variable]:"sizes.3.5",[Nm.variable]:"sizes.1"}}),yne=S4({container:{[Om.variable]:"sizes.2.5",[Nm.variable]:"sizes.0.5"}}),xne={lg:mne,md:vne,sm:yne},bne=cne({baseStyle:gne,sizes:xne,defaultProps:{size:"md",colorScheme:"blue"}}),cf=Ao("spinner-size"),Sne={width:[cf.reference],height:[cf.reference]},wne={xs:{[cf.variable]:"sizes.3"},sm:{[cf.variable]:"sizes.4"},md:{[cf.variable]:"sizes.6"},lg:{[cf.variable]:"sizes.8"},xl:{[cf.variable]:"sizes.12"}},Cne={baseStyle:Sne,sizes:wne,defaultProps:{size:"md"}},{defineMultiStyleConfig:_ne,definePartsStyle:xO}=nr(XX.keys),kne={fontWeight:"medium"},Ene={opacity:.8,marginBottom:"2"},Pne={verticalAlign:"baseline",fontWeight:"semibold"},Tne={marginEnd:1,w:"3.5",h:"3.5",verticalAlign:"middle"},Lne=xO({container:{},label:kne,helpText:Ene,number:Pne,icon:Tne}),Ane={md:xO({label:{fontSize:"sm"},helpText:{fontSize:"sm"},number:{fontSize:"2xl"}})},Ine=_ne({baseStyle:Lne,sizes:Ane,defaultProps:{size:"md"}}),{defineMultiStyleConfig:Mne,definePartsStyle:Ky}=nr(QX.keys),Yg=Ao("switch-track-width"),Ef=Ao("switch-track-height"),Nb=Ao("switch-track-diff"),Rne=ru.subtract(Yg,Ef),e6=Ao("switch-thumb-x"),One=e=>{const{colorScheme:t}=e;return{borderRadius:"full",p:"0.5",width:[Yg.reference],height:[Ef.reference],transitionProperty:"common",transitionDuration:"fast",bg:Ie("gray.300","whiteAlpha.400")(e),_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed"},_checked:{bg:Ie(`${t}.500`,`${t}.200`)(e)}}},Nne={bg:"white",transitionProperty:"transform",transitionDuration:"normal",borderRadius:"inherit",width:[Ef.reference],height:[Ef.reference],_checked:{transform:`translateX(${e6.reference})`}},Dne=Ky(e=>({container:{[Nb.variable]:Rne,[e6.variable]:Nb.reference,_rtl:{[e6.variable]:ru(Nb).negate().toString()}},track:One(e),thumb:Nne})),zne={sm:Ky({container:{[Yg.variable]:"1.375rem",[Ef.variable]:"sizes.3"}}),md:Ky({container:{[Yg.variable]:"1.875rem",[Ef.variable]:"sizes.4"}}),lg:Ky({container:{[Yg.variable]:"2.875rem",[Ef.variable]:"sizes.6"}})},Fne=Mne({baseStyle:Dne,sizes:zne,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Bne,definePartsStyle:Hp}=nr(JX.keys),$ne=Hp({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"}}),Z3={"&[data-is-numeric=true]":{textAlign:"end"}},Hne=Hp(e=>{const{colorScheme:t}=e;return{th:{color:Ie("gray.600","gray.400")(e),borderBottom:"1px",borderColor:Ie(`${t}.100`,`${t}.700`)(e),...Z3},td:{borderBottom:"1px",borderColor:Ie(`${t}.100`,`${t}.700`)(e),...Z3},caption:{color:Ie("gray.600","gray.100")(e)},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Wne=Hp(e=>{const{colorScheme:t}=e;return{th:{color:Ie("gray.600","gray.400")(e),borderBottom:"1px",borderColor:Ie(`${t}.100`,`${t}.700`)(e),...Z3},td:{borderBottom:"1px",borderColor:Ie(`${t}.100`,`${t}.700`)(e),...Z3},caption:{color:Ie("gray.600","gray.100")(e)},tbody:{tr:{"&:nth-of-type(odd)":{"th, td":{borderBottomWidth:"1px",borderColor:Ie(`${t}.100`,`${t}.700`)(e)},td:{background:Ie(`${t}.100`,`${t}.700`)(e)}}}},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Vne={simple:Hne,striped:Wne,unstyled:{}},Une={sm:Hp({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:Hp({th:{px:"6",py:"3",lineHeight:"4",fontSize:"xs"},td:{px:"6",py:"4",lineHeight:"5"},caption:{px:"6",py:"2",fontSize:"sm"}}),lg:Hp({th:{px:"8",py:"4",lineHeight:"5",fontSize:"sm"},td:{px:"8",py:"5",lineHeight:"6"},caption:{px:"6",py:"2",fontSize:"md"}})},Gne=Bne({baseStyle:$ne,variants:Vne,sizes:Une,defaultProps:{variant:"simple",size:"md",colorScheme:"gray"}}),{defineMultiStyleConfig:jne,definePartsStyle:vl}=nr(eQ.keys),qne=e=>{const{orientation:t}=e;return{display:t==="vertical"?"flex":"block"}},Kne=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}}},Zne=e=>{const{align:t="start",orientation:n}=e;return{justifyContent:{end:"flex-end",center:"center",start:"flex-start"}[t],flexDirection:n==="vertical"?"column":"row"}},Yne={p:4},Xne=vl(e=>({root:qne(e),tab:Kne(e),tablist:Zne(e),tabpanel:Yne})),Qne={sm:vl({tab:{py:1,px:4,fontSize:"sm"}}),md:vl({tab:{fontSize:"md",py:2,px:4}}),lg:vl({tab:{fontSize:"lg",py:3,px:4}})},Jne=vl(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:{color:Ie(`${t}.600`,`${t}.300`)(e),borderColor:"currentColor"},_active:{bg:Ie("gray.200","whiteAlpha.300")(e)},_disabled:{_active:{bg:"none"}}}}}),ere=vl(e=>{const{colorScheme:t}=e;return{tab:{borderTopRadius:"md",border:"1px solid",borderColor:"transparent",mb:"-1px",_selected:{color:Ie(`${t}.600`,`${t}.300`)(e),borderColor:"inherit",borderBottomColor:Ie("white","gray.800")(e)}},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),tre=vl(e=>{const{colorScheme:t}=e;return{tab:{border:"1px solid",borderColor:"inherit",bg:Ie("gray.50","whiteAlpha.50")(e),mb:"-1px",_notLast:{marginEnd:"-1px"},_selected:{bg:Ie("#fff","gray.800")(e),color:Ie(`${t}.600`,`${t}.300`)(e),borderColor:"inherit",borderTopColor:"currentColor",borderBottomColor:"transparent"}},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),nre=vl(e=>{const{colorScheme:t,theme:n}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",color:"gray.600",_selected:{color:Ei(n,`${t}.700`),bg:Ei(n,`${t}.100`)}}}}),rre=vl(e=>{const{colorScheme:t}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",color:Ie("gray.600","inherit")(e),_selected:{color:Ie("#fff","gray.800")(e),bg:Ie(`${t}.600`,`${t}.300`)(e)}}}}),ire=vl({}),ore={line:Jne,enclosed:ere,"enclosed-colored":tre,"soft-rounded":nre,"solid-rounded":rre,unstyled:ire},are=jne({baseStyle:Xne,sizes:Qne,variants:ore,defaultProps:{size:"md",variant:"line",colorScheme:"blue"}}),{defineMultiStyleConfig:sre,definePartsStyle:Pf}=nr(tQ.keys),lre={fontWeight:"medium",lineHeight:1.2,outline:0,borderRadius:"md",_focusVisible:{boxShadow:"outline"}},ure={lineHeight:1.2,overflow:"visible"},cre={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}},dre=Pf({container:lre,label:ure,closeButton:cre}),fre={sm:Pf({container:{minH:"5",minW:"5",fontSize:"xs",px:"2"},closeButton:{marginEnd:"-2px",marginStart:"0.35rem"}}),md:Pf({container:{minH:"6",minW:"6",fontSize:"sm",px:"2"}}),lg:Pf({container:{minH:"8",minW:"8",fontSize:"md",px:"3"}})},hre={subtle:Pf(e=>{var t;return{container:(t=qg.variants)==null?void 0:t.subtle(e)}}),solid:Pf(e=>{var t;return{container:(t=qg.variants)==null?void 0:t.solid(e)}}),outline:Pf(e=>{var t;return{container:(t=qg.variants)==null?void 0:t.outline(e)}})},pre=sre({variants:hre,baseStyle:dre,sizes:fre,defaultProps:{size:"md",variant:"subtle",colorScheme:"gray"}}),nP,gre={...(nP=fn.baseStyle)==null?void 0:nP.field,paddingY:"2",minHeight:"20",lineHeight:"short",verticalAlign:"top"},rP,mre={outline:e=>{var t;return((t=fn.variants)==null?void 0:t.outline(e).field)??{}},flushed:e=>{var t;return((t=fn.variants)==null?void 0:t.flushed(e).field)??{}},filled:e=>{var t;return((t=fn.variants)==null?void 0:t.filled(e).field)??{}},unstyled:((rP=fn.variants)==null?void 0:rP.unstyled.field)??{}},iP,oP,aP,sP,vre={xs:((iP=fn.sizes)==null?void 0:iP.xs.field)??{},sm:((oP=fn.sizes)==null?void 0:oP.sm.field)??{},md:((aP=fn.sizes)==null?void 0:aP.md.field)??{},lg:((sP=fn.sizes)==null?void 0:sP.lg.field)??{}},yre={baseStyle:gre,sizes:vre,variants:mre,defaultProps:{size:"md",variant:"outline"}},Db=Ao("tooltip-bg"),lP=Ao("tooltip-fg"),xre=Ao("popper-arrow-bg"),bre=e=>{const t=Ie("gray.700","gray.300")(e),n=Ie("whiteAlpha.900","gray.900")(e);return{bg:Db.reference,color:lP.reference,[Db.variable]:`colors.${t}`,[lP.variable]:`colors.${n}`,[xre.variable]:Db.reference,px:"2",py:"0.5",borderRadius:"sm",fontWeight:"medium",fontSize:"sm",boxShadow:"md",maxW:"xs",zIndex:"tooltip"}},Sre={baseStyle:bre},wre={Accordion:HQ,Alert:ZQ,Avatar:aJ,Badge:qg,Breadcrumb:mJ,Button:kJ,Checkbox:K3,CloseButton:NJ,Code:BJ,Container:HJ,Divider:jJ,Drawer:ree,Editable:cee,Form:mee,FormError:wee,FormLabel:_ee,Heading:Pee,Input:fn,Kbd:zee,Link:Bee,List:Uee,Menu:ete,Modal:dte,NumberInput:Ste,PinInput:kte,Popover:zte,Progress:Gte,Radio:Yte,Select:rne,Skeleton:sne,SkipLink:une,Slider:bne,Spinner:Cne,Stat:Ine,Switch:Fne,Table:Gne,Tabs:are,Tag:pre,Textarea:yre,Tooltip:Sre},Cre={none:0,"1px":"1px solid","2px":"2px solid","4px":"4px solid","8px":"8px solid"},_re=Cre,kre={base:"0em",sm:"30em",md:"48em",lg:"62em",xl:"80em","2xl":"96em"},Ere=kre,Pre={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"}},Tre=Pre,Lre={none:"0",sm:"0.125rem",base:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},Are=Lre,Ire={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"},Mre=Ire,Rre={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"},Ore={"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)"},Nre={"ultra-fast":"50ms",faster:"100ms",fast:"150ms",normal:"200ms",slow:"300ms",slower:"400ms","ultra-slow":"500ms"},Dre={property:Rre,easing:Ore,duration:Nre},zre=Dre,Fre={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},Bre=Fre,$re={none:0,sm:"4px",base:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},Hre=$re,Wre={breakpoints:Ere,zIndices:Bre,radii:Are,blur:Hre,colors:Tre,...mO,sizes:hO,shadows:Mre,space:fO,borders:_re,transition:zre},Vre={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-placeholder-color":{_light:"gray.500",_dark:"whiteAlpha.400"}}},Ure={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"}}};function Gre(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var jre=["borders","breakpoints","colors","components","config","direction","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","shadows","sizes","space","styles","transition","zIndices"];function qre(e){return Gre(e)?jre.every(t=>Object.prototype.hasOwnProperty.call(e,t)):!1}var Kre="ltr",Zre={useSystemColorMode:!1,initialColorMode:"light",cssVarPrefix:"chakra"},bO={semanticTokens:Vre,direction:Kre,...Wre,components:wre,styles:Ure,config:Zre};function Cg(e){return typeof e=="function"}function Yre(...e){return t=>e.reduce((n,r)=>r(n),t)}function Xre(...e){let t=[...e],n=e[e.length-1];return qre(n)&&t.length>1?t=t.slice(0,t.length-1):n=bO,Yre(...t.map(r=>i=>Cg(r)?r(i):Qre(i,r)))(n)}function Qre(...e){return Ra({},...e,SO)}function SO(e,t,n,r){if((Cg(e)||Cg(t))&&Object.prototype.hasOwnProperty.call(r,n))return(...i)=>{const o=Cg(e)?e(...i):e,a=Cg(t)?t(...i):t;return Ra({},o,a,SO)}}var Jre=typeof Element<"u",eie=typeof Map=="function",tie=typeof Set=="function",nie=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Zy(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(!Zy(e[r],t[r]))return!1;return!0}var o;if(eie&&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(!Zy(r.value[1],t.get(r.value[0])))return!1;return!0}if(tie&&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(nie&&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(Jre&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Zy(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var rie=function(t,n){try{return Zy(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 E0(){const e=C.exports.useContext(Mm);if(!e)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `` or ``");return e}function wO(){const e=n4(),t=E0();return{...e,theme:t}}function iie(e,t,n){if(t==null)return t;const r=i=>{var o,a;return(a=(o=e.__breakpoints)==null?void 0:o.asArray)==null?void 0:a[i]};return r(t)??r(n)??n}function oie(e,t,n){if(t==null)return t;const r=i=>{var o,a;return(a=(o=e.__cssMap)==null?void 0:o[i])==null?void 0:a.value};return r(t)??r(n)??n}function aie(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const a=i.filter(Boolean),s=r.map((l,d)=>{if(e==="breakpoints")return iie(o,l,a[d]??l);const p=`${e}.${l}`;return oie(o,p,a[d]??l)});return Array.isArray(t)?s:s[0]}}function sie(e){const{cssVarsRoot:t,theme:n,children:r}=e,i=C.exports.useMemo(()=>JZ(n),[n]);return te(lX,{theme:i,children:[w(lie,{root:t}),r]})}function lie({root:e=":host, :root"}){const t=[e,"[data-theme]"].join(",");return w(y4,{styles:n=>({[t]:n.__cssVars})})}_X({name:"StylesContext",errorMessage:"useStyles: `styles` is undefined. Seems you forgot to wrap the components in `` "});function uie(){const{colorMode:e}=n4();return w(y4,{styles:t=>{const n=tO(t,"styles.global"),r=iO(n,{theme:t,colorMode:e});return r?RR(r)(t):void 0}})}var cie=new Set([...nY,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),die=new Set(["htmlWidth","htmlHeight","htmlSize"]);function fie(e){return die.has(e)||!cie.has(e)}var hie=({baseStyle:e})=>t=>{const{theme:n,css:r,__css:i,sx:o,...a}=t,s=nO(a,(g,m)=>iY(m)),l=iO(e,t),d=Object.assign({},i,l,rO(s),o),p=RR(d)(t.theme);return r?[p,r]:p};function zb(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=fie);const i=hie({baseStyle:n}),o=Zw(e,r)(i);return ne.forwardRef(function(l,d){const{colorMode:p,forced:g}=n4();return ne.createElement(o,{ref:d,"data-theme":g?p:void 0,...l})})}function Ee(e){return C.exports.forwardRef(e)}function CO(e,t={}){const{styleConfig:n,...r}=t,{theme:i,colorMode:o}=wO(),a=e?tO(i,`components.${e}`):void 0,s=n||a,l=Ra({theme:i,colorMode:o},s?.defaultProps??{},rO(yX(r,["children"]))),d=C.exports.useRef({});if(s){const g=pY(s)(l);rie(d.current,g)||(d.current=g)}return d.current}function oo(e,t={}){return CO(e,t)}function Ai(e,t={}){return CO(e,t)}function pie(){const e=new Map;return new Proxy(zb,{apply(t,n,r){return zb(...r)},get(t,n){return e.has(n)||e.set(n,zb(n)),e.get(n)}})}var be=pie();function gie(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function xn(e={}){const{name:t,strict:n=!0,hookName:r="useContext",providerName:i="Provider",errorMessage:o}=e,a=C.exports.createContext(void 0);a.displayName=t;function s(){var l;const d=C.exports.useContext(a);if(!d&&n){const p=new Error(o??gie(r,i));throw p.name="ContextError",(l=Error.captureStackTrace)==null||l.call(Error,p,s),p}return d}return[a.Provider,s,a]}function mie(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 zn(...e){return t=>{e.forEach(n=>{mie(n,t)})}}function vie(...e){return C.exports.useMemo(()=>zn(...e),e)}function uP(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 yie=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function cP(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function dP(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var t6=typeof window<"u"?C.exports.useLayoutEffect:C.exports.useEffect,Y3=e=>e,xie=class{descendants=new Map;register=e=>{if(e!=null)return yie(e)?this.registerNode(e):t=>{this.registerNode(t,e)}};unregister=e=>{this.descendants.delete(e);const t=uP(Array.from(this.descendants.keys()));this.assignIndex(t)};destroy=()=>{this.descendants.clear()};assignIndex=e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})};count=()=>this.descendants.size;enabledCount=()=>this.enabledValues().length;values=()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index);enabledValues=()=>this.values().filter(e=>!e.disabled);item=e=>{if(this.count()!==0)return this.values()[e]};enabledItem=e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]};first=()=>this.item(0);firstEnabled=()=>this.enabledItem(0);last=()=>this.item(this.descendants.size-1);lastEnabled=()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)};indexOf=e=>{var t;return e?((t=this.descendants.get(e))==null?void 0:t.index)??-1:-1};enabledIndexOf=e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e));next=(e,t=!0)=>{const n=cP(e,this.count(),t);return this.item(n)};nextEnabled=(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),i=cP(r,this.enabledCount(),t);return this.enabledItem(i)};prev=(e,t=!0)=>{const n=dP(e,this.count()-1,t);return this.item(n)};prevEnabled=(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),i=dP(r,this.enabledCount()-1,t);return this.enabledItem(i)};registerNode=(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=uP(n);t?.disabled&&(t.disabled=!!t.disabled);const i={node:e,index:-1,...t};this.descendants.set(e,i),this.assignIndex(r)}};function bie(){const e=C.exports.useRef(new xie);return t6(()=>()=>e.current.destroy()),e.current}var[Sie,_O]=xn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function wie(e){const t=_O(),[n,r]=C.exports.useState(-1),i=C.exports.useRef(null);t6(()=>()=>{!i.current||t.unregister(i.current)},[]),t6(()=>{if(!i.current)return;const a=Number(i.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const o=Y3(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(i.current),register:zn(o,i)}}function kO(){return[Y3(Sie),()=>Y3(_O()),()=>bie(),i=>wie(i)]}var Rr=(...e)=>e.filter(Boolean).join(" "),fP={path:te("g",{stroke:"currentColor",strokeWidth:"1.5",children:[w("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"}),w("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),w("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},ha=Ee((e,t)=>{const{as:n,viewBox:r,color:i="currentColor",focusable:o=!1,children:a,className:s,__css:l,...d}=e,p=Rr("chakra-icon",s),g={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:i,...l},m={ref:t,focusable:o,className:p,__css:g},y=r??fP.viewBox;if(n&&typeof n!="string")return ne.createElement(be.svg,{as:n,...m,...d});const b=a??fP.path;return ne.createElement(be.svg,{verticalAlign:"middle",viewBox:y,...m,...d},b)});ha.displayName="Icon";function nt(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:i={}}=e,o=C.exports.Children.toArray(e.path),a=Ee((s,l)=>w(ha,{ref:l,viewBox:t,...i,...s,children:o.length?o:w("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}function ur(e,t=[]){const n=C.exports.useRef(e);return C.exports.useEffect(()=>{n.current=e}),C.exports.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function w4(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:i=(m,y)=>m!==y}=e,o=ur(r),a=ur(i),[s,l]=C.exports.useState(n),d=t!==void 0,p=d?t:s,g=ur(m=>{const b=typeof m=="function"?m(p):m;!a(p,b)||(d||l(b),o(b))},[d,o,p,a]);return[p,g]}const t8=C.exports.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),C4=C.exports.createContext({});function Cie(){return C.exports.useContext(C4).visualElement}const P0=C.exports.createContext(null),Vf=typeof document<"u",X3=Vf?C.exports.useLayoutEffect:C.exports.useEffect,EO=C.exports.createContext({strict:!1});function _ie(e,t,n,r){const i=Cie(),o=C.exports.useContext(EO),a=C.exports.useContext(P0),s=C.exports.useContext(t8).reducedMotion,l=C.exports.useRef(void 0);r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceId:a?a.id:void 0,blockInitialAnimation:a?a.initial===!1:!1,reducedMotionConfig:s}));const d=l.current;return X3(()=>{d&&d.syncRender()}),C.exports.useEffect(()=>{d&&d.animationState&&d.animationState.animateChanges()}),X3(()=>()=>d&&d.notifyUnmount(),[]),d}function Pp(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function kie(e,t,n){return C.exports.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):Pp(n)&&(n.current=r))},[t])}function Dm(e){return typeof e=="string"||Array.isArray(e)}function _4(e){return typeof e=="object"&&typeof e.start=="function"}const Eie=["initial","animate","exit","whileHover","whileDrag","whileTap","whileFocus","whileInView"];function k4(e){return _4(e.animate)||Eie.some(t=>Dm(e[t]))}function PO(e){return Boolean(k4(e)||e.variants)}function Pie(e,t){if(k4(e)){const{initial:n,animate:r}=e;return{initial:n===!1||Dm(n)?n:void 0,animate:Dm(r)?r:void 0}}return e.inherit!==!1?t:{}}function Tie(e){const{initial:t,animate:n}=Pie(e,C.exports.useContext(C4));return C.exports.useMemo(()=>({initial:t,animate:n}),[hP(t),hP(n)])}function hP(e){return Array.isArray(e)?e.join(" "):e}const Xl=e=>({isEnabled:t=>e.some(n=>!!t[n])}),zm={measureLayout:Xl(["layout","layoutId","drag"]),animation:Xl(["animate","exit","variants","whileHover","whileTap","whileFocus","whileDrag","whileInView"]),exit:Xl(["exit"]),drag:Xl(["drag","dragControls"]),focus:Xl(["whileFocus"]),hover:Xl(["whileHover","onHoverStart","onHoverEnd"]),tap:Xl(["whileTap","onTap","onTapStart","onTapCancel"]),pan:Xl(["onPan","onPanStart","onPanSessionStart","onPanEnd"]),inView:Xl(["whileInView","onViewportEnter","onViewportLeave"])};function Lie(e){for(const t in e)t==="projectionNodeConstructor"?zm.projectionNodeConstructor=e[t]:zm[t].Component=e[t]}function E4(e){const t=C.exports.useRef(null);return t.current===null&&(t.current=e()),t.current}const Xg={hasAnimatedSinceResize:!0,hasEverUpdated:!1};let Aie=1;function Iie(){return E4(()=>{if(Xg.hasEverUpdated)return Aie++})}const n8=C.exports.createContext({});class Mie extends ne.Component{getSnapshotBeforeUpdate(){const{visualElement:t,props:n}=this.props;return t&&t.setProps(n),null}componentDidUpdate(){}render(){return this.props.children}}const TO=C.exports.createContext({}),Rie=Symbol.for("motionComponentSymbol");function Oie({preloadedFeatures:e,createVisualElement:t,projectionNodeConstructor:n,useRender:r,useVisualState:i,Component:o}){e&&Lie(e);function a(l,d){const p={...C.exports.useContext(t8),...l,layoutId:Nie(l)},{isStatic:g}=p;let m=null;const y=Tie(l),b=g?void 0:Iie(),S=i(l,g);if(!g&&Vf){y.visualElement=_ie(o,S,p,t);const E=C.exports.useContext(EO).strict,P=C.exports.useContext(TO);y.visualElement&&(m=y.visualElement.loadFeatures(p,E,e,b,n||zm.projectionNodeConstructor,P))}return te(Mie,{visualElement:y.visualElement,props:p,children:[m,w(C4.Provider,{value:y,children:r(o,l,b,kie(S,y.visualElement,d),S,g,y.visualElement)})]})}const s=C.exports.forwardRef(a);return s[Rie]=o,s}function Nie({layoutId:e}){const t=C.exports.useContext(n8).id;return t&&e!==void 0?t+"-"+e:e}function Die(e){function t(r,i={}){return Oie(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 zie=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","svg","switch","symbol","text","tspan","use","view"];function r8(e){return typeof e!="string"||e.includes("-")?!1:!!(zie.indexOf(e)>-1||/[A-Z]/.test(e))}const Q3={};function Fie(e){Object.assign(Q3,e)}const J3=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],hv=new Set(J3);function LO(e,{layout:t,layoutId:n}){return hv.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!Q3[e]||e==="opacity")}const Ss=e=>!!e?.getVelocity,Bie={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},$ie=(e,t)=>J3.indexOf(e)-J3.indexOf(t);function Hie({transform:e,transformKeys:t},{enableHardwareAcceleration:n=!0,allowTransformNone:r=!0},i,o){let a="";t.sort($ie);for(const s of t)a+=`${Bie[s]||s}(${e[s]}) `;return n&&!e.z&&(a+="translateZ(0)"),a=a.trim(),o?a=o(e,i?"":a):r&&i&&(a="none"),a}function AO(e){return e.startsWith("--")}const Wie=(e,t)=>t&&typeof e=="number"?t.transform(e):e,IO=(e,t)=>n=>Math.max(Math.min(n,t),e),Qg=e=>e%1?Number(e.toFixed(5)):e,Fm=/(-)?([\d]*\.?[\d])+/g,n6=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,Vie=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function pv(e){return typeof e=="string"}const Uf={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Jg=Object.assign(Object.assign({},Uf),{transform:IO(0,1)}),G2=Object.assign(Object.assign({},Uf),{default:1}),gv=e=>({test:t=>pv(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),vc=gv("deg"),yl=gv("%"),gt=gv("px"),Uie=gv("vh"),Gie=gv("vw"),pP=Object.assign(Object.assign({},yl),{parse:e=>yl.parse(e)/100,transform:e=>yl.transform(e*100)}),i8=(e,t)=>n=>Boolean(pv(n)&&Vie.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),MO=(e,t,n)=>r=>{if(!pv(r))return r;const[i,o,a,s]=r.match(Fm);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(a),alpha:s!==void 0?parseFloat(s):1}},vf={test:i8("hsl","hue"),parse:MO("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+yl.transform(Qg(t))+", "+yl.transform(Qg(n))+", "+Qg(Jg.transform(r))+")"},jie=IO(0,255),Fb=Object.assign(Object.assign({},Uf),{transform:e=>Math.round(jie(e))}),Ac={test:i8("rgb","red"),parse:MO("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+Fb.transform(e)+", "+Fb.transform(t)+", "+Fb.transform(n)+", "+Qg(Jg.transform(r))+")"};function qie(e){let t="",n="",r="",i="";return e.length>5?(t=e.substr(1,2),n=e.substr(3,2),r=e.substr(5,2),i=e.substr(7,2)):(t=e.substr(1,1),n=e.substr(2,1),r=e.substr(3,1),i=e.substr(4,1),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 r6={test:i8("#"),parse:qie,transform:Ac.transform},Xi={test:e=>Ac.test(e)||r6.test(e)||vf.test(e),parse:e=>Ac.test(e)?Ac.parse(e):vf.test(e)?vf.parse(e):r6.parse(e),transform:e=>pv(e)?e:e.hasOwnProperty("red")?Ac.transform(e):vf.transform(e)},RO="${c}",OO="${n}";function Kie(e){var t,n,r,i;return isNaN(e)&&pv(e)&&((n=(t=e.match(Fm))===null||t===void 0?void 0:t.length)!==null&&n!==void 0?n:0)+((i=(r=e.match(n6))===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0)>0}function NO(e){typeof e=="number"&&(e=`${e}`);const t=[];let n=0;const r=e.match(n6);r&&(n=r.length,e=e.replace(n6,RO),t.push(...r.map(Xi.parse)));const i=e.match(Fm);return i&&(e=e.replace(Fm,OO),t.push(...i.map(Uf.parse))),{values:t,numColors:n,tokenised:e}}function DO(e){return NO(e).values}function zO(e){const{values:t,numColors:n,tokenised:r}=NO(e),i=t.length;return o=>{let a=r;for(let s=0;stypeof e=="number"?0:e;function Yie(e){const t=DO(e);return zO(e)(t.map(Zie))}const hu={test:Kie,parse:DO,createTransformer:zO,getAnimatableNone:Yie},Xie=new Set(["brightness","contrast","saturate","opacity"]);function Qie(e){let[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(Fm)||[];if(!r)return e;const i=n.replace(r,"");let o=Xie.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const Jie=/([a-z-]*)\(.*?\)/g,i6=Object.assign(Object.assign({},hu),{getAnimatableNone:e=>{const t=e.match(Jie);return t?t.map(Qie).join(" "):e}}),gP={...Uf,transform:Math.round},FO={borderWidth:gt,borderTopWidth:gt,borderRightWidth:gt,borderBottomWidth:gt,borderLeftWidth:gt,borderRadius:gt,radius:gt,borderTopLeftRadius:gt,borderTopRightRadius:gt,borderBottomRightRadius:gt,borderBottomLeftRadius:gt,width:gt,maxWidth:gt,height:gt,maxHeight:gt,size:gt,top:gt,right:gt,bottom:gt,left:gt,padding:gt,paddingTop:gt,paddingRight:gt,paddingBottom:gt,paddingLeft:gt,margin:gt,marginTop:gt,marginRight:gt,marginBottom:gt,marginLeft:gt,rotate:vc,rotateX:vc,rotateY:vc,rotateZ:vc,scale:G2,scaleX:G2,scaleY:G2,scaleZ:G2,skew:vc,skewX:vc,skewY:vc,distance:gt,translateX:gt,translateY:gt,translateZ:gt,x:gt,y:gt,z:gt,perspective:gt,transformPerspective:gt,opacity:Jg,originX:pP,originY:pP,originZ:gt,zIndex:gP,fillOpacity:Jg,strokeOpacity:Jg,numOctaves:gP};function o8(e,t,n,r){const{style:i,vars:o,transform:a,transformKeys:s,transformOrigin:l}=e;s.length=0;let d=!1,p=!1,g=!0;for(const m in t){const y=t[m];if(AO(m)){o[m]=y;continue}const b=FO[m],S=Wie(y,b);if(hv.has(m)){if(d=!0,a[m]=S,s.push(m),!g)continue;y!==(b.default||0)&&(g=!1)}else m.startsWith("origin")?(p=!0,l[m]=S):i[m]=S}if(t.transform||(d||r?i.transform=Hie(e,n,g,r):i.transform&&(i.transform="none")),p){const{originX:m="50%",originY:y="50%",originZ:b=0}=l;i.transformOrigin=`${m} ${y} ${b}`}}const a8=()=>({style:{},transform:{},transformKeys:[],transformOrigin:{},vars:{}});function BO(e,t,n){for(const r in t)!Ss(t[r])&&!LO(r,n)&&(e[r]=t[r])}function eoe({transformTemplate:e},t,n){return C.exports.useMemo(()=>{const r=a8();return o8(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function toe(e,t,n){const r=e.style||{},i={};return BO(i,r,e),Object.assign(i,eoe(e,t,n)),e.transformValues?e.transformValues(i):i}function noe(e,t,n){const r={},i=toe(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"}`),r.style=i,r}const roe=["animate","exit","variants","whileHover","whileTap","whileFocus","whileDrag","whileInView"],ioe=["whileTap","onTap","onTapStart","onTapCancel"],ooe=["onPan","onPanStart","onPanSessionStart","onPanEnd"],aoe=["whileInView","onViewportEnter","onViewportLeave","viewport"],soe=new Set(["initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","layout","layoutId","layoutDependency","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","drag","dragControls","dragListener","dragConstraints","dragDirectionLock","dragSnapToOrigin","_dragX","_dragY","dragElastic","dragMomentum","dragPropagation","dragTransition","onHoverStart","onHoverEnd","layoutScroll",...aoe,...ioe,...roe,...ooe]);function e5(e){return soe.has(e)}let $O=e=>!e5(e);function loe(e){!e||($O=t=>t.startsWith("on")?!e5(t):e(t))}try{loe(require("@emotion/is-prop-valid").default)}catch{}function uoe(e,t,n){const r={};for(const i in e)($O(i)||n===!0&&e5(i)||!t&&!e5(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function mP(e,t,n){return typeof e=="string"?e:gt.transform(t+n*e)}function coe(e,t,n){const r=mP(t,e.x,e.width),i=mP(n,e.y,e.height);return`${r} ${i}`}const doe={offset:"stroke-dashoffset",array:"stroke-dasharray"},foe={offset:"strokeDashoffset",array:"strokeDasharray"};function hoe(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?doe:foe;e[o.offset]=gt.transform(-r);const a=gt.transform(t),s=gt.transform(n);e[o.array]=`${a} ${s}`}function s8(e,{attrX:t,attrY:n,originX:r,originY:i,pathLength:o,pathSpacing:a=1,pathOffset:s=0,...l},d,p){o8(e,l,d,p),e.attrs=e.style,e.style={};const{attrs:g,style:m,dimensions:y}=e;g.transform&&(y&&(m.transform=g.transform),delete g.transform),y&&(r!==void 0||i!==void 0||m.transform)&&(m.transformOrigin=coe(y,r!==void 0?r:.5,i!==void 0?i:.5)),t!==void 0&&(g.x=t),n!==void 0&&(g.y=n),o!==void 0&&hoe(g,o,a,s,!1)}const HO=()=>({...a8(),attrs:{}});function poe(e,t){const n=C.exports.useMemo(()=>{const r=HO();return s8(r,t,{enableHardwareAcceleration:!1},e.transformTemplate),{...r.attrs,style:{...r.style}}},[t]);if(e.style){const r={};BO(r,e.style,e),n.style={...r,...n.style}}return n}function goe(e=!1){return(n,r,i,o,{latestValues:a},s)=>{const d=(r8(n)?poe:noe)(r,a,s),g={...uoe(r,typeof n=="string",e),...d,ref:o};return i&&(g["data-projection-id"]=i),C.exports.createElement(n,g)}}const WO=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function VO(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 UO=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength"]);function GO(e,t,n,r){VO(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(UO.has(i)?i:WO(i),t.attrs[i])}function l8(e){const{style:t}=e,n={};for(const r in t)(Ss(t[r])||LO(r,e))&&(n[r]=t[r]);return n}function jO(e){const t=l8(e);for(const n in e)if(Ss(e[n])){const r=n==="x"||n==="y"?"attr"+n.toUpperCase():n;t[r]=e[n]}return t}function u8(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 Bm=e=>Array.isArray(e),moe=e=>Boolean(e&&typeof e=="object"&&e.mix&&e.toValue),qO=e=>Bm(e)?e[e.length-1]||0:e;function Yy(e){const t=Ss(e)?e.get():e;return moe(t)?t.toValue():t}function voe({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const a={latestValues:yoe(r,i,o,e),renderState:t()};return n&&(a.mount=s=>n(r,s,a)),a}const KO=e=>(t,n)=>{const r=C.exports.useContext(C4),i=C.exports.useContext(P0),o=()=>voe(e,t,r,i);return n?o():E4(o)};function yoe(e,t,n,r){const i={},o=r(e);for(const m in o)i[m]=Yy(o[m]);let{initial:a,animate:s}=e;const l=k4(e),d=PO(e);t&&d&&!l&&e.inherit!==!1&&(a===void 0&&(a=t.initial),s===void 0&&(s=t.animate));let p=n?n.initial===!1:!1;p=p||a===!1;const g=p?s:a;return g&&typeof g!="boolean"&&!_4(g)&&(Array.isArray(g)?g:[g]).forEach(y=>{const b=u8(e,y);if(!b)return;const{transitionEnd:S,transition:E,...P}=b;for(const k in P){let L=P[k];if(Array.isArray(L)){const I=p?L.length-1:0;L=L[I]}L!==null&&(i[k]=L)}for(const k in S)i[k]=S[k]}),i}const xoe={useVisualState:KO({scrapeMotionValuesFromProps:jO,createRenderState:HO,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}}s8(n,r,{enableHardwareAcceleration:!1},e.transformTemplate),GO(t,n)}})},boe={useVisualState:KO({scrapeMotionValuesFromProps:l8,createRenderState:a8})};function Soe(e,{forwardMotionProps:t=!1},n,r,i){return{...r8(e)?xoe:boe,preloadedFeatures:n,useRender:goe(t),createVisualElement:r,projectionNodeConstructor:i,Component:e}}var Vn;(function(e){e.Animate="animate",e.Hover="whileHover",e.Tap="whileTap",e.Drag="whileDrag",e.Focus="whileFocus",e.InView="whileInView",e.Exit="exit"})(Vn||(Vn={}));function P4(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}function o6(e,t,n,r){C.exports.useEffect(()=>{const i=e.current;if(n&&i)return P4(i,t,n,r)},[e,t,n,r])}function woe({whileFocus:e,visualElement:t}){const{animationState:n}=t,r=()=>{n&&n.setActive(Vn.Focus,!0)},i=()=>{n&&n.setActive(Vn.Focus,!1)};o6(t,"focus",e?r:void 0),o6(t,"blur",e?i:void 0)}function ZO(e){return typeof PointerEvent<"u"&&e instanceof PointerEvent?e.pointerType==="mouse":e instanceof MouseEvent}function YO(e){return!!e.touches}function Coe(e){return t=>{const n=t instanceof MouseEvent;(!n||n&&t.button===0)&&e(t)}}const _oe={pageX:0,pageY:0};function koe(e,t="page"){const r=e.touches[0]||e.changedTouches[0]||_oe;return{x:r[t+"X"],y:r[t+"Y"]}}function Eoe(e,t="page"){return{x:e[t+"X"],y:e[t+"Y"]}}function c8(e,t="page"){return{point:YO(e)?koe(e,t):Eoe(e,t)}}const XO=(e,t=!1)=>{const n=r=>e(r,c8(r));return t?Coe(n):n},Poe=()=>Vf&&window.onpointerdown===null,Toe=()=>Vf&&window.ontouchstart===null,Loe=()=>Vf&&window.onmousedown===null,Aoe={pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointercancel:"mousecancel",pointerover:"mouseover",pointerout:"mouseout",pointerenter:"mouseenter",pointerleave:"mouseleave"},Ioe={pointerdown:"touchstart",pointermove:"touchmove",pointerup:"touchend",pointercancel:"touchcancel"};function QO(e){return Poe()?e:Toe()?Ioe[e]:Loe()?Aoe[e]:e}function Wp(e,t,n,r){return P4(e,QO(t),XO(n,t==="pointerdown"),r)}function t5(e,t,n,r){return o6(e,QO(t),n&&XO(n,t==="pointerdown"),r)}function JO(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const vP=JO("dragHorizontal"),yP=JO("dragVertical");function eN(e){let t=!1;if(e==="y")t=yP();else if(e==="x")t=vP();else{const n=vP(),r=yP();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function tN(){const e=eN(!0);return e?(e(),!1):!0}function xP(e,t,n){return(r,i)=>{!ZO(r)||tN()||(e.animationState&&e.animationState.setActive(Vn.Hover,t),n&&n(r,i))}}function Moe({onHoverStart:e,onHoverEnd:t,whileHover:n,visualElement:r}){t5(r,"pointerenter",e||n?xP(r,!0,e):void 0,{passive:!e}),t5(r,"pointerleave",t||n?xP(r,!1,t):void 0,{passive:!t})}const nN=(e,t)=>t?e===t?!0:nN(e,t.parentElement):!1;function d8(e){return C.exports.useEffect(()=>()=>e(),[])}function rN(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);iMath.min(Math.max(n,e),t),Bb=.001,Ooe=.01,bP=10,Noe=.05,Doe=1;function zoe({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;Roe(e<=bP*1e3);let a=1-t;a=r5(Noe,Doe,a),e=r5(Ooe,bP,e/1e3),a<1?(i=d=>{const p=d*a,g=p*e,m=p-n,y=a6(d,a),b=Math.exp(-g);return Bb-m/y*b},o=d=>{const g=d*a*e,m=g*n+n,y=Math.pow(a,2)*Math.pow(d,2)*e,b=Math.exp(-g),S=a6(Math.pow(d,2),a);return(-i(d)+Bb>0?-1:1)*((m-y)*b)/S}):(i=d=>{const p=Math.exp(-d*e),g=(d-n)*e+1;return-Bb+p*g},o=d=>{const p=Math.exp(-d*e),g=(n-d)*(e*e);return p*g});const s=5/e,l=Boe(i,o,s);if(e=e*1e3,isNaN(l))return{stiffness:100,damping:10,duration:e};{const d=Math.pow(l,2)*r;return{stiffness:d,damping:a*2*Math.sqrt(r*d),duration:e}}}const Foe=12;function Boe(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function Woe(e){let t=Object.assign({velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1},e);if(!SP(e,Hoe)&&SP(e,$oe)){const n=zoe(e);t=Object.assign(Object.assign(Object.assign({},t),n),{velocity:0,mass:1}),t.isResolvedFromDuration=!0}return t}function f8(e){var{from:t=0,to:n=1,restSpeed:r=2,restDelta:i}=e,o=rN(e,["from","to","restSpeed","restDelta"]);const a={done:!1,value:t};let{stiffness:s,damping:l,mass:d,velocity:p,duration:g,isResolvedFromDuration:m}=Woe(o),y=wP,b=wP;function S(){const E=p?-(p/1e3):0,P=n-t,k=l/(2*Math.sqrt(s*d)),L=Math.sqrt(s/d)/1e3;if(i===void 0&&(i=Math.min(Math.abs(n-t)/100,.4)),k<1){const I=a6(L,k);y=O=>{const N=Math.exp(-k*L*O);return n-N*((E+k*L*P)/I*Math.sin(I*O)+P*Math.cos(I*O))},b=O=>{const N=Math.exp(-k*L*O);return k*L*N*(Math.sin(I*O)*(E+k*L*P)/I+P*Math.cos(I*O))-N*(Math.cos(I*O)*(E+k*L*P)-I*P*Math.sin(I*O))}}else if(k===1)y=I=>n-Math.exp(-L*I)*(P+(E+L*P)*I);else{const I=L*Math.sqrt(k*k-1);y=O=>{const N=Math.exp(-k*L*O),D=Math.min(I*O,300);return n-N*((E+k*L*P)*Math.sinh(D)+I*P*Math.cosh(D))/I}}}return S(),{next:E=>{const P=y(E);if(m)a.done=E>=g;else{const k=b(E)*1e3,L=Math.abs(k)<=r,I=Math.abs(n-P)<=i;a.done=L&&I}return a.value=a.done?n:P,a},flipTarget:()=>{p=-p,[t,n]=[n,t],S()}}}f8.needsInterpolation=(e,t)=>typeof e=="string"||typeof t=="string";const wP=e=>0,$m=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},Sr=(e,t,n)=>-n*e+n*t+e;function $b(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 CP({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=$b(l,s,e+1/3),o=$b(l,s,e),a=$b(l,s,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(a*255),alpha:r}}const Voe=(e,t,n)=>{const r=e*e,i=t*t;return Math.sqrt(Math.max(0,n*(i-r)+r))},Uoe=[r6,Ac,vf],_P=e=>Uoe.find(t=>t.test(e)),iN=(e,t)=>{let n=_P(e),r=_P(t),i=n.parse(e),o=r.parse(t);n===vf&&(i=CP(i),n=Ac),r===vf&&(o=CP(o),r=Ac);const a=Object.assign({},i);return s=>{for(const l in a)l!=="alpha"&&(a[l]=Voe(i[l],o[l],s));return a.alpha=Sr(i.alpha,o.alpha,s),n.transform(a)}},s6=e=>typeof e=="number",Goe=(e,t)=>n=>t(e(n)),T4=(...e)=>e.reduce(Goe);function oN(e,t){return s6(e)?n=>Sr(e,t,n):Xi.test(e)?iN(e,t):sN(e,t)}const aN=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,a)=>oN(o,t[a]));return o=>{for(let a=0;a{const n=Object.assign(Object.assign({},e),t),r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=oN(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}};function kP(e){const t=hu.parse(e),n=t.length;let r=0,i=0,o=0;for(let a=0;a{const n=hu.createTransformer(t),r=kP(e),i=kP(t);return r.numHSL===i.numHSL&&r.numRGB===i.numRGB&&r.numNumbers>=i.numNumbers?T4(aN(r.parsed,i.parsed),n):a=>`${a>0?t:e}`},qoe=(e,t)=>n=>Sr(e,t,n);function Koe(e){if(typeof e=="number")return qoe;if(typeof e=="string")return Xi.test(e)?iN:sN;if(Array.isArray(e))return aN;if(typeof e=="object")return joe}function Zoe(e,t,n){const r=[],i=n||Koe(e[0]),o=e.length-1;for(let a=0;an($m(e,t,r))}function Xoe(e,t){const n=e.length,r=n-1;return i=>{let o=0,a=!1;if(i<=e[0]?a=!0:i>=e[r]&&(o=r-1,a=!0),!a){let l=1;for(;li||l===r);l++);o=l-1}const s=$m(e[o],e[o+1],i);return t[o](s)}}function lN(e,t,{clamp:n=!0,ease:r,mixer:i}={}){const o=e.length;n5(o===t.length),n5(!r||!Array.isArray(r)||r.length===o-1),e[0]>e[o-1]&&(e=[].concat(e),t=[].concat(t),e.reverse(),t.reverse());const a=Zoe(t,r,i),s=o===2?Yoe(e,a):Xoe(e,a);return n?l=>s(r5(e[0],e[o-1],l)):s}const L4=e=>t=>1-e(1-t),h8=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Qoe=e=>t=>Math.pow(t,e),uN=e=>t=>t*t*((e+1)*t-e),Joe=e=>{const t=uN(e);return n=>(n*=2)<1?.5*t(n):.5*(2-Math.pow(2,-10*(n-1)))},cN=1.525,eae=4/11,tae=8/11,nae=9/10,p8=e=>e,g8=Qoe(2),rae=L4(g8),dN=h8(g8),fN=e=>1-Math.sin(Math.acos(e)),m8=L4(fN),iae=h8(m8),v8=uN(cN),oae=L4(v8),aae=h8(v8),sae=Joe(cN),lae=4356/361,uae=35442/1805,cae=16061/1805,i5=e=>{if(e===1||e===0)return e;const t=e*e;return ee<.5?.5*(1-i5(1-e*2)):.5*i5(e*2-1)+.5;function hae(e,t){return e.map(()=>t||dN).splice(0,e.length-1)}function pae(e){const t=e.length;return e.map((n,r)=>r!==0?r/(t-1):0)}function gae(e,t){return e.map(n=>n*t)}function Xy({from:e=0,to:t=1,ease:n,offset:r,duration:i=300}){const o={done:!1,value:e},a=Array.isArray(t)?t:[e,t],s=gae(r&&r.length===a.length?r:pae(a),i);function l(){return lN(s,a,{ease:Array.isArray(n)?n:hae(a,n)})}let d=l();return{next:p=>(o.value=d(p),o.done=p>=i,o),flipTarget:()=>{a.reverse(),d=l()}}}function mae({velocity:e=0,from:t=0,power:n=.8,timeConstant:r=350,restDelta:i=.5,modifyTarget:o}){const a={done:!1,value:t};let s=n*e;const l=t+s,d=o===void 0?l:o(l);return d!==l&&(s=d-t),{next:p=>{const g=-s*Math.exp(-p/r);return a.done=!(g>i||g<-i),a.value=a.done?d:d+g,a},flipTarget:()=>{}}}const EP={keyframes:Xy,spring:f8,decay:mae};function vae(e){if(Array.isArray(e.to))return Xy;if(EP[e.type])return EP[e.type];const t=new Set(Object.keys(e));return t.has("ease")||t.has("duration")&&!t.has("dampingRatio")?Xy:t.has("dampingRatio")||t.has("stiffness")||t.has("mass")||t.has("damping")||t.has("restSpeed")||t.has("restDelta")?f8:Xy}const hN=1/60*1e3,yae=typeof performance<"u"?()=>performance.now():()=>Date.now(),pN=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(yae()),hN);function xae(e){let t=[],n=[],r=0,i=!1,o=!1;const a=new WeakSet,s={schedule:(l,d=!1,p=!1)=>{const g=p&&i,m=g?t:n;return d&&a.add(l),m.indexOf(l)===-1&&(m.push(l),g&&i&&(r=t.length)),l},cancel:l=>{const d=n.indexOf(l);d!==-1&&n.splice(d,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 d=0;d(e[t]=xae(()=>Hm=!0),e),{}),Sae=mv.reduce((e,t)=>{const n=A4[t];return e[t]=(r,i=!1,o=!1)=>(Hm||_ae(),n.schedule(r,i,o)),e},{}),wae=mv.reduce((e,t)=>(e[t]=A4[t].cancel,e),{});mv.reduce((e,t)=>(e[t]=()=>A4[t].process(Vp),e),{});const Cae=e=>A4[e].process(Vp),gN=e=>{Hm=!1,Vp.delta=l6?hN:Math.max(Math.min(e-Vp.timestamp,bae),1),Vp.timestamp=e,u6=!0,mv.forEach(Cae),u6=!1,Hm&&(l6=!1,pN(gN))},_ae=()=>{Hm=!0,l6=!0,u6||pN(gN)},kae=()=>Vp;function mN(e,t,n=0){return e-t-n}function Eae(e,t,n=0,r=!0){return r?mN(t+-e,t,n):t-(e-t)+n}function Pae(e,t,n,r){return r?e>=t+n:e<=-n}const Tae=e=>{const t=({delta:n})=>e(n);return{start:()=>Sae.update(t,!0),stop:()=>wae.update(t)}};function vN(e){var t,n,{from:r,autoplay:i=!0,driver:o=Tae,elapsed:a=0,repeat:s=0,repeatType:l="loop",repeatDelay:d=0,onPlay:p,onStop:g,onComplete:m,onRepeat:y,onUpdate:b}=e,S=rN(e,["from","autoplay","driver","elapsed","repeat","repeatType","repeatDelay","onPlay","onStop","onComplete","onRepeat","onUpdate"]);let{to:E}=S,P,k=0,L=S.duration,I,O=!1,N=!0,D;const F=vae(S);!((n=(t=F).needsInterpolation)===null||n===void 0)&&n.call(t,r,E)&&(D=lN([0,100],[r,E],{clamp:!1}),r=0,E=100);const U=F(Object.assign(Object.assign({},S),{from:r,to:E}));function W(){k++,l==="reverse"?(N=k%2===0,a=Eae(a,L,d,N)):(a=mN(a,L,d),l==="mirror"&&U.flipTarget()),O=!1,y&&y()}function q(){P.stop(),m&&m()}function pe(ye){if(N||(ye=-ye),a+=ye,!O){const Pe=U.next(Math.max(0,a));I=Pe.value,D&&(I=D(I)),O=N?Pe.done:a<=0}b?.(I),O&&(k===0&&(L??(L=a)),k{g?.(),P.stop()}}}function yN(e,t){return t?e*(1e3/t):0}function Lae({from:e=0,velocity:t=0,min:n,max:r,power:i=.8,timeConstant:o=750,bounceStiffness:a=500,bounceDamping:s=10,restDelta:l=1,modifyTarget:d,driver:p,onUpdate:g,onComplete:m,onStop:y}){let b;function S(L){return n!==void 0&&Lr}function E(L){return n===void 0?r:r===void 0||Math.abs(n-L){var O;g?.(I),(O=L.onUpdate)===null||O===void 0||O.call(L,I)},onComplete:m,onStop:y}))}function k(L){P(Object.assign({type:"spring",stiffness:a,damping:s,restDelta:l},L))}if(S(e))k({from:e,velocity:t,to:E(e)});else{let L=i*t+e;typeof d<"u"&&(L=d(L));const I=E(L),O=I===n?-1:1;let N,D;const F=U=>{N=D,D=U,t=yN(U-N,kae().delta),(O===1&&U>I||O===-1&&Ub?.stop()}}const c6=e=>e.hasOwnProperty("x")&&e.hasOwnProperty("y"),PP=e=>c6(e)&&e.hasOwnProperty("z"),j2=(e,t)=>Math.abs(e-t);function y8(e,t){if(s6(e)&&s6(t))return j2(e,t);if(c6(e)&&c6(t)){const n=j2(e.x,t.x),r=j2(e.y,t.y),i=PP(e)&&PP(t)?j2(e.z,t.z):0;return Math.sqrt(Math.pow(n,2)+Math.pow(r,2)+Math.pow(i,2))}}const xN=(e,t)=>1-3*t+3*e,bN=(e,t)=>3*t-6*e,SN=e=>3*e,o5=(e,t,n)=>((xN(t,n)*e+bN(t,n))*e+SN(t))*e,wN=(e,t,n)=>3*xN(t,n)*e*e+2*bN(t,n)*e+SN(t),Aae=1e-7,Iae=10;function Mae(e,t,n,r,i){let o,a,s=0;do a=t+(n-t)/2,o=o5(a,r,i)-e,o>0?n=a:t=a;while(Math.abs(o)>Aae&&++s=Oae?Nae(a,g,e,n):m===0?g:Mae(a,s,s+q2,e,n)}return a=>a===0||a===1?a:o5(o(a),t,r)}function zae({onTap:e,onTapStart:t,onTapCancel:n,whileTap:r,visualElement:i}){const o=e||t||n||r,a=C.exports.useRef(!1),s=C.exports.useRef(null),l={passive:!(t||e||n||y)};function d(){s.current&&s.current(),s.current=null}function p(){return d(),a.current=!1,i.animationState&&i.animationState.setActive(Vn.Tap,!1),!tN()}function g(b,S){!p()||(nN(i.getInstance(),b.target)?e&&e(b,S):n&&n(b,S))}function m(b,S){!p()||n&&n(b,S)}function y(b,S){d(),!a.current&&(a.current=!0,s.current=T4(Wp(window,"pointerup",g,l),Wp(window,"pointercancel",m,l)),i.animationState&&i.animationState.setActive(Vn.Tap,!0),t&&t(b,S))}t5(i,"pointerdown",o?y:void 0,l),d8(d)}const Fae="production",CN=typeof process>"u"||process.env===void 0?Fae:"production",TP=new Set;function _N(e,t,n){e||TP.has(t)||(console.warn(t),n&&console.warn(n),TP.add(t))}const d6=new WeakMap,Hb=new WeakMap,Bae=e=>{const t=d6.get(e.target);t&&t(e)},$ae=e=>{e.forEach(Bae)};function Hae({root:e,...t}){const n=e||document;Hb.has(n)||Hb.set(n,{});const r=Hb.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver($ae,{root:e,...t})),r[i]}function Wae(e,t,n){const r=Hae(t);return d6.set(e,n),r.observe(e),()=>{d6.delete(e),r.unobserve(e)}}function Vae({visualElement:e,whileInView:t,onViewportEnter:n,onViewportLeave:r,viewport:i={}}){const o=C.exports.useRef({hasEnteredView:!1,isInView:!1});let a=Boolean(t||n||r);i.once&&o.current.hasEnteredView&&(a=!1),(typeof IntersectionObserver>"u"?jae:Gae)(a,o.current,e,i)}const Uae={some:0,all:1};function Gae(e,t,n,{root:r,margin:i,amount:o="some",once:a}){C.exports.useEffect(()=>{if(!e)return;const s={root:r?.current,rootMargin:i,threshold:typeof o=="number"?o:Uae[o]},l=d=>{const{isIntersecting:p}=d;if(t.isInView===p||(t.isInView=p,a&&!p&&t.hasEnteredView))return;p&&(t.hasEnteredView=!0),n.animationState&&n.animationState.setActive(Vn.InView,p);const g=n.getProps(),m=p?g.onViewportEnter:g.onViewportLeave;m&&m(d)};return Wae(n.getInstance(),s,l)},[e,r,i,o])}function jae(e,t,n,{fallback:r=!0}){C.exports.useEffect(()=>{!e||!r||(CN!=="production"&&_N(!1,"IntersectionObserver not available on this device. whileInView animations will trigger on mount."),requestAnimationFrame(()=>{t.hasEnteredView=!0;const{onViewportEnter:i}=n.getProps();i&&i(null),n.animationState&&n.animationState.setActive(Vn.InView,!0)}))},[e])}const Ic=e=>t=>(e(t),null),qae={inView:Ic(Vae),tap:Ic(zae),focus:Ic(woe),hover:Ic(Moe)};function x8(){const e=C.exports.useContext(P0);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=C.exports.useId();return C.exports.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function Kae(){return Zae(C.exports.useContext(P0))}function Zae(e){return e===null?!0:e.isPresent}function kN(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;re*1e3,Yae={linear:p8,easeIn:g8,easeInOut:dN,easeOut:rae,circIn:fN,circInOut:iae,circOut:m8,backIn:v8,backInOut:aae,backOut:oae,anticipate:sae,bounceIn:dae,bounceInOut:fae,bounceOut:i5},LP=e=>{if(Array.isArray(e)){n5(e.length===4);const[t,n,r,i]=e;return Dae(t,n,r,i)}else if(typeof e=="string")return Yae[e];return e},Xae=e=>Array.isArray(e)&&typeof e[0]!="number",AP=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&hu.test(t)&&!t.startsWith("url(")),Xd=()=>({type:"spring",stiffness:500,damping:25,restSpeed:10}),K2=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),Wb=()=>({type:"keyframes",ease:"linear",duration:.3}),Qae=e=>({type:"keyframes",duration:.8,values:e}),IP={x:Xd,y:Xd,z:Xd,rotate:Xd,rotateX:Xd,rotateY:Xd,rotateZ:Xd,scaleX:K2,scaleY:K2,scale:K2,opacity:Wb,backgroundColor:Wb,color:Wb,default:K2},Jae=(e,t)=>{let n;return Bm(t)?n=Qae:n=IP[e]||IP.default,{to:t,...n(t)}},ese={...FO,color:Xi,backgroundColor:Xi,outlineColor:Xi,fill:Xi,stroke:Xi,borderColor:Xi,borderTopColor:Xi,borderRightColor:Xi,borderBottomColor:Xi,borderLeftColor:Xi,filter:i6,WebkitFilter:i6},b8=e=>ese[e];function S8(e,t){var n;let r=b8(e);return r!==i6&&(r=hu),(n=r.getAnimatableNone)===null||n===void 0?void 0:n.call(r,t)}const tse={current:!1},EN=1/60*1e3,nse=typeof performance<"u"?()=>performance.now():()=>Date.now(),PN=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(nse()),EN);function rse(e){let t=[],n=[],r=0,i=!1,o=!1;const a=new WeakSet,s={schedule:(l,d=!1,p=!1)=>{const g=p&&i,m=g?t:n;return d&&a.add(l),m.indexOf(l)===-1&&(m.push(l),g&&i&&(r=t.length)),l},cancel:l=>{const d=n.indexOf(l);d!==-1&&n.splice(d,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 d=0;d(e[t]=rse(()=>Wm=!0),e),{}),ws=vv.reduce((e,t)=>{const n=I4[t];return e[t]=(r,i=!1,o=!1)=>(Wm||ase(),n.schedule(r,i,o)),e},{}),zf=vv.reduce((e,t)=>(e[t]=I4[t].cancel,e),{}),Vb=vv.reduce((e,t)=>(e[t]=()=>I4[t].process(Up),e),{}),ose=e=>I4[e].process(Up),TN=e=>{Wm=!1,Up.delta=f6?EN:Math.max(Math.min(e-Up.timestamp,ise),1),Up.timestamp=e,h6=!0,vv.forEach(ose),h6=!1,Wm&&(f6=!1,PN(TN))},ase=()=>{Wm=!0,f6=!0,h6||PN(TN)},p6=()=>Up;function LN(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(zf.read(r),e(o-t))};return ws.read(r,!0),()=>zf.read(r)}function sse({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:i,repeat:o,repeatType:a,repeatDelay:s,from:l,...d}){return!!Object.keys(d).length}function lse({ease:e,times:t,yoyo:n,flip:r,loop:i,...o}){const a={...o};return t&&(a.offset=t),o.duration&&(a.duration=a5(o.duration)),o.repeatDelay&&(a.repeatDelay=a5(o.repeatDelay)),e&&(a.ease=Xae(e)?e.map(LP):LP(e)),o.type==="tween"&&(a.type="keyframes"),(n||i||r)&&(n?a.repeatType="reverse":i?a.repeatType="loop":r&&(a.repeatType="mirror"),a.repeat=i||n||r||o.repeat),o.type!=="spring"&&(a.type="keyframes"),a}function use(e,t){var n,r;return(r=(n=(w8(e,t)||{}).delay)!==null&&n!==void 0?n:e.delay)!==null&&r!==void 0?r:0}function cse(e){return Array.isArray(e.to)&&e.to[0]===null&&(e.to=[...e.to],e.to[0]=e.from),e}function dse(e,t,n){return Array.isArray(t.to)&&e.duration===void 0&&(e.duration=.8),cse(t),sse(e)||(e={...e,...Jae(n,t.to)}),{...t,...lse(e)}}function fse(e,t,n,r,i){const o=w8(r,e)||{};let a=o.from!==void 0?o.from:t.get();const s=AP(e,n);a==="none"&&s&&typeof n=="string"?a=S8(e,n):MP(a)&&typeof n=="string"?a=RP(n):!Array.isArray(n)&&MP(n)&&typeof a=="string"&&(n=RP(a));const l=AP(e,a);function d(){const g={from:a,to:n,velocity:t.getVelocity(),onComplete:i,onUpdate:m=>t.set(m)};return o.type==="inertia"||o.type==="decay"?Lae({...g,...o}):vN({...dse(o,g,e),onUpdate:m=>{g.onUpdate(m),o.onUpdate&&o.onUpdate(m)},onComplete:()=>{g.onComplete(),o.onComplete&&o.onComplete()}})}function p(){const g=qO(n);return t.set(g),i(),o.onUpdate&&o.onUpdate(g),o.onComplete&&o.onComplete(),{stop:()=>{}}}return!l||!s||o.type===!1?p:d}function MP(e){return e===0||typeof e=="string"&&parseFloat(e)===0&&e.indexOf(" ")===-1}function RP(e){return typeof e=="number"?0:S8("",e)}function w8(e,t){return e[t]||e.default||e}function C8(e,t,n,r={}){return tse.current&&(r={type:!1}),t.start(i=>{let o;const a=fse(e,t,n,r,i),s=use(r,e),l=()=>o=a();let d;return s?d=LN(l,a5(s)):l(),()=>{d&&d(),o&&o.stop()}})}const hse=e=>/^\-?\d*\.?\d+$/.test(e),pse=e=>/^0[^.\s]+$/.test(e);function _8(e,t){e.indexOf(t)===-1&&e.push(t)}function k8(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class em{constructor(){this.subscriptions=[]}add(t){return _8(this.subscriptions,t),()=>k8(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 mse{constructor(t){this.version="7.6.2",this.timeDelta=0,this.lastUpdated=0,this.updateSubscribers=new em,this.velocityUpdateSubscribers=new em,this.renderSubscribers=new em,this.canTrackVelocity=!1,this.updateAndNotify=(n,r=!0)=>{this.prev=this.current,this.current=n;const{delta:i,timestamp:o}=p6();this.lastUpdated!==o&&(this.timeDelta=i,this.lastUpdated=o,ws.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.updateSubscribers.notify(this.current),this.velocityUpdateSubscribers.getSize()&&this.velocityUpdateSubscribers.notify(this.getVelocity()),r&&this.renderSubscribers.notify(this.current)},this.scheduleVelocityCheck=()=>ws.postRender(this.velocityCheck),this.velocityCheck=({timestamp:n})=>{n!==this.lastUpdated&&(this.prev=this.current,this.velocityUpdateSubscribers.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=gse(this.current)}onChange(t){return this.updateSubscribers.add(t)}clearListeners(){this.updateSubscribers.clear()}onRenderRequest(t){return t(this.get()),this.renderSubscribers.add(t)}attach(t){this.passiveEffect=t}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?yN(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.stopAnimation=t(n)}).then(()=>this.clearAnimation())}stop(){this.stopAnimation&&this.stopAnimation(),this.clearAnimation()}isAnimating(){return!!this.stopAnimation}clearAnimation(){this.stopAnimation=null}destroy(){this.updateSubscribers.clear(),this.renderSubscribers.clear(),this.stop()}}function d0(e){return new mse(e)}const AN=e=>t=>t.test(e),vse={test:e=>e==="auto",parse:e=>e},IN=[Uf,gt,yl,vc,Gie,Uie,vse],ig=e=>IN.find(AN(e)),yse=[...IN,Xi,hu],xse=e=>yse.find(AN(e));function bse(e){const t={};return e.forEachValue((n,r)=>t[r]=n.get()),t}function Sse(e){const t={};return e.forEachValue((n,r)=>t[r]=n.getVelocity()),t}function M4(e,t,n){const r=e.getProps();return u8(r,t,n!==void 0?n:r.custom,bse(e),Sse(e))}function wse(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,d0(n))}function Cse(e,t){const n=M4(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const a in o){const s=qO(o[a]);wse(e,a,s)}}function _se(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;sg6(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=g6(e,t,n);else{const i=typeof t=="function"?M4(e,t,n.custom):t;r=MN(e,i,n)}return r.then(()=>e.notifyAnimationComplete(t))}function g6(e,t,n={}){var r;const i=M4(e,t,n.custom);let{transition:o=e.getDefaultTransition()||{}}=i||{};n.transitionOverride&&(o=n.transitionOverride);const a=i?()=>MN(e,i,n):()=>Promise.resolve(),s=!((r=e.variantChildren)===null||r===void 0)&&r.size?(d=0)=>{const{delayChildren:p=0,staggerChildren:g,staggerDirection:m}=o;return Tse(e,t,p+d,g,m,n)}:()=>Promise.resolve(),{when:l}=o;if(l){const[d,p]=l==="beforeChildren"?[a,s]:[s,a];return d().then(p)}else return Promise.all([a(),s(n.delay)])}function MN(e,t,{delay:n=0,transitionOverride:r,type:i}={}){var o;let{transition:a=e.getDefaultTransition(),transitionEnd:s,...l}=e.makeTargetAnimatable(t);const d=e.getValue("willChange");r&&(a=r);const p=[],g=i&&((o=e.animationState)===null||o===void 0?void 0:o.getState()[i]);for(const m in l){const y=e.getValue(m),b=l[m];if(!y||b===void 0||g&&Ase(g,m))continue;let S={delay:n,...a};e.shouldReduceMotion&&hv.has(m)&&(S={...S,type:!1,delay:0});let E=C8(m,y,b,S);s5(d)&&(d.add(m),E=E.then(()=>d.remove(m))),p.push(E)}return Promise.all(p).then(()=>{s&&Cse(e,s)})}function Tse(e,t,n=0,r=0,i=1,o){const a=[],s=(e.variantChildren.size-1)*r,l=i===1?(d=0)=>d*r:(d=0)=>s-d*r;return Array.from(e.variantChildren).sort(Lse).forEach((d,p)=>{a.push(g6(d,t,{...o,delay:n+l(p)}).then(()=>d.notifyAnimationComplete(t)))}),Promise.all(a)}function Lse(e,t){return e.sortNodePosition(t)}function Ase({protectedKeys:e,needsAnimating:t},n){const r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}const E8=[Vn.Animate,Vn.InView,Vn.Focus,Vn.Hover,Vn.Tap,Vn.Drag,Vn.Exit],Ise=[...E8].reverse(),Mse=E8.length;function Rse(e){return t=>Promise.all(t.map(({animation:n,options:r})=>Pse(e,n,r)))}function Ose(e){let t=Rse(e);const n=Dse();let r=!0;const i=(l,d)=>{const p=M4(e,d);if(p){const{transition:g,transitionEnd:m,...y}=p;l={...l,...y,...m}}return l};function o(l){t=l(e)}function a(l,d){var p;const g=e.getProps(),m=e.getVariantContext(!0)||{},y=[],b=new Set;let S={},E=1/0;for(let k=0;kE&&N;const q=Array.isArray(O)?O:[O];let pe=q.reduce(i,{});D===!1&&(pe={});const{prevResolvedValues:fe={}}=I,ye={...fe,...pe},Pe=xe=>{W=!0,b.delete(xe),I.needsAnimating[xe]=!0};for(const xe in ye){const Y=pe[xe],V=fe[xe];S.hasOwnProperty(xe)||(Y!==V?Bm(Y)&&Bm(V)?!kN(Y,V)||U?Pe(xe):I.protectedKeys[xe]=!0:Y!==void 0?Pe(xe):b.add(xe):Y!==void 0&&b.has(xe)?Pe(xe):I.protectedKeys[xe]=!0)}I.prevProp=O,I.prevResolvedValues=pe,I.isActive&&(S={...S,...pe}),r&&e.blockInitialAnimation&&(W=!1),W&&!F&&y.push(...q.map(xe=>({animation:xe,options:{type:L,...l}})))}if(b.size){const k={};b.forEach(L=>{const I=e.getBaseTarget(L);I!==void 0&&(k[L]=I)}),y.push({animation:k})}let P=Boolean(y.length);return r&&g.initial===!1&&!e.manuallyAnimateOnMount&&(P=!1),r=!1,P?t(y):Promise.resolve()}function s(l,d,p){var g;if(n[l].isActive===d)return Promise.resolve();(g=e.variantChildren)===null||g===void 0||g.forEach(y=>{var b;return(b=y.animationState)===null||b===void 0?void 0:b.setActive(l,d)}),n[l].isActive=d;const m=a(p,l);for(const y in n)n[y].protectedKeys={};return m}return{animateChanges:a,setActive:s,setAnimateFunction:o,getState:()=>n}}function Nse(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!kN(t,e):!1}function Qd(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Dse(){return{[Vn.Animate]:Qd(!0),[Vn.InView]:Qd(),[Vn.Hover]:Qd(),[Vn.Tap]:Qd(),[Vn.Drag]:Qd(),[Vn.Focus]:Qd(),[Vn.Exit]:Qd()}}const zse={animation:Ic(({visualElement:e,animate:t})=>{e.animationState||(e.animationState=Ose(e)),_4(t)&&C.exports.useEffect(()=>t.subscribe(e),[t])}),exit:Ic(e=>{const{custom:t,visualElement:n}=e,[r,i]=x8(),o=C.exports.useContext(P0);C.exports.useEffect(()=>{n.isPresent=r;const a=n.animationState&&n.animationState.setActive(Vn.Exit,!r,{custom:o&&o.custom||t});a&&!r&&a.then(i)},[r])})};class RN{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 d=Gb(this.lastMoveEventInfo,this.history),p=this.startEvent!==null,g=y8(d.offset,{x:0,y:0})>=3;if(!p&&!g)return;const{point:m}=d,{timestamp:y}=p6();this.history.push({...m,timestamp:y});const{onStart:b,onMove:S}=this.handlers;p||(b&&b(this.lastMoveEvent,d),this.startEvent=this.lastMoveEvent),S&&S(this.lastMoveEvent,d)},this.handlePointerMove=(d,p)=>{if(this.lastMoveEvent=d,this.lastMoveEventInfo=Ub(p,this.transformPagePoint),ZO(d)&&d.buttons===0){this.handlePointerUp(d,p);return}ws.update(this.updatePoint,!0)},this.handlePointerUp=(d,p)=>{this.end();const{onEnd:g,onSessionEnd:m}=this.handlers,y=Gb(Ub(p,this.transformPagePoint),this.history);this.startEvent&&g&&g(d,y),m&&m(d,y)},YO(t)&&t.touches.length>1)return;this.handlers=n,this.transformPagePoint=r;const i=c8(t),o=Ub(i,this.transformPagePoint),{point:a}=o,{timestamp:s}=p6();this.history=[{...a,timestamp:s}];const{onSessionStart:l}=n;l&&l(t,Gb(o,this.history)),this.removeListeners=T4(Wp(window,"pointermove",this.handlePointerMove),Wp(window,"pointerup",this.handlePointerUp),Wp(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),zf.update(this.updatePoint)}}function Ub(e,t){return t?{point:t(e.point)}:e}function OP(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Gb({point:e},t){return{point:e,delta:OP(e,ON(t)),offset:OP(e,Fse(t)),velocity:Bse(t,.1)}}function Fse(e){return e[0]}function ON(e){return e[e.length-1]}function Bse(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=ON(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>a5(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 NP(e,t=0,n=.01){return y8(e,t)n&&(e=r?Sr(n,e,r.max):Math.min(e,n)),e}function BP(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 Wse(e,{top:t,left:n,bottom:r,right:i}){return{x:BP(e.x,n,i),y:BP(e.y,t,r)}}function $P(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=$m(t.min,t.max-r,e.min):r>i&&(n=$m(e.min,e.max-i,t.min)),r5(0,1,n)}function Gse(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 m6=.35;function jse(e=m6){return e===!1?e=0:e===!0&&(e=m6),{x:HP(e,"left","right"),y:HP(e,"top","bottom")}}function HP(e,t,n){return{min:WP(e,t),max:WP(e,n)}}function WP(e,t){var n;return typeof e=="number"?e:(n=e[t])!==null&&n!==void 0?n:0}const VP=()=>({translate:0,scale:1,origin:0,originPoint:0}),rm=()=>({x:VP(),y:VP()}),UP=()=>({min:0,max:0}),bi=()=>({x:UP(),y:UP()});function il(e){return[e("x"),e("y")]}function NN({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function qse({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Kse(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 jb(e){return e===void 0||e===1}function v6({scale:e,scaleX:t,scaleY:n}){return!jb(e)||!jb(t)||!jb(n)}function rf(e){return v6(e)||DN(e)||e.z||e.rotate||e.rotateX||e.rotateY}function DN(e){return GP(e.x)||GP(e.y)}function GP(e){return e&&e!=="0%"}function l5(e,t,n){const r=e-n,i=t*r;return n+i}function jP(e,t,n,r,i){return i!==void 0&&(e=l5(e,i,r)),l5(e,n,r)+t}function y6(e,t=0,n=1,r,i){e.min=jP(e.min,t,n,r,i),e.max=jP(e.max,t,n,r,i)}function zN(e,{x:t,y:n}){y6(e.x,t.translate,t.scale,t.originPoint),y6(e.y,n.translate,n.scale,n.originPoint)}function Zse(e,t,n,r=!1){var i,o;const a=n.length;if(!a)return;t.x=t.y=1;let s,l;for(let d=0;d{this.stopAnimation(),n&&this.snapToCursor(c8(s,"page").point)},i=(s,l)=>{var d;const{drag:p,dragPropagation:g,onDragStart:m}=this.getProps();p&&!g&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=eN(p),!this.openGlobalLock)||(this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),il(y=>{var b,S;let E=this.getAxisMotionValue(y).get()||0;if(yl.test(E)){const P=(S=(b=this.visualElement.projection)===null||b===void 0?void 0:b.layout)===null||S===void 0?void 0:S.actual[y];P&&(E=aa(P)*(parseFloat(E)/100))}this.originPoint[y]=E}),m?.(s,l),(d=this.visualElement.animationState)===null||d===void 0||d.setActive(Vn.Drag,!0))},o=(s,l)=>{const{dragPropagation:d,dragDirectionLock:p,onDirectionLock:g,onDrag:m}=this.getProps();if(!d&&!this.openGlobalLock)return;const{offset:y}=l;if(p&&this.currentDirection===null){this.currentDirection=tle(y),this.currentDirection!==null&&g?.(this.currentDirection);return}this.updateAxis("x",l.point,y),this.updateAxis("y",l.point,y),this.visualElement.syncRender(),m?.(s,l)},a=(s,l)=>this.stop(s,l);this.panSession=new RN(t,{onSessionStart:r,onStart:i,onMove:o,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o?.(t,n)}cancel(){var t,n;this.isDragging=!1,this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!1),(t=this.panSession)===null||t===void 0||t.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),(n=this.visualElement.animationState)===null||n===void 0||n.setActive(Vn.Drag,!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!Z2(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let a=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(a=Hse(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&&Pp(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=Wse(r.actual,t):this.constraints=!1,this.elastic=jse(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&il(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=Gse(r.actual[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Pp(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=Qse(r,i.root,this.visualElement.getTransformPagePoint());let a=Vse(i.layout.actual,o);if(n){const s=n(qse(a));this.hasMutatedConstraints=!!s,s&&(a=NN(s))}return a}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:a,onDragTransitionEnd:s}=this.getProps(),l=this.constraints||{},d=il(p=>{var g;if(!Z2(p,n,this.currentDirection))return;let m=(g=l?.[p])!==null&&g!==void 0?g:{};a&&(m={min:0,max:0});const y=i?200:1e6,b=i?40:1e7,S={type:"inertia",velocity:r?t[p]:0,bounceStiffness:y,bounceDamping:b,timeConstant:750,restDelta:1,restSpeed:10,...o,...m};return this.startAxisValueAnimation(p,S)});return Promise.all(d).then(s)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return C8(t,r,0,n)}stopAnimation(){il(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){var n,r;const i="_drag"+t.toUpperCase(),o=this.visualElement.getProps()[i];return o||this.visualElement.getValue(t,(r=(n=this.visualElement.getProps().initial)===null||n===void 0?void 0:n[t])!==null&&r!==void 0?r:0)}snapToCursor(t){il(n=>{const{drag:r}=this.getProps();if(!Z2(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.actual[n];o.set(t[n]-Sr(a,s,.5))}})}scalePositionWithinConstraints(){var t;const{drag:n,dragConstraints:r}=this.getProps(),{projection:i}=this.visualElement;if(!Pp(r)||!i||!this.constraints)return;this.stopAnimation();const o={x:0,y:0};il(s=>{const l=this.getAxisMotionValue(s);if(l){const d=l.get();o[s]=Use({min:d,max:d},this.constraints[s])}});const{transformTemplate:a}=this.visualElement.getProps();this.visualElement.getInstance().style.transform=a?a({},""):"none",(t=i.root)===null||t===void 0||t.updateScroll(),i.updateLayout(),this.resolveConstraints(),il(s=>{if(!Z2(s,n,null))return;const l=this.getAxisMotionValue(s),{min:d,max:p}=this.constraints[s];l.set(Sr(d,p,o[s]))})}addListeners(){var t;Jse.set(this.visualElement,this);const n=this.visualElement.getInstance(),r=Wp(n,"pointerdown",d=>{const{drag:p,dragListener:g=!0}=this.getProps();p&&g&&this.start(d)}),i=()=>{const{dragConstraints:d}=this.getProps();Pp(d)&&(this.constraints=this.resolveRefConstraints())},{projection:o}=this.visualElement,a=o.addEventListener("measure",i);o&&!o.layout&&((t=o.root)===null||t===void 0||t.updateScroll(),o.updateLayout()),i();const s=P4(window,"resize",()=>this.scalePositionWithinConstraints()),l=o.addEventListener("didUpdate",({delta:d,hasLayoutChanged:p})=>{this.isDragging&&p&&(il(g=>{const m=this.getAxisMotionValue(g);!m||(this.originPoint[g]+=d[g].translate,m.set(m.get()+d[g].translate))}),this.visualElement.syncRender())});return()=>{s(),r(),a(),l?.()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:a=m6,dragMomentum:s=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:a,dragMomentum:s}}}function Z2(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function tle(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}function nle(e){const{dragControls:t,visualElement:n}=e,r=E4(()=>new ele(n));C.exports.useEffect(()=>t&&t.subscribe(r),[r,t]),C.exports.useEffect(()=>r.addListeners(),[r])}function rle({onPan:e,onPanStart:t,onPanEnd:n,onPanSessionStart:r,visualElement:i}){const o=e||t||n||r,a=C.exports.useRef(null),{transformPagePoint:s}=C.exports.useContext(t8),l={onSessionStart:r,onStart:t,onMove:e,onEnd:(p,g)=>{a.current=null,n&&n(p,g)}};C.exports.useEffect(()=>{a.current!==null&&a.current.updateHandlers(l)});function d(p){a.current=new RN(p,l,{transformPagePoint:s})}t5(i,"pointerdown",o&&d),d8(()=>a.current&&a.current.end())}const ile={pan:Ic(rle),drag:Ic(nle)},x6={current:null},BN={current:!1};function ole(){if(BN.current=!0,!!Vf)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>x6.current=e.matches;e.addListener(t),t()}else x6.current=!1}const Y2=["LayoutMeasure","BeforeLayoutMeasure","LayoutUpdate","ViewportBoxUpdate","Update","Render","AnimationComplete","LayoutAnimationComplete","AnimationStart","LayoutAnimationStart","SetAxisTarget","Unmount"];function ale(){const e=Y2.map(()=>new em),t={},n={clearAllListeners:()=>e.forEach(r=>r.clear()),updatePropListeners:r=>{Y2.forEach(i=>{var o;const a="on"+i,s=r[a];(o=t[i])===null||o===void 0||o.call(t),s&&(t[i]=n[a](s))})}};return e.forEach((r,i)=>{n["on"+Y2[i]]=o=>r.add(o),n["notify"+Y2[i]]=(...o)=>r.notify(...o)}),n}function sle(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],a=n[i];if(Ss(o))e.addValue(i,o),s5(r)&&r.add(i);else if(Ss(a))e.addValue(i,d0(o)),s5(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,d0(s!==void 0?s:o))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const $N=Object.keys(zm),lle=$N.length,HN=({treeType:e="",build:t,getBaseTarget:n,makeTargetAnimatable:r,measureViewportBox:i,render:o,readValueFromInstance:a,removeValueFromRenderState:s,sortNodePosition:l,scrapeMotionValuesFromProps:d})=>({parent:p,props:g,presenceId:m,blockInitialAnimation:y,visualState:b,reducedMotionConfig:S},E={})=>{let P=!1;const{latestValues:k,renderState:L}=b;let I;const O=ale(),N=new Map,D=new Map;let F={};const U={...k},W=g.initial?{...k}:{};let q;function pe(){!I||!P||(fe(),o(I,L,g.style,oe.projection))}function fe(){t(oe,L,k,E,g)}function ye(){O.notifyUpdate(k)}function Pe(X,me){const ve=me.onChange(He=>{k[X]=He,g.onUpdate&&ws.update(ye,!1,!0)}),Se=me.onRenderRequest(oe.scheduleRender);D.set(X,()=>{ve(),Se()})}const{willChange:xe,...Y}=d(g);for(const X in Y){const me=Y[X];k[X]!==void 0&&Ss(me)&&(me.set(k[X],!1),s5(xe)&&xe.add(X))}if(g.values)for(const X in g.values){const me=g.values[X];k[X]!==void 0&&Ss(me)&&me.set(k[X])}const V=k4(g),ae=PO(g),oe={treeType:e,current:null,depth:p?p.depth+1:0,parent:p,children:new Set,presenceId:m,shouldReduceMotion:null,variantChildren:ae?new Set:void 0,isVisible:void 0,manuallyAnimateOnMount:Boolean(p?.isMounted()),blockInitialAnimation:y,isMounted:()=>Boolean(I),mount(X){P=!0,I=oe.current=X,oe.projection&&oe.projection.mount(X),ae&&p&&!V&&(q=p?.addVariantChild(oe)),N.forEach((me,ve)=>Pe(ve,me)),BN.current||ole(),oe.shouldReduceMotion=S==="never"?!1:S==="always"?!0:x6.current,p?.children.add(oe),oe.setProps(g)},unmount(){var X;(X=oe.projection)===null||X===void 0||X.unmount(),zf.update(ye),zf.render(pe),D.forEach(me=>me()),q?.(),p?.children.delete(oe),O.clearAllListeners(),I=void 0,P=!1},loadFeatures(X,me,ve,Se,He,je){const ut=[];for(let qe=0;qeoe.scheduleRender(),animationType:typeof at=="string"?at:"both",initialPromotionConfig:je,layoutScroll:At})}return ut},addVariantChild(X){var me;const ve=oe.getClosestVariantNode();if(ve)return(me=ve.variantChildren)===null||me===void 0||me.add(X),()=>ve.variantChildren.delete(X)},sortNodePosition(X){return!l||e!==X.treeType?0:l(oe.getInstance(),X.getInstance())},getClosestVariantNode:()=>ae?oe:p?.getClosestVariantNode(),getLayoutId:()=>g.layoutId,getInstance:()=>I,getStaticValue:X=>k[X],setStaticValue:(X,me)=>k[X]=me,getLatestValues:()=>k,setVisibility(X){oe.isVisible!==X&&(oe.isVisible=X,oe.scheduleRender())},makeTargetAnimatable(X,me=!0){return r(oe,X,g,me)},measureViewportBox(){return i(I,g)},addValue(X,me){oe.hasValue(X)&&oe.removeValue(X),N.set(X,me),k[X]=me.get(),Pe(X,me)},removeValue(X){var me;N.delete(X),(me=D.get(X))===null||me===void 0||me(),D.delete(X),delete k[X],s(X,L)},hasValue:X=>N.has(X),getValue(X,me){if(g.values&&g.values[X])return g.values[X];let ve=N.get(X);return ve===void 0&&me!==void 0&&(ve=d0(me),oe.addValue(X,ve)),ve},forEachValue:X=>N.forEach(X),readValue:X=>k[X]!==void 0?k[X]:a(I,X,E),setBaseTarget(X,me){U[X]=me},getBaseTarget(X){var me;const{initial:ve}=g,Se=typeof ve=="string"||typeof ve=="object"?(me=u8(g,ve))===null||me===void 0?void 0:me[X]:void 0;if(ve&&Se!==void 0)return Se;if(n){const He=n(g,X);if(He!==void 0&&!Ss(He))return He}return W[X]!==void 0&&Se===void 0?void 0:U[X]},...O,build(){return fe(),L},scheduleRender(){ws.render(pe,!1,!0)},syncRender:pe,setProps(X){(X.transformTemplate||g.transformTemplate)&&oe.scheduleRender(),g=X,O.updatePropListeners(X),F=sle(oe,d(g),F)},getProps:()=>g,getVariant:X=>{var me;return(me=g.variants)===null||me===void 0?void 0:me[X]},getDefaultTransition:()=>g.transition,getTransformPagePoint:()=>g.transformPagePoint,getVariantContext(X=!1){if(X)return p?.getVariantContext();if(!V){const ve=p?.getVariantContext()||{};return g.initial!==void 0&&(ve.initial=g.initial),ve}const me={};for(let ve=0;ve{const o=i.get();if(!b6(o))return;const a=S6(o,r);a&&i.set(a)});for(const i in t){const o=t[i];if(!b6(o))continue;const a=S6(o,r);!a||(t[i]=a,n&&n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const fle=new Set(["width","height","top","left","right","bottom","x","y"]),UN=e=>fle.has(e),hle=e=>Object.keys(e).some(UN),GN=(e,t)=>{e.set(t,!1),e.set(t)},KP=e=>e===Uf||e===gt;var ZP;(function(e){e.width="width",e.height="height",e.left="left",e.right="right",e.top="top",e.bottom="bottom"})(ZP||(ZP={}));const YP=(e,t)=>parseFloat(e.split(", ")[t]),XP=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return YP(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?YP(o[1],e):0}},ple=new Set(["x","y","z"]),gle=J3.filter(e=>!ple.has(e));function mle(e){const t=[];return gle.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.syncRender(),t}const QP={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:XP(4,13),y:XP(5,14)},vle=(e,t,n)=>{const r=t.measureViewportBox(),i=t.getInstance(),o=getComputedStyle(i),{display:a}=o,s={};a==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(d=>{s[d]=QP[d](r,o)}),t.syncRender();const l=t.measureViewportBox();return n.forEach(d=>{const p=t.getValue(d);GN(p,s[d]),e[d]=QP[d](l,o)}),e},yle=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(UN);let o=[],a=!1;const s=[];if(i.forEach(l=>{const d=e.getValue(l);if(!e.hasValue(l))return;let p=n[l],g=ig(p);const m=t[l];let y;if(Bm(m)){const b=m.length,S=m[0]===null?1:0;p=m[S],g=ig(p);for(let E=S;E=0?window.pageYOffset:null,d=vle(t,e,s);return o.length&&o.forEach(([p,g])=>{e.getValue(p).set(g)}),e.syncRender(),Vf&&l!==null&&window.scrollTo({top:l}),{target:d,transitionEnd:r}}else return{target:t,transitionEnd:r}};function xle(e,t,n,r){return hle(t)?yle(e,t,n,r):{target:t,transitionEnd:r}}const ble=(e,t,n,r)=>{const i=dle(e,t,r);return t=i.target,r=i.transitionEnd,xle(e,t,n,r)};function Sle(e){return window.getComputedStyle(e)}const jN={treeType:"dom",readValueFromInstance(e,t){if(hv.has(t)){const n=b8(t);return n&&n.default||0}else{const n=Sle(e),r=(AO(t)?n.getPropertyValue(t):n[t])||0;return typeof r=="string"?r.trim():r}},sortNodePosition(e,t){return e.compareDocumentPosition(t)&2?1:-1},getBaseTarget(e,t){var n;return(n=e.style)===null||n===void 0?void 0:n[t]},measureViewportBox(e,{transformPagePoint:t}){return FN(e,t)},resetTransform(e,t,n){const{transformTemplate:r}=n;t.style.transform=r?r({},""):"none",e.scheduleRender()},restoreTransform(e,t){e.style.transform=t.style.transform},removeValueFromRenderState(e,{vars:t,style:n}){delete t[e],delete n[e]},makeTargetAnimatable(e,{transition:t,transitionEnd:n,...r},{transformValues:i},o=!0){let a=Ese(r,t||{},e);if(i&&(n&&(n=i(n)),r&&(r=i(r)),a&&(a=i(a))),o){_se(e,r,a);const s=ble(e,r,a,n);n=s.transitionEnd,r=s.target}return{transition:t,transitionEnd:n,...r}},scrapeMotionValuesFromProps:l8,build(e,t,n,r,i){e.isVisible!==void 0&&(t.style.visibility=e.isVisible?"visible":"hidden"),o8(t,n,r,i.transformTemplate)},render:VO},wle=HN(jN),Cle=HN({...jN,getBaseTarget(e,t){return e[t]},readValueFromInstance(e,t){var n;return hv.has(t)?((n=b8(t))===null||n===void 0?void 0:n.default)||0:(t=UO.has(t)?t:WO(t),e.getAttribute(t))},scrapeMotionValuesFromProps:jO,build(e,t,n,r,i){s8(t,n,r,i.transformTemplate)},render:GO}),_le=(e,t)=>r8(e)?Cle(t,{enableHardwareAcceleration:!1}):wle(t,{enableHardwareAcceleration:!0});function JP(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const og={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(gt.test(e))e=parseFloat(e);else return e;const n=JP(e,t.target.x),r=JP(e,t.target.y);return`${n}% ${r}%`}},eT="_$css",kle={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=e.includes("var("),o=[];i&&(e=e.replace(VN,y=>(o.push(y),eT)));const a=hu.parse(e);if(a.length>5)return r;const s=hu.createTransformer(e),l=typeof a[0]!="number"?1:0,d=n.x.scale*t.x,p=n.y.scale*t.y;a[0+l]/=d,a[1+l]/=p;const g=Sr(d,p,.5);typeof a[2+l]=="number"&&(a[2+l]/=g),typeof a[3+l]=="number"&&(a[3+l]/=g);let m=s(a);if(i){let y=0;m=m.replace(eT,()=>{const b=o[y];return y++,b})}return m}};class Ele extends ne.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;Fie(Tle),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()})),Xg.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()||ws.postRender(()=>{var s;!((s=a.getStack())===null||s===void 0)&&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?.group&&n.group.remove(i),r?.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t?.()}render(){return null}}function Ple(e){const[t,n]=x8(),r=C.exports.useContext(n8);return w(Ele,{...e,layoutGroup:r,switchLayoutGroup:C.exports.useContext(TO),isPresent:t,safeToRemove:n})}const Tle={borderRadius:{...og,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:og,borderTopRightRadius:og,borderBottomLeftRadius:og,borderBottomRightRadius:og,boxShadow:kle},Lle={measureLayout:Ple};function Ale(e,t,n={}){const r=Ss(e)?e:d0(e);return C8("",r,t,n),{stop:()=>r.stop(),isAnimating:()=>r.isAnimating()}}const qN=["TopLeft","TopRight","BottomLeft","BottomRight"],Ile=qN.length,tT=e=>typeof e=="string"?parseFloat(e):e,nT=e=>typeof e=="number"||gt.test(e);function Mle(e,t,n,r,i,o){var a,s,l,d;i?(e.opacity=Sr(0,(a=n.opacity)!==null&&a!==void 0?a:1,Rle(r)),e.opacityExit=Sr((s=t.opacity)!==null&&s!==void 0?s:1,0,Ole(r))):o&&(e.opacity=Sr((l=t.opacity)!==null&&l!==void 0?l:1,(d=n.opacity)!==null&&d!==void 0?d:1,r));for(let p=0;prt?1:n($m(e,t,r))}function iT(e,t){e.min=t.min,e.max=t.max}function cs(e,t){iT(e.x,t.x),iT(e.y,t.y)}function oT(e,t,n,r,i){return e-=t,e=l5(e,1/n,r),i!==void 0&&(e=l5(e,1/i,r)),e}function Nle(e,t=0,n=1,r=.5,i,o=e,a=e){if(yl.test(t)&&(t=parseFloat(t),t=Sr(a.min,a.max,t/100)-a.min),typeof t!="number")return;let s=Sr(o.min,o.max,r);e===o&&(s-=t),e.min=oT(e.min,t,n,s,i),e.max=oT(e.max,t,n,s,i)}function aT(e,t,[n,r,i],o,a){Nle(e,t[n],t[r],t[i],t.scale,o,a)}const Dle=["x","scaleX","originX"],zle=["y","scaleY","originY"];function sT(e,t,n,r){aT(e.x,t,Dle,n?.x,r?.x),aT(e.y,t,zle,n?.y,r?.y)}function lT(e){return e.translate===0&&e.scale===1}function ZN(e){return lT(e.x)&&lT(e.y)}function YN(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 uT(e){return aa(e.x)/aa(e.y)}function Fle(e,t,n=.1){return y8(e,t)<=n}class Ble{constructor(){this.members=[]}add(t){_8(this.members,t),t.scheduleRender()}remove(t){if(k8(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){var r;const i=this.lead;if(t!==i&&(this.prevLead=i,this.lead=t,t.show(),i)){i.instance&&i.scheduleRender(),t.scheduleRender(),t.resumeFrom=i,n&&(t.resumeFrom.preserveOpacity=!0),i.snapshot&&(t.snapshot=i.snapshot,t.snapshot.latestValues=i.animationValues||i.latestValues,t.snapshot.isShared=!0),!((r=t.root)===null||r===void 0)&&r.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:o}=t.options;o===!1&&i.hide()}}exitAnimationComplete(){this.members.forEach(t=>{var n,r,i,o,a;(r=(n=t.options).onExitComplete)===null||r===void 0||r.call(n),(a=(i=t.resumingFrom)===null||i===void 0?void 0:(o=i.options).onExitComplete)===null||a===void 0||a.call(o)})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}const $le="translate3d(0px, 0px, 0) scale(1, 1) scale(1, 1)";function cT(e,t,n){const r=e.x.translate/t.x,i=e.y.translate/t.y;let o=`translate3d(${r}px, ${i}px, 0) `;if(o+=`scale(${1/t.x}, ${1/t.y}) `,n){const{rotate:l,rotateX:d,rotateY:p}=n;l&&(o+=`rotate(${l}deg) `),d&&(o+=`rotateX(${d}deg) `),p&&(o+=`rotateY(${p}deg) `)}const a=e.x.scale*t.x,s=e.y.scale*t.y;return o+=`scale(${a}, ${s})`,o===$le?"none":o}const Hle=(e,t)=>e.depth-t.depth;class Wle{constructor(){this.children=[],this.isDirty=!1}add(t){_8(this.children,t),this.isDirty=!0}remove(t){k8(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Hle),this.isDirty=!1,this.children.forEach(t)}}const dT=["","X","Y","Z"],fT=1e3;function XN({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(a,s={},l=t?.()){this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!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(qle),this.nodes.forEach(Kle)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.id=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 d=0;dthis.root.updateBlockedByResize=!1;e(a,()=>{this.root.updateBlockedByResize=!0,m&&m(),m=LN(y,250),Xg.hasAnimatedSinceResize&&(Xg.hasAnimatedSinceResize=!1,this.nodes.forEach(pT))})}d&&this.root.registerSharedNode(d,this),this.options.animate!==!1&&g&&(d||p)&&this.addEventListener("didUpdate",({delta:m,hasLayoutChanged:y,hasRelativeTargetChanged:b,layout:S})=>{var E,P,k,L,I;if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const O=(P=(E=this.options.transition)!==null&&E!==void 0?E:g.getDefaultTransition())!==null&&P!==void 0?P:Jle,{onLayoutAnimationStart:N,onLayoutAnimationComplete:D}=g.getProps(),F=!this.targetLayout||!YN(this.targetLayout,S)||b,U=!y&&b;if(((k=this.resumeFrom)===null||k===void 0?void 0:k.instance)||U||y&&(F||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(m,U);const W={...w8(O,"layout"),onPlay:N,onComplete:D};g.shouldReduceMotion&&(W.delay=0,W.type=!1),this.startAnimation(W)}else!y&&this.animationProgress===0&&pT(this),this.isLead()&&((I=(L=this.options).onExitComplete)===null||I===void 0||I.call(L));this.targetLayout=S})}unmount(){var a,s;this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this),(a=this.getStack())===null||a===void 0||a.remove(this),(s=this.parent)===null||s===void 0||s.children.delete(this),this.instance=void 0,zf.preRender(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){var a;return this.isAnimationBlocked||((a=this.parent)===null||a===void 0?void 0:a.isTreeAnimationBlocked())||!1}startUpdate(){var a;this.isUpdateBlocked()||(this.isUpdating=!0,(a=this.nodes)===null||a===void 0||a.forEach(Zle))}willUpdate(a=!0){var s,l,d;if(this.root.isUpdateBlocked()){(l=(s=this.options).onExitComplete)===null||l===void 0||l.call(s);return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let y=0;y{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){if(this.snapshot||!this.instance)return;const a=this.measure(),s=this.removeTransform(this.removeElementScroll(a));yT(s),this.snapshot={measured:a,layout:s,latestValues:{}}}updateLayout(){var a;if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let d=0;d{var k;const L=P/1e3;gT(m.x,a.x,L),gT(m.y,a.y,L),this.setTargetDelta(m),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&((k=this.relativeParent)===null||k===void 0?void 0:k.layout)&&(nm(y,this.layout.actual,this.relativeParent.layout.actual),Xle(this.relativeTarget,this.relativeTargetOrigin,y,L)),b&&(this.animationValues=g,Mle(g,p,this.latestValues,L,E,S)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=L},this.mixTargetDelta(0)}startAnimation(a){var s,l;this.notifyListeners("animationStart"),(s=this.currentAnimation)===null||s===void 0||s.stop(),this.resumingFrom&&((l=this.resumingFrom.currentAnimation)===null||l===void 0||l.stop()),this.pendingAnimation&&(zf.update(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=ws.update(()=>{Xg.hasAnimatedSinceResize=!0,this.currentAnimation=Ale(0,fT,{...a,onUpdate:d=>{var p;this.mixTargetDelta(d),(p=a.onUpdate)===null||p===void 0||p.call(a,d)},onComplete:()=>{var d;(d=a.onComplete)===null||d===void 0||d.call(a),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){var a;this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0),(a=this.getStack())===null||a===void 0||a.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){var a;this.currentAnimation&&((a=this.mixTargetDelta)===null||a===void 0||a.call(this,fT),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const a=this.getLead();let{targetWithTransforms:s,target:l,layout:d,latestValues:p}=a;if(!(!s||!l||!d)){if(this!==a&&this.layout&&d&&QN(this.options.animationType,this.layout.actual,d.actual)){l=this.target||bi();const g=aa(this.layout.actual.x);l.x.min=a.target.x.min,l.x.max=l.x.min+g;const m=aa(this.layout.actual.y);l.y.min=a.target.y.min,l.y.max=l.y.min+m}cs(s,l),Tp(s,p),tm(this.projectionDeltaWithTransform,this.layoutCorrected,s,p)}}registerSharedNode(a,s){var l,d,p;this.sharedNodes.has(a)||this.sharedNodes.set(a,new Ble),this.sharedNodes.get(a).add(s),s.promote({transition:(l=s.options.initialPromotionConfig)===null||l===void 0?void 0:l.transition,preserveFollowOpacity:(p=(d=s.options.initialPromotionConfig)===null||d===void 0?void 0:d.shouldPreserveFollowOpacity)===null||p===void 0?void 0:p.call(d,s)})}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 d=this.getStack();d&&d.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 l={};for(let d=0;d{var s;return(s=a.currentAnimation)===null||s===void 0?void 0:s.stop()}),this.root.nodes.forEach(hT),this.root.sharedNodes.clear()}}}function Vle(e){e.updateLayout()}function Ule(e){var t,n,r;const i=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&i&&e.hasListeners("didUpdate")){const{actual:o,measured:a}=e.layout,{animationType:s}=e.options;s==="size"?il(m=>{const y=i.isShared?i.measured[m]:i.layout[m],b=aa(y);y.min=o[m].min,y.max=y.min+b}):QN(s,i.layout,o)&&il(m=>{const y=i.isShared?i.measured[m]:i.layout[m],b=aa(o[m]);y.max=y.min+b});const l=rm();tm(l,o,i.layout);const d=rm();i.isShared?tm(d,e.applyTransform(a,!0),i.measured):tm(d,o,i.layout);const p=!ZN(l);let g=!1;if(!e.resumeFrom&&(e.relativeParent=e.getClosestProjectingParent(),e.relativeParent&&!e.relativeParent.resumeFrom)){const{snapshot:m,layout:y}=e.relativeParent;if(m&&y){const b=bi();nm(b,i.layout,m.layout);const S=bi();nm(S,o,y.actual),YN(b,S)||(g=!0)}}e.notifyListeners("didUpdate",{layout:o,snapshot:i,delta:d,layoutDelta:l,hasLayoutChanged:p,hasRelativeTargetChanged:g})}else e.isLead()&&((r=(n=e.options).onExitComplete)===null||r===void 0||r.call(n));e.options.transition=void 0}function Gle(e){e.clearSnapshot()}function hT(e){e.clearMeasurements()}function jle(e){const{visualElement:t}=e.options;t?.getProps().onBeforeLayoutMeasure&&t.notifyBeforeLayoutMeasure(),e.resetTransform()}function pT(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0}function qle(e){e.resolveTargetDelta()}function Kle(e){e.calcProjection()}function Zle(e){e.resetRotation()}function Yle(e){e.removeLeadSnapshot()}function gT(e,t,n){e.translate=Sr(t.translate,0,n),e.scale=Sr(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function mT(e,t,n,r){e.min=Sr(t.min,n.min,r),e.max=Sr(t.max,n.max,r)}function Xle(e,t,n,r){mT(e.x,t.x,n.x,r),mT(e.y,t.y,n.y,r)}function Qle(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const Jle={duration:.45,ease:[.4,0,.1,1]};function eue(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 vT(e){e.min=Math.round(e.min),e.max=Math.round(e.max)}function yT(e){vT(e.x),vT(e.y)}function QN(e,t,n){return e==="position"||e==="preserve-aspect"&&!Fle(uT(t),uT(n),.2)}const tue=XN({attachResizeListener:(e,t)=>P4(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),qb={current:void 0},nue=XN({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!qb.current){const e=new tue(0,{});e.mount(window),e.setOptions({layoutScroll:!0}),qb.current=e}return qb.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>Boolean(window.getComputedStyle(e).position==="fixed")}),rue={...zse,...qae,...ile,...Lle},Wa=Die((e,t)=>Soe(e,t,rue,_le,nue));function JN(){const e=C.exports.useRef(!1);return X3(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function iue(){const e=JN(),[t,n]=C.exports.useState(0),r=C.exports.useCallback(()=>{e.current&&n(t+1)},[t]);return[C.exports.useCallback(()=>ws.postRender(r),[r]),t]}class oue extends C.exports.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 aue({children:e,isPresent:t}){const n=C.exports.useId(),r=C.exports.useRef(null),i=C.exports.useRef({width:0,height:0,top:0,left:0});return C.exports.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 d=document.createElement("style");return document.head.appendChild(d),d.sheet&&d.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(d)}},[t]),w(oue,{isPresent:t,childRef:r,sizeRef:i,children:C.exports.cloneElement(e,{ref:r})})}const Kb=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:a})=>{const s=E4(sue),l=C.exports.useId(),d=C.exports.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:p=>{s.set(p,!0);for(const g of s.values())if(!g)return;r&&r()},register:p=>(s.set(p,!1),()=>s.delete(p))}),o?void 0:[n]);return C.exports.useMemo(()=>{s.forEach((p,g)=>s.set(g,!1))},[n]),C.exports.useEffect(()=>{!n&&!s.size&&r&&r()},[n]),a==="popLayout"&&(e=w(aue,{isPresent:n,children:e})),w(P0.Provider,{value:d,children:e})};function sue(){return new Map}const fp=e=>e.key||"";function lue(e,t){e.forEach(n=>{const r=fp(n);t.set(r,n)})}function uue(e){const t=[];return C.exports.Children.forEach(e,n=>{C.exports.isValidElement(n)&&t.push(n)}),t}const bu=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:a="sync"})=>{i&&(a="wait",_N(!1,"Replace exitBeforeEnter with mode='wait'"));let[s]=iue();const l=C.exports.useContext(n8).forceRender;l&&(s=l);const d=JN(),p=uue(e);let g=p;const m=new Set,y=C.exports.useRef(g),b=C.exports.useRef(new Map).current,S=C.exports.useRef(!0);if(X3(()=>{S.current=!1,lue(p,b),y.current=g}),d8(()=>{S.current=!0,b.clear(),m.clear()}),S.current)return w(Fn,{children:g.map(L=>w(Kb,{isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:a,children:L},fp(L)))});g=[...g];const E=y.current.map(fp),P=p.map(fp),k=E.length;for(let L=0;L{if(P.indexOf(L)!==-1)return;const I=b.get(L);if(!I)return;const O=E.indexOf(L),N=()=>{b.delete(L),m.delete(L);const D=y.current.findIndex(F=>F.key===L);if(y.current.splice(D,1),!m.size){if(y.current=p,d.current===!1)return;s(),r&&r()}};g.splice(O,0,w(Kb,{isPresent:!1,onExitComplete:N,custom:t,presenceAffectsLayout:o,mode:a,children:I},fp(I)))}),g=g.map(L=>{const I=L.key;return m.has(I)?L:w(Kb,{isPresent:!0,presenceAffectsLayout:o,mode:a,children:L},fp(L))}),CN!=="production"&&a==="wait"&&g.length>1&&console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to "wait". This will lead to odd visual behaviour.`),w(Fn,{children:m.size?g:g.map(L=>C.exports.cloneElement(L))})};var cl=function(){return cl=Object.assign||function(t){for(var n,r=1,i=arguments.length;r0&&o[o.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!o||d[1]>o[0]&&d[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 w6(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,o;re.filter(Boolean).join(" ");function cue(){return!1}var due=e=>{const{condition:t,message:n}=e;t&&cue()&&console.warn(n)},yf={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},ag={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function C6(e){switch(e?.direction??"right"){case"right":return ag.slideRight;case"left":return ag.slideLeft;case"bottom":return ag.slideDown;case"top":return ag.slideUp;default:return ag.slideRight}}var Tf={enter:{duration:.2,ease:yf.easeOut},exit:{duration:.1,ease:yf.easeIn}},Cs={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t?.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t?.exit})},fue=e=>e!=null&&parseInt(e.toString(),10)>0,bT={exit:{height:{duration:.2,ease:yf.ease},opacity:{duration:.3,ease:yf.ease}},enter:{height:{duration:.3,ease:yf.ease},opacity:{duration:.4,ease:yf.ease}}},hue={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:i})=>({...e&&{opacity:fue(t)?1:0},height:t,transitionEnd:r?.exit,transition:n?.exit??Cs.exit(bT.exit,i)}),enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:i})=>({...e&&{opacity:1},height:t,transitionEnd:r?.enter,transition:n?.enter??Cs.enter(bT.enter,i)})},tD=C.exports.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:i=!0,startingHeight:o=0,endingHeight:a="auto",style:s,className:l,transition:d,transitionEnd:p,...g}=e,[m,y]=C.exports.useState(!1);C.exports.useEffect(()=>{const k=setTimeout(()=>{y(!0)});return()=>clearTimeout(k)},[]),due({condition:Boolean(o>0&&r),message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const b=parseFloat(o.toString())>0,S={startingHeight:o,endingHeight:a,animateOpacity:i,transition:m?d:{enter:{duration:0}},transitionEnd:{enter:p?.enter,exit:r?p?.exit:{...p?.exit,display:b?"block":"none"}}},E=r?n:!0,P=n||r?"enter":"exit";return w(bu,{initial:!1,custom:S,children:E&&ne.createElement(Wa.div,{ref:t,...g,className:yv("chakra-collapse",l),style:{overflow:"hidden",display:"block",...s},custom:S,variants:hue,initial:r?"exit":!1,animate:P,exit:"exit"})})});tD.displayName="Collapse";var pue={enter:({transition:e,transitionEnd:t,delay:n}={})=>({opacity:1,transition:e?.enter??Cs.enter(Tf.enter,n),transitionEnd:t?.enter}),exit:({transition:e,transitionEnd:t,delay:n}={})=>({opacity:0,transition:e?.exit??Cs.exit(Tf.exit,n),transitionEnd:t?.exit})},nD={initial:"exit",animate:"enter",exit:"exit",variants:pue},gue=C.exports.forwardRef(function(t,n){const{unmountOnExit:r,in:i,className:o,transition:a,transitionEnd:s,delay:l,...d}=t,p=i||r?"enter":"exit",g=r?i&&r:!0,m={transition:a,transitionEnd:s,delay:l};return w(bu,{custom:m,children:g&&ne.createElement(Wa.div,{ref:n,className:yv("chakra-fade",o),custom:m,...nD,animate:p,...d})})});gue.displayName="Fade";var mue={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:i})=>({opacity:0,...e?{scale:t,transitionEnd:r?.exit}:{transitionEnd:{scale:t,...r?.exit}},transition:n?.exit??Cs.exit(Tf.exit,i)}),enter:({transitionEnd:e,transition:t,delay:n})=>({opacity:1,scale:1,transition:t?.enter??Cs.enter(Tf.enter,n),transitionEnd:e?.enter})},rD={initial:"exit",animate:"enter",exit:"exit",variants:mue},vue=C.exports.forwardRef(function(t,n){const{unmountOnExit:r,in:i,reverse:o=!0,initialScale:a=.95,className:s,transition:l,transitionEnd:d,delay:p,...g}=t,m=r?i&&r:!0,y=i||r?"enter":"exit",b={initialScale:a,reverse:o,transition:l,transitionEnd:d,delay:p};return w(bu,{custom:b,children:m&&ne.createElement(Wa.div,{ref:n,className:yv("chakra-offset-slide",s),...rD,animate:y,custom:b,...g})})});vue.displayName="ScaleFade";var ST={exit:{duration:.15,ease:yf.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},yue={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{const{exit:i}=C6({direction:e});return{...i,transition:t?.exit??Cs.exit(ST.exit,r),transitionEnd:n?.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{const{enter:i}=C6({direction:e});return{...i,transition:n?.enter??Cs.enter(ST.enter,r),transitionEnd:t?.enter}}},iD=C.exports.forwardRef(function(t,n){const{direction:r="right",style:i,unmountOnExit:o,in:a,className:s,transition:l,transitionEnd:d,delay:p,motionProps:g,...m}=t,y=C6({direction:r}),b=Object.assign({position:"fixed"},y.position,i),S=o?a&&o:!0,E=a||o?"enter":"exit",P={transitionEnd:d,transition:l,direction:r,delay:p};return w(bu,{custom:P,children:S&&ne.createElement(Wa.div,{...m,ref:n,initial:"exit",className:yv("chakra-slide",s),animate:E,exit:"exit",custom:P,variants:yue,style:b,...g})})});iD.displayName="Slide";var xue={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:i})=>({opacity:0,x:e,y:t,transition:n?.exit??Cs.exit(Tf.exit,i),transitionEnd:r?.exit}),enter:({transition:e,transitionEnd:t,delay:n})=>({opacity:1,x:0,y:0,transition:e?.enter??Cs.enter(Tf.enter,n),transitionEnd:t?.enter}),exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:i,delay:o})=>{const a={x:t,y:e};return{opacity:0,transition:n?.exit??Cs.exit(Tf.exit,o),...i?{...a,transitionEnd:r?.exit}:{transitionEnd:{...a,...r?.exit}}}}},_6={initial:"initial",animate:"enter",exit:"exit",variants:xue},bue=C.exports.forwardRef(function(t,n){const{unmountOnExit:r,in:i,reverse:o=!0,className:a,offsetX:s=0,offsetY:l=8,transition:d,transitionEnd:p,delay:g,...m}=t,y=r?i&&r:!0,b=i||r?"enter":"exit",S={offsetX:s,offsetY:l,reverse:o,transition:d,transitionEnd:p,delay:g};return w(bu,{custom:S,children:y&&ne.createElement(Wa.div,{ref:n,className:yv("chakra-offset-slide",a),custom:S,..._6,animate:b,...m})})});bue.displayName="SlideFade";var xv=(...e)=>e.filter(Boolean).join(" ");function Sue(){return!1}var R4=e=>{const{condition:t,message:n}=e;t&&Sue()&&console.warn(n)};function Zb(...e){return function(n){e.some(r=>(r?.(n),n?.defaultPrevented))}}var[wue,O4]=xn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[Cue,P8]=xn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[_ue,D9e,kue,Eue]=kO(),xf=Ee(function(t,n){const{getButtonProps:r}=P8(),i=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...O4().button};return ne.createElement(be.button,{...i,className:xv("chakra-accordion__button",t.className),__css:a})});xf.displayName="AccordionButton";function Pue(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:i,allowToggle:o,...a}=e;Aue(e),Iue(e);const s=kue(),[l,d]=C.exports.useState(-1);C.exports.useEffect(()=>()=>{d(-1)},[]);const[p,g]=w4({value:r,defaultValue(){return i?n??[]:n??-1},onChange:t});return{index:p,setIndex:g,htmlProps:a,getAccordionItemProps:y=>{let b=!1;return y!==null&&(b=Array.isArray(p)?p.includes(y):p===y),{isOpen:b,onChange:E=>{if(y!==null)if(i&&Array.isArray(p)){const P=E?p.concat(y):p.filter(k=>k!==y);g(P)}else E?g(y):o&&g(-1)}}},focusedIndex:l,setFocusedIndex:d,descendants:s}}var[Tue,T8]=xn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function Lue(e){const{isDisabled:t,isFocusable:n,id:r,...i}=e,{getAccordionItemProps:o,setFocusedIndex:a}=T8(),s=C.exports.useRef(null),l=C.exports.useId(),d=r??l,p=`accordion-button-${d}`,g=`accordion-panel-${d}`;Mue(e);const{register:m,index:y,descendants:b}=Eue({disabled:t&&!n}),{isOpen:S,onChange:E}=o(y===-1?null:y);Rue({isOpen:S,isDisabled:t});const P=()=>{E?.(!0)},k=()=>{E?.(!1)},L=C.exports.useCallback(()=>{E?.(!S),a(y)},[y,a,S,E]),I=C.exports.useCallback(F=>{const W={ArrowDown:()=>{const q=b.nextEnabled(y);q?.node.focus()},ArrowUp:()=>{const q=b.prevEnabled(y);q?.node.focus()},Home:()=>{const q=b.firstEnabled();q?.node.focus()},End:()=>{const q=b.lastEnabled();q?.node.focus()}}[F.key];W&&(F.preventDefault(),W(F))},[b,y]),O=C.exports.useCallback(()=>{a(y)},[a,y]),N=C.exports.useCallback(function(U={},W=null){return{...U,type:"button",ref:zn(m,s,W),id:p,disabled:!!t,"aria-expanded":!!S,"aria-controls":g,onClick:Zb(U.onClick,L),onFocus:Zb(U.onFocus,O),onKeyDown:Zb(U.onKeyDown,I)}},[p,t,S,L,O,I,g,m]),D=C.exports.useCallback(function(U={},W=null){return{...U,ref:W,role:"region",id:g,"aria-labelledby":p,hidden:!S}},[p,S,g]);return{isOpen:S,isDisabled:t,isFocusable:n,onOpen:P,onClose:k,getButtonProps:N,getPanelProps:D,htmlProps:i}}function Aue(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;R4({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function Iue(e){R4({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 Mue(e){R4({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 Rue(e){R4({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function bf(e){const{isOpen:t,isDisabled:n}=P8(),{reduceMotion:r}=T8(),i=xv("chakra-accordion__icon",e.className),o=O4(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...o.icon};return w(ha,{viewBox:"0 0 24 24","aria-hidden":!0,className:i,__css:a,...e,children:w("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}bf.displayName="AccordionIcon";var Sf=Ee(function(t,n){const{children:r,className:i}=t,{htmlProps:o,...a}=Lue(t),l={...O4().container,overflowAnchor:"none"},d=C.exports.useMemo(()=>a,[a]);return ne.createElement(Cue,{value:d},ne.createElement(be.div,{ref:n,...o,className:xv("chakra-accordion__item",i),__css:l},typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r))});Sf.displayName="AccordionItem";var wf=Ee(function(t,n){const{className:r,motionProps:i,...o}=t,{reduceMotion:a}=T8(),{getPanelProps:s,isOpen:l}=P8(),d=s(o,n),p=xv("chakra-accordion__panel",r),g=O4();a||delete d.hidden;const m=ne.createElement(be.div,{...d,__css:g.panel,className:p});return a?m:w(tD,{in:l,...i,children:m})});wf.displayName="AccordionPanel";var N4=Ee(function({children:t,reduceMotion:n,...r},i){const o=Ai("Accordion",r),a=hn(r),{htmlProps:s,descendants:l,...d}=Pue(a),p=C.exports.useMemo(()=>({...d,reduceMotion:!!n}),[d,n]);return ne.createElement(_ue,{value:l},ne.createElement(Tue,{value:p},ne.createElement(wue,{value:o},ne.createElement(be.div,{ref:i,...s,className:xv("chakra-accordion",r.className),__css:o.root},t))))});N4.displayName="Accordion";var Oue=(...e)=>e.filter(Boolean).join(" "),Nue=cv({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),A0=Ee((e,t)=>{const n=oo("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:a="transparent",className:s,...l}=hn(e),d=Oue("chakra-spinner",s),p={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:a,borderLeftColor:a,animation:`${Nue} ${o} linear infinite`,...n};return ne.createElement(be.div,{ref:t,__css:p,className:d,...l},r&&ne.createElement(be.span,{srOnly:!0},r))});A0.displayName="Spinner";var D4=(...e)=>e.filter(Boolean).join(" ");function Due(e){return w(ha,{viewBox:"0 0 24 24",...e,children:w("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 zue(e){return w(ha,{viewBox:"0 0 24 24",...e,children:w("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 wT(e){return w(ha,{viewBox:"0 0 24 24",...e,children:w("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[Fue,Bue]=xn({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[$ue,L8]=xn({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),oD={info:{icon:zue,colorScheme:"blue"},warning:{icon:wT,colorScheme:"orange"},success:{icon:Due,colorScheme:"green"},error:{icon:wT,colorScheme:"red"},loading:{icon:A0,colorScheme:"blue"}};function Hue(e){return oD[e].colorScheme}function Wue(e){return oD[e].icon}var aD=Ee(function(t,n){const{status:r="info",addRole:i=!0,...o}=hn(t),a=t.colorScheme??Hue(r),s=Ai("Alert",{...t,colorScheme:a}),l={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...s.container};return ne.createElement(Fue,{value:{status:r}},ne.createElement($ue,{value:s},ne.createElement(be.div,{role:i?"alert":void 0,ref:n,...o,className:D4("chakra-alert",t.className),__css:l})))});aD.displayName="Alert";var sD=Ee(function(t,n){const i={display:"inline",...L8().description};return ne.createElement(be.div,{ref:n,...t,className:D4("chakra-alert__desc",t.className),__css:i})});sD.displayName="AlertDescription";function lD(e){const{status:t}=Bue(),n=Wue(t),r=L8(),i=t==="loading"?r.spinner:r.icon;return ne.createElement(be.span,{display:"inherit",...e,className:D4("chakra-alert__icon",e.className),__css:i},e.children||w(n,{h:"100%",w:"100%"}))}lD.displayName="AlertIcon";var uD=Ee(function(t,n){const r=L8();return ne.createElement(be.div,{ref:n,...t,className:D4("chakra-alert__title",t.className),__css:r.title})});uD.displayName="AlertTitle";function Vue(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Uue(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:a,sizes:s,ignoreFallback:l}=e,[d,p]=C.exports.useState("pending");C.exports.useEffect(()=>{p(n?"loading":"pending")},[n]);const g=C.exports.useRef(),m=C.exports.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=S=>{y(),p("loaded"),i?.(S)},b.onerror=S=>{y(),p("failed"),o?.(S)},g.current=b},[n,a,r,s,i,o,t]),y=()=>{g.current&&(g.current.onload=null,g.current.onerror=null,g.current=null)};return gl(()=>{if(!l)return d==="loading"&&m(),()=>{y()}},[d,m,l]),l?"loaded":d}var Gue=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError",u5=Ee(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...a}=t;return w("img",{width:r,height:i,ref:n,alt:o,...a})});u5.displayName="NativeImage";var z4=Ee(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:a,align:s,fit:l,loading:d,ignoreFallback:p,crossOrigin:g,fallbackStrategy:m="beforeLoadOrError",referrerPolicy:y,...b}=t,S=r!==void 0||i!==void 0,E=d!=null||p||!S,P=Uue({...t,ignoreFallback:E}),k=Gue(P,m),L={ref:n,objectFit:l,objectPosition:s,...E?b:Vue(b,["onError","onLoad"])};return k?i||ne.createElement(be.img,{as:u5,className:"chakra-image__placeholder",src:r,...L}):ne.createElement(be.img,{as:u5,src:o,srcSet:a,crossOrigin:g,loading:d,referrerPolicy:y,className:"chakra-image",...L})});z4.displayName="Image";Ee((e,t)=>ne.createElement(be.img,{ref:t,as:u5,className:"chakra-image",...e}));function F4(e){return C.exports.Children.toArray(e).filter(t=>C.exports.isValidElement(t))}var B4=(...e)=>e.filter(Boolean).join(" "),CT=e=>e?"":void 0,[jue,que]=xn({strict:!1,name:"ButtonGroupContext"});function k6(e){const{children:t,className:n,...r}=e,i=C.exports.isValidElement(t)?C.exports.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,o=B4("chakra-button__icon",n);return ne.createElement(be.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:o},i)}k6.displayName="ButtonIcon";function E6(e){const{label:t,placement:n,spacing:r="0.5rem",children:i=w(A0,{color:"currentColor",width:"1em",height:"1em"}),className:o,__css:a,...s}=e,l=B4("chakra-button__spinner",o),d=n==="start"?"marginEnd":"marginStart",p=C.exports.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[d]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,d,r]);return ne.createElement(be.div,{className:l,...s,__css:p},i)}E6.displayName="ButtonSpinner";function Kue(e){const[t,n]=C.exports.useState(!e);return{ref:C.exports.useCallback(o=>{!o||n(o.tagName==="BUTTON")},[]),type:t?"button":void 0}}var Na=Ee((e,t)=>{const n=que(),r=oo("Button",{...n,...e}),{isDisabled:i=n?.isDisabled,isLoading:o,isActive:a,children:s,leftIcon:l,rightIcon:d,loadingText:p,iconSpacing:g="0.5rem",type:m,spinner:y,spinnerPlacement:b="start",className:S,as:E,...P}=hn(e),k=C.exports.useMemo(()=>{const N={...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:N}}},[r,n]),{ref:L,type:I}=Kue(E),O={rightIcon:d,leftIcon:l,iconSpacing:g,children:s};return ne.createElement(be.button,{disabled:i||o,ref:vie(t,L),as:E,type:m??I,"data-active":CT(a),"data-loading":CT(o),__css:k,className:B4("chakra-button",S),...P},o&&b==="start"&&w(E6,{className:"chakra-button__spinner--start",label:p,placement:"start",spacing:g,children:y}),o?p||ne.createElement(be.span,{opacity:0},w(_T,{...O})):w(_T,{...O}),o&&b==="end"&&w(E6,{className:"chakra-button__spinner--end",label:p,placement:"end",spacing:g,children:y}))});Na.displayName="Button";function _T(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:i}=e;return te(Fn,{children:[t&&w(k6,{marginEnd:i,children:t}),r,n&&w(k6,{marginStart:i,children:n})]})}var cD=Ee(function(t,n){const{size:r,colorScheme:i,variant:o,className:a,spacing:s="0.5rem",isAttached:l,isDisabled:d,...p}=t,g=B4("chakra-button__group",a),m=C.exports.useMemo(()=>({size:r,colorScheme:i,variant:o,isDisabled:d}),[r,i,o,d]);let y={display:"inline-flex"};return l?y={...y,"> *: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}}:y={...y,"& > *:not(style) ~ *:not(style)":{marginStart:s}},ne.createElement(jue,{value:m},ne.createElement(be.div,{ref:n,role:"group",__css:y,className:g,"data-attached":l?"":void 0,...p}))});cD.displayName="ButtonGroup";var Bi=Ee((e,t)=>{const{icon:n,children:r,isRound:i,"aria-label":o,...a}=e,s=n||r,l=C.exports.isValidElement(s)?C.exports.cloneElement(s,{"aria-hidden":!0,focusable:!1}):null;return w(Na,{padding:"0",borderRadius:i?"full":void 0,ref:t,"aria-label":o,...a,children:l})});Bi.displayName="IconButton";var I0=(...e)=>e.filter(Boolean).join(" "),X2=e=>e?"":void 0,Yb=e=>e?!0:void 0;function kT(...e){return function(n){e.some(r=>(r?.(n),n?.defaultPrevented))}}var[Zue,dD]=xn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[Yue,M0]=xn({strict:!1,name:"FormControlContext"});function Xue(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:i,isReadOnly:o,...a}=e,s=C.exports.useId(),l=t||`field-${s}`,d=`${l}-label`,p=`${l}-feedback`,g=`${l}-helptext`,[m,y]=C.exports.useState(!1),[b,S]=C.exports.useState(!1),[E,P]=C.exports.useState(!1),k=C.exports.useCallback((D={},F=null)=>({id:g,...D,ref:zn(F,U=>{!U||S(!0)})}),[g]),L=C.exports.useCallback((D={},F=null)=>({...D,ref:F,"data-focus":X2(E),"data-disabled":X2(i),"data-invalid":X2(r),"data-readonly":X2(o),id:D.id??d,htmlFor:D.htmlFor??l}),[l,i,E,r,o,d]),I=C.exports.useCallback((D={},F=null)=>({id:p,...D,ref:zn(F,U=>{!U||y(!0)}),"aria-live":"polite"}),[p]),O=C.exports.useCallback((D={},F=null)=>({...D,...a,ref:F,role:"group"}),[a]),N=C.exports.useCallback((D={},F=null)=>({...D,ref:F,role:"presentation","aria-hidden":!0,children:D.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!o,isDisabled:!!i,isFocused:!!E,onFocus:()=>P(!0),onBlur:()=>P(!1),hasFeedbackText:m,setHasFeedbackText:y,hasHelpText:b,setHasHelpText:S,id:l,labelId:d,feedbackId:p,helpTextId:g,htmlProps:a,getHelpTextProps:k,getErrorMessageProps:I,getRootProps:O,getLabelProps:L,getRequiredIndicatorProps:N}}var td=Ee(function(t,n){const r=Ai("Form",t),i=hn(t),{getRootProps:o,htmlProps:a,...s}=Xue(i),l=I0("chakra-form-control",t.className);return ne.createElement(Yue,{value:s},ne.createElement(Zue,{value:r},ne.createElement(be.div,{...o({},n),className:l,__css:r.container})))});td.displayName="FormControl";var Que=Ee(function(t,n){const r=M0(),i=dD(),o=I0("chakra-form__helper-text",t.className);return ne.createElement(be.div,{...r?.getHelpTextProps(t,n),__css:i.helperText,className:o})});Que.displayName="FormHelperText";function A8(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:i,...o}=I8(e);return{...o,disabled:t,readOnly:r,required:i,"aria-invalid":Yb(n),"aria-required":Yb(i),"aria-readonly":Yb(r)}}function I8(e){const t=M0(),{id:n,disabled:r,readOnly:i,required:o,isRequired:a,isInvalid:s,isReadOnly:l,isDisabled:d,onFocus:p,onBlur:g,...m}=e,y=e["aria-describedby"]?[e["aria-describedby"]]:[];return t?.hasFeedbackText&&t?.isInvalid&&y.push(t.feedbackId),t?.hasHelpText&&y.push(t.helpTextId),{...m,"aria-describedby":y.join(" ")||void 0,id:n??t?.id,isDisabled:r??d??t?.isDisabled,isReadOnly:i??l??t?.isReadOnly,isRequired:o??a??t?.isRequired,isInvalid:s??t?.isInvalid,onFocus:kT(t?.onFocus,p),onBlur:kT(t?.onBlur,g)}}var[Jue,ece]=xn({name:"FormErrorStylesContext",errorMessage:`useFormErrorStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),tce=Ee((e,t)=>{const n=Ai("FormError",e),r=hn(e),i=M0();return i?.isInvalid?ne.createElement(Jue,{value:n},ne.createElement(be.div,{...i?.getErrorMessageProps(r,t),className:I0("chakra-form__error-message",e.className),__css:{display:"flex",alignItems:"center",...n.text}})):null});tce.displayName="FormErrorMessage";var nce=Ee((e,t)=>{const n=ece(),r=M0();if(!r?.isInvalid)return null;const i=I0("chakra-form__error-icon",e.className);return w(ha,{ref:t,"aria-hidden":!0,...e,__css:n.icon,className:i,children:w("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"})})});nce.displayName="FormErrorIcon";var Gf=Ee(function(t,n){const r=oo("FormLabel",t),i=hn(t),{className:o,children:a,requiredIndicator:s=w(fD,{}),optionalIndicator:l=null,...d}=i,p=M0(),g=p?.getLabelProps(d,n)??{ref:n,...d};return ne.createElement(be.label,{...g,className:I0("chakra-form__label",i.className),__css:{display:"block",textAlign:"start",...r}},a,p?.isRequired?s:l)});Gf.displayName="FormLabel";var fD=Ee(function(t,n){const r=M0(),i=dD();if(!r?.isRequired)return null;const o=I0("chakra-form__required-indicator",t.className);return ne.createElement(be.span,{...r?.getRequiredIndicatorProps(t,n),__css:i.requiredIndicator,className:o})});fD.displayName="RequiredIndicator";function Gc(e,t){const n=C.exports.useRef(!1),r=C.exports.useRef(!1);C.exports.useEffect(()=>{if(n.current&&r.current)return e();r.current=!0},t),C.exports.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[])}var M8={border:"0px",clip:"rect(0px, 0px, 0px, 0px)",height:"1px",width:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},rce=be("span",{baseStyle:M8});rce.displayName="VisuallyHidden";var ice=be("input",{baseStyle:M8});ice.displayName="VisuallyHiddenInput";var ET=!1,$4=null,f0=!1,P6=new Set,oce=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function ace(e){return!(e.metaKey||!oce&&e.altKey||e.ctrlKey)}function R8(e,t){P6.forEach(n=>n(e,t))}function PT(e){f0=!0,ace(e)&&($4="keyboard",R8("keyboard",e))}function tp(e){$4="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(f0=!0,R8("pointer",e))}function sce(e){e.target===window||e.target===document||(f0||($4="keyboard",R8("keyboard",e)),f0=!1)}function lce(){f0=!1}function TT(){return $4!=="pointer"}function uce(){if(typeof window>"u"||ET)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){f0=!0,e.apply(this,n)},document.addEventListener("keydown",PT,!0),document.addEventListener("keyup",PT,!0),window.addEventListener("focus",sce,!0),window.addEventListener("blur",lce,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",tp,!0),document.addEventListener("pointermove",tp,!0),document.addEventListener("pointerup",tp,!0)):(document.addEventListener("mousedown",tp,!0),document.addEventListener("mousemove",tp,!0),document.addEventListener("mouseup",tp,!0)),ET=!0}function cce(e){uce(),e(TT());const t=()=>e(TT());return P6.add(t),()=>{P6.delete(t)}}var[z9e,dce]=xn({name:"CheckboxGroupContext",strict:!1}),fce=(...e)=>e.filter(Boolean).join(" "),Yi=e=>e?"":void 0;function _a(...e){return function(n){e.some(r=>(r?.(n),n?.defaultPrevented))}}function hce(...e){return function(n){e.forEach(r=>{r?.(n)})}}var hD=be(Wa.svg);function pce(e){return w(hD,{width:"1.2em",viewBox:"0 0 12 10",variants:{unchecked:{opacity:0,strokeDashoffset:16},checked:{opacity:1,strokeDashoffset:0,transition:{duration:.2}}},style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:w("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function gce(e){return w(hD,{width:"1.2em",viewBox:"0 0 24 24",variants:{unchecked:{scaleX:.65,opacity:0},checked:{scaleX:1,opacity:1,transition:{scaleX:{duration:0},opacity:{duration:.02}}}},style:{stroke:"currentColor",strokeWidth:4},...e,children:w("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function mce({open:e,children:t}){return w(bu,{initial:!1,children:e&&ne.createElement(Wa.div,{variants:{unchecked:{scale:.5},checked:{scale:1}},initial:"unchecked",animate:"checked",exit:"unchecked",style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"}},t)})}function vce(e){const{isIndeterminate:t,isChecked:n,...r}=e;return w(mce,{open:n||t,children:w(t?gce:pce,{...r})})}function yce(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function pD(e={}){const t=I8(e),{isDisabled:n,isReadOnly:r,isRequired:i,isInvalid:o,id:a,onBlur:s,onFocus:l,"aria-describedby":d}=t,{defaultChecked:p,isChecked:g,isFocusable:m,onChange:y,isIndeterminate:b,name:S,value:E,tabIndex:P=void 0,"aria-label":k,"aria-labelledby":L,"aria-invalid":I,...O}=e,N=yce(O,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),D=ur(y),F=ur(s),U=ur(l),[W,q]=C.exports.useState(!1),[pe,fe]=C.exports.useState(!1),[ye,Pe]=C.exports.useState(!1),[xe,Y]=C.exports.useState(!1);C.exports.useEffect(()=>cce(q),[]);const V=C.exports.useRef(null),[ae,oe]=C.exports.useState(!0),[X,me]=C.exports.useState(!!p),ve=g!==void 0,Se=ve?g:X,He=C.exports.useCallback(Le=>{if(r||n){Le.preventDefault();return}ve||me(Se?Le.target.checked:b?!0:Le.target.checked),D?.(Le)},[r,n,Se,ve,b,D]);gl(()=>{V.current&&(V.current.indeterminate=Boolean(b))},[b]),Gc(()=>{n&&fe(!1)},[n,fe]),gl(()=>{const Le=V.current;!Le?.form||(Le.form.onreset=()=>{me(!!p)})},[]);const je=n&&!m,ut=C.exports.useCallback(Le=>{Le.key===" "&&Y(!0)},[Y]),qe=C.exports.useCallback(Le=>{Le.key===" "&&Y(!1)},[Y]);gl(()=>{if(!V.current)return;V.current.checked!==Se&&me(V.current.checked)},[V.current]);const at=C.exports.useCallback((Le={},ot=null)=>{const Et=rt=>{pe&&rt.preventDefault(),Y(!0)};return{...Le,ref:ot,"data-active":Yi(xe),"data-hover":Yi(ye),"data-checked":Yi(Se),"data-focus":Yi(pe),"data-focus-visible":Yi(pe&&W),"data-indeterminate":Yi(b),"data-disabled":Yi(n),"data-invalid":Yi(o),"data-readonly":Yi(r),"aria-hidden":!0,onMouseDown:_a(Le.onMouseDown,Et),onMouseUp:_a(Le.onMouseUp,()=>Y(!1)),onMouseEnter:_a(Le.onMouseEnter,()=>Pe(!0)),onMouseLeave:_a(Le.onMouseLeave,()=>Pe(!1))}},[xe,Se,n,pe,W,ye,b,o,r]),et=C.exports.useCallback((Le={},ot=null)=>({...N,...Le,ref:zn(ot,Et=>{!Et||oe(Et.tagName==="LABEL")}),onClick:_a(Le.onClick,()=>{var Et;ae||((Et=V.current)==null||Et.click(),requestAnimationFrame(()=>{var rt;(rt=V.current)==null||rt.focus()}))}),"data-disabled":Yi(n),"data-checked":Yi(Se),"data-invalid":Yi(o)}),[N,n,Se,o,ae]),it=C.exports.useCallback((Le={},ot=null)=>({...Le,ref:zn(V,ot),type:"checkbox",name:S,value:E,id:a,tabIndex:P,onChange:_a(Le.onChange,He),onBlur:_a(Le.onBlur,F,()=>fe(!1)),onFocus:_a(Le.onFocus,U,()=>fe(!0)),onKeyDown:_a(Le.onKeyDown,ut),onKeyUp:_a(Le.onKeyUp,qe),required:i,checked:Se,disabled:je,readOnly:r,"aria-label":k,"aria-labelledby":L,"aria-invalid":I?Boolean(I):o,"aria-describedby":d,"aria-disabled":n,style:M8}),[S,E,a,He,F,U,ut,qe,i,Se,je,r,k,L,I,o,d,n,P]),At=C.exports.useCallback((Le={},ot=null)=>({...Le,ref:ot,onMouseDown:_a(Le.onMouseDown,LT),onTouchStart:_a(Le.onTouchStart,LT),"data-disabled":Yi(n),"data-checked":Yi(Se),"data-invalid":Yi(o)}),[Se,n,o]);return{state:{isInvalid:o,isFocused:pe,isChecked:Se,isActive:xe,isHovered:ye,isIndeterminate:b,isDisabled:n,isReadOnly:r,isRequired:i},getRootProps:et,getCheckboxProps:at,getInputProps:it,getLabelProps:At,htmlProps:N}}function LT(e){e.preventDefault(),e.stopPropagation()}var xce={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},bce={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},gD=Ee(function(t,n){const r=dce(),i={...r,...t},o=Ai("Checkbox",i),a=hn(t),{spacing:s="0.5rem",className:l,children:d,iconColor:p,iconSize:g,icon:m=w(vce,{}),isChecked:y,isDisabled:b=r?.isDisabled,onChange:S,inputProps:E,...P}=a;let k=y;r?.value&&a.value&&(k=r.value.includes(a.value));let L=S;r?.onChange&&a.value&&(L=hce(r.onChange,S));const{state:I,getInputProps:O,getCheckboxProps:N,getLabelProps:D,getRootProps:F}=pD({...P,isDisabled:b,isChecked:k,onChange:L}),U=C.exports.useMemo(()=>({opacity:I.isChecked||I.isIndeterminate?1:0,transform:I.isChecked||I.isIndeterminate?"scale(1)":"scale(0.95)",fontSize:g,color:p,...o.icon}),[p,g,I.isChecked,I.isIndeterminate,o.icon]),W=C.exports.cloneElement(m,{__css:U,isIndeterminate:I.isIndeterminate,isChecked:I.isChecked});return ne.createElement(be.label,{__css:{...bce,...o.container},className:fce("chakra-checkbox",l),...F()},w("input",{className:"chakra-checkbox__input",...O(E,n)}),ne.createElement(be.span,{__css:{...xce,...o.control},className:"chakra-checkbox__control",...N()},W),d&&ne.createElement(be.span,{className:"chakra-checkbox__label",...D(),__css:{marginStart:s,...o.label}},d))});gD.displayName="Checkbox";function Sce(e){return w(ha,{focusable:"false","aria-hidden":!0,...e,children:w("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 H4=Ee(function(t,n){const r=oo("CloseButton",t),{children:i,isDisabled:o,__css:a,...s}=hn(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return ne.createElement(be.button,{type:"button","aria-label":"Close",ref:n,disabled:o,__css:{...l,...r,...a},...s},i||w(Sce,{width:"1em",height:"1em"}))});H4.displayName="CloseButton";function wce(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function O8(e,t){let n=wce(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function T6(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 c5(e,t,n){return(e-t)*100/(n-t)}function mD(e,t,n){return(n-t)*e+t}function L6(e,t,n){const r=Math.round((e-t)/n)*n+t,i=T6(n);return O8(r,i)}function Gp(e,t,n){return e==null?e:(nr==null?"":Xb(r,o,n)??""),m=typeof i<"u",y=m?i:p,b=vD(yc(y),o),S=n??b,E=C.exports.useCallback(W=>{W!==y&&(m||g(W.toString()),d?.(W.toString(),yc(W)))},[d,m,y]),P=C.exports.useCallback(W=>{let q=W;return l&&(q=Gp(q,a,s)),O8(q,S)},[S,l,s,a]),k=C.exports.useCallback((W=o)=>{let q;y===""?q=yc(W):q=yc(y)+W,q=P(q),E(q)},[P,o,E,y]),L=C.exports.useCallback((W=o)=>{let q;y===""?q=yc(-W):q=yc(y)-W,q=P(q),E(q)},[P,o,E,y]),I=C.exports.useCallback(()=>{let W;r==null?W="":W=Xb(r,o,n)??a,E(W)},[r,n,o,E,a]),O=C.exports.useCallback(W=>{const q=Xb(W,o,S)??a;E(q)},[S,o,E,a]),N=yc(y);return{isOutOfRange:N>s||Nw(y4,{styles:yD}),kce=()=>w(y4,{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; + } + + ${yD} + `});function Lf(e,t,n,r){const i=ur(n);return C.exports.useEffect(()=>{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?.removeEventListener(t,i,r)}}function Ece(e){return"current"in e}var xD=()=>typeof window<"u";function Pce(){const e=navigator.userAgentData;return e?.platform??navigator.platform}var Tce=e=>xD()&&e.test(navigator.vendor),Lce=e=>xD()&&e.test(Pce()),Ace=()=>Lce(/mac|iphone|ipad|ipod/i),Ice=()=>Ace()&&Tce(/apple/i);function Mce(e){const{ref:t,elements:n,enabled:r}=e,i=()=>{var o;return((o=t.current)==null?void 0:o.ownerDocument)??document};Lf(i,"pointerdown",o=>{if(!Ice()||!r)return;const a=o.target,l=(n??[t]).some(d=>{const p=Ece(d)?d.current:d;return p?.contains(a)||p===a});i().activeElement!==a&&l&&(o.preventDefault(),a.focus())})}var Rce=wX?C.exports.useLayoutEffect:C.exports.useEffect;function AT(e,t=[]){const n=C.exports.useRef(e);return Rce(()=>{n.current=e}),C.exports.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function Oce(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function Nce(e,t){const n=C.exports.useId();return C.exports.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function d5(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=AT(n),a=AT(t),[s,l]=C.exports.useState(e.defaultIsOpen||!1),[d,p]=Oce(r,s),g=Nce(i,"disclosure"),m=C.exports.useCallback(()=>{d||l(!1),a?.()},[d,a]),y=C.exports.useCallback(()=>{d||l(!0),o?.()},[d,o]),b=C.exports.useCallback(()=>{(p?m:y)()},[p,y,m]);return{isOpen:!!p,onOpen:y,onClose:m,onToggle:b,isControlled:d,getButtonProps:(S={})=>({...S,"aria-expanded":p,"aria-controls":g,onClick:CX(S.onClick,b)}),getDisclosureProps:(S={})=>({...S,hidden:!p,id:g})}}function N8(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}var D8=Ee(function(t,n){const{htmlSize:r,...i}=t,o=Ai("Input",i),a=hn(i),s=A8(a),l=Rr("chakra-input",t.className);return ne.createElement(be.input,{size:r,...s,__css:o.field,ref:n,className:l})});D8.displayName="Input";D8.id="Input";var[Dce,bD]=xn({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),zce=Ee(function(t,n){const r=Ai("Input",t),{children:i,className:o,...a}=hn(t),s=Rr("chakra-input__group",o),l={},d=F4(i),p=r.field;d.forEach(m=>{!r||(p&&m.type.id==="InputLeftElement"&&(l.paddingStart=p.height??p.h),p&&m.type.id==="InputRightElement"&&(l.paddingEnd=p.height??p.h),m.type.id==="InputRightAddon"&&(l.borderEndRadius=0),m.type.id==="InputLeftAddon"&&(l.borderStartRadius=0))});const g=d.map(m=>{var y,b;const S=N8({size:((y=m.props)==null?void 0:y.size)||t.size,variant:((b=m.props)==null?void 0:b.variant)||t.variant});return m.type.id!=="Input"?C.exports.cloneElement(m,S):C.exports.cloneElement(m,Object.assign(S,l,m.props))});return ne.createElement(be.div,{className:s,ref:n,__css:{width:"100%",display:"flex",position:"relative"},...a},w(Dce,{value:r,children:g}))});zce.displayName="InputGroup";var Fce={left:{marginEnd:"-1px",borderEndRadius:0,borderEndColor:"transparent"},right:{marginStart:"-1px",borderStartRadius:0,borderStartColor:"transparent"}},Bce=be("div",{baseStyle:{flex:"0 0 auto",width:"auto",display:"flex",alignItems:"center",whiteSpace:"nowrap"}}),z8=Ee(function(t,n){const{placement:r="left",...i}=t,o=Fce[r]??{},a=bD();return w(Bce,{ref:n,...i,__css:{...a.addon,...o}})});z8.displayName="InputAddon";var SD=Ee(function(t,n){return w(z8,{ref:n,placement:"left",...t,className:Rr("chakra-input__left-addon",t.className)})});SD.displayName="InputLeftAddon";SD.id="InputLeftAddon";var wD=Ee(function(t,n){return w(z8,{ref:n,placement:"right",...t,className:Rr("chakra-input__right-addon",t.className)})});wD.displayName="InputRightAddon";wD.id="InputRightAddon";var $ce=be("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),W4=Ee(function(t,n){const{placement:r="left",...i}=t,o=bD(),a=o.field,l={[r==="left"?"insetStart":"insetEnd"]:"0",width:a?.height??a?.h,height:a?.height??a?.h,fontSize:a?.fontSize,...o.element};return w($ce,{ref:n,__css:l,...i})});W4.id="InputElement";W4.displayName="InputElement";var CD=Ee(function(t,n){const{className:r,...i}=t,o=Rr("chakra-input__left-element",r);return w(W4,{ref:n,placement:"left",className:o,...i})});CD.id="InputLeftElement";CD.displayName="InputLeftElement";var _D=Ee(function(t,n){const{className:r,...i}=t,o=Rr("chakra-input__right-element",r);return w(W4,{ref:n,placement:"right",className:o,...i})});_D.id="InputRightElement";_D.displayName="InputRightElement";function Hce(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}Object.freeze(["base","sm","md","lg","xl","2xl"]);function jc(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):Hce(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var Wce=Ee(function(e,t){const{ratio:n=4/3,children:r,className:i,...o}=e,a=C.exports.Children.only(r),s=Rr("chakra-aspect-ratio",i);return ne.createElement(be.div,{ref:t,position:"relative",className:s,_before:{height:0,content:'""',display:"block",paddingBottom:jc(n,l=>`${1/l*100}%`)},__css:{"& > *:not(style)":{overflow:"hidden",position:"absolute",top:"0",right:"0",bottom:"0",left:"0",display:"flex",justifyContent:"center",alignItems:"center",width:"100%",height:"100%"},"& > img, & > video":{objectFit:"cover"}},...o},a)});Wce.displayName="AspectRatio";var Vce=Ee(function(t,n){const r=oo("Badge",t),{className:i,...o}=hn(t);return ne.createElement(be.span,{ref:n,className:Rr("chakra-badge",t.className),...o,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});Vce.displayName="Badge";var Pl=be("div");Pl.displayName="Box";var kD=Ee(function(t,n){const{size:r,centerContent:i=!0,...o}=t;return w(Pl,{ref:n,boxSize:r,__css:{...i?{display:"flex",alignItems:"center",justifyContent:"center"}:{},flexShrink:0,flexGrow:0},...o})});kD.displayName="Square";var Uce=Ee(function(t,n){const{size:r,...i}=t;return w(kD,{size:r,ref:n,borderRadius:"9999px",...i})});Uce.displayName="Circle";var ED=be("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center"}});ED.displayName="Center";var Gce={horizontal:{insetStart:"50%",transform:"translateX(-50%)"},vertical:{top:"50%",transform:"translateY(-50%)"},both:{insetStart:"50%",top:"50%",transform:"translate(-50%, -50%)"}};Ee(function(t,n){const{axis:r="both",...i}=t;return ne.createElement(be.div,{ref:n,__css:Gce[r],...i,position:"absolute"})});var jce=Ee(function(t,n){const r=oo("Code",t),{className:i,...o}=hn(t);return ne.createElement(be.code,{ref:n,className:Rr("chakra-code",t.className),...o,__css:{display:"inline-block",...r}})});jce.displayName="Code";var qce=Ee(function(t,n){const{className:r,centerContent:i,...o}=hn(t),a=oo("Container",t);return ne.createElement(be.div,{ref:n,className:Rr("chakra-container",r),...o,__css:{...a,...i&&{display:"flex",flexDirection:"column",alignItems:"center"}}})});qce.displayName="Container";var Kce=Ee(function(t,n){const{borderLeftWidth:r,borderBottomWidth:i,borderTopWidth:o,borderRightWidth:a,borderWidth:s,borderStyle:l,borderColor:d,...p}=oo("Divider",t),{className:g,orientation:m="horizontal",__css:y,...b}=hn(t),S={vertical:{borderLeftWidth:r||a||s||"1px",height:"100%"},horizontal:{borderBottomWidth:i||o||s||"1px",width:"100%"}};return ne.createElement(be.hr,{ref:n,"aria-orientation":m,...b,__css:{...p,border:"0",borderColor:d,borderStyle:l,...S[m],...y},className:Rr("chakra-divider",g)})});Kce.displayName="Divider";var Dn=Ee(function(t,n){const{direction:r,align:i,justify:o,wrap:a,basis:s,grow:l,shrink:d,...p}=t,g={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:a,flexBasis:s,flexGrow:l,flexShrink:d};return ne.createElement(be.div,{ref:n,__css:g,...p})});Dn.displayName="Flex";var PD=Ee(function(t,n){const{templateAreas:r,gap:i,rowGap:o,columnGap:a,column:s,row:l,autoFlow:d,autoRows:p,templateRows:g,autoColumns:m,templateColumns:y,...b}=t,S={display:"grid",gridTemplateAreas:r,gridGap:i,gridRowGap:o,gridColumnGap:a,gridAutoColumns:m,gridColumn:s,gridRow:l,gridAutoFlow:d,gridAutoRows:p,gridTemplateRows:g,gridTemplateColumns:y};return ne.createElement(be.div,{ref:n,__css:S,...b})});PD.displayName="Grid";function IT(e){return jc(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var Zce=Ee(function(t,n){const{area:r,colSpan:i,colStart:o,colEnd:a,rowEnd:s,rowSpan:l,rowStart:d,...p}=t,g=N8({gridArea:r,gridColumn:IT(i),gridRow:IT(l),gridColumnStart:o,gridColumnEnd:a,gridRowStart:d,gridRowEnd:s});return ne.createElement(be.div,{ref:n,__css:g,...p})});Zce.displayName="GridItem";var Af=Ee(function(t,n){const r=oo("Heading",t),{className:i,...o}=hn(t);return ne.createElement(be.h2,{ref:n,className:Rr("chakra-heading",t.className),...o,__css:r})});Af.displayName="Heading";Ee(function(t,n){const r=oo("Mark",t),i=hn(t);return w(Pl,{ref:n,...i,as:"mark",__css:{bg:"transparent",whiteSpace:"nowrap",...r}})});var Yce=Ee(function(t,n){const r=oo("Kbd",t),{className:i,...o}=hn(t);return ne.createElement(be.kbd,{ref:n,className:Rr("chakra-kbd",i),...o,__css:{fontFamily:"mono",...r}})});Yce.displayName="Kbd";var jp=Ee(function(t,n){const r=oo("Link",t),{className:i,isExternal:o,...a}=hn(t);return ne.createElement(be.a,{target:o?"_blank":void 0,rel:o?"noopener":void 0,ref:n,className:Rr("chakra-link",i),...a,__css:r})});jp.displayName="Link";Ee(function(t,n){const{isExternal:r,target:i,rel:o,className:a,...s}=t;return ne.createElement(be.a,{...s,ref:n,className:Rr("chakra-linkbox__overlay",a),rel:r?"noopener noreferrer":o,target:r?"_blank":i,__css:{position:"static","&::before":{content:"''",cursor:"inherit",display:"block",position:"absolute",top:0,left:0,zIndex:0,width:"100%",height:"100%"}}})});Ee(function(t,n){const{className:r,...i}=t;return ne.createElement(be.div,{ref:n,position:"relative",...i,className:Rr("chakra-linkbox",r),__css:{"a[href]:not(.chakra-linkbox__overlay), abbr[title]":{position:"relative",zIndex:1}}})});var[Xce,TD]=xn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),F8=Ee(function(t,n){const r=Ai("List",t),{children:i,styleType:o="none",stylePosition:a,spacing:s,...l}=hn(t),d=F4(i),g=s?{["& > *:not(style) ~ *:not(style)"]:{mt:s}}:{};return ne.createElement(Xce,{value:r},ne.createElement(be.ul,{ref:n,listStyleType:o,listStylePosition:a,role:"list",__css:{...r.container,...g},...l},d))});F8.displayName="List";var Qce=Ee((e,t)=>{const{as:n,...r}=e;return w(F8,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});Qce.displayName="OrderedList";var Jce=Ee(function(t,n){const{as:r,...i}=t;return w(F8,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...i})});Jce.displayName="UnorderedList";var ede=Ee(function(t,n){const r=TD();return ne.createElement(be.li,{ref:n,...t,__css:r.item})});ede.displayName="ListItem";var tde=Ee(function(t,n){const r=TD();return w(ha,{ref:n,role:"presentation",...t,__css:r.icon})});tde.displayName="ListIcon";var nde=Ee(function(t,n){const{columns:r,spacingX:i,spacingY:o,spacing:a,minChildWidth:s,...l}=t,d=E0(),p=s?ide(s,d):ode(r);return w(PD,{ref:n,gap:a,columnGap:i,rowGap:o,templateColumns:p,...l})});nde.displayName="SimpleGrid";function rde(e){return typeof e=="number"?`${e}px`:e}function ide(e,t){return jc(e,n=>{const r=aie("sizes",n,rde(n))(t);return n===null?null:`repeat(auto-fit, minmax(${r}, 1fr))`})}function ode(e){return jc(e,t=>t===null?null:`repeat(${t}, minmax(0, 1fr))`)}var LD=be("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});LD.displayName="Spacer";var A6="& > *:not(style) ~ *:not(style)";function ade(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,[A6]:jc(n,i=>r[i])}}function sde(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{"&":jc(n,i=>r[i])}}var AD=e=>ne.createElement(be.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});AD.displayName="StackItem";var B8=Ee((e,t)=>{const{isInline:n,direction:r,align:i,justify:o,spacing:a="0.5rem",wrap:s,children:l,divider:d,className:p,shouldWrapChildren:g,...m}=e,y=n?"row":r??"column",b=C.exports.useMemo(()=>ade({direction:y,spacing:a}),[y,a]),S=C.exports.useMemo(()=>sde({spacing:a,direction:y}),[a,y]),E=!!d,P=!g&&!E,k=C.exports.useMemo(()=>{const I=F4(l);return P?I:I.map((O,N)=>{const D=typeof O.key<"u"?O.key:N,F=N+1===I.length,W=g?w(AD,{children:O},D):O;if(!E)return W;const q=C.exports.cloneElement(d,{__css:S}),pe=F?null:q;return te(C.exports.Fragment,{children:[W,pe]},D)})},[d,S,E,P,g,l]),L=Rr("chakra-stack",p);return ne.createElement(be.div,{ref:t,display:"flex",alignItems:i,justifyContent:o,flexDirection:b.flexDirection,flexWrap:s,className:L,__css:E?{}:{[A6]:b[A6]},...m},k)});B8.displayName="Stack";var lde=Ee((e,t)=>w(B8,{align:"center",...e,direction:"row",ref:t}));lde.displayName="HStack";var ude=Ee((e,t)=>w(B8,{align:"center",...e,direction:"column",ref:t}));ude.displayName="VStack";var wo=Ee(function(t,n){const r=oo("Text",t),{className:i,align:o,decoration:a,casing:s,...l}=hn(t),d=N8({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return ne.createElement(be.p,{ref:n,className:Rr("chakra-text",t.className),...d,...l,__css:r})});wo.displayName="Text";function MT(e){return typeof e=="number"?`${e}px`:e}var cde=Ee(function(t,n){const{spacing:r="0.5rem",spacingX:i,spacingY:o,children:a,justify:s,direction:l,align:d,className:p,shouldWrapChildren:g,...m}=t,y=C.exports.useMemo(()=>{const{spacingX:S=r,spacingY:E=r}={spacingX:i,spacingY:o};return{"--chakra-wrap-x-spacing":P=>jc(S,k=>MT(Bw("space",k)(P))),"--chakra-wrap-y-spacing":P=>jc(E,k=>MT(Bw("space",k)(P))),"--wrap-x-spacing":"calc(var(--chakra-wrap-x-spacing) / 2)","--wrap-y-spacing":"calc(var(--chakra-wrap-y-spacing) / 2)",display:"flex",flexWrap:"wrap",justifyContent:s,alignItems:d,flexDirection:l,listStyleType:"none",padding:"0",margin:"calc(var(--wrap-y-spacing) * -1) calc(var(--wrap-x-spacing) * -1)","& > *:not(style)":{margin:"var(--wrap-y-spacing) var(--wrap-x-spacing)"}}},[r,i,o,s,d,l]),b=C.exports.useMemo(()=>g?C.exports.Children.map(a,(S,E)=>w(ID,{children:S},E)):a,[a,g]);return ne.createElement(be.div,{ref:n,className:Rr("chakra-wrap",p),overflow:"hidden",...m},ne.createElement(be.ul,{className:"chakra-wrap__list",__css:y},b))});cde.displayName="Wrap";var ID=Ee(function(t,n){const{className:r,...i}=t;return ne.createElement(be.li,{ref:n,__css:{display:"flex",alignItems:"flex-start"},className:Rr("chakra-wrap__listitem",r),...i})});ID.displayName="WrapItem";var dde={body:{classList:{add(){},remove(){}}},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector(){return null},querySelectorAll(){return[]},getElementById(){return null},createEvent(){return{initEvent(){}}},createElement(){return{children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName(){return[]}}}},MD=dde,np=()=>{},fde={document:MD,navigator:{userAgent:""},CustomEvent:function(){return this},addEventListener:np,removeEventListener:np,getComputedStyle(){return{getPropertyValue(){return""}}},matchMedia(){return{matches:!1,addListener:np,removeListener:np}},requestAnimationFrame(e){return typeof setTimeout>"u"?(e(),null):setTimeout(e,0)},cancelAnimationFrame(e){typeof setTimeout>"u"||clearTimeout(e)},setTimeout:()=>0,clearTimeout:np,setInterval:()=>0,clearInterval:np},hde=fde,pde={window:hde,document:MD},RD=typeof window<"u"?{window,document}:pde,OD=C.exports.createContext(RD);OD.displayName="EnvironmentContext";function ND(e){const{children:t,environment:n}=e,[r,i]=C.exports.useState(null),[o,a]=C.exports.useState(!1);C.exports.useEffect(()=>a(!0),[]);const s=C.exports.useMemo(()=>{if(n)return n;const l=r?.ownerDocument,d=r?.ownerDocument.defaultView;return l?{document:l,window:d}:RD},[r,n]);return te(OD.Provider,{value:s,children:[t,!n&&o&&w("span",{id:"__chakra_env",hidden:!0,ref:l=>{C.exports.startTransition(()=>{l&&i(l)})}})]})}ND.displayName="EnvironmentProvider";var gde=e=>e?"":void 0;function mde(){const e=C.exports.useRef(new Map),t=e.current,n=C.exports.useCallback((i,o,a,s)=>{e.current.set(a,{type:o,el:i,options:s}),i.addEventListener(o,a,s)},[]),r=C.exports.useCallback((i,o,a,s)=>{i.removeEventListener(o,a,s),e.current.delete(a)},[]);return C.exports.useEffect(()=>()=>{t.forEach((i,o)=>{r(i.el,i.type,o,i.options)})},[r,t]),{add:n,remove:r}}function Qb(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function vde(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:i=!0,clickOnSpace:o=!0,onMouseDown:a,onMouseUp:s,onClick:l,onKeyDown:d,onKeyUp:p,tabIndex:g,onMouseOver:m,onMouseLeave:y,...b}=e,[S,E]=C.exports.useState(!0),[P,k]=C.exports.useState(!1),L=mde(),I=Y=>{!Y||Y.tagName!=="BUTTON"&&E(!1)},O=S?g:g||0,N=n&&!r,D=C.exports.useCallback(Y=>{if(n){Y.stopPropagation(),Y.preventDefault();return}Y.currentTarget.focus(),l?.(Y)},[n,l]),F=C.exports.useCallback(Y=>{P&&Qb(Y)&&(Y.preventDefault(),Y.stopPropagation(),k(!1),L.remove(document,"keyup",F,!1))},[P,L]),U=C.exports.useCallback(Y=>{if(d?.(Y),n||Y.defaultPrevented||Y.metaKey||!Qb(Y.nativeEvent)||S)return;const V=i&&Y.key==="Enter";o&&Y.key===" "&&(Y.preventDefault(),k(!0)),V&&(Y.preventDefault(),Y.currentTarget.click()),L.add(document,"keyup",F,!1)},[n,S,d,i,o,L,F]),W=C.exports.useCallback(Y=>{if(p?.(Y),n||Y.defaultPrevented||Y.metaKey||!Qb(Y.nativeEvent)||S)return;o&&Y.key===" "&&(Y.preventDefault(),k(!1),Y.currentTarget.click())},[o,S,n,p]),q=C.exports.useCallback(Y=>{Y.button===0&&(k(!1),L.remove(document,"mouseup",q,!1))},[L]),pe=C.exports.useCallback(Y=>{if(Y.button!==0)return;if(n){Y.stopPropagation(),Y.preventDefault();return}S||k(!0),Y.currentTarget.focus({preventScroll:!0}),L.add(document,"mouseup",q,!1),a?.(Y)},[n,S,a,L,q]),fe=C.exports.useCallback(Y=>{Y.button===0&&(S||k(!1),s?.(Y))},[s,S]),ye=C.exports.useCallback(Y=>{if(n){Y.preventDefault();return}m?.(Y)},[n,m]),Pe=C.exports.useCallback(Y=>{P&&(Y.preventDefault(),k(!1)),y?.(Y)},[P,y]),xe=zn(t,I);return S?{...b,ref:xe,type:"button","aria-disabled":N?void 0:n,disabled:N,onClick:D,onMouseDown:a,onMouseUp:s,onKeyUp:p,onKeyDown:d,onMouseOver:m,onMouseLeave:y}:{...b,ref:xe,role:"button","data-active":gde(P),"aria-disabled":n?"true":void 0,tabIndex:N?void 0:O,onClick:D,onMouseDown:pe,onMouseUp:fe,onKeyUp:W,onKeyDown:U,onMouseOver:ye,onMouseLeave:Pe}}function DD(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function zD(e){if(!DD(e))return!1;const t=e.ownerDocument.defaultView??window;return e instanceof t.HTMLElement}function yde(e){var t;return((t=FD(e))==null?void 0:t.defaultView)??window}function FD(e){return DD(e)?e.ownerDocument:document}function xde(e){return FD(e).activeElement}var BD=e=>e.hasAttribute("tabindex"),bde=e=>BD(e)&&e.tabIndex===-1;function Sde(e){return Boolean(e.getAttribute("disabled"))===!0||Boolean(e.getAttribute("aria-disabled"))===!0}function $D(e){return e.parentElement&&$D(e.parentElement)?!0:e.hidden}function wde(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function HD(e){if(!zD(e)||$D(e)||Sde(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]():wde(e)?!0:BD(e)}function Cde(e){return e?zD(e)&&HD(e)&&!bde(e):!1}var _de=["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]"],kde=_de.join(),Ede=e=>e.offsetWidth>0&&e.offsetHeight>0;function WD(e){const t=Array.from(e.querySelectorAll(kde));return t.unshift(e),t.filter(n=>HD(n)&&Ede(n))}function Pde(e){const t=e.current;if(!t)return!1;const n=xde(t);return!n||t.contains(n)?!1:!!Cde(n)}function Tde(e,t){const{shouldFocus:n,visible:r,focusRef:i}=t,o=n&&!r;Gc(()=>{if(!o||Pde(e))return;const a=i?.current||e.current;a&&requestAnimationFrame(()=>{a.focus()})},[o,e,i])}var Lde={preventScroll:!0,shouldFocus:!1};function Ade(e,t=Lde){const{focusRef:n,preventScroll:r,shouldFocus:i,visible:o}=t,a=Ide(e)?e.current:e,s=i&&o,l=C.exports.useCallback(()=>{if(!(!a||!s)&&!a.contains(document.activeElement))if(n?.current)requestAnimationFrame(()=>{var d;(d=n.current)==null||d.focus({preventScroll:r})});else{const d=WD(a);d.length>0&&requestAnimationFrame(()=>{d[0].focus({preventScroll:r})})}},[s,r,a,n]);Gc(()=>{l()},[l]),Lf(a,"transitionend",l)}function Ide(e){return"current"in e}var Po="top",Ba="bottom",$a="right",To="left",$8="auto",bv=[Po,Ba,$a,To],h0="start",Vm="end",Mde="clippingParents",VD="viewport",sg="popper",Rde="reference",RT=bv.reduce(function(e,t){return e.concat([t+"-"+h0,t+"-"+Vm])},[]),UD=[].concat(bv,[$8]).reduce(function(e,t){return e.concat([t,t+"-"+h0,t+"-"+Vm])},[]),Ode="beforeRead",Nde="read",Dde="afterRead",zde="beforeMain",Fde="main",Bde="afterMain",$de="beforeWrite",Hde="write",Wde="afterWrite",Vde=[Ode,Nde,Dde,zde,Fde,Bde,$de,Hde,Wde];function wl(e){return e?(e.nodeName||"").toLowerCase():null}function Va(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Ff(e){var t=Va(e).Element;return e instanceof t||e instanceof Element}function Da(e){var t=Va(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function H8(e){if(typeof ShadowRoot>"u")return!1;var t=Va(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Ude(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];!Da(o)||!wl(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 Gde(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,d){return l[d]="",l},{});!Da(i)||!wl(i)||(Object.assign(i.style,s),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const jde={name:"applyStyles",enabled:!0,phase:"write",fn:Ude,effect:Gde,requires:["computeStyles"]};function xl(e){return e.split("-")[0]}var If=Math.max,f5=Math.min,p0=Math.round;function I6(){var e=navigator.userAgentData;return e!=null&&e.brands?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function GD(){return!/^((?!chrome|android).)*safari/i.test(I6())}function g0(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,o=1;t&&Da(e)&&(i=e.offsetWidth>0&&p0(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&p0(r.height)/e.offsetHeight||1);var a=Ff(e)?Va(e):window,s=a.visualViewport,l=!GD()&&n,d=(r.left+(l&&s?s.offsetLeft:0))/i,p=(r.top+(l&&s?s.offsetTop:0))/o,g=r.width/i,m=r.height/o;return{width:g,height:m,top:p,right:d+g,bottom:p+m,left:d,x:d,y:p}}function W8(e){var t=g0(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 jD(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&H8(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function pu(e){return Va(e).getComputedStyle(e)}function qde(e){return["table","td","th"].indexOf(wl(e))>=0}function nd(e){return((Ff(e)?e.ownerDocument:e.document)||window.document).documentElement}function V4(e){return wl(e)==="html"?e:e.assignedSlot||e.parentNode||(H8(e)?e.host:null)||nd(e)}function OT(e){return!Da(e)||pu(e).position==="fixed"?null:e.offsetParent}function Kde(e){var t=/firefox/i.test(I6()),n=/Trident/i.test(I6());if(n&&Da(e)){var r=pu(e);if(r.position==="fixed")return null}var i=V4(e);for(H8(i)&&(i=i.host);Da(i)&&["html","body"].indexOf(wl(i))<0;){var o=pu(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 Sv(e){for(var t=Va(e),n=OT(e);n&&qde(n)&&pu(n).position==="static";)n=OT(n);return n&&(wl(n)==="html"||wl(n)==="body"&&pu(n).position==="static")?t:n||Kde(e)||t}function V8(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function im(e,t,n){return If(e,f5(t,n))}function Zde(e,t,n){var r=im(e,t,n);return r>n?n:r}function qD(){return{top:0,right:0,bottom:0,left:0}}function KD(e){return Object.assign({},qD(),e)}function ZD(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var Yde=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,KD(typeof t!="number"?t:ZD(t,bv))};function Xde(e){var t,n=e.state,r=e.name,i=e.options,o=n.elements.arrow,a=n.modifiersData.popperOffsets,s=xl(n.placement),l=V8(s),d=[To,$a].indexOf(s)>=0,p=d?"height":"width";if(!(!o||!a)){var g=Yde(i.padding,n),m=W8(o),y=l==="y"?Po:To,b=l==="y"?Ba:$a,S=n.rects.reference[p]+n.rects.reference[l]-a[l]-n.rects.popper[p],E=a[l]-n.rects.reference[l],P=Sv(o),k=P?l==="y"?P.clientHeight||0:P.clientWidth||0:0,L=S/2-E/2,I=g[y],O=k-m[p]-g[b],N=k/2-m[p]/2+L,D=im(I,N,O),F=l;n.modifiersData[r]=(t={},t[F]=D,t.centerOffset=D-N,t)}}function Qde(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)||!jD(t.elements.popper,i)||(t.elements.arrow=i))}const Jde={name:"arrow",enabled:!0,phase:"main",fn:Xde,effect:Qde,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function m0(e){return e.split("-")[1]}var efe={top:"auto",right:"auto",bottom:"auto",left:"auto"};function tfe(e){var t=e.x,n=e.y,r=window,i=r.devicePixelRatio||1;return{x:p0(t*i)/i||0,y:p0(n*i)/i||0}}function NT(e){var t,n=e.popper,r=e.popperRect,i=e.placement,o=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,d=e.adaptive,p=e.roundOffsets,g=e.isFixed,m=a.x,y=m===void 0?0:m,b=a.y,S=b===void 0?0:b,E=typeof p=="function"?p({x:y,y:S}):{x:y,y:S};y=E.x,S=E.y;var P=a.hasOwnProperty("x"),k=a.hasOwnProperty("y"),L=To,I=Po,O=window;if(d){var N=Sv(n),D="clientHeight",F="clientWidth";if(N===Va(n)&&(N=nd(n),pu(N).position!=="static"&&s==="absolute"&&(D="scrollHeight",F="scrollWidth")),N=N,i===Po||(i===To||i===$a)&&o===Vm){I=Ba;var U=g&&N===O&&O.visualViewport?O.visualViewport.height:N[D];S-=U-r.height,S*=l?1:-1}if(i===To||(i===Po||i===Ba)&&o===Vm){L=$a;var W=g&&N===O&&O.visualViewport?O.visualViewport.width:N[F];y-=W-r.width,y*=l?1:-1}}var q=Object.assign({position:s},d&&efe),pe=p===!0?tfe({x:y,y:S}):{x:y,y:S};if(y=pe.x,S=pe.y,l){var fe;return Object.assign({},q,(fe={},fe[I]=k?"0":"",fe[L]=P?"0":"",fe.transform=(O.devicePixelRatio||1)<=1?"translate("+y+"px, "+S+"px)":"translate3d("+y+"px, "+S+"px, 0)",fe))}return Object.assign({},q,(t={},t[I]=k?S+"px":"",t[L]=P?y+"px":"",t.transform="",t))}function nfe(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,d={placement:xl(t.placement),variation:m0(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,NT(Object.assign({},d,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,NT(Object.assign({},d,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const rfe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:nfe,data:{}};var Q2={passive:!0};function ife(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=Va(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&d.forEach(function(p){p.addEventListener("scroll",n.update,Q2)}),s&&l.addEventListener("resize",n.update,Q2),function(){o&&d.forEach(function(p){p.removeEventListener("scroll",n.update,Q2)}),s&&l.removeEventListener("resize",n.update,Q2)}}const ofe={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:ife,data:{}};var afe={left:"right",right:"left",bottom:"top",top:"bottom"};function Jy(e){return e.replace(/left|right|bottom|top/g,function(t){return afe[t]})}var sfe={start:"end",end:"start"};function DT(e){return e.replace(/start|end/g,function(t){return sfe[t]})}function U8(e){var t=Va(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function G8(e){return g0(nd(e)).left+U8(e).scrollLeft}function lfe(e,t){var n=Va(e),r=nd(e),i=n.visualViewport,o=r.clientWidth,a=r.clientHeight,s=0,l=0;if(i){o=i.width,a=i.height;var d=GD();(d||!d&&t==="fixed")&&(s=i.offsetLeft,l=i.offsetTop)}return{width:o,height:a,x:s+G8(e),y:l}}function ufe(e){var t,n=nd(e),r=U8(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=If(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=If(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),s=-r.scrollLeft+G8(e),l=-r.scrollTop;return pu(i||n).direction==="rtl"&&(s+=If(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:a,x:s,y:l}}function j8(e){var t=pu(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function YD(e){return["html","body","#document"].indexOf(wl(e))>=0?e.ownerDocument.body:Da(e)&&j8(e)?e:YD(V4(e))}function om(e,t){var n;t===void 0&&(t=[]);var r=YD(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=Va(r),a=i?[o].concat(o.visualViewport||[],j8(r)?r:[]):r,s=t.concat(a);return i?s:s.concat(om(V4(a)))}function M6(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function cfe(e,t){var n=g0(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 zT(e,t,n){return t===VD?M6(lfe(e,n)):Ff(t)?cfe(t,n):M6(ufe(nd(e)))}function dfe(e){var t=om(V4(e)),n=["absolute","fixed"].indexOf(pu(e).position)>=0,r=n&&Da(e)?Sv(e):e;return Ff(r)?t.filter(function(i){return Ff(i)&&jD(i,r)&&wl(i)!=="body"}):[]}function ffe(e,t,n,r){var i=t==="clippingParents"?dfe(e):[].concat(t),o=[].concat(i,[n]),a=o[0],s=o.reduce(function(l,d){var p=zT(e,d,r);return l.top=If(p.top,l.top),l.right=f5(p.right,l.right),l.bottom=f5(p.bottom,l.bottom),l.left=If(p.left,l.left),l},zT(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 XD(e){var t=e.reference,n=e.element,r=e.placement,i=r?xl(r):null,o=r?m0(r):null,a=t.x+t.width/2-n.width/2,s=t.y+t.height/2-n.height/2,l;switch(i){case Po:l={x:a,y:t.y-n.height};break;case Ba:l={x:a,y:t.y+t.height};break;case $a:l={x:t.x+t.width,y:s};break;case To:l={x:t.x-n.width,y:s};break;default:l={x:t.x,y:t.y}}var d=i?V8(i):null;if(d!=null){var p=d==="y"?"height":"width";switch(o){case h0:l[d]=l[d]-(t[p]/2-n[p]/2);break;case Vm:l[d]=l[d]+(t[p]/2-n[p]/2);break}}return l}function Um(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?Mde:s,d=n.rootBoundary,p=d===void 0?VD:d,g=n.elementContext,m=g===void 0?sg:g,y=n.altBoundary,b=y===void 0?!1:y,S=n.padding,E=S===void 0?0:S,P=KD(typeof E!="number"?E:ZD(E,bv)),k=m===sg?Rde:sg,L=e.rects.popper,I=e.elements[b?k:m],O=ffe(Ff(I)?I:I.contextElement||nd(e.elements.popper),l,p,a),N=g0(e.elements.reference),D=XD({reference:N,element:L,strategy:"absolute",placement:i}),F=M6(Object.assign({},L,D)),U=m===sg?F:N,W={top:O.top-U.top+P.top,bottom:U.bottom-O.bottom+P.bottom,left:O.left-U.left+P.left,right:U.right-O.right+P.right},q=e.modifiersData.offset;if(m===sg&&q){var pe=q[i];Object.keys(W).forEach(function(fe){var ye=[$a,Ba].indexOf(fe)>=0?1:-1,Pe=[Po,Ba].indexOf(fe)>=0?"y":"x";W[fe]+=pe[Pe]*ye})}return W}function hfe(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,d=l===void 0?UD:l,p=m0(r),g=p?s?RT:RT.filter(function(b){return m0(b)===p}):bv,m=g.filter(function(b){return d.indexOf(b)>=0});m.length===0&&(m=g);var y=m.reduce(function(b,S){return b[S]=Um(e,{placement:S,boundary:i,rootBoundary:o,padding:a})[xl(S)],b},{});return Object.keys(y).sort(function(b,S){return y[b]-y[S]})}function pfe(e){if(xl(e)===$8)return[];var t=Jy(e);return[DT(e),t,DT(t)]}function gfe(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,d=n.padding,p=n.boundary,g=n.rootBoundary,m=n.altBoundary,y=n.flipVariations,b=y===void 0?!0:y,S=n.allowedAutoPlacements,E=t.options.placement,P=xl(E),k=P===E,L=l||(k||!b?[Jy(E)]:pfe(E)),I=[E].concat(L).reduce(function(Se,He){return Se.concat(xl(He)===$8?hfe(t,{placement:He,boundary:p,rootBoundary:g,padding:d,flipVariations:b,allowedAutoPlacements:S}):He)},[]),O=t.rects.reference,N=t.rects.popper,D=new Map,F=!0,U=I[0],W=0;W=0,Pe=ye?"width":"height",xe=Um(t,{placement:q,boundary:p,rootBoundary:g,altBoundary:m,padding:d}),Y=ye?fe?$a:To:fe?Ba:Po;O[Pe]>N[Pe]&&(Y=Jy(Y));var V=Jy(Y),ae=[];if(o&&ae.push(xe[pe]<=0),s&&ae.push(xe[Y]<=0,xe[V]<=0),ae.every(function(Se){return Se})){U=q,F=!1;break}D.set(q,ae)}if(F)for(var oe=b?3:1,X=function(He){var je=I.find(function(ut){var qe=D.get(ut);if(qe)return qe.slice(0,He).every(function(at){return at})});if(je)return U=je,"break"},me=oe;me>0;me--){var ve=X(me);if(ve==="break")break}t.placement!==U&&(t.modifiersData[r]._skip=!0,t.placement=U,t.reset=!0)}}const mfe={name:"flip",enabled:!0,phase:"main",fn:gfe,requiresIfExists:["offset"],data:{_skip:!1}};function FT(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 BT(e){return[Po,$a,Ba,To].some(function(t){return e[t]>=0})}function vfe(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,a=Um(t,{elementContext:"reference"}),s=Um(t,{altBoundary:!0}),l=FT(a,r),d=FT(s,i,o),p=BT(l),g=BT(d);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:d,isReferenceHidden:p,hasPopperEscaped:g},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":g})}const yfe={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:vfe};function xfe(e,t,n){var r=xl(e),i=[To,Po].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,[To,$a].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}function bfe(e){var t=e.state,n=e.options,r=e.name,i=n.offset,o=i===void 0?[0,0]:i,a=UD.reduce(function(p,g){return p[g]=xfe(g,t.rects,o),p},{}),s=a[t.placement],l=s.x,d=s.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=d),t.modifiersData[r]=a}const Sfe={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:bfe};function wfe(e){var t=e.state,n=e.name;t.modifiersData[n]=XD({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Cfe={name:"popperOffsets",enabled:!0,phase:"read",fn:wfe,data:{}};function _fe(e){return e==="x"?"y":"x"}function kfe(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,d=n.rootBoundary,p=n.altBoundary,g=n.padding,m=n.tether,y=m===void 0?!0:m,b=n.tetherOffset,S=b===void 0?0:b,E=Um(t,{boundary:l,rootBoundary:d,padding:g,altBoundary:p}),P=xl(t.placement),k=m0(t.placement),L=!k,I=V8(P),O=_fe(I),N=t.modifiersData.popperOffsets,D=t.rects.reference,F=t.rects.popper,U=typeof S=="function"?S(Object.assign({},t.rects,{placement:t.placement})):S,W=typeof U=="number"?{mainAxis:U,altAxis:U}:Object.assign({mainAxis:0,altAxis:0},U),q=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pe={x:0,y:0};if(!!N){if(o){var fe,ye=I==="y"?Po:To,Pe=I==="y"?Ba:$a,xe=I==="y"?"height":"width",Y=N[I],V=Y+E[ye],ae=Y-E[Pe],oe=y?-F[xe]/2:0,X=k===h0?D[xe]:F[xe],me=k===h0?-F[xe]:-D[xe],ve=t.elements.arrow,Se=y&&ve?W8(ve):{width:0,height:0},He=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:qD(),je=He[ye],ut=He[Pe],qe=im(0,D[xe],Se[xe]),at=L?D[xe]/2-oe-qe-je-W.mainAxis:X-qe-je-W.mainAxis,et=L?-D[xe]/2+oe+qe+ut+W.mainAxis:me+qe+ut+W.mainAxis,it=t.elements.arrow&&Sv(t.elements.arrow),At=it?I==="y"?it.clientTop||0:it.clientLeft||0:0,wt=(fe=q?.[I])!=null?fe:0,Le=Y+at-wt-At,ot=Y+et-wt,Et=im(y?f5(V,Le):V,Y,y?If(ae,ot):ae);N[I]=Et,pe[I]=Et-Y}if(s){var rt,pt=I==="x"?Po:To,Sn=I==="x"?Ba:$a,bt=N[O],qt=O==="y"?"height":"width",wn=bt+E[pt],pn=bt-E[Sn],Me=[Po,To].indexOf(P)!==-1,Ze=(rt=q?.[O])!=null?rt:0,Kt=Me?wn:bt-D[qt]-F[qt]-Ze+W.altAxis,Vt=Me?bt+D[qt]+F[qt]-Ze-W.altAxis:pn,_e=y&&Me?Zde(Kt,bt,Vt):im(y?Kt:wn,bt,y?Vt:pn);N[O]=_e,pe[O]=_e-bt}t.modifiersData[r]=pe}}const Efe={name:"preventOverflow",enabled:!0,phase:"main",fn:kfe,requiresIfExists:["offset"]};function Pfe(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Tfe(e){return e===Va(e)||!Da(e)?U8(e):Pfe(e)}function Lfe(e){var t=e.getBoundingClientRect(),n=p0(t.width)/e.offsetWidth||1,r=p0(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Afe(e,t,n){n===void 0&&(n=!1);var r=Da(t),i=Da(t)&&Lfe(t),o=nd(t),a=g0(e,i,n),s={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((wl(t)!=="body"||j8(o))&&(s=Tfe(t)),Da(t)?(l=g0(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=G8(o))),{x:a.left+s.scrollLeft-l.x,y:a.top+s.scrollTop-l.y,width:a.width,height:a.height}}function Ife(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 Mfe(e){var t=Ife(e);return Vde.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function Rfe(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Ofe(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 $T={placement:"bottom",modifiers:[],strategy:"absolute"};function HT(){for(var e=arguments.length,t=new Array(e),n=0;n({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),$r={arrowShadowColor:rp("--popper-arrow-shadow-color"),arrowSize:rp("--popper-arrow-size","8px"),arrowSizeHalf:rp("--popper-arrow-size-half"),arrowBg:rp("--popper-arrow-bg"),transformOrigin:rp("--popper-transform-origin"),arrowOffset:rp("--popper-arrow-offset")};function Ffe(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 Bfe={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"},$fe=e=>Bfe[e],WT={scroll:!0,resize:!0};function Hfe(e){let t;return typeof e=="object"?t={enabled:!0,options:{...WT,...e}}:t={enabled:e,options:WT},t}var Wfe={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`}},Vfe={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{VT(e)},effect:({state:e})=>()=>{VT(e)}},VT=e=>{e.elements.popper.style.setProperty($r.transformOrigin.var,$fe(e.placement))},Ufe={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{Gfe(e)}},Gfe=e=>{var t;if(!e.placement)return;const n=jfe(e.placement);if(((t=e.elements)==null?void 0:t.arrow)&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:$r.arrowSize.varRef,height:$r.arrowSize.varRef,zIndex:-1});const r={[$r.arrowSizeHalf.var]:`calc(${$r.arrowSize.varRef} / 2)`,[$r.arrowOffset.var]:`calc(${$r.arrowSizeHalf.varRef} * -1)`};for(const i in r)e.elements.arrow.style.setProperty(i,r[i])}},jfe=e=>{if(e.startsWith("top"))return{property:"bottom",value:$r.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:$r.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:$r.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:$r.arrowOffset.varRef}},qfe={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{UT(e)},effect:({state:e})=>()=>{UT(e)}},UT=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");!t||Object.assign(t.style,{transform:"rotate(45deg)",background:$r.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:Ffe(e.placement)})},Kfe={"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"}},Zfe={"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 Yfe(e,t="ltr"){var n;const r=((n=Kfe[e])==null?void 0:n[t])||e;return t==="ltr"?r:Zfe[e]??r}function QD(e={}){const{enabled:t=!0,modifiers:n,placement:r="bottom",strategy:i="absolute",arrowPadding:o=8,eventListeners:a=!0,offset:s,gutter:l=8,flip:d=!0,boundary:p="clippingParents",preventOverflow:g=!0,matchWidth:m,direction:y="ltr"}=e,b=C.exports.useRef(null),S=C.exports.useRef(null),E=C.exports.useRef(null),P=Yfe(r,y),k=C.exports.useRef(()=>{}),L=C.exports.useCallback(()=>{var W;!t||!b.current||!S.current||((W=k.current)==null||W.call(k),E.current=zfe(b.current,S.current,{placement:P,modifiers:[qfe,Ufe,Vfe,{...Wfe,enabled:!!m},{name:"eventListeners",...Hfe(a)},{name:"arrow",options:{padding:o}},{name:"offset",options:{offset:s??[0,l]}},{name:"flip",enabled:!!d,options:{padding:8}},{name:"preventOverflow",enabled:!!g,options:{boundary:p}},...n??[]],strategy:i}),E.current.forceUpdate(),k.current=E.current.destroy)},[P,t,n,m,a,o,s,l,d,g,p,i]);C.exports.useEffect(()=>()=>{var W;!b.current&&!S.current&&((W=E.current)==null||W.destroy(),E.current=null)},[]);const I=C.exports.useCallback(W=>{b.current=W,L()},[L]),O=C.exports.useCallback((W={},q=null)=>({...W,ref:zn(I,q)}),[I]),N=C.exports.useCallback(W=>{S.current=W,L()},[L]),D=C.exports.useCallback((W={},q=null)=>({...W,ref:zn(N,q),style:{...W.style,position:i,minWidth:m?void 0:"max-content",inset:"0 auto auto 0"}}),[i,N,m]),F=C.exports.useCallback((W={},q=null)=>{const{size:pe,shadowColor:fe,bg:ye,style:Pe,...xe}=W;return{...xe,ref:q,"data-popper-arrow":"",style:Xfe(W)}},[]),U=C.exports.useCallback((W={},q=null)=>({...W,ref:q,"data-popper-arrow-inner":""}),[]);return{update(){var W;(W=E.current)==null||W.update()},forceUpdate(){var W;(W=E.current)==null||W.forceUpdate()},transformOrigin:$r.transformOrigin.varRef,referenceRef:I,popperRef:N,getPopperProps:D,getArrowProps:F,getArrowInnerProps:U,getReferenceProps:O}}function Xfe(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 JD(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=ur(n),a=ur(t),[s,l]=C.exports.useState(e.defaultIsOpen||!1),d=r!==void 0?r:s,p=r!==void 0,g=C.exports.useId(),m=i??`disclosure-${g}`,y=C.exports.useCallback(()=>{p||l(!1),a?.()},[p,a]),b=C.exports.useCallback(()=>{p||l(!0),o?.()},[p,o]),S=C.exports.useCallback(()=>{d?y():b()},[d,b,y]);function E(k={}){return{...k,"aria-expanded":d,"aria-controls":m,onClick(L){var I;(I=k.onClick)==null||I.call(k,L),S()}}}function P(k={}){return{...k,hidden:!d,id:m}}return{isOpen:d,onOpen:b,onClose:y,onToggle:S,isControlled:p,getButtonProps:E,getDisclosureProps:P}}function Qfe(e){const{isOpen:t,ref:n}=e,[r,i]=C.exports.useState(t),[o,a]=C.exports.useState(!1);return C.exports.useEffect(()=>{o||(i(t),a(!0))},[t,o,r]),Lf(()=>n.current,"animationend",()=>{i(t)}),{present:!(t?!1:!r),onComplete(){var l;const d=yde(n.current),p=new d.CustomEvent("animationend",{bubbles:!0});(l=n.current)==null||l.dispatchEvent(p)}}}function ez(e){const{wasSelected:t,enabled:n,isSelected:r,mode:i="unmount"}=e;return!!(!n||r||i==="keepMounted"&&t)}var[Jfe,ehe]=xn({strict:!1,name:"PortalManagerContext"});function tz(e){const{children:t,zIndex:n}=e;return w(Jfe,{value:{zIndex:n},children:t})}tz.displayName="PortalManager";var[nz,the]=xn({strict:!1,name:"PortalContext"}),q8="chakra-portal",nhe=".chakra-portal",rhe=e=>w("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),ihe=e=>{const{appendToParentPortal:t,children:n}=e,[r,i]=C.exports.useState(null),o=C.exports.useRef(null),[,a]=C.exports.useState({});C.exports.useEffect(()=>a({}),[]);const s=the(),l=ehe();gl(()=>{if(!r)return;const p=r.ownerDocument,g=t?s??p.body:p.body;if(!g)return;o.current=p.createElement("div"),o.current.className=q8,g.appendChild(o.current),a({});const m=o.current;return()=>{g.contains(m)&&g.removeChild(m)}},[r]);const d=l?.zIndex?w(rhe,{zIndex:l?.zIndex,children:n}):n;return o.current?El.exports.createPortal(w(nz,{value:o.current,children:d}),o.current):w("span",{ref:p=>{p&&i(p)}})},ohe=e=>{const{children:t,containerRef:n,appendToParentPortal:r}=e,i=n.current,o=i??(typeof window<"u"?document.body:void 0),a=C.exports.useMemo(()=>{const l=i?.ownerDocument.createElement("div");return l&&(l.className=q8),l},[i]),[,s]=C.exports.useState({});return gl(()=>s({}),[]),gl(()=>{if(!(!a||!o))return o.appendChild(a),()=>{o.removeChild(a)}},[a,o]),o&&a?El.exports.createPortal(w(nz,{value:r?a:null,children:t}),a):null};function jf(e){const{containerRef:t,...n}=e;return t?w(ohe,{containerRef:t,...n}):w(ihe,{...n})}jf.defaultProps={appendToParentPortal:!0};jf.className=q8;jf.selector=nhe;jf.displayName="Portal";var ahe=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},ip=new WeakMap,J2=new WeakMap,ey={},Jb=0,she=function(e,t,n,r){var i=Array.isArray(e)?e:[e];ey[n]||(ey[n]=new WeakMap);var o=ey[n],a=[],s=new Set,l=new Set(i),d=function(g){!g||s.has(g)||(s.add(g),d(g.parentNode))};i.forEach(d);var p=function(g){!g||l.has(g)||Array.prototype.forEach.call(g.children,function(m){if(s.has(m))p(m);else{var y=m.getAttribute(r),b=y!==null&&y!=="false",S=(ip.get(m)||0)+1,E=(o.get(m)||0)+1;ip.set(m,S),o.set(m,E),a.push(m),S===1&&b&&J2.set(m,!0),E===1&&m.setAttribute(n,"true"),b||m.setAttribute(r,"true")}})};return p(t),s.clear(),Jb++,function(){a.forEach(function(g){var m=ip.get(g)-1,y=o.get(g)-1;ip.set(g,m),o.set(g,y),m||(J2.has(g)||g.removeAttribute(r),J2.delete(g)),y||g.removeAttribute(n)}),Jb--,Jb||(ip=new WeakMap,ip=new WeakMap,J2=new WeakMap,ey={})}},rz=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),i=t||ahe(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live]"))),she(r,i,n,"aria-hidden")):function(){return null}};function K8(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={exports:{}},lhe="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",uhe=lhe,che=uhe;function iz(){}function oz(){}oz.resetWarningCache=iz;var dhe=function(){function e(r,i,o,a,s,l){if(l!==che){var d=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 d.name="Invariant Violation",d}}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:oz,resetWarningCache:iz};return n.PropTypes=n,n};An.exports=dhe();var R6="data-focus-lock",az="data-focus-lock-disabled",fhe="data-no-focus-lock",hhe="data-autofocus-inside",phe="data-no-autofocus";function ghe(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function mhe(e,t){var n=C.exports.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 sz(e,t){return mhe(t||null,function(n){return e.forEach(function(r){return ghe(r,n)})})}var eS={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"};function lz(e){return e}function uz(e,t){t===void 0&&(t=lz);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 p=a;a=[],p.forEach(o)},d=function(){return Promise.resolve().then(l)};d(),n={push:function(p){a.push(p),d()},filter:function(p){return a=a.filter(p),n}}}};return i}function Z8(e,t){return t===void 0&&(t=lz),uz(e,t)}function cz(e){e===void 0&&(e={});var t=uz(null);return t.options=cl({async:!0,ssr:!1},e),t}var dz=function(e){var t=e.sideCar,n=eD(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 w(r,{...cl({},n)})};dz.isSideCarExport=!0;function vhe(e,t){return e.useMedium(t),dz}var fz=Z8({},function(e){var t=e.target,n=e.currentTarget;return{target:t,currentTarget:n}}),hz=Z8(),yhe=Z8(),xhe=cz({async:!0}),bhe=[],Y8=C.exports.forwardRef(function(t,n){var r,i=C.exports.useState(),o=i[0],a=i[1],s=C.exports.useRef(),l=C.exports.useRef(!1),d=C.exports.useRef(null),p=t.children,g=t.disabled,m=t.noFocusGuards,y=t.persistentFocus,b=t.crossFrame,S=t.autoFocus;t.allowTextSelection;var E=t.group,P=t.className,k=t.whiteList,L=t.hasPositiveIndices,I=t.shards,O=I===void 0?bhe:I,N=t.as,D=N===void 0?"div":N,F=t.lockProps,U=F===void 0?{}:F,W=t.sideCar,q=t.returnFocus,pe=t.focusOptions,fe=t.onActivation,ye=t.onDeactivation,Pe=C.exports.useState({}),xe=Pe[0],Y=C.exports.useCallback(function(){d.current=d.current||document&&document.activeElement,s.current&&fe&&fe(s.current),l.current=!0},[fe]),V=C.exports.useCallback(function(){l.current=!1,ye&&ye(s.current)},[ye]);C.exports.useEffect(function(){g||(d.current=null)},[]);var ae=C.exports.useCallback(function(ut){var qe=d.current;if(qe&&qe.focus){var at=typeof q=="function"?q(qe):q;if(at){var et=typeof at=="object"?at:void 0;d.current=null,ut?Promise.resolve().then(function(){return qe.focus(et)}):qe.focus(et)}}},[q]),oe=C.exports.useCallback(function(ut){l.current&&fz.useMedium(ut)},[]),X=hz.useMedium,me=C.exports.useCallback(function(ut){s.current!==ut&&(s.current=ut,a(ut))},[]),ve=En((r={},r[az]=g&&"disabled",r[R6]=E,r),U),Se=m!==!0,He=Se&&m!=="tail",je=sz([n,me]);return te(Fn,{children:[Se&&[w("div",{"data-focus-guard":!0,tabIndex:g?-1:0,style:eS},"guard-first"),L?w("div",{"data-focus-guard":!0,tabIndex:g?-1:1,style:eS},"guard-nearest"):null],!g&&w(W,{id:xe,sideCar:xhe,observed:o,disabled:g,persistentFocus:y,crossFrame:b,autoFocus:S,whiteList:k,shards:O,onActivation:Y,onDeactivation:V,returnFocus:ae,focusOptions:pe}),w(D,{ref:je,...ve,className:P,onBlur:X,onFocus:oe,children:p}),He&&w("div",{"data-focus-guard":!0,tabIndex:g?-1:0,style:eS})]})});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 pz=Y8;function O6(e,t){return O6=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},O6(e,t)}function X8(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,O6(e,t)}function gz(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function She(e,t){function n(r){return r.displayName||r.name||"Component"}return function(i){var o=[],a;function s(){a=e(o.map(function(d){return d.props})),t(a)}var l=function(d){X8(p,d);function p(){return d.apply(this,arguments)||this}p.peek=function(){return a};var g=p.prototype;return g.componentDidMount=function(){o.push(this),s()},g.componentDidUpdate=function(){s()},g.componentWillUnmount=function(){var y=o.indexOf(this);o.splice(y,1),s()},g.render=function(){return w(i,{...this.props})},p}(C.exports.PureComponent);return gz(l,"displayName","SideEffect("+n(i)+")"),l}}var Tl=function(e){for(var t=Array(e.length),n=0;n=0}).sort(Lhe)},Ahe=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],J8=Ahe.join(","),Ihe="".concat(J8,", [data-focus-guard]"),_z=function(e,t){var n;return Tl(((n=e.shadowRoot)===null||n===void 0?void 0:n.children)||e.children).reduce(function(r,i){return r.concat(i.matches(t?Ihe:J8)?[i]:[],_z(i))},[])},e7=function(e,t){return e.reduce(function(n,r){return n.concat(_z(r,t),r.parentNode?Tl(r.parentNode.querySelectorAll(J8)).filter(function(i){return i===r}):[])},[])},Mhe=function(e){var t=e.querySelectorAll("[".concat(hhe,"]"));return Tl(t).map(function(n){return e7([n])}).reduce(function(n,r){return n.concat(r)},[])},t7=function(e,t){return Tl(e).filter(function(n){return yz(t,n)}).filter(function(n){return Ehe(n)})},GT=function(e,t){return t===void 0&&(t=new Map),Tl(e).filter(function(n){return xz(t,n)})},D6=function(e,t,n){return Cz(t7(e7(e,n),t),!0,n)},jT=function(e,t){return Cz(t7(e7(e),t),!1)},Rhe=function(e,t){return t7(Mhe(e),t)},Gm=function(e,t){return e.shadowRoot?Gm(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:Tl(e.children).some(function(n){return Gm(n,t)})},Ohe=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)})},kz=function(e){return e.parentNode?kz(e.parentNode):e},n7=function(e){var t=N6(e);return t.filter(Boolean).reduce(function(n,r){var i=r.getAttribute(R6);return n.push.apply(n,i?Ohe(Tl(kz(r).querySelectorAll("[".concat(R6,'="').concat(i,'"]:not([').concat(az,'="disabled"])')))):[r]),n},[])},Ez=function(e){return e.activeElement?e.activeElement.shadowRoot?Ez(e.activeElement.shadowRoot):e.activeElement:void 0},r7=function(){return document.activeElement?document.activeElement.shadowRoot?Ez(document.activeElement.shadowRoot):document.activeElement:void 0},Nhe=function(e){return e===document.activeElement},Dhe=function(e){return Boolean(Tl(e.querySelectorAll("iframe")).some(function(t){return Nhe(t)}))},Pz=function(e){var t=document&&r7();return!t||t.dataset&&t.dataset.focusGuard?!1:n7(e).some(function(n){return Gm(n,t)||Dhe(n)})},zhe=function(){var e=document&&r7();return e?Tl(document.querySelectorAll("[".concat(fhe,"]"))).some(function(t){return Gm(t,e)}):!1},Fhe=function(e,t){return t.filter(wz).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},i7=function(e,t){return wz(e)&&e.name?Fhe(e,t):e},Bhe=function(e){var t=new Set;return e.forEach(function(n){return t.add(i7(n,e))}),e.filter(function(n){return t.has(n)})},qT=function(e){return e[0]&&e.length>1?i7(e[0],e):e[0]},KT=function(e,t){return e.length>1?e.indexOf(i7(e[t],e)):t},Tz="NEW_FOCUS",$he=function(e,t,n,r){var i=e.length,o=e[0],a=e[i-1],s=Q8(n);if(!(n&&e.indexOf(n)>=0)){var l=n!==void 0?t.indexOf(n):-1,d=r?t.indexOf(r):l,p=r?e.indexOf(r):-1,g=l-d,m=t.indexOf(o),y=t.indexOf(a),b=Bhe(t),S=n!==void 0?b.indexOf(n):-1,E=S-(r?b.indexOf(r):l),P=KT(e,0),k=KT(e,i-1);if(l===-1||p===-1)return Tz;if(!g&&p>=0)return p;if(l<=m&&s&&Math.abs(g)>1)return k;if(l>=y&&s&&Math.abs(g)>1)return P;if(g&&Math.abs(E)>1)return p;if(l<=m)return k;if(l>y)return P;if(g)return Math.abs(g)>1?p:(i+p+g)%i}},Hhe=function(e){return function(t){var n,r=(n=bz(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},Whe=function(e,t,n){var r=e.map(function(o){var a=o.node;return a}),i=GT(r.filter(Hhe(n)));return i&&i.length?qT(i):qT(GT(t))},z6=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&z6(e.parentNode.host||e.parentNode,t),t},tS=function(e,t){for(var n=z6(e),r=z6(t),i=0;i=0)return o}return!1},Lz=function(e,t,n){var r=N6(e),i=N6(t),o=r[0],a=!1;return i.filter(Boolean).forEach(function(s){a=tS(a||s,s)||a,n.filter(Boolean).forEach(function(l){var d=tS(o,l);d&&(!a||Gm(d,a)?a=d:a=tS(d,a))})}),a},Vhe=function(e,t){return e.reduce(function(n,r){return n.concat(Rhe(r,t))},[])},Uhe=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(The)},Ghe=function(e,t){var n=document&&r7(),r=n7(e).filter(h5),i=Lz(n||e,e,r),o=new Map,a=jT(r,o),s=D6(r,o).filter(function(m){var y=m.node;return h5(y)});if(!(!s[0]&&(s=a,!s[0]))){var l=jT([i],o).map(function(m){var y=m.node;return y}),d=Uhe(l,s),p=d.map(function(m){var y=m.node;return y}),g=$he(p,l,n,t);return g===Tz?{node:Whe(a,p,Vhe(r,o))}:g===void 0?g:d[g]}},jhe=function(e){var t=n7(e).filter(h5),n=Lz(e,e,t),r=new Map,i=D6([n],r,!0),o=D6(t,r).filter(function(a){var s=a.node;return h5(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:Q8(s)}})},qhe=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},nS=0,rS=!1,Khe=function(e,t,n){n===void 0&&(n={});var r=Ghe(e,t);if(!rS&&r){if(nS>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),rS=!0,setTimeout(function(){rS=!1},1);return}nS++,qhe(r.node,n.focusOptions),nS--}};const Az=Khe;function Iz(e){var t=window,n=t.setImmediate;typeof n<"u"?n(e):setTimeout(e,1)}var Zhe=function(){return document&&document.activeElement===document.body},Yhe=function(){return Zhe()||zhe()},qp=null,Lp=null,Kp=null,jm=!1,Xhe=function(){return!0},Qhe=function(t){return(qp.whiteList||Xhe)(t)},Jhe=function(t,n){Kp={observerNode:t,portaledElement:n}},epe=function(t){return Kp&&Kp.portaledElement===t};function ZT(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 tpe=function(t){return t&&"current"in t?t.current:t},npe=function(t){return t?Boolean(jm):jm==="meanwhile"},rpe=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},ipe=function(t,n){return n.some(function(r){return rpe(t,r,r)})},p5=function(){var t=!1;if(qp){var n=qp,r=n.observed,i=n.persistentFocus,o=n.autoFocus,a=n.shards,s=n.crossFrame,l=n.focusOptions,d=r||Kp&&Kp.portaledElement,p=document&&document.activeElement;if(d){var g=[d].concat(a.map(tpe).filter(Boolean));if((!p||Qhe(p))&&(i||npe(s)||!Yhe()||!Lp&&o)&&(d&&!(Pz(g)||p&&ipe(p,g)||epe(p))&&(document&&!Lp&&p&&!o?(p.blur&&p.blur(),document.body.focus()):(t=Az(g,Lp,{focusOptions:l}),Kp={})),jm=!1,Lp=document&&document.activeElement),document){var m=document&&document.activeElement,y=jhe(g),b=y.map(function(S){var E=S.node;return E}).indexOf(m);b>-1&&(y.filter(function(S){var E=S.guard,P=S.node;return E&&P.dataset.focusAutoGuard}).forEach(function(S){var E=S.node;return E.removeAttribute("tabIndex")}),ZT(b,y.length,1,y),ZT(b,-1,-1,y))}}}return t},Mz=function(t){p5()&&t&&(t.stopPropagation(),t.preventDefault())},o7=function(){return Iz(p5)},ope=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||Jhe(r,n)},ape=function(){return null},Rz=function(){jm="just",setTimeout(function(){jm="meanwhile"},0)},spe=function(){document.addEventListener("focusin",Mz),document.addEventListener("focusout",o7),window.addEventListener("blur",Rz)},lpe=function(){document.removeEventListener("focusin",Mz),document.removeEventListener("focusout",o7),window.removeEventListener("blur",Rz)};function upe(e){return e.filter(function(t){var n=t.disabled;return!n})}function cpe(e){var t=e.slice(-1)[0];t&&!qp&&spe();var n=qp,r=n&&t&&t.id===n.id;qp=t,n&&!r&&(n.onDeactivation(),e.filter(function(i){var o=i.id;return o===n.id}).length||n.returnFocus(!t)),t?(Lp=null,(!r||n.observed!==t.observed)&&t.onActivation(),p5(),Iz(p5)):(lpe(),Lp=null)}fz.assignSyncMedium(ope);hz.assignMedium(o7);yhe.assignMedium(function(e){return e({moveFocusInside:Az,focusInside:Pz})});const dpe=She(upe,cpe)(ape);var Oz=C.exports.forwardRef(function(t,n){return w(pz,{sideCar:dpe,ref:n,...t})}),Nz=pz.propTypes||{};Nz.sideCar;K8(Nz,["sideCar"]);Oz.propTypes={};const fpe=Oz;var Dz=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:i,children:o,isDisabled:a,autoFocus:s,persistentFocus:l,lockFocusAcrossFrames:d}=e,p=C.exports.useCallback(()=>{t?.current?t.current.focus():r?.current&&WD(r.current).length===0&&requestAnimationFrame(()=>{var b;(b=r.current)==null||b.focus()})},[t,r]),g=C.exports.useCallback(()=>{var y;(y=n?.current)==null||y.focus()},[n]);return w(fpe,{crossFrame:d,persistentFocus:l,autoFocus:s,disabled:a,onActivation:p,onDeactivation:g,returnFocus:i&&!n,children:o})};Dz.displayName="FocusLock";var e3="right-scroll-bar-position",t3="width-before-scroll-bar",hpe="with-scroll-bars-hidden",ppe="--removed-body-scroll-bar-size",zz=cz(),iS=function(){},U4=C.exports.forwardRef(function(e,t){var n=C.exports.useRef(null),r=C.exports.useState({onScrollCapture:iS,onWheelCapture:iS,onTouchMoveCapture:iS}),i=r[0],o=r[1],a=e.forwardProps,s=e.children,l=e.className,d=e.removeScrollBar,p=e.enabled,g=e.shards,m=e.sideCar,y=e.noIsolation,b=e.inert,S=e.allowPinchZoom,E=e.as,P=E===void 0?"div":E,k=eD(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as"]),L=m,I=sz([n,t]),O=cl(cl({},k),i);return te(Fn,{children:[p&&w(L,{sideCar:zz,removeScrollBar:d,shards:g,noIsolation:y,inert:b,setCallbacks:o,allowPinchZoom:!!S,lockRef:n}),a?C.exports.cloneElement(C.exports.Children.only(s),cl(cl({},O),{ref:I})):w(P,{...cl({},O,{className:l,ref:I}),children:s})]})});U4.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};U4.classNames={fullWidth:t3,zeroRight:e3};var gpe=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function mpe(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=gpe();return t&&e.setAttribute("nonce",t),e}function vpe(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function ype(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var xpe=function(){var e=0,t=null;return{add:function(n){e==0&&(t=mpe())&&(vpe(t,n),ype(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},bpe=function(){var e=xpe();return function(t,n){C.exports.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Fz=function(){var e=bpe(),t=function(n){var r=n.styles,i=n.dynamic;return e(r,i),null};return t},Spe={left:0,top:0,right:0,gap:0},oS=function(e){return parseInt(e||"",10)||0},wpe=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[oS(n),oS(r),oS(i)]},Cpe=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Spe;var t=wpe(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])}},_pe=Fz(),kpe=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(hpe,` { + 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(e3,` { + right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(t3,` { + margin-right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(e3," .").concat(e3,` { + right: 0 `).concat(r,`; + } + + .`).concat(t3," .").concat(t3,` { + margin-right: 0 `).concat(r,`; + } + + body { + `).concat(ppe,": ").concat(s,`px; + } +`)},Epe=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?"margin":r,o=C.exports.useMemo(function(){return Cpe(i)},[i]);return w(_pe,{styles:kpe(o,!t,i,n?"":"!important")})},F6=!1;if(typeof window<"u")try{var ty=Object.defineProperty({},"passive",{get:function(){return F6=!0,!0}});window.addEventListener("test",ty,ty),window.removeEventListener("test",ty,ty)}catch{F6=!1}var op=F6?{passive:!1}:!1,Ppe=function(e){return e.tagName==="TEXTAREA"},Bz=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Ppe(e)&&n[t]==="visible")},Tpe=function(e){return Bz(e,"overflowY")},Lpe=function(e){return Bz(e,"overflowX")},YT=function(e,t){var n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var r=$z(e,n);if(r){var i=Hz(e,n),o=i[1],a=i[2];if(o>a)return!0}n=n.parentNode}while(n&&n!==document.body);return!1},Ape=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Ipe=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},$z=function(e,t){return e==="v"?Tpe(t):Lpe(t)},Hz=function(e,t){return e==="v"?Ape(t):Ipe(t)},Mpe=function(e,t){return e==="h"&&t==="rtl"?-1:1},Rpe=function(e,t,n,r,i){var o=Mpe(e,window.getComputedStyle(t).direction),a=o*r,s=n.target,l=t.contains(s),d=!1,p=a>0,g=0,m=0;do{var y=Hz(e,s),b=y[0],S=y[1],E=y[2],P=S-E-o*b;(b||P)&&$z(e,s)&&(g+=P,m+=b),s=s.parentNode}while(!l&&s!==document.body||l&&(t.contains(s)||t===s));return(p&&(i&&g===0||!i&&a>g)||!p&&(i&&m===0||!i&&-a>m))&&(d=!0),d},ny=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},XT=function(e){return[e.deltaX,e.deltaY]},QT=function(e){return e&&"current"in e?e.current:e},Ope=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Npe=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},Dpe=0,ap=[];function zpe(e){var t=C.exports.useRef([]),n=C.exports.useRef([0,0]),r=C.exports.useRef(),i=C.exports.useState(Dpe++)[0],o=C.exports.useState(function(){return Fz()})[0],a=C.exports.useRef(e);C.exports.useEffect(function(){a.current=e},[e]),C.exports.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var S=w6([e.lockRef.current],(e.shards||[]).map(QT),!0).filter(Boolean);return S.forEach(function(E){return E.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),S.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var s=C.exports.useCallback(function(S,E){if("touches"in S&&S.touches.length===2)return!a.current.allowPinchZoom;var P=ny(S),k=n.current,L="deltaX"in S?S.deltaX:k[0]-P[0],I="deltaY"in S?S.deltaY:k[1]-P[1],O,N=S.target,D=Math.abs(L)>Math.abs(I)?"h":"v";if("touches"in S&&D==="h"&&N.type==="range")return!1;var F=YT(D,N);if(!F)return!0;if(F?O=D:(O=D==="v"?"h":"v",F=YT(D,N)),!F)return!1;if(!r.current&&"changedTouches"in S&&(L||I)&&(r.current=O),!O)return!0;var U=r.current||O;return Rpe(U,E,S,U==="h"?L:I,!0)},[]),l=C.exports.useCallback(function(S){var E=S;if(!(!ap.length||ap[ap.length-1]!==o)){var P="deltaY"in E?XT(E):ny(E),k=t.current.filter(function(O){return O.name===E.type&&O.target===E.target&&Ope(O.delta,P)})[0];if(k&&k.should){E.cancelable&&E.preventDefault();return}if(!k){var L=(a.current.shards||[]).map(QT).filter(Boolean).filter(function(O){return O.contains(E.target)}),I=L.length>0?s(E,L[0]):!a.current.noIsolation;I&&E.cancelable&&E.preventDefault()}}},[]),d=C.exports.useCallback(function(S,E,P,k){var L={name:S,delta:E,target:P,should:k};t.current.push(L),setTimeout(function(){t.current=t.current.filter(function(I){return I!==L})},1)},[]),p=C.exports.useCallback(function(S){n.current=ny(S),r.current=void 0},[]),g=C.exports.useCallback(function(S){d(S.type,XT(S),S.target,s(S,e.lockRef.current))},[]),m=C.exports.useCallback(function(S){d(S.type,ny(S),S.target,s(S,e.lockRef.current))},[]);C.exports.useEffect(function(){return ap.push(o),e.setCallbacks({onScrollCapture:g,onWheelCapture:g,onTouchMoveCapture:m}),document.addEventListener("wheel",l,op),document.addEventListener("touchmove",l,op),document.addEventListener("touchstart",p,op),function(){ap=ap.filter(function(S){return S!==o}),document.removeEventListener("wheel",l,op),document.removeEventListener("touchmove",l,op),document.removeEventListener("touchstart",p,op)}},[]);var y=e.removeScrollBar,b=e.inert;return te(Fn,{children:[b?w(o,{styles:Npe(i)}):null,y?w(Epe,{gapMode:"margin"}):null]})}const Fpe=vhe(zz,zpe);var Wz=C.exports.forwardRef(function(e,t){return w(U4,{...cl({},e,{ref:t,sideCar:Fpe})})});Wz.classNames=U4.classNames;const Vz=Wz;var qf=(...e)=>e.filter(Boolean).join(" ");function _g(...e){return function(n){e.some(r=>(r?.(n),n?.defaultPrevented))}}var Bpe=class{modals;constructor(){this.modals=[]}add(e){this.modals.push(e)}remove(e){this.modals=this.modals.filter(t=>t!==e)}isTopModal(e){return this.modals[this.modals.length-1]===e}},B6=new Bpe;function $pe(e,t){C.exports.useEffect(()=>(t&&B6.add(e),()=>{B6.remove(e)}),[t,e])}function Hpe(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:i=!0,closeOnEsc:o=!0,useInert:a=!0,onOverlayClick:s,onEsc:l}=e,d=C.exports.useRef(null),p=C.exports.useRef(null),[g,m,y]=Vpe(r,"chakra-modal","chakra-modal--header","chakra-modal--body");Wpe(d,t&&a),$pe(d,t);const b=C.exports.useRef(null),S=C.exports.useCallback(F=>{b.current=F.target},[]),E=C.exports.useCallback(F=>{F.key==="Escape"&&(F.stopPropagation(),o&&n?.(),l?.())},[o,n,l]),[P,k]=C.exports.useState(!1),[L,I]=C.exports.useState(!1),O=C.exports.useCallback((F={},U=null)=>({role:"dialog",...F,ref:zn(U,d),id:g,tabIndex:-1,"aria-modal":!0,"aria-labelledby":P?m:void 0,"aria-describedby":L?y:void 0,onClick:_g(F.onClick,W=>W.stopPropagation())}),[y,L,g,m,P]),N=C.exports.useCallback(F=>{F.stopPropagation(),b.current===F.target&&(!B6.isTopModal(d)||(i&&n?.(),s?.()))},[n,i,s]),D=C.exports.useCallback((F={},U=null)=>({...F,ref:zn(U,p),onClick:_g(F.onClick,N),onKeyDown:_g(F.onKeyDown,E),onMouseDown:_g(F.onMouseDown,S)}),[E,S,N]);return{isOpen:t,onClose:n,headerId:m,bodyId:y,setBodyMounted:I,setHeaderMounted:k,dialogRef:d,overlayRef:p,getDialogProps:O,getDialogContainerProps:D}}function Wpe(e,t){const n=e.current;C.exports.useEffect(()=>{if(!(!e.current||!t))return rz(e.current)},[t,e,n])}function Vpe(e,...t){const n=C.exports.useId(),r=e||n;return C.exports.useMemo(()=>t.map(i=>`${i}-${r}`),[r,t])}var[Upe,Kf]=xn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[Gpe,qc]=xn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),v0=e=>{const{portalProps:t,children:n,autoFocus:r,trapFocus:i,initialFocusRef:o,finalFocusRef:a,returnFocusOnClose:s,blockScrollOnMount:l,allowPinchZoom:d,preserveScrollBarGap:p,motionPreset:g,lockFocusAcrossFrames:m,onCloseComplete:y}=e,b=Ai("Modal",e),E={...Hpe(e),autoFocus:r,trapFocus:i,initialFocusRef:o,finalFocusRef:a,returnFocusOnClose:s,blockScrollOnMount:l,allowPinchZoom:d,preserveScrollBarGap:p,motionPreset:g,lockFocusAcrossFrames:m};return w(Gpe,{value:E,children:w(Upe,{value:b,children:w(bu,{onExitComplete:y,children:E.isOpen&&w(jf,{...t,children:n})})})})};v0.defaultProps={lockFocusAcrossFrames:!0,returnFocusOnClose:!0,scrollBehavior:"outside",trapFocus:!0,autoFocus:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale"};v0.displayName="Modal";var g5=Ee((e,t)=>{const{className:n,...r}=e,{bodyId:i,setBodyMounted:o}=qc();C.exports.useEffect(()=>(o(!0),()=>o(!1)),[o]);const a=qf("chakra-modal__body",n),s=Kf();return ne.createElement(be.div,{ref:t,className:a,id:i,...r,__css:s.body})});g5.displayName="ModalBody";var a7=Ee((e,t)=>{const{onClick:n,className:r,...i}=e,{onClose:o}=qc(),a=qf("chakra-modal__close-btn",r),s=Kf();return w(H4,{ref:t,__css:s.closeButton,className:a,onClick:_g(n,l=>{l.stopPropagation(),o()}),...i})});a7.displayName="ModalCloseButton";function Uz(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:i,blockScrollOnMount:o,allowPinchZoom:a,finalFocusRef:s,returnFocusOnClose:l,preserveScrollBarGap:d,lockFocusAcrossFrames:p}=qc(),[g,m]=x8();return C.exports.useEffect(()=>{!g&&m&&setTimeout(m)},[g,m]),w(Dz,{autoFocus:t,isDisabled:!n,initialFocusRef:i,finalFocusRef:s,restoreFocus:l,contentRef:r,lockFocusAcrossFrames:p,children:w(Vz,{removeScrollBar:!d,allowPinchZoom:a,enabled:o,forwardProps:!0,children:e.children})})}var jpe={slideInBottom:{..._6,custom:{offsetY:16,reverse:!0}},slideInRight:{..._6,custom:{offsetX:16,reverse:!0}},scale:{...rD,custom:{initialScale:.95,reverse:!0}},none:{}},qpe=be(Wa.section),Kpe=e=>jpe[e||"none"],Gz=C.exports.forwardRef((e,t)=>{const{preset:n,motionProps:r=Kpe(n),...i}=e;return w(qpe,{ref:t,...r,...i})});Gz.displayName="ModalTransition";var qm=Ee((e,t)=>{const{className:n,children:r,containerProps:i,motionProps:o,...a}=e,{getDialogProps:s,getDialogContainerProps:l}=qc(),d=s(a,t),p=l(i),g=qf("chakra-modal__content",n),m=Kf(),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:S}=qc();return ne.createElement(Uz,null,ne.createElement(be.div,{...p,className:"chakra-modal__content-container",tabIndex:-1,__css:b},w(Gz,{preset:S,motionProps:o,className:g,...d,__css:y,children:r})))});qm.displayName="ModalContent";var s7=Ee((e,t)=>{const{className:n,...r}=e,i=qf("chakra-modal__footer",n),a={display:"flex",alignItems:"center",justifyContent:"flex-end",...Kf().footer};return ne.createElement(be.footer,{ref:t,...r,__css:a,className:i})});s7.displayName="ModalFooter";var l7=Ee((e,t)=>{const{className:n,...r}=e,{headerId:i,setHeaderMounted:o}=qc();C.exports.useEffect(()=>(o(!0),()=>o(!1)),[o]);const a=qf("chakra-modal__header",n),l={flex:0,...Kf().header};return ne.createElement(be.header,{ref:t,className:a,id:i,...r,__css:l})});l7.displayName="ModalHeader";var Zpe=be(Wa.div),Km=Ee((e,t)=>{const{className:n,transition:r,motionProps:i,...o}=e,a=qf("chakra-modal__overlay",n),l={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...Kf().overlay},{motionPreset:d}=qc();return w(Zpe,{...i||(d==="none"?{}:nD),__css:l,ref:t,className:a,...o})});Km.displayName="ModalOverlay";function Ype(e){const{leastDestructiveRef:t,...n}=e;return w(v0,{...n,initialFocusRef:t})}var Xpe=Ee((e,t)=>w(qm,{ref:t,role:"alertdialog",...e})),[F9e,Qpe]=xn(),Jpe=be(iD),e0e=Ee((e,t)=>{const{className:n,children:r,motionProps:i,containerProps:o,...a}=e,{getDialogProps:s,getDialogContainerProps:l,isOpen:d}=qc(),p=s(a,t),g=l(o),m=qf("chakra-modal__content",n),y=Kf(),b={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...y.dialog},S={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...y.dialogContainer},{placement:E}=Qpe();return ne.createElement(Uz,null,ne.createElement(be.div,{...g,className:"chakra-modal__content-container",__css:S},w(Jpe,{motionProps:i,direction:E,in:d,className:m,...p,__css:b,children:r})))});e0e.displayName="DrawerContent";function t0e(e,t){const n=ur(e);C.exports.useEffect(()=>{let r=null;const i=()=>n();return t!==null&&(r=window.setInterval(i,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var jz=(...e)=>e.filter(Boolean).join(" "),aS=e=>e?!0:void 0;function el(...e){return function(n){e.some(r=>(r?.(n),n?.defaultPrevented))}}var n0e=e=>w(ha,{viewBox:"0 0 24 24",...e,children:w("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"})}),r0e=e=>w(ha,{viewBox:"0 0 24 24",...e,children:w("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 JT(e,t,n,r){C.exports.useEffect(()=>{if(!e.current||!r)return;const i=e.current.ownerDocument.defaultView??window,o=Array.isArray(t)?t:[t],a=new i.MutationObserver(s=>{for(const l of s)l.type==="attributes"&&l.attributeName&&o.includes(l.attributeName)&&n(l)});return a.observe(e.current,{attributes:!0,attributeFilter:o}),()=>a.disconnect()})}var i0e=50,eL=300;function o0e(e,t){const[n,r]=C.exports.useState(!1),[i,o]=C.exports.useState(null),[a,s]=C.exports.useState(!0),l=C.exports.useRef(null),d=()=>clearTimeout(l.current);t0e(()=>{i==="increment"&&e(),i==="decrement"&&t()},n?i0e:null);const p=C.exports.useCallback(()=>{a&&e(),l.current=setTimeout(()=>{s(!1),r(!0),o("increment")},eL)},[e,a]),g=C.exports.useCallback(()=>{a&&t(),l.current=setTimeout(()=>{s(!1),r(!0),o("decrement")},eL)},[t,a]),m=C.exports.useCallback(()=>{s(!0),r(!1),d()},[]);return C.exports.useEffect(()=>()=>d(),[]),{up:p,down:g,stop:m,isSpinning:n}}var a0e=/^[Ee0-9+\-.]$/;function s0e(e){return a0e.test(e)}function l0e(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 u0e(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:d,isInvalid:p,pattern:g="[0-9]*(.[0-9]+)?",inputMode:m="decimal",allowMouseWheel:y,id:b,onChange:S,precision:E,name:P,"aria-describedby":k,"aria-label":L,"aria-labelledby":I,onFocus:O,onBlur:N,onInvalid:D,getAriaValueText:F,isValidCharacter:U,format:W,parse:q,...pe}=e,fe=ur(O),ye=ur(N),Pe=ur(D),xe=ur(U??s0e),Y=ur(F),V=Cce(e),{update:ae,increment:oe,decrement:X}=V,[me,ve]=C.exports.useState(!1),Se=!(s||l),He=C.exports.useRef(null),je=C.exports.useRef(null),ut=C.exports.useRef(null),qe=C.exports.useRef(null),at=C.exports.useCallback(_e=>_e.split("").filter(xe).join(""),[xe]),et=C.exports.useCallback(_e=>q?.(_e)??_e,[q]),it=C.exports.useCallback(_e=>(W?.(_e)??_e).toString(),[W]);Gc(()=>{(V.valueAsNumber>o||V.valueAsNumber{if(!He.current)return;if(He.current.value!=V.value){const kt=et(He.current.value);V.setValue(at(kt))}},[et,at]);const At=C.exports.useCallback((_e=a)=>{Se&&oe(_e)},[oe,Se,a]),wt=C.exports.useCallback((_e=a)=>{Se&&X(_e)},[X,Se,a]),Le=o0e(At,wt);JT(ut,"disabled",Le.stop,Le.isSpinning),JT(qe,"disabled",Le.stop,Le.isSpinning);const ot=C.exports.useCallback(_e=>{if(_e.nativeEvent.isComposing)return;const Ne=et(_e.currentTarget.value);ae(at(Ne)),je.current={start:_e.currentTarget.selectionStart,end:_e.currentTarget.selectionEnd}},[ae,at,et]),Et=C.exports.useCallback(_e=>{var kt;fe?.(_e),je.current&&(_e.target.selectionStart=je.current.start??((kt=_e.currentTarget.value)==null?void 0:kt.length),_e.currentTarget.selectionEnd=je.current.end??_e.currentTarget.selectionStart)},[fe]),rt=C.exports.useCallback(_e=>{if(_e.nativeEvent.isComposing)return;l0e(_e,xe)||_e.preventDefault();const kt=pt(_e)*a,Ne=_e.key,nn={ArrowUp:()=>At(kt),ArrowDown:()=>wt(kt),Home:()=>ae(i),End:()=>ae(o)}[Ne];nn&&(_e.preventDefault(),nn(_e))},[xe,a,At,wt,ae,i,o]),pt=_e=>{let kt=1;return(_e.metaKey||_e.ctrlKey)&&(kt=.1),_e.shiftKey&&(kt=10),kt},Sn=C.exports.useMemo(()=>{const _e=Y?.(V.value);if(_e!=null)return _e;const kt=V.value.toString();return kt||void 0},[V.value,Y]),bt=C.exports.useCallback(()=>{let _e=V.value;if(V.value==="")return;/^[eE]/.test(V.value.toString())?V.setValue(""):(V.valueAsNumbero&&(_e=o),V.cast(_e))},[V,o,i]),qt=C.exports.useCallback(()=>{ve(!1),n&&bt()},[n,ve,bt]),wn=C.exports.useCallback(()=>{t&&requestAnimationFrame(()=>{var _e;(_e=He.current)==null||_e.focus()})},[t]),pn=C.exports.useCallback(_e=>{_e.preventDefault(),Le.up(),wn()},[wn,Le]),Me=C.exports.useCallback(_e=>{_e.preventDefault(),Le.down(),wn()},[wn,Le]);Lf(()=>He.current,"wheel",_e=>{var kt;const tt=(((kt=He.current)==null?void 0:kt.ownerDocument)??document).activeElement===He.current;if(!y||!tt)return;_e.preventDefault();const nn=pt(_e)*a,Mn=Math.sign(_e.deltaY);Mn===-1?At(nn):Mn===1&&wt(nn)},{passive:!1});const Ze=C.exports.useCallback((_e={},kt=null)=>{const Ne=l||r&&V.isAtMax;return{..._e,ref:zn(kt,ut),role:"button",tabIndex:-1,onPointerDown:el(_e.onPointerDown,tt=>{tt.button!==0||Ne||pn(tt)}),onPointerLeave:el(_e.onPointerLeave,Le.stop),onPointerUp:el(_e.onPointerUp,Le.stop),disabled:Ne,"aria-disabled":aS(Ne)}},[V.isAtMax,r,pn,Le.stop,l]),Kt=C.exports.useCallback((_e={},kt=null)=>{const Ne=l||r&&V.isAtMin;return{..._e,ref:zn(kt,qe),role:"button",tabIndex:-1,onPointerDown:el(_e.onPointerDown,tt=>{tt.button!==0||Ne||Me(tt)}),onPointerLeave:el(_e.onPointerLeave,Le.stop),onPointerUp:el(_e.onPointerUp,Le.stop),disabled:Ne,"aria-disabled":aS(Ne)}},[V.isAtMin,r,Me,Le.stop,l]),Vt=C.exports.useCallback((_e={},kt=null)=>({name:P,inputMode:m,type:"text",pattern:g,"aria-labelledby":I,"aria-label":L,"aria-describedby":k,id:b,disabled:l,..._e,readOnly:_e.readOnly??s,"aria-readonly":_e.readOnly??s,"aria-required":_e.required??d,required:_e.required??d,ref:zn(He,kt),value:it(V.value),role:"spinbutton","aria-valuemin":i,"aria-valuemax":o,"aria-valuenow":Number.isNaN(V.valueAsNumber)?void 0:V.valueAsNumber,"aria-invalid":aS(p??V.isOutOfRange),"aria-valuetext":Sn,autoComplete:"off",autoCorrect:"off",onChange:el(_e.onChange,ot),onKeyDown:el(_e.onKeyDown,rt),onFocus:el(_e.onFocus,Et,()=>ve(!0)),onBlur:el(_e.onBlur,ye,qt)}),[P,m,g,I,L,it,k,b,l,d,s,p,V.value,V.valueAsNumber,V.isOutOfRange,i,o,Sn,ot,rt,Et,ye,qt]);return{value:it(V.value),valueAsNumber:V.valueAsNumber,isFocused:me,isDisabled:l,isReadOnly:s,getIncrementButtonProps:Ze,getDecrementButtonProps:Kt,getInputProps:Vt,htmlProps:pe}}var[c0e,G4]=xn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[d0e,u7]=xn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),qz=Ee(function(t,n){const r=Ai("NumberInput",t),i=hn(t),o=I8(i),{htmlProps:a,...s}=u0e(o),l=C.exports.useMemo(()=>s,[s]);return ne.createElement(d0e,{value:l},ne.createElement(c0e,{value:r},ne.createElement(be.div,{...a,ref:n,className:jz("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})))});qz.displayName="NumberInput";var f0e=Ee(function(t,n){const r=G4();return ne.createElement(be.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}})});f0e.displayName="NumberInputStepper";var Kz=Ee(function(t,n){const{getInputProps:r}=u7(),i=r(t,n),o=G4();return ne.createElement(be.input,{...i,className:jz("chakra-numberinput__field",t.className),__css:{width:"100%",...o.field}})});Kz.displayName="NumberInputField";var Zz=be("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),Yz=Ee(function(t,n){const r=G4(),{getDecrementButtonProps:i}=u7(),o=i(t,n);return w(Zz,{...o,__css:r.stepper,children:t.children??w(n0e,{})})});Yz.displayName="NumberDecrementStepper";var Xz=Ee(function(t,n){const{getIncrementButtonProps:r}=u7(),i=r(t,n),o=G4();return w(Zz,{...i,__css:o.stepper,children:t.children??w(r0e,{})})});Xz.displayName="NumberIncrementStepper";var wv=(...e)=>e.filter(Boolean).join(" ");function h0e(e,...t){return p0e(e)?e(...t):e}var p0e=e=>typeof e=="function";function tl(...e){return function(n){e.some(r=>(r?.(n),n?.defaultPrevented))}}function g0e(...e){return function(n){e.forEach(r=>{r?.(n)})}}var[m0e,Zf]=xn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[v0e,Cv]=xn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),sp={click:"click",hover:"hover"};function y0e(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:i,returnFocusOnClose:o=!0,autoFocus:a=!0,arrowSize:s,arrowShadowColor:l,trigger:d=sp.click,openDelay:p=200,closeDelay:g=200,isLazy:m,lazyBehavior:y="unmount",computePositionOnMount:b,...S}=e,{isOpen:E,onClose:P,onOpen:k,onToggle:L}=JD(e),I=C.exports.useRef(null),O=C.exports.useRef(null),N=C.exports.useRef(null),D=C.exports.useRef(!1),F=C.exports.useRef(!1);E&&(F.current=!0);const[U,W]=C.exports.useState(!1),[q,pe]=C.exports.useState(!1),fe=C.exports.useId(),ye=i??fe,[Pe,xe,Y,V]=["popover-trigger","popover-content","popover-header","popover-body"].map(ot=>`${ot}-${ye}`),{referenceRef:ae,getArrowProps:oe,getPopperProps:X,getArrowInnerProps:me,forceUpdate:ve}=QD({...S,enabled:E||!!b}),Se=Qfe({isOpen:E,ref:N});Mce({enabled:E,ref:O}),Tde(N,{focusRef:O,visible:E,shouldFocus:o&&d===sp.click}),Ade(N,{focusRef:r,visible:E,shouldFocus:a&&d===sp.click});const He=ez({wasSelected:F.current,enabled:m,mode:y,isSelected:Se.present}),je=C.exports.useCallback((ot={},Et=null)=>{const rt={...ot,style:{...ot.style,transformOrigin:$r.transformOrigin.varRef,[$r.arrowSize.var]:s?`${s}px`:void 0,[$r.arrowShadowColor.var]:l},ref:zn(N,Et),children:He?ot.children:null,id:xe,tabIndex:-1,role:"dialog",onKeyDown:tl(ot.onKeyDown,pt=>{n&&pt.key==="Escape"&&P()}),onBlur:tl(ot.onBlur,pt=>{const Sn=tL(pt),bt=sS(N.current,Sn),qt=sS(O.current,Sn);E&&t&&(!bt&&!qt)&&P()}),"aria-labelledby":U?Y:void 0,"aria-describedby":q?V:void 0};return d===sp.hover&&(rt.role="tooltip",rt.onMouseEnter=tl(ot.onMouseEnter,()=>{D.current=!0}),rt.onMouseLeave=tl(ot.onMouseLeave,pt=>{pt.nativeEvent.relatedTarget!==null&&(D.current=!1,setTimeout(()=>P(),g))})),rt},[He,xe,U,Y,q,V,d,n,P,E,t,g,l,s]),ut=C.exports.useCallback((ot={},Et=null)=>X({...ot,style:{visibility:E?"visible":"hidden",...ot.style}},Et),[E,X]),qe=C.exports.useCallback((ot,Et=null)=>({...ot,ref:zn(Et,I,ae)}),[I,ae]),at=C.exports.useRef(),et=C.exports.useRef(),it=C.exports.useCallback(ot=>{I.current==null&&ae(ot)},[ae]),At=C.exports.useCallback((ot={},Et=null)=>{const rt={...ot,ref:zn(O,Et,it),id:Pe,"aria-haspopup":"dialog","aria-expanded":E,"aria-controls":xe};return d===sp.click&&(rt.onClick=tl(ot.onClick,L)),d===sp.hover&&(rt.onFocus=tl(ot.onFocus,()=>{at.current===void 0&&k()}),rt.onBlur=tl(ot.onBlur,pt=>{const Sn=tL(pt),bt=!sS(N.current,Sn);E&&t&&bt&&P()}),rt.onKeyDown=tl(ot.onKeyDown,pt=>{pt.key==="Escape"&&P()}),rt.onMouseEnter=tl(ot.onMouseEnter,()=>{D.current=!0,at.current=window.setTimeout(()=>k(),p)}),rt.onMouseLeave=tl(ot.onMouseLeave,()=>{D.current=!1,at.current&&(clearTimeout(at.current),at.current=void 0),et.current=window.setTimeout(()=>{D.current===!1&&P()},g)})),rt},[Pe,E,xe,d,it,L,k,t,P,p,g]);C.exports.useEffect(()=>()=>{at.current&&clearTimeout(at.current),et.current&&clearTimeout(et.current)},[]);const wt=C.exports.useCallback((ot={},Et=null)=>({...ot,id:Y,ref:zn(Et,rt=>{W(!!rt)})}),[Y]),Le=C.exports.useCallback((ot={},Et=null)=>({...ot,id:V,ref:zn(Et,rt=>{pe(!!rt)})}),[V]);return{forceUpdate:ve,isOpen:E,onAnimationComplete:Se.onComplete,onClose:P,getAnchorProps:qe,getArrowProps:oe,getArrowInnerProps:me,getPopoverPositionerProps:ut,getPopoverProps:je,getTriggerProps:At,getHeaderProps:wt,getBodyProps:Le}}function sS(e,t){return e===t||e?.contains(t)}function tL(e){const t=e.currentTarget.ownerDocument.activeElement;return e.relatedTarget??t}function j4(e){const t=Ai("Popover",e),{children:n,...r}=hn(e),i=E0(),o=y0e({...r,direction:i.direction});return w(m0e,{value:o,children:w(v0e,{value:t,children:h0e(n,{isOpen:o.isOpen,onClose:o.onClose,forceUpdate:o.forceUpdate})})})}j4.displayName="Popover";function q4(e){const{bg:t,bgColor:n,backgroundColor:r}=e,{getArrowProps:i,getArrowInnerProps:o}=Zf(),a=Cv(),s=t??n??r;return ne.createElement(be.div,{...i(),className:"chakra-popover__arrow-positioner"},ne.createElement(be.div,{className:wv("chakra-popover__arrow",e.className),...o(e),__css:{...a.arrow,"--popper-arrow-bg":s?`colors.${s}, ${s}`:void 0}}))}q4.displayName="PopoverArrow";var x0e=Ee(function(t,n){const{getBodyProps:r}=Zf(),i=Cv();return ne.createElement(be.div,{...r(t,n),className:wv("chakra-popover__body",t.className),__css:i.body})});x0e.displayName="PopoverBody";var b0e=Ee(function(t,n){const{onClose:r}=Zf(),i=Cv();return w(H4,{size:"sm",onClick:r,className:wv("chakra-popover__close-btn",t.className),__css:i.closeButton,ref:n,...t})});b0e.displayName="PopoverCloseButton";function S0e(e){if(!!e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var w0e={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]}}},C0e=be(Wa.section),Qz=Ee(function(t,n){const{variants:r=w0e,...i}=t,{isOpen:o}=Zf();return ne.createElement(C0e,{ref:n,variants:S0e(r),initial:!1,animate:o?"enter":"exit",...i})});Qz.displayName="PopoverTransition";var K4=Ee(function(t,n){const{rootProps:r,motionProps:i,...o}=t,{getPopoverProps:a,getPopoverPositionerProps:s,onAnimationComplete:l}=Zf(),d=Cv(),p={position:"relative",display:"flex",flexDirection:"column",...d.content};return ne.createElement(be.div,{...s(r),__css:d.popper,className:"chakra-popover__popper"},w(Qz,{...i,...a(o,n),onAnimationComplete:g0e(l,o.onAnimationComplete),className:wv("chakra-popover__content",t.className),__css:p}))});K4.displayName="PopoverContent";var Jz=Ee(function(t,n){const{getHeaderProps:r}=Zf(),i=Cv();return ne.createElement(be.header,{...r(t,n),className:wv("chakra-popover__header",t.className),__css:i.header})});Jz.displayName="PopoverHeader";function Z4(e){const t=C.exports.Children.only(e.children),{getTriggerProps:n}=Zf();return C.exports.cloneElement(t,n(t.props,t.ref))}Z4.displayName="PopoverTrigger";function _0e(e,t,n){return(e-t)*100/(n-t)}var k0e=cv({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}}),E0e=cv({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),P0e=cv({"0%":{left:"-40%"},"100%":{left:"100%"}}),T0e=cv({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function eF(e){const{value:t=0,min:n,max:r,valueText:i,getValueText:o,isIndeterminate:a}=e,s=_0e(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,s):i})(),role:"progressbar"},percent:s,value:t}}var tF=e=>{const{size:t,isIndeterminate:n,...r}=e;return ne.createElement(be.svg,{viewBox:"0 0 100 100",__css:{width:t,height:t,animation:n?`${E0e} 2s linear infinite`:void 0},...r})};tF.displayName="Shape";var $6=e=>ne.createElement(be.circle,{cx:50,cy:50,r:42,fill:"transparent",...e});$6.displayName="Circle";var L0e=Ee((e,t)=>{const{size:n="48px",max:r=100,min:i=0,valueText:o,getValueText:a,value:s,capIsRound:l,children:d,thickness:p="10px",color:g="#0078d4",trackColor:m="#edebe9",isIndeterminate:y,...b}=e,S=eF({min:i,max:r,value:s,valueText:o,getValueText:a,isIndeterminate:y}),E=y?void 0:(S.percent??0)*2.64,P=E==null?void 0:`${E} ${264-E}`,k=y?{css:{animation:`${k0e} 1.5s linear infinite`}}:{strokeDashoffset:66,strokeDasharray:P,transitionProperty:"stroke-dasharray, stroke",transitionDuration:"0.6s",transitionTimingFunction:"ease"},L={display:"inline-block",position:"relative",verticalAlign:"middle",fontSize:n};return ne.createElement(be.div,{ref:t,className:"chakra-progress",...S.bind,...b,__css:L},te(tF,{size:n,isIndeterminate:y,children:[w($6,{stroke:m,strokeWidth:p,className:"chakra-progress__track"}),w($6,{stroke:g,strokeWidth:p,className:"chakra-progress__indicator",strokeLinecap:l?"round":void 0,opacity:S.value===0&&!y?0:void 0,...k})]}),d)});L0e.displayName="CircularProgress";var[A0e,I0e]=xn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),M0e=Ee((e,t)=>{const{min:n,max:r,value:i,isIndeterminate:o,...a}=e,s=eF({value:i,min:n,max:r,isIndeterminate:o}),d={height:"100%",...I0e().filledTrack};return ne.createElement(be.div,{ref:t,style:{width:`${s.percent}%`,...a.style},...s.bind,...a,__css:d})}),nF=Ee((e,t)=>{var n;const{value:r,min:i=0,max:o=100,hasStripe:a,isAnimated:s,children:l,borderRadius:d,isIndeterminate:p,"aria-label":g,"aria-labelledby":m,...y}=hn(e),b=Ai("Progress",e),S=d??((n=b.track)==null?void 0:n.borderRadius),E={animation:`${T0e} 1s linear infinite`},L={...!p&&a&&s&&E,...p&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${P0e} 1s ease infinite normal none running`}},I={overflow:"hidden",position:"relative",...b.track};return ne.createElement(be.div,{ref:t,borderRadius:S,__css:I,...y},te(A0e,{value:b,children:[w(M0e,{"aria-label":g,"aria-labelledby":m,min:i,max:o,value:r,isIndeterminate:p,css:L,borderRadius:S}),l]}))});nF.displayName="Progress";var R0e=be("div",{baseStyle:{fontSize:"0.24em",top:"50%",left:"50%",width:"100%",textAlign:"center",position:"absolute",transform:"translate(-50%, -50%)"}});R0e.displayName="CircularProgressLabel";var O0e=(...e)=>e.filter(Boolean).join(" "),N0e=e=>e?"":void 0;function D0e(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 rF=Ee(function(t,n){const{children:r,placeholder:i,className:o,...a}=t;return ne.createElement(be.select,{...a,ref:n,className:O0e("chakra-select",o)},i&&w("option",{value:"",children:i}),r)});rF.displayName="SelectField";var iF=Ee((e,t)=>{var n;const r=Ai("Select",e),{rootProps:i,placeholder:o,icon:a,color:s,height:l,h:d,minH:p,minHeight:g,iconColor:m,iconSize:y,...b}=hn(e),[S,E]=D0e(b,tY),P=A8(E),k={width:"100%",height:"fit-content",position:"relative",color:s},L={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return ne.createElement(be.div,{className:"chakra-select__wrapper",__css:k,...S,...i},w(rF,{ref:t,height:d??l,minH:p??g,placeholder:o,...P,__css:L,children:e.children}),w(oF,{"data-disabled":N0e(P.disabled),...(m||s)&&{color:m||s},__css:r.icon,...y&&{fontSize:y},children:a}))});iF.displayName="Select";var z0e=e=>w("svg",{viewBox:"0 0 24 24",...e,children:w("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),F0e=be("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),oF=e=>{const{children:t=w(z0e,{}),...n}=e,r=C.exports.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return w(F0e,{...n,className:"chakra-select__icon-wrapper",children:C.exports.isValidElement(t)?r:null})};oF.displayName="SelectIcon";function B0e(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function $0e(e){const t=W0e(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function aF(e){return!!e.touches}function H0e(e){return aF(e)&&e.touches.length>1}function W0e(e){return e.view??window}function V0e(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function U0e(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function sF(e,t="page"){return aF(e)?V0e(e,t):U0e(e,t)}function G0e(e){return t=>{const n=$0e(t);(!n||n&&t.button===0)&&e(t)}}function j0e(e,t=!1){function n(i){e(i,{point:sF(i)})}return t?G0e(n):n}function n3(e,t,n,r){return B0e(e,t,j0e(n,t==="pointerdown"),r)}function lF(e){const t=C.exports.useRef(null);return t.current=e,t}var q0e=class{history=[];startEvent=null;lastEvent=null;lastEventInfo=null;handlers={};removeListeners=()=>{};threshold=3;win;constructor(e,t,n){if(this.win=e.view??window,H0e(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const r={point:sF(e)},{timestamp:i}=RE();this.history=[{...r.point,timestamp:i}];const{onSessionStart:o}=t;o?.(e,lS(r,this.history)),this.removeListeners=Y0e(n3(this.win,"pointermove",this.onPointerMove),n3(this.win,"pointerup",this.onPointerUp),n3(this.win,"pointercancel",this.onPointerUp))}updatePoint=()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const e=lS(this.lastEventInfo,this.history),t=this.startEvent!==null,n=X0e(e.offset,{x:0,y:0})>=this.threshold;if(!t&&!n)return;const{timestamp:r}=RE();this.history.push({...e.point,timestamp:r});const{onStart:i,onMove:o}=this.handlers;t||(i?.(this.lastEvent,e),this.startEvent=this.lastEvent),o?.(this.lastEvent,e)};onPointerMove=(e,t)=>{this.lastEvent=e,this.lastEventInfo=t,hX.update(this.updatePoint,!0)};onPointerUp=(e,t)=>{const n=lS(t,this.history),{onEnd:r,onSessionEnd:i}=this.handlers;i?.(e,n),this.end(),!(!r||!this.startEvent)&&r?.(e,n)};updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),pX.update(this.updatePoint)}};function nL(e,t){return{x:e.x-t.x,y:e.y-t.y}}function lS(e,t){return{point:e.point,delta:nL(e.point,t[t.length-1]),offset:nL(e.point,t[0]),velocity:Z0e(t,.1)}}var K0e=e=>e*1e3;function Z0e(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>K0e(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 Y0e(...e){return t=>e.reduce((n,r)=>r(n),t)}function uS(e,t){return Math.abs(e-t)}function rL(e){return"x"in e&&"y"in e}function X0e(e,t){if(typeof e=="number"&&typeof t=="number")return uS(e,t);if(rL(e)&&rL(t)){const n=uS(e.x,t.x),r=uS(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function uF(e,t){const{onPan:n,onPanStart:r,onPanEnd:i,onPanSessionStart:o,onPanSessionEnd:a,threshold:s}=t,l=Boolean(n||r||i||o||a),d=C.exports.useRef(null),p=lF({onSessionStart:o,onSessionEnd:a,onStart:r,onMove:n,onEnd(g,m){d.current=null,i?.(g,m)}});C.exports.useEffect(()=>{var g;(g=d.current)==null||g.updateHandlers(p.current)}),C.exports.useEffect(()=>{const g=e.current;if(!g||!l)return;function m(y){d.current=new q0e(y,p.current,s)}return n3(g,"pointerdown",m)},[e,l,p,s]),C.exports.useEffect(()=>()=>{var g;(g=d.current)==null||g.end(),d.current=null},[])}function Q0e(e,t){if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const n=e.ownerDocument.defaultView??window,r=new n.ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const[o]=i;let a,s;if("borderBoxSize"in o){const l=o.borderBoxSize,d=Array.isArray(l)?l[0]:l;a=d.inlineSize,s=d.blockSize}else a=e.offsetWidth,s=e.offsetHeight;t({width:a,height:s})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}var J0e=Boolean(globalThis?.document)?C.exports.useLayoutEffect:C.exports.useEffect;function e1e(e,t){var n;if(!e||!e.parentElement)return;const r=((n=e.ownerDocument)==null?void 0:n.defaultView)??window,i=new r.MutationObserver(()=>{t()});return i.observe(e.parentElement,{childList:!0}),()=>{i.disconnect()}}function cF({getNodes:e,observeMutation:t=!0}){const[n,r]=C.exports.useState([]),[i,o]=C.exports.useState(0);return J0e(()=>{const a=e(),s=a.map((l,d)=>Q0e(l,p=>{r(g=>[...g.slice(0,d),p,...g.slice(d+1)])}));if(t){const l=a[0];s.push(e1e(l,()=>{o(d=>d+1)}))}return()=>{s.forEach(l=>{l?.()})}},[i]),n}function t1e(e){return typeof e=="object"&&e!==null&&"current"in e}function n1e(e){const[t]=cF({observeMutation:!1,getNodes(){return[t1e(e)?e.current:e]}});return t}var r1e=Object.getOwnPropertyNames,i1e=(e,t)=>function(){return e&&(t=(0,e[r1e(e)[0]])(e=0)),t},rd=i1e({"../../../react-shim.js"(){}});rd();rd();rd();var Aa=e=>e?"":void 0,Zp=e=>e?!0:void 0,id=(...e)=>e.filter(Boolean).join(" ");rd();function Yp(...e){return function(n){e.some(r=>(r?.(n),n?.defaultPrevented))}}rd();rd();function o1e(e){return{root:`slider-root-${e}`,getThumb:t=>`slider-thumb-${e}-${t}`,getInput:t=>`slider-input-${e}-${t}`,track:`slider-track-${e}`,innerTrack:`slider-filled-track-${e}`,getMarker:t=>`slider-marker-${e}-${t}`,output:`slider-output-${e}`}}function kg(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var r3={width:0,height:0},ry=e=>e||r3;function dF(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:i}=e,o=S=>{const E=r[S]??r3;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...kg({orientation:t,vertical:{bottom:`calc(${n[S]}% - ${E.height/2}px)`},horizontal:{left:`calc(${n[S]}% - ${E.width/2}px)`}})}},a=t==="vertical"?r.reduce((S,E)=>ry(S).height>ry(E).height?S:E,r3):r.reduce((S,E)=>ry(S).width>ry(E).width?S:E,r3),s={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...kg({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",...kg({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},d=n.length===1,p=[0,i?100-n[0]:n[0]],g=d?p:n;let m=g[0];!d&&i&&(m=100-m);const y=Math.abs(g[g.length-1]-g[0]),b={...l,...kg({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 fF(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function a1e(e){const{min:t=0,max:n=100,onChange:r,value:i,defaultValue:o,isReversed:a,direction:s="ltr",orientation:l="horizontal",id:d,isDisabled:p,isReadOnly:g,onChangeStart:m,onChangeEnd:y,step:b=1,getAriaValueText:S,"aria-valuetext":E,"aria-label":P,"aria-labelledby":k,name:L,focusThumbOnChange:I=!0,minStepsBetweenThumbs:O=0,...N}=e,D=ur(m),F=ur(y),U=ur(S),W=fF({isReversed:a,direction:s,orientation:l}),[q,pe]=w4({value:i,defaultValue:o??[25,75],onChange:r});if(!Array.isArray(q))throw new TypeError(`[range-slider] You passed an invalid value for \`value\` or \`defaultValue\`, expected \`Array\` but got \`${typeof q}\``);const[fe,ye]=C.exports.useState(!1),[Pe,xe]=C.exports.useState(!1),[Y,V]=C.exports.useState(-1),ae=!(p||g),oe=C.exports.useRef(q),X=q.map(Fe=>Gp(Fe,t,n)),me=O*b,ve=s1e(X,t,n,me),Se=C.exports.useRef({eventSource:null,value:[],valueBounds:[]});Se.current.value=X,Se.current.valueBounds=ve;const He=X.map(Fe=>n-Fe+t),ut=(W?He:X).map(Fe=>c5(Fe,t,n)),qe=l==="vertical",at=C.exports.useRef(null),et=C.exports.useRef(null),it=cF({getNodes(){const Fe=et.current,lt=Fe?.querySelectorAll("[role=slider]");return lt?Array.from(lt):[]}}),At=C.exports.useId(),Le=o1e(d??At),ot=C.exports.useCallback(Fe=>{var lt;if(!at.current)return;Se.current.eventSource="pointer";const Xe=at.current.getBoundingClientRect(),{clientX:Lt,clientY:Zt}=((lt=Fe.touches)==null?void 0:lt[0])??Fe,Zn=qe?Xe.bottom-Zt:Lt-Xe.left,ao=qe?Xe.height:Xe.width;let ui=Zn/ao;return W&&(ui=1-ui),mD(ui,t,n)},[qe,W,n,t]),Et=(n-t)/10,rt=b||(n-t)/100,pt=C.exports.useMemo(()=>({setValueAtIndex(Fe,lt){if(!ae)return;const Xe=Se.current.valueBounds[Fe];lt=parseFloat(L6(lt,Xe.min,rt)),lt=Gp(lt,Xe.min,Xe.max);const Lt=[...Se.current.value];Lt[Fe]=lt,pe(Lt)},setActiveIndex:V,stepUp(Fe,lt=rt){const Xe=Se.current.value[Fe],Lt=W?Xe-lt:Xe+lt;pt.setValueAtIndex(Fe,Lt)},stepDown(Fe,lt=rt){const Xe=Se.current.value[Fe],Lt=W?Xe+lt:Xe-lt;pt.setValueAtIndex(Fe,Lt)},reset(){pe(oe.current)}}),[rt,W,pe,ae]),Sn=C.exports.useCallback(Fe=>{const lt=Fe.key,Lt={ArrowRight:()=>pt.stepUp(Y),ArrowUp:()=>pt.stepUp(Y),ArrowLeft:()=>pt.stepDown(Y),ArrowDown:()=>pt.stepDown(Y),PageUp:()=>pt.stepUp(Y,Et),PageDown:()=>pt.stepDown(Y,Et),Home:()=>{const{min:Zt}=ve[Y];pt.setValueAtIndex(Y,Zt)},End:()=>{const{max:Zt}=ve[Y];pt.setValueAtIndex(Y,Zt)}}[lt];Lt&&(Fe.preventDefault(),Fe.stopPropagation(),Lt(Fe),Se.current.eventSource="keyboard")},[pt,Y,Et,ve]),{getThumbStyle:bt,rootStyle:qt,trackStyle:wn,innerTrackStyle:pn}=C.exports.useMemo(()=>dF({isReversed:W,orientation:l,thumbRects:it,thumbPercents:ut}),[W,l,ut,it]),Me=C.exports.useCallback(Fe=>{var lt;const Xe=Fe??Y;if(Xe!==-1&&I){const Lt=Le.getThumb(Xe),Zt=(lt=et.current)==null?void 0:lt.ownerDocument.getElementById(Lt);Zt&&setTimeout(()=>Zt.focus())}},[I,Y,Le]);Gc(()=>{Se.current.eventSource==="keyboard"&&F?.(Se.current.value)},[X,F]);const Ze=Fe=>{const lt=ot(Fe)||0,Xe=Se.current.value.map(ui=>Math.abs(ui-lt)),Lt=Math.min(...Xe);let Zt=Xe.indexOf(Lt);const Zn=Xe.filter(ui=>ui===Lt);Zn.length>1&<>Se.current.value[Zt]&&(Zt=Zt+Zn.length-1),V(Zt),pt.setValueAtIndex(Zt,lt),Me(Zt)},Kt=Fe=>{if(Y==-1)return;const lt=ot(Fe)||0;V(Y),pt.setValueAtIndex(Y,lt),Me(Y)};uF(et,{onPanSessionStart(Fe){!ae||(ye(!0),Ze(Fe),D?.(Se.current.value))},onPanSessionEnd(){!ae||(ye(!1),F?.(Se.current.value))},onPan(Fe){!ae||Kt(Fe)}});const Vt=C.exports.useCallback((Fe={},lt=null)=>({...Fe,...N,id:Le.root,ref:zn(lt,et),tabIndex:-1,"aria-disabled":Zp(p),"data-focused":Aa(Pe),style:{...Fe.style,...qt}}),[N,p,Pe,qt,Le]),_e=C.exports.useCallback((Fe={},lt=null)=>({...Fe,ref:zn(lt,at),id:Le.track,"data-disabled":Aa(p),style:{...Fe.style,...wn}}),[p,wn,Le]),kt=C.exports.useCallback((Fe={},lt=null)=>({...Fe,ref:lt,id:Le.innerTrack,style:{...Fe.style,...pn}}),[pn,Le]),Ne=C.exports.useCallback((Fe,lt=null)=>{const{index:Xe,...Lt}=Fe,Zt=X[Xe];if(Zt==null)throw new TypeError(`[range-slider > thumb] Cannot find value at index \`${Xe}\`. The \`value\` or \`defaultValue\` length is : ${X.length}`);const Zn=ve[Xe];return{...Lt,ref:lt,role:"slider",tabIndex:ae?0:void 0,id:Le.getThumb(Xe),"data-active":Aa(fe&&Y===Xe),"aria-valuetext":U?.(Zt)??E?.[Xe],"aria-valuemin":Zn.min,"aria-valuemax":Zn.max,"aria-valuenow":Zt,"aria-orientation":l,"aria-disabled":Zp(p),"aria-readonly":Zp(g),"aria-label":P?.[Xe],"aria-labelledby":P?.[Xe]?void 0:k?.[Xe],style:{...Fe.style,...bt(Xe)},onKeyDown:Yp(Fe.onKeyDown,Sn),onFocus:Yp(Fe.onFocus,()=>{xe(!0),V(Xe)}),onBlur:Yp(Fe.onBlur,()=>{xe(!1),V(-1)})}},[Le,X,ve,ae,fe,Y,U,E,l,p,g,P,k,bt,Sn,xe]),tt=C.exports.useCallback((Fe={},lt=null)=>({...Fe,ref:lt,id:Le.output,htmlFor:X.map((Xe,Lt)=>Le.getThumb(Lt)).join(" "),"aria-live":"off"}),[Le,X]),nn=C.exports.useCallback((Fe,lt=null)=>{const{value:Xe,...Lt}=Fe,Zt=!(Xen),Zn=Xe>=X[0]&&Xe<=X[X.length-1];let ao=c5(Xe,t,n);ao=W?100-ao:ao;const ui={position:"absolute",pointerEvents:"none",...kg({orientation:l,vertical:{bottom:`${ao}%`},horizontal:{left:`${ao}%`}})};return{...Lt,ref:lt,id:Le.getMarker(Fe.value),role:"presentation","aria-hidden":!0,"data-disabled":Aa(p),"data-invalid":Aa(!Zt),"data-highlighted":Aa(Zn),style:{...Fe.style,...ui}}},[p,W,n,t,l,X,Le]),Mn=C.exports.useCallback((Fe,lt=null)=>{const{index:Xe,...Lt}=Fe;return{...Lt,ref:lt,id:Le.getInput(Xe),type:"hidden",value:X[Xe],name:Array.isArray(L)?L[Xe]:`${L}-${Xe}`}},[L,X,Le]);return{state:{value:X,isFocused:Pe,isDragging:fe,getThumbPercent:Fe=>ut[Fe],getThumbMinValue:Fe=>ve[Fe].min,getThumbMaxValue:Fe=>ve[Fe].max},actions:pt,getRootProps:Vt,getTrackProps:_e,getInnerTrackProps:kt,getThumbProps:Ne,getMarkerProps:nn,getInputProps:Mn,getOutputProps:tt}}function s1e(e,t,n,r){return e.map((i,o)=>{const a=o===0?t:e[o-1]+r,s=o===e.length-1?n:e[o+1]-r;return{min:a,max:s}})}var[l1e,Y4]=xn({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within "}),[u1e,c7]=xn({name:"RangeSliderStylesContext",errorMessage:`useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),hF=Ee(function(t,n){const r=Ai("Slider",t),i=hn(t),{direction:o}=E0();i.direction=o;const{getRootProps:a,...s}=a1e(i),l=C.exports.useMemo(()=>({...s,name:t.name}),[s,t.name]);return ne.createElement(l1e,{value:l},ne.createElement(u1e,{value:r},ne.createElement(be.div,{...a({},n),className:"chakra-slider",__css:r.container},t.children)))});hF.defaultProps={orientation:"horizontal"};hF.displayName="RangeSlider";var c1e=Ee(function(t,n){const{getThumbProps:r,getInputProps:i,name:o}=Y4(),a=c7(),s=r(t,n);return ne.createElement(be.div,{...s,className:id("chakra-slider__thumb",t.className),__css:a.thumb},s.children,o&&w("input",{...i({index:t.index})}))});c1e.displayName="RangeSliderThumb";var d1e=Ee(function(t,n){const{getTrackProps:r}=Y4(),i=c7(),o=r(t,n);return ne.createElement(be.div,{...o,className:id("chakra-slider__track",t.className),__css:i.track,"data-testid":"chakra-range-slider-track"})});d1e.displayName="RangeSliderTrack";var f1e=Ee(function(t,n){const{getInnerTrackProps:r}=Y4(),i=c7(),o=r(t,n);return ne.createElement(be.div,{...o,className:"chakra-slider__filled-track",__css:i.filledTrack})});f1e.displayName="RangeSliderFilledTrack";var h1e=Ee(function(t,n){const{getMarkerProps:r}=Y4(),i=r(t,n);return ne.createElement(be.div,{...i,className:id("chakra-slider__marker",t.className)})});h1e.displayName="RangeSliderMark";rd();rd();function p1e(e){const{min:t=0,max:n=100,onChange:r,value:i,defaultValue:o,isReversed:a,direction:s="ltr",orientation:l="horizontal",id:d,isDisabled:p,isReadOnly:g,onChangeStart:m,onChangeEnd:y,step:b=1,getAriaValueText:S,"aria-valuetext":E,"aria-label":P,"aria-labelledby":k,name:L,focusThumbOnChange:I=!0,...O}=e,N=ur(m),D=ur(y),F=ur(S),U=fF({isReversed:a,direction:s,orientation:l}),[W,q]=w4({value:i,defaultValue:o??m1e(t,n),onChange:r}),[pe,fe]=C.exports.useState(!1),[ye,Pe]=C.exports.useState(!1),xe=!(p||g),Y=(n-t)/10,V=b||(n-t)/100,ae=Gp(W,t,n),oe=n-ae+t,me=c5(U?oe:ae,t,n),ve=l==="vertical",Se=lF({min:t,max:n,step:b,isDisabled:p,value:ae,isInteractive:xe,isReversed:U,isVertical:ve,eventSource:null,focusThumbOnChange:I,orientation:l}),He=C.exports.useRef(null),je=C.exports.useRef(null),ut=C.exports.useRef(null),qe=C.exports.useId(),at=d??qe,[et,it]=[`slider-thumb-${at}`,`slider-track-${at}`],At=C.exports.useCallback(Ne=>{var tt;if(!He.current)return;const nn=Se.current;nn.eventSource="pointer";const Mn=He.current.getBoundingClientRect(),{clientX:Fe,clientY:lt}=((tt=Ne.touches)==null?void 0:tt[0])??Ne,Xe=ve?Mn.bottom-lt:Fe-Mn.left,Lt=ve?Mn.height:Mn.width;let Zt=Xe/Lt;U&&(Zt=1-Zt);let Zn=mD(Zt,nn.min,nn.max);return nn.step&&(Zn=parseFloat(L6(Zn,nn.min,nn.step))),Zn=Gp(Zn,nn.min,nn.max),Zn},[ve,U,Se]),wt=C.exports.useCallback(Ne=>{const tt=Se.current;!tt.isInteractive||(Ne=parseFloat(L6(Ne,tt.min,V)),Ne=Gp(Ne,tt.min,tt.max),q(Ne))},[V,q,Se]),Le=C.exports.useMemo(()=>({stepUp(Ne=V){const tt=U?ae-Ne:ae+Ne;wt(tt)},stepDown(Ne=V){const tt=U?ae+Ne:ae-Ne;wt(tt)},reset(){wt(o||0)},stepTo(Ne){wt(Ne)}}),[wt,U,ae,V,o]),ot=C.exports.useCallback(Ne=>{const tt=Se.current,Mn={ArrowRight:()=>Le.stepUp(),ArrowUp:()=>Le.stepUp(),ArrowLeft:()=>Le.stepDown(),ArrowDown:()=>Le.stepDown(),PageUp:()=>Le.stepUp(Y),PageDown:()=>Le.stepDown(Y),Home:()=>wt(tt.min),End:()=>wt(tt.max)}[Ne.key];Mn&&(Ne.preventDefault(),Ne.stopPropagation(),Mn(Ne),tt.eventSource="keyboard")},[Le,wt,Y,Se]),Et=F?.(ae)??E,rt=n1e(je),{getThumbStyle:pt,rootStyle:Sn,trackStyle:bt,innerTrackStyle:qt}=C.exports.useMemo(()=>{const Ne=Se.current,tt=rt??{width:0,height:0};return dF({isReversed:U,orientation:Ne.orientation,thumbRects:[tt],thumbPercents:[me]})},[U,rt,me,Se]),wn=C.exports.useCallback(()=>{Se.current.focusThumbOnChange&&setTimeout(()=>{var tt;return(tt=je.current)==null?void 0:tt.focus()})},[Se]);Gc(()=>{const Ne=Se.current;wn(),Ne.eventSource==="keyboard"&&D?.(Ne.value)},[ae,D]);function pn(Ne){const tt=At(Ne);tt!=null&&tt!==Se.current.value&&q(tt)}uF(ut,{onPanSessionStart(Ne){const tt=Se.current;!tt.isInteractive||(fe(!0),wn(),pn(Ne),N?.(tt.value))},onPanSessionEnd(){const Ne=Se.current;!Ne.isInteractive||(fe(!1),D?.(Ne.value))},onPan(Ne){!Se.current.isInteractive||pn(Ne)}});const Me=C.exports.useCallback((Ne={},tt=null)=>({...Ne,...O,ref:zn(tt,ut),tabIndex:-1,"aria-disabled":Zp(p),"data-focused":Aa(ye),style:{...Ne.style,...Sn}}),[O,p,ye,Sn]),Ze=C.exports.useCallback((Ne={},tt=null)=>({...Ne,ref:zn(tt,He),id:it,"data-disabled":Aa(p),style:{...Ne.style,...bt}}),[p,it,bt]),Kt=C.exports.useCallback((Ne={},tt=null)=>({...Ne,ref:tt,style:{...Ne.style,...qt}}),[qt]),Vt=C.exports.useCallback((Ne={},tt=null)=>({...Ne,ref:zn(tt,je),role:"slider",tabIndex:xe?0:void 0,id:et,"data-active":Aa(pe),"aria-valuetext":Et,"aria-valuemin":t,"aria-valuemax":n,"aria-valuenow":ae,"aria-orientation":l,"aria-disabled":Zp(p),"aria-readonly":Zp(g),"aria-label":P,"aria-labelledby":P?void 0:k,style:{...Ne.style,...pt(0)},onKeyDown:Yp(Ne.onKeyDown,ot),onFocus:Yp(Ne.onFocus,()=>Pe(!0)),onBlur:Yp(Ne.onBlur,()=>Pe(!1))}),[xe,et,pe,Et,t,n,ae,l,p,g,P,k,pt,ot]),_e=C.exports.useCallback((Ne,tt=null)=>{const nn=!(Ne.valuen),Mn=ae>=Ne.value,Fe=c5(Ne.value,t,n),lt={position:"absolute",pointerEvents:"none",...g1e({orientation:l,vertical:{bottom:U?`${100-Fe}%`:`${Fe}%`},horizontal:{left:U?`${100-Fe}%`:`${Fe}%`}})};return{...Ne,ref:tt,role:"presentation","aria-hidden":!0,"data-disabled":Aa(p),"data-invalid":Aa(!nn),"data-highlighted":Aa(Mn),style:{...Ne.style,...lt}}},[p,U,n,t,l,ae]),kt=C.exports.useCallback((Ne={},tt=null)=>({...Ne,ref:tt,type:"hidden",value:ae,name:L}),[L,ae]);return{state:{value:ae,isFocused:ye,isDragging:pe},actions:Le,getRootProps:Me,getTrackProps:Ze,getInnerTrackProps:Kt,getThumbProps:Vt,getMarkerProps:_e,getInputProps:kt}}function g1e(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function m1e(e,t){return t"}),[y1e,Q4]=xn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),d7=Ee((e,t)=>{const n=Ai("Slider",e),r=hn(e),{direction:i}=E0();r.direction=i;const{getInputProps:o,getRootProps:a,...s}=p1e(r),l=a(),d=o({},t);return ne.createElement(v1e,{value:s},ne.createElement(y1e,{value:n},ne.createElement(be.div,{...l,className:id("chakra-slider",e.className),__css:n.container},e.children,w("input",{...d}))))});d7.defaultProps={orientation:"horizontal"};d7.displayName="Slider";var pF=Ee((e,t)=>{const{getThumbProps:n}=X4(),r=Q4(),i=n(e,t);return ne.createElement(be.div,{...i,className:id("chakra-slider__thumb",e.className),__css:r.thumb})});pF.displayName="SliderThumb";var gF=Ee((e,t)=>{const{getTrackProps:n}=X4(),r=Q4(),i=n(e,t);return ne.createElement(be.div,{...i,className:id("chakra-slider__track",e.className),__css:r.track})});gF.displayName="SliderTrack";var mF=Ee((e,t)=>{const{getInnerTrackProps:n}=X4(),r=Q4(),i=n(e,t);return ne.createElement(be.div,{...i,className:id("chakra-slider__filled-track",e.className),__css:r.filledTrack})});mF.displayName="SliderFilledTrack";var x1e=Ee((e,t)=>{const{getMarkerProps:n}=X4(),r=Q4(),i=n(e,t);return ne.createElement(be.div,{...i,className:id("chakra-slider__marker",e.className),__css:r.mark})});x1e.displayName="SliderMark";var b1e=(...e)=>e.filter(Boolean).join(" "),iL=e=>e?"":void 0,f7=Ee(function(t,n){const r=Ai("Switch",t),{spacing:i="0.5rem",children:o,...a}=hn(t),{state:s,getInputProps:l,getCheckboxProps:d,getRootProps:p,getLabelProps:g}=pD(a),m=C.exports.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),y=C.exports.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),b=C.exports.useMemo(()=>({userSelect:"none",marginStart:i,...r.label}),[i,r.label]);return ne.createElement(be.label,{...p(),className:b1e("chakra-switch",t.className),__css:m},w("input",{className:"chakra-switch__input",...l({},n)}),ne.createElement(be.span,{...d(),className:"chakra-switch__track",__css:y},ne.createElement(be.span,{__css:r.thumb,className:"chakra-switch__thumb","data-checked":iL(s.isChecked),"data-hover":iL(s.isHovered)})),o&&ne.createElement(be.span,{className:"chakra-switch__label",...g(),__css:b},o))});f7.displayName="Switch";var R0=(...e)=>e.filter(Boolean).join(" ");function H6(...e){return function(n){e.some(r=>(r?.(n),n?.defaultPrevented))}}var[S1e,vF,w1e,C1e]=kO();function _1e(e){const{defaultIndex:t,onChange:n,index:r,isManual:i,isLazy:o,lazyBehavior:a="unmount",orientation:s="horizontal",direction:l="ltr",...d}=e,[p,g]=C.exports.useState(t??0),[m,y]=w4({defaultValue:t??0,value:r,onChange:n});C.exports.useEffect(()=>{r!=null&&g(r)},[r]);const b=w1e(),S=C.exports.useId();return{id:`tabs-${e.id??S}`,selectedIndex:m,focusedIndex:p,setSelectedIndex:y,setFocusedIndex:g,isManual:i,isLazy:o,lazyBehavior:a,orientation:s,descendants:b,direction:l,htmlProps:d}}var[k1e,_v]=xn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function E1e(e){const{focusedIndex:t,orientation:n,direction:r}=_v(),i=vF(),o=C.exports.useCallback(a=>{const s=()=>{var k;const L=i.nextEnabled(t);L&&((k=L.node)==null||k.focus())},l=()=>{var k;const L=i.prevEnabled(t);L&&((k=L.node)==null||k.focus())},d=()=>{var k;const L=i.firstEnabled();L&&((k=L.node)==null||k.focus())},p=()=>{var k;const L=i.lastEnabled();L&&((k=L.node)==null||k.focus())},g=n==="horizontal",m=n==="vertical",y=a.key,b=r==="ltr"?"ArrowLeft":"ArrowRight",S=r==="ltr"?"ArrowRight":"ArrowLeft",P={[b]:()=>g&&l(),[S]:()=>g&&s(),ArrowDown:()=>m&&s(),ArrowUp:()=>m&&l(),Home:d,End:p}[y];P&&(a.preventDefault(),P(a))},[i,t,n,r]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:H6(e.onKeyDown,o)}}function P1e(e){const{isDisabled:t,isFocusable:n,...r}=e,{setSelectedIndex:i,isManual:o,id:a,setFocusedIndex:s,selectedIndex:l}=_v(),{index:d,register:p}=C1e({disabled:t&&!n}),g=d===l,m=()=>{i(d)},y=()=>{s(d),!o&&!(t&&n)&&i(d)},b=vde({...r,ref:zn(p,e.ref),isDisabled:t,isFocusable:n,onClick:H6(e.onClick,m)}),S="button";return{...b,id:yF(a,d),role:"tab",tabIndex:g?0:-1,type:S,"aria-selected":g,"aria-controls":xF(a,d),onFocus:t?void 0:H6(e.onFocus,y)}}var[T1e,L1e]=xn({});function A1e(e){const t=_v(),{id:n,selectedIndex:r}=t,o=F4(e.children).map((a,s)=>C.exports.createElement(T1e,{key:s,value:{isSelected:s===r,id:xF(n,s),tabId:yF(n,s),selectedIndex:r}},a));return{...e,children:o}}function I1e(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:i}=_v(),{isSelected:o,id:a,tabId:s}=L1e(),l=C.exports.useRef(!1);o&&(l.current=!0);const d=ez({wasSelected:l.current,isSelected:o,enabled:r,mode:i});return{tabIndex:0,...n,children:d?t:null,role:"tabpanel","aria-labelledby":s,hidden:!o,id:a}}function M1e(){const e=_v(),t=vF(),{selectedIndex:n,orientation:r}=e,i=r==="horizontal",o=r==="vertical",[a,s]=C.exports.useState(()=>{if(i)return{left:0,width:0};if(o)return{top:0,height:0}}),[l,d]=C.exports.useState(!1);return gl(()=>{if(n==null)return;const p=t.item(n);if(p==null)return;i&&s({left:p.node.offsetLeft,width:p.node.offsetWidth}),o&&s({top:p.node.offsetTop,height:p.node.offsetHeight});const g=requestAnimationFrame(()=>{d(!0)});return()=>{g&&cancelAnimationFrame(g)}},[n,i,o,t]),{position:"absolute",transitionProperty:"left, right, top, bottom, height, width",transitionDuration:l?"200ms":"0ms",transitionTimingFunction:"cubic-bezier(0, 0, 0.2, 1)",...a}}function yF(e,t){return`${e}--tab-${t}`}function xF(e,t){return`${e}--tabpanel-${t}`}var[R1e,kv]=xn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),bF=Ee(function(t,n){const r=Ai("Tabs",t),{children:i,className:o,...a}=hn(t),{htmlProps:s,descendants:l,...d}=_1e(a),p=C.exports.useMemo(()=>d,[d]),{isFitted:g,...m}=s;return ne.createElement(S1e,{value:l},ne.createElement(k1e,{value:p},ne.createElement(R1e,{value:r},ne.createElement(be.div,{className:R0("chakra-tabs",o),ref:n,...m,__css:r.root},i))))});bF.displayName="Tabs";var O1e=Ee(function(t,n){const r=M1e(),i={...t.style,...r},o=kv();return ne.createElement(be.div,{ref:n,...t,className:R0("chakra-tabs__tab-indicator",t.className),style:i,__css:o.indicator})});O1e.displayName="TabIndicator";var N1e=Ee(function(t,n){const r=E1e({...t,ref:n}),o={display:"flex",...kv().tablist};return ne.createElement(be.div,{...r,className:R0("chakra-tabs__tablist",t.className),__css:o})});N1e.displayName="TabList";var SF=Ee(function(t,n){const r=I1e({...t,ref:n}),i=kv();return ne.createElement(be.div,{outline:"0",...r,className:R0("chakra-tabs__tab-panel",t.className),__css:i.tabpanel})});SF.displayName="TabPanel";var wF=Ee(function(t,n){const r=A1e(t),i=kv();return ne.createElement(be.div,{...r,width:"100%",ref:n,className:R0("chakra-tabs__tab-panels",t.className),__css:i.tabpanels})});wF.displayName="TabPanels";var CF=Ee(function(t,n){const r=kv(),i=P1e({...t,ref:n}),o={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return ne.createElement(be.button,{...i,className:R0("chakra-tabs__tab",t.className),__css:o})});CF.displayName="Tab";var D1e=(...e)=>e.filter(Boolean).join(" ");function z1e(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var F1e=["h","minH","height","minHeight"],_F=Ee((e,t)=>{const n=oo("Textarea",e),{className:r,rows:i,...o}=hn(e),a=A8(o),s=i?z1e(n,F1e):n;return ne.createElement(be.textarea,{ref:t,rows:i,...a,className:D1e("chakra-textarea",r),__css:s})});_F.displayName="Textarea";function B1e(e,t){const n=ur(e);C.exports.useEffect(()=>{if(t==null)return;let r=null;return r=window.setTimeout(()=>{n()},t),()=>{r&&window.clearTimeout(r)}},[t,n])}function W6(e,...t){return $1e(e)?e(...t):e}var $1e=e=>typeof e=="function";function H1e(e,t){const n=e??"bottom",i={"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"}}[n];return i?.[t]??n}var W1e=(e,t)=>e.find(n=>n.id===t);function oL(e,t){const n=kF(e,t),r=n?e[n].findIndex(i=>i.id===t):-1;return{position:n,index:r}}function kF(e,t){for(const[n,r]of Object.entries(e))if(W1e(r,t))return n}function V1e(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 U1e(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}}var G1e={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},dl=j1e(G1e);function j1e(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=q1e(i,o),{position:s,id:l}=a;return r(d=>{const g=s.includes("top")?[a,...d[s]??[]]:[...d[s]??[],a];return{...d,[s]:g}}),l},update:(i,o)=>{!i||r(a=>{const s={...a},{position:l,index:d}=oL(s,i);return l&&d!==-1&&(s[l][d]={...s[l][d],...o,message:EF(o)}),s})},closeAll:({positions:i}={})=>{r(o=>(i??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,d)=>(l[d]=o[d].map(p=>({...p,requestClose:!0})),l),{...o}))},close:i=>{r(o=>{const a=kF(o,i);return a?{...o,[a]:o[a].map(s=>s.id==i?{...s,requestClose:!0}:s)}:o})},isActive:i=>Boolean(oL(dl.getState(),i).position)}}var aL=0;function q1e(e,t={}){aL+=1;const n=t.id??aL,r=t.position??"bottom";return{id:n,message:e,position:r,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>dl.removeToast(String(n),r),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var K1e=e=>{const{status:t,variant:n="solid",id:r,title:i,isClosable:o,onClose:a,description:s,icon:l}=e,d=r?{root:`toast-${r}`,title:`toast-${r}-title`,description:`toast-${r}-description`}:void 0;return ne.createElement(aD,{addRole:!1,status:t,variant:n,id:d?.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto"},w(lD,{children:l}),ne.createElement(be.div,{flex:"1",maxWidth:"100%"},i&&w(uD,{id:d?.title,children:i}),s&&w(sD,{id:d?.description,display:"block",children:s})),o&&w(H4,{size:"sm",onClick:a,position:"absolute",insetEnd:1,top:1}))};function EF(e={}){const{render:t,toastComponent:n=K1e}=e;return i=>typeof t=="function"?t({...i,...e}):w(n,{...i,...e})}function Z1e(e,t){const n=i=>({...t,...i,position:H1e(i?.position??t?.position,e)}),r=i=>{const o=n(i),a=EF(o);return dl.notify(a,o)};return r.update=(i,o)=>{dl.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,...W6(o.success,s)})).catch(s=>r.update(a,{status:"error",duration:5e3,...W6(o.error,s)}))},r.closeAll=dl.closeAll,r.close=dl.close,r.isActive=dl.isActive,r}function od(e){const{theme:t}=wO();return C.exports.useMemo(()=>Z1e(t.direction,e),[e,t.direction])}var Y1e={initial:e=>{const{position:t}=e,n=["top","bottom"].includes(t)?"y":"x";let r=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(r=1),{opacity:0,[n]:r*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},PF=C.exports.memo(e=>{const{id:t,message:n,onCloseComplete:r,onRequestRemove:i,requestClose:o=!1,position:a="bottom",duration:s=5e3,containerStyle:l,motionVariants:d=Y1e,toastSpacing:p="0.5rem"}=e,[g,m]=C.exports.useState(s),y=Kae();Gc(()=>{y||r?.()},[y]),Gc(()=>{m(s)},[s]);const b=()=>m(null),S=()=>m(s),E=()=>{y&&i()};C.exports.useEffect(()=>{y&&o&&i()},[y,o,i]),B1e(E,g);const P=C.exports.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:p,...l}),[l,p]),k=C.exports.useMemo(()=>V1e(a),[a]);return ne.createElement(Wa.li,{layout:!0,className:"chakra-toast",variants:d,initial:"initial",animate:"animate",exit:"exit",onHoverStart:b,onHoverEnd:S,custom:{position:a},style:k},ne.createElement(be.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:P},W6(n,{id:t,onClose:E})))});PF.displayName="ToastComponent";var X1e=e=>{const t=C.exports.useSyncExternalStore(dl.subscribe,dl.getState,dl.getState),{children:n,motionVariants:r,component:i=PF,portalProps:o}=e,s=Object.keys(t).map(l=>{const d=t[l];return w("ul",{role:"region","aria-live":"polite",id:`chakra-toast-manager-${l}`,style:U1e(l),children:w(bu,{initial:!1,children:d.map(p=>w(i,{motionVariants:r,...p},p.id))})},l)});return te(Fn,{children:[n,w(jf,{...o,children:s})]})};function Q1e(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function J1e(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var ege={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]}}}};function lg(...e){return function(n){e.some(r=>(r?.(n),n?.defaultPrevented))}}var m5=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},V6=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function tge(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:i,closeOnScroll:o,closeOnPointerDown:a=i,closeOnEsc:s=!0,onOpen:l,onClose:d,placement:p,id:g,isOpen:m,defaultIsOpen:y,arrowSize:b=10,arrowShadowColor:S,arrowPadding:E,modifiers:P,isDisabled:k,gutter:L,offset:I,direction:O,...N}=e,{isOpen:D,onOpen:F,onClose:U}=JD({isOpen:m,defaultIsOpen:y,onOpen:l,onClose:d}),{referenceRef:W,getPopperProps:q,getArrowInnerProps:pe,getArrowProps:fe}=QD({enabled:D,placement:p,arrowPadding:E,modifiers:P,gutter:L,offset:I,direction:O}),ye=C.exports.useId(),xe=`tooltip-${g??ye}`,Y=C.exports.useRef(null),V=C.exports.useRef(),ae=C.exports.useRef(),oe=C.exports.useCallback(()=>{ae.current&&(clearTimeout(ae.current),ae.current=void 0),U()},[U]),X=nge(Y,oe),me=C.exports.useCallback(()=>{if(!k&&!V.current){X();const et=V6(Y);V.current=et.setTimeout(F,t)}},[X,k,F,t]),ve=C.exports.useCallback(()=>{V.current&&(clearTimeout(V.current),V.current=void 0);const et=V6(Y);ae.current=et.setTimeout(oe,n)},[n,oe]),Se=C.exports.useCallback(()=>{D&&r&&ve()},[r,ve,D]),He=C.exports.useCallback(()=>{D&&a&&ve()},[a,ve,D]),je=C.exports.useCallback(et=>{D&&et.key==="Escape"&&ve()},[D,ve]);Lf(()=>m5(Y),"keydown",s?je:void 0),Lf(()=>m5(Y),"scroll",()=>{D&&o&&oe()}),C.exports.useEffect(()=>()=>{clearTimeout(V.current),clearTimeout(ae.current)},[]),Lf(()=>Y.current,"pointerleave",ve);const ut=C.exports.useCallback((et={},it=null)=>({...et,ref:zn(Y,it,W),onPointerEnter:lg(et.onPointerEnter,wt=>{wt.pointerType!=="touch"&&me()}),onClick:lg(et.onClick,Se),onPointerDown:lg(et.onPointerDown,He),onFocus:lg(et.onFocus,me),onBlur:lg(et.onBlur,ve),"aria-describedby":D?xe:void 0}),[me,ve,He,D,xe,Se,W]),qe=C.exports.useCallback((et={},it=null)=>q({...et,style:{...et.style,[$r.arrowSize.var]:b?`${b}px`:void 0,[$r.arrowShadowColor.var]:S}},it),[q,b,S]),at=C.exports.useCallback((et={},it=null)=>{const At={...et.style,position:"relative",transformOrigin:$r.transformOrigin.varRef};return{ref:it,...N,...et,id:xe,role:"tooltip",style:At}},[N,xe]);return{isOpen:D,show:me,hide:ve,getTriggerProps:ut,getTooltipProps:at,getTooltipPositionerProps:qe,getArrowProps:fe,getArrowInnerProps:pe}}var cS="chakra-ui:close-tooltip";function nge(e,t){return C.exports.useEffect(()=>{const n=m5(e);return n.addEventListener(cS,t),()=>n.removeEventListener(cS,t)},[t,e]),()=>{const n=m5(e),r=V6(e);n.dispatchEvent(new r.CustomEvent(cS))}}var rge=be(Wa.div),Xr=Ee((e,t)=>{const n=oo("Tooltip",e),r=hn(e),i=E0(),{children:o,label:a,shouldWrapChildren:s,"aria-label":l,hasArrow:d,bg:p,portalProps:g,background:m,backgroundColor:y,bgColor:b,motionProps:S,...E}=r,P=m??y??p??b;if(P){n.bg=P;const U=gY(i,"colors",P);n[$r.arrowBg.var]=U}const k=tge({...E,direction:i.direction}),L=typeof o=="string"||s;let I;if(L)I=ne.createElement(be.span,{display:"inline-block",tabIndex:0,...k.getTriggerProps()},o);else{const U=C.exports.Children.only(o);I=C.exports.cloneElement(U,k.getTriggerProps(U.props,U.ref))}const O=!!l,N=k.getTooltipProps({},t),D=O?Q1e(N,["role","id"]):N,F=J1e(N,["role","id"]);return a?te(Fn,{children:[I,w(bu,{children:k.isOpen&&ne.createElement(jf,{...g},ne.createElement(be.div,{...k.getTooltipPositionerProps(),__css:{zIndex:n.zIndex,pointerEvents:"none"}},te(rge,{variants:ege,initial:"exit",animate:"enter",exit:"exit",...S,...D,__css:n,children:[a,O&&ne.createElement(be.span,{srOnly:!0,...F},l),d&&ne.createElement(be.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper"},ne.createElement(be.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:n.bg}}))]})))})]}):w(Fn,{children:o})});Xr.displayName="Tooltip";var ige=e=>{const{children:t,colorModeManager:n,portalZIndex:r,resetCSS:i=!0,theme:o={},environment:a,cssVarsRoot:s}=e,l=w(ND,{environment:a,children:t});return w(sie,{theme:o,cssVarsRoot:s,children:te(_R,{colorModeManager:n,options:o.config,children:[i?w(kce,{}):w(_ce,{}),w(uie,{}),r?w(tz,{zIndex:r,children:l}):l]})})};function oge({children:e,theme:t=bO,toastOptions:n,...r}){return te(ige,{theme:t,...r,children:[e,w(X1e,{...n})]})}function vs(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:h7(e)?2:p7(e)?3:0}function Xp(e,t){return O0(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function age(e,t){return O0(e)===2?e.get(t):e[t]}function TF(e,t,n){var r=O0(e);r===2?e.set(t,n):r===3?(e.delete(t),e.add(n)):e[t]=n}function LF(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function h7(e){return fge&&e instanceof Map}function p7(e){return hge&&e instanceof Set}function of(e){return e.o||e.t}function g7(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=IF(e);delete t[er];for(var n=Qp(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=sge),Object.freeze(e),t&&Bf(e,function(n,r){return m7(r,!0)},!0)),e}function sge(){vs(2)}function v7(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function bl(e){var t=q6[e];return t||vs(18,e),t}function lge(e,t){q6[e]||(q6[e]=t)}function U6(){return Zm}function dS(e,t){t&&(bl("Patches"),e.u=[],e.s=[],e.v=t)}function v5(e){G6(e),e.p.forEach(uge),e.p=null}function G6(e){e===Zm&&(Zm=e.l)}function sL(e){return Zm={p:[],l:Zm,h:e,m:!0,_:0}}function uge(e){var t=e[er];t.i===0||t.i===1?t.j():t.O=!0}function fS(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.g||bl("ES5").S(t,e,r),r?(n[er].P&&(v5(t),vs(4)),gu(e)&&(e=y5(t,e),t.l||x5(t,e)),t.u&&bl("Patches").M(n[er].t,e,t.u,t.s)):e=y5(t,n,[]),v5(t),t.u&&t.v(t.u,t.s),e!==AF?e:void 0}function y5(e,t,n){if(v7(t))return t;var r=t[er];if(!r)return Bf(t,function(o,a){return lL(e,r,t,o,a,n)},!0),t;if(r.A!==e)return t;if(!r.P)return x5(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=g7(r.k):r.o;Bf(r.i===3?new Set(i):i,function(o,a){return lL(e,r,i,o,a,n)}),x5(e,i,!1),n&&e.u&&bl("Patches").R(r,n,e.u,e.s)}return r.o}function lL(e,t,n,r,i,o){if(Kc(i)){var a=y5(e,i,o&&t&&t.i!==3&&!Xp(t.D,r)?o.concat(r):void 0);if(TF(n,r,a),!Kc(a))return;e.m=!1}if(gu(i)&&!v7(i)){if(!e.h.F&&e._<1)return;y5(e,i),t&&t.A.l||x5(e,i)}}function x5(e,t,n){n===void 0&&(n=!1),e.h.F&&e.m&&m7(t,n)}function hS(e,t){var n=e[er];return(n?of(n):e)[t]}function uL(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 kc(e){e.P||(e.P=!0,e.l&&kc(e.l))}function pS(e){e.o||(e.o=g7(e.t))}function j6(e,t,n){var r=h7(t)?bl("MapSet").N(t,n):p7(t)?bl("MapSet").T(t,n):e.g?function(i,o){var a=Array.isArray(i),s={i:a?1:0,A:o?o.A:U6(),P:!1,I:!1,D:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=s,d=Ym;a&&(l=[s],d=Eg);var p=Proxy.revocable(l,d),g=p.revoke,m=p.proxy;return s.k=m,s.j=g,m}(t,n):bl("ES5").J(t,n);return(n?n.A:U6()).p.push(r),r}function cge(e){return Kc(e)||vs(22,e),function t(n){if(!gu(n))return n;var r,i=n[er],o=O0(n);if(i){if(!i.P&&(i.i<4||!bl("ES5").K(i)))return i.t;i.I=!0,r=cL(n,o),i.I=!1}else r=cL(n,o);return Bf(r,function(a,s){i&&age(i.t,a)===s||TF(r,a,t(s))}),o===3?new Set(r):r}(e)}function cL(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return g7(e)}function dge(){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[er];return Ym.get(l,o)},set:function(l){var d=this[er];Ym.set(d,o,l)}},s}function t(o){for(var a=o.length-1;a>=0;a--){var s=o[a][er];if(!s.P)switch(s.i){case 5:r(s)&&kc(s);break;case 4:n(s)&&kc(s)}}}function n(o){for(var a=o.t,s=o.k,l=Qp(s),d=l.length-1;d>=0;d--){var p=l[d];if(p!==er){var g=a[p];if(g===void 0&&!Xp(a,p))return!0;var m=s[p],y=m&&m[er];if(y?y.t!==g:!LF(m,g))return!0}}var b=!!a[er];return l.length!==Qp(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?P-1:0),L=1;L1?p-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=bl("Patches").$;return Kc(n)?a(n,r):this.produce(n,function(s){return a(s,r)})},e}(),sa=new gge,MF=sa.produce;sa.produceWithPatches.bind(sa);sa.setAutoFreeze.bind(sa);sa.setUseProxies.bind(sa);sa.applyPatches.bind(sa);sa.createDraft.bind(sa);sa.finishDraft.bind(sa);function pL(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 gL(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(zi(1));return n(x7)(e,t)}if(typeof e!="function")throw new Error(zi(2));var i=e,o=t,a=[],s=a,l=!1;function d(){s===a&&(s=a.slice())}function p(){if(l)throw new Error(zi(3));return o}function g(S){if(typeof S!="function")throw new Error(zi(4));if(l)throw new Error(zi(5));var E=!0;return d(),s.push(S),function(){if(!!E){if(l)throw new Error(zi(6));E=!1,d();var k=s.indexOf(S);s.splice(k,1),a=null}}}function m(S){if(!mge(S))throw new Error(zi(7));if(typeof S.type>"u")throw new Error(zi(8));if(l)throw new Error(zi(9));try{l=!0,o=i(o,S)}finally{l=!1}for(var E=a=s,P=0;P"u")throw new Error(zi(12));if(typeof n(void 0,{type:b5.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(zi(13))})}function RF(e){for(var t=Object.keys(e),n={},r=0;r"u")throw d&&d.type,new Error(zi(14));g[y]=E,p=p||E!==S}return p=p||o.length!==Object.keys(l).length,p?g:l}}function S5(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var d=n[l];return l>0&&(n.splice(l,1),n.unshift(d)),d.value}return w5}function i(s,l){r(s)===w5&&(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 Sge=function(t,n){return t===n};function wge(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;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Kge:qge;FF.useSyncExternalStore=y0.useSyncExternalStore!==void 0?y0.useSyncExternalStore:Zge;(function(e){e.exports=FF})(zF);var BF={exports:{}},$F={};/** + * @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 ex=C.exports,Yge=zF.exports;function Xge(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Qge=typeof Object.is=="function"?Object.is:Xge,Jge=Yge.useSyncExternalStore,eme=ex.useRef,tme=ex.useEffect,nme=ex.useMemo,rme=ex.useDebugValue;$F.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=eme(null);if(o.current===null){var a={hasValue:!1,value:null};o.current=a}else a=o.current;o=nme(function(){function l(y){if(!d){if(d=!0,p=y,y=r(y),i!==void 0&&a.hasValue){var b=a.value;if(i(b,y))return g=b}return g=y}if(b=g,Qge(p,y))return b;var S=r(y);return i!==void 0&&i(b,S)?b:(p=y,g=S)}var d=!1,p,g,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=Jge(e,o[0],o[1]);return tme(function(){a.hasValue=!0,a.value=s},[s]),rme(s),s};(function(e){e.exports=$F})(BF);function ime(e){e()}let HF=ime;const ome=e=>HF=e,ame=()=>HF,Zc=C.exports.createContext(null);function WF(){return C.exports.useContext(Zc)}const sme=()=>{throw new Error("uSES not initialized!")};let VF=sme;const lme=e=>{VF=e},ume=(e,t)=>e===t;function cme(e=Zc){const t=e===Zc?WF:()=>C.exports.useContext(e);return function(r,i=ume){const{store:o,subscription:a,getServerState:s}=t(),l=VF(a.addNestedSub,o.getState,s||o.getState,r,i);return C.exports.useDebugValue(l),l}}const dme=cme();var fme={exports:{}},Ln={};/** + * @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 S7=Symbol.for("react.element"),w7=Symbol.for("react.portal"),tx=Symbol.for("react.fragment"),nx=Symbol.for("react.strict_mode"),rx=Symbol.for("react.profiler"),ix=Symbol.for("react.provider"),ox=Symbol.for("react.context"),hme=Symbol.for("react.server_context"),ax=Symbol.for("react.forward_ref"),sx=Symbol.for("react.suspense"),lx=Symbol.for("react.suspense_list"),ux=Symbol.for("react.memo"),cx=Symbol.for("react.lazy"),pme=Symbol.for("react.offscreen"),UF;UF=Symbol.for("react.module.reference");function Ua(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case S7:switch(e=e.type,e){case tx:case rx:case nx:case sx:case lx:return e;default:switch(e=e&&e.$$typeof,e){case hme:case ox:case ax:case cx:case ux:case ix:return e;default:return t}}case w7:return t}}}Ln.ContextConsumer=ox;Ln.ContextProvider=ix;Ln.Element=S7;Ln.ForwardRef=ax;Ln.Fragment=tx;Ln.Lazy=cx;Ln.Memo=ux;Ln.Portal=w7;Ln.Profiler=rx;Ln.StrictMode=nx;Ln.Suspense=sx;Ln.SuspenseList=lx;Ln.isAsyncMode=function(){return!1};Ln.isConcurrentMode=function(){return!1};Ln.isContextConsumer=function(e){return Ua(e)===ox};Ln.isContextProvider=function(e){return Ua(e)===ix};Ln.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===S7};Ln.isForwardRef=function(e){return Ua(e)===ax};Ln.isFragment=function(e){return Ua(e)===tx};Ln.isLazy=function(e){return Ua(e)===cx};Ln.isMemo=function(e){return Ua(e)===ux};Ln.isPortal=function(e){return Ua(e)===w7};Ln.isProfiler=function(e){return Ua(e)===rx};Ln.isStrictMode=function(e){return Ua(e)===nx};Ln.isSuspense=function(e){return Ua(e)===sx};Ln.isSuspenseList=function(e){return Ua(e)===lx};Ln.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===tx||e===rx||e===nx||e===sx||e===lx||e===pme||typeof e=="object"&&e!==null&&(e.$$typeof===cx||e.$$typeof===ux||e.$$typeof===ix||e.$$typeof===ox||e.$$typeof===ax||e.$$typeof===UF||e.getModuleId!==void 0)};Ln.typeOf=Ua;(function(e){e.exports=Ln})(fme);function gme(){const e=ame();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 bL={notify(){},get:()=>[]};function mme(e,t){let n,r=bL;function i(g){return l(),r.subscribe(g)}function o(){r.notify()}function a(){p.onStateChange&&p.onStateChange()}function s(){return Boolean(n)}function l(){n||(n=t?t.addNestedSub(a):e.subscribe(a),r=gme())}function d(){n&&(n(),n=void 0,r.clear(),r=bL)}const p={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:a,isSubscribed:s,trySubscribe:l,tryUnsubscribe:d,getListeners:()=>r};return p}const vme=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",yme=vme?C.exports.useLayoutEffect:C.exports.useEffect;function xme({store:e,context:t,children:n,serverState:r}){const i=C.exports.useMemo(()=>{const s=mme(e);return{store:e,subscription:s,getServerState:r?()=>r:void 0}},[e,r]),o=C.exports.useMemo(()=>e.getState(),[e]);return yme(()=>{const{subscription:s}=i;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),o!==e.getState()&&s.notifyNestedSubs(),()=>{s.tryUnsubscribe(),s.onStateChange=void 0}},[i,o]),w((t||Zc).Provider,{value:i,children:n})}function GF(e=Zc){const t=e===Zc?WF:()=>C.exports.useContext(e);return function(){const{store:r}=t();return r}}const bme=GF();function Sme(e=Zc){const t=e===Zc?bme:GF(e);return function(){return t().dispatch}}const wme=Sme();lme(BF.exports.useSyncExternalStoreWithSelector);ome(El.exports.unstable_batchedUpdates);var C7="persist:",jF="persist/FLUSH",_7="persist/REHYDRATE",qF="persist/PAUSE",KF="persist/PERSIST",ZF="persist/PURGE",YF="persist/REGISTER",Cme=-1;function i3(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?i3=function(n){return typeof n}:i3=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},i3(e)}function SL(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 _me(e){for(var t=1;t=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}function Nme(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 Dme=5e3;function o3(e,t){var n=e.version!==void 0?e.version:Cme;e.debug;var r=e.stateReconciler===void 0?Eme:e.stateReconciler,i=e.getStoredState||Lme,o=e.timeout!==void 0?e.timeout:Dme,a=null,s=!1,l=!0,d=function(g){return g._persist.rehydrated&&a&&!l&&a.update(g),g};return function(p,g){var m=p||{},y=m._persist,b=Ome(m,["_persist"]),S=b;if(g.type===KF){var E=!1,P=function(F,U){E||(g.rehydrate(e.key,F,U),E=!0)};if(o&&setTimeout(function(){!E&&P(void 0,new Error('redux-persist: persist timed out for persist key "'.concat(e.key,'"')))},o),l=!1,a||(a=Pme(e)),y)return Ql({},t(S,g),{_persist:y});if(typeof g.rehydrate!="function"||typeof g.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 g.register(e.key),i(e).then(function(D){var F=e.migrate||function(U,W){return Promise.resolve(U)};F(D,n).then(function(U){P(U)},function(U){P(void 0,U)})},function(D){P(void 0,D)}),Ql({},t(S,g),{_persist:{version:n,rehydrated:!1}})}else{if(g.type===ZF)return s=!0,g.result(Ime(e)),Ql({},t(S,g),{_persist:y});if(g.type===jF)return g.result(a&&a.flush()),Ql({},t(S,g),{_persist:y});if(g.type===qF)l=!0;else if(g.type===_7){if(s)return Ql({},S,{_persist:Ql({},y,{rehydrated:!0})});if(g.key===e.key){var k=t(S,g),L=g.payload,I=r!==!1&&L!==void 0?r(L,p,k,e):k,O=Ql({},I,{_persist:Ql({},y,{rehydrated:!0})});return d(O)}}}if(!y)return t(p,g);var N=t(S,g);return N===S?p:d(Ql({},N,{_persist:y}))}}function CL(e){return Bme(e)||Fme(e)||zme()}function zme(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function Fme(e){if(Symbol.iterator in Object(e)||Object.prototype.toString.call(e)==="[object Arguments]")return Array.from(e)}function Bme(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0&&arguments[0]!==void 0?arguments[0]:XF,n=arguments.length>1?arguments[1]:void 0;switch(n.type){case YF:return Z6({},t,{registry:[].concat(CL(t.registry),[n.key])});case _7:var r=t.registry.indexOf(n.key),i=CL(t.registry);return i.splice(r,1),Z6({},t,{registry:i,bootstrapped:i.length===0});default:return t}};function Wme(e,t,n){var r=n||!1,i=x7(Hme,XF,t&&t.enhancer?t.enhancer:void 0),o=function(d){i.dispatch({type:YF,key:d})},a=function(d,p,g){var m={type:_7,payload:p,err:g,key:d};e.dispatch(m),i.dispatch(m),r&&s.getState().bootstrapped&&(r(),r=!1)},s=Z6({},i,{purge:function(){var d=[];return e.dispatch({type:ZF,result:function(g){d.push(g)}}),Promise.all(d)},flush:function(){var d=[];return e.dispatch({type:jF,result:function(g){d.push(g)}}),Promise.all(d)},pause:function(){e.dispatch({type:qF})},persist:function(){e.dispatch({type:KF,register:o,rehydrate:a})}});return t&&t.manualPersist||s.persist(),s}var k7={},E7={};E7.__esModule=!0;E7.default=Gme;function a3(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?a3=function(n){return typeof n}:a3=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},a3(e)}function vS(){}var Vme={getItem:vS,setItem:vS,removeItem:vS};function Ume(e){if((typeof self>"u"?"undefined":a3(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 Gme(e){var t="".concat(e,"Storage");return Ume(t)?self[t]:Vme}k7.__esModule=!0;k7.default=Kme;var jme=qme(E7);function qme(e){return e&&e.__esModule?e:{default:e}}function Kme(e){var t=(0,jme.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 Ev=void 0,Zme=Yme(k7);function Yme(e){return e&&e.__esModule?e:{default:e}}var Xme=(0,Zme.default)("local");Ev=Xme;const s3=e=>e.length===1?e[0].prompt:e.map(t=>`${t.prompt}:${t.weight}`).join(" "),Qme=e=>{const r=e.split(",").map(i=>i.split(":")).map(i=>({seed:Number(i[0]),weight:Number(i[1])}));return P7(r)?r:!1},P7=e=>Boolean(typeof e=="string"?Qme(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)})),_5=e=>e.reduce((t,n,r,i)=>{const{seed:o,weight:a}=n;return t+=`${o}:${a}`,r!==i.length-1&&(t+=","),t},""),Jme=e=>e.split(",").map(r=>r.split(":")).map(r=>[parseInt(r[0]),parseFloat(r[1])]);var la={exports:{}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */(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__",d=500,p="__lodash_placeholder__",g=1,m=2,y=4,b=1,S=2,E=1,P=2,k=4,L=8,I=16,O=32,N=64,D=128,F=256,U=512,W=30,q="...",pe=800,fe=16,ye=1,Pe=2,xe=3,Y=1/0,V=9007199254740991,ae=17976931348623157e292,oe=0/0,X=4294967295,me=X-1,ve=X>>>1,Se=[["ary",D],["bind",E],["bindKey",P],["curry",L],["curryRight",I],["flip",U],["partial",O],["partialRight",N],["rearg",F]],He="[object Arguments]",je="[object Array]",ut="[object AsyncFunction]",qe="[object Boolean]",at="[object Date]",et="[object DOMException]",it="[object Error]",At="[object Function]",wt="[object GeneratorFunction]",Le="[object Map]",ot="[object Number]",Et="[object Null]",rt="[object Object]",pt="[object Promise]",Sn="[object Proxy]",bt="[object RegExp]",qt="[object Set]",wn="[object String]",pn="[object Symbol]",Me="[object Undefined]",Ze="[object WeakMap]",Kt="[object WeakSet]",Vt="[object ArrayBuffer]",_e="[object DataView]",kt="[object Float32Array]",Ne="[object Float64Array]",tt="[object Int8Array]",nn="[object Int16Array]",Mn="[object Int32Array]",Fe="[object Uint8Array]",lt="[object Uint8ClampedArray]",Xe="[object Uint16Array]",Lt="[object Uint32Array]",Zt=/\b__p \+= '';/g,Zn=/\b(__p \+=) '' \+/g,ao=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ui=/&(?:amp|lt|gt|quot|#39);/g,Ps=/[&<>"']/g,W0=RegExp(ui.source),pa=RegExp(Ps.source),rh=/<%-([\s\S]+?)%>/g,V0=/<%([\s\S]+?)%>/g,Pu=/<%=([\s\S]+?)%>/g,ih=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,oh=/^\w*$/,Io=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,dd=/[\\^$.*+?()[\]{}|]/g,U0=RegExp(dd.source),Tu=/^\s+/,fd=/\s/,G0=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ts=/\{\n\/\* \[wrapped with (.+)\] \*/,Lu=/,? & /,j0=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,q0=/[()=,{}\[\]\/\s]/,K0=/\\(\\)?/g,Z0=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ja=/\w*$/,Y0=/^[-+]0x[0-9a-f]+$/i,X0=/^0b[01]+$/i,Q0=/^\[object .+?Constructor\]$/,J0=/^0o[0-7]+$/i,e1=/^(?:0|[1-9]\d*)$/,t1=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ls=/($^)/,n1=/['\n\r\u2028\u2029\\]/g,qa="\\ud800-\\udfff",Al="\\u0300-\\u036f",Il="\\ufe20-\\ufe2f",As="\\u20d0-\\u20ff",Ml=Al+Il+As,ah="\\u2700-\\u27bf",Au="a-z\\xdf-\\xf6\\xf8-\\xff",Is="\\xac\\xb1\\xd7\\xf7",Mo="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Cn="\\u2000-\\u206f",gn=" \\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",Ro="A-Z\\xc0-\\xd6\\xd8-\\xde",Cr="\\ufe0e\\ufe0f",Vr=Is+Mo+Cn+gn,Oo="['\u2019]",Ms="["+qa+"]",Ur="["+Vr+"]",Ka="["+Ml+"]",hd="\\d+",Rl="["+ah+"]",Za="["+Au+"]",pd="[^"+qa+Vr+hd+ah+Au+Ro+"]",ci="\\ud83c[\\udffb-\\udfff]",sh="(?:"+Ka+"|"+ci+")",lh="[^"+qa+"]",gd="(?:\\ud83c[\\udde6-\\uddff]){2}",Rs="[\\ud800-\\udbff][\\udc00-\\udfff]",so="["+Ro+"]",Os="\\u200d",Ol="(?:"+Za+"|"+pd+")",r1="(?:"+so+"|"+pd+")",Iu="(?:"+Oo+"(?:d|ll|m|re|s|t|ve))?",Mu="(?:"+Oo+"(?:D|LL|M|RE|S|T|VE))?",md=sh+"?",Ru="["+Cr+"]?",ga="(?:"+Os+"(?:"+[lh,gd,Rs].join("|")+")"+Ru+md+")*",vd="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Nl="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",zt=Ru+md+ga,uh="(?:"+[Rl,gd,Rs].join("|")+")"+zt,Ou="(?:"+[lh+Ka+"?",Ka,gd,Rs,Ms].join("|")+")",Nu=RegExp(Oo,"g"),ch=RegExp(Ka,"g"),No=RegExp(ci+"(?="+ci+")|"+Ou+zt,"g"),$n=RegExp([so+"?"+Za+"+"+Iu+"(?="+[Ur,so,"$"].join("|")+")",r1+"+"+Mu+"(?="+[Ur,so+Ol,"$"].join("|")+")",so+"?"+Ol+"+"+Iu,so+"+"+Mu,Nl,vd,hd,uh].join("|"),"g"),yd=RegExp("["+Os+qa+Ml+Cr+"]"),dh=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,xd=["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"],fh=-1,rn={};rn[kt]=rn[Ne]=rn[tt]=rn[nn]=rn[Mn]=rn[Fe]=rn[lt]=rn[Xe]=rn[Lt]=!0,rn[He]=rn[je]=rn[Vt]=rn[qe]=rn[_e]=rn[at]=rn[it]=rn[At]=rn[Le]=rn[ot]=rn[rt]=rn[bt]=rn[qt]=rn[wn]=rn[Ze]=!1;var Ft={};Ft[He]=Ft[je]=Ft[Vt]=Ft[_e]=Ft[qe]=Ft[at]=Ft[kt]=Ft[Ne]=Ft[tt]=Ft[nn]=Ft[Mn]=Ft[Le]=Ft[ot]=Ft[rt]=Ft[bt]=Ft[qt]=Ft[wn]=Ft[pn]=Ft[Fe]=Ft[lt]=Ft[Xe]=Ft[Lt]=!0,Ft[it]=Ft[At]=Ft[Ze]=!1;var hh={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},i1={"&":"&","<":"<",">":">",'"':""","'":"'"},H={"&":"&","<":"<",">":">",""":'"',"'":"'"},Z={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ue=parseFloat,Ge=parseInt,Mt=typeof nu=="object"&&nu&&nu.Object===Object&&nu,ln=typeof self=="object"&&self&&self.Object===Object&&self,dt=Mt||ln||Function("return this")(),St=t&&!t.nodeType&&t,Bt=St&&!0&&e&&!e.nodeType&&e,Or=Bt&&Bt.exports===St,pr=Or&&Mt.process,un=function(){try{var Q=Bt&&Bt.require&&Bt.require("util").types;return Q||pr&&pr.binding&&pr.binding("util")}catch{}}(),Gr=un&&un.isArrayBuffer,lo=un&&un.isDate,Wi=un&&un.isMap,ma=un&&un.isRegExp,Ns=un&&un.isSet,o1=un&&un.isTypedArray;function di(Q,ge,de){switch(de.length){case 0:return Q.call(ge);case 1:return Q.call(ge,de[0]);case 2:return Q.call(ge,de[0],de[1]);case 3:return Q.call(ge,de[0],de[1],de[2])}return Q.apply(ge,de)}function a1(Q,ge,de,Ve){for(var yt=-1,Yt=Q==null?0:Q.length;++yt-1}function ph(Q,ge,de){for(var Ve=-1,yt=Q==null?0:Q.length;++Ve-1;);return de}function Ya(Q,ge){for(var de=Q.length;de--&&Fu(ge,Q[de],0)>-1;);return de}function l1(Q,ge){for(var de=Q.length,Ve=0;de--;)Q[de]===ge&&++Ve;return Ve}var zv=Cd(hh),Xa=Cd(i1);function zs(Q){return"\\"+Z[Q]}function mh(Q,ge){return Q==null?n:Q[ge]}function zl(Q){return yd.test(Q)}function vh(Q){return dh.test(Q)}function Fv(Q){for(var ge,de=[];!(ge=Q.next()).done;)de.push(ge.value);return de}function yh(Q){var ge=-1,de=Array(Q.size);return Q.forEach(function(Ve,yt){de[++ge]=[yt,Ve]}),de}function xh(Q,ge){return function(de){return Q(ge(de))}}function Fo(Q,ge){for(var de=-1,Ve=Q.length,yt=0,Yt=[];++de-1}function r2(u,h){var x=this.__data__,A=kr(x,u);return A<0?(++this.size,x.push([u,h])):x[A][1]=h,this}Bo.prototype.clear=t2,Bo.prototype.delete=n2,Bo.prototype.get=C1,Bo.prototype.has=_1,Bo.prototype.set=r2;function $o(u){var h=-1,x=u==null?0:u.length;for(this.clear();++h=h?u:h)),u}function ti(u,h,x,A,R,B){var G,K=h&g,ie=h&m,we=h&y;if(x&&(G=R?x(u,A,R,B):x(u)),G!==n)return G;if(!ar(u))return u;var Ce=Tt(u);if(Ce){if(G=YH(u),!K)return vi(u,G)}else{var Te=ii(u),We=Te==At||Te==wt;if(fc(u))return Ks(u,K);if(Te==rt||Te==He||We&&!R){if(G=ie||We?{}:m_(u),!K)return ie?W1(u,nc(G,u)):mo(u,Ke(G,u))}else{if(!Ft[Te])return R?u:{};G=XH(u,Te,K)}}B||(B=new mr);var st=B.get(u);if(st)return st;B.set(u,G),G_(u)?u.forEach(function(ht){G.add(ti(ht,h,x,ht,u,B))}):V_(u)&&u.forEach(function(ht,Ht){G.set(Ht,ti(ht,h,x,Ht,u,B))});var ft=we?ie?ce:Go:ie?yo:oi,Nt=Ce?n:ft(u);return Hn(Nt||u,function(ht,Ht){Nt&&(Ht=ht,ht=u[Ht]),$s(G,Ht,ti(ht,h,x,Ht,u,B))}),G}function Ph(u){var h=oi(u);return function(x){return Th(x,u,h)}}function Th(u,h,x){var A=x.length;if(u==null)return!A;for(u=on(u);A--;){var R=x[A],B=h[R],G=u[R];if(G===n&&!(R in u)||!B(G))return!1}return!0}function T1(u,h,x){if(typeof u!="function")throw new fi(a);return q1(function(){u.apply(n,x)},h)}function rc(u,h,x,A){var R=-1,B=Ii,G=!0,K=u.length,ie=[],we=h.length;if(!K)return ie;x&&(h=On(h,_r(x))),A?(B=ph,G=!1):h.length>=i&&(B=$u,G=!1,h=new ba(h));e:for(;++RR?0:R+x),A=A===n||A>R?R:It(A),A<0&&(A+=R),A=x>A?0:q_(A);x0&&x(K)?h>1?Er(K,h-1,x,A,R):va(R,K):A||(R[R.length]=K)}return R}var Ah=Zs(),ho=Zs(!0);function Uo(u,h){return u&&Ah(u,h,oi)}function po(u,h){return u&&ho(u,h,oi)}function Ih(u,h){return co(h,function(x){return jl(u[x])})}function Hs(u,h){h=qs(h,u);for(var x=0,A=h.length;u!=null&&xh}function Rh(u,h){return u!=null&&Qt.call(u,h)}function Oh(u,h){return u!=null&&h in on(u)}function Nh(u,h,x){return u>=qr(h,x)&&u=120&&Ce.length>=120)?new ba(G&&Ce):n}Ce=u[0];var Te=-1,We=K[0];e:for(;++Te-1;)K!==u&&Id.call(K,ie,1),Id.call(u,ie,1);return u}function $d(u,h){for(var x=u?h.length:0,A=x-1;x--;){var R=h[x];if(x==A||R!==B){var B=R;Gl(R)?Id.call(u,R,1):Gh(u,R)}}return u}function Hd(u,h){return u+Bl(v1()*(h-u+1))}function Gs(u,h,x,A){for(var R=-1,B=gr(Od((h-u)/(x||1)),0),G=de(B);B--;)G[A?B:++R]=u,u+=x;return G}function uc(u,h){var x="";if(!u||h<1||h>V)return x;do h%2&&(x+=u),h=Bl(h/2),h&&(u+=u);while(h);return x}function vt(u,h){return $x(x_(u,h,xo),u+"")}function $h(u){return tc(Qh(u))}function Wd(u,h){var x=Qh(u);return d2(x,Hl(h,0,x.length))}function Vl(u,h,x,A){if(!ar(u))return u;h=qs(h,u);for(var R=-1,B=h.length,G=B-1,K=u;K!=null&&++RR?0:R+h),x=x>R?R:x,x<0&&(x+=R),R=h>x?0:x-h>>>0,h>>>=0;for(var B=de(R);++A>>1,G=u[B];G!==null&&!jo(G)&&(x?G<=h:G=i){var we=h?null:$(u);if(we)return Pd(we);G=!1,R=$u,ie=new ba}else ie=h?[]:K;e:for(;++A=A?u:Tr(u,h,x)}var F1=Vv||function(u){return dt.clearTimeout(u)};function Ks(u,h){if(h)return u.slice();var x=u.length,A=Gu?Gu(x):new u.constructor(x);return u.copy(A),A}function B1(u){var h=new u.constructor(u.byteLength);return new hi(h).set(new hi(u)),h}function Ul(u,h){var x=h?B1(u.buffer):u.buffer;return new u.constructor(x,u.byteOffset,u.byteLength)}function s2(u){var h=new u.constructor(u.source,ja.exec(u));return h.lastIndex=u.lastIndex,h}function Wn(u){return Dd?on(Dd.call(u)):{}}function l2(u,h){var x=h?B1(u.buffer):u.buffer;return new u.constructor(x,u.byteOffset,u.length)}function $1(u,h){if(u!==h){var x=u!==n,A=u===null,R=u===u,B=jo(u),G=h!==n,K=h===null,ie=h===h,we=jo(h);if(!K&&!we&&!B&&u>h||B&&G&&ie&&!K&&!we||A&&G&&ie||!x&&ie||!R)return 1;if(!A&&!B&&!we&&u=K)return ie;var we=x[A];return ie*(we=="desc"?-1:1)}}return u.index-h.index}function u2(u,h,x,A){for(var R=-1,B=u.length,G=x.length,K=-1,ie=h.length,we=gr(B-G,0),Ce=de(ie+we),Te=!A;++K1?x[R-1]:n,G=R>2?x[2]:n;for(B=u.length>3&&typeof B=="function"?(R--,B):n,G&&Ki(x[0],x[1],G)&&(B=R<3?n:B,R=1),h=on(h);++A-1?R[B?h[G]:G]:n}}function U1(u){return Xn(function(h){var x=h.length,A=x,R=Ui.prototype.thru;for(u&&h.reverse();A--;){var B=h[A];if(typeof B!="function")throw new fi(a);if(R&&!G&&he(B)=="wrapper")var G=new Ui([],!0)}for(A=G?A:x;++A1&&Xt.reverse(),Ce&&ieK))return!1;var we=B.get(u),Ce=B.get(h);if(we&&Ce)return we==h&&Ce==u;var Te=-1,We=!0,st=x&S?new ba:n;for(B.set(u,h),B.set(h,u);++Te1?"& ":"")+h[A],h=h.join(x>2?", ":" "),u.replace(G0,`{ +/* [wrapped with `+h+`] */ +`)}function JH(u){return Tt(u)||Yd(u)||!!(g1&&u&&u[g1])}function Gl(u,h){var x=typeof u;return h=h??V,!!h&&(x=="number"||x!="symbol"&&e1.test(u))&&u>-1&&u%1==0&&u0){if(++h>=pe)return arguments[0]}else h=0;return u.apply(n,arguments)}}function d2(u,h){var x=-1,A=u.length,R=A-1;for(h=h===n?A:h;++x1?u[h-1]:n;return x=typeof x=="function"?(u.pop(),x):n,I_(u,x)});function M_(u){var h=z(u);return h.__chain__=!0,h}function cV(u,h){return h(u),u}function f2(u,h){return h(u)}var dV=Xn(function(u){var h=u.length,x=h?u[0]:0,A=this.__wrapped__,R=function(B){return Eh(B,u)};return h>1||this.__actions__.length||!(A instanceof $t)||!Gl(x)?this.thru(R):(A=A.slice(x,+x+(h?1:0)),A.__actions__.push({func:f2,args:[R],thisArg:n}),new Ui(A,this.__chain__).thru(function(B){return h&&!B.length&&B.push(n),B}))});function fV(){return M_(this)}function hV(){return new Ui(this.value(),this.__chain__)}function pV(){this.__values__===n&&(this.__values__=j_(this.value()));var u=this.__index__>=this.__values__.length,h=u?n:this.__values__[this.__index__++];return{done:u,value:h}}function gV(){return this}function mV(u){for(var h,x=this;x instanceof zd;){var A=k_(x);A.__index__=0,A.__values__=n,h?R.__wrapped__=A:h=A;var R=A;x=x.__wrapped__}return R.__wrapped__=u,h}function vV(){var u=this.__wrapped__;if(u instanceof $t){var h=u;return this.__actions__.length&&(h=new $t(this)),h=h.reverse(),h.__actions__.push({func:f2,args:[Hx],thisArg:n}),new Ui(h,this.__chain__)}return this.thru(Hx)}function yV(){return js(this.__wrapped__,this.__actions__)}var xV=qh(function(u,h,x){Qt.call(u,x)?++u[x]:Ho(u,x,1)});function bV(u,h,x){var A=Tt(u)?Rn:L1;return x&&Ki(u,h,x)&&(h=n),A(u,ke(h,3))}function SV(u,h){var x=Tt(u)?co:Vo;return x(u,ke(h,3))}var wV=V1(E_),CV=V1(P_);function _V(u,h){return Er(h2(u,h),1)}function kV(u,h){return Er(h2(u,h),Y)}function EV(u,h,x){return x=x===n?1:It(x),Er(h2(u,h),x)}function R_(u,h){var x=Tt(u)?Hn:es;return x(u,ke(h,3))}function O_(u,h){var x=Tt(u)?uo:Lh;return x(u,ke(h,3))}var PV=qh(function(u,h,x){Qt.call(u,x)?u[x].push(h):Ho(u,x,[h])});function TV(u,h,x,A){u=vo(u)?u:Qh(u),x=x&&!A?It(x):0;var R=u.length;return x<0&&(x=gr(R+x,0)),y2(u)?x<=R&&u.indexOf(h,x)>-1:!!R&&Fu(u,h,x)>-1}var LV=vt(function(u,h,x){var A=-1,R=typeof h=="function",B=vo(u)?de(u.length):[];return es(u,function(G){B[++A]=R?di(h,G,x):ts(G,h,x)}),B}),AV=qh(function(u,h,x){Ho(u,x,h)});function h2(u,h){var x=Tt(u)?On:yr;return x(u,ke(h,3))}function IV(u,h,x,A){return u==null?[]:(Tt(h)||(h=h==null?[]:[h]),x=A?n:x,Tt(x)||(x=x==null?[]:[x]),gi(u,h,x))}var MV=qh(function(u,h,x){u[x?0:1].push(h)},function(){return[[],[]]});function RV(u,h,x){var A=Tt(u)?bd:gh,R=arguments.length<3;return A(u,ke(h,4),x,R,es)}function OV(u,h,x){var A=Tt(u)?Rv:gh,R=arguments.length<3;return A(u,ke(h,4),x,R,Lh)}function NV(u,h){var x=Tt(u)?co:Vo;return x(u,m2(ke(h,3)))}function DV(u){var h=Tt(u)?tc:$h;return h(u)}function zV(u,h,x){(x?Ki(u,h,x):h===n)?h=1:h=It(h);var A=Tt(u)?ei:Wd;return A(u,h)}function FV(u){var h=Tt(u)?Mx:ri;return h(u)}function BV(u){if(u==null)return 0;if(vo(u))return y2(u)?ya(u):u.length;var h=ii(u);return h==Le||h==qt?u.size:Pr(u).length}function $V(u,h,x){var A=Tt(u)?Du:go;return x&&Ki(u,h,x)&&(h=n),A(u,ke(h,3))}var HV=vt(function(u,h){if(u==null)return[];var x=h.length;return x>1&&Ki(u,h[0],h[1])?h=[]:x>2&&Ki(h[0],h[1],h[2])&&(h=[h[0]]),gi(u,Er(h,1),[])}),p2=Uv||function(){return dt.Date.now()};function WV(u,h){if(typeof h!="function")throw new fi(a);return u=It(u),function(){if(--u<1)return h.apply(this,arguments)}}function N_(u,h,x){return h=x?n:h,h=u&&h==null?u.length:h,le(u,D,n,n,n,n,h)}function D_(u,h){var x;if(typeof h!="function")throw new fi(a);return u=It(u),function(){return--u>0&&(x=h.apply(this,arguments)),u<=1&&(h=n),x}}var Vx=vt(function(u,h,x){var A=E;if(x.length){var R=Fo(x,Be(Vx));A|=O}return le(u,A,h,x,R)}),z_=vt(function(u,h,x){var A=E|P;if(x.length){var R=Fo(x,Be(z_));A|=O}return le(h,A,u,x,R)});function F_(u,h,x){h=x?n:h;var A=le(u,L,n,n,n,n,n,h);return A.placeholder=F_.placeholder,A}function B_(u,h,x){h=x?n:h;var A=le(u,I,n,n,n,n,n,h);return A.placeholder=B_.placeholder,A}function $_(u,h,x){var A,R,B,G,K,ie,we=0,Ce=!1,Te=!1,We=!0;if(typeof u!="function")throw new fi(a);h=Ca(h)||0,ar(x)&&(Ce=!!x.leading,Te="maxWait"in x,B=Te?gr(Ca(x.maxWait)||0,h):B,We="trailing"in x?!!x.trailing:We);function st(Ar){var as=A,Kl=R;return A=R=n,we=Ar,G=u.apply(Kl,as),G}function ft(Ar){return we=Ar,K=q1(Ht,h),Ce?st(Ar):G}function Nt(Ar){var as=Ar-ie,Kl=Ar-we,ok=h-as;return Te?qr(ok,B-Kl):ok}function ht(Ar){var as=Ar-ie,Kl=Ar-we;return ie===n||as>=h||as<0||Te&&Kl>=B}function Ht(){var Ar=p2();if(ht(Ar))return Xt(Ar);K=q1(Ht,Nt(Ar))}function Xt(Ar){return K=n,We&&A?st(Ar):(A=R=n,G)}function qo(){K!==n&&F1(K),we=0,A=ie=R=K=n}function Zi(){return K===n?G:Xt(p2())}function Ko(){var Ar=p2(),as=ht(Ar);if(A=arguments,R=this,ie=Ar,as){if(K===n)return ft(ie);if(Te)return F1(K),K=q1(Ht,h),st(ie)}return K===n&&(K=q1(Ht,h)),G}return Ko.cancel=qo,Ko.flush=Zi,Ko}var VV=vt(function(u,h){return T1(u,1,h)}),UV=vt(function(u,h,x){return T1(u,Ca(h)||0,x)});function GV(u){return le(u,U)}function g2(u,h){if(typeof u!="function"||h!=null&&typeof h!="function")throw new fi(a);var x=function(){var A=arguments,R=h?h.apply(this,A):A[0],B=x.cache;if(B.has(R))return B.get(R);var G=u.apply(this,A);return x.cache=B.set(R,G)||B,G};return x.cache=new(g2.Cache||$o),x}g2.Cache=$o;function m2(u){if(typeof u!="function")throw new fi(a);return function(){var h=arguments;switch(h.length){case 0:return!u.call(this);case 1:return!u.call(this,h[0]);case 2:return!u.call(this,h[0],h[1]);case 3:return!u.call(this,h[0],h[1],h[2])}return!u.apply(this,h)}}function jV(u){return D_(2,u)}var qV=Nx(function(u,h){h=h.length==1&&Tt(h[0])?On(h[0],_r(ke())):On(Er(h,1),_r(ke()));var x=h.length;return vt(function(A){for(var R=-1,B=qr(A.length,x);++R=h}),Yd=zh(function(){return arguments}())?zh:function(u){return xr(u)&&Qt.call(u,"callee")&&!p1.call(u,"callee")},Tt=de.isArray,lU=Gr?_r(Gr):I1;function vo(u){return u!=null&&v2(u.length)&&!jl(u)}function Lr(u){return xr(u)&&vo(u)}function uU(u){return u===!0||u===!1||xr(u)&&ni(u)==qe}var fc=Gv||tb,cU=lo?_r(lo):M1;function dU(u){return xr(u)&&u.nodeType===1&&!K1(u)}function fU(u){if(u==null)return!0;if(vo(u)&&(Tt(u)||typeof u=="string"||typeof u.splice=="function"||fc(u)||Xh(u)||Yd(u)))return!u.length;var h=ii(u);if(h==Le||h==qt)return!u.size;if(j1(u))return!Pr(u).length;for(var x in u)if(Qt.call(u,x))return!1;return!0}function hU(u,h){return oc(u,h)}function pU(u,h,x){x=typeof x=="function"?x:n;var A=x?x(u,h):n;return A===n?oc(u,h,n,x):!!A}function Gx(u){if(!xr(u))return!1;var h=ni(u);return h==it||h==et||typeof u.message=="string"&&typeof u.name=="string"&&!K1(u)}function gU(u){return typeof u=="number"&&wh(u)}function jl(u){if(!ar(u))return!1;var h=ni(u);return h==At||h==wt||h==ut||h==Sn}function W_(u){return typeof u=="number"&&u==It(u)}function v2(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=V}function ar(u){var h=typeof u;return u!=null&&(h=="object"||h=="function")}function xr(u){return u!=null&&typeof u=="object"}var V_=Wi?_r(Wi):Ox;function mU(u,h){return u===h||ac(u,h,xt(h))}function vU(u,h,x){return x=typeof x=="function"?x:n,ac(u,h,xt(h),x)}function yU(u){return U_(u)&&u!=+u}function xU(u){if(nW(u))throw new yt(o);return Fh(u)}function bU(u){return u===null}function SU(u){return u==null}function U_(u){return typeof u=="number"||xr(u)&&ni(u)==ot}function K1(u){if(!xr(u)||ni(u)!=rt)return!1;var h=ju(u);if(h===null)return!0;var x=Qt.call(h,"constructor")&&h.constructor;return typeof x=="function"&&x instanceof x&&rr.call(x)==Jr}var jx=ma?_r(ma):ir;function wU(u){return W_(u)&&u>=-V&&u<=V}var G_=Ns?_r(Ns):Rt;function y2(u){return typeof u=="string"||!Tt(u)&&xr(u)&&ni(u)==wn}function jo(u){return typeof u=="symbol"||xr(u)&&ni(u)==pn}var Xh=o1?_r(o1):Nr;function CU(u){return u===n}function _U(u){return xr(u)&&ii(u)==Ze}function kU(u){return xr(u)&&ni(u)==Kt}var EU=_(Ws),PU=_(function(u,h){return u<=h});function j_(u){if(!u)return[];if(vo(u))return y2(u)?Mi(u):vi(u);if(qu&&u[qu])return Fv(u[qu]());var h=ii(u),x=h==Le?yh:h==qt?Pd:Qh;return x(u)}function ql(u){if(!u)return u===0?u:0;if(u=Ca(u),u===Y||u===-Y){var h=u<0?-1:1;return h*ae}return u===u?u:0}function It(u){var h=ql(u),x=h%1;return h===h?x?h-x:h:0}function q_(u){return u?Hl(It(u),0,X):0}function Ca(u){if(typeof u=="number")return u;if(jo(u))return oe;if(ar(u)){var h=typeof u.valueOf=="function"?u.valueOf():u;u=ar(h)?h+"":h}if(typeof u!="string")return u===0?u:+u;u=Vi(u);var x=X0.test(u);return x||J0.test(u)?Ge(u.slice(2),x?2:8):Y0.test(u)?oe:+u}function K_(u){return Sa(u,yo(u))}function TU(u){return u?Hl(It(u),-V,V):u===0?u:0}function vn(u){return u==null?"":ji(u)}var LU=qi(function(u,h){if(j1(h)||vo(h)){Sa(h,oi(h),u);return}for(var x in h)Qt.call(h,x)&&$s(u,x,h[x])}),Z_=qi(function(u,h){Sa(h,yo(h),u)}),x2=qi(function(u,h,x,A){Sa(h,yo(h),u,A)}),AU=qi(function(u,h,x,A){Sa(h,oi(h),u,A)}),IU=Xn(Eh);function MU(u,h){var x=$l(u);return h==null?x:Ke(x,h)}var RU=vt(function(u,h){u=on(u);var x=-1,A=h.length,R=A>2?h[2]:n;for(R&&Ki(h[0],h[1],R)&&(A=1);++x1),B}),Sa(u,ce(u),x),A&&(x=ti(x,g|m|y,Ct));for(var R=h.length;R--;)Gh(x,h[R]);return x});function XU(u,h){return X_(u,m2(ke(h)))}var QU=Xn(function(u,h){return u==null?{}:N1(u,h)});function X_(u,h){if(u==null)return{};var x=On(ce(u),function(A){return[A]});return h=ke(h),Bh(u,x,function(A,R){return h(A,R[0])})}function JU(u,h,x){h=qs(h,u);var A=-1,R=h.length;for(R||(R=1,u=n);++Ah){var A=u;u=h,h=A}if(x||u%1||h%1){var R=v1();return qr(u+R*(h-u+ue("1e-"+((R+"").length-1))),h)}return Hd(u,h)}var cG=Ys(function(u,h,x){return h=h.toLowerCase(),u+(x?ek(h):h)});function ek(u){return Zx(vn(u).toLowerCase())}function tk(u){return u=vn(u),u&&u.replace(t1,zv).replace(ch,"")}function dG(u,h,x){u=vn(u),h=ji(h);var A=u.length;x=x===n?A:Hl(It(x),0,A);var R=x;return x-=h.length,x>=0&&u.slice(x,R)==h}function fG(u){return u=vn(u),u&&pa.test(u)?u.replace(Ps,Xa):u}function hG(u){return u=vn(u),u&&U0.test(u)?u.replace(dd,"\\$&"):u}var pG=Ys(function(u,h,x){return u+(x?"-":"")+h.toLowerCase()}),gG=Ys(function(u,h,x){return u+(x?" ":"")+h.toLowerCase()}),mG=Zh("toLowerCase");function vG(u,h,x){u=vn(u),h=It(h);var A=h?ya(u):0;if(!h||A>=h)return u;var R=(h-A)/2;return c(Bl(R),x)+u+c(Od(R),x)}function yG(u,h,x){u=vn(u),h=It(h);var A=h?ya(u):0;return h&&A>>0,x?(u=vn(u),u&&(typeof h=="string"||h!=null&&!jx(h))&&(h=ji(h),!h&&zl(u))?rs(Mi(u),0,x):u.split(h,x)):[]}var kG=Ys(function(u,h,x){return u+(x?" ":"")+Zx(h)});function EG(u,h,x){return u=vn(u),x=x==null?0:Hl(It(x),0,u.length),h=ji(h),u.slice(x,x+h.length)==h}function PG(u,h,x){var A=z.templateSettings;x&&Ki(u,h,x)&&(h=n),u=vn(u),h=x2({},h,A,Oe);var R=x2({},h.imports,A.imports,Oe),B=oi(R),G=Ed(R,B),K,ie,we=0,Ce=h.interpolate||Ls,Te="__p += '",We=Ld((h.escape||Ls).source+"|"+Ce.source+"|"+(Ce===Pu?Z0:Ls).source+"|"+(h.evaluate||Ls).source+"|$","g"),st="//# sourceURL="+(Qt.call(h,"sourceURL")?(h.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++fh+"]")+` +`;u.replace(We,function(ht,Ht,Xt,qo,Zi,Ko){return Xt||(Xt=qo),Te+=u.slice(we,Ko).replace(n1,zs),Ht&&(K=!0,Te+=`' + +__e(`+Ht+`) + +'`),Zi&&(ie=!0,Te+=`'; +`+Zi+`; +__p += '`),Xt&&(Te+=`' + +((__t = (`+Xt+`)) == null ? '' : __t) + +'`),we=Ko+ht.length,ht}),Te+=`'; +`;var ft=Qt.call(h,"variable")&&h.variable;if(!ft)Te=`with (obj) { +`+Te+` +} +`;else if(q0.test(ft))throw new yt(s);Te=(ie?Te.replace(Zt,""):Te).replace(Zn,"$1").replace(ao,"$1;"),Te="function("+(ft||"obj")+`) { +`+(ft?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(K?", __e = _.escape":"")+(ie?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+Te+`return __p +}`;var Nt=rk(function(){return Yt(B,st+"return "+Te).apply(n,G)});if(Nt.source=Te,Gx(Nt))throw Nt;return Nt}function TG(u){return vn(u).toLowerCase()}function LG(u){return vn(u).toUpperCase()}function AG(u,h,x){if(u=vn(u),u&&(x||h===n))return Vi(u);if(!u||!(h=ji(h)))return u;var A=Mi(u),R=Mi(h),B=zo(A,R),G=Ya(A,R)+1;return rs(A,B,G).join("")}function IG(u,h,x){if(u=vn(u),u&&(x||h===n))return u.slice(0,c1(u)+1);if(!u||!(h=ji(h)))return u;var A=Mi(u),R=Ya(A,Mi(h))+1;return rs(A,0,R).join("")}function MG(u,h,x){if(u=vn(u),u&&(x||h===n))return u.replace(Tu,"");if(!u||!(h=ji(h)))return u;var A=Mi(u),R=zo(A,Mi(h));return rs(A,R).join("")}function RG(u,h){var x=W,A=q;if(ar(h)){var R="separator"in h?h.separator:R;x="length"in h?It(h.length):x,A="omission"in h?ji(h.omission):A}u=vn(u);var B=u.length;if(zl(u)){var G=Mi(u);B=G.length}if(x>=B)return u;var K=x-ya(A);if(K<1)return A;var ie=G?rs(G,0,K).join(""):u.slice(0,K);if(R===n)return ie+A;if(G&&(K+=ie.length-K),jx(R)){if(u.slice(K).search(R)){var we,Ce=ie;for(R.global||(R=Ld(R.source,vn(ja.exec(R))+"g")),R.lastIndex=0;we=R.exec(Ce);)var Te=we.index;ie=ie.slice(0,Te===n?K:Te)}}else if(u.indexOf(ji(R),K)!=K){var We=ie.lastIndexOf(R);We>-1&&(ie=ie.slice(0,We))}return ie+A}function OG(u){return u=vn(u),u&&W0.test(u)?u.replace(ui,Hv):u}var NG=Ys(function(u,h,x){return u+(x?" ":"")+h.toUpperCase()}),Zx=Zh("toUpperCase");function nk(u,h,x){return u=vn(u),h=x?n:h,h===n?vh(u)?Td(u):s1(u):u.match(h)||[]}var rk=vt(function(u,h){try{return di(u,n,h)}catch(x){return Gx(x)?x:new yt(x)}}),DG=Xn(function(u,h){return Hn(h,function(x){x=Xs(x),Ho(u,x,Vx(u[x],u))}),u});function zG(u){var h=u==null?0:u.length,x=ke();return u=h?On(u,function(A){if(typeof A[1]!="function")throw new fi(a);return[x(A[0]),A[1]]}):[],vt(function(A){for(var R=-1;++RV)return[];var x=X,A=qr(u,X);h=ke(h),u-=X;for(var R=kd(A,h);++x0||h<0)?new $t(x):(u<0?x=x.takeRight(-u):u&&(x=x.drop(u)),h!==n&&(h=It(h),x=h<0?x.dropRight(-h):x.take(h-u)),x)},$t.prototype.takeRightWhile=function(u){return this.reverse().takeWhile(u).reverse()},$t.prototype.toArray=function(){return this.take(X)},Uo($t.prototype,function(u,h){var x=/^(?:filter|find|map|reject)|While$/.test(h),A=/^(?:head|last)$/.test(h),R=z[A?"take"+(h=="last"?"Right":""):h],B=A||/^find/.test(h);!R||(z.prototype[h]=function(){var G=this.__wrapped__,K=A?[1]:arguments,ie=G instanceof $t,we=K[0],Ce=ie||Tt(G),Te=function(Ht){var Xt=R.apply(z,va([Ht],K));return A&&We?Xt[0]:Xt};Ce&&x&&typeof we=="function"&&we.length!=1&&(ie=Ce=!1);var We=this.__chain__,st=!!this.__actions__.length,ft=B&&!We,Nt=ie&&!st;if(!B&&Ce){G=Nt?G:new $t(this);var ht=u.apply(G,K);return ht.__actions__.push({func:f2,args:[Te],thisArg:n}),new Ui(ht,We)}return ft&&Nt?u.apply(this,K):(ht=this.thru(Te),ft?A?ht.value()[0]:ht.value():ht)})}),Hn(["pop","push","shift","sort","splice","unshift"],function(u){var h=Wu[u],x=/^(?:push|sort|unshift)$/.test(u)?"tap":"thru",A=/^(?:pop|shift)$/.test(u);z.prototype[u]=function(){var R=arguments;if(A&&!this.__chain__){var B=this.value();return h.apply(Tt(B)?B:[],R)}return this[x](function(G){return h.apply(Tt(G)?G:[],R)})}}),Uo($t.prototype,function(u,h){var x=z[h];if(x){var A=x.name+"";Qt.call(Qa,A)||(Qa[A]=[]),Qa[A].push({name:h,func:x})}}),Qa[qd(n,P).name]=[{name:"wrapper",func:n}],$t.prototype.clone=Ri,$t.prototype.reverse=pi,$t.prototype.value=Yv,z.prototype.at=dV,z.prototype.chain=fV,z.prototype.commit=hV,z.prototype.next=pV,z.prototype.plant=mV,z.prototype.reverse=vV,z.prototype.toJSON=z.prototype.valueOf=z.prototype.value=yV,z.prototype.first=z.prototype.head,qu&&(z.prototype[qu]=gV),z},xa=fo();Bt?((Bt.exports=xa)._=xa,St._=xa):dt._=xa}).call(nu)})(la,la.exports);const Wt=la.exports;var yS=typeof navigator<"u"?navigator.userAgent.toLowerCase().indexOf("firefox")>0:!1;function xS(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r):e.attachEvent&&e.attachEvent("on".concat(t),function(){n(window.event)})}function QF(e,t){for(var n=t.slice(0,t.length-1),r=0;r=0;)t[n-1]+=",",t.splice(n,1),n=t.lastIndexOf("");return t}function eve(e,t){for(var n=e.length>=t.length?e:t,r=e.length>=t.length?t:e,i=!0,o=0;o=0&&Jn.splice(n,1),e.key&&e.key.toLowerCase()==="meta"&&Jn.splice(0,Jn.length),(t===93||t===224)&&(t=91),t in _i){_i[t]=!1;for(var r in Yc)Yc[r]===t&&(ea[r]=!1)}}function ave(e){if(typeof e>"u")Object.keys(Fr).forEach(function(a){return delete Fr[a]});else if(Array.isArray(e))e.forEach(function(a){a.key&&bS(a)});else if(typeof e=="object")e.key&&bS(e);else if(typeof e=="string"){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r1?QF(Yc,d):[];Fr[m]=Fr[m].filter(function(b){var S=i?b.method===i:!0;return!(S&&b.scope===r&&eve(b.mods,y))})}})};function EL(e,t,n,r){if(t.element===r){var i;if(t.scope===n||t.scope==="all"){i=t.mods.length>0;for(var o in _i)Object.prototype.hasOwnProperty.call(_i,o)&&(!_i[o]&&t.mods.indexOf(+o)>-1||_i[o]&&t.mods.indexOf(+o)===-1)&&(i=!1);(t.mods.length===0&&!_i[16]&&!_i[18]&&!_i[17]&&!_i[91]||i||t.shortcut==="*")&&t.method(e,t)===!1&&(e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation&&e.stopPropagation(),e.cancelBubble&&(e.cancelBubble=!0))}}}function PL(e,t){var n=Fr["*"],r=e.keyCode||e.which||e.charCode;if(!!ea.filter.call(this,e)){if((r===93||r===224)&&(r=91),Jn.indexOf(r)===-1&&r!==229&&Jn.push(r),["ctrlKey","altKey","shiftKey","metaKey"].forEach(function(b){var S=Y6[b];e[b]&&Jn.indexOf(S)===-1?Jn.push(S):!e[b]&&Jn.indexOf(S)>-1?Jn.splice(Jn.indexOf(S),1):b==="metaKey"&&e[b]&&Jn.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(Jn=Jn.slice(Jn.indexOf(S))))}),r in _i){_i[r]=!0;for(var i in Yc)Yc[i]===r&&(ea[i]=!0);if(!n)return}for(var o in _i)Object.prototype.hasOwnProperty.call(_i,o)&&(_i[o]=e[Y6[o]]);e.getModifierState&&!(e.altKey&&!e.ctrlKey)&&e.getModifierState("AltGraph")&&(Jn.indexOf(17)===-1&&Jn.push(17),Jn.indexOf(18)===-1&&Jn.push(18),_i[17]=!0,_i[18]=!0);var a=Qm();if(n)for(var s=0;s-1}function ea(e,t,n){Jn=[];var r=JF(e),i=[],o="all",a=document,s=0,l=!1,d=!0,p="+",g=!1;for(n===void 0&&typeof t=="function"&&(n=t),Object.prototype.toString.call(t)==="[object Object]"&&(t.scope&&(o=t.scope),t.element&&(a=t.element),t.keyup&&(l=t.keyup),t.keydown!==void 0&&(d=t.keydown),t.capture!==void 0&&(g=t.capture),typeof t.splitKey=="string"&&(p=t.splitKey)),typeof t=="string"&&(o=t);s1&&(i=QF(Yc,e)),e=e[e.length-1],e=e==="*"?"*":dx(e),e in Fr||(Fr[e]=[]),Fr[e].push({keyup:l,keydown:d,scope:o,mods:i,shortcut:r[s],method:n,key:r[s],splitKey:p,element:a});typeof a<"u"&&!sve(a)&&window&&(tB.push(a),xS(a,"keydown",function(m){PL(m,a)},g),kL||(kL=!0,xS(window,"focus",function(){Jn=[]},g)),xS(a,"keyup",function(m){PL(m,a),ove(m)},g))}function lve(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"all";Object.keys(Fr).forEach(function(n){var r=Fr[n].find(function(i){return i.scope===t&&i.shortcut===e});r&&r.method&&r.method()})}var SS={setScope:nB,getScope:Qm,deleteScope:ive,getPressedKeyCodes:tve,isPressed:rve,filter:nve,trigger:lve,unbind:ave,keyMap:T7,modifier:Yc,modifierMap:Y6};for(var wS in SS)Object.prototype.hasOwnProperty.call(SS,wS)&&(ea[wS]=SS[wS]);if(typeof window<"u"){var uve=window.hotkeys;ea.noConflict=function(e){return e&&window.hotkeys===ea&&(window.hotkeys=uve),ea},window.hotkeys=ea}ea.filter=function(){return!0};var rB=function(t,n){var r=t.target,i=r&&r.tagName;return Boolean(i&&n&&n.includes(i))},cve=function(t){return rB(t,["INPUT","TEXTAREA","SELECT"])};function Dt(e,t,n,r){n instanceof Array&&(r=n,n=void 0);var i=n||{},o=i.enableOnTags,a=i.filter,s=i.keyup,l=i.keydown,d=i.filterPreventDefault,p=d===void 0?!0:d,g=i.enabled,m=g===void 0?!0:g,y=i.enableOnContentEditable,b=y===void 0?!1:y,S=C.exports.useRef(null),E=C.exports.useCallback(function(P,k){var L,I;return a&&!a(P)?!p:cve(P)&&!rB(P,o)||(L=P.target)!=null&&L.isContentEditable&&!b?!0:S.current===null||document.activeElement===S.current||(I=S.current)!=null&&I.contains(document.activeElement)?(t(P,k),!0):!1},r?[S,o,a].concat(r):[S,o,a]);return C.exports.useEffect(function(){if(!m){ea.unbind(e,E);return}return s&&l!==!0&&(n.keydown=!1),ea(e,n||{},E),function(){return ea.unbind(e,E)}},[E,e,m]),S}ea.isPressed;function dve(){return te("div",{className:"work-in-progress nodes-work-in-progress",children:[w("h1",{children:"Nodes"}),w("p",{children:"A node based system for the generation of images is under development currently. Stay tuned for updates about this amazing feature."})]})}function fve(){return te("div",{className:"work-in-progress outpainting-work-in-progress",children:[w("h1",{children:"Outpainting"}),w("p",{children:"Outpainting is available as a part of the Invoke AI Command Line Interface. A dedicated WebUI interface will be released in the near future."})]})}const hve=()=>te("div",{className:"work-in-progress post-processing-work-in-progress",children:[w("h1",{children:"Post Processing"}),w("p",{children:"Invoke AI offers a wide variety of post processing features. Image Upscaling and Face Restoration are already available in the WebUI. You can access them from the Advanced Options menu of the Text To Image and Image To Image tabs. You can also process images directly, using the image action buttons above the main image display."}),w("p",{children:"A dedicated UI will be released soon to facilitate more advanced post processing workflows."}),w("p",{children:"The Invoke AI Command Line Interface offers various other features including Embiggen."})]}),pve=nt({displayName:"ImageToImageIcon",viewBox:"0 0 3543 3543",path:w("g",{transform:"matrix(1.10943,0,0,1.10943,-206.981,-213.533)",children:w("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"})})}),gve=nt({displayName:"InpaintIcon",viewBox:"0 0 3543 3543",path:w("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M3543.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.593C0,768.593 0,2774.71 0,2774.71C0,3025.98 203.999,3229.98 455.269,3229.98L3088.04,3229.98C3339.31,3229.98 3543.31,3025.98 3543.31,2774.71C3543.31,2774.71 3543.31,768.593 3543.31,768.593ZM3446.56,2252.63L3446.56,768.593C3446.56,570.718 3285.91,410.068 3088.04,410.068C3088.04,410.068 455.269,410.068 455.269,410.068C257.394,410.068 96.745,570.718 96.745,768.593L96.745,2061.49L988.344,1051.01L1326.63,1423.12C1281.74,1438.3 1227.39,1454.93 1158.26,1480.89C995.738,1541.9 944.356,1613.28 911.834,1718.7C884.979,1805.76 875.814,1922.93 811.322,2093.5C763.918,2218.87 765.18,2304.83 790.606,2364.87C817.014,2427.22 869.858,2467.73 941.71,2493.83C1023.86,2523.67 1134.43,2534.25 1242.45,2557.97C1365.72,2585.04 1455.23,2643.2 1532.76,2665.96C1587.03,2681.89 1637.04,2683.6 1686.56,2663.56C1731.54,2645.36 1777.95,2607.64 1825.43,2535.92C1874.9,2461.2 1979.98,2369.94 2102.8,2276.91L2241.64,2429.63L2739.91,1850.53C2754.47,1841.35 2767.47,1833.12 2778.66,1825.94C2832.6,1791.35 2866.82,1742.41 2884.38,1682.61L2898.06,1666.72L3446.56,2252.63ZM1680.71,2559.9C1666.7,2570.37 1652.86,2577.22 1638.81,2580.95L1610.62,2588.45L1625.61,2644.82L1653.8,2637.33C1674.48,2631.83 1695.02,2622.04 1715.64,2606.61L1739,2589.14L1704.06,2542.43L1680.71,2559.9ZM1541.62,2570.42C1524.94,2564.58 1507.63,2557.37 1489.49,2549.48L1462.75,2537.84L1439.48,2591.33L1466.22,2602.97C1485.74,2611.46 1504.38,2619.18 1522.33,2625.47L1549.86,2635.12L1569.15,2580.07L1541.62,2570.42ZM1381.21,2503.1C1363.08,2496.04 1344.17,2489.24 1324.38,2483.03L1296.55,2474.29L1279.07,2529.94L1306.9,2538.68C1325.41,2544.49 1343.09,2550.86 1360.05,2557.46L1387.23,2568.04L1408.39,2513.68L1381.21,2503.1ZM1788.46,2430.83C1773.91,2447.61 1761.19,2463.86 1750.55,2479.44L1734.09,2503.52L1782.25,2536.43L1798.71,2512.35C1808.2,2498.46 1819.56,2484 1832.53,2469.04L1851.64,2447.01L1807.57,2408.79L1788.46,2430.83ZM1262.54,2466.49C1243.17,2462.24 1223.71,2458.43 1204.35,2454.87L1175.67,2449.6L1165.12,2506.97L1193.81,2512.24C1212.52,2515.68 1231.32,2519.35 1250.03,2523.46L1278.52,2529.72L1291.03,2472.74L1262.54,2466.49ZM1089.5,2434.66C1070.28,2431.1 1051.6,2427.35 1033.72,2423.15L1005.32,2416.49L992.002,2473.28L1020.4,2479.94C1039.14,2484.34 1058.71,2488.28 1078.86,2492.02L1107.54,2497.34L1118.18,2439.99L1089.5,2434.66ZM932.182,2386.94C917.545,2378.53 904.788,2368.71 894.532,2356.8L875.504,2334.69L831.294,2372.75L850.322,2394.85C864.755,2411.62 882.513,2425.67 903.11,2437.51L928.396,2452.05L957.469,2401.48L932.182,2386.94ZM1917.04,2306.1C1901.59,2319.37 1886.77,2332.5 1872.67,2345.44L1851.18,2365.17L1890.64,2408.14L1912.12,2388.41C1925.76,2375.89 1940.1,2363.19 1955.04,2350.36L1977.17,2331.36L1939.17,2287.1L1917.04,2306.1ZM866.485,2267.79C866.715,2251.85 868.706,2234.39 872.54,2215.21L878.257,2186.61L821.055,2175.17L815.338,2203.77C810.733,2226.81 808.434,2247.8 808.158,2266.94L807.737,2296.11L866.064,2296.95L866.485,2267.79ZM2055.08,2195.63C2039.24,2207.6 2023.66,2219.55 2008.43,2231.46L1985.45,2249.43L2021.38,2295.38L2044.36,2277.42C2059.34,2265.7 2074.66,2253.95 2090.23,2242.18L2113.51,2224.61L2078.35,2178.06L2055.08,2195.63ZM2197.62,2092.3C2181.57,2103.52 2165.6,2114.82 2149.74,2126.16L2126.02,2143.12L2159.95,2190.57L2183.67,2173.61C2199.36,2162.38 2215.18,2151.21 2231.05,2140.1L2254.95,2123.38L2221.52,2075.58L2197.62,2092.3ZM905.788,2108.14C912.858,2088.7 919.236,2069.96 925.03,2051.88L933.93,2024.1L878.378,2006.3L869.478,2034.08C863.905,2051.47 857.769,2069.5 850.968,2088.2L840.998,2115.61L895.817,2135.55L905.788,2108.14ZM2342.87,1993.45C2326.76,2004.15 2310.52,2015.01 2294.22,2026L2270.04,2042.31L2302.65,2090.67L2326.83,2074.37C2343.01,2063.45 2359.14,2052.67 2375.14,2042.04L2399.44,2025.91L2367.17,1977.31L2342.87,1993.45ZM2489.92,1897.67C2473.88,1907.94 2457.46,1918.5 2440.74,1929.32L2416.26,1945.16L2447.95,1994.14L2472.44,1978.29C2489.07,1967.53 2505.41,1957.02 2521.37,1946.8L2545.93,1931.07L2514.48,1881.94L2489.92,1897.67ZM956.972,1937.49C961.849,1917.31 966.133,1898.15 970.079,1879.93L976.253,1851.43L919.241,1839.08L913.067,1867.59C909.215,1885.38 905.033,1904.08 900.271,1923.79L893.42,1952.13L950.121,1965.84L956.972,1937.49ZM2638.01,1803.95C2622.5,1813.69 2605.98,1824.08 2588.59,1835.04L2563.91,1850.59L2595.02,1899.94L2619.69,1884.38C2637.05,1873.44 2653.55,1863.08 2669.03,1853.35L2693.73,1837.84L2662.71,1788.44L2638.01,1803.95ZM2769.59,1708.14C2760.26,1721.07 2748.81,1732.54 2735.03,1742.4L2711.31,1759.37L2745.25,1806.81L2768.97,1789.84C2788.08,1776.17 2803.93,1760.22 2816.88,1742.3L2833.95,1718.65L2786.67,1684.5L2769.59,1708.14ZM995.304,1767.43C1000.24,1748.86 1005.64,1731.66 1012.23,1715.62L1023.31,1688.64L969.359,1666.47L958.273,1693.45C950.767,1711.72 944.551,1731.29 938.928,1752.44L931.436,1780.63L987.812,1795.62L995.304,1767.43ZM1071.42,1633.09C1083.85,1622.63 1098.26,1612.75 1115.07,1603.23L1140.45,1588.86L1111.71,1538.1L1086.33,1552.47C1066.11,1563.92 1048.82,1575.88 1033.86,1588.46L1011.55,1607.24L1049.11,1651.87L1071.42,1633.09ZM2804.87,1559.28C2805.5,1578.06 2804.95,1596.1 2803,1613.27L2799.72,1642.25L2857.68,1648.81L2860.97,1619.83C2863.22,1599.96 2863.9,1579.07 2863.17,1557.33L2862.2,1528.18L2803.9,1530.12L2804.87,1559.28ZM1217.5,1558.88C1236.87,1551.88 1254.98,1545.61 1271.98,1539.88L1299.62,1530.55L1280.97,1475.28L1253.33,1484.6C1235.96,1490.46 1217.45,1496.87 1197.66,1504.02L1170.23,1513.94L1190.07,1568.8L1217.5,1558.88ZM1383.15,1502.63C1403.9,1495.17 1422.61,1487.67 1439.93,1479.27L1466.18,1466.54L1440.73,1414.06L1414.48,1426.78C1398.91,1434.33 1382.06,1441.03 1363.41,1447.74L1335.96,1457.62L1355.71,1512.51L1383.15,1502.63ZM2777.41,1393.4C2782.33,1412.11 2786.73,1430.56 2790.49,1448.67L2796.42,1477.23L2853.54,1465.37L2847.6,1436.81C2843.64,1417.72 2839.01,1398.28 2833.83,1378.57L2826.41,1350.36L2770,1365.19L2777.41,1393.4ZM1541.19,1401.64C1553.52,1387.35 1565.77,1370.94 1578.31,1351.79L1594.28,1327.39L1545.48,1295.44L1529.5,1319.84C1518.52,1336.62 1507.83,1351.02 1497.03,1363.53L1477.97,1385.61L1522.14,1423.72L1541.19,1401.64ZM2725.02,1229.27C2731.61,1247.45 2738.01,1265.61 2744.12,1283.7L2753.45,1311.33L2808.72,1292.66L2799.38,1265.03C2793.13,1246.53 2786.6,1227.96 2779.85,1209.37L2769.9,1181.95L2715.07,1201.86L2725.02,1229.27ZM1636.99,1247.12C1644.26,1232.56 1651.77,1217.04 1659.58,1200.45C1660.59,1198.3 1661.61,1196.15 1662.61,1194.02L1675.08,1167.65L1622.34,1142.72L1609.88,1169.09C1608.86,1171.25 1607.83,1173.42 1606.81,1175.59C1599.2,1191.75 1591.88,1206.88 1584.8,1221.06L1571.77,1247.16L1623.96,1273.21L1636.99,1247.12ZM2251.58,766.326C2320.04,672.986 2430.48,612.355 2554.96,612.355C2762.48,612.355 2930.95,780.83 2930.95,988.344C2930.95,1087.56 2892.44,1177.85 2829.58,1245.06C2804.67,1171.95 2775.67,1097.93 2747.18,1026.98C2699.54,908.311 2654.38,849.115 2602.9,816.501C2565.59,792.868 2523.88,781.903 2471.8,777.274C2416.47,772.355 2346.53,774.829 2251.58,766.326ZM2662.3,1066.95C2669.46,1084.79 2676.66,1102.83 2683.81,1120.98L2694.51,1148.12L2748.78,1126.72L2738.08,1099.59C2730.88,1081.32 2723.64,1063.18 2716.44,1045.23L2705.58,1018.16L2651.44,1039.88L2662.3,1066.95ZM1713.81,1090.65C1723.08,1073.13 1732.27,1056.54 1741.52,1040.87L1756.33,1015.74L1706.08,986.113L1691.27,1011.24C1681.59,1027.65 1671.95,1045.03 1662.25,1063.39L1648.61,1089.17L1700.18,1116.44L1713.81,1090.65ZM2584.06,922.671C2594.47,934.345 2604.5,948.467 2614.55,965.492L2629.38,990.608L2679.62,960.949L2664.79,935.834C2652.56,915.134 2640.26,898.042 2627.6,883.849L2608.19,862.079L2564.65,900.901L2584.06,922.671ZM1805.33,949.853C1817.51,935.859 1830.16,923.259 1843.5,912.06L1865.85,893.314L1828.36,848.625L1806.01,867.372C1790.4,880.469 1775.59,895.178 1761.34,911.545L1742.18,933.541L1786.17,971.849L1805.33,949.853ZM2446.47,869.303C2466.17,870.516 2483.98,872.335 2500.35,875.649L2528.94,881.438L2540.51,824.265L2511.93,818.476C2493.13,814.67 2472.68,812.474 2450.05,811.08L2420.94,809.287L2417.35,867.51L2446.47,869.303ZM1935.15,861.305C1951.44,856.036 1968.78,851.999 1987.35,849.144L2016.18,844.713L2007.32,787.057L1978.49,791.488C1956.68,794.84 1936.32,799.616 1917.19,805.802L1889.44,814.778L1907.39,870.28L1935.15,861.305ZM2271.35,861.832C2292.28,863.33 2311.95,864.351 2330.47,865.114L2359.61,866.316L2362.01,808.032L2332.87,806.83C2314.9,806.09 2295.82,805.1 2275.51,803.648L2246.42,801.567L2242.26,859.751L2271.35,861.832ZM2097.81,844.858C2115.7,845.771 2134.46,847.337 2154.17,849.543L2183.16,852.787L2189.65,794.816L2160.66,791.572C2139.72,789.228 2119.79,787.57 2100.78,786.6L2071.65,785.114L2068.68,843.372L2097.81,844.858Z"})}),mve=nt({displayName:"NodesIcon",viewBox:"0 0 3543 3543",path:w("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"})}),vve=nt({displayName:"OutpaintIcon",viewBox:"0 0 3543 3543",path:w("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M3543.31,766.352C3543.31,516.705 3340.63,314.024 3090.98,314.024L452.328,314.024C202.681,314.024 0,516.705 0,766.352L0,2776.95C0,3026.6 202.681,3229.28 452.328,3229.28C452.328,3229.28 3090.98,3229.28 3090.98,3229.28C3340.63,3229.28 3543.31,3026.6 3543.31,2776.95C3543.31,2776.95 3543.31,766.352 3543.31,766.352ZM3454.26,766.352L3454.26,2776.95C3454.26,2977.46 3291.48,3140.24 3090.98,3140.24L452.328,3140.24C251.825,3140.24 89.043,2977.46 89.043,2776.95C89.043,2776.95 89.043,766.352 89.043,766.352C89.043,565.849 251.825,403.067 452.328,403.067C452.328,403.067 3090.98,403.067 3090.98,403.067C3291.48,403.067 3454.26,565.849 3454.26,766.352ZM1294.01,2603.04L1394.01,2603.04L1394.01,2553.04L1294.01,2553.04L1294.01,2603.04ZM2494.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.04ZM2344.01,2603.04L2444.01,2603.04L2444.01,2553.04L2344.01,2553.04L2344.01,2603.04ZM994.01,2603.04L1094.01,2603.04L1094.01,2553.04L994.01,2553.04L994.01,2603.04ZM1144.01,2603.04L1244.01,2603.04L1244.01,2553.04L1144.01,2553.04L1144.01,2603.04ZM2194.01,2603.04L2294.01,2603.04L2294.01,2553.04L2194.01,2553.04L2194.01,2603.04ZM2044.01,2603.04L2144.01,2603.04L2144.01,2553.04L2044.01,2553.04L2044.01,2603.04ZM1894.01,2603.04L1994.01,2603.04L1994.01,2553.04L1894.01,2553.04L1894.01,2603.04ZM1744.01,2603.04L1844.01,2603.04L1844.01,2553.04L1744.01,2553.04L1744.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.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.12ZM2782.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.4ZM761.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.98ZM804.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.265ZM2015.09,940.265L1915.09,940.265L1915.09,990.265L2015.09,990.265L2015.09,940.265ZM1115.08,940.265L1015.08,940.265L1015.08,990.265L1115.08,990.265L1115.08,940.265ZM1865.08,940.265L1765.08,940.265L1765.08,990.265L1865.08,990.265L1865.08,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.265ZM2315.09,940.265L2215.09,940.265L2215.09,990.265L2315.09,990.265L2315.09,940.265Z"})}),yve=nt({displayName:"PostprocessingIcon",viewBox:"0 0 3543 3543",path:w("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"})}),xve=nt({displayName:"TextToImageIcon",viewBox:"0 0 3543 3543",path:w("g",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",transform:"matrix(1.11667,0,0,1.1066,-231.131,-213.062)",children:w("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"})})});var Ji=(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))(Ji||{});const bve={[0]:{text:"This field will take all prompt text, including both content and stylistic terms. While weights can be included in the prompt, standard CLI Commands/parameters will not work.",href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[1]:{text:"As new invocations are generated, files from the output directory will be displayed here. Generations have additional options to configure new generations.",href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[2]:{text:"These options will enable alternative processing modes for Invoke. Seamless tiling will work to generate repeating patterns in the output. High Resolution Optimization performs a two-step generation cycle, and should be used at higher resolutions when you desire a more coherent image/composition. ",href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[3]:{text:"Seed values provide an initial set of noise which guide the denoising process, and can be randomized or populated with a seed from a previous invocation. The Threshold feature can be used to mitigate undesirable outcomes at higher CFG values (try between 0-10), and Perlin can be used to add Perlin noise into the denoising process - Both serve to add variation to your outputs. ",href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[4]:{text:"Try a variation with an amount of between 0 and 1 to change the output image for the set seed - Interesting variations on the seed are found between 0.1 and 0.3.",href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[5]:{text:"Using ESRGAN you can increase the output resolution without requiring a higher width/height in the initial generation.",href:"link/to/docs/feature1.html",guideImage:"asset/path.gif"},[6]:{text:"Using GFPGAN or Codeformer, Face Correction will attempt to identify faces in outputs, and correct any defects/abnormalities. Higher strength values will apply a stronger corrective pressure on outputs, resulting in more appealing faces. With Codeformer, a higher fidelity will attempt to preserve the original image, at the expense of face correction strength.",href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"},[7]:{text:"ImageToImage allows the upload of an initial image, which InvokeAI will use to guide the generation process, along with a prompt. A lower value for this setting will more closely resemble the original image. Values between 0-1 are accepted, and a range of .25-.75 is recommended ",href:"link/to/docs/feature3.html",guideImage:"asset/path.gif"}},Su=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:i,formLabelProps:o,styleClass:a,...s}=e;return w(td,{isDisabled:n,width:r,className:`invokeai__switch-form-control ${a}`,...i,children:te(Gf,{className:"invokeai__switch-form-label",whiteSpace:"nowrap",...o,children:[t,w(f7,{className:"invokeai__switch-root",...s})]})})};function L7(){const e=$e(i=>i.system.isGFPGANAvailable),t=$e(i=>i.options.shouldRunFacetool),n=ct();return te(Dn,{justifyContent:"space-between",alignItems:"center",width:"100%",mr:2,children:[w("p",{children:"Restore Face"}),w(Su,{isDisabled:!e,isChecked:t,onChange:i=>n(Gwe(i.target.checked))})]})}const TL=/^-?(0\.)?\.?$/,no=e=>{const{label:t,styleClass:n,isDisabled:r=!1,showStepper:i=!0,width:o,textAlign:a,isInvalid:s,value:l,onChange:d,min:p,max:g,isInteger:m=!0,formControlProps:y,formLabelProps:b,numberInputFieldProps:S,numberInputStepperProps:E,tooltipProps:P,...k}=e,[L,I]=C.exports.useState(String(l));C.exports.useEffect(()=>{!L.match(TL)&&l!==Number(L)&&I(String(l))},[l,L]);const O=D=>{I(D),D.match(TL)||d(m?Math.floor(Number(D)):Number(D))},N=D=>{const F=Wt.clamp(m?Math.floor(Number(D.target.value)):Number(D.target.value),p,g);I(String(F)),d(F)};return w(Xr,{...P,children:te(td,{isDisabled:r,isInvalid:s,className:n?`invokeai__number-input-form-control ${n}`:"invokeai__number-input-form-control",...y,children:[w(Gf,{className:"invokeai__number-input-form-label",style:{display:t?"block":"none"},...b,children:t}),te(qz,{className:"invokeai__number-input-root",value:L,keepWithinRange:!0,clampValueOnBlur:!1,onChange:O,onBlur:N,width:o,...k,children:[w(Kz,{className:"invokeai__number-input-field",textAlign:a,...S}),te("div",{className:"invokeai__number-input-stepper",style:i?{display:"block"}:{display:"none"},children:[w(Xz,{...E,className:"invokeai__number-input-stepper-button"}),w(Yz,{...E,className:"invokeai__number-input-stepper-button"})]})]})]})})},N0=e=>{const{label:t,isDisabled:n,validValues:r,size:i="sm",fontSize:o="md",styleClass:a,...s}=e;return te(td,{isDisabled:n,className:`invokeai__select ${a}`,onClick:l=>{l.stopPropagation(),l.nativeEvent.stopImmediatePropagation(),l.nativeEvent.stopPropagation(),l.nativeEvent.cancelBubble=!0},children:[w(Gf,{fontSize:o,marginBottom:1,flexGrow:2,whiteSpace:"nowrap",className:"invokeai__select-label",children:t}),w(iF,{fontSize:o,size:i,...s,className:"invokeai__select-picker",children:r.map(l=>typeof l=="string"||typeof l=="number"?w("option",{value:l,className:"invokeai__select-option",children:l},l):w("option",{value:l.value,children:l.key},l.value))})]})},Sve=["ddim","plms","k_lms","k_dpm_2","k_dpm_2_a","k_euler","k_euler_a","k_heun"],wve=[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],Cve=[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],_ve=[{key:"2x",value:2},{key:"4x",value:4}],A7=0,I7=4294967295,kve=["gfpgan","codeformer"],Eve=[{key:"None",value:"none"},{key:"Fast",value:"latents"},{key:"Accurate",value:"full-res"}],Pve=jt(e=>e.options,e=>({facetoolStrength:e.facetoolStrength,facetoolType:e.facetoolType,codeformerFidelity:e.codeformerFidelity}),{memoizeOptions:{resultEqualityCheck:la.exports.isEqual}}),Tve=jt(e=>e.system,e=>({isGFPGANAvailable:e.isGFPGANAvailable}),{memoizeOptions:{resultEqualityCheck:la.exports.isEqual}}),fx=()=>{const e=ct(),{facetoolStrength:t,facetoolType:n,codeformerFidelity:r}=$e(Pve),{isGFPGANAvailable:i}=$e(Tve),o=l=>e(h3(l)),a=l=>e(gH(l)),s=l=>e(p3(l.target.value));return te(Dn,{direction:"column",gap:2,children:[w(N0,{label:"Type",validValues:kve.concat(),value:n,onChange:s}),w(no,{isDisabled:!i,label:"Strength",step:.05,min:0,max:1,onChange:o,value:t,width:"90px",isInteger:!1}),n==="codeformer"&&w(no,{isDisabled:!i,label:"Fidelity",step:.05,min:0,max:1,onChange:a,value:r,width:"90px",isInteger:!1})]})};function Lve(){const e=ct(),t=$e(r=>r.options.shouldFitToWidthHeight);return w(Su,{label:"Fit Initial Image To Output Size",isChecked:t,onChange:r=>e(mH(r.target.checked))})}function iB(e){const{label:t="Strength",styleClass:n}=e,r=$e(a=>a.options.img2imgStrength),i=ct();return w(no,{label:t,step:.01,min:.01,max:.99,onChange:a=>i(pH(a)),value:r,width:"100%",isInteger:!1,styleClass:n})}const oB=()=>w(Pl,{flex:"1",textAlign:"left",children:"Other Options"}),Ave=()=>{const e=ct(),t=$e(r=>r.options.hiresFix);return w(Dn,{gap:2,direction:"column",children:w(Su,{label:"High Res Optimization",fontSize:"md",isChecked:t,onChange:r=>e(hH(r.target.checked))})})},Ive=()=>{const e=ct(),t=$e(r=>r.options.seamless);return w(Dn,{gap:2,direction:"column",children:w(Su,{label:"Seamless tiling",fontSize:"md",isChecked:t,onChange:r=>e(fH(r.target.checked))})})},aB=()=>te(Dn,{gap:2,direction:"column",children:[w(Ive,{}),w(Ave,{})]}),M7=()=>w(Pl,{flex:"1",textAlign:"left",children:"Seed"});function Mve(){const e=ct(),t=$e(r=>r.options.shouldRandomizeSeed);return w(Su,{label:"Randomize Seed",isChecked:t,onChange:r=>e(qwe(r.target.checked))})}function Rve(){const e=$e(o=>o.options.seed),t=$e(o=>o.options.shouldRandomizeSeed),n=$e(o=>o.options.shouldGenerateVariations),r=ct(),i=o=>r(Iv(o));return w(no,{label:"Seed",step:1,precision:0,flexGrow:1,min:A7,max:I7,isDisabled:t,isInvalid:e<0&&n,onChange:i,value:e,width:"10rem"})}const sB=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function Ove(){const e=ct(),t=$e(r=>r.options.shouldRandomizeSeed);return w(Na,{size:"sm",isDisabled:t,onClick:()=>e(Iv(sB(A7,I7))),children:w("p",{children:"Shuffle"})})}function Nve(){const e=ct(),t=$e(r=>r.options.threshold);return w(no,{label:"Threshold",min:0,max:1e3,step:.1,onChange:r=>e($we(r)),value:t,isInteger:!1})}function Dve(){const e=ct(),t=$e(r=>r.options.perlin);return w(no,{label:"Perlin Noise",min:0,max:1,step:.05,onChange:r=>e(Hwe(r)),value:t,isInteger:!1})}const R7=()=>te(Dn,{gap:2,direction:"column",children:[w(Mve,{}),te(Dn,{gap:2,children:[w(Rve,{}),w(Ove,{})]}),w(Dn,{gap:2,children:w(Nve,{})}),w(Dn,{gap:2,children:w(Dve,{})})]});function O7(){const e=$e(i=>i.system.isESRGANAvailable),t=$e(i=>i.options.shouldRunESRGAN),n=ct();return te(Dn,{justifyContent:"space-between",alignItems:"center",width:"100%",mr:2,children:[w("p",{children:"Upscale"}),w(Su,{isDisabled:!e,isChecked:t,onChange:i=>n(jwe(i.target.checked))})]})}const zve=jt(e=>e.options,e=>({upscalingLevel:e.upscalingLevel,upscalingStrength:e.upscalingStrength}),{memoizeOptions:{resultEqualityCheck:la.exports.isEqual}}),Fve=jt(e=>e.system,e=>({isESRGANAvailable:e.isESRGANAvailable}),{memoizeOptions:{resultEqualityCheck:la.exports.isEqual}}),hx=()=>{const e=ct(),{upscalingLevel:t,upscalingStrength:n}=$e(zve),{isESRGANAvailable:r}=$e(Fve);return te("div",{className:"upscale-options",children:[w(N0,{isDisabled:!r,label:"Scale",value:t,onChange:a=>e(TC(Number(a.target.value))),validValues:_ve}),w(no,{isDisabled:!r,label:"Strength",step:.05,min:0,max:1,onChange:a=>e(LC(a)),value:n,isInteger:!1})]})};function Bve(){const e=$e(r=>r.options.shouldGenerateVariations),t=ct();return w(Su,{isChecked:e,width:"auto",onChange:r=>t(Wwe(r.target.checked))})}function N7(){return te(Dn,{justifyContent:"space-between",alignItems:"center",width:"100%",mr:2,children:[w("p",{children:"Variations"}),w(Bve,{})]})}function $ve(e){const{label:t,styleClass:n,isDisabled:r=!1,fontSize:i="1rem",width:o,isInvalid:a,...s}=e;return te(td,{className:`input ${n}`,isInvalid:a,isDisabled:r,flexGrow:1,children:[w(Gf,{fontSize:i,marginBottom:1,whiteSpace:"nowrap",className:"input-label",children:t}),w(D8,{...s,className:"input-entry",size:"sm",width:o})]})}function Hve(){const e=$e(i=>i.options.seedWeights),t=$e(i=>i.options.shouldGenerateVariations),n=ct(),r=i=>n(vH(i.target.value));return w($ve,{label:"Seed Weights",value:e,isInvalid:t&&!(P7(e)||e===""),isDisabled:!t,onChange:r})}function Wve(){const e=$e(i=>i.options.variationAmount),t=$e(i=>i.options.shouldGenerateVariations),n=ct();return w(no,{label:"Variation Amount",value:e,step:.01,min:0,max:1,isDisabled:!t,onChange:i=>n(Vwe(i)),isInteger:!1})}const D7=()=>te(Dn,{gap:2,direction:"column",children:[w(Wve,{}),w(Hve,{})]}),Jm=e=>{const{label:t,styleClass:n,...r}=e;return w(gD,{className:`invokeai__checkbox ${n}`,...r,children:t})};function z7(){const e=$e(r=>r.options.showAdvancedOptions),t=ct();return w(Jm,{label:"Advanced Options",styleClass:"advanced-options-checkbox",onChange:r=>t(Kwe(r.target.checked)),isChecked:e})}function Vve(){const e=ct(),t=$e(r=>r.options.cfgScale);return w(no,{label:"CFG Scale",step:.5,min:1.01,max:30,onChange:r=>e(lH(r)),value:t,width:F7,fontSize:D0,styleClass:"main-option-block",textAlign:"center",isInteger:!1})}const Ga=jt(e=>e.options,e=>Av[e.activeTab],{memoizeOptions:{equalityCheck:Wt.isEqual}});function Uve(){const{height:e}=$e(i=>i.options),t=$e(Ga),n=ct();return w(N0,{isDisabled:t==="inpainting",label:"Height",value:e,flexGrow:1,onChange:i=>n(uH(Number(i.target.value))),validValues:Cve,fontSize:D0,styleClass:"main-option-block"})}function Gve(){const e=ct(),t=$e(r=>r.options.iterations);return w(no,{label:"Images",step:1,min:1,max:9999,onChange:r=>e(Bwe(r)),value:t,width:F7,fontSize:D0,styleClass:"main-option-block",textAlign:"center"})}function jve(){const e=$e(r=>r.options.sampler),t=ct();return w(N0,{label:"Sampler",value:e,onChange:r=>t(dH(r.target.value)),validValues:Sve,fontSize:D0,styleClass:"main-option-block"})}function qve(){const e=ct(),t=$e(r=>r.options.steps);return w(no,{label:"Steps",min:1,max:9999,step:1,onChange:r=>e(sH(r)),value:t,width:F7,fontSize:D0,styleClass:"main-option-block",textAlign:"center"})}function Kve(){const{width:e,activeTab:t}=$e(i=>i.options),n=ct(),r=i=>n(cH(Number(i.target.value)));return w(N0,{isDisabled:Av[t]==="inpainting",label:"Width",value:e,flexGrow:1,onChange:r,validValues:wve,fontSize:D0,styleClass:"main-option-block"})}const D0="0.9rem",F7="auto";function B7(){return w("div",{className:"main-options",children:te("div",{className:"main-options-list",children:[te("div",{className:"main-options-row",children:[w(Gve,{}),w(qve,{}),w(Vve,{})]}),te("div",{className:"main-options-row",children:[w(Kve,{}),w(Uve,{}),w(jve,{})]})]})})}const Zve={isConnected:!1,isProcessing:!1,log:[],shouldShowLogViewer:!1,shouldDisplayInProgressType:"none",shouldDisplayGuides:!0,isGFPGANAvailable:!0,isESRGANAvailable:!0,socketId:"",shouldConfirmOnDelete:!0,openAccordions:[0],currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatus:"Disconnected",currentStatusHasSteps:!1,model:"",model_id:"",model_hash:"",app_id:"",app_version:"",model_list:{},hasError:!1,wasErrorSeen:!0,isCancelable:!0},Yve=Zve,lB=J4({name:"system",initialState:Yve,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="Error",e.wasErrorSeen=!1},errorSeen:e=>{e.hasError=!1,e.wasErrorSeen=!0,e.currentStatus=e.isConnected?"Connected":"Disconnected"},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="Processing canceled"},setModelList:(e,t)=>{e.model_list=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},modelChangeRequested:e=>{e.currentStatus="Loading Model",e.isCancelable=!1,e.isProcessing=!0,e.currentStatusHasSteps=!1}}}),{setShouldDisplayInProgressType:Xve,setIsProcessing:Jp,addLogEntry:Si,setShouldShowLogViewer:LL,setIsConnected:AL,setSocketId:B9e,setShouldConfirmOnDelete:uB,setOpenAccordions:Qve,setSystemStatus:Jve,setCurrentStatus:CS,setSystemConfig:e2e,setShouldDisplayGuides:t2e,processingCanceled:n2e,errorOccurred:X6,errorSeen:cB,setModelList:IL,setIsCancelable:ML,modelChangeRequested:r2e}=lB.actions,i2e=lB.reducer;var dB={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},RL=ne.createContext&&ne.createContext(dB),Hc=globalThis&&globalThis.__assign||function(){return Hc=Object.assign||function(e){for(var t,n=1,r=arguments.length;ne.system,e=>e.shouldDisplayGuides),b2e=({children:e,feature:t})=>{const n=$e(x2e),{text:r}=bve[t];return n?te(j4,{trigger:"hover",children:[w(Z4,{children:w(Pl,{children:e})}),te(K4,{className:"guide-popover-content",maxWidth:"400px",onClick:i=>i.preventDefault(),cursor:"initial",children:[w(q4,{className:"guide-popover-arrow"}),w("div",{className:"guide-popover-guide-content",children:r})]})]}):null},S2e=Ee(({feature:e,icon:t=hB},n)=>w(b2e,{feature:e,children:w(Pl,{ref:n,children:w(ha,{as:t})})}));function w2e(e){const{header:t,feature:n,options:r}=e;return te(Sf,{className:"advanced-settings-item",children:[w("h2",{children:te(xf,{className:"advanced-settings-header",children:[t,w(S2e,{feature:n}),w(bf,{})]})}),w(wf,{className:"advanced-settings-panel",children:r})]})}const $7=e=>{const{accordionInfo:t}=e,n=$e(a=>a.system.openAccordions),r=ct();return w(N4,{defaultIndex:n,allowMultiple:!0,reduceMotion:!0,onChange:a=>r(Qve(a)),className:"advanced-settings",children:(()=>{const a=[];return t&&Object.keys(t).forEach(s=>{a.push(w(w2e,{header:t[s].header,feature:t[s].feature,options:t[s].options},s))}),a})()})};function C2e(e){return mt({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 _2e(e){return mt({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 k2e(e){return mt({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 E2e(e){return mt({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 P2e(e){return mt({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 T2e(e){return mt({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 L2e(e){return mt({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 gB(e){return mt({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 A2e(e){return mt({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 I2e(e){return mt({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 M2e(e){return mt({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 R2e(e){return mt({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 O2e(e){return mt({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z"}}]})(e)}function mB(e){return mt({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 N2e(e){return mt({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 D2e(e){return mt({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 z2e(e){return mt({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 F2e(e){return mt({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 B2e(e){return mt({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 $2e(e){return mt({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 H2e(e){return mt({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"}}]})(e)}function W2e(e){return mt({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 V2e(e){return mt({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 U2e(e){return mt({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 G2e(e){return mt({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 j2e(e){return mt({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 q2e(e){return mt({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 vB=jt([e=>e.options,e=>e.system,e=>e.inpainting,Ga],(e,t,n,r)=>{const{prompt:i,shouldGenerateVariations:o,seedWeights:a,maskPath:s,initialImage:l,seed:d}=e,{isProcessing:p,isConnected:g}=t,{imageToInpaint:m}=n;return!(!i||Boolean(i.match(/^[\s\r\n]+$/))||r==="img2img"&&!l||r==="inpainting"&&!m||s&&!l||p||!g||o&&(!(P7(a)||a==="")||d===-1))},{memoizeOptions:{equalityCheck:Wt.isEqual,resultEqualityCheck:Wt.isEqual}}),Q6=Hi("socketio/generateImage"),K2e=Hi("socketio/runESRGAN"),Z2e=Hi("socketio/runFacetool"),Y2e=Hi("socketio/deleteImage"),J6=Hi("socketio/requestImages"),OL=Hi("socketio/requestNewImages"),X2e=Hi("socketio/cancelProcessing"),NL=Hi("socketio/uploadImage");Hi("socketio/uploadMaskImage");const Q2e=Hi("socketio/requestSystemConfig"),J2e=Hi("socketio/requestModelChange"),k5=e=>{const{label:t,tooltip:n="",styleClass:r,...i}=e;return w(Xr,{label:n,children:w(Na,{className:r||"",...i,children:t})})},sn=e=>{const{tooltip:t="",tooltipPlacement:n="bottom",styleClass:r,onClick:i,cursor:o,...a}=e;return w(Xr,{label:t,hasArrow:!0,placement:n,children:w(Bi,{className:`icon-button ${r}`,...a,cursor:o||(i?"pointer":"unset"),onClick:i})})};function yB(e){const{iconButton:t=!1,...n}=e,r=ct(),i=$e(vB),o=$e(Ga),a=()=>{r(Q6(o))};return Dt("ctrl+enter, cmd+enter",()=>{i&&r(Q6(o))},[i,o]),t?w(sn,{"aria-label":"Invoke",type:"submit",icon:w(D2e,{}),isDisabled:!i,onClick:a,className:"invoke-btn invoke",tooltip:"Invoke",tooltipPlacement:"bottom",...n}):w(k5,{label:"Invoke","aria-label":"Invoke",type:"submit",isDisabled:!i,onClick:a,className:"invoke-btn",...n})}const eye=jt(e=>e.system,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable}),{memoizeOptions:{resultEqualityCheck:Wt.isEqual}});function xB(e){const{...t}=e,n=ct(),{isProcessing:r,isConnected:i,isCancelable:o}=$e(eye),a=()=>n(X2e());return Dt("shift+x",()=>{(i||r)&&o&&a()},[i,r,o]),w(sn,{icon:w(y2e,{}),tooltip:"Cancel","aria-label":"Cancel",isDisabled:!i||!r||!o,onClick:a,styleClass:"cancel-btn",...t})}const tye=jt(e=>e.options,e=>e.shouldLoopback),bB=()=>{const e=ct(),t=$e(tye);return w(sn,{"aria-label":"Loopback",tooltip:"Loopback","data-selected":t,icon:w(F2e,{}),onClick:()=>{e(n6e(!t))}})},H7=()=>te("div",{className:"process-buttons",children:[w(yB,{}),w(bB,{}),w(xB,{})]}),nye=jt([e=>e.options,Ga],(e,t)=>({prompt:e.prompt,activeTabName:t}),{memoizeOptions:{resultEqualityCheck:Wt.isEqual}}),W7=()=>{const e=ct(),{prompt:t,activeTabName:n}=$e(nye),r=$e(vB),i=C.exports.useRef(null),o=s=>{e(d_(s.target.value))};Dt("alt+a",()=>{i.current?.focus()},[]);const a=s=>{s.key==="Enter"&&s.shiftKey===!1&&r&&(s.preventDefault(),e(Q6(n)))};return w("div",{className:"prompt-bar",children:w(td,{isInvalid:t.length===0||Boolean(t.match(/^[\s\r\n]+$/)),children:w(_F,{id:"prompt",name:"prompt",placeholder:"I'm dreaming of...",size:"lg",value:t,onChange:o,onKeyDown:a,resize:"vertical",height:30,ref:i})})})};function SB(e){return mt({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 wB(e){return mt({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 rye(e,t){return e.classList?!!t&&e.classList.contains(t):(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")!==-1}function iye(e,t){e.classList?e.classList.add(t):rye(e,t)||(typeof e.className=="string"?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))}function DL(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function oye(e,t){e.classList?e.classList.remove(t):typeof e.className=="string"?e.className=DL(e.className,t):e.setAttribute("class",DL(e.className&&e.className.baseVal||"",t))}const zL={disabled:!1},CB=ne.createContext(null);var _B=function(t){return t.scrollTop},Pg="unmounted",af="exited",sf="entering",hp="entered",eC="exiting",wu=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=af,o.appearStatus=sf):l=hp:r.unmountOnExit||r.mountOnEnter?l=Pg:l=af,o.state={status:l},o.nextCallback=null,o}t.getDerivedStateFromProps=function(i,o){var a=i.in;return a&&o.status===Pg?{status:af}: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!==sf&&a!==hp&&(o=sf):(a===sf||a===hp)&&(o=eC)}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===sf){if(this.props.unmountOnExit||this.props.mountOnEnter){var a=this.props.nodeRef?this.props.nodeRef.current:z2.findDOMNode(this);a&&_B(a)}this.performEnter(i)}else this.performExit();else this.props.unmountOnExit&&this.state.status===af&&this.setState({status:Pg})},n.performEnter=function(i){var o=this,a=this.props.enter,s=this.context?this.context.isMounting:i,l=this.props.nodeRef?[s]:[z2.findDOMNode(this),s],d=l[0],p=l[1],g=this.getTimeouts(),m=s?g.appear:g.enter;if(!i&&!a||zL.disabled){this.safeSetState({status:hp},function(){o.props.onEntered(d)});return}this.props.onEnter(d,p),this.safeSetState({status:sf},function(){o.props.onEntering(d,p),o.onTransitionEnd(m,function(){o.safeSetState({status:hp},function(){o.props.onEntered(d,p)})})})},n.performExit=function(){var i=this,o=this.props.exit,a=this.getTimeouts(),s=this.props.nodeRef?void 0:z2.findDOMNode(this);if(!o||zL.disabled){this.safeSetState({status:af},function(){i.props.onExited(s)});return}this.props.onExit(s),this.safeSetState({status:eC},function(){i.props.onExiting(s),i.onTransitionEnd(a.exit,function(){i.safeSetState({status:af},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:z2.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],d=l[0],p=l[1];this.props.addEndListener(d,p)}i!=null&&setTimeout(this.nextCallback,i)},n.render=function(){var i=this.state.status;if(i===Pg)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=K8(o,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return w(CB.Provider,{value:null,children:typeof a=="function"?a(i,s):ne.cloneElement(ne.Children.only(a),s)})},t}(ne.Component);wu.contextType=CB;wu.propTypes={};function lp(){}wu.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:lp,onEntering:lp,onEntered:lp,onExit:lp,onExiting:lp,onExited:lp};wu.UNMOUNTED=Pg;wu.EXITED=af;wu.ENTERING=sf;wu.ENTERED=hp;wu.EXITING=eC;const aye=wu;var sye=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return iye(t,r)})},_S=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return oye(t,r)})},V7=function(e){X8(t,e);function t(){for(var r,i=arguments.length,o=new Array(i),a=0;a{C.exports.useEffect(()=>{function r(i){e.current&&!e.current.contains(i.target)&&t()}return n&&document.addEventListener("mousedown",r),()=>{n&&document.removeEventListener("mousedown",r)}},[e,n,t])},Ea=(e,t)=>Math.floor(e/t)*t,FL=(e,t)=>Math.round(e/t)*t,lye={tool:"brush",brushSize:50,maskColor:{r:255,g:90,b:90,a:.5},canvasDimensions:{width:0,height:0},boundingBoxDimensions:{width:512,height:512},boundingBoxCoordinate:{x:0,y:0},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.7},shouldShowBoundingBox:!0,shouldShowBoundingBoxFill:!0,cursorPosition:null,lines:[],pastLines:[],futureLines:[],shouldShowMask:!0,shouldInvertMask:!1,shouldShowCheckboardTransparency:!1,shouldShowBrush:!0,shouldShowBrushPreview:!1,needsCache:!1,isDrawing:!1,stageScale:1,shouldUseInpaintReplace:!1,inpaintReplace:1,shouldLockBoundingBox:!0},uye=lye,PB=J4({name:"inpainting",initialState:uye,reducers:{setTool:(e,t)=>{e.tool=t.payload},toggleTool:e=>{e.tool=e.tool==="brush"?"eraser":"brush"},setBrushSize:(e,t)=>{e.brushSize=t.payload},addLine:(e,t)=>{e.pastLines.push(e.lines),e.lines.push(t.payload),e.futureLines=[]},addPointToCurrentLine:(e,t)=>{e.lines[e.lines.length-1].points.push(...t.payload)},undo:e=>{if(e.pastLines.length===0)return;const t=e.pastLines.pop();!t||(e.futureLines.unshift(e.lines),e.lines=t)},redo:e=>{if(e.futureLines.length===0)return;const t=e.futureLines.shift();!t||(e.pastLines.push(e.lines),e.lines=t)},clearMask:e=>{e.pastLines.push(e.lines),e.lines=[],e.futureLines=[],e.shouldInvertMask=!1},toggleShouldInvertMask:e=>{e.shouldInvertMask=!e.shouldInvertMask},toggleShouldShowMask:e=>{e.shouldShowMask=!e.shouldShowMask},setShouldInvertMask:(e,t)=>{e.shouldInvertMask=t.payload},setShouldShowMask:(e,t)=>{e.shouldShowMask=t.payload,t.payload||(e.shouldInvertMask=!1)},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setMaskColor:(e,t)=>{e.maskColor=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},clearImageToInpaint:e=>{e.imageToInpaint=void 0},setImageToInpaint:(e,t)=>{const{width:n,height:r}=t.payload,{width:i,height:o}=e.boundingBoxDimensions,{x:a,y:s}=e.boundingBoxCoordinate,l={x:a,y:s},d={width:i,height:o};i+a>n&&(i>n&&(d.width=Ea(n,64)),l.x=n-d.width),o+s>r&&(o>r&&(d.height=Ea(r,64)),l.y=r-d.height),e.boundingBoxDimensions=d,e.boundingBoxCoordinate=l,e.canvasDimensions={width:n,height:r},e.imageToInpaint=t.payload,e.needsCache=!0},setCanvasDimensions:(e,t)=>{e.canvasDimensions=t.payload;const{width:n,height:r}=t.payload,{width:i,height:o}=e.boundingBoxDimensions,a=Ea(Wt.clamp(i,64,n),64),s=Ea(Wt.clamp(o,64,r),64);e.boundingBoxDimensions={width:a,height:s}},setBoundingBoxDimensions:(e,t)=>{e.boundingBoxDimensions=t.payload;const{width:n,height:r}=t.payload,{x:i,y:o}=e.boundingBoxCoordinate,{width:a,height:s}=e.canvasDimensions,l=Ea(a,64),d=Ea(s,64),p=Ea(n,64),g=Ea(r,64),m=i+n-a,y=o+r-s,b=Wt.clamp(p,64,l),S=Wt.clamp(g,64,d),E=m>0?i-m:i,P=y>0?o-y:o,k=Wt.clamp(E,0,l-b),L=Wt.clamp(P,0,d-S);e.boundingBoxDimensions={width:b,height:S},e.boundingBoxCoordinate={x:k,y:L}},setBoundingBoxCoordinate:(e,t)=>{e.boundingBoxCoordinate=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setNeedsCache:(e,t)=>{e.needsCache=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload,e.needsCache=!1},setShouldShowBoundingBoxFill:(e,t)=>{e.shouldShowBoundingBoxFill=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},setClearBrushHistory:e=>{e.pastLines=[],e.futureLines=[]},setShouldUseInpaintReplace:(e,t)=>{e.shouldUseInpaintReplace=t.payload},setInpaintReplace:(e,t)=>{e.inpaintReplace=t.payload},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload}}}),{setTool:BL,setBrushSize:cye,addLine:$L,addPointToCurrentLine:HL,setShouldInvertMask:dye,setShouldShowMask:fye,setShouldShowCheckboardTransparency:$9e,setShouldShowBrushPreview:kS,setMaskColor:hye,clearMask:pye,clearImageToInpaint:U7,undo:gye,redo:mye,setCursorPosition:WL,setCanvasDimensions:H9e,setImageToInpaint:E5,setBoundingBoxDimensions:Tg,setBoundingBoxCoordinate:VL,setBoundingBoxPreviewFill:W9e,setNeedsCache:Cf,setStageScale:vye,toggleTool:yye,setShouldShowBoundingBox:xye,setShouldShowBoundingBoxFill:bye,setIsDrawing:Lg,setShouldShowBrush:V9e,setClearBrushHistory:Sye,setShouldUseInpaintReplace:wye,setInpaintReplace:Cye,setShouldLockBoundingBox:TB,toggleShouldLockBoundingBox:_ye}=PB.actions,kye=PB.reducer,LB=""+new URL("logo.13003d72.png",import.meta.url).href,Eye=jt(e=>e.options,e=>{const{shouldShowOptionsPanel:t,shouldHoldOptionsPanelOpen:n,shouldPinOptionsPanel:r,optionsPanelScrollPosition:i}=e;return{shouldShowOptionsPanel:t,shouldHoldOptionsPanelOpen:n,shouldPinOptionsPanel:r,optionsPanelScrollPosition:i}},{memoizeOptions:{resultEqualityCheck:Wt.isEqual}}),G7=e=>{const t=ct(),{shouldShowOptionsPanel:n,shouldHoldOptionsPanelOpen:r,shouldPinOptionsPanel:i}=$e(Eye),o=C.exports.useRef(null),a=C.exports.useRef(null),s=C.exports.useRef(null),{children:l}=e;Dt("o",()=>{t(MC(!n))},[n]),Dt("shift+o",()=>{m()},[i]);const d=C.exports.useCallback(()=>{i||(t(e6e(a.current?a.current.scrollTop:0)),t(MC(!1)),t(t6e(!1)))},[t,i]);EB(o,d,!i);const p=()=>{s.current=window.setTimeout(()=>d(),500)},g=()=>{s.current&&window.clearTimeout(s.current)},m=()=>{t(Jwe(!i)),t(Cf(!0))};return w(kB,{nodeRef:o,in:n||r&&!i,unmountOnExit:!0,timeout:200,classNames:"options-panel-wrapper",children:w("div",{className:"options-panel-wrapper","data-pinned":i,tabIndex:1,ref:o,onMouseEnter:i?void 0:g,onMouseOver:i?void 0:g,children:w("div",{className:"options-panel-margin",children:te("div",{className:"options-panel",ref:a,onMouseLeave:y=>{y.target!==a.current?g():!i&&p()},children:[w(Xr,{label:"Pin Options Panel",children:w("div",{className:"options-panel-pin-button","data-selected":i,onClick:m,children:i?w(SB,{}):w(wB,{})})}),!i&&te("div",{className:"invoke-ai-logo-wrapper",children:[w("img",{src:LB,alt:"invoke-ai-logo"}),te("h1",{children:["invoke ",w("strong",{children:"ai"})]})]}),l]})})})})};function Pye(){const e=$e(n=>n.options.showAdvancedOptions),t={seed:{header:w(M7,{}),feature:Ji.SEED,options:w(R7,{})},variations:{header:w(N7,{}),feature:Ji.VARIATIONS,options:w(D7,{})},face_restore:{header:w(L7,{}),feature:Ji.FACE_CORRECTION,options:w(fx,{})},upscale:{header:w(O7,{}),feature:Ji.UPSCALE,options:w(hx,{})},other:{header:w(oB,{}),feature:Ji.OTHER,options:w(aB,{})}};return te(G7,{children:[w(W7,{}),w(H7,{}),w(B7,{}),w(iB,{label:"Image To Image Strength",styleClass:"main-option-block image-to-image-strength-main-option"}),w(Lve,{}),w(z7,{}),e?w($7,{accordionInfo:t}):null]})}const AB=C.exports.createContext(null),IB=e=>{const{styleClass:t}=e,n=C.exports.useContext(AB),r=()=>{n&&n()};return w("div",{className:`image-uploader-button-outer ${t}`,onClick:r,children:te("div",{className:"image-upload-button",children:[w(G2e,{}),w(Af,{size:"lg",children:"Click or Drag and Drop"})]})})},Tye=jt(e=>e.system,e=>{const{shouldConfirmOnDelete:t,isConnected:n,isProcessing:r}=e;return{shouldConfirmOnDelete:t,isConnected:n,isProcessing:r}}),tC=C.exports.forwardRef(({image:e,children:t},n)=>{const{isOpen:r,onOpen:i,onClose:o}=d5(),a=ct(),{shouldConfirmOnDelete:s,isConnected:l,isProcessing:d}=$e(Tye),p=C.exports.useRef(null),g=b=>{b.stopPropagation(),s?i():m()},m=()=>{l&&!d&&a(Y2e(e)),o()};Dt("del",()=>{s?i():m()},[e,s]);const y=b=>a(uB(!b.target.checked));return te(Fn,{children:[C.exports.cloneElement(t,{onClick:g,ref:n}),w(Ype,{isOpen:r,leastDestructiveRef:p,onClose:o,children:w(Km,{children:te(Xpe,{children:[w(l7,{fontSize:"lg",fontWeight:"bold",children:"Delete image"}),w(g5,{children:te(Dn,{direction:"column",gap:5,children:[w(wo,{children:"Are you sure? You can't undo this action afterwards."}),w(td,{children:te(Dn,{alignItems:"center",children:[w(Gf,{mb:0,children:"Don't ask me again"}),w(f7,{checked:!s,onChange:y})]})})]})}),te(s7,{children:[w(Na,{ref:p,onClick:o,children:"Cancel"}),w(Na,{colorScheme:"red",onClick:m,ml:3,children:"Delete"})]})]})})})]})}),UL=({title:e="Popup",styleClass:t,delay:n=50,popoverOptions:r,actionButton:i,children:o})=>te(j4,{trigger:"hover",closeDelay:n,children:[w(Z4,{children:w(Pl,{children:o})}),te(K4,{className:`popover-content ${t}`,children:[w(q4,{className:"popover-arrow"}),w(Jz,{className:"popover-header",children:e}),te("div",{className:"popover-options",children:[r||null,i]})]})]});jt(e=>e.gallery,e=>e.intermediateImage,{memoizeOptions:{resultEqualityCheck:(e,t)=>e===void 0&&t===void 0||e.uuid===t.uuid}});const Lye=jt([e=>e.system,e=>e.options,e=>e.gallery,Ga],(e,t,n,r)=>{const{isProcessing:i,isConnected:o,isGFPGANAvailable:a,isESRGANAvailable:s}=e,{upscalingLevel:l,facetoolStrength:d,shouldShowImageDetails:p}=t,{intermediateImage:g}=n;return{isProcessing:i,isConnected:o,isGFPGANAvailable:a,isESRGANAvailable:s,upscalingLevel:l,facetoolStrength:d,intermediateImage:g,shouldShowImageDetails:p,activeTabName:r}},{memoizeOptions:{resultEqualityCheck:la.exports.isEqual}}),Aye=({image:e})=>{const t=ct(),{isProcessing:n,isConnected:r,isGFPGANAvailable:i,isESRGANAvailable:o,upscalingLevel:a,facetoolStrength:s,intermediateImage:l,shouldShowImageDetails:d,activeTabName:p}=$e(Lye),g=od(),m=()=>{t(nv(e)),t(Pa(1))};Dt("shift+i",()=>{e?(m(),g({title:"Sent To Image To Image",status:"success",duration:2500,isClosable:!0})):g({title:"No Image Loaded",description:"No image found to send to image to image module.",status:"error",duration:2500,isClosable:!0})},[e]);const y=()=>e.metadata&&t(Uwe(e.metadata));Dt("a",()=>{["txt2img","img2img"].includes(e?.metadata?.image?.type)?(y(),g({title:"Parameters Set",status:"success",duration:2500,isClosable:!0})):g({title:"Parameters Not Set",description:"No metadata found for this image.",status:"error",duration:2500,isClosable:!0})},[e]);const b=()=>e.metadata&&t(Iv(e.metadata.image.seed));Dt("s",()=>{e?.metadata?.image?.seed?(b(),g({title:"Seed Set",status:"success",duration:2500,isClosable:!0})):g({title:"Seed Not Set",description:"Could not find seed for this image.",status:"error",duration:2500,isClosable:!0})},[e]);const S=()=>t(K2e(e));Dt("u",()=>{o&&Boolean(!l)&&r&&!n&&a?S():g({title:"Upscaling Failed",status:"error",duration:2500,isClosable:!0})},[e,o,l,r,n,a]);const E=()=>t(Z2e(e));Dt("r",()=>{i&&Boolean(!l)&&r&&!n&&s?E():g({title:"Face Restoration Failed",status:"error",duration:2500,isClosable:!0})},[e,i,l,r,n,s]);const P=()=>t(Zwe(!d)),k=()=>{t(E5(e)),p!=="inpainting"&&t(Pa("inpainting")),g({title:"Sent to Inpainting",status:"success",duration:2500,isClosable:!0})};return Dt("i",()=>{e?P():g({title:"Failed to load metadata",status:"error",duration:2500,isClosable:!0})},[e,d]),te("div",{className:"current-image-options",children:[w(sn,{icon:w(m2e,{}),tooltip:"Send To Image To Image","aria-label":"Send To Image To Image",onClick:m}),w(sn,{icon:w(mB,{}),tooltip:"Send To Inpainting","aria-label":"Send To Inpainting",onClick:k}),w(sn,{icon:w(gB,{}),tooltip:"Use All","aria-label":"Use All",isDisabled:!["txt2img","img2img"].includes(e?.metadata?.image?.type),onClick:y}),w(sn,{icon:w($2e,{}),tooltip:"Use Seed","aria-label":"Use Seed",isDisabled:!e?.metadata?.image?.seed,onClick:b}),w(UL,{title:"Restore Faces",popoverOptions:w(fx,{}),actionButton:w(k5,{label:"Restore Faces",isDisabled:!i||Boolean(l)||!(r&&!n)||!s,onClick:E}),children:w(sn,{icon:w(l2e,{}),"aria-label":"Restore Faces"})}),w(UL,{title:"Upscale",styleClass:"upscale-popover",popoverOptions:w(hx,{}),actionButton:w(k5,{label:"Upscale Image",isDisabled:!o||Boolean(l)||!(r&&!n)||!a,onClick:S}),children:w(sn,{icon:w(f2e,{}),"aria-label":"Upscale"})}),w(sn,{icon:w(u2e,{}),tooltip:"Details","aria-label":"Details",onClick:P}),w(tC,{image:e,children:w(sn,{icon:w(s2e,{}),tooltip:"Delete Image","aria-label":"Delete Image",isDisabled:Boolean(l)||!r||n})})]})},Iye={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},MB=J4({name:"gallery",initialState:Iye,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=la.exports.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(Wt.inRange(r,0,n.length)){const i=n[r+1];e.currentImage=i,e.currentImageUuid=i.uuid}}},selectPrevImage: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(Wt.inRange(r,1,n.length+1)){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}}}),{addImage:oy,clearIntermediateImage:GL,removeImage:RB,setCurrentImage:OB,addGalleryImages:Mye,setIntermediateImage:Rye,selectNextImage:NB,selectPrevImage:DB,setShouldPinGallery:Oye,setShouldShowGallery:nC,setGalleryScrollPosition:Nye,setGalleryImageMinimumWidth:Jd,setGalleryImageObjectFit:Dye,setShouldHoldGalleryOpen:zye,setShouldAutoSwitchToNewImages:Fye,setCurrentCategory:ay,setGalleryWidth:sy}=MB.actions,Bye=MB.reducer;nt({d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z",displayName:"CopyIcon"});nt({d:"M23.384,21.619,16.855,15.09a9.284,9.284,0,1,0-1.768,1.768l6.529,6.529a1.266,1.266,0,0,0,1.768,0A1.251,1.251,0,0,0,23.384,21.619ZM2.75,9.5a6.75,6.75,0,1,1,6.75,6.75A6.758,6.758,0,0,1,2.75,9.5Z",displayName:"SearchIcon"});nt({d:"M23.414,20.591l-4.645-4.645a10.256,10.256,0,1,0-2.828,2.829l4.645,4.644a2.025,2.025,0,0,0,2.828,0A2,2,0,0,0,23.414,20.591ZM10.25,3.005A7.25,7.25,0,1,1,3,10.255,7.258,7.258,0,0,1,10.25,3.005Z",displayName:"Search2Icon"});nt({d:"M21.4,13.7C20.6,13.9,19.8,14,19,14c-5,0-9-4-9-9c0-0.8,0.1-1.6,0.3-2.4c0.1-0.3,0-0.7-0.3-1 c-0.3-0.3-0.6-0.4-1-0.3C4.3,2.7,1,7.1,1,12c0,6.1,4.9,11,11,11c4.9,0,9.3-3.3,10.6-8.1c0.1-0.3,0-0.7-0.3-1 C22.1,13.7,21.7,13.6,21.4,13.7z",displayName:"MoonIcon"});nt({displayName:"SunIcon",path:te("g",{strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:"2",fill:"none",stroke:"currentColor",children:[w("circle",{cx:"12",cy:"12",r:"5"}),w("path",{d:"M12 1v2"}),w("path",{d:"M12 21v2"}),w("path",{d:"M4.22 4.22l1.42 1.42"}),w("path",{d:"M18.36 18.36l1.42 1.42"}),w("path",{d:"M1 12h2"}),w("path",{d:"M21 12h2"}),w("path",{d:"M4.22 19.78l1.42-1.42"}),w("path",{d:"M18.36 5.64l1.42-1.42"})]})});nt({d:"M0,12a1.5,1.5,0,0,0,1.5,1.5h8.75a.25.25,0,0,1,.25.25V22.5a1.5,1.5,0,0,0,3,0V13.75a.25.25,0,0,1,.25-.25H22.5a1.5,1.5,0,0,0,0-3H13.75a.25.25,0,0,1-.25-.25V1.5a1.5,1.5,0,0,0-3,0v8.75a.25.25,0,0,1-.25.25H1.5A1.5,1.5,0,0,0,0,12Z",displayName:"AddIcon"});nt({displayName:"SmallAddIcon",viewBox:"0 0 20 20",path:w("path",{fill:"currentColor",d:"M14 9h-3V6c0-.55-.45-1-1-1s-1 .45-1 1v3H6c-.55 0-1 .45-1 1s.45 1 1 1h3v3c0 .55.45 1 1 1s1-.45 1-1v-3h3c.55 0 1-.45 1-1s-.45-1-1-1z",fillRule:"evenodd"})});nt({viewBox:"0 0 14 14",d:"M14,7.77 L14,6.17 L12.06,5.53 L11.61,4.44 L12.49,2.6 L11.36,1.47 L9.55,2.38 L8.46,1.93 L7.77,0.01 L6.17,0.01 L5.54,1.95 L4.43,2.4 L2.59,1.52 L1.46,2.65 L2.37,4.46 L1.92,5.55 L0,6.23 L0,7.82 L1.94,8.46 L2.39,9.55 L1.51,11.39 L2.64,12.52 L4.45,11.61 L5.54,12.06 L6.23,13.98 L7.82,13.98 L8.45,12.04 L9.56,11.59 L11.4,12.47 L12.53,11.34 L11.61,9.53 L12.08,8.44 L14,7.75 L14,7.77 Z M7,10 C5.34,10 4,8.66 4,7 C4,5.34 5.34,4 7,4 C8.66,4 10,5.34 10,7 C10,8.66 8.66,10 7,10 Z",displayName:"SettingsIcon"});nt({displayName:"CheckCircleIcon",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"});nt({d:"M19.5,9.5h-.75V6.75a6.75,6.75,0,0,0-13.5,0V9.5H4.5a2,2,0,0,0-2,2V22a2,2,0,0,0,2,2h15a2,2,0,0,0,2-2V11.5A2,2,0,0,0,19.5,9.5Zm-9.5,6a2,2,0,1,1,3,1.723V19.5a1,1,0,0,1-2,0V17.223A1.994,1.994,0,0,1,10,15.5ZM7.75,6.75a4.25,4.25,0,0,1,8.5,0V9a.5.5,0,0,1-.5.5H8.25a.5.5,0,0,1-.5-.5Z",displayName:"LockIcon"});nt({d:"M19.5,9.5h-.75V6.75A6.751,6.751,0,0,0,5.533,4.811a1.25,1.25,0,1,0,2.395.717A4.251,4.251,0,0,1,16.25,6.75V9a.5.5,0,0,1-.5.5H4.5a2,2,0,0,0-2,2V22a2,2,0,0,0,2,2h15a2,2,0,0,0,2-2V11.5A2,2,0,0,0,19.5,9.5Zm-9.5,6a2,2,0,1,1,3,1.723V19.5a1,1,0,0,1-2,0V17.223A1.994,1.994,0,0,1,10,15.5Z",displayName:"UnlockIcon"});nt({displayName:"ViewIcon",path:te("g",{fill:"currentColor",children:[w("path",{d:"M23.432,10.524C20.787,7.614,16.4,4.538,12,4.6,7.6,4.537,3.213,7.615.568,10.524a2.211,2.211,0,0,0,0,2.948C3.182,16.351,7.507,19.4,11.839,19.4h.308c4.347,0,8.671-3.049,11.288-5.929A2.21,2.21,0,0,0,23.432,10.524ZM7.4,12A4.6,4.6,0,1,1,12,16.6,4.6,4.6,0,0,1,7.4,12Z"}),w("circle",{cx:"12",cy:"12",r:"2"})]})});nt({displayName:"ViewOffIcon",path:te("g",{fill:"currentColor",children:[w("path",{d:"M23.2,10.549a20.954,20.954,0,0,0-4.3-3.6l4-3.995a1,1,0,1,0-1.414-1.414l-.018.018a.737.737,0,0,1-.173.291l-19.5,19.5c-.008.007-.018.009-.026.017a1,1,0,0,0,1.631,1.088l4.146-4.146a11.26,11.26,0,0,0,4.31.939h.3c4.256,0,8.489-2.984,11.051-5.8A2.171,2.171,0,0,0,23.2,10.549ZM16.313,13.27a4.581,4.581,0,0,1-3,3.028,4.3,4.3,0,0,1-3.1-.19.253.253,0,0,1-.068-.407l5.56-5.559a.252.252,0,0,1,.407.067A4.3,4.3,0,0,1,16.313,13.27Z"}),w("path",{d:"M7.615,13.4a.244.244,0,0,0,.061-.24A4.315,4.315,0,0,1,7.5,12,4.5,4.5,0,0,1,12,7.5a4.276,4.276,0,0,1,1.16.173.244.244,0,0,0,.24-.062l1.941-1.942a.254.254,0,0,0-.1-.421A10.413,10.413,0,0,0,12,4.75C7.7,4.692,3.4,7.7.813,10.549a2.15,2.15,0,0,0-.007,2.9,21.209,21.209,0,0,0,3.438,3.03.256.256,0,0,0,.326-.029Z"})]})});nt({d:"M11.2857,6.05714 L10.08571,4.85714 L7.85714,7.14786 L7.85714,1 L6.14286,1 L6.14286,7.14786 L3.91429,4.85714 L2.71429,6.05714 L7,10.42857 L11.2857,6.05714 Z M1,11.2857 L1,13 L13,13 L13,11.2857 L1,11.2857 Z",displayName:"DownloadIcon",viewBox:"0 0 14 14"});nt({displayName:"DeleteIcon",path:w("g",{fill:"currentColor",children:w("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"})})});nt({displayName:"RepeatIcon",path:te("g",{fill:"currentColor",children:[w("path",{d:"M10.319,4.936a7.239,7.239,0,0,1,7.1,2.252,1.25,1.25,0,1,0,1.872-1.657A9.737,9.737,0,0,0,9.743,2.5,10.269,10.269,0,0,0,2.378,9.61a.249.249,0,0,1-.271.178l-1.033-.13A.491.491,0,0,0,.6,9.877a.5.5,0,0,0-.019.526l2.476,4.342a.5.5,0,0,0,.373.248.43.43,0,0,0,.062,0,.5.5,0,0,0,.359-.152l3.477-3.593a.5.5,0,0,0-.3-.844L5.15,10.172a.25.25,0,0,1-.2-.333A7.7,7.7,0,0,1,10.319,4.936Z"}),w("path",{d:"M23.406,14.1a.5.5,0,0,0,.015-.526l-2.5-4.329A.5.5,0,0,0,20.546,9a.489.489,0,0,0-.421.151l-3.456,3.614a.5.5,0,0,0,.3.842l1.848.221a.249.249,0,0,1,.183.117.253.253,0,0,1,.023.216,7.688,7.688,0,0,1-5.369,4.9,7.243,7.243,0,0,1-7.1-2.253,1.25,1.25,0,1,0-1.872,1.656,9.74,9.74,0,0,0,9.549,3.03,10.261,10.261,0,0,0,7.369-7.12.251.251,0,0,1,.27-.179l1.058.127a.422.422,0,0,0,.06,0A.5.5,0,0,0,23.406,14.1Z"})]})});nt({displayName:"RepeatClockIcon",path:te("g",{fill:"currentColor",children:[w("path",{d:"M12.965,6a1,1,0,0,0-1,1v5.5a1,1,0,0,0,1,1h5a1,1,0,0,0,0-2h-3.75a.25.25,0,0,1-.25-.25V7A1,1,0,0,0,12.965,6Z"}),w("path",{d:"M12.567,1.258A10.822,10.822,0,0,0,2.818,8.4a.25.25,0,0,1-.271.163L.858,8.309a.514.514,0,0,0-.485.213.5.5,0,0,0-.021.53l2.679,4.7a.5.5,0,0,0,.786.107l3.77-3.746a.5.5,0,0,0-.279-.85L5.593,9.007a.25.25,0,0,1-.192-.35,8.259,8.259,0,1,1,7.866,11.59,1.25,1.25,0,0,0,.045,2.5h.047a10.751,10.751,0,1,0-.792-21.487Z"})]})});nt({displayName:"EditIcon",path:te("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[w("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),w("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})});nt({d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z",displayName:"ChevronLeftIcon"});nt({d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z",displayName:"ChevronRightIcon"});nt({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});nt({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"});nt({d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z",displayName:"ArrowBackIcon"});nt({d:"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z",displayName:"ArrowForwardIcon"});nt({d:"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z",displayName:"ArrowUpIcon"});nt({viewBox:"0 0 16 16",d:"M11.891 9.992a1 1 0 1 1 1.416 1.415l-4.3 4.3a1 1 0 0 1-1.414 0l-4.3-4.3A1 1 0 0 1 4.71 9.992l3.59 3.591 3.591-3.591zm0-3.984L8.3 2.417 4.709 6.008a1 1 0 0 1-1.416-1.415l4.3-4.3a1 1 0 0 1 1.414 0l4.3 4.3a1 1 0 1 1-1.416 1.415z",displayName:"ArrowUpDownIcon"});nt({d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z",displayName:"ArrowDownIcon"});var zB=nt({displayName:"ExternalLinkIcon",path:te("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[w("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),w("path",{d:"M15 3h6v6"}),w("path",{d:"M10 14L21 3"})]})});nt({displayName:"LinkIcon",path:te("g",{fill:"currentColor",children:[w("path",{d:"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z"}),w("path",{d:"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z"})]})});nt({displayName:"PlusSquareIcon",path:te("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[w("rect",{height:"18",width:"18",rx:"2",ry:"2",x:"3",y:"3"}),w("path",{d:"M12 8v8"}),w("path",{d:"M8 12h8"})]})});nt({displayName:"CalendarIcon",viewBox:"0 0 14 14",d:"M10.8889,5.5 L3.11111,5.5 L3.11111,7.05556 L10.8889,7.05556 L10.8889,5.5 Z M12.4444,1.05556 L11.6667,1.05556 L11.6667,0 L10.1111,0 L10.1111,1.05556 L3.88889,1.05556 L3.88889,0 L2.33333,0 L2.33333,1.05556 L1.55556,1.05556 C0.692222,1.05556 0.00777777,1.75556 0.00777777,2.61111 L0,12.5 C0,13.3556 0.692222,14 1.55556,14 L12.4444,14 C13.3,14 14,13.3556 14,12.5 L14,2.61111 C14,1.75556 13.3,1.05556 12.4444,1.05556 Z M12.4444,12.5 L1.55556,12.5 L1.55556,3.94444 L12.4444,3.94444 L12.4444,12.5 Z M8.55556,8.61111 L3.11111,8.61111 L3.11111,10.1667 L8.55556,10.1667 L8.55556,8.61111 Z"});nt({d:"M0.913134,0.920639 C1.49851,0.331726 2.29348,0 3.12342,0 L10.8766,0 C11.7065,0 12.5015,0.331725 13.0869,0.920639 C13.6721,1.50939 14,2.30689 14,3.13746 L14,8.12943 C13.9962,8.51443 13.9059,8.97125 13.7629,9.32852 C13.6128,9.683 13.3552,10.0709 13.0869,10.3462 C12.813,10.6163 12.4265,10.8761 12.0734,11.0274 C11.7172,11.1716 11.2607,11.263 10.8766,11.2669 L10.1234,11.2669 L10.1234,12.5676 L10.1209,12.5676 C10.1204,12.793 10.0633,13.0791 9.97807,13.262 C9.8627,13.466 9.61158,13.7198 9.40818,13.8382 L9.40824,13.8383 C9.4077,13.8386 9.40716,13.8388 9.40661,13.8391 C9.40621,13.8393 9.4058,13.8396 9.40539,13.8398 L9.40535,13.8397 C9.22958,13.9254 8.94505,13.9951 8.75059,14 L8.74789,14 C8.35724,13.9963 7.98473,13.8383 7.71035,13.5617 L5.39553,11.2669 L3.12342,11.2669 C2.29348,11.2669 1.49851,10.9352 0.913134,10.3462 C0.644826,10.0709 0.387187,9.683 0.23711,9.32852 C0.0941235,8.97125 0.00379528,8.51443 0,8.12943 L0,3.13746 C0,2.30689 0.327915,1.50939 0.913134,0.920639 Z M3.12342,1.59494 C2.71959,1.59494 2.33133,1.75628 2.04431,2.04503 C1.75713,2.33395 1.59494,2.72681 1.59494,3.13746 L1.59494,8.12943 C1.59114,8.35901 1.62114,8.51076 1.71193,8.72129 C1.79563,8.9346 1.88065,9.06264 2.04431,9.22185 C2.33133,9.5106 2.71959,9.67195 3.12342,9.67195 L5.72383,9.67195 C5.93413,9.67195 6.13592,9.75502 6.28527,9.90308 L8.52848,12.1269 L8.52848,10.4694 C8.52848,10.029 8.88552,9.67195 9.32595,9.67195 L10.8766,9.67195 C11.1034,9.67583 11.2517,9.64614 11.4599,9.55518 C11.6712,9.47132 11.7976,9.38635 11.9557,9.22185 C12.1193,9.06264 12.2044,8.9346 12.2881,8.72129 C12.3789,8.51076 12.4089,8.35901 12.4051,8.12943 L12.4051,3.13746 C12.4051,2.72681 12.2429,2.33394 11.9557,2.04503 C11.6687,1.75628 11.2804,1.59494 10.8766,1.59494 L3.12342,1.59494 Z",displayName:"ChatIcon",viewBox:"0 0 14 14"});nt({displayName:"TimeIcon",path:te("g",{fill:"currentColor",children:[w("path",{d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm0,22A10,10,0,1,1,22,12,10.011,10.011,0,0,1,12,22Z"}),w("path",{d:"M17.134,15.81,12.5,11.561V6.5a1,1,0,0,0-2,0V12a1,1,0,0,0,.324.738l4.959,4.545a1.01,1.01,0,0,0,1.413-.061A1,1,0,0,0,17.134,15.81Z"})]})});nt({displayName:"ArrowRightIcon",path:te("g",{fill:"currentColor",children:[w("path",{d:"M13.584,12a2.643,2.643,0,0,1-.775,1.875L3.268,23.416a1.768,1.768,0,0,1-2.5-2.5l8.739-8.739a.25.25,0,0,0,0-.354L.768,3.084a1.768,1.768,0,0,1,2.5-2.5l9.541,9.541A2.643,2.643,0,0,1,13.584,12Z"}),w("path",{d:"M23.75,12a2.643,2.643,0,0,1-.775,1.875l-9.541,9.541a1.768,1.768,0,0,1-2.5-2.5l8.739-8.739a.25.25,0,0,0,0-.354L10.934,3.084a1.768,1.768,0,0,1,2.5-2.5l9.541,9.541A2.643,2.643,0,0,1,23.75,12Z"})]})});nt({displayName:"ArrowLeftIcon",path:te("g",{fill:"currentColor",children:[w("path",{d:"M10.416,12a2.643,2.643,0,0,1,.775-1.875L20.732.584a1.768,1.768,0,0,1,2.5,2.5l-8.739,8.739a.25.25,0,0,0,0,.354l8.739,8.739a1.768,1.768,0,0,1-2.5,2.5l-9.541-9.541A2.643,2.643,0,0,1,10.416,12Z"}),w("path",{d:"M.25,12a2.643,2.643,0,0,1,.775-1.875L10.566.584a1.768,1.768,0,0,1,2.5,2.5L4.327,11.823a.25.25,0,0,0,0,.354l8.739,8.739a1.768,1.768,0,0,1-2.5,2.5L1.025,13.875A2.643,2.643,0,0,1,.25,12Z"})]})});nt({displayName:"AtSignIcon",d:"M12,.5A11.634,11.634,0,0,0,.262,12,11.634,11.634,0,0,0,12,23.5a11.836,11.836,0,0,0,6.624-2,1.25,1.25,0,1,0-1.393-2.076A9.34,9.34,0,0,1,12,21a9.132,9.132,0,0,1-9.238-9A9.132,9.132,0,0,1,12,3a9.132,9.132,0,0,1,9.238,9v.891a1.943,1.943,0,0,1-3.884,0V12A5.355,5.355,0,1,0,12,17.261a5.376,5.376,0,0,0,3.861-1.634,4.438,4.438,0,0,0,7.877-2.736V12A11.634,11.634,0,0,0,12,.5Zm0,14.261A2.763,2.763,0,1,1,14.854,12,2.812,2.812,0,0,1,12,14.761Z"});nt({displayName:"AttachmentIcon",d:"M21.843,3.455a6.961,6.961,0,0,0-9.846,0L1.619,13.832a5.128,5.128,0,0,0,7.252,7.252L17.3,12.653A3.293,3.293,0,1,0,12.646,8L7.457,13.184A1,1,0,1,0,8.871,14.6L14.06,9.409a1.294,1.294,0,0,1,1.829,1.83L7.457,19.67a3.128,3.128,0,0,1-4.424-4.424L13.411,4.869a4.962,4.962,0,1,1,7.018,7.018L12.646,19.67a1,1,0,1,0,1.414,1.414L21.843,13.3a6.96,6.96,0,0,0,0-9.846Z"});nt({displayName:"UpDownIcon",viewBox:"-1 -1 9 11",d:"M 3.5 0L 3.98809 -0.569442L 3.5 -0.987808L 3.01191 -0.569442L 3.5 0ZM 3.5 9L 3.01191 9.56944L 3.5 9.98781L 3.98809 9.56944L 3.5 9ZM 0.488094 3.56944L 3.98809 0.569442L 3.01191 -0.569442L -0.488094 2.43056L 0.488094 3.56944ZM 3.01191 0.569442L 6.51191 3.56944L 7.48809 2.43056L 3.98809 -0.569442L 3.01191 0.569442ZM -0.488094 6.56944L 3.01191 9.56944L 3.98809 8.43056L 0.488094 5.43056L -0.488094 6.56944ZM 3.98809 9.56944L 7.48809 6.56944L 6.51191 5.43056L 3.01191 8.43056L 3.98809 9.56944Z"});nt({d:"M23.555,8.729a1.505,1.505,0,0,0-1.406-.98H16.062a.5.5,0,0,1-.472-.334L13.405,1.222a1.5,1.5,0,0,0-2.81,0l-.005.016L8.41,7.415a.5.5,0,0,1-.471.334H1.85A1.5,1.5,0,0,0,.887,10.4l5.184,4.3a.5.5,0,0,1,.155.543L4.048,21.774a1.5,1.5,0,0,0,2.31,1.684l5.346-3.92a.5.5,0,0,1,.591,0l5.344,3.919a1.5,1.5,0,0,0,2.312-1.683l-2.178-6.535a.5.5,0,0,1,.155-.543l5.194-4.306A1.5,1.5,0,0,0,23.555,8.729Z",displayName:"StarIcon"});nt({displayName:"EmailIcon",path:te("g",{fill:"currentColor",children:[w("path",{d:"M11.114,14.556a1.252,1.252,0,0,0,1.768,0L22.568,4.87a.5.5,0,0,0-.281-.849A1.966,1.966,0,0,0,22,4H2a1.966,1.966,0,0,0-.289.021.5.5,0,0,0-.281.849Z"}),w("path",{d:"M23.888,5.832a.182.182,0,0,0-.2.039l-6.2,6.2a.251.251,0,0,0,0,.354l5.043,5.043a.75.75,0,1,1-1.06,1.061l-5.043-5.043a.25.25,0,0,0-.354,0l-2.129,2.129a2.75,2.75,0,0,1-3.888,0L7.926,13.488a.251.251,0,0,0-.354,0L2.529,18.531a.75.75,0,0,1-1.06-1.061l5.043-5.043a.251.251,0,0,0,0-.354l-6.2-6.2a.18.18,0,0,0-.2-.039A.182.182,0,0,0,0,6V18a2,2,0,0,0,2,2H22a2,2,0,0,0,2-2V6A.181.181,0,0,0,23.888,5.832Z"})]})});nt({d:"M2.20731,0.0127209 C2.1105,-0.0066419 1.99432,-0.00664663 1.91687,0.032079 C0.871279,0.438698 0.212942,1.92964 0.0580392,2.95587 C-0.426031,6.28627 2.20731,9.17133 4.62766,11.0689 C6.77694,12.7534 10.9012,15.5223 13.3409,12.8503 C13.6507,12.5211 14.0186,12.037 13.9993,11.553 C13.9412,10.7397 13.186,10.1588 12.6051,9.71349 C12.1598,9.38432 11.2304,8.47427 10.6495,8.49363 C10.1267,8.51299 9.79754,9.05515 9.46837,9.38432 L8.88748,9.96521 C8.79067,10.062 7.55145,9.24878 7.41591,9.15197 C6.91248,8.8228 6.4284,8.45491 6.00242,8.04829 C5.57644,7.64167 5.18919,7.19632 4.86002,6.73161 C4.7632,6.59607 3.96933,5.41495 4.04678,5.31813 C4.04678,5.31813 4.72448,4.58234 4.91811,4.2919 C5.32473,3.67229 5.63453,3.18822 5.16982,2.45243 C4.99556,2.18135 4.78257,1.96836 4.55021,1.73601 C4.14359,1.34875 3.73698,0.942131 3.27227,0.612963 C3.02055,0.419335 2.59457,0.0708094 2.20731,0.0127209 Z",displayName:"PhoneIcon",viewBox:"0 0 14 14"});nt({viewBox:"0 0 10 10",d:"M3,2 C2.44771525,2 2,1.55228475 2,1 C2,0.44771525 2.44771525,0 3,0 C3.55228475,0 4,0.44771525 4,1 C4,1.55228475 3.55228475,2 3,2 Z M3,6 C2.44771525,6 2,5.55228475 2,5 C2,4.44771525 2.44771525,4 3,4 C3.55228475,4 4,4.44771525 4,5 C4,5.55228475 3.55228475,6 3,6 Z M3,10 C2.44771525,10 2,9.55228475 2,9 C2,8.44771525 2.44771525,8 3,8 C3.55228475,8 4,8.44771525 4,9 C4,9.55228475 3.55228475,10 3,10 Z M7,2 C6.44771525,2 6,1.55228475 6,1 C6,0.44771525 6.44771525,0 7,0 C7.55228475,0 8,0.44771525 8,1 C8,1.55228475 7.55228475,2 7,2 Z M7,6 C6.44771525,6 6,5.55228475 6,5 C6,4.44771525 6.44771525,4 7,4 C7.55228475,4 8,4.44771525 8,5 C8,5.55228475 7.55228475,6 7,6 Z M7,10 C6.44771525,10 6,9.55228475 6,9 C6,8.44771525 6.44771525,8 7,8 C7.55228475,8 8,8.44771525 8,9 C8,9.55228475 7.55228475,10 7,10 Z",displayName:"DragHandleIcon"});nt({displayName:"SpinnerIcon",path:te(Fn,{children:[w("defs",{children:te("linearGradient",{x1:"28.154%",y1:"63.74%",x2:"74.629%",y2:"17.783%",id:"a",children:[w("stop",{stopColor:"currentColor",offset:"0%"}),w("stop",{stopColor:"#fff",stopOpacity:"0",offset:"100%"})]})}),te("g",{transform:"translate(2)",fill:"none",children:[w("circle",{stroke:"url(#a)",strokeWidth:"4",cx:"10",cy:"12",r:"10"}),w("path",{d:"M10 2C4.477 2 0 6.477 0 12",stroke:"currentColor",strokeWidth:"4"}),w("rect",{fill:"currentColor",x:"8",width:"4",height:"4",rx:"8"})]})]})});nt({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"});nt({displayName:"SmallCloseIcon",viewBox:"0 0 16 16",path:w("path",{d:"M9.41 8l2.29-2.29c.19-.18.3-.43.3-.71a1.003 1.003 0 0 0-1.71-.71L8 6.59l-2.29-2.3a1.003 1.003 0 0 0-1.42 1.42L6.59 8 4.3 10.29c-.19.18-.3.43-.3.71a1.003 1.003 0 0 0 1.71.71L8 9.41l2.29 2.29c.18.19.43.3.71.3a1.003 1.003 0 0 0 .71-1.71L9.41 8z",fillRule:"evenodd",fill:"currentColor"})});nt({d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8 0-1.85.63-3.55 1.69-4.9L16.9 18.31C15.55 19.37 13.85 20 12 20zm6.31-3.1L7.1 5.69C8.45 4.63 10.15 4 12 4c4.42 0 8 3.58 8 8 0 1.85-.63 3.55-1.69 4.9z",displayName:"NotAllowedIcon"});nt({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",displayName:"TriangleDownIcon"});nt({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",displayName:"TriangleUpIcon"});nt({displayName:"InfoOutlineIcon",path:te("g",{fill:"currentColor",stroke:"currentColor",strokeLinecap:"square",strokeWidth:"2",children:[w("circle",{cx:"12",cy:"12",fill:"none",r:"11",stroke:"currentColor"}),w("line",{fill:"none",x1:"11.959",x2:"11.959",y1:"11",y2:"17"}),w("circle",{cx:"11.959",cy:"7",r:"1",stroke:"none"})]})});nt({displayName:"BellIcon",d:"M12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-6v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z"});nt({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"});nt({d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,19a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,12,19Zm1.6-6.08a1,1,0,0,0-.6.917,1,1,0,1,1-2,0,3,3,0,0,1,1.8-2.75A2,2,0,1,0,10,9.255a1,1,0,1,1-2,0,4,4,0,1,1,5.6,3.666Z",displayName:"QuestionIcon"});nt({displayName:"QuestionOutlineIcon",path:te("g",{stroke:"currentColor",strokeWidth:"1.5",children:[w("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"}),w("path",{fill:"none",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),w("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]})});nt({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",displayName:"WarningIcon"});nt({displayName:"WarningTwoIcon",d:"M23.119,20,13.772,2.15h0a2,2,0,0,0-3.543,0L.881,20a2,2,0,0,0,1.772,2.928H21.347A2,2,0,0,0,23.119,20ZM11,8.423a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Zm1.05,11.51h-.028a1.528,1.528,0,0,1-1.522-1.47,1.476,1.476,0,0,1,1.448-1.53h.028A1.527,1.527,0,0,1,13.5,18.4,1.475,1.475,0,0,1,12.05,19.933Z"});nt({viewBox:"0 0 14 14",path:w("g",{fill:"currentColor",children:w("polygon",{points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})})});nt({displayName:"MinusIcon",path:w("g",{fill:"currentColor",children:w("rect",{height:"4",width:"20",x:"2",y:"10"})})});nt({displayName:"HamburgerIcon",viewBox:"0 0 24 24",d:"M 3 5 A 1.0001 1.0001 0 1 0 3 7 L 21 7 A 1.0001 1.0001 0 1 0 21 5 L 3 5 z M 3 11 A 1.0001 1.0001 0 1 0 3 13 L 21 13 A 1.0001 1.0001 0 1 0 21 11 L 3 11 z M 3 17 A 1.0001 1.0001 0 1 0 3 19 L 21 19 A 1.0001 1.0001 0 1 0 21 17 L 3 17 z"});function $ye(e){return mt({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 Qn=({label:e,value:t,onClick:n,isLink:r,labelPosition:i})=>te(Dn,{gap:2,children:[n&&w(Xr,{label:`Recall ${e}`,children:w(Bi,{"aria-label":"Use this parameter",icon:w($ye,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),te(Dn,{direction:i?"column":"row",children:[te(wo,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?te(jp,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",w(zB,{mx:"2px"})]}):w(wo,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}),Hye=(e,t)=>e.image.uuid===t.image.uuid,Wye=C.exports.memo(({image:e,styleClass:t})=>{const n=ct(),r=e?.metadata?.image||{},{type:i,postprocessing:o,sampler:a,prompt:s,seed:l,variations:d,steps:p,cfg_scale:g,seamless:m,hires_fix:y,width:b,height:S,strength:E,fit:P,init_image_path:k,mask_image_path:L,orig_path:I,scale:O}=r,N=JSON.stringify(r,null,2);return w("div",{className:`image-metadata-viewer ${t}`,children:te(Dn,{gap:1,direction:"column",width:"100%",children:[te(Dn,{gap:2,children:[w(wo,{fontWeight:"semibold",children:"File:"}),te(jp,{href:e.url,isExternal:!0,children:[e.url,w(zB,{mx:"2px"})]})]}),Object.keys(r).length>0?te(Fn,{children:[i&&w(Qn,{label:"Generation type",value:i}),["esrgan","gfpgan"].includes(i)&&w(Qn,{label:"Original image",value:I}),i==="gfpgan"&&E!==void 0&&w(Qn,{label:"Fix faces strength",value:E,onClick:()=>n(h3(E))}),i==="esrgan"&&O!==void 0&&w(Qn,{label:"Upscaling scale",value:O,onClick:()=>n(TC(O))}),i==="esrgan"&&E!==void 0&&w(Qn,{label:"Upscaling strength",value:E,onClick:()=>n(LC(E))}),s&&w(Qn,{label:"Prompt",labelPosition:"top",value:s3(s),onClick:()=>n(d_(s))}),l!==void 0&&w(Qn,{label:"Seed",value:l,onClick:()=>n(Iv(l))}),a&&w(Qn,{label:"Sampler",value:a,onClick:()=>n(dH(a))}),p&&w(Qn,{label:"Steps",value:p,onClick:()=>n(sH(p))}),g!==void 0&&w(Qn,{label:"CFG scale",value:g,onClick:()=>n(lH(g))}),d&&d.length>0&&w(Qn,{label:"Seed-weight pairs",value:_5(d),onClick:()=>n(vH(_5(d)))}),m&&w(Qn,{label:"Seamless",value:m,onClick:()=>n(fH(m))}),y&&w(Qn,{label:"High Resolution Optimization",value:y,onClick:()=>n(hH(y))}),b&&w(Qn,{label:"Width",value:b,onClick:()=>n(cH(b))}),S&&w(Qn,{label:"Height",value:S,onClick:()=>n(uH(S))}),k&&w(Qn,{label:"Initial image",value:k,isLink:!0,onClick:()=>n(nv(k))}),L&&w(Qn,{label:"Mask image",value:L,isLink:!0,onClick:()=>n(AC(L))}),i==="img2img"&&E&&w(Qn,{label:"Image to image strength",value:E,onClick:()=>n(pH(E))}),P&&w(Qn,{label:"Image to image fit",value:P,onClick:()=>n(mH(P))}),o&&o.length>0&&te(Fn,{children:[w(Af,{size:"sm",children:"Postprocessing"}),o.map((D,F)=>{if(D.type==="esrgan"){const{scale:U,strength:W}=D;return te(Dn,{pl:"2rem",gap:1,direction:"column",children:[w(wo,{size:"md",children:`${F+1}: Upscale (ESRGAN)`}),w(Qn,{label:"Scale",value:U,onClick:()=>n(TC(U))}),w(Qn,{label:"Strength",value:W,onClick:()=>n(LC(W))})]},F)}else if(D.type==="gfpgan"){const{strength:U}=D;return te(Dn,{pl:"2rem",gap:1,direction:"column",children:[w(wo,{size:"md",children:`${F+1}: Face restoration (GFPGAN)`}),w(Qn,{label:"Strength",value:U,onClick:()=>{n(h3(U)),n(p3("gfpgan"))}})]},F)}else if(D.type==="codeformer"){const{strength:U,fidelity:W}=D;return te(Dn,{pl:"2rem",gap:1,direction:"column",children:[w(wo,{size:"md",children:`${F+1}: Face restoration (Codeformer)`}),w(Qn,{label:"Strength",value:U,onClick:()=>{n(h3(U)),n(p3("codeformer"))}}),W&&w(Qn,{label:"Fidelity",value:W,onClick:()=>{n(gH(W)),n(p3("codeformer"))}})]},F)}})]}),te(Dn,{gap:2,direction:"column",children:[te(Dn,{gap:2,children:[w(Xr,{label:"Copy metadata JSON",children:w(Bi,{"aria-label":"Copy metadata JSON",icon:w(gB,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(N)})}),w(wo,{fontWeight:"semibold",children:"Metadata JSON:"})]}),w("div",{className:"image-json-viewer",children:w("pre",{children:N})})]})]}):w(ED,{width:"100%",pt:10,children:w(wo,{fontSize:"lg",fontWeight:"semibold",children:"No metadata available"})})]})})},Hye),Vye=jt([e=>e.gallery,e=>e.options],(e,t)=>{const{currentCategory:n}=e,{shouldShowImageDetails:r}=t,i=e.categories[n].images,o=i.findIndex(s=>s.uuid===e?.currentImage?.uuid),a=i.length;return{currentCategory:n,isOnFirstImage:o===0,isOnLastImage:!isNaN(o)&&o===a-1,shouldShowImageDetails:r}},{memoizeOptions:{resultEqualityCheck:Wt.isEqual}});function Uye(e){const{imageToDisplay:t}=e,n=ct(),{isOnFirstImage:r,isOnLastImage:i,shouldShowImageDetails:o}=$e(Vye),[a,s]=C.exports.useState(!1),l=()=>{s(!0)},d=()=>{s(!1)},p=()=>{n(DB())},g=()=>{n(NB())};return te("div",{className:"current-image-preview",children:[w(z4,{src:t.url,width:t.width,height:t.height}),!o&&te("div",{className:"current-image-next-prev-buttons",children:[w("div",{className:"next-prev-button-trigger-area prev-button-trigger-area",onMouseOver:l,onMouseOut:d,children:a&&!r&&w(Bi,{"aria-label":"Previous image",icon:w(E2e,{className:"next-prev-button"}),variant:"unstyled",onClick:p})}),w("div",{className:"next-prev-button-trigger-area next-button-trigger-area",onMouseOver:l,onMouseOut:d,children:a&&!i&&w(Bi,{"aria-label":"Next image",icon:w(P2e,{className:"next-prev-button"}),variant:"unstyled",onClick:g})})]}),o&&w(Wye,{image:t,styleClass:"current-image-metadata"})]})}const Gye=jt([e=>e.gallery,e=>e.options,Ga],(e,t,n)=>{const{currentImage:r,intermediateImage:i}=e,{shouldShowImageDetails:o}=t;return{currentImage:r,intermediateImage:i,activeTabName:n,shouldShowImageDetails:o}},{memoizeOptions:{resultEqualityCheck:Wt.isEqual}}),j7=()=>{const{currentImage:e,intermediateImage:t,activeTabName:n}=$e(Gye),r=t||e;return w("div",{className:"current-image-area","data-tab-name":n,children:r?te(Fn,{children:[w(Aye,{image:r}),w(Uye,{imageToDisplay:r})]}):w("div",{className:"current-image-display-placeholder",children:w(v2e,{})})})};function jye(){const{initialImage:e}=$e(o=>o.options),t=ct(),n=od(),r=o=>{o.stopPropagation(),t(IC())},i=()=>{n({title:"Problem loading parameters",description:"Unable to load init image.",status:"error",isClosable:!0}),t(IC())};return te(Fn,{children:[te("div",{className:"init-image-preview-header",children:[w("h2",{children:"Initial Image"}),w(Bi,{isDisabled:!e,"aria-label":"Reset Initial Image",onClick:r,icon:w(p2e,{})})]}),e&&w("div",{className:"init-image-preview",children:w(z4,{fit:"contain",maxWidth:"100%",maxHeight:"100%",src:typeof e=="string"?e:e.url,onError:i})})]})}const qye=()=>{const e=$e(r=>r.options.initialImage),{currentImage:t}=$e(r=>r.gallery);return te("div",{className:"workarea-split-view",children:[w("div",{className:"workarea-split-view-left",children:e?w("div",{className:"image-to-image-area",children:w(jye,{})}):w(IB,{})}),t&&w("div",{className:"workarea-split-view-right",children:w(j7,{})})]})};var Kye=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)}}(),zr=globalThis&&globalThis.__assign||function(){return zr=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)}},t3e=["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"],YL="__resizable_base__",FB=function(e){Xye(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(YL):o.className+=YL,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||Qye},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(),d=Number(n.state[s].toString().replace("px","")),p=d/l[s]*100;return p+"%"}return ES(n.state[s])},o=r&&typeof r.width<"u"&&!this.state.isResizing?ES(r.width):i("width"),a=r&&typeof r.height<"u"&&!this.state.isResizing?ES(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&&up("left",o),s=i&&up("top",o),l,d;if(this.props.bounds==="parent"){var p=this.parentNode;p&&(l=a?this.resizableRight-this.parentLeft:p.offsetWidth+(this.parentLeft-this.resizableLeft),d=s?this.resizableBottom-this.parentTop:p.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(l=a?this.resizableRight:this.window.innerWidth-this.resizableLeft,d=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),d=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,g=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,S=d||0;if(s){var E=(m-b)*this.ratio+S,P=(y-b)*this.ratio+S,k=(p-S)/this.ratio+b,L=(g-S)/this.ratio+b,I=Math.max(p,E),O=Math.min(g,P),N=Math.max(m,k),D=Math.min(y,L);n=uy(n,I,O),r=uy(r,N,D)}else n=uy(n,p,g),r=uy(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,d=o.bottom;this.resizableLeft=a,this.resizableRight=l,this.resizableTop=s,this.resizableBottom=d}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var i=0,o=0;if(n.nativeEvent&&Jye(n.nativeEvent)?(i=n.nativeEvent.clientX,o=n.nativeEvent.clientY):n.nativeEvent&&cy(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 d=this.parentNode;if(d){var p=this.window.getComputedStyle(d).flexDirection;this.flexDir=p.startsWith("row")?"row":"column",s=l.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var g={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(g)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&cy(n))try{n.preventDefault(),n.stopPropagation()}catch{}var i=this.props,o=i.maxWidth,a=i.maxHeight,s=i.minWidth,l=i.minHeight,d=cy(n)?n.touches[0].clientX:n.clientX,p=cy(n)?n.touches[0].clientY:n.clientY,g=this.state,m=g.direction,y=g.original,b=g.width,S=g.height,E=this.getParentSize(),P=e3e(E,this.window.innerWidth,this.window.innerHeight,o,a,s,l);o=P.maxWidth,a=P.maxHeight,s=P.minWidth,l=P.minHeight;var k=this.calculateNewSizeFromDirection(d,p),L=k.newHeight,I=k.newWidth,O=this.calculateNewMaxFromBoundary(o,a);this.props.snap&&this.props.snap.x&&(I=ZL(I,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(L=ZL(L,this.props.snap.y,this.props.snapGap));var N=this.calculateNewSizeFromAspectRatio(I,L,{width:O.maxWidth,height:O.maxHeight},{width:s,height:l});if(I=N.newWidth,L=N.newHeight,this.props.grid){var D=KL(I,this.props.grid[0]),F=KL(L,this.props.grid[1]),U=this.props.snapGap||0;I=U===0||Math.abs(D-I)<=U?D:I,L=U===0||Math.abs(F-L)<=U?F:L}var W={width:I-y.width,height:L-y.height};if(b&&typeof b=="string"){if(b.endsWith("%")){var q=I/E.width*100;I=q+"%"}else if(b.endsWith("vw")){var pe=I/this.window.innerWidth*100;I=pe+"vw"}else if(b.endsWith("vh")){var fe=I/this.window.innerHeight*100;I=fe+"vh"}}if(S&&typeof S=="string"){if(S.endsWith("%")){var q=L/E.height*100;L=q+"%"}else if(S.endsWith("vw")){var pe=L/this.window.innerWidth*100;L=pe+"vw"}else if(S.endsWith("vh")){var fe=L/this.window.innerHeight*100;L=fe+"vh"}}var ye={width:this.createSizeForCssProperty(I,"width"),height:this.createSizeForCssProperty(L,"height")};this.flexDir==="row"?ye.flexBasis=ye.width:this.flexDir==="column"&&(ye.flexBasis=ye.height),El.exports.flushSync(function(){r.setState(ye)}),this.props.onResize&&this.props.onResize(n,m,this.resizable,W)}},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,d=r.handleComponent;if(!i)return null;var p=Object.keys(i).map(function(g){return i[g]!==!1?w(Yye,{direction:g,onResizeStart:n.onResizeStart,replaceStyles:o&&o[g],className:a&&a[g],children:d&&d[g]?d[g]:null},g):null});return w("div",{className:l,style:s,children:p})},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(a,s){return t3e.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 te(o,{...ol({ref:this.ref,style:i,className:this.props.className},r),children:[this.state.isResizing&&w("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}(C.exports.PureComponent);function Gn(e,t,{checkForDefaultPrevented:n=!0}={}){return function(i){if(e?.(i),n===!1||!i.defaultPrevented)return t?.(i)}}function Pv(e,t=[]){let n=[];function r(o,a){const s=C.exports.createContext(a),l=n.length;n=[...n,a];function d(g){const{scope:m,children:y,...b}=g,S=m?.[e][l]||s,E=C.exports.useMemo(()=>b,Object.values(b));return C.exports.createElement(S.Provider,{value:E},y)}function p(g,m){const y=m?.[e][l]||s,b=C.exports.useContext(y);if(b)return b;if(a!==void 0)return a;throw new Error(`\`${g}\` must be used within \`${o}\``)}return d.displayName=o+"Provider",[d,p]}const i=()=>{const o=n.map(a=>C.exports.createContext(a));return function(s){const l=s?.[e]||o;return C.exports.useMemo(()=>({[`__scope${e}`]:{...s,[e]:l}}),[s,l])}};return i.scopeName=e,[r,n3e(i,...t)]}function n3e(...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:d})=>{const g=l(o)[`__scope${d}`];return{...s,...g}},{});return C.exports.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function r3e(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function BB(...e){return t=>e.forEach(n=>r3e(n,t))}function Ha(...e){return C.exports.useCallback(BB(...e),e)}const ev=C.exports.forwardRef((e,t)=>{const{children:n,...r}=e,i=C.exports.Children.toArray(n),o=i.find(o3e);if(o){const a=o.props.children,s=i.map(l=>l===o?C.exports.Children.count(a)>1?C.exports.Children.only(null):C.exports.isValidElement(a)?a.props.children:null:l);return C.exports.createElement(rC,En({},r,{ref:t}),C.exports.isValidElement(a)?C.exports.cloneElement(a,void 0,s):null)}return C.exports.createElement(rC,En({},r,{ref:t}),n)});ev.displayName="Slot";const rC=C.exports.forwardRef((e,t)=>{const{children:n,...r}=e;return C.exports.isValidElement(n)?C.exports.cloneElement(n,{...a3e(r,n.props),ref:BB(t,n.ref)}):C.exports.Children.count(n)>1?C.exports.Children.only(null):null});rC.displayName="SlotClone";const i3e=({children:e})=>C.exports.createElement(C.exports.Fragment,null,e);function o3e(e){return C.exports.isValidElement(e)&&e.type===i3e}function a3e(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 s3e=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],mu=s3e.reduce((e,t)=>{const n=C.exports.forwardRef((r,i)=>{const{asChild:o,...a}=r,s=o?ev:t;return C.exports.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),C.exports.createElement(s,En({},a,{ref:i}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function $B(e,t){e&&El.exports.flushSync(()=>e.dispatchEvent(t))}function HB(e){const t=e+"CollectionProvider",[n,r]=Pv(t),[i,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=y=>{const{scope:b,children:S}=y,E=ne.useRef(null),P=ne.useRef(new Map).current;return ne.createElement(i,{scope:b,itemMap:P,collectionRef:E},S)},s=e+"CollectionSlot",l=ne.forwardRef((y,b)=>{const{scope:S,children:E}=y,P=o(s,S),k=Ha(b,P.collectionRef);return ne.createElement(ev,{ref:k},E)}),d=e+"CollectionItemSlot",p="data-radix-collection-item",g=ne.forwardRef((y,b)=>{const{scope:S,children:E,...P}=y,k=ne.useRef(null),L=Ha(b,k),I=o(d,S);return ne.useEffect(()=>(I.itemMap.set(k,{ref:k,...P}),()=>void I.itemMap.delete(k))),ne.createElement(ev,{[p]:"",ref:L},E)});function m(y){const b=o(e+"CollectionConsumer",y);return ne.useCallback(()=>{const E=b.collectionRef.current;if(!E)return[];const P=Array.from(E.querySelectorAll(`[${p}]`));return Array.from(b.itemMap.values()).sort((I,O)=>P.indexOf(I.ref.current)-P.indexOf(O.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:a,Slot:l,ItemSlot:g},m,r]}const l3e=C.exports.createContext(void 0);function WB(e){const t=C.exports.useContext(l3e);return e||t||"ltr"}function Cl(e){const t=C.exports.useRef(e);return C.exports.useEffect(()=>{t.current=e}),C.exports.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function u3e(e,t=globalThis?.document){const n=Cl(e);C.exports.useEffect(()=>{const r=i=>{i.key==="Escape"&&n(i)};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)},[n,t])}const iC="dismissableLayer.update",c3e="dismissableLayer.pointerDownOutside",d3e="dismissableLayer.focusOutside";let XL;const f3e=C.exports.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),h3e=C.exports.forwardRef((e,t)=>{var n;const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:s,onDismiss:l,...d}=e,p=C.exports.useContext(f3e),[g,m]=C.exports.useState(null),y=(n=g?.ownerDocument)!==null&&n!==void 0?n:globalThis?.document,[,b]=C.exports.useState({}),S=Ha(t,F=>m(F)),E=Array.from(p.layers),[P]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),k=E.indexOf(P),L=g?E.indexOf(g):-1,I=p.layersWithOutsidePointerEventsDisabled.size>0,O=L>=k,N=p3e(F=>{const U=F.target,W=[...p.branches].some(q=>q.contains(U));!O||W||(o?.(F),s?.(F),F.defaultPrevented||l?.())},y),D=g3e(F=>{const U=F.target;[...p.branches].some(q=>q.contains(U))||(a?.(F),s?.(F),F.defaultPrevented||l?.())},y);return u3e(F=>{L===p.layers.size-1&&(i?.(F),!F.defaultPrevented&&l&&(F.preventDefault(),l()))},y),C.exports.useEffect(()=>{if(!!g)return r&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(XL=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(g)),p.layers.add(g),QL(),()=>{r&&p.layersWithOutsidePointerEventsDisabled.size===1&&(y.body.style.pointerEvents=XL)}},[g,y,r,p]),C.exports.useEffect(()=>()=>{!g||(p.layers.delete(g),p.layersWithOutsidePointerEventsDisabled.delete(g),QL())},[g,p]),C.exports.useEffect(()=>{const F=()=>b({});return document.addEventListener(iC,F),()=>document.removeEventListener(iC,F)},[]),C.exports.createElement(mu.div,En({},d,{ref:S,style:{pointerEvents:I?O?"auto":"none":void 0,...e.style},onFocusCapture:Gn(e.onFocusCapture,D.onFocusCapture),onBlurCapture:Gn(e.onBlurCapture,D.onBlurCapture),onPointerDownCapture:Gn(e.onPointerDownCapture,N.onPointerDownCapture)}))});function p3e(e,t=globalThis?.document){const n=Cl(e),r=C.exports.useRef(!1),i=C.exports.useRef(()=>{});return C.exports.useEffect(()=>{const o=s=>{if(s.target&&!r.current){let d=function(){VB(c3e,n,l,{discrete:!0})};const l={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",i.current),i.current=d,t.addEventListener("click",i.current,{once:!0})):d()}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 g3e(e,t=globalThis?.document){const n=Cl(e),r=C.exports.useRef(!1);return C.exports.useEffect(()=>{const i=o=>{o.target&&!r.current&&VB(d3e,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 QL(){const e=new CustomEvent(iC);document.dispatchEvent(e)}function VB(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?$B(i,o):i.dispatchEvent(o)}let PS=0;function m3e(){C.exports.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:JL()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:JL()),PS++,()=>{PS===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),PS--}},[])}function JL(){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 TS="focusScope.autoFocusOnMount",LS="focusScope.autoFocusOnUnmount",eA={bubbles:!1,cancelable:!0},v3e=C.exports.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...a}=e,[s,l]=C.exports.useState(null),d=Cl(i),p=Cl(o),g=C.exports.useRef(null),m=Ha(t,S=>l(S)),y=C.exports.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;C.exports.useEffect(()=>{if(r){let S=function(P){if(y.paused||!s)return;const k=P.target;s.contains(k)?g.current=k:lf(g.current,{select:!0})},E=function(P){y.paused||!s||s.contains(P.relatedTarget)||lf(g.current,{select:!0})};return document.addEventListener("focusin",S),document.addEventListener("focusout",E),()=>{document.removeEventListener("focusin",S),document.removeEventListener("focusout",E)}}},[r,s,y.paused]),C.exports.useEffect(()=>{if(s){nA.add(y);const S=document.activeElement;if(!s.contains(S)){const P=new CustomEvent(TS,eA);s.addEventListener(TS,d),s.dispatchEvent(P),P.defaultPrevented||(y3e(C3e(UB(s)),{select:!0}),document.activeElement===S&&lf(s))}return()=>{s.removeEventListener(TS,d),setTimeout(()=>{const P=new CustomEvent(LS,eA);s.addEventListener(LS,p),s.dispatchEvent(P),P.defaultPrevented||lf(S??document.body,{select:!0}),s.removeEventListener(LS,p),nA.remove(y)},0)}}},[s,d,p,y]);const b=C.exports.useCallback(S=>{if(!n&&!r||y.paused)return;const E=S.key==="Tab"&&!S.altKey&&!S.ctrlKey&&!S.metaKey,P=document.activeElement;if(E&&P){const k=S.currentTarget,[L,I]=x3e(k);L&&I?!S.shiftKey&&P===I?(S.preventDefault(),n&&lf(L,{select:!0})):S.shiftKey&&P===L&&(S.preventDefault(),n&&lf(I,{select:!0})):P===k&&S.preventDefault()}},[n,r,y.paused]);return C.exports.createElement(mu.div,En({tabIndex:-1},a,{ref:m,onKeyDown:b}))});function y3e(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(lf(r,{select:t}),document.activeElement!==n)return}function x3e(e){const t=UB(e),n=tA(t,e),r=tA(t.reverse(),e);return[n,r]}function UB(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 tA(e,t){for(const n of e)if(!b3e(n,{upTo:t}))return n}function b3e(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 S3e(e){return e instanceof HTMLInputElement&&"select"in e}function lf(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&S3e(e)&&t&&e.select()}}const nA=w3e();function w3e(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=rA(e,t),e.unshift(t)},remove(t){var n;e=rA(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function rA(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function C3e(e){return e.filter(t=>t.tagName!=="A")}const x0=Boolean(globalThis?.document)?C.exports.useLayoutEffect:()=>{},_3e=US["useId".toString()]||(()=>{});let k3e=0;function E3e(e){const[t,n]=C.exports.useState(_3e());return x0(()=>{e||n(r=>r??String(k3e++))},[e]),e||(t?`radix-${t}`:"")}function z0(e){return e.split("-")[0]}function px(e){return e.split("-")[1]}function F0(e){return["top","bottom"].includes(z0(e))?"x":"y"}function q7(e){return e==="y"?"height":"width"}function iA(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=F0(t),l=q7(s),d=r[l]/2-i[l]/2,p=z0(t),g=s==="x";let m;switch(p){case"top":m={x:o,y:r.y-i.height};break;case"bottom":m={x:o,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:a};break;case"left":m={x:r.x-i.width,y:a};break;default:m={x:r.x,y:r.y}}switch(px(t)){case"start":m[s]-=d*(n&&g?-1:1);break;case"end":m[s]+=d*(n&&g?-1:1);break}return m}const P3e=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:d,y:p}=iA(l,r,s),g=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 d=GB(r),p={x:i,y:o},g=F0(a),m=px(a),y=q7(g),b=await l.getDimensions(n),S=g==="y"?"top":"left",E=g==="y"?"bottom":"right",P=s.reference[y]+s.reference[g]-p[g]-s.floating[y],k=p[g]-s.reference[g],L=await(l.getOffsetParent==null?void 0:l.getOffsetParent(n));let I=L?g==="y"?L.clientHeight||0:L.clientWidth||0:0;I===0&&(I=s.floating[y]);const O=P/2-k/2,N=d[S],D=I-b[y]-d[E],F=I/2-b[y]/2+O,U=oC(N,F,D),pe=(m==="start"?d[S]:d[E])>0&&F!==U&&s.reference[y]<=s.floating[y]?FI3e[t])}function M3e(e,t,n){n===void 0&&(n=!1);const r=px(e),i=F0(e),o=q7(i);let a=i==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=L5(a)),{main:a,cross:L5(a)}}const R3e={start:"end",end:"start"};function aA(e){return e.replace(/start|end/g,t=>R3e[t])}const O3e=["top","right","bottom","left"];function N3e(e){const t=L5(e);return[aA(e),t,aA(t)]}const D3e=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:d=!0,crossAxis:p=!0,fallbackPlacements:g,fallbackStrategy:m="bestFit",flipAlignment:y=!0,...b}=e,S=z0(r),P=g||(S===a||!y?[L5(a)]:N3e(a)),k=[a,...P],L=await T5(t,b),I=[];let O=((n=i.flip)==null?void 0:n.overflows)||[];if(d&&I.push(L[S]),p){const{main:U,cross:W}=M3e(r,o,await(s.isRTL==null?void 0:s.isRTL(l.floating)));I.push(L[U],L[W])}if(O=[...O,{placement:r,overflows:I}],!I.every(U=>U<=0)){var N,D;const U=((N=(D=i.flip)==null?void 0:D.index)!=null?N:0)+1,W=k[U];if(W)return{data:{index:U,overflows:O},reset:{placement:W}};let q="bottom";switch(m){case"bestFit":{var F;const pe=(F=O.map(fe=>[fe,fe.overflows.filter(ye=>ye>0).reduce((ye,Pe)=>ye+Pe,0)]).sort((fe,ye)=>fe[1]-ye[1])[0])==null?void 0:F[0].placement;pe&&(q=pe);break}case"initialPlacement":q=a;break}if(r!==q)return{reset:{placement:q}}}return{}}}};function sA(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function lA(e){return O3e.some(t=>e[t]>=0)}const z3e=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=await T5(r,{...n,elementContext:"reference"}),a=sA(o,i.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:lA(a)}}}case"escaped":{const o=await T5(r,{...n,altBoundary:!0}),a=sA(o,i.floating);return{data:{escapedOffsets:a,escaped:lA(a)}}}default:return{}}}}};async function F3e(e,t){const{placement:n,platform:r,elements:i}=e,o=await(r.isRTL==null?void 0:r.isRTL(i.floating)),a=z0(n),s=px(n),l=F0(n)==="x",d=["left","top"].includes(a)?-1:1,p=o&&l?-1:1,g=typeof t=="function"?t(e):t;let{mainAxis:m,crossAxis:y,alignmentAxis:b}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...g};return s&&typeof b=="number"&&(y=s==="end"?b*-1:b),l?{x:y*p,y:m*d}:{x:m*d,y:y*p}}const B3e=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,i=await F3e(t,e);return{x:n+i.x,y:r+i.y,data:i}}}};function jB(e){return e==="x"?"y":"x"}const $3e=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:P,y:k}=E;return{x:P,y:k}}},...l}=e,d={x:n,y:r},p=await T5(t,l),g=F0(z0(i)),m=jB(g);let y=d[g],b=d[m];if(o){const E=g==="y"?"top":"left",P=g==="y"?"bottom":"right",k=y+p[E],L=y-p[P];y=oC(k,y,L)}if(a){const E=m==="y"?"top":"left",P=m==="y"?"bottom":"right",k=b+p[E],L=b-p[P];b=oC(k,b,L)}const S=s.fn({...t,[g]:y,[m]:b});return{...S,data:{x:S.x-n,y:S.y-r}}}}},H3e=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:d=!0}=e,p={x:n,y:r},g=F0(i),m=jB(g);let y=p[g],b=p[m];const S=typeof s=="function"?s({...o,placement:i}):s,E=typeof S=="number"?{mainAxis:S,crossAxis:0}:{mainAxis:0,crossAxis:0,...S};if(l){const O=g==="y"?"height":"width",N=o.reference[g]-o.floating[O]+E.mainAxis,D=o.reference[g]+o.reference[O]-E.mainAxis;yD&&(y=D)}if(d){var P,k,L,I;const O=g==="y"?"width":"height",N=["top","left"].includes(z0(i)),D=o.reference[m]-o.floating[O]+(N&&(P=(k=a.offset)==null?void 0:k[m])!=null?P:0)+(N?0:E.crossAxis),F=o.reference[m]+o.reference[O]+(N?0:(L=(I=a.offset)==null?void 0:I[m])!=null?L:0)-(N?E.crossAxis:0);bF&&(b=F)}return{[g]:y,[m]:b}}}};function qB(e){return e&&e.document&&e.location&&e.alert&&e.setInterval}function Cu(e){if(e==null)return window;if(!qB(e)){const t=e.ownerDocument;return t&&t.defaultView||window}return e}function Tv(e){return Cu(e).getComputedStyle(e)}function vu(e){return qB(e)?"":e?(e.nodeName||"").toLowerCase():""}function KB(){const e=navigator.userAgentData;return e!=null&&e.brands?e.brands.map(t=>t.brand+"/"+t.version).join(" "):navigator.userAgent}function _l(e){return e instanceof Cu(e).HTMLElement}function Xc(e){return e instanceof Cu(e).Element}function W3e(e){return e instanceof Cu(e).Node}function K7(e){if(typeof ShadowRoot>"u")return!1;const t=Cu(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function gx(e){const{overflow:t,overflowX:n,overflowY:r}=Tv(e);return/auto|scroll|overlay|hidden/.test(t+r+n)}function V3e(e){return["table","td","th"].includes(vu(e))}function ZB(e){const t=/firefox/i.test(KB()),n=Tv(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":!1)}function YB(){return!/^((?!chrome|android).)*safari/i.test(KB())}const uA=Math.min,am=Math.max,A5=Math.round;function yu(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,d=1;t&&_l(e)&&(l=e.offsetWidth>0&&A5(s.width)/e.offsetWidth||1,d=e.offsetHeight>0&&A5(s.height)/e.offsetHeight||1);const p=Xc(e)?Cu(e):window,g=!YB()&&n,m=(s.left+(g&&(r=(i=p.visualViewport)==null?void 0:i.offsetLeft)!=null?r:0))/l,y=(s.top+(g&&(o=(a=p.visualViewport)==null?void 0:a.offsetTop)!=null?o:0))/d,b=s.width/l,S=s.height/d;return{width:b,height:S,top:y,right:m+b,bottom:y+S,left:m,x:m,y}}function ad(e){return((W3e(e)?e.ownerDocument:e.document)||window.document).documentElement}function mx(e){return Xc(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function XB(e){return yu(ad(e)).left+mx(e).scrollLeft}function U3e(e){const t=yu(e);return A5(t.width)!==e.offsetWidth||A5(t.height)!==e.offsetHeight}function G3e(e,t,n){const r=_l(t),i=ad(t),o=yu(e,r&&U3e(t),n==="fixed");let a={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if(r||!r&&n!=="fixed")if((vu(t)!=="body"||gx(i))&&(a=mx(t)),_l(t)){const l=yu(t,!0);s.x=l.x+t.clientLeft,s.y=l.y+t.clientTop}else i&&(s.x=XB(i));return{x:o.left+a.scrollLeft-s.x,y:o.top+a.scrollTop-s.y,width:o.width,height:o.height}}function QB(e){return vu(e)==="html"?e:e.assignedSlot||e.parentNode||(K7(e)?e.host:null)||ad(e)}function cA(e){return!_l(e)||getComputedStyle(e).position==="fixed"?null:e.offsetParent}function j3e(e){let t=QB(e);for(K7(t)&&(t=t.host);_l(t)&&!["html","body"].includes(vu(t));){if(ZB(t))return t;t=t.parentNode}return null}function aC(e){const t=Cu(e);let n=cA(e);for(;n&&V3e(n)&&getComputedStyle(n).position==="static";)n=cA(n);return n&&(vu(n)==="html"||vu(n)==="body"&&getComputedStyle(n).position==="static"&&!ZB(n))?t:n||j3e(e)||t}function dA(e){if(_l(e))return{width:e.offsetWidth,height:e.offsetHeight};const t=yu(e);return{width:t.width,height:t.height}}function q3e(e){let{rect:t,offsetParent:n,strategy:r}=e;const i=_l(n),o=ad(n);if(n===o)return t;let a={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if((i||!i&&r!=="fixed")&&((vu(n)!=="body"||gx(o))&&(a=mx(n)),_l(n))){const l=yu(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}}function K3e(e,t){const n=Cu(e),r=ad(e),i=n.visualViewport;let o=r.clientWidth,a=r.clientHeight,s=0,l=0;if(i){o=i.width,a=i.height;const d=YB();(d||!d&&t==="fixed")&&(s=i.offsetLeft,l=i.offsetTop)}return{width:o,height:a,x:s,y:l}}function Z3e(e){var t;const n=ad(e),r=mx(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=am(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=am(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0);let s=-r.scrollLeft+XB(e);const l=-r.scrollTop;return Tv(i||n).direction==="rtl"&&(s+=am(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:a,x:s,y:l}}function JB(e){const t=QB(e);return["html","body","#document"].includes(vu(t))?e.ownerDocument.body:_l(t)&&gx(t)?t:JB(t)}function I5(e,t){var n;t===void 0&&(t=[]);const r=JB(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=Cu(r),a=i?[o].concat(o.visualViewport||[],gx(r)?r:[]):r,s=t.concat(a);return i?s:s.concat(I5(a))}function Y3e(e,t){const n=t.getRootNode==null?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&K7(n)){let r=t;do{if(r&&e===r)return!0;r=r.parentNode||r.host}while(r)}return!1}function X3e(e,t){const n=yu(e,!1,t==="fixed"),r=n.top+e.clientTop,i=n.left+e.clientLeft;return{top:r,left:i,x:i,y:r,right:i+e.clientWidth,bottom:r+e.clientHeight,width:e.clientWidth,height:e.clientHeight}}function fA(e,t,n){return t==="viewport"?P5(K3e(e,n)):Xc(t)?X3e(t,n):P5(Z3e(ad(e)))}function Q3e(e){const t=I5(e),r=["absolute","fixed"].includes(Tv(e).position)&&_l(e)?aC(e):e;return Xc(r)?t.filter(i=>Xc(i)&&Y3e(i,r)&&vu(i)!=="body"):[]}function J3e(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e;const a=[...n==="clippingAncestors"?Q3e(t):[].concat(n),r],s=a[0],l=a.reduce((d,p)=>{const g=fA(t,p,i);return d.top=am(g.top,d.top),d.right=uA(g.right,d.right),d.bottom=uA(g.bottom,d.bottom),d.left=am(g.left,d.left),d},fA(t,s,i));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}const e5e={getClippingRect:J3e,convertOffsetParentRelativeRectToViewportRelativeRect:q3e,isElement:Xc,getDimensions:dA,getOffsetParent:aC,getDocumentElement:ad,getElementRects:e=>{let{reference:t,floating:n,strategy:r}=e;return{reference:G3e(t,aC(n),r),floating:{...dA(n),x:0,y:0}}},getClientRects:e=>Array.from(e.getClientRects()),isRTL:e=>Tv(e).direction==="rtl"};function t5e(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,d=o&&!s,p=l||d?[...Xc(e)?I5(e):[],...I5(t)]:[];p.forEach(S=>{l&&S.addEventListener("scroll",n,{passive:!0}),d&&S.addEventListener("resize",n)});let g=null;if(a){let S=!0;g=new ResizeObserver(()=>{S||n(),S=!1}),Xc(e)&&!s&&g.observe(e),g.observe(t)}let m,y=s?yu(e):null;s&&b();function b(){const S=yu(e);y&&(S.x!==y.x||S.y!==y.y||S.width!==y.width||S.height!==y.height)&&n(),y=S,m=requestAnimationFrame(b)}return n(),()=>{var S;p.forEach(E=>{l&&E.removeEventListener("scroll",n),d&&E.removeEventListener("resize",n)}),(S=g)==null||S.disconnect(),g=null,s&&cancelAnimationFrame(m)}}const n5e=(e,t,n)=>P3e(e,t,{platform:e5e,...n});var sC=typeof document<"u"?C.exports.useLayoutEffect:C.exports.useEffect;function lC(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(!lC(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)&&!lC(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}function r5e(e){const t=C.exports.useRef(e);return sC(()=>{t.current=e}),t}function i5e(e){let{middleware:t,placement:n="bottom",strategy:r="absolute",whileElementsMounted:i}=e===void 0?{}:e;const o=C.exports.useRef(null),a=C.exports.useRef(null),s=r5e(i),l=C.exports.useRef(null),[d,p]=C.exports.useState({x:null,y:null,strategy:r,placement:n,middlewareData:{}}),[g,m]=C.exports.useState(t);lC(g?.map(L=>{let{options:I}=L;return I}),t?.map(L=>{let{options:I}=L;return I}))||m(t);const y=C.exports.useCallback(()=>{!o.current||!a.current||n5e(o.current,a.current,{middleware:g,placement:n,strategy:r}).then(L=>{b.current&&El.exports.flushSync(()=>{p(L)})})},[g,n,r]);sC(()=>{b.current&&y()},[y]);const b=C.exports.useRef(!1);sC(()=>(b.current=!0,()=>{b.current=!1}),[]);const S=C.exports.useCallback(()=>{if(typeof l.current=="function"&&(l.current(),l.current=null),o.current&&a.current)if(s.current){const L=s.current(o.current,a.current,y);l.current=L}else y()},[y,s]),E=C.exports.useCallback(L=>{o.current=L,S()},[S]),P=C.exports.useCallback(L=>{a.current=L,S()},[S]),k=C.exports.useMemo(()=>({reference:o,floating:a}),[]);return C.exports.useMemo(()=>({...d,update:y,refs:k,reference:E,floating:P}),[d,y,k,E,P])}const o5e=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?oA({element:t.current,padding:n}).fn(i):{}:t?oA({element:t,padding:n}).fn(i):{}}}};function a5e(e){const[t,n]=C.exports.useState(void 0);return x0(()=>{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,d=Array.isArray(l)?l[0]:l;a=d.inlineSize,s=d.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 e$="Popper",[Z7,t$]=Pv(e$),[s5e,n$]=Z7(e$),l5e=e=>{const{__scopePopper:t,children:n}=e,[r,i]=C.exports.useState(null);return C.exports.createElement(s5e,{scope:t,anchor:r,onAnchorChange:i},n)},u5e="PopperAnchor",c5e=C.exports.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...i}=e,o=n$(u5e,n),a=C.exports.useRef(null),s=Ha(t,a);return C.exports.useEffect(()=>{o.onAnchorChange(r?.current||a.current)}),r?null:C.exports.createElement(mu.div,En({},i,{ref:s}))}),M5="PopperContent",[d5e,U9e]=Z7(M5),[f5e,h5e]=Z7(M5,{hasParent:!1,positionUpdateFns:new Set}),p5e=C.exports.forwardRef((e,t)=>{var n,r,i,o,a,s,l,d;const{__scopePopper:p,side:g="bottom",sideOffset:m=0,align:y="center",alignOffset:b=0,arrowPadding:S=0,collisionBoundary:E=[],collisionPadding:P=0,sticky:k="partial",hideWhenDetached:L=!1,avoidCollisions:I=!0,...O}=e,N=n$(M5,p),[D,F]=C.exports.useState(null),U=Ha(t,bt=>F(bt)),[W,q]=C.exports.useState(null),pe=a5e(W),fe=(n=pe?.width)!==null&&n!==void 0?n:0,ye=(r=pe?.height)!==null&&r!==void 0?r:0,Pe=g+(y!=="center"?"-"+y:""),xe=typeof P=="number"?P:{top:0,right:0,bottom:0,left:0,...P},Y=Array.isArray(E)?E:[E],V=Y.length>0,ae={padding:xe,boundary:Y.filter(m5e),altBoundary:V},{reference:oe,floating:X,strategy:me,x:ve,y:Se,placement:He,middlewareData:je,update:ut}=i5e({strategy:"fixed",placement:Pe,whileElementsMounted:t5e,middleware:[B3e({mainAxis:m+ye,alignmentAxis:b}),I?$3e({mainAxis:!0,crossAxis:!1,limiter:k==="partial"?H3e():void 0,...ae}):void 0,W?o5e({element:W,padding:S}):void 0,I?D3e({...ae}):void 0,v5e({arrowWidth:fe,arrowHeight:ye}),L?z3e({strategy:"referenceHidden"}):void 0].filter(g5e)});x0(()=>{oe(N.anchor)},[oe,N.anchor]);const qe=ve!==null&&Se!==null,[at,et]=r$(He),it=(i=je.arrow)===null||i===void 0?void 0:i.x,At=(o=je.arrow)===null||o===void 0?void 0:o.y,wt=((a=je.arrow)===null||a===void 0?void 0:a.centerOffset)!==0,[Le,ot]=C.exports.useState();x0(()=>{D&&ot(window.getComputedStyle(D).zIndex)},[D]);const{hasParent:Et,positionUpdateFns:rt}=h5e(M5,p),pt=!Et;C.exports.useLayoutEffect(()=>{if(!pt)return rt.add(ut),()=>{rt.delete(ut)}},[pt,rt,ut]),C.exports.useLayoutEffect(()=>{pt&&qe&&Array.from(rt).reverse().forEach(bt=>requestAnimationFrame(bt))},[pt,qe,rt]);const Sn={"data-side":at,"data-align":et,...O,ref:U,style:{...O.style,animation:qe?void 0:"none",opacity:(s=je.hide)!==null&&s!==void 0&&s.referenceHidden?0:void 0}};return C.exports.createElement("div",{ref:X,"data-radix-popper-content-wrapper":"",style:{position:me,left:0,top:0,transform:qe?`translate3d(${Math.round(ve)}px, ${Math.round(Se)}px, 0)`:"translate3d(0, -200%, 0)",minWidth:"max-content",zIndex:Le,["--radix-popper-transform-origin"]:[(l=je.transformOrigin)===null||l===void 0?void 0:l.x,(d=je.transformOrigin)===null||d===void 0?void 0:d.y].join(" ")}},C.exports.createElement(d5e,{scope:p,placedSide:at,onArrowChange:q,arrowX:it,arrowY:At,shouldHideArrow:wt},pt?C.exports.createElement(f5e,{scope:p,hasParent:!0,positionUpdateFns:rt},C.exports.createElement(mu.div,Sn)):C.exports.createElement(mu.div,Sn)))});function g5e(e){return e!==void 0}function m5e(e){return e!==null}const v5e=e=>({name:"transformOrigin",options:e,fn(t){var n,r,i,o,a;const{placement:s,rects:l,middlewareData:d}=t,g=((n=d.arrow)===null||n===void 0?void 0:n.centerOffset)!==0,m=g?0:e.arrowWidth,y=g?0:e.arrowHeight,[b,S]=r$(s),E={start:"0%",center:"50%",end:"100%"}[S],P=((r=(i=d.arrow)===null||i===void 0?void 0:i.x)!==null&&r!==void 0?r:0)+m/2,k=((o=(a=d.arrow)===null||a===void 0?void 0:a.y)!==null&&o!==void 0?o:0)+y/2;let L="",I="";return b==="bottom"?(L=g?E:`${P}px`,I=`${-y}px`):b==="top"?(L=g?E:`${P}px`,I=`${l.floating.height+y}px`):b==="right"?(L=`${-y}px`,I=g?E:`${k}px`):b==="left"&&(L=`${l.floating.width+y}px`,I=g?E:`${k}px`),{data:{x:L,y:I}}}});function r$(e){const[t,n="center"]=e.split("-");return[t,n]}const y5e=l5e,x5e=c5e,b5e=p5e;function S5e(e,t){return C.exports.useReducer((n,r)=>{const i=t[n][r];return i??n},e)}const i$=e=>{const{present:t,children:n}=e,r=w5e(t),i=typeof n=="function"?n({present:r.isPresent}):C.exports.Children.only(n),o=Ha(r.ref,i.ref);return typeof n=="function"||r.isPresent?C.exports.cloneElement(i,{ref:o}):null};i$.displayName="Presence";function w5e(e){const[t,n]=C.exports.useState(),r=C.exports.useRef({}),i=C.exports.useRef(e),o=C.exports.useRef("none"),a=e?"mounted":"unmounted",[s,l]=S5e(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return C.exports.useEffect(()=>{const d=fy(r.current);o.current=s==="mounted"?d:"none"},[s]),x0(()=>{const d=r.current,p=i.current;if(p!==e){const m=o.current,y=fy(d);e?l("MOUNT"):y==="none"||d?.display==="none"?l("UNMOUNT"):l(p&&m!==y?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,l]),x0(()=>{if(t){const d=g=>{const y=fy(r.current).includes(g.animationName);g.target===t&&y&&El.exports.flushSync(()=>l("ANIMATION_END"))},p=g=>{g.target===t&&(o.current=fy(r.current))};return t.addEventListener("animationstart",p),t.addEventListener("animationcancel",d),t.addEventListener("animationend",d),()=>{t.removeEventListener("animationstart",p),t.removeEventListener("animationcancel",d),t.removeEventListener("animationend",d)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:C.exports.useCallback(d=>{d&&(r.current=getComputedStyle(d)),n(d)},[])}}function fy(e){return e?.animationName||"none"}function C5e({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,i]=_5e({defaultProp:t,onChange:n}),o=e!==void 0,a=o?e:r,s=Cl(n),l=C.exports.useCallback(d=>{if(o){const g=typeof d=="function"?d(e):d;g!==e&&s(g)}else i(d)},[o,e,i,s]);return[a,l]}function _5e({defaultProp:e,onChange:t}){const n=C.exports.useState(e),[r]=n,i=C.exports.useRef(r),o=Cl(t);return C.exports.useEffect(()=>{i.current!==r&&(o(r),i.current=r)},[r,i,o]),n}const AS="rovingFocusGroup.onEntryFocus",k5e={bubbles:!1,cancelable:!0},Y7="RovingFocusGroup",[uC,o$,E5e]=HB(Y7),[P5e,a$]=Pv(Y7,[E5e]),[T5e,L5e]=P5e(Y7),A5e=C.exports.forwardRef((e,t)=>C.exports.createElement(uC.Provider,{scope:e.__scopeRovingFocusGroup},C.exports.createElement(uC.Slot,{scope:e.__scopeRovingFocusGroup},C.exports.createElement(I5e,En({},e,{ref:t}))))),I5e=C.exports.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:o,currentTabStopId:a,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:l,onEntryFocus:d,...p}=e,g=C.exports.useRef(null),m=Ha(t,g),y=WB(o),[b=null,S]=C5e({prop:a,defaultProp:s,onChange:l}),[E,P]=C.exports.useState(!1),k=Cl(d),L=o$(n),I=C.exports.useRef(!1),[O,N]=C.exports.useState(0);return C.exports.useEffect(()=>{const D=g.current;if(D)return D.addEventListener(AS,k),()=>D.removeEventListener(AS,k)},[k]),C.exports.createElement(T5e,{scope:n,orientation:r,dir:y,loop:i,currentTabStopId:b,onItemFocus:C.exports.useCallback(D=>S(D),[S]),onItemShiftTab:C.exports.useCallback(()=>P(!0),[]),onFocusableItemAdd:C.exports.useCallback(()=>N(D=>D+1),[]),onFocusableItemRemove:C.exports.useCallback(()=>N(D=>D-1),[])},C.exports.createElement(mu.div,En({tabIndex:E||O===0?-1:0,"data-orientation":r},p,{ref:m,style:{outline:"none",...e.style},onMouseDown:Gn(e.onMouseDown,()=>{I.current=!0}),onFocus:Gn(e.onFocus,D=>{const F=!I.current;if(D.target===D.currentTarget&&F&&!E){const U=new CustomEvent(AS,k5e);if(D.currentTarget.dispatchEvent(U),!U.defaultPrevented){const W=L().filter(Pe=>Pe.focusable),q=W.find(Pe=>Pe.active),pe=W.find(Pe=>Pe.id===b),ye=[q,pe,...W].filter(Boolean).map(Pe=>Pe.ref.current);s$(ye)}}I.current=!1}),onBlur:Gn(e.onBlur,()=>P(!1))})))}),M5e="RovingFocusGroupItem",R5e=C.exports.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,...o}=e,a=E3e(),s=L5e(M5e,n),l=s.currentTabStopId===a,d=o$(n),{onFocusableItemAdd:p,onFocusableItemRemove:g}=s;return C.exports.useEffect(()=>{if(r)return p(),()=>g()},[r,p,g]),C.exports.createElement(uC.ItemSlot,{scope:n,id:a,focusable:r,active:i},C.exports.createElement(mu.span,En({tabIndex:l?0:-1,"data-orientation":s.orientation},o,{ref:t,onMouseDown:Gn(e.onMouseDown,m=>{r?s.onItemFocus(a):m.preventDefault()}),onFocus:Gn(e.onFocus,()=>s.onItemFocus(a)),onKeyDown:Gn(e.onKeyDown,m=>{if(m.key==="Tab"&&m.shiftKey){s.onItemShiftTab();return}if(m.target!==m.currentTarget)return;const y=D5e(m,s.orientation,s.dir);if(y!==void 0){m.preventDefault();let S=d().filter(E=>E.focusable).map(E=>E.ref.current);if(y==="last")S.reverse();else if(y==="prev"||y==="next"){y==="prev"&&S.reverse();const E=S.indexOf(m.currentTarget);S=s.loop?z5e(S,E+1):S.slice(E+1)}setTimeout(()=>s$(S))}})})))}),O5e={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function N5e(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function D5e(e,t,n){const r=N5e(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return O5e[r]}function s$(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function z5e(e,t){return e.map((n,r)=>e[(t+r)%e.length])}const F5e=A5e,B5e=R5e,$5e=["Enter"," "],H5e=["ArrowDown","PageUp","Home"],l$=["ArrowUp","PageDown","End"],W5e=[...H5e,...l$],vx="Menu",[cC,V5e,U5e]=HB(vx),[Yf,u$]=Pv(vx,[U5e,t$,a$]),X7=t$(),c$=a$(),[G5e,yx]=Yf(vx),[j5e,Q7]=Yf(vx),q5e=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:o,modal:a=!0}=e,s=X7(t),[l,d]=C.exports.useState(null),p=C.exports.useRef(!1),g=Cl(o),m=WB(i);return C.exports.useEffect(()=>{const y=()=>{p.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>p.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})}},[]),C.exports.createElement(y5e,s,C.exports.createElement(G5e,{scope:t,open:n,onOpenChange:g,content:l,onContentChange:d},C.exports.createElement(j5e,{scope:t,onClose:C.exports.useCallback(()=>g(!1),[g]),isUsingKeyboardRef:p,dir:m,modal:a},r)))},K5e=C.exports.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=X7(n);return C.exports.createElement(x5e,En({},i,r,{ref:t}))}),Z5e="MenuPortal",[G9e,Y5e]=Yf(Z5e,{forceMount:void 0}),Wc="MenuContent",[X5e,d$]=Yf(Wc),Q5e=C.exports.forwardRef((e,t)=>{const n=Y5e(Wc,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,o=yx(Wc,e.__scopeMenu),a=Q7(Wc,e.__scopeMenu);return C.exports.createElement(cC.Provider,{scope:e.__scopeMenu},C.exports.createElement(i$,{present:r||o.open},C.exports.createElement(cC.Slot,{scope:e.__scopeMenu},a.modal?C.exports.createElement(J5e,En({},i,{ref:t})):C.exports.createElement(e4e,En({},i,{ref:t})))))}),J5e=C.exports.forwardRef((e,t)=>{const n=yx(Wc,e.__scopeMenu),r=C.exports.useRef(null),i=Ha(t,r);return C.exports.useEffect(()=>{const o=r.current;if(o)return rz(o)},[]),C.exports.createElement(f$,En({},e,{ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Gn(e.onFocusOutside,o=>o.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)}))}),e4e=C.exports.forwardRef((e,t)=>{const n=yx(Wc,e.__scopeMenu);return C.exports.createElement(f$,En({},e,{ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)}))}),f$=C.exports.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:o,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:d,onFocusOutside:p,onInteractOutside:g,onDismiss:m,disableOutsideScroll:y,...b}=e,S=yx(Wc,n),E=Q7(Wc,n),P=X7(n),k=c$(n),L=V5e(n),[I,O]=C.exports.useState(null),N=C.exports.useRef(null),D=Ha(t,N,S.onContentChange),F=C.exports.useRef(0),U=C.exports.useRef(""),W=C.exports.useRef(0),q=C.exports.useRef(null),pe=C.exports.useRef("right"),fe=C.exports.useRef(0),ye=y?Vz:C.exports.Fragment,Pe=y?{as:ev,allowPinchZoom:!0}:void 0,xe=V=>{var ae,oe;const X=U.current+V,me=L().filter(qe=>!qe.disabled),ve=document.activeElement,Se=(ae=me.find(qe=>qe.ref.current===ve))===null||ae===void 0?void 0:ae.textValue,He=me.map(qe=>qe.textValue),je=u4e(He,X,Se),ut=(oe=me.find(qe=>qe.textValue===je))===null||oe===void 0?void 0:oe.ref.current;(function qe(at){U.current=at,window.clearTimeout(F.current),at!==""&&(F.current=window.setTimeout(()=>qe(""),1e3))})(X),ut&&setTimeout(()=>ut.focus())};C.exports.useEffect(()=>()=>window.clearTimeout(F.current),[]),m3e();const Y=C.exports.useCallback(V=>{var ae,oe;return pe.current===((ae=q.current)===null||ae===void 0?void 0:ae.side)&&d4e(V,(oe=q.current)===null||oe===void 0?void 0:oe.area)},[]);return C.exports.createElement(X5e,{scope:n,searchRef:U,onItemEnter:C.exports.useCallback(V=>{Y(V)&&V.preventDefault()},[Y]),onItemLeave:C.exports.useCallback(V=>{var ae;Y(V)||((ae=N.current)===null||ae===void 0||ae.focus(),O(null))},[Y]),onTriggerLeave:C.exports.useCallback(V=>{Y(V)&&V.preventDefault()},[Y]),pointerGraceTimerRef:W,onPointerGraceIntentChange:C.exports.useCallback(V=>{q.current=V},[])},C.exports.createElement(ye,Pe,C.exports.createElement(v3e,{asChild:!0,trapped:i,onMountAutoFocus:Gn(o,V=>{var ae;V.preventDefault(),(ae=N.current)===null||ae===void 0||ae.focus()}),onUnmountAutoFocus:a},C.exports.createElement(h3e,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:d,onFocusOutside:p,onInteractOutside:g,onDismiss:m},C.exports.createElement(F5e,En({asChild:!0},k,{dir:E.dir,orientation:"vertical",loop:r,currentTabStopId:I,onCurrentTabStopIdChange:O,onEntryFocus:V=>{E.isUsingKeyboardRef.current||V.preventDefault()}}),C.exports.createElement(b5e,En({role:"menu","aria-orientation":"vertical","data-state":a4e(S.open),"data-radix-menu-content":"",dir:E.dir},P,b,{ref:D,style:{outline:"none",...b.style},onKeyDown:Gn(b.onKeyDown,V=>{const oe=V.target.closest("[data-radix-menu-content]")===V.currentTarget,X=V.ctrlKey||V.altKey||V.metaKey,me=V.key.length===1;oe&&(V.key==="Tab"&&V.preventDefault(),!X&&me&&xe(V.key));const ve=N.current;if(V.target!==ve||!W5e.includes(V.key))return;V.preventDefault();const He=L().filter(je=>!je.disabled).map(je=>je.ref.current);l$.includes(V.key)&&He.reverse(),s4e(He)}),onBlur:Gn(e.onBlur,V=>{V.currentTarget.contains(V.target)||(window.clearTimeout(F.current),U.current="")}),onPointerMove:Gn(e.onPointerMove,fC(V=>{const ae=V.target,oe=fe.current!==V.clientX;if(V.currentTarget.contains(ae)&&oe){const X=V.clientX>fe.current?"right":"left";pe.current=X,fe.current=V.clientX}}))})))))))}),dC="MenuItem",hA="menu.itemSelect",t4e=C.exports.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...i}=e,o=C.exports.useRef(null),a=Q7(dC,e.__scopeMenu),s=d$(dC,e.__scopeMenu),l=Ha(t,o),d=C.exports.useRef(!1),p=()=>{const g=o.current;if(!n&&g){const m=new CustomEvent(hA,{bubbles:!0,cancelable:!0});g.addEventListener(hA,y=>r?.(y),{once:!0}),$B(g,m),m.defaultPrevented?d.current=!1:a.onClose()}};return C.exports.createElement(n4e,En({},i,{ref:l,disabled:n,onClick:Gn(e.onClick,p),onPointerDown:g=>{var m;(m=e.onPointerDown)===null||m===void 0||m.call(e,g),d.current=!0},onPointerUp:Gn(e.onPointerUp,g=>{var m;d.current||(m=g.currentTarget)===null||m===void 0||m.click()}),onKeyDown:Gn(e.onKeyDown,g=>{const m=s.searchRef.current!=="";n||m&&g.key===" "||$5e.includes(g.key)&&(g.currentTarget.click(),g.preventDefault())})}))}),n4e=C.exports.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:i,...o}=e,a=d$(dC,n),s=c$(n),l=C.exports.useRef(null),d=Ha(t,l),[p,g]=C.exports.useState(!1),[m,y]=C.exports.useState("");return C.exports.useEffect(()=>{const b=l.current;if(b){var S;y(((S=b.textContent)!==null&&S!==void 0?S:"").trim())}},[o.children]),C.exports.createElement(cC.ItemSlot,{scope:n,disabled:r,textValue:i??m},C.exports.createElement(B5e,En({asChild:!0},s,{focusable:!r}),C.exports.createElement(mu.div,En({role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0},o,{ref:d,onPointerMove:Gn(e.onPointerMove,fC(b=>{r?a.onItemLeave(b):(a.onItemEnter(b),b.defaultPrevented||b.currentTarget.focus())})),onPointerLeave:Gn(e.onPointerLeave,fC(b=>a.onItemLeave(b))),onFocus:Gn(e.onFocus,()=>g(!0)),onBlur:Gn(e.onBlur,()=>g(!1))}))))}),r4e="MenuRadioGroup";Yf(r4e,{value:void 0,onValueChange:()=>{}});const i4e="MenuItemIndicator";Yf(i4e,{checked:!1});const o4e="MenuSub";Yf(o4e);function a4e(e){return e?"open":"closed"}function s4e(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function l4e(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function u4e(e,t,n){const i=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,o=n?e.indexOf(n):-1;let a=l4e(e,Math.max(o,0));i.length===1&&(a=a.filter(d=>d!==n));const l=a.find(d=>d.toLowerCase().startsWith(i.toLowerCase()));return l!==n?l:void 0}function c4e(e,t){const{x:n,y:r}=e;let i=!1;for(let o=0,a=t.length-1;or!=p>r&&n<(d-s)*(r-l)/(p-l)+s&&(i=!i)}return i}function d4e(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return c4e(n,t)}function fC(e){return t=>t.pointerType==="mouse"?e(t):void 0}const f4e=q5e,h4e=K5e,p4e=Q5e,g4e=t4e,h$="ContextMenu",[m4e,j9e]=Pv(h$,[u$]),xx=u$(),[v4e,p$]=m4e(h$),y4e=e=>{const{__scopeContextMenu:t,children:n,onOpenChange:r,dir:i,modal:o=!0}=e,[a,s]=C.exports.useState(!1),l=xx(t),d=Cl(r),p=C.exports.useCallback(g=>{s(g),d(g)},[d]);return C.exports.createElement(v4e,{scope:t,open:a,onOpenChange:p,modal:o},C.exports.createElement(f4e,En({},l,{dir:i,open:a,onOpenChange:p,modal:o}),n))},x4e="ContextMenuTrigger",b4e=C.exports.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=p$(x4e,n),o=xx(n),a=C.exports.useRef({x:0,y:0}),s=C.exports.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...a.current})}),l=C.exports.useRef(0),d=C.exports.useCallback(()=>window.clearTimeout(l.current),[]),p=g=>{a.current={x:g.clientX,y:g.clientY},i.onOpenChange(!0)};return C.exports.useEffect(()=>d,[d]),C.exports.createElement(C.exports.Fragment,null,C.exports.createElement(h4e,En({},o,{virtualRef:s})),C.exports.createElement(mu.span,En({"data-state":i.open?"open":"closed"},r,{ref:t,style:{WebkitTouchCallout:"none",...e.style},onContextMenu:Gn(e.onContextMenu,g=>{d(),p(g),g.preventDefault()}),onPointerDown:Gn(e.onPointerDown,hy(g=>{d(),l.current=window.setTimeout(()=>p(g),700)})),onPointerMove:Gn(e.onPointerMove,hy(d)),onPointerCancel:Gn(e.onPointerCancel,hy(d)),onPointerUp:Gn(e.onPointerUp,hy(d))})))}),S4e="ContextMenuContent",w4e=C.exports.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=p$(S4e,n),o=xx(n),a=C.exports.useRef(!1);return C.exports.createElement(p4e,En({},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)"}}))}),C4e=C.exports.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=xx(n);return C.exports.createElement(g4e,En({},i,r,{ref:t}))});function hy(e){return t=>t.pointerType!=="mouse"?e(t):void 0}const _4e=y4e,k4e=b4e,E4e=w4e,ef=C4e,P4e=jt([e=>e.gallery,e=>e.options,Ga],(e,t,n)=>{const{categories:r,currentCategory:i,currentImageUuid:o,shouldPinGallery:a,shouldShowGallery:s,galleryScrollPosition:l,galleryImageMinimumWidth:d,galleryImageObjectFit:p,shouldHoldGalleryOpen:g,shouldAutoSwitchToNewImages:m,galleryWidth:y}=e;return{currentImageUuid:o,shouldPinGallery:a,shouldShowGallery:s,galleryScrollPosition:l,galleryImageMinimumWidth:d,galleryImageObjectFit:p,galleryGridTemplateColumns:`repeat(auto-fill, minmax(${d}px, auto))`,activeTabName:n,shouldHoldGalleryOpen:g,shouldAutoSwitchToNewImages:m,images:r[i].images,areMoreImagesAvailable:r[i].areMoreImagesAvailable,currentCategory:i,galleryWidth:y}}),T4e=jt([e=>e.options,e=>e.gallery,e=>e.system,Ga],(e,t,n,r)=>({mayDeleteImage:n.isConnected&&!n.isProcessing,galleryImageObjectFit:t.galleryImageObjectFit,galleryImageMinimumWidth:t.galleryImageMinimumWidth,activeTabName:r})),L4e=(e,t)=>e.image.uuid===t.image.uuid&&e.isSelected===t.isSelected,A4e=C.exports.memo(e=>{const t=ct(),{activeTabName:n,galleryImageObjectFit:r,galleryImageMinimumWidth:i,mayDeleteImage:o}=$e(T4e),{image:a,isSelected:s}=e,{url:l,uuid:d,metadata:p}=a,[g,m]=C.exports.useState(!1),y=od(),b=()=>m(!0),S=()=>m(!1),E=()=>{a.metadata&&t(d_(a.metadata.image.prompt)),y({title:"Prompt Set",status:"success",duration:2500,isClosable:!0})},P=()=>{a.metadata&&t(Iv(a.metadata.image.seed)),y({title:"Seed Set",status:"success",duration:2500,isClosable:!0})},k=()=>{t(nv(a)),n!=="img2img"&&t(Pa("img2img")),y({title:"Sent to Image To Image",status:"success",duration:2500,isClosable:!0})},L=()=>{t(E5(a)),n!=="inpainting"&&t(Pa("inpainting")),y({title:"Sent to Inpainting",status:"success",duration:2500,isClosable:!0})},I=()=>{p&&t(Ywe(p)),y({title:"Parameters Set",status:"success",duration:2500,isClosable:!0})},O=async()=>{if(p?.image?.init_image_path&&(await fetch(p.image.init_image_path)).ok){t(Pa("img2img")),t(Xwe(p)),y({title:"Initial Image Set",status:"success",duration:2500,isClosable:!0});return}y({title:"Initial Image Not Set",description:"Could not load initial image.",status:"error",duration:2500,isClosable:!0})};return te(_4e,{children:[w(k4e,{children:te(Pl,{position:"relative",className:"hoverable-image",onMouseOver:b,onMouseOut:S,children:[w(z4,{className:"hoverable-image-image",objectFit:r,rounded:"md",src:l,loading:"lazy"}),w("div",{className:"hoverable-image-content",onClick:()=>t(OB(a)),children:s&&w(ha,{width:"50%",height:"50%",as:T2e,className:"hoverable-image-check"})}),g&&i>=64&&w("div",{className:"hoverable-image-delete-button",children:w(Xr,{label:"Delete image",hasArrow:!0,children:w(tC,{image:a,children:w(Bi,{"aria-label":"Delete image",icon:w(W2e,{}),size:"xs",variant:"imageHoverIconButton",fontSize:14,isDisabled:!o})})})})]},d)}),te(E4e,{className:"hoverable-image-context-menu",sticky:"always",children:[w(ef,{onClickCapture:E,disabled:a?.metadata?.image?.prompt===void 0,children:"Use Prompt"}),w(ef,{onClickCapture:P,disabled:a?.metadata?.image?.seed===void 0,children:"Use Seed"}),w(ef,{onClickCapture:I,disabled:!["txt2img","img2img"].includes(a?.metadata?.image?.type),children:"Use All Parameters"}),w(Xr,{label:"Load initial image used for this generation",children:w(ef,{onClickCapture:O,disabled:a?.metadata?.image?.type!=="img2img",children:"Use Initial Image"})}),w(ef,{onClickCapture:k,children:"Send to Image To Image"}),w(ef,{onClickCapture:L,children:"Send to Inpainting"}),w(tC,{image:a,children:w(ef,{"data-warning":!0,children:"Delete Image"})})]})]})},L4e),l3=e=>{const{triggerComponent:t,children:n,styleClass:r,hasArrow:i=!0,...o}=e;return te(j4,{...o,children:[w(Z4,{children:w(Pl,{children:t})}),te(K4,{className:`invokeai__popover-content ${r}`,children:[i&&w(q4,{className:"invokeai__popover-arrow"}),n]})]})},R5=e=>{const{label:t,styleClass:n,formControlProps:r,formLabelProps:i,sliderTrackProps:o,sliderInnerTrackProps:a,sliderThumbProps:s,sliderThumbTooltipProps:l,...d}=e;return w(td,{className:`invokeai__slider-form-control ${n}`,...r,children:te("div",{className:"invokeai__slider-inner-container",children:[w(Gf,{className:"invokeai__slider-form-label",whiteSpace:"nowrap",...i,children:t}),te(d7,{className:"invokeai__slider-root","aria-label":t,...d,children:[w(gF,{className:"invokeai__slider-track",...o,children:w(mF,{className:"invokeai__slider-filled-track",...a})}),w(Xr,{className:"invokeai__slider-thumb-tooltip",placement:"top",hasArrow:!0,...l,children:w(pF,{className:"invokeai__slider-thumb",...s})})]})]})})};function g$(e){return mt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 19c.946 0 1.81-.103 2.598-.281l-1.757-1.757c-.273.021-.55.038-.841.038-5.351 0-7.424-3.846-7.926-5a8.642 8.642 0 0 1 1.508-2.297L4.184 8.305c-1.538 1.667-2.121 3.346-2.132 3.379a.994.994 0 0 0 0 .633C2.073 12.383 4.367 19 12 19zm0-14c-1.837 0-3.346.396-4.604.981L3.707 2.293 2.293 3.707l18 18 1.414-1.414-3.319-3.319c2.614-1.951 3.547-4.615 3.561-4.657a.994.994 0 0 0 0-.633C21.927 11.617 19.633 5 12 5zm4.972 10.558-2.28-2.28c.19-.39.308-.819.308-1.278 0-1.641-1.359-3-3-3-.459 0-.888.118-1.277.309L8.915 7.501A9.26 9.26 0 0 1 12 7c5.351 0 7.424 3.846 7.926 5-.302.692-1.166 2.342-2.954 3.558z"}}]})(e)}function hC(e){return mt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 16c1.671 0 3-1.331 3-3s-1.329-3-3-3-3 1.331-3 3 1.329 3 3 3z"}},{tag:"path",attr:{d:"M20.817 11.186a8.94 8.94 0 0 0-1.355-3.219 9.053 9.053 0 0 0-2.43-2.43 8.95 8.95 0 0 0-3.219-1.355 9.028 9.028 0 0 0-1.838-.18V2L8 5l3.975 3V6.002c.484-.002.968.044 1.435.14a6.961 6.961 0 0 1 2.502 1.053 7.005 7.005 0 0 1 1.892 1.892A6.967 6.967 0 0 1 19 13a7.032 7.032 0 0 1-.55 2.725 7.11 7.11 0 0 1-.644 1.188 7.2 7.2 0 0 1-.858 1.039 7.028 7.028 0 0 1-3.536 1.907 7.13 7.13 0 0 1-2.822 0 6.961 6.961 0 0 1-2.503-1.054 7.002 7.002 0 0 1-1.89-1.89A6.996 6.996 0 0 1 5 13H3a9.02 9.02 0 0 0 1.539 5.034 9.096 9.096 0 0 0 2.428 2.428A8.95 8.95 0 0 0 12 22a9.09 9.09 0 0 0 1.814-.183 9.014 9.014 0 0 0 3.218-1.355 8.886 8.886 0 0 0 1.331-1.099 9.228 9.228 0 0 0 1.1-1.332A8.952 8.952 0 0 0 21 13a9.09 9.09 0 0 0-.183-1.814z"}}]})(e)}function m$(e){return mt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 9a3.02 3.02 0 0 0-3 3c0 1.642 1.358 3 3 3 1.641 0 3-1.358 3-3 0-1.641-1.359-3-3-3z"}},{tag:"path",attr:{d:"M12 5c-7.633 0-9.927 6.617-9.948 6.684L1.946 12l.105.316C2.073 12.383 4.367 19 12 19s9.927-6.617 9.948-6.684l.106-.316-.105-.316C21.927 11.617 19.633 5 12 5zm0 12c-5.351 0-7.424-3.846-7.926-5C4.578 10.842 6.652 7 12 7c5.351 0 7.424 3.846 7.926 5-.504 1.158-2.578 5-7.926 5z"}}]})(e)}const I4e=320;function M4e(){const e=ct(),t=od(),{images:n,currentCategory:r,currentImageUuid:i,shouldPinGallery:o,shouldShowGallery:a,galleryScrollPosition:s,galleryImageMinimumWidth:l,galleryGridTemplateColumns:d,activeTabName:p,galleryImageObjectFit:g,shouldHoldGalleryOpen:m,shouldAutoSwitchToNewImages:y,areMoreImagesAvailable:b,galleryWidth:S}=$e(P4e),[E,P]=C.exports.useState(300),[k,L]=C.exports.useState(590),[I,O]=C.exports.useState(S>=I4e);C.exports.useEffect(()=>{!o||(p==="inpainting"?(e(sy(220)),P(220),L(220)):p==="img2img"?(e(sy(Math.min(Math.max(Number(S),0),490))),L(490)):(e(sy(Math.min(Math.max(Number(S),0),590))),L(590)),e(Cf(!0)))},[e,p,o,S]),C.exports.useEffect(()=>{o||L(window.innerWidth)},[o]);const N=C.exports.useRef(null),D=C.exports.useRef(null),F=C.exports.useRef(null),U=()=>{e(Oye(!o)),e(Cf(!0))},W=()=>{a?pe():q()},q=()=>{e(nC(!0)),o&&e(Cf(!0))},pe=()=>{e(nC(!1)),e(Nye(D.current?D.current.scrollTop:0)),e(zye(!1))},fe=()=>{e(J6(r))},ye=V=>{e(Jd(V)),e(Cf(!0))},Pe=()=>{F.current=window.setTimeout(()=>pe(),500)},xe=()=>{F.current&&window.clearTimeout(F.current)};Dt("g",()=>{W()},[a]),Dt("left",()=>{e(DB())}),Dt("right",()=>{e(NB())}),Dt("shift+g",()=>{U()},[o]);const Y=32;return Dt("shift+up",()=>{if(!(l>=256)&&l<256){const V=l+Y;V<=256?(e(Jd(V)),t({title:`Gallery Thumbnail Size set to ${V}`,status:"success",duration:1e3,isClosable:!0})):(e(Jd(256)),t({title:"Gallery Thumbnail Size set to 256",status:"success",duration:1e3,isClosable:!0}))}},[l]),Dt("shift+down",()=>{if(!(l<=32)&&l>32){const V=l-Y;V>32?(e(Jd(V)),t({title:`Gallery Thumbnail Size set to ${V}`,status:"success",duration:1e3,isClosable:!0})):(e(Jd(32)),t({title:"Gallery Thumbnail Size set to 32",status:"success",duration:1e3,isClosable:!0}))}},[l]),Dt("shift+r",()=>{e(Jd(64)),t({title:"Reset Gallery Image Size",status:"success",duration:2500,isClosable:!0})},[l]),C.exports.useEffect(()=>{!D.current||(D.current.scrollTop=s)},[s,a]),C.exports.useEffect(()=>{O(S>=280)},[S]),EB(N,pe,!o),w(kB,{nodeRef:N,in:a||m&&!o,unmountOnExit:!0,timeout:200,classNames:"image-gallery-wrapper",children:w("div",{className:"image-gallery-wrapper","data-pinned":o,ref:N,onMouseLeave:o?void 0:Pe,onMouseEnter:o?void 0:xe,onMouseOver:o?void 0:xe,children:te(FB,{minWidth:E,maxWidth:k,className:"image-gallery-popup",handleStyles:{left:{width:"15px"}},enable:{top:!1,right:!1,bottom:!1,left:!0,topRight:!1,bottomRight:!1,bottomLeft:!1,topLeft:!1},size:{width:S,height:o?"100%":"100vh"},onResizeStop:(V,ae,oe,X)=>{e(sy(Wt.clamp(Number(S)+X.width,0,Number(k)))),oe.removeAttribute("data-resize-alert")},onResize:(V,ae,oe,X)=>{const me=Wt.clamp(Number(S)+X.width,0,Number(k));me>=280&&!I?O(!0):me<280&&I&&O(!1),me>=k?oe.setAttribute("data-resize-alert","true"):oe.removeAttribute("data-resize-alert")},children:[te("div",{className:"image-gallery-header",children:[w("div",{children:w(cD,{size:"sm",isAttached:!0,variant:"solid",className:"image-gallery-category-btn-group",children:I?te(Fn,{children:[w(Na,{"data-selected":r==="result",onClick:()=>e(ay("result")),children:"Invocations"}),w(Na,{"data-selected":r==="user",onClick:()=>e(ay("user")),children:"User"})]}):te(Fn,{children:[w(sn,{"aria-label":"Show Invocations",tooltip:"Show Invocations","data-selected":r==="result",icon:w(I2e,{}),onClick:()=>e(ay("result"))}),w(sn,{"aria-label":"Show Uploads",tooltip:"Show Uploads","data-selected":r==="user",icon:w(j2e,{}),onClick:()=>e(ay("user"))})]})})}),te("div",{children:[w(l3,{isLazy:!0,trigger:"hover",placement:"left",triggerComponent:w(sn,{size:"sm","aria-label":"Gallery Settings",icon:w(q2e,{}),className:"image-gallery-icon-btn",cursor:"pointer"}),children:te("div",{className:"image-gallery-settings-popover",children:[te("div",{children:[w(R5,{value:l,onChange:ye,min:32,max:256,width:100,label:"Image Size",formLabelProps:{style:{fontSize:"0.9rem"}},sliderThumbTooltipProps:{label:`${l}px`}}),w(sn,{size:"sm","aria-label":"Reset",tooltip:"Reset Size",onClick:()=>e(Jd(64)),icon:w(hC,{}),"data-selected":o,styleClass:"image-gallery-icon-btn"})]}),w("div",{children:w(Jm,{label:"Maintain Aspect Ratio",isChecked:g==="contain",onChange:()=>e(Dye(g==="contain"?"cover":"contain"))})}),w("div",{children:w(Jm,{label:"Auto-Switch to New Images",isChecked:y,onChange:V=>e(Fye(V.target.checked))})})]})}),w(sn,{size:"sm",className:"image-gallery-icon-btn","aria-label":"Pin Gallery",tooltip:"Pin Gallery (Shift+G)",onClick:U,icon:o?w(SB,{}):w(wB,{})})]})]}),w("div",{className:"image-gallery-container",ref:D,children:n.length||b?te(Fn,{children:[w("div",{className:"image-gallery",style:{gridTemplateColumns:d},children:n.map(V=>{const{uuid:ae}=V;return w(A4e,{image:V,isSelected:i===ae},ae)})}),w(Na,{onClick:fe,isDisabled:!b,className:"image-gallery-load-more-btn",children:b?"Load More":"All Images Loaded"})]}):te("div",{className:"image-gallery-container-placeholder",children:[w(pB,{}),w("p",{children:"No Images In Gallery"})]})})]})})})}const J7=e=>{const{optionsPanel:t,children:n,styleClass:r}=e;return w("div",{className:r?`workarea-wrapper ${r}`:"workarea-wrapper",children:te("div",{className:"workarea-main",children:[t,n,w(M4e,{})]})})};function R4e(){return w(J7,{optionsPanel:w(Pye,{}),children:w(qye,{})})}const O4e=jt(e=>e.inpainting,e=>{const{canvasDimensions:t,boundingBoxDimensions:n,shouldShowBoundingBox:r,shouldShowBoundingBoxFill:i,pastLines:o,futureLines:a,shouldLockBoundingBox:s}=e;return{canvasDimensions:t,boundingBoxDimensions:n,shouldShowBoundingBox:r,shouldShowBoundingBoxFill:i,pastLines:o,futureLines:a,shouldLockBoundingBox:s}},{memoizeOptions:{resultEqualityCheck:Wt.isEqual}}),N4e=()=>{const e=ct(),{canvasDimensions:t,boundingBoxDimensions:n,shouldShowBoundingBox:r,shouldShowBoundingBoxFill:i,shouldLockBoundingBox:o}=$e(O4e),a=y=>{e(Tg({...n,width:Math.floor(y)}))},s=y=>{e(Tg({...n,height:Math.floor(y)}))},l=()=>{e(bye(!i))},d=()=>{e(TB(!o))},p=()=>{e(Tg({...n,width:Math.floor(t.width)}))},g=()=>{e(Tg({...n,height:Math.floor(t.height)}))};return te("div",{className:"inpainting-bounding-box-settings",children:[te("div",{className:"inpainting-bounding-box-header",children:[w("p",{children:"Inpaint Box"}),w(sn,{"aria-label":"Toggle Bounding Box Visibility",icon:r?w(m$,{size:22}):w(g$,{size:22}),onClick:()=>e(xye(!r)),background:"none",padding:0})]}),te("div",{className:"inpainting-bounding-box-settings-items",children:[te("div",{className:"inpainting-bounding-box-dimensions-slider-numberinput",children:[w(R5,{label:"Box W",min:64,max:Ea(t.width,64),step:64,value:n.width,onChange:a,width:"5rem"}),w(no,{value:n.width,onChange:a,min:64,max:Ea(t.width,64),step:64,width:"5rem"}),w(sn,{size:"sm","aria-label":"Reset Width",tooltip:"Reset Width",onClick:p,icon:w(hC,{}),styleClass:"inpainting-bounding-box-reset-icon-btn",isDisabled:t.width===n.width})]}),te("div",{className:"inpainting-bounding-box-dimensions-slider-numberinput",children:[w(R5,{label:"Box H",min:64,max:Ea(t.height,64),step:64,value:n.height,onChange:s,width:"5rem"}),w(no,{value:n.height,onChange:s,min:64,max:Ea(t.height,64),step:64,padding:"0",width:"5rem"}),w(sn,{size:"sm","aria-label":"Reset Height",tooltip:"Reset Height",onClick:g,icon:w(hC,{}),styleClass:"inpainting-bounding-box-reset-icon-btn",isDisabled:t.height===n.height})]}),te(Dn,{alignItems:"center",justifyContent:"space-between",children:[w(Jm,{label:"Darken Outside Box",isChecked:i,onChange:l,styleClass:"inpainting-bounding-box-darken"}),w(Jm,{label:"Lock Bounding Box",isChecked:o,onChange:d,styleClass:"inpainting-bounding-box-darken"})]})]})]})},D4e=jt(e=>e.inpainting,e=>{const{pastLines:t,futureLines:n,inpaintReplace:r,shouldUseInpaintReplace:i}=e;return{pastLines:t,futureLines:n,inpaintReplace:r,shouldUseInpaintReplace:i}},{memoizeOptions:{resultEqualityCheck:Wt.isEqual}});function z4e(){const e=ct(),t=od(),{pastLines:n,futureLines:r,inpaintReplace:i,shouldUseInpaintReplace:o}=$e(D4e);return te(Fn,{children:[te("div",{style:{display:"flex",alignItems:"center",padding:"0 1rem 0 0.2rem"},children:[w(no,{label:"Inpaint Replace",value:i,min:0,max:1,step:.05,width:"auto",formControlProps:{style:{paddingRight:"1rem"}},isInteger:!1,isDisabled:!o,onChange:s=>{e(Cye(s))}}),w(Su,{isChecked:o,onChange:s=>e(wye(s.target.checked))})]}),w(N4e,{}),w(k5,{label:"Clear Brush History",onClick:()=>{e(Sye()),t({title:"Brush Stroke History Cleared",status:"success",duration:2500,isClosable:!0})},tooltip:"Clears brush stroke history",disabled:!(r.length>0||n.length>0),styleClass:"inpainting-options-btn"})]})}function F4e(){const e=$e(n=>n.options.showAdvancedOptions),t={seed:{header:w(M7,{}),feature:Ji.SEED,options:w(R7,{})},variations:{header:w(N7,{}),feature:Ji.VARIATIONS,options:w(D7,{})},face_restore:{header:w(L7,{}),feature:Ji.FACE_CORRECTION,options:w(fx,{})},upscale:{header:w(O7,{}),feature:Ji.UPSCALE,options:w(hx,{})}};return te(G7,{children:[w(W7,{}),w(H7,{}),w(B7,{}),w(iB,{label:"Image To Image Strength",styleClass:"main-option-block image-to-image-strength-main-option"}),w(z4e,{}),w(z7,{}),e?w($7,{accordionInfo:t}):null]})}var B4e=Math.PI/180;function $4e(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}const e0=typeof global<"u"?global:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},Je={_global:e0,version:"8.3.13",isBrowser:$4e(),isUnminified:/param/.test(function(e){}.toString()),dblClickWindow:400,getAngle(e){return Je.angleDeg?e*B4e: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 Je.DD.isDragging},isDragReady(){return!!Je.DD.node},document:e0.document,_injectGlobal(e){e0.Konva=e}},hr=e=>{Je[e.prototype.getClassName()]=e};Je._injectGlobal(Je);class Qo{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 Qo(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 d=Math.sqrt(t*t+n*n);l.rotation=n>0?Math.acos(t/d):-Math.acos(t/d),l.scaleX=d,l.scaleY=s/d,l.skewX=(t*r+n*i)/s,l.skewY=0}else if(r!=0||i!=0){var p=Math.sqrt(r*r+i*i);l.rotation=Math.PI/2-(i>0?Math.acos(-r/p):-Math.acos(r/p)),l.scaleX=s/p,l.scaleY=p,l.skewX=0,l.skewY=(t*r+n*i)/s}return l.rotation=se._getRotation(l.rotation),l}}var H4e="[object Array]",W4e="[object Number]",V4e="[object String]",U4e="[object Boolean]",G4e=Math.PI/180,j4e=180/Math.PI,IS="#",q4e="",K4e="0",Z4e="Konva warning: ",pA="Konva error: ",Y4e="rgb(",MS={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]},X4e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,py=[];const Q4e=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(e){setTimeout(e,60)},se={_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)===H4e},_isNumber(e){return Object.prototype.toString.call(e)===W4e&&!isNaN(e)&&isFinite(e)},_isString(e){return Object.prototype.toString.call(e)===V4e},_isBoolean(e){return Object.prototype.toString.call(e)===U4e},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){py.push(e),py.length===1&&Q4e(function(){const t=py;py=[],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=se.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(IS,q4e);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=K4e+e;return IS+e},getRGB(e){var t;return e in MS?(t=MS[e],{r:t[0],g:t[1],b:t[2]}):e[0]===IS?this._hexToRgb(e.substring(1)):e.substr(0,4)===Y4e?(t=X4e.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",se._namedColorToRBA(e)||se._hex3ColorToRGBA(e)||se._hex6ColorToRGBA(e)||se._rgbColorToRGBA(e)||se._rgbaColorToRGBA(e)||se._hslColorToRGBA(e)},_namedColorToRBA(e){var t=MS[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]}}},_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}},_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 d=2*o-a,p=[0,0,0];for(let g=0;g<3;g++)s=r+1/3*-(g-1),s<0&&s++,s>1&&s--,6*s<1?l=d+(a-d)*6*s:2*s<1?l=a:3*s<2?l=d+(a-d)*(2/3-s)*6:l=d,p[g]=l*255;return{r:Math.round(p[0]),g:Math.round(p[1]),b:Math.round(p[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+p*(n-e),s=t+p*(r-t),l=(a-i)*(a-i)+(s-o)*(s-o))}return[a,s,l]},_getProjectionToLine(e,t,n){var r=se.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=se._getProjectionToSegment(o.x,o.y,s.x,s.y,e.x,e.y),d=l[0],p=l[1],g=l[2];gt.length){var a=t;t=e,e=a}for(r=0;r255?255:e<0?0:Math.round(e)}function De(){if(Je.isUnminified)return function(e,t){return se._isNumber(e)||se.warn(sd(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}function y$(e){if(Je.isUnminified)return function(t,n){let r=se._isNumber(t),i=se._isArray(t)&&t.length==e;return!r&&!i&&se.warn(sd(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}function e_(){if(Je.isUnminified)return function(e,t){var n=se._isNumber(e),r=e==="auto";return n||r||se.warn(sd(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}function B0(){if(Je.isUnminified)return function(e,t){return se._isString(e)||se.warn(sd(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}function x$(){if(Je.isUnminified)return function(e,t){const n=se._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||se.warn(sd(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}function J4e(){if(Je.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(se._isArray(e)?e.forEach(function(r){se._isNumber(r)||se.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):se.warn(sd(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}function ks(){if(Je.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||se.warn(sd(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}function exe(e){if(Je.isUnminified)return function(t,n){return t==null||se.isObject(t)||se.warn(sd(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}var ug="get",cg="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=ug+se._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=cg+se._capitalize(t);e.prototype[i]||j.overWriteSetter(e,t,n,r)},overWriteSetter(e,t,n,r){var i=cg+se._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=se._capitalize,s=ug+a(t),l=cg+a(t),d,p;e.prototype[s]=function(){var m={};for(d=0;d{this._setAttr(t+a(S),void 0)}),this._fireChangeEvent(t,y,m),i&&i.call(this),this},j.addOverloadedGetterSetter(e,t)},addOverloadedGetterSetter(e,t){var n=se._capitalize(t),r=cg+n,i=ug+n;e.prototype[t]=function(){return arguments.length?(this[r](arguments[0]),this):this[i]()}},addDeprecatedGetterSetter(e,t,n,r){se.error("Adding deprecated "+t);var i=ug+se._capitalize(t),o=t+" property is deprecated and will be removed soon. Look at Konva change log for more information.";e.prototype[i]=function(){se.error(o);var a=this.attrs[t];return a===void 0?n:a},j.addSetter(e,t,r,function(){se.error(o)}),j.addOverloadedGetterSetter(e,t)},backCompat(e,t){se.each(t,function(n,r){var i=e.prototype[r],o=ug+se._capitalize(n),a=cg+se._capitalize(n);function s(){i.apply(this,arguments),se.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 txe(e){var t=[],n=e.length,r=se,i,o;for(i=0;itypeof p=="number"?Math.floor(p):p)),o+=nxe+d.join(gA)+rxe)):(o+=s.property,t||(o+=lxe+s.val)),o+=axe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=cxe&&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,d){var p=arguments,g=this._context;p.length===3?g.drawImage(t,n,r):p.length===5?g.drawImage(t,n,r,i,o):p.length===9&&g.drawImage(t,n,r,i,o,a,s,l,d)}ellipse(t,n,r,i,o,a,s,l){this._context.ellipse(t,n,r,i,o,a,s,l)}isPointInPath(t,n){return this._context.isPointInPath(t,n)}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=mA.length,r=this.setAttr,i,o,a=function(s){var l=t[s],d;t[s]=function(){return o=txe(Array.prototype.slice.call(arguments,0)),d=l.apply(t,arguments),t._trace({method:s,args:o}),d}};for(i=0;i{t.dragStatus==="dragging"&&(e=!0)}),e},justDragged:!1,get node(){var e;return an._dragElements.forEach(t=>{e=t.node}),e},_dragElements:new Map,_drag(e){const t=[];an._dragElements.forEach((n,r)=>{const{node:i}=n,o=i.getStage();o.setPointersPositions(e),n.pointerId===void 0&&(n.pointerId=se._getFirstPointerId(e));const a=o._changedPointerPositions.find(d=>d.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=[];an._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")&&(an.justDragged=!0,Je._mouseListenClick=!1,Je._touchListenClick=!1,Je._pointerListenClick=!1,n.dragStatus="stopped");const a=n.node.getLayer()||n.node instanceof Je.Stage&&n.node;a&&t.indexOf(a)===-1&&t.push(a)}),t.forEach(n=>{n.draw()})},_endDragAfter(e){an._dragElements.forEach((t,n)=>{t.dragStatus==="stopped"&&t.node.fire("dragend",{type:"dragend",target:t.node,evt:e},!0),t.dragStatus!=="dragging"&&an._dragElements.delete(n)})}};Je.isBrowser&&(window.addEventListener("mouseup",an._endDragBefore,!0),window.addEventListener("touchend",an._endDragBefore,!0),window.addEventListener("mousemove",an._drag),window.addEventListener("touchmove",an._drag),window.addEventListener("mouseup",an._endDragAfter,!1),window.addEventListener("touchend",an._endDragAfter,!1));var u3="absoluteOpacity",my="allEventListeners",Jl="absoluteTransform",vA="absoluteScale",dg="canvas",pxe="Change",gxe="children",mxe="konva",pC="listening",yA="mouseenter",xA="mouseleave",bA="set",SA="Shape",c3=" ",wA="stage",xc="transform",vxe="Stage",gC="visible",yxe=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(c3);let xxe=1;class ze{constructor(t){this._id=xxe++,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===xc||t===Jl)&&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===xc||t===Jl,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(c3);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(dg)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===Jl&&this.fire("absoluteTransformChange")}clearCache(){return this._cache.delete(dg),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,d=n.offset||0,p=n.drawBorder||!1,g=n.hitCanvasPixelRatio||1;if(!i||!o){se.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=d*2+1,o+=d*2+1,s-=d,l-=d;var m=new t0({pixelRatio:a,width:i,height:o}),y=new t0({pixelRatio:a,width:0,height:0}),b=new t_({pixelRatio:g,width:i,height:o}),S=m.getContext(),E=b.getContext();return b.isCache=!0,m.isCache=!0,this._cache.delete(dg),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(m.getContext()._context.imageSmoothingEnabled=!1,y.getContext()._context.imageSmoothingEnabled=!1),S.save(),E.save(),S.translate(-s,-l),E.translate(-s,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(u3),this._clearSelfAndDescendantCache(vA),this.drawScene(m,this),this.drawHit(b,this),this._isUnderCache=!1,S.restore(),E.restore(),p&&(S.save(),S.beginPath(),S.rect(0,0,i,o),S.closePath(),S.setAttr("strokeStyle","red"),S.setAttr("lineWidth",5),S.stroke(),S.restore()),this._cache.set(dg,{scene:m,filter:y,hit:b,x:s,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(dg)}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(d){var p=l.point(d);i===void 0&&(i=a=p.x,o=s=p.y),i=Math.min(i,p.x),o=Math.min(o,p.y),a=Math.max(a,p.x),s=Math.max(s,p.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,d;if(t){if(!this._filterUpToDate){var p=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()/p,r.getHeight()/p),s=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==gxe&&(r=bA+se._capitalize(n),se._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(pC,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(gC,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;an._dragElements.forEach(a=>{a.dragStatus==="dragging"&&(a.node.nodeType==="Stage"||a.node.getLayer()===r)&&(i=!0)});var o=!n&&!Je.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(d){for(i=[],o=d.length,a=0;a0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==vxe&&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(xc),this._clearSelfAndDescendantCache(Jl)),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 Qo,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(xc);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(xc),this._clearSelfAndDescendantCache(Jl),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 se.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 se.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&se.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(u3,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=se.isObject(i)&&!se._isPlainObject(i)&&!se._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(),se._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?.callback;i&&delete t.callback,se._urlToImage(this.toDataURL(t),function(o){n(o),i?.(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t?.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),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():Je.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;an._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=an._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&an._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 se.haveIntersection(r,this.getClientRect())}static create(t,n){return se._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=ze.prototype.getClassName.call(t),i=t.children,o,a,s;n&&(t.attrs.container=n),Je[r]||(se.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=Je[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(arguments.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=ze.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=ze.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 d=this.getAbsoluteTransform(n).getMatrix();o.transform(d[0],d[1],d[2],d[3],d[4],d[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(),d=a&&s||l;const p=r===this;if(d){o.save();var g=this.getAbsoluteTransform(r),m=g.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=g.copy().invert().getMatrix(),o.transform(m[0],m[1],m[2],m[3],m[4],m[5])}var S=!p&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";S&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(E){E[t](n,r)}),S&&o.restore(),d&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,a,s,l,d={x:1/0,y:1/0,width:0,height:0},p=this;(n=this.children)===null||n===void 0||n.forEach(function(S){if(!!S.visible()){var E=S.getClientRect({relativeTo:p,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 g=this.find("Shape"),m=!1,y=0;ye.indexOf("pointer")>=0?"pointer":e.indexOf("touch")>=0?"touch":"mouse",cp=e=>{const t=Rg(e);if(t==="pointer")return Je.pointerEventsEnabled&&OS.pointer;if(t==="touch")return OS.touch;if(t==="mouse")return OS.mouse};function _A(e={}){return(e.clipFunc||e.clipWidth||e.clipHeight)&&se.warn("Stage does not support clipping. Please use clip for Layers or Groups."),e}const Exe="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);",d3=[];class wx extends ia{constructor(t){super(_A(t)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),d3.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{_A(this.attrs)}),this._checkVisibility()}_validateAdd(t){const n=t.getType()==="Layer",r=t.getType()==="FastLayer";n||r||se.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===Sxe){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&&d3.splice(n,1),this}getPointerPosition(){const t=this._pointerPositions[0]||this._changedPointerPositions[0];return t?{x:t.x,y:t.y}:(se.warn(Exe),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 t0({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+CA,this.content.style.height=n+CA),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;r_xe&&se.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(),Je.isBrowser&&this.content.appendChild(t.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(t){return S$(t,this)}setPointerCapture(t){w$(t,this)}releaseCapture(t){sm(t)}getLayers(){return this.children}_bindContentEvents(){!Je.isBrowser||kxe.forEach(([t,n])=>{this.content.addEventListener(t,r=>{this[n](r)},{passive:!1})})}_pointerenter(t){this.setPointersPositions(t);const n=cp(t.type);this._fire(n.pointerenter,{evt:t,target:this,currentTarget:this})}_pointerover(t){this.setPointersPositions(t);const n=cp(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=cp(t.type),r=Rg(t.type);if(!!n){this.setPointersPositions(t);var i=this._getTargetShape(r),o=!an.isDragging||Je.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=cp(t.type),r=Rg(t.type);if(!!n){this.setPointersPositions(t);var i=!1;this._changedPointerPositions.forEach(o=>{var a=this.getIntersection(o);if(an.justDragged=!1,Je["_"+r+"ListenClick"]=!0,!(a&&a.isListening()))return;Je.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=cp(t.type),r=Rg(t.type);if(!n)return;an.isDragging&&an.node.preventDefault()&&t.cancelable&&t.preventDefault(),this.setPointersPositions(t);var i=!an.isDragging||Je.hitOnDragEnabled;if(!i)return;var o={};let a=!1;var s=this._getTargetShape(r);this._changedPointerPositions.forEach(l=>{const d=RS(l.id)||this.getIntersection(l),p=l.id,g={evt:t,pointerId:p};var m=s!==d;if(m&&s&&(s._fireAndBubble(n.pointerout,Object.assign({},g),d),s._fireAndBubble(n.pointerleave,Object.assign({},g),d)),d){if(o[d._id])return;o[d._id]=!0}d&&d.isListening()?(a=!0,m&&(d._fireAndBubble(n.pointerover,Object.assign({},g),s),d._fireAndBubble(n.pointerenter,Object.assign({},g),s),this[r+"targetShape"]=d),d._fireAndBubble(n.pointermove,Object.assign({},g))):s&&(this._fire(n.pointerover,{evt:t,target:this,currentTarget:this,pointerId:p}),this[r+"targetShape"]=null)}),a||this._fire(n.pointermove,{evt:t,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(t){const n=cp(t.type),r=Rg(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 d=RS(l.id)||this.getIntersection(l);if(d){if(d.releaseCapture(l.id),a[d._id])return;a[d._id]=!0}const p=l.id,g={evt:t,pointerId:p};let m=!1;Je["_"+r+"InDblClickWindow"]?(m=!0,clearTimeout(this[r+"DblTimeout"])):an.justDragged||(Je["_"+r+"InDblClickWindow"]=!0,clearTimeout(this[r+"DblTimeout"])),this[r+"DblTimeout"]=setTimeout(function(){Je["_"+r+"InDblClickWindow"]=!1},Je.dblClickWindow),d&&d.isListening()?(s=!0,this[r+"ClickEndShape"]=d,d._fireAndBubble(n.pointerup,Object.assign({},g)),Je["_"+r+"ListenClick"]&&i&&i===d&&(d._fireAndBubble(n.pointerclick,Object.assign({},g)),m&&o&&o===d&&d._fireAndBubble(n.pointerdblclick,Object.assign({},g)))):(this[r+"ClickEndShape"]=null,Je["_"+r+"ListenClick"]&&this._fire(n.pointerclick,{evt:t,target:this,currentTarget:this,pointerId:p}),m&&this._fire(n.pointerdblclick,{evt:t,target:this,currentTarget:this,pointerId:p}))}),s||this._fire(n.pointerup,{evt:t,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),Je["_"+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(mC,{evt:t}):this._fire(mC,{evt:t,target:this,currentTarget:this})}_wheel(t){this.setPointersPositions(t);var n=this.getIntersection(this.getPointerPosition());n&&n.isListening()?n._fireAndBubble(vC,{evt:t}):this._fire(vC,{evt:t,target:this,currentTarget:this})}_pointercancel(t){this.setPointersPositions(t);const n=RS(t.pointerId)||this.getIntersection(this.getPointerPosition());n&&n._fireAndBubble(Ap,n_(t)),sm(t.pointerId)}_lostpointercapture(t){sm(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:se._getFirstPointerId(t)}],this._changedPointerPositions=[{x:r,y:i,id:se._getFirstPointerId(t)}])}_setPointerPosition(t){se.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 t0({width:this.width(),height:this.height()}),this.bufferHitCanvas=new t_({pixelRatio:1,width:this.width(),height:this.height()}),!!Je.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 se.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}}wx.prototype.nodeType=bxe;hr(wx);j.addGetterSetter(wx,"container");var R$="hasShadow",O$="shadowRGBA",N$="patternImage",D$="linearGradient",z$="radialGradient";let Sy;function NS(){return Sy||(Sy=se.createCanvasElement().getContext("2d"),Sy)}const lm={};function Pxe(e){e.fill()}function Txe(e){e.stroke()}function Lxe(e){e.fill()}function Axe(e){e.stroke()}function Ixe(){this._clearCache(R$)}function Mxe(){this._clearCache(O$)}function Rxe(){this._clearCache(N$)}function Oxe(){this._clearCache(D$)}function Nxe(){this._clearCache(z$)}class Ae extends ze{constructor(t){super(t);let n;for(;n=se.getRandomColor(),!(n&&!(n in lm)););this.colorKey=n,lm[n]=this}getContext(){return se.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return se.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(R$,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(N$,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var t=NS();const n=t.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(n&&n.setTransform){const r=new Qo;r.translate(this.fillPatternX(),this.fillPatternY()),r.rotate(Je.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(D$,this.__getLinearGradient)}__getLinearGradient(){var t=this.fillLinearGradientColorStops();if(t){for(var n=NS(),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 ze.prototype.destroy.call(this),delete lm[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){se.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,d=!t.skipShadow&&this.hasShadow(),p=d?this.shadowOffsetX():0,g=d?this.shadowOffsetY():0,m=s+Math.abs(p),y=l+Math.abs(g),b=d&&this.shadowBlur()||0,S=m+b*2,E=y+b*2,P={width:S,height:E,x:-(a/2+b)+Math.min(p,0)+i.x,y:-(a/2+b)+Math.min(g,0)+i.y};return n?P:this._transformedRect(P,r)}drawScene(t,n){var r=this.getLayer(),i=t||r.getCanvas(),o=i.getContext(),a=this._getCanvasCache(),s=this.getSceneFunc(),l=this.hasShadow(),d,p,g,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){d=this.getStage(),p=d.bufferCanvas,g=p.getContext(),g.clear(),g.save(),g._applyLineJoin(this);var S=this.getAbsoluteTransform(n).getMatrix();g.transform(S[0],S[1],S[2],S[3],S[4],S[5]),s.call(this,g,this),g.restore();var E=p.pixelRatio;l&&o._applyShadow(this),o._applyOpacity(this),o._applyGlobalCompositeOperation(this),o.drawImage(p._canvas,0,0,p.width/E,p.height/E)}else{if(o._applyLineJoin(this),!y){var S=this.getAbsoluteTransform(n).getMatrix();o.transform(S[0],S[1],S[2],S[3],S[4],S[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(),d=l&&l.hit;if(this.colorKey||se.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()"),d){a.save();var p=this.getAbsoluteTransform(n).getMatrix();return a.transform(p[0],p[1],p[2],p[3],p[4],p[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,d,p,g,m,y;o.clear(),o.drawImage(r._canvas,0,0,a,s);try{for(l=o.getImageData(0,0,a,s),d=l.data,p=d.length,g=se._hexToRgb(this.colorKey),m=0;mt?(d[m]=g.r,d[m+1]=g.g,d[m+2]=g.b,d[m+3]=255):d[m+3]=0;o.putImageData(l,0,0)}catch(b){se.error("Unable to draw hit graph from cached scene canvas. "+b.message)}return this}hasPointerCapture(t){return S$(t,this)}setPointerCapture(t){w$(t,this)}releaseCapture(t){sm(t)}}Ae.prototype._fillFunc=Pxe;Ae.prototype._strokeFunc=Txe;Ae.prototype._fillFuncHit=Lxe;Ae.prototype._strokeFuncHit=Axe;Ae.prototype._centroid=!1;Ae.prototype.nodeType="Shape";hr(Ae);Ae.prototype.eventListeners={};Ae.prototype.on.call(Ae.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",Ixe);Ae.prototype.on.call(Ae.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",Mxe);Ae.prototype.on.call(Ae.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",Rxe);Ae.prototype.on.call(Ae.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",Oxe);Ae.prototype.on.call(Ae.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",Nxe);j.addGetterSetter(Ae,"stroke",void 0,x$());j.addGetterSetter(Ae,"strokeWidth",2,De());j.addGetterSetter(Ae,"fillAfterStrokeEnabled",!1);j.addGetterSetter(Ae,"hitStrokeWidth","auto",e_());j.addGetterSetter(Ae,"strokeHitEnabled",!0,ks());j.addGetterSetter(Ae,"perfectDrawEnabled",!0,ks());j.addGetterSetter(Ae,"shadowForStrokeEnabled",!0,ks());j.addGetterSetter(Ae,"lineJoin");j.addGetterSetter(Ae,"lineCap");j.addGetterSetter(Ae,"sceneFunc");j.addGetterSetter(Ae,"hitFunc");j.addGetterSetter(Ae,"dash");j.addGetterSetter(Ae,"dashOffset",0,De());j.addGetterSetter(Ae,"shadowColor",void 0,B0());j.addGetterSetter(Ae,"shadowBlur",0,De());j.addGetterSetter(Ae,"shadowOpacity",1,De());j.addComponentsGetterSetter(Ae,"shadowOffset",["x","y"]);j.addGetterSetter(Ae,"shadowOffsetX",0,De());j.addGetterSetter(Ae,"shadowOffsetY",0,De());j.addGetterSetter(Ae,"fillPatternImage");j.addGetterSetter(Ae,"fill",void 0,x$());j.addGetterSetter(Ae,"fillPatternX",0,De());j.addGetterSetter(Ae,"fillPatternY",0,De());j.addGetterSetter(Ae,"fillLinearGradientColorStops");j.addGetterSetter(Ae,"strokeLinearGradientColorStops");j.addGetterSetter(Ae,"fillRadialGradientStartRadius",0);j.addGetterSetter(Ae,"fillRadialGradientEndRadius",0);j.addGetterSetter(Ae,"fillRadialGradientColorStops");j.addGetterSetter(Ae,"fillPatternRepeat","repeat");j.addGetterSetter(Ae,"fillEnabled",!0);j.addGetterSetter(Ae,"strokeEnabled",!0);j.addGetterSetter(Ae,"shadowEnabled",!0);j.addGetterSetter(Ae,"dashEnabled",!0);j.addGetterSetter(Ae,"strokeScaleEnabled",!0);j.addGetterSetter(Ae,"fillPriority","color");j.addComponentsGetterSetter(Ae,"fillPatternOffset",["x","y"]);j.addGetterSetter(Ae,"fillPatternOffsetX",0,De());j.addGetterSetter(Ae,"fillPatternOffsetY",0,De());j.addComponentsGetterSetter(Ae,"fillPatternScale",["x","y"]);j.addGetterSetter(Ae,"fillPatternScaleX",1,De());j.addGetterSetter(Ae,"fillPatternScaleY",1,De());j.addComponentsGetterSetter(Ae,"fillLinearGradientStartPoint",["x","y"]);j.addComponentsGetterSetter(Ae,"strokeLinearGradientStartPoint",["x","y"]);j.addGetterSetter(Ae,"fillLinearGradientStartPointX",0);j.addGetterSetter(Ae,"strokeLinearGradientStartPointX",0);j.addGetterSetter(Ae,"fillLinearGradientStartPointY",0);j.addGetterSetter(Ae,"strokeLinearGradientStartPointY",0);j.addComponentsGetterSetter(Ae,"fillLinearGradientEndPoint",["x","y"]);j.addComponentsGetterSetter(Ae,"strokeLinearGradientEndPoint",["x","y"]);j.addGetterSetter(Ae,"fillLinearGradientEndPointX",0);j.addGetterSetter(Ae,"strokeLinearGradientEndPointX",0);j.addGetterSetter(Ae,"fillLinearGradientEndPointY",0);j.addGetterSetter(Ae,"strokeLinearGradientEndPointY",0);j.addComponentsGetterSetter(Ae,"fillRadialGradientStartPoint",["x","y"]);j.addGetterSetter(Ae,"fillRadialGradientStartPointX",0);j.addGetterSetter(Ae,"fillRadialGradientStartPointY",0);j.addComponentsGetterSetter(Ae,"fillRadialGradientEndPoint",["x","y"]);j.addGetterSetter(Ae,"fillRadialGradientEndPointX",0);j.addGetterSetter(Ae,"fillRadialGradientEndPointY",0);j.addGetterSetter(Ae,"fillPatternRotation",0);j.backCompat(Ae,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"});var Dxe="#",zxe="beforeDraw",Fxe="draw",F$=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],Bxe=F$.length;class Xf extends ia{constructor(t){super(t),this.canvas=new t0,this.hitCanvas=new t_({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(zxe,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),ia.prototype.drawScene.call(this,i,n),this._fire(Fxe,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),ia.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){se.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return se.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)}}}Xf.prototype.nodeType="Layer";hr(Xf);j.addGetterSetter(Xf,"imageSmoothingEnabled",!0);j.addGetterSetter(Xf,"clearBeforeDraw",!0);j.addGetterSetter(Xf,"hitGraphEnabled",!0,ks());class r_ extends Xf{constructor(t){super(t),this.listening(!1),se.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}r_.prototype.nodeType="FastLayer";hr(r_);class b0 extends ia{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&se.throw("You may only add groups and shapes to groups.")}}b0.prototype.nodeType="Group";hr(b0);var DS=function(){return e0.performance&&e0.performance.now?function(){return e0.performance.now()}:function(){return new Date().getTime()}}();class Ia{constructor(t,n){this.id=Ia.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:DS(),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=kA,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=EA,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===kA?this.setTime(t):this.state===EA&&this.setTime(this.duration-t)}pause(){this.state=Hxe,this.fire("onPause")}getTimer(){return new Date().getTime()}}class Ir{constructor(t){var n=this,r=t.node,i=r._id,o,a=t.easing||um.Linear,s=!!t.yoyo,l;typeof t.duration>"u"?o=.3:t.duration===0?o=.001:o=t.duration,this.node=r,this._id=Wxe++;var d=r.getLayer()||(r instanceof Je.Stage?r.getLayers():null);d||se.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new Ia(function(){n.tween.onEnterFrame()},d),this.tween=new Vxe(l,function(p){n._tweenFunc(p)},a,0,1,o*1e3,s),this._addListeners(),Ir.attrs[i]||(Ir.attrs[i]={}),Ir.attrs[i][this._id]||(Ir.attrs[i][this._id]={}),Ir.tweens[i]||(Ir.tweens[i]={});for(l in t)$xe[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,d,p,g,m;if(s=Ir.tweens[i][t],s&&delete Ir.attrs[i][s][t],o=r.getAttr(t),se._isArray(n))if(a=[],d=Math.max(n.length,o.length),t==="points"&&n.length!==o.length&&(n.length>o.length?(g=o,o=se._prepareArrayForTween(o,n,r.closed())):(p=n,n=se._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=Ir.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=Ir.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=Ir.tweens[t],i;this.pause();for(i in r)delete Ir.tweens[t][i];delete Ir.attrs[t][n]}}Ir.attrs={};Ir.tweens={};ze.prototype.to=function(e){var t=e.onFinish;e.node=this,e.onFinish=function(){this.destroy(),t&&t()};var n=new Ir(e);n.play()};const um={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),p=a*n,g=s*(s>0?t:n),m=l*(l>0?n:t);return{x:d,y:r?-1*m:g,width:p-d,height:m-g}}}_u.prototype._centroid=!0;_u.prototype.className="Arc";_u.prototype._attrsAffectingSize=["innerRadius","outerRadius"];hr(_u);j.addGetterSetter(_u,"innerRadius",0,De());j.addGetterSetter(_u,"outerRadius",0,De());j.addGetterSetter(_u,"angle",0,De());j.addGetterSetter(_u,"clockwise",!1,ks());function yC(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)),d=a*s/(s+l),p=a*l/(s+l),g=n-d*(i-e),m=r-d*(o-t),y=n+p*(i-e),b=r+p*(o-t);return[g,m,y,b]}function TA(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(s=this.getTensionPoints(),l=s.length,d=o?0:4,o||t.quadraticCurveTo(s[0],s[1],s[2],s[3]);dp?d:p,E=d>p?1:d/p,P=d>p?p/d:1;t.translate(s,l),t.rotate(y),t.scale(E,P),t.arc(0,0,S,g,g+m,1-b),t.scale(1/E,1/P),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(d){if(d.command==="A"){var p=d.points[4],g=d.points[5],m=d.points[4]+g,y=Math.PI/180;if(Math.abs(p-m)m;b-=y){const S=In.getPointOnEllipticalArc(d.points[0],d.points[1],d.points[2],d.points[3],b,0);t.push(S.x,S.y)}else for(let b=p+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 In.getPointOnLine(t,o.start.x,o.start.y,a[0],a[1]);case"C":return In.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 In.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],d=a[2],p=a[3],g=a[4],m=a[5],y=a[6];return g+=m*t/o.pathLength,In.getPointOnEllipticalArc(s,l,d,p,g,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),d=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(b[0]);){var k=null,L=[],I=l,O=d,N,D,F,U,W,q,pe,fe,ye,Pe;switch(y){case"l":l+=b.shift(),d+=b.shift(),k="L",L.push(l,d);break;case"L":l=b.shift(),d=b.shift(),L.push(l,d);break;case"m":var xe=b.shift(),Y=b.shift();if(l+=xe,d+=Y,k="M",a.length>2&&a[a.length-1].command==="z"){for(var V=a.length-2;V>=0;V--)if(a[V].command==="M"){l=a[V].points[0]+xe,d=a[V].points[1]+Y;break}}L.push(l,d),y="l";break;case"M":l=b.shift(),d=b.shift(),k="M",L.push(l,d),y="L";break;case"h":l+=b.shift(),k="L",L.push(l,d);break;case"H":l=b.shift(),k="L",L.push(l,d);break;case"v":d+=b.shift(),k="L",L.push(l,d);break;case"V":d=b.shift(),k="L",L.push(l,d);break;case"C":L.push(b.shift(),b.shift(),b.shift(),b.shift()),l=b.shift(),d=b.shift(),L.push(l,d);break;case"c":L.push(l+b.shift(),d+b.shift(),l+b.shift(),d+b.shift()),l+=b.shift(),d+=b.shift(),k="C",L.push(l,d);break;case"S":D=l,F=d,N=a[a.length-1],N.command==="C"&&(D=l+(l-N.points[2]),F=d+(d-N.points[3])),L.push(D,F,b.shift(),b.shift()),l=b.shift(),d=b.shift(),k="C",L.push(l,d);break;case"s":D=l,F=d,N=a[a.length-1],N.command==="C"&&(D=l+(l-N.points[2]),F=d+(d-N.points[3])),L.push(D,F,l+b.shift(),d+b.shift()),l+=b.shift(),d+=b.shift(),k="C",L.push(l,d);break;case"Q":L.push(b.shift(),b.shift()),l=b.shift(),d=b.shift(),L.push(l,d);break;case"q":L.push(l+b.shift(),d+b.shift()),l+=b.shift(),d+=b.shift(),k="Q",L.push(l,d);break;case"T":D=l,F=d,N=a[a.length-1],N.command==="Q"&&(D=l+(l-N.points[0]),F=d+(d-N.points[1])),l=b.shift(),d=b.shift(),k="Q",L.push(D,F,l,d);break;case"t":D=l,F=d,N=a[a.length-1],N.command==="Q"&&(D=l+(l-N.points[0]),F=d+(d-N.points[1])),l+=b.shift(),d+=b.shift(),k="Q",L.push(D,F,l,d);break;case"A":U=b.shift(),W=b.shift(),q=b.shift(),pe=b.shift(),fe=b.shift(),ye=l,Pe=d,l=b.shift(),d=b.shift(),k="A",L=this.convertEndpointToCenterParameterization(ye,Pe,l,d,pe,fe,U,W,q);break;case"a":U=b.shift(),W=b.shift(),q=b.shift(),pe=b.shift(),fe=b.shift(),ye=l,Pe=d,l+=b.shift(),d+=b.shift(),k="A",L=this.convertEndpointToCenterParameterization(ye,Pe,l,d,pe,fe,U,W,q);break}a.push({command:k||y,points:L,start:{x:I,y:O},pathLength:this.calcLength(I,O,k||y,L)})}(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,d=In;switch(r){case"L":return d.getLineLength(t,n,i[0],i[1]);case"C":for(o=0,a=d.getPointOnCubicBezier(0,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),l=.01;l<=1;l+=.01)s=d.getPointOnCubicBezier(l,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),o+=d.getLineLength(a.x,a.y,s.x,s.y),a=s;return o;case"Q":for(o=0,a=d.getPointOnQuadraticBezier(0,t,n,i[0],i[1],i[2],i[3]),l=.01;l<=1;l+=.01)s=d.getPointOnQuadraticBezier(l,t,n,i[0],i[1],i[2],i[3]),o+=d.getLineLength(a.x,a.y,s.x,s.y),a=s;return o;case"A":o=0;var p=i[4],g=i[5],m=i[4]+g,y=Math.PI/180;if(Math.abs(p-m)m;l-=y)s=d.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=d.getLineLength(a.x,a.y,s.x,s.y),a=s;else for(l=p+y;l1&&(s*=Math.sqrt(y),l*=Math.sqrt(y));var b=Math.sqrt((s*s*(l*l)-s*s*(m*m)-l*l*(g*g))/(s*s*(m*m)+l*l*(g*g)));o===a&&(b*=-1),isNaN(b)&&(b=0);var S=b*s*m/l,E=b*-l*g/s,P=(t+r)/2+Math.cos(p)*S-Math.sin(p)*E,k=(n+i)/2+Math.sin(p)*S+Math.cos(p)*E,L=function(W){return Math.sqrt(W[0]*W[0]+W[1]*W[1])},I=function(W,q){return(W[0]*q[0]+W[1]*q[1])/(L(W)*L(q))},O=function(W,q){return(W[0]*q[1]=1&&(U=0),a===0&&U>0&&(U=U-2*Math.PI),a===1&&U<0&&(U=U+2*Math.PI),[P,k,s,l,N,U,p,a]}}In.prototype.className="Path";In.prototype._attrsAffectingSize=["data"];hr(In);j.addGetterSetter(In,"data");class Qf extends ku{_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,d;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=In.calcLength(i[i.length-4],i[i.length-3],"C",m),b=In.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,d=r[s-1]-b.y}else l=r[s-2]-r[s-4],d=r[s-1]-r[s-3];var p=(Math.atan2(d,l)+n)%n,g=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[s-2],r[s-1]),t.rotate(p),t.moveTo(0,0),t.lineTo(-a,g/2),t.lineTo(-a,-g/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],d=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],d=r[3]-r[1]),t.rotate((Math.atan2(-d,-l)+n)%n),t.moveTo(0,0),t.lineTo(-a,g/2),t.lineTo(-a,-g/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}}}Qf.prototype.className="Arrow";hr(Qf);j.addGetterSetter(Qf,"pointerLength",10,De());j.addGetterSetter(Qf,"pointerWidth",10,De());j.addGetterSetter(Qf,"pointerAtBeginning",!1);j.addGetterSetter(Qf,"pointerAtEnding",!0);class $0 extends Ae{_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)}}$0.prototype._centroid=!0;$0.prototype.className="Circle";$0.prototype._attrsAffectingSize=["radius"];hr($0);j.addGetterSetter($0,"radius",0,De());class ld extends Ae{_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)}}ld.prototype.className="Ellipse";ld.prototype._centroid=!0;ld.prototype._attrsAffectingSize=["radiusX","radiusY"];hr(ld);j.addComponentsGetterSetter(ld,"radius",["x","y"]);j.addGetterSetter(ld,"radiusX",0,De());j.addGetterSetter(ld,"radiusY",0,De());class Es extends Ae{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.attrs.image;let o;if(i){const a=this.attrs.cropWidth,s=this.attrs.cropHeight;a&&s?o=[i,this.cropX(),this.cropY(),a,s,0,0,n,r]:o=[i,0,0,n,r]}(this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),i&&t.drawImage.apply(t,o)}_hitFunc(t){var n=this.width(),r=this.height();t.beginPath(),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=se.createImageElement();i.onload=function(){var o=new Es({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}}Es.prototype.className="Image";hr(Es);j.addGetterSetter(Es,"image");j.addComponentsGetterSetter(Es,"crop",["x","y","width","height"]);j.addGetterSetter(Es,"cropX",0,De());j.addGetterSetter(Es,"cropY",0,De());j.addGetterSetter(Es,"cropWidth",0,De());j.addGetterSetter(Es,"cropHeight",0,De());var B$=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],Uxe="Change.konva",Gxe="none",xC="up",bC="right",SC="down",wC="left",jxe=B$.length;class i_ extends b0{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)}}eh.prototype.className="RegularPolygon";eh.prototype._centroid=!0;eh.prototype._attrsAffectingSize=["radius"];hr(eh);j.addGetterSetter(eh,"radius",0,De());j.addGetterSetter(eh,"sides",0,De());var LA=Math.PI*2;class th extends Ae{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,LA,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),LA,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)}}th.prototype.className="Ring";th.prototype._centroid=!0;th.prototype._attrsAffectingSize=["innerRadius","outerRadius"];hr(th);j.addGetterSetter(th,"innerRadius",0,De());j.addGetterSetter(th,"outerRadius",0,De());class Ll extends Ae{constructor(t){super(t),this._updated=!0,this.anim=new Ia(()=>{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],d=o[i+2],p=o[i+3],g=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,d,p),t.closePath(),t.fillStrokeShape(this)),g)if(a){var m=a[n],y=r*2;t.drawImage(g,s,l,d,p,m[y+0],m[y+1],d,p)}else t.drawImage(g,s,l,d,p,0,0,d,p)}_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 d=a[n],p=r*2;t.rect(d[p+0],d[p+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 Cy;function FS(){return Cy||(Cy=se.createCanvasElement().getContext(Zxe),Cy)}function abe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function sbe(e){e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function lbe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class fr extends Ae{constructor(t){super(lbe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(P+=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=se._isString(t)?t:t==null?"":t+"";return this._setAttr(Yxe,n),this}getWidth(){var t=this.attrs.width===dp||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===dp||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 se.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=FS(),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()+wy+this.fontVariant()+wy+(this.fontSize()+ebe)+obe(this.fontFamily())}_addTextLine(t){this.align()===fg&&(t=t.trim());var n=this._getTextWidth(t);return this.textArr.push({text:t,width:n,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return FS().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!==dp&&o!==void 0,l=a!==dp&&a!==void 0,d=this.padding(),p=o-d*2,g=a-d*2,m=0,y=this.wrap(),b=y!==MA,S=y!==rbe&&b,E=this.ellipsis();this.textArr=[],FS().font=this._getContextFont();for(var P=E?this._getTextWidth(zS):0,k=0,L=t.length;kp)for(;I.length>0;){for(var N=0,D=I.length,F="",U=0;N>>1,q=I.slice(0,W+1),pe=this._getTextWidth(q)+P;pe<=p?(N=W+1,F=q,U=pe):D=W}if(F){if(S){var fe,ye=I[F.length],Pe=ye===wy||ye===AA;Pe&&U<=p?fe=F.length:fe=Math.max(F.lastIndexOf(wy),F.lastIndexOf(AA))+1,fe>0&&(N=fe,F=F.slice(0,N),U=this._getTextWidth(F))}F=F.trimRight(),this._addTextLine(F),r=Math.max(r,U),m+=i;var xe=this._shouldHandleEllipsis(m);if(xe){this._tryToAddEllipsisToLastLine();break}if(I=I.slice(N),I=I.trimLeft(),I.length>0&&(O=this._getTextWidth(I),O<=p)){this._addTextLine(I),m+=i,r=Math.max(r,O);break}}else break}else this._addTextLine(I),m+=i,r=Math.max(r,O),this._shouldHandleEllipsis(m)&&kg)break;this.textArr[this.textArr.length-1]&&(this.textArr[this.textArr.length-1].lastInParagraph=!0)}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==dp&&i!==void 0,a=this.padding(),s=i-a*2,l=this.wrap(),d=l!==MA;return!d||o&&t+r>s}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==dp&&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+zS)=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;i0&&(s+=t.dataArray[l].pathLength);var d=0;i==="center"&&(d=Math.max(0,s/2-a/2)),i==="right"&&(d=Math.max(0,s-a));for(var p=$$(this.text()),g=this.text().split(" ").length-1,m,y,b,S=-1,E=0,P=function(){E=0;for(var pe=t.dataArray,fe=S+1;fe0)return S=fe,pe[fe];pe[fe].command==="M"&&(m={x:pe[fe].points[0],y:pe[fe].points[1]})}return{}},k=function(pe){var fe=t._getTextSize(pe).width+r;pe===" "&&i==="justify"&&(fe+=(s-a)/g);var ye=0,Pe=0;for(y=void 0;Math.abs(fe-ye)/fe>.01&&Pe<20;){Pe++;for(var xe=ye;b===void 0;)b=P(),b&&xe+b.pathLengthfe?y=In.getPointOnLine(fe,m.x,m.y,b.points[0],b.points[1],m.x,m.y):b=void 0;break;case"A":var V=b.points[4],ae=b.points[5],oe=b.points[4]+ae;E===0?E=V+1e-8:fe>ye?E+=Math.PI/180*ae/Math.abs(ae):E-=Math.PI/360*ae/Math.abs(ae),(ae<0&&E=0&&E>oe)&&(E=oe,Y=!0),y=In.getPointOnEllipticalArc(b.points[0],b.points[1],b.points[2],b.points[3],E,b.points[6]);break;case"C":E===0?fe>b.pathLength?E=1e-8:E=fe/b.pathLength:fe>ye?E+=(fe-ye)/b.pathLength/2:E=Math.max(E-(ye-fe)/b.pathLength/2,0),E>1&&(E=1,Y=!0),y=In.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=fe/b.pathLength:fe>ye?E+=(fe-ye)/b.pathLength:E-=(ye-fe)/b.pathLength,E>1&&(E=1,Y=!0),y=In.getPointOnQuadraticBezier(E,b.start.x,b.start.y,b.points[0],b.points[1],b.points[2],b.points[3]);break}y!==void 0&&(ye=In.getLineLength(m.x,m.y,y.x,y.y)),Y&&(Y=!1,b=void 0)}},L="C",I=t._getTextSize(L).width+r,O=d/I-1,N=0;Ne+`.${q$}`).join(" "),RA="nodesRect",dbe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],fbe={"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 hbe="ontouchstart"in Je._global;function pbe(e,t){if(e==="rotater")return"crosshair";t+=se.degToRad(fbe[e]||0);var n=(se.radToDeg(t)%360+360)%360;return se._inRange(n,315+22.5,360)||se._inRange(n,0,22.5)?"ns-resize":se._inRange(n,45-22.5,45+22.5)?"nesw-resize":se._inRange(n,90-22.5,90+22.5)?"ew-resize":se._inRange(n,135-22.5,135+22.5)?"nwse-resize":se._inRange(n,180-22.5,180+22.5)?"ns-resize":se._inRange(n,225-22.5,225+22.5)?"nesw-resize":se._inRange(n,270-22.5,270+22.5)?"ew-resize":se._inRange(n,315-22.5,315+22.5)?"nwse-resize":(se.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var O5=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],OA=1e8;function gbe(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 K$(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 mbe(e,t){const n=gbe(e);return K$(e,t,n)}function vbe(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(dbe.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(RA),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(RA,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 d=(Je.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),p={x:a.x+s*Math.cos(d)+l*Math.sin(-d),y:a.y+l*Math.cos(d)+s*Math.sin(d),width:i.width*o.x,height:i.height*o.y,rotation:d};return K$(p,-Je.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-OA,y:-OA,width:0,height:0,rotation:0};const n=[];this.nodes().map(d=>{const p=d.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var g=[{x:p.x,y:p.y},{x:p.x+p.width,y:p.y},{x:p.x+p.width,y:p.y+p.height},{x:p.x,y:p.y+p.height}],m=d.getAbsoluteTransform();g.forEach(function(y){var b=m.point(y);n.push(b)})});const r=new Qo;r.rotate(-Je.getAngle(this.rotation()));var i,o,a,s;n.forEach(function(d){var p=r.point(d);i===void 0&&(i=a=p.x,o=s=p.y),i=Math.min(i,p.x),o=Math.min(o,p.y),a=Math.max(a,p.x),s=Math.max(s,p.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:Je.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(),O5.forEach(function(t){this._createAnchor(t)}.bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new Lv({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:hbe?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=Je.getAngle(this.rotation()),o=pbe(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 Ae({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()*se._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 d=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(d,l,t)),o.setAbsolutePosition(l);const p=o.getAbsolutePosition();if(!(d.x===p.x&&d.y===p.y)){if(this._movingAnchorName==="rotater"){var g=this._getNodeRect();n=o.x()-g.width/2,r=-o.y()+g.height/2;let pe=Math.atan2(-r,n)+Math.PI/2;g.height<0&&(pe-=Math.PI);var m=Je.getAngle(this.rotation());const fe=m+pe,ye=Je.getAngle(this.rotationSnapTolerance()),xe=vbe(this.rotationSnaps(),fe,ye)-g.rotation,Y=mbe(g,xe);this._fitNodesInto(Y,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 S=this.findOne(".top-left").x()>b.x?-1:1,E=this.findOne(".top-left").y()>b.y?-1:1;n=i*this.cos*S,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 S=this.findOne(".top-right").x()b.y?-1:1;n=i*this.cos*S,r=i*this.sin*E,this.findOne(".top-right").x(b.x+n),this.findOne(".top-right").y(b.y-r)}var P=o.position();this.findOne(".top-left").y(P.y),this.findOne(".bottom-right").x(P.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 S=b.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(se._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(se._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var a=new Qo;if(a.rotate(Je.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const g=a.point({x:-this.padding()*2,y:0});if(t.x+=g.x,t.y+=g.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=g.x,this._anchorDragOffset.y-=g.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const g=a.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=g.x,this._anchorDragOffset.y-=g.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const g=a.point({x:0,y:-this.padding()*2});if(t.x+=g.x,t.y+=g.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=g.x,this._anchorDragOffset.y-=g.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const g=a.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=g.x,this._anchorDragOffset.y-=g.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const g=this.boundBoxFunc()(r,t);g?t=g:se.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const s=1e7,l=new Qo;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/s,r.height/s);const d=new Qo;d.translate(t.x,t.y),d.rotate(t.rotation),d.scale(t.width/s,t.height/s);const p=d.multiply(l.invert());this._nodes.forEach(g=>{var m;const y=g.getParent().getAbsoluteTransform(),b=g.getTransform().copy();b.translate(g.offsetX(),g.offsetY());const S=new Qo;S.multiply(y.copy().invert()).multiply(p).multiply(y).multiply(b);const E=S.decompose();g.setAttrs(E),this._fire("transform",{evt:n,target:g}),g._fire("transform",{evt:n,target:g}),(m=g.getLayer())===null||m===void 0||m.batchDraw()}),this.rotation(se._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(se._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(d=>{d.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+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()*se._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=""),b0.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return ze.prototype.toObject.call(this)}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}function ybe(e){return e instanceof Array||se.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){O5.indexOf(t)===-1&&se.warn("Unknown anchor name: "+t+". Available names are: "+O5.join(", "))}),e||[]}bn.prototype.className="Transformer";hr(bn);j.addGetterSetter(bn,"enabledAnchors",O5,ybe);j.addGetterSetter(bn,"flipEnabled",!0,ks());j.addGetterSetter(bn,"resizeEnabled",!0);j.addGetterSetter(bn,"anchorSize",10,De());j.addGetterSetter(bn,"rotateEnabled",!0);j.addGetterSetter(bn,"rotationSnaps",[]);j.addGetterSetter(bn,"rotateAnchorOffset",50,De());j.addGetterSetter(bn,"rotationSnapTolerance",5,De());j.addGetterSetter(bn,"borderEnabled",!0);j.addGetterSetter(bn,"anchorStroke","rgb(0, 161, 255)");j.addGetterSetter(bn,"anchorStrokeWidth",1,De());j.addGetterSetter(bn,"anchorFill","white");j.addGetterSetter(bn,"anchorCornerRadius",0,De());j.addGetterSetter(bn,"borderStroke","rgb(0, 161, 255)");j.addGetterSetter(bn,"borderStrokeWidth",1,De());j.addGetterSetter(bn,"borderDash");j.addGetterSetter(bn,"keepRatio",!0);j.addGetterSetter(bn,"centeredScaling",!1);j.addGetterSetter(bn,"ignoreStroke",!1);j.addGetterSetter(bn,"padding",0,De());j.addGetterSetter(bn,"node");j.addGetterSetter(bn,"nodes");j.addGetterSetter(bn,"boundBoxFunc");j.addGetterSetter(bn,"anchorDragBoundFunc");j.addGetterSetter(bn,"shouldOverdrawWholeArea",!1);j.addGetterSetter(bn,"useSingleNodeRotation",!0);j.backCompat(bn,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});class Eu extends Ae{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,Je.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)}}Eu.prototype.className="Wedge";Eu.prototype._centroid=!0;Eu.prototype._attrsAffectingSize=["radius"];hr(Eu);j.addGetterSetter(Eu,"radius",0,De());j.addGetterSetter(Eu,"angle",0,De());j.addGetterSetter(Eu,"clockwise",!1);j.backCompat(Eu,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});function NA(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var xbe=[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],bbe=[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 Sbe(e,t){var n=e.data,r=e.width,i=e.height,o,a,s,l,d,p,g,m,y,b,S,E,P,k,L,I,O,N,D,F,U,W,q,pe,fe=t+t+1,ye=r-1,Pe=i-1,xe=t+1,Y=xe*(xe+1)/2,V=new NA,ae=null,oe=V,X=null,me=null,ve=xbe[t],Se=bbe[t];for(s=1;s>Se,q!==0?(q=255/q,n[p]=(m*ve>>Se)*q,n[p+1]=(y*ve>>Se)*q,n[p+2]=(b*ve>>Se)*q):n[p]=n[p+1]=n[p+2]=0,m-=E,y-=P,b-=k,S-=L,E-=X.r,P-=X.g,k-=X.b,L-=X.a,l=g+((l=o+t+1)>Se,q>0?(q=255/q,n[l]=(m*ve>>Se)*q,n[l+1]=(y*ve>>Se)*q,n[l+2]=(b*ve>>Se)*q):n[l]=n[l+1]=n[l+2]=0,m-=E,y-=P,b-=k,S-=L,E-=X.r,P-=X.g,k-=X.b,L-=X.a,l=o+((l=a+xe)0&&Sbe(t,n)};j.addGetterSetter(ze,"blurRadius",0,De(),j.afterSetFilter);const Cbe=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(ze,"contrast",0,De(),j.afterSetFilter);const kbe=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,d=e.height,p=l*4,g=d;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:se.error("Unknown emboss direction: "+r)}do{var m=(g-1)*p,y=o;g+y<1&&(y=0),g+y>d&&(y=0);var b=(g-1+y)*l*4,S=l;do{var E=m+(S-1)*4,P=a;S+P<1&&(P=0),S+P>l&&(P=0);var k=b+(S-1+P)*4,L=s[E]-s[k],I=s[E+1]-s[k+1],O=s[E+2]-s[k+2],N=L,D=N>0?N:-N,F=I>0?I:-I,U=O>0?O:-O;if(F>D&&(N=I),U>D&&(N=O),N*=t,i){var W=s[E]+N,q=s[E+1]+N,pe=s[E+2]+N;s[E]=W>255?255:W<0?0:W,s[E+1]=q>255?255:q<0?0:q,s[E+2]=pe>255?255:pe<0?0:pe}else{var fe=n-N;fe<0?fe=0:fe>255&&(fe=255),s[E]=s[E+1]=s[E+2]=fe}}while(--S)}while(--g)};j.addGetterSetter(ze,"embossStrength",.5,De(),j.afterSetFilter);j.addGetterSetter(ze,"embossWhiteLevel",.5,De(),j.afterSetFilter);j.addGetterSetter(ze,"embossDirection","top-left",null,j.afterSetFilter);j.addGetterSetter(ze,"embossBlend",!1,null,j.afterSetFilter);function BS(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 Ebe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,a=t[1],s=a,l,d=t[2],p=d,g,m,y=this.enhance();if(y!==0){for(m=0;mi&&(i=o),l=t[m+1],ls&&(s=l),g=t[m+2],gp&&(p=g);i===r&&(i=255,r=0),s===a&&(s=255,a=0),p===d&&(p=255,d=0);var b,S,E,P,k,L,I,O,N;for(y>0?(S=i+y*(255-i),E=r-y*(r-0),k=s+y*(255-s),L=a-y*(a-0),O=p+y*(255-p),N=d-y*(d-0)):(b=(i+r)*.5,S=i+y*(i-b),E=r+y*(r-b),P=(s+a)*.5,k=s+y*(s-P),L=a+y*(a-P),I=(p+d)*.5,O=p+y*(p-I),N=d+y*(d-I)),m=0;mP?E:P;var k=a,L=o,I,O,N=360/L*Math.PI/180,D,F;for(O=0;OL?k:L;var I=a,O=o,N,D,F=n.polarRotation||0,U,W;for(p=0;pt&&(I=L,O=0,N=-1),i=0;i=0&&y=0&&b=0&&y=0&&b=255*4?255:0}return a}function Bbe(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=S;o=r||(a=(n*o+i)*4,s+=I[a+0],l+=I[a+1],d+=I[a+2],p+=I[a+3],L+=1);for(s=s/L,l=l/L,d=d/L,p=p/L,i=y;i=n))for(o=S;o=r||(a=(n*o+i)*4,I[a+0]=s,I[a+1]=l,I[a+2]=d,I[a+3]=p)}};j.addGetterSetter(ze,"pixelSize",8,De(),j.afterSetFilter);const Vbe=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(ze,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});j.addGetterSetter(ze,"blue",0,v$,j.afterSetFilter);const Gbe=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(ze,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});j.addGetterSetter(ze,"blue",0,v$,j.afterSetFilter);j.addGetterSetter(ze,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});const jbe=function(e){var t=e.data,n=t.length,r,i,o,a;for(r=0;r127&&(d=255-d),p>127&&(p=255-p),g>127&&(g=255-g),t[l]=d,t[l+1]=p,t[l+2]=g}while(--s)}while(--o)},Kbe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;iee||T[$]!==M[ee]){var le=` +`+T[$].replace(" at new "," at ");return c.displayName&&le.includes("")&&(le=le.replace("",c.displayName)),le}while(1<=$&&0<=ee);break}}}finally{As=!1,Error.prepareStackTrace=v}return(c=c?c.displayName||c.name:"")?Il(c):""}var ah=Object.prototype.hasOwnProperty,Au=[],Is=-1;function Mo(c){return{current:c}}function Cn(c){0>Is||(c.current=Au[Is],Au[Is]=null,Is--)}function gn(c,f){Is++,Au[Is]=c.current,c.current=f}var Ro={},Cr=Mo(Ro),Vr=Mo(!1),Oo=Ro;function Ms(c,f){var v=c.type.contextTypes;if(!v)return Ro;var _=c.stateNode;if(_&&_.__reactInternalMemoizedUnmaskedChildContext===f)return _.__reactInternalMemoizedMaskedChildContext;var T={},M;for(M in v)T[M]=f[M];return _&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=f,c.__reactInternalMemoizedMaskedChildContext=T),T}function Ur(c){return c=c.childContextTypes,c!=null}function Ka(){Cn(Vr),Cn(Cr)}function hd(c,f,v){if(Cr.current!==Ro)throw Error(a(168));gn(Cr,f),gn(Vr,v)}function Rl(c,f,v){var _=c.stateNode;if(f=f.childContextTypes,typeof _.getChildContext!="function")return v;_=_.getChildContext();for(var T in _)if(!(T in f))throw Error(a(108,F(c)||"Unknown",T));return o({},v,_)}function Za(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||Ro,Oo=Cr.current,gn(Cr,c),gn(Vr,Vr.current),!0}function pd(c,f,v){var _=c.stateNode;if(!_)throw Error(a(169));v?(c=Rl(c,f,Oo),_.__reactInternalMemoizedMergedChildContext=c,Cn(Vr),Cn(Cr),gn(Cr,c)):Cn(Vr),gn(Vr,v)}var ci=Math.clz32?Math.clz32:gd,sh=Math.log,lh=Math.LN2;function gd(c){return c>>>=0,c===0?32:31-(sh(c)/lh|0)|0}var Rs=64,so=4194304;function Os(c){switch(c&-c){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 c&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return c&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return c}}function Ol(c,f){var v=c.pendingLanes;if(v===0)return 0;var _=0,T=c.suspendedLanes,M=c.pingedLanes,$=v&268435455;if($!==0){var ee=$&~T;ee!==0?_=Os(ee):(M&=$,M!==0&&(_=Os(M)))}else $=v&~T,$!==0?_=Os($):M!==0&&(_=Os(M));if(_===0)return 0;if(f!==0&&f!==_&&(f&T)===0&&(T=_&-_,M=f&-f,T>=M||T===16&&(M&4194240)!==0))return f;if((_&4)!==0&&(_|=v&16),f=c.entangledLanes,f!==0)for(c=c.entanglements,f&=_;0v;v++)f.push(c);return f}function ga(c,f,v){c.pendingLanes|=f,f!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,f=31-ci(f),c[f]=v}function vd(c,f){var v=c.pendingLanes&~f;c.pendingLanes=f,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=f,c.mutableReadLanes&=f,c.entangledLanes&=f,f=c.entanglements;var _=c.eventTimes;for(c=c.expirationTimes;0>=$,T-=$,Wi=1<<32-ci(f)+T|v<Ot?(Dr=xt,xt=null):Dr=xt.sibling;var Ut=Ue(ce,xt,he[Ot],Be);if(Ut===null){xt===null&&(xt=Dr);break}c&&xt&&Ut.alternate===null&&f(ce,xt),re=M(Ut,re,Ot),_t===null?ke=Ut:_t.sibling=Ut,_t=Ut,xt=Dr}if(Ot===he.length)return v(ce,xt),Rn&&Ns(ce,Ot),ke;if(xt===null){for(;OtOt?(Dr=xt,xt=null):Dr=xt.sibling;var is=Ue(ce,xt,Ut.value,Be);if(is===null){xt===null&&(xt=Dr);break}c&&xt&&is.alternate===null&&f(ce,xt),re=M(is,re,Ot),_t===null?ke=is:_t.sibling=is,_t=is,xt=Dr}if(Ut.done)return v(ce,xt),Rn&&Ns(ce,Ot),ke;if(xt===null){for(;!Ut.done;Ot++,Ut=he.next())Ut=Ct(ce,Ut.value,Be),Ut!==null&&(re=M(Ut,re,Ot),_t===null?ke=Ut:_t.sibling=Ut,_t=Ut);return Rn&&Ns(ce,Ot),ke}for(xt=_(ce,xt);!Ut.done;Ot++,Ut=he.next())Ut=Nn(xt,ce,Ot,Ut.value,Be),Ut!==null&&(c&&Ut.alternate!==null&&xt.delete(Ut.key===null?Ot:Ut.key),re=M(Ut,re,Ot),_t===null?ke=Ut:_t.sibling=Ut,_t=Ut);return c&&xt.forEach(function(ii){return f(ce,ii)}),Rn&&Ns(ce,Ot),ke}function Go(ce,re,he,Be){if(typeof he=="object"&&he!==null&&he.type===p&&he.key===null&&(he=he.props.children),typeof he=="object"&&he!==null){switch(he.$$typeof){case l:e:{for(var ke=he.key,_t=re;_t!==null;){if(_t.key===ke){if(ke=he.type,ke===p){if(_t.tag===7){v(ce,_t.sibling),re=T(_t,he.props.children),re.return=ce,ce=re;break e}}else if(_t.elementType===ke||typeof ke=="object"&&ke!==null&&ke.$$typeof===L&&c1(ke)===_t.type){v(ce,_t.sibling),re=T(_t,he.props),re.ref=ya(ce,_t,he),re.return=ce,ce=re;break e}v(ce,_t);break}else f(ce,_t);_t=_t.sibling}he.type===p?(re=Zs(he.props.children,ce.mode,Be,he.key),re.return=ce,ce=re):(Be=Gd(he.type,he.key,he.props,null,ce.mode,Be),Be.ref=ya(ce,re,he),Be.return=ce,ce=Be)}return $(ce);case d:e:{for(_t=he.key;re!==null;){if(re.key===_t)if(re.tag===4&&re.stateNode.containerInfo===he.containerInfo&&re.stateNode.implementation===he.implementation){v(ce,re.sibling),re=T(re,he.children||[]),re.return=ce,ce=re;break e}else{v(ce,re);break}else f(ce,re);re=re.sibling}re=Ys(he,ce.mode,Be),re.return=ce,ce=re}return $(ce);case L:return _t=he._init,Go(ce,re,_t(he._payload),Be)}if(Pe(he))return _n(ce,re,he,Be);if(N(he))return Xn(ce,re,he,Be);Mi(ce,he)}return typeof he=="string"&&he!==""||typeof he=="number"?(he=""+he,re!==null&&re.tag===6?(v(ce,re.sibling),re=T(re,he),re.return=ce,ce=re):(v(ce,re),re=Zh(he,ce.mode,Be),re.return=ce,ce=re),$(ce)):v(ce,re)}return Go}var Hu=Hv(!0),Wv=Hv(!1),Td={},fo=Mo(Td),xa=Mo(Td),Q=Mo(Td);function ge(c){if(c===Td)throw Error(a(174));return c}function de(c,f){gn(Q,f),gn(xa,c),gn(fo,Td),c=Y(f),Cn(fo),gn(fo,c)}function Ve(){Cn(fo),Cn(xa),Cn(Q)}function yt(c){var f=ge(Q.current),v=ge(fo.current);f=V(v,c.type,f),v!==f&&(gn(xa,c),gn(fo,f))}function Yt(c){xa.current===c&&(Cn(fo),Cn(xa))}var Pt=Mo(0);function on(c){for(var f=c;f!==null;){if(f.tag===13){var v=f.memoizedState;if(v!==null&&(v=v.dehydrated,v===null||Tu(v)||fd(v)))return f}else if(f.tag===19&&f.memoizedProps.revealOrder!==void 0){if((f.flags&128)!==0)return f}else if(f.child!==null){f.child.return=f,f=f.child;continue}if(f===c)break;for(;f.sibling===null;){if(f.return===null||f.return===c)return null;f=f.return}f.sibling.return=f.return,f=f.sibling}return null}var Ld=[];function d1(){for(var c=0;cv?v:4,c(!0);var _=Wu.transition;Wu.transition={};try{c(!1),f()}finally{zt=v,Wu.transition=_}}function Zu(){return hi().memoizedState}function x1(c,f,v){var _=Tr(c);if(v={lane:_,action:v,hasEagerState:!1,eagerState:null,next:null},Xu(c))Qu(f,v);else if(v=$u(c,f,v,_),v!==null){var T=ri();go(v,c,_,T),Nd(v,f,_)}}function Yu(c,f,v){var _=Tr(c),T={lane:_,action:v,hasEagerState:!1,eagerState:null,next:null};if(Xu(c))Qu(f,T);else{var M=c.alternate;if(c.lanes===0&&(M===null||M.lanes===0)&&(M=f.lastRenderedReducer,M!==null))try{var $=f.lastRenderedState,ee=M($,v);if(T.hasEagerState=!0,T.eagerState=ee,H(ee,$)){var le=f.interleaved;le===null?(T.next=T,Ed(f)):(T.next=le.next,le.next=T),f.interleaved=T;return}}catch{}finally{}v=$u(c,f,T,_),v!==null&&(T=ri(),go(v,c,_,T),Nd(v,f,_))}}function Xu(c){var f=c.alternate;return c===mn||f!==null&&f===mn}function Qu(c,f){Ad=Qt=!0;var v=c.pending;v===null?f.next=f:(f.next=v.next,v.next=f),c.pending=f}function Nd(c,f,v){if((v&4194240)!==0){var _=f.lanes;_&=c.pendingLanes,v|=_,f.lanes=v,Nl(c,v)}}var Qa={readContext:Vi,useCallback:Jr,useContext:Jr,useEffect:Jr,useImperativeHandle:Jr,useInsertionEffect:Jr,useLayoutEffect:Jr,useMemo:Jr,useReducer:Jr,useRef:Jr,useState:Jr,useDebugValue:Jr,useDeferredValue:Jr,useTransition:Jr,useMutableSource:Jr,useSyncExternalStore:Jr,useId:Jr,unstable_isNewReconciler:!1},Px={readContext:Vi,useCallback:function(c,f){return jr().memoizedState=[c,f===void 0?null:f],c},useContext:Vi,useEffect:Gv,useImperativeHandle:function(c,f,v){return v=v!=null?v.concat([c]):null,Bl(4194308,4,gr.bind(null,f,c),v)},useLayoutEffect:function(c,f){return Bl(4194308,4,c,f)},useInsertionEffect:function(c,f){return Bl(4,2,c,f)},useMemo:function(c,f){var v=jr();return f=f===void 0?null:f,c=c(),v.memoizedState=[c,f],c},useReducer:function(c,f,v){var _=jr();return f=v!==void 0?v(f):f,_.memoizedState=_.baseState=f,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:f},_.queue=c,c=c.dispatch=x1.bind(null,mn,c),[_.memoizedState,c]},useRef:function(c){var f=jr();return c={current:c},f.memoizedState=c},useState:Uv,useDebugValue:m1,useDeferredValue:function(c){return jr().memoizedState=c},useTransition:function(){var c=Uv(!1),f=c[0];return c=y1.bind(null,c[1]),jr().memoizedState=c,[f,c]},useMutableSource:function(){},useSyncExternalStore:function(c,f,v){var _=mn,T=jr();if(Rn){if(v===void 0)throw Error(a(407));v=v()}else{if(v=f(),Nr===null)throw Error(a(349));(Fl&30)!==0||g1(_,f,v)}T.memoizedState=v;var M={value:v,getSnapshot:f};return T.queue=M,Gv(Fs.bind(null,_,M,c),[c]),_.flags|=2048,Rd(9,qu.bind(null,_,M,v,f),void 0,null),v},useId:function(){var c=jr(),f=Nr.identifierPrefix;if(Rn){var v=ma,_=Wi;v=(_&~(1<<32-ci(_)-1)).toString(32)+v,f=":"+f+"R"+v,v=Vu++,0Bh&&(f.flags|=128,_=!0,tc(T,!1),f.lanes=4194304)}else{if(!_)if(c=on(M),c!==null){if(f.flags|=128,_=!0,c=c.updateQueue,c!==null&&(f.updateQueue=c,f.flags|=4),tc(T,!0),T.tail===null&&T.tailMode==="hidden"&&!M.alternate&&!Rn)return ei(f),null}else 2*$n()-T.renderingStartTime>Bh&&v!==1073741824&&(f.flags|=128,_=!0,tc(T,!1),f.lanes=4194304);T.isBackwards?(M.sibling=f.child,f.child=M):(c=T.last,c!==null?c.sibling=M:f.child=M,T.last=M)}return T.tail!==null?(f=T.tail,T.rendering=f,T.tail=f.sibling,T.renderingStartTime=$n(),f.sibling=null,c=Pt.current,gn(Pt,_?c&1|2:c&1),f):(ei(f),null);case 22:case 23:return cc(),v=f.memoizedState!==null,c!==null&&c.memoizedState!==null!==v&&(f.flags|=8192),v&&(f.mode&1)!==0?(Gi&1073741824)!==0&&(ei(f),it&&f.subtreeFlags&6&&(f.flags|=8192)):ei(f),null;case 24:return null;case 25:return null}throw Error(a(156,f.tag))}function P1(c,f){switch(a1(f),f.tag){case 1:return Ur(f.type)&&Ka(),c=f.flags,c&65536?(f.flags=c&-65537|128,f):null;case 3:return Ve(),Cn(Vr),Cn(Cr),d1(),c=f.flags,(c&65536)!==0&&(c&128)===0?(f.flags=c&-65537|128,f):null;case 5:return Yt(f),null;case 13:if(Cn(Pt),c=f.memoizedState,c!==null&&c.dehydrated!==null){if(f.alternate===null)throw Error(a(340));zu()}return c=f.flags,c&65536?(f.flags=c&-65537|128,f):null;case 19:return Cn(Pt),null;case 4:return Ve(),null;case 10:return _d(f.type._context),null;case 22:case 23:return cc(),null;case 24:return null;default:return null}}var $s=!1,kr=!1,Rx=typeof WeakSet=="function"?WeakSet:Set,Ke=null;function nc(c,f){var v=c.ref;if(v!==null)if(typeof v=="function")try{v(null)}catch(_){Wn(c,f,_)}else v.current=null}function Ho(c,f,v){try{v()}catch(_){Wn(c,f,_)}}var Eh=!1;function Hl(c,f){for(ae(c.containerInfo),Ke=f;Ke!==null;)if(c=Ke,f=c.child,(c.subtreeFlags&1028)!==0&&f!==null)f.return=c,Ke=f;else for(;Ke!==null;){c=Ke;try{var v=c.alternate;if((c.flags&1024)!==0)switch(c.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var _=v.memoizedProps,T=v.memoizedState,M=c.stateNode,$=M.getSnapshotBeforeUpdate(c.elementType===c.type?_:Do(c.type,_),T);M.__reactInternalSnapshotBeforeUpdate=$}break;case 3:it&&Ps(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(ee){Wn(c,c.return,ee)}if(f=c.sibling,f!==null){f.return=c.return,Ke=f;break}Ke=c.return}return v=Eh,Eh=!1,v}function ti(c,f,v){var _=f.updateQueue;if(_=_!==null?_.lastEffect:null,_!==null){var T=_=_.next;do{if((T.tag&c)===c){var M=T.destroy;T.destroy=void 0,M!==void 0&&Ho(f,v,M)}T=T.next}while(T!==_)}}function Ph(c,f){if(f=f.updateQueue,f=f!==null?f.lastEffect:null,f!==null){var v=f=f.next;do{if((v.tag&c)===c){var _=v.create;v.destroy=_()}v=v.next}while(v!==f)}}function Th(c){var f=c.ref;if(f!==null){var v=c.stateNode;switch(c.tag){case 5:c=xe(v);break;default:c=v}typeof f=="function"?f(c):f.current=c}}function T1(c){var f=c.alternate;f!==null&&(c.alternate=null,T1(f)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(f=c.stateNode,f!==null&&rt(f)),c.stateNode=null,c.return=null,c.dependencies=null,c.memoizedProps=null,c.memoizedState=null,c.pendingProps=null,c.stateNode=null,c.updateQueue=null}function rc(c){return c.tag===5||c.tag===3||c.tag===4}function es(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||rc(c.return))return null;c=c.return}for(c.sibling.return=c.return,c=c.sibling;c.tag!==5&&c.tag!==6&&c.tag!==18;){if(c.flags&2||c.child===null||c.tag===4)continue e;c.child.return=c,c=c.child}if(!(c.flags&2))return c.stateNode}}function Lh(c,f,v){var _=c.tag;if(_===5||_===6)c=c.stateNode,f?Fe(v,c,f):kt(v,c);else if(_!==4&&(c=c.child,c!==null))for(Lh(c,f,v),c=c.sibling;c!==null;)Lh(c,f,v),c=c.sibling}function L1(c,f,v){var _=c.tag;if(_===5||_===6)c=c.stateNode,f?Mn(v,c,f):_e(v,c);else if(_!==4&&(c=c.child,c!==null))for(L1(c,f,v),c=c.sibling;c!==null;)L1(c,f,v),c=c.sibling}var vr=null,Wo=!1;function Vo(c,f,v){for(v=v.child;v!==null;)Er(c,f,v),v=v.sibling}function Er(c,f,v){if(Ft&&typeof Ft.onCommitFiberUnmount=="function")try{Ft.onCommitFiberUnmount(rn,v)}catch{}switch(v.tag){case 5:kr||nc(v,f);case 6:if(it){var _=vr,T=Wo;vr=null,Vo(c,f,v),vr=_,Wo=T,vr!==null&&(Wo?Xe(vr,v.stateNode):lt(vr,v.stateNode))}else Vo(c,f,v);break;case 18:it&&vr!==null&&(Wo?t1(vr,v.stateNode):e1(vr,v.stateNode));break;case 4:it?(_=vr,T=Wo,vr=v.stateNode.containerInfo,Wo=!0,Vo(c,f,v),vr=_,Wo=T):(At&&(_=v.stateNode.containerInfo,T=pa(_),Pu(_,T)),Vo(c,f,v));break;case 0:case 11:case 14:case 15:if(!kr&&(_=v.updateQueue,_!==null&&(_=_.lastEffect,_!==null))){T=_=_.next;do{var M=T,$=M.destroy;M=M.tag,$!==void 0&&((M&2)!==0||(M&4)!==0)&&Ho(v,f,$),T=T.next}while(T!==_)}Vo(c,f,v);break;case 1:if(!kr&&(nc(v,f),_=v.stateNode,typeof _.componentWillUnmount=="function"))try{_.props=v.memoizedProps,_.state=v.memoizedState,_.componentWillUnmount()}catch(ee){Wn(v,f,ee)}Vo(c,f,v);break;case 21:Vo(c,f,v);break;case 22:v.mode&1?(kr=(_=kr)||v.memoizedState!==null,Vo(c,f,v),kr=_):Vo(c,f,v);break;default:Vo(c,f,v)}}function Ah(c){var f=c.updateQueue;if(f!==null){c.updateQueue=null;var v=c.stateNode;v===null&&(v=c.stateNode=new Rx),f.forEach(function(_){var T=u2.bind(null,c,_);v.has(_)||(v.add(_),_.then(T,T))})}}function ho(c,f){var v=f.deletions;if(v!==null)for(var _=0;_";case Oh:return":has("+(M1(c)||"")+")";case Nh:return'[role="'+c.value+'"]';case Dh:return'"'+c.value+'"';case ic:return'[data-testname="'+c.value+'"]';default:throw Error(a(365))}}function oc(c,f){var v=[];c=[c,0];for(var _=0;_T&&(T=$),_&=~M}if(_=T,_=$n()-_,_=(120>_?120:480>_?480:1080>_?1080:1920>_?1920:3e3>_?3e3:4320>_?4320:1960*Ox(_/1960))-_,10<_){c.timeoutHandle=ut(Ks.bind(null,c,gi,ns),_);break}Ks(c,gi,ns);break;case 5:Ks(c,gi,ns);break;default:throw Error(a(329))}}}return Kr(c,$n()),c.callbackNode===v?Wh.bind(null,c):null}function Vh(c,f){var v=lc;return c.current.memoizedState.isDehydrated&&(js(c,f).flags|=256),c=dc(c,f),c!==2&&(f=gi,gi=v,f!==null&&Uh(f)),c}function Uh(c){gi===null?gi=c:gi.push.apply(gi,c)}function ji(c){for(var f=c;;){if(f.flags&16384){var v=f.updateQueue;if(v!==null&&(v=v.stores,v!==null))for(var _=0;_c?16:c,vt===null)var _=!1;else{if(c=vt,vt=null,$h=0,(Rt&6)!==0)throw Error(a(331));var T=Rt;for(Rt|=4,Ke=c.current;Ke!==null;){var M=Ke,$=M.child;if((Ke.flags&16)!==0){var ee=M.deletions;if(ee!==null){for(var le=0;le$n()-N1?js(c,0):O1|=v),Kr(c,f)}function $1(c,f){f===0&&((c.mode&1)===0?f=1:(f=so,so<<=1,(so&130023424)===0&&(so=4194304)));var v=ri();c=zo(c,f),c!==null&&(ga(c,f,v),Kr(c,v))}function Dx(c){var f=c.memoizedState,v=0;f!==null&&(v=f.retryLane),$1(c,v)}function u2(c,f){var v=0;switch(c.tag){case 13:var _=c.stateNode,T=c.memoizedState;T!==null&&(v=T.retryLane);break;case 19:_=c.stateNode;break;default:throw Error(a(314))}_!==null&&_.delete(f),$1(c,v)}var H1;H1=function(c,f,v){if(c!==null)if(c.memoizedProps!==f.pendingProps||Vr.current)Ri=!0;else{if((c.lanes&v)===0&&(f.flags&128)===0)return Ri=!1,Ix(c,f,v);Ri=(c.flags&131072)!==0}else Ri=!1,Rn&&(f.flags&1048576)!==0&&o1(f,pr,f.index);switch(f.lanes=0,f.tag){case 2:var _=f.type;ba(c,f),c=f.pendingProps;var T=Ms(f,Cr.current);Bu(f,v),T=h1(null,f,_,c,T,v);var M=Uu();return f.flags|=1,typeof T=="object"&&T!==null&&typeof T.render=="function"&&T.$$typeof===void 0?(f.tag=1,f.memoizedState=null,f.updateQueue=null,Ur(_)?(M=!0,Za(f)):M=!1,f.memoizedState=T.state!==null&&T.state!==void 0?T.state:null,l1(f),T.updater=Fo,f.stateNode=T,T._reactInternals=f,u1(f,_,c,v),f=Bo(null,f,_,!0,M,v)):(f.tag=0,Rn&&M&&di(f),pi(null,f,T,v),f=f.child),f;case 16:_=f.elementType;e:{switch(ba(c,f),c=f.pendingProps,T=_._init,_=T(_._payload),f.type=_,T=f.tag=qh(_),c=Do(_,c),T){case 0:f=w1(null,f,_,c,v);break e;case 1:f=e2(null,f,_,c,v);break e;case 11:f=Yv(null,f,_,c,v);break e;case 14:f=Bs(null,f,_,Do(_.type,c),v);break e}throw Error(a(306,_,""))}return f;case 0:return _=f.type,T=f.pendingProps,T=f.elementType===_?T:Do(_,T),w1(c,f,_,T,v);case 1:return _=f.type,T=f.pendingProps,T=f.elementType===_?T:Do(_,T),e2(c,f,_,T,v);case 3:e:{if(t2(f),c===null)throw Error(a(387));_=f.pendingProps,M=f.memoizedState,T=M.element,zv(c,f),vh(f,_,null,v);var $=f.memoizedState;if(_=$.element,wt&&M.isDehydrated)if(M={element:_,isDehydrated:!1,cache:$.cache,pendingSuspenseBoundaries:$.pendingSuspenseBoundaries,transitions:$.transitions},f.updateQueue.baseState=M,f.memoizedState=M,f.flags&256){T=Ju(Error(a(423)),f),f=n2(c,f,_,v,T);break e}else if(_!==T){T=Ju(Error(a(424)),f),f=n2(c,f,_,v,T);break e}else for(wt&&(uo=q0(f.stateNode.containerInfo),Hn=f,Rn=!0,Ii=null,co=!1),v=Wv(f,null,_,v),f.child=v;v;)v.flags=v.flags&-3|4096,v=v.sibling;else{if(zu(),_===T){f=Ja(c,f,v);break e}pi(c,f,_,v)}f=f.child}return f;case 5:return yt(f),c===null&&bd(f),_=f.type,T=f.pendingProps,M=c!==null?c.memoizedProps:null,$=T.children,He(_,T)?$=null:M!==null&&He(_,M)&&(f.flags|=32),Jv(c,f),pi(c,f,$,v),f.child;case 6:return c===null&&bd(f),null;case 13:return r2(c,f,v);case 4:return de(f,f.stateNode.containerInfo),_=f.pendingProps,c===null?f.child=Hu(f,null,_,v):pi(c,f,_,v),f.child;case 11:return _=f.type,T=f.pendingProps,T=f.elementType===_?T:Do(_,T),Yv(c,f,_,T,v);case 7:return pi(c,f,f.pendingProps,v),f.child;case 8:return pi(c,f,f.pendingProps.children,v),f.child;case 12:return pi(c,f,f.pendingProps.children,v),f.child;case 10:e:{if(_=f.type._context,T=f.pendingProps,M=f.memoizedProps,$=T.value,Dv(f,_,$),M!==null)if(H(M.value,$)){if(M.children===T.children&&!Vr.current){f=Ja(c,f,v);break e}}else for(M=f.child,M!==null&&(M.return=f);M!==null;){var ee=M.dependencies;if(ee!==null){$=M.child;for(var le=ee.firstContext;le!==null;){if(le.context===_){if(M.tag===1){le=Xa(-1,v&-v),le.tag=2;var Oe=M.updateQueue;if(Oe!==null){Oe=Oe.shared;var Ye=Oe.pending;Ye===null?le.next=le:(le.next=Ye.next,Ye.next=le),Oe.pending=le}}M.lanes|=v,le=M.alternate,le!==null&&(le.lanes|=v),kd(M.return,v,f),ee.lanes|=v;break}le=le.next}}else if(M.tag===10)$=M.type===f.type?null:M.child;else if(M.tag===18){if($=M.return,$===null)throw Error(a(341));$.lanes|=v,ee=$.alternate,ee!==null&&(ee.lanes|=v),kd($,v,f),$=M.sibling}else $=M.child;if($!==null)$.return=M;else for($=M;$!==null;){if($===f){$=null;break}if(M=$.sibling,M!==null){M.return=$.return,$=M;break}$=$.return}M=$}pi(c,f,T.children,v),f=f.child}return f;case 9:return T=f.type,_=f.pendingProps.children,Bu(f,v),T=Vi(T),_=_(T),f.flags|=1,pi(c,f,_,v),f.child;case 14:return _=f.type,T=Do(_,f.pendingProps),T=Do(_.type,T),Bs(c,f,_,T,v);case 15:return Xv(c,f,f.type,f.pendingProps,v);case 17:return _=f.type,T=f.pendingProps,T=f.elementType===_?T:Do(_,T),ba(c,f),f.tag=1,Ur(_)?(c=!0,Za(f)):c=!1,Bu(f,v),Bv(f,_,T),u1(f,_,T,v),Bo(null,f,_,!0,c,v);case 19:return o2(c,f,v);case 22:return Qv(c,f,v)}throw Error(a(156,f.tag))};function vi(c,f){return Ou(c,f)}function Sa(c,f,v,_){this.tag=c,this.key=v,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=f,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=_,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function mo(c,f,v,_){return new Sa(c,f,v,_)}function W1(c){return c=c.prototype,!(!c||!c.isReactComponent)}function qh(c){if(typeof c=="function")return W1(c)?1:0;if(c!=null){if(c=c.$$typeof,c===S)return 11;if(c===k)return 14}return 2}function qi(c,f){var v=c.alternate;return v===null?(v=mo(c.tag,f,c.key,c.mode),v.elementType=c.elementType,v.type=c.type,v.stateNode=c.stateNode,v.alternate=c,c.alternate=v):(v.pendingProps=f,v.type=c.type,v.flags=0,v.subtreeFlags=0,v.deletions=null),v.flags=c.flags&14680064,v.childLanes=c.childLanes,v.lanes=c.lanes,v.child=c.child,v.memoizedProps=c.memoizedProps,v.memoizedState=c.memoizedState,v.updateQueue=c.updateQueue,f=c.dependencies,v.dependencies=f===null?null:{lanes:f.lanes,firstContext:f.firstContext},v.sibling=c.sibling,v.index=c.index,v.ref=c.ref,v}function Gd(c,f,v,_,T,M){var $=2;if(_=c,typeof c=="function")W1(c)&&($=1);else if(typeof c=="string")$=5;else e:switch(c){case p:return Zs(v.children,T,M,f);case g:$=8,T|=8;break;case m:return c=mo(12,v,f,T|2),c.elementType=m,c.lanes=M,c;case E:return c=mo(13,v,f,T),c.elementType=E,c.lanes=M,c;case P:return c=mo(19,v,f,T),c.elementType=P,c.lanes=M,c;case I:return Kh(v,T,M,f);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case y:$=10;break e;case b:$=9;break e;case S:$=11;break e;case k:$=14;break e;case L:$=16,_=null;break e}throw Error(a(130,c==null?c:typeof c,""))}return f=mo($,v,f,T),f.elementType=c,f.type=_,f.lanes=M,f}function Zs(c,f,v,_){return c=mo(7,c,_,f),c.lanes=v,c}function Kh(c,f,v,_){return c=mo(22,c,_,f),c.elementType=I,c.lanes=v,c.stateNode={isHidden:!1},c}function Zh(c,f,v){return c=mo(6,c,null,f),c.lanes=v,c}function Ys(c,f,v){return f=mo(4,c.children!==null?c.children:[],c.key,f),f.lanes=v,f.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},f}function jd(c,f,v,_,T){this.tag=f,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=at,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ru(0),this.expirationTimes=Ru(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ru(0),this.identifierPrefix=_,this.onRecoverableError=T,wt&&(this.mutableSourceEagerHydrationData=null)}function c2(c,f,v,_,T,M,$,ee,le){return c=new jd(c,f,v,ee,le),f===1?(f=1,M===!0&&(f|=8)):f=0,M=mo(3,null,null,f),c.current=M,M.stateNode=c,M.memoizedState={element:_,isDehydrated:v,cache:null,transitions:null,pendingSuspenseBoundaries:null},l1(M),c}function V1(c){if(!c)return Ro;c=c._reactInternals;e:{if(U(c)!==c||c.tag!==1)throw Error(a(170));var f=c;do{switch(f.tag){case 3:f=f.stateNode.context;break e;case 1:if(Ur(f.type)){f=f.stateNode.__reactInternalMemoizedMergedChildContext;break e}}f=f.return}while(f!==null);throw Error(a(171))}if(c.tag===1){var v=c.type;if(Ur(v))return Rl(c,v,f)}return f}function U1(c){var f=c._reactInternals;if(f===void 0)throw typeof c.render=="function"?Error(a(188)):(c=Object.keys(c).join(","),Error(a(268,c)));return c=pe(f),c===null?null:c.stateNode}function qd(c,f){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var v=c.retryLane;c.retryLane=v!==0&&v=Oe&&M>=Ct&&T<=Ye&&$<=Ue){c.splice(f,1);break}else if(_!==Oe||v.width!==le.width||Ue$){if(!(M!==Ct||v.height!==le.height||Ye<_||Oe>T)){Oe>_&&(le.width+=Oe-_,le.x=_),YeM&&(le.height+=Ct-M,le.y=M),Ue<$&&(le.height=$-Ct),c.splice(f,1);break}}}return c},n.findHostInstance=U1,n.findHostInstanceWithNoPortals=function(c){return c=q(c),c=c!==null?ye(c):null,c===null?null:c.stateNode},n.findHostInstanceWithWarning=function(c){return U1(c)},n.flushControlled=function(c){var f=Rt;Rt|=1;var v=ir.transition,_=zt;try{ir.transition=null,zt=1,c()}finally{zt=_,ir.transition=v,Rt=f,Rt===0&&(Us(),dt())}},n.flushPassiveEffects=Ul,n.flushSync=D1,n.focusWithin=function(c,f){if(!bt)throw Error(a(363));for(c=zh(c),f=oc(c,f),f=Array.from(f),c=0;cv&&(v=$)),$ ")+` + +No matching component was found for: + `)+c.join(" > ")}return null},n.getPublicRootInstance=function(c){if(c=c.current,!c.child)return null;switch(c.child.tag){case 5:return xe(c.child.stateNode);default:return c.child.stateNode}},n.injectIntoDevTools=function(c){if(c={bundleType:c.bundleType,version:c.version,rendererPackageName:c.rendererPackageName,rendererConfig:c.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:s.ReactCurrentDispatcher,findHostInstanceByFiber:Yh,findFiberByHostInstance:c.findFiberByHostInstance||G1,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")c=!1;else{var f=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(f.isDisabled||!f.supportsFiber)c=!0;else{try{rn=f.inject(c),Ft=f}catch{}c=!!f.checkDCE}}return c},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(c,f,v,_){if(!bt)throw Error(a(363));c=R1(c,f);var T=Vt(c,v,_).disconnect;return{disconnect:function(){T()}}},n.registerMutableSourceForHydration=function(c,f){var v=f._getVersion;v=v(f._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[f,v]:c.mutableSourceEagerHydrationData.push(f,v)},n.runWithPriority=function(c,f){var v=zt;try{return zt=c,f()}finally{zt=v}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(c,f,v,_){var T=f.current,M=ri(),$=Tr(T);return v=V1(v),f.context===null?f.context=v:f.pendingContext=v,f=Xa(M,$),f.payload={element:c},_=_===void 0?null:_,_!==null&&(f.callback=_),c=zs(T,f,$),c!==null&&(go(c,T,$,M),mh(c,T,$)),$},n};(function(e){e.exports=Zbe})(Z$);const Ybe=GC(Z$.exports);var o_={exports:{}},nh={};/** + * @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. + */nh.ConcurrentRoot=1;nh.ContinuousEventPriority=4;nh.DefaultEventPriority=16;nh.DiscreteEventPriority=1;nh.IdleEventPriority=536870912;nh.LegacyRoot=0;(function(e){e.exports=nh})(o_);const DA={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let zA=!1,FA=!1;const a_=".react-konva-event",Xbe=`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 +`,Qbe=`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 +`,Jbe={};function Cx(e,t,n=Jbe){if(!zA&&"zIndex"in t&&(console.warn(Qbe),zA=!0),!FA&&t.draggable){var r=t.x!==void 0||t.y!==void 0,i=t.onDragEnd||t.onDragMove;r&&!i&&(console.warn(Xbe),FA=!0)}for(var o in n)if(!DA[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 d=!t.hasOwnProperty(o);d&&e.setAttr(o,void 0)}var p=t._useStrictMode,g={},m=!1;const y={};for(var o in t)if(!DA[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]||p&&t[o]!==e.getAttr(o))&&(m=!0,g[o]=t[o])}m&&(e.setAttrs(g),cd(e));for(var l in y)e.on(l+a_,y[l])}function cd(e){if(!Je.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const Y$={},eSe={};$f.Node.prototype._applyProps=Cx;function tSe(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),cd(e)}function nSe(e,t,n){let r=$f[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=$f.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 Cx(l,o),l}function rSe(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function iSe(e,t,n){return!1}function oSe(e){return e}function aSe(){return null}function sSe(){return null}function lSe(e,t,n,r){return eSe}function uSe(){}function cSe(e){}function dSe(e,t){return!1}function fSe(){return Y$}function hSe(){return Y$}const pSe=setTimeout,gSe=clearTimeout,mSe=-1;function vSe(e,t){return!1}const ySe=!1,xSe=!0,bSe=!0;function SSe(e,t){t.parent===e?t.moveToTop():e.add(t),cd(e)}function wSe(e,t){t.parent===e?t.moveToTop():e.add(t),cd(e)}function X$(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),cd(e)}function CSe(e,t,n){X$(e,t,n)}function _Se(e,t){t.destroy(),t.off(a_),cd(e)}function kSe(e,t){t.destroy(),t.off(a_),cd(e)}function ESe(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function PSe(e,t,n){}function TSe(e,t,n,r,i){Cx(e,i,r)}function LSe(e){e.hide(),cd(e)}function ASe(e){}function ISe(e,t){(t.visible==null||t.visible)&&e.show()}function MSe(e,t){}function RSe(e){}function OSe(){}const NSe=()=>o_.exports.DefaultEventPriority,DSe=Object.freeze(Object.defineProperty({__proto__:null,appendInitialChild:tSe,createInstance:nSe,createTextInstance:rSe,finalizeInitialChildren:iSe,getPublicInstance:oSe,prepareForCommit:aSe,preparePortalMount:sSe,prepareUpdate:lSe,resetAfterCommit:uSe,resetTextContent:cSe,shouldDeprioritizeSubtree:dSe,getRootHostContext:fSe,getChildHostContext:hSe,scheduleTimeout:pSe,cancelTimeout:gSe,noTimeout:mSe,shouldSetTextContent:vSe,isPrimaryRenderer:ySe,warnsIfNotActing:xSe,supportsMutation:bSe,appendChild:SSe,appendChildToContainer:wSe,insertBefore:X$,insertInContainerBefore:CSe,removeChild:_Se,removeChildFromContainer:kSe,commitTextUpdate:ESe,commitMount:PSe,commitUpdate:TSe,hideInstance:LSe,hideTextInstance:ASe,unhideInstance:ISe,unhideTextInstance:MSe,clearContainer:RSe,detachDeletedInstance:OSe,getCurrentEventPriority:NSe,now:Ip.exports.unstable_now,idlePriority:Ip.exports.unstable_IdlePriority,run:Ip.exports.unstable_runWithPriority},Symbol.toStringTag,{value:"Module"}));var zSe=Object.defineProperty,FSe=Object.defineProperties,BSe=Object.getOwnPropertyDescriptors,BA=Object.getOwnPropertySymbols,$Se=Object.prototype.hasOwnProperty,HSe=Object.prototype.propertyIsEnumerable,$A=(e,t,n)=>t in e?zSe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,HA=(e,t)=>{for(var n in t||(t={}))$Se.call(t,n)&&$A(e,n,t[n]);if(BA)for(var n of BA(t))HSe.call(t,n)&&$A(e,n,t[n]);return e},WSe=(e,t)=>FSe(e,BSe(t));function s_(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const i=s_(r,t,n);if(i)return i;r=t?null:r.sibling}}function Q$(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const l_=Q$(C.exports.createContext(null));class J$ extends C.exports.Component{render(){return w(l_.Provider,{value:this._reactInternals,children:this.props.children})}}const{ReactCurrentOwner:VSe,ReactCurrentDispatcher:USe}=C.exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function GSe(){const e=C.exports.useContext(l_);if(!e)throw new Error("its-fine: useFiber must be called within a !");const t=C.exports.useId();return C.exports.useMemo(()=>{var r;return(r=VSe.current)!=null?r:s_(e,!1,i=>{let o=i.memoizedState;for(;o;){if(o.memoizedState===t)return!0;o=o.next}})},[e,t])}const pg=[],WA=new WeakMap;function jSe(){var e;const t=GSe();pg.splice(0,pg.length),s_(t,!0,n=>{var r;const i=(r=n.type)==null?void 0:r._context;i&&i!==l_&&pg.push(Q$(i))});for(const n of pg){const r=(e=USe.current)==null?void 0:e.readContext(n);WA.set(n,r)}return C.exports.useMemo(()=>pg.reduce((n,r)=>i=>C.exports.createElement(n,null,C.exports.createElement(r.Provider,WSe(HA({},i),{value:WA.get(r)}))),n=>w(J$,{...HA({},n)})),[])}function qSe(e){const t=ne.useRef();return ne.useLayoutEffect(()=>{t.current=e}),t.current}const KSe=e=>{const t=ne.useRef(),n=ne.useRef(),r=ne.useRef(),i=qSe(e),o=jSe(),a=s=>{const{forwardedRef:l}=e;!l||(typeof l=="function"?l(s):l.current=s)};return ne.useLayoutEffect(()=>(n.current=new $f.Stage({width:e.width,height:e.height,container:t.current}),a(n.current),r.current=Og.createContainer(n.current,o_.exports.LegacyRoot,!1,null),Og.updateContainer(w(o,{children:e.children}),r.current),()=>{!$f.isBrowser||(a(null),Og.updateContainer(null,r.current,null),n.current.destroy())}),[]),ne.useLayoutEffect(()=>{a(n.current),Cx(n.current,e,i),Og.updateContainer(w(o,{children:e.children}),r.current,null)}),w("div",{ref:t,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},$S="Layer",ZSe="Group",CC="Rect",_C="Circle",YSe="Line",HS="Image",XSe="Transformer",Og=Ybe(DSe);Og.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:ne.version,rendererPackageName:"react-konva"});const QSe=ne.forwardRef((e,t)=>w(J$,{children:w(KSe,{...e,forwardedRef:t})})),JSe=e=>{const{r:t,g:n,b:r,a:i}=e;return`rgba(${t}, ${n}, ${r}, ${i})`},eH=e=>{const{r:t,g:n,b:r}=e;return`rgba(${t}, ${n}, ${r})`},ewe=jt(e=>e.inpainting,e=>{const{lines:t,maskColor:n}=e;return{lines:t,maskColorString:eH(n)}}),twe=jt([e=>e.inpainting,e=>e.options,Ga],(e,t,n)=>{const{tool:r,brushSize:i,maskColor:o,shouldInvertMask:a,shouldShowMask:s,shouldShowCheckboardTransparency:l,lines:d,pastLines:p,futureLines:g,shouldShowBoundingBoxFill:m}=e,{showDualDisplay:y}=t;return{tool:r,brushSize:i,maskColor:o,shouldInvertMask:a,shouldShowMask:s,shouldShowCheckboardTransparency:l,canUndo:p.length>0,canRedo:g.length>0,isMaskEmpty:d.length===0,activeTabName:n,showDualDisplay:y,shouldShowBoundingBoxFill:m}},{memoizeOptions:{resultEqualityCheck:Wt.isEqual}}),nwe=jt(e=>e.inpainting,e=>{const{tool:t,brushSize:n,maskColor:r,shouldInvertMask:i,shouldShowMask:o,shouldShowCheckboardTransparency:a,imageToInpaint:s,stageScale:l,shouldShowBoundingBox:d,shouldShowBoundingBoxFill:p,isDrawing:g,shouldLockBoundingBox:m,boundingBoxDimensions:y}=e;return{tool:t,brushSize:n,shouldInvertMask:i,shouldShowMask:o,shouldShowCheckboardTransparency:a,maskColor:r,imageToInpaint:s,stageScale:l,shouldShowBoundingBox:d,shouldShowBoundingBoxFill:p,isDrawing:g,shouldLockBoundingBox:m,boundingBoxDimensions:y}},{memoizeOptions:{resultEqualityCheck:(e,t)=>{const{imageToInpaint:n,...r}=e,{imageToInpaint:i,...o}=t;return Wt.isEqual(r,o)&&n==i}}}),rwe=()=>{const{lines:e,maskColorString:t}=$e(ewe);return w(Fn,{children:e.map((n,r)=>w(YSe,{points:n.points,stroke:t,strokeWidth:n.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:n.tool==="brush"?"source-over":"destination-out"},r))})},iwe=jt(e=>e.inpainting,e=>{const{cursorPosition:t,canvasDimensions:{width:n,height:r},shouldShowBrushPreview:i,brushSize:o,maskColor:a,tool:s,shouldShowBrush:l}=e;return{cursorPosition:t,width:n,height:r,shouldShowBrushPreview:i,brushSize:o,maskColorString:eH(a),tool:s,shouldShowBrush:l}},{memoizeOptions:{resultEqualityCheck:Wt.isEqual}}),owe=()=>{const{cursorPosition:e,width:t,height:n,shouldShowBrushPreview:r,brushSize:i,maskColorString:o,tool:a,shouldShowBrush:s}=$e(iwe);return!s||!(e||r)?null:w(_C,{x:e?e.x:t/2,y:e?e.y:n/2,radius:i/2,fill:o,listening:!1,globalCompositeOperation:a==="eraser"?"destination-out":"source-over"})},awe=jt(e=>e.inpainting,e=>{const{cursorPosition:t,canvasDimensions:{width:n,height:r},shouldShowBrushPreview:i,brushSize:o,stageScale:a,shouldShowBrush:s}=e;return{cursorPosition:t,width:n,height:r,shouldShowBrushPreview:i,brushSize:o,strokeWidth:1/a,shouldShowBrush:s}},{memoizeOptions:{resultEqualityCheck:Wt.isEqual}}),swe=()=>{const{cursorPosition:e,width:t,height:n,shouldShowBrushPreview:r,brushSize:i,strokeWidth:o,shouldShowBrush:a}=$e(awe);return!a||!(e||r)?null:te(Fn,{children:[w(_C,{x:e?e.x:t/2,y:e?e.y:n/2,radius:i/2,stroke:"rgba(0,0,0,1)",strokeWidth:o,strokeEnabled:!0,listening:!1}),w(_C,{x:e?e.x:t/2,y:e?e.y:n/2,radius:1,fill:"rgba(0,0,0,1)",listening:!1})]})},lwe=()=>{const{tool:e,lines:t,cursorPosition:n,brushSize:r,canvasDimensions:{width:i,height:o},maskColor:a,shouldInvertMask:s,shouldShowMask:l,shouldShowBrushPreview:d,shouldShowCheckboardTransparency:p,imageToInpaint:g,shouldShowBrush:m,shouldShowBoundingBoxFill:y,shouldLockBoundingBox:b,stageScale:S,pastLines:E,futureLines:P,needsCache:k,isDrawing:L}=$e(I=>I.inpainting);return C.exports.useLayoutEffect(()=>{!ll.current||ll.current.cache({x:0,y:0,width:i,height:o})},[t,n,i,o,e,r,a,s,l,d,p,g,m,y,b,S,E,P,k,L]),C.exports.useEffect(()=>{const I=window.setTimeout(()=>{!ll.current||ll.current.cache({x:0,y:0,width:i,height:o})},0);return()=>{window.clearTimeout(I)}}),null},ky=e=>{const t=e.getPointerPosition(),n=e.getAbsoluteTransform().copy();if(!t||!n)return;const r=n.invert().point(t);return{x:Math.floor(r.x),y:Math.floor(r.y)}},uwe=4,tH=jt(e=>e.inpainting,e=>{const{boundingBoxCoordinate:t,boundingBoxDimensions:n,boundingBoxPreviewFill:r,canvasDimensions:i,stageScale:o,imageToInpaint:a,shouldLockBoundingBox:s}=e;return{boundingBoxCoordinate:t,boundingBoxDimensions:n,boundingBoxPreviewFillString:JSe(r),canvasDimensions:i,stageScale:o,imageToInpaint:a,dash:uwe/o,strokeWidth:1/o,shouldLockBoundingBox:s}},{memoizeOptions:{resultEqualityCheck:Wt.isEqual}}),cwe=()=>{const{boundingBoxCoordinate:e,boundingBoxDimensions:t,boundingBoxPreviewFillString:n,canvasDimensions:r}=$e(tH);return te(ZSe,{children:[w(CC,{x:0,y:0,height:r.height,width:r.width,fill:n}),w(CC,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,globalCompositeOperation:"destination-out"})]})},dwe=()=>{const e=ct(),{boundingBoxCoordinate:t,boundingBoxDimensions:n,strokeWidth:r,stageScale:i,imageToInpaint:o,shouldLockBoundingBox:a}=$e(tH),s=C.exports.useRef(null),l=C.exports.useRef(null);C.exports.useEffect(()=>{!s.current||!l.current||(s.current.nodes([l.current]),s.current.getLayer()?.batchDraw())},[a]),C.exports.useEffect(()=>()=>{const S=fs.current?.container();!S||(S.style.cursor="unset")},[a]);const d=64*i,p=C.exports.useCallback(S=>{e(VL({x:Math.floor(S.target.x()),y:Math.floor(S.target.y())}))},[e]),g=C.exports.useCallback(S=>{if(!o)return t;const{x:E,y:P}=S,k=o.width-n.width,L=o.height-n.height,I=Math.floor(Wt.clamp(E,0,k*i)),O=Math.floor(Wt.clamp(P,0,L*i));return{x:I,y:O}},[t,n,o,i]),m=C.exports.useCallback(()=>{if(!l.current)return;const S=l.current,E=S.scaleX(),P=S.scaleY(),k=Math.round(S.width()*E),L=Math.round(S.height()*P),I=Math.round(S.x()),O=Math.round(S.y());e(Tg({width:k,height:L})),e(VL({x:I,y:O})),S.scaleX(1),S.scaleY(1)},[e]),y=C.exports.useCallback((S,E,P)=>{const k=S.x%d,L=S.y%d,I=FL(E.x,d)+k,O=FL(E.y,d)+L,N=Math.abs(E.x-I),D=Math.abs(E.y-O),F=N!o||E.width+E.x>o.width*i||E.height+E.y>o.height*i||E.x<0||E.y<0?S:E,[o,i]);return te(Fn,{children:[w(CC,{x:t.x,y:t.y,width:n.width,height:n.height,ref:l,stroke:"white",strokeWidth:r,listening:!a,onMouseEnter:S=>{const E=S?.target?.getStage()?.container();!E||(E.style.cursor=a?"none":"move")},onMouseLeave:S=>{const E=S?.target?.getStage()?.container();!E||(E.style.cursor=a?"none":"default")},draggable:!a,onDragMove:p,dragBoundFunc:g,onTransform:m}),w(XSe,{ref:s,anchorCornerRadius:3,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderStroke:"black",rotateEnabled:!1,borderEnabled:!0,flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!a,enabledAnchors:a?[]:void 0,boundBoxFunc:b,anchorDragBoundFunc:y})]})},fwe=jt([e=>e.options,e=>e.inpainting,Ga],(e,t,n)=>{const{shouldShowMask:r,cursorPosition:i,shouldLockBoundingBox:o}=t;return{activeTabName:n,shouldShowMask:r,isCursorOnCanvas:Boolean(i),shouldLockBoundingBox:o}},{memoizeOptions:{resultEqualityCheck:Wt.isEqual}}),hwe=()=>{const e=ct(),{shouldShowMask:t,activeTabName:n,isCursorOnCanvas:r,shouldLockBoundingBox:i}=$e(fwe),o=C.exports.useRef(!1),a=C.exports.useRef(null);return C.exports.useEffect(()=>{const s=l=>{if(!(!["x"," "].includes(l.key)||n!=="inpainting"||!t)){if(!r){a.current||(a.current=l),o.current=!1;return}if(l.stopPropagation(),l.preventDefault(),!l.repeat){if(a.current||(o.current=!0,a.current=l),!o.current&&l.type==="keyup"){o.current=!0,a.current=l;return}switch(l.key){case"x":{e(yye());break}case" ":{if(!t)break;l.type==="keydown"&&e(Lg(!1)),e(TB(!i));break}}a.current=l,o.current=!0}}};return document.addEventListener("keydown",s),document.addEventListener("keyup",s),()=>{document.removeEventListener("keydown",s),document.removeEventListener("keyup",s)}},[e,n,t,r,i]),null};let fs,ll,N5;const pwe=()=>{const e=ct(),{tool:t,brushSize:n,shouldInvertMask:r,shouldShowMask:i,shouldShowCheckboardTransparency:o,maskColor:a,imageToInpaint:s,stageScale:l,shouldShowBoundingBox:d,shouldShowBoundingBoxFill:p,isDrawing:g,shouldLockBoundingBox:m,boundingBoxDimensions:y}=$e(nwe),b=od();fs=C.exports.useRef(null),ll=C.exports.useRef(null),N5=C.exports.useRef(null);const S=C.exports.useRef({x:0,y:0}),E=C.exports.useRef(!1),[P,k]=C.exports.useState(null);C.exports.useEffect(()=>{if(s){const F=new Image;F.onload=()=>{N5.current=F,k(F)},F.onerror=()=>{b({title:"Unable to Load Image",description:`Image ${s.url} failed to load`,status:"error",isClosable:!0}),e(U7())},F.src=s.url}else k(null)},[s,e,l,b]);const L=C.exports.useCallback(()=>{if(!fs.current)return;const F=ky(fs.current);!F||!ll.current||!m||(e(Lg(!0)),e($L({tool:t,strokeWidth:n/2,points:[F.x,F.y]})))},[e,n,t,m]),I=C.exports.useCallback(()=>{if(!fs.current)return;const F=ky(fs.current);!F||(e(WL(F)),!(!ll.current||!m)&&(S.current=F,g&&(E.current=!0,e(HL([F.x,F.y])))))},[e,g,m]),O=C.exports.useCallback(()=>{if(!E.current&&g&&fs.current){const F=ky(fs.current);if(!F||!ll.current||!m)return;e(HL([F.x,F.y]))}else E.current=!1;e(Lg(!1))},[e,g,m]),N=C.exports.useCallback(()=>{e(WL(null)),e(Lg(!1))},[e]),D=C.exports.useCallback(F=>{if(F.evt.buttons===1){if(!fs.current)return;const U=ky(fs.current);if(!U||!ll.current||!m)return;e(Lg(!0)),e($L({tool:t,strokeWidth:n/2,points:[U.x,U.y]}))}},[e,n,t,m]);return te("div",{className:"inpainting-canvas-wrapper",tabIndex:1,children:[te("div",{className:"inpainting-alerts",children:[!i&&w("div",{style:{pointerEvents:"none"},children:"Mask Hidden (H)"}),r&&w("div",{style:{pointerEvents:"none"},children:"Mask Inverted (Shift+M)"}),!m&&w("div",{style:{pointerEvents:"none"},children:`Transforming Bounding Box ${y.width}x${y.height} (M)`})]}),P&&te(QSe,{width:Math.floor(P.width*l),height:Math.floor(P.height*l),scale:{x:l,y:l},onMouseDown:L,onMouseMove:I,onMouseEnter:D,onMouseUp:O,onMouseOut:N,onMouseLeave:N,style:{cursor:i?"none":"default"},className:"inpainting-canvas-stage checkerboard",ref:fs,children:[!r&&!o&&w($S,{name:"image-layer",listening:!1,children:w(HS,{listening:!1,image:P})}),i&&te(Fn,{children:[te($S,{name:"mask-layer",listening:!1,opacity:o||r?1:a.a,ref:ll,children:[w(rwe,{}),m&&w(owe,{}),r&&w(HS,{image:P,listening:!1,globalCompositeOperation:"source-in"}),!r&&o&&w(HS,{image:P,listening:!1,globalCompositeOperation:"source-out"})]}),i&&te($S,{children:[p&&d&&w(cwe,{}),d&&w(dwe,{}),m&&w(swe,{})]})]})]}),w(lwe,{}),w(hwe,{})]})},gwe=()=>{const e=ct(),{needsCache:t,imageToInpaint:n}=$e(i=>i.inpainting),r=C.exports.useRef(null);return C.exports.useLayoutEffect(()=>{window.setTimeout(()=>{if(!r.current||!n)return;const i=r.current.clientWidth,o=r.current.clientHeight,a=Math.min(1,Math.min(i/n.width,o/n.height));e(vye(a))},0)},[e,n,t]),w("div",{ref:r,className:"inpainting-canvas-area",children:w(A0,{thickness:"2px",speed:"1s",size:"xl"})})};function mwe(e){return mt({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)}function _x(){return(_x=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}function kC(e){var t=C.exports.useRef(e),n=C.exports.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var S0=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(VA(i.current,E,s.current)):S(!1)},b=function(){return S(!1)};function S(E){var P=l.current,k=EC(i.current),L=E?k.addEventListener:k.removeEventListener;L(P?"touchmove":"mousemove",y),L(P?"touchend":"mouseup",b)}return[function(E){var P=E.nativeEvent,k=i.current;if(k&&(UA(P),!function(I,O){return O&&!cm(I)}(P,l.current)&&k)){if(cm(P)){l.current=!0;var L=P.changedTouches||[];L.length&&(s.current=L[0].identifier)}k.focus(),o(VA(k,P,s.current)),S(!0)}},function(E){var P=E.which||E.keyCode;P<37||P>40||(E.preventDefault(),a({left:P===39?.05:P===37?-.05:0,top:P===40?.05:P===38?-.05:0}))},S]},[a,o]),p=d[0],g=d[1],m=d[2];return C.exports.useEffect(function(){return m},[m]),w("div",{..._x({},r,{onTouchStart:p,onMouseDown:p,className:"react-colorful__interactive",ref:i,onKeyDown:g,tabIndex:0,role:"slider"})})}),kx=function(e){return e.filter(Boolean).join(" ")},c_=function(e){var t=e.color,n=e.left,r=e.top,i=r===void 0?.5:r,o=kx(["react-colorful__pointer",e.className]);return w("div",{className:o,style:{top:100*i+"%",left:100*n+"%"},children:w("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}})})},eo=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},rH=function(e){var t=e.s,n=e.v,r=e.a,i=(200-t)*n/100;return{h:eo(e.h),s:eo(i>0&&i<200?t*n/100/(i<=100?i:200-i)*100:0),l:eo(i/2),a:eo(r,2)}},PC=function(e){var t=rH(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},WS=function(e){var t=rH(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},vwe=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),d=o%6;return{r:eo(255*[r,s,a,a,l,r][d]),g:eo(255*[l,r,r,s,a,a][d]),b:eo(255*[a,a,l,r,r,s][d]),a:eo(i,2)}},ywe=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:eo(60*(s<0?s+6:s)),s:eo(o?a/o*100:0),v:eo(o/255*100),a:i}},xwe=ne.memo(function(e){var t=e.hue,n=e.onChange,r=kx(["react-colorful__hue",e.className]);return ne.createElement("div",{className:r},ne.createElement(u_,{onMove:function(i){n({h:360*i.left})},onKey:function(i){n({h:S0(t+360*i.left,0,360)})},"aria-label":"Hue","aria-valuenow":eo(t),"aria-valuemax":"360","aria-valuemin":"0"},ne.createElement(c_,{className:"react-colorful__hue-pointer",left:t/360,color:PC({h:t,s:100,v:100,a:1})})))}),bwe=ne.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:PC({h:t.h,s:100,v:100,a:1})};return ne.createElement("div",{className:"react-colorful__saturation",style:r},ne.createElement(u_,{onMove:function(i){n({s:100*i.left,v:100-100*i.top})},onKey:function(i){n({s:S0(t.s+100*i.left,0,100),v:S0(t.v-100*i.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+eo(t.s)+"%, Brightness "+eo(t.v)+"%"},ne.createElement(c_,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:PC(t)})))}),iH=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function Swe(e,t,n){var r=kC(n),i=C.exports.useState(function(){return e.toHsva(t)}),o=i[0],a=i[1],s=C.exports.useRef({color:t,hsva:o});C.exports.useEffect(function(){if(!e.equal(t,s.current.color)){var d=e.toHsva(t);s.current={hsva:d,color:t},a(d)}},[t,e]),C.exports.useEffect(function(){var d;iH(o,s.current.hsva)||e.equal(d=e.fromHsva(o),s.current.color)||(s.current={hsva:o,color:d},r(d))},[o,e,r]);var l=C.exports.useCallback(function(d){a(function(p){return Object.assign({},p,d)})},[]);return[o,l]}var wwe=typeof window<"u"?C.exports.useLayoutEffect:C.exports.useEffect,Cwe=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},GA=new Map,_we=function(e){wwe(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!GA.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}`,GA.set(t,n);var r=Cwe();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},kwe=function(e){var t=e.className,n=e.hsva,r=e.onChange,i={backgroundImage:"linear-gradient(90deg, "+WS(Object.assign({},n,{a:0}))+", "+WS(Object.assign({},n,{a:1}))+")"},o=kx(["react-colorful__alpha",t]),a=eo(100*n.a);return ne.createElement("div",{className:o},w("div",{className:"react-colorful__alpha-gradient",style:i}),ne.createElement(u_,{onMove:function(s){r({a:s.left})},onKey:function(s){r({a:S0(n.a+s.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},ne.createElement(c_,{className:"react-colorful__alpha-pointer",left:n.a,color:WS(n)})))},Ewe=function(e){var t=e.className,n=e.colorModel,r=e.color,i=r===void 0?n.defaultColor:r,o=e.onChange,a=nH(e,["className","colorModel","color","onChange"]),s=C.exports.useRef(null);_we(s);var l=Swe(n,i,o),d=l[0],p=l[1],g=kx(["react-colorful",t]);return ne.createElement("div",_x({},a,{ref:s,className:g}),w(bwe,{hsva:d,onChange:p}),w(xwe,{hue:d.h,onChange:p}),ne.createElement(kwe,{hsva:d,onChange:p,className:"react-colorful__last-control"}))},Pwe={defaultColor:{r:0,g:0,b:0,a:1},toHsva:ywe,fromHsva:vwe,equal:iH},Twe=function(e){return ne.createElement(Ewe,_x({},e,{colorModel:Pwe}))};const Lwe=e=>{const{styleClass:t,...n}=e;return w(Twe,{className:`invokeai__color-picker ${t}`,...n})},Awe=()=>{const{tool:e,brushSize:t,maskColor:n,shouldInvertMask:r,shouldShowMask:i,canUndo:o,canRedo:a,isMaskEmpty:s,activeTabName:l,showDualDisplay:d}=$e(twe),p=ct(),g=od(),[m,y]=C.exports.useState(!1);Dt("[",q=>{q.preventDefault(),t-5>0?P(t-5):P(1)},{enabled:l==="inpainting"&&i},[l,i,t]),Dt("]",q=>{q.preventDefault(),P(t+5)},{enabled:l==="inpainting"&&i},[l,i,t]),Dt("shift+[",q=>{q.preventDefault(),N({...n,a:Math.max(n.a-.05,0)})},{enabled:l==="inpainting"&&i},[l,i,n.a]),Dt("shift+]",q=>{q.preventDefault(),N({...n,a:Math.min(n.a+.05,100)})},{enabled:l==="inpainting"&&i},[l,i,n.a]),Dt("e",q=>{q.preventDefault(),!(l!=="inpainting"||!i)&&S()},{enabled:l==="inpainting"&&i},[l,i]),Dt("b",q=>{q.preventDefault(),E()},{enabled:l==="inpainting"&&i},[l,i]),Dt("m",q=>{q.preventDefault(),p(_ye())},{enabled:l==="inpainting"&&i},[l,i]),Dt("cmd+z, control+z",q=>{q.preventDefault(),D()},{enabled:l==="inpainting"&&i&&o},[l,i,o]),Dt("cmd+shift+z, control+shift+z, control+y, cmd+y",q=>{q.preventDefault(),F()},{enabled:l==="inpainting"&&i&&a},[l,i,a]),Dt("h",q=>{q.preventDefault(),k()},{enabled:l==="inpainting"},[l,i]),Dt("shift+m",q=>{q.preventDefault(),L()},{enabled:l==="inpainting"&&i},[l,r,i]),Dt("shift+c",q=>{q.preventDefault(),b(),g({title:"Mask Cleared",status:"success",duration:2500,isClosable:!0})},{enabled:l==="inpainting"&&i&&!s},[l,s,i]),Dt("shift+j",()=>{U()},[d]);const b=()=>{p(pye())},S=()=>p(BL("eraser")),E=()=>p(BL("brush")),P=q=>{p(kS(!0)),p(cye(q))},k=()=>p(fye(!i)),L=()=>p(dye(!r)),I=()=>{p(kS(!0))},O=()=>{p(kS(!1))},N=q=>{p(hye(q))},D=()=>p(gye()),F=()=>p(mye()),U=()=>{p(Qwe(!d)),p(Cf(!0))};return te("div",{className:"inpainting-settings",children:[te("div",{className:"inpainting-buttons-group",children:[w(l3,{trigger:"hover",onOpen:I,onClose:O,triggerComponent:w(sn,{"aria-label":"Brush (B)",tooltip:"Brush (B)",icon:w(mB,{}),onClick:E,"data-selected":e==="brush",isDisabled:!i}),children:te("div",{className:"inpainting-slider-numberinput",children:[w(R5,{label:"Brush Size",value:t,onChange:P,min:1,max:200,width:"100px",focusThumbOnChange:!1,isDisabled:!i}),w(no,{value:t,onChange:P,width:"80px",min:1,max:999,isDisabled:!i})]})}),w(sn,{"aria-label":"Eraser (E)",tooltip:"Eraser (E)",icon:w(A2e,{}),onClick:S,"data-selected":e==="eraser",isDisabled:!i})]}),te("div",{className:"inpainting-buttons-group",children:[w(l3,{trigger:"click",onOpen:()=>y(!0),onClose:()=>y(!1),triggerComponent:w(sn,{"aria-label":"Mask Options",tooltip:"Mask Options",icon:w(M2e,{}),cursor:"pointer","data-selected":m}),children:te("div",{className:"inpainting-button-dropdown",children:[w(sn,{"aria-label":"Hide/Show Mask (H)",tooltip:"Hide/Show Mask (H)","data-selected":!i,icon:i?w(m$,{size:22}):w(g$,{size:22}),onClick:k}),w(sn,{tooltip:"Invert Mask Display (Shift+M)","aria-label":"Invert Mask Display (Shift+M)","data-selected":r,icon:r?w(c2e,{size:22}):w(h2e,{size:22}),onClick:L,isDisabled:!i}),w(l3,{trigger:"hover",placement:"right",styleClass:"inpainting-color-picker",triggerComponent:w(sn,{"aria-label":"Mask Color",tooltip:"Mask Color",icon:w(N2e,{}),isDisabled:!i,cursor:"pointer"}),children:w(Lwe,{color:n,onChange:N})})]})}),w(sn,{"aria-label":"Clear Mask (Shift+C)",tooltip:"Clear Mask (Shift+C)",icon:w(z2e,{size:18,style:{transform:"rotate(45deg)"}}),onClick:b,isDisabled:s||!i})]}),te("div",{className:"inpainting-buttons-group",children:[w(sn,{"aria-label":"Undo",tooltip:"Undo",icon:w(U2e,{}),onClick:D,isDisabled:!o||!i}),w(sn,{"aria-label":"Redo",tooltip:"Redo",icon:w(B2e,{}),onClick:F,isDisabled:!a||!i})]}),w("div",{className:"inpainting-buttons-group",children:w(sn,{"aria-label":"Clear Image",tooltip:"Clear Image",icon:w(V2e,{size:16}),onClick:()=>{p(U7())}})}),w(sn,{"aria-label":"Split Layout (Shift+J)",tooltip:"Split Layout (Shift+J)",icon:w(mwe,{}),"data-selected":d,onClick:U})]})},Iwe=jt([e=>e.inpainting,e=>e.options],(e,t)=>{const{needsCache:n,imageToInpaint:r}=e,{showDualDisplay:i}=t;return{needsCache:n,showDualDisplay:i,imageToInpaint:r}},{memoizeOptions:{resultEqualityCheck:Wt.isEqual}}),Mwe=()=>{const e=ct(),{showDualDisplay:t,needsCache:n,imageToInpaint:r}=$e(Iwe);return C.exports.useLayoutEffect(()=>{const o=Wt.debounce(()=>e(Cf(!0)),250);return window.addEventListener("resize",o),()=>window.removeEventListener("resize",o)},[e]),te("div",{className:t?"workarea-split-view":"workarea-single-view",children:[te("div",{className:"workarea-split-view-left",children:[r?te("div",{className:"inpainting-main-area",children:[w(Awe,{}),w("div",{className:"inpainting-canvas-area",children:n?w(gwe,{}):w(pwe,{})})]}):w(IB,{})," "]}),t&&w("div",{className:"workarea-split-view-right",children:w(j7,{})})]})};function Rwe(){return w(J7,{optionsPanel:w(F4e,{}),styleClass:"inpainting-workarea-overrides",children:w(Mwe,{})})}function Owe(){const e=$e(n=>n.options.showAdvancedOptions),t={seed:{header:w(M7,{}),feature:Ji.SEED,options:w(R7,{})},variations:{header:w(N7,{}),feature:Ji.VARIATIONS,options:w(D7,{})},face_restore:{header:w(L7,{}),feature:Ji.FACE_CORRECTION,options:w(fx,{})},upscale:{header:w(O7,{}),feature:Ji.UPSCALE,options:w(hx,{})},other:{header:w(oB,{}),feature:Ji.OTHER,options:w(aB,{})}};return te(G7,{children:[w(W7,{}),w(H7,{}),w(B7,{}),w(z7,{}),e?w($7,{accordionInfo:t}):null]})}const Nwe=()=>w("div",{className:"workarea-single-view",children:w("div",{className:"text-to-image-area",children:w(j7,{})})});function Dwe(){return w(J7,{optionsPanel:w(Owe,{}),children:w(Nwe,{})})}const pp={txt2img:{title:w(xve,{fill:"black",boxSize:"2.5rem"}),workarea:w(Dwe,{}),tooltip:"Text To Image"},img2img:{title:w(pve,{fill:"black",boxSize:"2.5rem"}),workarea:w(R4e,{}),tooltip:"Image To Image"},inpainting:{title:w(gve,{fill:"black",boxSize:"2.5rem"}),workarea:w(Rwe,{}),tooltip:"Inpainting"},outpainting:{title:w(vve,{fill:"black",boxSize:"2.5rem"}),workarea:w(fve,{}),tooltip:"Outpainting"},nodes:{title:w(mve,{fill:"black",boxSize:"2.5rem"}),workarea:w(dve,{}),tooltip:"Nodes"},postprocess:{title:w(yve,{fill:"black",boxSize:"2.5rem"}),workarea:w(hve,{}),tooltip:"Post Processing"}},Av=Wt.map(pp,(e,t)=>t);[...Av];function zwe(){const e=$e(i=>i.options.activeTab),t=ct();Dt("1",()=>{t(Pa(0))}),Dt("2",()=>{t(Pa(1))}),Dt("3",()=>{t(Pa(2))}),Dt("4",()=>{t(Pa(3))}),Dt("5",()=>{t(Pa(4))}),Dt("6",()=>{t(Pa(5))});const n=()=>{const i=[];return Object.keys(pp).forEach(o=>{i.push(w(Xr,{hasArrow:!0,label:pp[o].tooltip,placement:"right",children:w(CF,{children:pp[o].title})},o))}),i},r=()=>{const i=[];return Object.keys(pp).forEach(o=>{i.push(w(SF,{className:"app-tabs-panel",children:pp[o].workarea},o))}),i};return te(bF,{isLazy:!0,className:"app-tabs",variant:"unstyled",defaultIndex:e,index:e,onChange:i=>{t(Pa(i))},children:[w("div",{className:"app-tabs-list",children:n()}),w(wF,{className:"app-tabs-panels",children:r()})]})}const oH={prompt:"",iterations:1,steps:50,cfgScale:7.5,height:512,width:512,sampler:"k_lms",threshold:0,perlin:0,seed:0,seamless:!1,hiresFix:!1,img2imgStrength:.75,maskPath:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,variationAmount:.1,seedWeights:"",shouldRunESRGAN:!1,upscalingLevel:4,upscalingStrength:.75,shouldRunFacetool:!1,facetoolStrength:.8,facetoolType:"gfpgan",codeformerFidelity:.75,shouldRandomizeSeed:!0,showAdvancedOptions:!0,activeTab:0,shouldShowImageDetails:!1,showDualDisplay:!0,shouldShowOptionsPanel:!0,shouldPinOptionsPanel:!0,optionsPanelScrollPosition:0,shouldHoldOptionsPanelOpen:!1,shouldLoopback:!1},Fwe=oH,aH=J4({name:"options",initialState:Fwe,reducers:{setPrompt:(e,t)=>{const n=t.payload;typeof n=="string"?e.prompt=n:e.prompt=s3(n)},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},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},setFacetoolStrength:(e,t)=>{e.facetoolStrength=t.payload},setCodeformerFidelity:(e,t)=>{e.codeformerFidelity=t.payload},setUpscalingLevel:(e,t)=>{e.upscalingLevel=t.payload},setUpscalingStrength:(e,t)=>{e.upscalingStrength=t.payload},setMaskPath:(e,t)=>{e.maskPath=t.payload},setSeamless:(e,t)=>{e.seamless=t.payload},setHiresFix:(e,t)=>{e.hiresFix=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},setAllTextToImageParameters:(e,t)=>{const{sampler:n,prompt:r,seed:i,variations:o,steps:a,cfg_scale:s,threshold:l,perlin:d,seamless:p,hires_fix:g,width:m,height:y}=t.payload.image;o&&o.length>0?(e.seedWeights=_5(o),e.shouldGenerateVariations=!0):e.shouldGenerateVariations=!1,i&&(e.seed=i,e.shouldRandomizeSeed=!1),r&&(e.prompt=s3(r)),n&&(e.sampler=n),a&&(e.steps=a),s&&(e.cfgScale=s),l&&(e.threshold=l),typeof l>"u"&&(e.threshold=0),d&&(e.perlin=d),typeof d>"u"&&(e.perlin=0),typeof p=="boolean"&&(e.seamless=p),typeof g=="boolean"&&(e.hiresFix=g),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:d,perlin:p,seamless:g,hires_fix:m,width:y,height:b,strength:S,fit:E,init_image_path:P,mask_image_path:k}=t.payload.image;n==="img2img"&&(P&&(e.initialImage=P),k&&(e.maskPath=k),S&&(e.img2imgStrength=S),typeof E=="boolean"&&(e.shouldFitToWidthHeight=E)),a&&a.length>0?(e.seedWeights=_5(a),e.shouldGenerateVariations=!0):e.shouldGenerateVariations=!1,o&&(e.seed=o,e.shouldRandomizeSeed=!1),i&&(e.prompt=s3(i)),r&&(e.sampler=r),s&&(e.steps=s),l&&(e.cfgScale=l),d&&(e.threshold=d),typeof d>"u"&&(e.threshold=0),p&&(e.perlin=p),typeof p>"u"&&(e.perlin=0),typeof g=="boolean"&&(e.seamless=g),typeof m=="boolean"&&(e.hiresFix=m),y&&(e.width=y),b&&(e.height=b)},resetOptionsState:e=>({...e,...oH}),setShouldRunFacetool:(e,t)=>{e.shouldRunFacetool=t.payload},setFacetoolType:(e,t)=>{e.facetoolType=t.payload},setShouldRunESRGAN:(e,t)=>{e.shouldRunESRGAN=t.payload},setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},setShowAdvancedOptions:(e,t)=>{e.showAdvancedOptions=t.payload},setActiveTab:(e,t)=>{typeof t.payload=="number"?e.activeTab=t.payload:e.activeTab=Av.indexOf(t.payload)},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShowDualDisplay:(e,t)=>{e.showDualDisplay=t.payload},setInitialImage:(e,t)=>{e.initialImage=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setShouldPinOptionsPanel:(e,t)=>{e.shouldPinOptionsPanel=t.payload},setShouldShowOptionsPanel:(e,t)=>{e.shouldShowOptionsPanel=t.payload},setOptionsPanelScrollPosition:(e,t)=>{e.optionsPanelScrollPosition=t.payload},setShouldHoldOptionsPanelOpen:(e,t)=>{e.shouldHoldOptionsPanelOpen=t.payload},setShouldLoopback:(e,t)=>{e.shouldLoopback=t.payload}}}),{setPrompt:d_,setIterations:Bwe,setSteps:sH,setCfgScale:lH,setThreshold:$we,setPerlin:Hwe,setHeight:uH,setWidth:cH,setSampler:dH,setSeed:Iv,setSeamless:fH,setHiresFix:hH,setImg2imgStrength:pH,setFacetoolStrength:h3,setFacetoolType:p3,setCodeformerFidelity:gH,setUpscalingLevel:TC,setUpscalingStrength:LC,setMaskPath:AC,resetSeed:q9e,resetOptionsState:K9e,setShouldFitToWidthHeight:mH,setParameter:Z9e,setShouldGenerateVariations:Wwe,setSeedWeights:vH,setVariationAmount:Vwe,setAllParameters:Uwe,setShouldRunFacetool:Gwe,setShouldRunESRGAN:jwe,setShouldRandomizeSeed:qwe,setShowAdvancedOptions:Kwe,setActiveTab:Pa,setShouldShowImageDetails:Zwe,setAllTextToImageParameters:Ywe,setAllImageToImageParameters:Xwe,setShowDualDisplay:Qwe,setInitialImage:nv,clearInitialImage:IC,setShouldShowOptionsPanel:MC,setShouldPinOptionsPanel:Jwe,setOptionsPanelScrollPosition:e6e,setShouldHoldOptionsPanelOpen:t6e,setShouldLoopback:n6e}=aH.actions,r6e=aH.reducer,kl=Object.create(null);kl.open="0";kl.close="1";kl.ping="2";kl.pong="3";kl.message="4";kl.upgrade="5";kl.noop="6";const g3=Object.create(null);Object.keys(kl).forEach(e=>{g3[kl[e]]=e});const i6e={type:"error",data:"parser error"},o6e=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",a6e=typeof ArrayBuffer=="function",s6e=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,yH=({type:e,data:t},n,r)=>o6e&&t instanceof Blob?n?r(t):jA(t,r):a6e&&(t instanceof ArrayBuffer||s6e(t))?n?r(t):jA(new Blob([t]),r):r(kl[e]+(t||"")),jA=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+r)},n.readAsDataURL(e)},qA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ng=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 d=new ArrayBuffer(t),p=new Uint8Array(d);for(r=0;r>4,p[i++]=(a&15)<<4|s>>2,p[i++]=(s&3)<<6|l&63;return d},u6e=typeof ArrayBuffer=="function",xH=(e,t)=>{if(typeof e!="string")return{type:"message",data:bH(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:c6e(e.substring(1),t)}:g3[n]?e.length>1?{type:g3[n],data:e.substring(1)}:{type:g3[n]}:i6e},c6e=(e,t)=>{if(u6e){const n=l6e(e);return bH(n,t)}else return{base64:!0,data:e}},bH=(e,t)=>{switch(t){case"blob":return e instanceof ArrayBuffer?new Blob([e]):e;case"arraybuffer":default:return e}},SH=String.fromCharCode(30),d6e=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,a)=>{yH(o,!1,s=>{r[a]=s,++i===n&&t(r.join(SH))})})},f6e=(e,t)=>{const n=e.split(SH),r=[];for(let i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function CH(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const p6e=setTimeout,g6e=clearTimeout;function Ex(e,t){t.useNativeTimers?(e.setTimeoutFn=p6e.bind(Mc),e.clearTimeoutFn=g6e.bind(Mc)):(e.setTimeoutFn=setTimeout.bind(Mc),e.clearTimeoutFn=clearTimeout.bind(Mc))}const m6e=1.33;function v6e(e){return typeof e=="string"?y6e(e):Math.ceil((e.byteLength||e.size)*m6e)}function y6e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}class x6e extends Error{constructor(t,n,r){super(t),this.description=n,this.context=r,this.type="TransportError"}}class _H extends Wr{constructor(t){super(),this.writable=!1,Ex(this,t),this.opts=t,this.query=t.query,this.readyState="",this.socket=t.socket}onError(t,n,r){return super.emitReserved("error",new x6e(t,n,r)),this}open(){return(this.readyState==="closed"||this.readyState==="")&&(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=xH(t,this.socket.binaryType);this.onPacket(n)}onPacket(t){super.emitReserved("packet",t)}onClose(t){this.readyState="closed",super.emitReserved("close",t)}}const kH="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),RC=64,b6e={};let KA=0,Ey=0,ZA;function YA(e){let t="";do t=kH[e%RC]+t,e=Math.floor(e/RC);while(e>0);return t}function EH(){const e=YA(+new Date);return e!==ZA?(KA=0,ZA=e):e+"."+YA(KA++)}for(;Ey{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)};f6e(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,d6e(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]=EH()),!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=PH(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 Sl(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 Sl extends Wr{constructor(t,n){super(),Ex(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=CH(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 LH(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=Sl.requestsCount++,Sl.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=C6e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete Sl.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()}}Sl.requestsCount=0;Sl.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",XA);else if(typeof addEventListener=="function"){const e="onpagehide"in Mc?"pagehide":"unload";addEventListener(e,XA,!1)}}function XA(){for(let e in Sl.requests)Sl.requests.hasOwnProperty(e)&&Sl.requests[e].abort()}const AH=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),Py=Mc.WebSocket||Mc.MozWebSocket,QA=!0,E6e="arraybuffer",JA=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class P6e extends _H{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=JA?{}:CH(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=QA&&!JA?n?new Py(t,n):new Py(t):new Py(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||E6e,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{QA&&this.ws.send(o)}catch{}i&&AH(()=>{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]=EH()),this.supportsBinary||(t.b64=1);const i=PH(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!!Py}}const T6e={websocket:P6e,polling:k6e},L6e=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,A6e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function OC(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=L6e.exec(e||""),o={},a=14;for(;a--;)o[A6e[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=I6e(o,o.path),o.queryKey=M6e(o,o.query),o}function I6e(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 M6e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}class Ec extends Wr{constructor(t,n={}){super(),t&&typeof t=="object"&&(n=t,t=null),t?(t=OC(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=OC(n.host).host),Ex(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.readyState="",this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!0},n),this.opts.path=this.opts.path.replace(/\/$/,"")+"/",typeof this.opts.query=="string"&&(this.opts.query=S6e(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=wH,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 T6e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Ec.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;Ec.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",g=>{if(!r)if(g.type==="pong"&&g.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Ec.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(p(),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,p(),n.close(),n=null)}const a=g=>{const m=new Error("probe error: "+g);m.transport=n.name,o(),this.emitReserved("upgradeError",m)};function s(){a("transport closed")}function l(){a("socket closed")}function d(g){n&&g.name!==n.name&&o()}const p=()=>{n.removeListener("open",i),n.removeListener("error",a),n.removeListener("close",s),this.off("close",l),this.off("upgrading",d)};n.once("open",i),n.once("error",a),n.once("close",s),this.once("close",l),this.once("upgrading",d),n.open()}onOpen(){if(this.readyState="open",Ec.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade&&this.transport.pause){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){Ec.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,IH=Object.prototype.toString,D6e=typeof Blob=="function"||typeof Blob<"u"&&IH.call(Blob)==="[object BlobConstructor]",z6e=typeof File=="function"||typeof File<"u"&&IH.call(File)==="[object FileConstructor]";function f_(e){return O6e&&(e instanceof ArrayBuffer||N6e(e))||D6e&&e instanceof Blob||z6e&&e instanceof File}function m3(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 Jt.ACK:case Jt.BINARY_ACK:return Array.isArray(n)}}destroy(){this.reconstructor&&this.reconstructor.finishedReconstruction()}}class W6e{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=B6e(this.reconPack,this.buffers);return this.finishedReconstruction(),n}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const V6e=Object.freeze(Object.defineProperty({__proto__:null,protocol:$6e,get PacketType(){return Jt},Encoder:H6e,Decoder:h_},Symbol.toStringTag,{value:"Module"}));function gs(e,t,n){return e.on(t,n),function(){e.off(t,n)}}const U6e=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class MH extends Wr{constructor(t,n,r){super(),this.connected=!1,this.receiveBuffer=[],this.sendBuffer=[],this.ids=0,this.acks={},this.flags={},this.io=t,this.nsp=n,r&&r.auth&&(this.auth=r.auth),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const t=this.io;this.subs=[gs(t,"open",this.onopen.bind(this)),gs(t,"packet",this.onpacket.bind(this)),gs(t,"error",this.onerror.bind(this)),gs(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(U6e.hasOwnProperty(t))throw new Error('"'+t.toString()+'" is a reserved event name');n.unshift(t);const r={type:Jt.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){const r=this.flags.timeout;if(r===void 0){this.acks[t]=n;return}const i=this.io.setTimeoutFn(()=>{delete this.acks[t];for(let o=0;o{this.io.clearTimeoutFn(i),n.apply(this,[null,...o])}}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this.packet({type:Jt.CONNECT,data:t})}):this.packet({type:Jt.CONNECT,data:this.auth})}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 Jt.CONNECT:if(t.data&&t.data.sid){const i=t.data.sid;this.onconnect(i)}else 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 Jt.EVENT:case Jt.BINARY_EVENT:this.onevent(t);break;case Jt.ACK:case Jt.BINARY_ACK:this.onack(t);break;case Jt.DISCONNECT:this.ondisconnect();break;case Jt.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)}ack(t){const n=this;let r=!1;return function(...i){r||(r=!0,n.packet({type:Jt.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){this.id=t,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:Jt.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}H0.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)==0?e-n:e+n}return Math.min(e,this.max)|0};H0.prototype.reset=function(){this.attempts=0};H0.prototype.setMin=function(e){this.ms=e};H0.prototype.setMax=function(e){this.max=e};H0.prototype.setJitter=function(e){this.jitter=e};class zC extends Wr{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,Ex(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 H0({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||V6e;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 Ec(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=gs(n,"open",function(){r.onopen(),t&&t()}),o=gs(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(gs(t,"ping",this.onping.bind(this)),gs(t,"data",this.ondata.bind(this)),gs(t,"error",this.onerror.bind(this)),gs(t,"close",this.onclose.bind(this)),gs(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){AH(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r||(r=new MH(this,t,n),this.nsps[t]=r),r}_destroy(t){const n=Object.keys(this.nsps);for(const r of n)if(this.nsps[r].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let r=0;rt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):t.onreconnect()}))},n);this.opts.autoUnref&&r.unref(),this.subs.push(function(){clearTimeout(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const gg={};function v3(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=R6e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,a=gg[i]&&o in gg[i].nsps,s=t.forceNew||t["force new connection"]||t.multiplex===!1||a;let l;return s?l=new zC(r,t):(gg[i]||(gg[i]=new zC(r,t)),l=gg[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(v3,{Manager:zC,Socket:MH,io:v3,connect:v3});let Ty;const G6e=new Uint8Array(16);function j6e(){if(!Ty&&(Ty=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Ty))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ty(G6e)}const xi=[];for(let e=0;e<256;++e)xi.push((e+256).toString(16).slice(1));function q6e(e,t=0){return(xi[e[t+0]]+xi[e[t+1]]+xi[e[t+2]]+xi[e[t+3]]+"-"+xi[e[t+4]]+xi[e[t+5]]+"-"+xi[e[t+6]]+xi[e[t+7]]+"-"+xi[e[t+8]]+xi[e[t+9]]+"-"+xi[e[t+10]]+xi[e[t+11]]+xi[e[t+12]]+xi[e[t+13]]+xi[e[t+14]]+xi[e[t+15]]).toLowerCase()}const K6e=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),eI={randomUUID:K6e};function mg(e,t,n){if(eI.randomUUID&&!t&&!e)return eI.randomUUID();e=e||{};const r=e.random||(e.rng||j6e)();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 q6e(r)}var Z6e=/d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g,Y6e=/\b(?:[A-Z]{1,3}[A-Z][TC])(?:[-+]\d{4})?|((?:Australian )?(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time)\b/g,X6e=/[^-+\dA-Z]/g;function wi(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(tI[t]||t||tI.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"]()},d=function(){return e[o()+"FullYear"]()},p=function(){return e[o()+"Hours"]()},g=function(){return e[o()+"Minutes"]()},m=function(){return e[o()+"Seconds"]()},y=function(){return e[o()+"Milliseconds"]()},b=function(){return n?0:e.getTimezoneOffset()},S=function(){return Q6e(e)},E=function(){return J6e(e)},P={d:function(){return a()},dd:function(){return Zo(a())},ddd:function(){return bo.dayNames[s()]},DDD:function(){return nI({y:d(),m:l(),d:a(),_:o(),dayName:bo.dayNames[s()],short:!0})},dddd:function(){return bo.dayNames[s()+7]},DDDD:function(){return nI({y:d(),m:l(),d:a(),_:o(),dayName:bo.dayNames[s()+7]})},m:function(){return l()+1},mm:function(){return Zo(l()+1)},mmm:function(){return bo.monthNames[l()]},mmmm:function(){return bo.monthNames[l()+12]},yy:function(){return String(d()).slice(2)},yyyy:function(){return Zo(d(),4)},h:function(){return p()%12||12},hh:function(){return Zo(p()%12||12)},H:function(){return p()},HH:function(){return Zo(p())},M:function(){return g()},MM:function(){return Zo(g())},s:function(){return m()},ss:function(){return Zo(m())},l:function(){return Zo(y(),3)},L:function(){return Zo(Math.floor(y()/10))},t:function(){return p()<12?bo.timeNames[0]:bo.timeNames[1]},tt:function(){return p()<12?bo.timeNames[2]:bo.timeNames[3]},T:function(){return p()<12?bo.timeNames[4]:bo.timeNames[5]},TT:function(){return p()<12?bo.timeNames[6]:bo.timeNames[7]},Z:function(){return r?"GMT":n?"UTC":eCe(e)},o:function(){return(b()>0?"-":"+")+Zo(Math.floor(Math.abs(b())/60)*100+Math.abs(b())%60,4)},p:function(){return(b()>0?"-":"+")+Zo(Math.floor(Math.abs(b())/60),2)+":"+Zo(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 S()},WW:function(){return Zo(S())},N:function(){return E()}};return t.replace(Z6e,function(k){return k in P?P[k]():k.slice(1,k.length-1)})}var tI={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"},bo={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"]},Zo=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(t).padStart(n,"0")},nI=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,d=new Date,p=new Date;p.setDate(p[o+"Date"]()-1);var g=new Date;g.setDate(g[o+"Date"]()+1);var m=function(){return d[o+"Date"]()},y=function(){return d[o+"Month"]()},b=function(){return d[o+"FullYear"]()},S=function(){return p[o+"Date"]()},E=function(){return p[o+"Month"]()},P=function(){return p[o+"FullYear"]()},k=function(){return g[o+"Date"]()},L=function(){return g[o+"Month"]()},I=function(){return g[o+"FullYear"]()};return b()===n&&y()===r&&m()===i?l?"Tdy":"Today":P()===n&&E()===r&&S()===i?l?"Ysd":"Yesterday":I()===n&&L()===r&&k()===i?l?"Tmw":"Tomorrow":a},Q6e=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)},J6e=function(t){var n=t.getDay();return n===0&&(n=7),n},eCe=function(t){return(String(t).match(Y6e)||[""]).pop().replace(X6e,"").replace(/GMT\+0000/g,"UTC")};const tCe=e=>{const{dispatch:t,getState:n}=e;return{onConnect:()=>{try{t(AL(!0)),t(CS("Connected"));const r=n().gallery;r.categories.user.latest_mtime?t(OL("user")):t(J6("user")),r.categories.result.latest_mtime?t(OL("result")):t(J6("result"))}catch(r){console.error(r)}},onDisconnect:()=>{try{t(AL(!1)),t(CS("Disconnected")),t(Si({timestamp:wi(new Date,"isoDateTime"),message:"Disconnected from server",level:"warning"}))}catch(r){console.error(r)}},onGenerationResult:r=>{try{const{shouldLoopback:i,activeTab:o}=n().options,a={uuid:mg(),...r,category:"result"};if(t(oy({category:"result",image:a})),i)switch(Av[o]){case"img2img":{t(nv(a));break}case"inpainting":{t(E5(a));break}}t(Si({timestamp:wi(new Date,"isoDateTime"),message:`Image generated: ${r.url}`}))}catch(i){console.error(i)}},onIntermediateResult:r=>{try{t(Rye({uuid:mg(),...r})),r.isBase64||t(Si({timestamp:wi(new Date,"isoDateTime"),message:`Intermediate image generated: ${r.url}`}))}catch(i){console.error(i)}},onPostprocessingResult:r=>{try{t(oy({category:"result",image:{uuid:mg(),...r,category:"result"}})),t(Si({timestamp:wi(new Date,"isoDateTime"),message:`Postprocessed: ${r.url}`}))}catch(i){console.error(i)}},onProgressUpdate:r=>{try{t(Jp(!0)),t(Jve(r))}catch(i){console.error(i)}},onError:r=>{const{message:i,additionalData:o}=r;try{t(Si({timestamp:wi(new Date,"isoDateTime"),message:`Server error: ${i}`,level:"error"})),t(X6()),t(GL())}catch(a){console.error(a)}},onGalleryImages:r=>{const{images:i,areMoreImagesAvailable:o,category:a}=r,s=i.map(l=>({uuid:mg(),...l}));t(Mye({images:s,areMoreImagesAvailable:o,category:a})),t(Si({timestamp:wi(new Date,"isoDateTime"),message:`Loaded ${i.length} images`}))},onProcessingCanceled:()=>{t(n2e());const{intermediateImage:r}=n().gallery;r&&(r.isBase64||(t(oy({category:"result",image:r})),t(Si({timestamp:wi(new Date,"isoDateTime"),message:`Intermediate image saved: ${r.url}`}))),t(GL())),t(Si({timestamp:wi(new Date,"isoDateTime"),message:"Processing canceled",level:"warning"}))},onImageDeleted:r=>{const{url:i}=r;t(RB(r));const{initialImage:o,maskPath:a}=n().options,{imageToInpaint:s}=n().inpainting;(o?.url===i||o===i)&&t(IC()),s?.url===i&&t(U7()),a===i&&t(AC("")),t(Si({timestamp:wi(new Date,"isoDateTime"),message:`Image deleted: ${i}`}))},onImageUploaded:r=>{const{destination:i,...o}=r,a={uuid:mg(),...o};try{switch(t(oy({image:a,category:"user"})),i){case"img2img":{t(nv(a));break}case"inpainting":{t(E5(a));break}default:{t(OB(a));break}}t(Si({timestamp:wi(new Date,"isoDateTime"),message:`Image uploaded: ${r.url}`}))}catch(s){console.error(s)}},onMaskImageUploaded:r=>{const{url:i}=r;t(AC(i)),t(Si({timestamp:wi(new Date,"isoDateTime"),message:`Mask image uploaded: ${i}`}))},onSystemConfig:r=>{t(e2e(r))},onModelChanged:r=>{const{model_name:i,model_list:o}=r;t(IL(o)),t(CS("Model Changed")),t(Jp(!1)),t(ML(!0)),t(Si({timestamp:wi(new Date,"isoDateTime"),message:`Model changed: ${i}`,level:"info"}))},onModelChangeFailed:r=>{const{model_name:i,model_list:o}=r;t(IL(o)),t(Jp(!1)),t(ML(!0)),t(X6()),t(Si({timestamp:wi(new Date,"isoDateTime"),message:`Model change failed: ${i}`,level:"error"}))}}},nCe=(e,t)=>{const{width:n,height:r}=e,i=document.createElement("div"),o=new f3.Stage({container:i,width:n,height:r}),a=new f3.Layer;return o.add(a),t.forEach(s=>a.add(new f3.Line({points:s.points,stroke:"rgb(0,0,0)",strokeWidth:s.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:s.tool==="brush"?"source-over":"destination-out"}))),a.draw(),i.remove(),{stage:o,layer:a}},rCe=(e,t)=>{const n=e.toCanvas().getContext("2d")?.getImageData(t.x,t.y,t.width,t.height);if(!n)throw new Error("Unable to get image data from generated canvas");return!new Uint32Array(n.data.buffer).some(i=>i!==0)},iCe=(e,t,n)=>{const{stage:r,layer:i}=nCe(e,t),o=rCe(r,n);return i.add(new f3.Image({image:e,globalCompositeOperation:"source-out"})),{maskDataURL:r.toDataURL(),isMaskEmpty:o}},oCe=e=>{const{generationMode:t,optionsState:n,inpaintingState:r,systemState:i,imageToProcessUrl:o,maskImageElement:a}=e,{prompt:s,iterations:l,steps:d,cfgScale:p,threshold:g,perlin:m,height:y,width:b,sampler:S,seed:E,seamless:P,hiresFix:k,img2imgStrength:L,initialImage:I,shouldFitToWidthHeight:O,shouldGenerateVariations:N,variationAmount:D,seedWeights:F,shouldRunESRGAN:U,upscalingLevel:W,upscalingStrength:q,shouldRunFacetool:pe,facetoolStrength:fe,codeformerFidelity:ye,facetoolType:Pe,shouldRandomizeSeed:xe}=n,{shouldDisplayInProgressType:Y}=i,V={prompt:s,iterations:l,steps:d,cfg_scale:p,threshold:g,perlin:m,height:y,width:b,sampler_name:S,seed:E,progress_images:Y==="full-res",progress_latents:Y==="latents"};if(V.seed=xe?sB(A7,I7):E,["txt2img","img2img"].includes(t)&&(V.seamless=P,V.hires_fix=k),t==="img2img"&&I&&(V.init_img=typeof I=="string"?I:I.url,V.strength=L,V.fit=O),t==="inpainting"&&a){const{lines:X,boundingBoxCoordinate:me,boundingBoxDimensions:ve,inpaintReplace:Se,shouldUseInpaintReplace:He}=r,je={...me,...ve};V.init_img=o,V.strength=L,V.fit=!1;const{maskDataURL:ut,isMaskEmpty:qe}=iCe(a,X,je);V.is_mask_empty=qe,V.init_mask=ut.split("data:image/png;base64,")[1],He&&(V.inpaint_replace=Se),V.bounding_box=je,V.progress_images=!1}N?(V.variation_amount=D,F&&(V.with_variations=Jme(F))):V.variation_amount=0;let ae=!1,oe=!1;return U&&(ae={level:W,strength:q}),pe&&(oe={type:Pe,strength:fe},Pe==="codeformer"&&(oe.codeformer_fidelity=ye)),{generationParameters:V,esrganParameters:ae,facetoolParameters:oe}},aCe=(e,t)=>{const{dispatch:n,getState:r}=e;return{emitGenerateImage:i=>{n(Jp(!0));const o=r(),{options:a,system:s,inpainting:l,gallery:d}=o,p={generationMode:i,optionsState:a,inpaintingState:l,systemState:s};if(i==="inpainting"){if(!N5.current||!l.imageToInpaint?.url){n(Si({timestamp:wi(new Date,"isoDateTime"),message:"Inpainting image not loaded, cannot generate image.",level:"error"})),n(X6());return}p.imageToProcessUrl=l.imageToInpaint.url,p.maskImageElement=N5.current}else if(!["txt2img","img2img"].includes(i)){if(!d.currentImage?.url)return;p.imageToProcessUrl=d.currentImage.url}const{generationParameters:g,esrganParameters:m,facetoolParameters:y}=oCe(p);t.emit("generateImage",g,m,y),g.init_mask&&(g.init_mask=g.init_mask.substr(0,20).concat("...")),n(Si({timestamp:wi(new Date,"isoDateTime"),message:`Image generation requested: ${JSON.stringify({...g,...m,...y})}`}))},emitRunESRGAN:i=>{n(Jp(!0));const o=r().options,{upscalingLevel:a,upscalingStrength:s}=o,l={upscale:[a,s]};t.emit("runPostprocessing",i,{type:"esrgan",...l}),n(Si({timestamp:wi(new Date,"isoDateTime"),message:`ESRGAN upscale requested: ${JSON.stringify({file:i.url,...l})}`}))},emitRunFacetool:i=>{n(Jp(!0));const o=r().options,{facetoolType:a,facetoolStrength:s,codeformerFidelity:l}=o,d={facetool_strength:s};a==="codeformer"&&(d.codeformer_fidelity=l),t.emit("runPostprocessing",i,{type:a,...d}),n(Si({timestamp:wi(new Date,"isoDateTime"),message:`Face restoration (${a}) requested: ${JSON.stringify({file:i.url,...d})}`}))},emitDeleteImage:i=>{const{url:o,uuid:a,category:s}=i;n(RB(i)),t.emit("deleteImage",o,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")},emitUploadImage:i=>{const{file:o,destination:a}=i;t.emit("uploadImage",o,o.name,a)},emitUploadMaskImage:i=>{t.emit("uploadMaskImage",i,i.name)},emitRequestSystemConfig:()=>{t.emit("requestSystemConfig")},emitRequestModelChange:i=>{n(r2e()),t.emit("requestModelChange",i)}}},sCe=()=>{const{origin:e}=new URL(window.location.href),t=v3(e,{timeout:6e4,path:window.location.pathname+"socket.io"});let n=!1;return i=>o=>a=>{const{onConnect:s,onDisconnect:l,onError:d,onPostprocessingResult:p,onGenerationResult:g,onIntermediateResult:m,onProgressUpdate:y,onGalleryImages:b,onProcessingCanceled:S,onImageDeleted:E,onImageUploaded:P,onMaskImageUploaded:k,onSystemConfig:L,onModelChanged:I,onModelChangeFailed:O}=tCe(i),{emitGenerateImage:N,emitRunESRGAN:D,emitRunFacetool:F,emitDeleteImage:U,emitRequestImages:W,emitRequestNewImages:q,emitCancelProcessing:pe,emitUploadImage:fe,emitUploadMaskImage:ye,emitRequestSystemConfig:Pe,emitRequestModelChange:xe}=aCe(i,t);switch(n||(t.on("connect",()=>s()),t.on("disconnect",()=>l()),t.on("error",Y=>d(Y)),t.on("generationResult",Y=>g(Y)),t.on("postprocessingResult",Y=>p(Y)),t.on("intermediateResult",Y=>m(Y)),t.on("progressUpdate",Y=>y(Y)),t.on("galleryImages",Y=>b(Y)),t.on("processingCanceled",()=>{S()}),t.on("imageDeleted",Y=>{E(Y)}),t.on("imageUploaded",Y=>{P(Y)}),t.on("maskImageUploaded",Y=>{k(Y)}),t.on("systemConfig",Y=>{L(Y)}),t.on("modelChanged",Y=>{I(Y)}),t.on("modelChangeFailed",Y=>{O(Y)}),n=!0),a.type){case"socketio/generateImage":{N(a.payload);break}case"socketio/runESRGAN":{D(a.payload);break}case"socketio/runFacetool":{F(a.payload);break}case"socketio/deleteImage":{U(a.payload);break}case"socketio/requestImages":{W(a.payload);break}case"socketio/requestNewImages":{q(a.payload);break}case"socketio/cancelProcessing":{pe();break}case"socketio/uploadImage":{fe(a.payload);break}case"socketio/uploadMaskImage":{ye(a.payload);break}case"socketio/requestSystemConfig":{Pe();break}case"socketio/requestModelChange":{xe(a.payload);break}}o(a)}},lCe={key:"root",storage:Ev,blacklist:["gallery","system","inpainting"]},uCe={key:"system",storage:Ev,blacklist:["isCancelable","isConnected","isProcessing","currentStep","socketId","isESRGANAvailable","isGFPGANAvailable","currentStep","totalSteps","currentIteration","totalIterations","currentStatus"]},cCe={key:"gallery",storage:Ev,whitelist:["galleryWidth","shouldPinGallery","shouldShowGallery","galleryScrollPosition","galleryImageMinimumWidth","galleryImageObjectFit"]},dCe={key:"inpainting",storage:Ev,blacklist:["pastLines","futuresLines","cursorPosition"]},fCe=RF({options:r6e,gallery:o3(cCe,Bye),system:o3(uCe,i2e),inpainting:o3(dCe,kye)}),hCe=o3(lCe,fCe),RH=zge({reducer:hCe,middleware:e=>e({serializableCheck:!1}).concat(sCe())}),ct=wme,$e=dme;function y3(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?y3=function(n){return typeof n}:y3=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},y3(e)}function pCe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function rI(e,t){for(var n=0;n({textColor:e.colorMode==="dark"?"gray.800":"gray.100"})},Accordion:{baseStyle:e=>({button:{fontWeight:"bold",_hover:{bgColor:e.colorMode==="dark"?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.05)"}},panel:{paddingBottom:2}})},FormLabel:{baseStyle:{fontWeight:"light"}},Button:{variants:{imageHoverIconButton:e=>({bg:e.colorMode==="dark"?"blackAlpha.700":"whiteAlpha.800",color:e.colorMode==="dark"?"whiteAlpha.700":"blackAlpha.700",_hover:{bg:e.colorMode==="dark"?"blackAlpha.800":"whiteAlpha.800",color:e.colorMode==="dark"?"whiteAlpha.900":"blackAlpha.900"}})}}}}),NH=()=>w(Dn,{width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",children:w(A0,{thickness:"2px",speed:"1s",emptyColor:"gray.200",color:"gray.400",size:"xl"})}),yCe=jt(e=>e.system,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:la.exports.isEqual}}),xCe=()=>{const{isProcessing:e,currentStep:t,totalSteps:n,currentStatusHasSteps:r}=$e(yCe),i=t?Math.round(t*100/n):0;return w(nF,{value:i,isIndeterminate:e&&!r,className:"progress-bar"})};function bCe(e){const{title:t,hotkey:n,description:r}=e;return te("div",{className:"hotkey-modal-item",children:[te("div",{className:"hotkey-info",children:[w("p",{className:"hotkey-title",children:t}),r&&w("p",{className:"hotkey-description",children:r})]}),w("div",{className:"hotkey-key",children:n})]})}function SCe({children:e}){const{isOpen:t,onOpen:n,onClose:r}=d5(),i=[{title:"Invoke",desc:"Generate an image",hotkey:"Ctrl+Enter"},{title:"Cancel",desc:"Cancel image generation",hotkey:"Shift+X"},{title:"Focus Prompt",desc:"Focus the prompt input area",hotkey:"Alt+A"},{title:"Toggle Options",desc:"Open and close the options panel",hotkey:"O"},{title:"Pin Options",desc:"Pin the options panel",hotkey:"Shift+O"},{title:"Toggle Gallery",desc:"Open and close the gallery drawer",hotkey:"G"},{title:"Change Tabs",desc:"Switch to another workspace",hotkey:"1-6"},{title:"Theme Toggle",desc:"Switch between dark and light modes",hotkey:"Shift+D"},{title:"Console Toggle",desc:"Open and close console",hotkey:"`"}],o=[{title:"Set Parameters",desc:"Use all parameters of the current image",hotkey:"A"},{title:"Set Seed",desc:"Use the seed of the current image",hotkey:"S"},{title:"Restore Faces",desc:"Restore the current image",hotkey:"R"},{title:"Upscale",desc:"Upscale the current image",hotkey:"U"},{title:"Show Info",desc:"Show metadata info of the current image",hotkey:"I"},{title:"Send To Image To Image",desc:"Send current image to Image to Image",hotkey:"Shift+I"},{title:"Delete Image",desc:"Delete the current image",hotkey:"Del"}],a=[{title:"Previous Image",desc:"Display the previous image in gallery",hotkey:"Arrow left"},{title:"Next Image",desc:"Display the next image in gallery",hotkey:"Arrow right"},{title:"Toggle Gallery Pin",desc:"Pins and unpins the gallery to the UI",hotkey:"Shift+G"},{title:"Increase Gallery Image Size",desc:"Increases gallery thumbnails size",hotkey:"Shift+Up"},{title:"Decrease Gallery Image Size",desc:"Decreases gallery thumbnails size",hotkey:"Shift+Down"},{title:"Reset Gallery Image Size",desc:"Resets image gallery size",hotkey:"Shift+R"}],s=[{title:"Select Brush",desc:"Selects the inpainting brush",hotkey:"B"},{title:"Select Eraser",desc:"Selects the inpainting eraser",hotkey:"E"},{title:"Quick Toggle Brush/Eraser",desc:"Quick toggle between brush and eraser",hotkey:"X"},{title:"Decrease Brush Size",desc:"Decreases the size of the inpainting brush/eraser",hotkey:"["},{title:"Increase Brush Size",desc:"Increases the size of the inpainting brush/eraser",hotkey:"]"},{title:"Hide Mask",desc:"Hide and unhide mask",hotkey:"H"},{title:"Decrease Mask Opacity",desc:"Decreases the opacity of the mask",hotkey:"Shift+["},{title:"Increase Mask Opacity",desc:"Increases the opacity of the mask",hotkey:"Shift+]"},{title:"Invert Mask",desc:"Invert the mask preview",hotkey:"Shift+M"},{title:"Clear Mask",desc:"Clear the entire mask",hotkey:"Shift+C"},{title:"Undo Stroke",desc:"Undo a brush stroke",hotkey:"Ctrl+Z"},{title:"Redo Stroke",desc:"Redo a brush stroke",hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:"Lock Bounding Box",desc:"Locks the bounding box",hotkey:"M"},{title:"Quick Toggle Lock Bounding Box",desc:"Hold to toggle locking the bounding box",hotkey:"Space"},{title:"Expand Inpainting Area",desc:"Expand your inpainting work area",hotkey:"Shift+J"}],l=d=>{const p=[];return d.forEach((g,m)=>{p.push(w(bCe,{title:g.title,description:g.desc,hotkey:g.hotkey},m))}),w("div",{className:"hotkey-modal-category",children:p})};return te(Fn,{children:[C.exports.cloneElement(e,{onClick:n}),te(v0,{isOpen:t,onClose:r,children:[w(Km,{}),te(qm,{className:"hotkeys-modal",children:[w(a7,{}),w("h1",{children:"Keyboard Shorcuts"}),w("div",{className:"hotkeys-modal-items",children:te(N4,{allowMultiple:!0,children:[te(Sf,{children:[te(xf,{className:"hotkeys-modal-button",children:[w("h2",{children:"App Hotkeys"}),w(bf,{})]}),w(wf,{children:l(i)})]}),te(Sf,{children:[te(xf,{className:"hotkeys-modal-button",children:[w("h2",{children:"General Hotkeys"}),w(bf,{})]}),w(wf,{children:l(o)})]}),te(Sf,{children:[te(xf,{className:"hotkeys-modal-button",children:[w("h2",{children:"Gallery Hotkeys"}),w(bf,{})]}),w(wf,{children:l(a)})]}),te(Sf,{children:[te(xf,{className:"hotkeys-modal-button",children:[w("h2",{children:"Inpainting Hotkeys"}),w(bf,{})]}),w(wf,{children:l(s)})]})]})})]})]})]})}const wCe=e=>{const{isProcessing:t,isConnected:n}=$e(l=>l.system),r=ct(),{name:i,status:o,description:a}=e,s=()=>{r(J2e(i))};return te("div",{className:"model-list-item",children:[w(Xr,{label:a,hasArrow:!0,placement:"bottom",children:w("div",{className:"model-list-item-name",children:i})}),w(LD,{}),w("div",{className:`model-list-item-status ${o.split(" ").join("-")}`,children:o}),w("div",{className:"model-list-item-load-btn",children:w(Na,{size:"sm",onClick:s,isDisabled:o==="active"||t||!n,children:"Load"})})]})},CCe=jt(e=>e.system,e=>{const t=Wt.map(e.model_list,(r,i)=>({name:i,...r})),n=t.find(r=>r.status==="active");return{models:t,activeModel:n}}),_Ce=()=>{const{models:e}=$e(CCe);return w("div",{className:"model-list",children:w(N4,{allowToggle:!0,children:te(Sf,{children:[w(xf,{children:te("div",{className:"model-list-button",children:[w("h2",{children:"Models"}),w(bf,{})]})}),w(wf,{children:w("div",{className:"model-list-list",children:e.map((t,n)=>w(wCe,{name:t.name,status:t.status,description:t.description},n))})})]})})})};function oI({settingTitle:e,isChecked:t,dispatcher:n}){const r=ct();return w(Su,{styleClass:"settings-modal-item",label:e,isChecked:t,onChange:i=>r(n(i.target.checked))})}function kCe({settingTitle:e,validValues:t,defaultValue:n,dispatcher:r}){const i=ct();return w(N0,{styleClass:"settings-modal-item",label:e,validValues:t,defaultValue:n,onChange:o=>i(r(o.target.value))})}const ECe=jt(e=>e.system,e=>{const{shouldDisplayInProgressType:t,shouldConfirmOnDelete:n,shouldDisplayGuides:r,model_list:i}=e;return{shouldDisplayInProgressType:t,shouldConfirmOnDelete:n,shouldDisplayGuides:r,models:Wt.map(i,(o,a)=>a)}},{memoizeOptions:{resultEqualityCheck:la.exports.isEqual}}),PCe=({children:e})=>{const{isOpen:t,onOpen:n,onClose:r}=d5(),{isOpen:i,onOpen:o,onClose:a}=d5(),{shouldDisplayInProgressType:s,shouldConfirmOnDelete:l,shouldDisplayGuides:d}=$e(ECe),p=()=>{qH.purge().then(()=>{r(),o()})};return te(Fn,{children:[C.exports.cloneElement(e,{onClick:n}),te(v0,{isOpen:t,onClose:r,children:[w(Km,{}),te(qm,{className:"settings-modal",children:[w(l7,{className:"settings-modal-header",children:"Settings"}),w(a7,{}),te(g5,{className:"settings-modal-content",children:[w(_Ce,{}),te("div",{className:"settings-modal-items",children:[w(kCe,{settingTitle:"Display In-Progress Images",validValues:Eve,defaultValue:s,dispatcher:Xve}),w(oI,{settingTitle:"Confirm on Delete",isChecked:l,dispatcher:uB}),w(oI,{settingTitle:"Display Help Icons",isChecked:d,dispatcher:t2e})]}),te("div",{className:"settings-modal-reset",children:[w(Af,{size:"md",children:"Reset Web UI"}),w(wo,{children:"Resetting the web UI only resets the browser's local cache of your images and remembered settings. It does not delete any images from disk."}),w(wo,{children:"If images aren't showing up in the gallery or something else isn't working, please try resetting before submitting an issue on GitHub."}),w(Na,{colorScheme:"red",onClick:p,children:"Reset Web UI"})]})]}),w(s7,{children:w(Na,{onClick:r,children:"Close"})})]})]}),te(v0,{closeOnOverlayClick:!1,isOpen:i,onClose:a,isCentered:!0,children:[w(Km,{bg:"blackAlpha.300",backdropFilter:"blur(40px)"}),w(qm,{children:w(g5,{pb:6,pt:6,children:w(Dn,{justifyContent:"center",children:w(wo,{fontSize:"lg",children:"Web UI has been reset. Refresh the page to reload."})})})})]})]})},TCe=jt(e=>e.system,e=>({isConnected:e.isConnected,isProcessing:e.isProcessing,currentIteration:e.currentIteration,totalIterations:e.totalIterations,currentStatus:e.currentStatus,hasError:e.hasError,wasErrorSeen:e.wasErrorSeen}),{memoizeOptions:{resultEqualityCheck:la.exports.isEqual}}),LCe=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,currentStatus:i,hasError:o,wasErrorSeen:a}=$e(TCe),s=ct();let l;e&&!o?l="status-good":l="status-bad";let d=i;return["generating","preparing","saving image","restoring faces","upscaling"].includes(d.toLowerCase())&&(l="status-working"),d&&t&&r>1&&(d+=` (${n}/${r})`),w(Xr,{label:o&&!a?"Click to clear, check logs for details":void 0,children:w(wo,{cursor:o&&!a?"pointer":"initial",onClick:()=>{(o||!a)&&s(cB())},className:`status ${l}`,children:d})})},ACe=()=>{const{colorMode:e,toggleColorMode:t}=n4();Dt("shift+d",()=>{t()},[e,t]);const n=e=="light"?w(O2e,{}):w(H2e,{}),r=e=="light"?18:20;return te("div",{className:"site-header",children:[te("div",{className:"site-header-left-side",children:[w("img",{src:LB,alt:"invoke-ai-logo"}),te("h1",{children:["invoke ",w("strong",{children:"ai"})]})]}),te("div",{className:"site-header-right-side",children:[w(LCe,{}),w(SCe,{children:w(Bi,{"aria-label":"Hotkeys",variant:"link",fontSize:24,size:"sm",icon:w(g2e,{})})}),w(Xr,{hasArrow:!0,label:"Theme",placement:"bottom",children:w(Bi,{"aria-label":"Toggle Dark Mode",onClick:t,variant:"link",size:"sm",fontSize:r,icon:n})}),w(Xr,{hasArrow:!0,label:"Report Bug",placement:"bottom",children:w(Bi,{"aria-label":"Link to Github Issues",variant:"link",fontSize:23,size:"sm",icon:w(jp,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI/issues",children:w(hB,{})})})}),w(Xr,{hasArrow:!0,label:"Github",placement:"bottom",children:w(Bi,{"aria-label":"Link to Github Repo",variant:"link",fontSize:20,size:"sm",icon:w(jp,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI",children:w(_2e,{})})})}),w(Xr,{hasArrow:!0,label:"Discord",placement:"bottom",children:w(Bi,{"aria-label":"Link to Discord Server",variant:"link",fontSize:20,size:"sm",icon:w(jp,{isExternal:!0,href:"https://discord.gg/ZmtBAhwWhy",children:w(C2e,{})})})}),w(PCe,{children:w(Bi,{"aria-label":"Settings",variant:"link",fontSize:24,size:"sm",icon:w(d2e,{})})})]})]})},ICe=jt(e=>e.system,e=>e.log,{memoizeOptions:{resultEqualityCheck:(e,t)=>e.length===t.length}}),MCe=jt(e=>e.system,e=>({shouldShowLogViewer:e.shouldShowLogViewer,hasError:e.hasError,wasErrorSeen:e.wasErrorSeen}),{memoizeOptions:{resultEqualityCheck:la.exports.isEqual}}),RCe=()=>{const e=ct(),t=$e(ICe),{shouldShowLogViewer:n,hasError:r,wasErrorSeen:i}=$e(MCe),[o,a]=C.exports.useState(!0),s=C.exports.useRef(null);C.exports.useLayoutEffect(()=>{s.current!==null&&o&&(s.current.scrollTop=s.current.scrollHeight)},[o,t,n]);const l=()=>{e(cB()),e(LL(!n))};return Dt("`",()=>{e(LL(!n))},[n]),te(Fn,{children:[n&&w(FB,{defaultSize:{width:"100%",height:200},style:{display:"flex",position:"fixed",left:0,bottom:0,zIndex:20},maxHeight:"90vh",children:w("div",{className:"console",ref:s,onScroll:()=>{!s.current||o&&s.current.scrollTop{const{timestamp:m,message:y,level:b}=p;return te("div",{className:`console-entry console-${b}-color`,children:[te("p",{className:"console-timestamp",children:[m,":"]}),w("p",{className:"console-message",children:y})]},g)})})}),n&&w(Xr,{hasArrow:!0,label:o?"Autoscroll On":"Autoscroll Off",children:w(Bi,{className:"console-autoscroll-icon-button","data-autoscroll-enabled":o,size:"sm","aria-label":"Toggle autoscroll",variant:"solid",icon:w(k2e,{}),onClick:()=>a(!o)})}),w(Xr,{hasArrow:!0,label:n?"Hide Console":"Show Console",children:w(Bi,{className:"console-toggle-icon-button","data-error-seen":r||!i,size:"sm",position:"fixed",variant:"solid","aria-label":"Toggle Log Viewer",icon:n?w(R2e,{}):w(L2e,{}),onClick:l})})]})};function OCe(){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)};(!{BASE_URL:"./",MODE:"production",DEV:!1,PROD:!0}.NODE_ENV||{BASE_URL:"./",MODE:"production",DEV:!1,PROD:!0}.NODE_ENV==="production")&&document.addEventListener("DOMContentLoaded",()=>{t(),setInterval(t,3e3)})}var NCe=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 Mv(e,t){var n=DCe(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 DCe(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),i=NCe.get(r);i&&Object.defineProperty(e,"type",{value:i,writable:!1,configurable:!1,enumerable:!0})}return e}var zCe=[".DS_Store","Thumbs.db"];function FCe(e){return T0(this,void 0,void 0,function(){return L0(this,function(t){return D5(e)&&BCe(e.dataTransfer)?[2,VCe(e.dataTransfer,e.type)]:$Ce(e)?[2,HCe(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,WCe(e)]:[2,[]]})})}function BCe(e){return D5(e)}function $Ce(e){return D5(e)&&D5(e.target)}function D5(e){return typeof e=="object"&&e!==null}function HCe(e){return $C(e.target.files).map(function(t){return Mv(t)})}function WCe(e){return T0(this,void 0,void 0,function(){var t;return L0(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 Mv(r)})]}})})}function VCe(e,t){return T0(this,void 0,void 0,function(){var n,r;return L0(this,function(i){switch(i.label){case 0:return e.items?(n=$C(e.items).filter(function(o){return o.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(UCe))]):[3,2];case 1:return r=i.sent(),[2,aI(DH(r))];case 2:return[2,aI($C(e.files).map(function(o){return Mv(o)}))]}})})}function aI(e){return e.filter(function(t){return zCe.indexOf(t.name)===-1})}function $C(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,dI(n)];if(e.sizen)return[!1,dI(n)]}return[!0,null]}function df(e){return e!=null}function a9e(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 d=$H(l,n),p=rv(d,1),g=p[0],m=HH(l,r,i),y=rv(m,1),b=y[0],S=s?s(l):null;return g&&b&&!S})}function z5(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function Ly(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 hI(e){e.preventDefault()}function s9e(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function l9e(e){return e.indexOf("Edge/")!==-1}function u9e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return s9e(e)||l9e(e)}function nl(){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 E9e(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 p_=C.exports.forwardRef(function(e,t){var n=e.children,r=F5(e,g9e),i=jH(r),o=i.open,a=F5(i,m9e);return C.exports.useImperativeHandle(t,function(){return{open:o}},[o]),w(C.exports.Fragment,{children:n(sr(sr({},a),{},{open:o}))})});p_.displayName="Dropzone";var GH={disabled:!1,getFilesFromEvent:FCe,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};p_.defaultProps=GH;p_.propTypes={children:An.exports.func,accept:An.exports.objectOf(An.exports.arrayOf(An.exports.string)),multiple:An.exports.bool,preventDropOnDocument:An.exports.bool,noClick:An.exports.bool,noKeyboard:An.exports.bool,noDrag:An.exports.bool,noDragEventsBubbling:An.exports.bool,minSize:An.exports.number,maxSize:An.exports.number,maxFiles:An.exports.number,disabled:An.exports.bool,getFilesFromEvent:An.exports.func,onFileDialogCancel:An.exports.func,onFileDialogOpen:An.exports.func,useFsAccessApi:An.exports.bool,autoFocus:An.exports.bool,onDragEnter:An.exports.func,onDragLeave:An.exports.func,onDragOver:An.exports.func,onDrop:An.exports.func,onDropAccepted:An.exports.func,onDropRejected:An.exports.func,onError:An.exports.func,validator:An.exports.func};var UC={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function jH(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=sr(sr({},GH),e),n=t.accept,r=t.disabled,i=t.getFilesFromEvent,o=t.maxSize,a=t.minSize,s=t.multiple,l=t.maxFiles,d=t.onDragEnter,p=t.onDragLeave,g=t.onDragOver,m=t.onDrop,y=t.onDropAccepted,b=t.onDropRejected,S=t.onFileDialogCancel,E=t.onFileDialogOpen,P=t.useFsAccessApi,k=t.autoFocus,L=t.preventDropOnDocument,I=t.noClick,O=t.noKeyboard,N=t.noDrag,D=t.noDragEventsBubbling,F=t.onError,U=t.validator,W=C.exports.useMemo(function(){return f9e(n)},[n]),q=C.exports.useMemo(function(){return d9e(n)},[n]),pe=C.exports.useMemo(function(){return typeof E=="function"?E:gI},[E]),fe=C.exports.useMemo(function(){return typeof S=="function"?S:gI},[S]),ye=C.exports.useRef(null),Pe=C.exports.useRef(null),xe=C.exports.useReducer(P9e,UC),Y=VS(xe,2),V=Y[0],ae=Y[1],oe=V.isFocused,X=V.isFileDialogActive,me=C.exports.useRef(typeof window<"u"&&window.isSecureContext&&P&&c9e()),ve=function(){!me.current&&X&&setTimeout(function(){if(Pe.current){var Ze=Pe.current.files;Ze.length||(ae({type:"closeDialog"}),fe())}},300)};C.exports.useEffect(function(){return window.addEventListener("focus",ve,!1),function(){window.removeEventListener("focus",ve,!1)}},[Pe,X,fe,me]);var Se=C.exports.useRef([]),He=function(Ze){ye.current&&ye.current.contains(Ze.target)||(Ze.preventDefault(),Se.current=[])};C.exports.useEffect(function(){return L&&(document.addEventListener("dragover",hI,!1),document.addEventListener("drop",He,!1)),function(){L&&(document.removeEventListener("dragover",hI),document.removeEventListener("drop",He))}},[ye,L]),C.exports.useEffect(function(){return!r&&k&&ye.current&&ye.current.focus(),function(){}},[ye,k,r]);var je=C.exports.useCallback(function(Me){F?F(Me):console.error(Me)},[F]),ut=C.exports.useCallback(function(Me){Me.preventDefault(),Me.persist(),bt(Me),Se.current=[].concat(x9e(Se.current),[Me.target]),Ly(Me)&&Promise.resolve(i(Me)).then(function(Ze){if(!(z5(Me)&&!D)){var Kt=Ze.length,Vt=Kt>0&&a9e({files:Ze,accept:W,minSize:a,maxSize:o,multiple:s,maxFiles:l,validator:U}),_e=Kt>0&&!Vt;ae({isDragAccept:Vt,isDragReject:_e,isDragActive:!0,type:"setDraggedFiles"}),d&&d(Me)}}).catch(function(Ze){return je(Ze)})},[i,d,je,D,W,a,o,s,l,U]),qe=C.exports.useCallback(function(Me){Me.preventDefault(),Me.persist(),bt(Me);var Ze=Ly(Me);if(Ze&&Me.dataTransfer)try{Me.dataTransfer.dropEffect="copy"}catch{}return Ze&&g&&g(Me),!1},[g,D]),at=C.exports.useCallback(function(Me){Me.preventDefault(),Me.persist(),bt(Me);var Ze=Se.current.filter(function(Vt){return ye.current&&ye.current.contains(Vt)}),Kt=Ze.indexOf(Me.target);Kt!==-1&&Ze.splice(Kt,1),Se.current=Ze,!(Ze.length>0)&&(ae({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Ly(Me)&&p&&p(Me))},[ye,p,D]),et=C.exports.useCallback(function(Me,Ze){var Kt=[],Vt=[];Me.forEach(function(_e){var kt=$H(_e,W),Ne=VS(kt,2),tt=Ne[0],nn=Ne[1],Mn=HH(_e,a,o),Fe=VS(Mn,2),lt=Fe[0],Xe=Fe[1],Lt=U?U(_e):null;if(tt&<&&!Lt)Kt.push(_e);else{var Zt=[nn,Xe];Lt&&(Zt=Zt.concat(Lt)),Vt.push({file:_e,errors:Zt.filter(function(Zn){return Zn})})}}),(!s&&Kt.length>1||s&&l>=1&&Kt.length>l)&&(Kt.forEach(function(_e){Vt.push({file:_e,errors:[o9e]})}),Kt.splice(0)),ae({acceptedFiles:Kt,fileRejections:Vt,type:"setFiles"}),m&&m(Kt,Vt,Ze),Vt.length>0&&b&&b(Vt,Ze),Kt.length>0&&y&&y(Kt,Ze)},[ae,s,W,a,o,l,m,y,b,U]),it=C.exports.useCallback(function(Me){Me.preventDefault(),Me.persist(),bt(Me),Se.current=[],Ly(Me)&&Promise.resolve(i(Me)).then(function(Ze){z5(Me)&&!D||et(Ze,Me)}).catch(function(Ze){return je(Ze)}),ae({type:"reset"})},[i,et,je,D]),At=C.exports.useCallback(function(){if(me.current){ae({type:"openDialog"}),pe();var Me={multiple:s,types:q};window.showOpenFilePicker(Me).then(function(Ze){return i(Ze)}).then(function(Ze){et(Ze,null),ae({type:"closeDialog"})}).catch(function(Ze){h9e(Ze)?(fe(Ze),ae({type:"closeDialog"})):p9e(Ze)?(me.current=!1,Pe.current?(Pe.current.value=null,Pe.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(Ze)});return}Pe.current&&(ae({type:"openDialog"}),pe(),Pe.current.value=null,Pe.current.click())},[ae,pe,fe,P,et,je,q,s]),wt=C.exports.useCallback(function(Me){!ye.current||!ye.current.isEqualNode(Me.target)||(Me.key===" "||Me.key==="Enter"||Me.keyCode===32||Me.keyCode===13)&&(Me.preventDefault(),At())},[ye,At]),Le=C.exports.useCallback(function(){ae({type:"focus"})},[]),ot=C.exports.useCallback(function(){ae({type:"blur"})},[]),Et=C.exports.useCallback(function(){I||(u9e()?setTimeout(At,0):At())},[I,At]),rt=function(Ze){return r?null:Ze},pt=function(Ze){return O?null:rt(Ze)},Sn=function(Ze){return N?null:rt(Ze)},bt=function(Ze){D&&Ze.stopPropagation()},qt=C.exports.useMemo(function(){return function(){var Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Ze=Me.refKey,Kt=Ze===void 0?"ref":Ze,Vt=Me.role,_e=Me.onKeyDown,kt=Me.onFocus,Ne=Me.onBlur,tt=Me.onClick,nn=Me.onDragEnter,Mn=Me.onDragOver,Fe=Me.onDragLeave,lt=Me.onDrop,Xe=F5(Me,v9e);return sr(sr(VC({onKeyDown:pt(nl(_e,wt)),onFocus:pt(nl(kt,Le)),onBlur:pt(nl(Ne,ot)),onClick:rt(nl(tt,Et)),onDragEnter:Sn(nl(nn,ut)),onDragOver:Sn(nl(Mn,qe)),onDragLeave:Sn(nl(Fe,at)),onDrop:Sn(nl(lt,it)),role:typeof Vt=="string"&&Vt!==""?Vt:"presentation"},Kt,ye),!r&&!O?{tabIndex:0}:{}),Xe)}},[ye,wt,Le,ot,Et,ut,qe,at,it,O,N,r]),wn=C.exports.useCallback(function(Me){Me.stopPropagation()},[]),pn=C.exports.useMemo(function(){return function(){var Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Ze=Me.refKey,Kt=Ze===void 0?"ref":Ze,Vt=Me.onChange,_e=Me.onClick,kt=F5(Me,y9e),Ne=VC({accept:W,multiple:s,type:"file",style:{display:"none"},onChange:rt(nl(Vt,it)),onClick:rt(nl(_e,wn)),tabIndex:-1},Kt,Pe);return sr(sr({},Ne),kt)}},[Pe,n,s,it,r]);return sr(sr({},V),{},{isFocused:oe&&!r,getRootProps:qt,getInputProps:pn,rootRef:ye,inputRef:Pe,open:rt(At)})}function P9e(e,t){switch(t.type){case"focus":return sr(sr({},e),{},{isFocused:!0});case"blur":return sr(sr({},e),{},{isFocused:!1});case"openDialog":return sr(sr({},UC),{},{isFileDialogActive:!0});case"closeDialog":return sr(sr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return sr(sr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return sr(sr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return sr({},UC);default:return e}}function gI(){}const T9e=e=>{const{children:t}=e,n=ct(),r=$e(Ga),i=od({}),[o,a]=C.exports.useState(!1),s=C.exports.useCallback(E=>{a(!0);const P=E.errors.reduce((k,L)=>k+` +`+L.message,"");i({title:"Upload failed",description:P,status:"error",isClosable:!0})},[i]),l=C.exports.useCallback(E=>{a(!0);const P={file:E};["img2img","inpainting"].includes(r)&&(P.destination=r),n(NL(P))},[n,r]),d=C.exports.useCallback((E,P)=>{P.forEach(k=>{s(k)}),E.forEach(k=>{l(k)})},[l,s]),{getRootProps:p,getInputProps:g,isDragAccept:m,isDragReject:y,isDragActive:b,open:S}=jH({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:d,maxFiles:1});return C.exports.useEffect(()=>{const E=P=>{const k=P.clipboardData?.items;if(!k)return;const L=[];for(const N of k)N.kind==="file"&&["image/png","image/jpg"].includes(N.type)&&L.push(N);if(!L.length)return;if(P.stopImmediatePropagation(),L.length>1){i({description:"Multiple images pasted, may only upload one image at a time",status:"error",isClosable:!0});return}const I=L[0].getAsFile();if(!I){i({description:"Unable to load file",status:"error",isClosable:!0});return}const O={file:I};["img2img","inpainting"].includes(r)&&(O.destination=r),n(NL(O))};return document.addEventListener("paste",E),()=>{document.removeEventListener("paste",E)}},[n,i,r]),w(AB.Provider,{value:S,children:te("div",{...p({style:{}}),children:[w("input",{...g()}),t,b&&te("div",{className:"dropzone-container",children:[m&&w("div",{className:"dropzone-overlay is-drag-accept",children:w(Af,{size:"lg",children:"Drop Images"})}),y&&te("div",{className:"dropzone-overlay is-drag-reject",children:[w(Af,{size:"lg",children:"Invalid Upload"}),w(Af,{size:"md",children:"Must be single JPEG or PNG image"})]}),o&&w("div",{className:"dropzone-overlay is-handling-upload",children:w(A0,{})})]})]})})},L9e=()=>{const e=ct();return w(sn,{tooltip:"Show Gallery (G)",tooltipPlacement:"top","aria-label":"Show Gallery",styleClass:"floating-show-hide-button right",onMouseOver:()=>{e(nC(!0))},children:w(pB,{})})};function A9e(e){return mt({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M32 384h272v32H32zM400 384h80v32h-80zM384 447.5c0 17.949-14.327 32.5-32 32.5-17.673 0-32-14.551-32-32.5v-95c0-17.949 14.327-32.5 32-32.5 17.673 0 32 14.551 32 32.5v95z"}},{tag:"g",attr:{},child:[{tag:"path",attr:{d:"M32 240h80v32H32zM208 240h272v32H208zM192 303.5c0 17.949-14.327 32.5-32 32.5-17.673 0-32-14.551-32-32.5v-95c0-17.949 14.327-32.5 32-32.5 17.673 0 32 14.551 32 32.5v95z"}}]},{tag:"g",attr:{},child:[{tag:"path",attr:{d:"M32 96h272v32H32zM400 96h80v32h-80zM384 159.5c0 17.949-14.327 32.5-32 32.5-17.673 0-32-14.551-32-32.5v-95c0-17.949 14.327-32.5 32-32.5 17.673 0 32 14.551 32 32.5v95z"}}]}]})(e)}const I9e=jt(e=>e.options,e=>{const{shouldPinOptionsPanel:t,shouldShowOptionsPanel:n}=e;return{shouldShowProcessButtons:!t||!n}},{memoizeOptions:{resultEqualityCheck:Wt.isEqual}}),M9e=()=>{const e=ct(),{shouldShowProcessButtons:t}=$e(I9e);return te("div",{className:"show-hide-button-options",children:[w(sn,{tooltip:"Show Options Panel (O)",tooltipPlacement:"top","aria-label":"Show Options Panel",onClick:()=>{e(MC(!0))},children:w(A9e,{})}),t&&te(Fn,{children:[w(yB,{iconButton:!0}),w(bB,{}),w(xB,{})]})]})};OCe();const R9e=jt([e=>e.gallery,e=>e.options,e=>e.system,Ga],(e,t,n,r)=>{const{shouldShowGallery:i,shouldHoldGalleryOpen:o,shouldPinGallery:a}=e,{shouldShowOptionsPanel:s,shouldHoldOptionsPanelOpen:l,shouldPinOptionsPanel:d}=t,p=Wt.reduce(n.model_list,(y,b,S)=>(b.status==="active"&&(y=S),y),""),g=!(i||o&&!a),m=!(s||l&&!d)&&["txt2img","img2img","inpainting"].includes(r);return{modelStatusText:p,shouldShowGalleryButton:g,shouldShowOptionsPanelButton:m}},{memoizeOptions:{resultEqualityCheck:Wt.isEqual}}),O9e=()=>{const e=ct(),[t,n]=C.exports.useState(!1),{shouldShowGalleryButton:r,shouldShowOptionsPanelButton:i}=$e(R9e);return C.exports.useEffect(()=>{e(Q2e()),n(!0)},[e]),t?w("div",{className:"App",children:te(T9e,{children:[w(xCe,{}),te("div",{className:"app-content",children:[w(ACe,{}),w(zwe,{})]}),w("div",{className:"app-console",children:w(RCe,{})}),r&&w(L9e,{}),i&&w(M9e,{})]})}):w(NH,{})};const qH=Wme(RH);GS.createRoot(document.getElementById("root")).render(w(ne.StrictMode,{children:w(xme,{store:RH,children:w(OH,{loading:w(NH,{}),persistor:qH,children:te(oge,{theme:iI,children:[w(QK,{initialColorMode:iI.config.initialColorMode}),w(O9e,{})]})})})})); diff --git a/frontend/src/features/system/SettingsModal/SettingsModalItem.tsx b/frontend/src/features/system/SettingsModal/SettingsModalItem.tsx deleted file mode 100644 index 0f69c87395..0000000000 --- a/frontend/src/features/system/SettingsModal/SettingsModalItem.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { useAppDispatch } from '../../../app/store'; -import IAISelect from '../../../common/components/IAISelect'; -import IAISwitch from '../../../common/components/IAISwitch'; - -export function SettingsModalItem({ - settingTitle, - isChecked, - dispatcher, -}: { - settingTitle: string; - isChecked: boolean; - dispatcher: any; -}) { - const dispatch = useAppDispatch(); - return ( - dispatch(dispatcher(e.target.checked))} - /> - ); -} - - -export function SettingsModalSelectItem({ - settingTitle, - validValues, - defaultValue, - dispatcher, -}: { - settingTitle: string; - validValues: - Array - | Array<{ key: string; value: string | number }>; - defaultValue: string; - dispatcher: any; -}) { - const dispatch = useAppDispatch(); - return ( - dispatch(dispatcher(e.target.value))} - /> - ); -} - diff --git a/installer/WinLongPathsEnabled.reg b/installer/WinLongPathsEnabled.reg new file mode 100644 index 0000000000..778782b272 Binary files /dev/null and b/installer/WinLongPathsEnabled.reg differ diff --git a/installer/create_installers.sh b/installer/create_installers.sh index 1b1d634ca6..833ae82239 100755 --- a/installer/create_installers.sh +++ b/installer/create_installers.sh @@ -1,22 +1,29 @@ -#!/bin/bash +#!/usr/bin/env bash -cd "$(dirname "${BASH_SOURCE[0]}")" +set -euo pipefail +IFS=$'\n\t' + +echo "Be certain that you're in the 'installer' directory before continuing." +read -p "Press any key to continue, or CTRL-C to exit..." # make the installer zip for linux and mac -rm -rf invokeAI -mkdir -p invokeAI -cp install.sh invokeAI -cp readme.txt invokeAI +rm -rf InvokeAI +mkdir -p InvokeAI +cp install.sh InvokeAI +cp readme.txt InvokeAI -zip -r invokeAI-linux.zip invokeAI -zip -r invokeAI-mac.zip invokeAI +zip -r InvokeAI-linux.zip InvokeAI +zip -r InvokeAI-mac.zip InvokeAI # make the installer zip for windows -rm -rf invokeAI -mkdir -p invokeAI -cp install.bat invokeAI -cp readme.txt invokeAI +rm -rf InvokeAI +mkdir -p InvokeAI +cp install.bat InvokeAI +cp readme.txt InvokeAI +cp WinLongPathsEnabled.reg InvokeAI -zip -r invokeAI-windows.zip invokeAI +zip -r InvokeAI-windows.zip InvokeAI -echo "The installer zips are ready to be distributed.." +rm -rf InvokeAI + +echo "The installer zips are ready for distribution." diff --git a/installer/install.bat b/installer/install.bat index c0ebc061bc..7fd6e0459d 100644 --- a/installer/install.bat +++ b/installer/install.bat @@ -1,115 +1,164 @@ @echo off -@rem This script will install git and conda (if not found on the PATH variable) +@rem This script will install git (if not found on the PATH variable) @rem using micromamba (an 8mb static-linked single-file binary, conda replacement). -@rem For users who already have git and conda, this step will be skipped. +@rem For users who already have git, this step will be skipped. -@rem Next, it'll checkout the project's git repo, if necessary. -@rem Finally, it'll create the conda environment and preload the models. +@rem Next, it'll download the project's source code. +@rem Then it will download a self-contained, standalone Python and unpack it. +@rem Finally, it'll create the Python virtual environment and preload the models. -@rem This enables a user to install this project without manually installing conda and git. +@rem This enables a user to install this project without manually installing git or Python -echo "Installing InvokeAI.." -echo. +echo ***** Installing InvokeAI.. ***** -@rem config -set MAMBA_ROOT_PREFIX=%cd%\installer_files\mamba +set PATH=c:\windows\system32 + +@rem Config set INSTALL_ENV_DIR=%cd%\installer_files\env +@rem https://mamba.readthedocs.io/en/latest/installation.html set MICROMAMBA_DOWNLOAD_URL=https://github.com/cmdr2/stable-diffusion-ui/releases/download/v1.1/micromamba.exe -set REPO_URL=https://github.com/invoke-ai/InvokeAI.git -set umamba_exists=F -@rem Change the download URL to an InvokeAI repo's release URL - -@rem figure out whether git and conda needs to be installed -if exist "%INSTALL_ENV_DIR%" set PATH=%INSTALL_ENV_DIR%;%INSTALL_ENV_DIR%\Library\bin;%INSTALL_ENV_DIR%\Scripts;%INSTALL_ENV_DIR%\Library\usr\bin;%PATH% +set RELEASE_URL=https://github.com/invoke-ai/InvokeAI +set RELEASE_SOURCEBALL=/archive/refs/heads/v2.1.3.tar.gz +set PYTHON_BUILD_STANDALONE_URL=https://github.com/indygreg/python-build-standalone/releases/download +set PYTHON_BUILD_STANDALONE=20221002/cpython-3.10.7+20221002-x86_64-pc-windows-msvc-shared-install_only.tar.gz set PACKAGES_TO_INSTALL= -call conda --version >.tmp1 2>.tmp2 -if "%ERRORLEVEL%" NEQ "0" set PACKAGES_TO_INSTALL=%PACKAGES_TO_INSTALL% conda - call git --version >.tmp1 2>.tmp2 if "%ERRORLEVEL%" NEQ "0" set PACKAGES_TO_INSTALL=%PACKAGES_TO_INSTALL% git -call "%MAMBA_ROOT_PREFIX%\micromamba.exe" --version >.tmp1 2>.tmp2 -if "%ERRORLEVEL%" EQU "0" set umamba_exists=T +@rem Cleanup +del /q .tmp1 .tmp2 -@rem (if necessary) install git and conda into a contained environment +@rem (if necessary) install git into a contained environment if "%PACKAGES_TO_INSTALL%" NEQ "" ( @rem download micromamba - if "%umamba_exists%" == "F" ( - echo "Downloading micromamba from %MICROMAMBA_DOWNLOAD_URL% to %MAMBA_ROOT_PREFIX%\micromamba.exe" + echo ***** Downloading micromamba from %MICROMAMBA_DOWNLOAD_URL% to micromamba.exe ***** - mkdir "%MAMBA_ROOT_PREFIX%" - call curl -L "%MICROMAMBA_DOWNLOAD_URL%" > "%MAMBA_ROOT_PREFIX%\micromamba.exe" + call curl -L "%MICROMAMBA_DOWNLOAD_URL%" > micromamba.exe - @rem test the mamba binary - echo Micromamba version: - call "%MAMBA_ROOT_PREFIX%\micromamba.exe" --version - ) + @rem test the mamba binary + echo ***** Micromamba version: ***** + call micromamba.exe --version @rem create the installer env if not exist "%INSTALL_ENV_DIR%" ( - call "%MAMBA_ROOT_PREFIX%\micromamba.exe" create -y --prefix "%INSTALL_ENV_DIR%" + call micromamba.exe create -y --prefix "%INSTALL_ENV_DIR%" ) - echo "Packages to install:%PACKAGES_TO_INSTALL%" + echo ***** Packages to install:%PACKAGES_TO_INSTALL% ***** - call "%MAMBA_ROOT_PREFIX%\micromamba.exe" install -y --prefix "%INSTALL_ENV_DIR%" -c conda-forge %PACKAGES_TO_INSTALL% + call micromamba.exe install -y --prefix "%INSTALL_ENV_DIR%" -c conda-forge %PACKAGES_TO_INSTALL% if not exist "%INSTALL_ENV_DIR%" ( - echo "There was a problem while installing%PACKAGES_TO_INSTALL% using micromamba. Cannot continue." + echo ----- There was a problem while installing "%PACKAGES_TO_INSTALL%" using micromamba. Cannot continue. ----- pause exit /b ) ) -set PATH=%INSTALL_ENV_DIR%;%INSTALL_ENV_DIR%\Library\bin;%INSTALL_ENV_DIR%\Scripts;%INSTALL_ENV_DIR%\Library\usr\bin;%PATH% +del /q micromamba.exe -@rem get the repo (and load into the current directory) -if not exist ".git" ( - call git config --global init.defaultBranch main - call git init - call git remote add origin %REPO_URL% - call git fetch -# call git checkout origin/main -ft - call git checkout origin/release-candidate-2-1 -ft -) +@rem For 'git' only +set PATH=%INSTALL_ENV_DIR%\Library\bin;%PATH% -@rem activate the base env -call conda activate +@rem Download/unpack/clean up InvokeAI release sourceball +set err_msg=----- InvokeAI source download failed ----- +curl -L %RELEASE_URL%/%RELEASE_SOURCEBALL% --output InvokeAI.tgz +if %errorlevel% neq 0 goto err_exit -@rem create the environment -call conda env remove -n invokeai -call conda env create -if "%ERRORLEVEL%" NEQ "0" ( - echo "" - echo "Something went wrong while installing Python libraries and cannot continue. - echo "Please visit https://invoke-ai.github.io/InvokeAI/#installation for alternative" - echo "installation methods." - echo "Press any key to continue" - pause - exit /b -) +set err_msg=----- InvokeAI source unpack failed ----- +tar -zxf InvokeAI.tgz +if %errorlevel% neq 0 goto err_exit + +del /q InvokeAI.tgz + +set err_msg=----- InvokeAI source copy failed ----- +cd InvokeAI-* +xcopy . .. /e /h +if %errorlevel% neq 0 goto err_exit +cd .. + +@rem cleanup +for /f %%i in ('dir /b InvokeAI-*') do rd /s /q %%i +rd /s /q .dev_scripts .github docker-build tests +del /q requirements.in requirements-mkdocs.txt shell.nix + +echo ***** Unpacked InvokeAI source ***** + +@rem Download/unpack/clean up python-build-standalone +set err_msg=----- Python download failed ----- +curl -L %PYTHON_BUILD_STANDALONE_URL%/%PYTHON_BUILD_STANDALONE% --output python.tgz +if %errorlevel% neq 0 goto err_exit + +set err_msg=----- Python unpack failed ----- +tar -zxf python.tgz +if %errorlevel% neq 0 goto err_exit + +del /q python.tgz + +echo ***** Unpacked python-build-standalone ***** + +@rem create venv +set err_msg=----- problem creating venv ----- +.\python\python -E -s -m venv .venv +@rem In reality, the following is ALL that 'activate.bat' does, +@rem aside from setting the prompt, which we don't care about +set PYTHONPATH= +set PATH=.venv\Scripts;%PATH% +if %errorlevel% neq 0 goto err_exit + +echo ***** Created Python virtual environment ***** + +@rem Print venv's Python version +set err_msg=----- problem calling venv's python ----- +echo We're running under +.venv\Scripts\python --version +if %errorlevel% neq 0 goto err_exit + +set err_msg=----- pip update failed ----- +.venv\Scripts\python -m pip install --no-cache-dir --no-warn-script-location --upgrade pip +if %errorlevel% neq 0 goto err_exit + +echo ***** Updated pip ***** + +set err_msg=----- requirements file copy failed ----- +copy installer\py3.10-windows-x86_64-cuda-reqs.txt requirements.txt +if %errorlevel% neq 0 goto err_exit + +set err_msg=----- main pip install failed ----- +.venv\Scripts\python -m pip install --no-cache-dir --no-warn-script-location -r requirements.txt +if %errorlevel% neq 0 goto err_exit + +set err_msg=----- clipseg install failed ----- +.venv\Scripts\python -m pip install --no-cache-dir --no-warn-script-location git+https://github.com/invoke-ai/clipseg.git@relaxed-python-requirement#egg=clipseg +if %errorlevel% neq 0 goto err_exit + +set err_msg=----- InvokeAI setup failed ----- +.venv\Scripts\python -m pip install --no-cache-dir --no-warn-script-location -e . +if %errorlevel% neq 0 goto err_exit + +echo ***** Installed Python dependencies ***** -call conda activate invokeai @rem preload the models -call python scripts\preload_models.py -if "%ERRORLEVEL%" NEQ "0" ( - echo "" - echo "The preload_models.py script crashed or was cancelled." - echo "InvokeAI is not ready to run. To run preload_models.py again," - echo "run the command 'update.bat' in this directory." - echo "Press any key to continue" - pause - exit /b -) +call .venv\Scripts\python scripts\preload_models.py +set err_msg=----- model download clone failed ----- +if %errorlevel% neq 0 goto err_exit + +echo ***** Finished downloading models ***** + +echo ***** Installing invoke.bat ****** +copy installer\invoke.bat .\invoke.bat +echo All done! Execute the file invoke.bat in this directory to start InvokeAI + +@rem more cleanup +rd /s /q installer installer_files -@rem tell the user their next steps -echo "" -echo "* InvokeAI installed successfully *" -echo "You can now start generating images by double-clicking the 'invoke.bat' file (inside this folder) -echo "Press any key to continue" pause -exit 0 +exit +:err_exit + echo %err_msg% + pause + exit diff --git a/installer/install.sh b/installer/install.sh index 96ee9c9c25..c104b2e80d 100755 --- a/installer/install.sh +++ b/installer/install.sh @@ -1,130 +1,211 @@ -#!/bin/bash +#!/usr/bin/env bash -# This script will install git and conda (if not found on the PATH variable) +set -euo pipefail +IFS=$'\n\t' + +function _err_exit { + if test "$1" -ne 0 + then + echo -e "Error code $1; Error caught was '$2'" + read -p "Press any key to exit..." + exit + fi +} + +# This script will install git (if not found on the PATH variable) # using micromamba (an 8mb static-linked single-file binary, conda replacement). -# For users who already have git and conda, this step will be skipped. +# For users who already have git, this step will be skipped. -# Next, it'll checkout the project's git repo, if necessary. -# Finally, it'll create the conda environment and preload the models. +# Next, it'll download the project's source code. +# Then it will download a self-contained, standalone Python and unpack it. +# Finally, it'll create the Python virtual environment and preload the models. -# This enables a user to install this project without manually installing conda and git. +# This enables a user to install this project without manually installing git or Python -cd "$(dirname "${BASH_SOURCE[0]}")" +echo -e "\n***** Installing InvokeAI... *****\n" -echo "Installing InvokeAI.." -echo "" OS_NAME=$(uname -s) case "${OS_NAME}" in Linux*) OS_NAME="linux";; - Darwin*) OS_NAME="mac";; - *) echo "Unknown OS: $OS_NAME! This script runs only on Linux or Mac" && exit + Darwin*) OS_NAME="darwin";; + *) echo -e "\n----- Unknown OS: $OS_NAME! This script runs only on Linux or MacOS -----\n" && exit esac OS_ARCH=$(uname -m) case "${OS_ARCH}" in - x86_64*) OS_ARCH="64";; - arm64*) OS_ARCH="arm64";; - *) echo "Unknown system architecture: $OS_ARCH! This script runs only on x86_64 or arm64" && exit + x86_64*) ;; + arm64*) ;; + *) echo -e "\n----- Unknown system architecture: $OS_ARCH! This script runs only on x86_64 or arm64 -----\n" && exit esac # https://mamba.readthedocs.io/en/latest/installation.html -if [ "$OS_NAME" == "linux" ] && [ "$OS_ARCH" == "arm64" ]; then OS_ARCH="aarch64"; fi +MAMBA_OS_NAME=$OS_NAME +MAMBA_ARCH=$OS_ARCH +if [ "$OS_NAME" == "darwin" ]; then + MAMBA_OS_NAME="osx" +fi + +if [ "$OS_ARCH" == "linux" ]; then + MAMBA_ARCH="aarch64" +fi + +if [ "$OS_ARCH" == "x86_64" ]; then + MAMBA_ARCH="64" +fi + +PY_ARCH=$OS_ARCH +if [ "$OS_ARCH" == "arm64" ]; then + PY_ARCH="aarch64" +fi + +# Compute device ('cd' segment of reqs files) detect goes here +# This needs a ton of work +# Suggestions: +# - lspci +# - check $PATH for nvidia-smi, gtt CUDA/GPU version from output +# - Surely there's a similar utility for AMD? +CD="cuda" +if [ "$OS_NAME" == "darwin" ] && [ "$OS_ARCH" == "arm64" ]; then + CD="mps" +fi # config -export MAMBA_ROOT_PREFIX="$(pwd)/installer_files/mamba" INSTALL_ENV_DIR="$(pwd)/installer_files/env" -MICROMAMBA_DOWNLOAD_URL="https://micro.mamba.pm/api/micromamba/${OS_NAME}-${OS_ARCH}/latest" -REPO_URL="https://github.com/invoke-ai/InvokeAI.git" -umamba_exists="F" - -# figure out whether git and conda needs to be installed -if [ -e "$INSTALL_ENV_DIR" ]; then export PATH="$INSTALL_ENV_DIR/bin:$PATH"; fi +MICROMAMBA_DOWNLOAD_URL="https://micro.mamba.pm/api/micromamba/${MAMBA_OS_NAME}-${MAMBA_ARCH}/latest" +RELEASE_URL=https://github.com/invoke-ai/InvokeAI +RELEASE_SOURCEBALL=/archive/refs/heads/v2.1.3.tar.gz +PYTHON_BUILD_STANDALONE_URL=https://github.com/indygreg/python-build-standalone/releases/download +if [ "$OS_NAME" == "darwin" ]; then + PYTHON_BUILD_STANDALONE=20221002/cpython-3.10.7+20221002-${PY_ARCH}-apple-darwin-install_only.tar.gz +elif [ "$OS_NAME" == "linux" ]; then + PYTHON_BUILD_STANDALONE=20221002/cpython-3.10.7+20221002-${PY_ARCH}-unknown-linux-gnu-install_only.tar.gz +fi PACKAGES_TO_INSTALL="" -if ! hash "conda" &>/dev/null; then PACKAGES_TO_INSTALL="$PACKAGES_TO_INSTALL conda"; fi if ! hash "git" &>/dev/null; then PACKAGES_TO_INSTALL="$PACKAGES_TO_INSTALL git"; fi -if "$MAMBA_ROOT_PREFIX/micromamba" --version &>/dev/null; then umamba_exists="T"; fi - # (if necessary) install git and conda into a contained environment if [ "$PACKAGES_TO_INSTALL" != "" ]; then # download micromamba - if [ "$umamba_exists" == "F" ]; then - echo "Downloading micromamba from $MICROMAMBA_DOWNLOAD_URL to $MAMBA_ROOT_PREFIX/micromamba" + echo -e "\n***** Downloading micromamba from $MICROMAMBA_DOWNLOAD_URL to micromamba *****\n" - mkdir -p "$MAMBA_ROOT_PREFIX" - curl -L "$MICROMAMBA_DOWNLOAD_URL" | tar -xvj bin/micromamba -O > "$MAMBA_ROOT_PREFIX/micromamba" + curl -L "$MICROMAMBA_DOWNLOAD_URL" | tar -xvj bin/micromamba -O > micromamba - chmod u+x "$MAMBA_ROOT_PREFIX/micromamba" + chmod u+x "micromamba" - # test the mamba binary - echo "Micromamba version:" - "$MAMBA_ROOT_PREFIX/micromamba" --version - fi + # test the mamba binary + echo -e "\n***** Micromamba version: *****\n" + "micromamba" --version # create the installer env if [ ! -e "$INSTALL_ENV_DIR" ]; then - "$MAMBA_ROOT_PREFIX/micromamba" create -y --prefix "$INSTALL_ENV_DIR" + "micromamba" create -y --prefix "$INSTALL_ENV_DIR" fi - echo "Packages to install:$PACKAGES_TO_INSTALL" + echo -e "\n***** Packages to install:$PACKAGES_TO_INSTALL *****\n" - "$MAMBA_ROOT_PREFIX/micromamba" install -y --prefix "$INSTALL_ENV_DIR" -c conda-forge $PACKAGES_TO_INSTALL + "micromamba" install -y --prefix "$INSTALL_ENV_DIR" -c conda-forge $PACKAGES_TO_INSTALL if [ ! -e "$INSTALL_ENV_DIR" ]; then - echo "There was a problem while initializing micromamba. Cannot continue." + echo -e "\n----- There was a problem while initializing micromamba. Cannot continue. -----\n" exit fi fi -if [ -e "$INSTALL_ENV_DIR" ]; then export PATH="$INSTALL_ENV_DIR/bin:$PATH"; fi +rm -f micromamba.exe -# get the repo (and load into the current directory) -if [ ! -e ".git" ]; then - git config --global init.defaultBranch main - git init - git remote add origin "$REPO_URL" - git fetch - git checkout origin/release-candidate-2-1 -ft -fi +export PATH="$INSTALL_ENV_DIR/bin:$PATH" -# create the environment -CONDA_BASEPATH=$(conda info --base) -source "$CONDA_BASEPATH/etc/profile.d/conda.sh" # otherwise conda complains about 'shell not initialized' (needed when running in a script) +# Download/unpack/clean up InvokeAI release sourceball +_err_msg="\n----- InvokeAI source download failed -----\n" +curl -L $RELEASE_URL/$RELEASE_SOURCEBALL --output InvokeAI.tgz +_err_exit $? _err_msg +_err_msg="\n----- InvokeAI source unpack failed -----\n" +tar -zxf InvokeAI.tgz +_err_exit $? _err_msg -conda activate +rm -f InvokeAI.tgz -if [ "$OS_NAME" == "mac" ]; then - PIP_EXISTS_ACTION=w CONDA_SUBDIR=osx-${OS_ARCH} conda env create -f environment-mac.yml -else - conda env remove -n invokeai - conda env create -f environment.yml -fi +_err_msg="\n----- InvokeAI source copy failed -----\n" +cd InvokeAI-* +cp -r . .. +_err_exit $? _err_msg +cd .. -status=$? +# cleanup +rm -rf InvokeAI-*/ +rm -rf .dev_scripts/ .github/ docker-build/ tests/ requirements.in requirements-mkdocs.txt shell.nix -if test $status -ne 0 -then - echo "Something went wrong while installing Python libraries and cannot continue." - echo "Please visit https://invoke-ai.github.io/InvokeAI/#installation for alternative" - echo "installation methods" -else - conda activate invokeai - # preload the models - echo "Calling the preload_models.py script" - python scripts/preload_models.py - status=$? - if test $status -ne 0 - then - echo "The preload_models.py script crashed or was cancelled." - echo "InvokeAI is not ready to run. Try again by running" - echo "update.sh in this directory." - else - # tell the user their next steps - echo "You can now start generating images by running invoke.sh (inside this folder), using ./invoke.sh" - fi -fi +echo -e "\n***** Unpacked InvokeAI source *****\n" -conda activate invokeai +# Download/unpack/clean up python-build-standalone +_err_msg="\n----- Python download failed -----\n" +curl -L $PYTHON_BUILD_STANDALONE_URL/$PYTHON_BUILD_STANDALONE --output python.tgz +_err_exit $? _err_msg +_err_msg="\n----- Python unpack failed -----\n" +tar -zxf python.tgz +_err_exit $? _err_msg + +rm -f python.tgz + +echo -e "\n***** Unpacked python-build-standalone *****\n" + +# create venv +_err_msg="\n----- problem creating venv -----\n" +./python/bin/python3 -E -s -m venv .venv +_err_exit $? _err_msg +# In reality, the following is ALL that 'activate.bat' does, +# aside from setting the prompt, which we don't care about +export PYTHONPATH= +export PATH=.venv/bin:$PATH + +echo -e "\n***** Created Python virtual environment *****\n" + +# Print venv's Python version +_err_msg="\n----- problem calling venv's python -----\n" +echo -e "We're running under" +.venv/bin/python3 --version +_err_exit $? _err_msg + +_err_msg="\n----- pip update failed -----\n" +.venv/bin/python3 -m pip install --no-cache-dir --no-warn-script-location --upgrade pip +_err_exit $? _err_msg + +echo -e "\n***** Updated pip *****\n" + +_err_msg="\n----- requirements file copy failed -----\n" +cp installer/py3.10-${OS_NAME}-"${OS_ARCH}"-${CD}-reqs.txt requirements.txt +_err_exit $? _err_msg + +_err_msg="\n----- main pip install failed -----\n" +.venv/bin/python3 -m pip install --no-cache-dir --no-warn-script-location -r requirements.txt +_err_exit $? _err_msg + +_err_msg="\n----- clipseg install failed -----\n" +.venv/bin/python3 -m pip install --no-cache-dir --no-warn-script-location git+https://github.com/invoke-ai/clipseg.git@relaxed-python-requirement#egg=clipseg +_err_exit $? _err_msg + +_err_msg="\n----- InvokeAI setup failed -----\n" +.venv/bin/python3 -m pip install --no-cache-dir --no-warn-script-location -e . +_err_exit $? _err_msg + +echo -e "\n***** Installed Python dependencies *****\n" + +# preload the models +.venv/bin/python3 scripts/preload_models.py +_err_msg="\n----- model download clone failed -----\n" +_err_exit $? _err_msg + +echo -e "\n***** Finished downloading models *****\n" + +echo -e "\n***** Installing invoke.sh ******\n" +cp installer/invoke.sh . + +# more cleanup +rm -rf installer/ installer_files/ + +echo "All done! Run the command './invoke.sh' to start InvokeAI." +read -p "Press any key to exit..." +exit diff --git a/installer/invoke.bat b/installer/invoke.bat new file mode 100644 index 0000000000..c00975fd3b --- /dev/null +++ b/installer/invoke.bat @@ -0,0 +1,27 @@ +@echo off + +set PATH=c:\windows\system32 +set PATH=.venv\Scripts;%PATH% + +echo Do you want to generate images using the +echo 1. command-line +echo 2. browser-based UI +echo 3. open the developer console +set /P restore="Please enter 1, 2 or 3: " +IF /I "%restore%" == "1" ( + echo Starting the InvokeAI command-line.. + .venv\Scripts\python scripts\invoke.py +) ELSE IF /I "%restore%" == "2" ( + echo Starting the InvokeAI browser-based UI.. + .venv\Scripts\python scripts\invoke.py --web +) ELSE IF /I "%restore%" == "3" ( + echo Developer Console + call where python + call python --version + + cmd /k +) ELSE ( + echo Invalid selection + pause + exit /b +) diff --git a/installer/invoke.sh b/installer/invoke.sh new file mode 100755 index 0000000000..58f342d471 --- /dev/null +++ b/installer/invoke.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +set -euo pipefail +IFS=$'\n\t' + +PATH=.venv/scripts:$PATH + +if [ "$0" != "bash" ]; then + echo "Do you want to generate images using the" + echo "1. command-line" + echo "2. browser-based UI" + echo "3. open the developer console" + read -p "Please enter 1, 2, or 3: " yn + case $yn in + 1 ) printf "\nStarting the InvokeAI command-line..\n"; .venv/bin/python scripts/invoke.py;; + 2 ) printf "\nStarting the InvokeAI browser-based UI..\n"; .venv/bin/python scripts/invoke.py --web;; + 3 ) printf "\nDeveloper Console:\n"; file_name=$(basename "${BASH_SOURCE[0]}"); bash --init-file "$file_name";; + * ) echo "Invalid selection"; exit;; + esac +else # in developer console + python --version + echo "Press ^D to exit" + export PS1="(InvokeAI) \u@\h \w> " +fi diff --git a/installer/py3.10-darwin-arm64-mps-reqs.txt b/installer/py3.10-darwin-arm64-mps-reqs.txt new file mode 100644 index 0000000000..116f67ded1 --- /dev/null +++ b/installer/py3.10-darwin-arm64-mps-reqs.txt @@ -0,0 +1,2069 @@ +# +# This file is autogenerated by pip-compile with python 3.10 +# To update, run: +# +# pip-compile --allow-unsafe --generate-hashes --output-file=installer/py3.10-darwin-arm64-mps-reqs.txt requirements.in +# +--extra-index-url https://download.pytorch.org/whl/cu116 +--trusted-host https + +absl-py==1.3.0 \ + --hash=sha256:34995df9bd7a09b3b8749e230408f5a2a2dd7a68a0d33c12a3d0cb15a041a507 \ + --hash=sha256:463c38a08d2e4cef6c498b76ba5bd4858e4c6ef51da1a5a1f27139a022e20248 + # via + # tb-nightly + # tensorboard +accelerate==0.13.2 \ + --hash=sha256:dd6f08b010077f252dda5a7699d87b02885335c456770939c536e65ff07ed760 \ + --hash=sha256:e22180d7094e4c1bfb05a2b078297c222f6b4fa595fde8916946c3f377cdf019 + # via k-diffusion +addict==2.4.0 \ + --hash=sha256:249bb56bbfd3cdc2a004ea0ff4c2b6ddc84d53bc2194761636eb314d5cfa5dfc \ + --hash=sha256:b3b2210e0e067a281f5646c8c5db92e99b7231ea8b0eb5f74dbdf9e259d4e494 + # via basicsr +aiohttp==3.8.3 \ + --hash=sha256:02f9a2c72fc95d59b881cf38a4b2be9381b9527f9d328771e90f72ac76f31ad8 \ + --hash=sha256:059a91e88f2c00fe40aed9031b3606c3f311414f86a90d696dd982e7aec48142 \ + --hash=sha256:05a3c31c6d7cd08c149e50dc7aa2568317f5844acd745621983380597f027a18 \ + --hash=sha256:08c78317e950e0762c2983f4dd58dc5e6c9ff75c8a0efeae299d363d439c8e34 \ + --hash=sha256:09e28f572b21642128ef31f4e8372adb6888846f32fecb288c8b0457597ba61a \ + --hash=sha256:0d2c6d8c6872df4a6ec37d2ede71eff62395b9e337b4e18efd2177de883a5033 \ + --hash=sha256:16c121ba0b1ec2b44b73e3a8a171c4f999b33929cd2397124a8c7fcfc8cd9e06 \ + --hash=sha256:1d90043c1882067f1bd26196d5d2db9aa6d268def3293ed5fb317e13c9413ea4 \ + --hash=sha256:1e56b9cafcd6531bab5d9b2e890bb4937f4165109fe98e2b98ef0dcfcb06ee9d \ + --hash=sha256:20acae4f268317bb975671e375493dbdbc67cddb5f6c71eebdb85b34444ac46b \ + --hash=sha256:21b30885a63c3f4ff5b77a5d6caf008b037cb521a5f33eab445dc566f6d092cc \ + --hash=sha256:21d69797eb951f155026651f7e9362877334508d39c2fc37bd04ff55b2007091 \ + --hash=sha256:256deb4b29fe5e47893fa32e1de2d73c3afe7407738bd3c63829874661d4822d \ + --hash=sha256:25892c92bee6d9449ffac82c2fe257f3a6f297792cdb18ad784737d61e7a9a85 \ + --hash=sha256:2ca9af5f8f5812d475c5259393f52d712f6d5f0d7fdad9acdb1107dd9e3cb7eb \ + --hash=sha256:2d252771fc85e0cf8da0b823157962d70639e63cb9b578b1dec9868dd1f4f937 \ + --hash=sha256:2dea10edfa1a54098703cb7acaa665c07b4e7568472a47f4e64e6319d3821ccf \ + --hash=sha256:2df5f139233060578d8c2c975128fb231a89ca0a462b35d4b5fcf7c501ebdbe1 \ + --hash=sha256:2feebbb6074cdbd1ac276dbd737b40e890a1361b3cc30b74ac2f5e24aab41f7b \ + --hash=sha256:309aa21c1d54b8ef0723181d430347d7452daaff93e8e2363db8e75c72c2fb2d \ + --hash=sha256:3828fb41b7203176b82fe5d699e0d845435f2374750a44b480ea6b930f6be269 \ + --hash=sha256:398701865e7a9565d49189f6c90868efaca21be65c725fc87fc305906be915da \ + --hash=sha256:43046a319664a04b146f81b40e1545d4c8ac7b7dd04c47e40bf09f65f2437346 \ + --hash=sha256:437399385f2abcd634865705bdc180c8314124b98299d54fe1d4c8990f2f9494 \ + --hash=sha256:45d88b016c849d74ebc6f2b6e8bc17cabf26e7e40c0661ddd8fae4c00f015697 \ + --hash=sha256:47841407cc89a4b80b0c52276f3cc8138bbbfba4b179ee3acbd7d77ae33f7ac4 \ + --hash=sha256:4a4fbc769ea9b6bd97f4ad0b430a6807f92f0e5eb020f1e42ece59f3ecfc4585 \ + --hash=sha256:4ab94426ddb1ecc6a0b601d832d5d9d421820989b8caa929114811369673235c \ + --hash=sha256:4b0f30372cef3fdc262f33d06e7b411cd59058ce9174ef159ad938c4a34a89da \ + --hash=sha256:4e3a23ec214e95c9fe85a58470b660efe6534b83e6cbe38b3ed52b053d7cb6ad \ + --hash=sha256:512bd5ab136b8dc0ffe3fdf2dfb0c4b4f49c8577f6cae55dca862cd37a4564e2 \ + --hash=sha256:527b3b87b24844ea7865284aabfab08eb0faf599b385b03c2aa91fc6edd6e4b6 \ + --hash=sha256:54d107c89a3ebcd13228278d68f1436d3f33f2dd2af5415e3feaeb1156e1a62c \ + --hash=sha256:5835f258ca9f7c455493a57ee707b76d2d9634d84d5d7f62e77be984ea80b849 \ + --hash=sha256:598adde339d2cf7d67beaccda3f2ce7c57b3b412702f29c946708f69cf8222aa \ + --hash=sha256:599418aaaf88a6d02a8c515e656f6faf3d10618d3dd95866eb4436520096c84b \ + --hash=sha256:5bf651afd22d5f0c4be16cf39d0482ea494f5c88f03e75e5fef3a85177fecdeb \ + --hash=sha256:5c59fcd80b9049b49acd29bd3598cada4afc8d8d69bd4160cd613246912535d7 \ + --hash=sha256:653acc3880459f82a65e27bd6526e47ddf19e643457d36a2250b85b41a564715 \ + --hash=sha256:66bd5f950344fb2b3dbdd421aaa4e84f4411a1a13fca3aeb2bcbe667f80c9f76 \ + --hash=sha256:6f3553510abdbec67c043ca85727396ceed1272eef029b050677046d3387be8d \ + --hash=sha256:7018ecc5fe97027214556afbc7c502fbd718d0740e87eb1217b17efd05b3d276 \ + --hash=sha256:713d22cd9643ba9025d33c4af43943c7a1eb8547729228de18d3e02e278472b6 \ + --hash=sha256:73a4131962e6d91109bca6536416aa067cf6c4efb871975df734f8d2fd821b37 \ + --hash=sha256:75880ed07be39beff1881d81e4a907cafb802f306efd6d2d15f2b3c69935f6fb \ + --hash=sha256:75e14eac916f024305db517e00a9252714fce0abcb10ad327fb6dcdc0d060f1d \ + --hash=sha256:8135fa153a20d82ffb64f70a1b5c2738684afa197839b34cc3e3c72fa88d302c \ + --hash=sha256:84b14f36e85295fe69c6b9789b51a0903b774046d5f7df538176516c3e422446 \ + --hash=sha256:86fc24e58ecb32aee09f864cb11bb91bc4c1086615001647dbfc4dc8c32f4008 \ + --hash=sha256:87f44875f2804bc0511a69ce44a9595d5944837a62caecc8490bbdb0e18b1342 \ + --hash=sha256:88c70ed9da9963d5496d38320160e8eb7e5f1886f9290475a881db12f351ab5d \ + --hash=sha256:88e5be56c231981428f4f506c68b6a46fa25c4123a2e86d156c58a8369d31ab7 \ + --hash=sha256:89d2e02167fa95172c017732ed7725bc8523c598757f08d13c5acca308e1a061 \ + --hash=sha256:8d6aaa4e7155afaf994d7924eb290abbe81a6905b303d8cb61310a2aba1c68ba \ + --hash=sha256:92a2964319d359f494f16011e23434f6f8ef0434acd3cf154a6b7bec511e2fb7 \ + --hash=sha256:96372fc29471646b9b106ee918c8eeb4cca423fcbf9a34daa1b93767a88a2290 \ + --hash=sha256:978b046ca728073070e9abc074b6299ebf3501e8dee5e26efacb13cec2b2dea0 \ + --hash=sha256:9c7149272fb5834fc186328e2c1fa01dda3e1fa940ce18fded6d412e8f2cf76d \ + --hash=sha256:a0239da9fbafd9ff82fd67c16704a7d1bccf0d107a300e790587ad05547681c8 \ + --hash=sha256:ad5383a67514e8e76906a06741febd9126fc7c7ff0f599d6fcce3e82b80d026f \ + --hash=sha256:ad61a9639792fd790523ba072c0555cd6be5a0baf03a49a5dd8cfcf20d56df48 \ + --hash=sha256:b29bfd650ed8e148f9c515474a6ef0ba1090b7a8faeee26b74a8ff3b33617502 \ + --hash=sha256:b97decbb3372d4b69e4d4c8117f44632551c692bb1361b356a02b97b69e18a62 \ + --hash=sha256:ba71c9b4dcbb16212f334126cc3d8beb6af377f6703d9dc2d9fb3874fd667ee9 \ + --hash=sha256:c37c5cce780349d4d51739ae682dec63573847a2a8dcb44381b174c3d9c8d403 \ + --hash=sha256:c971bf3786b5fad82ce5ad570dc6ee420f5b12527157929e830f51c55dc8af77 \ + --hash=sha256:d1fde0f44029e02d02d3993ad55ce93ead9bb9b15c6b7ccd580f90bd7e3de476 \ + --hash=sha256:d24b8bb40d5c61ef2d9b6a8f4528c2f17f1c5d2d31fed62ec860f6006142e83e \ + --hash=sha256:d5ba88df9aa5e2f806650fcbeedbe4f6e8736e92fc0e73b0400538fd25a4dd96 \ + --hash=sha256:d6f76310355e9fae637c3162936e9504b4767d5c52ca268331e2756e54fd4ca5 \ + --hash=sha256:d737fc67b9a970f3234754974531dc9afeea11c70791dcb7db53b0cf81b79784 \ + --hash=sha256:da22885266bbfb3f78218dc40205fed2671909fbd0720aedba39b4515c038091 \ + --hash=sha256:da37dcfbf4b7f45d80ee386a5f81122501ec75672f475da34784196690762f4b \ + --hash=sha256:db19d60d846283ee275d0416e2a23493f4e6b6028825b51290ac05afc87a6f97 \ + --hash=sha256:db4c979b0b3e0fa7e9e69ecd11b2b3174c6963cebadeecfb7ad24532ffcdd11a \ + --hash=sha256:e164e0a98e92d06da343d17d4e9c4da4654f4a4588a20d6c73548a29f176abe2 \ + --hash=sha256:e168a7560b7c61342ae0412997b069753f27ac4862ec7867eff74f0fe4ea2ad9 \ + --hash=sha256:e381581b37db1db7597b62a2e6b8b57c3deec95d93b6d6407c5b61ddc98aca6d \ + --hash=sha256:e65bc19919c910127c06759a63747ebe14f386cda573d95bcc62b427ca1afc73 \ + --hash=sha256:e7b8813be97cab8cb52b1375f41f8e6804f6507fe4660152e8ca5c48f0436017 \ + --hash=sha256:e8a78079d9a39ca9ca99a8b0ac2fdc0c4d25fc80c8a8a82e5c8211509c523363 \ + --hash=sha256:ebf909ea0a3fc9596e40d55d8000702a85e27fd578ff41a5500f68f20fd32e6c \ + --hash=sha256:ec40170327d4a404b0d91855d41bfe1fe4b699222b2b93e3d833a27330a87a6d \ + --hash=sha256:f178d2aadf0166be4df834c4953da2d7eef24719e8aec9a65289483eeea9d618 \ + --hash=sha256:f88df3a83cf9df566f171adba39d5bd52814ac0b94778d2448652fc77f9eb491 \ + --hash=sha256:f973157ffeab5459eefe7b97a804987876dd0a55570b8fa56b4e1954bf11329b \ + --hash=sha256:ff25f48fc8e623d95eca0670b8cc1469a83783c924a602e0fbd47363bb54aaca + # via fsspec +aiosignal==1.2.0 \ + --hash=sha256:26e62109036cd181df6e6ad646f91f0dcfd05fe16d0cb924138ff2ab75d64e3a \ + --hash=sha256:78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2 + # via aiohttp +albumentations==1.3.0 \ + --hash=sha256:294165d87d03bc8323e484927f0a5c1a3c64b0e7b9c32a979582a6c93c363bdf \ + --hash=sha256:be1af36832c8893314f2a5550e8ac19801e04770734c1b70fa3c996b41f37bed + # via -r requirements.in +altair==4.2.0 \ + --hash=sha256:0c724848ae53410c13fa28be2b3b9a9dcb7b5caa1a70f7f217bd663bb419935a \ + --hash=sha256:d87d9372e63b48cd96b2a6415f0cf9457f50162ab79dc7a31cd7e024dd840026 + # via streamlit +antlr4-python3-runtime==4.9.3 \ + --hash=sha256:f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b + # via omegaconf +async-timeout==4.0.2 \ + --hash=sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15 \ + --hash=sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c + # via aiohttp +attrs==22.1.0 \ + --hash=sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6 \ + --hash=sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c + # via + # aiohttp + # jsonschema +basicsr==1.4.2 \ + --hash=sha256:b89b595a87ef964cda9913b4d99380ddb6554c965577c0c10cb7b78e31301e87 + # via + # gfpgan + # realesrgan +bidict==0.22.0 \ + --hash=sha256:415126d23a0c81e1a8c584a8fb1f6905ea090c772571803aeee0a2242e8e7ba0 \ + --hash=sha256:5c826b3e15e97cc6e615de295756847c282a79b79c5430d3bfc909b1ac9f5bd8 + # via python-socketio +blinker==1.5 \ + --hash=sha256:1eb563df6fdbc39eeddc177d953203f99f097e9bf0e2b8f9f3cf18b6ca425e36 \ + --hash=sha256:923e5e2f69c155f2cc42dafbbd70e16e3fde24d2d4aa2ab72fbe386238892462 + # via streamlit +cachetools==5.2.0 \ + --hash=sha256:6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757 \ + --hash=sha256:f9f17d2aec496a9aa6b76f53e3b614c965223c061982d434d160f930c698a9db + # via + # google-auth + # streamlit +certifi==2022.9.24 \ + --hash=sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14 \ + --hash=sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382 + # via + # requests + # sentry-sdk +chardet==4.0.0 \ + --hash=sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa \ + --hash=sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5 + # via requests +charset-normalizer==2.1.1 \ + --hash=sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845 \ + --hash=sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f + # via aiohttp +clean-fid==0.1.34 \ + --hash=sha256:2997f85a67a28c95adaae7899a33fc10537164fef4cdd424e3257bffad79a901 + # via k-diffusion +click==8.1.3 \ + --hash=sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e \ + --hash=sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48 + # via + # flask + # streamlit + # wandb +clip @ https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip \ + --hash=sha256:b5842c25da441d6c581b53a5c60e0c2127ebafe0f746f8e15561a006c6c3be6a + # via -r requirements.in +colorama==0.4.6 \ + --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ + --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 + # via + # click + # tqdm +commonmark==0.9.1 \ + --hash=sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60 \ + --hash=sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9 + # via rich +contourpy==1.0.6 \ + --hash=sha256:0236875c5a0784215b49d00ebbe80c5b6b5d5244b3655a36dda88105334dea17 \ + --hash=sha256:03d1b9c6b44a9e30d554654c72be89af94fab7510b4b9f62356c64c81cec8b7d \ + --hash=sha256:0537cc1195245bbe24f2913d1f9211b8f04eb203de9044630abd3664c6cc339c \ + --hash=sha256:06ca79e1efbbe2df795822df2fa173d1a2b38b6e0f047a0ec7903fbca1d1847e \ + --hash=sha256:08e8d09d96219ace6cb596506fb9b64ea5f270b2fb9121158b976d88871fcfd1 \ + --hash=sha256:0b1e66346acfb17694d46175a0cea7d9036f12ed0c31dfe86f0f405eedde2bdd \ + --hash=sha256:0b97454ed5b1368b66ed414c754cba15b9750ce69938fc6153679787402e4cdf \ + --hash=sha256:0e4854cc02006ad6684ce092bdadab6f0912d131f91c2450ce6dbdea78ee3c0b \ + --hash=sha256:12a7dc8439544ed05c6553bf026d5e8fa7fad48d63958a95d61698df0e00092b \ + --hash=sha256:1b1ee48a130da4dd0eb8055bbab34abf3f6262957832fd575e0cab4979a15a41 \ + --hash=sha256:1c0e1308307a75e07d1f1b5f0f56b5af84538a5e9027109a7bcf6cb47c434e72 \ + --hash=sha256:1dedf4c64185a216c35eb488e6f433297c660321275734401760dafaeb0ad5c2 \ + --hash=sha256:208bc904889c910d95aafcf7be9e677726df9ef71e216780170dbb7e37d118fa \ + --hash=sha256:211dfe2bd43bf5791d23afbe23a7952e8ac8b67591d24be3638cabb648b3a6eb \ + --hash=sha256:341330ed19074f956cb20877ad8d2ae50e458884bfa6a6df3ae28487cc76c768 \ + --hash=sha256:344cb3badf6fc7316ad51835f56ac387bdf86c8e1b670904f18f437d70da4183 \ + --hash=sha256:358f6364e4873f4d73360b35da30066f40387dd3c427a3e5432c6b28dd24a8fa \ + --hash=sha256:371f6570a81dfdddbb837ba432293a63b4babb942a9eb7aaa699997adfb53278 \ + --hash=sha256:375d81366afd547b8558c4720337218345148bc2fcffa3a9870cab82b29667f2 \ + --hash=sha256:3a1917d3941dd58732c449c810fa7ce46cc305ce9325a11261d740118b85e6f3 \ + --hash=sha256:4081918147fc4c29fad328d5066cfc751da100a1098398742f9f364be63803fc \ + --hash=sha256:444fb776f58f4906d8d354eb6f6ce59d0a60f7b6a720da6c1ccb839db7c80eb9 \ + --hash=sha256:46deb310a276cc5c1fd27958e358cce68b1e8a515fa5a574c670a504c3a3fe30 \ + --hash=sha256:494efed2c761f0f37262815f9e3c4bb9917c5c69806abdee1d1cb6611a7174a0 \ + --hash=sha256:50627bf76abb6ba291ad08db583161939c2c5fab38c38181b7833423ab9c7de3 \ + --hash=sha256:5641927cc5ae66155d0c80195dc35726eae060e7defc18b7ab27600f39dd1fe7 \ + --hash=sha256:5b117d29433fc8393b18a696d794961464e37afb34a6eeb8b2c37b5f4128a83e \ + --hash=sha256:613c665529899b5d9fade7e5d1760111a0b011231277a0d36c49f0d3d6914bd6 \ + --hash=sha256:6e459ebb8bb5ee4c22c19cc000174f8059981971a33ce11e17dddf6aca97a142 \ + --hash=sha256:6f56515e7c6fae4529b731f6c117752247bef9cdad2b12fc5ddf8ca6a50965a5 \ + --hash=sha256:730c27978a0003b47b359935478b7d63fd8386dbb2dcd36c1e8de88cbfc1e9de \ + --hash=sha256:75a2e638042118118ab39d337da4c7908c1af74a8464cad59f19fbc5bbafec9b \ + --hash=sha256:78ced51807ccb2f45d4ea73aca339756d75d021069604c2fccd05390dc3c28eb \ + --hash=sha256:7ee394502026d68652c2824348a40bf50f31351a668977b51437131a90d777ea \ + --hash=sha256:8468b40528fa1e15181cccec4198623b55dcd58306f8815a793803f51f6c474a \ + --hash=sha256:84c593aeff7a0171f639da92cb86d24954bbb61f8a1b530f74eb750a14685832 \ + --hash=sha256:913bac9d064cff033cf3719e855d4f1db9f1c179e0ecf3ba9fdef21c21c6a16a \ + --hash=sha256:9447c45df407d3ecb717d837af3b70cfef432138530712263730783b3d016512 \ + --hash=sha256:9b0e7fe7f949fb719b206548e5cde2518ffb29936afa4303d8a1c4db43dcb675 \ + --hash=sha256:9bc407a6af672da20da74823443707e38ece8b93a04009dca25856c2d9adadb1 \ + --hash=sha256:9e8e686a6db92a46111a1ee0ee6f7fbfae4048f0019de207149f43ac1812cf95 \ + --hash=sha256:9fc4e7973ed0e1fe689435842a6e6b330eb7ccc696080dda9a97b1a1b78e41db \ + --hash=sha256:a457ee72d9032e86730f62c5eeddf402e732fdf5ca8b13b41772aa8ae13a4563 \ + --hash=sha256:a628bba09ba72e472bf7b31018b6281fd4cc903f0888049a3724afba13b6e0b8 \ + --hash=sha256:a79d239fc22c3b8d9d3de492aa0c245533f4f4c7608e5749af866949c0f1b1b9 \ + --hash=sha256:aa4674cf3fa2bd9c322982644967f01eed0c91bb890f624e0e0daf7a5c3383e9 \ + --hash=sha256:acd2bd02f1a7adff3a1f33e431eb96ab6d7987b039d2946a9b39fe6fb16a1036 \ + --hash=sha256:b3b1bd7577c530eaf9d2bc52d1a93fef50ac516a8b1062c3d1b9bcec9ebe329b \ + --hash=sha256:b48d94386f1994db7c70c76b5808c12e23ed7a4ee13693c2fc5ab109d60243c0 \ + --hash=sha256:b64f747e92af7da3b85631a55d68c45a2d728b4036b03cdaba4bd94bcc85bd6f \ + --hash=sha256:b98c820608e2dca6442e786817f646d11057c09a23b68d2b3737e6dcb6e4a49b \ + --hash=sha256:c1baa49ab9fedbf19d40d93163b7d3e735d9cd8d5efe4cce9907902a6dad391f \ + --hash=sha256:c38c6536c2d71ca2f7e418acaf5bca30a3af7f2a2fa106083c7d738337848dbe \ + --hash=sha256:c78bfbc1a7bff053baf7e508449d2765964d67735c909b583204e3240a2aca45 \ + --hash=sha256:cd2bc0c8f2e8de7dd89a7f1c10b8844e291bca17d359373203ef2e6100819edd \ + --hash=sha256:d2eff2af97ea0b61381828b1ad6cd249bbd41d280e53aea5cccd7b2b31b8225c \ + --hash=sha256:d8834c14b8c3dd849005e06703469db9bf96ba2d66a3f88ecc539c9a8982e0ee \ + --hash=sha256:d912f0154a20a80ea449daada904a7eb6941c83281a9fab95de50529bfc3a1da \ + --hash=sha256:da1ef35fd79be2926ba80fbb36327463e3656c02526e9b5b4c2b366588b74d9a \ + --hash=sha256:dbe6fe7a1166b1ddd7b6d887ea6fa8389d3f28b5ed3f73a8f40ece1fc5a3d340 \ + --hash=sha256:dcd556c8fc37a342dd636d7eef150b1399f823a4462f8c968e11e1ebeabee769 \ + --hash=sha256:e13b31d1b4b68db60b3b29f8e337908f328c7f05b9add4b1b5c74e0691180109 \ + --hash=sha256:e1739496c2f0108013629aa095cc32a8c6363444361960c07493818d0dea2da4 \ + --hash=sha256:e43255a83835a129ef98f75d13d643844d8c646b258bebd11e4a0975203e018f \ + --hash=sha256:e626cefff8491bce356221c22af5a3ea528b0b41fbabc719c00ae233819ea0bf \ + --hash=sha256:eadad75bf91897f922e0fb3dca1b322a58b1726a953f98c2e5f0606bd8408621 \ + --hash=sha256:f33da6b5d19ad1bb5e7ad38bb8ba5c426d2178928bc2b2c44e8823ea0ecb6ff3 \ + --hash=sha256:f4052a8a4926d4468416fc7d4b2a7b2a3e35f25b39f4061a7e2a3a2748c4fc48 \ + --hash=sha256:f6ca38dd8d988eca8f07305125dec6f54ac1c518f1aaddcc14d08c01aebb6efc + # via matplotlib +cycler==0.11.0 \ + --hash=sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3 \ + --hash=sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f + # via matplotlib +decorator==5.1.1 \ + --hash=sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330 \ + --hash=sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186 + # via validators +diffusers==0.7.2 \ + --hash=sha256:4a5f8b3a5fbd936bba7d459611cb35ec62875030367be32b232f9e19543e25a9 \ + --hash=sha256:fb814ffd150cc6f470380b8c6a521181a77beb2f44134d2aad2e4cd8aa2ced0e + # via -r requirements.in +dnspython==2.2.1 \ + --hash=sha256:0f7569a4a6ff151958b64304071d370daa3243d15941a7beedf0c9fe5105603e \ + --hash=sha256:a851e51367fb93e9e1361732c1d60dab63eff98712e503ea7d92e6eccb109b4f + # via eventlet +docker-pycreds==0.4.0 \ + --hash=sha256:6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4 \ + --hash=sha256:7266112468627868005106ec19cd0d722702d2b7d5912a28e19b826c3d37af49 + # via wandb +einops==0.5.0 \ + --hash=sha256:055de7eeb3cb9e9710ef3085a811090c6b52e809b7044e8785824ed185f486d1 \ + --hash=sha256:8b7a83cffc1ea88e306df099b7cbb9c3ba5003bd84d05ae44be5655864abb8d3 + # via k-diffusion +entrypoints==0.4 \ + --hash=sha256:b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4 \ + --hash=sha256:f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f + # via altair +eventlet==0.33.1 \ + --hash=sha256:a085922698e5029f820cf311a648ac324d73cec0e4792877609d978a4b5bbf31 \ + --hash=sha256:afbe17f06a58491e9aebd7a4a03e70b0b63fd4cf76d8307bae07f280479b1515 + # via -r requirements.in +facexlib==0.2.5 \ + --hash=sha256:31e20cc4ed5d63562d380e4564bae14ac0d5d1899a079bad87621e13564567e4 \ + --hash=sha256:cc7ceb56c5424319c47223cf75eef6828c34c66082707c6eb35b95d39779f02d + # via + # gfpgan + # realesrgan +filelock==3.8.0 \ + --hash=sha256:55447caa666f2198c5b6b13a26d2084d26fa5b115c00d065664b2124680c4edc \ + --hash=sha256:617eb4e5eedc82fc5f47b6d61e4d11cb837c56cb4544e39081099fa17ad109d4 + # via + # diffusers + # huggingface-hub + # transformers +filterpy==1.4.5 \ + --hash=sha256:4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1 + # via facexlib +flask==2.2.2 \ + --hash=sha256:642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b \ + --hash=sha256:b9c46cc36662a7949f34b52d8ec7bb59c0d74ba08ba6cb9ce9adc1d8676d9526 + # via + # flask-cors + # flask-socketio +flask-cors==3.0.10 \ + --hash=sha256:74efc975af1194fc7891ff5cd85b0f7478be4f7f59fe158102e91abb72bb4438 \ + --hash=sha256:b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de + # via -r requirements.in +flask-socketio==5.3.1 \ + --hash=sha256:fd0ed0fc1341671d92d5f5b2f5503916deb7aa7e2940e6636cfa2c087c828bf9 \ + --hash=sha256:ff0c721f20bff1e2cfba77948727a8db48f187e89a72fe50c34478ce6efb3353 + # via -r requirements.in +flaskwebgui==0.3.7 \ + --hash=sha256:4a69955308eaa8bb256ba04a994dc8f58a48dcd6f9599694ab1bcd9f43d88a5d \ + --hash=sha256:535974ce2672dcc74787c254de24cceed4101be75d96952dae82014dd57f061e + # via -r requirements.in +fonttools==4.38.0 \ + --hash=sha256:2bb244009f9bf3fa100fc3ead6aeb99febe5985fa20afbfbaa2f8946c2fbdaf1 \ + --hash=sha256:820466f43c8be8c3009aef8b87e785014133508f0de64ec469e4efb643ae54fb + # via matplotlib +frozenlist==1.3.1 \ + --hash=sha256:022178b277cb9277d7d3b3f2762d294f15e85cd2534047e68a118c2bb0058f3e \ + --hash=sha256:086ca1ac0a40e722d6833d4ce74f5bf1aba2c77cbfdc0cd83722ffea6da52a04 \ + --hash=sha256:0bc75692fb3770cf2b5856a6c2c9de967ca744863c5e89595df64e252e4b3944 \ + --hash=sha256:0dde791b9b97f189874d654c55c24bf7b6782343e14909c84beebd28b7217845 \ + --hash=sha256:12607804084d2244a7bd4685c9d0dca5df17a6a926d4f1967aa7978b1028f89f \ + --hash=sha256:19127f8dcbc157ccb14c30e6f00392f372ddb64a6ffa7106b26ff2196477ee9f \ + --hash=sha256:1b51eb355e7f813bcda00276b0114c4172872dc5fb30e3fea059b9367c18fbcb \ + --hash=sha256:1e1cf7bc8cbbe6ce3881863671bac258b7d6bfc3706c600008925fb799a256e2 \ + --hash=sha256:219a9676e2eae91cb5cc695a78b4cb43d8123e4160441d2b6ce8d2c70c60e2f3 \ + --hash=sha256:2743bb63095ef306041c8f8ea22bd6e4d91adabf41887b1ad7886c4c1eb43d5f \ + --hash=sha256:2af6f7a4e93f5d08ee3f9152bce41a6015b5cf87546cb63872cc19b45476e98a \ + --hash=sha256:31b44f1feb3630146cffe56344704b730c33e042ffc78d21f2125a6a91168131 \ + --hash=sha256:31bf9539284f39ff9398deabf5561c2b0da5bb475590b4e13dd8b268d7a3c5c1 \ + --hash=sha256:35c3d79b81908579beb1fb4e7fcd802b7b4921f1b66055af2578ff7734711cfa \ + --hash=sha256:3a735e4211a04ccfa3f4833547acdf5d2f863bfeb01cfd3edaffbc251f15cec8 \ + --hash=sha256:42719a8bd3792744c9b523674b752091a7962d0d2d117f0b417a3eba97d1164b \ + --hash=sha256:49459f193324fbd6413e8e03bd65789e5198a9fa3095e03f3620dee2f2dabff2 \ + --hash=sha256:4c0c99e31491a1d92cde8648f2e7ccad0e9abb181f6ac3ddb9fc48b63301808e \ + --hash=sha256:52137f0aea43e1993264a5180c467a08a3e372ca9d378244c2d86133f948b26b \ + --hash=sha256:526d5f20e954d103b1d47232e3839f3453c02077b74203e43407b962ab131e7b \ + --hash=sha256:53b2b45052e7149ee8b96067793db8ecc1ae1111f2f96fe1f88ea5ad5fd92d10 \ + --hash=sha256:572ce381e9fe027ad5e055f143763637dcbac2542cfe27f1d688846baeef5170 \ + --hash=sha256:58fb94a01414cddcdc6839807db77ae8057d02ddafc94a42faee6004e46c9ba8 \ + --hash=sha256:5e77a8bd41e54b05e4fb2708dc6ce28ee70325f8c6f50f3df86a44ecb1d7a19b \ + --hash=sha256:5f271c93f001748fc26ddea409241312a75e13466b06c94798d1a341cf0e6989 \ + --hash=sha256:5f63c308f82a7954bf8263a6e6de0adc67c48a8b484fab18ff87f349af356efd \ + --hash=sha256:61d7857950a3139bce035ad0b0945f839532987dfb4c06cfe160254f4d19df03 \ + --hash=sha256:61e8cb51fba9f1f33887e22488bad1e28dd8325b72425f04517a4d285a04c519 \ + --hash=sha256:625d8472c67f2d96f9a4302a947f92a7adbc1e20bedb6aff8dbc8ff039ca6189 \ + --hash=sha256:6e19add867cebfb249b4e7beac382d33215d6d54476bb6be46b01f8cafb4878b \ + --hash=sha256:717470bfafbb9d9be624da7780c4296aa7935294bd43a075139c3d55659038ca \ + --hash=sha256:74140933d45271c1a1283f708c35187f94e1256079b3c43f0c2267f9db5845ff \ + --hash=sha256:74e6b2b456f21fc93ce1aff2b9728049f1464428ee2c9752a4b4f61e98c4db96 \ + --hash=sha256:9494122bf39da6422b0972c4579e248867b6b1b50c9b05df7e04a3f30b9a413d \ + --hash=sha256:94e680aeedc7fd3b892b6fa8395b7b7cc4b344046c065ed4e7a1e390084e8cb5 \ + --hash=sha256:97d9e00f3ac7c18e685320601f91468ec06c58acc185d18bb8e511f196c8d4b2 \ + --hash=sha256:9c6ef8014b842f01f5d2b55315f1af5cbfde284eb184075c189fd657c2fd8204 \ + --hash=sha256:a027f8f723d07c3f21963caa7d585dcc9b089335565dabe9c814b5f70c52705a \ + --hash=sha256:a718b427ff781c4f4e975525edb092ee2cdef6a9e7bc49e15063b088961806f8 \ + --hash=sha256:ab386503f53bbbc64d1ad4b6865bf001414930841a870fc97f1546d4d133f141 \ + --hash=sha256:ab6fa8c7871877810e1b4e9392c187a60611fbf0226a9e0b11b7b92f5ac72792 \ + --hash=sha256:b47d64cdd973aede3dd71a9364742c542587db214e63b7529fbb487ed67cddd9 \ + --hash=sha256:b499c6abe62a7a8d023e2c4b2834fce78a6115856ae95522f2f974139814538c \ + --hash=sha256:bbb1a71b1784e68870800b1bc9f3313918edc63dbb8f29fbd2e767ce5821696c \ + --hash=sha256:c3b31180b82c519b8926e629bf9f19952c743e089c41380ddca5db556817b221 \ + --hash=sha256:c56c299602c70bc1bb5d1e75f7d8c007ca40c9d7aebaf6e4ba52925d88ef826d \ + --hash=sha256:c92deb5d9acce226a501b77307b3b60b264ca21862bd7d3e0c1f3594022f01bc \ + --hash=sha256:cc2f3e368ee5242a2cbe28323a866656006382872c40869b49b265add546703f \ + --hash=sha256:d82bed73544e91fb081ab93e3725e45dd8515c675c0e9926b4e1f420a93a6ab9 \ + --hash=sha256:da1cdfa96425cbe51f8afa43e392366ed0b36ce398f08b60de6b97e3ed4affef \ + --hash=sha256:da5ba7b59d954f1f214d352308d1d86994d713b13edd4b24a556bcc43d2ddbc3 \ + --hash=sha256:e0c8c803f2f8db7217898d11657cb6042b9b0553a997c4a0601f48a691480fab \ + --hash=sha256:ee4c5120ddf7d4dd1eaf079af3af7102b56d919fa13ad55600a4e0ebe532779b \ + --hash=sha256:eee0c5ecb58296580fc495ac99b003f64f82a74f9576a244d04978a7e97166db \ + --hash=sha256:f5abc8b4d0c5b556ed8cd41490b606fe99293175a82b98e652c3f2711b452988 \ + --hash=sha256:f810e764617b0748b49a731ffaa525d9bb36ff38332411704c2400125af859a6 \ + --hash=sha256:f89139662cc4e65a4813f4babb9ca9544e42bddb823d2ec434e18dad582543bc \ + --hash=sha256:fa47319a10e0a076709644a0efbcaab9e91902c8bd8ef74c6adb19d320f69b83 \ + --hash=sha256:fabb953ab913dadc1ff9dcc3a7a7d3dc6a92efab3a0373989b8063347f8705be + # via + # aiohttp + # aiosignal +fsspec[http]==2022.10.0 \ + --hash=sha256:6b7c6ab3b476cdf17efcfeccde7fca28ef5a48f73a71010aaceec5fc15bf9ebf \ + --hash=sha256:cb6092474e90487a51de768170f3afa50ca8982c26150a59072b16433879ff1d + # via pytorch-lightning +ftfy==6.1.1 \ + --hash=sha256:0ffd33fce16b54cccaec78d6ec73d95ad370e5df5a25255c8966a6147bd667ca \ + --hash=sha256:bfc2019f84fcd851419152320a6375604a0f1459c281b5b199b2cd0d2e727f8f + # via clip +future==0.18.2 \ + --hash=sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d + # via + # basicsr + # test-tube +getpass-asterisk==1.0.1 \ + --hash=sha256:20d45cafda0066d761961e0919728526baf7bb5151fbf48a7d5ea4034127d857 \ + --hash=sha256:7cc357a924cf62fa4e15b73cb4e5e30685c9084e464ffdc3fd9000a2b54ea9e9 + # via -r requirements.in +gfpgan @ https://github.com/TencentARC/GFPGAN/archive/2eac2033893ca7f427f4035d80fe95b92649ac56.zip \ + --hash=sha256:79e6d71c8f1df7c7ccb0ac6b9a2ccb615ad5cde818c8b6f285a8711c05aebf85 + # via + # -r requirements.in + # realesrgan +gitdb==4.0.9 \ + --hash=sha256:8033ad4e853066ba6ca92050b9df2f89301b8fc8bf7e9324d412a63f8bf1a8fd \ + --hash=sha256:bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa + # via gitpython +gitpython==3.1.29 \ + --hash=sha256:41eea0deec2deea139b459ac03656f0dd28fc4a3387240ec1d3c259a2c47850f \ + --hash=sha256:cc36bfc4a3f913e66805a28e84703e419d9c264c1077e537b54f0e1af85dbefd + # via + # streamlit + # wandb +google-auth==2.14.0 \ + --hash=sha256:1ad5b0e6eba5f69645971abb3d2c197537d5914070a8c6d30299dfdb07c5c700 \ + --hash=sha256:cf24817855d874ede2efd071aa22125445f555de1685b739a9782fcf408c2a3d + # via + # google-auth-oauthlib + # tb-nightly + # tensorboard +google-auth-oauthlib==0.4.6 \ + --hash=sha256:3f2a6e802eebbb6fb736a370fbf3b055edcb6b52878bf2f26330b5e041316c73 \ + --hash=sha256:a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a + # via + # tb-nightly + # tensorboard +greenlet==2.0.0.post0 \ + --hash=sha256:00ebdaf0fa51c284fd2172837d751731a15971e0c20d1a9163cfbdf620ce8b49 \ + --hash=sha256:029ca674b3a7e8427db8f5c65d5ed4e24a7417af2a415a5958598aefd71980c4 \ + --hash=sha256:02bdb1e373b275bd705c43b249426e776c4f8a8ff2afaf8ec5ea0dde487d8a14 \ + --hash=sha256:08dc04f49ed1ea5e6772bb5e8cf2a77d1b1744566f4eca471a55b35af1278b31 \ + --hash=sha256:08f44e938d142271b954405afb6570e0be48a9f556b6bf4d42d2e3ae6a251fad \ + --hash=sha256:0a5c03e2a68ec2ff1cba74ceaed899ec8cd353285f4f985c30c8cfbef9d3a3be \ + --hash=sha256:0fee3240093b745efc857392f09379514ad84db4ca324514594bbdf6380016c8 \ + --hash=sha256:118e708dd7bc88beaeeaa5a8601a7743b8835b7bbaf7c8f23ffa78f8bc8faf28 \ + --hash=sha256:13d492a807a5c7334b5931e9b6d9b181991ccc6a40555a7b177f189feff59b4b \ + --hash=sha256:1cac9e9895aeff26434325404558783ee54f4ff3aec8daa56b8706796f7b01a0 \ + --hash=sha256:2146d15429b4eeb412428737594acb5660a5bc0fdd1488d8a2a74a5ee32391fa \ + --hash=sha256:21ee1ae26d072b195edea764218623f6c15eba4ae06816908f33c82e0af018d3 \ + --hash=sha256:22eca421e3f2f3c18f4f54c0ff525aa9d397c6f116fce9ebd37b420174dbc027 \ + --hash=sha256:2bab49783858cf724fff6868395cbeb81d1188cba23616b53e79de0beda29f42 \ + --hash=sha256:2fbdec204ca40b3d0c0992a19c1ba627441c17983ac4ffc45baec7f5f53e20ca \ + --hash=sha256:30ce47525f9a1515566429ac7de6b1ae76d32c3ccede256e3517a1a6419cf659 \ + --hash=sha256:335dcf676d5e4122e4006c16ae11eda2467af5461b949c265ce120b6b959ffe2 \ + --hash=sha256:3407b843b05da71fef0f1dd666059c08ad0e0f4afc3b9c93c998a2e53fac95e5 \ + --hash=sha256:35827f98fd0d768862b8f15777e6dbb03fe6ac6e7bd1bee3f3ded4536f350347 \ + --hash=sha256:3a22e5988f9d66b3e9ae9583bf9d8ef792b09f23afeb78707e6a4f47ab57cc5e \ + --hash=sha256:3c3327da2bdab61078e42e695307465c425671a5a9251e6c29ee130d51943f28 \ + --hash=sha256:3ca723dfc2789c1fb991809822811896b198ecf0909dbccea4a07170d18c3e1b \ + --hash=sha256:46156ae88ee71c37b6c4f7af63fff5d3ab8f45ef72e1a660bcf6386c1647f106 \ + --hash=sha256:4bbe2d074292e3646704371eb640ee52c386d633ed72ff223dadcd3fe8ecd8f9 \ + --hash=sha256:4c4310f0e42154995d92810f27b44ab7116a4a696feb0ff141ae2de59196efd7 \ + --hash=sha256:4cfa629de5b2dea27c81b334c4536463e9a49ac0877e2008a276d58d4c72868a \ + --hash=sha256:4e144ab0de56b4d2a2cf0d2fb9d568b59fce49aab3e129badf17c12b0252047d \ + --hash=sha256:4ea67f303cec384b148774667c7e3cf02311e7026fc02bdcdcd206dfe4ea4fc9 \ + --hash=sha256:538c9e8f65a32413ace426f8117ef019021adf8175f7c491fed65f5fe2083e0c \ + --hash=sha256:56565ac9ab4ff3dd473bfe959e0bf2a5062aabb89b7c94cabb417beb162c9fff \ + --hash=sha256:5e22485256bb1c60bbcc6f8509b1a11042358a2462d5ecdb9a82dc472d2fdd60 \ + --hash=sha256:602a69c24f1a9755dd1760b3b31bdfc495c4613260c876a01b7e6d5eb9bcae1b \ + --hash=sha256:6393ec3cecda53b20241e88bc33d87cbd8126cc10870fc69fa16ca2e20a5ac1b \ + --hash=sha256:6442bbfb047dc1e47658954b72e1589f2bc4e12e67d51bbad0059a626180daa1 \ + --hash=sha256:666d2a0b269a68cd4fe0976544ab97970c5334d35d0e47ae9be1723f734d8204 \ + --hash=sha256:697cfbfc19815c40213badcfe5f076418e0f9100cd25a66f513f32c1026b8bf4 \ + --hash=sha256:6a1a6745c5dce202aa3f29a1736c53cf2179e9c3b280dc62cea9cb8c69977c83 \ + --hash=sha256:6fc73fc8dd81d9efa842a55033b6b4cb233b134a0270e127c6874d053ef2049b \ + --hash=sha256:7e9e0d4c5c618b0442396715ffe6c2f84a60d593dad7e0184388aed36d568a65 \ + --hash=sha256:81fdcf7c0c2df46a99ca421a552c4370117851c5e4dbd6cb53d569b896d62322 \ + --hash=sha256:8b26932be686f3582df039d79fe96f7ca13d63b39468162f816f9ff29584b9a4 \ + --hash=sha256:8b7e5191b974fb66fcbac1818ba494d3512da9cf6eaef7acd952f9862eaaa20c \ + --hash=sha256:8c80e9c41a83d8c90399af8c7dcdeae0c03c48b40b9d0ab84457533d5d7882bf \ + --hash=sha256:9f2f110b9cc325f6543e0e3f4ab8008c272a59052f9464047c29d4be4511ce05 \ + --hash=sha256:a339e510a079dc8372e39ce1c7629414db51966235c9670c58d529def79243a2 \ + --hash=sha256:ad9abc3e4d2370cecb524421cc5c8a664006aa11d5c1cb3c9250e3bf65ab546e \ + --hash=sha256:b043782c8f6cccc8fae3a16db397eca1d36a41b0706cbf6f514aea1e1a260bab \ + --hash=sha256:b31de27313abbb567c528ed123380fcf18a5dfd03134570dfd12227e21ac1184 \ + --hash=sha256:b75e5644cc353328cd57ec8dafaaf5f81b2c3ecf7c4b278b907e99ad53ba7839 \ + --hash=sha256:b8cfc8fc944bd7b704691bc28225a2635e377e92dc413459845868d3f7724982 \ + --hash=sha256:c2055c52260808d87622293b57df1c68aeb12ddd8a0cfc0223fb57a5f629e202 \ + --hash=sha256:c416106b3b8e905b6ab0e84ec90047a6401021aa023f9aa93978e57cd8f8189f \ + --hash=sha256:d0e210e17a6181a3fd3f8dce957043a4e74177ffa9f295514984b2b633940dce \ + --hash=sha256:d9453135e48cd631e3e9f06d9da9100d17c9f662e4a6d8b552c29be6c834a6b9 \ + --hash=sha256:dd0198006278291d9469309d655093df1f5e5107c0261e242b5f390baee32199 \ + --hash=sha256:e1781bda1e787d3ad33788cc3be47f6e47a9581676d02670c15ee36c9460adfe \ + --hash=sha256:e56a5a9f303e3ac011ba445a6d84f05d08666bf8db094afafcec5228622c30f5 \ + --hash=sha256:e93ae35f0fd3caf75e58c76a1cab71e6ece169aaa1b281782ef9efde0a6b83f2 \ + --hash=sha256:eb36b6570646227a63eda03916f1cc6f3744ee96d28f7a0a5629c59267a8055f \ + --hash=sha256:f8c425a130e04d5404edaf6f5906e5ab12f3aa1168a1828aba6dfadac5910469 + # via eventlet +grpcio==1.50.0 \ + --hash=sha256:05f7c248e440f538aaad13eee78ef35f0541e73498dd6f832fe284542ac4b298 \ + --hash=sha256:080b66253f29e1646ac53ef288c12944b131a2829488ac3bac8f52abb4413c0d \ + --hash=sha256:12b479839a5e753580b5e6053571de14006157f2ef9b71f38c56dc9b23b95ad6 \ + --hash=sha256:156f8009e36780fab48c979c5605eda646065d4695deea4cfcbcfdd06627ddb6 \ + --hash=sha256:15f9e6d7f564e8f0776770e6ef32dac172c6f9960c478616c366862933fa08b4 \ + --hash=sha256:177afaa7dba3ab5bfc211a71b90da1b887d441df33732e94e26860b3321434d9 \ + --hash=sha256:1a4cd8cb09d1bc70b3ea37802be484c5ae5a576108bad14728f2516279165dd7 \ + --hash=sha256:1d8d02dbb616c0a9260ce587eb751c9c7dc689bc39efa6a88cc4fa3e9c138a7b \ + --hash=sha256:2b71916fa8f9eb2abd93151fafe12e18cebb302686b924bd4ec39266211da525 \ + --hash=sha256:2d9fd6e38b16c4d286a01e1776fdf6c7a4123d99ae8d6b3f0b4a03a34bf6ce45 \ + --hash=sha256:3b611b3de3dfd2c47549ca01abfa9bbb95937eb0ea546ea1d762a335739887be \ + --hash=sha256:3e4244c09cc1b65c286d709658c061f12c61c814be0b7030a2d9966ff02611e0 \ + --hash=sha256:40838061e24f960b853d7bce85086c8e1b81c6342b1f4c47ff0edd44bbae2722 \ + --hash=sha256:4b123fbb7a777a2fedec684ca0b723d85e1d2379b6032a9a9b7851829ed3ca9a \ + --hash=sha256:531f8b46f3d3db91d9ef285191825d108090856b3bc86a75b7c3930f16ce432f \ + --hash=sha256:67dd41a31f6fc5c7db097a5c14a3fa588af54736ffc174af4411d34c4f306f68 \ + --hash=sha256:7489dbb901f4fdf7aec8d3753eadd40839c9085967737606d2c35b43074eea24 \ + --hash=sha256:8d4c8e73bf20fb53fe5a7318e768b9734cf122fe671fcce75654b98ba12dfb75 \ + --hash=sha256:8e69aa4e9b7f065f01d3fdcecbe0397895a772d99954bb82eefbb1682d274518 \ + --hash=sha256:8e8999a097ad89b30d584c034929f7c0be280cd7851ac23e9067111167dcbf55 \ + --hash=sha256:906f4d1beb83b3496be91684c47a5d870ee628715227d5d7c54b04a8de802974 \ + --hash=sha256:92d7635d1059d40d2ec29c8bf5ec58900120b3ce5150ef7414119430a4b2dd5c \ + --hash=sha256:931e746d0f75b2a5cff0a1197d21827a3a2f400c06bace036762110f19d3d507 \ + --hash=sha256:95ce51f7a09491fb3da8cf3935005bff19983b77c4e9437ef77235d787b06842 \ + --hash=sha256:9eea18a878cffc804506d39c6682d71f6b42ec1c151d21865a95fae743fda500 \ + --hash=sha256:a23d47f2fc7111869f0ff547f771733661ff2818562b04b9ed674fa208e261f4 \ + --hash=sha256:a4c23e54f58e016761b576976da6a34d876420b993f45f66a2bfb00363ecc1f9 \ + --hash=sha256:a50a1be449b9e238b9bd43d3857d40edf65df9416dea988929891d92a9f8a778 \ + --hash=sha256:ab5d0e3590f0a16cb88de4a3fa78d10eb66a84ca80901eb2c17c1d2c308c230f \ + --hash=sha256:ae23daa7eda93c1c49a9ecc316e027ceb99adbad750fbd3a56fa9e4a2ffd5ae0 \ + --hash=sha256:af98d49e56605a2912cf330b4627e5286243242706c3a9fa0bcec6e6f68646fc \ + --hash=sha256:b2f77a90ba7b85bfb31329f8eab9d9540da2cf8a302128fb1241d7ea239a5469 \ + --hash=sha256:baab51dcc4f2aecabf4ed1e2f57bceab240987c8b03533f1cef90890e6502067 \ + --hash=sha256:ca8a2254ab88482936ce941485c1c20cdeaef0efa71a61dbad171ab6758ec998 \ + --hash=sha256:cb11464f480e6103c59d558a3875bd84eed6723f0921290325ebe97262ae1347 \ + --hash=sha256:ce8513aee0af9c159319692bfbf488b718d1793d764798c3d5cff827a09e25ef \ + --hash=sha256:cf151f97f5f381163912e8952eb5b3afe89dec9ed723d1561d59cabf1e219a35 \ + --hash=sha256:d144ad10eeca4c1d1ce930faa105899f86f5d99cecfe0d7224f3c4c76265c15e \ + --hash=sha256:d534d169673dd5e6e12fb57cc67664c2641361e1a0885545495e65a7b761b0f4 \ + --hash=sha256:d75061367a69808ab2e84c960e9dce54749bcc1e44ad3f85deee3a6c75b4ede9 \ + --hash=sha256:d84d04dec64cc4ed726d07c5d17b73c343c8ddcd6b59c7199c801d6bbb9d9ed1 \ + --hash=sha256:de411d2b030134b642c092e986d21aefb9d26a28bf5a18c47dd08ded411a3bc5 \ + --hash=sha256:e07fe0d7ae395897981d16be61f0db9791f482f03fee7d1851fe20ddb4f69c03 \ + --hash=sha256:ea8ccf95e4c7e20419b7827aa5b6da6f02720270686ac63bd3493a651830235c \ + --hash=sha256:f7025930039a011ed7d7e7ef95a1cb5f516e23c5a6ecc7947259b67bea8e06ca + # via + # tb-nightly + # tensorboard +huggingface-hub==0.10.1 \ + --hash=sha256:5c188d5b16bec4b78449f8681f9975ff9d321c16046cc29bcf0d7e464ff29276 \ + --hash=sha256:dc3b0e9a663fe6cad6a8522055c02a9d8673dbd527223288e2442bc028c253db + # via + # diffusers + # transformers +idna==2.10 \ + --hash=sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6 \ + --hash=sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0 + # via + # requests + # yarl +imageio==2.22.3 \ + --hash=sha256:63f007b7f2a082306e36922b3fd529a7aa305d2b78f46195bab8e22bbfe866e9 \ + --hash=sha256:a4b88f9f3d428b8c0ceeb7e297df8c346a642bb7e3111743eb85717d60b26f6f + # via + # scikit-image + # test-tube +imageio-ffmpeg==0.4.7 \ + --hash=sha256:27b48c32becae1658aa81c3a6b922538e4099edf5fbcbdb4ff5dbc84b8ffd3d3 \ + --hash=sha256:6514f1380daf42815bc8c83aad63f33e0b8b47133421ddafe7b410cd8dfbbea5 \ + --hash=sha256:6aba52ddf0a64442ffcb8d30ac6afb668186acec99ecbc7ae5bd171c4f500bbc \ + --hash=sha256:7a08838f97f363e37ca41821b864fd3fdc99ab1fe2421040c78eb5f56a9e723e \ + --hash=sha256:8e724d12dfe83e2a6eb39619e820243ca96c81c47c2648e66e05f7ee24e14312 \ + --hash=sha256:fc60686ef03c2d0f842901b206223c30051a6a120384458761390104470846fd + # via -r requirements.in +importlib-metadata==5.0.0 \ + --hash=sha256:da31db32b304314d044d3c12c79bd59e307889b287ad12ff387b3500835fc2ab \ + --hash=sha256:ddb0e35065e8938f867ed4928d0ae5bf2a53b7773871bfe6bcc7e4fcdc7dea43 + # via + # diffusers + # streamlit +itsdangerous==2.1.2 \ + --hash=sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44 \ + --hash=sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a + # via flask +jinja2==3.1.2 \ + --hash=sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852 \ + --hash=sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61 + # via + # altair + # flask + # pydeck +joblib==1.2.0 \ + --hash=sha256:091138ed78f800342968c523bdde947e7a305b8594b910a0fea2ab83c3c6d385 \ + --hash=sha256:e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018 + # via scikit-learn +jsonmerge==1.9.0 \ + --hash=sha256:a2d1f80021c5c1d70a49e31f862b5f068f9db066080d8561e80654de74a3584d + # via k-diffusion +jsonschema==4.17.0 \ + --hash=sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d \ + --hash=sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248 + # via + # altair + # jsonmerge +k-diffusion @ https://github.com/invoke-ai/k-diffusion/archive/7f16b2c33411f26b3eae78d10648d625cb0c1095.zip \ + --hash=sha256:c3f2c84036aa98c3abf4552fafab04df5ca472aa639982795e05bb1db43ce5e4 + # via -r requirements.in +kiwisolver==1.4.4 \ + --hash=sha256:02f79693ec433cb4b5f51694e8477ae83b3205768a6fb48ffba60549080e295b \ + --hash=sha256:03baab2d6b4a54ddbb43bba1a3a2d1627e82d205c5cf8f4c924dc49284b87166 \ + --hash=sha256:1041feb4cda8708ce73bb4dcb9ce1ccf49d553bf87c3954bdfa46f0c3f77252c \ + --hash=sha256:10ee06759482c78bdb864f4109886dff7b8a56529bc1609d4f1112b93fe6423c \ + --hash=sha256:1d1573129aa0fd901076e2bfb4275a35f5b7aa60fbfb984499d661ec950320b0 \ + --hash=sha256:283dffbf061a4ec60391d51e6155e372a1f7a4f5b15d59c8505339454f8989e4 \ + --hash=sha256:28bc5b299f48150b5f822ce68624e445040595a4ac3d59251703779836eceff9 \ + --hash=sha256:2a66fdfb34e05b705620dd567f5a03f239a088d5a3f321e7b6ac3239d22aa286 \ + --hash=sha256:2e307eb9bd99801f82789b44bb45e9f541961831c7311521b13a6c85afc09767 \ + --hash=sha256:2e407cb4bd5a13984a6c2c0fe1845e4e41e96f183e5e5cd4d77a857d9693494c \ + --hash=sha256:2f5e60fabb7343a836360c4f0919b8cd0d6dbf08ad2ca6b9cf90bf0c76a3c4f6 \ + --hash=sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b \ + --hash=sha256:3fe20f63c9ecee44560d0e7f116b3a747a5d7203376abeea292ab3152334d004 \ + --hash=sha256:41dae968a94b1ef1897cb322b39360a0812661dba7c682aa45098eb8e193dbdf \ + --hash=sha256:4bd472dbe5e136f96a4b18f295d159d7f26fd399136f5b17b08c4e5f498cd494 \ + --hash=sha256:4ea39b0ccc4f5d803e3337dd46bcce60b702be4d86fd0b3d7531ef10fd99a1ac \ + --hash=sha256:5853eb494c71e267912275e5586fe281444eb5e722de4e131cddf9d442615626 \ + --hash=sha256:5bce61af018b0cb2055e0e72e7d65290d822d3feee430b7b8203d8a855e78766 \ + --hash=sha256:6295ecd49304dcf3bfbfa45d9a081c96509e95f4b9d0eb7ee4ec0530c4a96514 \ + --hash=sha256:62ac9cc684da4cf1778d07a89bf5f81b35834cb96ca523d3a7fb32509380cbf6 \ + --hash=sha256:70e7c2e7b750585569564e2e5ca9845acfaa5da56ac46df68414f29fea97be9f \ + --hash=sha256:7577c1987baa3adc4b3c62c33bd1118c3ef5c8ddef36f0f2c950ae0b199e100d \ + --hash=sha256:75facbe9606748f43428fc91a43edb46c7ff68889b91fa31f53b58894503a191 \ + --hash=sha256:787518a6789009c159453da4d6b683f468ef7a65bbde796bcea803ccf191058d \ + --hash=sha256:78d6601aed50c74e0ef02f4204da1816147a6d3fbdc8b3872d263338a9052c51 \ + --hash=sha256:7c43e1e1206cd421cd92e6b3280d4385d41d7166b3ed577ac20444b6995a445f \ + --hash=sha256:81e38381b782cc7e1e46c4e14cd997ee6040768101aefc8fa3c24a4cc58e98f8 \ + --hash=sha256:841293b17ad704d70c578f1f0013c890e219952169ce8a24ebc063eecf775454 \ + --hash=sha256:872b8ca05c40d309ed13eb2e582cab0c5a05e81e987ab9c521bf05ad1d5cf5cb \ + --hash=sha256:877272cf6b4b7e94c9614f9b10140e198d2186363728ed0f701c6eee1baec1da \ + --hash=sha256:8c808594c88a025d4e322d5bb549282c93c8e1ba71b790f539567932722d7bd8 \ + --hash=sha256:8ed58b8acf29798b036d347791141767ccf65eee7f26bde03a71c944449e53de \ + --hash=sha256:91672bacaa030f92fc2f43b620d7b337fd9a5af28b0d6ed3f77afc43c4a64b5a \ + --hash=sha256:968f44fdbf6dd757d12920d63b566eeb4d5b395fd2d00d29d7ef00a00582aac9 \ + --hash=sha256:9f85003f5dfa867e86d53fac6f7e6f30c045673fa27b603c397753bebadc3008 \ + --hash=sha256:a553dadda40fef6bfa1456dc4be49b113aa92c2a9a9e8711e955618cd69622e3 \ + --hash=sha256:a68b62a02953b9841730db7797422f983935aeefceb1679f0fc85cbfbd311c32 \ + --hash=sha256:abbe9fa13da955feb8202e215c4018f4bb57469b1b78c7a4c5c7b93001699938 \ + --hash=sha256:ad881edc7ccb9d65b0224f4e4d05a1e85cf62d73aab798943df6d48ab0cd79a1 \ + --hash=sha256:b1792d939ec70abe76f5054d3f36ed5656021dcad1322d1cc996d4e54165cef9 \ + --hash=sha256:b428ef021242344340460fa4c9185d0b1f66fbdbfecc6c63eff4b7c29fad429d \ + --hash=sha256:b533558eae785e33e8c148a8d9921692a9fe5aa516efbdff8606e7d87b9d5824 \ + --hash=sha256:ba59c92039ec0a66103b1d5fe588fa546373587a7d68f5c96f743c3396afc04b \ + --hash=sha256:bc8d3bd6c72b2dd9decf16ce70e20abcb3274ba01b4e1c96031e0c4067d1e7cd \ + --hash=sha256:bc9db8a3efb3e403e4ecc6cd9489ea2bac94244f80c78e27c31dcc00d2790ac2 \ + --hash=sha256:bf7d9fce9bcc4752ca4a1b80aabd38f6d19009ea5cbda0e0856983cf6d0023f5 \ + --hash=sha256:c2dbb44c3f7e6c4d3487b31037b1bdbf424d97687c1747ce4ff2895795c9bf69 \ + --hash=sha256:c79ebe8f3676a4c6630fd3f777f3cfecf9289666c84e775a67d1d358578dc2e3 \ + --hash=sha256:c97528e64cb9ebeff9701e7938653a9951922f2a38bd847787d4a8e498cc83ae \ + --hash=sha256:d0611a0a2a518464c05ddd5a3a1a0e856ccc10e67079bb17f265ad19ab3c7597 \ + --hash=sha256:d06adcfa62a4431d404c31216f0f8ac97397d799cd53800e9d3efc2fbb3cf14e \ + --hash=sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955 \ + --hash=sha256:d5b61785a9ce44e5a4b880272baa7cf6c8f48a5180c3e81c59553ba0cb0821ca \ + --hash=sha256:da152d8cdcab0e56e4f45eb08b9aea6455845ec83172092f09b0e077ece2cf7a \ + --hash=sha256:da7e547706e69e45d95e116e6939488d62174e033b763ab1496b4c29b76fabea \ + --hash=sha256:db5283d90da4174865d520e7366801a93777201e91e79bacbac6e6927cbceede \ + --hash=sha256:db608a6757adabb32f1cfe6066e39b3706d8c3aa69bbc353a5b61edad36a5cb4 \ + --hash=sha256:e0ea21f66820452a3f5d1655f8704a60d66ba1191359b96541eaf457710a5fc6 \ + --hash=sha256:e7da3fec7408813a7cebc9e4ec55afed2d0fd65c4754bc376bf03498d4e92686 \ + --hash=sha256:e92a513161077b53447160b9bd8f522edfbed4bd9759e4c18ab05d7ef7e49408 \ + --hash=sha256:ecb1fa0db7bf4cff9dac752abb19505a233c7f16684c5826d1f11ebd9472b871 \ + --hash=sha256:efda5fc8cc1c61e4f639b8067d118e742b812c930f708e6667a5ce0d13499e29 \ + --hash=sha256:f0a1dbdb5ecbef0d34eb77e56fcb3e95bbd7e50835d9782a45df81cc46949750 \ + --hash=sha256:f0a71d85ecdd570ded8ac3d1c0f480842f49a40beb423bb8014539a9f32a5897 \ + --hash=sha256:f4f270de01dd3e129a72efad823da90cc4d6aafb64c410c9033aba70db9f1ff0 \ + --hash=sha256:f6cb459eea32a4e2cf18ba5fcece2dbdf496384413bc1bae15583f19e567f3b2 \ + --hash=sha256:f8ad8285b01b0d4695102546b342b493b3ccc6781fc28c8c6a1bb63e95d22f09 \ + --hash=sha256:f9f39e2f049db33a908319cf46624a569b36983c7c78318e9726a4cb8923b26c + # via matplotlib +kornia==0.6.8 \ + --hash=sha256:0985e02453c0ab4f030e8d22a3a7554dab312ffa8f8a54ec872190e6f0b58c56 \ + --hash=sha256:0d6d69330b4fd24da742337b8134da0ce01b4d7da66770db5498d58e8b4a0832 + # via k-diffusion +llvmlite==0.39.1 \ + --hash=sha256:03aee0ccd81735696474dc4f8b6be60774892a2929d6c05d093d17392c237f32 \ + --hash=sha256:1578f5000fdce513712e99543c50e93758a954297575610f48cb1fd71b27c08a \ + --hash=sha256:16f56eb1eec3cda3a5c526bc3f63594fc24e0c8d219375afeb336f289764c6c7 \ + --hash=sha256:1ec3d70b3e507515936e475d9811305f52d049281eaa6c8273448a61c9b5b7e2 \ + --hash=sha256:22d36591cd5d02038912321d9ab8e4668e53ae2211da5523f454e992b5e13c36 \ + --hash=sha256:3803f11ad5f6f6c3d2b545a303d68d9fabb1d50e06a8d6418e6fcd2d0df00959 \ + --hash=sha256:39dc2160aed36e989610fc403487f11b8764b6650017ff367e45384dff88ffbf \ + --hash=sha256:3fc14e757bc07a919221f0cbaacb512704ce5774d7fcada793f1996d6bc75f2a \ + --hash=sha256:4c6ebace910410daf0bebda09c1859504fc2f33d122e9a971c4c349c89cca630 \ + --hash=sha256:50aea09a2b933dab7c9df92361b1844ad3145bfb8dd2deb9cd8b8917d59306fb \ + --hash=sha256:60f8dd1e76f47b3dbdee4b38d9189f3e020d22a173c00f930b52131001d801f9 \ + --hash=sha256:62c0ea22e0b9dffb020601bb65cb11dd967a095a488be73f07d8867f4e327ca5 \ + --hash=sha256:6546bed4e02a1c3d53a22a0bced254b3b6894693318b16c16c8e43e29d6befb6 \ + --hash=sha256:6717c7a6e93c9d2c3d07c07113ec80ae24af45cde536b34363d4bcd9188091d9 \ + --hash=sha256:7ebf1eb9badc2a397d4f6a6c8717447c81ac011db00064a00408bc83c923c0e4 \ + --hash=sha256:9ffc84ade195abd4abcf0bd3b827b9140ae9ef90999429b9ea84d5df69c9058c \ + --hash=sha256:a3f331a323d0f0ada6b10d60182ef06c20a2f01be21699999d204c5750ffd0b4 \ + --hash=sha256:b1a0bbdb274fb683f993198775b957d29a6f07b45d184c571ef2a721ce4388cf \ + --hash=sha256:b43abd7c82e805261c425d50335be9a6c4f84264e34d6d6e475207300005d572 \ + --hash=sha256:c0f158e4708dda6367d21cf15afc58de4ebce979c7a1aa2f6b977aae737e2a54 \ + --hash=sha256:d0bfd18c324549c0fec2c5dc610fd024689de6f27c6cc67e4e24a07541d6e49b \ + --hash=sha256:ddab526c5a2c4ccb8c9ec4821fcea7606933dc53f510e2a6eebb45a418d3488a \ + --hash=sha256:e172c73fccf7d6db4bd6f7de963dedded900d1a5c6778733241d878ba613980e \ + --hash=sha256:e2c00ff204afa721b0bb9835b5bf1ba7fba210eefcec5552a9e05a63219ba0dc \ + --hash=sha256:e31f4b799d530255aaf0566e3da2df5bfc35d3cd9d6d5a3dcc251663656c27b1 \ + --hash=sha256:e4f212c018db951da3e1dc25c2651abc688221934739721f2dad5ff1dd5f90e7 \ + --hash=sha256:fa9b26939ae553bf30a9f5c4c754db0fb2d2677327f2511e674aa2f5df941789 \ + --hash=sha256:fb62fc7016b592435d3e3a8f680e3ea8897c3c9e62e6e6cc58011e7a4801439e + # via numba +lmdb==1.3.0 \ + --hash=sha256:008243762decf8f6c90430a9bced56290ebbcdb5e877d90e42343bb97033e494 \ + --hash=sha256:08f4b5129f4683802569b02581142e415c8dcc0ff07605983ec1b07804cecbad \ + --hash=sha256:17215a42a4b9814c383deabecb160581e4fb75d00198eef0e3cea54f230ffbea \ + --hash=sha256:18c69fabdaf04efaf246587739cc1062b3e57c6ef0743f5c418df89e5e7e7b9b \ + --hash=sha256:2cfa4aa9c67f8aee89b23005e98d1f3f32490b6b905fd1cb604b207cbd5755ab \ + --hash=sha256:2df38115dd9428a54d59ae7c712a4c7cce0d6b1d66056de4b1a8c38718066106 \ + --hash=sha256:394df860c3f93cfd92b6f4caba785f38208cc9614c18b3803f83a2cc1695042f \ + --hash=sha256:41318717ab5d15ad2d6d263d34fbf614a045210f64b25e59ce734bb2105e421f \ + --hash=sha256:4172fba19417d7b29409beca7d73c067b54e5d8ab1fb9b51d7b4c1445d20a167 \ + --hash=sha256:5a14aca2651c3af6f0d0a6b9168200eea0c8f2d27c40b01a442f33329a6e8dff \ + --hash=sha256:5ddd590e1c7fcb395931aa3782fb89b9db4550ab2d81d006ecd239e0d462bc41 \ + --hash=sha256:60a11efc21aaf009d06518996360eed346f6000bfc9de05114374230879f992e \ + --hash=sha256:6260a526e4ad85b1f374a5ba9475bf369fb07e7728ea6ec57226b02c40d1976b \ + --hash=sha256:62ab28e3593bdc318ea2f2fa1574e5fca3b6d1f264686d773ba54a637d4f563b \ + --hash=sha256:63cb73fe7ce9eb93d992d632c85a0476b4332670d9e6a2802b5062f603b7809f \ + --hash=sha256:65334eafa5d430b18d81ebd5362559a41483c362e1931f6e1b15bab2ecb7d75d \ + --hash=sha256:7da05d70fcc6561ac6b09e9fb1bf64b7ca294652c64c8a2889273970cee796b9 \ + --hash=sha256:abbc439cd9fe60ffd6197009087ea885ac150017dc85384093b1d376f83f0ec4 \ + --hash=sha256:c6adbd6f7f9048e97f31a069e652eb51020a81e80a0ce92dbb9810d21da2409a \ + --hash=sha256:d6a816954d212f40fd15007cd81ab7a6bebb77436d949a6a9ae04af57fc127f3 \ + --hash=sha256:d9103aa4908f0bca43c5911ca067d4e3d01f682dff0c0381a1239bd2bd757984 \ + --hash=sha256:df2724bad7820114a205472994091097d0fa65a3e5fff5a8e688d123fb8c6326 \ + --hash=sha256:e568ae0887ae196340947d9800136e90feaed6b86a261ef01f01b2ba65fc8106 \ + --hash=sha256:e6a704b3baced9182836c7f77b769f23856f3a8f62d0282b1bc1feaf81a86712 \ + --hash=sha256:eefb392f6b5cd43aada49258c5a79be11cb2c8cd3fc3e2d9319a1e0b9f906458 \ + --hash=sha256:f291e3f561f58dddf63a92a5a6a4b8af3a0920b6705d35e2f80e52e86ee238a2 \ + --hash=sha256:fa6439356e591d3249ab0e1778a6f8d8408e993f66dc911914c78208f5310309 + # via + # basicsr + # gfpgan +markdown==3.4.1 \ + --hash=sha256:08fb8465cffd03d10b9dd34a5c3fea908e20391a2a90b88d66362cb05beed186 \ + --hash=sha256:3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff + # via + # tb-nightly + # tensorboard +markupsafe==2.1.1 \ + --hash=sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003 \ + --hash=sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88 \ + --hash=sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5 \ + --hash=sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7 \ + --hash=sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a \ + --hash=sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603 \ + --hash=sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1 \ + --hash=sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135 \ + --hash=sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247 \ + --hash=sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6 \ + --hash=sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601 \ + --hash=sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77 \ + --hash=sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02 \ + --hash=sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e \ + --hash=sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63 \ + --hash=sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f \ + --hash=sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980 \ + --hash=sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b \ + --hash=sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812 \ + --hash=sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff \ + --hash=sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96 \ + --hash=sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1 \ + --hash=sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925 \ + --hash=sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a \ + --hash=sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6 \ + --hash=sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e \ + --hash=sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f \ + --hash=sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4 \ + --hash=sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f \ + --hash=sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3 \ + --hash=sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c \ + --hash=sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a \ + --hash=sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417 \ + --hash=sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a \ + --hash=sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a \ + --hash=sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37 \ + --hash=sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452 \ + --hash=sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933 \ + --hash=sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a \ + --hash=sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7 + # via + # jinja2 + # werkzeug +matplotlib==3.6.2 \ + --hash=sha256:0844523dfaaff566e39dbfa74e6f6dc42e92f7a365ce80929c5030b84caa563a \ + --hash=sha256:0eda9d1b43f265da91fb9ae10d6922b5a986e2234470a524e6b18f14095b20d2 \ + --hash=sha256:168093410b99f647ba61361b208f7b0d64dde1172b5b1796d765cd243cadb501 \ + --hash=sha256:1836f366272b1557a613f8265db220eb8dd883202bbbabe01bad5a4eadfd0c95 \ + --hash=sha256:19d61ee6414c44a04addbe33005ab1f87539d9f395e25afcbe9a3c50ce77c65c \ + --hash=sha256:252957e208c23db72ca9918cb33e160c7833faebf295aaedb43f5b083832a267 \ + --hash=sha256:32d29c8c26362169c80c5718ce367e8c64f4dd068a424e7110df1dd2ed7bd428 \ + --hash=sha256:380d48c15ec41102a2b70858ab1dedfa33eb77b2c0982cb65a200ae67a48e9cb \ + --hash=sha256:3964934731fd7a289a91d315919cf757f293969a4244941ab10513d2351b4e83 \ + --hash=sha256:3cef89888a466228fc4e4b2954e740ce8e9afde7c4315fdd18caa1b8de58ca17 \ + --hash=sha256:4426c74761790bff46e3d906c14c7aab727543293eed5a924300a952e1a3a3c1 \ + --hash=sha256:5024b8ed83d7f8809982d095d8ab0b179bebc07616a9713f86d30cf4944acb73 \ + --hash=sha256:52c2bdd7cd0bf9d5ccdf9c1816568fd4ccd51a4d82419cc5480f548981b47dd0 \ + --hash=sha256:54fa9fe27f5466b86126ff38123261188bed568c1019e4716af01f97a12fe812 \ + --hash=sha256:5ba73aa3aca35d2981e0b31230d58abb7b5d7ca104e543ae49709208d8ce706a \ + --hash=sha256:5e16dcaecffd55b955aa5e2b8a804379789c15987e8ebd2f32f01398a81e975b \ + --hash=sha256:5ecfc6559132116dedfc482d0ad9df8a89dc5909eebffd22f3deb684132d002f \ + --hash=sha256:74153008bd24366cf099d1f1e83808d179d618c4e32edb0d489d526523a94d9f \ + --hash=sha256:78ec3c3412cf277e6252764ee4acbdbec6920cc87ad65862272aaa0e24381eee \ + --hash=sha256:795ad83940732b45d39b82571f87af0081c120feff2b12e748d96bb191169e33 \ + --hash=sha256:7f716b6af94dc1b6b97c46401774472f0867e44595990fe80a8ba390f7a0a028 \ + --hash=sha256:83dc89c5fd728fdb03b76f122f43b4dcee8c61f1489e232d9ad0f58020523e1c \ + --hash=sha256:8a0ae37576ed444fe853709bdceb2be4c7df6f7acae17b8378765bd28e61b3ae \ + --hash=sha256:8a8dbe2cb7f33ff54b16bb5c500673502a35f18ac1ed48625e997d40c922f9cc \ + --hash=sha256:8a9d899953c722b9afd7e88dbefd8fb276c686c3116a43c577cfabf636180558 \ + --hash=sha256:8d0068e40837c1d0df6e3abf1cdc9a34a6d2611d90e29610fa1d2455aeb4e2e5 \ + --hash=sha256:9347cc6822f38db2b1d1ce992f375289670e595a2d1c15961aacbe0977407dfc \ + --hash=sha256:9f335e5625feb90e323d7e3868ec337f7b9ad88b5d633f876e3b778813021dab \ + --hash=sha256:b03fd10a1709d0101c054883b550f7c4c5e974f751e2680318759af005964990 \ + --hash=sha256:b0ca2c60d3966dfd6608f5f8c49b8a0fcf76de6654f2eda55fc6ef038d5a6f27 \ + --hash=sha256:b2604c6450f9dd2c42e223b1f5dca9643a23cfecc9fde4a94bb38e0d2693b136 \ + --hash=sha256:ca0e7a658fbafcddcaefaa07ba8dae9384be2343468a8e011061791588d839fa \ + --hash=sha256:d0e9ac04065a814d4cf2c6791a2ad563f739ae3ae830d716d54245c2b96fead6 \ + --hash=sha256:d50e8c1e571ee39b5dfbc295c11ad65988879f68009dd281a6e1edbc2ff6c18c \ + --hash=sha256:d840adcad7354be6f2ec28d0706528b0026e4c3934cc6566b84eac18633eab1b \ + --hash=sha256:e0bbee6c2a5bf2a0017a9b5e397babb88f230e6f07c3cdff4a4c4bc75ed7c617 \ + --hash=sha256:e5afe0a7ea0e3a7a257907060bee6724a6002b7eec55d0db16fd32409795f3e1 \ + --hash=sha256:e68be81cd8c22b029924b6d0ee814c337c0e706b8d88495a617319e5dd5441c3 \ + --hash=sha256:ec9be0f4826cdb3a3a517509dcc5f87f370251b76362051ab59e42b6b765f8c4 \ + --hash=sha256:f04f97797df35e442ed09f529ad1235d1f1c0f30878e2fe09a2676b71a8801e0 \ + --hash=sha256:f41e57ad63d336fe50d3a67bb8eaa26c09f6dda6a59f76777a99b8ccd8e26aec + # via filterpy +multidict==6.0.2 \ + --hash=sha256:0327292e745a880459ef71be14e709aaea2f783f3537588fb4ed09b6c01bca60 \ + --hash=sha256:041b81a5f6b38244b34dc18c7b6aba91f9cdaf854d9a39e5ff0b58e2b5773b9c \ + --hash=sha256:0556a1d4ea2d949efe5fd76a09b4a82e3a4a30700553a6725535098d8d9fb672 \ + --hash=sha256:05f6949d6169878a03e607a21e3b862eaf8e356590e8bdae4227eedadacf6e51 \ + --hash=sha256:07a017cfa00c9890011628eab2503bee5872f27144936a52eaab449be5eaf032 \ + --hash=sha256:0b9e95a740109c6047602f4db4da9949e6c5945cefbad34a1299775ddc9a62e2 \ + --hash=sha256:19adcfc2a7197cdc3987044e3f415168fc5dc1f720c932eb1ef4f71a2067e08b \ + --hash=sha256:19d9bad105dfb34eb539c97b132057a4e709919ec4dd883ece5838bcbf262b80 \ + --hash=sha256:225383a6603c086e6cef0f2f05564acb4f4d5f019a4e3e983f572b8530f70c88 \ + --hash=sha256:23b616fdc3c74c9fe01d76ce0d1ce872d2d396d8fa8e4899398ad64fb5aa214a \ + --hash=sha256:2957489cba47c2539a8eb7ab32ff49101439ccf78eab724c828c1a54ff3ff98d \ + --hash=sha256:2d36e929d7f6a16d4eb11b250719c39560dd70545356365b494249e2186bc389 \ + --hash=sha256:2e4a0785b84fb59e43c18a015ffc575ba93f7d1dbd272b4cdad9f5134b8a006c \ + --hash=sha256:3368bf2398b0e0fcbf46d85795adc4c259299fec50c1416d0f77c0a843a3eed9 \ + --hash=sha256:373ba9d1d061c76462d74e7de1c0c8e267e9791ee8cfefcf6b0b2495762c370c \ + --hash=sha256:4070613ea2227da2bfb2c35a6041e4371b0af6b0be57f424fe2318b42a748516 \ + --hash=sha256:45183c96ddf61bf96d2684d9fbaf6f3564d86b34cb125761f9a0ef9e36c1d55b \ + --hash=sha256:4571f1beddff25f3e925eea34268422622963cd8dc395bb8778eb28418248e43 \ + --hash=sha256:47e6a7e923e9cada7c139531feac59448f1f47727a79076c0b1ee80274cd8eee \ + --hash=sha256:47fbeedbf94bed6547d3aa632075d804867a352d86688c04e606971595460227 \ + --hash=sha256:497988d6b6ec6ed6f87030ec03280b696ca47dbf0648045e4e1d28b80346560d \ + --hash=sha256:4bae31803d708f6f15fd98be6a6ac0b6958fcf68fda3c77a048a4f9073704aae \ + --hash=sha256:50bd442726e288e884f7be9071016c15a8742eb689a593a0cac49ea093eef0a7 \ + --hash=sha256:514fe2b8d750d6cdb4712346a2c5084a80220821a3e91f3f71eec11cf8d28fd4 \ + --hash=sha256:5774d9218d77befa7b70d836004a768fb9aa4fdb53c97498f4d8d3f67bb9cfa9 \ + --hash=sha256:5fdda29a3c7e76a064f2477c9aab1ba96fd94e02e386f1e665bca1807fc5386f \ + --hash=sha256:5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013 \ + --hash=sha256:626fe10ac87851f4cffecee161fc6f8f9853f0f6f1035b59337a51d29ff3b4f9 \ + --hash=sha256:6701bf8a5d03a43375909ac91b6980aea74b0f5402fbe9428fc3f6edf5d9677e \ + --hash=sha256:684133b1e1fe91eda8fa7447f137c9490a064c6b7f392aa857bba83a28cfb693 \ + --hash=sha256:6f3cdef8a247d1eafa649085812f8a310e728bdf3900ff6c434eafb2d443b23a \ + --hash=sha256:75bdf08716edde767b09e76829db8c1e5ca9d8bb0a8d4bd94ae1eafe3dac5e15 \ + --hash=sha256:7c40b7bbece294ae3a87c1bc2abff0ff9beef41d14188cda94ada7bcea99b0fb \ + --hash=sha256:8004dca28e15b86d1b1372515f32eb6f814bdf6f00952699bdeb541691091f96 \ + --hash=sha256:8064b7c6f0af936a741ea1efd18690bacfbae4078c0c385d7c3f611d11f0cf87 \ + --hash=sha256:89171b2c769e03a953d5969b2f272efa931426355b6c0cb508022976a17fd376 \ + --hash=sha256:8cbf0132f3de7cc6c6ce00147cc78e6439ea736cee6bca4f068bcf892b0fd658 \ + --hash=sha256:9cc57c68cb9139c7cd6fc39f211b02198e69fb90ce4bc4a094cf5fe0d20fd8b0 \ + --hash=sha256:a007b1638e148c3cfb6bf0bdc4f82776cef0ac487191d093cdc316905e504071 \ + --hash=sha256:a2c34a93e1d2aa35fbf1485e5010337c72c6791407d03aa5f4eed920343dd360 \ + --hash=sha256:a45e1135cb07086833ce969555df39149680e5471c04dfd6a915abd2fc3f6dbc \ + --hash=sha256:ac0e27844758d7177989ce406acc6a83c16ed4524ebc363c1f748cba184d89d3 \ + --hash=sha256:aef9cc3d9c7d63d924adac329c33835e0243b5052a6dfcbf7732a921c6e918ba \ + --hash=sha256:b9d153e7f1f9ba0b23ad1568b3b9e17301e23b042c23870f9ee0522dc5cc79e8 \ + --hash=sha256:bfba7c6d5d7c9099ba21f84662b037a0ffd4a5e6b26ac07d19e423e6fdf965a9 \ + --hash=sha256:c207fff63adcdf5a485969131dc70e4b194327666b7e8a87a97fbc4fd80a53b2 \ + --hash=sha256:d0509e469d48940147e1235d994cd849a8f8195e0bca65f8f5439c56e17872a3 \ + --hash=sha256:d16cce709ebfadc91278a1c005e3c17dd5f71f5098bfae1035149785ea6e9c68 \ + --hash=sha256:d48b8ee1d4068561ce8033d2c344cf5232cb29ee1a0206a7b828c79cbc5982b8 \ + --hash=sha256:de989b195c3d636ba000ee4281cd03bb1234635b124bf4cd89eeee9ca8fcb09d \ + --hash=sha256:e07c8e79d6e6fd37b42f3250dba122053fddb319e84b55dd3a8d6446e1a7ee49 \ + --hash=sha256:e2c2e459f7050aeb7c1b1276763364884595d47000c1cddb51764c0d8976e608 \ + --hash=sha256:e5b20e9599ba74391ca0cfbd7b328fcc20976823ba19bc573983a25b32e92b57 \ + --hash=sha256:e875b6086e325bab7e680e4316d667fc0e5e174bb5611eb16b3ea121c8951b86 \ + --hash=sha256:f4f052ee022928d34fe1f4d2bc743f32609fb79ed9c49a1710a5ad6b2198db20 \ + --hash=sha256:fcb91630817aa8b9bc4a74023e4198480587269c272c58b3279875ed7235c293 \ + --hash=sha256:fd9fc9c4849a07f3635ccffa895d57abce554b467d611a5009ba4f39b78a8849 \ + --hash=sha256:feba80698173761cddd814fa22e88b0661e98cb810f9f986c54aa34d281e4937 \ + --hash=sha256:feea820722e69451743a3d56ad74948b68bf456984d63c1a92e8347b7b88452d + # via + # aiohttp + # yarl +networkx==2.8.8 \ + --hash=sha256:230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e \ + --hash=sha256:e435dfa75b1d7195c7b8378c3859f0445cd88c6b0375c181ed66823a9ceb7524 + # via scikit-image +numba==0.56.4 \ + --hash=sha256:0240f9026b015e336069329839208ebd70ec34ae5bfbf402e4fcc8e06197528e \ + --hash=sha256:03634579d10a6129181129de293dd6b5eaabee86881369d24d63f8fe352dd6cb \ + --hash=sha256:03fe94cd31e96185cce2fae005334a8cc712fc2ba7756e52dff8c9400718173f \ + --hash=sha256:0611e6d3eebe4cb903f1a836ffdb2bda8d18482bcd0a0dcc56e79e2aa3fefef5 \ + --hash=sha256:0da583c532cd72feefd8e551435747e0e0fbb3c0530357e6845fcc11e38d6aea \ + --hash=sha256:14dbbabf6ffcd96ee2ac827389afa59a70ffa9f089576500434c34abf9b054a4 \ + --hash=sha256:32d9fef412c81483d7efe0ceb6cf4d3310fde8b624a9cecca00f790573ac96ee \ + --hash=sha256:3a993349b90569518739009d8f4b523dfedd7e0049e6838c0e17435c3e70dcc4 \ + --hash=sha256:3cb1a07a082a61df80a468f232e452d818f5ae254b40c26390054e4e868556e0 \ + --hash=sha256:42f9e1be942b215df7e6cc9948cf9c15bb8170acc8286c063a9e57994ef82fd1 \ + --hash=sha256:4373da9757049db7c90591e9ec55a2e97b2b36ba7ae3bf9c956a513374077470 \ + --hash=sha256:4e08e203b163ace08bad500b0c16f6092b1eb34fd1fce4feaf31a67a3a5ecf3b \ + --hash=sha256:553da2ce74e8862e18a72a209ed3b6d2924403bdd0fb341fa891c6455545ba7c \ + --hash=sha256:720886b852a2d62619ae3900fe71f1852c62db4f287d0c275a60219e1643fc04 \ + --hash=sha256:85dbaed7a05ff96492b69a8900c5ba605551afb9b27774f7f10511095451137c \ + --hash=sha256:8a95ca9cc77ea4571081f6594e08bd272b66060634b8324e99cd1843020364f9 \ + --hash=sha256:91f021145a8081f881996818474ef737800bcc613ffb1e618a655725a0f9e246 \ + --hash=sha256:9f62672145f8669ec08762895fe85f4cf0ead08ce3164667f2b94b2f62ab23c3 \ + --hash=sha256:a12ef323c0f2101529d455cfde7f4135eaa147bad17afe10b48634f796d96abd \ + --hash=sha256:c602d015478b7958408d788ba00a50272649c5186ea8baa6cf71d4a1c761bba1 \ + --hash=sha256:c75e8a5f810ce80a0cfad6e74ee94f9fde9b40c81312949bf356b7304ef20740 \ + --hash=sha256:d0ae9270a7a5cc0ede63cd234b4ff1ce166c7a749b91dbbf45e0000c56d3eade \ + --hash=sha256:d69ad934e13c15684e7887100a8f5f0f61d7a8e57e0fd29d9993210089a5b531 \ + --hash=sha256:dbcc847bac2d225265d054993a7f910fda66e73d6662fe7156452cac0325b073 \ + --hash=sha256:e64d338b504c9394a4a34942df4627e1e6cb07396ee3b49fe7b8d6420aa5104f \ + --hash=sha256:f4cfc3a19d1e26448032049c79fc60331b104f694cf570a9e94f4e2c9d0932bb \ + --hash=sha256:fbfb45e7b297749029cb28694abf437a78695a100e7c2033983d69f0ba2698d4 \ + --hash=sha256:fcdf84ba3ed8124eb7234adfbb8792f311991cbf8aed1cad4b1b1a7ee08380c1 + # via facexlib +numpy==1.23.4 \ + --hash=sha256:0fe563fc8ed9dc4474cbf70742673fc4391d70f4363f917599a7fa99f042d5a8 \ + --hash=sha256:12ac457b63ec8ded85d85c1e17d85efd3c2b0967ca39560b307a35a6703a4735 \ + --hash=sha256:2341f4ab6dba0834b685cce16dad5f9b6606ea8a00e6da154f5dbded70fdc4dd \ + --hash=sha256:296d17aed51161dbad3c67ed6d164e51fcd18dbcd5dd4f9d0a9c6055dce30810 \ + --hash=sha256:488a66cb667359534bc70028d653ba1cf307bae88eab5929cd707c761ff037db \ + --hash=sha256:4d52914c88b4930dafb6c48ba5115a96cbab40f45740239d9f4159c4ba779962 \ + --hash=sha256:5e13030f8793e9ee42f9c7d5777465a560eb78fa7e11b1c053427f2ccab90c79 \ + --hash=sha256:61be02e3bf810b60ab74e81d6d0d36246dbfb644a462458bb53b595791251911 \ + --hash=sha256:7607b598217745cc40f751da38ffd03512d33ec06f3523fb0b5f82e09f6f676d \ + --hash=sha256:7a70a7d3ce4c0e9284e92285cba91a4a3f5214d87ee0e95928f3614a256a1488 \ + --hash=sha256:7ab46e4e7ec63c8a5e6dbf5c1b9e1c92ba23a7ebecc86c336cb7bf3bd2fb10e5 \ + --hash=sha256:8981d9b5619569899666170c7c9748920f4a5005bf79c72c07d08c8a035757b0 \ + --hash=sha256:8c053d7557a8f022ec823196d242464b6955a7e7e5015b719e76003f63f82d0f \ + --hash=sha256:926db372bc4ac1edf81cfb6c59e2a881606b409ddc0d0920b988174b2e2a767f \ + --hash=sha256:95d79ada05005f6f4f337d3bb9de8a7774f259341c70bc88047a1f7b96a4bcb2 \ + --hash=sha256:95de7dc7dc47a312f6feddd3da2500826defdccbc41608d0031276a24181a2c0 \ + --hash=sha256:a0882323e0ca4245eb0a3d0a74f88ce581cc33aedcfa396e415e5bba7bf05f68 \ + --hash=sha256:a8365b942f9c1a7d0f0dc974747d99dd0a0cdfc5949a33119caf05cb314682d3 \ + --hash=sha256:a8aae2fb3180940011b4862b2dd3756616841c53db9734b27bb93813cd79fce6 \ + --hash=sha256:c237129f0e732885c9a6076a537e974160482eab8f10db6292e92154d4c67d71 \ + --hash=sha256:c67b833dbccefe97cdd3f52798d430b9d3430396af7cdb2a0c32954c3ef73894 \ + --hash=sha256:ce03305dd694c4873b9429274fd41fc7eb4e0e4dea07e0af97a933b079a5814f \ + --hash=sha256:d331afac87c92373826af83d2b2b435f57b17a5c74e6268b79355b970626e329 \ + --hash=sha256:dada341ebb79619fe00a291185bba370c9803b1e1d7051610e01ed809ef3a4ba \ + --hash=sha256:ed2cc92af0efad20198638c69bb0fc2870a58dabfba6eb722c933b48556c686c \ + --hash=sha256:f260da502d7441a45695199b4e7fd8ca87db659ba1c78f2bbf31f934fe76ae0e \ + --hash=sha256:f2f390aa4da44454db40a1f0201401f9036e8d578a25f01a6e237cea238337ef \ + --hash=sha256:f76025acc8e2114bb664294a07ede0727aa75d63a06d2fae96bf29a81747e4a7 + # via + # accelerate + # albumentations + # altair + # basicsr + # clean-fid + # contourpy + # diffusers + # facexlib + # filterpy + # gfpgan + # imageio + # matplotlib + # numba + # opencv-python + # opencv-python-headless + # pandas + # pyarrow + # pydeck + # pytorch-lightning + # pywavelets + # qudida + # realesrgan + # scikit-image + # scikit-learn + # scipy + # streamlit + # taming-transformers-rom1504 + # tb-nightly + # tensorboard + # test-tube + # tifffile + # torch-fidelity + # torchmetrics + # torchvision + # transformers +oauthlib==3.2.2 \ + --hash=sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca \ + --hash=sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918 + # via requests-oauthlib +omegaconf==2.2.3 \ + --hash=sha256:59ff9fba864ffbb5fb710b64e8a9ba37c68fa339a2e2bb4f1b648d6901552523 \ + --hash=sha256:d6f2cbf79a992899eb76c6cb1aedfcf0fe7456a8654382edd5ee0c1b199c0657 + # via taming-transformers-rom1504 +opencv-python==4.6.0.66 \ + --hash=sha256:0dc82a3d8630c099d2f3ac1b1aabee164e8188db54a786abb7a4e27eba309440 \ + --hash=sha256:5af8ba35a4fcb8913ffb86e92403e9a656a4bff4a645d196987468f0f8947875 \ + --hash=sha256:6e32af22e3202748bd233ed8f538741876191863882eba44e332d1a34993165b \ + --hash=sha256:c5bfae41ad4031e66bb10ec4a0a2ffd3e514d092652781e8b1ac98d1b59f1158 \ + --hash=sha256:dbdc84a9b4ea2cbae33861652d25093944b9959279200b7ae0badd32439f74de \ + --hash=sha256:e6e448b62afc95c5b58f97e87ef84699e6607fe5c58730a03301c52496005cae \ + --hash=sha256:f482e78de6e7b0b060ff994ffd859bddc3f7f382bb2019ef157b0ea8ca8712f5 + # via + # basicsr + # facexlib + # gfpgan + # realesrgan +opencv-python-headless==4.6.0.66 \ + --hash=sha256:21e70f8b0c04098cdf466d27184fe6c3820aaef944a22548db95099959c95889 \ + --hash=sha256:2c032c373e447c3fc2a670bca20e2918a1205a6e72854df60425fd3f82c78c32 \ + --hash=sha256:3bacd806cce1f1988e58f3d6f761538e0215d6621d316de94c009dc0acbd6ad3 \ + --hash=sha256:d5291d7e10aa2c19cab6fd86f0d61af8617290ecd2d7ffcb051e446868d04cc5 \ + --hash=sha256:e6c069bc963d7e8fcec21b3e33e594d35948badd63eccb2e80f88b0a12102c03 \ + --hash=sha256:eec6281054346103d6af93f173b7c6a206beb2663d3adc04aa3ddc66e85093df \ + --hash=sha256:ffbf26fcd697af996408440a93bc69c49c05a36845771f984156dfbeaa95d497 + # via + # albumentations + # qudida +packaging==21.3 \ + --hash=sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \ + --hash=sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522 + # via + # accelerate + # huggingface-hub + # kornia + # matplotlib + # pytorch-lightning + # scikit-image + # streamlit + # torchmetrics + # transformers +pandas==1.5.1 \ + --hash=sha256:04e51b01d5192499390c0015630975f57836cc95c7411415b499b599b05c0c96 \ + --hash=sha256:05c527c64ee02a47a24031c880ee0ded05af0623163494173204c5b72ddce658 \ + --hash=sha256:0a78e05ec09731c5b3bd7a9805927ea631fe6f6cb06f0e7c63191a9a778d52b4 \ + --hash=sha256:17da7035d9e6f9ea9cdc3a513161f8739b8f8489d31dc932bc5a29a27243f93d \ + --hash=sha256:249cec5f2a5b22096440bd85c33106b6102e0672204abd2d5c014106459804ee \ + --hash=sha256:2c25e5c16ee5c0feb6cf9d982b869eec94a22ddfda9aa2fbed00842cbb697624 \ + --hash=sha256:32e3d9f65606b3f6e76555bfd1d0b68d94aff0929d82010b791b6254bf5a4b96 \ + --hash=sha256:36aa1f8f680d7584e9b572c3203b20d22d697c31b71189322f16811d4ecfecd3 \ + --hash=sha256:5b0c970e2215572197b42f1cff58a908d734503ea54b326412c70d4692256391 \ + --hash=sha256:5cee0c74e93ed4f9d39007e439debcaadc519d7ea5c0afc3d590a3a7b2edf060 \ + --hash=sha256:669c8605dba6c798c1863157aefde959c1796671ffb342b80fcb80a4c0bc4c26 \ + --hash=sha256:66a1ad667b56e679e06ba73bb88c7309b3f48a4c279bd3afea29f65a766e9036 \ + --hash=sha256:683779e5728ac9138406c59a11e09cd98c7d2c12f0a5fc2b9c5eecdbb4a00075 \ + --hash=sha256:6bb391659a747cf4f181a227c3e64b6d197100d53da98dcd766cc158bdd9ec68 \ + --hash=sha256:81f0674fa50b38b6793cd84fae5d67f58f74c2d974d2cb4e476d26eee33343d0 \ + --hash=sha256:927e59c694e039c75d7023465d311277a1fc29ed7236b5746e9dddf180393113 \ + --hash=sha256:932d2d7d3cab44cfa275601c982f30c2d874722ef6396bb539e41e4dc4618ed4 \ + --hash=sha256:a52419d9ba5906db516109660b114faf791136c94c1a636ed6b29cbfff9187ee \ + --hash=sha256:b156a971bc451c68c9e1f97567c94fd44155f073e3bceb1b0d195fd98ed12048 \ + --hash=sha256:bcf1a82b770b8f8c1e495b19a20d8296f875a796c4fe6e91da5ef107f18c5ecb \ + --hash=sha256:cb2a9cf1150302d69bb99861c5cddc9c25aceacb0a4ef5299785d0f5389a3209 \ + --hash=sha256:d8c709f4700573deb2036d240d140934df7e852520f4a584b2a8d5443b71f54d \ + --hash=sha256:db45b94885000981522fb92349e6b76f5aee0924cc5315881239c7859883117d \ + --hash=sha256:ddf46b940ef815af4e542697eaf071f0531449407a7607dd731bf23d156e20a7 \ + --hash=sha256:e675f8fe9aa6c418dc8d3aac0087b5294c1a4527f1eacf9fe5ea671685285454 \ + --hash=sha256:eb7e8cf2cf11a2580088009b43de84cabbf6f5dae94ceb489f28dba01a17cb77 \ + --hash=sha256:f340331a3f411910adfb4bbe46c2ed5872d9e473a783d7f14ecf49bc0869c594 + # via + # altair + # streamlit + # test-tube +pathtools==0.1.2 \ + --hash=sha256:7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0 + # via wandb +pillow==9.3.0 \ + --hash=sha256:03150abd92771742d4a8cd6f2fa6246d847dcd2e332a18d0c15cc75bf6703040 \ + --hash=sha256:073adb2ae23431d3b9bcbcff3fe698b62ed47211d0716b067385538a1b0f28b8 \ + --hash=sha256:0b07fffc13f474264c336298d1b4ce01d9c5a011415b79d4ee5527bb69ae6f65 \ + --hash=sha256:0b7257127d646ff8676ec8a15520013a698d1fdc48bc2a79ba4e53df792526f2 \ + --hash=sha256:12ce4932caf2ddf3e41d17fc9c02d67126935a44b86df6a206cf0d7161548627 \ + --hash=sha256:15c42fb9dea42465dfd902fb0ecf584b8848ceb28b41ee2b58f866411be33f07 \ + --hash=sha256:18498994b29e1cf86d505edcb7edbe814d133d2232d256db8c7a8ceb34d18cef \ + --hash=sha256:1c7c8ae3864846fc95f4611c78129301e203aaa2af813b703c55d10cc1628535 \ + --hash=sha256:22b012ea2d065fd163ca096f4e37e47cd8b59cf4b0fd47bfca6abb93df70b34c \ + --hash=sha256:276a5ca930c913f714e372b2591a22c4bd3b81a418c0f6635ba832daec1cbcfc \ + --hash=sha256:2e0918e03aa0c72ea56edbb00d4d664294815aa11291a11504a377ea018330d3 \ + --hash=sha256:3033fbe1feb1b59394615a1cafaee85e49d01b51d54de0cbf6aa8e64182518a1 \ + --hash=sha256:3168434d303babf495d4ba58fc22d6604f6e2afb97adc6a423e917dab828939c \ + --hash=sha256:32a44128c4bdca7f31de5be641187367fe2a450ad83b833ef78910397db491aa \ + --hash=sha256:3dd6caf940756101205dffc5367babf288a30043d35f80936f9bfb37f8355b32 \ + --hash=sha256:40e1ce476a7804b0fb74bcfa80b0a2206ea6a882938eaba917f7a0f004b42502 \ + --hash=sha256:41e0051336807468be450d52b8edd12ac60bebaa97fe10c8b660f116e50b30e4 \ + --hash=sha256:4390e9ce199fc1951fcfa65795f239a8a4944117b5935a9317fb320e7767b40f \ + --hash=sha256:502526a2cbfa431d9fc2a079bdd9061a2397b842bb6bc4239bb176da00993812 \ + --hash=sha256:51e0e543a33ed92db9f5ef69a0356e0b1a7a6b6a71b80df99f1d181ae5875636 \ + --hash=sha256:57751894f6618fd4308ed8e0c36c333e2f5469744c34729a27532b3db106ee20 \ + --hash=sha256:5d77adcd56a42d00cc1be30843d3426aa4e660cab4a61021dc84467123f7a00c \ + --hash=sha256:655a83b0058ba47c7c52e4e2df5ecf484c1b0b0349805896dd350cbc416bdd91 \ + --hash=sha256:68943d632f1f9e3dce98908e873b3a090f6cba1cbb1b892a9e8d97c938871fbe \ + --hash=sha256:6c738585d7a9961d8c2821a1eb3dcb978d14e238be3d70f0a706f7fa9316946b \ + --hash=sha256:73bd195e43f3fadecfc50c682f5055ec32ee2c933243cafbfdec69ab1aa87cad \ + --hash=sha256:772a91fc0e03eaf922c63badeca75e91baa80fe2f5f87bdaed4280662aad25c9 \ + --hash=sha256:77ec3e7be99629898c9a6d24a09de089fa5356ee408cdffffe62d67bb75fdd72 \ + --hash=sha256:7db8b751ad307d7cf238f02101e8e36a128a6cb199326e867d1398067381bff4 \ + --hash=sha256:801ec82e4188e935c7f5e22e006d01611d6b41661bba9fe45b60e7ac1a8f84de \ + --hash=sha256:82409ffe29d70fd733ff3c1025a602abb3e67405d41b9403b00b01debc4c9a29 \ + --hash=sha256:828989c45c245518065a110434246c44a56a8b2b2f6347d1409c787e6e4651ee \ + --hash=sha256:829f97c8e258593b9daa80638aee3789b7df9da5cf1336035016d76f03b8860c \ + --hash=sha256:871b72c3643e516db4ecf20efe735deb27fe30ca17800e661d769faab45a18d7 \ + --hash=sha256:89dca0ce00a2b49024df6325925555d406b14aa3efc2f752dbb5940c52c56b11 \ + --hash=sha256:90fb88843d3902fe7c9586d439d1e8c05258f41da473952aa8b328d8b907498c \ + --hash=sha256:97aabc5c50312afa5e0a2b07c17d4ac5e865b250986f8afe2b02d772567a380c \ + --hash=sha256:9aaa107275d8527e9d6e7670b64aabaaa36e5b6bd71a1015ddd21da0d4e06448 \ + --hash=sha256:9f47eabcd2ded7698106b05c2c338672d16a6f2a485e74481f524e2a23c2794b \ + --hash=sha256:a0a06a052c5f37b4ed81c613a455a81f9a3a69429b4fd7bb913c3fa98abefc20 \ + --hash=sha256:ab388aaa3f6ce52ac1cb8e122c4bd46657c15905904b3120a6248b5b8b0bc228 \ + --hash=sha256:ad58d27a5b0262c0c19b47d54c5802db9b34d38bbf886665b626aff83c74bacd \ + --hash=sha256:ae5331c23ce118c53b172fa64a4c037eb83c9165aba3a7ba9ddd3ec9fa64a699 \ + --hash=sha256:af0372acb5d3598f36ec0914deed2a63f6bcdb7b606da04dc19a88d31bf0c05b \ + --hash=sha256:afa4107d1b306cdf8953edde0534562607fe8811b6c4d9a486298ad31de733b2 \ + --hash=sha256:b03ae6f1a1878233ac620c98f3459f79fd77c7e3c2b20d460284e1fb370557d4 \ + --hash=sha256:b0915e734b33a474d76c28e07292f196cdf2a590a0d25bcc06e64e545f2d146c \ + --hash=sha256:b4012d06c846dc2b80651b120e2cdd787b013deb39c09f407727ba90015c684f \ + --hash=sha256:b472b5ea442148d1c3e2209f20f1e0bb0eb556538690fa70b5e1f79fa0ba8dc2 \ + --hash=sha256:b59430236b8e58840a0dfb4099a0e8717ffb779c952426a69ae435ca1f57210c \ + --hash=sha256:b90f7616ea170e92820775ed47e136208e04c967271c9ef615b6fbd08d9af0e3 \ + --hash=sha256:b9a65733d103311331875c1dca05cb4606997fd33d6acfed695b1232ba1df193 \ + --hash=sha256:bac18ab8d2d1e6b4ce25e3424f709aceef668347db8637c2296bcf41acb7cf48 \ + --hash=sha256:bca31dd6014cb8b0b2db1e46081b0ca7d936f856da3b39744aef499db5d84d02 \ + --hash=sha256:be55f8457cd1eac957af0c3f5ece7bc3f033f89b114ef30f710882717670b2a8 \ + --hash=sha256:c7025dce65566eb6e89f56c9509d4f628fddcedb131d9465cacd3d8bac337e7e \ + --hash=sha256:c935a22a557a560108d780f9a0fc426dd7459940dc54faa49d83249c8d3e760f \ + --hash=sha256:dbb8e7f2abee51cef77673be97760abff1674ed32847ce04b4af90f610144c7b \ + --hash=sha256:e6ea6b856a74d560d9326c0f5895ef8050126acfdc7ca08ad703eb0081e82b74 \ + --hash=sha256:ebf2029c1f464c59b8bdbe5143c79fa2045a581ac53679733d3a91d400ff9efb \ + --hash=sha256:f1ff2ee69f10f13a9596480335f406dd1f70c3650349e2be67ca3139280cade0 + # via + # basicsr + # clean-fid + # diffusers + # facexlib + # imageio + # k-diffusion + # matplotlib + # realesrgan + # scikit-image + # streamlit + # torch-fidelity + # torchvision +promise==2.3 \ + --hash=sha256:dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0 + # via wandb +protobuf==3.19.6 \ + --hash=sha256:010be24d5a44be7b0613750ab40bc8b8cedc796db468eae6c779b395f50d1fa1 \ + --hash=sha256:0469bc66160180165e4e29de7f445e57a34ab68f49357392c5b2f54c656ab25e \ + --hash=sha256:0c0714b025ec057b5a7600cb66ce7c693815f897cfda6d6efb58201c472e3437 \ + --hash=sha256:11478547958c2dfea921920617eb457bc26867b0d1aa065ab05f35080c5d9eb6 \ + --hash=sha256:14082457dc02be946f60b15aad35e9f5c69e738f80ebbc0900a19bc83734a5a4 \ + --hash=sha256:2b2d2913bcda0e0ec9a784d194bc490f5dc3d9d71d322d070b11a0ade32ff6ba \ + --hash=sha256:30a15015d86b9c3b8d6bf78d5b8c7749f2512c29f168ca259c9d7727604d0e39 \ + --hash=sha256:30f5370d50295b246eaa0296533403961f7e64b03ea12265d6dfce3a391d8992 \ + --hash=sha256:347b393d4dd06fb93a77620781e11c058b3b0a5289262f094379ada2920a3730 \ + --hash=sha256:4bc98de3cdccfb5cd769620d5785b92c662b6bfad03a202b83799b6ed3fa1fa7 \ + --hash=sha256:5057c64052a1f1dd7d4450e9aac25af6bf36cfbfb3a1cd89d16393a036c49157 \ + --hash=sha256:559670e006e3173308c9254d63facb2c03865818f22204037ab76f7a0ff70b5f \ + --hash=sha256:5a0d7539a1b1fb7e76bf5faa0b44b30f812758e989e59c40f77a7dab320e79b9 \ + --hash=sha256:5f5540d57a43042389e87661c6eaa50f47c19c6176e8cf1c4f287aeefeccb5c4 \ + --hash=sha256:7a552af4dc34793803f4e735aabe97ffc45962dfd3a237bdde242bff5a3de684 \ + --hash=sha256:84a04134866861b11556a82dd91ea6daf1f4925746b992f277b84013a7cc1229 \ + --hash=sha256:878b4cd080a21ddda6ac6d1e163403ec6eea2e206cf225982ae04567d39be7b0 \ + --hash=sha256:90b0d02163c4e67279ddb6dc25e063db0130fc299aefabb5d481053509fae5c8 \ + --hash=sha256:91d5f1e139ff92c37e0ff07f391101df77e55ebb97f46bbc1535298d72019462 \ + --hash=sha256:a8ce5ae0de28b51dff886fb922012dad885e66176663950cb2344c0439ecb473 \ + --hash=sha256:aa3b82ca1f24ab5326dcf4ea00fcbda703e986b22f3d27541654f749564d778b \ + --hash=sha256:bb6776bd18f01ffe9920e78e03a8676530a5d6c5911934c6a1ac6eb78973ecb6 \ + --hash=sha256:bbf5cea5048272e1c60d235c7bd12ce1b14b8a16e76917f371c718bd3005f045 \ + --hash=sha256:c0ccd3f940fe7f3b35a261b1dd1b4fc850c8fde9f74207015431f174be5976b3 \ + --hash=sha256:d0b635cefebd7a8a0f92020562dead912f81f401af7e71f16bf9506ff3bdbb38 + # via + # streamlit + # tb-nightly + # tensorboard + # wandb +psutil==5.9.3 \ + --hash=sha256:07d880053c6461c9b89cd5d4808f3b8336665fa3acdefd6777662c5ed73a851a \ + --hash=sha256:12500d761ac091f2426567f19f95fd3f15a197d96befb44a5c1e3cbe6db5752c \ + --hash=sha256:1b540599481c73408f6b392cdffef5b01e8ff7a2ac8caae0a91b8222e88e8f1e \ + --hash=sha256:35feafe232d1aaf35d51bd42790cbccb882456f9f18cdc411532902370d660df \ + --hash=sha256:3a7826e68b0cf4ce2c1ee385d64eab7d70e3133171376cac53d7c1790357ec8f \ + --hash=sha256:46907fa62acaac364fff0b8a9da7b360265d217e4fdeaca0a2397a6883dffba2 \ + --hash=sha256:4bd4854f0c83aa84a5a40d3b5d0eb1f3c128f4146371e03baed4589fe4f3c931 \ + --hash=sha256:538fcf6ae856b5e12d13d7da25ad67f02113c96f5989e6ad44422cb5994ca7fc \ + --hash=sha256:547ebb02031fdada635452250ff39942db8310b5c4a8102dfe9384ee5791e650 \ + --hash=sha256:5e8b50241dd3c2ed498507f87a6602825073c07f3b7e9560c58411c14fe1e1c9 \ + --hash=sha256:5fa88e3d5d0b480602553d362c4b33a63e0c40bfea7312a7bf78799e01e0810b \ + --hash=sha256:68fa227c32240c52982cb931801c5707a7f96dd8927f9102d6c7771ea1ff5698 \ + --hash=sha256:6ced1ad823ecfa7d3ce26fe8aa4996e2e53fb49b7fed8ad81c80958501ec0619 \ + --hash=sha256:71b1206e7909792d16933a0d2c1c7f04ae196186c51ba8567abae1d041f06dcb \ + --hash=sha256:767ef4fa33acda16703725c0473a91e1832d296c37c63896c7153ba81698f1ab \ + --hash=sha256:7ccfcdfea4fc4b0a02ca2c31de7fcd186beb9cff8207800e14ab66f79c773af6 \ + --hash=sha256:7e4939ff75149b67aef77980409f156f0082fa36accc475d45c705bb00c6c16a \ + --hash=sha256:828c9dc9478b34ab96be75c81942d8df0c2bb49edbb481f597314d92b6441d89 \ + --hash=sha256:8a4e07611997acf178ad13b842377e3d8e9d0a5bac43ece9bfc22a96735d9a4f \ + --hash=sha256:941a6c2c591da455d760121b44097781bc970be40e0e43081b9139da485ad5b7 \ + --hash=sha256:9a4af6ed1094f867834f5f07acd1250605a0874169a5fcadbcec864aec2496a6 \ + --hash=sha256:9ec296f565191f89c48f33d9544d8d82b0d2af7dd7d2d4e6319f27a818f8d1cc \ + --hash=sha256:9ec95df684583b5596c82bb380c53a603bb051cf019d5c849c47e117c5064395 \ + --hash=sha256:a04a1836894c8279e5e0a0127c0db8e198ca133d28be8a2a72b4db16f6cf99c1 \ + --hash=sha256:a3d81165b8474087bb90ec4f333a638ccfd1d69d34a9b4a1a7eaac06648f9fbe \ + --hash=sha256:b4a247cd3feaae39bb6085fcebf35b3b8ecd9b022db796d89c8f05067ca28e71 \ + --hash=sha256:ba38cf9984d5462b506e239cf4bc24e84ead4b1d71a3be35e66dad0d13ded7c1 \ + --hash=sha256:beb57d8a1ca0ae0eb3d08ccaceb77e1a6d93606f0e1754f0d60a6ebd5c288837 \ + --hash=sha256:d266cd05bd4a95ca1c2b9b5aac50d249cf7c94a542f47e0b22928ddf8b80d1ef \ + --hash=sha256:d8c3cc6bb76492133474e130a12351a325336c01c96a24aae731abf5a47fe088 \ + --hash=sha256:db8e62016add2235cc87fb7ea000ede9e4ca0aa1f221b40cef049d02d5d2593d \ + --hash=sha256:e7507f6c7b0262d3e7b0eeda15045bf5881f4ada70473b87bc7b7c93b992a7d7 \ + --hash=sha256:ed15edb14f52925869250b1375f0ff58ca5c4fa8adefe4883cfb0737d32f5c02 \ + --hash=sha256:f57d63a2b5beaf797b87024d018772439f9d3103a395627b77d17a8d72009543 \ + --hash=sha256:fa5e32c7d9b60b2528108ade2929b115167fe98d59f89555574715054f50fa31 \ + --hash=sha256:fe79b4ad4836e3da6c4650cb85a663b3a51aef22e1a829c384e18fae87e5e727 + # via + # accelerate + # wandb +pyarrow==10.0.0 \ + --hash=sha256:10e031794d019425d34406edffe7e32157359e9455f9edb97a1732f8dabf802f \ + --hash=sha256:25f51dca780fc22cfd7ac30f6bdfe70eb99145aee9acfda987f2c49955d66ed9 \ + --hash=sha256:2d326a9d47ac237d81b8c4337e9d30a0b361835b536fc7ea53991455ce761fbd \ + --hash=sha256:3d2694f08c8d4482d14e3798ff036dbd81ae6b1c47948f52515e1aa90fbec3f0 \ + --hash=sha256:4051664d354b14939b5da35cfa77821ade594bc1cf56dd2032b3068c96697d74 \ + --hash=sha256:511735040b83f2993f78d7fb615e7b88253d75f41500e87e587c40156ff88120 \ + --hash=sha256:65d4a312f3ced318423704355acaccc7f7bdfe242472e59bdd54aa0f8837adf8 \ + --hash=sha256:68ccb82c04c0f7abf7a95541d5e9d9d94290fc66a2d36d3f6ea0777f40c15654 \ + --hash=sha256:69b8a1fd99201178799b02f18498633847109b701856ec762f314352a431b7d0 \ + --hash=sha256:758284e1ebd3f2a9abb30544bfec28d151a398bb7c0f2578cbca5ee5b000364a \ + --hash=sha256:7be7f42f713068293308c989a4a3a2de03b70199bdbe753901c6595ff8640c64 \ + --hash=sha256:7ce026274cd5d9934cd3694e89edecde4e036018bbc6cb735fd33b9e967e7d47 \ + --hash=sha256:7e6b837cc44cd62a0e280c8fc4de94ebce503d6d1190e6e94157ab49a8bea67b \ + --hash=sha256:b153b05765393557716e3729cf988442b3ae4f5567364ded40d58c07feed27c2 \ + --hash=sha256:b3e3148468d3eed3779d68241f1d13ed4ee7cca4c6dbc7c07e5062b93ad4da33 \ + --hash=sha256:b45f969ed924282e9d4ede38f3430630d809c36dbff65452cabce03141943d28 \ + --hash=sha256:b9f63ceb8346aac0bcb487fafe9faca642ad448ca649fcf66a027c6e120cbc12 \ + --hash=sha256:c79300e1a3e23f2bf4defcf0d70ff5ea25ef6ebf6f121d8670ee14bb662bb7ca \ + --hash=sha256:d45a59e2f47826544c0ca70bc0f7ed8ffa5ad23f93b0458230c7e983bcad1acf \ + --hash=sha256:e4c6da9f9e1ff96781ee1478f7cc0860e66c23584887b8e297c4b9905c3c9066 \ + --hash=sha256:f329951d56b3b943c353f7b27c894e02367a7efbb9fef7979c6b24e02dbfcf55 \ + --hash=sha256:f76157d9579571c865860e5fd004537c03e21139db76692d96fd8a186adab1f2 + # via streamlit +pyasn1==0.4.8 \ + --hash=sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d \ + --hash=sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba + # via + # pyasn1-modules + # rsa +pyasn1-modules==0.2.8 \ + --hash=sha256:905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e \ + --hash=sha256:a50b808ffeb97cb3601dd25981f6b016cbb3d31fbf57a8b8a87428e6158d0c74 + # via google-auth +pydeck==0.8.0 \ + --hash=sha256:07edde833f7cfcef6749124351195aa7dcd24663d4909fd7898dbd0b6fbc01ec \ + --hash=sha256:a8fa7757c6f24bba033af39db3147cb020eef44012ba7e60d954de187f9ed4d5 + # via streamlit +pydeprecate==0.3.2 \ + --hash=sha256:d481116cc5d7f6c473e7c4be820efdd9b90a16b594b350276e9e66a6cb5bdd29 \ + --hash=sha256:ed86b68ed837e6465245904a3de2f59bf9eef78ac7a2502ee280533d04802457 + # via pytorch-lightning +pygments==2.13.0 \ + --hash=sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1 \ + --hash=sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42 + # via rich +pympler==1.0.1 \ + --hash=sha256:993f1a3599ca3f4fcd7160c7545ad06310c9e12f70174ae7ae8d4e25f6c5d3fa \ + --hash=sha256:d260dda9ae781e1eab6ea15bacb84015849833ba5555f141d2d9b7b7473b307d + # via streamlit +pyparsing==3.0.9 \ + --hash=sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \ + --hash=sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc + # via + # matplotlib + # packaging +pyreadline3==3.4.1 \ + --hash=sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae \ + --hash=sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb + # via -r requirements.in +pyrsistent==0.19.2 \ + --hash=sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed \ + --hash=sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb \ + --hash=sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a \ + --hash=sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95 \ + --hash=sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712 \ + --hash=sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73 \ + --hash=sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41 \ + --hash=sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b \ + --hash=sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78 \ + --hash=sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab \ + --hash=sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308 \ + --hash=sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425 \ + --hash=sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2 \ + --hash=sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e \ + --hash=sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6 \ + --hash=sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2 \ + --hash=sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a \ + --hash=sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291 \ + --hash=sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584 \ + --hash=sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a \ + --hash=sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0 \ + --hash=sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770 + # via jsonschema +python-dateutil==2.8.2 \ + --hash=sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86 \ + --hash=sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9 + # via + # matplotlib + # pandas + # streamlit +python-engineio==4.3.4 \ + --hash=sha256:7454314a529bba20e745928601ffeaf101c1b5aca9a6c4e48ad397803d10ea0c \ + --hash=sha256:d8d8b072799c36cadcdcc2b40d2a560ce09797ab3d2d596b2ad519a5e4df19ae + # via python-socketio +python-socketio==5.7.2 \ + --hash=sha256:92395062d9db3c13d30e7cdedaa0e1330bba78505645db695415f9a3c628d097 \ + --hash=sha256:d9a9f047e6fdd306c852fbac36516f4b495c2096f8ad9ceb8803b8e5ff5622e3 + # via flask-socketio +pytorch-lightning==1.7.7 \ + --hash=sha256:27c2dd01a18db2415168e3fa3775ccb5a1fa1e2961a50439ad9365507fe9d4ae \ + --hash=sha256:4438b8284d7f7fdb06cf3566a7b5b6f102ac8971cf7bb6d3f1b1de64628241f3 + # via taming-transformers-rom1504 +pytz==2022.6 \ + --hash=sha256:222439474e9c98fced559f1709d89e6c9cbf8d79c794ff3eb9f8800064291427 \ + --hash=sha256:e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2 + # via pandas +pytz-deprecation-shim==0.1.0.post0 \ + --hash=sha256:8314c9692a636c8eb3bda879b9f119e350e93223ae83e70e80c31675a0fdc1a6 \ + --hash=sha256:af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d + # via tzlocal +pywavelets==1.4.1 \ + --hash=sha256:030670a213ee8fefa56f6387b0c8e7d970c7f7ad6850dc048bd7c89364771b9b \ + --hash=sha256:058b46434eac4c04dd89aeef6fa39e4b6496a951d78c500b6641fd5b2cc2f9f4 \ + --hash=sha256:231b0e0b1cdc1112f4af3c24eea7bf181c418d37922a67670e9bf6cfa2d544d4 \ + --hash=sha256:23bafd60350b2b868076d976bdd92f950b3944f119b4754b1d7ff22b7acbf6c6 \ + --hash=sha256:3f19327f2129fb7977bc59b966b4974dfd72879c093e44a7287500a7032695de \ + --hash=sha256:47cac4fa25bed76a45bc781a293c26ac63e8eaae9eb8f9be961758d22b58649c \ + --hash=sha256:578af438a02a86b70f1975b546f68aaaf38f28fb082a61ceb799816049ed18aa \ + --hash=sha256:6437af3ddf083118c26d8f97ab43b0724b956c9f958e9ea788659f6a2834ba93 \ + --hash=sha256:64c6bac6204327321db30b775060fbe8e8642316e6bff17f06b9f34936f88875 \ + --hash=sha256:67a0d28a08909f21400cb09ff62ba94c064882ffd9e3a6b27880a111211d59bd \ + --hash=sha256:71ab30f51ee4470741bb55fc6b197b4a2b612232e30f6ac069106f0156342356 \ + --hash=sha256:7231461d7a8eb3bdc7aa2d97d9f67ea5a9f8902522818e7e2ead9c2b3408eeb1 \ + --hash=sha256:754fa5085768227c4f4a26c1e0c78bc509a266d9ebd0eb69a278be7e3ece943c \ + --hash=sha256:7ab8d9db0fe549ab2ee0bea61f614e658dd2df419d5b75fba47baa761e95f8f2 \ + --hash=sha256:875d4d620eee655346e3589a16a73790cf9f8917abba062234439b594e706784 \ + --hash=sha256:88aa5449e109d8f5e7f0adef85f7f73b1ab086102865be64421a3a3d02d277f4 \ + --hash=sha256:91d3d393cffa634f0e550d88c0e3f217c96cfb9e32781f2960876f1808d9b45b \ + --hash=sha256:9cb5ca8d11d3f98e89e65796a2125be98424d22e5ada360a0dbabff659fca0fc \ + --hash=sha256:ab7da0a17822cd2f6545626946d3b82d1a8e106afc4b50e3387719ba01c7b966 \ + --hash=sha256:ad987748f60418d5f4138db89d82ba0cb49b086e0cbb8fd5c3ed4a814cfb705e \ + --hash=sha256:d0e56cd7a53aed3cceca91a04d62feb3a0aca6725b1912d29546c26f6ea90426 \ + --hash=sha256:d854411eb5ee9cb4bc5d0e66e3634aeb8f594210f6a1bed96dbed57ec70f181c \ + --hash=sha256:da7b9c006171be1f9ddb12cc6e0d3d703b95f7f43cb5e2c6f5f15d3233fcf202 \ + --hash=sha256:daf0aa79842b571308d7c31a9c43bc99a30b6328e6aea3f50388cd8f69ba7dbc \ + --hash=sha256:de7cd61a88a982edfec01ea755b0740e94766e00a1ceceeafef3ed4c85c605cd + # via scikit-image +pyyaml==6.0 \ + --hash=sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf \ + --hash=sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293 \ + --hash=sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b \ + --hash=sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57 \ + --hash=sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b \ + --hash=sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4 \ + --hash=sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07 \ + --hash=sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba \ + --hash=sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9 \ + --hash=sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287 \ + --hash=sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513 \ + --hash=sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0 \ + --hash=sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782 \ + --hash=sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0 \ + --hash=sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92 \ + --hash=sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f \ + --hash=sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2 \ + --hash=sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc \ + --hash=sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1 \ + --hash=sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c \ + --hash=sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86 \ + --hash=sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4 \ + --hash=sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c \ + --hash=sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34 \ + --hash=sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b \ + --hash=sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d \ + --hash=sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c \ + --hash=sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb \ + --hash=sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7 \ + --hash=sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737 \ + --hash=sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3 \ + --hash=sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d \ + --hash=sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358 \ + --hash=sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53 \ + --hash=sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78 \ + --hash=sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803 \ + --hash=sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a \ + --hash=sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f \ + --hash=sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174 \ + --hash=sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5 + # via + # accelerate + # albumentations + # basicsr + # gfpgan + # huggingface-hub + # omegaconf + # pytorch-lightning + # transformers + # wandb +qudida==0.0.4 \ + --hash=sha256:4519714c40cd0f2e6c51e1735edae8f8b19f4efe1f33be13e9d644ca5f736dd6 \ + --hash=sha256:db198e2887ab0c9aa0023e565afbff41dfb76b361f85fd5e13f780d75ba18cc8 + # via albumentations +realesrgan==0.3.0 \ + --hash=sha256:0d36da96ab9f447071606e91f502ccdfb08f80cc82ee4f8caf720c7745ccec7e \ + --hash=sha256:59336c16c30dd5130eff350dd27424acb9b7281d18a6810130e265606c9a6088 + # via -r requirements.in +regex==2022.10.31 \ + --hash=sha256:052b670fafbe30966bbe5d025e90b2a491f85dfe5b2583a163b5e60a85a321ad \ + --hash=sha256:0653d012b3bf45f194e5e6a41df9258811ac8fc395579fa82958a8b76286bea4 \ + --hash=sha256:0a069c8483466806ab94ea9068c34b200b8bfc66b6762f45a831c4baaa9e8cdd \ + --hash=sha256:0cf0da36a212978be2c2e2e2d04bdff46f850108fccc1851332bcae51c8907cc \ + --hash=sha256:131d4be09bea7ce2577f9623e415cab287a3c8e0624f778c1d955ec7c281bd4d \ + --hash=sha256:144486e029793a733e43b2e37df16a16df4ceb62102636ff3db6033994711066 \ + --hash=sha256:1ddf14031a3882f684b8642cb74eea3af93a2be68893901b2b387c5fd92a03ec \ + --hash=sha256:1eba476b1b242620c266edf6325b443a2e22b633217a9835a52d8da2b5c051f9 \ + --hash=sha256:20f61c9944f0be2dc2b75689ba409938c14876c19d02f7585af4460b6a21403e \ + --hash=sha256:22960019a842777a9fa5134c2364efaed5fbf9610ddc5c904bd3a400973b0eb8 \ + --hash=sha256:22e7ebc231d28393dfdc19b185d97e14a0f178bedd78e85aad660e93b646604e \ + --hash=sha256:23cbb932cc53a86ebde0fb72e7e645f9a5eec1a5af7aa9ce333e46286caef783 \ + --hash=sha256:29c04741b9ae13d1e94cf93fca257730b97ce6ea64cfe1eba11cf9ac4e85afb6 \ + --hash=sha256:2bde29cc44fa81c0a0c8686992c3080b37c488df167a371500b2a43ce9f026d1 \ + --hash=sha256:2cdc55ca07b4e70dda898d2ab7150ecf17c990076d3acd7a5f3b25cb23a69f1c \ + --hash=sha256:370f6e97d02bf2dd20d7468ce4f38e173a124e769762d00beadec3bc2f4b3bc4 \ + --hash=sha256:395161bbdbd04a8333b9ff9763a05e9ceb4fe210e3c7690f5e68cedd3d65d8e1 \ + --hash=sha256:44136355e2f5e06bf6b23d337a75386371ba742ffa771440b85bed367c1318d1 \ + --hash=sha256:44a6c2f6374e0033873e9ed577a54a3602b4f609867794c1a3ebba65e4c93ee7 \ + --hash=sha256:4919899577ba37f505aaebdf6e7dc812d55e8f097331312db7f1aab18767cce8 \ + --hash=sha256:4b4b1fe58cd102d75ef0552cf17242705ce0759f9695334a56644ad2d83903fe \ + --hash=sha256:4bdd56ee719a8f751cf5a593476a441c4e56c9b64dc1f0f30902858c4ef8771d \ + --hash=sha256:4bf41b8b0a80708f7e0384519795e80dcb44d7199a35d52c15cc674d10b3081b \ + --hash=sha256:4cac3405d8dda8bc6ed499557625585544dd5cbf32072dcc72b5a176cb1271c8 \ + --hash=sha256:4fe7fda2fe7c8890d454f2cbc91d6c01baf206fbc96d89a80241a02985118c0c \ + --hash=sha256:50921c140561d3db2ab9f5b11c5184846cde686bb5a9dc64cae442926e86f3af \ + --hash=sha256:5217c25229b6a85049416a5c1e6451e9060a1edcf988641e309dbe3ab26d3e49 \ + --hash=sha256:5352bea8a8f84b89d45ccc503f390a6be77917932b1c98c4cdc3565137acc714 \ + --hash=sha256:542e3e306d1669b25936b64917285cdffcd4f5c6f0247636fec037187bd93542 \ + --hash=sha256:543883e3496c8b6d58bd036c99486c3c8387c2fc01f7a342b760c1ea3158a318 \ + --hash=sha256:586b36ebda81e6c1a9c5a5d0bfdc236399ba6595e1397842fd4a45648c30f35e \ + --hash=sha256:597f899f4ed42a38df7b0e46714880fb4e19a25c2f66e5c908805466721760f5 \ + --hash=sha256:5a260758454580f11dd8743fa98319bb046037dfab4f7828008909d0aa5292bc \ + --hash=sha256:5aefb84a301327ad115e9d346c8e2760009131d9d4b4c6b213648d02e2abe144 \ + --hash=sha256:5e6a5567078b3eaed93558842346c9d678e116ab0135e22eb72db8325e90b453 \ + --hash=sha256:5ff525698de226c0ca743bfa71fc6b378cda2ddcf0d22d7c37b1cc925c9650a5 \ + --hash=sha256:61edbca89aa3f5ef7ecac8c23d975fe7261c12665f1d90a6b1af527bba86ce61 \ + --hash=sha256:659175b2144d199560d99a8d13b2228b85e6019b6e09e556209dfb8c37b78a11 \ + --hash=sha256:6a9a19bea8495bb419dc5d38c4519567781cd8d571c72efc6aa959473d10221a \ + --hash=sha256:6b30bddd61d2a3261f025ad0f9ee2586988c6a00c780a2fb0a92cea2aa702c54 \ + --hash=sha256:6ffd55b5aedc6f25fd8d9f905c9376ca44fcf768673ffb9d160dd6f409bfda73 \ + --hash=sha256:702d8fc6f25bbf412ee706bd73019da5e44a8400861dfff7ff31eb5b4a1276dc \ + --hash=sha256:74bcab50a13960f2a610cdcd066e25f1fd59e23b69637c92ad470784a51b1347 \ + --hash=sha256:75f591b2055523fc02a4bbe598aa867df9e953255f0b7f7715d2a36a9c30065c \ + --hash=sha256:763b64853b0a8f4f9cfb41a76a4a85a9bcda7fdda5cb057016e7706fde928e66 \ + --hash=sha256:76c598ca73ec73a2f568e2a72ba46c3b6c8690ad9a07092b18e48ceb936e9f0c \ + --hash=sha256:78d680ef3e4d405f36f0d6d1ea54e740366f061645930072d39bca16a10d8c93 \ + --hash=sha256:7b280948d00bd3973c1998f92e22aa3ecb76682e3a4255f33e1020bd32adf443 \ + --hash=sha256:7db345956ecce0c99b97b042b4ca7326feeec6b75facd8390af73b18e2650ffc \ + --hash=sha256:7dbdce0c534bbf52274b94768b3498abdf675a691fec5f751b6057b3030f34c1 \ + --hash=sha256:7ef6b5942e6bfc5706301a18a62300c60db9af7f6368042227ccb7eeb22d0892 \ + --hash=sha256:7f5a3ffc731494f1a57bd91c47dc483a1e10048131ffb52d901bfe2beb6102e8 \ + --hash=sha256:8a45b6514861916c429e6059a55cf7db74670eaed2052a648e3e4d04f070e001 \ + --hash=sha256:8ad241da7fac963d7573cc67a064c57c58766b62a9a20c452ca1f21050868dfa \ + --hash=sha256:8b0886885f7323beea6f552c28bff62cbe0983b9fbb94126531693ea6c5ebb90 \ + --hash=sha256:8ca88da1bd78990b536c4a7765f719803eb4f8f9971cc22d6ca965c10a7f2c4c \ + --hash=sha256:8e0caeff18b96ea90fc0eb6e3bdb2b10ab5b01a95128dfeccb64a7238decf5f0 \ + --hash=sha256:957403a978e10fb3ca42572a23e6f7badff39aa1ce2f4ade68ee452dc6807692 \ + --hash=sha256:9af69f6746120998cd9c355e9c3c6aec7dff70d47247188feb4f829502be8ab4 \ + --hash=sha256:9c94f7cc91ab16b36ba5ce476f1904c91d6c92441f01cd61a8e2729442d6fcf5 \ + --hash=sha256:a37d51fa9a00d265cf73f3de3930fa9c41548177ba4f0faf76e61d512c774690 \ + --hash=sha256:a3a98921da9a1bf8457aeee6a551948a83601689e5ecdd736894ea9bbec77e83 \ + --hash=sha256:a3c1ebd4ed8e76e886507c9eddb1a891673686c813adf889b864a17fafcf6d66 \ + --hash=sha256:a5f9505efd574d1e5b4a76ac9dd92a12acb2b309551e9aa874c13c11caefbe4f \ + --hash=sha256:a8ff454ef0bb061e37df03557afda9d785c905dab15584860f982e88be73015f \ + --hash=sha256:a9d0b68ac1743964755ae2d89772c7e6fb0118acd4d0b7464eaf3921c6b49dd4 \ + --hash=sha256:aa62a07ac93b7cb6b7d0389d8ef57ffc321d78f60c037b19dfa78d6b17c928ee \ + --hash=sha256:ac741bf78b9bb432e2d314439275235f41656e189856b11fb4e774d9f7246d81 \ + --hash=sha256:ae1e96785696b543394a4e3f15f3f225d44f3c55dafe3f206493031419fedf95 \ + --hash=sha256:b683e5fd7f74fb66e89a1ed16076dbab3f8e9f34c18b1979ded614fe10cdc4d9 \ + --hash=sha256:b7a8b43ee64ca8f4befa2bea4083f7c52c92864d8518244bfa6e88c751fa8fff \ + --hash=sha256:b8e38472739028e5f2c3a4aded0ab7eadc447f0d84f310c7a8bb697ec417229e \ + --hash=sha256:bfff48c7bd23c6e2aec6454aaf6edc44444b229e94743b34bdcdda2e35126cf5 \ + --hash=sha256:c14b63c9d7bab795d17392c7c1f9aaabbffd4cf4387725a0ac69109fb3b550c6 \ + --hash=sha256:c27cc1e4b197092e50ddbf0118c788d9977f3f8f35bfbbd3e76c1846a3443df7 \ + --hash=sha256:c28d3309ebd6d6b2cf82969b5179bed5fefe6142c70f354ece94324fa11bf6a1 \ + --hash=sha256:c670f4773f2f6f1957ff8a3962c7dd12e4be54d05839b216cb7fd70b5a1df394 \ + --hash=sha256:ce6910b56b700bea7be82c54ddf2e0ed792a577dfaa4a76b9af07d550af435c6 \ + --hash=sha256:d0213671691e341f6849bf33cd9fad21f7b1cb88b89e024f33370733fec58742 \ + --hash=sha256:d03fe67b2325cb3f09be029fd5da8df9e6974f0cde2c2ac6a79d2634e791dd57 \ + --hash=sha256:d0e5af9a9effb88535a472e19169e09ce750c3d442fb222254a276d77808620b \ + --hash=sha256:d243b36fbf3d73c25e48014961e83c19c9cc92530516ce3c43050ea6276a2ab7 \ + --hash=sha256:d26166acf62f731f50bdd885b04b38828436d74e8e362bfcb8df221d868b5d9b \ + --hash=sha256:d403d781b0e06d2922435ce3b8d2376579f0c217ae491e273bab8d092727d244 \ + --hash=sha256:d8716f82502997b3d0895d1c64c3b834181b1eaca28f3f6336a71777e437c2af \ + --hash=sha256:e4f781ffedd17b0b834c8731b75cce2639d5a8afe961c1e58ee7f1f20b3af185 \ + --hash=sha256:e613a98ead2005c4ce037c7b061f2409a1a4e45099edb0ef3200ee26ed2a69a8 \ + --hash=sha256:ef4163770525257876f10e8ece1cf25b71468316f61451ded1a6f44273eedeb5 + # via + # clip + # diffusers + # transformers +requests==2.25.1 \ + --hash=sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804 \ + --hash=sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e + # via + # basicsr + # clean-fid + # diffusers + # fsspec + # huggingface-hub + # requests-oauthlib + # streamlit + # tb-nightly + # tensorboard + # torchvision + # transformers + # wandb +requests-oauthlib==1.3.1 \ + --hash=sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5 \ + --hash=sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a + # via google-auth-oauthlib +resize-right==0.0.2 \ + --hash=sha256:78351ca3eda0872208fcbc90861b45de559f90fb4027ce41825fdeb9b995005c \ + --hash=sha256:7dc35b72ce4012b77f7cc9049835163793ab98a58ab8893610fb119fe59af520 + # via k-diffusion +rich==12.6.0 \ + --hash=sha256:a4eb26484f2c82589bd9a17c73d32a010b1e29d89f1604cd9bf3a2097b81bb5e \ + --hash=sha256:ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0 + # via streamlit +rsa==4.9 \ + --hash=sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 \ + --hash=sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21 + # via google-auth +scikit-image==0.19.3 \ + --hash=sha256:03779a7e1736fdf89d83c0ba67d44110496edd736a3bfce61a2b5177a1c8a099 \ + --hash=sha256:0b0a199157ce8487c77de4fde0edc0b42d6d42818881c11f459262351d678b2d \ + --hash=sha256:19a21a101a20c587a3b611a2cf6f86c35aae9f8d9563279b987e83ee1c9a9790 \ + --hash=sha256:24b5367de1762da6ee126dd8f30cc4e7efda474e0d7d70685433f0e3aa2ec450 \ + --hash=sha256:2a02d1bd0e2b53e36b952bd5fd6118d9ccc3ee51de35705d63d8eb1f2e86adef \ + --hash=sha256:2f50b923f8099c1045fcde7418d86b206c87e333e43da980f41d8577b9605245 \ + --hash=sha256:32fb88cc36203b99c9672fb972c9ef98635deaa5fc889fe969f3e11c44f22919 \ + --hash=sha256:33dfd463ee6cc509defa279b963829f2230c9e0639ccd3931045be055878eea6 \ + --hash=sha256:3a01372ae4bca223873304b0bff79b9d92446ac6d6177f73d89b45561e2d09d8 \ + --hash=sha256:651de1c2ce1fbee834753b46b8e7d81cb12a5594898babba63ac82b30ddad49d \ + --hash=sha256:6b6a8f98f2ac9bb73706461fd1dec875f6a5141759ed526850a5a49e90003d19 \ + --hash=sha256:7f9f8a1387afc6c70f2bed007c3854a2d7489f9f7713c242f16f32ee05934bc2 \ + --hash=sha256:84baa3179f3ae983c3a5d81c1e404bc92dcf7daeb41bfe9369badcda3fb22b92 \ + --hash=sha256:8d8917fcf85b987b1f287f823f3a1a7dac38b70aaca759bc0200f3bc292d5ced \ + --hash=sha256:9439e5294de3f18d6e82ec8eee2c46590231cf9c690da80545e83a0733b7a69e \ + --hash=sha256:9fb0923a3bfa99457c5e17888f27b3b8a83a3600b4fef317992e7b7234764732 \ + --hash=sha256:a7c3985c68bfe05f7571167ee021d14f5b8d1a4a250c91f0b13be7fb07e6af34 \ + --hash=sha256:a8714348ddd671f819457a797c97d4c672166f093def66d66c3254cbd1d43f83 \ + --hash=sha256:ad5d8000207a264d1a55681a9276e6a739d3f05cf4429004ad00d61d1892235f \ + --hash=sha256:cc24177de3fdceca5d04807ad9c87d665f0bf01032ed94a9055cd1ed2b3f33e9 \ + --hash=sha256:ce3d2207f253b8eb2c824e30d145a9f07a34a14212d57f3beca9f7e03c383cbe \ + --hash=sha256:cfbb073f23deb48e0e60c47f8741d8089121d89cc78629ea8c5b51096efc5be7 \ + --hash=sha256:e207c6ce5ce121d7d9b9d2b61b9adca57d1abed112c902d8ffbfdc20fb42c12b \ + --hash=sha256:fd9dd3994bb6f9f7a35f228323f3c4dc44b3cf2ff15fd72d895216e9333550c6 \ + --hash=sha256:fdf48d9b1f13af69e4e2c78e05067e322e9c8c97463c315cd0ecb47a94e259fc \ + --hash=sha256:ff3b1025356508d41f4fe48528e509d95f9e4015e90cf158cd58c56dc63e0ac5 + # via + # albumentations + # basicsr + # k-diffusion +scikit-learn==1.1.3 \ + --hash=sha256:23fb9e74b813cc2528b5167d82ed08950b11106ccf50297161875e45152fb311 \ + --hash=sha256:250da993701da88bf475e7c5746abf1285ea0ae47e4d0917cd13afd6600bb162 \ + --hash=sha256:28b2bd6a1419acd522ff45d282c8ba23dbccb5338802ab0ee12baa4ade0aba4c \ + --hash=sha256:2ee2c649f2231b68511aabb0dc827edd8936aad682acc6263c34aed11bc95dac \ + --hash=sha256:30e27721adc308e8fd9f419f43068e43490005f911edf4476a9e585059fa8a83 \ + --hash=sha256:38814f66285318f2e241305cca545eaa9b4126c65aa5dd78c69371f235f78e2b \ + --hash=sha256:4d3a19166d4e1cdfcab975c68f471e046ce01e74c42a9a33fa89a14c2fcedf60 \ + --hash=sha256:5699cded6c0685426433c7e5afe0fecad80ec831ec7fa264940e50c796775cc5 \ + --hash=sha256:6785b8a3093329bf90ac01801be5525551728ae73edb11baa175df660820add4 \ + --hash=sha256:6d1c1394e38a3319ace620381f6f23cc807d8780e9915c152449a86fc8f1db21 \ + --hash=sha256:701181792a28c82fecae12adb5d15d0ecf57bffab7cf4bdbb52c7b3fd428d540 \ + --hash=sha256:748f2bd632d6993e8918d43f1a26c380aeda4e122a88840d4c3a9af99d4239fe \ + --hash=sha256:8e9dd76c7274055d1acf4526b8efb16a3531c26dcda714a0c16da99bf9d41900 \ + --hash=sha256:bef51978a51ec19977700fe7b86aecea49c825884f3811756b74a3b152bb4e35 \ + --hash=sha256:cd55c6fbef7608dbce1f22baf289dfcc6eb323247daa3c3542f73d389c724786 \ + --hash=sha256:da5a2e95fef9805b1750e4abda4e834bf8835d26fc709a391543b53feee7bd0e \ + --hash=sha256:ee47f68d973cee7009f06edb956f2f5588a0f230f24a2a70175fd0ecf36e2653 \ + --hash=sha256:f4931f2a6c06e02c6c17a05f8ae397e2545965bc7a0a6cb38c8cd7d4fba8624d \ + --hash=sha256:f5644663987ee221f5d1f47a593271b966c271c236fe05634e6bdc06041b5a2b \ + --hash=sha256:f5d4231af7199531e77da1b78a4cc6b3d960a00b1ec672578ac818aae2b9c35d \ + --hash=sha256:fd3ee69d36d42a7dcbb17e355a5653af5fd241a7dfd9133080b3dde8d9e2aafb + # via qudida +scipy==1.9.3 \ + --hash=sha256:06d2e1b4c491dc7d8eacea139a1b0b295f74e1a1a0f704c375028f8320d16e31 \ + --hash=sha256:0d54222d7a3ba6022fdf5773931b5d7c56efe41ede7f7128c7b1637700409108 \ + --hash=sha256:1884b66a54887e21addf9c16fb588720a8309a57b2e258ae1c7986d4444d3bc0 \ + --hash=sha256:1a72d885fa44247f92743fc20732ae55564ff2a519e8302fb7e18717c5355a8b \ + --hash=sha256:2318bef588acc7a574f5bfdff9c172d0b1bf2c8143d9582e05f878e580a3781e \ + --hash=sha256:4db5b30849606a95dcf519763dd3ab6fe9bd91df49eba517359e450a7d80ce2e \ + --hash=sha256:545c83ffb518094d8c9d83cce216c0c32f8c04aaf28b92cc8283eda0685162d5 \ + --hash=sha256:5a04cd7d0d3eff6ea4719371cbc44df31411862b9646db617c99718ff68d4840 \ + --hash=sha256:5b88e6d91ad9d59478fafe92a7c757d00c59e3bdc3331be8ada76a4f8d683f58 \ + --hash=sha256:68239b6aa6f9c593da8be1509a05cb7f9efe98b80f43a5861cd24c7557e98523 \ + --hash=sha256:83b89e9586c62e787f5012e8475fbb12185bafb996a03257e9675cd73d3736dd \ + --hash=sha256:83c06e62a390a9167da60bedd4575a14c1f58ca9dfde59830fc42e5197283dab \ + --hash=sha256:90453d2b93ea82a9f434e4e1cba043e779ff67b92f7a0e85d05d286a3625df3c \ + --hash=sha256:abaf921531b5aeaafced90157db505e10345e45038c39e5d9b6c7922d68085cb \ + --hash=sha256:b41bc822679ad1c9a5f023bc93f6d0543129ca0f37c1ce294dd9d386f0a21096 \ + --hash=sha256:c68db6b290cbd4049012990d7fe71a2abd9ffbe82c0056ebe0f01df8be5436b0 \ + --hash=sha256:cff3a5295234037e39500d35316a4c5794739433528310e117b8a9a0c76d20fc \ + --hash=sha256:d01e1dd7b15bd2449c8bfc6b7cc67d630700ed655654f0dfcf121600bad205c9 \ + --hash=sha256:d644a64e174c16cb4b2e41dfea6af722053e83d066da7343f333a54dae9bc31c \ + --hash=sha256:da8245491d73ed0a994ed9c2e380fd058ce2fa8a18da204681f2fe1f57f98f95 \ + --hash=sha256:fbc5c05c85c1a02be77b1ff591087c83bc44579c6d2bd9fb798bb64ea5e1a027 + # via + # albumentations + # basicsr + # clean-fid + # facexlib + # filterpy + # gfpgan + # k-diffusion + # scikit-image + # scikit-learn + # torch-fidelity + # torchdiffeq +semver==2.13.0 \ + --hash=sha256:ced8b23dceb22134307c1b8abfa523da14198793d9787ac838e70e29e77458d4 \ + --hash=sha256:fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f + # via streamlit +send2trash==1.8.0 \ + --hash=sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d \ + --hash=sha256:f20eaadfdb517eaca5ce077640cb261c7d2698385a6a0f072a4a5447fd49fa08 + # via -r requirements.in +sentry-sdk==1.10.1 \ + --hash=sha256:06c0fa9ccfdc80d7e3b5d2021978d6eb9351fa49db9b5847cf4d1f2a473414ad \ + --hash=sha256:105faf7bd7b7fa25653404619ee261527266b14103fe1389e0ce077bd23a9691 + # via wandb +setproctitle==1.3.2 \ + --hash=sha256:1c5d5dad7c28bdd1ec4187d818e43796f58a845aa892bb4481587010dc4d362b \ + --hash=sha256:1c8d9650154afaa86a44ff195b7b10d683c73509d085339d174e394a22cccbb9 \ + --hash=sha256:1f0cde41857a644b7353a0060b5f94f7ba7cf593ebde5a1094da1be581ac9a31 \ + --hash=sha256:1f29b75e86260b0ab59adb12661ef9f113d2f93a59951373eb6d68a852b13e83 \ + --hash=sha256:1fa1a0fbee72b47dc339c87c890d3c03a72ea65c061ade3204f285582f2da30f \ + --hash=sha256:1ff863a20d1ff6ba2c24e22436a3daa3cd80be1dfb26891aae73f61b54b04aca \ + --hash=sha256:265ecbe2c6eafe82e104f994ddd7c811520acdd0647b73f65c24f51374cf9494 \ + --hash=sha256:288943dec88e178bb2fd868adf491197cc0fc8b6810416b1c6775e686bab87fe \ + --hash=sha256:2e3ac25bfc4a0f29d2409650c7532d5ddfdbf29f16f8a256fc31c47d0dc05172 \ + --hash=sha256:2fbd8187948284293f43533c150cd69a0e4192c83c377da837dbcd29f6b83084 \ + --hash=sha256:4058564195b975ddc3f0462375c533cce310ccdd41b80ac9aed641c296c3eff4 \ + --hash=sha256:4749a2b0c9ac52f864d13cee94546606f92b981b50e46226f7f830a56a9dc8e1 \ + --hash=sha256:4d8938249a7cea45ab7e1e48b77685d0f2bab1ebfa9dde23e94ab97968996a7c \ + --hash=sha256:5194b4969f82ea842a4f6af2f82cd16ebdc3f1771fb2771796e6add9835c1973 \ + --hash=sha256:55ce1e9925ce1765865442ede9dca0ba9bde10593fcd570b1f0fa25d3ec6b31c \ + --hash=sha256:589be87172b238f839e19f146b9ea47c71e413e951ef0dc6db4218ddacf3c202 \ + --hash=sha256:5b932c3041aa924163f4aab970c2f0e6b4d9d773f4d50326e0ea1cd69240e5c5 \ + --hash=sha256:5fb4f769c02f63fac90989711a3fee83919f47ae9afd4758ced5d86596318c65 \ + --hash=sha256:630f6fe5e24a619ccf970c78e084319ee8be5be253ecc9b5b216b0f474f5ef18 \ + --hash=sha256:65d884e22037b23fa25b2baf1a3316602ed5c5971eb3e9d771a38c3a69ce6e13 \ + --hash=sha256:6c877691b90026670e5a70adfbcc735460a9f4c274d35ec5e8a43ce3f8443005 \ + --hash=sha256:710e16fa3bade3b026907e4a5e841124983620046166f355bbb84be364bf2a02 \ + --hash=sha256:7a55fe05f15c10e8c705038777656fe45e3bd676d49ad9ac8370b75c66dd7cd7 \ + --hash=sha256:7aa0aac1711fadffc1d51e9d00a3bea61f68443d6ac0241a224e4d622489d665 \ + --hash=sha256:7f0bed90a216ef28b9d227d8d73e28a8c9b88c0f48a082d13ab3fa83c581488f \ + --hash=sha256:7f2719a398e1a2c01c2a63bf30377a34d0b6ef61946ab9cf4d550733af8f1ef1 \ + --hash=sha256:7fe9df7aeb8c64db6c34fc3b13271a363475d77bc157d3f00275a53910cb1989 \ + --hash=sha256:8ff3c8cb26afaed25e8bca7b9dd0c1e36de71f35a3a0706b5c0d5172587a3827 \ + --hash=sha256:9124bedd8006b0e04d4e8a71a0945da9b67e7a4ab88fdad7b1440dc5b6122c42 \ + --hash=sha256:92c626edc66169a1b09e9541b9c0c9f10488447d8a2b1d87c8f0672e771bc927 \ + --hash=sha256:a149a5f7f2c5a065d4e63cb0d7a4b6d3b66e6e80f12e3f8827c4f63974cbf122 \ + --hash=sha256:a47d97a75fd2d10c37410b180f67a5835cb1d8fdea2648fd7f359d4277f180b9 \ + --hash=sha256:a499fff50387c1520c085a07578a000123f519e5f3eee61dd68e1d301659651f \ + --hash=sha256:ab45146c71ca6592c9cc8b354a2cc9cc4843c33efcbe1d245d7d37ce9696552d \ + --hash=sha256:b2c9cb2705fc84cb8798f1ba74194f4c080aaef19d9dae843591c09b97678e98 \ + --hash=sha256:b34baef93bfb20a8ecb930e395ccd2ae3268050d8cf4fe187de5e2bd806fd796 \ + --hash=sha256:b617f12c9be61e8f4b2857be4a4319754756845dbbbd9c3718f468bbb1e17bcb \ + --hash=sha256:b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd \ + --hash=sha256:bae283e85fc084b18ffeb92e061ff7ac5af9e183c9d1345c93e178c3e5069cbe \ + --hash=sha256:c2c46200656280a064073447ebd363937562debef329482fd7e570c8d498f806 \ + --hash=sha256:c8a09d570b39517de10ee5b718730e171251ce63bbb890c430c725c8c53d4484 \ + --hash=sha256:c91b9bc8985d00239f7dc08a49927a7ca1ca8a6af2c3890feec3ed9665b6f91e \ + --hash=sha256:dad42e676c5261eb50fdb16bdf3e2771cf8f99a79ef69ba88729aeb3472d8575 \ + --hash=sha256:de3a540cd1817ede31f530d20e6a4935bbc1b145fd8f8cf393903b1e02f1ae76 \ + --hash=sha256:e00c9d5c541a2713ba0e657e0303bf96ddddc412ef4761676adc35df35d7c246 \ + --hash=sha256:e1aafc91cbdacc9e5fe712c52077369168e6b6c346f3a9d51bf600b53eae56bb \ + --hash=sha256:e425be62524dc0c593985da794ee73eb8a17abb10fe692ee43bb39e201d7a099 \ + --hash=sha256:e43f315c68aa61cbdef522a2272c5a5b9b8fd03c301d3167b5e1343ef50c676c \ + --hash=sha256:e49ae693306d7624015f31cb3e82708916759d592c2e5f72a35c8f4cc8aef258 \ + --hash=sha256:e5c50e164cd2459bc5137c15288a9ef57160fd5cbf293265ea3c45efe7870865 \ + --hash=sha256:e8579a43eafd246e285eb3a5b939e7158073d5087aacdd2308f23200eac2458b \ + --hash=sha256:e85e50b9c67854f89635a86247412f3ad66b132a4d8534ac017547197c88f27d \ + --hash=sha256:f0452282258dfcc01697026a8841258dd2057c4438b43914b611bccbcd048f10 \ + --hash=sha256:f4bfc89bd33ebb8e4c0e9846a09b1f5a4a86f5cb7a317e75cc42fee1131b4f4f \ + --hash=sha256:fa2f50678f04fda7a75d0fe5dd02bbdd3b13cbe6ed4cf626e4472a7ccf47ae94 \ + --hash=sha256:faec934cfe5fd6ac1151c02e67156c3f526e82f96b24d550b5d51efa4a5527c6 \ + --hash=sha256:fcd3cf4286a60fdc95451d8d14e0389a6b4f5cebe02c7f2609325eb016535963 \ + --hash=sha256:fe8a988c7220c002c45347430993830666e55bc350179d91fcee0feafe64e1d4 \ + --hash=sha256:fed18e44711c5af4b681c2b3b18f85e6f0f1b2370a28854c645d636d5305ccd8 \ + --hash=sha256:ffc61a388a5834a97953d6444a2888c24a05f2e333f9ed49f977a87bb1ad4761 + # via wandb +shortuuid==1.0.9 \ + --hash=sha256:459f12fa1acc34ff213b1371467c0325169645a31ed989e268872339af7563d5 \ + --hash=sha256:b2bb9eb7773170e253bb7ba25971023acb473517a8b76803d9618668cb1dd46f + # via wandb +six==1.16.0 \ + --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ + --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 + # via + # docker-pycreds + # eventlet + # flask-cors + # google-auth + # grpcio + # promise + # python-dateutil + # validators + # wandb +smmap==5.0.0 \ + --hash=sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94 \ + --hash=sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936 + # via gitdb +streamlit==1.14.0 \ + --hash=sha256:62556d873567e1b3427bcd118a57ee6946619f363bd6bba38df2d1f8225ecba0 \ + --hash=sha256:e078b8143d150ba721bdb9194218e311c5fe1d6d4156473a2dea6cc848a6c9fc + # via -r requirements.in +taming-transformers-rom1504==0.0.6 \ + --hash=sha256:051b5804c58caa247bcd51d17ddb525b4d5f892a29d42dc460f40e3e9e34e5d8 \ + --hash=sha256:73fe5fc1108accee4236ee6976e0987ab236afad0af06cb9f037641a908d2c32 + # via -r requirements.in +tb-nightly==2.11.0a20221106 \ + --hash=sha256:8940457ee42db92f01da8bcdbbea1a476735eda559dde5976f5728919960af4a + # via + # basicsr + # gfpgan +tensorboard==2.10.1 \ + --hash=sha256:fb9222c1750e2fa35ef170d998a1e229f626eeced3004494a8849c88c15d8c1c + # via + # pytorch-lightning + # test-tube +tensorboard-data-server==0.6.1 \ + --hash=sha256:809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7 \ + --hash=sha256:d8237580755e58eff68d1f3abefb5b1e39ae5c8b127cc40920f9c4fb33f4b98a \ + --hash=sha256:fa8cef9be4fcae2f2363c88176638baf2da19c5ec90addb49b1cde05c95c88ee + # via + # tb-nightly + # tensorboard +tensorboard-plugin-wit==1.8.1 \ + --hash=sha256:ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe + # via + # tb-nightly + # tensorboard +test-tube==0.7.5 \ + --hash=sha256:1379c33eb8cde3e9b36610f87da0f16c2e06496b1cfebac473df4e7be2faa124 + # via -r requirements.in +threadpoolctl==3.1.0 \ + --hash=sha256:8b99adda265feb6773280df41eece7b2e6561b772d21ffd52e372f999024907b \ + --hash=sha256:a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380 + # via scikit-learn +tifffile==2022.10.10 \ + --hash=sha256:50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e \ + --hash=sha256:87f3aee8a0d06b74655269a105de75c1958a24653e1930d523eb516100043503 + # via scikit-image +tokenizers==0.13.1 \ + --hash=sha256:0a3412830ad66a643723d6b0fc3202e64e9e299bd9c9eda04b2914b5b1e0ddb0 \ + --hash=sha256:126bcb18a77cf65961ece04f54bd10ef3713412195e543d9d3eda2f0e4fd677c \ + --hash=sha256:16434c61c5eb72f6692b9bc52052b07ca92d3eba9dd72a1bc371890e1bdc3f07 \ + --hash=sha256:1d4acfdb6e7ef974677bb8445462db7fed240185fdc0f5b061db357d4ef8d85d \ + --hash=sha256:3333d1cee5c8f47c96362ea0abc1f81c77c9b92c6c3d11cbf1d01985f0d5cf1d \ + --hash=sha256:3acf3cae4c4739fc9ec49fa0e6cce224c1aa0fabc8f8d1358fd7de5c7d49cdca \ + --hash=sha256:3ba43b3f6f6b41c97c1d041785342cd72ba142999f6c4605d628e8e937398f20 \ + --hash=sha256:3c69a8389fd88bc32115e99db70f63bef577ba5c54f40a632580038a49612856 \ + --hash=sha256:3de653a551cc616a442a123da21706cb3a3163cf6919973f978f0921eee1bdf0 \ + --hash=sha256:4b3be8af87b357340b9b049d28067287b5e5e296e3120b6e4875d3b8469b67e6 \ + --hash=sha256:680bc0e357b7da6d0d01634bffbd002e866fdaccde303e1d1af58f32464cf308 \ + --hash=sha256:70de69681a264a5808d39f4bb6331be9a4dec51fd48cd1b959a94da76c4939cc \ + --hash=sha256:73198cda6e1d991c583ed798514863e16763aa600eb7aa6df7722373290575b2 \ + --hash=sha256:80864f456f715829f901ad5bb85af97e9ae52fc902270944804f6476ab8c6699 \ + --hash=sha256:80b9552295fdce0a2513dcb795a3f8591eca1a8dcf8afe0de3214209e6924ad1 \ + --hash=sha256:84fa41b58a8d3b7363ecdf3397d4b38f345fcf7d4dd14565b4360e7bffc9cae0 \ + --hash=sha256:890d2139100b5c8ac6d585438d5e145ede1d7b32b4090a6c078db6db0ef1daea \ + --hash=sha256:8b3f97041f7716998e474d3c7ffd19ac6941f117616696aef2b5ba927bf091e3 \ + --hash=sha256:910479e92d5fbdf91e8106b4c658fd43d418893d7cfd5fb11983c54a1ff53869 \ + --hash=sha256:96a1beef1e64d44597627f4e29d794047a66ad4d7474d93daf5a0ee27928e012 \ + --hash=sha256:98bef54cf51ac335fda1408112df7ff3e584107633bd9066616033e12b0bd519 \ + --hash=sha256:afcb1bd6d9ed59d5c8e633765589cab12f98aae09804f156b5965b4463b8b8e3 \ + --hash=sha256:b72dec85488af3e1e8d58fb4b86b5dbe5171c176002b5e098ea6d52a70004bb5 \ + --hash=sha256:c3109ba62bea56c68c7c2a976250b040afee61b5f86fc791f17afaa2a09fce94 \ + --hash=sha256:c73b9e6c107e980e65077b89c54311d8d645f6a9efdde82990777fa43c0a8cae \ + --hash=sha256:d8fca8b492a4697b0182e0c40b164cb0c44a9669d9c98033fec2f88174605eb0 \ + --hash=sha256:db6872294339bf35c158219fc65bad939ba87d14c936ae7a33a3ca2d1532c5b1 \ + --hash=sha256:e1a90bc97f53600f52e902f3ae097424de712d8ae0e42d957efc7ed908573a20 \ + --hash=sha256:f75f476fe183c03c515a0f0f5d195cb05d93fcdc76e31fe3c9753d01f3ee990b \ + --hash=sha256:fd17b14f84bec0b171869abd17ca0d9bfc564aa1e7f3451f44da526949a911c1 \ + --hash=sha256:fea71780b66f8c278ebae7221c8959404cf7343b8d2f4b7308aa668cf6f02364 + # via transformers +toml==0.10.2 \ + --hash=sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b \ + --hash=sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f + # via streamlit +toolz==0.12.0 \ + --hash=sha256:2059bd4148deb1884bb0eb770a3cde70e7f954cfbbdc2285f1f2de01fd21eb6f \ + --hash=sha256:88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194 + # via altair +torch==1.13.0 \ + --hash=sha256:0fdd38c96230947b1ed870fed4a560252f8d23c3a2bf4dab9d2d42b18f2e67c8 \ + --hash=sha256:220325d0f4e69ee9edf00c04208244ef7cf22ebce083815ce272c7491f0603f5 \ + --hash=sha256:43db0723fc66ad6486f86dc4890c497937f7cd27429f28f73fb7e4d74b7482e2 \ + --hash=sha256:47fe6228386bff6d74319a2ffe9d4ed943e6e85473d78e80502518c607d644d2 \ + --hash=sha256:49a949b8136b32b2ec0724cbf4c6678b54e974b7d68f19f1231eea21cde5c23b \ + --hash=sha256:4a378f5091307381abfb30eb821174e12986f39b1cf7c4522bf99155256819eb \ + --hash=sha256:635dbb99d981a6483ca533b3dc7be18ef08dd9e1e96fb0bb0e6a99d79e85a130 \ + --hash=sha256:6c227c16626e4ce766cca5351cc62a2358a11e8e466410a298487b9dff159eb1 \ + --hash=sha256:857c7d5b1624c5fd979f66d2b074765733dba3f5e1cc97b7d6909155a2aae3ce \ + --hash=sha256:9197ec216833b836b67e4d68e513d31fb38d9789d7cd998a08fba5b499c38454 \ + --hash=sha256:922a4910613b310fbeb87707f00cb76fec328eb60cc1349ed2173e7c9b6edcd8 \ + --hash=sha256:9ac382cedaf2f70afea41380ad8e7c06acef6b5b7e2aef3971cdad666ca6e185 \ + --hash=sha256:bb33a911460475d1594a8c8cb73f58c08293211760796d99cae8c2509b86d7f1 \ + --hash=sha256:cd1e67db6575e1b173a626077a54e4911133178557aac50683db03a34e2b636a \ + --hash=sha256:d2d2753519415d154de4d3e64d2eaaeefdba6b6fd7d69d5ffaef595988117700 \ + --hash=sha256:e20df14d874b024851c58e8bb3846249cb120e677f7463f60c986e3661f88680 \ + --hash=sha256:e643ac8d086706e82f77b5d4dfcf145a9dd37b69e03e64177fc23821754d2ed7 \ + --hash=sha256:ef934a21da6f6a516d0a9c712a80d09c56128abdc6af8dc151bee5199b4c3b4e \ + --hash=sha256:f01a9ae0d4b69d2fc4145e8beab45b7877342dddbd4838a7d3c11ca7f6680745 \ + --hash=sha256:f68edfea71ade3862039ba66bcedf954190a2db03b0c41a9b79afd72210abd97 \ + --hash=sha256:fa768432ce4b8ffa29184c79a3376ab3de4a57b302cdf3c026a6be4c5a8ab75b + # via + # accelerate + # basicsr + # clean-fid + # clip + # facexlib + # gfpgan + # k-diffusion + # kornia + # pytorch-lightning + # realesrgan + # taming-transformers-rom1504 + # test-tube + # torch-fidelity + # torchdiffeq + # torchmetrics + # torchvision +torch-fidelity==0.3.0 \ + --hash=sha256:3d3e33db98919759cc4f3f24cb27e1e74bdc7c905d90a780630e4e1c18492b66 \ + --hash=sha256:d01284825595feb7dc3eae3dc9a0d8ced02be764813a3483f109bc142b52a1d3 + # via -r requirements.in +torchdiffeq==0.2.3 \ + --hash=sha256:b5b01ec1294a2d8d5f77e567bf17c5de1237c0573cb94deefa88326f0e18c338 \ + --hash=sha256:fe75f434b9090ac0c27702e02bed21472b0f87035be6581f51edc5d4013ea31a + # via k-diffusion +torchmetrics==0.10.2 \ + --hash=sha256:43757d82266969906fc74b6e80766fcb2a0d52d6c3d09e3b7c98cf3b733fd20c \ + --hash=sha256:daa29d96bff5cff04d80eec5b9f5076993d6ac9c2d2163e88b6b31f8d38f7c25 + # via pytorch-lightning +torchvision==0.13.1 ; platform_system == "Darwin" \ + --hash=sha256:0298bae3b09ac361866088434008d82b99d6458fe8888c8df90720ef4b347d44 \ + --hash=sha256:08f592ea61836ebeceb5c97f4d7a813b9d7dc651bbf7ce4401563ccfae6a21fc \ + --hash=sha256:099874088df104d54d8008f2a28539ca0117b512daed8bf3c2bbfa2b7ccb187a \ + --hash=sha256:0e77706cc90462653620e336bb90daf03d7bf1b88c3a9a3037df8d111823a56e \ + --hash=sha256:19286a733c69dcbd417b86793df807bd227db5786ed787c17297741a9b0d0fc7 \ + --hash=sha256:3567fb3def829229ec217c1e38f08c5128ff7fb65854cac17ebac358ff7aa309 \ + --hash=sha256:4d8bf321c4380854ef04613935fdd415dce29d1088a7ff99e06e113f0efe9203 \ + --hash=sha256:5e631241bee3661de64f83616656224af2e3512eb2580da7c08e08b8c965a8ac \ + --hash=sha256:7552e80fa222252b8b217a951c85e172a710ea4cad0ae0c06fbb67addece7871 \ + --hash=sha256:7cb789ceefe6dcd0dc8eeda37bfc45efb7cf34770eac9533861d51ca508eb5b3 \ + --hash=sha256:83e9e2457f23110fd53b0177e1bc621518d6ea2108f570e853b768ce36b7c679 \ + --hash=sha256:87c137f343197769a51333076e66bfcd576301d2cd8614b06657187c71b06c4f \ + --hash=sha256:899eec0b9f3b99b96d6f85b9aa58c002db41c672437677b553015b9135b3be7e \ + --hash=sha256:8e4d02e4d8a203e0c09c10dfb478214c224d080d31efc0dbf36d9c4051f7f3c6 \ + --hash=sha256:b167934a5943242da7b1e59318f911d2d253feeca0d13ad5d832b58eed943401 \ + --hash=sha256:c5ed609c8bc88c575226400b2232e0309094477c82af38952e0373edef0003fd \ + --hash=sha256:e9a563894f9fa40692e24d1aa58c3ef040450017cfed3598ff9637f404f3fe3b \ + --hash=sha256:ef5fe3ec1848123cd0ec74c07658192b3147dcd38e507308c790d5943e87b88c \ + --hash=sha256:f230a1a40ed70d51e463ce43df243ec520902f8725de2502e485efc5eea9d864 + # via + # -r requirements.in + # basicsr + # clean-fid + # clip + # facexlib + # gfpgan + # k-diffusion + # realesrgan + # taming-transformers-rom1504 + # torch-fidelity +tornado==6.2 \ + --hash=sha256:1d54d13ab8414ed44de07efecb97d4ef7c39f7438cf5e976ccd356bebb1b5fca \ + --hash=sha256:20f638fd8cc85f3cbae3c732326e96addff0a15e22d80f049e00121651e82e72 \ + --hash=sha256:5c87076709343557ef8032934ce5f637dbb552efa7b21d08e89ae7619ed0eb23 \ + --hash=sha256:5f8c52d219d4995388119af7ccaa0bcec289535747620116a58d830e7c25d8a8 \ + --hash=sha256:6fdfabffd8dfcb6cf887428849d30cf19a3ea34c2c248461e1f7d718ad30b66b \ + --hash=sha256:87dcafae3e884462f90c90ecc200defe5e580a7fbbb4365eda7c7c1eb809ebc9 \ + --hash=sha256:9b630419bde84ec666bfd7ea0a4cb2a8a651c2d5cccdbdd1972a0c859dfc3c13 \ + --hash=sha256:b8150f721c101abdef99073bf66d3903e292d851bee51910839831caba341a75 \ + --hash=sha256:ba09ef14ca9893954244fd872798b4ccb2367c165946ce2dd7376aebdde8e3ac \ + --hash=sha256:d3a2f5999215a3a06a4fc218026cd84c61b8b2b40ac5296a6db1f1451ef04c1e \ + --hash=sha256:e5f923aa6a47e133d1cf87d60700889d7eae68988704e20c75fb2d65677a8e4b + # via streamlit +tqdm==4.64.1 \ + --hash=sha256:5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4 \ + --hash=sha256:6fee160d6ffcd1b1c68c65f14c829c22832bc401726335ce92c52d395944a6a1 + # via + # basicsr + # clean-fid + # clip + # facexlib + # gfpgan + # huggingface-hub + # k-diffusion + # pytorch-lightning + # realesrgan + # taming-transformers-rom1504 + # torch-fidelity + # transformers +transformers==4.24.0 \ + --hash=sha256:486f353a8e594002e48be0e2aba723d96eda839e63bfe274702a4b5eda85559b \ + --hash=sha256:b7ab50039ef9bf817eff14ab974f306fd20a72350bdc9df3a858fd009419322e + # via -r requirements.in +typing-extensions==4.4.0 \ + --hash=sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa \ + --hash=sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e + # via + # huggingface-hub + # pytorch-lightning + # qudida + # streamlit + # torch + # torchvision +tzdata==2022.6 \ + --hash=sha256:04a680bdc5b15750c39c12a448885a51134a27ec9af83667663f0b3a1bf3f342 \ + --hash=sha256:91f11db4503385928c15598c98573e3af07e7229181bee5375bd30f1695ddcae + # via + # pytz-deprecation-shim + # tzlocal +tzlocal==4.2 \ + --hash=sha256:89885494684c929d9191c57aa27502afc87a579be5cdd3225c77c463ea043745 \ + --hash=sha256:ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7 + # via streamlit +urllib3==1.26.12 \ + --hash=sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e \ + --hash=sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997 + # via + # requests + # sentry-sdk +validators==0.18.2 \ + --hash=sha256:0143dcca8a386498edaf5780cbd5960da1a4c85e0719f3ee5c9b41249c4fefbd \ + --hash=sha256:37cd9a9213278538ad09b5b9f9134266e7c226ab1fede1d500e29e0a8fbb9ea6 + # via streamlit +wandb==0.13.5 \ + --hash=sha256:11f30a22e30abaa9c187e8b6aa4c12d76160b40bbe98a6f14b0dde9297bbfbe2 \ + --hash=sha256:60d5bcc524b8a314c8e072c03f7702dbd5406261b00a4ce75e7556b805fdc765 + # via k-diffusion +wcwidth==0.2.5 \ + --hash=sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784 \ + --hash=sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83 + # via ftfy +werkzeug==2.2.2 \ + --hash=sha256:7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f \ + --hash=sha256:f979ab81f58d7318e064e99c4506445d60135ac5cd2e177a2de0089bfd4c9bd5 + # via + # flask + # tb-nightly + # tensorboard +wheel==0.38.2 \ + --hash=sha256:3d492ef22379a156ec923d2a77051cedfd4df4b667864e9e41ba83f0b70b7149 \ + --hash=sha256:7a5a3095dceca97a3cac869b8fef4e89b83fafde21b6688f47b6fda7600eb441 + # via + # tb-nightly + # tensorboard +whichcraft==0.6.1 \ + --hash=sha256:acdbb91b63d6a15efbd6430d1d7b2d36e44a71697e93e19b7ded477afd9fce87 \ + --hash=sha256:deda9266fbb22b8c64fd3ee45c050d61139cd87419765f588e37c8d23e236dd9 + # via flaskwebgui +yapf==0.32.0 \ + --hash=sha256:8fea849025584e486fd06d6ba2bed717f396080fd3cc236ba10cb97c4c51cf32 \ + --hash=sha256:a3f5085d37ef7e3e004c4ba9f9b3e40c54ff1901cd111f05145ae313a7c67d1b + # via + # basicsr + # gfpgan +yarl==1.8.1 \ + --hash=sha256:076eede537ab978b605f41db79a56cad2e7efeea2aa6e0fa8f05a26c24a034fb \ + --hash=sha256:07b21e274de4c637f3e3b7104694e53260b5fc10d51fb3ec5fed1da8e0f754e3 \ + --hash=sha256:0ab5a138211c1c366404d912824bdcf5545ccba5b3ff52c42c4af4cbdc2c5035 \ + --hash=sha256:0c03f456522d1ec815893d85fccb5def01ffaa74c1b16ff30f8aaa03eb21e453 \ + --hash=sha256:12768232751689c1a89b0376a96a32bc7633c08da45ad985d0c49ede691f5c0d \ + --hash=sha256:19cd801d6f983918a3f3a39f3a45b553c015c5aac92ccd1fac619bd74beece4a \ + --hash=sha256:1ca7e596c55bd675432b11320b4eacc62310c2145d6801a1f8e9ad160685a231 \ + --hash=sha256:1e4808f996ca39a6463f45182e2af2fae55e2560be586d447ce8016f389f626f \ + --hash=sha256:205904cffd69ae972a1707a1bd3ea7cded594b1d773a0ce66714edf17833cdae \ + --hash=sha256:20df6ff4089bc86e4a66e3b1380460f864df3dd9dccaf88d6b3385d24405893b \ + --hash=sha256:21ac44b763e0eec15746a3d440f5e09ad2ecc8b5f6dcd3ea8cb4773d6d4703e3 \ + --hash=sha256:29e256649f42771829974e742061c3501cc50cf16e63f91ed8d1bf98242e5507 \ + --hash=sha256:2d800b9c2eaf0684c08be5f50e52bfa2aa920e7163c2ea43f4f431e829b4f0fd \ + --hash=sha256:2d93a049d29df172f48bcb09acf9226318e712ce67374f893b460b42cc1380ae \ + --hash=sha256:31a9a04ecccd6b03e2b0e12e82131f1488dea5555a13a4d32f064e22a6003cfe \ + --hash=sha256:3d1a50e461615747dd93c099f297c1994d472b0f4d2db8a64e55b1edf704ec1c \ + --hash=sha256:449c957ffc6bc2309e1fbe67ab7d2c1efca89d3f4912baeb8ead207bb3cc1cd4 \ + --hash=sha256:4a88510731cd8d4befaba5fbd734a7dd914de5ab8132a5b3dde0bbd6c9476c64 \ + --hash=sha256:4c322cbaa4ed78a8aac89b2174a6df398faf50e5fc12c4c191c40c59d5e28357 \ + --hash=sha256:5395da939ffa959974577eff2cbfc24b004a2fb6c346918f39966a5786874e54 \ + --hash=sha256:5587bba41399854703212b87071c6d8638fa6e61656385875f8c6dff92b2e461 \ + --hash=sha256:56c11efb0a89700987d05597b08a1efcd78d74c52febe530126785e1b1a285f4 \ + --hash=sha256:5999c4662631cb798496535afbd837a102859568adc67d75d2045e31ec3ac497 \ + --hash=sha256:59ddd85a1214862ce7c7c66457f05543b6a275b70a65de366030d56159a979f0 \ + --hash=sha256:6347f1a58e658b97b0a0d1ff7658a03cb79bdbda0331603bed24dd7054a6dea1 \ + --hash=sha256:6628d750041550c5d9da50bb40b5cf28a2e63b9388bac10fedd4f19236ef4957 \ + --hash=sha256:6afb336e23a793cd3b6476c30f030a0d4c7539cd81649683b5e0c1b0ab0bf350 \ + --hash=sha256:6c8148e0b52bf9535c40c48faebb00cb294ee577ca069d21bd5c48d302a83780 \ + --hash=sha256:76577f13333b4fe345c3704811ac7509b31499132ff0181f25ee26619de2c843 \ + --hash=sha256:7c0da7e44d0c9108d8b98469338705e07f4bb7dab96dbd8fa4e91b337db42548 \ + --hash=sha256:7de89c8456525650ffa2bb56a3eee6af891e98f498babd43ae307bd42dca98f6 \ + --hash=sha256:7ec362167e2c9fd178f82f252b6d97669d7245695dc057ee182118042026da40 \ + --hash=sha256:7fce6cbc6c170ede0221cc8c91b285f7f3c8b9fe28283b51885ff621bbe0f8ee \ + --hash=sha256:85cba594433915d5c9a0d14b24cfba0339f57a2fff203a5d4fd070e593307d0b \ + --hash=sha256:8b0af1cf36b93cee99a31a545fe91d08223e64390c5ecc5e94c39511832a4bb6 \ + --hash=sha256:9130ddf1ae9978abe63808b6b60a897e41fccb834408cde79522feb37fb72fb0 \ + --hash=sha256:99449cd5366fe4608e7226c6cae80873296dfa0cde45d9b498fefa1de315a09e \ + --hash=sha256:9de955d98e02fab288c7718662afb33aab64212ecb368c5dc866d9a57bf48880 \ + --hash=sha256:a0fb2cb4204ddb456a8e32381f9a90000429489a25f64e817e6ff94879d432fc \ + --hash=sha256:a165442348c211b5dea67c0206fc61366212d7082ba8118c8c5c1c853ea4d82e \ + --hash=sha256:ab2a60d57ca88e1d4ca34a10e9fb4ab2ac5ad315543351de3a612bbb0560bead \ + --hash=sha256:abc06b97407868ef38f3d172762f4069323de52f2b70d133d096a48d72215d28 \ + --hash=sha256:af887845b8c2e060eb5605ff72b6f2dd2aab7a761379373fd89d314f4752abbf \ + --hash=sha256:b19255dde4b4f4c32e012038f2c169bb72e7f081552bea4641cab4d88bc409dd \ + --hash=sha256:b3ded839a5c5608eec8b6f9ae9a62cb22cd037ea97c627f38ae0841a48f09eae \ + --hash=sha256:c1445a0c562ed561d06d8cbc5c8916c6008a31c60bc3655cdd2de1d3bf5174a0 \ + --hash=sha256:d0272228fabe78ce00a3365ffffd6f643f57a91043e119c289aaba202f4095b0 \ + --hash=sha256:d0b51530877d3ad7a8d47b2fff0c8df3b8f3b8deddf057379ba50b13df2a5eae \ + --hash=sha256:d0f77539733e0ec2475ddcd4e26777d08996f8cd55d2aef82ec4d3896687abda \ + --hash=sha256:d2b8f245dad9e331540c350285910b20dd913dc86d4ee410c11d48523c4fd546 \ + --hash=sha256:dd032e8422a52e5a4860e062eb84ac94ea08861d334a4bcaf142a63ce8ad4802 \ + --hash=sha256:de49d77e968de6626ba7ef4472323f9d2e5a56c1d85b7c0e2a190b2173d3b9be \ + --hash=sha256:de839c3a1826a909fdbfe05f6fe2167c4ab033f1133757b5936efe2f84904c07 \ + --hash=sha256:e80ed5a9939ceb6fda42811542f31c8602be336b1fb977bccb012e83da7e4936 \ + --hash=sha256:ea30a42dc94d42f2ba4d0f7c0ffb4f4f9baa1b23045910c0c32df9c9902cb272 \ + --hash=sha256:ea513a25976d21733bff523e0ca836ef1679630ef4ad22d46987d04b372d57fc \ + --hash=sha256:ed19b74e81b10b592084a5ad1e70f845f0aacb57577018d31de064e71ffa267a \ + --hash=sha256:f5af52738e225fcc526ae64071b7e5342abe03f42e0e8918227b38c9aa711e28 \ + --hash=sha256:fae37373155f5ef9b403ab48af5136ae9851151f7aacd9926251ab26b953118b + # via aiohttp +zipp==3.10.0 \ + --hash=sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1 \ + --hash=sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8 + # via importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +setuptools==65.5.1 \ + --hash=sha256:d0b9a8433464d5800cbe05094acf5c6d52a91bfac9b52bcfc4d41382be5d5d31 \ + --hash=sha256:e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f + # via + # numba + # tb-nightly + # tensorboard + # wandb diff --git a/installer/py3.10-darwin-x86_64-cpu-reqs.txt b/installer/py3.10-darwin-x86_64-cpu-reqs.txt new file mode 100644 index 0000000000..2b3d061213 --- /dev/null +++ b/installer/py3.10-darwin-x86_64-cpu-reqs.txt @@ -0,0 +1,2069 @@ +# +# This file is autogenerated by pip-compile with python 3.10 +# To update, run: +# +# pip-compile --allow-unsafe --generate-hashes --output-file=installer/py3.10-darwin-x86_64-cpu-reqs.txt requirements.in +# +--extra-index-url https://download.pytorch.org/whl/cu116 +--trusted-host https + +absl-py==1.3.0 \ + --hash=sha256:34995df9bd7a09b3b8749e230408f5a2a2dd7a68a0d33c12a3d0cb15a041a507 \ + --hash=sha256:463c38a08d2e4cef6c498b76ba5bd4858e4c6ef51da1a5a1f27139a022e20248 + # via + # tb-nightly + # tensorboard +accelerate==0.13.2 \ + --hash=sha256:dd6f08b010077f252dda5a7699d87b02885335c456770939c536e65ff07ed760 \ + --hash=sha256:e22180d7094e4c1bfb05a2b078297c222f6b4fa595fde8916946c3f377cdf019 + # via k-diffusion +addict==2.4.0 \ + --hash=sha256:249bb56bbfd3cdc2a004ea0ff4c2b6ddc84d53bc2194761636eb314d5cfa5dfc \ + --hash=sha256:b3b2210e0e067a281f5646c8c5db92e99b7231ea8b0eb5f74dbdf9e259d4e494 + # via basicsr +aiohttp==3.8.3 \ + --hash=sha256:02f9a2c72fc95d59b881cf38a4b2be9381b9527f9d328771e90f72ac76f31ad8 \ + --hash=sha256:059a91e88f2c00fe40aed9031b3606c3f311414f86a90d696dd982e7aec48142 \ + --hash=sha256:05a3c31c6d7cd08c149e50dc7aa2568317f5844acd745621983380597f027a18 \ + --hash=sha256:08c78317e950e0762c2983f4dd58dc5e6c9ff75c8a0efeae299d363d439c8e34 \ + --hash=sha256:09e28f572b21642128ef31f4e8372adb6888846f32fecb288c8b0457597ba61a \ + --hash=sha256:0d2c6d8c6872df4a6ec37d2ede71eff62395b9e337b4e18efd2177de883a5033 \ + --hash=sha256:16c121ba0b1ec2b44b73e3a8a171c4f999b33929cd2397124a8c7fcfc8cd9e06 \ + --hash=sha256:1d90043c1882067f1bd26196d5d2db9aa6d268def3293ed5fb317e13c9413ea4 \ + --hash=sha256:1e56b9cafcd6531bab5d9b2e890bb4937f4165109fe98e2b98ef0dcfcb06ee9d \ + --hash=sha256:20acae4f268317bb975671e375493dbdbc67cddb5f6c71eebdb85b34444ac46b \ + --hash=sha256:21b30885a63c3f4ff5b77a5d6caf008b037cb521a5f33eab445dc566f6d092cc \ + --hash=sha256:21d69797eb951f155026651f7e9362877334508d39c2fc37bd04ff55b2007091 \ + --hash=sha256:256deb4b29fe5e47893fa32e1de2d73c3afe7407738bd3c63829874661d4822d \ + --hash=sha256:25892c92bee6d9449ffac82c2fe257f3a6f297792cdb18ad784737d61e7a9a85 \ + --hash=sha256:2ca9af5f8f5812d475c5259393f52d712f6d5f0d7fdad9acdb1107dd9e3cb7eb \ + --hash=sha256:2d252771fc85e0cf8da0b823157962d70639e63cb9b578b1dec9868dd1f4f937 \ + --hash=sha256:2dea10edfa1a54098703cb7acaa665c07b4e7568472a47f4e64e6319d3821ccf \ + --hash=sha256:2df5f139233060578d8c2c975128fb231a89ca0a462b35d4b5fcf7c501ebdbe1 \ + --hash=sha256:2feebbb6074cdbd1ac276dbd737b40e890a1361b3cc30b74ac2f5e24aab41f7b \ + --hash=sha256:309aa21c1d54b8ef0723181d430347d7452daaff93e8e2363db8e75c72c2fb2d \ + --hash=sha256:3828fb41b7203176b82fe5d699e0d845435f2374750a44b480ea6b930f6be269 \ + --hash=sha256:398701865e7a9565d49189f6c90868efaca21be65c725fc87fc305906be915da \ + --hash=sha256:43046a319664a04b146f81b40e1545d4c8ac7b7dd04c47e40bf09f65f2437346 \ + --hash=sha256:437399385f2abcd634865705bdc180c8314124b98299d54fe1d4c8990f2f9494 \ + --hash=sha256:45d88b016c849d74ebc6f2b6e8bc17cabf26e7e40c0661ddd8fae4c00f015697 \ + --hash=sha256:47841407cc89a4b80b0c52276f3cc8138bbbfba4b179ee3acbd7d77ae33f7ac4 \ + --hash=sha256:4a4fbc769ea9b6bd97f4ad0b430a6807f92f0e5eb020f1e42ece59f3ecfc4585 \ + --hash=sha256:4ab94426ddb1ecc6a0b601d832d5d9d421820989b8caa929114811369673235c \ + --hash=sha256:4b0f30372cef3fdc262f33d06e7b411cd59058ce9174ef159ad938c4a34a89da \ + --hash=sha256:4e3a23ec214e95c9fe85a58470b660efe6534b83e6cbe38b3ed52b053d7cb6ad \ + --hash=sha256:512bd5ab136b8dc0ffe3fdf2dfb0c4b4f49c8577f6cae55dca862cd37a4564e2 \ + --hash=sha256:527b3b87b24844ea7865284aabfab08eb0faf599b385b03c2aa91fc6edd6e4b6 \ + --hash=sha256:54d107c89a3ebcd13228278d68f1436d3f33f2dd2af5415e3feaeb1156e1a62c \ + --hash=sha256:5835f258ca9f7c455493a57ee707b76d2d9634d84d5d7f62e77be984ea80b849 \ + --hash=sha256:598adde339d2cf7d67beaccda3f2ce7c57b3b412702f29c946708f69cf8222aa \ + --hash=sha256:599418aaaf88a6d02a8c515e656f6faf3d10618d3dd95866eb4436520096c84b \ + --hash=sha256:5bf651afd22d5f0c4be16cf39d0482ea494f5c88f03e75e5fef3a85177fecdeb \ + --hash=sha256:5c59fcd80b9049b49acd29bd3598cada4afc8d8d69bd4160cd613246912535d7 \ + --hash=sha256:653acc3880459f82a65e27bd6526e47ddf19e643457d36a2250b85b41a564715 \ + --hash=sha256:66bd5f950344fb2b3dbdd421aaa4e84f4411a1a13fca3aeb2bcbe667f80c9f76 \ + --hash=sha256:6f3553510abdbec67c043ca85727396ceed1272eef029b050677046d3387be8d \ + --hash=sha256:7018ecc5fe97027214556afbc7c502fbd718d0740e87eb1217b17efd05b3d276 \ + --hash=sha256:713d22cd9643ba9025d33c4af43943c7a1eb8547729228de18d3e02e278472b6 \ + --hash=sha256:73a4131962e6d91109bca6536416aa067cf6c4efb871975df734f8d2fd821b37 \ + --hash=sha256:75880ed07be39beff1881d81e4a907cafb802f306efd6d2d15f2b3c69935f6fb \ + --hash=sha256:75e14eac916f024305db517e00a9252714fce0abcb10ad327fb6dcdc0d060f1d \ + --hash=sha256:8135fa153a20d82ffb64f70a1b5c2738684afa197839b34cc3e3c72fa88d302c \ + --hash=sha256:84b14f36e85295fe69c6b9789b51a0903b774046d5f7df538176516c3e422446 \ + --hash=sha256:86fc24e58ecb32aee09f864cb11bb91bc4c1086615001647dbfc4dc8c32f4008 \ + --hash=sha256:87f44875f2804bc0511a69ce44a9595d5944837a62caecc8490bbdb0e18b1342 \ + --hash=sha256:88c70ed9da9963d5496d38320160e8eb7e5f1886f9290475a881db12f351ab5d \ + --hash=sha256:88e5be56c231981428f4f506c68b6a46fa25c4123a2e86d156c58a8369d31ab7 \ + --hash=sha256:89d2e02167fa95172c017732ed7725bc8523c598757f08d13c5acca308e1a061 \ + --hash=sha256:8d6aaa4e7155afaf994d7924eb290abbe81a6905b303d8cb61310a2aba1c68ba \ + --hash=sha256:92a2964319d359f494f16011e23434f6f8ef0434acd3cf154a6b7bec511e2fb7 \ + --hash=sha256:96372fc29471646b9b106ee918c8eeb4cca423fcbf9a34daa1b93767a88a2290 \ + --hash=sha256:978b046ca728073070e9abc074b6299ebf3501e8dee5e26efacb13cec2b2dea0 \ + --hash=sha256:9c7149272fb5834fc186328e2c1fa01dda3e1fa940ce18fded6d412e8f2cf76d \ + --hash=sha256:a0239da9fbafd9ff82fd67c16704a7d1bccf0d107a300e790587ad05547681c8 \ + --hash=sha256:ad5383a67514e8e76906a06741febd9126fc7c7ff0f599d6fcce3e82b80d026f \ + --hash=sha256:ad61a9639792fd790523ba072c0555cd6be5a0baf03a49a5dd8cfcf20d56df48 \ + --hash=sha256:b29bfd650ed8e148f9c515474a6ef0ba1090b7a8faeee26b74a8ff3b33617502 \ + --hash=sha256:b97decbb3372d4b69e4d4c8117f44632551c692bb1361b356a02b97b69e18a62 \ + --hash=sha256:ba71c9b4dcbb16212f334126cc3d8beb6af377f6703d9dc2d9fb3874fd667ee9 \ + --hash=sha256:c37c5cce780349d4d51739ae682dec63573847a2a8dcb44381b174c3d9c8d403 \ + --hash=sha256:c971bf3786b5fad82ce5ad570dc6ee420f5b12527157929e830f51c55dc8af77 \ + --hash=sha256:d1fde0f44029e02d02d3993ad55ce93ead9bb9b15c6b7ccd580f90bd7e3de476 \ + --hash=sha256:d24b8bb40d5c61ef2d9b6a8f4528c2f17f1c5d2d31fed62ec860f6006142e83e \ + --hash=sha256:d5ba88df9aa5e2f806650fcbeedbe4f6e8736e92fc0e73b0400538fd25a4dd96 \ + --hash=sha256:d6f76310355e9fae637c3162936e9504b4767d5c52ca268331e2756e54fd4ca5 \ + --hash=sha256:d737fc67b9a970f3234754974531dc9afeea11c70791dcb7db53b0cf81b79784 \ + --hash=sha256:da22885266bbfb3f78218dc40205fed2671909fbd0720aedba39b4515c038091 \ + --hash=sha256:da37dcfbf4b7f45d80ee386a5f81122501ec75672f475da34784196690762f4b \ + --hash=sha256:db19d60d846283ee275d0416e2a23493f4e6b6028825b51290ac05afc87a6f97 \ + --hash=sha256:db4c979b0b3e0fa7e9e69ecd11b2b3174c6963cebadeecfb7ad24532ffcdd11a \ + --hash=sha256:e164e0a98e92d06da343d17d4e9c4da4654f4a4588a20d6c73548a29f176abe2 \ + --hash=sha256:e168a7560b7c61342ae0412997b069753f27ac4862ec7867eff74f0fe4ea2ad9 \ + --hash=sha256:e381581b37db1db7597b62a2e6b8b57c3deec95d93b6d6407c5b61ddc98aca6d \ + --hash=sha256:e65bc19919c910127c06759a63747ebe14f386cda573d95bcc62b427ca1afc73 \ + --hash=sha256:e7b8813be97cab8cb52b1375f41f8e6804f6507fe4660152e8ca5c48f0436017 \ + --hash=sha256:e8a78079d9a39ca9ca99a8b0ac2fdc0c4d25fc80c8a8a82e5c8211509c523363 \ + --hash=sha256:ebf909ea0a3fc9596e40d55d8000702a85e27fd578ff41a5500f68f20fd32e6c \ + --hash=sha256:ec40170327d4a404b0d91855d41bfe1fe4b699222b2b93e3d833a27330a87a6d \ + --hash=sha256:f178d2aadf0166be4df834c4953da2d7eef24719e8aec9a65289483eeea9d618 \ + --hash=sha256:f88df3a83cf9df566f171adba39d5bd52814ac0b94778d2448652fc77f9eb491 \ + --hash=sha256:f973157ffeab5459eefe7b97a804987876dd0a55570b8fa56b4e1954bf11329b \ + --hash=sha256:ff25f48fc8e623d95eca0670b8cc1469a83783c924a602e0fbd47363bb54aaca + # via fsspec +aiosignal==1.2.0 \ + --hash=sha256:26e62109036cd181df6e6ad646f91f0dcfd05fe16d0cb924138ff2ab75d64e3a \ + --hash=sha256:78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2 + # via aiohttp +albumentations==1.3.0 \ + --hash=sha256:294165d87d03bc8323e484927f0a5c1a3c64b0e7b9c32a979582a6c93c363bdf \ + --hash=sha256:be1af36832c8893314f2a5550e8ac19801e04770734c1b70fa3c996b41f37bed + # via -r requirements.in +altair==4.2.0 \ + --hash=sha256:0c724848ae53410c13fa28be2b3b9a9dcb7b5caa1a70f7f217bd663bb419935a \ + --hash=sha256:d87d9372e63b48cd96b2a6415f0cf9457f50162ab79dc7a31cd7e024dd840026 + # via streamlit +antlr4-python3-runtime==4.9.3 \ + --hash=sha256:f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b + # via omegaconf +async-timeout==4.0.2 \ + --hash=sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15 \ + --hash=sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c + # via aiohttp +attrs==22.1.0 \ + --hash=sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6 \ + --hash=sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c + # via + # aiohttp + # jsonschema +basicsr==1.4.2 \ + --hash=sha256:b89b595a87ef964cda9913b4d99380ddb6554c965577c0c10cb7b78e31301e87 + # via + # gfpgan + # realesrgan +bidict==0.22.0 \ + --hash=sha256:415126d23a0c81e1a8c584a8fb1f6905ea090c772571803aeee0a2242e8e7ba0 \ + --hash=sha256:5c826b3e15e97cc6e615de295756847c282a79b79c5430d3bfc909b1ac9f5bd8 + # via python-socketio +blinker==1.5 \ + --hash=sha256:1eb563df6fdbc39eeddc177d953203f99f097e9bf0e2b8f9f3cf18b6ca425e36 \ + --hash=sha256:923e5e2f69c155f2cc42dafbbd70e16e3fde24d2d4aa2ab72fbe386238892462 + # via streamlit +cachetools==5.2.0 \ + --hash=sha256:6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757 \ + --hash=sha256:f9f17d2aec496a9aa6b76f53e3b614c965223c061982d434d160f930c698a9db + # via + # google-auth + # streamlit +certifi==2022.9.24 \ + --hash=sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14 \ + --hash=sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382 + # via + # requests + # sentry-sdk +chardet==4.0.0 \ + --hash=sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa \ + --hash=sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5 + # via requests +charset-normalizer==2.1.1 \ + --hash=sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845 \ + --hash=sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f + # via aiohttp +clean-fid==0.1.34 \ + --hash=sha256:2997f85a67a28c95adaae7899a33fc10537164fef4cdd424e3257bffad79a901 + # via k-diffusion +click==8.1.3 \ + --hash=sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e \ + --hash=sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48 + # via + # flask + # streamlit + # wandb +clip @ https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip \ + --hash=sha256:b5842c25da441d6c581b53a5c60e0c2127ebafe0f746f8e15561a006c6c3be6a + # via -r requirements.in +colorama==0.4.6 \ + --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ + --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 + # via + # click + # tqdm +commonmark==0.9.1 \ + --hash=sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60 \ + --hash=sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9 + # via rich +contourpy==1.0.6 \ + --hash=sha256:0236875c5a0784215b49d00ebbe80c5b6b5d5244b3655a36dda88105334dea17 \ + --hash=sha256:03d1b9c6b44a9e30d554654c72be89af94fab7510b4b9f62356c64c81cec8b7d \ + --hash=sha256:0537cc1195245bbe24f2913d1f9211b8f04eb203de9044630abd3664c6cc339c \ + --hash=sha256:06ca79e1efbbe2df795822df2fa173d1a2b38b6e0f047a0ec7903fbca1d1847e \ + --hash=sha256:08e8d09d96219ace6cb596506fb9b64ea5f270b2fb9121158b976d88871fcfd1 \ + --hash=sha256:0b1e66346acfb17694d46175a0cea7d9036f12ed0c31dfe86f0f405eedde2bdd \ + --hash=sha256:0b97454ed5b1368b66ed414c754cba15b9750ce69938fc6153679787402e4cdf \ + --hash=sha256:0e4854cc02006ad6684ce092bdadab6f0912d131f91c2450ce6dbdea78ee3c0b \ + --hash=sha256:12a7dc8439544ed05c6553bf026d5e8fa7fad48d63958a95d61698df0e00092b \ + --hash=sha256:1b1ee48a130da4dd0eb8055bbab34abf3f6262957832fd575e0cab4979a15a41 \ + --hash=sha256:1c0e1308307a75e07d1f1b5f0f56b5af84538a5e9027109a7bcf6cb47c434e72 \ + --hash=sha256:1dedf4c64185a216c35eb488e6f433297c660321275734401760dafaeb0ad5c2 \ + --hash=sha256:208bc904889c910d95aafcf7be9e677726df9ef71e216780170dbb7e37d118fa \ + --hash=sha256:211dfe2bd43bf5791d23afbe23a7952e8ac8b67591d24be3638cabb648b3a6eb \ + --hash=sha256:341330ed19074f956cb20877ad8d2ae50e458884bfa6a6df3ae28487cc76c768 \ + --hash=sha256:344cb3badf6fc7316ad51835f56ac387bdf86c8e1b670904f18f437d70da4183 \ + --hash=sha256:358f6364e4873f4d73360b35da30066f40387dd3c427a3e5432c6b28dd24a8fa \ + --hash=sha256:371f6570a81dfdddbb837ba432293a63b4babb942a9eb7aaa699997adfb53278 \ + --hash=sha256:375d81366afd547b8558c4720337218345148bc2fcffa3a9870cab82b29667f2 \ + --hash=sha256:3a1917d3941dd58732c449c810fa7ce46cc305ce9325a11261d740118b85e6f3 \ + --hash=sha256:4081918147fc4c29fad328d5066cfc751da100a1098398742f9f364be63803fc \ + --hash=sha256:444fb776f58f4906d8d354eb6f6ce59d0a60f7b6a720da6c1ccb839db7c80eb9 \ + --hash=sha256:46deb310a276cc5c1fd27958e358cce68b1e8a515fa5a574c670a504c3a3fe30 \ + --hash=sha256:494efed2c761f0f37262815f9e3c4bb9917c5c69806abdee1d1cb6611a7174a0 \ + --hash=sha256:50627bf76abb6ba291ad08db583161939c2c5fab38c38181b7833423ab9c7de3 \ + --hash=sha256:5641927cc5ae66155d0c80195dc35726eae060e7defc18b7ab27600f39dd1fe7 \ + --hash=sha256:5b117d29433fc8393b18a696d794961464e37afb34a6eeb8b2c37b5f4128a83e \ + --hash=sha256:613c665529899b5d9fade7e5d1760111a0b011231277a0d36c49f0d3d6914bd6 \ + --hash=sha256:6e459ebb8bb5ee4c22c19cc000174f8059981971a33ce11e17dddf6aca97a142 \ + --hash=sha256:6f56515e7c6fae4529b731f6c117752247bef9cdad2b12fc5ddf8ca6a50965a5 \ + --hash=sha256:730c27978a0003b47b359935478b7d63fd8386dbb2dcd36c1e8de88cbfc1e9de \ + --hash=sha256:75a2e638042118118ab39d337da4c7908c1af74a8464cad59f19fbc5bbafec9b \ + --hash=sha256:78ced51807ccb2f45d4ea73aca339756d75d021069604c2fccd05390dc3c28eb \ + --hash=sha256:7ee394502026d68652c2824348a40bf50f31351a668977b51437131a90d777ea \ + --hash=sha256:8468b40528fa1e15181cccec4198623b55dcd58306f8815a793803f51f6c474a \ + --hash=sha256:84c593aeff7a0171f639da92cb86d24954bbb61f8a1b530f74eb750a14685832 \ + --hash=sha256:913bac9d064cff033cf3719e855d4f1db9f1c179e0ecf3ba9fdef21c21c6a16a \ + --hash=sha256:9447c45df407d3ecb717d837af3b70cfef432138530712263730783b3d016512 \ + --hash=sha256:9b0e7fe7f949fb719b206548e5cde2518ffb29936afa4303d8a1c4db43dcb675 \ + --hash=sha256:9bc407a6af672da20da74823443707e38ece8b93a04009dca25856c2d9adadb1 \ + --hash=sha256:9e8e686a6db92a46111a1ee0ee6f7fbfae4048f0019de207149f43ac1812cf95 \ + --hash=sha256:9fc4e7973ed0e1fe689435842a6e6b330eb7ccc696080dda9a97b1a1b78e41db \ + --hash=sha256:a457ee72d9032e86730f62c5eeddf402e732fdf5ca8b13b41772aa8ae13a4563 \ + --hash=sha256:a628bba09ba72e472bf7b31018b6281fd4cc903f0888049a3724afba13b6e0b8 \ + --hash=sha256:a79d239fc22c3b8d9d3de492aa0c245533f4f4c7608e5749af866949c0f1b1b9 \ + --hash=sha256:aa4674cf3fa2bd9c322982644967f01eed0c91bb890f624e0e0daf7a5c3383e9 \ + --hash=sha256:acd2bd02f1a7adff3a1f33e431eb96ab6d7987b039d2946a9b39fe6fb16a1036 \ + --hash=sha256:b3b1bd7577c530eaf9d2bc52d1a93fef50ac516a8b1062c3d1b9bcec9ebe329b \ + --hash=sha256:b48d94386f1994db7c70c76b5808c12e23ed7a4ee13693c2fc5ab109d60243c0 \ + --hash=sha256:b64f747e92af7da3b85631a55d68c45a2d728b4036b03cdaba4bd94bcc85bd6f \ + --hash=sha256:b98c820608e2dca6442e786817f646d11057c09a23b68d2b3737e6dcb6e4a49b \ + --hash=sha256:c1baa49ab9fedbf19d40d93163b7d3e735d9cd8d5efe4cce9907902a6dad391f \ + --hash=sha256:c38c6536c2d71ca2f7e418acaf5bca30a3af7f2a2fa106083c7d738337848dbe \ + --hash=sha256:c78bfbc1a7bff053baf7e508449d2765964d67735c909b583204e3240a2aca45 \ + --hash=sha256:cd2bc0c8f2e8de7dd89a7f1c10b8844e291bca17d359373203ef2e6100819edd \ + --hash=sha256:d2eff2af97ea0b61381828b1ad6cd249bbd41d280e53aea5cccd7b2b31b8225c \ + --hash=sha256:d8834c14b8c3dd849005e06703469db9bf96ba2d66a3f88ecc539c9a8982e0ee \ + --hash=sha256:d912f0154a20a80ea449daada904a7eb6941c83281a9fab95de50529bfc3a1da \ + --hash=sha256:da1ef35fd79be2926ba80fbb36327463e3656c02526e9b5b4c2b366588b74d9a \ + --hash=sha256:dbe6fe7a1166b1ddd7b6d887ea6fa8389d3f28b5ed3f73a8f40ece1fc5a3d340 \ + --hash=sha256:dcd556c8fc37a342dd636d7eef150b1399f823a4462f8c968e11e1ebeabee769 \ + --hash=sha256:e13b31d1b4b68db60b3b29f8e337908f328c7f05b9add4b1b5c74e0691180109 \ + --hash=sha256:e1739496c2f0108013629aa095cc32a8c6363444361960c07493818d0dea2da4 \ + --hash=sha256:e43255a83835a129ef98f75d13d643844d8c646b258bebd11e4a0975203e018f \ + --hash=sha256:e626cefff8491bce356221c22af5a3ea528b0b41fbabc719c00ae233819ea0bf \ + --hash=sha256:eadad75bf91897f922e0fb3dca1b322a58b1726a953f98c2e5f0606bd8408621 \ + --hash=sha256:f33da6b5d19ad1bb5e7ad38bb8ba5c426d2178928bc2b2c44e8823ea0ecb6ff3 \ + --hash=sha256:f4052a8a4926d4468416fc7d4b2a7b2a3e35f25b39f4061a7e2a3a2748c4fc48 \ + --hash=sha256:f6ca38dd8d988eca8f07305125dec6f54ac1c518f1aaddcc14d08c01aebb6efc + # via matplotlib +cycler==0.11.0 \ + --hash=sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3 \ + --hash=sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f + # via matplotlib +decorator==5.1.1 \ + --hash=sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330 \ + --hash=sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186 + # via validators +diffusers==0.7.2 \ + --hash=sha256:4a5f8b3a5fbd936bba7d459611cb35ec62875030367be32b232f9e19543e25a9 \ + --hash=sha256:fb814ffd150cc6f470380b8c6a521181a77beb2f44134d2aad2e4cd8aa2ced0e + # via -r requirements.in +dnspython==2.2.1 \ + --hash=sha256:0f7569a4a6ff151958b64304071d370daa3243d15941a7beedf0c9fe5105603e \ + --hash=sha256:a851e51367fb93e9e1361732c1d60dab63eff98712e503ea7d92e6eccb109b4f + # via eventlet +docker-pycreds==0.4.0 \ + --hash=sha256:6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4 \ + --hash=sha256:7266112468627868005106ec19cd0d722702d2b7d5912a28e19b826c3d37af49 + # via wandb +einops==0.5.0 \ + --hash=sha256:055de7eeb3cb9e9710ef3085a811090c6b52e809b7044e8785824ed185f486d1 \ + --hash=sha256:8b7a83cffc1ea88e306df099b7cbb9c3ba5003bd84d05ae44be5655864abb8d3 + # via k-diffusion +entrypoints==0.4 \ + --hash=sha256:b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4 \ + --hash=sha256:f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f + # via altair +eventlet==0.33.1 \ + --hash=sha256:a085922698e5029f820cf311a648ac324d73cec0e4792877609d978a4b5bbf31 \ + --hash=sha256:afbe17f06a58491e9aebd7a4a03e70b0b63fd4cf76d8307bae07f280479b1515 + # via -r requirements.in +facexlib==0.2.5 \ + --hash=sha256:31e20cc4ed5d63562d380e4564bae14ac0d5d1899a079bad87621e13564567e4 \ + --hash=sha256:cc7ceb56c5424319c47223cf75eef6828c34c66082707c6eb35b95d39779f02d + # via + # gfpgan + # realesrgan +filelock==3.8.0 \ + --hash=sha256:55447caa666f2198c5b6b13a26d2084d26fa5b115c00d065664b2124680c4edc \ + --hash=sha256:617eb4e5eedc82fc5f47b6d61e4d11cb837c56cb4544e39081099fa17ad109d4 + # via + # diffusers + # huggingface-hub + # transformers +filterpy==1.4.5 \ + --hash=sha256:4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1 + # via facexlib +flask==2.2.2 \ + --hash=sha256:642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b \ + --hash=sha256:b9c46cc36662a7949f34b52d8ec7bb59c0d74ba08ba6cb9ce9adc1d8676d9526 + # via + # flask-cors + # flask-socketio +flask-cors==3.0.10 \ + --hash=sha256:74efc975af1194fc7891ff5cd85b0f7478be4f7f59fe158102e91abb72bb4438 \ + --hash=sha256:b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de + # via -r requirements.in +flask-socketio==5.3.1 \ + --hash=sha256:fd0ed0fc1341671d92d5f5b2f5503916deb7aa7e2940e6636cfa2c087c828bf9 \ + --hash=sha256:ff0c721f20bff1e2cfba77948727a8db48f187e89a72fe50c34478ce6efb3353 + # via -r requirements.in +flaskwebgui==0.3.7 \ + --hash=sha256:4a69955308eaa8bb256ba04a994dc8f58a48dcd6f9599694ab1bcd9f43d88a5d \ + --hash=sha256:535974ce2672dcc74787c254de24cceed4101be75d96952dae82014dd57f061e + # via -r requirements.in +fonttools==4.38.0 \ + --hash=sha256:2bb244009f9bf3fa100fc3ead6aeb99febe5985fa20afbfbaa2f8946c2fbdaf1 \ + --hash=sha256:820466f43c8be8c3009aef8b87e785014133508f0de64ec469e4efb643ae54fb + # via matplotlib +frozenlist==1.3.1 \ + --hash=sha256:022178b277cb9277d7d3b3f2762d294f15e85cd2534047e68a118c2bb0058f3e \ + --hash=sha256:086ca1ac0a40e722d6833d4ce74f5bf1aba2c77cbfdc0cd83722ffea6da52a04 \ + --hash=sha256:0bc75692fb3770cf2b5856a6c2c9de967ca744863c5e89595df64e252e4b3944 \ + --hash=sha256:0dde791b9b97f189874d654c55c24bf7b6782343e14909c84beebd28b7217845 \ + --hash=sha256:12607804084d2244a7bd4685c9d0dca5df17a6a926d4f1967aa7978b1028f89f \ + --hash=sha256:19127f8dcbc157ccb14c30e6f00392f372ddb64a6ffa7106b26ff2196477ee9f \ + --hash=sha256:1b51eb355e7f813bcda00276b0114c4172872dc5fb30e3fea059b9367c18fbcb \ + --hash=sha256:1e1cf7bc8cbbe6ce3881863671bac258b7d6bfc3706c600008925fb799a256e2 \ + --hash=sha256:219a9676e2eae91cb5cc695a78b4cb43d8123e4160441d2b6ce8d2c70c60e2f3 \ + --hash=sha256:2743bb63095ef306041c8f8ea22bd6e4d91adabf41887b1ad7886c4c1eb43d5f \ + --hash=sha256:2af6f7a4e93f5d08ee3f9152bce41a6015b5cf87546cb63872cc19b45476e98a \ + --hash=sha256:31b44f1feb3630146cffe56344704b730c33e042ffc78d21f2125a6a91168131 \ + --hash=sha256:31bf9539284f39ff9398deabf5561c2b0da5bb475590b4e13dd8b268d7a3c5c1 \ + --hash=sha256:35c3d79b81908579beb1fb4e7fcd802b7b4921f1b66055af2578ff7734711cfa \ + --hash=sha256:3a735e4211a04ccfa3f4833547acdf5d2f863bfeb01cfd3edaffbc251f15cec8 \ + --hash=sha256:42719a8bd3792744c9b523674b752091a7962d0d2d117f0b417a3eba97d1164b \ + --hash=sha256:49459f193324fbd6413e8e03bd65789e5198a9fa3095e03f3620dee2f2dabff2 \ + --hash=sha256:4c0c99e31491a1d92cde8648f2e7ccad0e9abb181f6ac3ddb9fc48b63301808e \ + --hash=sha256:52137f0aea43e1993264a5180c467a08a3e372ca9d378244c2d86133f948b26b \ + --hash=sha256:526d5f20e954d103b1d47232e3839f3453c02077b74203e43407b962ab131e7b \ + --hash=sha256:53b2b45052e7149ee8b96067793db8ecc1ae1111f2f96fe1f88ea5ad5fd92d10 \ + --hash=sha256:572ce381e9fe027ad5e055f143763637dcbac2542cfe27f1d688846baeef5170 \ + --hash=sha256:58fb94a01414cddcdc6839807db77ae8057d02ddafc94a42faee6004e46c9ba8 \ + --hash=sha256:5e77a8bd41e54b05e4fb2708dc6ce28ee70325f8c6f50f3df86a44ecb1d7a19b \ + --hash=sha256:5f271c93f001748fc26ddea409241312a75e13466b06c94798d1a341cf0e6989 \ + --hash=sha256:5f63c308f82a7954bf8263a6e6de0adc67c48a8b484fab18ff87f349af356efd \ + --hash=sha256:61d7857950a3139bce035ad0b0945f839532987dfb4c06cfe160254f4d19df03 \ + --hash=sha256:61e8cb51fba9f1f33887e22488bad1e28dd8325b72425f04517a4d285a04c519 \ + --hash=sha256:625d8472c67f2d96f9a4302a947f92a7adbc1e20bedb6aff8dbc8ff039ca6189 \ + --hash=sha256:6e19add867cebfb249b4e7beac382d33215d6d54476bb6be46b01f8cafb4878b \ + --hash=sha256:717470bfafbb9d9be624da7780c4296aa7935294bd43a075139c3d55659038ca \ + --hash=sha256:74140933d45271c1a1283f708c35187f94e1256079b3c43f0c2267f9db5845ff \ + --hash=sha256:74e6b2b456f21fc93ce1aff2b9728049f1464428ee2c9752a4b4f61e98c4db96 \ + --hash=sha256:9494122bf39da6422b0972c4579e248867b6b1b50c9b05df7e04a3f30b9a413d \ + --hash=sha256:94e680aeedc7fd3b892b6fa8395b7b7cc4b344046c065ed4e7a1e390084e8cb5 \ + --hash=sha256:97d9e00f3ac7c18e685320601f91468ec06c58acc185d18bb8e511f196c8d4b2 \ + --hash=sha256:9c6ef8014b842f01f5d2b55315f1af5cbfde284eb184075c189fd657c2fd8204 \ + --hash=sha256:a027f8f723d07c3f21963caa7d585dcc9b089335565dabe9c814b5f70c52705a \ + --hash=sha256:a718b427ff781c4f4e975525edb092ee2cdef6a9e7bc49e15063b088961806f8 \ + --hash=sha256:ab386503f53bbbc64d1ad4b6865bf001414930841a870fc97f1546d4d133f141 \ + --hash=sha256:ab6fa8c7871877810e1b4e9392c187a60611fbf0226a9e0b11b7b92f5ac72792 \ + --hash=sha256:b47d64cdd973aede3dd71a9364742c542587db214e63b7529fbb487ed67cddd9 \ + --hash=sha256:b499c6abe62a7a8d023e2c4b2834fce78a6115856ae95522f2f974139814538c \ + --hash=sha256:bbb1a71b1784e68870800b1bc9f3313918edc63dbb8f29fbd2e767ce5821696c \ + --hash=sha256:c3b31180b82c519b8926e629bf9f19952c743e089c41380ddca5db556817b221 \ + --hash=sha256:c56c299602c70bc1bb5d1e75f7d8c007ca40c9d7aebaf6e4ba52925d88ef826d \ + --hash=sha256:c92deb5d9acce226a501b77307b3b60b264ca21862bd7d3e0c1f3594022f01bc \ + --hash=sha256:cc2f3e368ee5242a2cbe28323a866656006382872c40869b49b265add546703f \ + --hash=sha256:d82bed73544e91fb081ab93e3725e45dd8515c675c0e9926b4e1f420a93a6ab9 \ + --hash=sha256:da1cdfa96425cbe51f8afa43e392366ed0b36ce398f08b60de6b97e3ed4affef \ + --hash=sha256:da5ba7b59d954f1f214d352308d1d86994d713b13edd4b24a556bcc43d2ddbc3 \ + --hash=sha256:e0c8c803f2f8db7217898d11657cb6042b9b0553a997c4a0601f48a691480fab \ + --hash=sha256:ee4c5120ddf7d4dd1eaf079af3af7102b56d919fa13ad55600a4e0ebe532779b \ + --hash=sha256:eee0c5ecb58296580fc495ac99b003f64f82a74f9576a244d04978a7e97166db \ + --hash=sha256:f5abc8b4d0c5b556ed8cd41490b606fe99293175a82b98e652c3f2711b452988 \ + --hash=sha256:f810e764617b0748b49a731ffaa525d9bb36ff38332411704c2400125af859a6 \ + --hash=sha256:f89139662cc4e65a4813f4babb9ca9544e42bddb823d2ec434e18dad582543bc \ + --hash=sha256:fa47319a10e0a076709644a0efbcaab9e91902c8bd8ef74c6adb19d320f69b83 \ + --hash=sha256:fabb953ab913dadc1ff9dcc3a7a7d3dc6a92efab3a0373989b8063347f8705be + # via + # aiohttp + # aiosignal +fsspec[http]==2022.10.0 \ + --hash=sha256:6b7c6ab3b476cdf17efcfeccde7fca28ef5a48f73a71010aaceec5fc15bf9ebf \ + --hash=sha256:cb6092474e90487a51de768170f3afa50ca8982c26150a59072b16433879ff1d + # via pytorch-lightning +ftfy==6.1.1 \ + --hash=sha256:0ffd33fce16b54cccaec78d6ec73d95ad370e5df5a25255c8966a6147bd667ca \ + --hash=sha256:bfc2019f84fcd851419152320a6375604a0f1459c281b5b199b2cd0d2e727f8f + # via clip +future==0.18.2 \ + --hash=sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d + # via + # basicsr + # test-tube +getpass-asterisk==1.0.1 \ + --hash=sha256:20d45cafda0066d761961e0919728526baf7bb5151fbf48a7d5ea4034127d857 \ + --hash=sha256:7cc357a924cf62fa4e15b73cb4e5e30685c9084e464ffdc3fd9000a2b54ea9e9 + # via -r requirements.in +gfpgan @ https://github.com/TencentARC/GFPGAN/archive/2eac2033893ca7f427f4035d80fe95b92649ac56.zip \ + --hash=sha256:79e6d71c8f1df7c7ccb0ac6b9a2ccb615ad5cde818c8b6f285a8711c05aebf85 + # via + # -r requirements.in + # realesrgan +gitdb==4.0.9 \ + --hash=sha256:8033ad4e853066ba6ca92050b9df2f89301b8fc8bf7e9324d412a63f8bf1a8fd \ + --hash=sha256:bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa + # via gitpython +gitpython==3.1.29 \ + --hash=sha256:41eea0deec2deea139b459ac03656f0dd28fc4a3387240ec1d3c259a2c47850f \ + --hash=sha256:cc36bfc4a3f913e66805a28e84703e419d9c264c1077e537b54f0e1af85dbefd + # via + # streamlit + # wandb +google-auth==2.14.0 \ + --hash=sha256:1ad5b0e6eba5f69645971abb3d2c197537d5914070a8c6d30299dfdb07c5c700 \ + --hash=sha256:cf24817855d874ede2efd071aa22125445f555de1685b739a9782fcf408c2a3d + # via + # google-auth-oauthlib + # tb-nightly + # tensorboard +google-auth-oauthlib==0.4.6 \ + --hash=sha256:3f2a6e802eebbb6fb736a370fbf3b055edcb6b52878bf2f26330b5e041316c73 \ + --hash=sha256:a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a + # via + # tb-nightly + # tensorboard +greenlet==2.0.0.post0 \ + --hash=sha256:00ebdaf0fa51c284fd2172837d751731a15971e0c20d1a9163cfbdf620ce8b49 \ + --hash=sha256:029ca674b3a7e8427db8f5c65d5ed4e24a7417af2a415a5958598aefd71980c4 \ + --hash=sha256:02bdb1e373b275bd705c43b249426e776c4f8a8ff2afaf8ec5ea0dde487d8a14 \ + --hash=sha256:08dc04f49ed1ea5e6772bb5e8cf2a77d1b1744566f4eca471a55b35af1278b31 \ + --hash=sha256:08f44e938d142271b954405afb6570e0be48a9f556b6bf4d42d2e3ae6a251fad \ + --hash=sha256:0a5c03e2a68ec2ff1cba74ceaed899ec8cd353285f4f985c30c8cfbef9d3a3be \ + --hash=sha256:0fee3240093b745efc857392f09379514ad84db4ca324514594bbdf6380016c8 \ + --hash=sha256:118e708dd7bc88beaeeaa5a8601a7743b8835b7bbaf7c8f23ffa78f8bc8faf28 \ + --hash=sha256:13d492a807a5c7334b5931e9b6d9b181991ccc6a40555a7b177f189feff59b4b \ + --hash=sha256:1cac9e9895aeff26434325404558783ee54f4ff3aec8daa56b8706796f7b01a0 \ + --hash=sha256:2146d15429b4eeb412428737594acb5660a5bc0fdd1488d8a2a74a5ee32391fa \ + --hash=sha256:21ee1ae26d072b195edea764218623f6c15eba4ae06816908f33c82e0af018d3 \ + --hash=sha256:22eca421e3f2f3c18f4f54c0ff525aa9d397c6f116fce9ebd37b420174dbc027 \ + --hash=sha256:2bab49783858cf724fff6868395cbeb81d1188cba23616b53e79de0beda29f42 \ + --hash=sha256:2fbdec204ca40b3d0c0992a19c1ba627441c17983ac4ffc45baec7f5f53e20ca \ + --hash=sha256:30ce47525f9a1515566429ac7de6b1ae76d32c3ccede256e3517a1a6419cf659 \ + --hash=sha256:335dcf676d5e4122e4006c16ae11eda2467af5461b949c265ce120b6b959ffe2 \ + --hash=sha256:3407b843b05da71fef0f1dd666059c08ad0e0f4afc3b9c93c998a2e53fac95e5 \ + --hash=sha256:35827f98fd0d768862b8f15777e6dbb03fe6ac6e7bd1bee3f3ded4536f350347 \ + --hash=sha256:3a22e5988f9d66b3e9ae9583bf9d8ef792b09f23afeb78707e6a4f47ab57cc5e \ + --hash=sha256:3c3327da2bdab61078e42e695307465c425671a5a9251e6c29ee130d51943f28 \ + --hash=sha256:3ca723dfc2789c1fb991809822811896b198ecf0909dbccea4a07170d18c3e1b \ + --hash=sha256:46156ae88ee71c37b6c4f7af63fff5d3ab8f45ef72e1a660bcf6386c1647f106 \ + --hash=sha256:4bbe2d074292e3646704371eb640ee52c386d633ed72ff223dadcd3fe8ecd8f9 \ + --hash=sha256:4c4310f0e42154995d92810f27b44ab7116a4a696feb0ff141ae2de59196efd7 \ + --hash=sha256:4cfa629de5b2dea27c81b334c4536463e9a49ac0877e2008a276d58d4c72868a \ + --hash=sha256:4e144ab0de56b4d2a2cf0d2fb9d568b59fce49aab3e129badf17c12b0252047d \ + --hash=sha256:4ea67f303cec384b148774667c7e3cf02311e7026fc02bdcdcd206dfe4ea4fc9 \ + --hash=sha256:538c9e8f65a32413ace426f8117ef019021adf8175f7c491fed65f5fe2083e0c \ + --hash=sha256:56565ac9ab4ff3dd473bfe959e0bf2a5062aabb89b7c94cabb417beb162c9fff \ + --hash=sha256:5e22485256bb1c60bbcc6f8509b1a11042358a2462d5ecdb9a82dc472d2fdd60 \ + --hash=sha256:602a69c24f1a9755dd1760b3b31bdfc495c4613260c876a01b7e6d5eb9bcae1b \ + --hash=sha256:6393ec3cecda53b20241e88bc33d87cbd8126cc10870fc69fa16ca2e20a5ac1b \ + --hash=sha256:6442bbfb047dc1e47658954b72e1589f2bc4e12e67d51bbad0059a626180daa1 \ + --hash=sha256:666d2a0b269a68cd4fe0976544ab97970c5334d35d0e47ae9be1723f734d8204 \ + --hash=sha256:697cfbfc19815c40213badcfe5f076418e0f9100cd25a66f513f32c1026b8bf4 \ + --hash=sha256:6a1a6745c5dce202aa3f29a1736c53cf2179e9c3b280dc62cea9cb8c69977c83 \ + --hash=sha256:6fc73fc8dd81d9efa842a55033b6b4cb233b134a0270e127c6874d053ef2049b \ + --hash=sha256:7e9e0d4c5c618b0442396715ffe6c2f84a60d593dad7e0184388aed36d568a65 \ + --hash=sha256:81fdcf7c0c2df46a99ca421a552c4370117851c5e4dbd6cb53d569b896d62322 \ + --hash=sha256:8b26932be686f3582df039d79fe96f7ca13d63b39468162f816f9ff29584b9a4 \ + --hash=sha256:8b7e5191b974fb66fcbac1818ba494d3512da9cf6eaef7acd952f9862eaaa20c \ + --hash=sha256:8c80e9c41a83d8c90399af8c7dcdeae0c03c48b40b9d0ab84457533d5d7882bf \ + --hash=sha256:9f2f110b9cc325f6543e0e3f4ab8008c272a59052f9464047c29d4be4511ce05 \ + --hash=sha256:a339e510a079dc8372e39ce1c7629414db51966235c9670c58d529def79243a2 \ + --hash=sha256:ad9abc3e4d2370cecb524421cc5c8a664006aa11d5c1cb3c9250e3bf65ab546e \ + --hash=sha256:b043782c8f6cccc8fae3a16db397eca1d36a41b0706cbf6f514aea1e1a260bab \ + --hash=sha256:b31de27313abbb567c528ed123380fcf18a5dfd03134570dfd12227e21ac1184 \ + --hash=sha256:b75e5644cc353328cd57ec8dafaaf5f81b2c3ecf7c4b278b907e99ad53ba7839 \ + --hash=sha256:b8cfc8fc944bd7b704691bc28225a2635e377e92dc413459845868d3f7724982 \ + --hash=sha256:c2055c52260808d87622293b57df1c68aeb12ddd8a0cfc0223fb57a5f629e202 \ + --hash=sha256:c416106b3b8e905b6ab0e84ec90047a6401021aa023f9aa93978e57cd8f8189f \ + --hash=sha256:d0e210e17a6181a3fd3f8dce957043a4e74177ffa9f295514984b2b633940dce \ + --hash=sha256:d9453135e48cd631e3e9f06d9da9100d17c9f662e4a6d8b552c29be6c834a6b9 \ + --hash=sha256:dd0198006278291d9469309d655093df1f5e5107c0261e242b5f390baee32199 \ + --hash=sha256:e1781bda1e787d3ad33788cc3be47f6e47a9581676d02670c15ee36c9460adfe \ + --hash=sha256:e56a5a9f303e3ac011ba445a6d84f05d08666bf8db094afafcec5228622c30f5 \ + --hash=sha256:e93ae35f0fd3caf75e58c76a1cab71e6ece169aaa1b281782ef9efde0a6b83f2 \ + --hash=sha256:eb36b6570646227a63eda03916f1cc6f3744ee96d28f7a0a5629c59267a8055f \ + --hash=sha256:f8c425a130e04d5404edaf6f5906e5ab12f3aa1168a1828aba6dfadac5910469 + # via eventlet +grpcio==1.50.0 \ + --hash=sha256:05f7c248e440f538aaad13eee78ef35f0541e73498dd6f832fe284542ac4b298 \ + --hash=sha256:080b66253f29e1646ac53ef288c12944b131a2829488ac3bac8f52abb4413c0d \ + --hash=sha256:12b479839a5e753580b5e6053571de14006157f2ef9b71f38c56dc9b23b95ad6 \ + --hash=sha256:156f8009e36780fab48c979c5605eda646065d4695deea4cfcbcfdd06627ddb6 \ + --hash=sha256:15f9e6d7f564e8f0776770e6ef32dac172c6f9960c478616c366862933fa08b4 \ + --hash=sha256:177afaa7dba3ab5bfc211a71b90da1b887d441df33732e94e26860b3321434d9 \ + --hash=sha256:1a4cd8cb09d1bc70b3ea37802be484c5ae5a576108bad14728f2516279165dd7 \ + --hash=sha256:1d8d02dbb616c0a9260ce587eb751c9c7dc689bc39efa6a88cc4fa3e9c138a7b \ + --hash=sha256:2b71916fa8f9eb2abd93151fafe12e18cebb302686b924bd4ec39266211da525 \ + --hash=sha256:2d9fd6e38b16c4d286a01e1776fdf6c7a4123d99ae8d6b3f0b4a03a34bf6ce45 \ + --hash=sha256:3b611b3de3dfd2c47549ca01abfa9bbb95937eb0ea546ea1d762a335739887be \ + --hash=sha256:3e4244c09cc1b65c286d709658c061f12c61c814be0b7030a2d9966ff02611e0 \ + --hash=sha256:40838061e24f960b853d7bce85086c8e1b81c6342b1f4c47ff0edd44bbae2722 \ + --hash=sha256:4b123fbb7a777a2fedec684ca0b723d85e1d2379b6032a9a9b7851829ed3ca9a \ + --hash=sha256:531f8b46f3d3db91d9ef285191825d108090856b3bc86a75b7c3930f16ce432f \ + --hash=sha256:67dd41a31f6fc5c7db097a5c14a3fa588af54736ffc174af4411d34c4f306f68 \ + --hash=sha256:7489dbb901f4fdf7aec8d3753eadd40839c9085967737606d2c35b43074eea24 \ + --hash=sha256:8d4c8e73bf20fb53fe5a7318e768b9734cf122fe671fcce75654b98ba12dfb75 \ + --hash=sha256:8e69aa4e9b7f065f01d3fdcecbe0397895a772d99954bb82eefbb1682d274518 \ + --hash=sha256:8e8999a097ad89b30d584c034929f7c0be280cd7851ac23e9067111167dcbf55 \ + --hash=sha256:906f4d1beb83b3496be91684c47a5d870ee628715227d5d7c54b04a8de802974 \ + --hash=sha256:92d7635d1059d40d2ec29c8bf5ec58900120b3ce5150ef7414119430a4b2dd5c \ + --hash=sha256:931e746d0f75b2a5cff0a1197d21827a3a2f400c06bace036762110f19d3d507 \ + --hash=sha256:95ce51f7a09491fb3da8cf3935005bff19983b77c4e9437ef77235d787b06842 \ + --hash=sha256:9eea18a878cffc804506d39c6682d71f6b42ec1c151d21865a95fae743fda500 \ + --hash=sha256:a23d47f2fc7111869f0ff547f771733661ff2818562b04b9ed674fa208e261f4 \ + --hash=sha256:a4c23e54f58e016761b576976da6a34d876420b993f45f66a2bfb00363ecc1f9 \ + --hash=sha256:a50a1be449b9e238b9bd43d3857d40edf65df9416dea988929891d92a9f8a778 \ + --hash=sha256:ab5d0e3590f0a16cb88de4a3fa78d10eb66a84ca80901eb2c17c1d2c308c230f \ + --hash=sha256:ae23daa7eda93c1c49a9ecc316e027ceb99adbad750fbd3a56fa9e4a2ffd5ae0 \ + --hash=sha256:af98d49e56605a2912cf330b4627e5286243242706c3a9fa0bcec6e6f68646fc \ + --hash=sha256:b2f77a90ba7b85bfb31329f8eab9d9540da2cf8a302128fb1241d7ea239a5469 \ + --hash=sha256:baab51dcc4f2aecabf4ed1e2f57bceab240987c8b03533f1cef90890e6502067 \ + --hash=sha256:ca8a2254ab88482936ce941485c1c20cdeaef0efa71a61dbad171ab6758ec998 \ + --hash=sha256:cb11464f480e6103c59d558a3875bd84eed6723f0921290325ebe97262ae1347 \ + --hash=sha256:ce8513aee0af9c159319692bfbf488b718d1793d764798c3d5cff827a09e25ef \ + --hash=sha256:cf151f97f5f381163912e8952eb5b3afe89dec9ed723d1561d59cabf1e219a35 \ + --hash=sha256:d144ad10eeca4c1d1ce930faa105899f86f5d99cecfe0d7224f3c4c76265c15e \ + --hash=sha256:d534d169673dd5e6e12fb57cc67664c2641361e1a0885545495e65a7b761b0f4 \ + --hash=sha256:d75061367a69808ab2e84c960e9dce54749bcc1e44ad3f85deee3a6c75b4ede9 \ + --hash=sha256:d84d04dec64cc4ed726d07c5d17b73c343c8ddcd6b59c7199c801d6bbb9d9ed1 \ + --hash=sha256:de411d2b030134b642c092e986d21aefb9d26a28bf5a18c47dd08ded411a3bc5 \ + --hash=sha256:e07fe0d7ae395897981d16be61f0db9791f482f03fee7d1851fe20ddb4f69c03 \ + --hash=sha256:ea8ccf95e4c7e20419b7827aa5b6da6f02720270686ac63bd3493a651830235c \ + --hash=sha256:f7025930039a011ed7d7e7ef95a1cb5f516e23c5a6ecc7947259b67bea8e06ca + # via + # tb-nightly + # tensorboard +huggingface-hub==0.10.1 \ + --hash=sha256:5c188d5b16bec4b78449f8681f9975ff9d321c16046cc29bcf0d7e464ff29276 \ + --hash=sha256:dc3b0e9a663fe6cad6a8522055c02a9d8673dbd527223288e2442bc028c253db + # via + # diffusers + # transformers +idna==2.10 \ + --hash=sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6 \ + --hash=sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0 + # via + # requests + # yarl +imageio==2.22.3 \ + --hash=sha256:63f007b7f2a082306e36922b3fd529a7aa305d2b78f46195bab8e22bbfe866e9 \ + --hash=sha256:a4b88f9f3d428b8c0ceeb7e297df8c346a642bb7e3111743eb85717d60b26f6f + # via + # scikit-image + # test-tube +imageio-ffmpeg==0.4.7 \ + --hash=sha256:27b48c32becae1658aa81c3a6b922538e4099edf5fbcbdb4ff5dbc84b8ffd3d3 \ + --hash=sha256:6514f1380daf42815bc8c83aad63f33e0b8b47133421ddafe7b410cd8dfbbea5 \ + --hash=sha256:6aba52ddf0a64442ffcb8d30ac6afb668186acec99ecbc7ae5bd171c4f500bbc \ + --hash=sha256:7a08838f97f363e37ca41821b864fd3fdc99ab1fe2421040c78eb5f56a9e723e \ + --hash=sha256:8e724d12dfe83e2a6eb39619e820243ca96c81c47c2648e66e05f7ee24e14312 \ + --hash=sha256:fc60686ef03c2d0f842901b206223c30051a6a120384458761390104470846fd + # via -r requirements.in +importlib-metadata==5.0.0 \ + --hash=sha256:da31db32b304314d044d3c12c79bd59e307889b287ad12ff387b3500835fc2ab \ + --hash=sha256:ddb0e35065e8938f867ed4928d0ae5bf2a53b7773871bfe6bcc7e4fcdc7dea43 + # via + # diffusers + # streamlit +itsdangerous==2.1.2 \ + --hash=sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44 \ + --hash=sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a + # via flask +jinja2==3.1.2 \ + --hash=sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852 \ + --hash=sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61 + # via + # altair + # flask + # pydeck +joblib==1.2.0 \ + --hash=sha256:091138ed78f800342968c523bdde947e7a305b8594b910a0fea2ab83c3c6d385 \ + --hash=sha256:e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018 + # via scikit-learn +jsonmerge==1.9.0 \ + --hash=sha256:a2d1f80021c5c1d70a49e31f862b5f068f9db066080d8561e80654de74a3584d + # via k-diffusion +jsonschema==4.17.0 \ + --hash=sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d \ + --hash=sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248 + # via + # altair + # jsonmerge +k-diffusion @ https://github.com/invoke-ai/k-diffusion/archive/7f16b2c33411f26b3eae78d10648d625cb0c1095.zip \ + --hash=sha256:c3f2c84036aa98c3abf4552fafab04df5ca472aa639982795e05bb1db43ce5e4 + # via -r requirements.in +kiwisolver==1.4.4 \ + --hash=sha256:02f79693ec433cb4b5f51694e8477ae83b3205768a6fb48ffba60549080e295b \ + --hash=sha256:03baab2d6b4a54ddbb43bba1a3a2d1627e82d205c5cf8f4c924dc49284b87166 \ + --hash=sha256:1041feb4cda8708ce73bb4dcb9ce1ccf49d553bf87c3954bdfa46f0c3f77252c \ + --hash=sha256:10ee06759482c78bdb864f4109886dff7b8a56529bc1609d4f1112b93fe6423c \ + --hash=sha256:1d1573129aa0fd901076e2bfb4275a35f5b7aa60fbfb984499d661ec950320b0 \ + --hash=sha256:283dffbf061a4ec60391d51e6155e372a1f7a4f5b15d59c8505339454f8989e4 \ + --hash=sha256:28bc5b299f48150b5f822ce68624e445040595a4ac3d59251703779836eceff9 \ + --hash=sha256:2a66fdfb34e05b705620dd567f5a03f239a088d5a3f321e7b6ac3239d22aa286 \ + --hash=sha256:2e307eb9bd99801f82789b44bb45e9f541961831c7311521b13a6c85afc09767 \ + --hash=sha256:2e407cb4bd5a13984a6c2c0fe1845e4e41e96f183e5e5cd4d77a857d9693494c \ + --hash=sha256:2f5e60fabb7343a836360c4f0919b8cd0d6dbf08ad2ca6b9cf90bf0c76a3c4f6 \ + --hash=sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b \ + --hash=sha256:3fe20f63c9ecee44560d0e7f116b3a747a5d7203376abeea292ab3152334d004 \ + --hash=sha256:41dae968a94b1ef1897cb322b39360a0812661dba7c682aa45098eb8e193dbdf \ + --hash=sha256:4bd472dbe5e136f96a4b18f295d159d7f26fd399136f5b17b08c4e5f498cd494 \ + --hash=sha256:4ea39b0ccc4f5d803e3337dd46bcce60b702be4d86fd0b3d7531ef10fd99a1ac \ + --hash=sha256:5853eb494c71e267912275e5586fe281444eb5e722de4e131cddf9d442615626 \ + --hash=sha256:5bce61af018b0cb2055e0e72e7d65290d822d3feee430b7b8203d8a855e78766 \ + --hash=sha256:6295ecd49304dcf3bfbfa45d9a081c96509e95f4b9d0eb7ee4ec0530c4a96514 \ + --hash=sha256:62ac9cc684da4cf1778d07a89bf5f81b35834cb96ca523d3a7fb32509380cbf6 \ + --hash=sha256:70e7c2e7b750585569564e2e5ca9845acfaa5da56ac46df68414f29fea97be9f \ + --hash=sha256:7577c1987baa3adc4b3c62c33bd1118c3ef5c8ddef36f0f2c950ae0b199e100d \ + --hash=sha256:75facbe9606748f43428fc91a43edb46c7ff68889b91fa31f53b58894503a191 \ + --hash=sha256:787518a6789009c159453da4d6b683f468ef7a65bbde796bcea803ccf191058d \ + --hash=sha256:78d6601aed50c74e0ef02f4204da1816147a6d3fbdc8b3872d263338a9052c51 \ + --hash=sha256:7c43e1e1206cd421cd92e6b3280d4385d41d7166b3ed577ac20444b6995a445f \ + --hash=sha256:81e38381b782cc7e1e46c4e14cd997ee6040768101aefc8fa3c24a4cc58e98f8 \ + --hash=sha256:841293b17ad704d70c578f1f0013c890e219952169ce8a24ebc063eecf775454 \ + --hash=sha256:872b8ca05c40d309ed13eb2e582cab0c5a05e81e987ab9c521bf05ad1d5cf5cb \ + --hash=sha256:877272cf6b4b7e94c9614f9b10140e198d2186363728ed0f701c6eee1baec1da \ + --hash=sha256:8c808594c88a025d4e322d5bb549282c93c8e1ba71b790f539567932722d7bd8 \ + --hash=sha256:8ed58b8acf29798b036d347791141767ccf65eee7f26bde03a71c944449e53de \ + --hash=sha256:91672bacaa030f92fc2f43b620d7b337fd9a5af28b0d6ed3f77afc43c4a64b5a \ + --hash=sha256:968f44fdbf6dd757d12920d63b566eeb4d5b395fd2d00d29d7ef00a00582aac9 \ + --hash=sha256:9f85003f5dfa867e86d53fac6f7e6f30c045673fa27b603c397753bebadc3008 \ + --hash=sha256:a553dadda40fef6bfa1456dc4be49b113aa92c2a9a9e8711e955618cd69622e3 \ + --hash=sha256:a68b62a02953b9841730db7797422f983935aeefceb1679f0fc85cbfbd311c32 \ + --hash=sha256:abbe9fa13da955feb8202e215c4018f4bb57469b1b78c7a4c5c7b93001699938 \ + --hash=sha256:ad881edc7ccb9d65b0224f4e4d05a1e85cf62d73aab798943df6d48ab0cd79a1 \ + --hash=sha256:b1792d939ec70abe76f5054d3f36ed5656021dcad1322d1cc996d4e54165cef9 \ + --hash=sha256:b428ef021242344340460fa4c9185d0b1f66fbdbfecc6c63eff4b7c29fad429d \ + --hash=sha256:b533558eae785e33e8c148a8d9921692a9fe5aa516efbdff8606e7d87b9d5824 \ + --hash=sha256:ba59c92039ec0a66103b1d5fe588fa546373587a7d68f5c96f743c3396afc04b \ + --hash=sha256:bc8d3bd6c72b2dd9decf16ce70e20abcb3274ba01b4e1c96031e0c4067d1e7cd \ + --hash=sha256:bc9db8a3efb3e403e4ecc6cd9489ea2bac94244f80c78e27c31dcc00d2790ac2 \ + --hash=sha256:bf7d9fce9bcc4752ca4a1b80aabd38f6d19009ea5cbda0e0856983cf6d0023f5 \ + --hash=sha256:c2dbb44c3f7e6c4d3487b31037b1bdbf424d97687c1747ce4ff2895795c9bf69 \ + --hash=sha256:c79ebe8f3676a4c6630fd3f777f3cfecf9289666c84e775a67d1d358578dc2e3 \ + --hash=sha256:c97528e64cb9ebeff9701e7938653a9951922f2a38bd847787d4a8e498cc83ae \ + --hash=sha256:d0611a0a2a518464c05ddd5a3a1a0e856ccc10e67079bb17f265ad19ab3c7597 \ + --hash=sha256:d06adcfa62a4431d404c31216f0f8ac97397d799cd53800e9d3efc2fbb3cf14e \ + --hash=sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955 \ + --hash=sha256:d5b61785a9ce44e5a4b880272baa7cf6c8f48a5180c3e81c59553ba0cb0821ca \ + --hash=sha256:da152d8cdcab0e56e4f45eb08b9aea6455845ec83172092f09b0e077ece2cf7a \ + --hash=sha256:da7e547706e69e45d95e116e6939488d62174e033b763ab1496b4c29b76fabea \ + --hash=sha256:db5283d90da4174865d520e7366801a93777201e91e79bacbac6e6927cbceede \ + --hash=sha256:db608a6757adabb32f1cfe6066e39b3706d8c3aa69bbc353a5b61edad36a5cb4 \ + --hash=sha256:e0ea21f66820452a3f5d1655f8704a60d66ba1191359b96541eaf457710a5fc6 \ + --hash=sha256:e7da3fec7408813a7cebc9e4ec55afed2d0fd65c4754bc376bf03498d4e92686 \ + --hash=sha256:e92a513161077b53447160b9bd8f522edfbed4bd9759e4c18ab05d7ef7e49408 \ + --hash=sha256:ecb1fa0db7bf4cff9dac752abb19505a233c7f16684c5826d1f11ebd9472b871 \ + --hash=sha256:efda5fc8cc1c61e4f639b8067d118e742b812c930f708e6667a5ce0d13499e29 \ + --hash=sha256:f0a1dbdb5ecbef0d34eb77e56fcb3e95bbd7e50835d9782a45df81cc46949750 \ + --hash=sha256:f0a71d85ecdd570ded8ac3d1c0f480842f49a40beb423bb8014539a9f32a5897 \ + --hash=sha256:f4f270de01dd3e129a72efad823da90cc4d6aafb64c410c9033aba70db9f1ff0 \ + --hash=sha256:f6cb459eea32a4e2cf18ba5fcece2dbdf496384413bc1bae15583f19e567f3b2 \ + --hash=sha256:f8ad8285b01b0d4695102546b342b493b3ccc6781fc28c8c6a1bb63e95d22f09 \ + --hash=sha256:f9f39e2f049db33a908319cf46624a569b36983c7c78318e9726a4cb8923b26c + # via matplotlib +kornia==0.6.8 \ + --hash=sha256:0985e02453c0ab4f030e8d22a3a7554dab312ffa8f8a54ec872190e6f0b58c56 \ + --hash=sha256:0d6d69330b4fd24da742337b8134da0ce01b4d7da66770db5498d58e8b4a0832 + # via k-diffusion +llvmlite==0.39.1 \ + --hash=sha256:03aee0ccd81735696474dc4f8b6be60774892a2929d6c05d093d17392c237f32 \ + --hash=sha256:1578f5000fdce513712e99543c50e93758a954297575610f48cb1fd71b27c08a \ + --hash=sha256:16f56eb1eec3cda3a5c526bc3f63594fc24e0c8d219375afeb336f289764c6c7 \ + --hash=sha256:1ec3d70b3e507515936e475d9811305f52d049281eaa6c8273448a61c9b5b7e2 \ + --hash=sha256:22d36591cd5d02038912321d9ab8e4668e53ae2211da5523f454e992b5e13c36 \ + --hash=sha256:3803f11ad5f6f6c3d2b545a303d68d9fabb1d50e06a8d6418e6fcd2d0df00959 \ + --hash=sha256:39dc2160aed36e989610fc403487f11b8764b6650017ff367e45384dff88ffbf \ + --hash=sha256:3fc14e757bc07a919221f0cbaacb512704ce5774d7fcada793f1996d6bc75f2a \ + --hash=sha256:4c6ebace910410daf0bebda09c1859504fc2f33d122e9a971c4c349c89cca630 \ + --hash=sha256:50aea09a2b933dab7c9df92361b1844ad3145bfb8dd2deb9cd8b8917d59306fb \ + --hash=sha256:60f8dd1e76f47b3dbdee4b38d9189f3e020d22a173c00f930b52131001d801f9 \ + --hash=sha256:62c0ea22e0b9dffb020601bb65cb11dd967a095a488be73f07d8867f4e327ca5 \ + --hash=sha256:6546bed4e02a1c3d53a22a0bced254b3b6894693318b16c16c8e43e29d6befb6 \ + --hash=sha256:6717c7a6e93c9d2c3d07c07113ec80ae24af45cde536b34363d4bcd9188091d9 \ + --hash=sha256:7ebf1eb9badc2a397d4f6a6c8717447c81ac011db00064a00408bc83c923c0e4 \ + --hash=sha256:9ffc84ade195abd4abcf0bd3b827b9140ae9ef90999429b9ea84d5df69c9058c \ + --hash=sha256:a3f331a323d0f0ada6b10d60182ef06c20a2f01be21699999d204c5750ffd0b4 \ + --hash=sha256:b1a0bbdb274fb683f993198775b957d29a6f07b45d184c571ef2a721ce4388cf \ + --hash=sha256:b43abd7c82e805261c425d50335be9a6c4f84264e34d6d6e475207300005d572 \ + --hash=sha256:c0f158e4708dda6367d21cf15afc58de4ebce979c7a1aa2f6b977aae737e2a54 \ + --hash=sha256:d0bfd18c324549c0fec2c5dc610fd024689de6f27c6cc67e4e24a07541d6e49b \ + --hash=sha256:ddab526c5a2c4ccb8c9ec4821fcea7606933dc53f510e2a6eebb45a418d3488a \ + --hash=sha256:e172c73fccf7d6db4bd6f7de963dedded900d1a5c6778733241d878ba613980e \ + --hash=sha256:e2c00ff204afa721b0bb9835b5bf1ba7fba210eefcec5552a9e05a63219ba0dc \ + --hash=sha256:e31f4b799d530255aaf0566e3da2df5bfc35d3cd9d6d5a3dcc251663656c27b1 \ + --hash=sha256:e4f212c018db951da3e1dc25c2651abc688221934739721f2dad5ff1dd5f90e7 \ + --hash=sha256:fa9b26939ae553bf30a9f5c4c754db0fb2d2677327f2511e674aa2f5df941789 \ + --hash=sha256:fb62fc7016b592435d3e3a8f680e3ea8897c3c9e62e6e6cc58011e7a4801439e + # via numba +lmdb==1.3.0 \ + --hash=sha256:008243762decf8f6c90430a9bced56290ebbcdb5e877d90e42343bb97033e494 \ + --hash=sha256:08f4b5129f4683802569b02581142e415c8dcc0ff07605983ec1b07804cecbad \ + --hash=sha256:17215a42a4b9814c383deabecb160581e4fb75d00198eef0e3cea54f230ffbea \ + --hash=sha256:18c69fabdaf04efaf246587739cc1062b3e57c6ef0743f5c418df89e5e7e7b9b \ + --hash=sha256:2cfa4aa9c67f8aee89b23005e98d1f3f32490b6b905fd1cb604b207cbd5755ab \ + --hash=sha256:2df38115dd9428a54d59ae7c712a4c7cce0d6b1d66056de4b1a8c38718066106 \ + --hash=sha256:394df860c3f93cfd92b6f4caba785f38208cc9614c18b3803f83a2cc1695042f \ + --hash=sha256:41318717ab5d15ad2d6d263d34fbf614a045210f64b25e59ce734bb2105e421f \ + --hash=sha256:4172fba19417d7b29409beca7d73c067b54e5d8ab1fb9b51d7b4c1445d20a167 \ + --hash=sha256:5a14aca2651c3af6f0d0a6b9168200eea0c8f2d27c40b01a442f33329a6e8dff \ + --hash=sha256:5ddd590e1c7fcb395931aa3782fb89b9db4550ab2d81d006ecd239e0d462bc41 \ + --hash=sha256:60a11efc21aaf009d06518996360eed346f6000bfc9de05114374230879f992e \ + --hash=sha256:6260a526e4ad85b1f374a5ba9475bf369fb07e7728ea6ec57226b02c40d1976b \ + --hash=sha256:62ab28e3593bdc318ea2f2fa1574e5fca3b6d1f264686d773ba54a637d4f563b \ + --hash=sha256:63cb73fe7ce9eb93d992d632c85a0476b4332670d9e6a2802b5062f603b7809f \ + --hash=sha256:65334eafa5d430b18d81ebd5362559a41483c362e1931f6e1b15bab2ecb7d75d \ + --hash=sha256:7da05d70fcc6561ac6b09e9fb1bf64b7ca294652c64c8a2889273970cee796b9 \ + --hash=sha256:abbc439cd9fe60ffd6197009087ea885ac150017dc85384093b1d376f83f0ec4 \ + --hash=sha256:c6adbd6f7f9048e97f31a069e652eb51020a81e80a0ce92dbb9810d21da2409a \ + --hash=sha256:d6a816954d212f40fd15007cd81ab7a6bebb77436d949a6a9ae04af57fc127f3 \ + --hash=sha256:d9103aa4908f0bca43c5911ca067d4e3d01f682dff0c0381a1239bd2bd757984 \ + --hash=sha256:df2724bad7820114a205472994091097d0fa65a3e5fff5a8e688d123fb8c6326 \ + --hash=sha256:e568ae0887ae196340947d9800136e90feaed6b86a261ef01f01b2ba65fc8106 \ + --hash=sha256:e6a704b3baced9182836c7f77b769f23856f3a8f62d0282b1bc1feaf81a86712 \ + --hash=sha256:eefb392f6b5cd43aada49258c5a79be11cb2c8cd3fc3e2d9319a1e0b9f906458 \ + --hash=sha256:f291e3f561f58dddf63a92a5a6a4b8af3a0920b6705d35e2f80e52e86ee238a2 \ + --hash=sha256:fa6439356e591d3249ab0e1778a6f8d8408e993f66dc911914c78208f5310309 + # via + # basicsr + # gfpgan +markdown==3.4.1 \ + --hash=sha256:08fb8465cffd03d10b9dd34a5c3fea908e20391a2a90b88d66362cb05beed186 \ + --hash=sha256:3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff + # via + # tb-nightly + # tensorboard +markupsafe==2.1.1 \ + --hash=sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003 \ + --hash=sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88 \ + --hash=sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5 \ + --hash=sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7 \ + --hash=sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a \ + --hash=sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603 \ + --hash=sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1 \ + --hash=sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135 \ + --hash=sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247 \ + --hash=sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6 \ + --hash=sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601 \ + --hash=sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77 \ + --hash=sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02 \ + --hash=sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e \ + --hash=sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63 \ + --hash=sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f \ + --hash=sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980 \ + --hash=sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b \ + --hash=sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812 \ + --hash=sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff \ + --hash=sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96 \ + --hash=sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1 \ + --hash=sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925 \ + --hash=sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a \ + --hash=sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6 \ + --hash=sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e \ + --hash=sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f \ + --hash=sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4 \ + --hash=sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f \ + --hash=sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3 \ + --hash=sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c \ + --hash=sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a \ + --hash=sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417 \ + --hash=sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a \ + --hash=sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a \ + --hash=sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37 \ + --hash=sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452 \ + --hash=sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933 \ + --hash=sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a \ + --hash=sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7 + # via + # jinja2 + # werkzeug +matplotlib==3.6.2 \ + --hash=sha256:0844523dfaaff566e39dbfa74e6f6dc42e92f7a365ce80929c5030b84caa563a \ + --hash=sha256:0eda9d1b43f265da91fb9ae10d6922b5a986e2234470a524e6b18f14095b20d2 \ + --hash=sha256:168093410b99f647ba61361b208f7b0d64dde1172b5b1796d765cd243cadb501 \ + --hash=sha256:1836f366272b1557a613f8265db220eb8dd883202bbbabe01bad5a4eadfd0c95 \ + --hash=sha256:19d61ee6414c44a04addbe33005ab1f87539d9f395e25afcbe9a3c50ce77c65c \ + --hash=sha256:252957e208c23db72ca9918cb33e160c7833faebf295aaedb43f5b083832a267 \ + --hash=sha256:32d29c8c26362169c80c5718ce367e8c64f4dd068a424e7110df1dd2ed7bd428 \ + --hash=sha256:380d48c15ec41102a2b70858ab1dedfa33eb77b2c0982cb65a200ae67a48e9cb \ + --hash=sha256:3964934731fd7a289a91d315919cf757f293969a4244941ab10513d2351b4e83 \ + --hash=sha256:3cef89888a466228fc4e4b2954e740ce8e9afde7c4315fdd18caa1b8de58ca17 \ + --hash=sha256:4426c74761790bff46e3d906c14c7aab727543293eed5a924300a952e1a3a3c1 \ + --hash=sha256:5024b8ed83d7f8809982d095d8ab0b179bebc07616a9713f86d30cf4944acb73 \ + --hash=sha256:52c2bdd7cd0bf9d5ccdf9c1816568fd4ccd51a4d82419cc5480f548981b47dd0 \ + --hash=sha256:54fa9fe27f5466b86126ff38123261188bed568c1019e4716af01f97a12fe812 \ + --hash=sha256:5ba73aa3aca35d2981e0b31230d58abb7b5d7ca104e543ae49709208d8ce706a \ + --hash=sha256:5e16dcaecffd55b955aa5e2b8a804379789c15987e8ebd2f32f01398a81e975b \ + --hash=sha256:5ecfc6559132116dedfc482d0ad9df8a89dc5909eebffd22f3deb684132d002f \ + --hash=sha256:74153008bd24366cf099d1f1e83808d179d618c4e32edb0d489d526523a94d9f \ + --hash=sha256:78ec3c3412cf277e6252764ee4acbdbec6920cc87ad65862272aaa0e24381eee \ + --hash=sha256:795ad83940732b45d39b82571f87af0081c120feff2b12e748d96bb191169e33 \ + --hash=sha256:7f716b6af94dc1b6b97c46401774472f0867e44595990fe80a8ba390f7a0a028 \ + --hash=sha256:83dc89c5fd728fdb03b76f122f43b4dcee8c61f1489e232d9ad0f58020523e1c \ + --hash=sha256:8a0ae37576ed444fe853709bdceb2be4c7df6f7acae17b8378765bd28e61b3ae \ + --hash=sha256:8a8dbe2cb7f33ff54b16bb5c500673502a35f18ac1ed48625e997d40c922f9cc \ + --hash=sha256:8a9d899953c722b9afd7e88dbefd8fb276c686c3116a43c577cfabf636180558 \ + --hash=sha256:8d0068e40837c1d0df6e3abf1cdc9a34a6d2611d90e29610fa1d2455aeb4e2e5 \ + --hash=sha256:9347cc6822f38db2b1d1ce992f375289670e595a2d1c15961aacbe0977407dfc \ + --hash=sha256:9f335e5625feb90e323d7e3868ec337f7b9ad88b5d633f876e3b778813021dab \ + --hash=sha256:b03fd10a1709d0101c054883b550f7c4c5e974f751e2680318759af005964990 \ + --hash=sha256:b0ca2c60d3966dfd6608f5f8c49b8a0fcf76de6654f2eda55fc6ef038d5a6f27 \ + --hash=sha256:b2604c6450f9dd2c42e223b1f5dca9643a23cfecc9fde4a94bb38e0d2693b136 \ + --hash=sha256:ca0e7a658fbafcddcaefaa07ba8dae9384be2343468a8e011061791588d839fa \ + --hash=sha256:d0e9ac04065a814d4cf2c6791a2ad563f739ae3ae830d716d54245c2b96fead6 \ + --hash=sha256:d50e8c1e571ee39b5dfbc295c11ad65988879f68009dd281a6e1edbc2ff6c18c \ + --hash=sha256:d840adcad7354be6f2ec28d0706528b0026e4c3934cc6566b84eac18633eab1b \ + --hash=sha256:e0bbee6c2a5bf2a0017a9b5e397babb88f230e6f07c3cdff4a4c4bc75ed7c617 \ + --hash=sha256:e5afe0a7ea0e3a7a257907060bee6724a6002b7eec55d0db16fd32409795f3e1 \ + --hash=sha256:e68be81cd8c22b029924b6d0ee814c337c0e706b8d88495a617319e5dd5441c3 \ + --hash=sha256:ec9be0f4826cdb3a3a517509dcc5f87f370251b76362051ab59e42b6b765f8c4 \ + --hash=sha256:f04f97797df35e442ed09f529ad1235d1f1c0f30878e2fe09a2676b71a8801e0 \ + --hash=sha256:f41e57ad63d336fe50d3a67bb8eaa26c09f6dda6a59f76777a99b8ccd8e26aec + # via filterpy +multidict==6.0.2 \ + --hash=sha256:0327292e745a880459ef71be14e709aaea2f783f3537588fb4ed09b6c01bca60 \ + --hash=sha256:041b81a5f6b38244b34dc18c7b6aba91f9cdaf854d9a39e5ff0b58e2b5773b9c \ + --hash=sha256:0556a1d4ea2d949efe5fd76a09b4a82e3a4a30700553a6725535098d8d9fb672 \ + --hash=sha256:05f6949d6169878a03e607a21e3b862eaf8e356590e8bdae4227eedadacf6e51 \ + --hash=sha256:07a017cfa00c9890011628eab2503bee5872f27144936a52eaab449be5eaf032 \ + --hash=sha256:0b9e95a740109c6047602f4db4da9949e6c5945cefbad34a1299775ddc9a62e2 \ + --hash=sha256:19adcfc2a7197cdc3987044e3f415168fc5dc1f720c932eb1ef4f71a2067e08b \ + --hash=sha256:19d9bad105dfb34eb539c97b132057a4e709919ec4dd883ece5838bcbf262b80 \ + --hash=sha256:225383a6603c086e6cef0f2f05564acb4f4d5f019a4e3e983f572b8530f70c88 \ + --hash=sha256:23b616fdc3c74c9fe01d76ce0d1ce872d2d396d8fa8e4899398ad64fb5aa214a \ + --hash=sha256:2957489cba47c2539a8eb7ab32ff49101439ccf78eab724c828c1a54ff3ff98d \ + --hash=sha256:2d36e929d7f6a16d4eb11b250719c39560dd70545356365b494249e2186bc389 \ + --hash=sha256:2e4a0785b84fb59e43c18a015ffc575ba93f7d1dbd272b4cdad9f5134b8a006c \ + --hash=sha256:3368bf2398b0e0fcbf46d85795adc4c259299fec50c1416d0f77c0a843a3eed9 \ + --hash=sha256:373ba9d1d061c76462d74e7de1c0c8e267e9791ee8cfefcf6b0b2495762c370c \ + --hash=sha256:4070613ea2227da2bfb2c35a6041e4371b0af6b0be57f424fe2318b42a748516 \ + --hash=sha256:45183c96ddf61bf96d2684d9fbaf6f3564d86b34cb125761f9a0ef9e36c1d55b \ + --hash=sha256:4571f1beddff25f3e925eea34268422622963cd8dc395bb8778eb28418248e43 \ + --hash=sha256:47e6a7e923e9cada7c139531feac59448f1f47727a79076c0b1ee80274cd8eee \ + --hash=sha256:47fbeedbf94bed6547d3aa632075d804867a352d86688c04e606971595460227 \ + --hash=sha256:497988d6b6ec6ed6f87030ec03280b696ca47dbf0648045e4e1d28b80346560d \ + --hash=sha256:4bae31803d708f6f15fd98be6a6ac0b6958fcf68fda3c77a048a4f9073704aae \ + --hash=sha256:50bd442726e288e884f7be9071016c15a8742eb689a593a0cac49ea093eef0a7 \ + --hash=sha256:514fe2b8d750d6cdb4712346a2c5084a80220821a3e91f3f71eec11cf8d28fd4 \ + --hash=sha256:5774d9218d77befa7b70d836004a768fb9aa4fdb53c97498f4d8d3f67bb9cfa9 \ + --hash=sha256:5fdda29a3c7e76a064f2477c9aab1ba96fd94e02e386f1e665bca1807fc5386f \ + --hash=sha256:5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013 \ + --hash=sha256:626fe10ac87851f4cffecee161fc6f8f9853f0f6f1035b59337a51d29ff3b4f9 \ + --hash=sha256:6701bf8a5d03a43375909ac91b6980aea74b0f5402fbe9428fc3f6edf5d9677e \ + --hash=sha256:684133b1e1fe91eda8fa7447f137c9490a064c6b7f392aa857bba83a28cfb693 \ + --hash=sha256:6f3cdef8a247d1eafa649085812f8a310e728bdf3900ff6c434eafb2d443b23a \ + --hash=sha256:75bdf08716edde767b09e76829db8c1e5ca9d8bb0a8d4bd94ae1eafe3dac5e15 \ + --hash=sha256:7c40b7bbece294ae3a87c1bc2abff0ff9beef41d14188cda94ada7bcea99b0fb \ + --hash=sha256:8004dca28e15b86d1b1372515f32eb6f814bdf6f00952699bdeb541691091f96 \ + --hash=sha256:8064b7c6f0af936a741ea1efd18690bacfbae4078c0c385d7c3f611d11f0cf87 \ + --hash=sha256:89171b2c769e03a953d5969b2f272efa931426355b6c0cb508022976a17fd376 \ + --hash=sha256:8cbf0132f3de7cc6c6ce00147cc78e6439ea736cee6bca4f068bcf892b0fd658 \ + --hash=sha256:9cc57c68cb9139c7cd6fc39f211b02198e69fb90ce4bc4a094cf5fe0d20fd8b0 \ + --hash=sha256:a007b1638e148c3cfb6bf0bdc4f82776cef0ac487191d093cdc316905e504071 \ + --hash=sha256:a2c34a93e1d2aa35fbf1485e5010337c72c6791407d03aa5f4eed920343dd360 \ + --hash=sha256:a45e1135cb07086833ce969555df39149680e5471c04dfd6a915abd2fc3f6dbc \ + --hash=sha256:ac0e27844758d7177989ce406acc6a83c16ed4524ebc363c1f748cba184d89d3 \ + --hash=sha256:aef9cc3d9c7d63d924adac329c33835e0243b5052a6dfcbf7732a921c6e918ba \ + --hash=sha256:b9d153e7f1f9ba0b23ad1568b3b9e17301e23b042c23870f9ee0522dc5cc79e8 \ + --hash=sha256:bfba7c6d5d7c9099ba21f84662b037a0ffd4a5e6b26ac07d19e423e6fdf965a9 \ + --hash=sha256:c207fff63adcdf5a485969131dc70e4b194327666b7e8a87a97fbc4fd80a53b2 \ + --hash=sha256:d0509e469d48940147e1235d994cd849a8f8195e0bca65f8f5439c56e17872a3 \ + --hash=sha256:d16cce709ebfadc91278a1c005e3c17dd5f71f5098bfae1035149785ea6e9c68 \ + --hash=sha256:d48b8ee1d4068561ce8033d2c344cf5232cb29ee1a0206a7b828c79cbc5982b8 \ + --hash=sha256:de989b195c3d636ba000ee4281cd03bb1234635b124bf4cd89eeee9ca8fcb09d \ + --hash=sha256:e07c8e79d6e6fd37b42f3250dba122053fddb319e84b55dd3a8d6446e1a7ee49 \ + --hash=sha256:e2c2e459f7050aeb7c1b1276763364884595d47000c1cddb51764c0d8976e608 \ + --hash=sha256:e5b20e9599ba74391ca0cfbd7b328fcc20976823ba19bc573983a25b32e92b57 \ + --hash=sha256:e875b6086e325bab7e680e4316d667fc0e5e174bb5611eb16b3ea121c8951b86 \ + --hash=sha256:f4f052ee022928d34fe1f4d2bc743f32609fb79ed9c49a1710a5ad6b2198db20 \ + --hash=sha256:fcb91630817aa8b9bc4a74023e4198480587269c272c58b3279875ed7235c293 \ + --hash=sha256:fd9fc9c4849a07f3635ccffa895d57abce554b467d611a5009ba4f39b78a8849 \ + --hash=sha256:feba80698173761cddd814fa22e88b0661e98cb810f9f986c54aa34d281e4937 \ + --hash=sha256:feea820722e69451743a3d56ad74948b68bf456984d63c1a92e8347b7b88452d + # via + # aiohttp + # yarl +networkx==2.8.8 \ + --hash=sha256:230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e \ + --hash=sha256:e435dfa75b1d7195c7b8378c3859f0445cd88c6b0375c181ed66823a9ceb7524 + # via scikit-image +numba==0.56.4 \ + --hash=sha256:0240f9026b015e336069329839208ebd70ec34ae5bfbf402e4fcc8e06197528e \ + --hash=sha256:03634579d10a6129181129de293dd6b5eaabee86881369d24d63f8fe352dd6cb \ + --hash=sha256:03fe94cd31e96185cce2fae005334a8cc712fc2ba7756e52dff8c9400718173f \ + --hash=sha256:0611e6d3eebe4cb903f1a836ffdb2bda8d18482bcd0a0dcc56e79e2aa3fefef5 \ + --hash=sha256:0da583c532cd72feefd8e551435747e0e0fbb3c0530357e6845fcc11e38d6aea \ + --hash=sha256:14dbbabf6ffcd96ee2ac827389afa59a70ffa9f089576500434c34abf9b054a4 \ + --hash=sha256:32d9fef412c81483d7efe0ceb6cf4d3310fde8b624a9cecca00f790573ac96ee \ + --hash=sha256:3a993349b90569518739009d8f4b523dfedd7e0049e6838c0e17435c3e70dcc4 \ + --hash=sha256:3cb1a07a082a61df80a468f232e452d818f5ae254b40c26390054e4e868556e0 \ + --hash=sha256:42f9e1be942b215df7e6cc9948cf9c15bb8170acc8286c063a9e57994ef82fd1 \ + --hash=sha256:4373da9757049db7c90591e9ec55a2e97b2b36ba7ae3bf9c956a513374077470 \ + --hash=sha256:4e08e203b163ace08bad500b0c16f6092b1eb34fd1fce4feaf31a67a3a5ecf3b \ + --hash=sha256:553da2ce74e8862e18a72a209ed3b6d2924403bdd0fb341fa891c6455545ba7c \ + --hash=sha256:720886b852a2d62619ae3900fe71f1852c62db4f287d0c275a60219e1643fc04 \ + --hash=sha256:85dbaed7a05ff96492b69a8900c5ba605551afb9b27774f7f10511095451137c \ + --hash=sha256:8a95ca9cc77ea4571081f6594e08bd272b66060634b8324e99cd1843020364f9 \ + --hash=sha256:91f021145a8081f881996818474ef737800bcc613ffb1e618a655725a0f9e246 \ + --hash=sha256:9f62672145f8669ec08762895fe85f4cf0ead08ce3164667f2b94b2f62ab23c3 \ + --hash=sha256:a12ef323c0f2101529d455cfde7f4135eaa147bad17afe10b48634f796d96abd \ + --hash=sha256:c602d015478b7958408d788ba00a50272649c5186ea8baa6cf71d4a1c761bba1 \ + --hash=sha256:c75e8a5f810ce80a0cfad6e74ee94f9fde9b40c81312949bf356b7304ef20740 \ + --hash=sha256:d0ae9270a7a5cc0ede63cd234b4ff1ce166c7a749b91dbbf45e0000c56d3eade \ + --hash=sha256:d69ad934e13c15684e7887100a8f5f0f61d7a8e57e0fd29d9993210089a5b531 \ + --hash=sha256:dbcc847bac2d225265d054993a7f910fda66e73d6662fe7156452cac0325b073 \ + --hash=sha256:e64d338b504c9394a4a34942df4627e1e6cb07396ee3b49fe7b8d6420aa5104f \ + --hash=sha256:f4cfc3a19d1e26448032049c79fc60331b104f694cf570a9e94f4e2c9d0932bb \ + --hash=sha256:fbfb45e7b297749029cb28694abf437a78695a100e7c2033983d69f0ba2698d4 \ + --hash=sha256:fcdf84ba3ed8124eb7234adfbb8792f311991cbf8aed1cad4b1b1a7ee08380c1 + # via facexlib +numpy==1.23.4 \ + --hash=sha256:0fe563fc8ed9dc4474cbf70742673fc4391d70f4363f917599a7fa99f042d5a8 \ + --hash=sha256:12ac457b63ec8ded85d85c1e17d85efd3c2b0967ca39560b307a35a6703a4735 \ + --hash=sha256:2341f4ab6dba0834b685cce16dad5f9b6606ea8a00e6da154f5dbded70fdc4dd \ + --hash=sha256:296d17aed51161dbad3c67ed6d164e51fcd18dbcd5dd4f9d0a9c6055dce30810 \ + --hash=sha256:488a66cb667359534bc70028d653ba1cf307bae88eab5929cd707c761ff037db \ + --hash=sha256:4d52914c88b4930dafb6c48ba5115a96cbab40f45740239d9f4159c4ba779962 \ + --hash=sha256:5e13030f8793e9ee42f9c7d5777465a560eb78fa7e11b1c053427f2ccab90c79 \ + --hash=sha256:61be02e3bf810b60ab74e81d6d0d36246dbfb644a462458bb53b595791251911 \ + --hash=sha256:7607b598217745cc40f751da38ffd03512d33ec06f3523fb0b5f82e09f6f676d \ + --hash=sha256:7a70a7d3ce4c0e9284e92285cba91a4a3f5214d87ee0e95928f3614a256a1488 \ + --hash=sha256:7ab46e4e7ec63c8a5e6dbf5c1b9e1c92ba23a7ebecc86c336cb7bf3bd2fb10e5 \ + --hash=sha256:8981d9b5619569899666170c7c9748920f4a5005bf79c72c07d08c8a035757b0 \ + --hash=sha256:8c053d7557a8f022ec823196d242464b6955a7e7e5015b719e76003f63f82d0f \ + --hash=sha256:926db372bc4ac1edf81cfb6c59e2a881606b409ddc0d0920b988174b2e2a767f \ + --hash=sha256:95d79ada05005f6f4f337d3bb9de8a7774f259341c70bc88047a1f7b96a4bcb2 \ + --hash=sha256:95de7dc7dc47a312f6feddd3da2500826defdccbc41608d0031276a24181a2c0 \ + --hash=sha256:a0882323e0ca4245eb0a3d0a74f88ce581cc33aedcfa396e415e5bba7bf05f68 \ + --hash=sha256:a8365b942f9c1a7d0f0dc974747d99dd0a0cdfc5949a33119caf05cb314682d3 \ + --hash=sha256:a8aae2fb3180940011b4862b2dd3756616841c53db9734b27bb93813cd79fce6 \ + --hash=sha256:c237129f0e732885c9a6076a537e974160482eab8f10db6292e92154d4c67d71 \ + --hash=sha256:c67b833dbccefe97cdd3f52798d430b9d3430396af7cdb2a0c32954c3ef73894 \ + --hash=sha256:ce03305dd694c4873b9429274fd41fc7eb4e0e4dea07e0af97a933b079a5814f \ + --hash=sha256:d331afac87c92373826af83d2b2b435f57b17a5c74e6268b79355b970626e329 \ + --hash=sha256:dada341ebb79619fe00a291185bba370c9803b1e1d7051610e01ed809ef3a4ba \ + --hash=sha256:ed2cc92af0efad20198638c69bb0fc2870a58dabfba6eb722c933b48556c686c \ + --hash=sha256:f260da502d7441a45695199b4e7fd8ca87db659ba1c78f2bbf31f934fe76ae0e \ + --hash=sha256:f2f390aa4da44454db40a1f0201401f9036e8d578a25f01a6e237cea238337ef \ + --hash=sha256:f76025acc8e2114bb664294a07ede0727aa75d63a06d2fae96bf29a81747e4a7 + # via + # accelerate + # albumentations + # altair + # basicsr + # clean-fid + # contourpy + # diffusers + # facexlib + # filterpy + # gfpgan + # imageio + # matplotlib + # numba + # opencv-python + # opencv-python-headless + # pandas + # pyarrow + # pydeck + # pytorch-lightning + # pywavelets + # qudida + # realesrgan + # scikit-image + # scikit-learn + # scipy + # streamlit + # taming-transformers-rom1504 + # tb-nightly + # tensorboard + # test-tube + # tifffile + # torch-fidelity + # torchmetrics + # torchvision + # transformers +oauthlib==3.2.2 \ + --hash=sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca \ + --hash=sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918 + # via requests-oauthlib +omegaconf==2.2.3 \ + --hash=sha256:59ff9fba864ffbb5fb710b64e8a9ba37c68fa339a2e2bb4f1b648d6901552523 \ + --hash=sha256:d6f2cbf79a992899eb76c6cb1aedfcf0fe7456a8654382edd5ee0c1b199c0657 + # via taming-transformers-rom1504 +opencv-python==4.6.0.66 \ + --hash=sha256:0dc82a3d8630c099d2f3ac1b1aabee164e8188db54a786abb7a4e27eba309440 \ + --hash=sha256:5af8ba35a4fcb8913ffb86e92403e9a656a4bff4a645d196987468f0f8947875 \ + --hash=sha256:6e32af22e3202748bd233ed8f538741876191863882eba44e332d1a34993165b \ + --hash=sha256:c5bfae41ad4031e66bb10ec4a0a2ffd3e514d092652781e8b1ac98d1b59f1158 \ + --hash=sha256:dbdc84a9b4ea2cbae33861652d25093944b9959279200b7ae0badd32439f74de \ + --hash=sha256:e6e448b62afc95c5b58f97e87ef84699e6607fe5c58730a03301c52496005cae \ + --hash=sha256:f482e78de6e7b0b060ff994ffd859bddc3f7f382bb2019ef157b0ea8ca8712f5 + # via + # basicsr + # facexlib + # gfpgan + # realesrgan +opencv-python-headless==4.6.0.66 \ + --hash=sha256:21e70f8b0c04098cdf466d27184fe6c3820aaef944a22548db95099959c95889 \ + --hash=sha256:2c032c373e447c3fc2a670bca20e2918a1205a6e72854df60425fd3f82c78c32 \ + --hash=sha256:3bacd806cce1f1988e58f3d6f761538e0215d6621d316de94c009dc0acbd6ad3 \ + --hash=sha256:d5291d7e10aa2c19cab6fd86f0d61af8617290ecd2d7ffcb051e446868d04cc5 \ + --hash=sha256:e6c069bc963d7e8fcec21b3e33e594d35948badd63eccb2e80f88b0a12102c03 \ + --hash=sha256:eec6281054346103d6af93f173b7c6a206beb2663d3adc04aa3ddc66e85093df \ + --hash=sha256:ffbf26fcd697af996408440a93bc69c49c05a36845771f984156dfbeaa95d497 + # via + # albumentations + # qudida +packaging==21.3 \ + --hash=sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \ + --hash=sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522 + # via + # accelerate + # huggingface-hub + # kornia + # matplotlib + # pytorch-lightning + # scikit-image + # streamlit + # torchmetrics + # transformers +pandas==1.5.1 \ + --hash=sha256:04e51b01d5192499390c0015630975f57836cc95c7411415b499b599b05c0c96 \ + --hash=sha256:05c527c64ee02a47a24031c880ee0ded05af0623163494173204c5b72ddce658 \ + --hash=sha256:0a78e05ec09731c5b3bd7a9805927ea631fe6f6cb06f0e7c63191a9a778d52b4 \ + --hash=sha256:17da7035d9e6f9ea9cdc3a513161f8739b8f8489d31dc932bc5a29a27243f93d \ + --hash=sha256:249cec5f2a5b22096440bd85c33106b6102e0672204abd2d5c014106459804ee \ + --hash=sha256:2c25e5c16ee5c0feb6cf9d982b869eec94a22ddfda9aa2fbed00842cbb697624 \ + --hash=sha256:32e3d9f65606b3f6e76555bfd1d0b68d94aff0929d82010b791b6254bf5a4b96 \ + --hash=sha256:36aa1f8f680d7584e9b572c3203b20d22d697c31b71189322f16811d4ecfecd3 \ + --hash=sha256:5b0c970e2215572197b42f1cff58a908d734503ea54b326412c70d4692256391 \ + --hash=sha256:5cee0c74e93ed4f9d39007e439debcaadc519d7ea5c0afc3d590a3a7b2edf060 \ + --hash=sha256:669c8605dba6c798c1863157aefde959c1796671ffb342b80fcb80a4c0bc4c26 \ + --hash=sha256:66a1ad667b56e679e06ba73bb88c7309b3f48a4c279bd3afea29f65a766e9036 \ + --hash=sha256:683779e5728ac9138406c59a11e09cd98c7d2c12f0a5fc2b9c5eecdbb4a00075 \ + --hash=sha256:6bb391659a747cf4f181a227c3e64b6d197100d53da98dcd766cc158bdd9ec68 \ + --hash=sha256:81f0674fa50b38b6793cd84fae5d67f58f74c2d974d2cb4e476d26eee33343d0 \ + --hash=sha256:927e59c694e039c75d7023465d311277a1fc29ed7236b5746e9dddf180393113 \ + --hash=sha256:932d2d7d3cab44cfa275601c982f30c2d874722ef6396bb539e41e4dc4618ed4 \ + --hash=sha256:a52419d9ba5906db516109660b114faf791136c94c1a636ed6b29cbfff9187ee \ + --hash=sha256:b156a971bc451c68c9e1f97567c94fd44155f073e3bceb1b0d195fd98ed12048 \ + --hash=sha256:bcf1a82b770b8f8c1e495b19a20d8296f875a796c4fe6e91da5ef107f18c5ecb \ + --hash=sha256:cb2a9cf1150302d69bb99861c5cddc9c25aceacb0a4ef5299785d0f5389a3209 \ + --hash=sha256:d8c709f4700573deb2036d240d140934df7e852520f4a584b2a8d5443b71f54d \ + --hash=sha256:db45b94885000981522fb92349e6b76f5aee0924cc5315881239c7859883117d \ + --hash=sha256:ddf46b940ef815af4e542697eaf071f0531449407a7607dd731bf23d156e20a7 \ + --hash=sha256:e675f8fe9aa6c418dc8d3aac0087b5294c1a4527f1eacf9fe5ea671685285454 \ + --hash=sha256:eb7e8cf2cf11a2580088009b43de84cabbf6f5dae94ceb489f28dba01a17cb77 \ + --hash=sha256:f340331a3f411910adfb4bbe46c2ed5872d9e473a783d7f14ecf49bc0869c594 + # via + # altair + # streamlit + # test-tube +pathtools==0.1.2 \ + --hash=sha256:7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0 + # via wandb +pillow==9.3.0 \ + --hash=sha256:03150abd92771742d4a8cd6f2fa6246d847dcd2e332a18d0c15cc75bf6703040 \ + --hash=sha256:073adb2ae23431d3b9bcbcff3fe698b62ed47211d0716b067385538a1b0f28b8 \ + --hash=sha256:0b07fffc13f474264c336298d1b4ce01d9c5a011415b79d4ee5527bb69ae6f65 \ + --hash=sha256:0b7257127d646ff8676ec8a15520013a698d1fdc48bc2a79ba4e53df792526f2 \ + --hash=sha256:12ce4932caf2ddf3e41d17fc9c02d67126935a44b86df6a206cf0d7161548627 \ + --hash=sha256:15c42fb9dea42465dfd902fb0ecf584b8848ceb28b41ee2b58f866411be33f07 \ + --hash=sha256:18498994b29e1cf86d505edcb7edbe814d133d2232d256db8c7a8ceb34d18cef \ + --hash=sha256:1c7c8ae3864846fc95f4611c78129301e203aaa2af813b703c55d10cc1628535 \ + --hash=sha256:22b012ea2d065fd163ca096f4e37e47cd8b59cf4b0fd47bfca6abb93df70b34c \ + --hash=sha256:276a5ca930c913f714e372b2591a22c4bd3b81a418c0f6635ba832daec1cbcfc \ + --hash=sha256:2e0918e03aa0c72ea56edbb00d4d664294815aa11291a11504a377ea018330d3 \ + --hash=sha256:3033fbe1feb1b59394615a1cafaee85e49d01b51d54de0cbf6aa8e64182518a1 \ + --hash=sha256:3168434d303babf495d4ba58fc22d6604f6e2afb97adc6a423e917dab828939c \ + --hash=sha256:32a44128c4bdca7f31de5be641187367fe2a450ad83b833ef78910397db491aa \ + --hash=sha256:3dd6caf940756101205dffc5367babf288a30043d35f80936f9bfb37f8355b32 \ + --hash=sha256:40e1ce476a7804b0fb74bcfa80b0a2206ea6a882938eaba917f7a0f004b42502 \ + --hash=sha256:41e0051336807468be450d52b8edd12ac60bebaa97fe10c8b660f116e50b30e4 \ + --hash=sha256:4390e9ce199fc1951fcfa65795f239a8a4944117b5935a9317fb320e7767b40f \ + --hash=sha256:502526a2cbfa431d9fc2a079bdd9061a2397b842bb6bc4239bb176da00993812 \ + --hash=sha256:51e0e543a33ed92db9f5ef69a0356e0b1a7a6b6a71b80df99f1d181ae5875636 \ + --hash=sha256:57751894f6618fd4308ed8e0c36c333e2f5469744c34729a27532b3db106ee20 \ + --hash=sha256:5d77adcd56a42d00cc1be30843d3426aa4e660cab4a61021dc84467123f7a00c \ + --hash=sha256:655a83b0058ba47c7c52e4e2df5ecf484c1b0b0349805896dd350cbc416bdd91 \ + --hash=sha256:68943d632f1f9e3dce98908e873b3a090f6cba1cbb1b892a9e8d97c938871fbe \ + --hash=sha256:6c738585d7a9961d8c2821a1eb3dcb978d14e238be3d70f0a706f7fa9316946b \ + --hash=sha256:73bd195e43f3fadecfc50c682f5055ec32ee2c933243cafbfdec69ab1aa87cad \ + --hash=sha256:772a91fc0e03eaf922c63badeca75e91baa80fe2f5f87bdaed4280662aad25c9 \ + --hash=sha256:77ec3e7be99629898c9a6d24a09de089fa5356ee408cdffffe62d67bb75fdd72 \ + --hash=sha256:7db8b751ad307d7cf238f02101e8e36a128a6cb199326e867d1398067381bff4 \ + --hash=sha256:801ec82e4188e935c7f5e22e006d01611d6b41661bba9fe45b60e7ac1a8f84de \ + --hash=sha256:82409ffe29d70fd733ff3c1025a602abb3e67405d41b9403b00b01debc4c9a29 \ + --hash=sha256:828989c45c245518065a110434246c44a56a8b2b2f6347d1409c787e6e4651ee \ + --hash=sha256:829f97c8e258593b9daa80638aee3789b7df9da5cf1336035016d76f03b8860c \ + --hash=sha256:871b72c3643e516db4ecf20efe735deb27fe30ca17800e661d769faab45a18d7 \ + --hash=sha256:89dca0ce00a2b49024df6325925555d406b14aa3efc2f752dbb5940c52c56b11 \ + --hash=sha256:90fb88843d3902fe7c9586d439d1e8c05258f41da473952aa8b328d8b907498c \ + --hash=sha256:97aabc5c50312afa5e0a2b07c17d4ac5e865b250986f8afe2b02d772567a380c \ + --hash=sha256:9aaa107275d8527e9d6e7670b64aabaaa36e5b6bd71a1015ddd21da0d4e06448 \ + --hash=sha256:9f47eabcd2ded7698106b05c2c338672d16a6f2a485e74481f524e2a23c2794b \ + --hash=sha256:a0a06a052c5f37b4ed81c613a455a81f9a3a69429b4fd7bb913c3fa98abefc20 \ + --hash=sha256:ab388aaa3f6ce52ac1cb8e122c4bd46657c15905904b3120a6248b5b8b0bc228 \ + --hash=sha256:ad58d27a5b0262c0c19b47d54c5802db9b34d38bbf886665b626aff83c74bacd \ + --hash=sha256:ae5331c23ce118c53b172fa64a4c037eb83c9165aba3a7ba9ddd3ec9fa64a699 \ + --hash=sha256:af0372acb5d3598f36ec0914deed2a63f6bcdb7b606da04dc19a88d31bf0c05b \ + --hash=sha256:afa4107d1b306cdf8953edde0534562607fe8811b6c4d9a486298ad31de733b2 \ + --hash=sha256:b03ae6f1a1878233ac620c98f3459f79fd77c7e3c2b20d460284e1fb370557d4 \ + --hash=sha256:b0915e734b33a474d76c28e07292f196cdf2a590a0d25bcc06e64e545f2d146c \ + --hash=sha256:b4012d06c846dc2b80651b120e2cdd787b013deb39c09f407727ba90015c684f \ + --hash=sha256:b472b5ea442148d1c3e2209f20f1e0bb0eb556538690fa70b5e1f79fa0ba8dc2 \ + --hash=sha256:b59430236b8e58840a0dfb4099a0e8717ffb779c952426a69ae435ca1f57210c \ + --hash=sha256:b90f7616ea170e92820775ed47e136208e04c967271c9ef615b6fbd08d9af0e3 \ + --hash=sha256:b9a65733d103311331875c1dca05cb4606997fd33d6acfed695b1232ba1df193 \ + --hash=sha256:bac18ab8d2d1e6b4ce25e3424f709aceef668347db8637c2296bcf41acb7cf48 \ + --hash=sha256:bca31dd6014cb8b0b2db1e46081b0ca7d936f856da3b39744aef499db5d84d02 \ + --hash=sha256:be55f8457cd1eac957af0c3f5ece7bc3f033f89b114ef30f710882717670b2a8 \ + --hash=sha256:c7025dce65566eb6e89f56c9509d4f628fddcedb131d9465cacd3d8bac337e7e \ + --hash=sha256:c935a22a557a560108d780f9a0fc426dd7459940dc54faa49d83249c8d3e760f \ + --hash=sha256:dbb8e7f2abee51cef77673be97760abff1674ed32847ce04b4af90f610144c7b \ + --hash=sha256:e6ea6b856a74d560d9326c0f5895ef8050126acfdc7ca08ad703eb0081e82b74 \ + --hash=sha256:ebf2029c1f464c59b8bdbe5143c79fa2045a581ac53679733d3a91d400ff9efb \ + --hash=sha256:f1ff2ee69f10f13a9596480335f406dd1f70c3650349e2be67ca3139280cade0 + # via + # basicsr + # clean-fid + # diffusers + # facexlib + # imageio + # k-diffusion + # matplotlib + # realesrgan + # scikit-image + # streamlit + # torch-fidelity + # torchvision +promise==2.3 \ + --hash=sha256:dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0 + # via wandb +protobuf==3.19.6 \ + --hash=sha256:010be24d5a44be7b0613750ab40bc8b8cedc796db468eae6c779b395f50d1fa1 \ + --hash=sha256:0469bc66160180165e4e29de7f445e57a34ab68f49357392c5b2f54c656ab25e \ + --hash=sha256:0c0714b025ec057b5a7600cb66ce7c693815f897cfda6d6efb58201c472e3437 \ + --hash=sha256:11478547958c2dfea921920617eb457bc26867b0d1aa065ab05f35080c5d9eb6 \ + --hash=sha256:14082457dc02be946f60b15aad35e9f5c69e738f80ebbc0900a19bc83734a5a4 \ + --hash=sha256:2b2d2913bcda0e0ec9a784d194bc490f5dc3d9d71d322d070b11a0ade32ff6ba \ + --hash=sha256:30a15015d86b9c3b8d6bf78d5b8c7749f2512c29f168ca259c9d7727604d0e39 \ + --hash=sha256:30f5370d50295b246eaa0296533403961f7e64b03ea12265d6dfce3a391d8992 \ + --hash=sha256:347b393d4dd06fb93a77620781e11c058b3b0a5289262f094379ada2920a3730 \ + --hash=sha256:4bc98de3cdccfb5cd769620d5785b92c662b6bfad03a202b83799b6ed3fa1fa7 \ + --hash=sha256:5057c64052a1f1dd7d4450e9aac25af6bf36cfbfb3a1cd89d16393a036c49157 \ + --hash=sha256:559670e006e3173308c9254d63facb2c03865818f22204037ab76f7a0ff70b5f \ + --hash=sha256:5a0d7539a1b1fb7e76bf5faa0b44b30f812758e989e59c40f77a7dab320e79b9 \ + --hash=sha256:5f5540d57a43042389e87661c6eaa50f47c19c6176e8cf1c4f287aeefeccb5c4 \ + --hash=sha256:7a552af4dc34793803f4e735aabe97ffc45962dfd3a237bdde242bff5a3de684 \ + --hash=sha256:84a04134866861b11556a82dd91ea6daf1f4925746b992f277b84013a7cc1229 \ + --hash=sha256:878b4cd080a21ddda6ac6d1e163403ec6eea2e206cf225982ae04567d39be7b0 \ + --hash=sha256:90b0d02163c4e67279ddb6dc25e063db0130fc299aefabb5d481053509fae5c8 \ + --hash=sha256:91d5f1e139ff92c37e0ff07f391101df77e55ebb97f46bbc1535298d72019462 \ + --hash=sha256:a8ce5ae0de28b51dff886fb922012dad885e66176663950cb2344c0439ecb473 \ + --hash=sha256:aa3b82ca1f24ab5326dcf4ea00fcbda703e986b22f3d27541654f749564d778b \ + --hash=sha256:bb6776bd18f01ffe9920e78e03a8676530a5d6c5911934c6a1ac6eb78973ecb6 \ + --hash=sha256:bbf5cea5048272e1c60d235c7bd12ce1b14b8a16e76917f371c718bd3005f045 \ + --hash=sha256:c0ccd3f940fe7f3b35a261b1dd1b4fc850c8fde9f74207015431f174be5976b3 \ + --hash=sha256:d0b635cefebd7a8a0f92020562dead912f81f401af7e71f16bf9506ff3bdbb38 + # via + # streamlit + # tb-nightly + # tensorboard + # wandb +psutil==5.9.3 \ + --hash=sha256:07d880053c6461c9b89cd5d4808f3b8336665fa3acdefd6777662c5ed73a851a \ + --hash=sha256:12500d761ac091f2426567f19f95fd3f15a197d96befb44a5c1e3cbe6db5752c \ + --hash=sha256:1b540599481c73408f6b392cdffef5b01e8ff7a2ac8caae0a91b8222e88e8f1e \ + --hash=sha256:35feafe232d1aaf35d51bd42790cbccb882456f9f18cdc411532902370d660df \ + --hash=sha256:3a7826e68b0cf4ce2c1ee385d64eab7d70e3133171376cac53d7c1790357ec8f \ + --hash=sha256:46907fa62acaac364fff0b8a9da7b360265d217e4fdeaca0a2397a6883dffba2 \ + --hash=sha256:4bd4854f0c83aa84a5a40d3b5d0eb1f3c128f4146371e03baed4589fe4f3c931 \ + --hash=sha256:538fcf6ae856b5e12d13d7da25ad67f02113c96f5989e6ad44422cb5994ca7fc \ + --hash=sha256:547ebb02031fdada635452250ff39942db8310b5c4a8102dfe9384ee5791e650 \ + --hash=sha256:5e8b50241dd3c2ed498507f87a6602825073c07f3b7e9560c58411c14fe1e1c9 \ + --hash=sha256:5fa88e3d5d0b480602553d362c4b33a63e0c40bfea7312a7bf78799e01e0810b \ + --hash=sha256:68fa227c32240c52982cb931801c5707a7f96dd8927f9102d6c7771ea1ff5698 \ + --hash=sha256:6ced1ad823ecfa7d3ce26fe8aa4996e2e53fb49b7fed8ad81c80958501ec0619 \ + --hash=sha256:71b1206e7909792d16933a0d2c1c7f04ae196186c51ba8567abae1d041f06dcb \ + --hash=sha256:767ef4fa33acda16703725c0473a91e1832d296c37c63896c7153ba81698f1ab \ + --hash=sha256:7ccfcdfea4fc4b0a02ca2c31de7fcd186beb9cff8207800e14ab66f79c773af6 \ + --hash=sha256:7e4939ff75149b67aef77980409f156f0082fa36accc475d45c705bb00c6c16a \ + --hash=sha256:828c9dc9478b34ab96be75c81942d8df0c2bb49edbb481f597314d92b6441d89 \ + --hash=sha256:8a4e07611997acf178ad13b842377e3d8e9d0a5bac43ece9bfc22a96735d9a4f \ + --hash=sha256:941a6c2c591da455d760121b44097781bc970be40e0e43081b9139da485ad5b7 \ + --hash=sha256:9a4af6ed1094f867834f5f07acd1250605a0874169a5fcadbcec864aec2496a6 \ + --hash=sha256:9ec296f565191f89c48f33d9544d8d82b0d2af7dd7d2d4e6319f27a818f8d1cc \ + --hash=sha256:9ec95df684583b5596c82bb380c53a603bb051cf019d5c849c47e117c5064395 \ + --hash=sha256:a04a1836894c8279e5e0a0127c0db8e198ca133d28be8a2a72b4db16f6cf99c1 \ + --hash=sha256:a3d81165b8474087bb90ec4f333a638ccfd1d69d34a9b4a1a7eaac06648f9fbe \ + --hash=sha256:b4a247cd3feaae39bb6085fcebf35b3b8ecd9b022db796d89c8f05067ca28e71 \ + --hash=sha256:ba38cf9984d5462b506e239cf4bc24e84ead4b1d71a3be35e66dad0d13ded7c1 \ + --hash=sha256:beb57d8a1ca0ae0eb3d08ccaceb77e1a6d93606f0e1754f0d60a6ebd5c288837 \ + --hash=sha256:d266cd05bd4a95ca1c2b9b5aac50d249cf7c94a542f47e0b22928ddf8b80d1ef \ + --hash=sha256:d8c3cc6bb76492133474e130a12351a325336c01c96a24aae731abf5a47fe088 \ + --hash=sha256:db8e62016add2235cc87fb7ea000ede9e4ca0aa1f221b40cef049d02d5d2593d \ + --hash=sha256:e7507f6c7b0262d3e7b0eeda15045bf5881f4ada70473b87bc7b7c93b992a7d7 \ + --hash=sha256:ed15edb14f52925869250b1375f0ff58ca5c4fa8adefe4883cfb0737d32f5c02 \ + --hash=sha256:f57d63a2b5beaf797b87024d018772439f9d3103a395627b77d17a8d72009543 \ + --hash=sha256:fa5e32c7d9b60b2528108ade2929b115167fe98d59f89555574715054f50fa31 \ + --hash=sha256:fe79b4ad4836e3da6c4650cb85a663b3a51aef22e1a829c384e18fae87e5e727 + # via + # accelerate + # wandb +pyarrow==10.0.0 \ + --hash=sha256:10e031794d019425d34406edffe7e32157359e9455f9edb97a1732f8dabf802f \ + --hash=sha256:25f51dca780fc22cfd7ac30f6bdfe70eb99145aee9acfda987f2c49955d66ed9 \ + --hash=sha256:2d326a9d47ac237d81b8c4337e9d30a0b361835b536fc7ea53991455ce761fbd \ + --hash=sha256:3d2694f08c8d4482d14e3798ff036dbd81ae6b1c47948f52515e1aa90fbec3f0 \ + --hash=sha256:4051664d354b14939b5da35cfa77821ade594bc1cf56dd2032b3068c96697d74 \ + --hash=sha256:511735040b83f2993f78d7fb615e7b88253d75f41500e87e587c40156ff88120 \ + --hash=sha256:65d4a312f3ced318423704355acaccc7f7bdfe242472e59bdd54aa0f8837adf8 \ + --hash=sha256:68ccb82c04c0f7abf7a95541d5e9d9d94290fc66a2d36d3f6ea0777f40c15654 \ + --hash=sha256:69b8a1fd99201178799b02f18498633847109b701856ec762f314352a431b7d0 \ + --hash=sha256:758284e1ebd3f2a9abb30544bfec28d151a398bb7c0f2578cbca5ee5b000364a \ + --hash=sha256:7be7f42f713068293308c989a4a3a2de03b70199bdbe753901c6595ff8640c64 \ + --hash=sha256:7ce026274cd5d9934cd3694e89edecde4e036018bbc6cb735fd33b9e967e7d47 \ + --hash=sha256:7e6b837cc44cd62a0e280c8fc4de94ebce503d6d1190e6e94157ab49a8bea67b \ + --hash=sha256:b153b05765393557716e3729cf988442b3ae4f5567364ded40d58c07feed27c2 \ + --hash=sha256:b3e3148468d3eed3779d68241f1d13ed4ee7cca4c6dbc7c07e5062b93ad4da33 \ + --hash=sha256:b45f969ed924282e9d4ede38f3430630d809c36dbff65452cabce03141943d28 \ + --hash=sha256:b9f63ceb8346aac0bcb487fafe9faca642ad448ca649fcf66a027c6e120cbc12 \ + --hash=sha256:c79300e1a3e23f2bf4defcf0d70ff5ea25ef6ebf6f121d8670ee14bb662bb7ca \ + --hash=sha256:d45a59e2f47826544c0ca70bc0f7ed8ffa5ad23f93b0458230c7e983bcad1acf \ + --hash=sha256:e4c6da9f9e1ff96781ee1478f7cc0860e66c23584887b8e297c4b9905c3c9066 \ + --hash=sha256:f329951d56b3b943c353f7b27c894e02367a7efbb9fef7979c6b24e02dbfcf55 \ + --hash=sha256:f76157d9579571c865860e5fd004537c03e21139db76692d96fd8a186adab1f2 + # via streamlit +pyasn1==0.4.8 \ + --hash=sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d \ + --hash=sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba + # via + # pyasn1-modules + # rsa +pyasn1-modules==0.2.8 \ + --hash=sha256:905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e \ + --hash=sha256:a50b808ffeb97cb3601dd25981f6b016cbb3d31fbf57a8b8a87428e6158d0c74 + # via google-auth +pydeck==0.8.0 \ + --hash=sha256:07edde833f7cfcef6749124351195aa7dcd24663d4909fd7898dbd0b6fbc01ec \ + --hash=sha256:a8fa7757c6f24bba033af39db3147cb020eef44012ba7e60d954de187f9ed4d5 + # via streamlit +pydeprecate==0.3.2 \ + --hash=sha256:d481116cc5d7f6c473e7c4be820efdd9b90a16b594b350276e9e66a6cb5bdd29 \ + --hash=sha256:ed86b68ed837e6465245904a3de2f59bf9eef78ac7a2502ee280533d04802457 + # via pytorch-lightning +pygments==2.13.0 \ + --hash=sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1 \ + --hash=sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42 + # via rich +pympler==1.0.1 \ + --hash=sha256:993f1a3599ca3f4fcd7160c7545ad06310c9e12f70174ae7ae8d4e25f6c5d3fa \ + --hash=sha256:d260dda9ae781e1eab6ea15bacb84015849833ba5555f141d2d9b7b7473b307d + # via streamlit +pyparsing==3.0.9 \ + --hash=sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \ + --hash=sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc + # via + # matplotlib + # packaging +pyreadline3==3.4.1 \ + --hash=sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae \ + --hash=sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb + # via -r requirements.in +pyrsistent==0.19.2 \ + --hash=sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed \ + --hash=sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb \ + --hash=sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a \ + --hash=sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95 \ + --hash=sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712 \ + --hash=sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73 \ + --hash=sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41 \ + --hash=sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b \ + --hash=sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78 \ + --hash=sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab \ + --hash=sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308 \ + --hash=sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425 \ + --hash=sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2 \ + --hash=sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e \ + --hash=sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6 \ + --hash=sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2 \ + --hash=sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a \ + --hash=sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291 \ + --hash=sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584 \ + --hash=sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a \ + --hash=sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0 \ + --hash=sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770 + # via jsonschema +python-dateutil==2.8.2 \ + --hash=sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86 \ + --hash=sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9 + # via + # matplotlib + # pandas + # streamlit +python-engineio==4.3.4 \ + --hash=sha256:7454314a529bba20e745928601ffeaf101c1b5aca9a6c4e48ad397803d10ea0c \ + --hash=sha256:d8d8b072799c36cadcdcc2b40d2a560ce09797ab3d2d596b2ad519a5e4df19ae + # via python-socketio +python-socketio==5.7.2 \ + --hash=sha256:92395062d9db3c13d30e7cdedaa0e1330bba78505645db695415f9a3c628d097 \ + --hash=sha256:d9a9f047e6fdd306c852fbac36516f4b495c2096f8ad9ceb8803b8e5ff5622e3 + # via flask-socketio +pytorch-lightning==1.7.7 \ + --hash=sha256:27c2dd01a18db2415168e3fa3775ccb5a1fa1e2961a50439ad9365507fe9d4ae \ + --hash=sha256:4438b8284d7f7fdb06cf3566a7b5b6f102ac8971cf7bb6d3f1b1de64628241f3 + # via taming-transformers-rom1504 +pytz==2022.6 \ + --hash=sha256:222439474e9c98fced559f1709d89e6c9cbf8d79c794ff3eb9f8800064291427 \ + --hash=sha256:e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2 + # via pandas +pytz-deprecation-shim==0.1.0.post0 \ + --hash=sha256:8314c9692a636c8eb3bda879b9f119e350e93223ae83e70e80c31675a0fdc1a6 \ + --hash=sha256:af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d + # via tzlocal +pywavelets==1.4.1 \ + --hash=sha256:030670a213ee8fefa56f6387b0c8e7d970c7f7ad6850dc048bd7c89364771b9b \ + --hash=sha256:058b46434eac4c04dd89aeef6fa39e4b6496a951d78c500b6641fd5b2cc2f9f4 \ + --hash=sha256:231b0e0b1cdc1112f4af3c24eea7bf181c418d37922a67670e9bf6cfa2d544d4 \ + --hash=sha256:23bafd60350b2b868076d976bdd92f950b3944f119b4754b1d7ff22b7acbf6c6 \ + --hash=sha256:3f19327f2129fb7977bc59b966b4974dfd72879c093e44a7287500a7032695de \ + --hash=sha256:47cac4fa25bed76a45bc781a293c26ac63e8eaae9eb8f9be961758d22b58649c \ + --hash=sha256:578af438a02a86b70f1975b546f68aaaf38f28fb082a61ceb799816049ed18aa \ + --hash=sha256:6437af3ddf083118c26d8f97ab43b0724b956c9f958e9ea788659f6a2834ba93 \ + --hash=sha256:64c6bac6204327321db30b775060fbe8e8642316e6bff17f06b9f34936f88875 \ + --hash=sha256:67a0d28a08909f21400cb09ff62ba94c064882ffd9e3a6b27880a111211d59bd \ + --hash=sha256:71ab30f51ee4470741bb55fc6b197b4a2b612232e30f6ac069106f0156342356 \ + --hash=sha256:7231461d7a8eb3bdc7aa2d97d9f67ea5a9f8902522818e7e2ead9c2b3408eeb1 \ + --hash=sha256:754fa5085768227c4f4a26c1e0c78bc509a266d9ebd0eb69a278be7e3ece943c \ + --hash=sha256:7ab8d9db0fe549ab2ee0bea61f614e658dd2df419d5b75fba47baa761e95f8f2 \ + --hash=sha256:875d4d620eee655346e3589a16a73790cf9f8917abba062234439b594e706784 \ + --hash=sha256:88aa5449e109d8f5e7f0adef85f7f73b1ab086102865be64421a3a3d02d277f4 \ + --hash=sha256:91d3d393cffa634f0e550d88c0e3f217c96cfb9e32781f2960876f1808d9b45b \ + --hash=sha256:9cb5ca8d11d3f98e89e65796a2125be98424d22e5ada360a0dbabff659fca0fc \ + --hash=sha256:ab7da0a17822cd2f6545626946d3b82d1a8e106afc4b50e3387719ba01c7b966 \ + --hash=sha256:ad987748f60418d5f4138db89d82ba0cb49b086e0cbb8fd5c3ed4a814cfb705e \ + --hash=sha256:d0e56cd7a53aed3cceca91a04d62feb3a0aca6725b1912d29546c26f6ea90426 \ + --hash=sha256:d854411eb5ee9cb4bc5d0e66e3634aeb8f594210f6a1bed96dbed57ec70f181c \ + --hash=sha256:da7b9c006171be1f9ddb12cc6e0d3d703b95f7f43cb5e2c6f5f15d3233fcf202 \ + --hash=sha256:daf0aa79842b571308d7c31a9c43bc99a30b6328e6aea3f50388cd8f69ba7dbc \ + --hash=sha256:de7cd61a88a982edfec01ea755b0740e94766e00a1ceceeafef3ed4c85c605cd + # via scikit-image +pyyaml==6.0 \ + --hash=sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf \ + --hash=sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293 \ + --hash=sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b \ + --hash=sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57 \ + --hash=sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b \ + --hash=sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4 \ + --hash=sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07 \ + --hash=sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba \ + --hash=sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9 \ + --hash=sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287 \ + --hash=sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513 \ + --hash=sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0 \ + --hash=sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782 \ + --hash=sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0 \ + --hash=sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92 \ + --hash=sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f \ + --hash=sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2 \ + --hash=sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc \ + --hash=sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1 \ + --hash=sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c \ + --hash=sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86 \ + --hash=sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4 \ + --hash=sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c \ + --hash=sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34 \ + --hash=sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b \ + --hash=sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d \ + --hash=sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c \ + --hash=sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb \ + --hash=sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7 \ + --hash=sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737 \ + --hash=sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3 \ + --hash=sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d \ + --hash=sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358 \ + --hash=sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53 \ + --hash=sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78 \ + --hash=sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803 \ + --hash=sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a \ + --hash=sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f \ + --hash=sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174 \ + --hash=sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5 + # via + # accelerate + # albumentations + # basicsr + # gfpgan + # huggingface-hub + # omegaconf + # pytorch-lightning + # transformers + # wandb +qudida==0.0.4 \ + --hash=sha256:4519714c40cd0f2e6c51e1735edae8f8b19f4efe1f33be13e9d644ca5f736dd6 \ + --hash=sha256:db198e2887ab0c9aa0023e565afbff41dfb76b361f85fd5e13f780d75ba18cc8 + # via albumentations +realesrgan==0.3.0 \ + --hash=sha256:0d36da96ab9f447071606e91f502ccdfb08f80cc82ee4f8caf720c7745ccec7e \ + --hash=sha256:59336c16c30dd5130eff350dd27424acb9b7281d18a6810130e265606c9a6088 + # via -r requirements.in +regex==2022.10.31 \ + --hash=sha256:052b670fafbe30966bbe5d025e90b2a491f85dfe5b2583a163b5e60a85a321ad \ + --hash=sha256:0653d012b3bf45f194e5e6a41df9258811ac8fc395579fa82958a8b76286bea4 \ + --hash=sha256:0a069c8483466806ab94ea9068c34b200b8bfc66b6762f45a831c4baaa9e8cdd \ + --hash=sha256:0cf0da36a212978be2c2e2e2d04bdff46f850108fccc1851332bcae51c8907cc \ + --hash=sha256:131d4be09bea7ce2577f9623e415cab287a3c8e0624f778c1d955ec7c281bd4d \ + --hash=sha256:144486e029793a733e43b2e37df16a16df4ceb62102636ff3db6033994711066 \ + --hash=sha256:1ddf14031a3882f684b8642cb74eea3af93a2be68893901b2b387c5fd92a03ec \ + --hash=sha256:1eba476b1b242620c266edf6325b443a2e22b633217a9835a52d8da2b5c051f9 \ + --hash=sha256:20f61c9944f0be2dc2b75689ba409938c14876c19d02f7585af4460b6a21403e \ + --hash=sha256:22960019a842777a9fa5134c2364efaed5fbf9610ddc5c904bd3a400973b0eb8 \ + --hash=sha256:22e7ebc231d28393dfdc19b185d97e14a0f178bedd78e85aad660e93b646604e \ + --hash=sha256:23cbb932cc53a86ebde0fb72e7e645f9a5eec1a5af7aa9ce333e46286caef783 \ + --hash=sha256:29c04741b9ae13d1e94cf93fca257730b97ce6ea64cfe1eba11cf9ac4e85afb6 \ + --hash=sha256:2bde29cc44fa81c0a0c8686992c3080b37c488df167a371500b2a43ce9f026d1 \ + --hash=sha256:2cdc55ca07b4e70dda898d2ab7150ecf17c990076d3acd7a5f3b25cb23a69f1c \ + --hash=sha256:370f6e97d02bf2dd20d7468ce4f38e173a124e769762d00beadec3bc2f4b3bc4 \ + --hash=sha256:395161bbdbd04a8333b9ff9763a05e9ceb4fe210e3c7690f5e68cedd3d65d8e1 \ + --hash=sha256:44136355e2f5e06bf6b23d337a75386371ba742ffa771440b85bed367c1318d1 \ + --hash=sha256:44a6c2f6374e0033873e9ed577a54a3602b4f609867794c1a3ebba65e4c93ee7 \ + --hash=sha256:4919899577ba37f505aaebdf6e7dc812d55e8f097331312db7f1aab18767cce8 \ + --hash=sha256:4b4b1fe58cd102d75ef0552cf17242705ce0759f9695334a56644ad2d83903fe \ + --hash=sha256:4bdd56ee719a8f751cf5a593476a441c4e56c9b64dc1f0f30902858c4ef8771d \ + --hash=sha256:4bf41b8b0a80708f7e0384519795e80dcb44d7199a35d52c15cc674d10b3081b \ + --hash=sha256:4cac3405d8dda8bc6ed499557625585544dd5cbf32072dcc72b5a176cb1271c8 \ + --hash=sha256:4fe7fda2fe7c8890d454f2cbc91d6c01baf206fbc96d89a80241a02985118c0c \ + --hash=sha256:50921c140561d3db2ab9f5b11c5184846cde686bb5a9dc64cae442926e86f3af \ + --hash=sha256:5217c25229b6a85049416a5c1e6451e9060a1edcf988641e309dbe3ab26d3e49 \ + --hash=sha256:5352bea8a8f84b89d45ccc503f390a6be77917932b1c98c4cdc3565137acc714 \ + --hash=sha256:542e3e306d1669b25936b64917285cdffcd4f5c6f0247636fec037187bd93542 \ + --hash=sha256:543883e3496c8b6d58bd036c99486c3c8387c2fc01f7a342b760c1ea3158a318 \ + --hash=sha256:586b36ebda81e6c1a9c5a5d0bfdc236399ba6595e1397842fd4a45648c30f35e \ + --hash=sha256:597f899f4ed42a38df7b0e46714880fb4e19a25c2f66e5c908805466721760f5 \ + --hash=sha256:5a260758454580f11dd8743fa98319bb046037dfab4f7828008909d0aa5292bc \ + --hash=sha256:5aefb84a301327ad115e9d346c8e2760009131d9d4b4c6b213648d02e2abe144 \ + --hash=sha256:5e6a5567078b3eaed93558842346c9d678e116ab0135e22eb72db8325e90b453 \ + --hash=sha256:5ff525698de226c0ca743bfa71fc6b378cda2ddcf0d22d7c37b1cc925c9650a5 \ + --hash=sha256:61edbca89aa3f5ef7ecac8c23d975fe7261c12665f1d90a6b1af527bba86ce61 \ + --hash=sha256:659175b2144d199560d99a8d13b2228b85e6019b6e09e556209dfb8c37b78a11 \ + --hash=sha256:6a9a19bea8495bb419dc5d38c4519567781cd8d571c72efc6aa959473d10221a \ + --hash=sha256:6b30bddd61d2a3261f025ad0f9ee2586988c6a00c780a2fb0a92cea2aa702c54 \ + --hash=sha256:6ffd55b5aedc6f25fd8d9f905c9376ca44fcf768673ffb9d160dd6f409bfda73 \ + --hash=sha256:702d8fc6f25bbf412ee706bd73019da5e44a8400861dfff7ff31eb5b4a1276dc \ + --hash=sha256:74bcab50a13960f2a610cdcd066e25f1fd59e23b69637c92ad470784a51b1347 \ + --hash=sha256:75f591b2055523fc02a4bbe598aa867df9e953255f0b7f7715d2a36a9c30065c \ + --hash=sha256:763b64853b0a8f4f9cfb41a76a4a85a9bcda7fdda5cb057016e7706fde928e66 \ + --hash=sha256:76c598ca73ec73a2f568e2a72ba46c3b6c8690ad9a07092b18e48ceb936e9f0c \ + --hash=sha256:78d680ef3e4d405f36f0d6d1ea54e740366f061645930072d39bca16a10d8c93 \ + --hash=sha256:7b280948d00bd3973c1998f92e22aa3ecb76682e3a4255f33e1020bd32adf443 \ + --hash=sha256:7db345956ecce0c99b97b042b4ca7326feeec6b75facd8390af73b18e2650ffc \ + --hash=sha256:7dbdce0c534bbf52274b94768b3498abdf675a691fec5f751b6057b3030f34c1 \ + --hash=sha256:7ef6b5942e6bfc5706301a18a62300c60db9af7f6368042227ccb7eeb22d0892 \ + --hash=sha256:7f5a3ffc731494f1a57bd91c47dc483a1e10048131ffb52d901bfe2beb6102e8 \ + --hash=sha256:8a45b6514861916c429e6059a55cf7db74670eaed2052a648e3e4d04f070e001 \ + --hash=sha256:8ad241da7fac963d7573cc67a064c57c58766b62a9a20c452ca1f21050868dfa \ + --hash=sha256:8b0886885f7323beea6f552c28bff62cbe0983b9fbb94126531693ea6c5ebb90 \ + --hash=sha256:8ca88da1bd78990b536c4a7765f719803eb4f8f9971cc22d6ca965c10a7f2c4c \ + --hash=sha256:8e0caeff18b96ea90fc0eb6e3bdb2b10ab5b01a95128dfeccb64a7238decf5f0 \ + --hash=sha256:957403a978e10fb3ca42572a23e6f7badff39aa1ce2f4ade68ee452dc6807692 \ + --hash=sha256:9af69f6746120998cd9c355e9c3c6aec7dff70d47247188feb4f829502be8ab4 \ + --hash=sha256:9c94f7cc91ab16b36ba5ce476f1904c91d6c92441f01cd61a8e2729442d6fcf5 \ + --hash=sha256:a37d51fa9a00d265cf73f3de3930fa9c41548177ba4f0faf76e61d512c774690 \ + --hash=sha256:a3a98921da9a1bf8457aeee6a551948a83601689e5ecdd736894ea9bbec77e83 \ + --hash=sha256:a3c1ebd4ed8e76e886507c9eddb1a891673686c813adf889b864a17fafcf6d66 \ + --hash=sha256:a5f9505efd574d1e5b4a76ac9dd92a12acb2b309551e9aa874c13c11caefbe4f \ + --hash=sha256:a8ff454ef0bb061e37df03557afda9d785c905dab15584860f982e88be73015f \ + --hash=sha256:a9d0b68ac1743964755ae2d89772c7e6fb0118acd4d0b7464eaf3921c6b49dd4 \ + --hash=sha256:aa62a07ac93b7cb6b7d0389d8ef57ffc321d78f60c037b19dfa78d6b17c928ee \ + --hash=sha256:ac741bf78b9bb432e2d314439275235f41656e189856b11fb4e774d9f7246d81 \ + --hash=sha256:ae1e96785696b543394a4e3f15f3f225d44f3c55dafe3f206493031419fedf95 \ + --hash=sha256:b683e5fd7f74fb66e89a1ed16076dbab3f8e9f34c18b1979ded614fe10cdc4d9 \ + --hash=sha256:b7a8b43ee64ca8f4befa2bea4083f7c52c92864d8518244bfa6e88c751fa8fff \ + --hash=sha256:b8e38472739028e5f2c3a4aded0ab7eadc447f0d84f310c7a8bb697ec417229e \ + --hash=sha256:bfff48c7bd23c6e2aec6454aaf6edc44444b229e94743b34bdcdda2e35126cf5 \ + --hash=sha256:c14b63c9d7bab795d17392c7c1f9aaabbffd4cf4387725a0ac69109fb3b550c6 \ + --hash=sha256:c27cc1e4b197092e50ddbf0118c788d9977f3f8f35bfbbd3e76c1846a3443df7 \ + --hash=sha256:c28d3309ebd6d6b2cf82969b5179bed5fefe6142c70f354ece94324fa11bf6a1 \ + --hash=sha256:c670f4773f2f6f1957ff8a3962c7dd12e4be54d05839b216cb7fd70b5a1df394 \ + --hash=sha256:ce6910b56b700bea7be82c54ddf2e0ed792a577dfaa4a76b9af07d550af435c6 \ + --hash=sha256:d0213671691e341f6849bf33cd9fad21f7b1cb88b89e024f33370733fec58742 \ + --hash=sha256:d03fe67b2325cb3f09be029fd5da8df9e6974f0cde2c2ac6a79d2634e791dd57 \ + --hash=sha256:d0e5af9a9effb88535a472e19169e09ce750c3d442fb222254a276d77808620b \ + --hash=sha256:d243b36fbf3d73c25e48014961e83c19c9cc92530516ce3c43050ea6276a2ab7 \ + --hash=sha256:d26166acf62f731f50bdd885b04b38828436d74e8e362bfcb8df221d868b5d9b \ + --hash=sha256:d403d781b0e06d2922435ce3b8d2376579f0c217ae491e273bab8d092727d244 \ + --hash=sha256:d8716f82502997b3d0895d1c64c3b834181b1eaca28f3f6336a71777e437c2af \ + --hash=sha256:e4f781ffedd17b0b834c8731b75cce2639d5a8afe961c1e58ee7f1f20b3af185 \ + --hash=sha256:e613a98ead2005c4ce037c7b061f2409a1a4e45099edb0ef3200ee26ed2a69a8 \ + --hash=sha256:ef4163770525257876f10e8ece1cf25b71468316f61451ded1a6f44273eedeb5 + # via + # clip + # diffusers + # transformers +requests==2.25.1 \ + --hash=sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804 \ + --hash=sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e + # via + # basicsr + # clean-fid + # diffusers + # fsspec + # huggingface-hub + # requests-oauthlib + # streamlit + # tb-nightly + # tensorboard + # torchvision + # transformers + # wandb +requests-oauthlib==1.3.1 \ + --hash=sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5 \ + --hash=sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a + # via google-auth-oauthlib +resize-right==0.0.2 \ + --hash=sha256:78351ca3eda0872208fcbc90861b45de559f90fb4027ce41825fdeb9b995005c \ + --hash=sha256:7dc35b72ce4012b77f7cc9049835163793ab98a58ab8893610fb119fe59af520 + # via k-diffusion +rich==12.6.0 \ + --hash=sha256:a4eb26484f2c82589bd9a17c73d32a010b1e29d89f1604cd9bf3a2097b81bb5e \ + --hash=sha256:ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0 + # via streamlit +rsa==4.9 \ + --hash=sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 \ + --hash=sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21 + # via google-auth +scikit-image==0.19.3 \ + --hash=sha256:03779a7e1736fdf89d83c0ba67d44110496edd736a3bfce61a2b5177a1c8a099 \ + --hash=sha256:0b0a199157ce8487c77de4fde0edc0b42d6d42818881c11f459262351d678b2d \ + --hash=sha256:19a21a101a20c587a3b611a2cf6f86c35aae9f8d9563279b987e83ee1c9a9790 \ + --hash=sha256:24b5367de1762da6ee126dd8f30cc4e7efda474e0d7d70685433f0e3aa2ec450 \ + --hash=sha256:2a02d1bd0e2b53e36b952bd5fd6118d9ccc3ee51de35705d63d8eb1f2e86adef \ + --hash=sha256:2f50b923f8099c1045fcde7418d86b206c87e333e43da980f41d8577b9605245 \ + --hash=sha256:32fb88cc36203b99c9672fb972c9ef98635deaa5fc889fe969f3e11c44f22919 \ + --hash=sha256:33dfd463ee6cc509defa279b963829f2230c9e0639ccd3931045be055878eea6 \ + --hash=sha256:3a01372ae4bca223873304b0bff79b9d92446ac6d6177f73d89b45561e2d09d8 \ + --hash=sha256:651de1c2ce1fbee834753b46b8e7d81cb12a5594898babba63ac82b30ddad49d \ + --hash=sha256:6b6a8f98f2ac9bb73706461fd1dec875f6a5141759ed526850a5a49e90003d19 \ + --hash=sha256:7f9f8a1387afc6c70f2bed007c3854a2d7489f9f7713c242f16f32ee05934bc2 \ + --hash=sha256:84baa3179f3ae983c3a5d81c1e404bc92dcf7daeb41bfe9369badcda3fb22b92 \ + --hash=sha256:8d8917fcf85b987b1f287f823f3a1a7dac38b70aaca759bc0200f3bc292d5ced \ + --hash=sha256:9439e5294de3f18d6e82ec8eee2c46590231cf9c690da80545e83a0733b7a69e \ + --hash=sha256:9fb0923a3bfa99457c5e17888f27b3b8a83a3600b4fef317992e7b7234764732 \ + --hash=sha256:a7c3985c68bfe05f7571167ee021d14f5b8d1a4a250c91f0b13be7fb07e6af34 \ + --hash=sha256:a8714348ddd671f819457a797c97d4c672166f093def66d66c3254cbd1d43f83 \ + --hash=sha256:ad5d8000207a264d1a55681a9276e6a739d3f05cf4429004ad00d61d1892235f \ + --hash=sha256:cc24177de3fdceca5d04807ad9c87d665f0bf01032ed94a9055cd1ed2b3f33e9 \ + --hash=sha256:ce3d2207f253b8eb2c824e30d145a9f07a34a14212d57f3beca9f7e03c383cbe \ + --hash=sha256:cfbb073f23deb48e0e60c47f8741d8089121d89cc78629ea8c5b51096efc5be7 \ + --hash=sha256:e207c6ce5ce121d7d9b9d2b61b9adca57d1abed112c902d8ffbfdc20fb42c12b \ + --hash=sha256:fd9dd3994bb6f9f7a35f228323f3c4dc44b3cf2ff15fd72d895216e9333550c6 \ + --hash=sha256:fdf48d9b1f13af69e4e2c78e05067e322e9c8c97463c315cd0ecb47a94e259fc \ + --hash=sha256:ff3b1025356508d41f4fe48528e509d95f9e4015e90cf158cd58c56dc63e0ac5 + # via + # albumentations + # basicsr + # k-diffusion +scikit-learn==1.1.3 \ + --hash=sha256:23fb9e74b813cc2528b5167d82ed08950b11106ccf50297161875e45152fb311 \ + --hash=sha256:250da993701da88bf475e7c5746abf1285ea0ae47e4d0917cd13afd6600bb162 \ + --hash=sha256:28b2bd6a1419acd522ff45d282c8ba23dbccb5338802ab0ee12baa4ade0aba4c \ + --hash=sha256:2ee2c649f2231b68511aabb0dc827edd8936aad682acc6263c34aed11bc95dac \ + --hash=sha256:30e27721adc308e8fd9f419f43068e43490005f911edf4476a9e585059fa8a83 \ + --hash=sha256:38814f66285318f2e241305cca545eaa9b4126c65aa5dd78c69371f235f78e2b \ + --hash=sha256:4d3a19166d4e1cdfcab975c68f471e046ce01e74c42a9a33fa89a14c2fcedf60 \ + --hash=sha256:5699cded6c0685426433c7e5afe0fecad80ec831ec7fa264940e50c796775cc5 \ + --hash=sha256:6785b8a3093329bf90ac01801be5525551728ae73edb11baa175df660820add4 \ + --hash=sha256:6d1c1394e38a3319ace620381f6f23cc807d8780e9915c152449a86fc8f1db21 \ + --hash=sha256:701181792a28c82fecae12adb5d15d0ecf57bffab7cf4bdbb52c7b3fd428d540 \ + --hash=sha256:748f2bd632d6993e8918d43f1a26c380aeda4e122a88840d4c3a9af99d4239fe \ + --hash=sha256:8e9dd76c7274055d1acf4526b8efb16a3531c26dcda714a0c16da99bf9d41900 \ + --hash=sha256:bef51978a51ec19977700fe7b86aecea49c825884f3811756b74a3b152bb4e35 \ + --hash=sha256:cd55c6fbef7608dbce1f22baf289dfcc6eb323247daa3c3542f73d389c724786 \ + --hash=sha256:da5a2e95fef9805b1750e4abda4e834bf8835d26fc709a391543b53feee7bd0e \ + --hash=sha256:ee47f68d973cee7009f06edb956f2f5588a0f230f24a2a70175fd0ecf36e2653 \ + --hash=sha256:f4931f2a6c06e02c6c17a05f8ae397e2545965bc7a0a6cb38c8cd7d4fba8624d \ + --hash=sha256:f5644663987ee221f5d1f47a593271b966c271c236fe05634e6bdc06041b5a2b \ + --hash=sha256:f5d4231af7199531e77da1b78a4cc6b3d960a00b1ec672578ac818aae2b9c35d \ + --hash=sha256:fd3ee69d36d42a7dcbb17e355a5653af5fd241a7dfd9133080b3dde8d9e2aafb + # via qudida +scipy==1.9.3 \ + --hash=sha256:06d2e1b4c491dc7d8eacea139a1b0b295f74e1a1a0f704c375028f8320d16e31 \ + --hash=sha256:0d54222d7a3ba6022fdf5773931b5d7c56efe41ede7f7128c7b1637700409108 \ + --hash=sha256:1884b66a54887e21addf9c16fb588720a8309a57b2e258ae1c7986d4444d3bc0 \ + --hash=sha256:1a72d885fa44247f92743fc20732ae55564ff2a519e8302fb7e18717c5355a8b \ + --hash=sha256:2318bef588acc7a574f5bfdff9c172d0b1bf2c8143d9582e05f878e580a3781e \ + --hash=sha256:4db5b30849606a95dcf519763dd3ab6fe9bd91df49eba517359e450a7d80ce2e \ + --hash=sha256:545c83ffb518094d8c9d83cce216c0c32f8c04aaf28b92cc8283eda0685162d5 \ + --hash=sha256:5a04cd7d0d3eff6ea4719371cbc44df31411862b9646db617c99718ff68d4840 \ + --hash=sha256:5b88e6d91ad9d59478fafe92a7c757d00c59e3bdc3331be8ada76a4f8d683f58 \ + --hash=sha256:68239b6aa6f9c593da8be1509a05cb7f9efe98b80f43a5861cd24c7557e98523 \ + --hash=sha256:83b89e9586c62e787f5012e8475fbb12185bafb996a03257e9675cd73d3736dd \ + --hash=sha256:83c06e62a390a9167da60bedd4575a14c1f58ca9dfde59830fc42e5197283dab \ + --hash=sha256:90453d2b93ea82a9f434e4e1cba043e779ff67b92f7a0e85d05d286a3625df3c \ + --hash=sha256:abaf921531b5aeaafced90157db505e10345e45038c39e5d9b6c7922d68085cb \ + --hash=sha256:b41bc822679ad1c9a5f023bc93f6d0543129ca0f37c1ce294dd9d386f0a21096 \ + --hash=sha256:c68db6b290cbd4049012990d7fe71a2abd9ffbe82c0056ebe0f01df8be5436b0 \ + --hash=sha256:cff3a5295234037e39500d35316a4c5794739433528310e117b8a9a0c76d20fc \ + --hash=sha256:d01e1dd7b15bd2449c8bfc6b7cc67d630700ed655654f0dfcf121600bad205c9 \ + --hash=sha256:d644a64e174c16cb4b2e41dfea6af722053e83d066da7343f333a54dae9bc31c \ + --hash=sha256:da8245491d73ed0a994ed9c2e380fd058ce2fa8a18da204681f2fe1f57f98f95 \ + --hash=sha256:fbc5c05c85c1a02be77b1ff591087c83bc44579c6d2bd9fb798bb64ea5e1a027 + # via + # albumentations + # basicsr + # clean-fid + # facexlib + # filterpy + # gfpgan + # k-diffusion + # scikit-image + # scikit-learn + # torch-fidelity + # torchdiffeq +semver==2.13.0 \ + --hash=sha256:ced8b23dceb22134307c1b8abfa523da14198793d9787ac838e70e29e77458d4 \ + --hash=sha256:fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f + # via streamlit +send2trash==1.8.0 \ + --hash=sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d \ + --hash=sha256:f20eaadfdb517eaca5ce077640cb261c7d2698385a6a0f072a4a5447fd49fa08 + # via -r requirements.in +sentry-sdk==1.10.1 \ + --hash=sha256:06c0fa9ccfdc80d7e3b5d2021978d6eb9351fa49db9b5847cf4d1f2a473414ad \ + --hash=sha256:105faf7bd7b7fa25653404619ee261527266b14103fe1389e0ce077bd23a9691 + # via wandb +setproctitle==1.3.2 \ + --hash=sha256:1c5d5dad7c28bdd1ec4187d818e43796f58a845aa892bb4481587010dc4d362b \ + --hash=sha256:1c8d9650154afaa86a44ff195b7b10d683c73509d085339d174e394a22cccbb9 \ + --hash=sha256:1f0cde41857a644b7353a0060b5f94f7ba7cf593ebde5a1094da1be581ac9a31 \ + --hash=sha256:1f29b75e86260b0ab59adb12661ef9f113d2f93a59951373eb6d68a852b13e83 \ + --hash=sha256:1fa1a0fbee72b47dc339c87c890d3c03a72ea65c061ade3204f285582f2da30f \ + --hash=sha256:1ff863a20d1ff6ba2c24e22436a3daa3cd80be1dfb26891aae73f61b54b04aca \ + --hash=sha256:265ecbe2c6eafe82e104f994ddd7c811520acdd0647b73f65c24f51374cf9494 \ + --hash=sha256:288943dec88e178bb2fd868adf491197cc0fc8b6810416b1c6775e686bab87fe \ + --hash=sha256:2e3ac25bfc4a0f29d2409650c7532d5ddfdbf29f16f8a256fc31c47d0dc05172 \ + --hash=sha256:2fbd8187948284293f43533c150cd69a0e4192c83c377da837dbcd29f6b83084 \ + --hash=sha256:4058564195b975ddc3f0462375c533cce310ccdd41b80ac9aed641c296c3eff4 \ + --hash=sha256:4749a2b0c9ac52f864d13cee94546606f92b981b50e46226f7f830a56a9dc8e1 \ + --hash=sha256:4d8938249a7cea45ab7e1e48b77685d0f2bab1ebfa9dde23e94ab97968996a7c \ + --hash=sha256:5194b4969f82ea842a4f6af2f82cd16ebdc3f1771fb2771796e6add9835c1973 \ + --hash=sha256:55ce1e9925ce1765865442ede9dca0ba9bde10593fcd570b1f0fa25d3ec6b31c \ + --hash=sha256:589be87172b238f839e19f146b9ea47c71e413e951ef0dc6db4218ddacf3c202 \ + --hash=sha256:5b932c3041aa924163f4aab970c2f0e6b4d9d773f4d50326e0ea1cd69240e5c5 \ + --hash=sha256:5fb4f769c02f63fac90989711a3fee83919f47ae9afd4758ced5d86596318c65 \ + --hash=sha256:630f6fe5e24a619ccf970c78e084319ee8be5be253ecc9b5b216b0f474f5ef18 \ + --hash=sha256:65d884e22037b23fa25b2baf1a3316602ed5c5971eb3e9d771a38c3a69ce6e13 \ + --hash=sha256:6c877691b90026670e5a70adfbcc735460a9f4c274d35ec5e8a43ce3f8443005 \ + --hash=sha256:710e16fa3bade3b026907e4a5e841124983620046166f355bbb84be364bf2a02 \ + --hash=sha256:7a55fe05f15c10e8c705038777656fe45e3bd676d49ad9ac8370b75c66dd7cd7 \ + --hash=sha256:7aa0aac1711fadffc1d51e9d00a3bea61f68443d6ac0241a224e4d622489d665 \ + --hash=sha256:7f0bed90a216ef28b9d227d8d73e28a8c9b88c0f48a082d13ab3fa83c581488f \ + --hash=sha256:7f2719a398e1a2c01c2a63bf30377a34d0b6ef61946ab9cf4d550733af8f1ef1 \ + --hash=sha256:7fe9df7aeb8c64db6c34fc3b13271a363475d77bc157d3f00275a53910cb1989 \ + --hash=sha256:8ff3c8cb26afaed25e8bca7b9dd0c1e36de71f35a3a0706b5c0d5172587a3827 \ + --hash=sha256:9124bedd8006b0e04d4e8a71a0945da9b67e7a4ab88fdad7b1440dc5b6122c42 \ + --hash=sha256:92c626edc66169a1b09e9541b9c0c9f10488447d8a2b1d87c8f0672e771bc927 \ + --hash=sha256:a149a5f7f2c5a065d4e63cb0d7a4b6d3b66e6e80f12e3f8827c4f63974cbf122 \ + --hash=sha256:a47d97a75fd2d10c37410b180f67a5835cb1d8fdea2648fd7f359d4277f180b9 \ + --hash=sha256:a499fff50387c1520c085a07578a000123f519e5f3eee61dd68e1d301659651f \ + --hash=sha256:ab45146c71ca6592c9cc8b354a2cc9cc4843c33efcbe1d245d7d37ce9696552d \ + --hash=sha256:b2c9cb2705fc84cb8798f1ba74194f4c080aaef19d9dae843591c09b97678e98 \ + --hash=sha256:b34baef93bfb20a8ecb930e395ccd2ae3268050d8cf4fe187de5e2bd806fd796 \ + --hash=sha256:b617f12c9be61e8f4b2857be4a4319754756845dbbbd9c3718f468bbb1e17bcb \ + --hash=sha256:b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd \ + --hash=sha256:bae283e85fc084b18ffeb92e061ff7ac5af9e183c9d1345c93e178c3e5069cbe \ + --hash=sha256:c2c46200656280a064073447ebd363937562debef329482fd7e570c8d498f806 \ + --hash=sha256:c8a09d570b39517de10ee5b718730e171251ce63bbb890c430c725c8c53d4484 \ + --hash=sha256:c91b9bc8985d00239f7dc08a49927a7ca1ca8a6af2c3890feec3ed9665b6f91e \ + --hash=sha256:dad42e676c5261eb50fdb16bdf3e2771cf8f99a79ef69ba88729aeb3472d8575 \ + --hash=sha256:de3a540cd1817ede31f530d20e6a4935bbc1b145fd8f8cf393903b1e02f1ae76 \ + --hash=sha256:e00c9d5c541a2713ba0e657e0303bf96ddddc412ef4761676adc35df35d7c246 \ + --hash=sha256:e1aafc91cbdacc9e5fe712c52077369168e6b6c346f3a9d51bf600b53eae56bb \ + --hash=sha256:e425be62524dc0c593985da794ee73eb8a17abb10fe692ee43bb39e201d7a099 \ + --hash=sha256:e43f315c68aa61cbdef522a2272c5a5b9b8fd03c301d3167b5e1343ef50c676c \ + --hash=sha256:e49ae693306d7624015f31cb3e82708916759d592c2e5f72a35c8f4cc8aef258 \ + --hash=sha256:e5c50e164cd2459bc5137c15288a9ef57160fd5cbf293265ea3c45efe7870865 \ + --hash=sha256:e8579a43eafd246e285eb3a5b939e7158073d5087aacdd2308f23200eac2458b \ + --hash=sha256:e85e50b9c67854f89635a86247412f3ad66b132a4d8534ac017547197c88f27d \ + --hash=sha256:f0452282258dfcc01697026a8841258dd2057c4438b43914b611bccbcd048f10 \ + --hash=sha256:f4bfc89bd33ebb8e4c0e9846a09b1f5a4a86f5cb7a317e75cc42fee1131b4f4f \ + --hash=sha256:fa2f50678f04fda7a75d0fe5dd02bbdd3b13cbe6ed4cf626e4472a7ccf47ae94 \ + --hash=sha256:faec934cfe5fd6ac1151c02e67156c3f526e82f96b24d550b5d51efa4a5527c6 \ + --hash=sha256:fcd3cf4286a60fdc95451d8d14e0389a6b4f5cebe02c7f2609325eb016535963 \ + --hash=sha256:fe8a988c7220c002c45347430993830666e55bc350179d91fcee0feafe64e1d4 \ + --hash=sha256:fed18e44711c5af4b681c2b3b18f85e6f0f1b2370a28854c645d636d5305ccd8 \ + --hash=sha256:ffc61a388a5834a97953d6444a2888c24a05f2e333f9ed49f977a87bb1ad4761 + # via wandb +shortuuid==1.0.9 \ + --hash=sha256:459f12fa1acc34ff213b1371467c0325169645a31ed989e268872339af7563d5 \ + --hash=sha256:b2bb9eb7773170e253bb7ba25971023acb473517a8b76803d9618668cb1dd46f + # via wandb +six==1.16.0 \ + --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ + --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 + # via + # docker-pycreds + # eventlet + # flask-cors + # google-auth + # grpcio + # promise + # python-dateutil + # validators + # wandb +smmap==5.0.0 \ + --hash=sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94 \ + --hash=sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936 + # via gitdb +streamlit==1.14.0 \ + --hash=sha256:62556d873567e1b3427bcd118a57ee6946619f363bd6bba38df2d1f8225ecba0 \ + --hash=sha256:e078b8143d150ba721bdb9194218e311c5fe1d6d4156473a2dea6cc848a6c9fc + # via -r requirements.in +taming-transformers-rom1504==0.0.6 \ + --hash=sha256:051b5804c58caa247bcd51d17ddb525b4d5f892a29d42dc460f40e3e9e34e5d8 \ + --hash=sha256:73fe5fc1108accee4236ee6976e0987ab236afad0af06cb9f037641a908d2c32 + # via -r requirements.in +tb-nightly==2.11.0a20221106 \ + --hash=sha256:8940457ee42db92f01da8bcdbbea1a476735eda559dde5976f5728919960af4a + # via + # basicsr + # gfpgan +tensorboard==2.10.1 \ + --hash=sha256:fb9222c1750e2fa35ef170d998a1e229f626eeced3004494a8849c88c15d8c1c + # via + # pytorch-lightning + # test-tube +tensorboard-data-server==0.6.1 \ + --hash=sha256:809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7 \ + --hash=sha256:d8237580755e58eff68d1f3abefb5b1e39ae5c8b127cc40920f9c4fb33f4b98a \ + --hash=sha256:fa8cef9be4fcae2f2363c88176638baf2da19c5ec90addb49b1cde05c95c88ee + # via + # tb-nightly + # tensorboard +tensorboard-plugin-wit==1.8.1 \ + --hash=sha256:ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe + # via + # tb-nightly + # tensorboard +test-tube==0.7.5 \ + --hash=sha256:1379c33eb8cde3e9b36610f87da0f16c2e06496b1cfebac473df4e7be2faa124 + # via -r requirements.in +threadpoolctl==3.1.0 \ + --hash=sha256:8b99adda265feb6773280df41eece7b2e6561b772d21ffd52e372f999024907b \ + --hash=sha256:a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380 + # via scikit-learn +tifffile==2022.10.10 \ + --hash=sha256:50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e \ + --hash=sha256:87f3aee8a0d06b74655269a105de75c1958a24653e1930d523eb516100043503 + # via scikit-image +tokenizers==0.13.1 \ + --hash=sha256:0a3412830ad66a643723d6b0fc3202e64e9e299bd9c9eda04b2914b5b1e0ddb0 \ + --hash=sha256:126bcb18a77cf65961ece04f54bd10ef3713412195e543d9d3eda2f0e4fd677c \ + --hash=sha256:16434c61c5eb72f6692b9bc52052b07ca92d3eba9dd72a1bc371890e1bdc3f07 \ + --hash=sha256:1d4acfdb6e7ef974677bb8445462db7fed240185fdc0f5b061db357d4ef8d85d \ + --hash=sha256:3333d1cee5c8f47c96362ea0abc1f81c77c9b92c6c3d11cbf1d01985f0d5cf1d \ + --hash=sha256:3acf3cae4c4739fc9ec49fa0e6cce224c1aa0fabc8f8d1358fd7de5c7d49cdca \ + --hash=sha256:3ba43b3f6f6b41c97c1d041785342cd72ba142999f6c4605d628e8e937398f20 \ + --hash=sha256:3c69a8389fd88bc32115e99db70f63bef577ba5c54f40a632580038a49612856 \ + --hash=sha256:3de653a551cc616a442a123da21706cb3a3163cf6919973f978f0921eee1bdf0 \ + --hash=sha256:4b3be8af87b357340b9b049d28067287b5e5e296e3120b6e4875d3b8469b67e6 \ + --hash=sha256:680bc0e357b7da6d0d01634bffbd002e866fdaccde303e1d1af58f32464cf308 \ + --hash=sha256:70de69681a264a5808d39f4bb6331be9a4dec51fd48cd1b959a94da76c4939cc \ + --hash=sha256:73198cda6e1d991c583ed798514863e16763aa600eb7aa6df7722373290575b2 \ + --hash=sha256:80864f456f715829f901ad5bb85af97e9ae52fc902270944804f6476ab8c6699 \ + --hash=sha256:80b9552295fdce0a2513dcb795a3f8591eca1a8dcf8afe0de3214209e6924ad1 \ + --hash=sha256:84fa41b58a8d3b7363ecdf3397d4b38f345fcf7d4dd14565b4360e7bffc9cae0 \ + --hash=sha256:890d2139100b5c8ac6d585438d5e145ede1d7b32b4090a6c078db6db0ef1daea \ + --hash=sha256:8b3f97041f7716998e474d3c7ffd19ac6941f117616696aef2b5ba927bf091e3 \ + --hash=sha256:910479e92d5fbdf91e8106b4c658fd43d418893d7cfd5fb11983c54a1ff53869 \ + --hash=sha256:96a1beef1e64d44597627f4e29d794047a66ad4d7474d93daf5a0ee27928e012 \ + --hash=sha256:98bef54cf51ac335fda1408112df7ff3e584107633bd9066616033e12b0bd519 \ + --hash=sha256:afcb1bd6d9ed59d5c8e633765589cab12f98aae09804f156b5965b4463b8b8e3 \ + --hash=sha256:b72dec85488af3e1e8d58fb4b86b5dbe5171c176002b5e098ea6d52a70004bb5 \ + --hash=sha256:c3109ba62bea56c68c7c2a976250b040afee61b5f86fc791f17afaa2a09fce94 \ + --hash=sha256:c73b9e6c107e980e65077b89c54311d8d645f6a9efdde82990777fa43c0a8cae \ + --hash=sha256:d8fca8b492a4697b0182e0c40b164cb0c44a9669d9c98033fec2f88174605eb0 \ + --hash=sha256:db6872294339bf35c158219fc65bad939ba87d14c936ae7a33a3ca2d1532c5b1 \ + --hash=sha256:e1a90bc97f53600f52e902f3ae097424de712d8ae0e42d957efc7ed908573a20 \ + --hash=sha256:f75f476fe183c03c515a0f0f5d195cb05d93fcdc76e31fe3c9753d01f3ee990b \ + --hash=sha256:fd17b14f84bec0b171869abd17ca0d9bfc564aa1e7f3451f44da526949a911c1 \ + --hash=sha256:fea71780b66f8c278ebae7221c8959404cf7343b8d2f4b7308aa668cf6f02364 + # via transformers +toml==0.10.2 \ + --hash=sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b \ + --hash=sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f + # via streamlit +toolz==0.12.0 \ + --hash=sha256:2059bd4148deb1884bb0eb770a3cde70e7f954cfbbdc2285f1f2de01fd21eb6f \ + --hash=sha256:88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194 + # via altair +torch==1.13.0 \ + --hash=sha256:0fdd38c96230947b1ed870fed4a560252f8d23c3a2bf4dab9d2d42b18f2e67c8 \ + --hash=sha256:220325d0f4e69ee9edf00c04208244ef7cf22ebce083815ce272c7491f0603f5 \ + --hash=sha256:43db0723fc66ad6486f86dc4890c497937f7cd27429f28f73fb7e4d74b7482e2 \ + --hash=sha256:47fe6228386bff6d74319a2ffe9d4ed943e6e85473d78e80502518c607d644d2 \ + --hash=sha256:49a949b8136b32b2ec0724cbf4c6678b54e974b7d68f19f1231eea21cde5c23b \ + --hash=sha256:4a378f5091307381abfb30eb821174e12986f39b1cf7c4522bf99155256819eb \ + --hash=sha256:635dbb99d981a6483ca533b3dc7be18ef08dd9e1e96fb0bb0e6a99d79e85a130 \ + --hash=sha256:6c227c16626e4ce766cca5351cc62a2358a11e8e466410a298487b9dff159eb1 \ + --hash=sha256:857c7d5b1624c5fd979f66d2b074765733dba3f5e1cc97b7d6909155a2aae3ce \ + --hash=sha256:9197ec216833b836b67e4d68e513d31fb38d9789d7cd998a08fba5b499c38454 \ + --hash=sha256:922a4910613b310fbeb87707f00cb76fec328eb60cc1349ed2173e7c9b6edcd8 \ + --hash=sha256:9ac382cedaf2f70afea41380ad8e7c06acef6b5b7e2aef3971cdad666ca6e185 \ + --hash=sha256:bb33a911460475d1594a8c8cb73f58c08293211760796d99cae8c2509b86d7f1 \ + --hash=sha256:cd1e67db6575e1b173a626077a54e4911133178557aac50683db03a34e2b636a \ + --hash=sha256:d2d2753519415d154de4d3e64d2eaaeefdba6b6fd7d69d5ffaef595988117700 \ + --hash=sha256:e20df14d874b024851c58e8bb3846249cb120e677f7463f60c986e3661f88680 \ + --hash=sha256:e643ac8d086706e82f77b5d4dfcf145a9dd37b69e03e64177fc23821754d2ed7 \ + --hash=sha256:ef934a21da6f6a516d0a9c712a80d09c56128abdc6af8dc151bee5199b4c3b4e \ + --hash=sha256:f01a9ae0d4b69d2fc4145e8beab45b7877342dddbd4838a7d3c11ca7f6680745 \ + --hash=sha256:f68edfea71ade3862039ba66bcedf954190a2db03b0c41a9b79afd72210abd97 \ + --hash=sha256:fa768432ce4b8ffa29184c79a3376ab3de4a57b302cdf3c026a6be4c5a8ab75b + # via + # accelerate + # basicsr + # clean-fid + # clip + # facexlib + # gfpgan + # k-diffusion + # kornia + # pytorch-lightning + # realesrgan + # taming-transformers-rom1504 + # test-tube + # torch-fidelity + # torchdiffeq + # torchmetrics + # torchvision +torch-fidelity==0.3.0 \ + --hash=sha256:3d3e33db98919759cc4f3f24cb27e1e74bdc7c905d90a780630e4e1c18492b66 \ + --hash=sha256:d01284825595feb7dc3eae3dc9a0d8ced02be764813a3483f109bc142b52a1d3 + # via -r requirements.in +torchdiffeq==0.2.3 \ + --hash=sha256:b5b01ec1294a2d8d5f77e567bf17c5de1237c0573cb94deefa88326f0e18c338 \ + --hash=sha256:fe75f434b9090ac0c27702e02bed21472b0f87035be6581f51edc5d4013ea31a + # via k-diffusion +torchmetrics==0.10.2 \ + --hash=sha256:43757d82266969906fc74b6e80766fcb2a0d52d6c3d09e3b7c98cf3b733fd20c \ + --hash=sha256:daa29d96bff5cff04d80eec5b9f5076993d6ac9c2d2163e88b6b31f8d38f7c25 + # via pytorch-lightning +torchvision==0.13.1 ; platform_system == "Darwin" \ + --hash=sha256:0298bae3b09ac361866088434008d82b99d6458fe8888c8df90720ef4b347d44 \ + --hash=sha256:08f592ea61836ebeceb5c97f4d7a813b9d7dc651bbf7ce4401563ccfae6a21fc \ + --hash=sha256:099874088df104d54d8008f2a28539ca0117b512daed8bf3c2bbfa2b7ccb187a \ + --hash=sha256:0e77706cc90462653620e336bb90daf03d7bf1b88c3a9a3037df8d111823a56e \ + --hash=sha256:19286a733c69dcbd417b86793df807bd227db5786ed787c17297741a9b0d0fc7 \ + --hash=sha256:3567fb3def829229ec217c1e38f08c5128ff7fb65854cac17ebac358ff7aa309 \ + --hash=sha256:4d8bf321c4380854ef04613935fdd415dce29d1088a7ff99e06e113f0efe9203 \ + --hash=sha256:5e631241bee3661de64f83616656224af2e3512eb2580da7c08e08b8c965a8ac \ + --hash=sha256:7552e80fa222252b8b217a951c85e172a710ea4cad0ae0c06fbb67addece7871 \ + --hash=sha256:7cb789ceefe6dcd0dc8eeda37bfc45efb7cf34770eac9533861d51ca508eb5b3 \ + --hash=sha256:83e9e2457f23110fd53b0177e1bc621518d6ea2108f570e853b768ce36b7c679 \ + --hash=sha256:87c137f343197769a51333076e66bfcd576301d2cd8614b06657187c71b06c4f \ + --hash=sha256:899eec0b9f3b99b96d6f85b9aa58c002db41c672437677b553015b9135b3be7e \ + --hash=sha256:8e4d02e4d8a203e0c09c10dfb478214c224d080d31efc0dbf36d9c4051f7f3c6 \ + --hash=sha256:b167934a5943242da7b1e59318f911d2d253feeca0d13ad5d832b58eed943401 \ + --hash=sha256:c5ed609c8bc88c575226400b2232e0309094477c82af38952e0373edef0003fd \ + --hash=sha256:e9a563894f9fa40692e24d1aa58c3ef040450017cfed3598ff9637f404f3fe3b \ + --hash=sha256:ef5fe3ec1848123cd0ec74c07658192b3147dcd38e507308c790d5943e87b88c \ + --hash=sha256:f230a1a40ed70d51e463ce43df243ec520902f8725de2502e485efc5eea9d864 + # via + # -r requirements.in + # basicsr + # clean-fid + # clip + # facexlib + # gfpgan + # k-diffusion + # realesrgan + # taming-transformers-rom1504 + # torch-fidelity +tornado==6.2 \ + --hash=sha256:1d54d13ab8414ed44de07efecb97d4ef7c39f7438cf5e976ccd356bebb1b5fca \ + --hash=sha256:20f638fd8cc85f3cbae3c732326e96addff0a15e22d80f049e00121651e82e72 \ + --hash=sha256:5c87076709343557ef8032934ce5f637dbb552efa7b21d08e89ae7619ed0eb23 \ + --hash=sha256:5f8c52d219d4995388119af7ccaa0bcec289535747620116a58d830e7c25d8a8 \ + --hash=sha256:6fdfabffd8dfcb6cf887428849d30cf19a3ea34c2c248461e1f7d718ad30b66b \ + --hash=sha256:87dcafae3e884462f90c90ecc200defe5e580a7fbbb4365eda7c7c1eb809ebc9 \ + --hash=sha256:9b630419bde84ec666bfd7ea0a4cb2a8a651c2d5cccdbdd1972a0c859dfc3c13 \ + --hash=sha256:b8150f721c101abdef99073bf66d3903e292d851bee51910839831caba341a75 \ + --hash=sha256:ba09ef14ca9893954244fd872798b4ccb2367c165946ce2dd7376aebdde8e3ac \ + --hash=sha256:d3a2f5999215a3a06a4fc218026cd84c61b8b2b40ac5296a6db1f1451ef04c1e \ + --hash=sha256:e5f923aa6a47e133d1cf87d60700889d7eae68988704e20c75fb2d65677a8e4b + # via streamlit +tqdm==4.64.1 \ + --hash=sha256:5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4 \ + --hash=sha256:6fee160d6ffcd1b1c68c65f14c829c22832bc401726335ce92c52d395944a6a1 + # via + # basicsr + # clean-fid + # clip + # facexlib + # gfpgan + # huggingface-hub + # k-diffusion + # pytorch-lightning + # realesrgan + # taming-transformers-rom1504 + # torch-fidelity + # transformers +transformers==4.24.0 \ + --hash=sha256:486f353a8e594002e48be0e2aba723d96eda839e63bfe274702a4b5eda85559b \ + --hash=sha256:b7ab50039ef9bf817eff14ab974f306fd20a72350bdc9df3a858fd009419322e + # via -r requirements.in +typing-extensions==4.4.0 \ + --hash=sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa \ + --hash=sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e + # via + # huggingface-hub + # pytorch-lightning + # qudida + # streamlit + # torch + # torchvision +tzdata==2022.6 \ + --hash=sha256:04a680bdc5b15750c39c12a448885a51134a27ec9af83667663f0b3a1bf3f342 \ + --hash=sha256:91f11db4503385928c15598c98573e3af07e7229181bee5375bd30f1695ddcae + # via + # pytz-deprecation-shim + # tzlocal +tzlocal==4.2 \ + --hash=sha256:89885494684c929d9191c57aa27502afc87a579be5cdd3225c77c463ea043745 \ + --hash=sha256:ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7 + # via streamlit +urllib3==1.26.12 \ + --hash=sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e \ + --hash=sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997 + # via + # requests + # sentry-sdk +validators==0.18.2 \ + --hash=sha256:0143dcca8a386498edaf5780cbd5960da1a4c85e0719f3ee5c9b41249c4fefbd \ + --hash=sha256:37cd9a9213278538ad09b5b9f9134266e7c226ab1fede1d500e29e0a8fbb9ea6 + # via streamlit +wandb==0.13.5 \ + --hash=sha256:11f30a22e30abaa9c187e8b6aa4c12d76160b40bbe98a6f14b0dde9297bbfbe2 \ + --hash=sha256:60d5bcc524b8a314c8e072c03f7702dbd5406261b00a4ce75e7556b805fdc765 + # via k-diffusion +wcwidth==0.2.5 \ + --hash=sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784 \ + --hash=sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83 + # via ftfy +werkzeug==2.2.2 \ + --hash=sha256:7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f \ + --hash=sha256:f979ab81f58d7318e064e99c4506445d60135ac5cd2e177a2de0089bfd4c9bd5 + # via + # flask + # tb-nightly + # tensorboard +wheel==0.38.2 \ + --hash=sha256:3d492ef22379a156ec923d2a77051cedfd4df4b667864e9e41ba83f0b70b7149 \ + --hash=sha256:7a5a3095dceca97a3cac869b8fef4e89b83fafde21b6688f47b6fda7600eb441 + # via + # tb-nightly + # tensorboard +whichcraft==0.6.1 \ + --hash=sha256:acdbb91b63d6a15efbd6430d1d7b2d36e44a71697e93e19b7ded477afd9fce87 \ + --hash=sha256:deda9266fbb22b8c64fd3ee45c050d61139cd87419765f588e37c8d23e236dd9 + # via flaskwebgui +yapf==0.32.0 \ + --hash=sha256:8fea849025584e486fd06d6ba2bed717f396080fd3cc236ba10cb97c4c51cf32 \ + --hash=sha256:a3f5085d37ef7e3e004c4ba9f9b3e40c54ff1901cd111f05145ae313a7c67d1b + # via + # basicsr + # gfpgan +yarl==1.8.1 \ + --hash=sha256:076eede537ab978b605f41db79a56cad2e7efeea2aa6e0fa8f05a26c24a034fb \ + --hash=sha256:07b21e274de4c637f3e3b7104694e53260b5fc10d51fb3ec5fed1da8e0f754e3 \ + --hash=sha256:0ab5a138211c1c366404d912824bdcf5545ccba5b3ff52c42c4af4cbdc2c5035 \ + --hash=sha256:0c03f456522d1ec815893d85fccb5def01ffaa74c1b16ff30f8aaa03eb21e453 \ + --hash=sha256:12768232751689c1a89b0376a96a32bc7633c08da45ad985d0c49ede691f5c0d \ + --hash=sha256:19cd801d6f983918a3f3a39f3a45b553c015c5aac92ccd1fac619bd74beece4a \ + --hash=sha256:1ca7e596c55bd675432b11320b4eacc62310c2145d6801a1f8e9ad160685a231 \ + --hash=sha256:1e4808f996ca39a6463f45182e2af2fae55e2560be586d447ce8016f389f626f \ + --hash=sha256:205904cffd69ae972a1707a1bd3ea7cded594b1d773a0ce66714edf17833cdae \ + --hash=sha256:20df6ff4089bc86e4a66e3b1380460f864df3dd9dccaf88d6b3385d24405893b \ + --hash=sha256:21ac44b763e0eec15746a3d440f5e09ad2ecc8b5f6dcd3ea8cb4773d6d4703e3 \ + --hash=sha256:29e256649f42771829974e742061c3501cc50cf16e63f91ed8d1bf98242e5507 \ + --hash=sha256:2d800b9c2eaf0684c08be5f50e52bfa2aa920e7163c2ea43f4f431e829b4f0fd \ + --hash=sha256:2d93a049d29df172f48bcb09acf9226318e712ce67374f893b460b42cc1380ae \ + --hash=sha256:31a9a04ecccd6b03e2b0e12e82131f1488dea5555a13a4d32f064e22a6003cfe \ + --hash=sha256:3d1a50e461615747dd93c099f297c1994d472b0f4d2db8a64e55b1edf704ec1c \ + --hash=sha256:449c957ffc6bc2309e1fbe67ab7d2c1efca89d3f4912baeb8ead207bb3cc1cd4 \ + --hash=sha256:4a88510731cd8d4befaba5fbd734a7dd914de5ab8132a5b3dde0bbd6c9476c64 \ + --hash=sha256:4c322cbaa4ed78a8aac89b2174a6df398faf50e5fc12c4c191c40c59d5e28357 \ + --hash=sha256:5395da939ffa959974577eff2cbfc24b004a2fb6c346918f39966a5786874e54 \ + --hash=sha256:5587bba41399854703212b87071c6d8638fa6e61656385875f8c6dff92b2e461 \ + --hash=sha256:56c11efb0a89700987d05597b08a1efcd78d74c52febe530126785e1b1a285f4 \ + --hash=sha256:5999c4662631cb798496535afbd837a102859568adc67d75d2045e31ec3ac497 \ + --hash=sha256:59ddd85a1214862ce7c7c66457f05543b6a275b70a65de366030d56159a979f0 \ + --hash=sha256:6347f1a58e658b97b0a0d1ff7658a03cb79bdbda0331603bed24dd7054a6dea1 \ + --hash=sha256:6628d750041550c5d9da50bb40b5cf28a2e63b9388bac10fedd4f19236ef4957 \ + --hash=sha256:6afb336e23a793cd3b6476c30f030a0d4c7539cd81649683b5e0c1b0ab0bf350 \ + --hash=sha256:6c8148e0b52bf9535c40c48faebb00cb294ee577ca069d21bd5c48d302a83780 \ + --hash=sha256:76577f13333b4fe345c3704811ac7509b31499132ff0181f25ee26619de2c843 \ + --hash=sha256:7c0da7e44d0c9108d8b98469338705e07f4bb7dab96dbd8fa4e91b337db42548 \ + --hash=sha256:7de89c8456525650ffa2bb56a3eee6af891e98f498babd43ae307bd42dca98f6 \ + --hash=sha256:7ec362167e2c9fd178f82f252b6d97669d7245695dc057ee182118042026da40 \ + --hash=sha256:7fce6cbc6c170ede0221cc8c91b285f7f3c8b9fe28283b51885ff621bbe0f8ee \ + --hash=sha256:85cba594433915d5c9a0d14b24cfba0339f57a2fff203a5d4fd070e593307d0b \ + --hash=sha256:8b0af1cf36b93cee99a31a545fe91d08223e64390c5ecc5e94c39511832a4bb6 \ + --hash=sha256:9130ddf1ae9978abe63808b6b60a897e41fccb834408cde79522feb37fb72fb0 \ + --hash=sha256:99449cd5366fe4608e7226c6cae80873296dfa0cde45d9b498fefa1de315a09e \ + --hash=sha256:9de955d98e02fab288c7718662afb33aab64212ecb368c5dc866d9a57bf48880 \ + --hash=sha256:a0fb2cb4204ddb456a8e32381f9a90000429489a25f64e817e6ff94879d432fc \ + --hash=sha256:a165442348c211b5dea67c0206fc61366212d7082ba8118c8c5c1c853ea4d82e \ + --hash=sha256:ab2a60d57ca88e1d4ca34a10e9fb4ab2ac5ad315543351de3a612bbb0560bead \ + --hash=sha256:abc06b97407868ef38f3d172762f4069323de52f2b70d133d096a48d72215d28 \ + --hash=sha256:af887845b8c2e060eb5605ff72b6f2dd2aab7a761379373fd89d314f4752abbf \ + --hash=sha256:b19255dde4b4f4c32e012038f2c169bb72e7f081552bea4641cab4d88bc409dd \ + --hash=sha256:b3ded839a5c5608eec8b6f9ae9a62cb22cd037ea97c627f38ae0841a48f09eae \ + --hash=sha256:c1445a0c562ed561d06d8cbc5c8916c6008a31c60bc3655cdd2de1d3bf5174a0 \ + --hash=sha256:d0272228fabe78ce00a3365ffffd6f643f57a91043e119c289aaba202f4095b0 \ + --hash=sha256:d0b51530877d3ad7a8d47b2fff0c8df3b8f3b8deddf057379ba50b13df2a5eae \ + --hash=sha256:d0f77539733e0ec2475ddcd4e26777d08996f8cd55d2aef82ec4d3896687abda \ + --hash=sha256:d2b8f245dad9e331540c350285910b20dd913dc86d4ee410c11d48523c4fd546 \ + --hash=sha256:dd032e8422a52e5a4860e062eb84ac94ea08861d334a4bcaf142a63ce8ad4802 \ + --hash=sha256:de49d77e968de6626ba7ef4472323f9d2e5a56c1d85b7c0e2a190b2173d3b9be \ + --hash=sha256:de839c3a1826a909fdbfe05f6fe2167c4ab033f1133757b5936efe2f84904c07 \ + --hash=sha256:e80ed5a9939ceb6fda42811542f31c8602be336b1fb977bccb012e83da7e4936 \ + --hash=sha256:ea30a42dc94d42f2ba4d0f7c0ffb4f4f9baa1b23045910c0c32df9c9902cb272 \ + --hash=sha256:ea513a25976d21733bff523e0ca836ef1679630ef4ad22d46987d04b372d57fc \ + --hash=sha256:ed19b74e81b10b592084a5ad1e70f845f0aacb57577018d31de064e71ffa267a \ + --hash=sha256:f5af52738e225fcc526ae64071b7e5342abe03f42e0e8918227b38c9aa711e28 \ + --hash=sha256:fae37373155f5ef9b403ab48af5136ae9851151f7aacd9926251ab26b953118b + # via aiohttp +zipp==3.10.0 \ + --hash=sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1 \ + --hash=sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8 + # via importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +setuptools==65.5.1 \ + --hash=sha256:d0b9a8433464d5800cbe05094acf5c6d52a91bfac9b52bcfc4d41382be5d5d31 \ + --hash=sha256:e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f + # via + # numba + # tb-nightly + # tensorboard + # wandb diff --git a/installer/py3.10-linux-x86_64-cuda-reqs.txt b/installer/py3.10-linux-x86_64-cuda-reqs.txt new file mode 100644 index 0000000000..acb31ffa3f --- /dev/null +++ b/installer/py3.10-linux-x86_64-cuda-reqs.txt @@ -0,0 +1,2066 @@ +# +# This file is autogenerated by pip-compile with python 3.10 +# To update, run: +# +# pip-compile --allow-unsafe --generate-hashes --output-file=installer/py3.10-linux-x86_64-cuda-reqs.txt requirements.in +# +--extra-index-url https://download.pytorch.org/whl/cu116 +--trusted-host https + +absl-py==1.3.0 \ + --hash=sha256:34995df9bd7a09b3b8749e230408f5a2a2dd7a68a0d33c12a3d0cb15a041a507 \ + --hash=sha256:463c38a08d2e4cef6c498b76ba5bd4858e4c6ef51da1a5a1f27139a022e20248 + # via + # tb-nightly + # tensorboard +accelerate==0.13.2 \ + --hash=sha256:dd6f08b010077f252dda5a7699d87b02885335c456770939c536e65ff07ed760 \ + --hash=sha256:e22180d7094e4c1bfb05a2b078297c222f6b4fa595fde8916946c3f377cdf019 + # via k-diffusion +addict==2.4.0 \ + --hash=sha256:249bb56bbfd3cdc2a004ea0ff4c2b6ddc84d53bc2194761636eb314d5cfa5dfc \ + --hash=sha256:b3b2210e0e067a281f5646c8c5db92e99b7231ea8b0eb5f74dbdf9e259d4e494 + # via basicsr +aiohttp==3.8.3 \ + --hash=sha256:02f9a2c72fc95d59b881cf38a4b2be9381b9527f9d328771e90f72ac76f31ad8 \ + --hash=sha256:059a91e88f2c00fe40aed9031b3606c3f311414f86a90d696dd982e7aec48142 \ + --hash=sha256:05a3c31c6d7cd08c149e50dc7aa2568317f5844acd745621983380597f027a18 \ + --hash=sha256:08c78317e950e0762c2983f4dd58dc5e6c9ff75c8a0efeae299d363d439c8e34 \ + --hash=sha256:09e28f572b21642128ef31f4e8372adb6888846f32fecb288c8b0457597ba61a \ + --hash=sha256:0d2c6d8c6872df4a6ec37d2ede71eff62395b9e337b4e18efd2177de883a5033 \ + --hash=sha256:16c121ba0b1ec2b44b73e3a8a171c4f999b33929cd2397124a8c7fcfc8cd9e06 \ + --hash=sha256:1d90043c1882067f1bd26196d5d2db9aa6d268def3293ed5fb317e13c9413ea4 \ + --hash=sha256:1e56b9cafcd6531bab5d9b2e890bb4937f4165109fe98e2b98ef0dcfcb06ee9d \ + --hash=sha256:20acae4f268317bb975671e375493dbdbc67cddb5f6c71eebdb85b34444ac46b \ + --hash=sha256:21b30885a63c3f4ff5b77a5d6caf008b037cb521a5f33eab445dc566f6d092cc \ + --hash=sha256:21d69797eb951f155026651f7e9362877334508d39c2fc37bd04ff55b2007091 \ + --hash=sha256:256deb4b29fe5e47893fa32e1de2d73c3afe7407738bd3c63829874661d4822d \ + --hash=sha256:25892c92bee6d9449ffac82c2fe257f3a6f297792cdb18ad784737d61e7a9a85 \ + --hash=sha256:2ca9af5f8f5812d475c5259393f52d712f6d5f0d7fdad9acdb1107dd9e3cb7eb \ + --hash=sha256:2d252771fc85e0cf8da0b823157962d70639e63cb9b578b1dec9868dd1f4f937 \ + --hash=sha256:2dea10edfa1a54098703cb7acaa665c07b4e7568472a47f4e64e6319d3821ccf \ + --hash=sha256:2df5f139233060578d8c2c975128fb231a89ca0a462b35d4b5fcf7c501ebdbe1 \ + --hash=sha256:2feebbb6074cdbd1ac276dbd737b40e890a1361b3cc30b74ac2f5e24aab41f7b \ + --hash=sha256:309aa21c1d54b8ef0723181d430347d7452daaff93e8e2363db8e75c72c2fb2d \ + --hash=sha256:3828fb41b7203176b82fe5d699e0d845435f2374750a44b480ea6b930f6be269 \ + --hash=sha256:398701865e7a9565d49189f6c90868efaca21be65c725fc87fc305906be915da \ + --hash=sha256:43046a319664a04b146f81b40e1545d4c8ac7b7dd04c47e40bf09f65f2437346 \ + --hash=sha256:437399385f2abcd634865705bdc180c8314124b98299d54fe1d4c8990f2f9494 \ + --hash=sha256:45d88b016c849d74ebc6f2b6e8bc17cabf26e7e40c0661ddd8fae4c00f015697 \ + --hash=sha256:47841407cc89a4b80b0c52276f3cc8138bbbfba4b179ee3acbd7d77ae33f7ac4 \ + --hash=sha256:4a4fbc769ea9b6bd97f4ad0b430a6807f92f0e5eb020f1e42ece59f3ecfc4585 \ + --hash=sha256:4ab94426ddb1ecc6a0b601d832d5d9d421820989b8caa929114811369673235c \ + --hash=sha256:4b0f30372cef3fdc262f33d06e7b411cd59058ce9174ef159ad938c4a34a89da \ + --hash=sha256:4e3a23ec214e95c9fe85a58470b660efe6534b83e6cbe38b3ed52b053d7cb6ad \ + --hash=sha256:512bd5ab136b8dc0ffe3fdf2dfb0c4b4f49c8577f6cae55dca862cd37a4564e2 \ + --hash=sha256:527b3b87b24844ea7865284aabfab08eb0faf599b385b03c2aa91fc6edd6e4b6 \ + --hash=sha256:54d107c89a3ebcd13228278d68f1436d3f33f2dd2af5415e3feaeb1156e1a62c \ + --hash=sha256:5835f258ca9f7c455493a57ee707b76d2d9634d84d5d7f62e77be984ea80b849 \ + --hash=sha256:598adde339d2cf7d67beaccda3f2ce7c57b3b412702f29c946708f69cf8222aa \ + --hash=sha256:599418aaaf88a6d02a8c515e656f6faf3d10618d3dd95866eb4436520096c84b \ + --hash=sha256:5bf651afd22d5f0c4be16cf39d0482ea494f5c88f03e75e5fef3a85177fecdeb \ + --hash=sha256:5c59fcd80b9049b49acd29bd3598cada4afc8d8d69bd4160cd613246912535d7 \ + --hash=sha256:653acc3880459f82a65e27bd6526e47ddf19e643457d36a2250b85b41a564715 \ + --hash=sha256:66bd5f950344fb2b3dbdd421aaa4e84f4411a1a13fca3aeb2bcbe667f80c9f76 \ + --hash=sha256:6f3553510abdbec67c043ca85727396ceed1272eef029b050677046d3387be8d \ + --hash=sha256:7018ecc5fe97027214556afbc7c502fbd718d0740e87eb1217b17efd05b3d276 \ + --hash=sha256:713d22cd9643ba9025d33c4af43943c7a1eb8547729228de18d3e02e278472b6 \ + --hash=sha256:73a4131962e6d91109bca6536416aa067cf6c4efb871975df734f8d2fd821b37 \ + --hash=sha256:75880ed07be39beff1881d81e4a907cafb802f306efd6d2d15f2b3c69935f6fb \ + --hash=sha256:75e14eac916f024305db517e00a9252714fce0abcb10ad327fb6dcdc0d060f1d \ + --hash=sha256:8135fa153a20d82ffb64f70a1b5c2738684afa197839b34cc3e3c72fa88d302c \ + --hash=sha256:84b14f36e85295fe69c6b9789b51a0903b774046d5f7df538176516c3e422446 \ + --hash=sha256:86fc24e58ecb32aee09f864cb11bb91bc4c1086615001647dbfc4dc8c32f4008 \ + --hash=sha256:87f44875f2804bc0511a69ce44a9595d5944837a62caecc8490bbdb0e18b1342 \ + --hash=sha256:88c70ed9da9963d5496d38320160e8eb7e5f1886f9290475a881db12f351ab5d \ + --hash=sha256:88e5be56c231981428f4f506c68b6a46fa25c4123a2e86d156c58a8369d31ab7 \ + --hash=sha256:89d2e02167fa95172c017732ed7725bc8523c598757f08d13c5acca308e1a061 \ + --hash=sha256:8d6aaa4e7155afaf994d7924eb290abbe81a6905b303d8cb61310a2aba1c68ba \ + --hash=sha256:92a2964319d359f494f16011e23434f6f8ef0434acd3cf154a6b7bec511e2fb7 \ + --hash=sha256:96372fc29471646b9b106ee918c8eeb4cca423fcbf9a34daa1b93767a88a2290 \ + --hash=sha256:978b046ca728073070e9abc074b6299ebf3501e8dee5e26efacb13cec2b2dea0 \ + --hash=sha256:9c7149272fb5834fc186328e2c1fa01dda3e1fa940ce18fded6d412e8f2cf76d \ + --hash=sha256:a0239da9fbafd9ff82fd67c16704a7d1bccf0d107a300e790587ad05547681c8 \ + --hash=sha256:ad5383a67514e8e76906a06741febd9126fc7c7ff0f599d6fcce3e82b80d026f \ + --hash=sha256:ad61a9639792fd790523ba072c0555cd6be5a0baf03a49a5dd8cfcf20d56df48 \ + --hash=sha256:b29bfd650ed8e148f9c515474a6ef0ba1090b7a8faeee26b74a8ff3b33617502 \ + --hash=sha256:b97decbb3372d4b69e4d4c8117f44632551c692bb1361b356a02b97b69e18a62 \ + --hash=sha256:ba71c9b4dcbb16212f334126cc3d8beb6af377f6703d9dc2d9fb3874fd667ee9 \ + --hash=sha256:c37c5cce780349d4d51739ae682dec63573847a2a8dcb44381b174c3d9c8d403 \ + --hash=sha256:c971bf3786b5fad82ce5ad570dc6ee420f5b12527157929e830f51c55dc8af77 \ + --hash=sha256:d1fde0f44029e02d02d3993ad55ce93ead9bb9b15c6b7ccd580f90bd7e3de476 \ + --hash=sha256:d24b8bb40d5c61ef2d9b6a8f4528c2f17f1c5d2d31fed62ec860f6006142e83e \ + --hash=sha256:d5ba88df9aa5e2f806650fcbeedbe4f6e8736e92fc0e73b0400538fd25a4dd96 \ + --hash=sha256:d6f76310355e9fae637c3162936e9504b4767d5c52ca268331e2756e54fd4ca5 \ + --hash=sha256:d737fc67b9a970f3234754974531dc9afeea11c70791dcb7db53b0cf81b79784 \ + --hash=sha256:da22885266bbfb3f78218dc40205fed2671909fbd0720aedba39b4515c038091 \ + --hash=sha256:da37dcfbf4b7f45d80ee386a5f81122501ec75672f475da34784196690762f4b \ + --hash=sha256:db19d60d846283ee275d0416e2a23493f4e6b6028825b51290ac05afc87a6f97 \ + --hash=sha256:db4c979b0b3e0fa7e9e69ecd11b2b3174c6963cebadeecfb7ad24532ffcdd11a \ + --hash=sha256:e164e0a98e92d06da343d17d4e9c4da4654f4a4588a20d6c73548a29f176abe2 \ + --hash=sha256:e168a7560b7c61342ae0412997b069753f27ac4862ec7867eff74f0fe4ea2ad9 \ + --hash=sha256:e381581b37db1db7597b62a2e6b8b57c3deec95d93b6d6407c5b61ddc98aca6d \ + --hash=sha256:e65bc19919c910127c06759a63747ebe14f386cda573d95bcc62b427ca1afc73 \ + --hash=sha256:e7b8813be97cab8cb52b1375f41f8e6804f6507fe4660152e8ca5c48f0436017 \ + --hash=sha256:e8a78079d9a39ca9ca99a8b0ac2fdc0c4d25fc80c8a8a82e5c8211509c523363 \ + --hash=sha256:ebf909ea0a3fc9596e40d55d8000702a85e27fd578ff41a5500f68f20fd32e6c \ + --hash=sha256:ec40170327d4a404b0d91855d41bfe1fe4b699222b2b93e3d833a27330a87a6d \ + --hash=sha256:f178d2aadf0166be4df834c4953da2d7eef24719e8aec9a65289483eeea9d618 \ + --hash=sha256:f88df3a83cf9df566f171adba39d5bd52814ac0b94778d2448652fc77f9eb491 \ + --hash=sha256:f973157ffeab5459eefe7b97a804987876dd0a55570b8fa56b4e1954bf11329b \ + --hash=sha256:ff25f48fc8e623d95eca0670b8cc1469a83783c924a602e0fbd47363bb54aaca + # via fsspec +aiosignal==1.2.0 \ + --hash=sha256:26e62109036cd181df6e6ad646f91f0dcfd05fe16d0cb924138ff2ab75d64e3a \ + --hash=sha256:78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2 + # via aiohttp +albumentations==1.3.0 \ + --hash=sha256:294165d87d03bc8323e484927f0a5c1a3c64b0e7b9c32a979582a6c93c363bdf \ + --hash=sha256:be1af36832c8893314f2a5550e8ac19801e04770734c1b70fa3c996b41f37bed + # via -r requirements.in +altair==4.2.0 \ + --hash=sha256:0c724848ae53410c13fa28be2b3b9a9dcb7b5caa1a70f7f217bd663bb419935a \ + --hash=sha256:d87d9372e63b48cd96b2a6415f0cf9457f50162ab79dc7a31cd7e024dd840026 + # via streamlit +antlr4-python3-runtime==4.9.3 \ + --hash=sha256:f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b + # via omegaconf +async-timeout==4.0.2 \ + --hash=sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15 \ + --hash=sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c + # via aiohttp +attrs==22.1.0 \ + --hash=sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6 \ + --hash=sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c + # via + # aiohttp + # jsonschema +basicsr==1.4.2 \ + --hash=sha256:b89b595a87ef964cda9913b4d99380ddb6554c965577c0c10cb7b78e31301e87 + # via + # gfpgan + # realesrgan +bidict==0.22.0 \ + --hash=sha256:415126d23a0c81e1a8c584a8fb1f6905ea090c772571803aeee0a2242e8e7ba0 \ + --hash=sha256:5c826b3e15e97cc6e615de295756847c282a79b79c5430d3bfc909b1ac9f5bd8 + # via python-socketio +blinker==1.5 \ + --hash=sha256:1eb563df6fdbc39eeddc177d953203f99f097e9bf0e2b8f9f3cf18b6ca425e36 \ + --hash=sha256:923e5e2f69c155f2cc42dafbbd70e16e3fde24d2d4aa2ab72fbe386238892462 + # via streamlit +cachetools==5.2.0 \ + --hash=sha256:6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757 \ + --hash=sha256:f9f17d2aec496a9aa6b76f53e3b614c965223c061982d434d160f930c698a9db + # via + # google-auth + # streamlit +certifi==2022.9.24 \ + --hash=sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14 \ + --hash=sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382 + # via + # requests + # sentry-sdk +chardet==4.0.0 \ + --hash=sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa \ + --hash=sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5 + # via requests +charset-normalizer==2.1.1 \ + --hash=sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845 \ + --hash=sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f + # via aiohttp +clean-fid==0.1.34 \ + --hash=sha256:2997f85a67a28c95adaae7899a33fc10537164fef4cdd424e3257bffad79a901 + # via k-diffusion +click==8.1.3 \ + --hash=sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e \ + --hash=sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48 + # via + # flask + # streamlit + # wandb +clip @ https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip \ + --hash=sha256:b5842c25da441d6c581b53a5c60e0c2127ebafe0f746f8e15561a006c6c3be6a + # via -r requirements.in +commonmark==0.9.1 \ + --hash=sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60 \ + --hash=sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9 + # via rich +contourpy==1.0.6 \ + --hash=sha256:0236875c5a0784215b49d00ebbe80c5b6b5d5244b3655a36dda88105334dea17 \ + --hash=sha256:03d1b9c6b44a9e30d554654c72be89af94fab7510b4b9f62356c64c81cec8b7d \ + --hash=sha256:0537cc1195245bbe24f2913d1f9211b8f04eb203de9044630abd3664c6cc339c \ + --hash=sha256:06ca79e1efbbe2df795822df2fa173d1a2b38b6e0f047a0ec7903fbca1d1847e \ + --hash=sha256:08e8d09d96219ace6cb596506fb9b64ea5f270b2fb9121158b976d88871fcfd1 \ + --hash=sha256:0b1e66346acfb17694d46175a0cea7d9036f12ed0c31dfe86f0f405eedde2bdd \ + --hash=sha256:0b97454ed5b1368b66ed414c754cba15b9750ce69938fc6153679787402e4cdf \ + --hash=sha256:0e4854cc02006ad6684ce092bdadab6f0912d131f91c2450ce6dbdea78ee3c0b \ + --hash=sha256:12a7dc8439544ed05c6553bf026d5e8fa7fad48d63958a95d61698df0e00092b \ + --hash=sha256:1b1ee48a130da4dd0eb8055bbab34abf3f6262957832fd575e0cab4979a15a41 \ + --hash=sha256:1c0e1308307a75e07d1f1b5f0f56b5af84538a5e9027109a7bcf6cb47c434e72 \ + --hash=sha256:1dedf4c64185a216c35eb488e6f433297c660321275734401760dafaeb0ad5c2 \ + --hash=sha256:208bc904889c910d95aafcf7be9e677726df9ef71e216780170dbb7e37d118fa \ + --hash=sha256:211dfe2bd43bf5791d23afbe23a7952e8ac8b67591d24be3638cabb648b3a6eb \ + --hash=sha256:341330ed19074f956cb20877ad8d2ae50e458884bfa6a6df3ae28487cc76c768 \ + --hash=sha256:344cb3badf6fc7316ad51835f56ac387bdf86c8e1b670904f18f437d70da4183 \ + --hash=sha256:358f6364e4873f4d73360b35da30066f40387dd3c427a3e5432c6b28dd24a8fa \ + --hash=sha256:371f6570a81dfdddbb837ba432293a63b4babb942a9eb7aaa699997adfb53278 \ + --hash=sha256:375d81366afd547b8558c4720337218345148bc2fcffa3a9870cab82b29667f2 \ + --hash=sha256:3a1917d3941dd58732c449c810fa7ce46cc305ce9325a11261d740118b85e6f3 \ + --hash=sha256:4081918147fc4c29fad328d5066cfc751da100a1098398742f9f364be63803fc \ + --hash=sha256:444fb776f58f4906d8d354eb6f6ce59d0a60f7b6a720da6c1ccb839db7c80eb9 \ + --hash=sha256:46deb310a276cc5c1fd27958e358cce68b1e8a515fa5a574c670a504c3a3fe30 \ + --hash=sha256:494efed2c761f0f37262815f9e3c4bb9917c5c69806abdee1d1cb6611a7174a0 \ + --hash=sha256:50627bf76abb6ba291ad08db583161939c2c5fab38c38181b7833423ab9c7de3 \ + --hash=sha256:5641927cc5ae66155d0c80195dc35726eae060e7defc18b7ab27600f39dd1fe7 \ + --hash=sha256:5b117d29433fc8393b18a696d794961464e37afb34a6eeb8b2c37b5f4128a83e \ + --hash=sha256:613c665529899b5d9fade7e5d1760111a0b011231277a0d36c49f0d3d6914bd6 \ + --hash=sha256:6e459ebb8bb5ee4c22c19cc000174f8059981971a33ce11e17dddf6aca97a142 \ + --hash=sha256:6f56515e7c6fae4529b731f6c117752247bef9cdad2b12fc5ddf8ca6a50965a5 \ + --hash=sha256:730c27978a0003b47b359935478b7d63fd8386dbb2dcd36c1e8de88cbfc1e9de \ + --hash=sha256:75a2e638042118118ab39d337da4c7908c1af74a8464cad59f19fbc5bbafec9b \ + --hash=sha256:78ced51807ccb2f45d4ea73aca339756d75d021069604c2fccd05390dc3c28eb \ + --hash=sha256:7ee394502026d68652c2824348a40bf50f31351a668977b51437131a90d777ea \ + --hash=sha256:8468b40528fa1e15181cccec4198623b55dcd58306f8815a793803f51f6c474a \ + --hash=sha256:84c593aeff7a0171f639da92cb86d24954bbb61f8a1b530f74eb750a14685832 \ + --hash=sha256:913bac9d064cff033cf3719e855d4f1db9f1c179e0ecf3ba9fdef21c21c6a16a \ + --hash=sha256:9447c45df407d3ecb717d837af3b70cfef432138530712263730783b3d016512 \ + --hash=sha256:9b0e7fe7f949fb719b206548e5cde2518ffb29936afa4303d8a1c4db43dcb675 \ + --hash=sha256:9bc407a6af672da20da74823443707e38ece8b93a04009dca25856c2d9adadb1 \ + --hash=sha256:9e8e686a6db92a46111a1ee0ee6f7fbfae4048f0019de207149f43ac1812cf95 \ + --hash=sha256:9fc4e7973ed0e1fe689435842a6e6b330eb7ccc696080dda9a97b1a1b78e41db \ + --hash=sha256:a457ee72d9032e86730f62c5eeddf402e732fdf5ca8b13b41772aa8ae13a4563 \ + --hash=sha256:a628bba09ba72e472bf7b31018b6281fd4cc903f0888049a3724afba13b6e0b8 \ + --hash=sha256:a79d239fc22c3b8d9d3de492aa0c245533f4f4c7608e5749af866949c0f1b1b9 \ + --hash=sha256:aa4674cf3fa2bd9c322982644967f01eed0c91bb890f624e0e0daf7a5c3383e9 \ + --hash=sha256:acd2bd02f1a7adff3a1f33e431eb96ab6d7987b039d2946a9b39fe6fb16a1036 \ + --hash=sha256:b3b1bd7577c530eaf9d2bc52d1a93fef50ac516a8b1062c3d1b9bcec9ebe329b \ + --hash=sha256:b48d94386f1994db7c70c76b5808c12e23ed7a4ee13693c2fc5ab109d60243c0 \ + --hash=sha256:b64f747e92af7da3b85631a55d68c45a2d728b4036b03cdaba4bd94bcc85bd6f \ + --hash=sha256:b98c820608e2dca6442e786817f646d11057c09a23b68d2b3737e6dcb6e4a49b \ + --hash=sha256:c1baa49ab9fedbf19d40d93163b7d3e735d9cd8d5efe4cce9907902a6dad391f \ + --hash=sha256:c38c6536c2d71ca2f7e418acaf5bca30a3af7f2a2fa106083c7d738337848dbe \ + --hash=sha256:c78bfbc1a7bff053baf7e508449d2765964d67735c909b583204e3240a2aca45 \ + --hash=sha256:cd2bc0c8f2e8de7dd89a7f1c10b8844e291bca17d359373203ef2e6100819edd \ + --hash=sha256:d2eff2af97ea0b61381828b1ad6cd249bbd41d280e53aea5cccd7b2b31b8225c \ + --hash=sha256:d8834c14b8c3dd849005e06703469db9bf96ba2d66a3f88ecc539c9a8982e0ee \ + --hash=sha256:d912f0154a20a80ea449daada904a7eb6941c83281a9fab95de50529bfc3a1da \ + --hash=sha256:da1ef35fd79be2926ba80fbb36327463e3656c02526e9b5b4c2b366588b74d9a \ + --hash=sha256:dbe6fe7a1166b1ddd7b6d887ea6fa8389d3f28b5ed3f73a8f40ece1fc5a3d340 \ + --hash=sha256:dcd556c8fc37a342dd636d7eef150b1399f823a4462f8c968e11e1ebeabee769 \ + --hash=sha256:e13b31d1b4b68db60b3b29f8e337908f328c7f05b9add4b1b5c74e0691180109 \ + --hash=sha256:e1739496c2f0108013629aa095cc32a8c6363444361960c07493818d0dea2da4 \ + --hash=sha256:e43255a83835a129ef98f75d13d643844d8c646b258bebd11e4a0975203e018f \ + --hash=sha256:e626cefff8491bce356221c22af5a3ea528b0b41fbabc719c00ae233819ea0bf \ + --hash=sha256:eadad75bf91897f922e0fb3dca1b322a58b1726a953f98c2e5f0606bd8408621 \ + --hash=sha256:f33da6b5d19ad1bb5e7ad38bb8ba5c426d2178928bc2b2c44e8823ea0ecb6ff3 \ + --hash=sha256:f4052a8a4926d4468416fc7d4b2a7b2a3e35f25b39f4061a7e2a3a2748c4fc48 \ + --hash=sha256:f6ca38dd8d988eca8f07305125dec6f54ac1c518f1aaddcc14d08c01aebb6efc + # via matplotlib +cycler==0.11.0 \ + --hash=sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3 \ + --hash=sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f + # via matplotlib +decorator==5.1.1 \ + --hash=sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330 \ + --hash=sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186 + # via validators +diffusers==0.7.2 \ + --hash=sha256:4a5f8b3a5fbd936bba7d459611cb35ec62875030367be32b232f9e19543e25a9 \ + --hash=sha256:fb814ffd150cc6f470380b8c6a521181a77beb2f44134d2aad2e4cd8aa2ced0e + # via -r requirements.in +dnspython==2.2.1 \ + --hash=sha256:0f7569a4a6ff151958b64304071d370daa3243d15941a7beedf0c9fe5105603e \ + --hash=sha256:a851e51367fb93e9e1361732c1d60dab63eff98712e503ea7d92e6eccb109b4f + # via eventlet +docker-pycreds==0.4.0 \ + --hash=sha256:6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4 \ + --hash=sha256:7266112468627868005106ec19cd0d722702d2b7d5912a28e19b826c3d37af49 + # via wandb +einops==0.5.0 \ + --hash=sha256:055de7eeb3cb9e9710ef3085a811090c6b52e809b7044e8785824ed185f486d1 \ + --hash=sha256:8b7a83cffc1ea88e306df099b7cbb9c3ba5003bd84d05ae44be5655864abb8d3 + # via k-diffusion +entrypoints==0.4 \ + --hash=sha256:b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4 \ + --hash=sha256:f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f + # via altair +eventlet==0.33.1 \ + --hash=sha256:a085922698e5029f820cf311a648ac324d73cec0e4792877609d978a4b5bbf31 \ + --hash=sha256:afbe17f06a58491e9aebd7a4a03e70b0b63fd4cf76d8307bae07f280479b1515 + # via -r requirements.in +facexlib==0.2.5 \ + --hash=sha256:31e20cc4ed5d63562d380e4564bae14ac0d5d1899a079bad87621e13564567e4 \ + --hash=sha256:cc7ceb56c5424319c47223cf75eef6828c34c66082707c6eb35b95d39779f02d + # via + # gfpgan + # realesrgan +filelock==3.8.0 \ + --hash=sha256:55447caa666f2198c5b6b13a26d2084d26fa5b115c00d065664b2124680c4edc \ + --hash=sha256:617eb4e5eedc82fc5f47b6d61e4d11cb837c56cb4544e39081099fa17ad109d4 + # via + # diffusers + # huggingface-hub + # transformers +filterpy==1.4.5 \ + --hash=sha256:4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1 + # via facexlib +flask==2.2.2 \ + --hash=sha256:642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b \ + --hash=sha256:b9c46cc36662a7949f34b52d8ec7bb59c0d74ba08ba6cb9ce9adc1d8676d9526 + # via + # flask-cors + # flask-socketio +flask-cors==3.0.10 \ + --hash=sha256:74efc975af1194fc7891ff5cd85b0f7478be4f7f59fe158102e91abb72bb4438 \ + --hash=sha256:b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de + # via -r requirements.in +flask-socketio==5.3.1 \ + --hash=sha256:fd0ed0fc1341671d92d5f5b2f5503916deb7aa7e2940e6636cfa2c087c828bf9 \ + --hash=sha256:ff0c721f20bff1e2cfba77948727a8db48f187e89a72fe50c34478ce6efb3353 + # via -r requirements.in +flaskwebgui==0.3.7 \ + --hash=sha256:4a69955308eaa8bb256ba04a994dc8f58a48dcd6f9599694ab1bcd9f43d88a5d \ + --hash=sha256:535974ce2672dcc74787c254de24cceed4101be75d96952dae82014dd57f061e + # via -r requirements.in +fonttools==4.38.0 \ + --hash=sha256:2bb244009f9bf3fa100fc3ead6aeb99febe5985fa20afbfbaa2f8946c2fbdaf1 \ + --hash=sha256:820466f43c8be8c3009aef8b87e785014133508f0de64ec469e4efb643ae54fb + # via matplotlib +frozenlist==1.3.1 \ + --hash=sha256:022178b277cb9277d7d3b3f2762d294f15e85cd2534047e68a118c2bb0058f3e \ + --hash=sha256:086ca1ac0a40e722d6833d4ce74f5bf1aba2c77cbfdc0cd83722ffea6da52a04 \ + --hash=sha256:0bc75692fb3770cf2b5856a6c2c9de967ca744863c5e89595df64e252e4b3944 \ + --hash=sha256:0dde791b9b97f189874d654c55c24bf7b6782343e14909c84beebd28b7217845 \ + --hash=sha256:12607804084d2244a7bd4685c9d0dca5df17a6a926d4f1967aa7978b1028f89f \ + --hash=sha256:19127f8dcbc157ccb14c30e6f00392f372ddb64a6ffa7106b26ff2196477ee9f \ + --hash=sha256:1b51eb355e7f813bcda00276b0114c4172872dc5fb30e3fea059b9367c18fbcb \ + --hash=sha256:1e1cf7bc8cbbe6ce3881863671bac258b7d6bfc3706c600008925fb799a256e2 \ + --hash=sha256:219a9676e2eae91cb5cc695a78b4cb43d8123e4160441d2b6ce8d2c70c60e2f3 \ + --hash=sha256:2743bb63095ef306041c8f8ea22bd6e4d91adabf41887b1ad7886c4c1eb43d5f \ + --hash=sha256:2af6f7a4e93f5d08ee3f9152bce41a6015b5cf87546cb63872cc19b45476e98a \ + --hash=sha256:31b44f1feb3630146cffe56344704b730c33e042ffc78d21f2125a6a91168131 \ + --hash=sha256:31bf9539284f39ff9398deabf5561c2b0da5bb475590b4e13dd8b268d7a3c5c1 \ + --hash=sha256:35c3d79b81908579beb1fb4e7fcd802b7b4921f1b66055af2578ff7734711cfa \ + --hash=sha256:3a735e4211a04ccfa3f4833547acdf5d2f863bfeb01cfd3edaffbc251f15cec8 \ + --hash=sha256:42719a8bd3792744c9b523674b752091a7962d0d2d117f0b417a3eba97d1164b \ + --hash=sha256:49459f193324fbd6413e8e03bd65789e5198a9fa3095e03f3620dee2f2dabff2 \ + --hash=sha256:4c0c99e31491a1d92cde8648f2e7ccad0e9abb181f6ac3ddb9fc48b63301808e \ + --hash=sha256:52137f0aea43e1993264a5180c467a08a3e372ca9d378244c2d86133f948b26b \ + --hash=sha256:526d5f20e954d103b1d47232e3839f3453c02077b74203e43407b962ab131e7b \ + --hash=sha256:53b2b45052e7149ee8b96067793db8ecc1ae1111f2f96fe1f88ea5ad5fd92d10 \ + --hash=sha256:572ce381e9fe027ad5e055f143763637dcbac2542cfe27f1d688846baeef5170 \ + --hash=sha256:58fb94a01414cddcdc6839807db77ae8057d02ddafc94a42faee6004e46c9ba8 \ + --hash=sha256:5e77a8bd41e54b05e4fb2708dc6ce28ee70325f8c6f50f3df86a44ecb1d7a19b \ + --hash=sha256:5f271c93f001748fc26ddea409241312a75e13466b06c94798d1a341cf0e6989 \ + --hash=sha256:5f63c308f82a7954bf8263a6e6de0adc67c48a8b484fab18ff87f349af356efd \ + --hash=sha256:61d7857950a3139bce035ad0b0945f839532987dfb4c06cfe160254f4d19df03 \ + --hash=sha256:61e8cb51fba9f1f33887e22488bad1e28dd8325b72425f04517a4d285a04c519 \ + --hash=sha256:625d8472c67f2d96f9a4302a947f92a7adbc1e20bedb6aff8dbc8ff039ca6189 \ + --hash=sha256:6e19add867cebfb249b4e7beac382d33215d6d54476bb6be46b01f8cafb4878b \ + --hash=sha256:717470bfafbb9d9be624da7780c4296aa7935294bd43a075139c3d55659038ca \ + --hash=sha256:74140933d45271c1a1283f708c35187f94e1256079b3c43f0c2267f9db5845ff \ + --hash=sha256:74e6b2b456f21fc93ce1aff2b9728049f1464428ee2c9752a4b4f61e98c4db96 \ + --hash=sha256:9494122bf39da6422b0972c4579e248867b6b1b50c9b05df7e04a3f30b9a413d \ + --hash=sha256:94e680aeedc7fd3b892b6fa8395b7b7cc4b344046c065ed4e7a1e390084e8cb5 \ + --hash=sha256:97d9e00f3ac7c18e685320601f91468ec06c58acc185d18bb8e511f196c8d4b2 \ + --hash=sha256:9c6ef8014b842f01f5d2b55315f1af5cbfde284eb184075c189fd657c2fd8204 \ + --hash=sha256:a027f8f723d07c3f21963caa7d585dcc9b089335565dabe9c814b5f70c52705a \ + --hash=sha256:a718b427ff781c4f4e975525edb092ee2cdef6a9e7bc49e15063b088961806f8 \ + --hash=sha256:ab386503f53bbbc64d1ad4b6865bf001414930841a870fc97f1546d4d133f141 \ + --hash=sha256:ab6fa8c7871877810e1b4e9392c187a60611fbf0226a9e0b11b7b92f5ac72792 \ + --hash=sha256:b47d64cdd973aede3dd71a9364742c542587db214e63b7529fbb487ed67cddd9 \ + --hash=sha256:b499c6abe62a7a8d023e2c4b2834fce78a6115856ae95522f2f974139814538c \ + --hash=sha256:bbb1a71b1784e68870800b1bc9f3313918edc63dbb8f29fbd2e767ce5821696c \ + --hash=sha256:c3b31180b82c519b8926e629bf9f19952c743e089c41380ddca5db556817b221 \ + --hash=sha256:c56c299602c70bc1bb5d1e75f7d8c007ca40c9d7aebaf6e4ba52925d88ef826d \ + --hash=sha256:c92deb5d9acce226a501b77307b3b60b264ca21862bd7d3e0c1f3594022f01bc \ + --hash=sha256:cc2f3e368ee5242a2cbe28323a866656006382872c40869b49b265add546703f \ + --hash=sha256:d82bed73544e91fb081ab93e3725e45dd8515c675c0e9926b4e1f420a93a6ab9 \ + --hash=sha256:da1cdfa96425cbe51f8afa43e392366ed0b36ce398f08b60de6b97e3ed4affef \ + --hash=sha256:da5ba7b59d954f1f214d352308d1d86994d713b13edd4b24a556bcc43d2ddbc3 \ + --hash=sha256:e0c8c803f2f8db7217898d11657cb6042b9b0553a997c4a0601f48a691480fab \ + --hash=sha256:ee4c5120ddf7d4dd1eaf079af3af7102b56d919fa13ad55600a4e0ebe532779b \ + --hash=sha256:eee0c5ecb58296580fc495ac99b003f64f82a74f9576a244d04978a7e97166db \ + --hash=sha256:f5abc8b4d0c5b556ed8cd41490b606fe99293175a82b98e652c3f2711b452988 \ + --hash=sha256:f810e764617b0748b49a731ffaa525d9bb36ff38332411704c2400125af859a6 \ + --hash=sha256:f89139662cc4e65a4813f4babb9ca9544e42bddb823d2ec434e18dad582543bc \ + --hash=sha256:fa47319a10e0a076709644a0efbcaab9e91902c8bd8ef74c6adb19d320f69b83 \ + --hash=sha256:fabb953ab913dadc1ff9dcc3a7a7d3dc6a92efab3a0373989b8063347f8705be + # via + # aiohttp + # aiosignal +fsspec[http]==2022.10.0 \ + --hash=sha256:6b7c6ab3b476cdf17efcfeccde7fca28ef5a48f73a71010aaceec5fc15bf9ebf \ + --hash=sha256:cb6092474e90487a51de768170f3afa50ca8982c26150a59072b16433879ff1d + # via pytorch-lightning +ftfy==6.1.1 \ + --hash=sha256:0ffd33fce16b54cccaec78d6ec73d95ad370e5df5a25255c8966a6147bd667ca \ + --hash=sha256:bfc2019f84fcd851419152320a6375604a0f1459c281b5b199b2cd0d2e727f8f + # via clip +future==0.18.2 \ + --hash=sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d + # via + # basicsr + # test-tube +getpass-asterisk==1.0.1 \ + --hash=sha256:20d45cafda0066d761961e0919728526baf7bb5151fbf48a7d5ea4034127d857 \ + --hash=sha256:7cc357a924cf62fa4e15b73cb4e5e30685c9084e464ffdc3fd9000a2b54ea9e9 + # via -r requirements.in +gfpgan @ https://github.com/TencentARC/GFPGAN/archive/2eac2033893ca7f427f4035d80fe95b92649ac56.zip \ + --hash=sha256:79e6d71c8f1df7c7ccb0ac6b9a2ccb615ad5cde818c8b6f285a8711c05aebf85 + # via + # -r requirements.in + # realesrgan +gitdb==4.0.9 \ + --hash=sha256:8033ad4e853066ba6ca92050b9df2f89301b8fc8bf7e9324d412a63f8bf1a8fd \ + --hash=sha256:bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa + # via gitpython +gitpython==3.1.29 \ + --hash=sha256:41eea0deec2deea139b459ac03656f0dd28fc4a3387240ec1d3c259a2c47850f \ + --hash=sha256:cc36bfc4a3f913e66805a28e84703e419d9c264c1077e537b54f0e1af85dbefd + # via + # streamlit + # wandb +google-auth==2.14.0 \ + --hash=sha256:1ad5b0e6eba5f69645971abb3d2c197537d5914070a8c6d30299dfdb07c5c700 \ + --hash=sha256:cf24817855d874ede2efd071aa22125445f555de1685b739a9782fcf408c2a3d + # via + # google-auth-oauthlib + # tb-nightly + # tensorboard +google-auth-oauthlib==0.4.6 \ + --hash=sha256:3f2a6e802eebbb6fb736a370fbf3b055edcb6b52878bf2f26330b5e041316c73 \ + --hash=sha256:a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a + # via + # tb-nightly + # tensorboard +greenlet==2.0.0.post0 \ + --hash=sha256:00ebdaf0fa51c284fd2172837d751731a15971e0c20d1a9163cfbdf620ce8b49 \ + --hash=sha256:029ca674b3a7e8427db8f5c65d5ed4e24a7417af2a415a5958598aefd71980c4 \ + --hash=sha256:02bdb1e373b275bd705c43b249426e776c4f8a8ff2afaf8ec5ea0dde487d8a14 \ + --hash=sha256:08dc04f49ed1ea5e6772bb5e8cf2a77d1b1744566f4eca471a55b35af1278b31 \ + --hash=sha256:08f44e938d142271b954405afb6570e0be48a9f556b6bf4d42d2e3ae6a251fad \ + --hash=sha256:0a5c03e2a68ec2ff1cba74ceaed899ec8cd353285f4f985c30c8cfbef9d3a3be \ + --hash=sha256:0fee3240093b745efc857392f09379514ad84db4ca324514594bbdf6380016c8 \ + --hash=sha256:118e708dd7bc88beaeeaa5a8601a7743b8835b7bbaf7c8f23ffa78f8bc8faf28 \ + --hash=sha256:13d492a807a5c7334b5931e9b6d9b181991ccc6a40555a7b177f189feff59b4b \ + --hash=sha256:1cac9e9895aeff26434325404558783ee54f4ff3aec8daa56b8706796f7b01a0 \ + --hash=sha256:2146d15429b4eeb412428737594acb5660a5bc0fdd1488d8a2a74a5ee32391fa \ + --hash=sha256:21ee1ae26d072b195edea764218623f6c15eba4ae06816908f33c82e0af018d3 \ + --hash=sha256:22eca421e3f2f3c18f4f54c0ff525aa9d397c6f116fce9ebd37b420174dbc027 \ + --hash=sha256:2bab49783858cf724fff6868395cbeb81d1188cba23616b53e79de0beda29f42 \ + --hash=sha256:2fbdec204ca40b3d0c0992a19c1ba627441c17983ac4ffc45baec7f5f53e20ca \ + --hash=sha256:30ce47525f9a1515566429ac7de6b1ae76d32c3ccede256e3517a1a6419cf659 \ + --hash=sha256:335dcf676d5e4122e4006c16ae11eda2467af5461b949c265ce120b6b959ffe2 \ + --hash=sha256:3407b843b05da71fef0f1dd666059c08ad0e0f4afc3b9c93c998a2e53fac95e5 \ + --hash=sha256:35827f98fd0d768862b8f15777e6dbb03fe6ac6e7bd1bee3f3ded4536f350347 \ + --hash=sha256:3a22e5988f9d66b3e9ae9583bf9d8ef792b09f23afeb78707e6a4f47ab57cc5e \ + --hash=sha256:3c3327da2bdab61078e42e695307465c425671a5a9251e6c29ee130d51943f28 \ + --hash=sha256:3ca723dfc2789c1fb991809822811896b198ecf0909dbccea4a07170d18c3e1b \ + --hash=sha256:46156ae88ee71c37b6c4f7af63fff5d3ab8f45ef72e1a660bcf6386c1647f106 \ + --hash=sha256:4bbe2d074292e3646704371eb640ee52c386d633ed72ff223dadcd3fe8ecd8f9 \ + --hash=sha256:4c4310f0e42154995d92810f27b44ab7116a4a696feb0ff141ae2de59196efd7 \ + --hash=sha256:4cfa629de5b2dea27c81b334c4536463e9a49ac0877e2008a276d58d4c72868a \ + --hash=sha256:4e144ab0de56b4d2a2cf0d2fb9d568b59fce49aab3e129badf17c12b0252047d \ + --hash=sha256:4ea67f303cec384b148774667c7e3cf02311e7026fc02bdcdcd206dfe4ea4fc9 \ + --hash=sha256:538c9e8f65a32413ace426f8117ef019021adf8175f7c491fed65f5fe2083e0c \ + --hash=sha256:56565ac9ab4ff3dd473bfe959e0bf2a5062aabb89b7c94cabb417beb162c9fff \ + --hash=sha256:5e22485256bb1c60bbcc6f8509b1a11042358a2462d5ecdb9a82dc472d2fdd60 \ + --hash=sha256:602a69c24f1a9755dd1760b3b31bdfc495c4613260c876a01b7e6d5eb9bcae1b \ + --hash=sha256:6393ec3cecda53b20241e88bc33d87cbd8126cc10870fc69fa16ca2e20a5ac1b \ + --hash=sha256:6442bbfb047dc1e47658954b72e1589f2bc4e12e67d51bbad0059a626180daa1 \ + --hash=sha256:666d2a0b269a68cd4fe0976544ab97970c5334d35d0e47ae9be1723f734d8204 \ + --hash=sha256:697cfbfc19815c40213badcfe5f076418e0f9100cd25a66f513f32c1026b8bf4 \ + --hash=sha256:6a1a6745c5dce202aa3f29a1736c53cf2179e9c3b280dc62cea9cb8c69977c83 \ + --hash=sha256:6fc73fc8dd81d9efa842a55033b6b4cb233b134a0270e127c6874d053ef2049b \ + --hash=sha256:7e9e0d4c5c618b0442396715ffe6c2f84a60d593dad7e0184388aed36d568a65 \ + --hash=sha256:81fdcf7c0c2df46a99ca421a552c4370117851c5e4dbd6cb53d569b896d62322 \ + --hash=sha256:8b26932be686f3582df039d79fe96f7ca13d63b39468162f816f9ff29584b9a4 \ + --hash=sha256:8b7e5191b974fb66fcbac1818ba494d3512da9cf6eaef7acd952f9862eaaa20c \ + --hash=sha256:8c80e9c41a83d8c90399af8c7dcdeae0c03c48b40b9d0ab84457533d5d7882bf \ + --hash=sha256:9f2f110b9cc325f6543e0e3f4ab8008c272a59052f9464047c29d4be4511ce05 \ + --hash=sha256:a339e510a079dc8372e39ce1c7629414db51966235c9670c58d529def79243a2 \ + --hash=sha256:ad9abc3e4d2370cecb524421cc5c8a664006aa11d5c1cb3c9250e3bf65ab546e \ + --hash=sha256:b043782c8f6cccc8fae3a16db397eca1d36a41b0706cbf6f514aea1e1a260bab \ + --hash=sha256:b31de27313abbb567c528ed123380fcf18a5dfd03134570dfd12227e21ac1184 \ + --hash=sha256:b75e5644cc353328cd57ec8dafaaf5f81b2c3ecf7c4b278b907e99ad53ba7839 \ + --hash=sha256:b8cfc8fc944bd7b704691bc28225a2635e377e92dc413459845868d3f7724982 \ + --hash=sha256:c2055c52260808d87622293b57df1c68aeb12ddd8a0cfc0223fb57a5f629e202 \ + --hash=sha256:c416106b3b8e905b6ab0e84ec90047a6401021aa023f9aa93978e57cd8f8189f \ + --hash=sha256:d0e210e17a6181a3fd3f8dce957043a4e74177ffa9f295514984b2b633940dce \ + --hash=sha256:d9453135e48cd631e3e9f06d9da9100d17c9f662e4a6d8b552c29be6c834a6b9 \ + --hash=sha256:dd0198006278291d9469309d655093df1f5e5107c0261e242b5f390baee32199 \ + --hash=sha256:e1781bda1e787d3ad33788cc3be47f6e47a9581676d02670c15ee36c9460adfe \ + --hash=sha256:e56a5a9f303e3ac011ba445a6d84f05d08666bf8db094afafcec5228622c30f5 \ + --hash=sha256:e93ae35f0fd3caf75e58c76a1cab71e6ece169aaa1b281782ef9efde0a6b83f2 \ + --hash=sha256:eb36b6570646227a63eda03916f1cc6f3744ee96d28f7a0a5629c59267a8055f \ + --hash=sha256:f8c425a130e04d5404edaf6f5906e5ab12f3aa1168a1828aba6dfadac5910469 + # via eventlet +grpcio==1.50.0 \ + --hash=sha256:05f7c248e440f538aaad13eee78ef35f0541e73498dd6f832fe284542ac4b298 \ + --hash=sha256:080b66253f29e1646ac53ef288c12944b131a2829488ac3bac8f52abb4413c0d \ + --hash=sha256:12b479839a5e753580b5e6053571de14006157f2ef9b71f38c56dc9b23b95ad6 \ + --hash=sha256:156f8009e36780fab48c979c5605eda646065d4695deea4cfcbcfdd06627ddb6 \ + --hash=sha256:15f9e6d7f564e8f0776770e6ef32dac172c6f9960c478616c366862933fa08b4 \ + --hash=sha256:177afaa7dba3ab5bfc211a71b90da1b887d441df33732e94e26860b3321434d9 \ + --hash=sha256:1a4cd8cb09d1bc70b3ea37802be484c5ae5a576108bad14728f2516279165dd7 \ + --hash=sha256:1d8d02dbb616c0a9260ce587eb751c9c7dc689bc39efa6a88cc4fa3e9c138a7b \ + --hash=sha256:2b71916fa8f9eb2abd93151fafe12e18cebb302686b924bd4ec39266211da525 \ + --hash=sha256:2d9fd6e38b16c4d286a01e1776fdf6c7a4123d99ae8d6b3f0b4a03a34bf6ce45 \ + --hash=sha256:3b611b3de3dfd2c47549ca01abfa9bbb95937eb0ea546ea1d762a335739887be \ + --hash=sha256:3e4244c09cc1b65c286d709658c061f12c61c814be0b7030a2d9966ff02611e0 \ + --hash=sha256:40838061e24f960b853d7bce85086c8e1b81c6342b1f4c47ff0edd44bbae2722 \ + --hash=sha256:4b123fbb7a777a2fedec684ca0b723d85e1d2379b6032a9a9b7851829ed3ca9a \ + --hash=sha256:531f8b46f3d3db91d9ef285191825d108090856b3bc86a75b7c3930f16ce432f \ + --hash=sha256:67dd41a31f6fc5c7db097a5c14a3fa588af54736ffc174af4411d34c4f306f68 \ + --hash=sha256:7489dbb901f4fdf7aec8d3753eadd40839c9085967737606d2c35b43074eea24 \ + --hash=sha256:8d4c8e73bf20fb53fe5a7318e768b9734cf122fe671fcce75654b98ba12dfb75 \ + --hash=sha256:8e69aa4e9b7f065f01d3fdcecbe0397895a772d99954bb82eefbb1682d274518 \ + --hash=sha256:8e8999a097ad89b30d584c034929f7c0be280cd7851ac23e9067111167dcbf55 \ + --hash=sha256:906f4d1beb83b3496be91684c47a5d870ee628715227d5d7c54b04a8de802974 \ + --hash=sha256:92d7635d1059d40d2ec29c8bf5ec58900120b3ce5150ef7414119430a4b2dd5c \ + --hash=sha256:931e746d0f75b2a5cff0a1197d21827a3a2f400c06bace036762110f19d3d507 \ + --hash=sha256:95ce51f7a09491fb3da8cf3935005bff19983b77c4e9437ef77235d787b06842 \ + --hash=sha256:9eea18a878cffc804506d39c6682d71f6b42ec1c151d21865a95fae743fda500 \ + --hash=sha256:a23d47f2fc7111869f0ff547f771733661ff2818562b04b9ed674fa208e261f4 \ + --hash=sha256:a4c23e54f58e016761b576976da6a34d876420b993f45f66a2bfb00363ecc1f9 \ + --hash=sha256:a50a1be449b9e238b9bd43d3857d40edf65df9416dea988929891d92a9f8a778 \ + --hash=sha256:ab5d0e3590f0a16cb88de4a3fa78d10eb66a84ca80901eb2c17c1d2c308c230f \ + --hash=sha256:ae23daa7eda93c1c49a9ecc316e027ceb99adbad750fbd3a56fa9e4a2ffd5ae0 \ + --hash=sha256:af98d49e56605a2912cf330b4627e5286243242706c3a9fa0bcec6e6f68646fc \ + --hash=sha256:b2f77a90ba7b85bfb31329f8eab9d9540da2cf8a302128fb1241d7ea239a5469 \ + --hash=sha256:baab51dcc4f2aecabf4ed1e2f57bceab240987c8b03533f1cef90890e6502067 \ + --hash=sha256:ca8a2254ab88482936ce941485c1c20cdeaef0efa71a61dbad171ab6758ec998 \ + --hash=sha256:cb11464f480e6103c59d558a3875bd84eed6723f0921290325ebe97262ae1347 \ + --hash=sha256:ce8513aee0af9c159319692bfbf488b718d1793d764798c3d5cff827a09e25ef \ + --hash=sha256:cf151f97f5f381163912e8952eb5b3afe89dec9ed723d1561d59cabf1e219a35 \ + --hash=sha256:d144ad10eeca4c1d1ce930faa105899f86f5d99cecfe0d7224f3c4c76265c15e \ + --hash=sha256:d534d169673dd5e6e12fb57cc67664c2641361e1a0885545495e65a7b761b0f4 \ + --hash=sha256:d75061367a69808ab2e84c960e9dce54749bcc1e44ad3f85deee3a6c75b4ede9 \ + --hash=sha256:d84d04dec64cc4ed726d07c5d17b73c343c8ddcd6b59c7199c801d6bbb9d9ed1 \ + --hash=sha256:de411d2b030134b642c092e986d21aefb9d26a28bf5a18c47dd08ded411a3bc5 \ + --hash=sha256:e07fe0d7ae395897981d16be61f0db9791f482f03fee7d1851fe20ddb4f69c03 \ + --hash=sha256:ea8ccf95e4c7e20419b7827aa5b6da6f02720270686ac63bd3493a651830235c \ + --hash=sha256:f7025930039a011ed7d7e7ef95a1cb5f516e23c5a6ecc7947259b67bea8e06ca + # via + # tb-nightly + # tensorboard +huggingface-hub==0.10.1 \ + --hash=sha256:5c188d5b16bec4b78449f8681f9975ff9d321c16046cc29bcf0d7e464ff29276 \ + --hash=sha256:dc3b0e9a663fe6cad6a8522055c02a9d8673dbd527223288e2442bc028c253db + # via + # diffusers + # transformers +idna==2.10 \ + --hash=sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6 \ + --hash=sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0 + # via + # requests + # yarl +imageio==2.22.3 \ + --hash=sha256:63f007b7f2a082306e36922b3fd529a7aa305d2b78f46195bab8e22bbfe866e9 \ + --hash=sha256:a4b88f9f3d428b8c0ceeb7e297df8c346a642bb7e3111743eb85717d60b26f6f + # via + # scikit-image + # test-tube +imageio-ffmpeg==0.4.7 \ + --hash=sha256:27b48c32becae1658aa81c3a6b922538e4099edf5fbcbdb4ff5dbc84b8ffd3d3 \ + --hash=sha256:6514f1380daf42815bc8c83aad63f33e0b8b47133421ddafe7b410cd8dfbbea5 \ + --hash=sha256:6aba52ddf0a64442ffcb8d30ac6afb668186acec99ecbc7ae5bd171c4f500bbc \ + --hash=sha256:7a08838f97f363e37ca41821b864fd3fdc99ab1fe2421040c78eb5f56a9e723e \ + --hash=sha256:8e724d12dfe83e2a6eb39619e820243ca96c81c47c2648e66e05f7ee24e14312 \ + --hash=sha256:fc60686ef03c2d0f842901b206223c30051a6a120384458761390104470846fd + # via -r requirements.in +importlib-metadata==5.0.0 \ + --hash=sha256:da31db32b304314d044d3c12c79bd59e307889b287ad12ff387b3500835fc2ab \ + --hash=sha256:ddb0e35065e8938f867ed4928d0ae5bf2a53b7773871bfe6bcc7e4fcdc7dea43 + # via + # diffusers + # streamlit +itsdangerous==2.1.2 \ + --hash=sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44 \ + --hash=sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a + # via flask +jinja2==3.1.2 \ + --hash=sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852 \ + --hash=sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61 + # via + # altair + # flask + # pydeck +joblib==1.2.0 \ + --hash=sha256:091138ed78f800342968c523bdde947e7a305b8594b910a0fea2ab83c3c6d385 \ + --hash=sha256:e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018 + # via scikit-learn +jsonmerge==1.9.0 \ + --hash=sha256:a2d1f80021c5c1d70a49e31f862b5f068f9db066080d8561e80654de74a3584d + # via k-diffusion +jsonschema==4.17.0 \ + --hash=sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d \ + --hash=sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248 + # via + # altair + # jsonmerge +k-diffusion @ https://github.com/invoke-ai/k-diffusion/archive/7f16b2c33411f26b3eae78d10648d625cb0c1095.zip \ + --hash=sha256:c3f2c84036aa98c3abf4552fafab04df5ca472aa639982795e05bb1db43ce5e4 + # via -r requirements.in +kiwisolver==1.4.4 \ + --hash=sha256:02f79693ec433cb4b5f51694e8477ae83b3205768a6fb48ffba60549080e295b \ + --hash=sha256:03baab2d6b4a54ddbb43bba1a3a2d1627e82d205c5cf8f4c924dc49284b87166 \ + --hash=sha256:1041feb4cda8708ce73bb4dcb9ce1ccf49d553bf87c3954bdfa46f0c3f77252c \ + --hash=sha256:10ee06759482c78bdb864f4109886dff7b8a56529bc1609d4f1112b93fe6423c \ + --hash=sha256:1d1573129aa0fd901076e2bfb4275a35f5b7aa60fbfb984499d661ec950320b0 \ + --hash=sha256:283dffbf061a4ec60391d51e6155e372a1f7a4f5b15d59c8505339454f8989e4 \ + --hash=sha256:28bc5b299f48150b5f822ce68624e445040595a4ac3d59251703779836eceff9 \ + --hash=sha256:2a66fdfb34e05b705620dd567f5a03f239a088d5a3f321e7b6ac3239d22aa286 \ + --hash=sha256:2e307eb9bd99801f82789b44bb45e9f541961831c7311521b13a6c85afc09767 \ + --hash=sha256:2e407cb4bd5a13984a6c2c0fe1845e4e41e96f183e5e5cd4d77a857d9693494c \ + --hash=sha256:2f5e60fabb7343a836360c4f0919b8cd0d6dbf08ad2ca6b9cf90bf0c76a3c4f6 \ + --hash=sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b \ + --hash=sha256:3fe20f63c9ecee44560d0e7f116b3a747a5d7203376abeea292ab3152334d004 \ + --hash=sha256:41dae968a94b1ef1897cb322b39360a0812661dba7c682aa45098eb8e193dbdf \ + --hash=sha256:4bd472dbe5e136f96a4b18f295d159d7f26fd399136f5b17b08c4e5f498cd494 \ + --hash=sha256:4ea39b0ccc4f5d803e3337dd46bcce60b702be4d86fd0b3d7531ef10fd99a1ac \ + --hash=sha256:5853eb494c71e267912275e5586fe281444eb5e722de4e131cddf9d442615626 \ + --hash=sha256:5bce61af018b0cb2055e0e72e7d65290d822d3feee430b7b8203d8a855e78766 \ + --hash=sha256:6295ecd49304dcf3bfbfa45d9a081c96509e95f4b9d0eb7ee4ec0530c4a96514 \ + --hash=sha256:62ac9cc684da4cf1778d07a89bf5f81b35834cb96ca523d3a7fb32509380cbf6 \ + --hash=sha256:70e7c2e7b750585569564e2e5ca9845acfaa5da56ac46df68414f29fea97be9f \ + --hash=sha256:7577c1987baa3adc4b3c62c33bd1118c3ef5c8ddef36f0f2c950ae0b199e100d \ + --hash=sha256:75facbe9606748f43428fc91a43edb46c7ff68889b91fa31f53b58894503a191 \ + --hash=sha256:787518a6789009c159453da4d6b683f468ef7a65bbde796bcea803ccf191058d \ + --hash=sha256:78d6601aed50c74e0ef02f4204da1816147a6d3fbdc8b3872d263338a9052c51 \ + --hash=sha256:7c43e1e1206cd421cd92e6b3280d4385d41d7166b3ed577ac20444b6995a445f \ + --hash=sha256:81e38381b782cc7e1e46c4e14cd997ee6040768101aefc8fa3c24a4cc58e98f8 \ + --hash=sha256:841293b17ad704d70c578f1f0013c890e219952169ce8a24ebc063eecf775454 \ + --hash=sha256:872b8ca05c40d309ed13eb2e582cab0c5a05e81e987ab9c521bf05ad1d5cf5cb \ + --hash=sha256:877272cf6b4b7e94c9614f9b10140e198d2186363728ed0f701c6eee1baec1da \ + --hash=sha256:8c808594c88a025d4e322d5bb549282c93c8e1ba71b790f539567932722d7bd8 \ + --hash=sha256:8ed58b8acf29798b036d347791141767ccf65eee7f26bde03a71c944449e53de \ + --hash=sha256:91672bacaa030f92fc2f43b620d7b337fd9a5af28b0d6ed3f77afc43c4a64b5a \ + --hash=sha256:968f44fdbf6dd757d12920d63b566eeb4d5b395fd2d00d29d7ef00a00582aac9 \ + --hash=sha256:9f85003f5dfa867e86d53fac6f7e6f30c045673fa27b603c397753bebadc3008 \ + --hash=sha256:a553dadda40fef6bfa1456dc4be49b113aa92c2a9a9e8711e955618cd69622e3 \ + --hash=sha256:a68b62a02953b9841730db7797422f983935aeefceb1679f0fc85cbfbd311c32 \ + --hash=sha256:abbe9fa13da955feb8202e215c4018f4bb57469b1b78c7a4c5c7b93001699938 \ + --hash=sha256:ad881edc7ccb9d65b0224f4e4d05a1e85cf62d73aab798943df6d48ab0cd79a1 \ + --hash=sha256:b1792d939ec70abe76f5054d3f36ed5656021dcad1322d1cc996d4e54165cef9 \ + --hash=sha256:b428ef021242344340460fa4c9185d0b1f66fbdbfecc6c63eff4b7c29fad429d \ + --hash=sha256:b533558eae785e33e8c148a8d9921692a9fe5aa516efbdff8606e7d87b9d5824 \ + --hash=sha256:ba59c92039ec0a66103b1d5fe588fa546373587a7d68f5c96f743c3396afc04b \ + --hash=sha256:bc8d3bd6c72b2dd9decf16ce70e20abcb3274ba01b4e1c96031e0c4067d1e7cd \ + --hash=sha256:bc9db8a3efb3e403e4ecc6cd9489ea2bac94244f80c78e27c31dcc00d2790ac2 \ + --hash=sha256:bf7d9fce9bcc4752ca4a1b80aabd38f6d19009ea5cbda0e0856983cf6d0023f5 \ + --hash=sha256:c2dbb44c3f7e6c4d3487b31037b1bdbf424d97687c1747ce4ff2895795c9bf69 \ + --hash=sha256:c79ebe8f3676a4c6630fd3f777f3cfecf9289666c84e775a67d1d358578dc2e3 \ + --hash=sha256:c97528e64cb9ebeff9701e7938653a9951922f2a38bd847787d4a8e498cc83ae \ + --hash=sha256:d0611a0a2a518464c05ddd5a3a1a0e856ccc10e67079bb17f265ad19ab3c7597 \ + --hash=sha256:d06adcfa62a4431d404c31216f0f8ac97397d799cd53800e9d3efc2fbb3cf14e \ + --hash=sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955 \ + --hash=sha256:d5b61785a9ce44e5a4b880272baa7cf6c8f48a5180c3e81c59553ba0cb0821ca \ + --hash=sha256:da152d8cdcab0e56e4f45eb08b9aea6455845ec83172092f09b0e077ece2cf7a \ + --hash=sha256:da7e547706e69e45d95e116e6939488d62174e033b763ab1496b4c29b76fabea \ + --hash=sha256:db5283d90da4174865d520e7366801a93777201e91e79bacbac6e6927cbceede \ + --hash=sha256:db608a6757adabb32f1cfe6066e39b3706d8c3aa69bbc353a5b61edad36a5cb4 \ + --hash=sha256:e0ea21f66820452a3f5d1655f8704a60d66ba1191359b96541eaf457710a5fc6 \ + --hash=sha256:e7da3fec7408813a7cebc9e4ec55afed2d0fd65c4754bc376bf03498d4e92686 \ + --hash=sha256:e92a513161077b53447160b9bd8f522edfbed4bd9759e4c18ab05d7ef7e49408 \ + --hash=sha256:ecb1fa0db7bf4cff9dac752abb19505a233c7f16684c5826d1f11ebd9472b871 \ + --hash=sha256:efda5fc8cc1c61e4f639b8067d118e742b812c930f708e6667a5ce0d13499e29 \ + --hash=sha256:f0a1dbdb5ecbef0d34eb77e56fcb3e95bbd7e50835d9782a45df81cc46949750 \ + --hash=sha256:f0a71d85ecdd570ded8ac3d1c0f480842f49a40beb423bb8014539a9f32a5897 \ + --hash=sha256:f4f270de01dd3e129a72efad823da90cc4d6aafb64c410c9033aba70db9f1ff0 \ + --hash=sha256:f6cb459eea32a4e2cf18ba5fcece2dbdf496384413bc1bae15583f19e567f3b2 \ + --hash=sha256:f8ad8285b01b0d4695102546b342b493b3ccc6781fc28c8c6a1bb63e95d22f09 \ + --hash=sha256:f9f39e2f049db33a908319cf46624a569b36983c7c78318e9726a4cb8923b26c + # via matplotlib +kornia==0.6.8 \ + --hash=sha256:0985e02453c0ab4f030e8d22a3a7554dab312ffa8f8a54ec872190e6f0b58c56 \ + --hash=sha256:0d6d69330b4fd24da742337b8134da0ce01b4d7da66770db5498d58e8b4a0832 + # via k-diffusion +llvmlite==0.39.1 \ + --hash=sha256:03aee0ccd81735696474dc4f8b6be60774892a2929d6c05d093d17392c237f32 \ + --hash=sha256:1578f5000fdce513712e99543c50e93758a954297575610f48cb1fd71b27c08a \ + --hash=sha256:16f56eb1eec3cda3a5c526bc3f63594fc24e0c8d219375afeb336f289764c6c7 \ + --hash=sha256:1ec3d70b3e507515936e475d9811305f52d049281eaa6c8273448a61c9b5b7e2 \ + --hash=sha256:22d36591cd5d02038912321d9ab8e4668e53ae2211da5523f454e992b5e13c36 \ + --hash=sha256:3803f11ad5f6f6c3d2b545a303d68d9fabb1d50e06a8d6418e6fcd2d0df00959 \ + --hash=sha256:39dc2160aed36e989610fc403487f11b8764b6650017ff367e45384dff88ffbf \ + --hash=sha256:3fc14e757bc07a919221f0cbaacb512704ce5774d7fcada793f1996d6bc75f2a \ + --hash=sha256:4c6ebace910410daf0bebda09c1859504fc2f33d122e9a971c4c349c89cca630 \ + --hash=sha256:50aea09a2b933dab7c9df92361b1844ad3145bfb8dd2deb9cd8b8917d59306fb \ + --hash=sha256:60f8dd1e76f47b3dbdee4b38d9189f3e020d22a173c00f930b52131001d801f9 \ + --hash=sha256:62c0ea22e0b9dffb020601bb65cb11dd967a095a488be73f07d8867f4e327ca5 \ + --hash=sha256:6546bed4e02a1c3d53a22a0bced254b3b6894693318b16c16c8e43e29d6befb6 \ + --hash=sha256:6717c7a6e93c9d2c3d07c07113ec80ae24af45cde536b34363d4bcd9188091d9 \ + --hash=sha256:7ebf1eb9badc2a397d4f6a6c8717447c81ac011db00064a00408bc83c923c0e4 \ + --hash=sha256:9ffc84ade195abd4abcf0bd3b827b9140ae9ef90999429b9ea84d5df69c9058c \ + --hash=sha256:a3f331a323d0f0ada6b10d60182ef06c20a2f01be21699999d204c5750ffd0b4 \ + --hash=sha256:b1a0bbdb274fb683f993198775b957d29a6f07b45d184c571ef2a721ce4388cf \ + --hash=sha256:b43abd7c82e805261c425d50335be9a6c4f84264e34d6d6e475207300005d572 \ + --hash=sha256:c0f158e4708dda6367d21cf15afc58de4ebce979c7a1aa2f6b977aae737e2a54 \ + --hash=sha256:d0bfd18c324549c0fec2c5dc610fd024689de6f27c6cc67e4e24a07541d6e49b \ + --hash=sha256:ddab526c5a2c4ccb8c9ec4821fcea7606933dc53f510e2a6eebb45a418d3488a \ + --hash=sha256:e172c73fccf7d6db4bd6f7de963dedded900d1a5c6778733241d878ba613980e \ + --hash=sha256:e2c00ff204afa721b0bb9835b5bf1ba7fba210eefcec5552a9e05a63219ba0dc \ + --hash=sha256:e31f4b799d530255aaf0566e3da2df5bfc35d3cd9d6d5a3dcc251663656c27b1 \ + --hash=sha256:e4f212c018db951da3e1dc25c2651abc688221934739721f2dad5ff1dd5f90e7 \ + --hash=sha256:fa9b26939ae553bf30a9f5c4c754db0fb2d2677327f2511e674aa2f5df941789 \ + --hash=sha256:fb62fc7016b592435d3e3a8f680e3ea8897c3c9e62e6e6cc58011e7a4801439e + # via numba +lmdb==1.3.0 \ + --hash=sha256:008243762decf8f6c90430a9bced56290ebbcdb5e877d90e42343bb97033e494 \ + --hash=sha256:08f4b5129f4683802569b02581142e415c8dcc0ff07605983ec1b07804cecbad \ + --hash=sha256:17215a42a4b9814c383deabecb160581e4fb75d00198eef0e3cea54f230ffbea \ + --hash=sha256:18c69fabdaf04efaf246587739cc1062b3e57c6ef0743f5c418df89e5e7e7b9b \ + --hash=sha256:2cfa4aa9c67f8aee89b23005e98d1f3f32490b6b905fd1cb604b207cbd5755ab \ + --hash=sha256:2df38115dd9428a54d59ae7c712a4c7cce0d6b1d66056de4b1a8c38718066106 \ + --hash=sha256:394df860c3f93cfd92b6f4caba785f38208cc9614c18b3803f83a2cc1695042f \ + --hash=sha256:41318717ab5d15ad2d6d263d34fbf614a045210f64b25e59ce734bb2105e421f \ + --hash=sha256:4172fba19417d7b29409beca7d73c067b54e5d8ab1fb9b51d7b4c1445d20a167 \ + --hash=sha256:5a14aca2651c3af6f0d0a6b9168200eea0c8f2d27c40b01a442f33329a6e8dff \ + --hash=sha256:5ddd590e1c7fcb395931aa3782fb89b9db4550ab2d81d006ecd239e0d462bc41 \ + --hash=sha256:60a11efc21aaf009d06518996360eed346f6000bfc9de05114374230879f992e \ + --hash=sha256:6260a526e4ad85b1f374a5ba9475bf369fb07e7728ea6ec57226b02c40d1976b \ + --hash=sha256:62ab28e3593bdc318ea2f2fa1574e5fca3b6d1f264686d773ba54a637d4f563b \ + --hash=sha256:63cb73fe7ce9eb93d992d632c85a0476b4332670d9e6a2802b5062f603b7809f \ + --hash=sha256:65334eafa5d430b18d81ebd5362559a41483c362e1931f6e1b15bab2ecb7d75d \ + --hash=sha256:7da05d70fcc6561ac6b09e9fb1bf64b7ca294652c64c8a2889273970cee796b9 \ + --hash=sha256:abbc439cd9fe60ffd6197009087ea885ac150017dc85384093b1d376f83f0ec4 \ + --hash=sha256:c6adbd6f7f9048e97f31a069e652eb51020a81e80a0ce92dbb9810d21da2409a \ + --hash=sha256:d6a816954d212f40fd15007cd81ab7a6bebb77436d949a6a9ae04af57fc127f3 \ + --hash=sha256:d9103aa4908f0bca43c5911ca067d4e3d01f682dff0c0381a1239bd2bd757984 \ + --hash=sha256:df2724bad7820114a205472994091097d0fa65a3e5fff5a8e688d123fb8c6326 \ + --hash=sha256:e568ae0887ae196340947d9800136e90feaed6b86a261ef01f01b2ba65fc8106 \ + --hash=sha256:e6a704b3baced9182836c7f77b769f23856f3a8f62d0282b1bc1feaf81a86712 \ + --hash=sha256:eefb392f6b5cd43aada49258c5a79be11cb2c8cd3fc3e2d9319a1e0b9f906458 \ + --hash=sha256:f291e3f561f58dddf63a92a5a6a4b8af3a0920b6705d35e2f80e52e86ee238a2 \ + --hash=sha256:fa6439356e591d3249ab0e1778a6f8d8408e993f66dc911914c78208f5310309 + # via + # basicsr + # gfpgan +markdown==3.4.1 \ + --hash=sha256:08fb8465cffd03d10b9dd34a5c3fea908e20391a2a90b88d66362cb05beed186 \ + --hash=sha256:3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff + # via + # tb-nightly + # tensorboard +markupsafe==2.1.1 \ + --hash=sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003 \ + --hash=sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88 \ + --hash=sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5 \ + --hash=sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7 \ + --hash=sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a \ + --hash=sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603 \ + --hash=sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1 \ + --hash=sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135 \ + --hash=sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247 \ + --hash=sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6 \ + --hash=sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601 \ + --hash=sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77 \ + --hash=sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02 \ + --hash=sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e \ + --hash=sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63 \ + --hash=sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f \ + --hash=sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980 \ + --hash=sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b \ + --hash=sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812 \ + --hash=sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff \ + --hash=sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96 \ + --hash=sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1 \ + --hash=sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925 \ + --hash=sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a \ + --hash=sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6 \ + --hash=sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e \ + --hash=sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f \ + --hash=sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4 \ + --hash=sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f \ + --hash=sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3 \ + --hash=sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c \ + --hash=sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a \ + --hash=sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417 \ + --hash=sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a \ + --hash=sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a \ + --hash=sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37 \ + --hash=sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452 \ + --hash=sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933 \ + --hash=sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a \ + --hash=sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7 + # via + # jinja2 + # werkzeug +matplotlib==3.6.2 \ + --hash=sha256:0844523dfaaff566e39dbfa74e6f6dc42e92f7a365ce80929c5030b84caa563a \ + --hash=sha256:0eda9d1b43f265da91fb9ae10d6922b5a986e2234470a524e6b18f14095b20d2 \ + --hash=sha256:168093410b99f647ba61361b208f7b0d64dde1172b5b1796d765cd243cadb501 \ + --hash=sha256:1836f366272b1557a613f8265db220eb8dd883202bbbabe01bad5a4eadfd0c95 \ + --hash=sha256:19d61ee6414c44a04addbe33005ab1f87539d9f395e25afcbe9a3c50ce77c65c \ + --hash=sha256:252957e208c23db72ca9918cb33e160c7833faebf295aaedb43f5b083832a267 \ + --hash=sha256:32d29c8c26362169c80c5718ce367e8c64f4dd068a424e7110df1dd2ed7bd428 \ + --hash=sha256:380d48c15ec41102a2b70858ab1dedfa33eb77b2c0982cb65a200ae67a48e9cb \ + --hash=sha256:3964934731fd7a289a91d315919cf757f293969a4244941ab10513d2351b4e83 \ + --hash=sha256:3cef89888a466228fc4e4b2954e740ce8e9afde7c4315fdd18caa1b8de58ca17 \ + --hash=sha256:4426c74761790bff46e3d906c14c7aab727543293eed5a924300a952e1a3a3c1 \ + --hash=sha256:5024b8ed83d7f8809982d095d8ab0b179bebc07616a9713f86d30cf4944acb73 \ + --hash=sha256:52c2bdd7cd0bf9d5ccdf9c1816568fd4ccd51a4d82419cc5480f548981b47dd0 \ + --hash=sha256:54fa9fe27f5466b86126ff38123261188bed568c1019e4716af01f97a12fe812 \ + --hash=sha256:5ba73aa3aca35d2981e0b31230d58abb7b5d7ca104e543ae49709208d8ce706a \ + --hash=sha256:5e16dcaecffd55b955aa5e2b8a804379789c15987e8ebd2f32f01398a81e975b \ + --hash=sha256:5ecfc6559132116dedfc482d0ad9df8a89dc5909eebffd22f3deb684132d002f \ + --hash=sha256:74153008bd24366cf099d1f1e83808d179d618c4e32edb0d489d526523a94d9f \ + --hash=sha256:78ec3c3412cf277e6252764ee4acbdbec6920cc87ad65862272aaa0e24381eee \ + --hash=sha256:795ad83940732b45d39b82571f87af0081c120feff2b12e748d96bb191169e33 \ + --hash=sha256:7f716b6af94dc1b6b97c46401774472f0867e44595990fe80a8ba390f7a0a028 \ + --hash=sha256:83dc89c5fd728fdb03b76f122f43b4dcee8c61f1489e232d9ad0f58020523e1c \ + --hash=sha256:8a0ae37576ed444fe853709bdceb2be4c7df6f7acae17b8378765bd28e61b3ae \ + --hash=sha256:8a8dbe2cb7f33ff54b16bb5c500673502a35f18ac1ed48625e997d40c922f9cc \ + --hash=sha256:8a9d899953c722b9afd7e88dbefd8fb276c686c3116a43c577cfabf636180558 \ + --hash=sha256:8d0068e40837c1d0df6e3abf1cdc9a34a6d2611d90e29610fa1d2455aeb4e2e5 \ + --hash=sha256:9347cc6822f38db2b1d1ce992f375289670e595a2d1c15961aacbe0977407dfc \ + --hash=sha256:9f335e5625feb90e323d7e3868ec337f7b9ad88b5d633f876e3b778813021dab \ + --hash=sha256:b03fd10a1709d0101c054883b550f7c4c5e974f751e2680318759af005964990 \ + --hash=sha256:b0ca2c60d3966dfd6608f5f8c49b8a0fcf76de6654f2eda55fc6ef038d5a6f27 \ + --hash=sha256:b2604c6450f9dd2c42e223b1f5dca9643a23cfecc9fde4a94bb38e0d2693b136 \ + --hash=sha256:ca0e7a658fbafcddcaefaa07ba8dae9384be2343468a8e011061791588d839fa \ + --hash=sha256:d0e9ac04065a814d4cf2c6791a2ad563f739ae3ae830d716d54245c2b96fead6 \ + --hash=sha256:d50e8c1e571ee39b5dfbc295c11ad65988879f68009dd281a6e1edbc2ff6c18c \ + --hash=sha256:d840adcad7354be6f2ec28d0706528b0026e4c3934cc6566b84eac18633eab1b \ + --hash=sha256:e0bbee6c2a5bf2a0017a9b5e397babb88f230e6f07c3cdff4a4c4bc75ed7c617 \ + --hash=sha256:e5afe0a7ea0e3a7a257907060bee6724a6002b7eec55d0db16fd32409795f3e1 \ + --hash=sha256:e68be81cd8c22b029924b6d0ee814c337c0e706b8d88495a617319e5dd5441c3 \ + --hash=sha256:ec9be0f4826cdb3a3a517509dcc5f87f370251b76362051ab59e42b6b765f8c4 \ + --hash=sha256:f04f97797df35e442ed09f529ad1235d1f1c0f30878e2fe09a2676b71a8801e0 \ + --hash=sha256:f41e57ad63d336fe50d3a67bb8eaa26c09f6dda6a59f76777a99b8ccd8e26aec + # via filterpy +multidict==6.0.2 \ + --hash=sha256:0327292e745a880459ef71be14e709aaea2f783f3537588fb4ed09b6c01bca60 \ + --hash=sha256:041b81a5f6b38244b34dc18c7b6aba91f9cdaf854d9a39e5ff0b58e2b5773b9c \ + --hash=sha256:0556a1d4ea2d949efe5fd76a09b4a82e3a4a30700553a6725535098d8d9fb672 \ + --hash=sha256:05f6949d6169878a03e607a21e3b862eaf8e356590e8bdae4227eedadacf6e51 \ + --hash=sha256:07a017cfa00c9890011628eab2503bee5872f27144936a52eaab449be5eaf032 \ + --hash=sha256:0b9e95a740109c6047602f4db4da9949e6c5945cefbad34a1299775ddc9a62e2 \ + --hash=sha256:19adcfc2a7197cdc3987044e3f415168fc5dc1f720c932eb1ef4f71a2067e08b \ + --hash=sha256:19d9bad105dfb34eb539c97b132057a4e709919ec4dd883ece5838bcbf262b80 \ + --hash=sha256:225383a6603c086e6cef0f2f05564acb4f4d5f019a4e3e983f572b8530f70c88 \ + --hash=sha256:23b616fdc3c74c9fe01d76ce0d1ce872d2d396d8fa8e4899398ad64fb5aa214a \ + --hash=sha256:2957489cba47c2539a8eb7ab32ff49101439ccf78eab724c828c1a54ff3ff98d \ + --hash=sha256:2d36e929d7f6a16d4eb11b250719c39560dd70545356365b494249e2186bc389 \ + --hash=sha256:2e4a0785b84fb59e43c18a015ffc575ba93f7d1dbd272b4cdad9f5134b8a006c \ + --hash=sha256:3368bf2398b0e0fcbf46d85795adc4c259299fec50c1416d0f77c0a843a3eed9 \ + --hash=sha256:373ba9d1d061c76462d74e7de1c0c8e267e9791ee8cfefcf6b0b2495762c370c \ + --hash=sha256:4070613ea2227da2bfb2c35a6041e4371b0af6b0be57f424fe2318b42a748516 \ + --hash=sha256:45183c96ddf61bf96d2684d9fbaf6f3564d86b34cb125761f9a0ef9e36c1d55b \ + --hash=sha256:4571f1beddff25f3e925eea34268422622963cd8dc395bb8778eb28418248e43 \ + --hash=sha256:47e6a7e923e9cada7c139531feac59448f1f47727a79076c0b1ee80274cd8eee \ + --hash=sha256:47fbeedbf94bed6547d3aa632075d804867a352d86688c04e606971595460227 \ + --hash=sha256:497988d6b6ec6ed6f87030ec03280b696ca47dbf0648045e4e1d28b80346560d \ + --hash=sha256:4bae31803d708f6f15fd98be6a6ac0b6958fcf68fda3c77a048a4f9073704aae \ + --hash=sha256:50bd442726e288e884f7be9071016c15a8742eb689a593a0cac49ea093eef0a7 \ + --hash=sha256:514fe2b8d750d6cdb4712346a2c5084a80220821a3e91f3f71eec11cf8d28fd4 \ + --hash=sha256:5774d9218d77befa7b70d836004a768fb9aa4fdb53c97498f4d8d3f67bb9cfa9 \ + --hash=sha256:5fdda29a3c7e76a064f2477c9aab1ba96fd94e02e386f1e665bca1807fc5386f \ + --hash=sha256:5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013 \ + --hash=sha256:626fe10ac87851f4cffecee161fc6f8f9853f0f6f1035b59337a51d29ff3b4f9 \ + --hash=sha256:6701bf8a5d03a43375909ac91b6980aea74b0f5402fbe9428fc3f6edf5d9677e \ + --hash=sha256:684133b1e1fe91eda8fa7447f137c9490a064c6b7f392aa857bba83a28cfb693 \ + --hash=sha256:6f3cdef8a247d1eafa649085812f8a310e728bdf3900ff6c434eafb2d443b23a \ + --hash=sha256:75bdf08716edde767b09e76829db8c1e5ca9d8bb0a8d4bd94ae1eafe3dac5e15 \ + --hash=sha256:7c40b7bbece294ae3a87c1bc2abff0ff9beef41d14188cda94ada7bcea99b0fb \ + --hash=sha256:8004dca28e15b86d1b1372515f32eb6f814bdf6f00952699bdeb541691091f96 \ + --hash=sha256:8064b7c6f0af936a741ea1efd18690bacfbae4078c0c385d7c3f611d11f0cf87 \ + --hash=sha256:89171b2c769e03a953d5969b2f272efa931426355b6c0cb508022976a17fd376 \ + --hash=sha256:8cbf0132f3de7cc6c6ce00147cc78e6439ea736cee6bca4f068bcf892b0fd658 \ + --hash=sha256:9cc57c68cb9139c7cd6fc39f211b02198e69fb90ce4bc4a094cf5fe0d20fd8b0 \ + --hash=sha256:a007b1638e148c3cfb6bf0bdc4f82776cef0ac487191d093cdc316905e504071 \ + --hash=sha256:a2c34a93e1d2aa35fbf1485e5010337c72c6791407d03aa5f4eed920343dd360 \ + --hash=sha256:a45e1135cb07086833ce969555df39149680e5471c04dfd6a915abd2fc3f6dbc \ + --hash=sha256:ac0e27844758d7177989ce406acc6a83c16ed4524ebc363c1f748cba184d89d3 \ + --hash=sha256:aef9cc3d9c7d63d924adac329c33835e0243b5052a6dfcbf7732a921c6e918ba \ + --hash=sha256:b9d153e7f1f9ba0b23ad1568b3b9e17301e23b042c23870f9ee0522dc5cc79e8 \ + --hash=sha256:bfba7c6d5d7c9099ba21f84662b037a0ffd4a5e6b26ac07d19e423e6fdf965a9 \ + --hash=sha256:c207fff63adcdf5a485969131dc70e4b194327666b7e8a87a97fbc4fd80a53b2 \ + --hash=sha256:d0509e469d48940147e1235d994cd849a8f8195e0bca65f8f5439c56e17872a3 \ + --hash=sha256:d16cce709ebfadc91278a1c005e3c17dd5f71f5098bfae1035149785ea6e9c68 \ + --hash=sha256:d48b8ee1d4068561ce8033d2c344cf5232cb29ee1a0206a7b828c79cbc5982b8 \ + --hash=sha256:de989b195c3d636ba000ee4281cd03bb1234635b124bf4cd89eeee9ca8fcb09d \ + --hash=sha256:e07c8e79d6e6fd37b42f3250dba122053fddb319e84b55dd3a8d6446e1a7ee49 \ + --hash=sha256:e2c2e459f7050aeb7c1b1276763364884595d47000c1cddb51764c0d8976e608 \ + --hash=sha256:e5b20e9599ba74391ca0cfbd7b328fcc20976823ba19bc573983a25b32e92b57 \ + --hash=sha256:e875b6086e325bab7e680e4316d667fc0e5e174bb5611eb16b3ea121c8951b86 \ + --hash=sha256:f4f052ee022928d34fe1f4d2bc743f32609fb79ed9c49a1710a5ad6b2198db20 \ + --hash=sha256:fcb91630817aa8b9bc4a74023e4198480587269c272c58b3279875ed7235c293 \ + --hash=sha256:fd9fc9c4849a07f3635ccffa895d57abce554b467d611a5009ba4f39b78a8849 \ + --hash=sha256:feba80698173761cddd814fa22e88b0661e98cb810f9f986c54aa34d281e4937 \ + --hash=sha256:feea820722e69451743a3d56ad74948b68bf456984d63c1a92e8347b7b88452d + # via + # aiohttp + # yarl +networkx==2.8.8 \ + --hash=sha256:230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e \ + --hash=sha256:e435dfa75b1d7195c7b8378c3859f0445cd88c6b0375c181ed66823a9ceb7524 + # via scikit-image +numba==0.56.4 \ + --hash=sha256:0240f9026b015e336069329839208ebd70ec34ae5bfbf402e4fcc8e06197528e \ + --hash=sha256:03634579d10a6129181129de293dd6b5eaabee86881369d24d63f8fe352dd6cb \ + --hash=sha256:03fe94cd31e96185cce2fae005334a8cc712fc2ba7756e52dff8c9400718173f \ + --hash=sha256:0611e6d3eebe4cb903f1a836ffdb2bda8d18482bcd0a0dcc56e79e2aa3fefef5 \ + --hash=sha256:0da583c532cd72feefd8e551435747e0e0fbb3c0530357e6845fcc11e38d6aea \ + --hash=sha256:14dbbabf6ffcd96ee2ac827389afa59a70ffa9f089576500434c34abf9b054a4 \ + --hash=sha256:32d9fef412c81483d7efe0ceb6cf4d3310fde8b624a9cecca00f790573ac96ee \ + --hash=sha256:3a993349b90569518739009d8f4b523dfedd7e0049e6838c0e17435c3e70dcc4 \ + --hash=sha256:3cb1a07a082a61df80a468f232e452d818f5ae254b40c26390054e4e868556e0 \ + --hash=sha256:42f9e1be942b215df7e6cc9948cf9c15bb8170acc8286c063a9e57994ef82fd1 \ + --hash=sha256:4373da9757049db7c90591e9ec55a2e97b2b36ba7ae3bf9c956a513374077470 \ + --hash=sha256:4e08e203b163ace08bad500b0c16f6092b1eb34fd1fce4feaf31a67a3a5ecf3b \ + --hash=sha256:553da2ce74e8862e18a72a209ed3b6d2924403bdd0fb341fa891c6455545ba7c \ + --hash=sha256:720886b852a2d62619ae3900fe71f1852c62db4f287d0c275a60219e1643fc04 \ + --hash=sha256:85dbaed7a05ff96492b69a8900c5ba605551afb9b27774f7f10511095451137c \ + --hash=sha256:8a95ca9cc77ea4571081f6594e08bd272b66060634b8324e99cd1843020364f9 \ + --hash=sha256:91f021145a8081f881996818474ef737800bcc613ffb1e618a655725a0f9e246 \ + --hash=sha256:9f62672145f8669ec08762895fe85f4cf0ead08ce3164667f2b94b2f62ab23c3 \ + --hash=sha256:a12ef323c0f2101529d455cfde7f4135eaa147bad17afe10b48634f796d96abd \ + --hash=sha256:c602d015478b7958408d788ba00a50272649c5186ea8baa6cf71d4a1c761bba1 \ + --hash=sha256:c75e8a5f810ce80a0cfad6e74ee94f9fde9b40c81312949bf356b7304ef20740 \ + --hash=sha256:d0ae9270a7a5cc0ede63cd234b4ff1ce166c7a749b91dbbf45e0000c56d3eade \ + --hash=sha256:d69ad934e13c15684e7887100a8f5f0f61d7a8e57e0fd29d9993210089a5b531 \ + --hash=sha256:dbcc847bac2d225265d054993a7f910fda66e73d6662fe7156452cac0325b073 \ + --hash=sha256:e64d338b504c9394a4a34942df4627e1e6cb07396ee3b49fe7b8d6420aa5104f \ + --hash=sha256:f4cfc3a19d1e26448032049c79fc60331b104f694cf570a9e94f4e2c9d0932bb \ + --hash=sha256:fbfb45e7b297749029cb28694abf437a78695a100e7c2033983d69f0ba2698d4 \ + --hash=sha256:fcdf84ba3ed8124eb7234adfbb8792f311991cbf8aed1cad4b1b1a7ee08380c1 + # via facexlib +numpy==1.23.4 \ + --hash=sha256:0fe563fc8ed9dc4474cbf70742673fc4391d70f4363f917599a7fa99f042d5a8 \ + --hash=sha256:12ac457b63ec8ded85d85c1e17d85efd3c2b0967ca39560b307a35a6703a4735 \ + --hash=sha256:2341f4ab6dba0834b685cce16dad5f9b6606ea8a00e6da154f5dbded70fdc4dd \ + --hash=sha256:296d17aed51161dbad3c67ed6d164e51fcd18dbcd5dd4f9d0a9c6055dce30810 \ + --hash=sha256:488a66cb667359534bc70028d653ba1cf307bae88eab5929cd707c761ff037db \ + --hash=sha256:4d52914c88b4930dafb6c48ba5115a96cbab40f45740239d9f4159c4ba779962 \ + --hash=sha256:5e13030f8793e9ee42f9c7d5777465a560eb78fa7e11b1c053427f2ccab90c79 \ + --hash=sha256:61be02e3bf810b60ab74e81d6d0d36246dbfb644a462458bb53b595791251911 \ + --hash=sha256:7607b598217745cc40f751da38ffd03512d33ec06f3523fb0b5f82e09f6f676d \ + --hash=sha256:7a70a7d3ce4c0e9284e92285cba91a4a3f5214d87ee0e95928f3614a256a1488 \ + --hash=sha256:7ab46e4e7ec63c8a5e6dbf5c1b9e1c92ba23a7ebecc86c336cb7bf3bd2fb10e5 \ + --hash=sha256:8981d9b5619569899666170c7c9748920f4a5005bf79c72c07d08c8a035757b0 \ + --hash=sha256:8c053d7557a8f022ec823196d242464b6955a7e7e5015b719e76003f63f82d0f \ + --hash=sha256:926db372bc4ac1edf81cfb6c59e2a881606b409ddc0d0920b988174b2e2a767f \ + --hash=sha256:95d79ada05005f6f4f337d3bb9de8a7774f259341c70bc88047a1f7b96a4bcb2 \ + --hash=sha256:95de7dc7dc47a312f6feddd3da2500826defdccbc41608d0031276a24181a2c0 \ + --hash=sha256:a0882323e0ca4245eb0a3d0a74f88ce581cc33aedcfa396e415e5bba7bf05f68 \ + --hash=sha256:a8365b942f9c1a7d0f0dc974747d99dd0a0cdfc5949a33119caf05cb314682d3 \ + --hash=sha256:a8aae2fb3180940011b4862b2dd3756616841c53db9734b27bb93813cd79fce6 \ + --hash=sha256:c237129f0e732885c9a6076a537e974160482eab8f10db6292e92154d4c67d71 \ + --hash=sha256:c67b833dbccefe97cdd3f52798d430b9d3430396af7cdb2a0c32954c3ef73894 \ + --hash=sha256:ce03305dd694c4873b9429274fd41fc7eb4e0e4dea07e0af97a933b079a5814f \ + --hash=sha256:d331afac87c92373826af83d2b2b435f57b17a5c74e6268b79355b970626e329 \ + --hash=sha256:dada341ebb79619fe00a291185bba370c9803b1e1d7051610e01ed809ef3a4ba \ + --hash=sha256:ed2cc92af0efad20198638c69bb0fc2870a58dabfba6eb722c933b48556c686c \ + --hash=sha256:f260da502d7441a45695199b4e7fd8ca87db659ba1c78f2bbf31f934fe76ae0e \ + --hash=sha256:f2f390aa4da44454db40a1f0201401f9036e8d578a25f01a6e237cea238337ef \ + --hash=sha256:f76025acc8e2114bb664294a07ede0727aa75d63a06d2fae96bf29a81747e4a7 + # via + # accelerate + # albumentations + # altair + # basicsr + # clean-fid + # contourpy + # diffusers + # facexlib + # filterpy + # gfpgan + # imageio + # matplotlib + # numba + # opencv-python + # opencv-python-headless + # pandas + # pyarrow + # pydeck + # pytorch-lightning + # pywavelets + # qudida + # realesrgan + # scikit-image + # scikit-learn + # scipy + # streamlit + # taming-transformers-rom1504 + # tb-nightly + # tensorboard + # test-tube + # tifffile + # torch-fidelity + # torchmetrics + # torchvision + # transformers +oauthlib==3.2.2 \ + --hash=sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca \ + --hash=sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918 + # via requests-oauthlib +omegaconf==2.2.3 \ + --hash=sha256:59ff9fba864ffbb5fb710b64e8a9ba37c68fa339a2e2bb4f1b648d6901552523 \ + --hash=sha256:d6f2cbf79a992899eb76c6cb1aedfcf0fe7456a8654382edd5ee0c1b199c0657 + # via taming-transformers-rom1504 +opencv-python==4.6.0.66 \ + --hash=sha256:0dc82a3d8630c099d2f3ac1b1aabee164e8188db54a786abb7a4e27eba309440 \ + --hash=sha256:5af8ba35a4fcb8913ffb86e92403e9a656a4bff4a645d196987468f0f8947875 \ + --hash=sha256:6e32af22e3202748bd233ed8f538741876191863882eba44e332d1a34993165b \ + --hash=sha256:c5bfae41ad4031e66bb10ec4a0a2ffd3e514d092652781e8b1ac98d1b59f1158 \ + --hash=sha256:dbdc84a9b4ea2cbae33861652d25093944b9959279200b7ae0badd32439f74de \ + --hash=sha256:e6e448b62afc95c5b58f97e87ef84699e6607fe5c58730a03301c52496005cae \ + --hash=sha256:f482e78de6e7b0b060ff994ffd859bddc3f7f382bb2019ef157b0ea8ca8712f5 + # via + # basicsr + # facexlib + # gfpgan + # realesrgan +opencv-python-headless==4.6.0.66 \ + --hash=sha256:21e70f8b0c04098cdf466d27184fe6c3820aaef944a22548db95099959c95889 \ + --hash=sha256:2c032c373e447c3fc2a670bca20e2918a1205a6e72854df60425fd3f82c78c32 \ + --hash=sha256:3bacd806cce1f1988e58f3d6f761538e0215d6621d316de94c009dc0acbd6ad3 \ + --hash=sha256:d5291d7e10aa2c19cab6fd86f0d61af8617290ecd2d7ffcb051e446868d04cc5 \ + --hash=sha256:e6c069bc963d7e8fcec21b3e33e594d35948badd63eccb2e80f88b0a12102c03 \ + --hash=sha256:eec6281054346103d6af93f173b7c6a206beb2663d3adc04aa3ddc66e85093df \ + --hash=sha256:ffbf26fcd697af996408440a93bc69c49c05a36845771f984156dfbeaa95d497 + # via + # albumentations + # qudida +packaging==21.3 \ + --hash=sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \ + --hash=sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522 + # via + # accelerate + # huggingface-hub + # kornia + # matplotlib + # pytorch-lightning + # scikit-image + # streamlit + # torchmetrics + # transformers +pandas==1.5.1 \ + --hash=sha256:04e51b01d5192499390c0015630975f57836cc95c7411415b499b599b05c0c96 \ + --hash=sha256:05c527c64ee02a47a24031c880ee0ded05af0623163494173204c5b72ddce658 \ + --hash=sha256:0a78e05ec09731c5b3bd7a9805927ea631fe6f6cb06f0e7c63191a9a778d52b4 \ + --hash=sha256:17da7035d9e6f9ea9cdc3a513161f8739b8f8489d31dc932bc5a29a27243f93d \ + --hash=sha256:249cec5f2a5b22096440bd85c33106b6102e0672204abd2d5c014106459804ee \ + --hash=sha256:2c25e5c16ee5c0feb6cf9d982b869eec94a22ddfda9aa2fbed00842cbb697624 \ + --hash=sha256:32e3d9f65606b3f6e76555bfd1d0b68d94aff0929d82010b791b6254bf5a4b96 \ + --hash=sha256:36aa1f8f680d7584e9b572c3203b20d22d697c31b71189322f16811d4ecfecd3 \ + --hash=sha256:5b0c970e2215572197b42f1cff58a908d734503ea54b326412c70d4692256391 \ + --hash=sha256:5cee0c74e93ed4f9d39007e439debcaadc519d7ea5c0afc3d590a3a7b2edf060 \ + --hash=sha256:669c8605dba6c798c1863157aefde959c1796671ffb342b80fcb80a4c0bc4c26 \ + --hash=sha256:66a1ad667b56e679e06ba73bb88c7309b3f48a4c279bd3afea29f65a766e9036 \ + --hash=sha256:683779e5728ac9138406c59a11e09cd98c7d2c12f0a5fc2b9c5eecdbb4a00075 \ + --hash=sha256:6bb391659a747cf4f181a227c3e64b6d197100d53da98dcd766cc158bdd9ec68 \ + --hash=sha256:81f0674fa50b38b6793cd84fae5d67f58f74c2d974d2cb4e476d26eee33343d0 \ + --hash=sha256:927e59c694e039c75d7023465d311277a1fc29ed7236b5746e9dddf180393113 \ + --hash=sha256:932d2d7d3cab44cfa275601c982f30c2d874722ef6396bb539e41e4dc4618ed4 \ + --hash=sha256:a52419d9ba5906db516109660b114faf791136c94c1a636ed6b29cbfff9187ee \ + --hash=sha256:b156a971bc451c68c9e1f97567c94fd44155f073e3bceb1b0d195fd98ed12048 \ + --hash=sha256:bcf1a82b770b8f8c1e495b19a20d8296f875a796c4fe6e91da5ef107f18c5ecb \ + --hash=sha256:cb2a9cf1150302d69bb99861c5cddc9c25aceacb0a4ef5299785d0f5389a3209 \ + --hash=sha256:d8c709f4700573deb2036d240d140934df7e852520f4a584b2a8d5443b71f54d \ + --hash=sha256:db45b94885000981522fb92349e6b76f5aee0924cc5315881239c7859883117d \ + --hash=sha256:ddf46b940ef815af4e542697eaf071f0531449407a7607dd731bf23d156e20a7 \ + --hash=sha256:e675f8fe9aa6c418dc8d3aac0087b5294c1a4527f1eacf9fe5ea671685285454 \ + --hash=sha256:eb7e8cf2cf11a2580088009b43de84cabbf6f5dae94ceb489f28dba01a17cb77 \ + --hash=sha256:f340331a3f411910adfb4bbe46c2ed5872d9e473a783d7f14ecf49bc0869c594 + # via + # altair + # streamlit + # test-tube +pathtools==0.1.2 \ + --hash=sha256:7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0 + # via wandb +pillow==9.3.0 \ + --hash=sha256:03150abd92771742d4a8cd6f2fa6246d847dcd2e332a18d0c15cc75bf6703040 \ + --hash=sha256:073adb2ae23431d3b9bcbcff3fe698b62ed47211d0716b067385538a1b0f28b8 \ + --hash=sha256:0b07fffc13f474264c336298d1b4ce01d9c5a011415b79d4ee5527bb69ae6f65 \ + --hash=sha256:0b7257127d646ff8676ec8a15520013a698d1fdc48bc2a79ba4e53df792526f2 \ + --hash=sha256:12ce4932caf2ddf3e41d17fc9c02d67126935a44b86df6a206cf0d7161548627 \ + --hash=sha256:15c42fb9dea42465dfd902fb0ecf584b8848ceb28b41ee2b58f866411be33f07 \ + --hash=sha256:18498994b29e1cf86d505edcb7edbe814d133d2232d256db8c7a8ceb34d18cef \ + --hash=sha256:1c7c8ae3864846fc95f4611c78129301e203aaa2af813b703c55d10cc1628535 \ + --hash=sha256:22b012ea2d065fd163ca096f4e37e47cd8b59cf4b0fd47bfca6abb93df70b34c \ + --hash=sha256:276a5ca930c913f714e372b2591a22c4bd3b81a418c0f6635ba832daec1cbcfc \ + --hash=sha256:2e0918e03aa0c72ea56edbb00d4d664294815aa11291a11504a377ea018330d3 \ + --hash=sha256:3033fbe1feb1b59394615a1cafaee85e49d01b51d54de0cbf6aa8e64182518a1 \ + --hash=sha256:3168434d303babf495d4ba58fc22d6604f6e2afb97adc6a423e917dab828939c \ + --hash=sha256:32a44128c4bdca7f31de5be641187367fe2a450ad83b833ef78910397db491aa \ + --hash=sha256:3dd6caf940756101205dffc5367babf288a30043d35f80936f9bfb37f8355b32 \ + --hash=sha256:40e1ce476a7804b0fb74bcfa80b0a2206ea6a882938eaba917f7a0f004b42502 \ + --hash=sha256:41e0051336807468be450d52b8edd12ac60bebaa97fe10c8b660f116e50b30e4 \ + --hash=sha256:4390e9ce199fc1951fcfa65795f239a8a4944117b5935a9317fb320e7767b40f \ + --hash=sha256:502526a2cbfa431d9fc2a079bdd9061a2397b842bb6bc4239bb176da00993812 \ + --hash=sha256:51e0e543a33ed92db9f5ef69a0356e0b1a7a6b6a71b80df99f1d181ae5875636 \ + --hash=sha256:57751894f6618fd4308ed8e0c36c333e2f5469744c34729a27532b3db106ee20 \ + --hash=sha256:5d77adcd56a42d00cc1be30843d3426aa4e660cab4a61021dc84467123f7a00c \ + --hash=sha256:655a83b0058ba47c7c52e4e2df5ecf484c1b0b0349805896dd350cbc416bdd91 \ + --hash=sha256:68943d632f1f9e3dce98908e873b3a090f6cba1cbb1b892a9e8d97c938871fbe \ + --hash=sha256:6c738585d7a9961d8c2821a1eb3dcb978d14e238be3d70f0a706f7fa9316946b \ + --hash=sha256:73bd195e43f3fadecfc50c682f5055ec32ee2c933243cafbfdec69ab1aa87cad \ + --hash=sha256:772a91fc0e03eaf922c63badeca75e91baa80fe2f5f87bdaed4280662aad25c9 \ + --hash=sha256:77ec3e7be99629898c9a6d24a09de089fa5356ee408cdffffe62d67bb75fdd72 \ + --hash=sha256:7db8b751ad307d7cf238f02101e8e36a128a6cb199326e867d1398067381bff4 \ + --hash=sha256:801ec82e4188e935c7f5e22e006d01611d6b41661bba9fe45b60e7ac1a8f84de \ + --hash=sha256:82409ffe29d70fd733ff3c1025a602abb3e67405d41b9403b00b01debc4c9a29 \ + --hash=sha256:828989c45c245518065a110434246c44a56a8b2b2f6347d1409c787e6e4651ee \ + --hash=sha256:829f97c8e258593b9daa80638aee3789b7df9da5cf1336035016d76f03b8860c \ + --hash=sha256:871b72c3643e516db4ecf20efe735deb27fe30ca17800e661d769faab45a18d7 \ + --hash=sha256:89dca0ce00a2b49024df6325925555d406b14aa3efc2f752dbb5940c52c56b11 \ + --hash=sha256:90fb88843d3902fe7c9586d439d1e8c05258f41da473952aa8b328d8b907498c \ + --hash=sha256:97aabc5c50312afa5e0a2b07c17d4ac5e865b250986f8afe2b02d772567a380c \ + --hash=sha256:9aaa107275d8527e9d6e7670b64aabaaa36e5b6bd71a1015ddd21da0d4e06448 \ + --hash=sha256:9f47eabcd2ded7698106b05c2c338672d16a6f2a485e74481f524e2a23c2794b \ + --hash=sha256:a0a06a052c5f37b4ed81c613a455a81f9a3a69429b4fd7bb913c3fa98abefc20 \ + --hash=sha256:ab388aaa3f6ce52ac1cb8e122c4bd46657c15905904b3120a6248b5b8b0bc228 \ + --hash=sha256:ad58d27a5b0262c0c19b47d54c5802db9b34d38bbf886665b626aff83c74bacd \ + --hash=sha256:ae5331c23ce118c53b172fa64a4c037eb83c9165aba3a7ba9ddd3ec9fa64a699 \ + --hash=sha256:af0372acb5d3598f36ec0914deed2a63f6bcdb7b606da04dc19a88d31bf0c05b \ + --hash=sha256:afa4107d1b306cdf8953edde0534562607fe8811b6c4d9a486298ad31de733b2 \ + --hash=sha256:b03ae6f1a1878233ac620c98f3459f79fd77c7e3c2b20d460284e1fb370557d4 \ + --hash=sha256:b0915e734b33a474d76c28e07292f196cdf2a590a0d25bcc06e64e545f2d146c \ + --hash=sha256:b4012d06c846dc2b80651b120e2cdd787b013deb39c09f407727ba90015c684f \ + --hash=sha256:b472b5ea442148d1c3e2209f20f1e0bb0eb556538690fa70b5e1f79fa0ba8dc2 \ + --hash=sha256:b59430236b8e58840a0dfb4099a0e8717ffb779c952426a69ae435ca1f57210c \ + --hash=sha256:b90f7616ea170e92820775ed47e136208e04c967271c9ef615b6fbd08d9af0e3 \ + --hash=sha256:b9a65733d103311331875c1dca05cb4606997fd33d6acfed695b1232ba1df193 \ + --hash=sha256:bac18ab8d2d1e6b4ce25e3424f709aceef668347db8637c2296bcf41acb7cf48 \ + --hash=sha256:bca31dd6014cb8b0b2db1e46081b0ca7d936f856da3b39744aef499db5d84d02 \ + --hash=sha256:be55f8457cd1eac957af0c3f5ece7bc3f033f89b114ef30f710882717670b2a8 \ + --hash=sha256:c7025dce65566eb6e89f56c9509d4f628fddcedb131d9465cacd3d8bac337e7e \ + --hash=sha256:c935a22a557a560108d780f9a0fc426dd7459940dc54faa49d83249c8d3e760f \ + --hash=sha256:dbb8e7f2abee51cef77673be97760abff1674ed32847ce04b4af90f610144c7b \ + --hash=sha256:e6ea6b856a74d560d9326c0f5895ef8050126acfdc7ca08ad703eb0081e82b74 \ + --hash=sha256:ebf2029c1f464c59b8bdbe5143c79fa2045a581ac53679733d3a91d400ff9efb \ + --hash=sha256:f1ff2ee69f10f13a9596480335f406dd1f70c3650349e2be67ca3139280cade0 + # via + # basicsr + # clean-fid + # diffusers + # facexlib + # imageio + # k-diffusion + # matplotlib + # realesrgan + # scikit-image + # streamlit + # torch-fidelity + # torchvision +promise==2.3 \ + --hash=sha256:dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0 + # via wandb +protobuf==3.19.6 \ + --hash=sha256:010be24d5a44be7b0613750ab40bc8b8cedc796db468eae6c779b395f50d1fa1 \ + --hash=sha256:0469bc66160180165e4e29de7f445e57a34ab68f49357392c5b2f54c656ab25e \ + --hash=sha256:0c0714b025ec057b5a7600cb66ce7c693815f897cfda6d6efb58201c472e3437 \ + --hash=sha256:11478547958c2dfea921920617eb457bc26867b0d1aa065ab05f35080c5d9eb6 \ + --hash=sha256:14082457dc02be946f60b15aad35e9f5c69e738f80ebbc0900a19bc83734a5a4 \ + --hash=sha256:2b2d2913bcda0e0ec9a784d194bc490f5dc3d9d71d322d070b11a0ade32ff6ba \ + --hash=sha256:30a15015d86b9c3b8d6bf78d5b8c7749f2512c29f168ca259c9d7727604d0e39 \ + --hash=sha256:30f5370d50295b246eaa0296533403961f7e64b03ea12265d6dfce3a391d8992 \ + --hash=sha256:347b393d4dd06fb93a77620781e11c058b3b0a5289262f094379ada2920a3730 \ + --hash=sha256:4bc98de3cdccfb5cd769620d5785b92c662b6bfad03a202b83799b6ed3fa1fa7 \ + --hash=sha256:5057c64052a1f1dd7d4450e9aac25af6bf36cfbfb3a1cd89d16393a036c49157 \ + --hash=sha256:559670e006e3173308c9254d63facb2c03865818f22204037ab76f7a0ff70b5f \ + --hash=sha256:5a0d7539a1b1fb7e76bf5faa0b44b30f812758e989e59c40f77a7dab320e79b9 \ + --hash=sha256:5f5540d57a43042389e87661c6eaa50f47c19c6176e8cf1c4f287aeefeccb5c4 \ + --hash=sha256:7a552af4dc34793803f4e735aabe97ffc45962dfd3a237bdde242bff5a3de684 \ + --hash=sha256:84a04134866861b11556a82dd91ea6daf1f4925746b992f277b84013a7cc1229 \ + --hash=sha256:878b4cd080a21ddda6ac6d1e163403ec6eea2e206cf225982ae04567d39be7b0 \ + --hash=sha256:90b0d02163c4e67279ddb6dc25e063db0130fc299aefabb5d481053509fae5c8 \ + --hash=sha256:91d5f1e139ff92c37e0ff07f391101df77e55ebb97f46bbc1535298d72019462 \ + --hash=sha256:a8ce5ae0de28b51dff886fb922012dad885e66176663950cb2344c0439ecb473 \ + --hash=sha256:aa3b82ca1f24ab5326dcf4ea00fcbda703e986b22f3d27541654f749564d778b \ + --hash=sha256:bb6776bd18f01ffe9920e78e03a8676530a5d6c5911934c6a1ac6eb78973ecb6 \ + --hash=sha256:bbf5cea5048272e1c60d235c7bd12ce1b14b8a16e76917f371c718bd3005f045 \ + --hash=sha256:c0ccd3f940fe7f3b35a261b1dd1b4fc850c8fde9f74207015431f174be5976b3 \ + --hash=sha256:d0b635cefebd7a8a0f92020562dead912f81f401af7e71f16bf9506ff3bdbb38 + # via + # streamlit + # tb-nightly + # tensorboard + # wandb +psutil==5.9.3 \ + --hash=sha256:07d880053c6461c9b89cd5d4808f3b8336665fa3acdefd6777662c5ed73a851a \ + --hash=sha256:12500d761ac091f2426567f19f95fd3f15a197d96befb44a5c1e3cbe6db5752c \ + --hash=sha256:1b540599481c73408f6b392cdffef5b01e8ff7a2ac8caae0a91b8222e88e8f1e \ + --hash=sha256:35feafe232d1aaf35d51bd42790cbccb882456f9f18cdc411532902370d660df \ + --hash=sha256:3a7826e68b0cf4ce2c1ee385d64eab7d70e3133171376cac53d7c1790357ec8f \ + --hash=sha256:46907fa62acaac364fff0b8a9da7b360265d217e4fdeaca0a2397a6883dffba2 \ + --hash=sha256:4bd4854f0c83aa84a5a40d3b5d0eb1f3c128f4146371e03baed4589fe4f3c931 \ + --hash=sha256:538fcf6ae856b5e12d13d7da25ad67f02113c96f5989e6ad44422cb5994ca7fc \ + --hash=sha256:547ebb02031fdada635452250ff39942db8310b5c4a8102dfe9384ee5791e650 \ + --hash=sha256:5e8b50241dd3c2ed498507f87a6602825073c07f3b7e9560c58411c14fe1e1c9 \ + --hash=sha256:5fa88e3d5d0b480602553d362c4b33a63e0c40bfea7312a7bf78799e01e0810b \ + --hash=sha256:68fa227c32240c52982cb931801c5707a7f96dd8927f9102d6c7771ea1ff5698 \ + --hash=sha256:6ced1ad823ecfa7d3ce26fe8aa4996e2e53fb49b7fed8ad81c80958501ec0619 \ + --hash=sha256:71b1206e7909792d16933a0d2c1c7f04ae196186c51ba8567abae1d041f06dcb \ + --hash=sha256:767ef4fa33acda16703725c0473a91e1832d296c37c63896c7153ba81698f1ab \ + --hash=sha256:7ccfcdfea4fc4b0a02ca2c31de7fcd186beb9cff8207800e14ab66f79c773af6 \ + --hash=sha256:7e4939ff75149b67aef77980409f156f0082fa36accc475d45c705bb00c6c16a \ + --hash=sha256:828c9dc9478b34ab96be75c81942d8df0c2bb49edbb481f597314d92b6441d89 \ + --hash=sha256:8a4e07611997acf178ad13b842377e3d8e9d0a5bac43ece9bfc22a96735d9a4f \ + --hash=sha256:941a6c2c591da455d760121b44097781bc970be40e0e43081b9139da485ad5b7 \ + --hash=sha256:9a4af6ed1094f867834f5f07acd1250605a0874169a5fcadbcec864aec2496a6 \ + --hash=sha256:9ec296f565191f89c48f33d9544d8d82b0d2af7dd7d2d4e6319f27a818f8d1cc \ + --hash=sha256:9ec95df684583b5596c82bb380c53a603bb051cf019d5c849c47e117c5064395 \ + --hash=sha256:a04a1836894c8279e5e0a0127c0db8e198ca133d28be8a2a72b4db16f6cf99c1 \ + --hash=sha256:a3d81165b8474087bb90ec4f333a638ccfd1d69d34a9b4a1a7eaac06648f9fbe \ + --hash=sha256:b4a247cd3feaae39bb6085fcebf35b3b8ecd9b022db796d89c8f05067ca28e71 \ + --hash=sha256:ba38cf9984d5462b506e239cf4bc24e84ead4b1d71a3be35e66dad0d13ded7c1 \ + --hash=sha256:beb57d8a1ca0ae0eb3d08ccaceb77e1a6d93606f0e1754f0d60a6ebd5c288837 \ + --hash=sha256:d266cd05bd4a95ca1c2b9b5aac50d249cf7c94a542f47e0b22928ddf8b80d1ef \ + --hash=sha256:d8c3cc6bb76492133474e130a12351a325336c01c96a24aae731abf5a47fe088 \ + --hash=sha256:db8e62016add2235cc87fb7ea000ede9e4ca0aa1f221b40cef049d02d5d2593d \ + --hash=sha256:e7507f6c7b0262d3e7b0eeda15045bf5881f4ada70473b87bc7b7c93b992a7d7 \ + --hash=sha256:ed15edb14f52925869250b1375f0ff58ca5c4fa8adefe4883cfb0737d32f5c02 \ + --hash=sha256:f57d63a2b5beaf797b87024d018772439f9d3103a395627b77d17a8d72009543 \ + --hash=sha256:fa5e32c7d9b60b2528108ade2929b115167fe98d59f89555574715054f50fa31 \ + --hash=sha256:fe79b4ad4836e3da6c4650cb85a663b3a51aef22e1a829c384e18fae87e5e727 + # via + # accelerate + # wandb +pyarrow==10.0.0 \ + --hash=sha256:10e031794d019425d34406edffe7e32157359e9455f9edb97a1732f8dabf802f \ + --hash=sha256:25f51dca780fc22cfd7ac30f6bdfe70eb99145aee9acfda987f2c49955d66ed9 \ + --hash=sha256:2d326a9d47ac237d81b8c4337e9d30a0b361835b536fc7ea53991455ce761fbd \ + --hash=sha256:3d2694f08c8d4482d14e3798ff036dbd81ae6b1c47948f52515e1aa90fbec3f0 \ + --hash=sha256:4051664d354b14939b5da35cfa77821ade594bc1cf56dd2032b3068c96697d74 \ + --hash=sha256:511735040b83f2993f78d7fb615e7b88253d75f41500e87e587c40156ff88120 \ + --hash=sha256:65d4a312f3ced318423704355acaccc7f7bdfe242472e59bdd54aa0f8837adf8 \ + --hash=sha256:68ccb82c04c0f7abf7a95541d5e9d9d94290fc66a2d36d3f6ea0777f40c15654 \ + --hash=sha256:69b8a1fd99201178799b02f18498633847109b701856ec762f314352a431b7d0 \ + --hash=sha256:758284e1ebd3f2a9abb30544bfec28d151a398bb7c0f2578cbca5ee5b000364a \ + --hash=sha256:7be7f42f713068293308c989a4a3a2de03b70199bdbe753901c6595ff8640c64 \ + --hash=sha256:7ce026274cd5d9934cd3694e89edecde4e036018bbc6cb735fd33b9e967e7d47 \ + --hash=sha256:7e6b837cc44cd62a0e280c8fc4de94ebce503d6d1190e6e94157ab49a8bea67b \ + --hash=sha256:b153b05765393557716e3729cf988442b3ae4f5567364ded40d58c07feed27c2 \ + --hash=sha256:b3e3148468d3eed3779d68241f1d13ed4ee7cca4c6dbc7c07e5062b93ad4da33 \ + --hash=sha256:b45f969ed924282e9d4ede38f3430630d809c36dbff65452cabce03141943d28 \ + --hash=sha256:b9f63ceb8346aac0bcb487fafe9faca642ad448ca649fcf66a027c6e120cbc12 \ + --hash=sha256:c79300e1a3e23f2bf4defcf0d70ff5ea25ef6ebf6f121d8670ee14bb662bb7ca \ + --hash=sha256:d45a59e2f47826544c0ca70bc0f7ed8ffa5ad23f93b0458230c7e983bcad1acf \ + --hash=sha256:e4c6da9f9e1ff96781ee1478f7cc0860e66c23584887b8e297c4b9905c3c9066 \ + --hash=sha256:f329951d56b3b943c353f7b27c894e02367a7efbb9fef7979c6b24e02dbfcf55 \ + --hash=sha256:f76157d9579571c865860e5fd004537c03e21139db76692d96fd8a186adab1f2 + # via streamlit +pyasn1==0.4.8 \ + --hash=sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d \ + --hash=sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba + # via + # pyasn1-modules + # rsa +pyasn1-modules==0.2.8 \ + --hash=sha256:905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e \ + --hash=sha256:a50b808ffeb97cb3601dd25981f6b016cbb3d31fbf57a8b8a87428e6158d0c74 + # via google-auth +pydeck==0.8.0 \ + --hash=sha256:07edde833f7cfcef6749124351195aa7dcd24663d4909fd7898dbd0b6fbc01ec \ + --hash=sha256:a8fa7757c6f24bba033af39db3147cb020eef44012ba7e60d954de187f9ed4d5 + # via streamlit +pydeprecate==0.3.2 \ + --hash=sha256:d481116cc5d7f6c473e7c4be820efdd9b90a16b594b350276e9e66a6cb5bdd29 \ + --hash=sha256:ed86b68ed837e6465245904a3de2f59bf9eef78ac7a2502ee280533d04802457 + # via pytorch-lightning +pygments==2.13.0 \ + --hash=sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1 \ + --hash=sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42 + # via rich +pympler==1.0.1 \ + --hash=sha256:993f1a3599ca3f4fcd7160c7545ad06310c9e12f70174ae7ae8d4e25f6c5d3fa \ + --hash=sha256:d260dda9ae781e1eab6ea15bacb84015849833ba5555f141d2d9b7b7473b307d + # via streamlit +pyparsing==3.0.9 \ + --hash=sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \ + --hash=sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc + # via + # matplotlib + # packaging +pyreadline3==3.4.1 \ + --hash=sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae \ + --hash=sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb + # via -r requirements.in +pyrsistent==0.19.2 \ + --hash=sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed \ + --hash=sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb \ + --hash=sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a \ + --hash=sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95 \ + --hash=sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712 \ + --hash=sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73 \ + --hash=sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41 \ + --hash=sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b \ + --hash=sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78 \ + --hash=sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab \ + --hash=sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308 \ + --hash=sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425 \ + --hash=sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2 \ + --hash=sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e \ + --hash=sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6 \ + --hash=sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2 \ + --hash=sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a \ + --hash=sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291 \ + --hash=sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584 \ + --hash=sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a \ + --hash=sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0 \ + --hash=sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770 + # via jsonschema +python-dateutil==2.8.2 \ + --hash=sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86 \ + --hash=sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9 + # via + # matplotlib + # pandas + # streamlit +python-engineio==4.3.4 \ + --hash=sha256:7454314a529bba20e745928601ffeaf101c1b5aca9a6c4e48ad397803d10ea0c \ + --hash=sha256:d8d8b072799c36cadcdcc2b40d2a560ce09797ab3d2d596b2ad519a5e4df19ae + # via python-socketio +python-socketio==5.7.2 \ + --hash=sha256:92395062d9db3c13d30e7cdedaa0e1330bba78505645db695415f9a3c628d097 \ + --hash=sha256:d9a9f047e6fdd306c852fbac36516f4b495c2096f8ad9ceb8803b8e5ff5622e3 + # via flask-socketio +pytorch-lightning==1.7.7 \ + --hash=sha256:27c2dd01a18db2415168e3fa3775ccb5a1fa1e2961a50439ad9365507fe9d4ae \ + --hash=sha256:4438b8284d7f7fdb06cf3566a7b5b6f102ac8971cf7bb6d3f1b1de64628241f3 + # via taming-transformers-rom1504 +pytz==2022.6 \ + --hash=sha256:222439474e9c98fced559f1709d89e6c9cbf8d79c794ff3eb9f8800064291427 \ + --hash=sha256:e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2 + # via pandas +pytz-deprecation-shim==0.1.0.post0 \ + --hash=sha256:8314c9692a636c8eb3bda879b9f119e350e93223ae83e70e80c31675a0fdc1a6 \ + --hash=sha256:af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d + # via tzlocal +pywavelets==1.4.1 \ + --hash=sha256:030670a213ee8fefa56f6387b0c8e7d970c7f7ad6850dc048bd7c89364771b9b \ + --hash=sha256:058b46434eac4c04dd89aeef6fa39e4b6496a951d78c500b6641fd5b2cc2f9f4 \ + --hash=sha256:231b0e0b1cdc1112f4af3c24eea7bf181c418d37922a67670e9bf6cfa2d544d4 \ + --hash=sha256:23bafd60350b2b868076d976bdd92f950b3944f119b4754b1d7ff22b7acbf6c6 \ + --hash=sha256:3f19327f2129fb7977bc59b966b4974dfd72879c093e44a7287500a7032695de \ + --hash=sha256:47cac4fa25bed76a45bc781a293c26ac63e8eaae9eb8f9be961758d22b58649c \ + --hash=sha256:578af438a02a86b70f1975b546f68aaaf38f28fb082a61ceb799816049ed18aa \ + --hash=sha256:6437af3ddf083118c26d8f97ab43b0724b956c9f958e9ea788659f6a2834ba93 \ + --hash=sha256:64c6bac6204327321db30b775060fbe8e8642316e6bff17f06b9f34936f88875 \ + --hash=sha256:67a0d28a08909f21400cb09ff62ba94c064882ffd9e3a6b27880a111211d59bd \ + --hash=sha256:71ab30f51ee4470741bb55fc6b197b4a2b612232e30f6ac069106f0156342356 \ + --hash=sha256:7231461d7a8eb3bdc7aa2d97d9f67ea5a9f8902522818e7e2ead9c2b3408eeb1 \ + --hash=sha256:754fa5085768227c4f4a26c1e0c78bc509a266d9ebd0eb69a278be7e3ece943c \ + --hash=sha256:7ab8d9db0fe549ab2ee0bea61f614e658dd2df419d5b75fba47baa761e95f8f2 \ + --hash=sha256:875d4d620eee655346e3589a16a73790cf9f8917abba062234439b594e706784 \ + --hash=sha256:88aa5449e109d8f5e7f0adef85f7f73b1ab086102865be64421a3a3d02d277f4 \ + --hash=sha256:91d3d393cffa634f0e550d88c0e3f217c96cfb9e32781f2960876f1808d9b45b \ + --hash=sha256:9cb5ca8d11d3f98e89e65796a2125be98424d22e5ada360a0dbabff659fca0fc \ + --hash=sha256:ab7da0a17822cd2f6545626946d3b82d1a8e106afc4b50e3387719ba01c7b966 \ + --hash=sha256:ad987748f60418d5f4138db89d82ba0cb49b086e0cbb8fd5c3ed4a814cfb705e \ + --hash=sha256:d0e56cd7a53aed3cceca91a04d62feb3a0aca6725b1912d29546c26f6ea90426 \ + --hash=sha256:d854411eb5ee9cb4bc5d0e66e3634aeb8f594210f6a1bed96dbed57ec70f181c \ + --hash=sha256:da7b9c006171be1f9ddb12cc6e0d3d703b95f7f43cb5e2c6f5f15d3233fcf202 \ + --hash=sha256:daf0aa79842b571308d7c31a9c43bc99a30b6328e6aea3f50388cd8f69ba7dbc \ + --hash=sha256:de7cd61a88a982edfec01ea755b0740e94766e00a1ceceeafef3ed4c85c605cd + # via scikit-image +pyyaml==6.0 \ + --hash=sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf \ + --hash=sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293 \ + --hash=sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b \ + --hash=sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57 \ + --hash=sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b \ + --hash=sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4 \ + --hash=sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07 \ + --hash=sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba \ + --hash=sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9 \ + --hash=sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287 \ + --hash=sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513 \ + --hash=sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0 \ + --hash=sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782 \ + --hash=sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0 \ + --hash=sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92 \ + --hash=sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f \ + --hash=sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2 \ + --hash=sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc \ + --hash=sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1 \ + --hash=sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c \ + --hash=sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86 \ + --hash=sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4 \ + --hash=sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c \ + --hash=sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34 \ + --hash=sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b \ + --hash=sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d \ + --hash=sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c \ + --hash=sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb \ + --hash=sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7 \ + --hash=sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737 \ + --hash=sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3 \ + --hash=sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d \ + --hash=sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358 \ + --hash=sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53 \ + --hash=sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78 \ + --hash=sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803 \ + --hash=sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a \ + --hash=sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f \ + --hash=sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174 \ + --hash=sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5 + # via + # accelerate + # albumentations + # basicsr + # gfpgan + # huggingface-hub + # omegaconf + # pytorch-lightning + # transformers + # wandb +qudida==0.0.4 \ + --hash=sha256:4519714c40cd0f2e6c51e1735edae8f8b19f4efe1f33be13e9d644ca5f736dd6 \ + --hash=sha256:db198e2887ab0c9aa0023e565afbff41dfb76b361f85fd5e13f780d75ba18cc8 + # via albumentations +realesrgan==0.3.0 \ + --hash=sha256:0d36da96ab9f447071606e91f502ccdfb08f80cc82ee4f8caf720c7745ccec7e \ + --hash=sha256:59336c16c30dd5130eff350dd27424acb9b7281d18a6810130e265606c9a6088 + # via -r requirements.in +regex==2022.10.31 \ + --hash=sha256:052b670fafbe30966bbe5d025e90b2a491f85dfe5b2583a163b5e60a85a321ad \ + --hash=sha256:0653d012b3bf45f194e5e6a41df9258811ac8fc395579fa82958a8b76286bea4 \ + --hash=sha256:0a069c8483466806ab94ea9068c34b200b8bfc66b6762f45a831c4baaa9e8cdd \ + --hash=sha256:0cf0da36a212978be2c2e2e2d04bdff46f850108fccc1851332bcae51c8907cc \ + --hash=sha256:131d4be09bea7ce2577f9623e415cab287a3c8e0624f778c1d955ec7c281bd4d \ + --hash=sha256:144486e029793a733e43b2e37df16a16df4ceb62102636ff3db6033994711066 \ + --hash=sha256:1ddf14031a3882f684b8642cb74eea3af93a2be68893901b2b387c5fd92a03ec \ + --hash=sha256:1eba476b1b242620c266edf6325b443a2e22b633217a9835a52d8da2b5c051f9 \ + --hash=sha256:20f61c9944f0be2dc2b75689ba409938c14876c19d02f7585af4460b6a21403e \ + --hash=sha256:22960019a842777a9fa5134c2364efaed5fbf9610ddc5c904bd3a400973b0eb8 \ + --hash=sha256:22e7ebc231d28393dfdc19b185d97e14a0f178bedd78e85aad660e93b646604e \ + --hash=sha256:23cbb932cc53a86ebde0fb72e7e645f9a5eec1a5af7aa9ce333e46286caef783 \ + --hash=sha256:29c04741b9ae13d1e94cf93fca257730b97ce6ea64cfe1eba11cf9ac4e85afb6 \ + --hash=sha256:2bde29cc44fa81c0a0c8686992c3080b37c488df167a371500b2a43ce9f026d1 \ + --hash=sha256:2cdc55ca07b4e70dda898d2ab7150ecf17c990076d3acd7a5f3b25cb23a69f1c \ + --hash=sha256:370f6e97d02bf2dd20d7468ce4f38e173a124e769762d00beadec3bc2f4b3bc4 \ + --hash=sha256:395161bbdbd04a8333b9ff9763a05e9ceb4fe210e3c7690f5e68cedd3d65d8e1 \ + --hash=sha256:44136355e2f5e06bf6b23d337a75386371ba742ffa771440b85bed367c1318d1 \ + --hash=sha256:44a6c2f6374e0033873e9ed577a54a3602b4f609867794c1a3ebba65e4c93ee7 \ + --hash=sha256:4919899577ba37f505aaebdf6e7dc812d55e8f097331312db7f1aab18767cce8 \ + --hash=sha256:4b4b1fe58cd102d75ef0552cf17242705ce0759f9695334a56644ad2d83903fe \ + --hash=sha256:4bdd56ee719a8f751cf5a593476a441c4e56c9b64dc1f0f30902858c4ef8771d \ + --hash=sha256:4bf41b8b0a80708f7e0384519795e80dcb44d7199a35d52c15cc674d10b3081b \ + --hash=sha256:4cac3405d8dda8bc6ed499557625585544dd5cbf32072dcc72b5a176cb1271c8 \ + --hash=sha256:4fe7fda2fe7c8890d454f2cbc91d6c01baf206fbc96d89a80241a02985118c0c \ + --hash=sha256:50921c140561d3db2ab9f5b11c5184846cde686bb5a9dc64cae442926e86f3af \ + --hash=sha256:5217c25229b6a85049416a5c1e6451e9060a1edcf988641e309dbe3ab26d3e49 \ + --hash=sha256:5352bea8a8f84b89d45ccc503f390a6be77917932b1c98c4cdc3565137acc714 \ + --hash=sha256:542e3e306d1669b25936b64917285cdffcd4f5c6f0247636fec037187bd93542 \ + --hash=sha256:543883e3496c8b6d58bd036c99486c3c8387c2fc01f7a342b760c1ea3158a318 \ + --hash=sha256:586b36ebda81e6c1a9c5a5d0bfdc236399ba6595e1397842fd4a45648c30f35e \ + --hash=sha256:597f899f4ed42a38df7b0e46714880fb4e19a25c2f66e5c908805466721760f5 \ + --hash=sha256:5a260758454580f11dd8743fa98319bb046037dfab4f7828008909d0aa5292bc \ + --hash=sha256:5aefb84a301327ad115e9d346c8e2760009131d9d4b4c6b213648d02e2abe144 \ + --hash=sha256:5e6a5567078b3eaed93558842346c9d678e116ab0135e22eb72db8325e90b453 \ + --hash=sha256:5ff525698de226c0ca743bfa71fc6b378cda2ddcf0d22d7c37b1cc925c9650a5 \ + --hash=sha256:61edbca89aa3f5ef7ecac8c23d975fe7261c12665f1d90a6b1af527bba86ce61 \ + --hash=sha256:659175b2144d199560d99a8d13b2228b85e6019b6e09e556209dfb8c37b78a11 \ + --hash=sha256:6a9a19bea8495bb419dc5d38c4519567781cd8d571c72efc6aa959473d10221a \ + --hash=sha256:6b30bddd61d2a3261f025ad0f9ee2586988c6a00c780a2fb0a92cea2aa702c54 \ + --hash=sha256:6ffd55b5aedc6f25fd8d9f905c9376ca44fcf768673ffb9d160dd6f409bfda73 \ + --hash=sha256:702d8fc6f25bbf412ee706bd73019da5e44a8400861dfff7ff31eb5b4a1276dc \ + --hash=sha256:74bcab50a13960f2a610cdcd066e25f1fd59e23b69637c92ad470784a51b1347 \ + --hash=sha256:75f591b2055523fc02a4bbe598aa867df9e953255f0b7f7715d2a36a9c30065c \ + --hash=sha256:763b64853b0a8f4f9cfb41a76a4a85a9bcda7fdda5cb057016e7706fde928e66 \ + --hash=sha256:76c598ca73ec73a2f568e2a72ba46c3b6c8690ad9a07092b18e48ceb936e9f0c \ + --hash=sha256:78d680ef3e4d405f36f0d6d1ea54e740366f061645930072d39bca16a10d8c93 \ + --hash=sha256:7b280948d00bd3973c1998f92e22aa3ecb76682e3a4255f33e1020bd32adf443 \ + --hash=sha256:7db345956ecce0c99b97b042b4ca7326feeec6b75facd8390af73b18e2650ffc \ + --hash=sha256:7dbdce0c534bbf52274b94768b3498abdf675a691fec5f751b6057b3030f34c1 \ + --hash=sha256:7ef6b5942e6bfc5706301a18a62300c60db9af7f6368042227ccb7eeb22d0892 \ + --hash=sha256:7f5a3ffc731494f1a57bd91c47dc483a1e10048131ffb52d901bfe2beb6102e8 \ + --hash=sha256:8a45b6514861916c429e6059a55cf7db74670eaed2052a648e3e4d04f070e001 \ + --hash=sha256:8ad241da7fac963d7573cc67a064c57c58766b62a9a20c452ca1f21050868dfa \ + --hash=sha256:8b0886885f7323beea6f552c28bff62cbe0983b9fbb94126531693ea6c5ebb90 \ + --hash=sha256:8ca88da1bd78990b536c4a7765f719803eb4f8f9971cc22d6ca965c10a7f2c4c \ + --hash=sha256:8e0caeff18b96ea90fc0eb6e3bdb2b10ab5b01a95128dfeccb64a7238decf5f0 \ + --hash=sha256:957403a978e10fb3ca42572a23e6f7badff39aa1ce2f4ade68ee452dc6807692 \ + --hash=sha256:9af69f6746120998cd9c355e9c3c6aec7dff70d47247188feb4f829502be8ab4 \ + --hash=sha256:9c94f7cc91ab16b36ba5ce476f1904c91d6c92441f01cd61a8e2729442d6fcf5 \ + --hash=sha256:a37d51fa9a00d265cf73f3de3930fa9c41548177ba4f0faf76e61d512c774690 \ + --hash=sha256:a3a98921da9a1bf8457aeee6a551948a83601689e5ecdd736894ea9bbec77e83 \ + --hash=sha256:a3c1ebd4ed8e76e886507c9eddb1a891673686c813adf889b864a17fafcf6d66 \ + --hash=sha256:a5f9505efd574d1e5b4a76ac9dd92a12acb2b309551e9aa874c13c11caefbe4f \ + --hash=sha256:a8ff454ef0bb061e37df03557afda9d785c905dab15584860f982e88be73015f \ + --hash=sha256:a9d0b68ac1743964755ae2d89772c7e6fb0118acd4d0b7464eaf3921c6b49dd4 \ + --hash=sha256:aa62a07ac93b7cb6b7d0389d8ef57ffc321d78f60c037b19dfa78d6b17c928ee \ + --hash=sha256:ac741bf78b9bb432e2d314439275235f41656e189856b11fb4e774d9f7246d81 \ + --hash=sha256:ae1e96785696b543394a4e3f15f3f225d44f3c55dafe3f206493031419fedf95 \ + --hash=sha256:b683e5fd7f74fb66e89a1ed16076dbab3f8e9f34c18b1979ded614fe10cdc4d9 \ + --hash=sha256:b7a8b43ee64ca8f4befa2bea4083f7c52c92864d8518244bfa6e88c751fa8fff \ + --hash=sha256:b8e38472739028e5f2c3a4aded0ab7eadc447f0d84f310c7a8bb697ec417229e \ + --hash=sha256:bfff48c7bd23c6e2aec6454aaf6edc44444b229e94743b34bdcdda2e35126cf5 \ + --hash=sha256:c14b63c9d7bab795d17392c7c1f9aaabbffd4cf4387725a0ac69109fb3b550c6 \ + --hash=sha256:c27cc1e4b197092e50ddbf0118c788d9977f3f8f35bfbbd3e76c1846a3443df7 \ + --hash=sha256:c28d3309ebd6d6b2cf82969b5179bed5fefe6142c70f354ece94324fa11bf6a1 \ + --hash=sha256:c670f4773f2f6f1957ff8a3962c7dd12e4be54d05839b216cb7fd70b5a1df394 \ + --hash=sha256:ce6910b56b700bea7be82c54ddf2e0ed792a577dfaa4a76b9af07d550af435c6 \ + --hash=sha256:d0213671691e341f6849bf33cd9fad21f7b1cb88b89e024f33370733fec58742 \ + --hash=sha256:d03fe67b2325cb3f09be029fd5da8df9e6974f0cde2c2ac6a79d2634e791dd57 \ + --hash=sha256:d0e5af9a9effb88535a472e19169e09ce750c3d442fb222254a276d77808620b \ + --hash=sha256:d243b36fbf3d73c25e48014961e83c19c9cc92530516ce3c43050ea6276a2ab7 \ + --hash=sha256:d26166acf62f731f50bdd885b04b38828436d74e8e362bfcb8df221d868b5d9b \ + --hash=sha256:d403d781b0e06d2922435ce3b8d2376579f0c217ae491e273bab8d092727d244 \ + --hash=sha256:d8716f82502997b3d0895d1c64c3b834181b1eaca28f3f6336a71777e437c2af \ + --hash=sha256:e4f781ffedd17b0b834c8731b75cce2639d5a8afe961c1e58ee7f1f20b3af185 \ + --hash=sha256:e613a98ead2005c4ce037c7b061f2409a1a4e45099edb0ef3200ee26ed2a69a8 \ + --hash=sha256:ef4163770525257876f10e8ece1cf25b71468316f61451ded1a6f44273eedeb5 + # via + # clip + # diffusers + # transformers +requests==2.25.1 \ + --hash=sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804 \ + --hash=sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e + # via + # basicsr + # clean-fid + # diffusers + # fsspec + # huggingface-hub + # requests-oauthlib + # streamlit + # tb-nightly + # tensorboard + # torchvision + # transformers + # wandb +requests-oauthlib==1.3.1 \ + --hash=sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5 \ + --hash=sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a + # via google-auth-oauthlib +resize-right==0.0.2 \ + --hash=sha256:78351ca3eda0872208fcbc90861b45de559f90fb4027ce41825fdeb9b995005c \ + --hash=sha256:7dc35b72ce4012b77f7cc9049835163793ab98a58ab8893610fb119fe59af520 + # via k-diffusion +rich==12.6.0 \ + --hash=sha256:a4eb26484f2c82589bd9a17c73d32a010b1e29d89f1604cd9bf3a2097b81bb5e \ + --hash=sha256:ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0 + # via streamlit +rsa==4.9 \ + --hash=sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 \ + --hash=sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21 + # via google-auth +scikit-image==0.19.3 \ + --hash=sha256:03779a7e1736fdf89d83c0ba67d44110496edd736a3bfce61a2b5177a1c8a099 \ + --hash=sha256:0b0a199157ce8487c77de4fde0edc0b42d6d42818881c11f459262351d678b2d \ + --hash=sha256:19a21a101a20c587a3b611a2cf6f86c35aae9f8d9563279b987e83ee1c9a9790 \ + --hash=sha256:24b5367de1762da6ee126dd8f30cc4e7efda474e0d7d70685433f0e3aa2ec450 \ + --hash=sha256:2a02d1bd0e2b53e36b952bd5fd6118d9ccc3ee51de35705d63d8eb1f2e86adef \ + --hash=sha256:2f50b923f8099c1045fcde7418d86b206c87e333e43da980f41d8577b9605245 \ + --hash=sha256:32fb88cc36203b99c9672fb972c9ef98635deaa5fc889fe969f3e11c44f22919 \ + --hash=sha256:33dfd463ee6cc509defa279b963829f2230c9e0639ccd3931045be055878eea6 \ + --hash=sha256:3a01372ae4bca223873304b0bff79b9d92446ac6d6177f73d89b45561e2d09d8 \ + --hash=sha256:651de1c2ce1fbee834753b46b8e7d81cb12a5594898babba63ac82b30ddad49d \ + --hash=sha256:6b6a8f98f2ac9bb73706461fd1dec875f6a5141759ed526850a5a49e90003d19 \ + --hash=sha256:7f9f8a1387afc6c70f2bed007c3854a2d7489f9f7713c242f16f32ee05934bc2 \ + --hash=sha256:84baa3179f3ae983c3a5d81c1e404bc92dcf7daeb41bfe9369badcda3fb22b92 \ + --hash=sha256:8d8917fcf85b987b1f287f823f3a1a7dac38b70aaca759bc0200f3bc292d5ced \ + --hash=sha256:9439e5294de3f18d6e82ec8eee2c46590231cf9c690da80545e83a0733b7a69e \ + --hash=sha256:9fb0923a3bfa99457c5e17888f27b3b8a83a3600b4fef317992e7b7234764732 \ + --hash=sha256:a7c3985c68bfe05f7571167ee021d14f5b8d1a4a250c91f0b13be7fb07e6af34 \ + --hash=sha256:a8714348ddd671f819457a797c97d4c672166f093def66d66c3254cbd1d43f83 \ + --hash=sha256:ad5d8000207a264d1a55681a9276e6a739d3f05cf4429004ad00d61d1892235f \ + --hash=sha256:cc24177de3fdceca5d04807ad9c87d665f0bf01032ed94a9055cd1ed2b3f33e9 \ + --hash=sha256:ce3d2207f253b8eb2c824e30d145a9f07a34a14212d57f3beca9f7e03c383cbe \ + --hash=sha256:cfbb073f23deb48e0e60c47f8741d8089121d89cc78629ea8c5b51096efc5be7 \ + --hash=sha256:e207c6ce5ce121d7d9b9d2b61b9adca57d1abed112c902d8ffbfdc20fb42c12b \ + --hash=sha256:fd9dd3994bb6f9f7a35f228323f3c4dc44b3cf2ff15fd72d895216e9333550c6 \ + --hash=sha256:fdf48d9b1f13af69e4e2c78e05067e322e9c8c97463c315cd0ecb47a94e259fc \ + --hash=sha256:ff3b1025356508d41f4fe48528e509d95f9e4015e90cf158cd58c56dc63e0ac5 + # via + # albumentations + # basicsr + # k-diffusion +scikit-learn==1.1.3 \ + --hash=sha256:23fb9e74b813cc2528b5167d82ed08950b11106ccf50297161875e45152fb311 \ + --hash=sha256:250da993701da88bf475e7c5746abf1285ea0ae47e4d0917cd13afd6600bb162 \ + --hash=sha256:28b2bd6a1419acd522ff45d282c8ba23dbccb5338802ab0ee12baa4ade0aba4c \ + --hash=sha256:2ee2c649f2231b68511aabb0dc827edd8936aad682acc6263c34aed11bc95dac \ + --hash=sha256:30e27721adc308e8fd9f419f43068e43490005f911edf4476a9e585059fa8a83 \ + --hash=sha256:38814f66285318f2e241305cca545eaa9b4126c65aa5dd78c69371f235f78e2b \ + --hash=sha256:4d3a19166d4e1cdfcab975c68f471e046ce01e74c42a9a33fa89a14c2fcedf60 \ + --hash=sha256:5699cded6c0685426433c7e5afe0fecad80ec831ec7fa264940e50c796775cc5 \ + --hash=sha256:6785b8a3093329bf90ac01801be5525551728ae73edb11baa175df660820add4 \ + --hash=sha256:6d1c1394e38a3319ace620381f6f23cc807d8780e9915c152449a86fc8f1db21 \ + --hash=sha256:701181792a28c82fecae12adb5d15d0ecf57bffab7cf4bdbb52c7b3fd428d540 \ + --hash=sha256:748f2bd632d6993e8918d43f1a26c380aeda4e122a88840d4c3a9af99d4239fe \ + --hash=sha256:8e9dd76c7274055d1acf4526b8efb16a3531c26dcda714a0c16da99bf9d41900 \ + --hash=sha256:bef51978a51ec19977700fe7b86aecea49c825884f3811756b74a3b152bb4e35 \ + --hash=sha256:cd55c6fbef7608dbce1f22baf289dfcc6eb323247daa3c3542f73d389c724786 \ + --hash=sha256:da5a2e95fef9805b1750e4abda4e834bf8835d26fc709a391543b53feee7bd0e \ + --hash=sha256:ee47f68d973cee7009f06edb956f2f5588a0f230f24a2a70175fd0ecf36e2653 \ + --hash=sha256:f4931f2a6c06e02c6c17a05f8ae397e2545965bc7a0a6cb38c8cd7d4fba8624d \ + --hash=sha256:f5644663987ee221f5d1f47a593271b966c271c236fe05634e6bdc06041b5a2b \ + --hash=sha256:f5d4231af7199531e77da1b78a4cc6b3d960a00b1ec672578ac818aae2b9c35d \ + --hash=sha256:fd3ee69d36d42a7dcbb17e355a5653af5fd241a7dfd9133080b3dde8d9e2aafb + # via qudida +scipy==1.9.3 \ + --hash=sha256:06d2e1b4c491dc7d8eacea139a1b0b295f74e1a1a0f704c375028f8320d16e31 \ + --hash=sha256:0d54222d7a3ba6022fdf5773931b5d7c56efe41ede7f7128c7b1637700409108 \ + --hash=sha256:1884b66a54887e21addf9c16fb588720a8309a57b2e258ae1c7986d4444d3bc0 \ + --hash=sha256:1a72d885fa44247f92743fc20732ae55564ff2a519e8302fb7e18717c5355a8b \ + --hash=sha256:2318bef588acc7a574f5bfdff9c172d0b1bf2c8143d9582e05f878e580a3781e \ + --hash=sha256:4db5b30849606a95dcf519763dd3ab6fe9bd91df49eba517359e450a7d80ce2e \ + --hash=sha256:545c83ffb518094d8c9d83cce216c0c32f8c04aaf28b92cc8283eda0685162d5 \ + --hash=sha256:5a04cd7d0d3eff6ea4719371cbc44df31411862b9646db617c99718ff68d4840 \ + --hash=sha256:5b88e6d91ad9d59478fafe92a7c757d00c59e3bdc3331be8ada76a4f8d683f58 \ + --hash=sha256:68239b6aa6f9c593da8be1509a05cb7f9efe98b80f43a5861cd24c7557e98523 \ + --hash=sha256:83b89e9586c62e787f5012e8475fbb12185bafb996a03257e9675cd73d3736dd \ + --hash=sha256:83c06e62a390a9167da60bedd4575a14c1f58ca9dfde59830fc42e5197283dab \ + --hash=sha256:90453d2b93ea82a9f434e4e1cba043e779ff67b92f7a0e85d05d286a3625df3c \ + --hash=sha256:abaf921531b5aeaafced90157db505e10345e45038c39e5d9b6c7922d68085cb \ + --hash=sha256:b41bc822679ad1c9a5f023bc93f6d0543129ca0f37c1ce294dd9d386f0a21096 \ + --hash=sha256:c68db6b290cbd4049012990d7fe71a2abd9ffbe82c0056ebe0f01df8be5436b0 \ + --hash=sha256:cff3a5295234037e39500d35316a4c5794739433528310e117b8a9a0c76d20fc \ + --hash=sha256:d01e1dd7b15bd2449c8bfc6b7cc67d630700ed655654f0dfcf121600bad205c9 \ + --hash=sha256:d644a64e174c16cb4b2e41dfea6af722053e83d066da7343f333a54dae9bc31c \ + --hash=sha256:da8245491d73ed0a994ed9c2e380fd058ce2fa8a18da204681f2fe1f57f98f95 \ + --hash=sha256:fbc5c05c85c1a02be77b1ff591087c83bc44579c6d2bd9fb798bb64ea5e1a027 + # via + # albumentations + # basicsr + # clean-fid + # facexlib + # filterpy + # gfpgan + # k-diffusion + # scikit-image + # scikit-learn + # torch-fidelity + # torchdiffeq +semver==2.13.0 \ + --hash=sha256:ced8b23dceb22134307c1b8abfa523da14198793d9787ac838e70e29e77458d4 \ + --hash=sha256:fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f + # via streamlit +send2trash==1.8.0 \ + --hash=sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d \ + --hash=sha256:f20eaadfdb517eaca5ce077640cb261c7d2698385a6a0f072a4a5447fd49fa08 + # via -r requirements.in +sentry-sdk==1.10.1 \ + --hash=sha256:06c0fa9ccfdc80d7e3b5d2021978d6eb9351fa49db9b5847cf4d1f2a473414ad \ + --hash=sha256:105faf7bd7b7fa25653404619ee261527266b14103fe1389e0ce077bd23a9691 + # via wandb +setproctitle==1.3.2 \ + --hash=sha256:1c5d5dad7c28bdd1ec4187d818e43796f58a845aa892bb4481587010dc4d362b \ + --hash=sha256:1c8d9650154afaa86a44ff195b7b10d683c73509d085339d174e394a22cccbb9 \ + --hash=sha256:1f0cde41857a644b7353a0060b5f94f7ba7cf593ebde5a1094da1be581ac9a31 \ + --hash=sha256:1f29b75e86260b0ab59adb12661ef9f113d2f93a59951373eb6d68a852b13e83 \ + --hash=sha256:1fa1a0fbee72b47dc339c87c890d3c03a72ea65c061ade3204f285582f2da30f \ + --hash=sha256:1ff863a20d1ff6ba2c24e22436a3daa3cd80be1dfb26891aae73f61b54b04aca \ + --hash=sha256:265ecbe2c6eafe82e104f994ddd7c811520acdd0647b73f65c24f51374cf9494 \ + --hash=sha256:288943dec88e178bb2fd868adf491197cc0fc8b6810416b1c6775e686bab87fe \ + --hash=sha256:2e3ac25bfc4a0f29d2409650c7532d5ddfdbf29f16f8a256fc31c47d0dc05172 \ + --hash=sha256:2fbd8187948284293f43533c150cd69a0e4192c83c377da837dbcd29f6b83084 \ + --hash=sha256:4058564195b975ddc3f0462375c533cce310ccdd41b80ac9aed641c296c3eff4 \ + --hash=sha256:4749a2b0c9ac52f864d13cee94546606f92b981b50e46226f7f830a56a9dc8e1 \ + --hash=sha256:4d8938249a7cea45ab7e1e48b77685d0f2bab1ebfa9dde23e94ab97968996a7c \ + --hash=sha256:5194b4969f82ea842a4f6af2f82cd16ebdc3f1771fb2771796e6add9835c1973 \ + --hash=sha256:55ce1e9925ce1765865442ede9dca0ba9bde10593fcd570b1f0fa25d3ec6b31c \ + --hash=sha256:589be87172b238f839e19f146b9ea47c71e413e951ef0dc6db4218ddacf3c202 \ + --hash=sha256:5b932c3041aa924163f4aab970c2f0e6b4d9d773f4d50326e0ea1cd69240e5c5 \ + --hash=sha256:5fb4f769c02f63fac90989711a3fee83919f47ae9afd4758ced5d86596318c65 \ + --hash=sha256:630f6fe5e24a619ccf970c78e084319ee8be5be253ecc9b5b216b0f474f5ef18 \ + --hash=sha256:65d884e22037b23fa25b2baf1a3316602ed5c5971eb3e9d771a38c3a69ce6e13 \ + --hash=sha256:6c877691b90026670e5a70adfbcc735460a9f4c274d35ec5e8a43ce3f8443005 \ + --hash=sha256:710e16fa3bade3b026907e4a5e841124983620046166f355bbb84be364bf2a02 \ + --hash=sha256:7a55fe05f15c10e8c705038777656fe45e3bd676d49ad9ac8370b75c66dd7cd7 \ + --hash=sha256:7aa0aac1711fadffc1d51e9d00a3bea61f68443d6ac0241a224e4d622489d665 \ + --hash=sha256:7f0bed90a216ef28b9d227d8d73e28a8c9b88c0f48a082d13ab3fa83c581488f \ + --hash=sha256:7f2719a398e1a2c01c2a63bf30377a34d0b6ef61946ab9cf4d550733af8f1ef1 \ + --hash=sha256:7fe9df7aeb8c64db6c34fc3b13271a363475d77bc157d3f00275a53910cb1989 \ + --hash=sha256:8ff3c8cb26afaed25e8bca7b9dd0c1e36de71f35a3a0706b5c0d5172587a3827 \ + --hash=sha256:9124bedd8006b0e04d4e8a71a0945da9b67e7a4ab88fdad7b1440dc5b6122c42 \ + --hash=sha256:92c626edc66169a1b09e9541b9c0c9f10488447d8a2b1d87c8f0672e771bc927 \ + --hash=sha256:a149a5f7f2c5a065d4e63cb0d7a4b6d3b66e6e80f12e3f8827c4f63974cbf122 \ + --hash=sha256:a47d97a75fd2d10c37410b180f67a5835cb1d8fdea2648fd7f359d4277f180b9 \ + --hash=sha256:a499fff50387c1520c085a07578a000123f519e5f3eee61dd68e1d301659651f \ + --hash=sha256:ab45146c71ca6592c9cc8b354a2cc9cc4843c33efcbe1d245d7d37ce9696552d \ + --hash=sha256:b2c9cb2705fc84cb8798f1ba74194f4c080aaef19d9dae843591c09b97678e98 \ + --hash=sha256:b34baef93bfb20a8ecb930e395ccd2ae3268050d8cf4fe187de5e2bd806fd796 \ + --hash=sha256:b617f12c9be61e8f4b2857be4a4319754756845dbbbd9c3718f468bbb1e17bcb \ + --hash=sha256:b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd \ + --hash=sha256:bae283e85fc084b18ffeb92e061ff7ac5af9e183c9d1345c93e178c3e5069cbe \ + --hash=sha256:c2c46200656280a064073447ebd363937562debef329482fd7e570c8d498f806 \ + --hash=sha256:c8a09d570b39517de10ee5b718730e171251ce63bbb890c430c725c8c53d4484 \ + --hash=sha256:c91b9bc8985d00239f7dc08a49927a7ca1ca8a6af2c3890feec3ed9665b6f91e \ + --hash=sha256:dad42e676c5261eb50fdb16bdf3e2771cf8f99a79ef69ba88729aeb3472d8575 \ + --hash=sha256:de3a540cd1817ede31f530d20e6a4935bbc1b145fd8f8cf393903b1e02f1ae76 \ + --hash=sha256:e00c9d5c541a2713ba0e657e0303bf96ddddc412ef4761676adc35df35d7c246 \ + --hash=sha256:e1aafc91cbdacc9e5fe712c52077369168e6b6c346f3a9d51bf600b53eae56bb \ + --hash=sha256:e425be62524dc0c593985da794ee73eb8a17abb10fe692ee43bb39e201d7a099 \ + --hash=sha256:e43f315c68aa61cbdef522a2272c5a5b9b8fd03c301d3167b5e1343ef50c676c \ + --hash=sha256:e49ae693306d7624015f31cb3e82708916759d592c2e5f72a35c8f4cc8aef258 \ + --hash=sha256:e5c50e164cd2459bc5137c15288a9ef57160fd5cbf293265ea3c45efe7870865 \ + --hash=sha256:e8579a43eafd246e285eb3a5b939e7158073d5087aacdd2308f23200eac2458b \ + --hash=sha256:e85e50b9c67854f89635a86247412f3ad66b132a4d8534ac017547197c88f27d \ + --hash=sha256:f0452282258dfcc01697026a8841258dd2057c4438b43914b611bccbcd048f10 \ + --hash=sha256:f4bfc89bd33ebb8e4c0e9846a09b1f5a4a86f5cb7a317e75cc42fee1131b4f4f \ + --hash=sha256:fa2f50678f04fda7a75d0fe5dd02bbdd3b13cbe6ed4cf626e4472a7ccf47ae94 \ + --hash=sha256:faec934cfe5fd6ac1151c02e67156c3f526e82f96b24d550b5d51efa4a5527c6 \ + --hash=sha256:fcd3cf4286a60fdc95451d8d14e0389a6b4f5cebe02c7f2609325eb016535963 \ + --hash=sha256:fe8a988c7220c002c45347430993830666e55bc350179d91fcee0feafe64e1d4 \ + --hash=sha256:fed18e44711c5af4b681c2b3b18f85e6f0f1b2370a28854c645d636d5305ccd8 \ + --hash=sha256:ffc61a388a5834a97953d6444a2888c24a05f2e333f9ed49f977a87bb1ad4761 + # via wandb +shortuuid==1.0.9 \ + --hash=sha256:459f12fa1acc34ff213b1371467c0325169645a31ed989e268872339af7563d5 \ + --hash=sha256:b2bb9eb7773170e253bb7ba25971023acb473517a8b76803d9618668cb1dd46f + # via wandb +six==1.16.0 \ + --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ + --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 + # via + # docker-pycreds + # eventlet + # flask-cors + # google-auth + # grpcio + # promise + # python-dateutil + # validators + # wandb +smmap==5.0.0 \ + --hash=sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94 \ + --hash=sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936 + # via gitdb +streamlit==1.14.0 \ + --hash=sha256:62556d873567e1b3427bcd118a57ee6946619f363bd6bba38df2d1f8225ecba0 \ + --hash=sha256:e078b8143d150ba721bdb9194218e311c5fe1d6d4156473a2dea6cc848a6c9fc + # via -r requirements.in +taming-transformers-rom1504==0.0.6 \ + --hash=sha256:051b5804c58caa247bcd51d17ddb525b4d5f892a29d42dc460f40e3e9e34e5d8 \ + --hash=sha256:73fe5fc1108accee4236ee6976e0987ab236afad0af06cb9f037641a908d2c32 + # via -r requirements.in +tb-nightly==2.11.0a20221106 \ + --hash=sha256:8940457ee42db92f01da8bcdbbea1a476735eda559dde5976f5728919960af4a + # via + # basicsr + # gfpgan +tensorboard==2.10.1 \ + --hash=sha256:fb9222c1750e2fa35ef170d998a1e229f626eeced3004494a8849c88c15d8c1c + # via + # pytorch-lightning + # test-tube +tensorboard-data-server==0.6.1 \ + --hash=sha256:809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7 \ + --hash=sha256:d8237580755e58eff68d1f3abefb5b1e39ae5c8b127cc40920f9c4fb33f4b98a \ + --hash=sha256:fa8cef9be4fcae2f2363c88176638baf2da19c5ec90addb49b1cde05c95c88ee + # via + # tb-nightly + # tensorboard +tensorboard-plugin-wit==1.8.1 \ + --hash=sha256:ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe + # via + # tb-nightly + # tensorboard +test-tube==0.7.5 \ + --hash=sha256:1379c33eb8cde3e9b36610f87da0f16c2e06496b1cfebac473df4e7be2faa124 + # via -r requirements.in +threadpoolctl==3.1.0 \ + --hash=sha256:8b99adda265feb6773280df41eece7b2e6561b772d21ffd52e372f999024907b \ + --hash=sha256:a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380 + # via scikit-learn +tifffile==2022.10.10 \ + --hash=sha256:50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e \ + --hash=sha256:87f3aee8a0d06b74655269a105de75c1958a24653e1930d523eb516100043503 + # via scikit-image +tokenizers==0.13.1 \ + --hash=sha256:0a3412830ad66a643723d6b0fc3202e64e9e299bd9c9eda04b2914b5b1e0ddb0 \ + --hash=sha256:126bcb18a77cf65961ece04f54bd10ef3713412195e543d9d3eda2f0e4fd677c \ + --hash=sha256:16434c61c5eb72f6692b9bc52052b07ca92d3eba9dd72a1bc371890e1bdc3f07 \ + --hash=sha256:1d4acfdb6e7ef974677bb8445462db7fed240185fdc0f5b061db357d4ef8d85d \ + --hash=sha256:3333d1cee5c8f47c96362ea0abc1f81c77c9b92c6c3d11cbf1d01985f0d5cf1d \ + --hash=sha256:3acf3cae4c4739fc9ec49fa0e6cce224c1aa0fabc8f8d1358fd7de5c7d49cdca \ + --hash=sha256:3ba43b3f6f6b41c97c1d041785342cd72ba142999f6c4605d628e8e937398f20 \ + --hash=sha256:3c69a8389fd88bc32115e99db70f63bef577ba5c54f40a632580038a49612856 \ + --hash=sha256:3de653a551cc616a442a123da21706cb3a3163cf6919973f978f0921eee1bdf0 \ + --hash=sha256:4b3be8af87b357340b9b049d28067287b5e5e296e3120b6e4875d3b8469b67e6 \ + --hash=sha256:680bc0e357b7da6d0d01634bffbd002e866fdaccde303e1d1af58f32464cf308 \ + --hash=sha256:70de69681a264a5808d39f4bb6331be9a4dec51fd48cd1b959a94da76c4939cc \ + --hash=sha256:73198cda6e1d991c583ed798514863e16763aa600eb7aa6df7722373290575b2 \ + --hash=sha256:80864f456f715829f901ad5bb85af97e9ae52fc902270944804f6476ab8c6699 \ + --hash=sha256:80b9552295fdce0a2513dcb795a3f8591eca1a8dcf8afe0de3214209e6924ad1 \ + --hash=sha256:84fa41b58a8d3b7363ecdf3397d4b38f345fcf7d4dd14565b4360e7bffc9cae0 \ + --hash=sha256:890d2139100b5c8ac6d585438d5e145ede1d7b32b4090a6c078db6db0ef1daea \ + --hash=sha256:8b3f97041f7716998e474d3c7ffd19ac6941f117616696aef2b5ba927bf091e3 \ + --hash=sha256:910479e92d5fbdf91e8106b4c658fd43d418893d7cfd5fb11983c54a1ff53869 \ + --hash=sha256:96a1beef1e64d44597627f4e29d794047a66ad4d7474d93daf5a0ee27928e012 \ + --hash=sha256:98bef54cf51ac335fda1408112df7ff3e584107633bd9066616033e12b0bd519 \ + --hash=sha256:afcb1bd6d9ed59d5c8e633765589cab12f98aae09804f156b5965b4463b8b8e3 \ + --hash=sha256:b72dec85488af3e1e8d58fb4b86b5dbe5171c176002b5e098ea6d52a70004bb5 \ + --hash=sha256:c3109ba62bea56c68c7c2a976250b040afee61b5f86fc791f17afaa2a09fce94 \ + --hash=sha256:c73b9e6c107e980e65077b89c54311d8d645f6a9efdde82990777fa43c0a8cae \ + --hash=sha256:d8fca8b492a4697b0182e0c40b164cb0c44a9669d9c98033fec2f88174605eb0 \ + --hash=sha256:db6872294339bf35c158219fc65bad939ba87d14c936ae7a33a3ca2d1532c5b1 \ + --hash=sha256:e1a90bc97f53600f52e902f3ae097424de712d8ae0e42d957efc7ed908573a20 \ + --hash=sha256:f75f476fe183c03c515a0f0f5d195cb05d93fcdc76e31fe3c9753d01f3ee990b \ + --hash=sha256:fd17b14f84bec0b171869abd17ca0d9bfc564aa1e7f3451f44da526949a911c1 \ + --hash=sha256:fea71780b66f8c278ebae7221c8959404cf7343b8d2f4b7308aa668cf6f02364 + # via transformers +toml==0.10.2 \ + --hash=sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b \ + --hash=sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f + # via streamlit +toolz==0.12.0 \ + --hash=sha256:2059bd4148deb1884bb0eb770a3cde70e7f954cfbbdc2285f1f2de01fd21eb6f \ + --hash=sha256:88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194 + # via altair +torch==1.12.1+cu116 \ + --hash=sha256:7725420dabebfcaf44984edce3283eea91f98f0f7d5874bc68c7a164bd8126e3 \ + --hash=sha256:832effad8b21109700323a5aa137a2e4bdea711dac3d8491ff542f798dab0101 \ + --hash=sha256:84f031e4ee25d95368d7531aa58e79da9808d3fa53b4b363ea03a2450b6fd0af \ + --hash=sha256:b6bc31244aa2818929fbb30c483c221df471e9d856e805c5a1ff72b131ae9e7b \ + --hash=sha256:b8e8906e770bcad12e67c269e1bcdd7661a8abd96519a4ba643e86440bbcc1bf \ + --hash=sha256:bca5a77071d7eb901beb775648b125e6d9279f231d1f23e56530b5a189df8975 \ + --hash=sha256:dda312901220895087cc83d3665464a3dc171d04460c61c31af463efbfb54896 \ + --hash=sha256:fc9b4786ec54be67eaa8b0c7c9999e2f4ae2b89a1c18e41de1515a190440c691 + # via + # accelerate + # basicsr + # clean-fid + # clip + # facexlib + # gfpgan + # k-diffusion + # kornia + # pytorch-lightning + # realesrgan + # taming-transformers-rom1504 + # test-tube + # torch-fidelity + # torchdiffeq + # torchmetrics + # torchvision +torch-fidelity==0.3.0 \ + --hash=sha256:3d3e33db98919759cc4f3f24cb27e1e74bdc7c905d90a780630e4e1c18492b66 \ + --hash=sha256:d01284825595feb7dc3eae3dc9a0d8ced02be764813a3483f109bc142b52a1d3 + # via -r requirements.in +torchdiffeq==0.2.3 \ + --hash=sha256:b5b01ec1294a2d8d5f77e567bf17c5de1237c0573cb94deefa88326f0e18c338 \ + --hash=sha256:fe75f434b9090ac0c27702e02bed21472b0f87035be6581f51edc5d4013ea31a + # via k-diffusion +torchmetrics==0.10.2 \ + --hash=sha256:43757d82266969906fc74b6e80766fcb2a0d52d6c3d09e3b7c98cf3b733fd20c \ + --hash=sha256:daa29d96bff5cff04d80eec5b9f5076993d6ac9c2d2163e88b6b31f8d38f7c25 + # via pytorch-lightning +torchvision==0.13.1+cu116 ; platform_system == "Linux" or platform_system == "Windows" \ + --hash=sha256:0c9a2b605ac30fcf475d60f79ba378af0073a22de585453f8c3dd6c1452ab9bc \ + --hash=sha256:75986abe572138258eb9795cb4cd73f40b2bdf8374fefa1af6ff6bb0dbc972c6 \ + --hash=sha256:8a4c395bb72cf51eb4318c6861c9a5ea490d48ec36a3d767220ef182445449cb \ + --hash=sha256:92e4685c6010b6b1c228ebb5fe93105d0a71e5b586483a942e04529a43e0bb42 \ + --hash=sha256:9ec5654c56a22fe420dc0af0ff5cd31105f583fdb0240043ff26a7cfed7e05fb \ + --hash=sha256:ba8b7d3c33f63feb29c7dd8c0db68b735d0c9d924ff4e84121b4b20b17cec7a5 \ + --hash=sha256:c3ceb2b3f456f0c984af71ef55f8637f178a29dc3e13a66fbb010ceead2891e1 \ + --hash=sha256:dcf32f6d998493e76ec21a38bbb856b7402295cf7a67fb09ce5bde7e7e725756 + # via + # -r requirements.in + # basicsr + # clean-fid + # clip + # facexlib + # gfpgan + # k-diffusion + # realesrgan + # taming-transformers-rom1504 + # torch-fidelity +tornado==6.2 \ + --hash=sha256:1d54d13ab8414ed44de07efecb97d4ef7c39f7438cf5e976ccd356bebb1b5fca \ + --hash=sha256:20f638fd8cc85f3cbae3c732326e96addff0a15e22d80f049e00121651e82e72 \ + --hash=sha256:5c87076709343557ef8032934ce5f637dbb552efa7b21d08e89ae7619ed0eb23 \ + --hash=sha256:5f8c52d219d4995388119af7ccaa0bcec289535747620116a58d830e7c25d8a8 \ + --hash=sha256:6fdfabffd8dfcb6cf887428849d30cf19a3ea34c2c248461e1f7d718ad30b66b \ + --hash=sha256:87dcafae3e884462f90c90ecc200defe5e580a7fbbb4365eda7c7c1eb809ebc9 \ + --hash=sha256:9b630419bde84ec666bfd7ea0a4cb2a8a651c2d5cccdbdd1972a0c859dfc3c13 \ + --hash=sha256:b8150f721c101abdef99073bf66d3903e292d851bee51910839831caba341a75 \ + --hash=sha256:ba09ef14ca9893954244fd872798b4ccb2367c165946ce2dd7376aebdde8e3ac \ + --hash=sha256:d3a2f5999215a3a06a4fc218026cd84c61b8b2b40ac5296a6db1f1451ef04c1e \ + --hash=sha256:e5f923aa6a47e133d1cf87d60700889d7eae68988704e20c75fb2d65677a8e4b + # via streamlit +tqdm==4.64.1 \ + --hash=sha256:5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4 \ + --hash=sha256:6fee160d6ffcd1b1c68c65f14c829c22832bc401726335ce92c52d395944a6a1 + # via + # basicsr + # clean-fid + # clip + # facexlib + # gfpgan + # huggingface-hub + # k-diffusion + # pytorch-lightning + # realesrgan + # taming-transformers-rom1504 + # torch-fidelity + # transformers +transformers==4.24.0 \ + --hash=sha256:486f353a8e594002e48be0e2aba723d96eda839e63bfe274702a4b5eda85559b \ + --hash=sha256:b7ab50039ef9bf817eff14ab974f306fd20a72350bdc9df3a858fd009419322e + # via -r requirements.in +typing-extensions==4.4.0 \ + --hash=sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa \ + --hash=sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e + # via + # huggingface-hub + # pytorch-lightning + # qudida + # streamlit + # torch + # torchvision +tzdata==2022.6 \ + --hash=sha256:04a680bdc5b15750c39c12a448885a51134a27ec9af83667663f0b3a1bf3f342 \ + --hash=sha256:91f11db4503385928c15598c98573e3af07e7229181bee5375bd30f1695ddcae + # via + # pytz-deprecation-shim + # tzlocal +tzlocal==4.2 \ + --hash=sha256:89885494684c929d9191c57aa27502afc87a579be5cdd3225c77c463ea043745 \ + --hash=sha256:ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7 + # via streamlit +urllib3==1.26.12 \ + --hash=sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e \ + --hash=sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997 + # via + # requests + # sentry-sdk +validators==0.18.2 \ + --hash=sha256:0143dcca8a386498edaf5780cbd5960da1a4c85e0719f3ee5c9b41249c4fefbd \ + --hash=sha256:37cd9a9213278538ad09b5b9f9134266e7c226ab1fede1d500e29e0a8fbb9ea6 + # via streamlit +wandb==0.13.5 \ + --hash=sha256:11f30a22e30abaa9c187e8b6aa4c12d76160b40bbe98a6f14b0dde9297bbfbe2 \ + --hash=sha256:60d5bcc524b8a314c8e072c03f7702dbd5406261b00a4ce75e7556b805fdc765 + # via k-diffusion +watchdog==2.1.9 \ + --hash=sha256:083171652584e1b8829581f965b9b7723ca5f9a2cd7e20271edf264cfd7c1412 \ + --hash=sha256:117ffc6ec261639a0209a3252546b12800670d4bf5f84fbd355957a0595fe654 \ + --hash=sha256:186f6c55abc5e03872ae14c2f294a153ec7292f807af99f57611acc8caa75306 \ + --hash=sha256:195fc70c6e41237362ba720e9aaf394f8178bfc7fa68207f112d108edef1af33 \ + --hash=sha256:226b3c6c468ce72051a4c15a4cc2ef317c32590d82ba0b330403cafd98a62cfd \ + --hash=sha256:247dcf1df956daa24828bfea5a138d0e7a7c98b1a47cf1fa5b0c3c16241fcbb7 \ + --hash=sha256:255bb5758f7e89b1a13c05a5bceccec2219f8995a3a4c4d6968fe1de6a3b2892 \ + --hash=sha256:43ce20ebb36a51f21fa376f76d1d4692452b2527ccd601950d69ed36b9e21609 \ + --hash=sha256:4f4e1c4aa54fb86316a62a87b3378c025e228178d55481d30d857c6c438897d6 \ + --hash=sha256:5952135968519e2447a01875a6f5fc8c03190b24d14ee52b0f4b1682259520b1 \ + --hash=sha256:64a27aed691408a6abd83394b38503e8176f69031ca25d64131d8d640a307591 \ + --hash=sha256:6b17d302850c8d412784d9246cfe8d7e3af6bcd45f958abb2d08a6f8bedf695d \ + --hash=sha256:70af927aa1613ded6a68089a9262a009fbdf819f46d09c1a908d4b36e1ba2b2d \ + --hash=sha256:7a833211f49143c3d336729b0020ffd1274078e94b0ae42e22f596999f50279c \ + --hash=sha256:8250546a98388cbc00c3ee3cc5cf96799b5a595270dfcfa855491a64b86ef8c3 \ + --hash=sha256:97f9752208f5154e9e7b76acc8c4f5a58801b338de2af14e7e181ee3b28a5d39 \ + --hash=sha256:9f05a5f7c12452f6a27203f76779ae3f46fa30f1dd833037ea8cbc2887c60213 \ + --hash=sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330 \ + --hash=sha256:ad576a565260d8f99d97f2e64b0f97a48228317095908568a9d5c786c829d428 \ + --hash=sha256:b530ae007a5f5d50b7fbba96634c7ee21abec70dc3e7f0233339c81943848dc1 \ + --hash=sha256:bfc4d351e6348d6ec51df007432e6fe80adb53fd41183716017026af03427846 \ + --hash=sha256:d3dda00aca282b26194bdd0adec21e4c21e916956d972369359ba63ade616153 \ + --hash=sha256:d9820fe47c20c13e3c9dd544d3706a2a26c02b2b43c993b62fcd8011bcc0adb3 \ + --hash=sha256:ed80a1628cee19f5cfc6bb74e173f1b4189eb532e705e2a13e3250312a62e0c9 \ + --hash=sha256:ee3e38a6cc050a8830089f79cbec8a3878ec2fe5160cdb2dc8ccb6def8552658 + # via streamlit +wcwidth==0.2.5 \ + --hash=sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784 \ + --hash=sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83 + # via ftfy +werkzeug==2.2.2 \ + --hash=sha256:7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f \ + --hash=sha256:f979ab81f58d7318e064e99c4506445d60135ac5cd2e177a2de0089bfd4c9bd5 + # via + # flask + # tb-nightly + # tensorboard +wheel==0.38.2 \ + --hash=sha256:3d492ef22379a156ec923d2a77051cedfd4df4b667864e9e41ba83f0b70b7149 \ + --hash=sha256:7a5a3095dceca97a3cac869b8fef4e89b83fafde21b6688f47b6fda7600eb441 + # via + # tb-nightly + # tensorboard +whichcraft==0.6.1 \ + --hash=sha256:acdbb91b63d6a15efbd6430d1d7b2d36e44a71697e93e19b7ded477afd9fce87 \ + --hash=sha256:deda9266fbb22b8c64fd3ee45c050d61139cd87419765f588e37c8d23e236dd9 + # via flaskwebgui +yapf==0.32.0 \ + --hash=sha256:8fea849025584e486fd06d6ba2bed717f396080fd3cc236ba10cb97c4c51cf32 \ + --hash=sha256:a3f5085d37ef7e3e004c4ba9f9b3e40c54ff1901cd111f05145ae313a7c67d1b + # via + # basicsr + # gfpgan +yarl==1.8.1 \ + --hash=sha256:076eede537ab978b605f41db79a56cad2e7efeea2aa6e0fa8f05a26c24a034fb \ + --hash=sha256:07b21e274de4c637f3e3b7104694e53260b5fc10d51fb3ec5fed1da8e0f754e3 \ + --hash=sha256:0ab5a138211c1c366404d912824bdcf5545ccba5b3ff52c42c4af4cbdc2c5035 \ + --hash=sha256:0c03f456522d1ec815893d85fccb5def01ffaa74c1b16ff30f8aaa03eb21e453 \ + --hash=sha256:12768232751689c1a89b0376a96a32bc7633c08da45ad985d0c49ede691f5c0d \ + --hash=sha256:19cd801d6f983918a3f3a39f3a45b553c015c5aac92ccd1fac619bd74beece4a \ + --hash=sha256:1ca7e596c55bd675432b11320b4eacc62310c2145d6801a1f8e9ad160685a231 \ + --hash=sha256:1e4808f996ca39a6463f45182e2af2fae55e2560be586d447ce8016f389f626f \ + --hash=sha256:205904cffd69ae972a1707a1bd3ea7cded594b1d773a0ce66714edf17833cdae \ + --hash=sha256:20df6ff4089bc86e4a66e3b1380460f864df3dd9dccaf88d6b3385d24405893b \ + --hash=sha256:21ac44b763e0eec15746a3d440f5e09ad2ecc8b5f6dcd3ea8cb4773d6d4703e3 \ + --hash=sha256:29e256649f42771829974e742061c3501cc50cf16e63f91ed8d1bf98242e5507 \ + --hash=sha256:2d800b9c2eaf0684c08be5f50e52bfa2aa920e7163c2ea43f4f431e829b4f0fd \ + --hash=sha256:2d93a049d29df172f48bcb09acf9226318e712ce67374f893b460b42cc1380ae \ + --hash=sha256:31a9a04ecccd6b03e2b0e12e82131f1488dea5555a13a4d32f064e22a6003cfe \ + --hash=sha256:3d1a50e461615747dd93c099f297c1994d472b0f4d2db8a64e55b1edf704ec1c \ + --hash=sha256:449c957ffc6bc2309e1fbe67ab7d2c1efca89d3f4912baeb8ead207bb3cc1cd4 \ + --hash=sha256:4a88510731cd8d4befaba5fbd734a7dd914de5ab8132a5b3dde0bbd6c9476c64 \ + --hash=sha256:4c322cbaa4ed78a8aac89b2174a6df398faf50e5fc12c4c191c40c59d5e28357 \ + --hash=sha256:5395da939ffa959974577eff2cbfc24b004a2fb6c346918f39966a5786874e54 \ + --hash=sha256:5587bba41399854703212b87071c6d8638fa6e61656385875f8c6dff92b2e461 \ + --hash=sha256:56c11efb0a89700987d05597b08a1efcd78d74c52febe530126785e1b1a285f4 \ + --hash=sha256:5999c4662631cb798496535afbd837a102859568adc67d75d2045e31ec3ac497 \ + --hash=sha256:59ddd85a1214862ce7c7c66457f05543b6a275b70a65de366030d56159a979f0 \ + --hash=sha256:6347f1a58e658b97b0a0d1ff7658a03cb79bdbda0331603bed24dd7054a6dea1 \ + --hash=sha256:6628d750041550c5d9da50bb40b5cf28a2e63b9388bac10fedd4f19236ef4957 \ + --hash=sha256:6afb336e23a793cd3b6476c30f030a0d4c7539cd81649683b5e0c1b0ab0bf350 \ + --hash=sha256:6c8148e0b52bf9535c40c48faebb00cb294ee577ca069d21bd5c48d302a83780 \ + --hash=sha256:76577f13333b4fe345c3704811ac7509b31499132ff0181f25ee26619de2c843 \ + --hash=sha256:7c0da7e44d0c9108d8b98469338705e07f4bb7dab96dbd8fa4e91b337db42548 \ + --hash=sha256:7de89c8456525650ffa2bb56a3eee6af891e98f498babd43ae307bd42dca98f6 \ + --hash=sha256:7ec362167e2c9fd178f82f252b6d97669d7245695dc057ee182118042026da40 \ + --hash=sha256:7fce6cbc6c170ede0221cc8c91b285f7f3c8b9fe28283b51885ff621bbe0f8ee \ + --hash=sha256:85cba594433915d5c9a0d14b24cfba0339f57a2fff203a5d4fd070e593307d0b \ + --hash=sha256:8b0af1cf36b93cee99a31a545fe91d08223e64390c5ecc5e94c39511832a4bb6 \ + --hash=sha256:9130ddf1ae9978abe63808b6b60a897e41fccb834408cde79522feb37fb72fb0 \ + --hash=sha256:99449cd5366fe4608e7226c6cae80873296dfa0cde45d9b498fefa1de315a09e \ + --hash=sha256:9de955d98e02fab288c7718662afb33aab64212ecb368c5dc866d9a57bf48880 \ + --hash=sha256:a0fb2cb4204ddb456a8e32381f9a90000429489a25f64e817e6ff94879d432fc \ + --hash=sha256:a165442348c211b5dea67c0206fc61366212d7082ba8118c8c5c1c853ea4d82e \ + --hash=sha256:ab2a60d57ca88e1d4ca34a10e9fb4ab2ac5ad315543351de3a612bbb0560bead \ + --hash=sha256:abc06b97407868ef38f3d172762f4069323de52f2b70d133d096a48d72215d28 \ + --hash=sha256:af887845b8c2e060eb5605ff72b6f2dd2aab7a761379373fd89d314f4752abbf \ + --hash=sha256:b19255dde4b4f4c32e012038f2c169bb72e7f081552bea4641cab4d88bc409dd \ + --hash=sha256:b3ded839a5c5608eec8b6f9ae9a62cb22cd037ea97c627f38ae0841a48f09eae \ + --hash=sha256:c1445a0c562ed561d06d8cbc5c8916c6008a31c60bc3655cdd2de1d3bf5174a0 \ + --hash=sha256:d0272228fabe78ce00a3365ffffd6f643f57a91043e119c289aaba202f4095b0 \ + --hash=sha256:d0b51530877d3ad7a8d47b2fff0c8df3b8f3b8deddf057379ba50b13df2a5eae \ + --hash=sha256:d0f77539733e0ec2475ddcd4e26777d08996f8cd55d2aef82ec4d3896687abda \ + --hash=sha256:d2b8f245dad9e331540c350285910b20dd913dc86d4ee410c11d48523c4fd546 \ + --hash=sha256:dd032e8422a52e5a4860e062eb84ac94ea08861d334a4bcaf142a63ce8ad4802 \ + --hash=sha256:de49d77e968de6626ba7ef4472323f9d2e5a56c1d85b7c0e2a190b2173d3b9be \ + --hash=sha256:de839c3a1826a909fdbfe05f6fe2167c4ab033f1133757b5936efe2f84904c07 \ + --hash=sha256:e80ed5a9939ceb6fda42811542f31c8602be336b1fb977bccb012e83da7e4936 \ + --hash=sha256:ea30a42dc94d42f2ba4d0f7c0ffb4f4f9baa1b23045910c0c32df9c9902cb272 \ + --hash=sha256:ea513a25976d21733bff523e0ca836ef1679630ef4ad22d46987d04b372d57fc \ + --hash=sha256:ed19b74e81b10b592084a5ad1e70f845f0aacb57577018d31de064e71ffa267a \ + --hash=sha256:f5af52738e225fcc526ae64071b7e5342abe03f42e0e8918227b38c9aa711e28 \ + --hash=sha256:fae37373155f5ef9b403ab48af5136ae9851151f7aacd9926251ab26b953118b + # via aiohttp +zipp==3.10.0 \ + --hash=sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1 \ + --hash=sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8 + # via importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +setuptools==65.5.1 \ + --hash=sha256:d0b9a8433464d5800cbe05094acf5c6d52a91bfac9b52bcfc4d41382be5d5d31 \ + --hash=sha256:e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f + # via + # numba + # tb-nightly + # tensorboard + # wandb diff --git a/installer/py3.10-windows-x86_64-cuda-reqs.txt b/installer/py3.10-windows-x86_64-cuda-reqs.txt new file mode 100644 index 0000000000..9945bcc3dd --- /dev/null +++ b/installer/py3.10-windows-x86_64-cuda-reqs.txt @@ -0,0 +1,2072 @@ +# +# This file is autogenerated by pip-compile with python 3.10 +# To update, run: +# +# pip-compile --allow-unsafe --generate-hashes --output-file=installer/py3.10-windows-x86_64-cuda-reqs.txt requirements.in +# +--extra-index-url https://download.pytorch.org/whl/cu116 +--trusted-host https + +absl-py==1.3.0 \ + --hash=sha256:34995df9bd7a09b3b8749e230408f5a2a2dd7a68a0d33c12a3d0cb15a041a507 \ + --hash=sha256:463c38a08d2e4cef6c498b76ba5bd4858e4c6ef51da1a5a1f27139a022e20248 + # via + # tb-nightly + # tensorboard +accelerate==0.13.2 \ + --hash=sha256:dd6f08b010077f252dda5a7699d87b02885335c456770939c536e65ff07ed760 \ + --hash=sha256:e22180d7094e4c1bfb05a2b078297c222f6b4fa595fde8916946c3f377cdf019 + # via k-diffusion +addict==2.4.0 \ + --hash=sha256:249bb56bbfd3cdc2a004ea0ff4c2b6ddc84d53bc2194761636eb314d5cfa5dfc \ + --hash=sha256:b3b2210e0e067a281f5646c8c5db92e99b7231ea8b0eb5f74dbdf9e259d4e494 + # via basicsr +aiohttp==3.8.3 \ + --hash=sha256:02f9a2c72fc95d59b881cf38a4b2be9381b9527f9d328771e90f72ac76f31ad8 \ + --hash=sha256:059a91e88f2c00fe40aed9031b3606c3f311414f86a90d696dd982e7aec48142 \ + --hash=sha256:05a3c31c6d7cd08c149e50dc7aa2568317f5844acd745621983380597f027a18 \ + --hash=sha256:08c78317e950e0762c2983f4dd58dc5e6c9ff75c8a0efeae299d363d439c8e34 \ + --hash=sha256:09e28f572b21642128ef31f4e8372adb6888846f32fecb288c8b0457597ba61a \ + --hash=sha256:0d2c6d8c6872df4a6ec37d2ede71eff62395b9e337b4e18efd2177de883a5033 \ + --hash=sha256:16c121ba0b1ec2b44b73e3a8a171c4f999b33929cd2397124a8c7fcfc8cd9e06 \ + --hash=sha256:1d90043c1882067f1bd26196d5d2db9aa6d268def3293ed5fb317e13c9413ea4 \ + --hash=sha256:1e56b9cafcd6531bab5d9b2e890bb4937f4165109fe98e2b98ef0dcfcb06ee9d \ + --hash=sha256:20acae4f268317bb975671e375493dbdbc67cddb5f6c71eebdb85b34444ac46b \ + --hash=sha256:21b30885a63c3f4ff5b77a5d6caf008b037cb521a5f33eab445dc566f6d092cc \ + --hash=sha256:21d69797eb951f155026651f7e9362877334508d39c2fc37bd04ff55b2007091 \ + --hash=sha256:256deb4b29fe5e47893fa32e1de2d73c3afe7407738bd3c63829874661d4822d \ + --hash=sha256:25892c92bee6d9449ffac82c2fe257f3a6f297792cdb18ad784737d61e7a9a85 \ + --hash=sha256:2ca9af5f8f5812d475c5259393f52d712f6d5f0d7fdad9acdb1107dd9e3cb7eb \ + --hash=sha256:2d252771fc85e0cf8da0b823157962d70639e63cb9b578b1dec9868dd1f4f937 \ + --hash=sha256:2dea10edfa1a54098703cb7acaa665c07b4e7568472a47f4e64e6319d3821ccf \ + --hash=sha256:2df5f139233060578d8c2c975128fb231a89ca0a462b35d4b5fcf7c501ebdbe1 \ + --hash=sha256:2feebbb6074cdbd1ac276dbd737b40e890a1361b3cc30b74ac2f5e24aab41f7b \ + --hash=sha256:309aa21c1d54b8ef0723181d430347d7452daaff93e8e2363db8e75c72c2fb2d \ + --hash=sha256:3828fb41b7203176b82fe5d699e0d845435f2374750a44b480ea6b930f6be269 \ + --hash=sha256:398701865e7a9565d49189f6c90868efaca21be65c725fc87fc305906be915da \ + --hash=sha256:43046a319664a04b146f81b40e1545d4c8ac7b7dd04c47e40bf09f65f2437346 \ + --hash=sha256:437399385f2abcd634865705bdc180c8314124b98299d54fe1d4c8990f2f9494 \ + --hash=sha256:45d88b016c849d74ebc6f2b6e8bc17cabf26e7e40c0661ddd8fae4c00f015697 \ + --hash=sha256:47841407cc89a4b80b0c52276f3cc8138bbbfba4b179ee3acbd7d77ae33f7ac4 \ + --hash=sha256:4a4fbc769ea9b6bd97f4ad0b430a6807f92f0e5eb020f1e42ece59f3ecfc4585 \ + --hash=sha256:4ab94426ddb1ecc6a0b601d832d5d9d421820989b8caa929114811369673235c \ + --hash=sha256:4b0f30372cef3fdc262f33d06e7b411cd59058ce9174ef159ad938c4a34a89da \ + --hash=sha256:4e3a23ec214e95c9fe85a58470b660efe6534b83e6cbe38b3ed52b053d7cb6ad \ + --hash=sha256:512bd5ab136b8dc0ffe3fdf2dfb0c4b4f49c8577f6cae55dca862cd37a4564e2 \ + --hash=sha256:527b3b87b24844ea7865284aabfab08eb0faf599b385b03c2aa91fc6edd6e4b6 \ + --hash=sha256:54d107c89a3ebcd13228278d68f1436d3f33f2dd2af5415e3feaeb1156e1a62c \ + --hash=sha256:5835f258ca9f7c455493a57ee707b76d2d9634d84d5d7f62e77be984ea80b849 \ + --hash=sha256:598adde339d2cf7d67beaccda3f2ce7c57b3b412702f29c946708f69cf8222aa \ + --hash=sha256:599418aaaf88a6d02a8c515e656f6faf3d10618d3dd95866eb4436520096c84b \ + --hash=sha256:5bf651afd22d5f0c4be16cf39d0482ea494f5c88f03e75e5fef3a85177fecdeb \ + --hash=sha256:5c59fcd80b9049b49acd29bd3598cada4afc8d8d69bd4160cd613246912535d7 \ + --hash=sha256:653acc3880459f82a65e27bd6526e47ddf19e643457d36a2250b85b41a564715 \ + --hash=sha256:66bd5f950344fb2b3dbdd421aaa4e84f4411a1a13fca3aeb2bcbe667f80c9f76 \ + --hash=sha256:6f3553510abdbec67c043ca85727396ceed1272eef029b050677046d3387be8d \ + --hash=sha256:7018ecc5fe97027214556afbc7c502fbd718d0740e87eb1217b17efd05b3d276 \ + --hash=sha256:713d22cd9643ba9025d33c4af43943c7a1eb8547729228de18d3e02e278472b6 \ + --hash=sha256:73a4131962e6d91109bca6536416aa067cf6c4efb871975df734f8d2fd821b37 \ + --hash=sha256:75880ed07be39beff1881d81e4a907cafb802f306efd6d2d15f2b3c69935f6fb \ + --hash=sha256:75e14eac916f024305db517e00a9252714fce0abcb10ad327fb6dcdc0d060f1d \ + --hash=sha256:8135fa153a20d82ffb64f70a1b5c2738684afa197839b34cc3e3c72fa88d302c \ + --hash=sha256:84b14f36e85295fe69c6b9789b51a0903b774046d5f7df538176516c3e422446 \ + --hash=sha256:86fc24e58ecb32aee09f864cb11bb91bc4c1086615001647dbfc4dc8c32f4008 \ + --hash=sha256:87f44875f2804bc0511a69ce44a9595d5944837a62caecc8490bbdb0e18b1342 \ + --hash=sha256:88c70ed9da9963d5496d38320160e8eb7e5f1886f9290475a881db12f351ab5d \ + --hash=sha256:88e5be56c231981428f4f506c68b6a46fa25c4123a2e86d156c58a8369d31ab7 \ + --hash=sha256:89d2e02167fa95172c017732ed7725bc8523c598757f08d13c5acca308e1a061 \ + --hash=sha256:8d6aaa4e7155afaf994d7924eb290abbe81a6905b303d8cb61310a2aba1c68ba \ + --hash=sha256:92a2964319d359f494f16011e23434f6f8ef0434acd3cf154a6b7bec511e2fb7 \ + --hash=sha256:96372fc29471646b9b106ee918c8eeb4cca423fcbf9a34daa1b93767a88a2290 \ + --hash=sha256:978b046ca728073070e9abc074b6299ebf3501e8dee5e26efacb13cec2b2dea0 \ + --hash=sha256:9c7149272fb5834fc186328e2c1fa01dda3e1fa940ce18fded6d412e8f2cf76d \ + --hash=sha256:a0239da9fbafd9ff82fd67c16704a7d1bccf0d107a300e790587ad05547681c8 \ + --hash=sha256:ad5383a67514e8e76906a06741febd9126fc7c7ff0f599d6fcce3e82b80d026f \ + --hash=sha256:ad61a9639792fd790523ba072c0555cd6be5a0baf03a49a5dd8cfcf20d56df48 \ + --hash=sha256:b29bfd650ed8e148f9c515474a6ef0ba1090b7a8faeee26b74a8ff3b33617502 \ + --hash=sha256:b97decbb3372d4b69e4d4c8117f44632551c692bb1361b356a02b97b69e18a62 \ + --hash=sha256:ba71c9b4dcbb16212f334126cc3d8beb6af377f6703d9dc2d9fb3874fd667ee9 \ + --hash=sha256:c37c5cce780349d4d51739ae682dec63573847a2a8dcb44381b174c3d9c8d403 \ + --hash=sha256:c971bf3786b5fad82ce5ad570dc6ee420f5b12527157929e830f51c55dc8af77 \ + --hash=sha256:d1fde0f44029e02d02d3993ad55ce93ead9bb9b15c6b7ccd580f90bd7e3de476 \ + --hash=sha256:d24b8bb40d5c61ef2d9b6a8f4528c2f17f1c5d2d31fed62ec860f6006142e83e \ + --hash=sha256:d5ba88df9aa5e2f806650fcbeedbe4f6e8736e92fc0e73b0400538fd25a4dd96 \ + --hash=sha256:d6f76310355e9fae637c3162936e9504b4767d5c52ca268331e2756e54fd4ca5 \ + --hash=sha256:d737fc67b9a970f3234754974531dc9afeea11c70791dcb7db53b0cf81b79784 \ + --hash=sha256:da22885266bbfb3f78218dc40205fed2671909fbd0720aedba39b4515c038091 \ + --hash=sha256:da37dcfbf4b7f45d80ee386a5f81122501ec75672f475da34784196690762f4b \ + --hash=sha256:db19d60d846283ee275d0416e2a23493f4e6b6028825b51290ac05afc87a6f97 \ + --hash=sha256:db4c979b0b3e0fa7e9e69ecd11b2b3174c6963cebadeecfb7ad24532ffcdd11a \ + --hash=sha256:e164e0a98e92d06da343d17d4e9c4da4654f4a4588a20d6c73548a29f176abe2 \ + --hash=sha256:e168a7560b7c61342ae0412997b069753f27ac4862ec7867eff74f0fe4ea2ad9 \ + --hash=sha256:e381581b37db1db7597b62a2e6b8b57c3deec95d93b6d6407c5b61ddc98aca6d \ + --hash=sha256:e65bc19919c910127c06759a63747ebe14f386cda573d95bcc62b427ca1afc73 \ + --hash=sha256:e7b8813be97cab8cb52b1375f41f8e6804f6507fe4660152e8ca5c48f0436017 \ + --hash=sha256:e8a78079d9a39ca9ca99a8b0ac2fdc0c4d25fc80c8a8a82e5c8211509c523363 \ + --hash=sha256:ebf909ea0a3fc9596e40d55d8000702a85e27fd578ff41a5500f68f20fd32e6c \ + --hash=sha256:ec40170327d4a404b0d91855d41bfe1fe4b699222b2b93e3d833a27330a87a6d \ + --hash=sha256:f178d2aadf0166be4df834c4953da2d7eef24719e8aec9a65289483eeea9d618 \ + --hash=sha256:f88df3a83cf9df566f171adba39d5bd52814ac0b94778d2448652fc77f9eb491 \ + --hash=sha256:f973157ffeab5459eefe7b97a804987876dd0a55570b8fa56b4e1954bf11329b \ + --hash=sha256:ff25f48fc8e623d95eca0670b8cc1469a83783c924a602e0fbd47363bb54aaca + # via fsspec +aiosignal==1.2.0 \ + --hash=sha256:26e62109036cd181df6e6ad646f91f0dcfd05fe16d0cb924138ff2ab75d64e3a \ + --hash=sha256:78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2 + # via aiohttp +albumentations==1.3.0 \ + --hash=sha256:294165d87d03bc8323e484927f0a5c1a3c64b0e7b9c32a979582a6c93c363bdf \ + --hash=sha256:be1af36832c8893314f2a5550e8ac19801e04770734c1b70fa3c996b41f37bed + # via -r requirements.in +altair==4.2.0 \ + --hash=sha256:0c724848ae53410c13fa28be2b3b9a9dcb7b5caa1a70f7f217bd663bb419935a \ + --hash=sha256:d87d9372e63b48cd96b2a6415f0cf9457f50162ab79dc7a31cd7e024dd840026 + # via streamlit +antlr4-python3-runtime==4.9.3 \ + --hash=sha256:f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b + # via omegaconf +async-timeout==4.0.2 \ + --hash=sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15 \ + --hash=sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c + # via aiohttp +attrs==22.1.0 \ + --hash=sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6 \ + --hash=sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c + # via + # aiohttp + # jsonschema +basicsr==1.4.2 \ + --hash=sha256:b89b595a87ef964cda9913b4d99380ddb6554c965577c0c10cb7b78e31301e87 + # via + # gfpgan + # realesrgan +bidict==0.22.0 \ + --hash=sha256:415126d23a0c81e1a8c584a8fb1f6905ea090c772571803aeee0a2242e8e7ba0 \ + --hash=sha256:5c826b3e15e97cc6e615de295756847c282a79b79c5430d3bfc909b1ac9f5bd8 + # via python-socketio +blinker==1.5 \ + --hash=sha256:1eb563df6fdbc39eeddc177d953203f99f097e9bf0e2b8f9f3cf18b6ca425e36 \ + --hash=sha256:923e5e2f69c155f2cc42dafbbd70e16e3fde24d2d4aa2ab72fbe386238892462 + # via streamlit +cachetools==5.2.0 \ + --hash=sha256:6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757 \ + --hash=sha256:f9f17d2aec496a9aa6b76f53e3b614c965223c061982d434d160f930c698a9db + # via + # google-auth + # streamlit +certifi==2022.9.24 \ + --hash=sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14 \ + --hash=sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382 + # via + # requests + # sentry-sdk +chardet==4.0.0 \ + --hash=sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa \ + --hash=sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5 + # via requests +charset-normalizer==2.1.1 \ + --hash=sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845 \ + --hash=sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f + # via aiohttp +clean-fid==0.1.34 \ + --hash=sha256:2997f85a67a28c95adaae7899a33fc10537164fef4cdd424e3257bffad79a901 + # via k-diffusion +click==8.1.3 \ + --hash=sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e \ + --hash=sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48 + # via + # flask + # streamlit + # wandb +clip @ https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip \ + --hash=sha256:b5842c25da441d6c581b53a5c60e0c2127ebafe0f746f8e15561a006c6c3be6a + # via -r requirements.in +colorama==0.4.6 \ + --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ + --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 + # via + # click + # tqdm +commonmark==0.9.1 \ + --hash=sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60 \ + --hash=sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9 + # via rich +contourpy==1.0.6 \ + --hash=sha256:0236875c5a0784215b49d00ebbe80c5b6b5d5244b3655a36dda88105334dea17 \ + --hash=sha256:03d1b9c6b44a9e30d554654c72be89af94fab7510b4b9f62356c64c81cec8b7d \ + --hash=sha256:0537cc1195245bbe24f2913d1f9211b8f04eb203de9044630abd3664c6cc339c \ + --hash=sha256:06ca79e1efbbe2df795822df2fa173d1a2b38b6e0f047a0ec7903fbca1d1847e \ + --hash=sha256:08e8d09d96219ace6cb596506fb9b64ea5f270b2fb9121158b976d88871fcfd1 \ + --hash=sha256:0b1e66346acfb17694d46175a0cea7d9036f12ed0c31dfe86f0f405eedde2bdd \ + --hash=sha256:0b97454ed5b1368b66ed414c754cba15b9750ce69938fc6153679787402e4cdf \ + --hash=sha256:0e4854cc02006ad6684ce092bdadab6f0912d131f91c2450ce6dbdea78ee3c0b \ + --hash=sha256:12a7dc8439544ed05c6553bf026d5e8fa7fad48d63958a95d61698df0e00092b \ + --hash=sha256:1b1ee48a130da4dd0eb8055bbab34abf3f6262957832fd575e0cab4979a15a41 \ + --hash=sha256:1c0e1308307a75e07d1f1b5f0f56b5af84538a5e9027109a7bcf6cb47c434e72 \ + --hash=sha256:1dedf4c64185a216c35eb488e6f433297c660321275734401760dafaeb0ad5c2 \ + --hash=sha256:208bc904889c910d95aafcf7be9e677726df9ef71e216780170dbb7e37d118fa \ + --hash=sha256:211dfe2bd43bf5791d23afbe23a7952e8ac8b67591d24be3638cabb648b3a6eb \ + --hash=sha256:341330ed19074f956cb20877ad8d2ae50e458884bfa6a6df3ae28487cc76c768 \ + --hash=sha256:344cb3badf6fc7316ad51835f56ac387bdf86c8e1b670904f18f437d70da4183 \ + --hash=sha256:358f6364e4873f4d73360b35da30066f40387dd3c427a3e5432c6b28dd24a8fa \ + --hash=sha256:371f6570a81dfdddbb837ba432293a63b4babb942a9eb7aaa699997adfb53278 \ + --hash=sha256:375d81366afd547b8558c4720337218345148bc2fcffa3a9870cab82b29667f2 \ + --hash=sha256:3a1917d3941dd58732c449c810fa7ce46cc305ce9325a11261d740118b85e6f3 \ + --hash=sha256:4081918147fc4c29fad328d5066cfc751da100a1098398742f9f364be63803fc \ + --hash=sha256:444fb776f58f4906d8d354eb6f6ce59d0a60f7b6a720da6c1ccb839db7c80eb9 \ + --hash=sha256:46deb310a276cc5c1fd27958e358cce68b1e8a515fa5a574c670a504c3a3fe30 \ + --hash=sha256:494efed2c761f0f37262815f9e3c4bb9917c5c69806abdee1d1cb6611a7174a0 \ + --hash=sha256:50627bf76abb6ba291ad08db583161939c2c5fab38c38181b7833423ab9c7de3 \ + --hash=sha256:5641927cc5ae66155d0c80195dc35726eae060e7defc18b7ab27600f39dd1fe7 \ + --hash=sha256:5b117d29433fc8393b18a696d794961464e37afb34a6eeb8b2c37b5f4128a83e \ + --hash=sha256:613c665529899b5d9fade7e5d1760111a0b011231277a0d36c49f0d3d6914bd6 \ + --hash=sha256:6e459ebb8bb5ee4c22c19cc000174f8059981971a33ce11e17dddf6aca97a142 \ + --hash=sha256:6f56515e7c6fae4529b731f6c117752247bef9cdad2b12fc5ddf8ca6a50965a5 \ + --hash=sha256:730c27978a0003b47b359935478b7d63fd8386dbb2dcd36c1e8de88cbfc1e9de \ + --hash=sha256:75a2e638042118118ab39d337da4c7908c1af74a8464cad59f19fbc5bbafec9b \ + --hash=sha256:78ced51807ccb2f45d4ea73aca339756d75d021069604c2fccd05390dc3c28eb \ + --hash=sha256:7ee394502026d68652c2824348a40bf50f31351a668977b51437131a90d777ea \ + --hash=sha256:8468b40528fa1e15181cccec4198623b55dcd58306f8815a793803f51f6c474a \ + --hash=sha256:84c593aeff7a0171f639da92cb86d24954bbb61f8a1b530f74eb750a14685832 \ + --hash=sha256:913bac9d064cff033cf3719e855d4f1db9f1c179e0ecf3ba9fdef21c21c6a16a \ + --hash=sha256:9447c45df407d3ecb717d837af3b70cfef432138530712263730783b3d016512 \ + --hash=sha256:9b0e7fe7f949fb719b206548e5cde2518ffb29936afa4303d8a1c4db43dcb675 \ + --hash=sha256:9bc407a6af672da20da74823443707e38ece8b93a04009dca25856c2d9adadb1 \ + --hash=sha256:9e8e686a6db92a46111a1ee0ee6f7fbfae4048f0019de207149f43ac1812cf95 \ + --hash=sha256:9fc4e7973ed0e1fe689435842a6e6b330eb7ccc696080dda9a97b1a1b78e41db \ + --hash=sha256:a457ee72d9032e86730f62c5eeddf402e732fdf5ca8b13b41772aa8ae13a4563 \ + --hash=sha256:a628bba09ba72e472bf7b31018b6281fd4cc903f0888049a3724afba13b6e0b8 \ + --hash=sha256:a79d239fc22c3b8d9d3de492aa0c245533f4f4c7608e5749af866949c0f1b1b9 \ + --hash=sha256:aa4674cf3fa2bd9c322982644967f01eed0c91bb890f624e0e0daf7a5c3383e9 \ + --hash=sha256:acd2bd02f1a7adff3a1f33e431eb96ab6d7987b039d2946a9b39fe6fb16a1036 \ + --hash=sha256:b3b1bd7577c530eaf9d2bc52d1a93fef50ac516a8b1062c3d1b9bcec9ebe329b \ + --hash=sha256:b48d94386f1994db7c70c76b5808c12e23ed7a4ee13693c2fc5ab109d60243c0 \ + --hash=sha256:b64f747e92af7da3b85631a55d68c45a2d728b4036b03cdaba4bd94bcc85bd6f \ + --hash=sha256:b98c820608e2dca6442e786817f646d11057c09a23b68d2b3737e6dcb6e4a49b \ + --hash=sha256:c1baa49ab9fedbf19d40d93163b7d3e735d9cd8d5efe4cce9907902a6dad391f \ + --hash=sha256:c38c6536c2d71ca2f7e418acaf5bca30a3af7f2a2fa106083c7d738337848dbe \ + --hash=sha256:c78bfbc1a7bff053baf7e508449d2765964d67735c909b583204e3240a2aca45 \ + --hash=sha256:cd2bc0c8f2e8de7dd89a7f1c10b8844e291bca17d359373203ef2e6100819edd \ + --hash=sha256:d2eff2af97ea0b61381828b1ad6cd249bbd41d280e53aea5cccd7b2b31b8225c \ + --hash=sha256:d8834c14b8c3dd849005e06703469db9bf96ba2d66a3f88ecc539c9a8982e0ee \ + --hash=sha256:d912f0154a20a80ea449daada904a7eb6941c83281a9fab95de50529bfc3a1da \ + --hash=sha256:da1ef35fd79be2926ba80fbb36327463e3656c02526e9b5b4c2b366588b74d9a \ + --hash=sha256:dbe6fe7a1166b1ddd7b6d887ea6fa8389d3f28b5ed3f73a8f40ece1fc5a3d340 \ + --hash=sha256:dcd556c8fc37a342dd636d7eef150b1399f823a4462f8c968e11e1ebeabee769 \ + --hash=sha256:e13b31d1b4b68db60b3b29f8e337908f328c7f05b9add4b1b5c74e0691180109 \ + --hash=sha256:e1739496c2f0108013629aa095cc32a8c6363444361960c07493818d0dea2da4 \ + --hash=sha256:e43255a83835a129ef98f75d13d643844d8c646b258bebd11e4a0975203e018f \ + --hash=sha256:e626cefff8491bce356221c22af5a3ea528b0b41fbabc719c00ae233819ea0bf \ + --hash=sha256:eadad75bf91897f922e0fb3dca1b322a58b1726a953f98c2e5f0606bd8408621 \ + --hash=sha256:f33da6b5d19ad1bb5e7ad38bb8ba5c426d2178928bc2b2c44e8823ea0ecb6ff3 \ + --hash=sha256:f4052a8a4926d4468416fc7d4b2a7b2a3e35f25b39f4061a7e2a3a2748c4fc48 \ + --hash=sha256:f6ca38dd8d988eca8f07305125dec6f54ac1c518f1aaddcc14d08c01aebb6efc + # via matplotlib +cycler==0.11.0 \ + --hash=sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3 \ + --hash=sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f + # via matplotlib +decorator==5.1.1 \ + --hash=sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330 \ + --hash=sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186 + # via validators +diffusers==0.7.2 \ + --hash=sha256:4a5f8b3a5fbd936bba7d459611cb35ec62875030367be32b232f9e19543e25a9 \ + --hash=sha256:fb814ffd150cc6f470380b8c6a521181a77beb2f44134d2aad2e4cd8aa2ced0e + # via -r requirements.in +dnspython==2.2.1 \ + --hash=sha256:0f7569a4a6ff151958b64304071d370daa3243d15941a7beedf0c9fe5105603e \ + --hash=sha256:a851e51367fb93e9e1361732c1d60dab63eff98712e503ea7d92e6eccb109b4f + # via eventlet +docker-pycreds==0.4.0 \ + --hash=sha256:6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4 \ + --hash=sha256:7266112468627868005106ec19cd0d722702d2b7d5912a28e19b826c3d37af49 + # via wandb +einops==0.5.0 \ + --hash=sha256:055de7eeb3cb9e9710ef3085a811090c6b52e809b7044e8785824ed185f486d1 \ + --hash=sha256:8b7a83cffc1ea88e306df099b7cbb9c3ba5003bd84d05ae44be5655864abb8d3 + # via k-diffusion +entrypoints==0.4 \ + --hash=sha256:b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4 \ + --hash=sha256:f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f + # via altair +eventlet==0.33.1 \ + --hash=sha256:a085922698e5029f820cf311a648ac324d73cec0e4792877609d978a4b5bbf31 \ + --hash=sha256:afbe17f06a58491e9aebd7a4a03e70b0b63fd4cf76d8307bae07f280479b1515 + # via -r requirements.in +facexlib==0.2.5 \ + --hash=sha256:31e20cc4ed5d63562d380e4564bae14ac0d5d1899a079bad87621e13564567e4 \ + --hash=sha256:cc7ceb56c5424319c47223cf75eef6828c34c66082707c6eb35b95d39779f02d + # via + # gfpgan + # realesrgan +filelock==3.8.0 \ + --hash=sha256:55447caa666f2198c5b6b13a26d2084d26fa5b115c00d065664b2124680c4edc \ + --hash=sha256:617eb4e5eedc82fc5f47b6d61e4d11cb837c56cb4544e39081099fa17ad109d4 + # via + # diffusers + # huggingface-hub + # transformers +filterpy==1.4.5 \ + --hash=sha256:4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1 + # via facexlib +flask==2.2.2 \ + --hash=sha256:642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b \ + --hash=sha256:b9c46cc36662a7949f34b52d8ec7bb59c0d74ba08ba6cb9ce9adc1d8676d9526 + # via + # flask-cors + # flask-socketio +flask-cors==3.0.10 \ + --hash=sha256:74efc975af1194fc7891ff5cd85b0f7478be4f7f59fe158102e91abb72bb4438 \ + --hash=sha256:b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de + # via -r requirements.in +flask-socketio==5.3.1 \ + --hash=sha256:fd0ed0fc1341671d92d5f5b2f5503916deb7aa7e2940e6636cfa2c087c828bf9 \ + --hash=sha256:ff0c721f20bff1e2cfba77948727a8db48f187e89a72fe50c34478ce6efb3353 + # via -r requirements.in +flaskwebgui==0.3.7 \ + --hash=sha256:4a69955308eaa8bb256ba04a994dc8f58a48dcd6f9599694ab1bcd9f43d88a5d \ + --hash=sha256:535974ce2672dcc74787c254de24cceed4101be75d96952dae82014dd57f061e + # via -r requirements.in +fonttools==4.38.0 \ + --hash=sha256:2bb244009f9bf3fa100fc3ead6aeb99febe5985fa20afbfbaa2f8946c2fbdaf1 \ + --hash=sha256:820466f43c8be8c3009aef8b87e785014133508f0de64ec469e4efb643ae54fb + # via matplotlib +frozenlist==1.3.1 \ + --hash=sha256:022178b277cb9277d7d3b3f2762d294f15e85cd2534047e68a118c2bb0058f3e \ + --hash=sha256:086ca1ac0a40e722d6833d4ce74f5bf1aba2c77cbfdc0cd83722ffea6da52a04 \ + --hash=sha256:0bc75692fb3770cf2b5856a6c2c9de967ca744863c5e89595df64e252e4b3944 \ + --hash=sha256:0dde791b9b97f189874d654c55c24bf7b6782343e14909c84beebd28b7217845 \ + --hash=sha256:12607804084d2244a7bd4685c9d0dca5df17a6a926d4f1967aa7978b1028f89f \ + --hash=sha256:19127f8dcbc157ccb14c30e6f00392f372ddb64a6ffa7106b26ff2196477ee9f \ + --hash=sha256:1b51eb355e7f813bcda00276b0114c4172872dc5fb30e3fea059b9367c18fbcb \ + --hash=sha256:1e1cf7bc8cbbe6ce3881863671bac258b7d6bfc3706c600008925fb799a256e2 \ + --hash=sha256:219a9676e2eae91cb5cc695a78b4cb43d8123e4160441d2b6ce8d2c70c60e2f3 \ + --hash=sha256:2743bb63095ef306041c8f8ea22bd6e4d91adabf41887b1ad7886c4c1eb43d5f \ + --hash=sha256:2af6f7a4e93f5d08ee3f9152bce41a6015b5cf87546cb63872cc19b45476e98a \ + --hash=sha256:31b44f1feb3630146cffe56344704b730c33e042ffc78d21f2125a6a91168131 \ + --hash=sha256:31bf9539284f39ff9398deabf5561c2b0da5bb475590b4e13dd8b268d7a3c5c1 \ + --hash=sha256:35c3d79b81908579beb1fb4e7fcd802b7b4921f1b66055af2578ff7734711cfa \ + --hash=sha256:3a735e4211a04ccfa3f4833547acdf5d2f863bfeb01cfd3edaffbc251f15cec8 \ + --hash=sha256:42719a8bd3792744c9b523674b752091a7962d0d2d117f0b417a3eba97d1164b \ + --hash=sha256:49459f193324fbd6413e8e03bd65789e5198a9fa3095e03f3620dee2f2dabff2 \ + --hash=sha256:4c0c99e31491a1d92cde8648f2e7ccad0e9abb181f6ac3ddb9fc48b63301808e \ + --hash=sha256:52137f0aea43e1993264a5180c467a08a3e372ca9d378244c2d86133f948b26b \ + --hash=sha256:526d5f20e954d103b1d47232e3839f3453c02077b74203e43407b962ab131e7b \ + --hash=sha256:53b2b45052e7149ee8b96067793db8ecc1ae1111f2f96fe1f88ea5ad5fd92d10 \ + --hash=sha256:572ce381e9fe027ad5e055f143763637dcbac2542cfe27f1d688846baeef5170 \ + --hash=sha256:58fb94a01414cddcdc6839807db77ae8057d02ddafc94a42faee6004e46c9ba8 \ + --hash=sha256:5e77a8bd41e54b05e4fb2708dc6ce28ee70325f8c6f50f3df86a44ecb1d7a19b \ + --hash=sha256:5f271c93f001748fc26ddea409241312a75e13466b06c94798d1a341cf0e6989 \ + --hash=sha256:5f63c308f82a7954bf8263a6e6de0adc67c48a8b484fab18ff87f349af356efd \ + --hash=sha256:61d7857950a3139bce035ad0b0945f839532987dfb4c06cfe160254f4d19df03 \ + --hash=sha256:61e8cb51fba9f1f33887e22488bad1e28dd8325b72425f04517a4d285a04c519 \ + --hash=sha256:625d8472c67f2d96f9a4302a947f92a7adbc1e20bedb6aff8dbc8ff039ca6189 \ + --hash=sha256:6e19add867cebfb249b4e7beac382d33215d6d54476bb6be46b01f8cafb4878b \ + --hash=sha256:717470bfafbb9d9be624da7780c4296aa7935294bd43a075139c3d55659038ca \ + --hash=sha256:74140933d45271c1a1283f708c35187f94e1256079b3c43f0c2267f9db5845ff \ + --hash=sha256:74e6b2b456f21fc93ce1aff2b9728049f1464428ee2c9752a4b4f61e98c4db96 \ + --hash=sha256:9494122bf39da6422b0972c4579e248867b6b1b50c9b05df7e04a3f30b9a413d \ + --hash=sha256:94e680aeedc7fd3b892b6fa8395b7b7cc4b344046c065ed4e7a1e390084e8cb5 \ + --hash=sha256:97d9e00f3ac7c18e685320601f91468ec06c58acc185d18bb8e511f196c8d4b2 \ + --hash=sha256:9c6ef8014b842f01f5d2b55315f1af5cbfde284eb184075c189fd657c2fd8204 \ + --hash=sha256:a027f8f723d07c3f21963caa7d585dcc9b089335565dabe9c814b5f70c52705a \ + --hash=sha256:a718b427ff781c4f4e975525edb092ee2cdef6a9e7bc49e15063b088961806f8 \ + --hash=sha256:ab386503f53bbbc64d1ad4b6865bf001414930841a870fc97f1546d4d133f141 \ + --hash=sha256:ab6fa8c7871877810e1b4e9392c187a60611fbf0226a9e0b11b7b92f5ac72792 \ + --hash=sha256:b47d64cdd973aede3dd71a9364742c542587db214e63b7529fbb487ed67cddd9 \ + --hash=sha256:b499c6abe62a7a8d023e2c4b2834fce78a6115856ae95522f2f974139814538c \ + --hash=sha256:bbb1a71b1784e68870800b1bc9f3313918edc63dbb8f29fbd2e767ce5821696c \ + --hash=sha256:c3b31180b82c519b8926e629bf9f19952c743e089c41380ddca5db556817b221 \ + --hash=sha256:c56c299602c70bc1bb5d1e75f7d8c007ca40c9d7aebaf6e4ba52925d88ef826d \ + --hash=sha256:c92deb5d9acce226a501b77307b3b60b264ca21862bd7d3e0c1f3594022f01bc \ + --hash=sha256:cc2f3e368ee5242a2cbe28323a866656006382872c40869b49b265add546703f \ + --hash=sha256:d82bed73544e91fb081ab93e3725e45dd8515c675c0e9926b4e1f420a93a6ab9 \ + --hash=sha256:da1cdfa96425cbe51f8afa43e392366ed0b36ce398f08b60de6b97e3ed4affef \ + --hash=sha256:da5ba7b59d954f1f214d352308d1d86994d713b13edd4b24a556bcc43d2ddbc3 \ + --hash=sha256:e0c8c803f2f8db7217898d11657cb6042b9b0553a997c4a0601f48a691480fab \ + --hash=sha256:ee4c5120ddf7d4dd1eaf079af3af7102b56d919fa13ad55600a4e0ebe532779b \ + --hash=sha256:eee0c5ecb58296580fc495ac99b003f64f82a74f9576a244d04978a7e97166db \ + --hash=sha256:f5abc8b4d0c5b556ed8cd41490b606fe99293175a82b98e652c3f2711b452988 \ + --hash=sha256:f810e764617b0748b49a731ffaa525d9bb36ff38332411704c2400125af859a6 \ + --hash=sha256:f89139662cc4e65a4813f4babb9ca9544e42bddb823d2ec434e18dad582543bc \ + --hash=sha256:fa47319a10e0a076709644a0efbcaab9e91902c8bd8ef74c6adb19d320f69b83 \ + --hash=sha256:fabb953ab913dadc1ff9dcc3a7a7d3dc6a92efab3a0373989b8063347f8705be + # via + # aiohttp + # aiosignal +fsspec[http]==2022.10.0 \ + --hash=sha256:6b7c6ab3b476cdf17efcfeccde7fca28ef5a48f73a71010aaceec5fc15bf9ebf \ + --hash=sha256:cb6092474e90487a51de768170f3afa50ca8982c26150a59072b16433879ff1d + # via pytorch-lightning +ftfy==6.1.1 \ + --hash=sha256:0ffd33fce16b54cccaec78d6ec73d95ad370e5df5a25255c8966a6147bd667ca \ + --hash=sha256:bfc2019f84fcd851419152320a6375604a0f1459c281b5b199b2cd0d2e727f8f + # via clip +future==0.18.2 \ + --hash=sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d + # via + # basicsr + # test-tube +getpass-asterisk==1.0.1 \ + --hash=sha256:20d45cafda0066d761961e0919728526baf7bb5151fbf48a7d5ea4034127d857 \ + --hash=sha256:7cc357a924cf62fa4e15b73cb4e5e30685c9084e464ffdc3fd9000a2b54ea9e9 + # via -r requirements.in +gfpgan @ https://github.com/TencentARC/GFPGAN/archive/2eac2033893ca7f427f4035d80fe95b92649ac56.zip \ + --hash=sha256:79e6d71c8f1df7c7ccb0ac6b9a2ccb615ad5cde818c8b6f285a8711c05aebf85 + # via + # -r requirements.in + # realesrgan +gitdb==4.0.9 \ + --hash=sha256:8033ad4e853066ba6ca92050b9df2f89301b8fc8bf7e9324d412a63f8bf1a8fd \ + --hash=sha256:bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa + # via gitpython +gitpython==3.1.29 \ + --hash=sha256:41eea0deec2deea139b459ac03656f0dd28fc4a3387240ec1d3c259a2c47850f \ + --hash=sha256:cc36bfc4a3f913e66805a28e84703e419d9c264c1077e537b54f0e1af85dbefd + # via + # streamlit + # wandb +google-auth==2.14.0 \ + --hash=sha256:1ad5b0e6eba5f69645971abb3d2c197537d5914070a8c6d30299dfdb07c5c700 \ + --hash=sha256:cf24817855d874ede2efd071aa22125445f555de1685b739a9782fcf408c2a3d + # via + # google-auth-oauthlib + # tb-nightly + # tensorboard +google-auth-oauthlib==0.4.6 \ + --hash=sha256:3f2a6e802eebbb6fb736a370fbf3b055edcb6b52878bf2f26330b5e041316c73 \ + --hash=sha256:a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a + # via + # tb-nightly + # tensorboard +greenlet==2.0.0.post0 \ + --hash=sha256:00ebdaf0fa51c284fd2172837d751731a15971e0c20d1a9163cfbdf620ce8b49 \ + --hash=sha256:029ca674b3a7e8427db8f5c65d5ed4e24a7417af2a415a5958598aefd71980c4 \ + --hash=sha256:02bdb1e373b275bd705c43b249426e776c4f8a8ff2afaf8ec5ea0dde487d8a14 \ + --hash=sha256:08dc04f49ed1ea5e6772bb5e8cf2a77d1b1744566f4eca471a55b35af1278b31 \ + --hash=sha256:08f44e938d142271b954405afb6570e0be48a9f556b6bf4d42d2e3ae6a251fad \ + --hash=sha256:0a5c03e2a68ec2ff1cba74ceaed899ec8cd353285f4f985c30c8cfbef9d3a3be \ + --hash=sha256:0fee3240093b745efc857392f09379514ad84db4ca324514594bbdf6380016c8 \ + --hash=sha256:118e708dd7bc88beaeeaa5a8601a7743b8835b7bbaf7c8f23ffa78f8bc8faf28 \ + --hash=sha256:13d492a807a5c7334b5931e9b6d9b181991ccc6a40555a7b177f189feff59b4b \ + --hash=sha256:1cac9e9895aeff26434325404558783ee54f4ff3aec8daa56b8706796f7b01a0 \ + --hash=sha256:2146d15429b4eeb412428737594acb5660a5bc0fdd1488d8a2a74a5ee32391fa \ + --hash=sha256:21ee1ae26d072b195edea764218623f6c15eba4ae06816908f33c82e0af018d3 \ + --hash=sha256:22eca421e3f2f3c18f4f54c0ff525aa9d397c6f116fce9ebd37b420174dbc027 \ + --hash=sha256:2bab49783858cf724fff6868395cbeb81d1188cba23616b53e79de0beda29f42 \ + --hash=sha256:2fbdec204ca40b3d0c0992a19c1ba627441c17983ac4ffc45baec7f5f53e20ca \ + --hash=sha256:30ce47525f9a1515566429ac7de6b1ae76d32c3ccede256e3517a1a6419cf659 \ + --hash=sha256:335dcf676d5e4122e4006c16ae11eda2467af5461b949c265ce120b6b959ffe2 \ + --hash=sha256:3407b843b05da71fef0f1dd666059c08ad0e0f4afc3b9c93c998a2e53fac95e5 \ + --hash=sha256:35827f98fd0d768862b8f15777e6dbb03fe6ac6e7bd1bee3f3ded4536f350347 \ + --hash=sha256:3a22e5988f9d66b3e9ae9583bf9d8ef792b09f23afeb78707e6a4f47ab57cc5e \ + --hash=sha256:3c3327da2bdab61078e42e695307465c425671a5a9251e6c29ee130d51943f28 \ + --hash=sha256:3ca723dfc2789c1fb991809822811896b198ecf0909dbccea4a07170d18c3e1b \ + --hash=sha256:46156ae88ee71c37b6c4f7af63fff5d3ab8f45ef72e1a660bcf6386c1647f106 \ + --hash=sha256:4bbe2d074292e3646704371eb640ee52c386d633ed72ff223dadcd3fe8ecd8f9 \ + --hash=sha256:4c4310f0e42154995d92810f27b44ab7116a4a696feb0ff141ae2de59196efd7 \ + --hash=sha256:4cfa629de5b2dea27c81b334c4536463e9a49ac0877e2008a276d58d4c72868a \ + --hash=sha256:4e144ab0de56b4d2a2cf0d2fb9d568b59fce49aab3e129badf17c12b0252047d \ + --hash=sha256:4ea67f303cec384b148774667c7e3cf02311e7026fc02bdcdcd206dfe4ea4fc9 \ + --hash=sha256:538c9e8f65a32413ace426f8117ef019021adf8175f7c491fed65f5fe2083e0c \ + --hash=sha256:56565ac9ab4ff3dd473bfe959e0bf2a5062aabb89b7c94cabb417beb162c9fff \ + --hash=sha256:5e22485256bb1c60bbcc6f8509b1a11042358a2462d5ecdb9a82dc472d2fdd60 \ + --hash=sha256:602a69c24f1a9755dd1760b3b31bdfc495c4613260c876a01b7e6d5eb9bcae1b \ + --hash=sha256:6393ec3cecda53b20241e88bc33d87cbd8126cc10870fc69fa16ca2e20a5ac1b \ + --hash=sha256:6442bbfb047dc1e47658954b72e1589f2bc4e12e67d51bbad0059a626180daa1 \ + --hash=sha256:666d2a0b269a68cd4fe0976544ab97970c5334d35d0e47ae9be1723f734d8204 \ + --hash=sha256:697cfbfc19815c40213badcfe5f076418e0f9100cd25a66f513f32c1026b8bf4 \ + --hash=sha256:6a1a6745c5dce202aa3f29a1736c53cf2179e9c3b280dc62cea9cb8c69977c83 \ + --hash=sha256:6fc73fc8dd81d9efa842a55033b6b4cb233b134a0270e127c6874d053ef2049b \ + --hash=sha256:7e9e0d4c5c618b0442396715ffe6c2f84a60d593dad7e0184388aed36d568a65 \ + --hash=sha256:81fdcf7c0c2df46a99ca421a552c4370117851c5e4dbd6cb53d569b896d62322 \ + --hash=sha256:8b26932be686f3582df039d79fe96f7ca13d63b39468162f816f9ff29584b9a4 \ + --hash=sha256:8b7e5191b974fb66fcbac1818ba494d3512da9cf6eaef7acd952f9862eaaa20c \ + --hash=sha256:8c80e9c41a83d8c90399af8c7dcdeae0c03c48b40b9d0ab84457533d5d7882bf \ + --hash=sha256:9f2f110b9cc325f6543e0e3f4ab8008c272a59052f9464047c29d4be4511ce05 \ + --hash=sha256:a339e510a079dc8372e39ce1c7629414db51966235c9670c58d529def79243a2 \ + --hash=sha256:ad9abc3e4d2370cecb524421cc5c8a664006aa11d5c1cb3c9250e3bf65ab546e \ + --hash=sha256:b043782c8f6cccc8fae3a16db397eca1d36a41b0706cbf6f514aea1e1a260bab \ + --hash=sha256:b31de27313abbb567c528ed123380fcf18a5dfd03134570dfd12227e21ac1184 \ + --hash=sha256:b75e5644cc353328cd57ec8dafaaf5f81b2c3ecf7c4b278b907e99ad53ba7839 \ + --hash=sha256:b8cfc8fc944bd7b704691bc28225a2635e377e92dc413459845868d3f7724982 \ + --hash=sha256:c2055c52260808d87622293b57df1c68aeb12ddd8a0cfc0223fb57a5f629e202 \ + --hash=sha256:c416106b3b8e905b6ab0e84ec90047a6401021aa023f9aa93978e57cd8f8189f \ + --hash=sha256:d0e210e17a6181a3fd3f8dce957043a4e74177ffa9f295514984b2b633940dce \ + --hash=sha256:d9453135e48cd631e3e9f06d9da9100d17c9f662e4a6d8b552c29be6c834a6b9 \ + --hash=sha256:dd0198006278291d9469309d655093df1f5e5107c0261e242b5f390baee32199 \ + --hash=sha256:e1781bda1e787d3ad33788cc3be47f6e47a9581676d02670c15ee36c9460adfe \ + --hash=sha256:e56a5a9f303e3ac011ba445a6d84f05d08666bf8db094afafcec5228622c30f5 \ + --hash=sha256:e93ae35f0fd3caf75e58c76a1cab71e6ece169aaa1b281782ef9efde0a6b83f2 \ + --hash=sha256:eb36b6570646227a63eda03916f1cc6f3744ee96d28f7a0a5629c59267a8055f \ + --hash=sha256:f8c425a130e04d5404edaf6f5906e5ab12f3aa1168a1828aba6dfadac5910469 + # via eventlet +grpcio==1.50.0 \ + --hash=sha256:05f7c248e440f538aaad13eee78ef35f0541e73498dd6f832fe284542ac4b298 \ + --hash=sha256:080b66253f29e1646ac53ef288c12944b131a2829488ac3bac8f52abb4413c0d \ + --hash=sha256:12b479839a5e753580b5e6053571de14006157f2ef9b71f38c56dc9b23b95ad6 \ + --hash=sha256:156f8009e36780fab48c979c5605eda646065d4695deea4cfcbcfdd06627ddb6 \ + --hash=sha256:15f9e6d7f564e8f0776770e6ef32dac172c6f9960c478616c366862933fa08b4 \ + --hash=sha256:177afaa7dba3ab5bfc211a71b90da1b887d441df33732e94e26860b3321434d9 \ + --hash=sha256:1a4cd8cb09d1bc70b3ea37802be484c5ae5a576108bad14728f2516279165dd7 \ + --hash=sha256:1d8d02dbb616c0a9260ce587eb751c9c7dc689bc39efa6a88cc4fa3e9c138a7b \ + --hash=sha256:2b71916fa8f9eb2abd93151fafe12e18cebb302686b924bd4ec39266211da525 \ + --hash=sha256:2d9fd6e38b16c4d286a01e1776fdf6c7a4123d99ae8d6b3f0b4a03a34bf6ce45 \ + --hash=sha256:3b611b3de3dfd2c47549ca01abfa9bbb95937eb0ea546ea1d762a335739887be \ + --hash=sha256:3e4244c09cc1b65c286d709658c061f12c61c814be0b7030a2d9966ff02611e0 \ + --hash=sha256:40838061e24f960b853d7bce85086c8e1b81c6342b1f4c47ff0edd44bbae2722 \ + --hash=sha256:4b123fbb7a777a2fedec684ca0b723d85e1d2379b6032a9a9b7851829ed3ca9a \ + --hash=sha256:531f8b46f3d3db91d9ef285191825d108090856b3bc86a75b7c3930f16ce432f \ + --hash=sha256:67dd41a31f6fc5c7db097a5c14a3fa588af54736ffc174af4411d34c4f306f68 \ + --hash=sha256:7489dbb901f4fdf7aec8d3753eadd40839c9085967737606d2c35b43074eea24 \ + --hash=sha256:8d4c8e73bf20fb53fe5a7318e768b9734cf122fe671fcce75654b98ba12dfb75 \ + --hash=sha256:8e69aa4e9b7f065f01d3fdcecbe0397895a772d99954bb82eefbb1682d274518 \ + --hash=sha256:8e8999a097ad89b30d584c034929f7c0be280cd7851ac23e9067111167dcbf55 \ + --hash=sha256:906f4d1beb83b3496be91684c47a5d870ee628715227d5d7c54b04a8de802974 \ + --hash=sha256:92d7635d1059d40d2ec29c8bf5ec58900120b3ce5150ef7414119430a4b2dd5c \ + --hash=sha256:931e746d0f75b2a5cff0a1197d21827a3a2f400c06bace036762110f19d3d507 \ + --hash=sha256:95ce51f7a09491fb3da8cf3935005bff19983b77c4e9437ef77235d787b06842 \ + --hash=sha256:9eea18a878cffc804506d39c6682d71f6b42ec1c151d21865a95fae743fda500 \ + --hash=sha256:a23d47f2fc7111869f0ff547f771733661ff2818562b04b9ed674fa208e261f4 \ + --hash=sha256:a4c23e54f58e016761b576976da6a34d876420b993f45f66a2bfb00363ecc1f9 \ + --hash=sha256:a50a1be449b9e238b9bd43d3857d40edf65df9416dea988929891d92a9f8a778 \ + --hash=sha256:ab5d0e3590f0a16cb88de4a3fa78d10eb66a84ca80901eb2c17c1d2c308c230f \ + --hash=sha256:ae23daa7eda93c1c49a9ecc316e027ceb99adbad750fbd3a56fa9e4a2ffd5ae0 \ + --hash=sha256:af98d49e56605a2912cf330b4627e5286243242706c3a9fa0bcec6e6f68646fc \ + --hash=sha256:b2f77a90ba7b85bfb31329f8eab9d9540da2cf8a302128fb1241d7ea239a5469 \ + --hash=sha256:baab51dcc4f2aecabf4ed1e2f57bceab240987c8b03533f1cef90890e6502067 \ + --hash=sha256:ca8a2254ab88482936ce941485c1c20cdeaef0efa71a61dbad171ab6758ec998 \ + --hash=sha256:cb11464f480e6103c59d558a3875bd84eed6723f0921290325ebe97262ae1347 \ + --hash=sha256:ce8513aee0af9c159319692bfbf488b718d1793d764798c3d5cff827a09e25ef \ + --hash=sha256:cf151f97f5f381163912e8952eb5b3afe89dec9ed723d1561d59cabf1e219a35 \ + --hash=sha256:d144ad10eeca4c1d1ce930faa105899f86f5d99cecfe0d7224f3c4c76265c15e \ + --hash=sha256:d534d169673dd5e6e12fb57cc67664c2641361e1a0885545495e65a7b761b0f4 \ + --hash=sha256:d75061367a69808ab2e84c960e9dce54749bcc1e44ad3f85deee3a6c75b4ede9 \ + --hash=sha256:d84d04dec64cc4ed726d07c5d17b73c343c8ddcd6b59c7199c801d6bbb9d9ed1 \ + --hash=sha256:de411d2b030134b642c092e986d21aefb9d26a28bf5a18c47dd08ded411a3bc5 \ + --hash=sha256:e07fe0d7ae395897981d16be61f0db9791f482f03fee7d1851fe20ddb4f69c03 \ + --hash=sha256:ea8ccf95e4c7e20419b7827aa5b6da6f02720270686ac63bd3493a651830235c \ + --hash=sha256:f7025930039a011ed7d7e7ef95a1cb5f516e23c5a6ecc7947259b67bea8e06ca + # via + # tb-nightly + # tensorboard +huggingface-hub==0.10.1 \ + --hash=sha256:5c188d5b16bec4b78449f8681f9975ff9d321c16046cc29bcf0d7e464ff29276 \ + --hash=sha256:dc3b0e9a663fe6cad6a8522055c02a9d8673dbd527223288e2442bc028c253db + # via + # diffusers + # transformers +idna==2.10 \ + --hash=sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6 \ + --hash=sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0 + # via + # requests + # yarl +imageio==2.22.3 \ + --hash=sha256:63f007b7f2a082306e36922b3fd529a7aa305d2b78f46195bab8e22bbfe866e9 \ + --hash=sha256:a4b88f9f3d428b8c0ceeb7e297df8c346a642bb7e3111743eb85717d60b26f6f + # via + # scikit-image + # test-tube +imageio-ffmpeg==0.4.7 \ + --hash=sha256:27b48c32becae1658aa81c3a6b922538e4099edf5fbcbdb4ff5dbc84b8ffd3d3 \ + --hash=sha256:6514f1380daf42815bc8c83aad63f33e0b8b47133421ddafe7b410cd8dfbbea5 \ + --hash=sha256:6aba52ddf0a64442ffcb8d30ac6afb668186acec99ecbc7ae5bd171c4f500bbc \ + --hash=sha256:7a08838f97f363e37ca41821b864fd3fdc99ab1fe2421040c78eb5f56a9e723e \ + --hash=sha256:8e724d12dfe83e2a6eb39619e820243ca96c81c47c2648e66e05f7ee24e14312 \ + --hash=sha256:fc60686ef03c2d0f842901b206223c30051a6a120384458761390104470846fd + # via -r requirements.in +importlib-metadata==5.0.0 \ + --hash=sha256:da31db32b304314d044d3c12c79bd59e307889b287ad12ff387b3500835fc2ab \ + --hash=sha256:ddb0e35065e8938f867ed4928d0ae5bf2a53b7773871bfe6bcc7e4fcdc7dea43 + # via + # diffusers + # streamlit +itsdangerous==2.1.2 \ + --hash=sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44 \ + --hash=sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a + # via flask +jinja2==3.1.2 \ + --hash=sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852 \ + --hash=sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61 + # via + # altair + # flask + # pydeck +joblib==1.2.0 \ + --hash=sha256:091138ed78f800342968c523bdde947e7a305b8594b910a0fea2ab83c3c6d385 \ + --hash=sha256:e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018 + # via scikit-learn +jsonmerge==1.9.0 \ + --hash=sha256:a2d1f80021c5c1d70a49e31f862b5f068f9db066080d8561e80654de74a3584d + # via k-diffusion +jsonschema==4.17.0 \ + --hash=sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d \ + --hash=sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248 + # via + # altair + # jsonmerge +k-diffusion @ https://github.com/invoke-ai/k-diffusion/archive/7f16b2c33411f26b3eae78d10648d625cb0c1095.zip \ + --hash=sha256:c3f2c84036aa98c3abf4552fafab04df5ca472aa639982795e05bb1db43ce5e4 + # via -r requirements.in +kiwisolver==1.4.4 \ + --hash=sha256:02f79693ec433cb4b5f51694e8477ae83b3205768a6fb48ffba60549080e295b \ + --hash=sha256:03baab2d6b4a54ddbb43bba1a3a2d1627e82d205c5cf8f4c924dc49284b87166 \ + --hash=sha256:1041feb4cda8708ce73bb4dcb9ce1ccf49d553bf87c3954bdfa46f0c3f77252c \ + --hash=sha256:10ee06759482c78bdb864f4109886dff7b8a56529bc1609d4f1112b93fe6423c \ + --hash=sha256:1d1573129aa0fd901076e2bfb4275a35f5b7aa60fbfb984499d661ec950320b0 \ + --hash=sha256:283dffbf061a4ec60391d51e6155e372a1f7a4f5b15d59c8505339454f8989e4 \ + --hash=sha256:28bc5b299f48150b5f822ce68624e445040595a4ac3d59251703779836eceff9 \ + --hash=sha256:2a66fdfb34e05b705620dd567f5a03f239a088d5a3f321e7b6ac3239d22aa286 \ + --hash=sha256:2e307eb9bd99801f82789b44bb45e9f541961831c7311521b13a6c85afc09767 \ + --hash=sha256:2e407cb4bd5a13984a6c2c0fe1845e4e41e96f183e5e5cd4d77a857d9693494c \ + --hash=sha256:2f5e60fabb7343a836360c4f0919b8cd0d6dbf08ad2ca6b9cf90bf0c76a3c4f6 \ + --hash=sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b \ + --hash=sha256:3fe20f63c9ecee44560d0e7f116b3a747a5d7203376abeea292ab3152334d004 \ + --hash=sha256:41dae968a94b1ef1897cb322b39360a0812661dba7c682aa45098eb8e193dbdf \ + --hash=sha256:4bd472dbe5e136f96a4b18f295d159d7f26fd399136f5b17b08c4e5f498cd494 \ + --hash=sha256:4ea39b0ccc4f5d803e3337dd46bcce60b702be4d86fd0b3d7531ef10fd99a1ac \ + --hash=sha256:5853eb494c71e267912275e5586fe281444eb5e722de4e131cddf9d442615626 \ + --hash=sha256:5bce61af018b0cb2055e0e72e7d65290d822d3feee430b7b8203d8a855e78766 \ + --hash=sha256:6295ecd49304dcf3bfbfa45d9a081c96509e95f4b9d0eb7ee4ec0530c4a96514 \ + --hash=sha256:62ac9cc684da4cf1778d07a89bf5f81b35834cb96ca523d3a7fb32509380cbf6 \ + --hash=sha256:70e7c2e7b750585569564e2e5ca9845acfaa5da56ac46df68414f29fea97be9f \ + --hash=sha256:7577c1987baa3adc4b3c62c33bd1118c3ef5c8ddef36f0f2c950ae0b199e100d \ + --hash=sha256:75facbe9606748f43428fc91a43edb46c7ff68889b91fa31f53b58894503a191 \ + --hash=sha256:787518a6789009c159453da4d6b683f468ef7a65bbde796bcea803ccf191058d \ + --hash=sha256:78d6601aed50c74e0ef02f4204da1816147a6d3fbdc8b3872d263338a9052c51 \ + --hash=sha256:7c43e1e1206cd421cd92e6b3280d4385d41d7166b3ed577ac20444b6995a445f \ + --hash=sha256:81e38381b782cc7e1e46c4e14cd997ee6040768101aefc8fa3c24a4cc58e98f8 \ + --hash=sha256:841293b17ad704d70c578f1f0013c890e219952169ce8a24ebc063eecf775454 \ + --hash=sha256:872b8ca05c40d309ed13eb2e582cab0c5a05e81e987ab9c521bf05ad1d5cf5cb \ + --hash=sha256:877272cf6b4b7e94c9614f9b10140e198d2186363728ed0f701c6eee1baec1da \ + --hash=sha256:8c808594c88a025d4e322d5bb549282c93c8e1ba71b790f539567932722d7bd8 \ + --hash=sha256:8ed58b8acf29798b036d347791141767ccf65eee7f26bde03a71c944449e53de \ + --hash=sha256:91672bacaa030f92fc2f43b620d7b337fd9a5af28b0d6ed3f77afc43c4a64b5a \ + --hash=sha256:968f44fdbf6dd757d12920d63b566eeb4d5b395fd2d00d29d7ef00a00582aac9 \ + --hash=sha256:9f85003f5dfa867e86d53fac6f7e6f30c045673fa27b603c397753bebadc3008 \ + --hash=sha256:a553dadda40fef6bfa1456dc4be49b113aa92c2a9a9e8711e955618cd69622e3 \ + --hash=sha256:a68b62a02953b9841730db7797422f983935aeefceb1679f0fc85cbfbd311c32 \ + --hash=sha256:abbe9fa13da955feb8202e215c4018f4bb57469b1b78c7a4c5c7b93001699938 \ + --hash=sha256:ad881edc7ccb9d65b0224f4e4d05a1e85cf62d73aab798943df6d48ab0cd79a1 \ + --hash=sha256:b1792d939ec70abe76f5054d3f36ed5656021dcad1322d1cc996d4e54165cef9 \ + --hash=sha256:b428ef021242344340460fa4c9185d0b1f66fbdbfecc6c63eff4b7c29fad429d \ + --hash=sha256:b533558eae785e33e8c148a8d9921692a9fe5aa516efbdff8606e7d87b9d5824 \ + --hash=sha256:ba59c92039ec0a66103b1d5fe588fa546373587a7d68f5c96f743c3396afc04b \ + --hash=sha256:bc8d3bd6c72b2dd9decf16ce70e20abcb3274ba01b4e1c96031e0c4067d1e7cd \ + --hash=sha256:bc9db8a3efb3e403e4ecc6cd9489ea2bac94244f80c78e27c31dcc00d2790ac2 \ + --hash=sha256:bf7d9fce9bcc4752ca4a1b80aabd38f6d19009ea5cbda0e0856983cf6d0023f5 \ + --hash=sha256:c2dbb44c3f7e6c4d3487b31037b1bdbf424d97687c1747ce4ff2895795c9bf69 \ + --hash=sha256:c79ebe8f3676a4c6630fd3f777f3cfecf9289666c84e775a67d1d358578dc2e3 \ + --hash=sha256:c97528e64cb9ebeff9701e7938653a9951922f2a38bd847787d4a8e498cc83ae \ + --hash=sha256:d0611a0a2a518464c05ddd5a3a1a0e856ccc10e67079bb17f265ad19ab3c7597 \ + --hash=sha256:d06adcfa62a4431d404c31216f0f8ac97397d799cd53800e9d3efc2fbb3cf14e \ + --hash=sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955 \ + --hash=sha256:d5b61785a9ce44e5a4b880272baa7cf6c8f48a5180c3e81c59553ba0cb0821ca \ + --hash=sha256:da152d8cdcab0e56e4f45eb08b9aea6455845ec83172092f09b0e077ece2cf7a \ + --hash=sha256:da7e547706e69e45d95e116e6939488d62174e033b763ab1496b4c29b76fabea \ + --hash=sha256:db5283d90da4174865d520e7366801a93777201e91e79bacbac6e6927cbceede \ + --hash=sha256:db608a6757adabb32f1cfe6066e39b3706d8c3aa69bbc353a5b61edad36a5cb4 \ + --hash=sha256:e0ea21f66820452a3f5d1655f8704a60d66ba1191359b96541eaf457710a5fc6 \ + --hash=sha256:e7da3fec7408813a7cebc9e4ec55afed2d0fd65c4754bc376bf03498d4e92686 \ + --hash=sha256:e92a513161077b53447160b9bd8f522edfbed4bd9759e4c18ab05d7ef7e49408 \ + --hash=sha256:ecb1fa0db7bf4cff9dac752abb19505a233c7f16684c5826d1f11ebd9472b871 \ + --hash=sha256:efda5fc8cc1c61e4f639b8067d118e742b812c930f708e6667a5ce0d13499e29 \ + --hash=sha256:f0a1dbdb5ecbef0d34eb77e56fcb3e95bbd7e50835d9782a45df81cc46949750 \ + --hash=sha256:f0a71d85ecdd570ded8ac3d1c0f480842f49a40beb423bb8014539a9f32a5897 \ + --hash=sha256:f4f270de01dd3e129a72efad823da90cc4d6aafb64c410c9033aba70db9f1ff0 \ + --hash=sha256:f6cb459eea32a4e2cf18ba5fcece2dbdf496384413bc1bae15583f19e567f3b2 \ + --hash=sha256:f8ad8285b01b0d4695102546b342b493b3ccc6781fc28c8c6a1bb63e95d22f09 \ + --hash=sha256:f9f39e2f049db33a908319cf46624a569b36983c7c78318e9726a4cb8923b26c + # via matplotlib +kornia==0.6.8 \ + --hash=sha256:0985e02453c0ab4f030e8d22a3a7554dab312ffa8f8a54ec872190e6f0b58c56 \ + --hash=sha256:0d6d69330b4fd24da742337b8134da0ce01b4d7da66770db5498d58e8b4a0832 + # via k-diffusion +llvmlite==0.39.1 \ + --hash=sha256:03aee0ccd81735696474dc4f8b6be60774892a2929d6c05d093d17392c237f32 \ + --hash=sha256:1578f5000fdce513712e99543c50e93758a954297575610f48cb1fd71b27c08a \ + --hash=sha256:16f56eb1eec3cda3a5c526bc3f63594fc24e0c8d219375afeb336f289764c6c7 \ + --hash=sha256:1ec3d70b3e507515936e475d9811305f52d049281eaa6c8273448a61c9b5b7e2 \ + --hash=sha256:22d36591cd5d02038912321d9ab8e4668e53ae2211da5523f454e992b5e13c36 \ + --hash=sha256:3803f11ad5f6f6c3d2b545a303d68d9fabb1d50e06a8d6418e6fcd2d0df00959 \ + --hash=sha256:39dc2160aed36e989610fc403487f11b8764b6650017ff367e45384dff88ffbf \ + --hash=sha256:3fc14e757bc07a919221f0cbaacb512704ce5774d7fcada793f1996d6bc75f2a \ + --hash=sha256:4c6ebace910410daf0bebda09c1859504fc2f33d122e9a971c4c349c89cca630 \ + --hash=sha256:50aea09a2b933dab7c9df92361b1844ad3145bfb8dd2deb9cd8b8917d59306fb \ + --hash=sha256:60f8dd1e76f47b3dbdee4b38d9189f3e020d22a173c00f930b52131001d801f9 \ + --hash=sha256:62c0ea22e0b9dffb020601bb65cb11dd967a095a488be73f07d8867f4e327ca5 \ + --hash=sha256:6546bed4e02a1c3d53a22a0bced254b3b6894693318b16c16c8e43e29d6befb6 \ + --hash=sha256:6717c7a6e93c9d2c3d07c07113ec80ae24af45cde536b34363d4bcd9188091d9 \ + --hash=sha256:7ebf1eb9badc2a397d4f6a6c8717447c81ac011db00064a00408bc83c923c0e4 \ + --hash=sha256:9ffc84ade195abd4abcf0bd3b827b9140ae9ef90999429b9ea84d5df69c9058c \ + --hash=sha256:a3f331a323d0f0ada6b10d60182ef06c20a2f01be21699999d204c5750ffd0b4 \ + --hash=sha256:b1a0bbdb274fb683f993198775b957d29a6f07b45d184c571ef2a721ce4388cf \ + --hash=sha256:b43abd7c82e805261c425d50335be9a6c4f84264e34d6d6e475207300005d572 \ + --hash=sha256:c0f158e4708dda6367d21cf15afc58de4ebce979c7a1aa2f6b977aae737e2a54 \ + --hash=sha256:d0bfd18c324549c0fec2c5dc610fd024689de6f27c6cc67e4e24a07541d6e49b \ + --hash=sha256:ddab526c5a2c4ccb8c9ec4821fcea7606933dc53f510e2a6eebb45a418d3488a \ + --hash=sha256:e172c73fccf7d6db4bd6f7de963dedded900d1a5c6778733241d878ba613980e \ + --hash=sha256:e2c00ff204afa721b0bb9835b5bf1ba7fba210eefcec5552a9e05a63219ba0dc \ + --hash=sha256:e31f4b799d530255aaf0566e3da2df5bfc35d3cd9d6d5a3dcc251663656c27b1 \ + --hash=sha256:e4f212c018db951da3e1dc25c2651abc688221934739721f2dad5ff1dd5f90e7 \ + --hash=sha256:fa9b26939ae553bf30a9f5c4c754db0fb2d2677327f2511e674aa2f5df941789 \ + --hash=sha256:fb62fc7016b592435d3e3a8f680e3ea8897c3c9e62e6e6cc58011e7a4801439e + # via numba +lmdb==1.3.0 \ + --hash=sha256:008243762decf8f6c90430a9bced56290ebbcdb5e877d90e42343bb97033e494 \ + --hash=sha256:08f4b5129f4683802569b02581142e415c8dcc0ff07605983ec1b07804cecbad \ + --hash=sha256:17215a42a4b9814c383deabecb160581e4fb75d00198eef0e3cea54f230ffbea \ + --hash=sha256:18c69fabdaf04efaf246587739cc1062b3e57c6ef0743f5c418df89e5e7e7b9b \ + --hash=sha256:2cfa4aa9c67f8aee89b23005e98d1f3f32490b6b905fd1cb604b207cbd5755ab \ + --hash=sha256:2df38115dd9428a54d59ae7c712a4c7cce0d6b1d66056de4b1a8c38718066106 \ + --hash=sha256:394df860c3f93cfd92b6f4caba785f38208cc9614c18b3803f83a2cc1695042f \ + --hash=sha256:41318717ab5d15ad2d6d263d34fbf614a045210f64b25e59ce734bb2105e421f \ + --hash=sha256:4172fba19417d7b29409beca7d73c067b54e5d8ab1fb9b51d7b4c1445d20a167 \ + --hash=sha256:5a14aca2651c3af6f0d0a6b9168200eea0c8f2d27c40b01a442f33329a6e8dff \ + --hash=sha256:5ddd590e1c7fcb395931aa3782fb89b9db4550ab2d81d006ecd239e0d462bc41 \ + --hash=sha256:60a11efc21aaf009d06518996360eed346f6000bfc9de05114374230879f992e \ + --hash=sha256:6260a526e4ad85b1f374a5ba9475bf369fb07e7728ea6ec57226b02c40d1976b \ + --hash=sha256:62ab28e3593bdc318ea2f2fa1574e5fca3b6d1f264686d773ba54a637d4f563b \ + --hash=sha256:63cb73fe7ce9eb93d992d632c85a0476b4332670d9e6a2802b5062f603b7809f \ + --hash=sha256:65334eafa5d430b18d81ebd5362559a41483c362e1931f6e1b15bab2ecb7d75d \ + --hash=sha256:7da05d70fcc6561ac6b09e9fb1bf64b7ca294652c64c8a2889273970cee796b9 \ + --hash=sha256:abbc439cd9fe60ffd6197009087ea885ac150017dc85384093b1d376f83f0ec4 \ + --hash=sha256:c6adbd6f7f9048e97f31a069e652eb51020a81e80a0ce92dbb9810d21da2409a \ + --hash=sha256:d6a816954d212f40fd15007cd81ab7a6bebb77436d949a6a9ae04af57fc127f3 \ + --hash=sha256:d9103aa4908f0bca43c5911ca067d4e3d01f682dff0c0381a1239bd2bd757984 \ + --hash=sha256:df2724bad7820114a205472994091097d0fa65a3e5fff5a8e688d123fb8c6326 \ + --hash=sha256:e568ae0887ae196340947d9800136e90feaed6b86a261ef01f01b2ba65fc8106 \ + --hash=sha256:e6a704b3baced9182836c7f77b769f23856f3a8f62d0282b1bc1feaf81a86712 \ + --hash=sha256:eefb392f6b5cd43aada49258c5a79be11cb2c8cd3fc3e2d9319a1e0b9f906458 \ + --hash=sha256:f291e3f561f58dddf63a92a5a6a4b8af3a0920b6705d35e2f80e52e86ee238a2 \ + --hash=sha256:fa6439356e591d3249ab0e1778a6f8d8408e993f66dc911914c78208f5310309 + # via + # basicsr + # gfpgan +markdown==3.4.1 \ + --hash=sha256:08fb8465cffd03d10b9dd34a5c3fea908e20391a2a90b88d66362cb05beed186 \ + --hash=sha256:3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff + # via + # tb-nightly + # tensorboard +markupsafe==2.1.1 \ + --hash=sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003 \ + --hash=sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88 \ + --hash=sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5 \ + --hash=sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7 \ + --hash=sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a \ + --hash=sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603 \ + --hash=sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1 \ + --hash=sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135 \ + --hash=sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247 \ + --hash=sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6 \ + --hash=sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601 \ + --hash=sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77 \ + --hash=sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02 \ + --hash=sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e \ + --hash=sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63 \ + --hash=sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f \ + --hash=sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980 \ + --hash=sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b \ + --hash=sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812 \ + --hash=sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff \ + --hash=sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96 \ + --hash=sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1 \ + --hash=sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925 \ + --hash=sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a \ + --hash=sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6 \ + --hash=sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e \ + --hash=sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f \ + --hash=sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4 \ + --hash=sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f \ + --hash=sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3 \ + --hash=sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c \ + --hash=sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a \ + --hash=sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417 \ + --hash=sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a \ + --hash=sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a \ + --hash=sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37 \ + --hash=sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452 \ + --hash=sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933 \ + --hash=sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a \ + --hash=sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7 + # via + # jinja2 + # werkzeug +matplotlib==3.6.2 \ + --hash=sha256:0844523dfaaff566e39dbfa74e6f6dc42e92f7a365ce80929c5030b84caa563a \ + --hash=sha256:0eda9d1b43f265da91fb9ae10d6922b5a986e2234470a524e6b18f14095b20d2 \ + --hash=sha256:168093410b99f647ba61361b208f7b0d64dde1172b5b1796d765cd243cadb501 \ + --hash=sha256:1836f366272b1557a613f8265db220eb8dd883202bbbabe01bad5a4eadfd0c95 \ + --hash=sha256:19d61ee6414c44a04addbe33005ab1f87539d9f395e25afcbe9a3c50ce77c65c \ + --hash=sha256:252957e208c23db72ca9918cb33e160c7833faebf295aaedb43f5b083832a267 \ + --hash=sha256:32d29c8c26362169c80c5718ce367e8c64f4dd068a424e7110df1dd2ed7bd428 \ + --hash=sha256:380d48c15ec41102a2b70858ab1dedfa33eb77b2c0982cb65a200ae67a48e9cb \ + --hash=sha256:3964934731fd7a289a91d315919cf757f293969a4244941ab10513d2351b4e83 \ + --hash=sha256:3cef89888a466228fc4e4b2954e740ce8e9afde7c4315fdd18caa1b8de58ca17 \ + --hash=sha256:4426c74761790bff46e3d906c14c7aab727543293eed5a924300a952e1a3a3c1 \ + --hash=sha256:5024b8ed83d7f8809982d095d8ab0b179bebc07616a9713f86d30cf4944acb73 \ + --hash=sha256:52c2bdd7cd0bf9d5ccdf9c1816568fd4ccd51a4d82419cc5480f548981b47dd0 \ + --hash=sha256:54fa9fe27f5466b86126ff38123261188bed568c1019e4716af01f97a12fe812 \ + --hash=sha256:5ba73aa3aca35d2981e0b31230d58abb7b5d7ca104e543ae49709208d8ce706a \ + --hash=sha256:5e16dcaecffd55b955aa5e2b8a804379789c15987e8ebd2f32f01398a81e975b \ + --hash=sha256:5ecfc6559132116dedfc482d0ad9df8a89dc5909eebffd22f3deb684132d002f \ + --hash=sha256:74153008bd24366cf099d1f1e83808d179d618c4e32edb0d489d526523a94d9f \ + --hash=sha256:78ec3c3412cf277e6252764ee4acbdbec6920cc87ad65862272aaa0e24381eee \ + --hash=sha256:795ad83940732b45d39b82571f87af0081c120feff2b12e748d96bb191169e33 \ + --hash=sha256:7f716b6af94dc1b6b97c46401774472f0867e44595990fe80a8ba390f7a0a028 \ + --hash=sha256:83dc89c5fd728fdb03b76f122f43b4dcee8c61f1489e232d9ad0f58020523e1c \ + --hash=sha256:8a0ae37576ed444fe853709bdceb2be4c7df6f7acae17b8378765bd28e61b3ae \ + --hash=sha256:8a8dbe2cb7f33ff54b16bb5c500673502a35f18ac1ed48625e997d40c922f9cc \ + --hash=sha256:8a9d899953c722b9afd7e88dbefd8fb276c686c3116a43c577cfabf636180558 \ + --hash=sha256:8d0068e40837c1d0df6e3abf1cdc9a34a6d2611d90e29610fa1d2455aeb4e2e5 \ + --hash=sha256:9347cc6822f38db2b1d1ce992f375289670e595a2d1c15961aacbe0977407dfc \ + --hash=sha256:9f335e5625feb90e323d7e3868ec337f7b9ad88b5d633f876e3b778813021dab \ + --hash=sha256:b03fd10a1709d0101c054883b550f7c4c5e974f751e2680318759af005964990 \ + --hash=sha256:b0ca2c60d3966dfd6608f5f8c49b8a0fcf76de6654f2eda55fc6ef038d5a6f27 \ + --hash=sha256:b2604c6450f9dd2c42e223b1f5dca9643a23cfecc9fde4a94bb38e0d2693b136 \ + --hash=sha256:ca0e7a658fbafcddcaefaa07ba8dae9384be2343468a8e011061791588d839fa \ + --hash=sha256:d0e9ac04065a814d4cf2c6791a2ad563f739ae3ae830d716d54245c2b96fead6 \ + --hash=sha256:d50e8c1e571ee39b5dfbc295c11ad65988879f68009dd281a6e1edbc2ff6c18c \ + --hash=sha256:d840adcad7354be6f2ec28d0706528b0026e4c3934cc6566b84eac18633eab1b \ + --hash=sha256:e0bbee6c2a5bf2a0017a9b5e397babb88f230e6f07c3cdff4a4c4bc75ed7c617 \ + --hash=sha256:e5afe0a7ea0e3a7a257907060bee6724a6002b7eec55d0db16fd32409795f3e1 \ + --hash=sha256:e68be81cd8c22b029924b6d0ee814c337c0e706b8d88495a617319e5dd5441c3 \ + --hash=sha256:ec9be0f4826cdb3a3a517509dcc5f87f370251b76362051ab59e42b6b765f8c4 \ + --hash=sha256:f04f97797df35e442ed09f529ad1235d1f1c0f30878e2fe09a2676b71a8801e0 \ + --hash=sha256:f41e57ad63d336fe50d3a67bb8eaa26c09f6dda6a59f76777a99b8ccd8e26aec + # via filterpy +multidict==6.0.2 \ + --hash=sha256:0327292e745a880459ef71be14e709aaea2f783f3537588fb4ed09b6c01bca60 \ + --hash=sha256:041b81a5f6b38244b34dc18c7b6aba91f9cdaf854d9a39e5ff0b58e2b5773b9c \ + --hash=sha256:0556a1d4ea2d949efe5fd76a09b4a82e3a4a30700553a6725535098d8d9fb672 \ + --hash=sha256:05f6949d6169878a03e607a21e3b862eaf8e356590e8bdae4227eedadacf6e51 \ + --hash=sha256:07a017cfa00c9890011628eab2503bee5872f27144936a52eaab449be5eaf032 \ + --hash=sha256:0b9e95a740109c6047602f4db4da9949e6c5945cefbad34a1299775ddc9a62e2 \ + --hash=sha256:19adcfc2a7197cdc3987044e3f415168fc5dc1f720c932eb1ef4f71a2067e08b \ + --hash=sha256:19d9bad105dfb34eb539c97b132057a4e709919ec4dd883ece5838bcbf262b80 \ + --hash=sha256:225383a6603c086e6cef0f2f05564acb4f4d5f019a4e3e983f572b8530f70c88 \ + --hash=sha256:23b616fdc3c74c9fe01d76ce0d1ce872d2d396d8fa8e4899398ad64fb5aa214a \ + --hash=sha256:2957489cba47c2539a8eb7ab32ff49101439ccf78eab724c828c1a54ff3ff98d \ + --hash=sha256:2d36e929d7f6a16d4eb11b250719c39560dd70545356365b494249e2186bc389 \ + --hash=sha256:2e4a0785b84fb59e43c18a015ffc575ba93f7d1dbd272b4cdad9f5134b8a006c \ + --hash=sha256:3368bf2398b0e0fcbf46d85795adc4c259299fec50c1416d0f77c0a843a3eed9 \ + --hash=sha256:373ba9d1d061c76462d74e7de1c0c8e267e9791ee8cfefcf6b0b2495762c370c \ + --hash=sha256:4070613ea2227da2bfb2c35a6041e4371b0af6b0be57f424fe2318b42a748516 \ + --hash=sha256:45183c96ddf61bf96d2684d9fbaf6f3564d86b34cb125761f9a0ef9e36c1d55b \ + --hash=sha256:4571f1beddff25f3e925eea34268422622963cd8dc395bb8778eb28418248e43 \ + --hash=sha256:47e6a7e923e9cada7c139531feac59448f1f47727a79076c0b1ee80274cd8eee \ + --hash=sha256:47fbeedbf94bed6547d3aa632075d804867a352d86688c04e606971595460227 \ + --hash=sha256:497988d6b6ec6ed6f87030ec03280b696ca47dbf0648045e4e1d28b80346560d \ + --hash=sha256:4bae31803d708f6f15fd98be6a6ac0b6958fcf68fda3c77a048a4f9073704aae \ + --hash=sha256:50bd442726e288e884f7be9071016c15a8742eb689a593a0cac49ea093eef0a7 \ + --hash=sha256:514fe2b8d750d6cdb4712346a2c5084a80220821a3e91f3f71eec11cf8d28fd4 \ + --hash=sha256:5774d9218d77befa7b70d836004a768fb9aa4fdb53c97498f4d8d3f67bb9cfa9 \ + --hash=sha256:5fdda29a3c7e76a064f2477c9aab1ba96fd94e02e386f1e665bca1807fc5386f \ + --hash=sha256:5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013 \ + --hash=sha256:626fe10ac87851f4cffecee161fc6f8f9853f0f6f1035b59337a51d29ff3b4f9 \ + --hash=sha256:6701bf8a5d03a43375909ac91b6980aea74b0f5402fbe9428fc3f6edf5d9677e \ + --hash=sha256:684133b1e1fe91eda8fa7447f137c9490a064c6b7f392aa857bba83a28cfb693 \ + --hash=sha256:6f3cdef8a247d1eafa649085812f8a310e728bdf3900ff6c434eafb2d443b23a \ + --hash=sha256:75bdf08716edde767b09e76829db8c1e5ca9d8bb0a8d4bd94ae1eafe3dac5e15 \ + --hash=sha256:7c40b7bbece294ae3a87c1bc2abff0ff9beef41d14188cda94ada7bcea99b0fb \ + --hash=sha256:8004dca28e15b86d1b1372515f32eb6f814bdf6f00952699bdeb541691091f96 \ + --hash=sha256:8064b7c6f0af936a741ea1efd18690bacfbae4078c0c385d7c3f611d11f0cf87 \ + --hash=sha256:89171b2c769e03a953d5969b2f272efa931426355b6c0cb508022976a17fd376 \ + --hash=sha256:8cbf0132f3de7cc6c6ce00147cc78e6439ea736cee6bca4f068bcf892b0fd658 \ + --hash=sha256:9cc57c68cb9139c7cd6fc39f211b02198e69fb90ce4bc4a094cf5fe0d20fd8b0 \ + --hash=sha256:a007b1638e148c3cfb6bf0bdc4f82776cef0ac487191d093cdc316905e504071 \ + --hash=sha256:a2c34a93e1d2aa35fbf1485e5010337c72c6791407d03aa5f4eed920343dd360 \ + --hash=sha256:a45e1135cb07086833ce969555df39149680e5471c04dfd6a915abd2fc3f6dbc \ + --hash=sha256:ac0e27844758d7177989ce406acc6a83c16ed4524ebc363c1f748cba184d89d3 \ + --hash=sha256:aef9cc3d9c7d63d924adac329c33835e0243b5052a6dfcbf7732a921c6e918ba \ + --hash=sha256:b9d153e7f1f9ba0b23ad1568b3b9e17301e23b042c23870f9ee0522dc5cc79e8 \ + --hash=sha256:bfba7c6d5d7c9099ba21f84662b037a0ffd4a5e6b26ac07d19e423e6fdf965a9 \ + --hash=sha256:c207fff63adcdf5a485969131dc70e4b194327666b7e8a87a97fbc4fd80a53b2 \ + --hash=sha256:d0509e469d48940147e1235d994cd849a8f8195e0bca65f8f5439c56e17872a3 \ + --hash=sha256:d16cce709ebfadc91278a1c005e3c17dd5f71f5098bfae1035149785ea6e9c68 \ + --hash=sha256:d48b8ee1d4068561ce8033d2c344cf5232cb29ee1a0206a7b828c79cbc5982b8 \ + --hash=sha256:de989b195c3d636ba000ee4281cd03bb1234635b124bf4cd89eeee9ca8fcb09d \ + --hash=sha256:e07c8e79d6e6fd37b42f3250dba122053fddb319e84b55dd3a8d6446e1a7ee49 \ + --hash=sha256:e2c2e459f7050aeb7c1b1276763364884595d47000c1cddb51764c0d8976e608 \ + --hash=sha256:e5b20e9599ba74391ca0cfbd7b328fcc20976823ba19bc573983a25b32e92b57 \ + --hash=sha256:e875b6086e325bab7e680e4316d667fc0e5e174bb5611eb16b3ea121c8951b86 \ + --hash=sha256:f4f052ee022928d34fe1f4d2bc743f32609fb79ed9c49a1710a5ad6b2198db20 \ + --hash=sha256:fcb91630817aa8b9bc4a74023e4198480587269c272c58b3279875ed7235c293 \ + --hash=sha256:fd9fc9c4849a07f3635ccffa895d57abce554b467d611a5009ba4f39b78a8849 \ + --hash=sha256:feba80698173761cddd814fa22e88b0661e98cb810f9f986c54aa34d281e4937 \ + --hash=sha256:feea820722e69451743a3d56ad74948b68bf456984d63c1a92e8347b7b88452d + # via + # aiohttp + # yarl +networkx==2.8.8 \ + --hash=sha256:230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e \ + --hash=sha256:e435dfa75b1d7195c7b8378c3859f0445cd88c6b0375c181ed66823a9ceb7524 + # via scikit-image +numba==0.56.4 \ + --hash=sha256:0240f9026b015e336069329839208ebd70ec34ae5bfbf402e4fcc8e06197528e \ + --hash=sha256:03634579d10a6129181129de293dd6b5eaabee86881369d24d63f8fe352dd6cb \ + --hash=sha256:03fe94cd31e96185cce2fae005334a8cc712fc2ba7756e52dff8c9400718173f \ + --hash=sha256:0611e6d3eebe4cb903f1a836ffdb2bda8d18482bcd0a0dcc56e79e2aa3fefef5 \ + --hash=sha256:0da583c532cd72feefd8e551435747e0e0fbb3c0530357e6845fcc11e38d6aea \ + --hash=sha256:14dbbabf6ffcd96ee2ac827389afa59a70ffa9f089576500434c34abf9b054a4 \ + --hash=sha256:32d9fef412c81483d7efe0ceb6cf4d3310fde8b624a9cecca00f790573ac96ee \ + --hash=sha256:3a993349b90569518739009d8f4b523dfedd7e0049e6838c0e17435c3e70dcc4 \ + --hash=sha256:3cb1a07a082a61df80a468f232e452d818f5ae254b40c26390054e4e868556e0 \ + --hash=sha256:42f9e1be942b215df7e6cc9948cf9c15bb8170acc8286c063a9e57994ef82fd1 \ + --hash=sha256:4373da9757049db7c90591e9ec55a2e97b2b36ba7ae3bf9c956a513374077470 \ + --hash=sha256:4e08e203b163ace08bad500b0c16f6092b1eb34fd1fce4feaf31a67a3a5ecf3b \ + --hash=sha256:553da2ce74e8862e18a72a209ed3b6d2924403bdd0fb341fa891c6455545ba7c \ + --hash=sha256:720886b852a2d62619ae3900fe71f1852c62db4f287d0c275a60219e1643fc04 \ + --hash=sha256:85dbaed7a05ff96492b69a8900c5ba605551afb9b27774f7f10511095451137c \ + --hash=sha256:8a95ca9cc77ea4571081f6594e08bd272b66060634b8324e99cd1843020364f9 \ + --hash=sha256:91f021145a8081f881996818474ef737800bcc613ffb1e618a655725a0f9e246 \ + --hash=sha256:9f62672145f8669ec08762895fe85f4cf0ead08ce3164667f2b94b2f62ab23c3 \ + --hash=sha256:a12ef323c0f2101529d455cfde7f4135eaa147bad17afe10b48634f796d96abd \ + --hash=sha256:c602d015478b7958408d788ba00a50272649c5186ea8baa6cf71d4a1c761bba1 \ + --hash=sha256:c75e8a5f810ce80a0cfad6e74ee94f9fde9b40c81312949bf356b7304ef20740 \ + --hash=sha256:d0ae9270a7a5cc0ede63cd234b4ff1ce166c7a749b91dbbf45e0000c56d3eade \ + --hash=sha256:d69ad934e13c15684e7887100a8f5f0f61d7a8e57e0fd29d9993210089a5b531 \ + --hash=sha256:dbcc847bac2d225265d054993a7f910fda66e73d6662fe7156452cac0325b073 \ + --hash=sha256:e64d338b504c9394a4a34942df4627e1e6cb07396ee3b49fe7b8d6420aa5104f \ + --hash=sha256:f4cfc3a19d1e26448032049c79fc60331b104f694cf570a9e94f4e2c9d0932bb \ + --hash=sha256:fbfb45e7b297749029cb28694abf437a78695a100e7c2033983d69f0ba2698d4 \ + --hash=sha256:fcdf84ba3ed8124eb7234adfbb8792f311991cbf8aed1cad4b1b1a7ee08380c1 + # via facexlib +numpy==1.23.4 \ + --hash=sha256:0fe563fc8ed9dc4474cbf70742673fc4391d70f4363f917599a7fa99f042d5a8 \ + --hash=sha256:12ac457b63ec8ded85d85c1e17d85efd3c2b0967ca39560b307a35a6703a4735 \ + --hash=sha256:2341f4ab6dba0834b685cce16dad5f9b6606ea8a00e6da154f5dbded70fdc4dd \ + --hash=sha256:296d17aed51161dbad3c67ed6d164e51fcd18dbcd5dd4f9d0a9c6055dce30810 \ + --hash=sha256:488a66cb667359534bc70028d653ba1cf307bae88eab5929cd707c761ff037db \ + --hash=sha256:4d52914c88b4930dafb6c48ba5115a96cbab40f45740239d9f4159c4ba779962 \ + --hash=sha256:5e13030f8793e9ee42f9c7d5777465a560eb78fa7e11b1c053427f2ccab90c79 \ + --hash=sha256:61be02e3bf810b60ab74e81d6d0d36246dbfb644a462458bb53b595791251911 \ + --hash=sha256:7607b598217745cc40f751da38ffd03512d33ec06f3523fb0b5f82e09f6f676d \ + --hash=sha256:7a70a7d3ce4c0e9284e92285cba91a4a3f5214d87ee0e95928f3614a256a1488 \ + --hash=sha256:7ab46e4e7ec63c8a5e6dbf5c1b9e1c92ba23a7ebecc86c336cb7bf3bd2fb10e5 \ + --hash=sha256:8981d9b5619569899666170c7c9748920f4a5005bf79c72c07d08c8a035757b0 \ + --hash=sha256:8c053d7557a8f022ec823196d242464b6955a7e7e5015b719e76003f63f82d0f \ + --hash=sha256:926db372bc4ac1edf81cfb6c59e2a881606b409ddc0d0920b988174b2e2a767f \ + --hash=sha256:95d79ada05005f6f4f337d3bb9de8a7774f259341c70bc88047a1f7b96a4bcb2 \ + --hash=sha256:95de7dc7dc47a312f6feddd3da2500826defdccbc41608d0031276a24181a2c0 \ + --hash=sha256:a0882323e0ca4245eb0a3d0a74f88ce581cc33aedcfa396e415e5bba7bf05f68 \ + --hash=sha256:a8365b942f9c1a7d0f0dc974747d99dd0a0cdfc5949a33119caf05cb314682d3 \ + --hash=sha256:a8aae2fb3180940011b4862b2dd3756616841c53db9734b27bb93813cd79fce6 \ + --hash=sha256:c237129f0e732885c9a6076a537e974160482eab8f10db6292e92154d4c67d71 \ + --hash=sha256:c67b833dbccefe97cdd3f52798d430b9d3430396af7cdb2a0c32954c3ef73894 \ + --hash=sha256:ce03305dd694c4873b9429274fd41fc7eb4e0e4dea07e0af97a933b079a5814f \ + --hash=sha256:d331afac87c92373826af83d2b2b435f57b17a5c74e6268b79355b970626e329 \ + --hash=sha256:dada341ebb79619fe00a291185bba370c9803b1e1d7051610e01ed809ef3a4ba \ + --hash=sha256:ed2cc92af0efad20198638c69bb0fc2870a58dabfba6eb722c933b48556c686c \ + --hash=sha256:f260da502d7441a45695199b4e7fd8ca87db659ba1c78f2bbf31f934fe76ae0e \ + --hash=sha256:f2f390aa4da44454db40a1f0201401f9036e8d578a25f01a6e237cea238337ef \ + --hash=sha256:f76025acc8e2114bb664294a07ede0727aa75d63a06d2fae96bf29a81747e4a7 + # via + # accelerate + # albumentations + # altair + # basicsr + # clean-fid + # contourpy + # diffusers + # facexlib + # filterpy + # gfpgan + # imageio + # matplotlib + # numba + # opencv-python + # opencv-python-headless + # pandas + # pyarrow + # pydeck + # pytorch-lightning + # pywavelets + # qudida + # realesrgan + # scikit-image + # scikit-learn + # scipy + # streamlit + # taming-transformers-rom1504 + # tb-nightly + # tensorboard + # test-tube + # tifffile + # torch-fidelity + # torchmetrics + # torchvision + # transformers +oauthlib==3.2.2 \ + --hash=sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca \ + --hash=sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918 + # via requests-oauthlib +omegaconf==2.2.3 \ + --hash=sha256:59ff9fba864ffbb5fb710b64e8a9ba37c68fa339a2e2bb4f1b648d6901552523 \ + --hash=sha256:d6f2cbf79a992899eb76c6cb1aedfcf0fe7456a8654382edd5ee0c1b199c0657 + # via taming-transformers-rom1504 +opencv-python==4.6.0.66 \ + --hash=sha256:0dc82a3d8630c099d2f3ac1b1aabee164e8188db54a786abb7a4e27eba309440 \ + --hash=sha256:5af8ba35a4fcb8913ffb86e92403e9a656a4bff4a645d196987468f0f8947875 \ + --hash=sha256:6e32af22e3202748bd233ed8f538741876191863882eba44e332d1a34993165b \ + --hash=sha256:c5bfae41ad4031e66bb10ec4a0a2ffd3e514d092652781e8b1ac98d1b59f1158 \ + --hash=sha256:dbdc84a9b4ea2cbae33861652d25093944b9959279200b7ae0badd32439f74de \ + --hash=sha256:e6e448b62afc95c5b58f97e87ef84699e6607fe5c58730a03301c52496005cae \ + --hash=sha256:f482e78de6e7b0b060ff994ffd859bddc3f7f382bb2019ef157b0ea8ca8712f5 + # via + # basicsr + # facexlib + # gfpgan + # realesrgan +opencv-python-headless==4.6.0.66 \ + --hash=sha256:21e70f8b0c04098cdf466d27184fe6c3820aaef944a22548db95099959c95889 \ + --hash=sha256:2c032c373e447c3fc2a670bca20e2918a1205a6e72854df60425fd3f82c78c32 \ + --hash=sha256:3bacd806cce1f1988e58f3d6f761538e0215d6621d316de94c009dc0acbd6ad3 \ + --hash=sha256:d5291d7e10aa2c19cab6fd86f0d61af8617290ecd2d7ffcb051e446868d04cc5 \ + --hash=sha256:e6c069bc963d7e8fcec21b3e33e594d35948badd63eccb2e80f88b0a12102c03 \ + --hash=sha256:eec6281054346103d6af93f173b7c6a206beb2663d3adc04aa3ddc66e85093df \ + --hash=sha256:ffbf26fcd697af996408440a93bc69c49c05a36845771f984156dfbeaa95d497 + # via + # albumentations + # qudida +packaging==21.3 \ + --hash=sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \ + --hash=sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522 + # via + # accelerate + # huggingface-hub + # kornia + # matplotlib + # pytorch-lightning + # scikit-image + # streamlit + # torchmetrics + # transformers +pandas==1.5.1 \ + --hash=sha256:04e51b01d5192499390c0015630975f57836cc95c7411415b499b599b05c0c96 \ + --hash=sha256:05c527c64ee02a47a24031c880ee0ded05af0623163494173204c5b72ddce658 \ + --hash=sha256:0a78e05ec09731c5b3bd7a9805927ea631fe6f6cb06f0e7c63191a9a778d52b4 \ + --hash=sha256:17da7035d9e6f9ea9cdc3a513161f8739b8f8489d31dc932bc5a29a27243f93d \ + --hash=sha256:249cec5f2a5b22096440bd85c33106b6102e0672204abd2d5c014106459804ee \ + --hash=sha256:2c25e5c16ee5c0feb6cf9d982b869eec94a22ddfda9aa2fbed00842cbb697624 \ + --hash=sha256:32e3d9f65606b3f6e76555bfd1d0b68d94aff0929d82010b791b6254bf5a4b96 \ + --hash=sha256:36aa1f8f680d7584e9b572c3203b20d22d697c31b71189322f16811d4ecfecd3 \ + --hash=sha256:5b0c970e2215572197b42f1cff58a908d734503ea54b326412c70d4692256391 \ + --hash=sha256:5cee0c74e93ed4f9d39007e439debcaadc519d7ea5c0afc3d590a3a7b2edf060 \ + --hash=sha256:669c8605dba6c798c1863157aefde959c1796671ffb342b80fcb80a4c0bc4c26 \ + --hash=sha256:66a1ad667b56e679e06ba73bb88c7309b3f48a4c279bd3afea29f65a766e9036 \ + --hash=sha256:683779e5728ac9138406c59a11e09cd98c7d2c12f0a5fc2b9c5eecdbb4a00075 \ + --hash=sha256:6bb391659a747cf4f181a227c3e64b6d197100d53da98dcd766cc158bdd9ec68 \ + --hash=sha256:81f0674fa50b38b6793cd84fae5d67f58f74c2d974d2cb4e476d26eee33343d0 \ + --hash=sha256:927e59c694e039c75d7023465d311277a1fc29ed7236b5746e9dddf180393113 \ + --hash=sha256:932d2d7d3cab44cfa275601c982f30c2d874722ef6396bb539e41e4dc4618ed4 \ + --hash=sha256:a52419d9ba5906db516109660b114faf791136c94c1a636ed6b29cbfff9187ee \ + --hash=sha256:b156a971bc451c68c9e1f97567c94fd44155f073e3bceb1b0d195fd98ed12048 \ + --hash=sha256:bcf1a82b770b8f8c1e495b19a20d8296f875a796c4fe6e91da5ef107f18c5ecb \ + --hash=sha256:cb2a9cf1150302d69bb99861c5cddc9c25aceacb0a4ef5299785d0f5389a3209 \ + --hash=sha256:d8c709f4700573deb2036d240d140934df7e852520f4a584b2a8d5443b71f54d \ + --hash=sha256:db45b94885000981522fb92349e6b76f5aee0924cc5315881239c7859883117d \ + --hash=sha256:ddf46b940ef815af4e542697eaf071f0531449407a7607dd731bf23d156e20a7 \ + --hash=sha256:e675f8fe9aa6c418dc8d3aac0087b5294c1a4527f1eacf9fe5ea671685285454 \ + --hash=sha256:eb7e8cf2cf11a2580088009b43de84cabbf6f5dae94ceb489f28dba01a17cb77 \ + --hash=sha256:f340331a3f411910adfb4bbe46c2ed5872d9e473a783d7f14ecf49bc0869c594 + # via + # altair + # streamlit + # test-tube +pathtools==0.1.2 \ + --hash=sha256:7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0 + # via wandb +pillow==9.3.0 \ + --hash=sha256:03150abd92771742d4a8cd6f2fa6246d847dcd2e332a18d0c15cc75bf6703040 \ + --hash=sha256:073adb2ae23431d3b9bcbcff3fe698b62ed47211d0716b067385538a1b0f28b8 \ + --hash=sha256:0b07fffc13f474264c336298d1b4ce01d9c5a011415b79d4ee5527bb69ae6f65 \ + --hash=sha256:0b7257127d646ff8676ec8a15520013a698d1fdc48bc2a79ba4e53df792526f2 \ + --hash=sha256:12ce4932caf2ddf3e41d17fc9c02d67126935a44b86df6a206cf0d7161548627 \ + --hash=sha256:15c42fb9dea42465dfd902fb0ecf584b8848ceb28b41ee2b58f866411be33f07 \ + --hash=sha256:18498994b29e1cf86d505edcb7edbe814d133d2232d256db8c7a8ceb34d18cef \ + --hash=sha256:1c7c8ae3864846fc95f4611c78129301e203aaa2af813b703c55d10cc1628535 \ + --hash=sha256:22b012ea2d065fd163ca096f4e37e47cd8b59cf4b0fd47bfca6abb93df70b34c \ + --hash=sha256:276a5ca930c913f714e372b2591a22c4bd3b81a418c0f6635ba832daec1cbcfc \ + --hash=sha256:2e0918e03aa0c72ea56edbb00d4d664294815aa11291a11504a377ea018330d3 \ + --hash=sha256:3033fbe1feb1b59394615a1cafaee85e49d01b51d54de0cbf6aa8e64182518a1 \ + --hash=sha256:3168434d303babf495d4ba58fc22d6604f6e2afb97adc6a423e917dab828939c \ + --hash=sha256:32a44128c4bdca7f31de5be641187367fe2a450ad83b833ef78910397db491aa \ + --hash=sha256:3dd6caf940756101205dffc5367babf288a30043d35f80936f9bfb37f8355b32 \ + --hash=sha256:40e1ce476a7804b0fb74bcfa80b0a2206ea6a882938eaba917f7a0f004b42502 \ + --hash=sha256:41e0051336807468be450d52b8edd12ac60bebaa97fe10c8b660f116e50b30e4 \ + --hash=sha256:4390e9ce199fc1951fcfa65795f239a8a4944117b5935a9317fb320e7767b40f \ + --hash=sha256:502526a2cbfa431d9fc2a079bdd9061a2397b842bb6bc4239bb176da00993812 \ + --hash=sha256:51e0e543a33ed92db9f5ef69a0356e0b1a7a6b6a71b80df99f1d181ae5875636 \ + --hash=sha256:57751894f6618fd4308ed8e0c36c333e2f5469744c34729a27532b3db106ee20 \ + --hash=sha256:5d77adcd56a42d00cc1be30843d3426aa4e660cab4a61021dc84467123f7a00c \ + --hash=sha256:655a83b0058ba47c7c52e4e2df5ecf484c1b0b0349805896dd350cbc416bdd91 \ + --hash=sha256:68943d632f1f9e3dce98908e873b3a090f6cba1cbb1b892a9e8d97c938871fbe \ + --hash=sha256:6c738585d7a9961d8c2821a1eb3dcb978d14e238be3d70f0a706f7fa9316946b \ + --hash=sha256:73bd195e43f3fadecfc50c682f5055ec32ee2c933243cafbfdec69ab1aa87cad \ + --hash=sha256:772a91fc0e03eaf922c63badeca75e91baa80fe2f5f87bdaed4280662aad25c9 \ + --hash=sha256:77ec3e7be99629898c9a6d24a09de089fa5356ee408cdffffe62d67bb75fdd72 \ + --hash=sha256:7db8b751ad307d7cf238f02101e8e36a128a6cb199326e867d1398067381bff4 \ + --hash=sha256:801ec82e4188e935c7f5e22e006d01611d6b41661bba9fe45b60e7ac1a8f84de \ + --hash=sha256:82409ffe29d70fd733ff3c1025a602abb3e67405d41b9403b00b01debc4c9a29 \ + --hash=sha256:828989c45c245518065a110434246c44a56a8b2b2f6347d1409c787e6e4651ee \ + --hash=sha256:829f97c8e258593b9daa80638aee3789b7df9da5cf1336035016d76f03b8860c \ + --hash=sha256:871b72c3643e516db4ecf20efe735deb27fe30ca17800e661d769faab45a18d7 \ + --hash=sha256:89dca0ce00a2b49024df6325925555d406b14aa3efc2f752dbb5940c52c56b11 \ + --hash=sha256:90fb88843d3902fe7c9586d439d1e8c05258f41da473952aa8b328d8b907498c \ + --hash=sha256:97aabc5c50312afa5e0a2b07c17d4ac5e865b250986f8afe2b02d772567a380c \ + --hash=sha256:9aaa107275d8527e9d6e7670b64aabaaa36e5b6bd71a1015ddd21da0d4e06448 \ + --hash=sha256:9f47eabcd2ded7698106b05c2c338672d16a6f2a485e74481f524e2a23c2794b \ + --hash=sha256:a0a06a052c5f37b4ed81c613a455a81f9a3a69429b4fd7bb913c3fa98abefc20 \ + --hash=sha256:ab388aaa3f6ce52ac1cb8e122c4bd46657c15905904b3120a6248b5b8b0bc228 \ + --hash=sha256:ad58d27a5b0262c0c19b47d54c5802db9b34d38bbf886665b626aff83c74bacd \ + --hash=sha256:ae5331c23ce118c53b172fa64a4c037eb83c9165aba3a7ba9ddd3ec9fa64a699 \ + --hash=sha256:af0372acb5d3598f36ec0914deed2a63f6bcdb7b606da04dc19a88d31bf0c05b \ + --hash=sha256:afa4107d1b306cdf8953edde0534562607fe8811b6c4d9a486298ad31de733b2 \ + --hash=sha256:b03ae6f1a1878233ac620c98f3459f79fd77c7e3c2b20d460284e1fb370557d4 \ + --hash=sha256:b0915e734b33a474d76c28e07292f196cdf2a590a0d25bcc06e64e545f2d146c \ + --hash=sha256:b4012d06c846dc2b80651b120e2cdd787b013deb39c09f407727ba90015c684f \ + --hash=sha256:b472b5ea442148d1c3e2209f20f1e0bb0eb556538690fa70b5e1f79fa0ba8dc2 \ + --hash=sha256:b59430236b8e58840a0dfb4099a0e8717ffb779c952426a69ae435ca1f57210c \ + --hash=sha256:b90f7616ea170e92820775ed47e136208e04c967271c9ef615b6fbd08d9af0e3 \ + --hash=sha256:b9a65733d103311331875c1dca05cb4606997fd33d6acfed695b1232ba1df193 \ + --hash=sha256:bac18ab8d2d1e6b4ce25e3424f709aceef668347db8637c2296bcf41acb7cf48 \ + --hash=sha256:bca31dd6014cb8b0b2db1e46081b0ca7d936f856da3b39744aef499db5d84d02 \ + --hash=sha256:be55f8457cd1eac957af0c3f5ece7bc3f033f89b114ef30f710882717670b2a8 \ + --hash=sha256:c7025dce65566eb6e89f56c9509d4f628fddcedb131d9465cacd3d8bac337e7e \ + --hash=sha256:c935a22a557a560108d780f9a0fc426dd7459940dc54faa49d83249c8d3e760f \ + --hash=sha256:dbb8e7f2abee51cef77673be97760abff1674ed32847ce04b4af90f610144c7b \ + --hash=sha256:e6ea6b856a74d560d9326c0f5895ef8050126acfdc7ca08ad703eb0081e82b74 \ + --hash=sha256:ebf2029c1f464c59b8bdbe5143c79fa2045a581ac53679733d3a91d400ff9efb \ + --hash=sha256:f1ff2ee69f10f13a9596480335f406dd1f70c3650349e2be67ca3139280cade0 + # via + # basicsr + # clean-fid + # diffusers + # facexlib + # imageio + # k-diffusion + # matplotlib + # realesrgan + # scikit-image + # streamlit + # torch-fidelity + # torchvision +promise==2.3 \ + --hash=sha256:dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0 + # via wandb +protobuf==3.19.6 \ + --hash=sha256:010be24d5a44be7b0613750ab40bc8b8cedc796db468eae6c779b395f50d1fa1 \ + --hash=sha256:0469bc66160180165e4e29de7f445e57a34ab68f49357392c5b2f54c656ab25e \ + --hash=sha256:0c0714b025ec057b5a7600cb66ce7c693815f897cfda6d6efb58201c472e3437 \ + --hash=sha256:11478547958c2dfea921920617eb457bc26867b0d1aa065ab05f35080c5d9eb6 \ + --hash=sha256:14082457dc02be946f60b15aad35e9f5c69e738f80ebbc0900a19bc83734a5a4 \ + --hash=sha256:2b2d2913bcda0e0ec9a784d194bc490f5dc3d9d71d322d070b11a0ade32ff6ba \ + --hash=sha256:30a15015d86b9c3b8d6bf78d5b8c7749f2512c29f168ca259c9d7727604d0e39 \ + --hash=sha256:30f5370d50295b246eaa0296533403961f7e64b03ea12265d6dfce3a391d8992 \ + --hash=sha256:347b393d4dd06fb93a77620781e11c058b3b0a5289262f094379ada2920a3730 \ + --hash=sha256:4bc98de3cdccfb5cd769620d5785b92c662b6bfad03a202b83799b6ed3fa1fa7 \ + --hash=sha256:5057c64052a1f1dd7d4450e9aac25af6bf36cfbfb3a1cd89d16393a036c49157 \ + --hash=sha256:559670e006e3173308c9254d63facb2c03865818f22204037ab76f7a0ff70b5f \ + --hash=sha256:5a0d7539a1b1fb7e76bf5faa0b44b30f812758e989e59c40f77a7dab320e79b9 \ + --hash=sha256:5f5540d57a43042389e87661c6eaa50f47c19c6176e8cf1c4f287aeefeccb5c4 \ + --hash=sha256:7a552af4dc34793803f4e735aabe97ffc45962dfd3a237bdde242bff5a3de684 \ + --hash=sha256:84a04134866861b11556a82dd91ea6daf1f4925746b992f277b84013a7cc1229 \ + --hash=sha256:878b4cd080a21ddda6ac6d1e163403ec6eea2e206cf225982ae04567d39be7b0 \ + --hash=sha256:90b0d02163c4e67279ddb6dc25e063db0130fc299aefabb5d481053509fae5c8 \ + --hash=sha256:91d5f1e139ff92c37e0ff07f391101df77e55ebb97f46bbc1535298d72019462 \ + --hash=sha256:a8ce5ae0de28b51dff886fb922012dad885e66176663950cb2344c0439ecb473 \ + --hash=sha256:aa3b82ca1f24ab5326dcf4ea00fcbda703e986b22f3d27541654f749564d778b \ + --hash=sha256:bb6776bd18f01ffe9920e78e03a8676530a5d6c5911934c6a1ac6eb78973ecb6 \ + --hash=sha256:bbf5cea5048272e1c60d235c7bd12ce1b14b8a16e76917f371c718bd3005f045 \ + --hash=sha256:c0ccd3f940fe7f3b35a261b1dd1b4fc850c8fde9f74207015431f174be5976b3 \ + --hash=sha256:d0b635cefebd7a8a0f92020562dead912f81f401af7e71f16bf9506ff3bdbb38 + # via + # streamlit + # tb-nightly + # tensorboard + # wandb +psutil==5.9.3 \ + --hash=sha256:07d880053c6461c9b89cd5d4808f3b8336665fa3acdefd6777662c5ed73a851a \ + --hash=sha256:12500d761ac091f2426567f19f95fd3f15a197d96befb44a5c1e3cbe6db5752c \ + --hash=sha256:1b540599481c73408f6b392cdffef5b01e8ff7a2ac8caae0a91b8222e88e8f1e \ + --hash=sha256:35feafe232d1aaf35d51bd42790cbccb882456f9f18cdc411532902370d660df \ + --hash=sha256:3a7826e68b0cf4ce2c1ee385d64eab7d70e3133171376cac53d7c1790357ec8f \ + --hash=sha256:46907fa62acaac364fff0b8a9da7b360265d217e4fdeaca0a2397a6883dffba2 \ + --hash=sha256:4bd4854f0c83aa84a5a40d3b5d0eb1f3c128f4146371e03baed4589fe4f3c931 \ + --hash=sha256:538fcf6ae856b5e12d13d7da25ad67f02113c96f5989e6ad44422cb5994ca7fc \ + --hash=sha256:547ebb02031fdada635452250ff39942db8310b5c4a8102dfe9384ee5791e650 \ + --hash=sha256:5e8b50241dd3c2ed498507f87a6602825073c07f3b7e9560c58411c14fe1e1c9 \ + --hash=sha256:5fa88e3d5d0b480602553d362c4b33a63e0c40bfea7312a7bf78799e01e0810b \ + --hash=sha256:68fa227c32240c52982cb931801c5707a7f96dd8927f9102d6c7771ea1ff5698 \ + --hash=sha256:6ced1ad823ecfa7d3ce26fe8aa4996e2e53fb49b7fed8ad81c80958501ec0619 \ + --hash=sha256:71b1206e7909792d16933a0d2c1c7f04ae196186c51ba8567abae1d041f06dcb \ + --hash=sha256:767ef4fa33acda16703725c0473a91e1832d296c37c63896c7153ba81698f1ab \ + --hash=sha256:7ccfcdfea4fc4b0a02ca2c31de7fcd186beb9cff8207800e14ab66f79c773af6 \ + --hash=sha256:7e4939ff75149b67aef77980409f156f0082fa36accc475d45c705bb00c6c16a \ + --hash=sha256:828c9dc9478b34ab96be75c81942d8df0c2bb49edbb481f597314d92b6441d89 \ + --hash=sha256:8a4e07611997acf178ad13b842377e3d8e9d0a5bac43ece9bfc22a96735d9a4f \ + --hash=sha256:941a6c2c591da455d760121b44097781bc970be40e0e43081b9139da485ad5b7 \ + --hash=sha256:9a4af6ed1094f867834f5f07acd1250605a0874169a5fcadbcec864aec2496a6 \ + --hash=sha256:9ec296f565191f89c48f33d9544d8d82b0d2af7dd7d2d4e6319f27a818f8d1cc \ + --hash=sha256:9ec95df684583b5596c82bb380c53a603bb051cf019d5c849c47e117c5064395 \ + --hash=sha256:a04a1836894c8279e5e0a0127c0db8e198ca133d28be8a2a72b4db16f6cf99c1 \ + --hash=sha256:a3d81165b8474087bb90ec4f333a638ccfd1d69d34a9b4a1a7eaac06648f9fbe \ + --hash=sha256:b4a247cd3feaae39bb6085fcebf35b3b8ecd9b022db796d89c8f05067ca28e71 \ + --hash=sha256:ba38cf9984d5462b506e239cf4bc24e84ead4b1d71a3be35e66dad0d13ded7c1 \ + --hash=sha256:beb57d8a1ca0ae0eb3d08ccaceb77e1a6d93606f0e1754f0d60a6ebd5c288837 \ + --hash=sha256:d266cd05bd4a95ca1c2b9b5aac50d249cf7c94a542f47e0b22928ddf8b80d1ef \ + --hash=sha256:d8c3cc6bb76492133474e130a12351a325336c01c96a24aae731abf5a47fe088 \ + --hash=sha256:db8e62016add2235cc87fb7ea000ede9e4ca0aa1f221b40cef049d02d5d2593d \ + --hash=sha256:e7507f6c7b0262d3e7b0eeda15045bf5881f4ada70473b87bc7b7c93b992a7d7 \ + --hash=sha256:ed15edb14f52925869250b1375f0ff58ca5c4fa8adefe4883cfb0737d32f5c02 \ + --hash=sha256:f57d63a2b5beaf797b87024d018772439f9d3103a395627b77d17a8d72009543 \ + --hash=sha256:fa5e32c7d9b60b2528108ade2929b115167fe98d59f89555574715054f50fa31 \ + --hash=sha256:fe79b4ad4836e3da6c4650cb85a663b3a51aef22e1a829c384e18fae87e5e727 + # via + # accelerate + # wandb +pyarrow==10.0.0 \ + --hash=sha256:10e031794d019425d34406edffe7e32157359e9455f9edb97a1732f8dabf802f \ + --hash=sha256:25f51dca780fc22cfd7ac30f6bdfe70eb99145aee9acfda987f2c49955d66ed9 \ + --hash=sha256:2d326a9d47ac237d81b8c4337e9d30a0b361835b536fc7ea53991455ce761fbd \ + --hash=sha256:3d2694f08c8d4482d14e3798ff036dbd81ae6b1c47948f52515e1aa90fbec3f0 \ + --hash=sha256:4051664d354b14939b5da35cfa77821ade594bc1cf56dd2032b3068c96697d74 \ + --hash=sha256:511735040b83f2993f78d7fb615e7b88253d75f41500e87e587c40156ff88120 \ + --hash=sha256:65d4a312f3ced318423704355acaccc7f7bdfe242472e59bdd54aa0f8837adf8 \ + --hash=sha256:68ccb82c04c0f7abf7a95541d5e9d9d94290fc66a2d36d3f6ea0777f40c15654 \ + --hash=sha256:69b8a1fd99201178799b02f18498633847109b701856ec762f314352a431b7d0 \ + --hash=sha256:758284e1ebd3f2a9abb30544bfec28d151a398bb7c0f2578cbca5ee5b000364a \ + --hash=sha256:7be7f42f713068293308c989a4a3a2de03b70199bdbe753901c6595ff8640c64 \ + --hash=sha256:7ce026274cd5d9934cd3694e89edecde4e036018bbc6cb735fd33b9e967e7d47 \ + --hash=sha256:7e6b837cc44cd62a0e280c8fc4de94ebce503d6d1190e6e94157ab49a8bea67b \ + --hash=sha256:b153b05765393557716e3729cf988442b3ae4f5567364ded40d58c07feed27c2 \ + --hash=sha256:b3e3148468d3eed3779d68241f1d13ed4ee7cca4c6dbc7c07e5062b93ad4da33 \ + --hash=sha256:b45f969ed924282e9d4ede38f3430630d809c36dbff65452cabce03141943d28 \ + --hash=sha256:b9f63ceb8346aac0bcb487fafe9faca642ad448ca649fcf66a027c6e120cbc12 \ + --hash=sha256:c79300e1a3e23f2bf4defcf0d70ff5ea25ef6ebf6f121d8670ee14bb662bb7ca \ + --hash=sha256:d45a59e2f47826544c0ca70bc0f7ed8ffa5ad23f93b0458230c7e983bcad1acf \ + --hash=sha256:e4c6da9f9e1ff96781ee1478f7cc0860e66c23584887b8e297c4b9905c3c9066 \ + --hash=sha256:f329951d56b3b943c353f7b27c894e02367a7efbb9fef7979c6b24e02dbfcf55 \ + --hash=sha256:f76157d9579571c865860e5fd004537c03e21139db76692d96fd8a186adab1f2 + # via streamlit +pyasn1==0.4.8 \ + --hash=sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d \ + --hash=sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba + # via + # pyasn1-modules + # rsa +pyasn1-modules==0.2.8 \ + --hash=sha256:905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e \ + --hash=sha256:a50b808ffeb97cb3601dd25981f6b016cbb3d31fbf57a8b8a87428e6158d0c74 + # via google-auth +pydeck==0.8.0 \ + --hash=sha256:07edde833f7cfcef6749124351195aa7dcd24663d4909fd7898dbd0b6fbc01ec \ + --hash=sha256:a8fa7757c6f24bba033af39db3147cb020eef44012ba7e60d954de187f9ed4d5 + # via streamlit +pydeprecate==0.3.2 \ + --hash=sha256:d481116cc5d7f6c473e7c4be820efdd9b90a16b594b350276e9e66a6cb5bdd29 \ + --hash=sha256:ed86b68ed837e6465245904a3de2f59bf9eef78ac7a2502ee280533d04802457 + # via pytorch-lightning +pygments==2.13.0 \ + --hash=sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1 \ + --hash=sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42 + # via rich +pympler==1.0.1 \ + --hash=sha256:993f1a3599ca3f4fcd7160c7545ad06310c9e12f70174ae7ae8d4e25f6c5d3fa \ + --hash=sha256:d260dda9ae781e1eab6ea15bacb84015849833ba5555f141d2d9b7b7473b307d + # via streamlit +pyparsing==3.0.9 \ + --hash=sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \ + --hash=sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc + # via + # matplotlib + # packaging +pyreadline3==3.4.1 \ + --hash=sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae \ + --hash=sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb + # via -r requirements.in +pyrsistent==0.19.2 \ + --hash=sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed \ + --hash=sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb \ + --hash=sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a \ + --hash=sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95 \ + --hash=sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712 \ + --hash=sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73 \ + --hash=sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41 \ + --hash=sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b \ + --hash=sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78 \ + --hash=sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab \ + --hash=sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308 \ + --hash=sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425 \ + --hash=sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2 \ + --hash=sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e \ + --hash=sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6 \ + --hash=sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2 \ + --hash=sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a \ + --hash=sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291 \ + --hash=sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584 \ + --hash=sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a \ + --hash=sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0 \ + --hash=sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770 + # via jsonschema +python-dateutil==2.8.2 \ + --hash=sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86 \ + --hash=sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9 + # via + # matplotlib + # pandas + # streamlit +python-engineio==4.3.4 \ + --hash=sha256:7454314a529bba20e745928601ffeaf101c1b5aca9a6c4e48ad397803d10ea0c \ + --hash=sha256:d8d8b072799c36cadcdcc2b40d2a560ce09797ab3d2d596b2ad519a5e4df19ae + # via python-socketio +python-socketio==5.7.2 \ + --hash=sha256:92395062d9db3c13d30e7cdedaa0e1330bba78505645db695415f9a3c628d097 \ + --hash=sha256:d9a9f047e6fdd306c852fbac36516f4b495c2096f8ad9ceb8803b8e5ff5622e3 + # via flask-socketio +pytorch-lightning==1.7.7 \ + --hash=sha256:27c2dd01a18db2415168e3fa3775ccb5a1fa1e2961a50439ad9365507fe9d4ae \ + --hash=sha256:4438b8284d7f7fdb06cf3566a7b5b6f102ac8971cf7bb6d3f1b1de64628241f3 + # via taming-transformers-rom1504 +pytz==2022.6 \ + --hash=sha256:222439474e9c98fced559f1709d89e6c9cbf8d79c794ff3eb9f8800064291427 \ + --hash=sha256:e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2 + # via pandas +pytz-deprecation-shim==0.1.0.post0 \ + --hash=sha256:8314c9692a636c8eb3bda879b9f119e350e93223ae83e70e80c31675a0fdc1a6 \ + --hash=sha256:af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d + # via tzlocal +pywavelets==1.4.1 \ + --hash=sha256:030670a213ee8fefa56f6387b0c8e7d970c7f7ad6850dc048bd7c89364771b9b \ + --hash=sha256:058b46434eac4c04dd89aeef6fa39e4b6496a951d78c500b6641fd5b2cc2f9f4 \ + --hash=sha256:231b0e0b1cdc1112f4af3c24eea7bf181c418d37922a67670e9bf6cfa2d544d4 \ + --hash=sha256:23bafd60350b2b868076d976bdd92f950b3944f119b4754b1d7ff22b7acbf6c6 \ + --hash=sha256:3f19327f2129fb7977bc59b966b4974dfd72879c093e44a7287500a7032695de \ + --hash=sha256:47cac4fa25bed76a45bc781a293c26ac63e8eaae9eb8f9be961758d22b58649c \ + --hash=sha256:578af438a02a86b70f1975b546f68aaaf38f28fb082a61ceb799816049ed18aa \ + --hash=sha256:6437af3ddf083118c26d8f97ab43b0724b956c9f958e9ea788659f6a2834ba93 \ + --hash=sha256:64c6bac6204327321db30b775060fbe8e8642316e6bff17f06b9f34936f88875 \ + --hash=sha256:67a0d28a08909f21400cb09ff62ba94c064882ffd9e3a6b27880a111211d59bd \ + --hash=sha256:71ab30f51ee4470741bb55fc6b197b4a2b612232e30f6ac069106f0156342356 \ + --hash=sha256:7231461d7a8eb3bdc7aa2d97d9f67ea5a9f8902522818e7e2ead9c2b3408eeb1 \ + --hash=sha256:754fa5085768227c4f4a26c1e0c78bc509a266d9ebd0eb69a278be7e3ece943c \ + --hash=sha256:7ab8d9db0fe549ab2ee0bea61f614e658dd2df419d5b75fba47baa761e95f8f2 \ + --hash=sha256:875d4d620eee655346e3589a16a73790cf9f8917abba062234439b594e706784 \ + --hash=sha256:88aa5449e109d8f5e7f0adef85f7f73b1ab086102865be64421a3a3d02d277f4 \ + --hash=sha256:91d3d393cffa634f0e550d88c0e3f217c96cfb9e32781f2960876f1808d9b45b \ + --hash=sha256:9cb5ca8d11d3f98e89e65796a2125be98424d22e5ada360a0dbabff659fca0fc \ + --hash=sha256:ab7da0a17822cd2f6545626946d3b82d1a8e106afc4b50e3387719ba01c7b966 \ + --hash=sha256:ad987748f60418d5f4138db89d82ba0cb49b086e0cbb8fd5c3ed4a814cfb705e \ + --hash=sha256:d0e56cd7a53aed3cceca91a04d62feb3a0aca6725b1912d29546c26f6ea90426 \ + --hash=sha256:d854411eb5ee9cb4bc5d0e66e3634aeb8f594210f6a1bed96dbed57ec70f181c \ + --hash=sha256:da7b9c006171be1f9ddb12cc6e0d3d703b95f7f43cb5e2c6f5f15d3233fcf202 \ + --hash=sha256:daf0aa79842b571308d7c31a9c43bc99a30b6328e6aea3f50388cd8f69ba7dbc \ + --hash=sha256:de7cd61a88a982edfec01ea755b0740e94766e00a1ceceeafef3ed4c85c605cd + # via scikit-image +pyyaml==6.0 \ + --hash=sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf \ + --hash=sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293 \ + --hash=sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b \ + --hash=sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57 \ + --hash=sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b \ + --hash=sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4 \ + --hash=sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07 \ + --hash=sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba \ + --hash=sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9 \ + --hash=sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287 \ + --hash=sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513 \ + --hash=sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0 \ + --hash=sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782 \ + --hash=sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0 \ + --hash=sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92 \ + --hash=sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f \ + --hash=sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2 \ + --hash=sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc \ + --hash=sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1 \ + --hash=sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c \ + --hash=sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86 \ + --hash=sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4 \ + --hash=sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c \ + --hash=sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34 \ + --hash=sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b \ + --hash=sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d \ + --hash=sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c \ + --hash=sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb \ + --hash=sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7 \ + --hash=sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737 \ + --hash=sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3 \ + --hash=sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d \ + --hash=sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358 \ + --hash=sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53 \ + --hash=sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78 \ + --hash=sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803 \ + --hash=sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a \ + --hash=sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f \ + --hash=sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174 \ + --hash=sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5 + # via + # accelerate + # albumentations + # basicsr + # gfpgan + # huggingface-hub + # omegaconf + # pytorch-lightning + # transformers + # wandb +qudida==0.0.4 \ + --hash=sha256:4519714c40cd0f2e6c51e1735edae8f8b19f4efe1f33be13e9d644ca5f736dd6 \ + --hash=sha256:db198e2887ab0c9aa0023e565afbff41dfb76b361f85fd5e13f780d75ba18cc8 + # via albumentations +realesrgan==0.3.0 \ + --hash=sha256:0d36da96ab9f447071606e91f502ccdfb08f80cc82ee4f8caf720c7745ccec7e \ + --hash=sha256:59336c16c30dd5130eff350dd27424acb9b7281d18a6810130e265606c9a6088 + # via -r requirements.in +regex==2022.10.31 \ + --hash=sha256:052b670fafbe30966bbe5d025e90b2a491f85dfe5b2583a163b5e60a85a321ad \ + --hash=sha256:0653d012b3bf45f194e5e6a41df9258811ac8fc395579fa82958a8b76286bea4 \ + --hash=sha256:0a069c8483466806ab94ea9068c34b200b8bfc66b6762f45a831c4baaa9e8cdd \ + --hash=sha256:0cf0da36a212978be2c2e2e2d04bdff46f850108fccc1851332bcae51c8907cc \ + --hash=sha256:131d4be09bea7ce2577f9623e415cab287a3c8e0624f778c1d955ec7c281bd4d \ + --hash=sha256:144486e029793a733e43b2e37df16a16df4ceb62102636ff3db6033994711066 \ + --hash=sha256:1ddf14031a3882f684b8642cb74eea3af93a2be68893901b2b387c5fd92a03ec \ + --hash=sha256:1eba476b1b242620c266edf6325b443a2e22b633217a9835a52d8da2b5c051f9 \ + --hash=sha256:20f61c9944f0be2dc2b75689ba409938c14876c19d02f7585af4460b6a21403e \ + --hash=sha256:22960019a842777a9fa5134c2364efaed5fbf9610ddc5c904bd3a400973b0eb8 \ + --hash=sha256:22e7ebc231d28393dfdc19b185d97e14a0f178bedd78e85aad660e93b646604e \ + --hash=sha256:23cbb932cc53a86ebde0fb72e7e645f9a5eec1a5af7aa9ce333e46286caef783 \ + --hash=sha256:29c04741b9ae13d1e94cf93fca257730b97ce6ea64cfe1eba11cf9ac4e85afb6 \ + --hash=sha256:2bde29cc44fa81c0a0c8686992c3080b37c488df167a371500b2a43ce9f026d1 \ + --hash=sha256:2cdc55ca07b4e70dda898d2ab7150ecf17c990076d3acd7a5f3b25cb23a69f1c \ + --hash=sha256:370f6e97d02bf2dd20d7468ce4f38e173a124e769762d00beadec3bc2f4b3bc4 \ + --hash=sha256:395161bbdbd04a8333b9ff9763a05e9ceb4fe210e3c7690f5e68cedd3d65d8e1 \ + --hash=sha256:44136355e2f5e06bf6b23d337a75386371ba742ffa771440b85bed367c1318d1 \ + --hash=sha256:44a6c2f6374e0033873e9ed577a54a3602b4f609867794c1a3ebba65e4c93ee7 \ + --hash=sha256:4919899577ba37f505aaebdf6e7dc812d55e8f097331312db7f1aab18767cce8 \ + --hash=sha256:4b4b1fe58cd102d75ef0552cf17242705ce0759f9695334a56644ad2d83903fe \ + --hash=sha256:4bdd56ee719a8f751cf5a593476a441c4e56c9b64dc1f0f30902858c4ef8771d \ + --hash=sha256:4bf41b8b0a80708f7e0384519795e80dcb44d7199a35d52c15cc674d10b3081b \ + --hash=sha256:4cac3405d8dda8bc6ed499557625585544dd5cbf32072dcc72b5a176cb1271c8 \ + --hash=sha256:4fe7fda2fe7c8890d454f2cbc91d6c01baf206fbc96d89a80241a02985118c0c \ + --hash=sha256:50921c140561d3db2ab9f5b11c5184846cde686bb5a9dc64cae442926e86f3af \ + --hash=sha256:5217c25229b6a85049416a5c1e6451e9060a1edcf988641e309dbe3ab26d3e49 \ + --hash=sha256:5352bea8a8f84b89d45ccc503f390a6be77917932b1c98c4cdc3565137acc714 \ + --hash=sha256:542e3e306d1669b25936b64917285cdffcd4f5c6f0247636fec037187bd93542 \ + --hash=sha256:543883e3496c8b6d58bd036c99486c3c8387c2fc01f7a342b760c1ea3158a318 \ + --hash=sha256:586b36ebda81e6c1a9c5a5d0bfdc236399ba6595e1397842fd4a45648c30f35e \ + --hash=sha256:597f899f4ed42a38df7b0e46714880fb4e19a25c2f66e5c908805466721760f5 \ + --hash=sha256:5a260758454580f11dd8743fa98319bb046037dfab4f7828008909d0aa5292bc \ + --hash=sha256:5aefb84a301327ad115e9d346c8e2760009131d9d4b4c6b213648d02e2abe144 \ + --hash=sha256:5e6a5567078b3eaed93558842346c9d678e116ab0135e22eb72db8325e90b453 \ + --hash=sha256:5ff525698de226c0ca743bfa71fc6b378cda2ddcf0d22d7c37b1cc925c9650a5 \ + --hash=sha256:61edbca89aa3f5ef7ecac8c23d975fe7261c12665f1d90a6b1af527bba86ce61 \ + --hash=sha256:659175b2144d199560d99a8d13b2228b85e6019b6e09e556209dfb8c37b78a11 \ + --hash=sha256:6a9a19bea8495bb419dc5d38c4519567781cd8d571c72efc6aa959473d10221a \ + --hash=sha256:6b30bddd61d2a3261f025ad0f9ee2586988c6a00c780a2fb0a92cea2aa702c54 \ + --hash=sha256:6ffd55b5aedc6f25fd8d9f905c9376ca44fcf768673ffb9d160dd6f409bfda73 \ + --hash=sha256:702d8fc6f25bbf412ee706bd73019da5e44a8400861dfff7ff31eb5b4a1276dc \ + --hash=sha256:74bcab50a13960f2a610cdcd066e25f1fd59e23b69637c92ad470784a51b1347 \ + --hash=sha256:75f591b2055523fc02a4bbe598aa867df9e953255f0b7f7715d2a36a9c30065c \ + --hash=sha256:763b64853b0a8f4f9cfb41a76a4a85a9bcda7fdda5cb057016e7706fde928e66 \ + --hash=sha256:76c598ca73ec73a2f568e2a72ba46c3b6c8690ad9a07092b18e48ceb936e9f0c \ + --hash=sha256:78d680ef3e4d405f36f0d6d1ea54e740366f061645930072d39bca16a10d8c93 \ + --hash=sha256:7b280948d00bd3973c1998f92e22aa3ecb76682e3a4255f33e1020bd32adf443 \ + --hash=sha256:7db345956ecce0c99b97b042b4ca7326feeec6b75facd8390af73b18e2650ffc \ + --hash=sha256:7dbdce0c534bbf52274b94768b3498abdf675a691fec5f751b6057b3030f34c1 \ + --hash=sha256:7ef6b5942e6bfc5706301a18a62300c60db9af7f6368042227ccb7eeb22d0892 \ + --hash=sha256:7f5a3ffc731494f1a57bd91c47dc483a1e10048131ffb52d901bfe2beb6102e8 \ + --hash=sha256:8a45b6514861916c429e6059a55cf7db74670eaed2052a648e3e4d04f070e001 \ + --hash=sha256:8ad241da7fac963d7573cc67a064c57c58766b62a9a20c452ca1f21050868dfa \ + --hash=sha256:8b0886885f7323beea6f552c28bff62cbe0983b9fbb94126531693ea6c5ebb90 \ + --hash=sha256:8ca88da1bd78990b536c4a7765f719803eb4f8f9971cc22d6ca965c10a7f2c4c \ + --hash=sha256:8e0caeff18b96ea90fc0eb6e3bdb2b10ab5b01a95128dfeccb64a7238decf5f0 \ + --hash=sha256:957403a978e10fb3ca42572a23e6f7badff39aa1ce2f4ade68ee452dc6807692 \ + --hash=sha256:9af69f6746120998cd9c355e9c3c6aec7dff70d47247188feb4f829502be8ab4 \ + --hash=sha256:9c94f7cc91ab16b36ba5ce476f1904c91d6c92441f01cd61a8e2729442d6fcf5 \ + --hash=sha256:a37d51fa9a00d265cf73f3de3930fa9c41548177ba4f0faf76e61d512c774690 \ + --hash=sha256:a3a98921da9a1bf8457aeee6a551948a83601689e5ecdd736894ea9bbec77e83 \ + --hash=sha256:a3c1ebd4ed8e76e886507c9eddb1a891673686c813adf889b864a17fafcf6d66 \ + --hash=sha256:a5f9505efd574d1e5b4a76ac9dd92a12acb2b309551e9aa874c13c11caefbe4f \ + --hash=sha256:a8ff454ef0bb061e37df03557afda9d785c905dab15584860f982e88be73015f \ + --hash=sha256:a9d0b68ac1743964755ae2d89772c7e6fb0118acd4d0b7464eaf3921c6b49dd4 \ + --hash=sha256:aa62a07ac93b7cb6b7d0389d8ef57ffc321d78f60c037b19dfa78d6b17c928ee \ + --hash=sha256:ac741bf78b9bb432e2d314439275235f41656e189856b11fb4e774d9f7246d81 \ + --hash=sha256:ae1e96785696b543394a4e3f15f3f225d44f3c55dafe3f206493031419fedf95 \ + --hash=sha256:b683e5fd7f74fb66e89a1ed16076dbab3f8e9f34c18b1979ded614fe10cdc4d9 \ + --hash=sha256:b7a8b43ee64ca8f4befa2bea4083f7c52c92864d8518244bfa6e88c751fa8fff \ + --hash=sha256:b8e38472739028e5f2c3a4aded0ab7eadc447f0d84f310c7a8bb697ec417229e \ + --hash=sha256:bfff48c7bd23c6e2aec6454aaf6edc44444b229e94743b34bdcdda2e35126cf5 \ + --hash=sha256:c14b63c9d7bab795d17392c7c1f9aaabbffd4cf4387725a0ac69109fb3b550c6 \ + --hash=sha256:c27cc1e4b197092e50ddbf0118c788d9977f3f8f35bfbbd3e76c1846a3443df7 \ + --hash=sha256:c28d3309ebd6d6b2cf82969b5179bed5fefe6142c70f354ece94324fa11bf6a1 \ + --hash=sha256:c670f4773f2f6f1957ff8a3962c7dd12e4be54d05839b216cb7fd70b5a1df394 \ + --hash=sha256:ce6910b56b700bea7be82c54ddf2e0ed792a577dfaa4a76b9af07d550af435c6 \ + --hash=sha256:d0213671691e341f6849bf33cd9fad21f7b1cb88b89e024f33370733fec58742 \ + --hash=sha256:d03fe67b2325cb3f09be029fd5da8df9e6974f0cde2c2ac6a79d2634e791dd57 \ + --hash=sha256:d0e5af9a9effb88535a472e19169e09ce750c3d442fb222254a276d77808620b \ + --hash=sha256:d243b36fbf3d73c25e48014961e83c19c9cc92530516ce3c43050ea6276a2ab7 \ + --hash=sha256:d26166acf62f731f50bdd885b04b38828436d74e8e362bfcb8df221d868b5d9b \ + --hash=sha256:d403d781b0e06d2922435ce3b8d2376579f0c217ae491e273bab8d092727d244 \ + --hash=sha256:d8716f82502997b3d0895d1c64c3b834181b1eaca28f3f6336a71777e437c2af \ + --hash=sha256:e4f781ffedd17b0b834c8731b75cce2639d5a8afe961c1e58ee7f1f20b3af185 \ + --hash=sha256:e613a98ead2005c4ce037c7b061f2409a1a4e45099edb0ef3200ee26ed2a69a8 \ + --hash=sha256:ef4163770525257876f10e8ece1cf25b71468316f61451ded1a6f44273eedeb5 + # via + # clip + # diffusers + # transformers +requests==2.25.1 \ + --hash=sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804 \ + --hash=sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e + # via + # basicsr + # clean-fid + # diffusers + # fsspec + # huggingface-hub + # requests-oauthlib + # streamlit + # tb-nightly + # tensorboard + # torchvision + # transformers + # wandb +requests-oauthlib==1.3.1 \ + --hash=sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5 \ + --hash=sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a + # via google-auth-oauthlib +resize-right==0.0.2 \ + --hash=sha256:78351ca3eda0872208fcbc90861b45de559f90fb4027ce41825fdeb9b995005c \ + --hash=sha256:7dc35b72ce4012b77f7cc9049835163793ab98a58ab8893610fb119fe59af520 + # via k-diffusion +rich==12.6.0 \ + --hash=sha256:a4eb26484f2c82589bd9a17c73d32a010b1e29d89f1604cd9bf3a2097b81bb5e \ + --hash=sha256:ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0 + # via streamlit +rsa==4.9 \ + --hash=sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 \ + --hash=sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21 + # via google-auth +scikit-image==0.19.3 \ + --hash=sha256:03779a7e1736fdf89d83c0ba67d44110496edd736a3bfce61a2b5177a1c8a099 \ + --hash=sha256:0b0a199157ce8487c77de4fde0edc0b42d6d42818881c11f459262351d678b2d \ + --hash=sha256:19a21a101a20c587a3b611a2cf6f86c35aae9f8d9563279b987e83ee1c9a9790 \ + --hash=sha256:24b5367de1762da6ee126dd8f30cc4e7efda474e0d7d70685433f0e3aa2ec450 \ + --hash=sha256:2a02d1bd0e2b53e36b952bd5fd6118d9ccc3ee51de35705d63d8eb1f2e86adef \ + --hash=sha256:2f50b923f8099c1045fcde7418d86b206c87e333e43da980f41d8577b9605245 \ + --hash=sha256:32fb88cc36203b99c9672fb972c9ef98635deaa5fc889fe969f3e11c44f22919 \ + --hash=sha256:33dfd463ee6cc509defa279b963829f2230c9e0639ccd3931045be055878eea6 \ + --hash=sha256:3a01372ae4bca223873304b0bff79b9d92446ac6d6177f73d89b45561e2d09d8 \ + --hash=sha256:651de1c2ce1fbee834753b46b8e7d81cb12a5594898babba63ac82b30ddad49d \ + --hash=sha256:6b6a8f98f2ac9bb73706461fd1dec875f6a5141759ed526850a5a49e90003d19 \ + --hash=sha256:7f9f8a1387afc6c70f2bed007c3854a2d7489f9f7713c242f16f32ee05934bc2 \ + --hash=sha256:84baa3179f3ae983c3a5d81c1e404bc92dcf7daeb41bfe9369badcda3fb22b92 \ + --hash=sha256:8d8917fcf85b987b1f287f823f3a1a7dac38b70aaca759bc0200f3bc292d5ced \ + --hash=sha256:9439e5294de3f18d6e82ec8eee2c46590231cf9c690da80545e83a0733b7a69e \ + --hash=sha256:9fb0923a3bfa99457c5e17888f27b3b8a83a3600b4fef317992e7b7234764732 \ + --hash=sha256:a7c3985c68bfe05f7571167ee021d14f5b8d1a4a250c91f0b13be7fb07e6af34 \ + --hash=sha256:a8714348ddd671f819457a797c97d4c672166f093def66d66c3254cbd1d43f83 \ + --hash=sha256:ad5d8000207a264d1a55681a9276e6a739d3f05cf4429004ad00d61d1892235f \ + --hash=sha256:cc24177de3fdceca5d04807ad9c87d665f0bf01032ed94a9055cd1ed2b3f33e9 \ + --hash=sha256:ce3d2207f253b8eb2c824e30d145a9f07a34a14212d57f3beca9f7e03c383cbe \ + --hash=sha256:cfbb073f23deb48e0e60c47f8741d8089121d89cc78629ea8c5b51096efc5be7 \ + --hash=sha256:e207c6ce5ce121d7d9b9d2b61b9adca57d1abed112c902d8ffbfdc20fb42c12b \ + --hash=sha256:fd9dd3994bb6f9f7a35f228323f3c4dc44b3cf2ff15fd72d895216e9333550c6 \ + --hash=sha256:fdf48d9b1f13af69e4e2c78e05067e322e9c8c97463c315cd0ecb47a94e259fc \ + --hash=sha256:ff3b1025356508d41f4fe48528e509d95f9e4015e90cf158cd58c56dc63e0ac5 + # via + # albumentations + # basicsr + # k-diffusion +scikit-learn==1.1.3 \ + --hash=sha256:23fb9e74b813cc2528b5167d82ed08950b11106ccf50297161875e45152fb311 \ + --hash=sha256:250da993701da88bf475e7c5746abf1285ea0ae47e4d0917cd13afd6600bb162 \ + --hash=sha256:28b2bd6a1419acd522ff45d282c8ba23dbccb5338802ab0ee12baa4ade0aba4c \ + --hash=sha256:2ee2c649f2231b68511aabb0dc827edd8936aad682acc6263c34aed11bc95dac \ + --hash=sha256:30e27721adc308e8fd9f419f43068e43490005f911edf4476a9e585059fa8a83 \ + --hash=sha256:38814f66285318f2e241305cca545eaa9b4126c65aa5dd78c69371f235f78e2b \ + --hash=sha256:4d3a19166d4e1cdfcab975c68f471e046ce01e74c42a9a33fa89a14c2fcedf60 \ + --hash=sha256:5699cded6c0685426433c7e5afe0fecad80ec831ec7fa264940e50c796775cc5 \ + --hash=sha256:6785b8a3093329bf90ac01801be5525551728ae73edb11baa175df660820add4 \ + --hash=sha256:6d1c1394e38a3319ace620381f6f23cc807d8780e9915c152449a86fc8f1db21 \ + --hash=sha256:701181792a28c82fecae12adb5d15d0ecf57bffab7cf4bdbb52c7b3fd428d540 \ + --hash=sha256:748f2bd632d6993e8918d43f1a26c380aeda4e122a88840d4c3a9af99d4239fe \ + --hash=sha256:8e9dd76c7274055d1acf4526b8efb16a3531c26dcda714a0c16da99bf9d41900 \ + --hash=sha256:bef51978a51ec19977700fe7b86aecea49c825884f3811756b74a3b152bb4e35 \ + --hash=sha256:cd55c6fbef7608dbce1f22baf289dfcc6eb323247daa3c3542f73d389c724786 \ + --hash=sha256:da5a2e95fef9805b1750e4abda4e834bf8835d26fc709a391543b53feee7bd0e \ + --hash=sha256:ee47f68d973cee7009f06edb956f2f5588a0f230f24a2a70175fd0ecf36e2653 \ + --hash=sha256:f4931f2a6c06e02c6c17a05f8ae397e2545965bc7a0a6cb38c8cd7d4fba8624d \ + --hash=sha256:f5644663987ee221f5d1f47a593271b966c271c236fe05634e6bdc06041b5a2b \ + --hash=sha256:f5d4231af7199531e77da1b78a4cc6b3d960a00b1ec672578ac818aae2b9c35d \ + --hash=sha256:fd3ee69d36d42a7dcbb17e355a5653af5fd241a7dfd9133080b3dde8d9e2aafb + # via qudida +scipy==1.9.3 \ + --hash=sha256:06d2e1b4c491dc7d8eacea139a1b0b295f74e1a1a0f704c375028f8320d16e31 \ + --hash=sha256:0d54222d7a3ba6022fdf5773931b5d7c56efe41ede7f7128c7b1637700409108 \ + --hash=sha256:1884b66a54887e21addf9c16fb588720a8309a57b2e258ae1c7986d4444d3bc0 \ + --hash=sha256:1a72d885fa44247f92743fc20732ae55564ff2a519e8302fb7e18717c5355a8b \ + --hash=sha256:2318bef588acc7a574f5bfdff9c172d0b1bf2c8143d9582e05f878e580a3781e \ + --hash=sha256:4db5b30849606a95dcf519763dd3ab6fe9bd91df49eba517359e450a7d80ce2e \ + --hash=sha256:545c83ffb518094d8c9d83cce216c0c32f8c04aaf28b92cc8283eda0685162d5 \ + --hash=sha256:5a04cd7d0d3eff6ea4719371cbc44df31411862b9646db617c99718ff68d4840 \ + --hash=sha256:5b88e6d91ad9d59478fafe92a7c757d00c59e3bdc3331be8ada76a4f8d683f58 \ + --hash=sha256:68239b6aa6f9c593da8be1509a05cb7f9efe98b80f43a5861cd24c7557e98523 \ + --hash=sha256:83b89e9586c62e787f5012e8475fbb12185bafb996a03257e9675cd73d3736dd \ + --hash=sha256:83c06e62a390a9167da60bedd4575a14c1f58ca9dfde59830fc42e5197283dab \ + --hash=sha256:90453d2b93ea82a9f434e4e1cba043e779ff67b92f7a0e85d05d286a3625df3c \ + --hash=sha256:abaf921531b5aeaafced90157db505e10345e45038c39e5d9b6c7922d68085cb \ + --hash=sha256:b41bc822679ad1c9a5f023bc93f6d0543129ca0f37c1ce294dd9d386f0a21096 \ + --hash=sha256:c68db6b290cbd4049012990d7fe71a2abd9ffbe82c0056ebe0f01df8be5436b0 \ + --hash=sha256:cff3a5295234037e39500d35316a4c5794739433528310e117b8a9a0c76d20fc \ + --hash=sha256:d01e1dd7b15bd2449c8bfc6b7cc67d630700ed655654f0dfcf121600bad205c9 \ + --hash=sha256:d644a64e174c16cb4b2e41dfea6af722053e83d066da7343f333a54dae9bc31c \ + --hash=sha256:da8245491d73ed0a994ed9c2e380fd058ce2fa8a18da204681f2fe1f57f98f95 \ + --hash=sha256:fbc5c05c85c1a02be77b1ff591087c83bc44579c6d2bd9fb798bb64ea5e1a027 + # via + # albumentations + # basicsr + # clean-fid + # facexlib + # filterpy + # gfpgan + # k-diffusion + # scikit-image + # scikit-learn + # torch-fidelity + # torchdiffeq +semver==2.13.0 \ + --hash=sha256:ced8b23dceb22134307c1b8abfa523da14198793d9787ac838e70e29e77458d4 \ + --hash=sha256:fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f + # via streamlit +send2trash==1.8.0 \ + --hash=sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d \ + --hash=sha256:f20eaadfdb517eaca5ce077640cb261c7d2698385a6a0f072a4a5447fd49fa08 + # via -r requirements.in +sentry-sdk==1.10.1 \ + --hash=sha256:06c0fa9ccfdc80d7e3b5d2021978d6eb9351fa49db9b5847cf4d1f2a473414ad \ + --hash=sha256:105faf7bd7b7fa25653404619ee261527266b14103fe1389e0ce077bd23a9691 + # via wandb +setproctitle==1.3.2 \ + --hash=sha256:1c5d5dad7c28bdd1ec4187d818e43796f58a845aa892bb4481587010dc4d362b \ + --hash=sha256:1c8d9650154afaa86a44ff195b7b10d683c73509d085339d174e394a22cccbb9 \ + --hash=sha256:1f0cde41857a644b7353a0060b5f94f7ba7cf593ebde5a1094da1be581ac9a31 \ + --hash=sha256:1f29b75e86260b0ab59adb12661ef9f113d2f93a59951373eb6d68a852b13e83 \ + --hash=sha256:1fa1a0fbee72b47dc339c87c890d3c03a72ea65c061ade3204f285582f2da30f \ + --hash=sha256:1ff863a20d1ff6ba2c24e22436a3daa3cd80be1dfb26891aae73f61b54b04aca \ + --hash=sha256:265ecbe2c6eafe82e104f994ddd7c811520acdd0647b73f65c24f51374cf9494 \ + --hash=sha256:288943dec88e178bb2fd868adf491197cc0fc8b6810416b1c6775e686bab87fe \ + --hash=sha256:2e3ac25bfc4a0f29d2409650c7532d5ddfdbf29f16f8a256fc31c47d0dc05172 \ + --hash=sha256:2fbd8187948284293f43533c150cd69a0e4192c83c377da837dbcd29f6b83084 \ + --hash=sha256:4058564195b975ddc3f0462375c533cce310ccdd41b80ac9aed641c296c3eff4 \ + --hash=sha256:4749a2b0c9ac52f864d13cee94546606f92b981b50e46226f7f830a56a9dc8e1 \ + --hash=sha256:4d8938249a7cea45ab7e1e48b77685d0f2bab1ebfa9dde23e94ab97968996a7c \ + --hash=sha256:5194b4969f82ea842a4f6af2f82cd16ebdc3f1771fb2771796e6add9835c1973 \ + --hash=sha256:55ce1e9925ce1765865442ede9dca0ba9bde10593fcd570b1f0fa25d3ec6b31c \ + --hash=sha256:589be87172b238f839e19f146b9ea47c71e413e951ef0dc6db4218ddacf3c202 \ + --hash=sha256:5b932c3041aa924163f4aab970c2f0e6b4d9d773f4d50326e0ea1cd69240e5c5 \ + --hash=sha256:5fb4f769c02f63fac90989711a3fee83919f47ae9afd4758ced5d86596318c65 \ + --hash=sha256:630f6fe5e24a619ccf970c78e084319ee8be5be253ecc9b5b216b0f474f5ef18 \ + --hash=sha256:65d884e22037b23fa25b2baf1a3316602ed5c5971eb3e9d771a38c3a69ce6e13 \ + --hash=sha256:6c877691b90026670e5a70adfbcc735460a9f4c274d35ec5e8a43ce3f8443005 \ + --hash=sha256:710e16fa3bade3b026907e4a5e841124983620046166f355bbb84be364bf2a02 \ + --hash=sha256:7a55fe05f15c10e8c705038777656fe45e3bd676d49ad9ac8370b75c66dd7cd7 \ + --hash=sha256:7aa0aac1711fadffc1d51e9d00a3bea61f68443d6ac0241a224e4d622489d665 \ + --hash=sha256:7f0bed90a216ef28b9d227d8d73e28a8c9b88c0f48a082d13ab3fa83c581488f \ + --hash=sha256:7f2719a398e1a2c01c2a63bf30377a34d0b6ef61946ab9cf4d550733af8f1ef1 \ + --hash=sha256:7fe9df7aeb8c64db6c34fc3b13271a363475d77bc157d3f00275a53910cb1989 \ + --hash=sha256:8ff3c8cb26afaed25e8bca7b9dd0c1e36de71f35a3a0706b5c0d5172587a3827 \ + --hash=sha256:9124bedd8006b0e04d4e8a71a0945da9b67e7a4ab88fdad7b1440dc5b6122c42 \ + --hash=sha256:92c626edc66169a1b09e9541b9c0c9f10488447d8a2b1d87c8f0672e771bc927 \ + --hash=sha256:a149a5f7f2c5a065d4e63cb0d7a4b6d3b66e6e80f12e3f8827c4f63974cbf122 \ + --hash=sha256:a47d97a75fd2d10c37410b180f67a5835cb1d8fdea2648fd7f359d4277f180b9 \ + --hash=sha256:a499fff50387c1520c085a07578a000123f519e5f3eee61dd68e1d301659651f \ + --hash=sha256:ab45146c71ca6592c9cc8b354a2cc9cc4843c33efcbe1d245d7d37ce9696552d \ + --hash=sha256:b2c9cb2705fc84cb8798f1ba74194f4c080aaef19d9dae843591c09b97678e98 \ + --hash=sha256:b34baef93bfb20a8ecb930e395ccd2ae3268050d8cf4fe187de5e2bd806fd796 \ + --hash=sha256:b617f12c9be61e8f4b2857be4a4319754756845dbbbd9c3718f468bbb1e17bcb \ + --hash=sha256:b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd \ + --hash=sha256:bae283e85fc084b18ffeb92e061ff7ac5af9e183c9d1345c93e178c3e5069cbe \ + --hash=sha256:c2c46200656280a064073447ebd363937562debef329482fd7e570c8d498f806 \ + --hash=sha256:c8a09d570b39517de10ee5b718730e171251ce63bbb890c430c725c8c53d4484 \ + --hash=sha256:c91b9bc8985d00239f7dc08a49927a7ca1ca8a6af2c3890feec3ed9665b6f91e \ + --hash=sha256:dad42e676c5261eb50fdb16bdf3e2771cf8f99a79ef69ba88729aeb3472d8575 \ + --hash=sha256:de3a540cd1817ede31f530d20e6a4935bbc1b145fd8f8cf393903b1e02f1ae76 \ + --hash=sha256:e00c9d5c541a2713ba0e657e0303bf96ddddc412ef4761676adc35df35d7c246 \ + --hash=sha256:e1aafc91cbdacc9e5fe712c52077369168e6b6c346f3a9d51bf600b53eae56bb \ + --hash=sha256:e425be62524dc0c593985da794ee73eb8a17abb10fe692ee43bb39e201d7a099 \ + --hash=sha256:e43f315c68aa61cbdef522a2272c5a5b9b8fd03c301d3167b5e1343ef50c676c \ + --hash=sha256:e49ae693306d7624015f31cb3e82708916759d592c2e5f72a35c8f4cc8aef258 \ + --hash=sha256:e5c50e164cd2459bc5137c15288a9ef57160fd5cbf293265ea3c45efe7870865 \ + --hash=sha256:e8579a43eafd246e285eb3a5b939e7158073d5087aacdd2308f23200eac2458b \ + --hash=sha256:e85e50b9c67854f89635a86247412f3ad66b132a4d8534ac017547197c88f27d \ + --hash=sha256:f0452282258dfcc01697026a8841258dd2057c4438b43914b611bccbcd048f10 \ + --hash=sha256:f4bfc89bd33ebb8e4c0e9846a09b1f5a4a86f5cb7a317e75cc42fee1131b4f4f \ + --hash=sha256:fa2f50678f04fda7a75d0fe5dd02bbdd3b13cbe6ed4cf626e4472a7ccf47ae94 \ + --hash=sha256:faec934cfe5fd6ac1151c02e67156c3f526e82f96b24d550b5d51efa4a5527c6 \ + --hash=sha256:fcd3cf4286a60fdc95451d8d14e0389a6b4f5cebe02c7f2609325eb016535963 \ + --hash=sha256:fe8a988c7220c002c45347430993830666e55bc350179d91fcee0feafe64e1d4 \ + --hash=sha256:fed18e44711c5af4b681c2b3b18f85e6f0f1b2370a28854c645d636d5305ccd8 \ + --hash=sha256:ffc61a388a5834a97953d6444a2888c24a05f2e333f9ed49f977a87bb1ad4761 + # via wandb +shortuuid==1.0.9 \ + --hash=sha256:459f12fa1acc34ff213b1371467c0325169645a31ed989e268872339af7563d5 \ + --hash=sha256:b2bb9eb7773170e253bb7ba25971023acb473517a8b76803d9618668cb1dd46f + # via wandb +six==1.16.0 \ + --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ + --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 + # via + # docker-pycreds + # eventlet + # flask-cors + # google-auth + # grpcio + # promise + # python-dateutil + # validators + # wandb +smmap==5.0.0 \ + --hash=sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94 \ + --hash=sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936 + # via gitdb +streamlit==1.14.0 \ + --hash=sha256:62556d873567e1b3427bcd118a57ee6946619f363bd6bba38df2d1f8225ecba0 \ + --hash=sha256:e078b8143d150ba721bdb9194218e311c5fe1d6d4156473a2dea6cc848a6c9fc + # via -r requirements.in +taming-transformers-rom1504==0.0.6 \ + --hash=sha256:051b5804c58caa247bcd51d17ddb525b4d5f892a29d42dc460f40e3e9e34e5d8 \ + --hash=sha256:73fe5fc1108accee4236ee6976e0987ab236afad0af06cb9f037641a908d2c32 + # via -r requirements.in +tb-nightly==2.11.0a20221106 \ + --hash=sha256:8940457ee42db92f01da8bcdbbea1a476735eda559dde5976f5728919960af4a + # via + # basicsr + # gfpgan +tensorboard==2.10.1 \ + --hash=sha256:fb9222c1750e2fa35ef170d998a1e229f626eeced3004494a8849c88c15d8c1c + # via + # pytorch-lightning + # test-tube +tensorboard-data-server==0.6.1 \ + --hash=sha256:809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7 \ + --hash=sha256:d8237580755e58eff68d1f3abefb5b1e39ae5c8b127cc40920f9c4fb33f4b98a \ + --hash=sha256:fa8cef9be4fcae2f2363c88176638baf2da19c5ec90addb49b1cde05c95c88ee + # via + # tb-nightly + # tensorboard +tensorboard-plugin-wit==1.8.1 \ + --hash=sha256:ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe + # via + # tb-nightly + # tensorboard +test-tube==0.7.5 \ + --hash=sha256:1379c33eb8cde3e9b36610f87da0f16c2e06496b1cfebac473df4e7be2faa124 + # via -r requirements.in +threadpoolctl==3.1.0 \ + --hash=sha256:8b99adda265feb6773280df41eece7b2e6561b772d21ffd52e372f999024907b \ + --hash=sha256:a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380 + # via scikit-learn +tifffile==2022.10.10 \ + --hash=sha256:50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e \ + --hash=sha256:87f3aee8a0d06b74655269a105de75c1958a24653e1930d523eb516100043503 + # via scikit-image +tokenizers==0.13.1 \ + --hash=sha256:0a3412830ad66a643723d6b0fc3202e64e9e299bd9c9eda04b2914b5b1e0ddb0 \ + --hash=sha256:126bcb18a77cf65961ece04f54bd10ef3713412195e543d9d3eda2f0e4fd677c \ + --hash=sha256:16434c61c5eb72f6692b9bc52052b07ca92d3eba9dd72a1bc371890e1bdc3f07 \ + --hash=sha256:1d4acfdb6e7ef974677bb8445462db7fed240185fdc0f5b061db357d4ef8d85d \ + --hash=sha256:3333d1cee5c8f47c96362ea0abc1f81c77c9b92c6c3d11cbf1d01985f0d5cf1d \ + --hash=sha256:3acf3cae4c4739fc9ec49fa0e6cce224c1aa0fabc8f8d1358fd7de5c7d49cdca \ + --hash=sha256:3ba43b3f6f6b41c97c1d041785342cd72ba142999f6c4605d628e8e937398f20 \ + --hash=sha256:3c69a8389fd88bc32115e99db70f63bef577ba5c54f40a632580038a49612856 \ + --hash=sha256:3de653a551cc616a442a123da21706cb3a3163cf6919973f978f0921eee1bdf0 \ + --hash=sha256:4b3be8af87b357340b9b049d28067287b5e5e296e3120b6e4875d3b8469b67e6 \ + --hash=sha256:680bc0e357b7da6d0d01634bffbd002e866fdaccde303e1d1af58f32464cf308 \ + --hash=sha256:70de69681a264a5808d39f4bb6331be9a4dec51fd48cd1b959a94da76c4939cc \ + --hash=sha256:73198cda6e1d991c583ed798514863e16763aa600eb7aa6df7722373290575b2 \ + --hash=sha256:80864f456f715829f901ad5bb85af97e9ae52fc902270944804f6476ab8c6699 \ + --hash=sha256:80b9552295fdce0a2513dcb795a3f8591eca1a8dcf8afe0de3214209e6924ad1 \ + --hash=sha256:84fa41b58a8d3b7363ecdf3397d4b38f345fcf7d4dd14565b4360e7bffc9cae0 \ + --hash=sha256:890d2139100b5c8ac6d585438d5e145ede1d7b32b4090a6c078db6db0ef1daea \ + --hash=sha256:8b3f97041f7716998e474d3c7ffd19ac6941f117616696aef2b5ba927bf091e3 \ + --hash=sha256:910479e92d5fbdf91e8106b4c658fd43d418893d7cfd5fb11983c54a1ff53869 \ + --hash=sha256:96a1beef1e64d44597627f4e29d794047a66ad4d7474d93daf5a0ee27928e012 \ + --hash=sha256:98bef54cf51ac335fda1408112df7ff3e584107633bd9066616033e12b0bd519 \ + --hash=sha256:afcb1bd6d9ed59d5c8e633765589cab12f98aae09804f156b5965b4463b8b8e3 \ + --hash=sha256:b72dec85488af3e1e8d58fb4b86b5dbe5171c176002b5e098ea6d52a70004bb5 \ + --hash=sha256:c3109ba62bea56c68c7c2a976250b040afee61b5f86fc791f17afaa2a09fce94 \ + --hash=sha256:c73b9e6c107e980e65077b89c54311d8d645f6a9efdde82990777fa43c0a8cae \ + --hash=sha256:d8fca8b492a4697b0182e0c40b164cb0c44a9669d9c98033fec2f88174605eb0 \ + --hash=sha256:db6872294339bf35c158219fc65bad939ba87d14c936ae7a33a3ca2d1532c5b1 \ + --hash=sha256:e1a90bc97f53600f52e902f3ae097424de712d8ae0e42d957efc7ed908573a20 \ + --hash=sha256:f75f476fe183c03c515a0f0f5d195cb05d93fcdc76e31fe3c9753d01f3ee990b \ + --hash=sha256:fd17b14f84bec0b171869abd17ca0d9bfc564aa1e7f3451f44da526949a911c1 \ + --hash=sha256:fea71780b66f8c278ebae7221c8959404cf7343b8d2f4b7308aa668cf6f02364 + # via transformers +toml==0.10.2 \ + --hash=sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b \ + --hash=sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f + # via streamlit +toolz==0.12.0 \ + --hash=sha256:2059bd4148deb1884bb0eb770a3cde70e7f954cfbbdc2285f1f2de01fd21eb6f \ + --hash=sha256:88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194 + # via altair +torch==1.12.1+cu116 \ + --hash=sha256:7725420dabebfcaf44984edce3283eea91f98f0f7d5874bc68c7a164bd8126e3 \ + --hash=sha256:832effad8b21109700323a5aa137a2e4bdea711dac3d8491ff542f798dab0101 \ + --hash=sha256:84f031e4ee25d95368d7531aa58e79da9808d3fa53b4b363ea03a2450b6fd0af \ + --hash=sha256:b6bc31244aa2818929fbb30c483c221df471e9d856e805c5a1ff72b131ae9e7b \ + --hash=sha256:b8e8906e770bcad12e67c269e1bcdd7661a8abd96519a4ba643e86440bbcc1bf \ + --hash=sha256:bca5a77071d7eb901beb775648b125e6d9279f231d1f23e56530b5a189df8975 \ + --hash=sha256:dda312901220895087cc83d3665464a3dc171d04460c61c31af463efbfb54896 \ + --hash=sha256:fc9b4786ec54be67eaa8b0c7c9999e2f4ae2b89a1c18e41de1515a190440c691 + # via + # accelerate + # basicsr + # clean-fid + # clip + # facexlib + # gfpgan + # k-diffusion + # kornia + # pytorch-lightning + # realesrgan + # taming-transformers-rom1504 + # test-tube + # torch-fidelity + # torchdiffeq + # torchmetrics + # torchvision +torch-fidelity==0.3.0 \ + --hash=sha256:3d3e33db98919759cc4f3f24cb27e1e74bdc7c905d90a780630e4e1c18492b66 \ + --hash=sha256:d01284825595feb7dc3eae3dc9a0d8ced02be764813a3483f109bc142b52a1d3 + # via -r requirements.in +torchdiffeq==0.2.3 \ + --hash=sha256:b5b01ec1294a2d8d5f77e567bf17c5de1237c0573cb94deefa88326f0e18c338 \ + --hash=sha256:fe75f434b9090ac0c27702e02bed21472b0f87035be6581f51edc5d4013ea31a + # via k-diffusion +torchmetrics==0.10.2 \ + --hash=sha256:43757d82266969906fc74b6e80766fcb2a0d52d6c3d09e3b7c98cf3b733fd20c \ + --hash=sha256:daa29d96bff5cff04d80eec5b9f5076993d6ac9c2d2163e88b6b31f8d38f7c25 + # via pytorch-lightning +torchvision==0.13.1+cu116 ; platform_system == "Linux" or platform_system == "Windows" \ + --hash=sha256:0c9a2b605ac30fcf475d60f79ba378af0073a22de585453f8c3dd6c1452ab9bc \ + --hash=sha256:75986abe572138258eb9795cb4cd73f40b2bdf8374fefa1af6ff6bb0dbc972c6 \ + --hash=sha256:8a4c395bb72cf51eb4318c6861c9a5ea490d48ec36a3d767220ef182445449cb \ + --hash=sha256:92e4685c6010b6b1c228ebb5fe93105d0a71e5b586483a942e04529a43e0bb42 \ + --hash=sha256:9ec5654c56a22fe420dc0af0ff5cd31105f583fdb0240043ff26a7cfed7e05fb \ + --hash=sha256:ba8b7d3c33f63feb29c7dd8c0db68b735d0c9d924ff4e84121b4b20b17cec7a5 \ + --hash=sha256:c3ceb2b3f456f0c984af71ef55f8637f178a29dc3e13a66fbb010ceead2891e1 \ + --hash=sha256:dcf32f6d998493e76ec21a38bbb856b7402295cf7a67fb09ce5bde7e7e725756 + # via + # -r requirements.in + # basicsr + # clean-fid + # clip + # facexlib + # gfpgan + # k-diffusion + # realesrgan + # taming-transformers-rom1504 + # torch-fidelity +tornado==6.2 \ + --hash=sha256:1d54d13ab8414ed44de07efecb97d4ef7c39f7438cf5e976ccd356bebb1b5fca \ + --hash=sha256:20f638fd8cc85f3cbae3c732326e96addff0a15e22d80f049e00121651e82e72 \ + --hash=sha256:5c87076709343557ef8032934ce5f637dbb552efa7b21d08e89ae7619ed0eb23 \ + --hash=sha256:5f8c52d219d4995388119af7ccaa0bcec289535747620116a58d830e7c25d8a8 \ + --hash=sha256:6fdfabffd8dfcb6cf887428849d30cf19a3ea34c2c248461e1f7d718ad30b66b \ + --hash=sha256:87dcafae3e884462f90c90ecc200defe5e580a7fbbb4365eda7c7c1eb809ebc9 \ + --hash=sha256:9b630419bde84ec666bfd7ea0a4cb2a8a651c2d5cccdbdd1972a0c859dfc3c13 \ + --hash=sha256:b8150f721c101abdef99073bf66d3903e292d851bee51910839831caba341a75 \ + --hash=sha256:ba09ef14ca9893954244fd872798b4ccb2367c165946ce2dd7376aebdde8e3ac \ + --hash=sha256:d3a2f5999215a3a06a4fc218026cd84c61b8b2b40ac5296a6db1f1451ef04c1e \ + --hash=sha256:e5f923aa6a47e133d1cf87d60700889d7eae68988704e20c75fb2d65677a8e4b + # via streamlit +tqdm==4.64.1 \ + --hash=sha256:5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4 \ + --hash=sha256:6fee160d6ffcd1b1c68c65f14c829c22832bc401726335ce92c52d395944a6a1 + # via + # basicsr + # clean-fid + # clip + # facexlib + # gfpgan + # huggingface-hub + # k-diffusion + # pytorch-lightning + # realesrgan + # taming-transformers-rom1504 + # torch-fidelity + # transformers +transformers==4.24.0 \ + --hash=sha256:486f353a8e594002e48be0e2aba723d96eda839e63bfe274702a4b5eda85559b \ + --hash=sha256:b7ab50039ef9bf817eff14ab974f306fd20a72350bdc9df3a858fd009419322e + # via -r requirements.in +typing-extensions==4.4.0 \ + --hash=sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa \ + --hash=sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e + # via + # huggingface-hub + # pytorch-lightning + # qudida + # streamlit + # torch + # torchvision +tzdata==2022.6 \ + --hash=sha256:04a680bdc5b15750c39c12a448885a51134a27ec9af83667663f0b3a1bf3f342 \ + --hash=sha256:91f11db4503385928c15598c98573e3af07e7229181bee5375bd30f1695ddcae + # via + # pytz-deprecation-shim + # tzlocal +tzlocal==4.2 \ + --hash=sha256:89885494684c929d9191c57aa27502afc87a579be5cdd3225c77c463ea043745 \ + --hash=sha256:ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7 + # via streamlit +urllib3==1.26.12 \ + --hash=sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e \ + --hash=sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997 + # via + # requests + # sentry-sdk +validators==0.18.2 \ + --hash=sha256:0143dcca8a386498edaf5780cbd5960da1a4c85e0719f3ee5c9b41249c4fefbd \ + --hash=sha256:37cd9a9213278538ad09b5b9f9134266e7c226ab1fede1d500e29e0a8fbb9ea6 + # via streamlit +wandb==0.13.5 \ + --hash=sha256:11f30a22e30abaa9c187e8b6aa4c12d76160b40bbe98a6f14b0dde9297bbfbe2 \ + --hash=sha256:60d5bcc524b8a314c8e072c03f7702dbd5406261b00a4ce75e7556b805fdc765 + # via k-diffusion +watchdog==2.1.9 \ + --hash=sha256:083171652584e1b8829581f965b9b7723ca5f9a2cd7e20271edf264cfd7c1412 \ + --hash=sha256:117ffc6ec261639a0209a3252546b12800670d4bf5f84fbd355957a0595fe654 \ + --hash=sha256:186f6c55abc5e03872ae14c2f294a153ec7292f807af99f57611acc8caa75306 \ + --hash=sha256:195fc70c6e41237362ba720e9aaf394f8178bfc7fa68207f112d108edef1af33 \ + --hash=sha256:226b3c6c468ce72051a4c15a4cc2ef317c32590d82ba0b330403cafd98a62cfd \ + --hash=sha256:247dcf1df956daa24828bfea5a138d0e7a7c98b1a47cf1fa5b0c3c16241fcbb7 \ + --hash=sha256:255bb5758f7e89b1a13c05a5bceccec2219f8995a3a4c4d6968fe1de6a3b2892 \ + --hash=sha256:43ce20ebb36a51f21fa376f76d1d4692452b2527ccd601950d69ed36b9e21609 \ + --hash=sha256:4f4e1c4aa54fb86316a62a87b3378c025e228178d55481d30d857c6c438897d6 \ + --hash=sha256:5952135968519e2447a01875a6f5fc8c03190b24d14ee52b0f4b1682259520b1 \ + --hash=sha256:64a27aed691408a6abd83394b38503e8176f69031ca25d64131d8d640a307591 \ + --hash=sha256:6b17d302850c8d412784d9246cfe8d7e3af6bcd45f958abb2d08a6f8bedf695d \ + --hash=sha256:70af927aa1613ded6a68089a9262a009fbdf819f46d09c1a908d4b36e1ba2b2d \ + --hash=sha256:7a833211f49143c3d336729b0020ffd1274078e94b0ae42e22f596999f50279c \ + --hash=sha256:8250546a98388cbc00c3ee3cc5cf96799b5a595270dfcfa855491a64b86ef8c3 \ + --hash=sha256:97f9752208f5154e9e7b76acc8c4f5a58801b338de2af14e7e181ee3b28a5d39 \ + --hash=sha256:9f05a5f7c12452f6a27203f76779ae3f46fa30f1dd833037ea8cbc2887c60213 \ + --hash=sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330 \ + --hash=sha256:ad576a565260d8f99d97f2e64b0f97a48228317095908568a9d5c786c829d428 \ + --hash=sha256:b530ae007a5f5d50b7fbba96634c7ee21abec70dc3e7f0233339c81943848dc1 \ + --hash=sha256:bfc4d351e6348d6ec51df007432e6fe80adb53fd41183716017026af03427846 \ + --hash=sha256:d3dda00aca282b26194bdd0adec21e4c21e916956d972369359ba63ade616153 \ + --hash=sha256:d9820fe47c20c13e3c9dd544d3706a2a26c02b2b43c993b62fcd8011bcc0adb3 \ + --hash=sha256:ed80a1628cee19f5cfc6bb74e173f1b4189eb532e705e2a13e3250312a62e0c9 \ + --hash=sha256:ee3e38a6cc050a8830089f79cbec8a3878ec2fe5160cdb2dc8ccb6def8552658 + # via streamlit +wcwidth==0.2.5 \ + --hash=sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784 \ + --hash=sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83 + # via ftfy +werkzeug==2.2.2 \ + --hash=sha256:7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f \ + --hash=sha256:f979ab81f58d7318e064e99c4506445d60135ac5cd2e177a2de0089bfd4c9bd5 + # via + # flask + # tb-nightly + # tensorboard +wheel==0.38.2 \ + --hash=sha256:3d492ef22379a156ec923d2a77051cedfd4df4b667864e9e41ba83f0b70b7149 \ + --hash=sha256:7a5a3095dceca97a3cac869b8fef4e89b83fafde21b6688f47b6fda7600eb441 + # via + # tb-nightly + # tensorboard +whichcraft==0.6.1 \ + --hash=sha256:acdbb91b63d6a15efbd6430d1d7b2d36e44a71697e93e19b7ded477afd9fce87 \ + --hash=sha256:deda9266fbb22b8c64fd3ee45c050d61139cd87419765f588e37c8d23e236dd9 + # via flaskwebgui +yapf==0.32.0 \ + --hash=sha256:8fea849025584e486fd06d6ba2bed717f396080fd3cc236ba10cb97c4c51cf32 \ + --hash=sha256:a3f5085d37ef7e3e004c4ba9f9b3e40c54ff1901cd111f05145ae313a7c67d1b + # via + # basicsr + # gfpgan +yarl==1.8.1 \ + --hash=sha256:076eede537ab978b605f41db79a56cad2e7efeea2aa6e0fa8f05a26c24a034fb \ + --hash=sha256:07b21e274de4c637f3e3b7104694e53260b5fc10d51fb3ec5fed1da8e0f754e3 \ + --hash=sha256:0ab5a138211c1c366404d912824bdcf5545ccba5b3ff52c42c4af4cbdc2c5035 \ + --hash=sha256:0c03f456522d1ec815893d85fccb5def01ffaa74c1b16ff30f8aaa03eb21e453 \ + --hash=sha256:12768232751689c1a89b0376a96a32bc7633c08da45ad985d0c49ede691f5c0d \ + --hash=sha256:19cd801d6f983918a3f3a39f3a45b553c015c5aac92ccd1fac619bd74beece4a \ + --hash=sha256:1ca7e596c55bd675432b11320b4eacc62310c2145d6801a1f8e9ad160685a231 \ + --hash=sha256:1e4808f996ca39a6463f45182e2af2fae55e2560be586d447ce8016f389f626f \ + --hash=sha256:205904cffd69ae972a1707a1bd3ea7cded594b1d773a0ce66714edf17833cdae \ + --hash=sha256:20df6ff4089bc86e4a66e3b1380460f864df3dd9dccaf88d6b3385d24405893b \ + --hash=sha256:21ac44b763e0eec15746a3d440f5e09ad2ecc8b5f6dcd3ea8cb4773d6d4703e3 \ + --hash=sha256:29e256649f42771829974e742061c3501cc50cf16e63f91ed8d1bf98242e5507 \ + --hash=sha256:2d800b9c2eaf0684c08be5f50e52bfa2aa920e7163c2ea43f4f431e829b4f0fd \ + --hash=sha256:2d93a049d29df172f48bcb09acf9226318e712ce67374f893b460b42cc1380ae \ + --hash=sha256:31a9a04ecccd6b03e2b0e12e82131f1488dea5555a13a4d32f064e22a6003cfe \ + --hash=sha256:3d1a50e461615747dd93c099f297c1994d472b0f4d2db8a64e55b1edf704ec1c \ + --hash=sha256:449c957ffc6bc2309e1fbe67ab7d2c1efca89d3f4912baeb8ead207bb3cc1cd4 \ + --hash=sha256:4a88510731cd8d4befaba5fbd734a7dd914de5ab8132a5b3dde0bbd6c9476c64 \ + --hash=sha256:4c322cbaa4ed78a8aac89b2174a6df398faf50e5fc12c4c191c40c59d5e28357 \ + --hash=sha256:5395da939ffa959974577eff2cbfc24b004a2fb6c346918f39966a5786874e54 \ + --hash=sha256:5587bba41399854703212b87071c6d8638fa6e61656385875f8c6dff92b2e461 \ + --hash=sha256:56c11efb0a89700987d05597b08a1efcd78d74c52febe530126785e1b1a285f4 \ + --hash=sha256:5999c4662631cb798496535afbd837a102859568adc67d75d2045e31ec3ac497 \ + --hash=sha256:59ddd85a1214862ce7c7c66457f05543b6a275b70a65de366030d56159a979f0 \ + --hash=sha256:6347f1a58e658b97b0a0d1ff7658a03cb79bdbda0331603bed24dd7054a6dea1 \ + --hash=sha256:6628d750041550c5d9da50bb40b5cf28a2e63b9388bac10fedd4f19236ef4957 \ + --hash=sha256:6afb336e23a793cd3b6476c30f030a0d4c7539cd81649683b5e0c1b0ab0bf350 \ + --hash=sha256:6c8148e0b52bf9535c40c48faebb00cb294ee577ca069d21bd5c48d302a83780 \ + --hash=sha256:76577f13333b4fe345c3704811ac7509b31499132ff0181f25ee26619de2c843 \ + --hash=sha256:7c0da7e44d0c9108d8b98469338705e07f4bb7dab96dbd8fa4e91b337db42548 \ + --hash=sha256:7de89c8456525650ffa2bb56a3eee6af891e98f498babd43ae307bd42dca98f6 \ + --hash=sha256:7ec362167e2c9fd178f82f252b6d97669d7245695dc057ee182118042026da40 \ + --hash=sha256:7fce6cbc6c170ede0221cc8c91b285f7f3c8b9fe28283b51885ff621bbe0f8ee \ + --hash=sha256:85cba594433915d5c9a0d14b24cfba0339f57a2fff203a5d4fd070e593307d0b \ + --hash=sha256:8b0af1cf36b93cee99a31a545fe91d08223e64390c5ecc5e94c39511832a4bb6 \ + --hash=sha256:9130ddf1ae9978abe63808b6b60a897e41fccb834408cde79522feb37fb72fb0 \ + --hash=sha256:99449cd5366fe4608e7226c6cae80873296dfa0cde45d9b498fefa1de315a09e \ + --hash=sha256:9de955d98e02fab288c7718662afb33aab64212ecb368c5dc866d9a57bf48880 \ + --hash=sha256:a0fb2cb4204ddb456a8e32381f9a90000429489a25f64e817e6ff94879d432fc \ + --hash=sha256:a165442348c211b5dea67c0206fc61366212d7082ba8118c8c5c1c853ea4d82e \ + --hash=sha256:ab2a60d57ca88e1d4ca34a10e9fb4ab2ac5ad315543351de3a612bbb0560bead \ + --hash=sha256:abc06b97407868ef38f3d172762f4069323de52f2b70d133d096a48d72215d28 \ + --hash=sha256:af887845b8c2e060eb5605ff72b6f2dd2aab7a761379373fd89d314f4752abbf \ + --hash=sha256:b19255dde4b4f4c32e012038f2c169bb72e7f081552bea4641cab4d88bc409dd \ + --hash=sha256:b3ded839a5c5608eec8b6f9ae9a62cb22cd037ea97c627f38ae0841a48f09eae \ + --hash=sha256:c1445a0c562ed561d06d8cbc5c8916c6008a31c60bc3655cdd2de1d3bf5174a0 \ + --hash=sha256:d0272228fabe78ce00a3365ffffd6f643f57a91043e119c289aaba202f4095b0 \ + --hash=sha256:d0b51530877d3ad7a8d47b2fff0c8df3b8f3b8deddf057379ba50b13df2a5eae \ + --hash=sha256:d0f77539733e0ec2475ddcd4e26777d08996f8cd55d2aef82ec4d3896687abda \ + --hash=sha256:d2b8f245dad9e331540c350285910b20dd913dc86d4ee410c11d48523c4fd546 \ + --hash=sha256:dd032e8422a52e5a4860e062eb84ac94ea08861d334a4bcaf142a63ce8ad4802 \ + --hash=sha256:de49d77e968de6626ba7ef4472323f9d2e5a56c1d85b7c0e2a190b2173d3b9be \ + --hash=sha256:de839c3a1826a909fdbfe05f6fe2167c4ab033f1133757b5936efe2f84904c07 \ + --hash=sha256:e80ed5a9939ceb6fda42811542f31c8602be336b1fb977bccb012e83da7e4936 \ + --hash=sha256:ea30a42dc94d42f2ba4d0f7c0ffb4f4f9baa1b23045910c0c32df9c9902cb272 \ + --hash=sha256:ea513a25976d21733bff523e0ca836ef1679630ef4ad22d46987d04b372d57fc \ + --hash=sha256:ed19b74e81b10b592084a5ad1e70f845f0aacb57577018d31de064e71ffa267a \ + --hash=sha256:f5af52738e225fcc526ae64071b7e5342abe03f42e0e8918227b38c9aa711e28 \ + --hash=sha256:fae37373155f5ef9b403ab48af5136ae9851151f7aacd9926251ab26b953118b + # via aiohttp +zipp==3.10.0 \ + --hash=sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1 \ + --hash=sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8 + # via importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +setuptools==65.5.1 \ + --hash=sha256:d0b9a8433464d5800cbe05094acf5c6d52a91bfac9b52bcfc4d41382be5d5d31 \ + --hash=sha256:e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f + # via + # numba + # tb-nightly + # tensorboard + # wandb diff --git a/installer/readme.txt b/installer/readme.txt index a5b8537a39..31456327e9 100644 --- a/installer/readme.txt +++ b/installer/readme.txt @@ -3,9 +3,15 @@ InvokeAI Project homepage: https://github.com/invoke-ai/InvokeAI Installation on Windows: - Please double-click the 'install.bat' file (while keeping it inside the invokeAI folder). + NOTE: You might need to enable Windows Long Paths. If you're not sure, + then you almost certainly need to. Simply double-click the 'WinLongPathsEnabled.reg' + file. Note that you will need to have admin privileges in order to + do this. + + Please double-click the 'install.bat' file (while keeping it inside the invokeAI folder). Installation on Linux and Mac: - Please open the terminal, and run './install.sh' (while keeping it inside the invokeAI folder). + Please open the terminal, and run './install.sh' (while keeping it inside the invokeAI folder). -After installation, please run the 'invoke.bat' file (on Windows) or 'invoke.sh' file (on Linux/Mac) to start InvokeAI. \ No newline at end of file +After installation, please run the 'invoke.bat' file (on Windows) or 'invoke.sh' +file (on Linux/Mac) to start InvokeAI. diff --git a/installer/requirements.in b/installer/requirements.in new file mode 100644 index 0000000000..71967f1cf2 --- /dev/null +++ b/installer/requirements.in @@ -0,0 +1,24 @@ +--prefer-binary +--extra-index-url https://download.pytorch.org/whl/cu116 +--trusted-host https://download.pytorch.org +albumentations +diffusers +eventlet +flask_cors +flask_socketio +flaskwebgui +getpass_asterisk +imageio-ffmpeg +pyreadline3 +realesrgan +send2trash +streamlit +taming-transformers-rom1504 +test-tube +torch-fidelity +torchvision==0.13.1 ; platform_system == 'Darwin' +torchvision==0.13.1+cu116 ; platform_system == 'Linux' or platform_system == 'Windows' +transformers +https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip +https://github.com/TencentARC/GFPGAN/archive/2eac2033893ca7f427f4035d80fe95b92649ac56.zip +https://github.com/invoke-ai/k-diffusion/archive/7f16b2c33411f26b3eae78d10648d625cb0c1095.zip diff --git a/ldm/generate.py b/ldm/generate.py index a5df663077..9aebe314f3 100644 --- a/ldm/generate.py +++ b/ldm/generate.py @@ -142,6 +142,7 @@ class Generate: ddim_eta = 0.0, # deterministic full_precision = False, precision = 'auto', + outdir = 'outputs/img-samples', gfpgan=None, codeformer=None, esrgan=None, @@ -175,6 +176,7 @@ class Generate: self.generators = {} self.base_generator = None self.seed = None + self.outdir = outdir self.gfpgan = gfpgan self.codeformer = codeformer self.esrgan = esrgan @@ -243,11 +245,11 @@ class Generate: return outputs def txt2img(self, prompt, **kwargs): - outdir = kwargs.pop('outdir', 'outputs/img-samples') + outdir = kwargs.pop('outdir', self.outdir) return self.prompt2png(prompt, outdir, **kwargs) def img2img(self, prompt, **kwargs): - outdir = kwargs.pop('outdir', 'outputs/img-samples') + outdir = kwargs.pop('outdir', self.outdir) assert ( 'init_img' in kwargs ), 'call to img2img() must include the init_img argument' @@ -276,6 +278,7 @@ class Generate: threshold = 0.0, perlin = 0.0, karras_max = None, + outdir = None, # these are specific to img2img and inpaint init_img = None, init_mask = None, @@ -288,6 +291,7 @@ class Generate: embiggen = None, embiggen_tiles = None, # these are specific to GFPGAN/ESRGAN + gfpgan_strength= 0, facetool = None, facetool_strength = 0, codeformer_fidelity = None, @@ -295,6 +299,9 @@ class Generate: upscale = None, # this is specific to inpainting and causes more extreme inpainting inpaint_replace = 0.0, + # This controls the size at which inpaint occurs (scaled up for inpaint, then back down for the result) + inpaint_width = None, + inpaint_height = None, # This will help match inpainted areas to the original image more smoothly mask_blur_radius: int = 8, # Set this True to handle KeyboardInterrupt internally @@ -364,6 +371,7 @@ class Generate: ddim_eta = ddim_eta or self.ddim_eta iterations = iterations or self.iterations strength = strength or self.strength + outdir = outdir or self.outdir self.seed = seed self.log_tokenization = log_tokenization self.step_callback = step_callback @@ -485,7 +493,9 @@ class Generate: seam_strength = seam_strength, seam_steps = seam_steps, tile_size = tile_size, - force_outpaint = force_outpaint + force_outpaint = force_outpaint, + inpaint_width = inpaint_width, + inpaint_height = inpaint_height ) if init_color: @@ -551,17 +561,15 @@ class Generate: ): # retrieve the seed from the image; seed = None - image_metadata = None prompt = None - args = metadata_from_png(image_path) - seed = args.seed - prompt = args.prompt - print(f'>> retrieved seed {seed} and prompt "{prompt}" from {image_path}') - - if not seed: - print('* Could not recover seed for image. Replacing with 42. This will not affect image quality') - seed = 42 + args = metadata_from_png(image_path) + seed = opt.seed or args.seed + if seed is None or seed < 0: + seed = random.randrange(0, np.iinfo(np.uint32).max) + + prompt = opt.prompt or args.prompt or '' + print(f'>> using seed {seed} and prompt "{prompt}" for {image_path}') # try to reuse the same filename prefix as the original file. # we take everything up to the first period @@ -608,7 +616,11 @@ class Generate: extend_instructions[direction]=int(pixels) except ValueError: print(f'** invalid extension instruction. Use ..., as in "top 64 left 128 right 64 bottom 64"') - if len(extend_instructions)>0: + + opt.seed = seed + opt.prompt = prompt + + if len(extend_instructions) > 0: restorer = Outcrop(image,self,) return restorer.process ( extend_instructions, @@ -792,6 +804,10 @@ class Generate: # the model cache does the loading and offloading cache = self.model_cache + if not cache.valid_model(model_name): + print(f'** "{model_name}" is not a known model name. Please check your models.yaml file') + return self.model + cache.print_vram_usage() # have to get rid of all references to model in order @@ -1019,7 +1035,9 @@ class Generate: return True return False - def _check_for_erasure(self, image): + def _check_for_erasure(self, image:Image.Image)->bool: + if image.mode not in ('RGBA','RGB'): + return False width, height = image.size pixdata = image.load() colored = 0 diff --git a/ldm/invoke/args.py b/ldm/invoke/args.py index e0b6315e3b..a8a5dff4b5 100644 --- a/ldm/invoke/args.py +++ b/ldm/invoke/args.py @@ -87,6 +87,7 @@ import json import hashlib import os import re +import sys import shlex import copy import base64 @@ -114,7 +115,8 @@ PRECISION_CHOICES = [ # is there a way to pick this up during git commits? APP_ID = 'invoke-ai/InvokeAI' -APP_VERSION = 'v2.02' +APP_VERSION = 'v2.1.2' +INITFILE = os.path.expanduser('~/.invokeai') class ArgFormatter(argparse.RawTextHelpFormatter): # use defined argument order to display usage @@ -141,11 +143,15 @@ class ArgFormatter(argparse.RawTextHelpFormatter): class PagingArgumentParser(argparse.ArgumentParser): ''' A custom ArgumentParser that uses pydoc to page its output. + It also supports reading defaults from an init file. ''' def print_help(self, file=None): text = self.format_help() pydoc.pager(text) - + + def convert_arg_line_to_args(self, arg_line): + return shlex.split(arg_line,comments=True) + class Args(object): def __init__(self,arg_parser=None,cmd_parser=None): ''' @@ -162,9 +168,16 @@ class Args(object): def parse_args(self): '''Parse the shell switches and store.''' try: - self._arg_switches = self._arg_parser.parse_args() + sysargs = sys.argv[1:] + if os.path.exists(INITFILE): + print(f'>> Initialization file {INITFILE} found. Loading...') + sysargs.insert(0,f'@{INITFILE}') + else: + print(f'>> Initialization file {INITFILE} not found. Applying default settings...') + self._arg_switches = self._arg_parser.parse_args(sysargs) return self._arg_switches - except: + except Exception as e: + print(f'An exception has occurred: {e}') return None def parse_cmd(self,cmd_string): @@ -355,7 +368,7 @@ class Args(object): This defines all the arguments used on the command line when you launch the CLI or web backend. ''' - parser = argparse.ArgumentParser( + parser = PagingArgumentParser( description= """ Generate images using Stable Diffusion. @@ -365,6 +378,7 @@ class Args(object): Other command-line arguments are defaults that can usually be overridden prompt the command prompt. """, + fromfile_prefix_chars='@', ) model_group = parser.add_argument_group('Model selection') file_group = parser.add_argument_group('Input/output') @@ -395,17 +409,6 @@ class Args(object): dest='png_compression', help='level of PNG compression, from 0 (none) to 9 (maximum). Default is 6.' ) - model_group.add_argument( - '--sampler', - '-A', - '-m', - dest='sampler_name', - type=str, - choices=SAMPLER_CHOICES, - metavar='SAMPLER_NAME', - help=f'Switch to a different sampler. Supported samplers: {", ".join(SAMPLER_CHOICES)}', - default='k_lms', - ) model_group.add_argument( '-F', '--full_precision', @@ -465,10 +468,61 @@ class Args(object): type=str, help='Overwrite the filename format. You can use any argument as wildcard enclosed in curly braces. Default is {prefix}.{seed}.png', ) + render_group.add_argument( + '-s', + '--steps', + type=int, + default=50, + help='Number of steps' + ) + render_group.add_argument( + '-W', + '--width', + type=int, + help='Image width, multiple of 64', + ) + render_group.add_argument( + '-H', + '--height', + type=int, + help='Image height, multiple of 64', + ) + render_group.add_argument( + '-C', + '--cfg_scale', + default=7.5, + type=float, + help='Classifier free guidance (CFG) scale - higher numbers cause generator to "try" harder.', + ) + render_group.add_argument( + '--sampler', + '-A', + '-m', + dest='sampler_name', + type=str, + choices=SAMPLER_CHOICES, + metavar='SAMPLER_NAME', + help=f'Set the default sampler. Supported samplers: {", ".join(SAMPLER_CHOICES)}', + default='k_lms', + ) + render_group.add_argument( + '-f', + '--strength', + type=float, + help='img2img strength for noising/unnoising. 0.0 preserves image exactly, 1.0 replaces it completely', + ) + render_group.add_argument( + '-T', + '-fit', + '--fit', + action=argparse.BooleanOptionalAction, + help='If specified, will resize the input image to fit within the dimensions of width x height (512x512 default)', + ) + render_group.add_argument( '--grid', '-g', - action='store_true', + action=argparse.BooleanOptionalAction, help='generate a grid' ) render_group.add_argument( @@ -498,13 +552,13 @@ class Args(object): postprocessing_group.add_argument( '--gfpgan_model_path', type=str, - default='experiments/pretrained_models/GFPGANv1.4.pth', + default='./GFPGANv1.4.pth', help='Indicates the path to the GFPGAN model, relative to --gfpgan_dir.', ) postprocessing_group.add_argument( '--gfpgan_dir', type=str, - default='./src/gfpgan', + default='./models/gfpgan', help='Indicates the directory containing the GFPGAN code.', ) web_server_group.add_argument( @@ -597,7 +651,6 @@ class Args(object): '-s', '--steps', type=int, - default=50, help='Number of steps' ) render_group.add_argument( @@ -629,7 +682,6 @@ class Args(object): render_group.add_argument( '-C', '--cfg_scale', - default=7.5, type=float, help='Classifier free guidance (CFG) scale - higher numbers cause generator to "try" harder.', ) @@ -654,7 +706,7 @@ class Args(object): render_group.add_argument( '--grid', '-g', - action='store_true', + action=argparse.BooleanOptionalAction, help='generate a grid' ) render_group.add_argument( @@ -748,8 +800,7 @@ class Args(object): '-f', '--strength', type=float, - help='Strength for noising/unnoising. 0.0 preserves image exactly, 1.0 replaces it completely', - default=0.75, + help='img2img strength for noising/unnoising. 0.0 preserves image exactly, 1.0 replaces it completely', ) inpainting_group.add_argument( '-M', @@ -813,6 +864,11 @@ class Args(object): default=32, help='When outpainting, the tile size to use for filling outpaint areas', ) + postprocessing_group.add_argument( + '--new_prompt', + type=str, + help='Change the text prompt applied during postprocessing (default, use original generation prompt)', + ) postprocessing_group.add_argument( '-ft', '--facetool', diff --git a/ldm/invoke/conditioning.py b/ldm/invoke/conditioning.py index 04fbd7c10a..ba0dd84275 100644 --- a/ldm/invoke/conditioning.py +++ b/ldm/invoke/conditioning.py @@ -47,7 +47,6 @@ def get_uc_and_c_and_ec(prompt_string_uncleaned, model, log_tokens=False, skip_n parsed_prompt = pp.parse_conjunction(prompt_string_cleaned).prompts[0] parsed_negative_prompt: FlattenedPrompt = pp.parse_conjunction(unconditioned_words).prompts[0] - print(f">> Parsed prompt to {parsed_prompt}") conditioning = None cac_args:CrossAttentionControl.Arguments = None diff --git a/ldm/invoke/generator/base.py b/ldm/invoke/generator/base.py index 534fe2547c..003ac1b466 100644 --- a/ldm/invoke/generator/base.py +++ b/ldm/invoke/generator/base.py @@ -63,7 +63,7 @@ class Generator(): **kwargs ) results = [] - seed = seed if seed is not None else self.new_seed() + seed = seed if seed is not None and seed >= 0 else self.new_seed() first_seed = seed seed, initial_noise = self.generate_initial_noise(seed, width, height) @@ -119,19 +119,19 @@ class Generator(): # write an approximate RGB image from latent samples for a single step to PNG def sample_to_lowres_estimated_image(self,samples): - # adapted from code by @erucipe and @keturn here: + # origingally adapted from code by @erucipe and @keturn here: # https://discuss.huggingface.co/t/decoding-latents-to-rgb-without-upscaling/23204/7 - # these numbers were determined empirically by @keturn - v1_4_latent_rgb_factors = torch.tensor([ - # R G B - [ 0.298, 0.207, 0.208], # L1 - [ 0.187, 0.286, 0.173], # L2 - [-0.158, 0.189, 0.264], # L3 - [-0.184, -0.271, -0.473], # L4 + # these updated numbers for v1.5 are from @torridgristle + v1_5_latent_rgb_factors = torch.tensor([ + # R G B + [ 0.3444, 0.1385, 0.0670], # L1 + [ 0.1247, 0.4027, 0.1494], # L2 + [-0.3192, 0.2513, 0.2103], # L3 + [-0.1307, -0.1874, -0.7445] # L4 ], dtype=samples.dtype, device=samples.device) - latent_image = samples[0].permute(1, 2, 0) @ v1_4_latent_rgb_factors + latent_image = samples[0].permute(1, 2, 0) @ v1_5_latent_rgb_factors latents_ubyte = (((latent_image + 1) / 2) .clamp(0, 1) # change scale from -1..1 to 0..1 .mul(0xFF) # to 0..255 diff --git a/ldm/invoke/generator/inpaint.py b/ldm/invoke/generator/inpaint.py index 2ba45ed804..792a01b3b1 100644 --- a/ldm/invoke/generator/inpaint.py +++ b/ldm/invoke/generator/inpaint.py @@ -150,29 +150,44 @@ class Inpaint(Img2Img): seam_steps: int = 10, tile_size: int = 32, step_callback=None, - inpaint_replace=False, **kwargs): + inpaint_replace=False, + inpaint_width=None, + inpaint_height=None, + **kwargs): """ Returns a function returning an image derived from the prompt and the initial image + mask. Return value depends on the seed at the time you call it. kwargs are 'init_latent' and 'strength' """ + self.inpaint_width = inpaint_width + self.inpaint_height = inpaint_height + if isinstance(init_image, PIL.Image.Image): self.pil_image = init_image # Fill missing areas of original image init_filled = self.tile_fill_missing( self.pil_image.copy(), - seed = self.seed, + seed = self.seed if self.seed >= 0 else self.new_seed(), tile_size = tile_size ) init_filled.paste(init_image, (0,0), init_image.split()[-1]) + # Resize if requested for inpainting + if inpaint_width and inpaint_height: + init_filled = init_filled.resize((inpaint_width, inpaint_height)) + # Create init tensor init_image = self._image_to_tensor(init_filled.convert('RGB')) if isinstance(mask_image, PIL.Image.Image): self.pil_mask = mask_image + + # Resize if requested for inpainting + if inpaint_width and inpaint_height: + mask_image = mask_image.resize((inpaint_width, inpaint_height)) + mask_image = mask_image.resize( ( mask_image.width // downsampling, @@ -307,6 +322,10 @@ class Inpaint(Img2Img): def sample_to_image(self, samples)->Image.Image: gen_result = super().sample_to_image(samples).convert('RGB') + # Resize if necessary + if self.inpaint_width and self.inpaint_height: + gen_result = gen_result.resize(self.pil_image.size) + if self.pil_image is None or self.pil_mask is None: return gen_result diff --git a/ldm/invoke/model_cache.py b/ldm/invoke/model_cache.py index 7b434941df..d4007c46de 100644 --- a/ldm/invoke/model_cache.py +++ b/ldm/invoke/model_cache.py @@ -41,15 +41,22 @@ class ModelCache(object): self.stack = [] # this is an LRU FIFO self.current_model = None + def valid_model(self, model_name:str)->bool: + ''' + Given a model name, returns True if it is a valid + identifier. + ''' + return model_name in self.config + def get_model(self, model_name:str): ''' Given a model named identified in models.yaml, return the model object. If in RAM will load into GPU VRAM. If on disk, will load from there. ''' - if model_name not in self.config: + if not self.valid_model(model_name): print(f'** "{model_name}" is not a known model name. Please check your models.yaml file') - return None + return self.current_model if self.current_model != model_name: if model_name not in self.models: # make room for a new one @@ -102,10 +109,13 @@ class ModelCache(object): Set the default model. The change will not take effect until you call model_cache.commit() ''' + print(f'DEBUG: before set_default_model()\n{OmegaConf.to_yaml(self.config)}') assert model_name in self.models,f"unknown model '{model_name}'" - for model in self.models: - self.models[model].pop('default',None) - self.models[model_name]['default'] = True + config = self.config + for model in config: + config[model].pop('default',None) + config[model_name]['default'] = True + print(f'DEBUG: after set_default_model():\n{OmegaConf.to_yaml(self.config)}') def list_models(self) -> dict: ''' diff --git a/ldm/invoke/prompt_parser.py b/ldm/invoke/prompt_parser.py index 0b3890597f..42c83188aa 100644 --- a/ldm/invoke/prompt_parser.py +++ b/ldm/invoke/prompt_parser.py @@ -28,7 +28,7 @@ class Prompt(): def __init__(self, parts: list): for c in parts: if type(c) is not Attention and not issubclass(type(c), BaseFragment) and type(c) is not pp.ParseResults: - raise PromptParser.ParsingException(f"Prompt cannot contain {type(c).__name__} {c}, only {BaseFragment.__subclasses__()} are allowed") + raise PromptParser.ParsingException(f"Prompt cannot contain {type(c).__name__} ({c}), only {[c.__name__ for c in BaseFragment.__subclasses__()]} are allowed") self.children = parts def __repr__(self): return f"Prompt:{self.children}" @@ -102,12 +102,18 @@ class Attention(): Do not traverse directly; instead obtain a FlattenedPrompt by calling Flatten() on a top-level Conjunction object. """ def __init__(self, weight: float, children: list): + if type(weight) is not float: + raise PromptParser.ParsingException( + f"Attention weight must be float (got {type(weight).__name__} {weight})") self.weight = weight + if type(children) is not list: + raise PromptParser.ParsingException(f"cannot make Attention with non-list of children (got {type(children)})") + assert(type(children) is list) self.children = children #print(f"A: requested attention '{children}' to {weight}") def __repr__(self): - return f"Attention:'{self.children}' @ {self.weight}" + return f"Attention:{self.children} * {self.weight}" def __eq__(self, other): return type(other) is Attention and other.weight == self.weight and other.fragment == self.fragment @@ -136,9 +142,9 @@ class CrossAttentionControlSubstitute(CrossAttentionControlledFragment): Fragment('sitting on a car') ]) """ - def __init__(self, original: Union[Fragment, list], edited: Union[Fragment, list], options: dict=None): - self.original = original - self.edited = edited + def __init__(self, original: list, edited: list, options: dict=None): + self.original = original if len(original)>0 else [Fragment('')] + self.edited = edited if len(edited)>0 else [Fragment('')] default_options = { 's_start': 0.0, @@ -190,12 +196,12 @@ class Conjunction(): """ def __init__(self, prompts: list, weights: list = None): # force everything to be a Prompt - #print("making conjunction with", parts) + #print("making conjunction with", prompts, "types", [type(p).__name__ for p in prompts]) self.prompts = [x if (type(x) is Prompt or type(x) is Blend or type(x) is FlattenedPrompt) else Prompt(x) for x in prompts] - self.weights = [1.0]*len(self.prompts) if weights is None else list(weights) + self.weights = [1.0]*len(self.prompts) if (weights is None or len(weights)==0) else list(weights) if len(self.weights) != len(self.prompts): raise PromptParser.ParsingException(f"while parsing Conjunction: mismatched parts/weights counts {prompts}, {weights}") self.type = 'AND' @@ -216,6 +222,7 @@ class Blend(): """ def __init__(self, prompts: list, weights: list[float], normalize_weights: bool=True): #print("making Blend with prompts", prompts, "and weights", weights) + weights = [1.0]*len(prompts) if (weights is None or len(weights)==0) else list(weights) if len(prompts) != len(weights): raise PromptParser.ParsingException(f"while parsing Blend: mismatched prompts/weights counts {prompts}, {weights}") for p in prompts: @@ -244,6 +251,10 @@ class PromptParser(): class ParsingException(Exception): pass + class UnrecognizedOperatorException(ParsingException): + def __init__(self, operator:str): + super().__init__("Unrecognized operator: " + operator) + def __init__(self, attention_plus_base=1.1, attention_minus_base=0.9): self.conjunction, self.prompt = build_parser_syntax(attention_plus_base, attention_minus_base) @@ -279,7 +290,7 @@ class PromptParser(): return Blend(prompts=flattened_prompts, weights=weights, normalize_weights=True) - def flatten(self, root: Conjunction) -> Conjunction: + def flatten(self, root: Conjunction, verbose = False) -> Conjunction: """ Flattening a Conjunction traverses all of the nested tree-like structures in each of its Prompts or Blends, producing from each of these walks a linear sequence of Fragment or CrossAttentionControlSubstitute objects @@ -289,8 +300,6 @@ class PromptParser(): :return: A Conjunction containing the result of flattening each of the prompts in the passed-in root. """ - #print("flattening", root) - def fuse_fragments(items): # print("fusing fragments in ", items) result = [] @@ -313,8 +322,8 @@ class PromptParser(): return result def flatten_internal(node, weight_scale, results, prefix): - #print(prefix + "flattening", node, "...") - if type(node) is pp.ParseResults: + verbose and print(prefix + "flattening", node, "...") + if type(node) is pp.ParseResults or type(node) is list: for x in node: results = flatten_internal(x, weight_scale, results, prefix+' pr ') #print(prefix, " ParseResults expanded, results is now", results) @@ -345,67 +354,59 @@ class PromptParser(): #print(prefix + "after flattening Prompt, results is", results) else: raise PromptParser.ParsingException(f"unhandled node type {type(node)} when flattening {node}") - #print(prefix + "-> after flattening", type(node).__name__, "results is", results) + verbose and print(prefix + "-> after flattening", type(node).__name__, "results is", results) return results + verbose and print("flattening", root) flattened_parts = [] for part in root.prompts: flattened_parts += flatten_internal(part, 1.0, [], ' C| ') - #print("flattened to", flattened_parts) + verbose and print("flattened to", flattened_parts) weights = root.weights return Conjunction(flattened_parts, weights) + def build_parser_syntax(attention_plus_base: float, attention_minus_base: float): + def make_operator_object(x): + #print('making operator for', x) + target = x[0] + operator = x[1] + arguments = x[2] + if operator == '.attend': + weight_raw = arguments[0] + weight = 1.0 + if type(weight_raw) is float or type(weight_raw) is int: + weight = weight_raw + elif type(weight_raw) is str: + base = attention_plus_base if weight_raw[0] == '+' else attention_minus_base + weight = pow(base, len(weight_raw)) + return Attention(weight=weight, children=[x for x in x[0]]) + elif operator == '.swap': + return CrossAttentionControlSubstitute(target, arguments, x.as_dict()) + elif operator == '.blend': + prompts = [Prompt(p) for p in x[0]] + weights_raw = x[2] + normalize_weights = True + if len(weights_raw) > 0 and weights_raw[-1][0] == 'no_normalize': + normalize_weights = False + weights_raw = weights_raw[:-1] + weights = [float(w[0]) for w in weights_raw] + return Blend(prompts=prompts, weights=weights, normalize_weights=normalize_weights) + elif operator == '.and' or operator == '.add': + prompts = [Prompt(p) for p in x[0]] + weights = [float(w[0]) for w in x[2]] + return Conjunction(prompts=prompts, weights=weights) - lparen = pp.Literal("(").suppress() - rparen = pp.Literal(")").suppress() - quotes = pp.Literal('"').suppress() - comma = pp.Literal(",").suppress() + raise PromptParser.UnrecognizedOperatorException(operator) - # accepts int or float notation, always maps to float - number = pp.pyparsing_common.real | \ - pp.Combine(pp.Optional("-")+pp.Word(pp.nums)).set_parse_action(pp.token_map(float)) - - attention = pp.Forward() - quoted_fragment = pp.Forward() - parenthesized_fragment = pp.Forward() - cross_attention_substitute = pp.Forward() - - def make_text_fragment(x): - #print("### making fragment for", x) - if type(x[0]) is Fragment: - assert(False) - if type(x) is str: - return Fragment(x) - elif type(x) is pp.ParseResults or type(x) is list: - #print(f'converting {type(x).__name__} to Fragment') - return Fragment(' '.join([s for s in x])) - else: - raise PromptParser.ParsingException("Cannot make fragment from " + str(x)) - - def build_escaped_word_parser_charbychar(escaped_chars_to_ignore: str): - escapes = [] - for c in escaped_chars_to_ignore: - escapes.append(pp.Literal('\\'+c)) - return pp.Combine(pp.OneOrMore( - pp.MatchFirst(escapes + [pp.CharsNotIn( - string.whitespace + escaped_chars_to_ignore, - exact=1 - )]) - )) - - - - def parse_fragment_str(x, in_quotes: bool=False, in_parens: bool=False): + def parse_fragment_str(x, expression: pp.ParseExpression, in_quotes: bool = False, in_parens: bool = False): #print(f"parsing fragment string for {x}") fragment_string = x[0] - #print(f"ppparsing fragment string \"{fragment_string}\"") - if len(fragment_string.strip()) == 0: return Fragment('') @@ -413,234 +414,198 @@ def build_parser_syntax(attention_plus_base: float, attention_minus_base: float) # escape unescaped quotes fragment_string = fragment_string.replace('"', '\\"') - #fragment_parser = pp.Group(pp.OneOrMore(attention | cross_attention_substitute | (greedy_word.set_parse_action(make_text_fragment)))) try: - result = pp.Group(pp.MatchFirst([ - pp.OneOrMore(quoted_fragment | attention | unquoted_word).set_name('pf_str_qfuq'), - pp.Empty().set_parse_action(make_text_fragment) + pp.StringEnd() - ])).set_name('blend-result').set_debug(False).parse_string(fragment_string) + result = (expression + pp.StringEnd()).parse_string(fragment_string) #print("parsed to", result) return result except pp.ParseException as e: #print("parse_fragment_str couldn't parse prompt string:", e) raise + # meaningful symbols + lparen = pp.Literal("(").suppress() + rparen = pp.Literal(")").suppress() + quote = pp.Literal('"').suppress() + comma = pp.Literal(",").suppress() + dot = pp.Literal(".").suppress() + equals = pp.Literal("=").suppress() + + escaped_lparen = pp.Literal('\\(') + escaped_rparen = pp.Literal('\\)') + escaped_quote = pp.Literal('\\"') + escaped_comma = pp.Literal('\\,') + escaped_dot = pp.Literal('\\.') + escaped_plus = pp.Literal('\\+') + escaped_minus = pp.Literal('\\-') + escaped_equals = pp.Literal('\\=') + + syntactic_symbols = { + '(': escaped_lparen, + ')': escaped_rparen, + '"': escaped_quote, + ',': escaped_comma, + '.': escaped_dot, + '+': escaped_plus, + '-': escaped_minus, + '=': escaped_equals, + } + syntactic_chars = "".join(syntactic_symbols.keys()) + + # accepts int or float notation, always maps to float + number = pp.pyparsing_common.real | \ + pp.Combine(pp.Optional("-")+pp.Word(pp.nums)).set_parse_action(pp.token_map(float)) + + # for options + keyword = pp.Word(pp.alphanums + '_') + + # a word that absolutely does not contain any meaningful syntax + non_syntax_word = pp.Combine(pp.OneOrMore(pp.MatchFirst([ + pp.Or(syntactic_symbols.values()), + pp.one_of(['-', '+']) + pp.NotAny(pp.White() | pp.Char(syntactic_chars) | pp.StringEnd()), + # build character-by-character + pp.CharsNotIn(string.whitespace + syntactic_chars, exact=1) + ]))) + non_syntax_word.set_parse_action(lambda x: [Fragment(t) for t in x]) + non_syntax_word.set_name('non_syntax_word') + non_syntax_word.set_debug(False) + + # a word that can contain any character at all - greedily consumes syntax, so use with care + free_word = pp.CharsNotIn(string.whitespace).set_parse_action(lambda x: Fragment(x[0])) + free_word.set_name('free_word') + free_word.set_debug(False) + + + # ok here we go. forward declare some things.. + attention = pp.Forward() + cross_attention_substitute = pp.Forward() + parenthesized_fragment = pp.Forward() + quoted_fragment = pp.Forward() + + # the types of things that can go into a fragment, consisting of syntax-full and/or strictly syntax-free components + fragment_part_expressions = [ + attention, + cross_attention_substitute, + parenthesized_fragment, + quoted_fragment, + non_syntax_word + ] + # a fragment that is permitted to contain commas + fragment_including_commas = pp.ZeroOrMore(pp.MatchFirst( + fragment_part_expressions + [ + pp.Literal(',').set_parse_action(lambda x: Fragment(x[0])) + ] + )) + # a fragment that is not permitted to contain commas + fragment_excluding_commas = pp.ZeroOrMore(pp.MatchFirst( + fragment_part_expressions + )) + + # a fragment in double quotes (may be nested) quoted_fragment << pp.QuotedString(quote_char='"', esc_char=None, esc_quote='\\"') - quoted_fragment.set_parse_action(lambda x: parse_fragment_str(x, in_quotes=True)).set_name('quoted_fragment') + quoted_fragment.set_parse_action(lambda x: parse_fragment_str(x, fragment_including_commas, in_quotes=True)) - escaped_quote = pp.Literal('\\"')#.set_parse_action(lambda x: '"') - escaped_lparen = pp.Literal('\\(')#.set_parse_action(lambda x: '(') - escaped_rparen = pp.Literal('\\)')#.set_parse_action(lambda x: ')') - escaped_backslash = pp.Literal('\\\\')#.set_parse_action(lambda x: '"') + # a fragment inside parentheses (may be nested) + parenthesized_fragment << (lparen + fragment_including_commas + rparen) + parenthesized_fragment.set_name('parenthesized_fragment') + parenthesized_fragment.set_debug(False) - empty = ( - (lparen + pp.ZeroOrMore(pp.Word(string.whitespace)) + rparen) | - (quotes + pp.ZeroOrMore(pp.Word(string.whitespace)) + quotes)).set_debug(False).set_name('empty') - - - def not_ends_with_swap(x): - #print("trying to match:", x) - return not x[0].endswith('.swap') - - unquoted_word = (pp.Combine(pp.OneOrMore( - escaped_rparen | escaped_lparen | escaped_quote | escaped_backslash | - (pp.CharsNotIn(string.whitespace + '\\"()', exact=1) - ))) - # don't whitespace when the next word starts with +, eg "badly +formed" - + (pp.White().suppress() | - # don't eat +/- - pp.NotAny(pp.Word('+') | pp.Word('-')) - ) - ) - - unquoted_word.set_parse_action(make_text_fragment).set_name('unquoted_word').set_debug(False) - #print(unquoted_fragment.parse_string("cat.swap(dog)")) - - parenthesized_fragment << (lparen + - pp.Or([ - (parenthesized_fragment), - (quoted_fragment.copy().set_parse_action(lambda x: parse_fragment_str(x, in_quotes=True)).set_debug(False)).set_name('-quoted_paren_internal').set_debug(False), - (pp.Combine(pp.OneOrMore( - escaped_quote | escaped_lparen | escaped_rparen | escaped_backslash | - pp.CharsNotIn(string.whitespace + '\\"()', exact=1) | - pp.White() - )).set_name('--combined').set_parse_action(lambda x: parse_fragment_str(x, in_parens=True)).set_debug(False)), - pp.Empty() - ]) + rparen) - parenthesized_fragment.set_name('parenthesized_fragment').set_debug(False) - - debug_attention = False - # attention control of the form (phrase)+ / (phrase)+ / (phrase) - # phrase can be multiple words, can have multiple +/- signs to increase the effect or type a floating point or integer weight - attention_with_parens = pp.Forward() - attention_without_parens = pp.Forward() - - attention_with_parens_foot = (number | pp.Word('+') | pp.Word('-'))\ - .set_name("attention_foot")\ - .set_debug(False) - attention_with_parens <<= pp.Group( - lparen + - pp.ZeroOrMore(quoted_fragment | attention_with_parens | parenthesized_fragment | cross_attention_substitute | attention_without_parens | - (pp.Empty() + build_escaped_word_parser_charbychar('()')).set_name('undecorated_word').set_debug(debug_attention)#.set_parse_action(lambda t: t[0]) - ) - + rparen + attention_with_parens_foot) - attention_with_parens.set_name('attention_with_parens').set_debug(debug_attention) - - attention_without_parens_foot = (pp.NotAny(pp.White()) + pp.Or([pp.Word('+'), pp.Word('-')]) + pp.FollowedBy(pp.StringEnd() | pp.White() | pp.Literal('(') | pp.Literal(')') | pp.Literal(',') | pp.Literal('"')) ).set_name('attention_without_parens_foots') - attention_without_parens <<= pp.Group(pp.MatchFirst([ - quoted_fragment.copy().set_name('attention_quoted_fragment_without_parens').set_debug(debug_attention) + attention_without_parens_foot, - pp.Combine(build_escaped_word_parser_charbychar('()+-')).set_name('attention_word_without_parens').set_debug(debug_attention)#.set_parse_action(lambda x: print('escapéd', x)) - + attention_without_parens_foot#.leave_whitespace() + # a string of the form (= | | ) where keyword is alphanumeric + '_' + option = pp.Group(pp.MatchFirst([ + keyword + equals + (number | keyword), # option=value + number.copy().set_parse_action(pp.token_map(str)), # weight + keyword # flag ])) - attention_without_parens.set_name('attention_without_parens').set_debug(debug_attention) + # options for an operator, eg "s_start=0.1, 0.3, no_normalize" + options = pp.Dict(pp.Optional(pp.delimited_list(option))) + options.set_name('options') + options.set_debug(False) + # a fragment which can be used as the target for an operator - either quoted or in parentheses, or a bare vanilla word + potential_operator_target = (quoted_fragment | parenthesized_fragment | non_syntax_word) - attention << pp.MatchFirst([attention_with_parens, - attention_without_parens - ]) + # a fragment whose weight has been increased or decreased by a given amount + attention_weight_operator = pp.Word('+') | pp.Word('-') | number + attention_explicit = ( + pp.Group(potential_operator_target) + + pp.Literal('.attend') + + lparen + + pp.Group(attention_weight_operator) + + rparen + ) + attention_explicit.set_parse_action(make_operator_object) + attention_implicit = ( + pp.Group(potential_operator_target) + + pp.NotAny(pp.White()) # do not permit whitespace between term and operator + + pp.Group(attention_weight_operator) + ) + attention_implicit.set_parse_action(lambda x: make_operator_object([x[0], '.attend', x[1]])) + attention << (attention_explicit | attention_implicit) attention.set_name('attention') + attention.set_debug(False) - def make_attention(x): - #print("entered make_attention with", x) - children = x[0][:-1] - weight_raw = x[0][-1] - weight = 1.0 - if type(weight_raw) is float or type(weight_raw) is int: - weight = weight_raw - elif type(weight_raw) is str: - base = attention_plus_base if weight_raw[0] == '+' else attention_minus_base - weight = pow(base, len(weight_raw)) - - #print("making Attention from", children, "with weight", weight) - - return Attention(weight=weight, children=[(Fragment(x) if type(x) is str else x) for x in children]) - - attention_with_parens.set_parse_action(make_attention) - attention_without_parens.set_parse_action(make_attention) - - #print("parsing test:", attention_with_parens.parse_string("mountain (man)1.1")) - - # cross-attention control - empty_string = ((lparen + rparen) | - pp.Literal('""').suppress() | - (lparen + pp.Literal('""').suppress() + rparen) - ).set_parse_action(lambda x: Fragment("")) - empty_string.set_name('empty_string') - - # cross attention control - debug_cross_attention_control = False - original_fragment = pp.MatchFirst([ - quoted_fragment.set_debug(debug_cross_attention_control), - parenthesized_fragment.set_debug(debug_cross_attention_control), - pp.Combine(pp.OneOrMore(pp.CharsNotIn(string.whitespace + '.', exact=1))).set_parse_action(make_text_fragment) + pp.FollowedBy(".swap"), - empty_string.set_debug(debug_cross_attention_control), - ]) - # support keyword=number arguments - cross_attention_option_keyword = pp.Or([pp.Keyword("s_start"), pp.Keyword("s_end"), pp.Keyword("t_start"), pp.Keyword("t_end"), pp.Keyword("shape_freedom")]) - cross_attention_option = pp.Group(cross_attention_option_keyword + pp.Literal("=").suppress() + number) - edited_fragment = pp.MatchFirst([ - (lparen + rparen).set_parse_action(lambda x: Fragment('')), - lparen + - (quoted_fragment | attention | - pp.Group(pp.ZeroOrMore(build_escaped_word_parser_charbychar(',)').set_parse_action(make_text_fragment))) - ) + - pp.Dict(pp.ZeroOrMore(comma + cross_attention_option)) + - rparen, - parenthesized_fragment - ]) - cross_attention_substitute << original_fragment + pp.Literal(".swap").set_debug(False).suppress() + edited_fragment - - original_fragment.set_name('original_fragment').set_debug(debug_cross_attention_control) - edited_fragment.set_name('edited_fragment').set_debug(debug_cross_attention_control) - cross_attention_substitute.set_name('cross_attention_substitute').set_debug(debug_cross_attention_control) - - def make_cross_attention_substitute(x): - #print("making cacs for", x[0], "->", x[1], "with options", x.as_dict()) - #if len(x>2): - cacs = CrossAttentionControlSubstitute(x[0], x[1], options=x.as_dict()) - #print("made", cacs) - return cacs - cross_attention_substitute.set_parse_action(make_cross_attention_substitute) + # cross-attention control by swapping one fragment for another + cross_attention_substitute << ( + pp.Group(potential_operator_target).set_name('ca-target').set_debug(False) + + pp.Literal(".swap").set_name('ca-operator').set_debug(False) + + lparen + + pp.Group(fragment_excluding_commas).set_name('ca-replacement').set_debug(False) + + pp.Optional(comma + options).set_name('ca-options').set_debug(False) + + rparen + ) + cross_attention_substitute.set_name('cross_attention_substitute') + cross_attention_substitute.set_debug(False) + cross_attention_substitute.set_parse_action(make_operator_object) - # root prompt definition - debug_root_prompt = False - prompt = (pp.OneOrMore(pp.MatchFirst([cross_attention_substitute.set_debug(debug_root_prompt), - attention.set_debug(debug_root_prompt), - quoted_fragment.set_debug(debug_root_prompt), - parenthesized_fragment.set_debug(debug_root_prompt), - unquoted_word.set_debug(debug_root_prompt), - empty.set_parse_action(make_text_fragment).set_debug(debug_root_prompt)]) - ) + pp.StringEnd()) \ - .set_name('prompt') \ - .set_parse_action(lambda x: Prompt(x)) \ - .set_debug(debug_root_prompt) + # an entire self-contained prompt, which can be used in a Blend or Conjunction + prompt = pp.ZeroOrMore(pp.MatchFirst([ + cross_attention_substitute, + attention, + quoted_fragment, + parenthesized_fragment, + free_word, + pp.White().suppress() + ])) + quoted_prompt = quoted_fragment.copy().set_parse_action(lambda x: parse_fragment_str(x, prompt, in_quotes=True)) - #print("parsing test:", prompt.parse_string("spaced eyes--")) - #print("parsing test:", prompt.parse_string("eyes--")) - # weighted blend of prompts - # ("promptA", "promptB").blend(a, b) where "promptA" and "promptB" are valid prompts and a and b are float or - # int weights. - # can specify more terms eg ("promptA", "promptB", "promptC").blend(a,b,c) + # a blend/lerp between the feature vectors for two or more prompts + blend = ( + lparen + + pp.Group(pp.delimited_list(pp.Group(potential_operator_target | quoted_prompt), min=1)).set_name('bl-target').set_debug(False) + + rparen + + pp.Literal(".blend").set_name('bl-operator').set_debug(False) + + lparen + + pp.Group(options).set_name('bl-options').set_debug(False) + + rparen + ) + blend.set_name('blend') + blend.set_debug(False) + blend.set_parse_action(make_operator_object) - def make_prompt_from_quoted_string(x): - #print(' got quoted prompt', x) + # an operator to direct stable diffusion to step multiple times, once for each target, and then add the results together with different weights + explicit_conjunction = ( + lparen + + pp.Group(pp.delimited_list(pp.Group(potential_operator_target | quoted_prompt), min=1)).set_name('cj-target').set_debug(False) + + rparen + + pp.one_of([".and", ".add"]).set_name('cj-operator').set_debug(False) + + lparen + + pp.Group(options).set_name('cj-options').set_debug(False) + + rparen + ) + explicit_conjunction.set_name('explicit_conjunction') + explicit_conjunction.set_debug(False) + explicit_conjunction.set_parse_action(make_operator_object) - x_unquoted = x[0][1:-1] - if len(x_unquoted.strip()) == 0: - # print(' b : just an empty string') - return Prompt([Fragment('')]) - #print(f' b parsing \'{x_unquoted}\'') - x_parsed = prompt.parse_string(x_unquoted) - #print(" quoted prompt was parsed to", type(x_parsed),":", x_parsed) - return x_parsed[0] - - quoted_prompt = pp.dbl_quoted_string.set_parse_action(make_prompt_from_quoted_string) - quoted_prompt.set_name('quoted_prompt') - - debug_blend=False - blend_terms = pp.delimited_list(quoted_prompt).set_name('blend_terms').set_debug(debug_blend) - blend_weights = (pp.delimited_list(number) + pp.Optional(pp.Char(",").suppress() + "no_normalize")).set_name('blend_weights').set_debug(debug_blend) - blend = pp.Group(lparen + pp.Group(blend_terms) + rparen - + pp.Literal(".blend").suppress() - + lparen + pp.Group(blend_weights) + rparen).set_name('blend') - blend.set_debug(debug_blend) - - def make_blend(x): - prompts = x[0][0] - weights = x[0][1] - normalize = True - if weights[-1] == 'no_normalize': - normalize = False - weights = weights[:-1] - return Blend(prompts=prompts, weights=weights, normalize_weights=normalize) - - blend.set_parse_action(make_blend) - - conjunction_terms = blend_terms.copy().set_name('conjunction_terms') - conjunction_weights = blend_weights.copy().set_name('conjunction_weights') - conjunction_with_parens_and_quotes = pp.Group(lparen + pp.Group(conjunction_terms) + rparen - + pp.Literal(".and").suppress() - + lparen + pp.Optional(pp.Group(conjunction_weights)) + rparen).set_name('conjunction') - def make_conjunction(x): - parts_raw = x[0][0] - weights = x[0][1] if len(x[0])>1 else [1.0]*len(parts_raw) - parts = [part for part in parts_raw] - return Conjunction(parts, weights) - conjunction_with_parens_and_quotes.set_parse_action(make_conjunction) - - implicit_conjunction = pp.OneOrMore(blend | prompt).set_name('implicit_conjunction') + # by default a prompt consists of a Conjunction with a single term + implicit_conjunction = (blend | pp.Group(prompt)) + pp.StringEnd() implicit_conjunction.set_parse_action(lambda x: Conjunction(x)) - conjunction = conjunction_with_parens_and_quotes | implicit_conjunction - conjunction.set_debug(False) + conjunction = (explicit_conjunction | implicit_conjunction) - # top-level is a conjunction of one or more blends or prompts return conjunction, prompt - def split_weighted_subprompts(text, skip_normalize=False)->list: """ Legacy blend parsing. @@ -671,7 +636,7 @@ def split_weighted_subprompts(text, skip_normalize=False)->list: weight_sum = sum(map(lambda x: x[1], parsed_prompts)) if weight_sum == 0: print( - "Warning: Subprompt weights add up to zero. Discarding and using even weights instead.") + "* Warning: Subprompt weights add up to zero. Discarding and using even weights instead.") equal_weight = 1 / max(len(parsed_prompts), 1) return [(x[0], equal_weight) for x in parsed_prompts] return [(x[0], x[1] / weight_sum) for x in parsed_prompts] diff --git a/ldm/invoke/readline.py b/ldm/invoke/readline.py index 7d87ede755..4e95e9b063 100644 --- a/ldm/invoke/readline.py +++ b/ldm/invoke/readline.py @@ -284,6 +284,7 @@ class Completer(object): switch,partial_path = match.groups() partial_path = partial_path.lstrip() + matches = list() path = os.path.expanduser(partial_path) @@ -321,6 +322,7 @@ class Completer(object): matches.append( switch+os.path.join(os.path.dirname(full_path), node) ) + return matches class DummyCompleter(Completer): diff --git a/ldm/invoke/restoration/gfpgan.py b/ldm/invoke/restoration/gfpgan.py index 9042de5d6c..fa0058d09f 100644 --- a/ldm/invoke/restoration/gfpgan.py +++ b/ldm/invoke/restoration/gfpgan.py @@ -10,8 +10,9 @@ from PIL import Image class GFPGAN(): def __init__( self, - gfpgan_dir='src/gfpgan', - gfpgan_model_path='experiments/pretrained_models/GFPGANv1.4.pth') -> None: + gfpgan_dir='models/gfpgan', + gfpgan_model_path='GFPGANv1.4.pth' + ) -> None: self.model_path = os.path.join(gfpgan_dir, gfpgan_model_path) self.gfpgan_model_exists = os.path.isfile(self.model_path) @@ -74,6 +75,7 @@ class GFPGAN(): image = image.resize(res.size) res = Image.blend(image, res, strength) + if torch.cuda.is_available(): torch.cuda.empty_cache() self.gfpgan = None diff --git a/ldm/invoke/restoration/outcrop.py b/ldm/invoke/restoration/outcrop.py index b5d42250c5..2587bb5776 100644 --- a/ldm/invoke/restoration/outcrop.py +++ b/ldm/invoke/restoration/outcrop.py @@ -28,11 +28,12 @@ class Outcrop(object): self.generate._set_sampler() def wrapped_callback(img,seed,**kwargs): - image_callback(img,orig_opt.seed,use_prefix=prefix,**kwargs) + preferred_seed = orig_opt.seed if orig_opt.seed >= 0 else seed + image_callback(img,preferred_seed,use_prefix=prefix,**kwargs) result= self.generate.prompt2image( - orig_opt.prompt, - seed = orig_opt.seed, # uncomment to make it deterministic + opt.prompt, + seed = opt.seed or orig_opt.seed, sampler = self.generate.sampler, steps = opt.steps, cfg_scale = opt.cfg_scale, diff --git a/ldm/invoke/txt2mask.py b/ldm/invoke/txt2mask.py index 2103f2f48c..6bdd1814d1 100644 --- a/ldm/invoke/txt2mask.py +++ b/ldm/invoke/txt2mask.py @@ -29,14 +29,14 @@ work fine. import torch import numpy as np -from clipseg_models.clipseg import CLIPDensePredT +from clipseg.clipseg import CLIPDensePredT from einops import rearrange, repeat from PIL import Image, ImageOps from torchvision import transforms CLIP_VERSION = 'ViT-B/16' -CLIPSEG_WEIGHTS = 'src/clipseg/weights/rd64-uni.pth' -CLIPSEG_WEIGHTS_REFINED = 'src/clipseg/weights/rd64-uni-refined.pth' +CLIPSEG_WEIGHTS = 'models/clipseg/clipseg_weights/rd64-uni.pth' +CLIPSEG_WEIGHTS_REFINED = 'models/clipseg/clipseg_weights/rd64-uni-refined.pth' CLIPSEG_SIZE = 352 class SegmentedGrayscale(object): diff --git a/ldm/models/diffusion/cross_attention_control.py b/ldm/models/diffusion/cross_attention_control.py index 9c8c597869..ff90a24856 100644 --- a/ldm/models/diffusion/cross_attention_control.py +++ b/ldm/models/diffusion/cross_attention_control.py @@ -1,10 +1,13 @@ -from enum import Enum +import enum +from typing import Optional import torch # adapted from bloc97's CrossAttentionControl colab # https://github.com/bloc97/CrossAttentionControl + + class CrossAttentionControl: class Arguments: @@ -27,7 +30,14 @@ class CrossAttentionControl: print('warning: cross-attention control options are not working properly for >1 edit') self.edit_options = non_none_edit_options[0] + class Context: + + class Action(enum.Enum): + NONE = 0 + SAVE = 1, + APPLY = 2 + def __init__(self, arguments: 'CrossAttentionControl.Arguments', step_count: int): """ :param arguments: Arguments for the cross-attention control process @@ -36,14 +46,124 @@ class CrossAttentionControl: self.arguments = arguments self.step_count = step_count + self.self_cross_attention_module_identifiers = [] + self.tokens_cross_attention_module_identifiers = [] + + self.saved_cross_attention_maps = {} + + self.clear_requests(cleanup=True) + + def register_cross_attention_modules(self, model): + for name,module in CrossAttentionControl.get_attention_modules(model, + CrossAttentionControl.CrossAttentionType.SELF): + self.self_cross_attention_module_identifiers.append(name) + for name,module in CrossAttentionControl.get_attention_modules(model, + CrossAttentionControl.CrossAttentionType.TOKENS): + self.tokens_cross_attention_module_identifiers.append(name) + + def request_save_attention_maps(self, cross_attention_type: 'CrossAttentionControl.CrossAttentionType'): + if cross_attention_type == CrossAttentionControl.CrossAttentionType.SELF: + self.self_cross_attention_action = CrossAttentionControl.Context.Action.SAVE + else: + self.tokens_cross_attention_action = CrossAttentionControl.Context.Action.SAVE + + def request_apply_saved_attention_maps(self, cross_attention_type: 'CrossAttentionControl.CrossAttentionType'): + if cross_attention_type == CrossAttentionControl.CrossAttentionType.SELF: + self.self_cross_attention_action = CrossAttentionControl.Context.Action.APPLY + else: + self.tokens_cross_attention_action = CrossAttentionControl.Context.Action.APPLY + + def is_tokens_cross_attention(self, module_identifier) -> bool: + return module_identifier in self.tokens_cross_attention_module_identifiers + + def get_should_save_maps(self, module_identifier: str) -> bool: + if module_identifier in self.self_cross_attention_module_identifiers: + return self.self_cross_attention_action == CrossAttentionControl.Context.Action.SAVE + elif module_identifier in self.tokens_cross_attention_module_identifiers: + return self.tokens_cross_attention_action == CrossAttentionControl.Context.Action.SAVE + return False + + def get_should_apply_saved_maps(self, module_identifier: str) -> bool: + if module_identifier in self.self_cross_attention_module_identifiers: + return self.self_cross_attention_action == CrossAttentionControl.Context.Action.APPLY + elif module_identifier in self.tokens_cross_attention_module_identifiers: + return self.tokens_cross_attention_action == CrossAttentionControl.Context.Action.APPLY + return False + + def get_active_cross_attention_control_types_for_step(self, percent_through:float=None)\ + -> list['CrossAttentionControl.CrossAttentionType']: + """ + Should cross-attention control be applied on the given step? + :param percent_through: How far through the step sequence are we (0.0=pure noise, 1.0=completely denoised image). Expected range 0.0..<1.0. + :return: A list of attention types that cross-attention control should be performed for on the given step. May be []. + """ + if percent_through is None: + return [CrossAttentionControl.CrossAttentionType.SELF, CrossAttentionControl.CrossAttentionType.TOKENS] + + opts = self.arguments.edit_options + to_control = [] + if opts['s_start'] <= percent_through and percent_through < opts['s_end']: + to_control.append(CrossAttentionControl.CrossAttentionType.SELF) + if opts['t_start'] <= percent_through and percent_through < opts['t_end']: + to_control.append(CrossAttentionControl.CrossAttentionType.TOKENS) + return to_control + + def save_slice(self, identifier: str, slice: torch.Tensor, dim: Optional[int], offset: int, + slice_size: Optional[int]): + if identifier not in self.saved_cross_attention_maps: + self.saved_cross_attention_maps[identifier] = { + 'dim': dim, + 'slice_size': slice_size, + 'slices': {offset or 0: slice} + } + else: + self.saved_cross_attention_maps[identifier]['slices'][offset or 0] = slice + + def get_slice(self, identifier: str, requested_dim: Optional[int], requested_offset: int, slice_size: int): + saved_attention_dict = self.saved_cross_attention_maps[identifier] + if requested_dim is None: + if saved_attention_dict['dim'] is not None: + raise RuntimeError(f"dim mismatch: expected dim=None, have {saved_attention_dict['dim']}") + return saved_attention_dict['slices'][0] + + if saved_attention_dict['dim'] == requested_dim: + if slice_size != saved_attention_dict['slice_size']: + raise RuntimeError( + f"slice_size mismatch: expected slice_size={slice_size}, have {saved_attention_dict['slice_size']}") + return saved_attention_dict['slices'][requested_offset] + + if saved_attention_dict['dim'] == None: + whole_saved_attention = saved_attention_dict['slices'][0] + if requested_dim == 0: + return whole_saved_attention[requested_offset:requested_offset + slice_size] + elif requested_dim == 1: + return whole_saved_attention[:, requested_offset:requested_offset + slice_size] + + raise RuntimeError(f"Cannot convert dim {saved_attention_dict['dim']} to requested dim {requested_dim}") + + def get_slicing_strategy(self, identifier: str) -> Optional[tuple[int, int]]: + saved_attention = self.saved_cross_attention_maps.get(identifier, None) + if saved_attention is None: + return None, None + return saved_attention['dim'], saved_attention['slice_size'] + + def clear_requests(self, cleanup=True): + self.tokens_cross_attention_action = CrossAttentionControl.Context.Action.NONE + self.self_cross_attention_action = CrossAttentionControl.Context.Action.NONE + if cleanup: + self.saved_cross_attention_maps = {} + + def offload_saved_attention_slices_to_cpu(self): + for key, map_dict in self.saved_cross_attention_maps.items(): + for offset, slice in map_dict['slices'].items(): + map_dict[offset] = slice.to('cpu') + @classmethod def remove_cross_attention_control(cls, model): cls.remove_attention_function(model) @classmethod - def setup_cross_attention_control(cls, model, - cross_attention_control_args: Arguments - ): + def setup_cross_attention_control(cls, model, context: Context): """ Inject attention parameters and functions into the passed in model to enable cross attention editing. @@ -53,7 +173,7 @@ class CrossAttentionControl: """ # adapted from init_attention_edit - device = cross_attention_control_args.edited_conditioning.device + device = context.arguments.edited_conditioning.device # urgh. should this be hardcoded? max_length = 77 @@ -61,141 +181,82 @@ class CrossAttentionControl: mask = torch.zeros(max_length) indices_target = torch.arange(max_length, dtype=torch.long) indices = torch.zeros(max_length, dtype=torch.long) - for name, a0, a1, b0, b1 in cross_attention_control_args.edit_opcodes: + for name, a0, a1, b0, b1 in context.arguments.edit_opcodes: if b0 < max_length: if name == "equal":# or (name == "replace" and a1 - a0 == b1 - b0): # these tokens have not been edited indices[b0:b1] = indices_target[a0:a1] mask[b0:b1] = 1 - cls.inject_attention_function(model) - - for m in cls.get_attention_modules(model, cls.CrossAttentionType.SELF): - m.last_attn_slice_mask = None - m.last_attn_slice_indices = None - - for m in cls.get_attention_modules(model, cls.CrossAttentionType.TOKENS): - m.last_attn_slice_mask = mask.to(device) - m.last_attn_slice_indices = indices.to(device) + context.register_cross_attention_modules(model) + context.cross_attention_mask = mask.to(device) + context.cross_attention_index_map = indices.to(device) + cls.inject_attention_function(model, context) - class CrossAttentionType(Enum): + class CrossAttentionType(enum.Enum): SELF = 1 TOKENS = 2 - @classmethod - def get_active_cross_attention_control_types_for_step(cls, context: 'CrossAttentionControl.Context', percent_through:float=None)\ - -> list['CrossAttentionControl.CrossAttentionType']: - """ - Should cross-attention control be applied on the given step? - :param percent_through: How far through the step sequence are we (0.0=pure noise, 1.0=completely denoised image). Expected range 0.0..<1.0. - :return: A list of attention types that cross-attention control should be performed for on the given step. May be []. - """ - if percent_through is None: - return [cls.CrossAttentionType.SELF, cls.CrossAttentionType.TOKENS] - - opts = context.arguments.edit_options - to_control = [] - if opts['s_start'] <= percent_through and percent_through < opts['s_end']: - to_control.append(cls.CrossAttentionType.SELF) - if opts['t_start'] <= percent_through and percent_through < opts['t_end']: - to_control.append(cls.CrossAttentionType.TOKENS) - return to_control - - @classmethod def get_attention_modules(cls, model, which: CrossAttentionType): which_attn = "attn1" if which is cls.CrossAttentionType.SELF else "attn2" - return [module for name, module in model.named_modules() if + return [(name,module) for name, module in model.named_modules() if type(module).__name__ == "CrossAttention" and which_attn in name] - @classmethod - def clear_requests(cls, model, clear_attn_slice=True): - self_attention_modules = cls.get_attention_modules(model, cls.CrossAttentionType.SELF) - tokens_attention_modules = cls.get_attention_modules(model, cls.CrossAttentionType.TOKENS) - for m in self_attention_modules+tokens_attention_modules: - m.save_last_attn_slice = False - m.use_last_attn_slice = False - if clear_attn_slice: - m.last_attn_slice = None @classmethod - def request_save_attention_maps(cls, model, cross_attention_type: CrossAttentionType): - modules = cls.get_attention_modules(model, cross_attention_type) - for m in modules: - # clear out the saved slice in case the outermost dim changes - m.last_attn_slice = None - m.save_last_attn_slice = True - - @classmethod - def request_apply_saved_attention_maps(cls, model, cross_attention_type: CrossAttentionType): - modules = cls.get_attention_modules(model, cross_attention_type) - for m in modules: - m.use_last_attn_slice = True - - - - @classmethod - def inject_attention_function(cls, unet): + def inject_attention_function(cls, unet, context: 'CrossAttentionControl.Context'): # ORIGINAL SOURCE CODE: https://github.com/huggingface/diffusers/blob/91ddd2a25b848df0fa1262d4f1cd98c7ccb87750/src/diffusers/models/attention.py#L276 - def attention_slice_wrangler(self, attention_scores, suggested_attention_slice, dim, offset, slice_size): + def attention_slice_wrangler(module, suggested_attention_slice:torch.Tensor, dim, offset, slice_size): - #print("in wrangler with suggested_attention_slice shape", suggested_attention_slice.shape, "dim", dim) + #memory_usage = suggested_attention_slice.element_size() * suggested_attention_slice.nelement() - attn_slice = suggested_attention_slice - if dim is not None: - start = offset - end = start+slice_size - #print(f"in wrangler, sliced dim {dim} {start}-{end}, use_last_attn_slice is {self.use_last_attn_slice}, save_last_attn_slice is {self.save_last_attn_slice}") - #else: - # print(f"in wrangler, whole, use_last_attn_slice is {self.use_last_attn_slice}, save_last_attn_slice is {self.save_last_attn_slice}") + attention_slice = suggested_attention_slice - if self.use_last_attn_slice: - if dim is None: - last_attn_slice = self.last_attn_slice - # print("took whole slice of shape", attn_slice.shape, "from complete shape", self.last_attn_slice.shape) + if context.get_should_save_maps(module.identifier): + #print(module.identifier, "saving suggested_attention_slice of shape", + # suggested_attention_slice.shape, "dim", dim, "offset", offset) + slice_to_save = attention_slice.to('cpu') if dim is not None else attention_slice + context.save_slice(module.identifier, slice_to_save, dim=dim, offset=offset, slice_size=slice_size) + elif context.get_should_apply_saved_maps(module.identifier): + #print(module.identifier, "applying saved attention slice for dim", dim, "offset", offset) + saved_attention_slice = context.get_slice(module.identifier, dim, offset, slice_size) + + # slice may have been offloaded to CPU + saved_attention_slice = saved_attention_slice.to(suggested_attention_slice.device) + + if context.is_tokens_cross_attention(module.identifier): + index_map = context.cross_attention_index_map + remapped_saved_attention_slice = torch.index_select(saved_attention_slice, -1, index_map) + this_attention_slice = suggested_attention_slice + + mask = context.cross_attention_mask + saved_mask = mask + this_mask = 1 - mask + attention_slice = remapped_saved_attention_slice * saved_mask + \ + this_attention_slice * this_mask else: - last_attn_slice = self.last_attn_slice[offset] - - if self.last_attn_slice_mask is None: # just use everything - attn_slice = last_attn_slice - else: - last_attn_slice_mask = self.last_attn_slice_mask - remapped_last_attn_slice = torch.index_select(last_attn_slice, -1, self.last_attn_slice_indices) + attention_slice = saved_attention_slice - this_attn_slice = attn_slice - this_attn_slice_mask = 1 - last_attn_slice_mask - attn_slice = this_attn_slice * this_attn_slice_mask + \ - remapped_last_attn_slice * last_attn_slice_mask - - if self.save_last_attn_slice: - if dim is None: - self.last_attn_slice = attn_slice - else: - if self.last_attn_slice is None: - self.last_attn_slice = { offset: attn_slice } - else: - self.last_attn_slice[offset] = attn_slice - - return attn_slice + return attention_slice for name, module in unet.named_modules(): module_name = type(module).__name__ if module_name == "CrossAttention": - module.last_attn_slice = None - module.last_attn_slice_indices = None - module.last_attn_slice_mask = None - module.use_last_attn_weights = False - module.use_last_attn_slice = False - module.save_last_attn_slice = False + module.identifier = name module.set_attention_slice_wrangler(attention_slice_wrangler) + module.set_slicing_strategy_getter(lambda module, module_identifier=name: \ + context.get_slicing_strategy(module_identifier)) @classmethod def remove_attention_function(cls, unet): + # clear wrangler callback for name, module in unet.named_modules(): module_name = type(module).__name__ if module_name == "CrossAttention": module.set_attention_slice_wrangler(None) + module.set_slicing_strategy_getter(None) diff --git a/ldm/models/diffusion/shared_invokeai_diffusion.py b/ldm/models/diffusion/shared_invokeai_diffusion.py index 5a9cc3eb74..0a18eb25c8 100644 --- a/ldm/models/diffusion/shared_invokeai_diffusion.py +++ b/ldm/models/diffusion/shared_invokeai_diffusion.py @@ -1,9 +1,11 @@ +import traceback from math import ceil from typing import Callable, Optional, Union import torch from ldm.models.diffusion.cross_attention_control import CrossAttentionControl +from ldm.modules.attention import get_mem_free_total class InvokeAIDiffuserComponent: @@ -34,7 +36,7 @@ class InvokeAIDiffuserComponent: """ self.model = model self.model_forward_callback = model_forward_callback - + self.cross_attention_control_context = None def setup_cross_attention_control(self, conditioning: ExtraConditioningInfo, step_count: int): self.conditioning = conditioning @@ -42,11 +44,7 @@ class InvokeAIDiffuserComponent: arguments=self.conditioning.cross_attention_control_args, step_count=step_count ) - CrossAttentionControl.setup_cross_attention_control(self.model, - cross_attention_control_args=self.conditioning.cross_attention_control_args - ) - #todo: refactor edited_conditioning, edit_opcodes, edit_options into a struct - #todo: apply edit_options using step_count + CrossAttentionControl.setup_cross_attention_control(self.model, self.cross_attention_control_context) def remove_cross_attention_control(self): self.conditioning = None @@ -54,6 +52,7 @@ class InvokeAIDiffuserComponent: CrossAttentionControl.remove_cross_attention_control(self.model) + def do_diffusion_step(self, x: torch.Tensor, sigma: torch.Tensor, unconditioning: Union[torch.Tensor,dict], conditioning: Union[torch.Tensor,dict], @@ -70,12 +69,12 @@ class InvokeAIDiffuserComponent: :return: the new latents after applying the model to x using unscaled unconditioning and CFG-scaled conditioning. """ - CrossAttentionControl.clear_requests(self.model) cross_attention_control_types_to_do = [] + context: CrossAttentionControl.Context = self.cross_attention_control_context if self.cross_attention_control_context is not None: percent_through = self.estimate_percent_through(step_index, sigma) - cross_attention_control_types_to_do = CrossAttentionControl.get_active_cross_attention_control_types_for_step(self.cross_attention_control_context, percent_through) + cross_attention_control_types_to_do = context.get_active_cross_attention_control_types_for_step(percent_through) wants_cross_attention_control = (len(cross_attention_control_types_to_do) > 0) wants_hybrid_conditioning = isinstance(conditioning, dict) @@ -124,7 +123,7 @@ class InvokeAIDiffuserComponent: return unconditioned_next_x, conditioned_next_x - def apply_cross_attention_controlled_conditioning(self, x, sigma, unconditioning, conditioning, cross_attention_control_types_to_do): + def apply_cross_attention_controlled_conditioning(self, x:torch.Tensor, sigma, unconditioning, conditioning, cross_attention_control_types_to_do): # print('pct', percent_through, ': doing cross attention control on', cross_attention_control_types_to_do) # slower non-batched path (20% slower on mac MPS) # We are only interested in using attention maps for conditioned_next_x, but batching them with generation of @@ -134,32 +133,32 @@ class InvokeAIDiffuserComponent: # representing batched uncond + cond, but then when it comes to applying the saved attention, the # wrangler gets an attention tensor which only has shape[0]=8, representing just self.edited_conditionings.) # todo: give CrossAttentionControl's `wrangler` function more info so it can work with a batched call as well. + context:CrossAttentionControl.Context = self.cross_attention_control_context try: unconditioned_next_x = self.model_forward_callback(x, sigma, unconditioning) # process x using the original prompt, saving the attention maps - for type in cross_attention_control_types_to_do: - CrossAttentionControl.request_save_attention_maps(self.model, type) + #print("saving attention maps for", cross_attention_control_types_to_do) + for ca_type in cross_attention_control_types_to_do: + context.request_save_attention_maps(ca_type) _ = self.model_forward_callback(x, sigma, conditioning) - CrossAttentionControl.clear_requests(self.model, clear_attn_slice=False) + context.clear_requests(cleanup=False) # process x again, using the saved attention maps to control where self.edited_conditioning will be applied - for type in cross_attention_control_types_to_do: - CrossAttentionControl.request_apply_saved_attention_maps(self.model, type) + #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 conditioned_next_x = self.model_forward_callback(x, sigma, edited_conditioning) + context.clear_requests(cleanup=True) - CrossAttentionControl.clear_requests(self.model) - - return unconditioned_next_x, conditioned_next_x - - except RuntimeError: - # make sure we clean out the attention slices we're storing on the model - # TODO don't store things on the model - CrossAttentionControl.clear_requests(self.model) + except: + context.clear_requests(cleanup=True) raise + return unconditioned_next_x, conditioned_next_x + def estimate_percent_through(self, step_index, sigma): if step_index is not None and self.cross_attention_control_context is not None: # percent_through will never reach 1.0 (but this is intended) diff --git a/ldm/modules/attention.py b/ldm/modules/attention.py index 4c36fa8a6c..94bb8a2916 100644 --- a/ldm/modules/attention.py +++ b/ldm/modules/attention.py @@ -1,6 +1,6 @@ from inspect import isfunction import math -from typing import Callable +from typing import Callable, Optional import torch import torch.nn.functional as F @@ -151,6 +151,17 @@ class SpatialSelfAttention(nn.Module): return x+h_ +def get_mem_free_total(device): + #only on cuda + if not torch.cuda.is_available(): + return None + stats = torch.cuda.memory_stats(device) + mem_active = stats['active_bytes.all.current'] + mem_reserved = stats['reserved_bytes.all.current'] + mem_free_cuda, _ = torch.cuda.mem_get_info(device) + mem_free_torch = mem_reserved - mem_active + mem_free_total = mem_free_cuda + mem_free_torch + return mem_free_total class CrossAttention(nn.Module): @@ -173,31 +184,43 @@ class CrossAttention(nn.Module): self.mem_total_gb = psutil.virtual_memory().total // (1 << 30) + self.cached_mem_free_total = None self.attention_slice_wrangler = None + self.slicing_strategy_getter = None - def set_attention_slice_wrangler(self, wrangler:Callable[[nn.Module, torch.Tensor, torch.Tensor, int, int, int], torch.Tensor]): + def set_attention_slice_wrangler(self, wrangler: Optional[Callable[[nn.Module, torch.Tensor, int, int, int], torch.Tensor]]): ''' Set custom attention calculator to be called when attention is calculated - :param wrangler: Callback, with args (self, attention_scores, suggested_attention_slice, dim, offset, slice_size), + :param wrangler: Callback, with args (module, suggested_attention_slice, dim, offset, slice_size), which returns either the suggested_attention_slice or an adjusted equivalent. - self is the current CrossAttention module for which the callback is being invoked. - attention_scores are the scores for attention - suggested_attention_slice is a softmax(dim=-1) over attention_scores - dim is -1 if the call is non-sliced, or 0 or 1 for dimension-0 or dimension-1 slicing. - If dim is >= 0, offset and slice_size specify the slice start and length. + `module` is the current CrossAttention module for which the callback is being invoked. + `suggested_attention_slice` is the default-calculated attention slice + `dim` is -1 if the attenion map has not been sliced, or 0 or 1 for dimension-0 or dimension-1 slicing. + If `dim` is >= 0, `offset` and `slice_size` specify the slice start and length. Pass None to use the default attention calculation. :return: ''' self.attention_slice_wrangler = wrangler + def set_slicing_strategy_getter(self, getter: Optional[Callable[[nn.Module], tuple[int,int]]]): + self.slicing_strategy_getter = getter + + def cache_free_memory_count(self, device): + self.cached_mem_free_total = get_mem_free_total(device) + print("free cuda memory: ", self.cached_mem_free_total) + + def clear_cached_free_memory_count(self): + self.cached_mem_free_total = None + def einsum_lowest_level(self, q, k, v, dim, offset, slice_size): # calculate attention scores attention_scores = einsum('b i d, b j d -> b i j', q, k) - # calculate attenion slice by taking the best scores for each latent pixel + # calculate attention slice by taking the best scores for each latent pixel default_attention_slice = attention_scores.softmax(dim=-1, dtype=attention_scores.dtype) - if self.attention_slice_wrangler is not None: - attention_slice = self.attention_slice_wrangler(self, attention_scores, default_attention_slice, dim, offset, slice_size) + attention_slice_wrangler = self.attention_slice_wrangler + if attention_slice_wrangler is not None: + attention_slice = attention_slice_wrangler(self, default_attention_slice, dim, offset, slice_size) else: attention_slice = default_attention_slice @@ -240,17 +263,26 @@ class CrossAttention(nn.Module): return self.einsum_op_slice_dim1(q, k, v, max(q.shape[1] // div, 1)) def einsum_op_cuda(self, q, k, v): - stats = torch.cuda.memory_stats(q.device) - mem_active = stats['active_bytes.all.current'] - mem_reserved = stats['reserved_bytes.all.current'] - mem_free_cuda, _ = torch.cuda.mem_get_info(q.device) - mem_free_torch = mem_reserved - mem_active - mem_free_total = mem_free_cuda + mem_free_torch + # check if we already have a slicing strategy (this should only happen during cross-attention controlled generation) + slicing_strategy_getter = self.slicing_strategy_getter + if slicing_strategy_getter is not None: + (dim, slice_size) = slicing_strategy_getter(self) + if dim is not None: + # print("using saved slicing strategy with dim", dim, "slice size", slice_size) + if dim == 0: + return self.einsum_op_slice_dim0(q, k, v, slice_size) + elif dim == 1: + return self.einsum_op_slice_dim1(q, k, v, slice_size) + + # fallback for when there is no saved strategy, or saved strategy does not slice + mem_free_total = self.cached_mem_free_total or get_mem_free_total(q.device) # Divide factor of safety as there's copying and fragmentation return self.einsum_op_tensor_mem(q, k, v, mem_free_total / 3.3 / (1 << 20)) + def get_attention_mem_efficient(self, q, k, v): if q.device.type == 'cuda': + #print("in get_attention_mem_efficient with q shape", q.shape, ", k shape", k.shape, ", free memory is", get_mem_free_total(q.device)) return self.einsum_op_cuda(q, k, v) if q.device.type == 'mps': diff --git a/mkdocs.yml b/mkdocs.yml index 36b42da75f..2cb956055a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,3 +1,5 @@ +# yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json + # General site_name: Stable Diffusion Toolkit Docs site_url: https://invoke-ai.github.io/InvokeAI @@ -30,6 +32,14 @@ theme: toggle: icon: material/lightbulb-outline name: Switch to light mode + features: + - navigation.instant + - navigation.tabs + - navigation.top + - navigation.tracking + - search.highlight + - search.suggest + - toc.integrate # Extensions markdown_extensions: diff --git a/pyproject.toml.hide b/pyproject.toml.hide deleted file mode 100644 index 5df66dd42b..0000000000 --- a/pyproject.toml.hide +++ /dev/null @@ -1,3 +0,0 @@ -[tool.blue] -line-length = 90 -target-version = ['py310'] diff --git a/requirements-linux-arm64.txt b/requirements-linux-arm64.txt deleted file mode 100644 index a0be77057b..0000000000 --- a/requirements-linux-arm64.txt +++ /dev/null @@ -1,27 +0,0 @@ -albumentations==0.4.3 -einops==0.3.0 -diffusers==0.6.0 -huggingface-hub==0.8.1 -imageio==2.9.0 -imageio-ffmpeg==0.4.2 -kornia==0.6.0 -numpy==1.23.1 ---pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu -omegaconf==2.1.1 -opencv-python==4.6.0.66 -pillow==9.2.0 -pudb==2019.2 -torch==1.12.1 -torchvision==0.13.0 -pytorch-lightning==1.7.7 -streamlit==1.12.0 -test-tube>=0.7.5 -torch-fidelity==0.3.0 -torchmetrics==0.6.0 -transformers==4.21.3 --e git+https://github.com/openai/CLIP.git@main#egg=clip --e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers --e git+https://github.com/lstein/k-diffusion.git@master#egg=k-diffusion --e git+https://github.com/TencentARC/GFPGAN.git#egg=gfpgan --e git+https://github.com/invoke-ai/clipseg.git@models-rename#egg=clipseg --e . diff --git a/scripts/invoke.py b/scripts/invoke.py old mode 100644 new mode 100755 index 1e9a84295e..b393ea9d20 --- a/scripts/invoke.py +++ b/scripts/invoke.py @@ -29,6 +29,7 @@ infile = None def main(): """Initialize command-line parsers and the diffusion model""" global infile + print('* Initializing, be patient...') opt = Args() args = opt.parse_args() @@ -46,7 +47,6 @@ def main(): print('--max_loaded_models must be >= 1; using 1') args.max_loaded_models = 1 - print('* Initializing, be patient...') from ldm.generate import Generate # these two lines prevent a horrible warning message from appearing @@ -90,7 +90,12 @@ def main(): safety_checker=opt.safety_checker, max_loaded_models=opt.max_loaded_models, ) - except (FileNotFoundError, IOError, KeyError) as e: + except FileNotFoundError: + print('** You appear to be missing configs/models.yaml') + print('** You can either exit this script and run scripts/preload_models.py, or fix the problem now.') + emergency_model_create(opt) + sys.exit(-1) + except (IOError, KeyError) as e: print(f'{e}. Aborting.') sys.exit(-1) @@ -208,7 +213,10 @@ def main_loop(gen, opt): setattr(opt,attr,path) # retrieve previous value of seed if requested - if opt.seed is not None and opt.seed < 0: + # Exception: for postprocess operations negative seed values + # mean "discard the original seed and generate a new one" + # (this is a non-obvious hack and needs to be reworked) + if opt.seed is not None and opt.seed < 0 and operation != 'postprocess': try: opt.seed = last_results[opt.seed][1] print(f'>> Reusing previous seed {opt.seed}') @@ -277,7 +285,7 @@ def main_loop(gen, opt): filename = f'{prefix}.{use_prefix}.{seed}.png' tm = opt.text_mask[0] th = opt.text_mask[1] if len(opt.text_mask)>1 else 0.5 - formatted_dream_prompt = f'!mask {opt.prompt} -tm {tm} {th}' + formatted_dream_prompt = f'!mask {opt.input_file_path} -tm {tm} {th}' path = file_writer.save_image_and_prompt_to_png( image = image, dream_prompt = formatted_dream_prompt, @@ -317,7 +325,7 @@ def main_loop(gen, opt): tool = re.match('postprocess:(\w+)',opt.last_operation).groups()[0] add_postprocessing_to_metadata( opt, - opt.prompt, + opt.input_file_path, filename, tool, formatted_dream_prompt, @@ -482,6 +490,7 @@ def do_command(command:str, gen, opt:Args, completer) -> tuple: command = '-h' return command, operation + def add_weights_to_config(model_path:str, gen, opt, completer): print(f'>> Model import in process. Please enter the values needed to configure this model:') print() @@ -578,7 +587,7 @@ def write_config_file(conf_path, gen, model_name, new_config, clobber=False, mak try: print('>> Verifying that new model loads...') - yaml_str = gen.model_cache.add_model(model_name, new_config, clobber) + gen.model_cache.add_model(model_name, new_config, clobber) assert gen.set_model(model_name) is not None, 'model failed to load' except AssertionError as e: print(f'** aborting **') @@ -614,10 +623,16 @@ def do_textmask(gen, opt, callback): ) def do_postprocess (gen, opt, callback): - file_path = opt.prompt # treat the prompt as the file pathname + file_path = opt.prompt # treat the prompt as the file pathname + if opt.new_prompt is not None: + opt.prompt = opt.new_prompt + else: + opt.prompt = None + if os.path.dirname(file_path) == '': #basename given file_path = os.path.join(opt.outdir,file_path) + opt.input_file_path = file_path tool=None if opt.facetool_strength > 0: tool = opt.facetool @@ -656,7 +671,10 @@ def do_postprocess (gen, opt, callback): def add_postprocessing_to_metadata(opt,original_file,new_file,tool,command): original_file = original_file if os.path.exists(original_file) else os.path.join(opt.outdir,original_file) new_file = new_file if os.path.exists(new_file) else os.path.join(opt.outdir,new_file) - meta = retrieve_metadata(original_file)['sd-metadata'] + try: + meta = retrieve_metadata(original_file)['sd-metadata'] + except AttributeError: + meta = retrieve_metadata(new_file)['sd-metadata'] if 'image' not in meta: meta = metadata_dumps(opt,seeds=[opt.seed])['image'] meta['image'] = {} @@ -704,7 +722,7 @@ def prepare_image_metadata( elif len(prior_variations) > 0: formatted_dream_prompt = opt.dream_prompt_str(seed=first_seed) elif operation == 'postprocess': - formatted_dream_prompt = '!fix '+opt.dream_prompt_str(seed=seed) + formatted_dream_prompt = '!fix '+opt.dream_prompt_str(seed=seed,prompt=opt.input_file_path) else: formatted_dream_prompt = opt.dream_prompt_str(seed=seed) return filename,formatted_dream_prompt @@ -878,6 +896,36 @@ def write_commands(opt, file_path:str, outfilepath:str): f.write('\n'.join(commands)) print(f'>> File {outfilepath} with commands created') +def emergency_model_create(opt:Args): + completer = get_completer(opt) + completer.complete_extensions(('.yaml','.yml','.ckpt','.vae.pt')) + completer.set_default_dir('.') + valid_path = False + while not valid_path: + weights_file = input('Enter the path to a downloaded models file, or ^C to exit: ') + valid_path = os.path.exists(weights_file) + dir,basename = os.path.split(weights_file) + + valid_name = False + while not valid_name: + name = input('Enter a short name for this model (no spaces): ') + name = 'unnamed model' if len(name)==0 else name + valid_name = ' ' not in name + + description = input('Enter a description for this model: ') + description = 'no description' if len(description)==0 else description + + with open(opt.conf, 'w', encoding='utf-8') as f: + f.write(f'{name}:\n') + f.write(f' description: {description}\n') + f.write(f' weights: {weights_file}\n') + f.write(f' config: ./configs/stable-diffusion/v1-inference.yaml\n') + f.write(f' width: 512\n') + f.write(f' height: 512\n') + f.write(f' default: true\n') + print(f'Config file {opt.conf} is created. This script will now exit.') + print(f'After restarting you may examine the entry with !models and edit it with !edit.') + ###################################### if __name__ == '__main__': diff --git a/scripts/preload_models.py b/scripts/preload_models.py index e0e46e74ba..831682bcb3 100644 --- a/scripts/preload_models.py +++ b/scripts/preload_models.py @@ -17,6 +17,7 @@ from omegaconf import OmegaConf from huggingface_hub import HfFolder, hf_hub_url from pathlib import Path from getpass_asterisk import getpass_asterisk +from transformers import CLIPTokenizer, CLIPTextModel import traceback import requests import clip @@ -30,10 +31,6 @@ warnings.filterwarnings('ignore') #warnings.filterwarnings('ignore',category=DeprecationWarning) #warnings.filterwarnings('ignore',category=UserWarning) -# deferred loading so that help message can be printed quickly -def load_libs(): - pass - #--------------------------globals-- Model_dir = './models/ldm/stable-diffusion-v1/' Default_config_file = './configs/models.yaml' @@ -107,13 +104,15 @@ def postscript(): print( '''\n** Model Installation Successful **\nYou're all set! You may now launch InvokeAI using one of these two commands: Web version: - python scripts/invoke.py --web (connect to http://localhost:9090) - Command-line version: - python scripts/invoke.py +Remember to activate that 'invokeai' environment before running invoke.py. + +Or, if you used one of the automated installers, execute "invoke.sh" (Linux/Mac) +or "invoke.bat" (Windows) to start the script. + Have fun! ''' ) @@ -347,7 +346,7 @@ def update_config_file(successfully_downloaded:dict,opt:dict): try: if os.path.exists(Config_file): - print(f'* {Config_file} exists. Renaming to {Config_file}.orig') + print(f'** {Config_file} exists. Renaming to {Config_file}.orig') os.rename(Config_file,f'{Config_file}.orig') tmpfile = os.path.join(os.path.dirname(Config_file),'new_config.tmp') with open(tmpfile, 'w') as outfile: @@ -418,10 +417,7 @@ def download_kornia(): #--------------------------------------------- def download_clip(): - print('Loading CLIP model...',end='') - with warnings.catch_warnings(): - warnings.filterwarnings('ignore', category=DeprecationWarning) - from transformers import CLIPTokenizer, CLIPTextModel + print('Loading CLIP model (ignore deprecation errors)...',end='') sys.stdout.flush() version = 'openai/clip-vit-large-patch14' tokenizer = CLIPTokenizer.from_pretrained(version) @@ -430,7 +426,7 @@ def download_clip(): #--------------------------------------------- def download_gfpgan(): - print('Installing models from RealESRGAN and facexlib...',end='') + print('Installing models from RealESRGAN and facexlib (ignore deprecation errors)...',end='') try: from realesrgan import RealESRGANer from realesrgan.archs.srvgg_arch import SRVGGNetCompact @@ -448,19 +444,19 @@ def download_gfpgan(): print('Error loading ESRGAN:') print(traceback.format_exc()) - print('Loading models from GFPGAN') + print('Loading models from GFPGAN...',end='') for model in ( [ 'https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.4.pth', - 'src/gfpgan/experiments/pretrained_models/GFPGANv1.4.pth' + 'models/gfpgan/GFPGANv1.4.pth' ], [ 'https://github.com/xinntao/facexlib/releases/download/v0.1.0/detection_Resnet50_Final.pth', - './gfpgan/weights/detection_Resnet50_Final.pth' + 'models/gfpgan/weights/detection_Resnet50_Final.pth' ], [ 'https://github.com/xinntao/facexlib/releases/download/v0.2.2/parsing_parsenet.pth', - './gfpgan/weights/parsing_parsenet.pth' + 'models/gfpgan/weights/parsing_parsenet.pth' ], ): model_url,model_dest = model @@ -495,22 +491,23 @@ def download_clipseg(): import zipfile try: model_url = 'https://owncloud.gwdg.de/index.php/s/ioHbRzFx6th32hn/download' - model_dest = 'src/clipseg/clipseg_weights.zip' - weights_dir = 'src/clipseg/weights' - if not os.path.exists(weights_dir): + model_dest = 'models/clipseg/clipseg_weights' + weights_zip = 'models/clipseg/weights.zip' + + if not os.path.exists(model_dest): os.makedirs(os.path.dirname(model_dest), exist_ok=True) - if not os.path.exists('src/clipseg/weights/rd64-uni-refined.pth'): - request.urlretrieve(model_url,model_dest) - with zipfile.ZipFile(model_dest,'r') as zip: - zip.extractall('src/clipseg') - os.rename('src/clipseg/clipseg_weights','src/clipseg/weights') - os.remove(model_dest) - from clipseg_models.clipseg import CLIPDensePredT + if not os.path.exists(f'{model_dest}/rd64-uni-refined.pth'): + request.urlretrieve(model_url,weights_zip) + with zipfile.ZipFile(weights_zip,'r') as zip: + zip.extractall('models/clipseg') + os.remove(weights_zip) + + from clipseg.clipseg import CLIPDensePredT model = CLIPDensePredT(version='ViT-B/16', reduce_dim=64, ) model.eval() model.load_state_dict( torch.load( - 'src/clipseg/weights/rd64-uni-refined.pth', + 'models/clipseg/clipseg_weights/rd64-uni-refined.pth', map_location=torch.device('cpu') ), strict=False, @@ -550,7 +547,6 @@ if __name__ == '__main__': default='./configs/models.yaml', help='path to configuration file to create') opt = parser.parse_args() - load_libs() try: if opt.interactive: @@ -562,16 +558,11 @@ if __name__ == '__main__': if models is None: if yes_or_no('Quit?',default_yes=False): sys.exit(0) - - done = False - while not done: - print('** LICENSE AGREEMENT FOR WEIGHT FILES **') - access_token = authenticate() - print('\n** DOWNLOADING WEIGHTS **') - successfully_downloaded = download_weight_datasets(models, access_token) - done = successfully_downloaded is not None + print('** LICENSE AGREEMENT FOR WEIGHT FILES **') + access_token = authenticate() + print('\n** DOWNLOADING WEIGHTS **') + successfully_downloaded = download_weight_datasets(models, access_token) update_config_file(successfully_downloaded,opt) - print('\n** DOWNLOADING SUPPORT MODELS **') download_bert() download_kornia() diff --git a/setup.py b/setup.py index a544aa150a..bc6c7cdc31 100644 --- a/setup.py +++ b/setup.py @@ -2,8 +2,8 @@ from setuptools import setup, find_packages setup( name='invoke-ai', - version='2.0.2', - description='', + version='2.1.3', + description='InvokeAI text to image generation toolkit', packages=find_packages(), install_requires=[ 'torch', @@ -11,3 +11,4 @@ setup( 'tqdm', ], ) + diff --git a/source_installer/create_installers.sh b/source_installer/create_installers.sh new file mode 100755 index 0000000000..46f75d25da --- /dev/null +++ b/source_installer/create_installers.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +cd "$(dirname "${BASH_SOURCE[0]}")" + +# make the installer zip for linux and mac +rm -rf invokeAI +mkdir -p invokeAI +cp install.sh invokeAI +cp readme.txt invokeAI + +zip -r invokeAI-src-installer-linux.zip invokeAI +zip -r invokeAI-src-installer-mac.zip invokeAI + +# make the installer zip for windows +rm -rf invokeAI +mkdir -p invokeAI +cp install.bat invokeAI +cp readme.txt invokeAI +cp WinLongPathsEnabled.reg invokeAI + +zip -r invokeAI-src-installer-windows.zip invokeAI + +echo "The installer zips are ready to be distributed.." diff --git a/source_installer/install.bat b/source_installer/install.bat new file mode 100644 index 0000000000..eaace2c084 --- /dev/null +++ b/source_installer/install.bat @@ -0,0 +1,118 @@ +@echo off + +@rem This script will install git and conda (if not found on the PATH variable) +@rem using micromamba (an 8mb static-linked single-file binary, conda replacement). +@rem For users who already have git and conda, this step will be skipped. + +@rem Next, it'll checkout the project's git repo, if necessary. +@rem Finally, it'll create the conda environment and preload the models. + +@rem This enables a user to install this project without manually installing conda and git. + +echo "Installing InvokeAI.." +echo. + +@rem config +set MAMBA_ROOT_PREFIX=%cd%\installer_files\mamba +set INSTALL_ENV_DIR=%cd%\installer_files\env +set MICROMAMBA_DOWNLOAD_URL=https://github.com/cmdr2/stable-diffusion-ui/releases/download/v1.1/micromamba.exe +set REPO_URL=https://github.com/invoke-ai/InvokeAI.git +set umamba_exists=F +@rem Change the download URL to an InvokeAI repo's release URL + +@rem figure out whether git and conda needs to be installed +if exist "%INSTALL_ENV_DIR%" set PATH=%INSTALL_ENV_DIR%;%INSTALL_ENV_DIR%\Library\bin;%INSTALL_ENV_DIR%\Scripts;%INSTALL_ENV_DIR%\Library\usr\bin;%PATH% + +set PACKAGES_TO_INSTALL= + +call conda --version >.tmp1 2>.tmp2 +if "%ERRORLEVEL%" NEQ "0" set PACKAGES_TO_INSTALL=%PACKAGES_TO_INSTALL% conda + +call git --version >.tmp1 2>.tmp2 +if "%ERRORLEVEL%" NEQ "0" set PACKAGES_TO_INSTALL=%PACKAGES_TO_INSTALL% git + +call "%MAMBA_ROOT_PREFIX%\micromamba.exe" --version >.tmp1 2>.tmp2 +if "%ERRORLEVEL%" EQU "0" set umamba_exists=T + +@rem (if necessary) install git and conda into a contained environment +if "%PACKAGES_TO_INSTALL%" NEQ "" ( + @rem download micromamba + if "%umamba_exists%" == "F" ( + echo "Downloading micromamba from %MICROMAMBA_DOWNLOAD_URL% to %MAMBA_ROOT_PREFIX%\micromamba.exe" + + mkdir "%MAMBA_ROOT_PREFIX%" + call curl -L "%MICROMAMBA_DOWNLOAD_URL%" > "%MAMBA_ROOT_PREFIX%\micromamba.exe" + + @rem test the mamba binary + echo Micromamba version: + call "%MAMBA_ROOT_PREFIX%\micromamba.exe" --version + ) + + @rem create the installer env + if not exist "%INSTALL_ENV_DIR%" ( + call "%MAMBA_ROOT_PREFIX%\micromamba.exe" create -y --prefix "%INSTALL_ENV_DIR%" + ) + + echo "Packages to install:%PACKAGES_TO_INSTALL%" + + call "%MAMBA_ROOT_PREFIX%\micromamba.exe" install -y --prefix "%INSTALL_ENV_DIR%" -c conda-forge %PACKAGES_TO_INSTALL% + + if not exist "%INSTALL_ENV_DIR%" ( + echo "There was a problem while installing%PACKAGES_TO_INSTALL% using micromamba. Cannot continue." + pause + exit /b + ) +) + +set PATH=%INSTALL_ENV_DIR%;%INSTALL_ENV_DIR%\Library\bin;%INSTALL_ENV_DIR%\Scripts;%INSTALL_ENV_DIR%\Library\usr\bin;%PATH% + +@rem get the repo (and load into the current directory) +if not exist ".git" ( + call git init + call git config --local init.defaultBranch main + call git remote add origin %REPO_URL% + call git fetch + call git checkout origin/main -ft +) + +@rem activate the base env +call conda activate + +@rem create the environment +call conda env remove -n invokeai +copy environments-and-requirements\environment-win-cuda.yml environment.yml +call conda env create +if "%ERRORLEVEL%" NEQ "0" ( + echo "" + echo "Something went wrong while installing Python libraries and cannot continue. + echo "Please visit https://invoke-ai.github.io/InvokeAI/#installation for alternative" + echo "installation methods." + echo "Press any key to continue" + pause + exit /b +) + +copy source_installer\invoke.bat invoke.bat +copy source_installer\update.bat update.bat + +call conda activate invokeai +@rem preload the models +call python scripts\preload_models.py +if "%ERRORLEVEL%" NEQ "0" ( + echo "" + echo "The preload_models.py script crashed or was cancelled." + echo "InvokeAI is not ready to run. To run preload_models.py again," + echo "run the command 'update.bat' in this directory." + echo "Press any key to continue" + pause + exit /b +) + +@rem tell the user their next steps +echo "" +echo "* InvokeAI installed successfully *" +echo "You can now start generating images by double-clicking the 'invoke.bat' file (inside this folder) +echo "Press any key to continue" +pause +exit 0 + diff --git a/source_installer/install.sh b/source_installer/install.sh new file mode 100755 index 0000000000..747d701611 --- /dev/null +++ b/source_installer/install.sh @@ -0,0 +1,138 @@ +#!/bin/bash + +# This script will install git and conda (if not found on the PATH variable) +# using micromamba (an 8mb static-linked single-file binary, conda replacement). +# For users who already have git and conda, this step will be skipped. + +# Next, it'll checkout the project's git repo, if necessary. +# Finally, it'll create the conda environment and preload the models. + +# This enables a user to install this project without manually installing conda and git. + +cd "$(dirname "${BASH_SOURCE[0]}")" + +echo "Installing InvokeAI.." +echo "" + +OS_NAME=$(uname -s) +case "${OS_NAME}" in + Linux*) OS_NAME="linux";; + Darwin*) OS_NAME="mac";; + *) echo "Unknown OS: $OS_NAME! This script runs only on Linux or Mac" && exit +esac + +OS_ARCH=$(uname -m) +case "${OS_ARCH}" in + x86_64*) OS_ARCH="64";; + arm64*) OS_ARCH="arm64";; + *) echo "Unknown system architecture: $OS_ARCH! This script runs only on x86_64 or arm64" && exit +esac + +# https://mamba.readthedocs.io/en/latest/installation.html +if [ "$OS_NAME" == "linux" ] && [ "$OS_ARCH" == "arm64" ]; then OS_ARCH="aarch64"; fi + +# config +export MAMBA_ROOT_PREFIX="$(pwd)/installer_files/mamba" +INSTALL_ENV_DIR="$(pwd)/installer_files/env" +MICROMAMBA_DOWNLOAD_URL="https://micro.mamba.pm/api/micromamba/${OS_NAME}-${OS_ARCH}/latest" +REPO_URL="https://github.com/invoke-ai/InvokeAI.git" +umamba_exists="F" + +# figure out whether git and conda needs to be installed +if [ -e "$INSTALL_ENV_DIR" ]; then export PATH="$INSTALL_ENV_DIR/bin:$PATH"; fi + +PACKAGES_TO_INSTALL="" +if ! $(which conda) -V &>/dev/null; then PACKAGES_TO_INSTALL="$PACKAGES_TO_INSTALL conda"; fi +if ! which git &>/dev/null; then PACKAGES_TO_INSTALL="$PACKAGES_TO_INSTALL git"; fi + +if "$MAMBA_ROOT_PREFIX/micromamba" --version &>/dev/null; then umamba_exists="T"; fi + +# (if necessary) install git and conda into a contained environment +if [ "$PACKAGES_TO_INSTALL" != "" ]; then + # download micromamba + if [ "$umamba_exists" == "F" ]; then + echo "Downloading micromamba from $MICROMAMBA_DOWNLOAD_URL to $MAMBA_ROOT_PREFIX/micromamba" + + mkdir -p "$MAMBA_ROOT_PREFIX" + curl -L "$MICROMAMBA_DOWNLOAD_URL" | tar -xvj bin/micromamba -O > "$MAMBA_ROOT_PREFIX/micromamba" + + chmod u+x "$MAMBA_ROOT_PREFIX/micromamba" + + # test the mamba binary + echo "Micromamba version:" + "$MAMBA_ROOT_PREFIX/micromamba" --version + fi + + # create the installer env + if [ ! -e "$INSTALL_ENV_DIR" ]; then + "$MAMBA_ROOT_PREFIX/micromamba" create -y --prefix "$INSTALL_ENV_DIR" + fi + + echo "Packages to install:$PACKAGES_TO_INSTALL" + + "$MAMBA_ROOT_PREFIX/micromamba" install -y --prefix "$INSTALL_ENV_DIR" -c conda-forge $PACKAGES_TO_INSTALL + + if [ ! -e "$INSTALL_ENV_DIR" ]; then + echo "There was a problem while initializing micromamba. Cannot continue." + exit + fi +fi + +if [ -e "$INSTALL_ENV_DIR" ]; then export PATH="$INSTALL_ENV_DIR/bin:$PATH"; fi + +# get the repo (and load into the current directory) +if [ ! -e ".git" ]; then + git init + git config --local init.defaultBranch main + git remote add origin "$REPO_URL" + git fetch + git checkout origin/main -ft +fi + +# create the environment +CONDA_BASEPATH=$(conda info --base) +source "$CONDA_BASEPATH/etc/profile.d/conda.sh" # otherwise conda complains about 'shell not initialized' (needed when running in a script) + +conda activate +if [ "$OS_NAME" == "mac" ]; then + echo "Macintosh system detected. Installing MPS and CPU support." + ln -sf environments-and-requirements/environment-mac.yml environment.yml +else + if (lsmod | grep amdgpu) &>/dev/null ; then + echo "Linux system with AMD GPU driver detected. Installing ROCm and CPU support" + ln -sf environments-and-requirements/environment-lin-amd.yml environment.yml + else + echo "Linux system detected. Installing CUDA and CPU support." + ln -sf environments-and-requirements/environment-lin-cuda.yml environment.yml + fi +fi +conda env update + +status=$? + +if test $status -ne 0 +then + echo "Something went wrong while installing Python libraries and cannot continue." + echo "Please visit https://invoke-ai.github.io/InvokeAI/#installation for alternative" + echo "installation methods" +else + ln -sf ./source_installer/invoke.sh . + ln -sf ./source_installer/update.sh . + + conda activate invokeai + # preload the models + echo "Calling the preload_models.py script" + python scripts/preload_models.py + status=$? + if test $status -ne 0 + then + echo "The preload_models.py script crashed or was cancelled." + echo "InvokeAI is not ready to run. Try again by running" + echo "update.sh in this directory." + else + # tell the user their next steps + echo "You can now start generating images by running invoke.sh (inside this folder), using ./invoke.sh" + fi +fi + +conda activate invokeai diff --git a/invoke.bat b/source_installer/invoke.bat similarity index 100% rename from invoke.bat rename to source_installer/invoke.bat diff --git a/invoke.sh b/source_installer/invoke.sh similarity index 93% rename from invoke.sh rename to source_installer/invoke.sh index 55a0292e6e..9bc1e879f4 100755 --- a/invoke.sh +++ b/source_installer/invoke.sh @@ -23,6 +23,7 @@ if [ "$0" != "bash" ]; then * ) echo "Invalid selection"; exit;; esac else # in developer console - which python python --version + echo "Press ^D to exit" + export PS1="(InvokeAI) \u@\h \w> " fi diff --git a/source_installer/readme.txt b/source_installer/readme.txt new file mode 100644 index 0000000000..8bfc0c9ce5 --- /dev/null +++ b/source_installer/readme.txt @@ -0,0 +1,16 @@ +InvokeAI + +Project homepage: https://github.com/invoke-ai/InvokeAI + +Installation on Windows: + You may need to enable Windows Long Paths to install InvokeAI. If you're not + sure what this is, you almost certainly need to do this. Simply double-click the + "WinLongPathsEnabled.reg" file located in this directory, and approve the Windows + warnings. Note that you will need to have admin privileges in order to do this. + + Then double-click the 'install.bat' file (while keeping it inside the invokeAI folder). + +Installation on Linux and Mac: + Please open the terminal, and run './install.sh' (while keeping it inside the invokeAI folder). + +After installation, please run the 'invoke.bat' file (on Windows) or 'invoke.sh' file (on Linux/Mac) to start InvokeAI. diff --git a/update.bat b/source_installer/update.bat similarity index 100% rename from update.bat rename to source_installer/update.bat diff --git a/update.sh b/source_installer/update.sh similarity index 99% rename from update.sh rename to source_installer/update.sh index e969826359..d634324760 100755 --- a/update.sh +++ b/source_installer/update.sh @@ -22,3 +22,5 @@ case "${OS_NAME}" in esac python scripts/preload_models.py + + diff --git a/tests/test_prompt_parser.py b/tests/test_prompt_parser.py index 03db9274d4..0c9bbf91f9 100644 --- a/tests/test_prompt_parser.py +++ b/tests/test_prompt_parser.py @@ -28,8 +28,8 @@ class PromptParserTestCase(unittest.TestCase): self.assertEqual(make_weighted_conjunction([('', 1)]), parse_prompt('')) def test_basic(self): - self.assertEqual(make_weighted_conjunction([('fire flames', 1)]), parse_prompt("fire (flames)")) self.assertEqual(make_weighted_conjunction([("fire flames", 1)]), parse_prompt("fire flames")) + self.assertEqual(make_weighted_conjunction([('fire flames', 1)]), parse_prompt("fire (flames)")) self.assertEqual(make_weighted_conjunction([("fire, flames", 1)]), parse_prompt("fire, flames")) self.assertEqual(make_weighted_conjunction([("fire, flames , fire", 1)]), parse_prompt("fire, flames , fire")) self.assertEqual(make_weighted_conjunction([("cat hot-dog eating", 1)]), parse_prompt("cat hot-dog eating")) @@ -37,14 +37,25 @@ class PromptParserTestCase(unittest.TestCase): def test_attention(self): self.assertEqual(make_weighted_conjunction([('flames', 0.5)]), parse_prompt("(flames)0.5")) + self.assertEqual(make_weighted_conjunction([('flames', 0.5)]), parse_prompt("(flames).attend(0.5)")) + self.assertEqual(make_weighted_conjunction([('flames', 0.5)]), parse_prompt("flames.attend(0.5)")) + self.assertEqual(make_weighted_conjunction([('flames', 0.5)]), parse_prompt("\"flames\".attend(0.5)")) self.assertEqual(make_weighted_conjunction([('fire flames', 0.5)]), parse_prompt("(fire flames)0.5")) + self.assertEqual(make_weighted_conjunction([('fire flames', 0.5)]), parse_prompt("(fire flames).attend(0.5)")) + self.assertEqual(make_weighted_conjunction([('flames', 1.1)]), parse_prompt("(flames)+")) self.assertEqual(make_weighted_conjunction([('flames', 1.1)]), parse_prompt("flames+")) self.assertEqual(make_weighted_conjunction([('flames', 1.1)]), parse_prompt("\"flames\"+")) + self.assertEqual(make_weighted_conjunction([('flames', 1.1)]), parse_prompt("flames.attend(+)")) + self.assertEqual(make_weighted_conjunction([('flames', 1.1)]), parse_prompt("(flames).attend(+)")) + self.assertEqual(make_weighted_conjunction([('flames', 1.1)]), parse_prompt("\"flames\".attend(+)")) self.assertEqual(make_weighted_conjunction([('flames', 0.9)]), parse_prompt("(flames)-")) self.assertEqual(make_weighted_conjunction([('flames', 0.9)]), parse_prompt("flames-")) self.assertEqual(make_weighted_conjunction([('flames', 0.9)]), parse_prompt("\"flames\"-")) self.assertEqual(make_weighted_conjunction([('fire', 1), ('flames', 0.5)]), parse_prompt("fire (flames)0.5")) + self.assertEqual(make_weighted_conjunction([('fire', 1), ('flames', 0.5)]), parse_prompt("fire flames.attend(0.5)")) + self.assertEqual(make_weighted_conjunction([('fire', 1), ('flames', 0.5)]), parse_prompt("fire (flames).attend(0.5)")) + self.assertEqual(make_weighted_conjunction([('fire', 1), ('flames', 0.5)]), parse_prompt("fire \"flames\".attend(0.5)")) self.assertEqual(make_weighted_conjunction([('flames', pow(1.1, 2))]), parse_prompt("(flames)++")) self.assertEqual(make_weighted_conjunction([('flames', pow(0.9, 2))]), parse_prompt("(flames)--")) self.assertEqual(make_weighted_conjunction([('flowers', pow(0.9, 3)), ('flames', pow(1.1, 3))]), parse_prompt("(flowers)--- flames+++")) @@ -102,20 +113,17 @@ class PromptParserTestCase(unittest.TestCase): assert_if_prompt_string_not_untouched('a test prompt') assert_if_prompt_string_not_untouched('a badly formed +test prompt') - with self.assertRaises(pyparsing.ParseException): - parse_prompt('a badly (formed test prompt') + assert_if_prompt_string_not_untouched('a badly (formed test prompt') + #with self.assertRaises(pyparsing.ParseException): - with self.assertRaises(pyparsing.ParseException): - parse_prompt('a badly (formed +test prompt') + assert_if_prompt_string_not_untouched('a badly (formed +test prompt') self.assertEqual(Conjunction([FlattenedPrompt([Fragment('a badly formed +test prompt',1)])]) , parse_prompt('a badly (formed +test )prompt')) - with self.assertRaises(pyparsing.ParseException): - parse_prompt('(((a badly (formed +test )prompt') - with self.assertRaises(pyparsing.ParseException): - parse_prompt('(a (ba)dly (f)ormed +test prompt') - with self.assertRaises(pyparsing.ParseException): - parse_prompt('(a (ba)dly (f)ormed +test +prompt') - with self.assertRaises(pyparsing.ParseException): - parse_prompt('("((a badly (formed +test ").blend(1.0)') + self.assertEqual(Conjunction([FlattenedPrompt([Fragment('(((a badly formed +test prompt',1)])]) , parse_prompt('(((a badly (formed +test )prompt')) + + self.assertEqual(Conjunction([FlattenedPrompt([Fragment('(a ba dly f ormed +test prompt',1)])]) , parse_prompt('(a (ba)dly (f)ormed +test prompt')) + self.assertEqual(Conjunction([FlattenedPrompt([Fragment('(a ba dly f ormed +test +prompt',1)])]) , parse_prompt('(a (ba)dly (f)ormed +test +prompt')) + self.assertEqual(Conjunction([Blend([FlattenedPrompt([Fragment('((a badly (formed +test', 1)])], [1.0])]), + parse_prompt('("((a badly (formed +test ").blend(1.0)')) self.assertEqual(Conjunction([FlattenedPrompt([Fragment('hamburger bun', 1)])]), parse_prompt("hamburger ((bun))")) @@ -128,6 +136,26 @@ class PromptParserTestCase(unittest.TestCase): def test_blend(self): + self.assertEqual(Conjunction( + [Blend([FlattenedPrompt([('mountain', 1.0)]), FlattenedPrompt([('man', 1.0)])], [1.0, 1.0])]), + parse_prompt("(\"mountain\", \"man\").blend()") + ) + self.assertEqual(Conjunction( + [Blend([FlattenedPrompt([('mountain', 1.0)]), FlattenedPrompt([('man', 1.0)])], [1.0, 1.0])]), + parse_prompt("(mountain, man).blend()") + ) + self.assertEqual(Conjunction( + [Blend([FlattenedPrompt([('mountain', 1.0)]), FlattenedPrompt([('man', 1.0)])], [1.0, 1.0])]), + parse_prompt("((mountain), (man)).blend()") + ) + self.assertEqual(Conjunction( + [Blend([FlattenedPrompt([('mountain', 1.0)]), FlattenedPrompt([('tall man', 1.0)])], [1.0, 1.0])]), + parse_prompt("((mountain), (tall man)).blend()") + ) + + with self.assertRaises(PromptParser.ParsingException): + print(parse_prompt("((mountain), \"cat.swap(dog)\").blend()")) + self.assertEqual(Conjunction( [Blend([FlattenedPrompt([('fire', 1.0)]), FlattenedPrompt([('fire flames', 1.0)])], [0.7, 0.3])]), parse_prompt("(\"fire\", \"fire flames\").blend(0.7, 0.3)") @@ -166,10 +194,20 @@ class PromptParserTestCase(unittest.TestCase): ) self.assertEqual( - Conjunction([Blend([FlattenedPrompt([('mountain, man, hairy', 1)]), - FlattenedPrompt([('face, teeth,', 1), ('eyes', 0.9*0.9)])], weights=[1.0,-1.0])]), + Conjunction([Blend([FlattenedPrompt([('mountain , man , hairy', 1)]), + FlattenedPrompt([('face , teeth ,', 1), ('eyes', 0.9*0.9)])], weights=[1.0,-1.0], normalize_weights=True)]), parse_prompt('("mountain, man, hairy", "face, teeth, eyes--").blend(1,-1)') ) + self.assertEqual( + Conjunction([Blend([FlattenedPrompt([('mountain , man , hairy', 1)]), + FlattenedPrompt([('face , teeth ,', 1), ('eyes', 0.9 * 0.9)])], weights=[1.0, -1.0], normalize_weights=False)]), + parse_prompt('("mountain, man, hairy", "face, teeth, eyes--").blend(1,-1,no_normalize)') + ) + + with self.assertRaises(PromptParser.ParsingException): + parse_prompt("(\"fire\", \"fire flames\").blend(0.7, 0.3, 0.1)") + with self.assertRaises(PromptParser.ParsingException): + parse_prompt("(\"fire\", \"fire flames\").blend(0.7)") def test_nested(self): @@ -182,6 +220,9 @@ class PromptParserTestCase(unittest.TestCase): def test_cross_attention_control(self): + self.assertEqual(Conjunction([FlattenedPrompt([CrossAttentionControlSubstitute([Fragment('sun')], [Fragment('moon')])])]), + parse_prompt("sun.swap(moon)")) + self.assertEqual(Conjunction([ FlattenedPrompt([Fragment('a', 1), CrossAttentionControlSubstitute([Fragment('cat', 1)], [Fragment('dog', 1)]), @@ -231,6 +272,9 @@ class PromptParserTestCase(unittest.TestCase): self.assertEqual(Conjunction([FlattenedPrompt([Fragment('a forest landscape', 1), CrossAttentionControlSubstitute([Fragment('',1)], [Fragment('in winter',1)])])]), parse_prompt('a forest landscape "".swap("in winter")')) + self.assertEqual(Conjunction([FlattenedPrompt([Fragment('a forest landscape', 1), + CrossAttentionControlSubstitute([Fragment('',1)], [Fragment('in winter',1)])])]), + parse_prompt('a forest landscape ().swap(in winter)')) self.assertEqual(Conjunction([FlattenedPrompt([Fragment('a forest landscape', 1), CrossAttentionControlSubstitute([Fragment('',1)], [Fragment('in winter',1)])])]), parse_prompt('a forest landscape " ".swap("in winter")')) @@ -259,6 +303,12 @@ class PromptParserTestCase(unittest.TestCase): Fragment(',', 1), Fragment('fire', 2.0)])]) self.assertEqual(flames_to_trees_fire, parse_prompt('"(fire (flames)0.5)0.5".swap("(trees)0.7 houses"), (fire)2.0')) + self.assertEqual(Conjunction([FlattenedPrompt([Fragment('a', 1), + CrossAttentionControlSubstitute([Fragment('cat',1)], [Fragment('dog',1)]), + Fragment('eating a', 1), + CrossAttentionControlSubstitute([Fragment('hotdog',1)], [Fragment('hotdog', pow(1.1,4))]) + ])]), + parse_prompt("a cat.swap(dog) eating a hotdog.swap(hotdog++++)")) self.assertEqual(Conjunction([FlattenedPrompt([Fragment('a', 1), CrossAttentionControlSubstitute([Fragment('cat',1)], [Fragment('dog',1)]), Fragment('eating a', 1), @@ -343,31 +393,31 @@ class PromptParserTestCase(unittest.TestCase): self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain', 1.1), ('\(man\)', 1.1*1.1)]),parse_prompt('hairy (mountain (\(man\))+)+')) self.assertEqual(make_weighted_conjunction([('hairy', 1), ('\(man\)', 1.1*1.1), ('mountain', 1.1)]),parse_prompt('hairy ((\(man\))1.1 "mountain")+')) self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain', 1.1), ('\(man\)', 1.1*1.1)]),parse_prompt('hairy ("mountain" (\(man\))1.1 )+')) - self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain, man', 1.1)]),parse_prompt('hairy ("mountain, man")+')) - self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain, man with a', 1.1), ('beard', 1.1*1.1)]), parse_prompt('hairy ("mountain, man" with a beard+)+')) - self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain, man with a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, man" with a (beard)2.0)+')) - self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain, \"man\" with a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, \\"man\\"" with a (beard)2.0)+')) - self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain, m\"an\" with a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, m\\"an\\"" with a (beard)2.0)+')) + self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain , man', 1.1)]),parse_prompt('hairy ("mountain, man")+')) + self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain , man with a', 1.1), ('beard', 1.1*1.1)]), parse_prompt('hairy ("mountain, man" with a beard+)+')) + self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain , man with a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, man" with a (beard)2.0)+')) + self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain , \"man\" with a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, \\"man\\"" with a (beard)2.0)+')) + self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain , m\"an\" with a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, m\\"an\\"" with a (beard)2.0)+')) - self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain, \"man (with a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, \\\"man\" \(with a (beard)2.0)+')) - self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain, \"man w(ith a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, \\\"man\" w\(ith a (beard)2.0)+')) - self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain, \"man with( a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, \\\"man\" with\( a (beard)2.0)+')) - self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain, \"man )with a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, \\\"man\" \)with a (beard)2.0)+')) - self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain, \"man w)ith a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, \\\"man\" w\)ith a (beard)2.0)+')) - self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain, \"man with) a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, \\\"man\" with\) a (beard)2.0)+')) - self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mou)ntain, \"man (wit(h a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mou\)ntain, \\\"man\" \(wit\(h a (beard)2.0)+')) - self.assertEqual(make_weighted_conjunction([('hai(ry', 1), ('mountain, \"man w)ith a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hai\(ry ("mountain, \\\"man\" w\)ith a (beard)2.0)+')) - self.assertEqual(make_weighted_conjunction([('hairy((', 1), ('mountain, \"man with a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy\(\( ("mountain, \\\"man\" with a (beard)2.0)+')) + self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain , \"man (with a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, \\\"man\" \(with a (beard)2.0)+')) + self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain , \"man w(ith a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, \\\"man\" w\(ith a (beard)2.0)+')) + self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain , \"man with( a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, \\\"man\" with\( a (beard)2.0)+')) + self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain , \"man )with a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, \\\"man\" \)with a (beard)2.0)+')) + self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain , \"man w)ith a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, \\\"man\" w\)ith a (beard)2.0)+')) + self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mountain , \"man with) a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mountain, \\\"man\" with\) a (beard)2.0)+')) + self.assertEqual(make_weighted_conjunction([('hairy', 1), ('mou)ntain , \"man (wit(h a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy ("mou\)ntain, \\\"man\" \(wit\(h a (beard)2.0)+')) + self.assertEqual(make_weighted_conjunction([('hai(ry', 1), ('mountain , \"man w)ith a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hai\(ry ("mountain, \\\"man\" w\)ith a (beard)2.0)+')) + self.assertEqual(make_weighted_conjunction([('hairy((', 1), ('mountain , \"man with a', 1.1), ('beard', 1.1*2.0)]), parse_prompt('hairy\(\( ("mountain, \\\"man\" with a (beard)2.0)+')) - self.assertEqual(make_weighted_conjunction([('mountain, \"man (with a', 1.1), ('beard', 1.1*2.0), ('hairy', 1)]), parse_prompt('("mountain, \\\"man\" \(with a (beard)2.0)+ hairy')) - self.assertEqual(make_weighted_conjunction([('mountain, \"man w(ith a', 1.1), ('beard', 1.1*2.0), ('hairy', 1)]), parse_prompt('("mountain, \\\"man\" w\(ith a (beard)2.0)+hairy')) - self.assertEqual(make_weighted_conjunction([('mountain, \"man with( a', 1.1), ('beard', 1.1*2.0), ('hairy', 1)]), parse_prompt('("mountain, \\\"man\" with\( a (beard)2.0)+ hairy')) - self.assertEqual(make_weighted_conjunction([('mountain, \"man )with a', 1.1), ('beard', 1.1*2.0), ('hairy', 1)]), parse_prompt('("mountain, \\\"man\" \)with a (beard)2.0)+ hairy')) - self.assertEqual(make_weighted_conjunction([('mountain, \"man w)ith a', 1.1), ('beard', 1.1*2.0), ('hairy', 1)]), parse_prompt('("mountain, \\\"man\" w\)ith a (beard)2.0)+ hairy')) - self.assertEqual(make_weighted_conjunction([('mountain, \"man with) a', 1.1), ('beard', 1.1*2.0), ('hairy', 1)]), parse_prompt(' ("mountain, \\\"man\" with\) a (beard)2.0)+ hairy')) - self.assertEqual(make_weighted_conjunction([('mou)ntain, \"man (wit(h a', 1.1), ('beard', 1.1*2.0), ('hairy', 1)]), parse_prompt('("mou\)ntain, \\\"man\" \(wit\(h a (beard)2.0)+ hairy')) - self.assertEqual(make_weighted_conjunction([('mountain, \"man w)ith a', 1.1), ('beard', 1.1*2.0), ('hai(ry', 1)]), parse_prompt('("mountain, \\\"man\" w\)ith a (beard)2.0)+ hai\(ry ')) - self.assertEqual(make_weighted_conjunction([('mountain, \"man with a', 1.1), ('beard', 1.1*2.0), ('hairy((', 1)]), parse_prompt('("mountain, \\\"man\" with a (beard)2.0)+ hairy\(\( ')) + self.assertEqual(make_weighted_conjunction([('mountain , \"man (with a', 1.1), ('beard', 1.1*2.0), ('hairy', 1)]), parse_prompt('("mountain, \\\"man\" \(with a (beard)2.0)+ hairy')) + self.assertEqual(make_weighted_conjunction([('mountain , \"man w(ith a', 1.1), ('beard', 1.1*2.0), ('hairy', 1)]), parse_prompt('("mountain, \\\"man\" w\(ith a (beard)2.0)+hairy')) + self.assertEqual(make_weighted_conjunction([('mountain , \"man with( a', 1.1), ('beard', 1.1*2.0), ('hairy', 1)]), parse_prompt('("mountain, \\\"man\" with\( a (beard)2.0)+ hairy')) + self.assertEqual(make_weighted_conjunction([('mountain , \"man )with a', 1.1), ('beard', 1.1*2.0), ('hairy', 1)]), parse_prompt('("mountain, \\\"man\" \)with a (beard)2.0)+ hairy')) + self.assertEqual(make_weighted_conjunction([('mountain , \"man w)ith a', 1.1), ('beard', 1.1*2.0), ('hairy', 1)]), parse_prompt('("mountain, \\\"man\" w\)ith a (beard)2.0)+ hairy')) + self.assertEqual(make_weighted_conjunction([('mountain , \"man with) a', 1.1), ('beard', 1.1*2.0), ('hairy', 1)]), parse_prompt(' ("mountain, \\\"man\" with\) a (beard)2.0)+ hairy')) + self.assertEqual(make_weighted_conjunction([('mou)ntain , \"man (wit(h a', 1.1), ('beard', 1.1*2.0), ('hairy', 1)]), parse_prompt('("mou\)ntain, \\\"man\" \(wit\(h a (beard)2.0)+ hairy')) + self.assertEqual(make_weighted_conjunction([('mountain , \"man w)ith a', 1.1), ('beard', 1.1*2.0), ('hai(ry', 1)]), parse_prompt('("mountain, \\\"man\" w\)ith a (beard)2.0)+ hai\(ry ')) + self.assertEqual(make_weighted_conjunction([('mountain , \"man with a', 1.1), ('beard', 1.1*2.0), ('hairy((', 1)]), parse_prompt('("mountain, \\\"man\" with a (beard)2.0)+ hairy\(\( ')) def test_cross_attention_escaping(self): @@ -433,6 +483,15 @@ class PromptParserTestCase(unittest.TestCase): def test_single(self): + self.assertEqual(Conjunction([FlattenedPrompt([("mountain man", 1.0)]), + FlattenedPrompt([("a person with a hat", 1.0), + ("riding a", 1.1*1.1), + CrossAttentionControlSubstitute( + [Fragment("bicycle", pow(1.1,2))], + [Fragment("skateboard", pow(1.1,2))]) + ]) + ], weights=[0.5, 0.5]), + parse_prompt("(\"mountain man\", \"a person with a hat (riding a bicycle.swap(skateboard))++\").and(0.5, 0.5)")) pass